Hallo Brotfische,
ich wollte schon seit längeren mal ein User Control Panel erstellen, und wollte da mal fragen wie sowas geht. Da ich null Ahnung in Sachen Webcoding habe, hab ich mir mal gedacht ich frag mal hier. Also da meine Frage: Welche Programmiersprache verwende ich wenn ich mit Dini speicher ? und wie fange ich da am besten an.
Beiträge von TheTutoFreak
-
-
Du musst auf die .ahk datei doppelklick machen und dan muss unten rechts hein H in einem grünen kasten sein. Da üffnet sich kein Fenster weil du das nicht Programmiert hast.
-
Ja einfach bei OnGamemode das TextDraw reinstellen und in dem Comand dan mit ShowTextDrawForPlayer erstellen lassen
-
Er soll Online sein.
-
Man soll erst den Betrag eingeben und dan den Benutzernamen nur das was mir noch fehlt
-
Hallo Breadfish,
ich habe heute mein Bank System angefangen und bin im Moment am ATM. Das Einzahlen, Abbuchen und den Kontostand habe ich schon. Jetzt bin ich am Überweisen und komme einfach nicht weiter. Ich weiß nicht wie ich das machen kann, das ich einem anderen Spieler das Geld "Überweisen" kann. Mein jetziger Code sieht so aus:
//Oben im Script
#define DIALOG_ATM 4
#define DIALOG_ABBUCHEN 5
#define DIALOG_EINZAHLEN 6
#define DIALOG_ÜBERWEISEN 7
#define DIALOG_UEBERWEISEN_PLAYER 8//Bei OnDialogResponse
if(dialogid == DIALOG_ATM)
{
if(response == 0)
{
return 1;
}
if(response == 1)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,DIALOG_ABBUCHEN,DIALOG_STYLE_INPUT,"Abbuchen","Bitte gib den gewünschten Betrag an:","Okay","Zurück");
return 1;
}
if(listitem == 1)
{
ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gib den gewünschten Betrag an:","Okay","Zurück");
return 1;
}
if(listitem == 2)
{
ShowPlayerDialog(playerid,DIALOG_ÜBERWEISEN,DIALOG_STYLE_INPUT,"Überweisen","Bitte gib den gewünschten Betrag an:","Okay","Zurück");
return 1;
}
if(listitem == 3)
{
new string[200],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Kontostand von %s Konto: $%d Bar: $%d",name,PlayerInfo[playerid][pBank],GetPlayerMoney(playerid));
SendClientMessage(playerid,Grau,string);
return 1;
}
return 1;
}
return 1;
}
if(dialogid == DIALOG_ABBUCHEN)
{
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOG_ATM,DIALOG_STYLE_LIST,"Bankautomat","Abbuchen\nEinzahlen\nÜberweisen\nKontostand","Auswählen","Schliesen");
return 1;
}
if(response == 1)
{
new string[190];
if(PlayerInfo[playerid][pBank] < strval(inputtext) ) return SendClientMessage(playerid,Grau,"Du hast nicht genug Geld auf deinem Konto!");
GivePlayerMoney(playerid,strval(inputtext));
PlayerInfo[playerid][pBank] -= strval(inputtext);
format(string,sizeof(string),"Du hast $%d abgehoben.",strval(inputtext));
SendClientMessage(playerid,Grau,string);
return 1;
}
return 1;
}
if(dialogid == DIALOG_EINZAHLEN)
{
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOG_ATM,DIALOG_STYLE_LIST,"Bankautomat","Abbuchen\nEinzahlen\nÜberweisen\nKontostand","Auswählen","Schliesen");
return 1;
}
if(response == 1)
{
new string[190];
if(PlayerInfo[playerid][pBar] < strval(inputtext) ) return SendClientMessage(playerid,Grau,"Du hast nicht genug Geld auf deiner Hand!");
GivePlayerMoney(playerid, - strval(inputtext));
PlayerInfo[playerid][pBank] += strval(inputtext);
format(string,sizeof(string),"Du hast $%d eingezahlt.",strval(inputtext));
SendClientMessage(playerid,Grau,string);
return 1;
}
return 1;
}
if(dialogid == DIALOG_ÜBERWEISEN)
{
if(response == 0)
{
ShowPlayerDialog(playerid,DIALOG_ATM,DIALOG_STYLE_LIST,"Bankautomat","Abbuchen\nEinzahlen\nÜberweisen\nKontostand","Auswählen","Schliesen");
return 1;
}
if(response == 1)
{
if(PlayerInfo[playerid][pBank] < strval(inputtext) ) return SendClientMessage(playerid,Grau,"Du hast nicht genug Geld auf deinem Konto!");
ShowPlayerDialog(playerid,DIALOG_UEBERWEISEN_PLAYER,DIALOG_STYLE_INPUT,"Überweisen","Bitte gib den Namen des\nSpielers an, an den du das Geld\nÜberweisen möchtest.","Fertig","Zurück");
return 1;
}
return 1;
}
if(dialogid == DIALOG_UEBERWEISEN_PLAYER)
{
if(response == 0)
{
SendClientMessage(playerid,Grau,"Du hast die Überweisung abgebrochen!");
return 1;
}
if(response == 0)
{
return 1;
}
return 1;
} -
Ich nehme mal an du hast ein enum erstellt wo du alle daten speicherst. z.B.
enum pInfo{
pLevel,
pGeld,
pBank,
...
}
new PlayerInfo[MAX_PLAYERS][pInfo];Und dan dibst du der Variable pBank dan das Geld was du geben möchtest.
-
Und wie ? dini_Int(Spielerdatei,"Banned" == 1) ?
-
Danke hat geklappt. Aber wenn die Variable Banned auf 1 ist, ändert sich nichts ich kann trotzdem connecten...
OnPlayerConnect:
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
if(PlayerInfo[playerid][pBanned] == 1)
{
SendClientMessage(playerid,Rot,"Du bist auf diesem Server gebannt!");
SetTimerEx("KickPlayer", 1000, false, "i", playerid);
}
else if(PlayerInfo[playerid][pBanned] == 0)
{
SendClientMessage(playerid,Rot,"SERVER: Dein Account wurde in unserer Datenbank gefunden.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
}
}
else
{
SendClientMessage(playerid,Rot,"SERVER: Du bist noch nicht Registriert.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Bitte gib dein gewünschtes Passwort ein:","Register","Abbrechen");
} -
Als ich mir den Server gedownloadet habe, habe ich auf öffentlich gemacht weil da ne Abfrage kamm, als ich ihn das erste mal gestartet habe...
-
Hallo
ich habe ein Problem mit meinem Kick / Ban Befehl. Bei mir wird die Nachricht nicht angezeigt das ich Gekickt / Gebannt wurde. Da steht nur Server close the connection...
Code:
//Oben
forward KickPlayer(playerid);
forward BanPlayer(playerid);
//Befehle
ocmd:kick(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] < 1 ) return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
new name[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[128],pID,reason[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Grau,"Benutze: /kick [playerid/PartOfName] [Grund]");
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(pID,name,sizeof(name));
format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt, Grund: %s",sendername,name,reason);
SendClientMessageToAll(Rot,string);
SetTimerEx("KickPlayer", 1000, false, "i", pID);
KickPlayer(pID);
return 1;
}
ocmd:ban(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] < 2)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
new name[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[128],pID,reason[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Grau,"Benutze: /ban [playerid/PartOfName] [Grund]");
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerName(pID,name,sizeof(name));
format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt, Grund: %s",sendername,name,reason);
SetTimerEx("BanPlayer", 1000, false, "i", pID);
BanPlayer(pID);
return 1;
}
//Unten
public KickPlayer(playerid)
{
Kick(playerid);
return 1;
}public BanPlayer(playerid)
{
PlayerInfo[playerid][pBanned] = 1;
Kick(playerid);
return 1;
} -
Server.cfg:
echo Executing Server Config...
lanmode 0
rcon_password geheim
maxplayers 10
port 8889
hostname Mein Server
gamemode0 Evolution 1
filterscripts
announce 0
query 1
chatlogging 0
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 0
logtimeformat [%H:%M:%S] -
Hab ich gemacht erst zen Minuten bevor ich die Frage gestellt habe...
-
Es hat auch geklappt aber von heute auf morgen einfach nicht...
-
Ich habe den Port 8889 freigeschalten und in der server.cfg reingeschrieben...
-
Hallo Community,
mein Freund und ich wollten mal wieder auf meinem Server spielen. Dieser Server läuft über meinen PC, aber ich habe auf meinem Rooter einen Port freigeschalten und somit müsste man ja darauf mit meiner IP connecten können. Es ging auch vor einiger Zeit aber auf einmal nicht mehr. Ich verzweifel langsam und weiß echt nicht mehr weiter. Bitte um Hilfe. -
Ah jetzt geht es und wie kann ich mache ndas die Meldung dan nur 1x in ner Stunde angezeigt wird
-
Ich habe es so gemacht aber jetzt Spamt es mir den Chat zu, selbst wenn ich nicht mal eine in der Hand habe...
public WeaponCheck()
{
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdminlevel] == 0)
{
if(GetPlayerWeapon(i) == 38 || 28 || 32 || 35 || 36 || 37 || 39 || 40)
{
new string[128],name[MAX_PLAYER_NAME];
GetPlayerName(i,name,sizeof(name));
format(string,sizeof(string),"AntiCheat: %s ist im Verdacht sich Waffen zu cheaten.",name);
SendClientMessageToAdmin(Rot,string);
}
}
}
}
return 1;
} -
Und wie geht das bei GetPlayerWeaponData ?
GetPlayerWeaponData (???); -
Hallo,
hab mal ne kleine Frage. Wie kann ich abfragen ob ein Spieler eine Bestimmte Waffe hat (Minigun). Also mit welcher Abfrage.