Hey, ich habe vor alle Autos aus dem GameMode rauszunehmen, also die bei OnGameModeInit erstellt werden.
Und dabei sind auch die Cop Autos.
InGame mache ich die dann mit /efa und erstell die so mit so nem dingen, wie Fraktionsautohaus nur mit Befehl, weil es keine CopCars im FrakAutohaus gibt^^
Aber das Problem ist, ich kann nicht im Script abfragen, ob ein Spieler in einem PolizeiAuto ist
Also schon, aber nicht ob er in einem Auto von Fraktion 1 ist.
enum fCar{
fCarid,
fVehid,
Float:fPos[4],
fCol[2],
fFaction[5],
fTuning[14],
fPrice
};
new FactionCars[MAX_FACTION_CARS][fCar];
Habe sowas hier vorliegen.
Und sowas bei /efa
dcmd_efa(playerid,params[]){ //=========Fraktionsautohaus=========//
if(PlayerAdministrator(playerid) >= Fraction_Need_Adminlevel){
new vehid,col1,col2,faction[5];
if(!sscanf(params,"dddd",vehid,col1,col2,faction[0])){
sscanf(params,"dddddddd",vehid,col1,col2,faction[0],faction[1],faction[2],faction[3],faction[4]);
if(vehid < 400 || vehid > 611) return SendClientMessage(playerid,FACTION_COL_GREY,"Vehicle-ID nur von 400 bis 611.");
if(col1 < 0 || col1 > 255) return SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Farbe(1)!");
if(col2 < 0 || col2 > 255) return SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Farbe(2)!");
if(faction[0] && faction[0] <= MAX_FACTIONS){
for(new f;f<5;f++){
if(faction[f] <= 0 || faction[f] > MAX_FACTIONS){
faction[f] = -255;
}
}
for(new fc;fc<sizeof(FactionCars);fc++){
if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611){
FactionCars[fc][fVehid] = vehid;
new Float:fX,Float:fY,Float:fZ,Float:fA;
GetPlayerPos(playerid,fX,fY,fZ),GetPlayerFacingAngle(playerid,fA);
FactionCars[fc][fPos][0] = fX;
FactionCars[fc][fPos][1] = fY;
FactionCars[fc][fPos][2] = fZ;
FactionCars[fc][fPos][3] = fA;
FactionCars[fc][fCol][0] = col1;
FactionCars[fc][fCol][1] = col2;
for(new f;f<5;f++){
FactionCars[fc][fFaction][f] = faction[f];
}
FactionCars[fc][fPrice] = 0;
for(new mods;mods<14;mods++)
FactionCars[fc][fTuning][mods] = 0;
FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich erstellt.");
SendClientMessage(playerid,FACTION_COL_YELLOW,"Vergesse es nicht mit '/fpark' umzuparken.");
PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);
return true;
}
}SendClientMessage(playerid,FACTION_COL_GREY,"Die Maximale Anzahl von Fraktionsfahrzeugen wurde bereits erreicht.");
}else SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Fraktion!");
}else SendClientMessage(playerid,FACTION_COL_GREY,"Benutze: '/efa [Model] [Farbe(1)] [Farbe(2)] [Hauptfraktion]'.");
}else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
return true;
}
Das Problem:
Hatte die Autos im Script mit PolizeiVehs[1] = AddStatic und so weiter erstellt.
Und daher kommt diese Abfrage:
Function IsACopCar(carid)
{
for(new i = 0; i < sizeof(PolizeiVehs); i++)
{
if(carid == PolizeiVehs[i])
{
return 1;
}
}
return 0;
}
Wie frage ich das nun mit FactionCars ab ?
Also if Faction == 1 ist oder so ?
bei /efa muss man VehicleID, Farbe1, Farbe2, FraktionsID angeben.
Und kann ich da irgendwie die ID abfragen.
VORAB:
Bitte sagt nicht, ich soll einfach abfragen, ob er in der ModelID 596(CopCar) ist oder so.
Denn das LSPD hat auch Sultans und soweiter.
MfG
GermanCy