Hallo,
habe mir nun zwei Befehle in mein Script eingebaut doch irgendwo ist doch etwas falsch.
Einmal habe ich mir ein Premiumrang rein gemacht und einen Skin-Befehl.
Wenn man sich neu registriert wird auch in die Spielerdatei geschrieben:
Skin=0
Premium=0
Wenn ich den Skin optional in die SpielerDatei reinschreibe also manuell, habe ich den Skin auch nicht beim einloggen.
Und wenn ich dann die Befehle ausführe /setskin oder /setprem wird es nicht in die Spielerdatei geschrieben.
Hier meine beiden Commands:
//Setpremium
ocmd:setprem(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Dein Rang ist dafür zu niedrig.");
new pID, rank;
if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"Benutzung: /setprem [ID] [Rang]");
if(rank<0||rank>1)return SendClientMessage(playerid,ROT,"Bitte gib einen gültigen Rang an.");
SetPVarInt(pID,"Premium",rank);
SpielerSpeichern(pID);
SendClientMessage(playerid,BLAU,"Du hast den Spieler erfolgreich zum Premiummitglied gemacht.");
return 1;
}
//Setskin
ocmd:setskin(playerid,params[])
{
if(isPlayerAnAdmin(playerid,4))
{
new pID, Skin;
if(sscanf(params,"ui",pID,Skin))return SendClientMessage(playerid,ROT,"Benutzung: /setskin [ID] [Skin-ID]");
{
if(Skin<0||Skin>299)return SendClientMessage(playerid,ROT,"Diese Skin-ID existiert nicht!");
{
SetPlayerSkin(pID,Skin);
SetPVarInt(pID,"Skin",Skin);
SpielerSpeichern(playerid);
return 1;
}
}
}
else
{
SendClientMessage(playerid,ROT,"Du hast nicht die nötigen Rechte für diesen Befehl!");
return 1;
}
}
Hier meine stock's:
LoadAccount:
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"));
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Premium",dini_Int(Spielerdatei,"Premium"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
return 1;
}
SpielerSpeichern:
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,"timeban",GetPVarInt(playerid,"timeban"));
dini_IntSet(Spielerdatei,"Skin", GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premium"));
}
return 1;
}