Guten Tag,
Ich habe ein ernstes Problem:
Es werden keine Accounts gespeichert (keine Spielerdatei wird erstellt).
Hier mal ein paar Auszüge aus dem Script:
public OnPlayerDisconnect(playerid, reason)
{
SpielerSpeichern(playerid);
return 1;
}
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SetPVarInt(playerid,"ZeitSeitPD",dini_Int(Spielerdatei,"ZeitSeitPD"));
SetPVarInt(playerid,"Respektpunkte",dini_Int(Spielerdatei,"Respektpunkte"));
SetPVarInt(playerid,"Respekt",dini_Int(Spielerdatei,"Respekt"));
SetPVarInt(playerid,"LevelMoney",dini_Int(Spielerdatei,"LevelMoney"));
SendClientMessage(playerid,GELB,"Erfolgreich registriert.");
SetPlayerScore(playerid,1);
SetPVarInt(playerid,"loggedin",1);
dini_IntSet(Spielerdatei, "Fraktion",0);
dini_IntSet(Spielerdatei, "Geld", 1200);
dini_IntSet(Spielerdatei, "Autoschein",0);
dini_IntSet(Spielerdatei, "Bank", 10000);
dini_IntSet(Spielerdatei, "WantedLevel", 0);
dini_IntSet(Spielerdatei, "ZeitSeitPD", 0);
dini_IntSet(Spielerdatei, "Respektpunkte", 0);
dini_IntSet(Spielerdatei, "Respekt", 8);
dini_IntSet(Spielerdatei, "LevelMoney", 2000);
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);
SendClientMessage(playerid,GELB,"Erfolgreich eingeloggt.");
return 1;
}
else
{
SendClientMessage(playerid,GELB,"Das eingegebene Passwort ist nicht korrekt.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
return 1;
}
}
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du wurdest vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
SetPlayerSkin(playerid, dini_Int(Spielerdatei, "SkinID"));
SetPVarInt(playerid, "Job", dini_Int(Spielerdatei, "Job"));
SetPVarInt(playerid, "Leader",dini_Int(Spielerdatei,"Leader"));
SetPVarInt(playerid, "Mitglied",dini_Int(Spielerdatei,"Mitglied"));
SetPVarInt(playerid, "Bank",dini_Int(Spielerdatei,"Bank"));
SetPVarInt(playerid, "WantedLevel",dini_Int(Spielerdatei,"WantedLevel"));
SetPVarInt(playerid, "Autoschein",dini_Int(Spielerdatei,"Autoschein"));
SetPVarInt(playerid, "ZeitSeitPD", dini_Int(Spielerdatei, "ZeitSeitPD"));
SetPVarInt(playerid, "Respektpunkte", dini_Int(Spielerdatei, "Respektpunkte"));
SetPVarInt(playerid, "Respekt", dini_Int(Spielerdatei, "Respekt"));
SetPVarInt(playerid, "LevelMoney", dini_Int(Spielerdatei, "LevelMoney"));
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei, "Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei, "Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei, "Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei, "Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei, "Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei, "Bank", GetPVarInt(playerid,"Bank"));
dini_IntSet(Spielerdatei, "WantedLevel", GetPVarInt(playerid,"Wantedlevel"));
dini_IntSet(Spielerdatei, "SkinID", GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei, "Job", GetPVarInt(playerid,"Job"));
dini_IntSet(Spielerdatei, "Mitglied", GetPVarInt(playerid,"Mitglied"));
dini_IntSet(Spielerdatei, "Leader", GetPVarInt(playerid,"Leader"));
dini_IntSet(Spielerdatei, "Autoschein",GetPVarInt(playerid,"Autoschein"));
dini_IntSet(Spielerdatei, "ZeitSeitPD", GetPVarInt(playerid,"ZeitSeitPD"));
dini_IntSet(Spielerdatei, "Respektpunkte", GetPVarInt(playerid,"Respektpunkte"));
dini_IntSet(Spielerdatei, "Respekt", GetPVarInt(playerid,"Respekt"));
dini_IntSet(Spielerdatei, "LevelMoney", GetPVarInt(playerid,"LevelMoney"));
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_REGISTER)
{
if(response==0)
{
SendClientMessage(playerid,GELB,"Du hast den Vorgang abgebrochen.");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,GELB,"Das Passwort war nicht lang genug.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}
Ich hoffe ihr könnt mir helfen. Ich kann wegen diesem Problem nicht weiterarbeiten.
(ich habe das dini include oben in includes eingetragen und habe die datei auch im pawno/include ordner)
(ich habe unter scriptfiles einen Accounts Ordner erstellt)
// Edit: Auf meinem Script schaut alles Gut aus (dH keine unregelmäßigen Abstände wie hier im pwn plugin). Außerdem bekomme ich keine Errors
LG,
badnat