Guten Tag, ich habe das Problem das wenn man sich Registriert, das man entweder direkt Adminrank 5 ist, oder spätestens wenn man sich ausloggt Adminrank 5 bekommt, manchmal bleibt es auf Rank 0
Hier die entsprechende Ladung, Registrierung und Speicherung:
stock Register(playerid,key[])
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
dini_Create(Playerdatei);
dini_Set(Playerdatei,"Passwort",key);
dini_IntSet(Playerdatei,"Adminrank", 0);
SetPVarInt(playerid,"Eingeloggt",1);
SetPlayerScore(playerid, 1);
return 1;
}
stock AccountLaden(playerid)
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
SetPlayerScore(playerid, dini_Int(Playerdatei, "Level"));
Spieler[playerid][Adminrank] = dini_Int(Playerdatei,"Adminrank");
SetPlayerSkin(playerid, dini_Int(Playerdatei, "Skin"));
Spieler[playerid][Geschlecht] = dini_Int(Playerdatei,"Geschlecht");
Spieler[playerid][Alter] = dini_Int(Playerdatei,"Alter");
GivePlayerMoney(playerid, dini_Int(Playerdatei, "Geld"));
Spieler[playerid][Navi] = dini_Int(Playerdatei, "Navi");
Spieler[playerid][Job] = dini_Int(Playerdatei, "Job");
SetPVarInt(playerid,"Eingeloggt",1);
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME], SkinID;
SkinID = GetPlayerSkin(playerid);
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
dini_IntSet(Playerdatei,"Level", GetPlayerScore(playerid));
dini_IntSet(Playerdatei, "Adminrank", Spieler[playerid][Adminrank]);
dini_IntSet(Playerdatei, "Skin", SkinID);
dini_IntSet(Playerdatei, "Geschlecht", Spieler[playerid][Geschlecht]);
dini_IntSet(Playerdatei, "Alter", Spieler[playerid][Alter]);
dini_IntSet(Playerdatei, "Geld", GetPlayerMoney(playerid));
dini_IntSet(Playerdatei, "Navi", Spieler[playerid][Navi]);
dini_IntSet(Playerdatei, "Job", Spieler[playerid][Job]);
}
}
Und hier auch noch den Login, falls notwendig:
stock Login(playerid,key[])
{
new Playerdatei[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
{
AccountLaden(playerid);
{
SetSpawnInfo(playerid,0,0,0,0,0,0,0,0,0,0,0,0);
SpawnPlayer(playerid);
ClearChat(playerid);
new willkommensnachricht[128];
new eingeloggtals[128];
new adminrank[64];
format(willkommensnachricht, sizeof(willkommensnachricht), "** Hallo %s! Willkommen zurück auf Big Country Reallife!", name);
SendClientMessage(playerid, COLOR_WHITE, willkommensnachricht);
{
if(Spieler[playerid][Adminrank] == 1) { adminrank = "Supporter"; }
else if(Spieler[playerid][Adminrank] == 2) { adminrank = "Moderator"; }
else if(Spieler[playerid][Adminrank] == 3) { adminrank = "Super Moderator"; }
else if(Spieler[playerid][Adminrank] == 4) { adminrank = "Administrator"; }
else if(Spieler[playerid][Adminrank] >= 5) { adminrank = "Headadmin"; }
else if(Spieler[playerid][Adminrank] <= 0) { adminrank = "Zivilist"; }
format(eingeloggtals,sizeof(eingeloggtals), "** Du bist als %s eingeloggt!", adminrank);
SendClientMessage(playerid, 0xFFFFFFFFF, eingeloggtals);
}
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"SERVER: Das eingegebene Passwort ist nicht korrekt - Bitte erneut eingeben.");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Big Country Reallife - Login","Herzlich Willkommen zurück, ihr Account wurde gefunden!\nBitte loggen Sie sich mit ihrem Passwort ein:","Login", "Abbrechen");
}
return 1;
}
Es wird auch nirgends gesagt Spieler[playerid][Adminrank] == 5; oder ähnliches
Weiß da jemand vielleicht was das sein kann? Ich würde mich sehr über Hilfe freuen. Vielen Dank und liebe Grüße