Tag.
Mein Loginsystem ist irgendwie total am buggen.
Also , ich möchte , bevor man spawnt , dass man einen 5(!) stelligen Sicherheitscode eingeben muss. NUR wenn dieser richtig ist, kommt man weiter zur Passwort Eingabe. Nur es will nicht so ganz. Der Code ist nie 5 stellig , und man wird weitergeleitet egal ob er richtig oder falsch ist.
if(dialogid==Dialog_Login1){
if(response==1){
if(!strlen(inputtext)){
new string[256],string2[64],Nummer2[6],rand=random(9),rand2=random(9),rand3=random(9),rand4=random(9),rand5=random(9);
format(Nummer2,sizeof(Nummer2),"%i%i%i%i%i",rand,rand2,rand3,rand4,rand5);
fSicherheitscode[playerid]++;
Nummer[playerid]=strval(Nummer2);
format(string2,sizeof(string2),"Ungültige Sicherheitsnummer! [%i/3]",fSicherheitscode[playerid]);
format(string,sizeof(string),"Da du bereits einen Account hast, musst du dich einloggen.\nSicherheitsnummer: {E0981B}%i",Nummer[playerid]);
SendClientMessage(playerid,Rot,string2);
return ShowPlayerDialog(playerid,Dialog_Login1,DIALOG_STYLE_INPUT,"Willkommen auf {E01B1B}My own World",string,"Weiter","Abbrechen");
}
if(strcmp(Nummer,inputtext,false)==0){
}
}
else{
SendClientMessage(playerid,Rot,"Du hast den Loginvorgang abgebrochen.");
dini_Remove(Spieler);
Kick(playerid);
}
}
if(dialogid==Dialog_Login2){
if(response==1){
if(!strlen(inputtext) || strcmp(inputtext,dini_Get(Spieler,"Passwort"))!=0){
new string[64];
fPasswort[playerid]++;
ShowPlayerDialog(playerid,Dialog_Login2,DIALOG_STYLE_PASSWORD,"Loginvorgang","Die Sicherheitsnummer war richtig.\nBitte gib nun dein Passwort ein:","Weiter","Abbrechen");
format(string,sizeof(string),"Ungültiges Passwort! [%i/3]",fPasswort[playerid]);
if(fPasswort[playerid]>=3){
SendClientMessage(playerid,Rot,"Du wurdest vom System verbannt, Grund: 3x falsches Passwort");
dini_IntSet(Spieler,"Banned",1);
dini_Set(Spieler,"Banngrund","Ungueltiges Passwort");
dini_Set(Spieler,"Banned-by","System");
Kick(playerid);
}
return SendClientMessage(playerid,Rot,string);
}
if(strcmp(dini_Get(Spieler,"Passwort"),inputtext,true)==0){
SpielerLaden(playerid);
}
}
else{
SendClientMessage(playerid,Rot,"Du hast den Registriervorgang abgebrochen.");
dini_Remove(Spieler);
Kick(playerid);
}
}
Edit:
Noch ein Problem, die Nachrichten werden immer 2x gesendet, LimitGlobalChatRadius auf 0 &' -1 hilft nicht :'D
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
for(new i=0;i<MAX_PLAYERS;i++){
if(IsPlayerInRangeOfPoint(i,50.0,x,y,z)){
new string[256];
format(string,sizeof(string),"%s: %s",PlayerName(playerid),text);
SendClientMessage(i,Weiss,string);
SetPlayerChatBubble(playerid,string,Weiss,50.0,8000);
ChatLog(playerid, string);
}
}