Hey. Ich habe eine Frage und ein Problem bei meinem Script.
Frage:
Wie geht es, das 2 Befehle 1 Sache ausführt?
Also das ich mit /exit UND /l die Arena verlassen kann?
if (strcmp("/exit",cmdtext, true, 10) == 0) || if (strcmp("/l",cmdtext, true, 10) == 0)
ging doch irgendwie so, oder?
Problem:
Bei meinem Login/register system, wenn ich ein falschen Passwort eingebe, spawne ich trotzdem, obwohl die Message erscheint, das mein Passwort falsch eingegeben wurde. Dann erscheint ein weiterer Dialog, bei dem man die Chance hat, sein PW nochmal einzugeben.
Wie mache ich das also, das wenn ich ein falsches PW eingebe, das ich nicht spawne, mir aber trotzdem der Dialog wieder angezeigt wird?
public OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo(playerid,0,0,-50.1974,-288.3651,5.4297,178.9876,0,0,0,0,0,0);
SpawnPlayer(playerid);
TogglePlayerControllable(playerid,1);
return 1;
}
stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
return 1;
}
else
{
SendClientMessage(playerid,GRAU,"Das eingegebene Passwort ist falsch.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Benutzername: %s . \nGeben sie ihr Passwort ein:.","OK","Abbrechen");
return 1;
}
}