Hi,
undzwar habe ich das Problem dass wenn ich in der Spielerdatei meinen Adminrang auf 5 mache, ihn dann aber ingame auf z.B. 4 oder 3 stelle dass dann immernoch Adminrang 5 in der Textdatei bleibt.
Hier mal der /makeadmin befehl, und alles was noch so dazu gehört =D
dcmd_adminmachen(playerid,params[]){ new pID,level; if(sscanf(params,"ud", pID, level)) { return SendClientMessage(playerid,FARBE_WEISS,"Befehl: /adminmachen [Spielername/ID][Rang]"); } if(IstSpielerAdmin(playerid,4)) { if(pID == INVALID_PLAYER_ID) { return SendClientMessage(playerid,FARBE_ROT,"Dieser Account wurde nicht gefunden!"); } if(IstSpielerAdmin(pID,level) == level) { return SendClientMessage(playerid,FARBE_ROT,"Dieser Account hat schon das angegebene Adminlevel!"); } else { sSpieler[pID][Adminlevel] = level; SendClientMessage(pID, FARBE_GRUEN, "Sie sind nun Teil des Server Teams"); SendClientMessage(playerid,FARBE_GRUEN,"Sie haben den angegeben Account zu einem Mitglied des Server Teams gemacht"); } } else { return SendClientMessage(playerid,FARBE_ROT,"Sie sind kein Mitglied des Server Teams!"); } return 1;}
stock SpielerLaden(playerid){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); if(dini_Exists(Spieler)) { SetPlayerScore(playerid,dini_Int(Spieler,"Level")); sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel"); sSpieler[playerid][Level] = dini_Int(Spieler,"Level"); sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion"); sSpieler[playerid][sLogin] = 1; SpawnPlayer(playerid); } return 1;}
enum SpielerDaten{ Adminlevel, Level, Fraktion, sLogin};
stock SpielerSpeichern(playerid){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); if(dini_Exists(Spieler)) { dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]); dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]); dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]); } return 1;}
stock IstSpielerAdmin(playerid,level){ if(sSpieler[playerid][Adminlevel] >= level) return 1; return 0;}
Hoffentlich reicht das für mein problem.
Asso, es wäre nett wenn mir noch wer sagen könnte Wie ich das Geld gespeichert bekomme. Also auch in der Spielerdatei.