Hey Community...
ich habe wiedermal ein Problem ...
wo ist hier der Fehler ...
1. Wenn ich starte .. spawne Ich in LV
2. wenn ich dann /stats mache steht Zivlist .. ist ja auch noch okay.. (als CJ)
3. wenn ich /makeleader 0 1 (also lspd) mache .. werde ich lspd leader hab ne andere uniform an . auch noch okay
4. wenn ich /kill mache spawne ich wie ich auch wollte am pd aber .. im CJ skin wieder
5. wenn ich meinen script so angucke denke ich habe ich mir das leben selber schwer gemacht..
6. wenn ich mich wieder neu einlogge sind die sachen also LSPD leader etc nicht gespeichert obwohl das vorher ging
7. ich wollte eigtl fraktionen erstellen mit membern und einer rangordnung .. kann mir einer helfen??
mega verzweifelt :((( hier ausschnitte aus dem script
lg Kamel
//Fraktionen
#define Team_Zivi 0
#define Team_LSPD 1
#define Team_Mafia 2
#define Team_Medic 3
#define Team_STAAT 4
//Fraktionsränge
#define Praktikant 1
#define Polizeimeisteranwärter 2
#define Polizeikommissar 3
#define Polizeioberkommissar 4
#define Polizeihauptkommissar 5
#define Polizeidirektor 6
#define Leitender Polizeidirektor 7
#define Mafiosi 8
#define Berater 9
#define Mafiaboss 10
enum SInfo
{
Adminlevel,
Fraktion,
Fraktionsrang,
Leader
}
new SpielerInfo[MAX_PLAYERS][SInfo];
public OnPlayerRequestClass(playerid, classid)
{
if(IsPlayerNPC(playerid))return 1;
SetPlayerPos(playerid,2047.4270,1336.5569,10.6719);
SetPlayerFacingAngle(playerid,188.9284);
SetPlayerCameraPos(playerid,2047.6205,1333.3314,10.6719);
SetPlayerCameraLookAt(playerid,2047.4270,1336.5569,10.6719);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
}
public OnPlayerSpawn(playerid)
{
if(SpielerInfo[playerid][Fraktion] == Team_LSPD)
{
if(SpielerInfo[playerid][Fraktionsrang] == Praktikant)
{
SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,28);
}
else if(SpielerInfo[playerid][Fraktionsrang] == Polizeimeisteranwärter)
{
SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,28);
}
else if(SpielerInfo[playerid][Fraktionsrang] == Polizeikommissar)
{
SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,281);
}
else if(SpielerInfo[playerid][Fraktionsrang] == Polizeioberkommissar )
{
SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,281);
}
SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);
}
if(SpielerInfo[playerid][Fraktion] == Team_Mafia)
{
SetPlayerPos(playerid,mafiaspawn);GivePlayerWeapon(playerid,24,100);SetPlayerSkin(playerid,111);
}
return 1;
}
ocmd:makeleader(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
new pID,fID;
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
SetPVarInt(pID,"Fraktion",fID);
SetPVarInt(pID,"Leader",fID);
SendClientMessage(playerid,BLAU,"Erfolgreich.");
if(fID == 1){SetPlayerSkin(playerid,283);SpielerInfo[playerid][Fraktion]=1;SpielerInfo[playerid][Leader]=1;}
if(fID == 2){SetPlayerSkin(playerid,113);SpielerInfo[playerid][Fraktion]=2;}
// und immer so weiter
return 1;
}
if(strcmp(cmdtext,"/stats",true)==0)
{
new string[128];
new ftext[20];
new frakt = SpielerInfo[playerid][Fraktion];
if(frakt == 0) { ftext= "Zivilist"; }
else if(frakt == 1) { ftext= "LSPD"; }
else if(frakt == 2) { ftext= "Mafia"; }
//1 reihe
format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s] [Zeit seit Payday: %iMinuten] ",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),ftext,GetPVarInt(playerid,"Paytime"));
SendClientMessage(playerid,BLAU,string);
//2 reihe
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,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Fraktionsrang",dini_Int(Spielerdatei,"Fraktionsrang"));
SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
SetPVarInt(playerid,"Paytime",dini_Int(Spielerdatei,"Paytime"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}
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,"Fraktionsrang",GetPVarInt(playerid,"Fraktionsrang"));
dini_IntSet(Spielerdatei,"Leader",GetPVarInt(playerid,"Leader"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
dini_IntSet(Spielerdatei,"Paytime",GetPVarInt(playerid,"Paytime"));
}
return 1;
stock ResetVariablen(playerid)
{
SpielerInfo[playerid][Adminlevel]=0;
return 1;
}
//Fraktion
stock IstSpielerInFraktion(playerid, fraktionsid)
{
if(SpielerInfo[playerid][Fraktion] == fraktionsid) return 1;
return 0;
}
//Admin
stock isPlayerAnAdmin(playerid,rang)
{
if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
return 0;
}