Hallo,
Da man bei meinem Server wenn man sich einloggt /login oder /register schreiben muss, wollte ich das in ein Dialog ändern.
Folgendes Problem, wenn man bei dem Dialog das Passwort eingibt und login klickt passiert nix und wenn man beim Register Dialog ein Passwort eingibt und register klickt steht da zwar, Erfolgreich Registriert, aber bei scriptfiles ist dann bei dem Spieler kein passwort gespeichert, bitte Hilfe
Erstmal Login:
GetPlayerName(playerid, plname, sizeof(plname));
format(string, sizeof(string), "%s.ini", plname);
if(fexist(string))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LOGIN","Gebe dein Passwort ein.","Login","Abbrechen");
if(dialogid==DIALOG_LOGIN)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_YELLOW,"Um zu spielen musst du dich einloggen.");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_YELLOW,"Das Passwort ist nicht korrekt");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"LOGIN","Gebe dein Passwort ein.","Login","Abbrechen");
return 1;
}
new tmppass[64];
OnPlayerLogin(playerid,tmppass);
}
}
Und dann der /login Befehl
if (strcmp(cmd, "/login", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /login [passwort]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
OnPlayerLogin(playerid,tmppass);
}
return 1;
}
//Register
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gebe dein gewünschtes Passwort ein.","Registrieren","Abbrechen");
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_REGISTER)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_YELLOW,"Um zu spielen musst du dich registrieren.");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_YELLOW,"Das Passwort ist nicht korrekt");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gebe dein gewünschtes Passwort ein.","Registrieren","Abbrechen");
return 1;
}
new tmppass[64];
OnPlayerRegister(playerid, tmppass);
return 1;
}
}
/register Befehel
if (strcmp(cmd, "/register", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
fclose(hFile);
return 1;
}
new tmppass[64];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
OnPlayerRegister(playerid,tmppass);
}
return 1;
}
Wär nett könntet ihr mir helfen, das Login wär wichtiger.
Mfg, René