Hey wenn ich auf meinem Testserver /stats drücke dann steht bei Fraktion Trazer (mein name) obwohl da eine Fraktion stehen sollte beim Level 5 obwohl das das Adminlevel ist.... Und wenn ich bei einem Krankenwagen einsteige steht da jetz 3x ich habe keine Schlüssel und bei dem Taxi kann ich einsteigen obwohl ich net in der Frak bin.
Hier der Code:
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,"logged in",1);
SetPVarInt(playerid,"fahrschein",dini_Int(Spielerdatei,"fahrschein"));
}
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"logged in")==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,"Zivilist",GetPVarInt(playerid,"Zivilist"));
dini_IntSet(Spielerdatei,"fahrschein",GetPVarInt(playerid,"fahrschein"));
}
return 1;
}
und die Stats:if(strcmp(cmdtext,"/stats",true)==0)
{
new string[128];
new fraktname[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{fraktname="Keine";}
case 1:{fraktname="LSPD";}
case 2:{fraktname="Grove Street";}
case 3:{fraktname="Medic";}
case 4:{fraktname="Oamt";}
case 5:{fraktname="Taxi";}
case 6:{fraktname="Fahrschule";}
case 7:{fraktname="Red Soldier";}
case 8:{fraktname="Yakuza";}
case 9:{fraktname="Feuerwehr";}
}
//1-Reihe
format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %s]",Spielername(playerid),GetPVarInt(playerid,"Adminlevel"),GetPlayerScore(playerid),fraktname);
SendClientMessage(playerid,ROT,string);
//2-Reihe
return 1;
}
}
Und dann noch alle die Fraksachen für das Auto falls man net in der Frak ist:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==416)//Krankenwagen
{
if(GetPVarInt(playerid,"Fraktion")!=3)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
{
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==596)//Copwagen
{
if(GetPVarInt(playerid,"Fraktion")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
{
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==599)//ranch
{
if(GetPVarInt(playerid,"Fraktion")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==601)//copspezial
{
if(GetPVarInt(playerid,"Fraktion")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==427)//fbi
{
if(GetPVarInt(playerid,"Fraktion")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==523)//Copbike
{
if(GetPVarInt(playerid,"Fraktion")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==497)//Copheli
{
if(GetPVarInt(playerid,"Fraktion")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==416)//Krankenwagen
{
if(GetPVarInt(playerid,"Fraktion")!=3)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
if(newstate==PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid))==416)//Krankenwagen
{
if(GetPVarInt(playerid,"Fraktion")!=3)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
}
}
}
}
}
}
}
}
}
}
}
}