Hallo liebes Breadfish Forum,
Ich habs geschätzte 1000 mal versucht, aber es klappt einfach nicht. Mein Register / Login Dialog kommt nicht zum vorschein.
Was mache ich falsch?
Wenn ihr mehr Infos braucht, bitte schreiben, reiche sie dann nach.
Hallo liebes Breadfish Forum,
Ich habs geschätzte 1000 mal versucht, aber es klappt einfach nicht. Mein Register / Login Dialog kommt nicht zum vorschein.
Was mache ich falsch?
Wenn ihr mehr Infos braucht, bitte schreiben, reiche sie dann nach.
Debugge den Code, das ist die beste Methode um so einen Fehler zu finden.
Falls du nicht weißt wie man das macht: http://wiki.sa-mp.com/wiki/Debugging
=> Zwischen die Zeilen print's einsetzen, und schauen wie weit der Code geprintet wird. Dann kannst du darauf zurückschließen, wo der Fehler liegt.
Danke Jeffry Ich hab jetzt gemerkt die Dialoge laden nicht.. wie behebe ich das?
Kommt darauf an. Welcher Teil vom Code funktioniert nicht?
Falls es die ShowDialog Funktion ist, poste die auch noch.
Das Problem ist glaube ich mal, er lädt OnDialogResponse nicht.. aber hier nochmal der ShowDialog public:
http://pastebin.com/hQM2piMQ
//Registrierungs Check:
public RegCheck(playerid)
{
new q[128], name[MAX_PLAYER_NAME];
mysql_real_escape_string(PName(playerid), name);
format(q, 128, "SELECT pass FROM user WHERE name = '%s'", name);
mysql_query(q);
mysql_store_result();
if(mysql_num_rows() > 0)
{
print("Account gefunden");
mysql_free_result();
LoadPlayer(playerid);
BanCheck(playerid);
PInfo[playerid][lversuche] = 3;
print("Login Zeigen");
ShowDialog(playerid, DIA_LOGIN, DIALOG_STYLE_PASSWORD, "Einloggen", "{FF6E30}Dein Account wurde gefunden!\r\nBitte gib dein Passwort ein um dich Einzuloggen.\r\nVersuche: {FF0000}3/3", "Login", "Abbrechen");
print("Login gezeigt");
}
else
{
//emsg(playerid, "** Bewirb dich in unserem Forum als Alpha Tester.");
//Kick(playerid);
mysql_free_result();
print("Account nicht gefunden");
new PIP[32];
GetPlayerIp(playerid, PIP, 32);
format(q, 255, "SELECT * FROM ips WHERE ip='%s'", PIP);
mysql_query(q);
mysql_store_result();
if(mysql_num_rows() > 0)
{
mysql_free_result();
emsg(playerid, ">> Multi-Accounts sind nicht gestattet!");
Kick(playerid);
}
print("Account registrieren");
PInfo[playerid][inregister] = 1;
ShowDialog(playerid, DIA_GENDER, DIALOG_STYLE_LIST, "Registrieren", "Männlich\r\nWeiblich", "Weiter", "");
print("Account registrieren gezeigt");
}
}
Füg das mal so ein und poste dann, was im server_log steht.
[18:27:53] [npc:join] Bot_Bootshaus1 has joined the server (5:127.0.0.1)
[18:27:53] [npc:join] Bot_AHLuxus1 has joined the server (6:127.0.0.1)
[18:27:53] [npc:join] Bot_Bikestore1 has joined the server (7:127.0.0.1)
[18:27:53] [npc:join] Bot_Flugshop1 has joined the server (8:127.0.0.1)
[18:27:53] [npc:join] Bot_Otto1 has joined the server (9:127.0.0.1)
[18:27:53] [npc:join] Bot_Medic1 has joined the server (10:127.0.0.1)
[18:28:02] Incoming connection: 127.0.0.1:60695
[18:28:05] [join] AlexCalibra has joined the server (11:127.0.0.1)
[18:28:05] Er Connectet
[18:28:05] Anti Cheat geladen
[18:28:05] PlayerSound
[18:28:05] Wetter ist gesetzt
[18:28:05] Mapping Sachen
Weder noch wird aufgerufen, das legt nahe, dass RegCheck gar nicht aufgerufen wird.
new q[128], name[MAX_PLAYER_NAME];
zu:
print("RegCheck gestartet");
new q[128], name[MAX_PLAYER_NAME];
Wenn das dann nicht geprintet wird, dann liegt der Fehler nicht am RegCheck, da es gar nicht aufgerufen wird, dann musst du woanders testen.