Hey
Also ich hab folgendes Problem, wenn ich den Serverrestarte dann speichert es das Adminlevel nicht bzw es wird immer wieder auf 0 gesetzt.
Alle anderen Daten speichert es also Level,Geld,ob der Spieler gebannt ist oder nicht nur das Adminlevel nicht. Und auch nur wenn ich per eigenem Befehl/restart oder als Rcon /gmx eingebe. Wenn ich den Server normal schließe speichert es wieder.
Hier mal die wichtigen Teile aus dem Script
public OnGameModeExit()
{
for(new p = 0; p < MAX_PLAYERS; p++) //wofür steht hier das for und das: = 0; p < MAX_PLAYERS; p++
{
if(IsPlayerConnected(p))
{
SpielerSpeichern(p);
}
}
return 1;
}
//Adminbefehle
if(strcmp(cmdtext,"/restart",true)==0)//Serverrestart
{
if(isPlayerAnAdmin(playerid,2000))
{
for(new p = 0; p < MAX_PLAYERS; p++) //wofür steht hier das for und das: = 0; p < MAX_PLAYERS; p++
{
if(IsPlayerConnected(p))
{
SpielerSpeichern(p);
}
}
SendRconCommand("gmx");
return 1;
}
else
{
SendClientMessage(playerid,rot,"Du hast nicht den nötigen Adminrang");
}
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,"Banned",dini_Int(Spielerdatei,"Banned"));
//SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
if(GetPVarInt(playerid,"Banned")==1)
{
SendClientMessage(playerid,rot,"Du bist vom Server gebannt.");
Kick(playerid);
}
return 1;
}
stock SpielerSpeichern(playerid)
{
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,"Banned",GetPVarInt(playerid,"Banned"));
dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
return 1;
}
bei manchen publics hab ich einfach mal SpielerSpeichern eingesetzt um zu testen
Icvh hoffe ihr könnt mir helfen sonst müsste ich jedes mal in der .txt Datei das Adminlevel neu setzten