Guten Abend Community!
Wenn ich mich registriere, mir ein Skin auswähle läuft alles gut.
Alles wird gespeichert wenn ich mich auslogge.
Wenn ich mein Server restarte indem ich den Server schließe und wieder öffne, bleibt auch alles wie vorher.
Doch wenn ich den Server INGAME restarte dann krieg ich wieder den CJ Skin, Adminlevel wird auf 0 gesetzt und mein Geld auch. Alles einfach.
Hier mal vielleicht nützliche Codes:
public OnGameModeExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SaveAcc(i);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SaveAcc(i);
}
return 1;
}
ocmd:restart(playerid,params[])
{
if(IsPlayerAnAdmin(playerid,3))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SaveAcc(i);
}
SendRconCommand("gmx");
return 1;
}
else
{
SendClientMessage(playerid,c_falsch,"Das dürfen nur Admins!");
return 1;
}
}
stock LoadAcc(playerid)
{
new Spielerdatei[64],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
// Gespeicherte Sachen
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
SetPVarInt(playerid,"Waffenschein1",dini_Int(Spielerdatei,"Waffenschein1"));
SetPVarInt(playerid,"Waffenschein2",dini_Int(Spielerdatei,"Waffenschein2"));
SetPVarInt(playerid,"Waffenschein3",dini_Int(Spielerdatei,"Waffenschein3"));
SetPVarInt(playerid,"Autoschein",dini_Int(Spielerdatei,"Autoschein"));
SetPVarInt(playerid,"Motorradschein",dini_Int(Spielerdatei,"Motorradschein"));
SetPVarInt(playerid,"Flugschein",dini_Int(Spielerdatei,"Flugschein"));
return 1;
}
stock SaveAcc(playerid)
{
new Spielerdatei[64],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
// Gespeicherte Sachen
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei,"Waffenschein1",GetPVarInt(playerid,"Waffenschein1"));
dini_IntSet(Spielerdatei,"Waffenschein2",GetPVarInt(playerid,"Waffenschein2"));
dini_IntSet(Spielerdatei,"Waffenschein3",GetPVarInt(playerid,"Waffenschein3"));
dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
dini_IntSet(Spielerdatei,"Motorradschein",GetPVarInt(playerid,"Motorradschein"));
dini_IntSet(Spielerdatei,"Flugschein",GetPVarInt(playerid,"Flugschein"));
return 1;
}
stock IsPlayerAnAdmin(playerid,rang)
{
if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
return 0;
}
Hat jemand vielleicht eine Möglichkeit dieses Problem zu lösen?
MfG