Hallo liebe Breadfish Community,
da ich gesehen habe das einige ein Problem mit Fraktionscars haben mache ich ein Tuturial
Ganz oben im Script fügen wir das ein:
new Beispielcar[eure Autoanzahl];
Als nächstes fügen wir unter OnGameModeInit das ein
Beispielcar[0]=AddStaticVehicle(CAR ID,X,Z,Y,COLOR ID,COLOR ID,SPAWN ZEIT);
Ihr müsst es dann fortsetzen also so:
Beispielcar[0]=AddStaticVehicle(CAR ID,X,Z,Y,COLOR ID,COLOR ID,SPAWN ZEIT);//Bei dem 1. Auto muss immer eine [0] stehen und bei dem 2. Auto mit [1] und immer so weiter. Also ich meine am Anfang Beispielcar[0]=.
Beispielcar[1]=AddStaticVehicle(482,-2197.7168,1008.2476,80.1252,268.3861,166,166);//Dies ist ein Beispiel wie ihr die CAR ID,X,Z,Y,COLOR ID,SPAWN ZEIT einsetzt
und halt immer weiter mit 2,3 etc.
Als nächstes fügen wir unter OnPlayerStateChange das ein:
if(newstate==PLAYER_STATE_DRIVER)
{
for(new i=0; i<sizeof(Beispielcar); i++)
{
if(GetPlayerVehicleID(playerid)==Beispielcar[i])
{
if(GetPVarInt(playerid,"Fraktion")!=fraktionsid)//eure Fraktionsids findet ihr ganz oben im Script wo ihr eure Fraktionsnamen definet habt. Also #define fraktname1 "Beispiel".
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du gehörst nicht zur Beispiel Fraktion.");
}
}
}
}
Das mit GetPVarInt macht ihr so:
und zwar erstellt ihr einen stock ich nenne den stock SpielerSpeichern(Das müsst ihr nicht machen wenn ihr es schon habt)
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);//Ihr müsst einen Ordner im Scriptfiles Ordner erstellen und der muss Accounts heißen
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));//Ihr könnt auch andere Variablen erstellen wie Level
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
}
return 1;
}
Dann müsst ihr bei OnPlayerDisConnect das einfügen:(Das gehört auch zum stock)
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
return 1;
}
Ich hoffe das Tuturial ist verständlich!(denn es ist mein erstes Tutorial)
Ich nehme gerne negative und positive Kritik an.
Pastbin: http://pastebin.com/kcPD8HSj
MFG ThEDoG
//EDIT: Hab eine Erklärung für GetPVarInt eingefügt.