public OnPlayerConnect(playerid)
{
new name[128], save[128]; // Dies machen wir um den Namen vom Spieler aufzuschreiben || Hiermit können wir sagen, dass etwas gespeichert werden soll
GetPlayerName(playerid,name,sizeof(name)); // Dies sagt, er soll( vom Spieler, den namen, in der größe name aufschreiben)
format(save,sizeof(save),"/Spieler/%s.ini",name); // Hiermit machen wir ein Format, dass er es im Scriptfile Ordner im Ordner Spieler anlegen soll. Durch GetPlayerName haben wir jetzt den Namen. Jetzt speichert er es in *Name*.ini .
if(dini_Exists(save))
{
new paydayzeit = dini_Int(save,"zeitseitpayday"); // Lädt in der Datei des Spielers das was unter zeitseitpayday gespeichert ist und speichert es in der Variable paydayzeit.
new spielzeitinsgesamt = dini_Int(save,"spielzeit"); // Lädt in der Datei des Spielers das was unter spielzeit gespeichert ist und speichert es in der Variable spielzeitinsgesamt.
pSincePayday[playerid] = paydayzeit; // ändert die pSincePAyday variable um zu dem was wir gespeichert haben (bzw. erst noch kommt im Tut)
pPlaytime[playerid] = spielzeitinsgesamt; // Das gleiche wie darüber nur mit anderen Variablen
pimerday[playerid] = SetTimerEx("pimer",360000,1,"i",playerid);
SendClientMessage(playerid, COLOR_YELLOW, "*** Willkommen Zurück, Logge dich mit /login [Passwort] ein");
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
GivePlayerMoney(playerid,dini_Int(save,"Geld"));
SetPlayerSkin(playerid,dini_Int(save,"Skin"));
SetPlayerWantedLevel(playerid,dini_Int(save,"Wanteds"));
pInfo[playerid][autos] =dini_Int(save,"Autoführerschein");
pInfo[playerid][flug] =dini_Int(save,"Flugführerschein");
pInfo[playerid][mofa] =dini_Int(save,"Mofaführerschein");
pInfo[playerid][kfz] =dini_Int(save,"Lkwführerschein");
pInfo[playerid][motorrad] =dini_Int(save,"Motorradführerschein");
pInfo[playerid][boot] =dini_Int(save,"Bootsführerschein");
pInfo[playerid][alevel] =dini_Int(save,"Adminlevel");
pInfo[playerid][fRank] =dini_Int(save,"Fraktionsrank");
}
else
{
if(!dini_Exists(save))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "~Ich sehe du bist neu, bitte regestriere dich mit /register [Passwort]~");
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new name[128], save[128];// Gleiche
GetPlayerName(playerid,name,sizeof(name)); // wie
format(save,sizeof(save),"/Spieler/%s.ini",name);// oben
if(dini_Exists(save) && pInfo[playerid][eingeloggt]) // steht
{
KillTimer(pimerday[playerid]);
dini_IntSet(save,"zeitseitpayday",pSincePayday[playerid]);// setzt in der Datei des Spielers zeitseitpayday auf das gleiche wie pSincePayday.
dini_IntSet(save,"spielzeit",pPlaytime[playerid]);// setzt in der Datei des Spielers Spielzeit auf das gleiche wie pPlaytime.
dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
dini_IntSet(save,"Wanteds",GetPlayerWantedLevel(playerid));
dini_IntSet(save,"skin",pInfo[playerid][skin]);
dini_IntSet(save,"Autoführerschein",pInfo[playerid][autos]);
dini_IntSet(save,"Flugführerschein",pInfo[playerid][flug]);
dini_IntSet(save,"Mofaführerschein",pInfo[playerid][mofa]);
dini_IntSet(save,"Lkwführerschein",pInfo[playerid][kfz]);
dini_IntSet(save,"Motorradführerschein",pInfo[playerid][motorrad]);
dini_IntSet(save,"Bootsführerschein",pInfo[playerid][boot]);
dini_IntSet(save,"Adminlevel",pInfo[playerid][alevel]);
dini_IntSet(save,"Fraktionsrank",pInfo[playerid][fRank]);
dini_IntSet(save,"Team",pInfo[playerid][gTeam]);
}
pInfo[playerid][skin] = 0;
pInfo[playerid][eingeloggt] = 0;
GangZoneHideForPlayer(playerid,groovezone);
return 1;
}
Und Noch mal das hier:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new name[MAX_PLAYERS],save[128];
GetPlayerName(playerid,name,sizeof name);
format(save,sizeof save,"/Spieler/%s.ini",name);
if(response)
{
switch(dialogid) // dialogid auswählen
{
case DIALOG_LOGIN: // ID Login
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0) // Passwort Direkt aus der Datei Laden
{
pInfo[playerid][skin] = dini_Int(save,"skin");
pInfo[playerid][autos] =dini_Int(save,"Autoführerschein");
pInfo[playerid][flug] =dini_Int(save,"Flugführerschein");
pInfo[playerid][mofa] =dini_Int(save,"Mofaführerschein");
pInfo[playerid][kfz] =dini_Int(save,"Lkwführerschein");
pInfo[playerid][motorrad] =dini_Int(save,"Motorradführerschein");
pInfo[playerid][boot] =dini_Int(save,"Bootsführerschein");
pInfo[playerid][alevel] =dini_Int(save,"Adminlevel");
pInfo[playerid][fRank] =dini_Int(save,"Fraktionsrank");
pInfo[playerid][gTeam] =dini_Int(save,"Team");
pInfo[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG: // ID Registrieren
{
if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(save);
dini_Set(save,"Passwort",inputtext);
pInfo[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
}
}
return 1;
}
Das sind die stellen wo das Passwort abgefragt wird und gespeichert wird.
MfG