Ich habe ein Login Register System gescriptet und des registrieren funktioniert auch bloß wenn ich mich wieder einloggen will kommt nur die charakter auswahl und wenn ich auf Spawn klicke kommt Server closed the connection wisst ihr woran des liegt
public LoginDialog(id)
{
new lgtex[256] = "Dieser Account ist bereits registriert. Bitte gebe dein Passwort ein um dich einzuloggen.";
new lgtr[64]; format(lgtr, 64, "\r\n\r\nVerbleibende Versuche: %d/3", PI[id][logtry]);
strcat(lgtex, lgtr);
ShowPlayerDialog(id, 7, DIALOG_STYLE_INPUT, "Logi", lgtex, "Ok", "Verlassen.");
return 1;
}
public Login(id)
{
ReadUser(id);
if(PI[id][banned] == 1) //FALLS GEBANNT
{
new banre[128]; format(banre, 128, "> Dieser Account wurde gesperrt ; Grund: %s", PI[id][banres]);
SendClientMessage(id, CL_ERROR, banre);
Kick(id); return 1;
}
LogiDialog(id);
return 1;
}
public Registrierung(id, step)
{
new uname[MXPN];
GetPlayerName(id, uname, MXPN);
if(step == 0)
{
new regtex[128]; format(regtex, 128, "Der Benutzer "%s" ist noch nicht bei uns registriert. Du kannst ihn aber registrieren, indem du auf "Registrieren" drückst.", uname);
ShowPlayerDialog(id, 0, DIALOG_STYLE_MSGBOX, "Registrierun", regtex, "Registrieren", "Verlassen");
} else if(step == 1)
{
new regtex[128] = "Bitte gebe ein Passwort ein. Es muss mindestens 7 Zeichen lang sein.";
ShowPlayerDialog(id, 1, DIALOG_STYLE_INPUT, "Registation: 1/4 - Passwort", regtex, "Ok", "Zurück");
} else if(step == 2)
{
new regtex[128] = "Männlich\r\nWeiblich";
ShowPlayerDialog(id, 2, DIALOG_STYLE_LIST, "Registation: 2/4 - Geschlecht", regtex, "Ok", "Zurück");
} else if(step == 3)
{
ShowPlayerDialog(id, 3, DIALOG_STYLE_LIST, "Registation: 3/4 - Alter", "13\r\n14\r\n15\r\n16\r\n17\r\n18\r\n19\r\n20\r\n21\r\n22\r\n23\r\n24\r\n25\r\n26\r\n27\r\n28\r\n29\r\n30\r\n31+", "Ok", "Zurück");
}
else if(step == 4)
{
new regtex[256] = "Nun kannst du deinen Charakter wählen. Achtung: man kann ihn nur im Klamottenladen wieder ändern.";
ShowPlayerDialog(id, 4, DIALOG_STYLE_MSGBOX, "Registrierun: 4/4 - Charakter", regtex, "Ok", "Zurück");
} else if(step == 5)
{
PI[id][inregister] = 1;
}
return 1;
}
public OnPlayerConnect(playerid)
{
if(strlen(GetPname(playerid)) > 32)
{
SendClientMessage(playerid, CL_ERROR, "Dein Name ist zu lang. (Maximal 32 Zeichen)");
Kick(playerid);
}
TextDrawShowForPlayer(playerid, Textdraw0); //ADS
ClearUser(playerid);
new dismsg[128];
format(dismsg, 128, "> %s hat den Server betreten.", GetPname(playerid));
SendClientMessageToAll(CL_SRVMSG, dismsg);
new welcometxt[256] = "Willkommen auf dem Server von Reallife\r\n\r\nForum: \r\nTeamspeak3: ";
ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "Reallife", welcometxt, "Ok", "Verlassen");
PlayerPlaySound(playerid, 1097, 0.0, 0.0, 0.0);
return 1;
}
case 0: //Registrierung
{
if(response)
Registrierung(playerid, 1);
else
Kick(playerid);
}
case 1: //Registrierung - PASSWORT
{
if(response)
{
if(strlen(inputtext) < 7)
{
SendClientMessage(playerid, CL_ERROR, "> Das Passwort muss mindestens 7 Zeichen lang sein!");
Registrierung(playerid, 1);
} else {
encrypt(inputtext);
format(PI[playerid][pass], 64, "%s", inputtext);
Registrierung(playerid, 2);
}
} else
Registrierung(playerid,0);
}
case 2: //Registrierung - GESCHLECHT
{
if(response)
{
if(listitem == 0)
{
PI[playerid][gender] = 0;
} else {
PI[playerid][gender] = 1;
}
Registrierung(playerid, 3);
} else {
Registrierung(playerid, 1);
}
}
case 3: //Registrierung - ALTER
{
if(response)
{
PI[playerid][age] = listitem+13;
Registrierung(playerid, 4);
} else {
Registrierung(playerid, 2);
}
}
case 6: //JOIN REGELN
{
if(response)
{
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
new q[256], mres[64]; mysql_real_escape_string(GetPname(playerid),mres);
format(q, 256, "SELECT name FROM user WHERE name = '%s'", mres);
mysql_query(q); mysql_store_result();
if(mysql_num_rows() > 0)
{
mysql_free_result();
Login(playerid);
} else {
mysql_free_result();
Registrierung(playerid, 0);
}
} else {
Kick(playerid);
}
}
case 5: //WELCOME BOX
{
if(response)
{
new regtex[512] = "Wie auf jeden anderen gibt es auch auf diesem Server gewisse Regeln, die man zu befolgen hat.\r\nBei Regelverstößen gibt es je nach dem eine Warnung, Kick oder Bann.\r\n";
strcat(regtex,"\r\n1. Kein Deathmatching\r\n2. Kein Bugusing / Cheating / Hacking\r\n3. Nur 1 Account pro User\r\n4. Keine Werbung für andere Server\r\n5. Kein Spaming / Flooding\r\n6. Kein Missbrauchen der /melden Funktion.");
ShowPlayerDialog(playerid, 6, DIALOG_STYLE_MSGBOX, "Serverregeln", regtex, "Akzeptieren", "Verlassen");
} else
Kick(playerid);
}
case 4: //CHARAKTER CHOOSING DIALOG
{
if(response)
{
Registrierung(playerid, 5);
} else {
Registrierung(playerid, 3);
}
}
case 7: //LOGIN DIALOG
{
if(response)
{
encrypt(inputtext);
if(!strcmp(inputtext, PI[playerid][pass], false) && strlen(inputtext) > 0)
{
SendClientMessage(playerid, CL_SRVMSG, "> Du bist nun eingeloggt.");
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
PI[playerid][logged] = 1;
} else {
PI[playerid][logtry]--;
if(PI[playerid][logtry] == 0)
{
Kick(playerid);
} else
LoginDialog(playerid);
}
} else {
Kick(playerid);
}
}
public OnPlayerSpawn(playerid)
{
if(!PI[playerid][logged] && !PI[playerid][inregister])
{
SendClientMessage(playerid, CL_SRVMSG, "> Du musst dich erst einloggen bzw. registrieren.");
Kick(playerid);
return 1;
}
if(!PI[playerid][firstspawn])
{
PI[playerid][firstspawn] = 1;
SetPlayerWeapons(playerid);
GivePlayerMoney(playerid, PI[playerid][money]);
}
PI[playerid][down] = 0;
TogglePlayerClock(playerid, 0);
TextDrawShowForPlayer(playerid, Textdraw2); //DATE
SetPlayerToTeamColor(playerid);
SetPlayerScore(playerid, PI[playerid][level]);
SetPlayerSkin(playerid, PI[playerid][skin]);
PlayerPlaySound(playerid, 1098, 0.0, 0.0, 0.0);
if(PI[playerid][inregister]) //FALLS IN REGISTRIERUNG -> Fertig -> User erstellen, Speichern
{
PI[playerid][logged] = 1;
PI[playerid][skin] = GetPlayerSkin(playerid);
new q[256], mres[64]; mysql_real_escape_string(GetPname(playerid), mres);
new dd, mm, yy; getdate(yy, mm, dd); new rgdate[9]; format(rgdate, 9, "%02d/%02d/%d", dd, mm, yy);
new sec, std, min2;
gettime(std, min2, sec);
new llogin = timestamp(std, min2, sec, dd, mm, yy);
format(q, 512, "INSERT INTO user (name,pass,age,gender,skin,regdate,lastlogin) VALUES ('%s','%s','%d','%d','%d','%s','%s')", mres, PI[playerid][pass], PI[playerid][age], PI[playerid][gender], PI[playerid][skin], rgdate, llogin);
mysql_query(q);
PI[playerid][inregister] = 0;
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(PI[playerid][logged])
{
SaveUser(playerid);
}
ClearUser(playerid);
return 1;
}
hoffe ihr könnt mir helfen