Hey Leute,ich hab da eine kleine Denk-Lücke...und zwar möchte ich bei OnPlayerStateChange abfragen ob der User in dem Auto wo er sitzt,auch den Schlüssel hat,und wenn er den nicht hat,soll direkt abgeragt werden,ob er in einem Frak/Job Auto sitzt.Und wenn dies nicht der Fall ist,soll er aus dem Auto steigen.(Autom.)
Aber wie soll ich das mit dem ELSE/IF/IF/ELSE abfragen?
Hier der ganze Code:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
new vehicle = GetPlayerVehicleID(playerid);
if(dInfo[playerid][VehicleID] == vehicle) //HIER DIE ABFRAGE FÜR DAS CAR-SYSTEM OB ER IN EINEM PRIVATEN AUTO SITZT,UND WENN JA,DEN SCHLÜSSEL HAT
{
//Autohaus
new vID = GetPlayerVehicleID(playerid); //Und hier denn alle anderen Autos von Autohäusern und Jobs,Fraks usw.
for(new i=0; i<sizeof(ahCars); i++)
{
if(ahCars[i][id_x]!=vID)continue;
//Verkauf
SetPVarInt(playerid,"BuyCarID",i);
new string[256];
format(string,sizeof(string),"Möchtest du das Fahrzeug für %i$ kaufen?",ahCars[i][c_preis]);
ShowPlayerDialog(playerid,DIALOG_AUTOHAUS1,DIALOG_STYLE_MSGBOX,"Autohaus",string,"Kaufen","Abbrechen");
break;
}
if(GetPVarInt(playerid,"Autoschein")==0)
{
if(IstInFahrschule[playerid]==1)
{
FahrschulCP[playerid]=1;
SetPlayerCheckpoint(playerid,1411.4128,-1648.6174,12.9456,4.0);
}
else
{
for(new i=0; i<sizeof(spawncar); i++)
{
if(GetPlayerVehicleID(playerid)==spawncar[i])
{
if(DarfRollerNutzen[playerid]==0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,gelb,"Du musst dir erst einen Roller mieten.");
}
return 0;
}
}
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,gelb,"Du hast keinen Autoschein.");
}
}
for(new i=0; i<sizeof(fahrschulcar); i++)
{
if(GetPlayerVehicleID(playerid)==fahrschulcar[i])
{
if(IstInFahrschule[playerid]==0)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
return 1;
}
}
}
for(new i=0; i<sizeof(lspdcar); i++)
{
if(GetPlayerVehicleID(playerid)==lspdcar[i])
{
if(GetPVarInt(playerid,"Fraktion")!=1)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
}
}
}
for(new i=0; i<sizeof(newscar); i++)
{
if(GetPlayerVehicleID(playerid)==newscar[i])
{
if(GetPVarInt(playerid,"Fraktion")!=2)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
}
}
}
for(new i=0; i<sizeof(yakuzacar); i++)
{
if(GetPlayerVehicleID(playerid)==yakuzacar[i])
{
if(GetPVarInt(playerid,"Fraktion")!=3)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
}
}
}
for(new i=0; i<sizeof(buscar); i++)
{
if(GetPlayerVehicleID(playerid)==buscar[i])
{
if(GetPVarInt(playerid,"Job")!=1)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,rot,"Du darfst dieses Fahrzeug nicht fahren.");
}
}
}
for(new i=0; i<sizeof(spawncar); i++)
{
if(GetPlayerVehicleID(playerid)==spawncar[i])
{
if(DarfRollerNutzen[playerid]==1)
{
return 1;
}
else
{
SendClientMessage(playerid,rot,"** Du musst dir erst einen Roller mieten.");
RemovePlayerFromVehicle(playerid);
}
}
}
for(new i=0; i<sizeof(kart); i++)
{
if(GetPlayerVehicleID(playerid)==kart[i])
{
if(IstInKartRennen[playerid]==1)
{
return 1;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,grau,"** Du musst dir erst ein Ticket kaufen.");
}
}
}
for(new i; i<sizeof(pilotcar); i++)
{
if(GetPlayerVehicleID(playerid)==pilotcar[i])
{
if(GetPVarInt(playerid,"Job")==2)
{
if(GetPlayerVehicleID(playerid)==pilotcar[0])
{
if(GetPVarInt(playerid,"Pilotrespekt")==180)
{
return 1;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,rot,"**Die AT-400 ist erst ab Pilot-Respekt 180.");
return 1;
}
}
if(GetPlayerVehicleID(playerid)==pilotcar[26])
{
if(GetPVarInt(playerid,"Pilotrespekt")==180)
{
return 1;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,rot,"**Die AT-400 ist erst ab Pilot-Respekt 180.");
return 1;
}
}
//Nevade
if(GetPlayerVehicleID(playerid)==pilotcar[1])
{
if(GetPVarInt(playerid,"Pilotrespekt")==90)
{
return 1;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,rot,"**Die Nevada ist erst ab Pilot-Respekt 90.");
return 1;
}
}
if(GetPlayerVehicleID(playerid)==pilotcar[2])
{
if(GetPVarInt(playerid,"Pilotrespekt")==90)
{
return 1;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,rot,"**Die Nevada ist erst ab Pilot-Respekt 90.");
return 1;
}
}
if(GetPlayerVehicleID(playerid)==pilotcar[3])
{
if(GetPVarInt(playerid,"Pilotrespekt")==90)
{
return 1;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,rot,"**Die Nevada ist erst ab Pilot-Respekt 90.");
return 1;
}
}
SendClientMessage(playerid,gelb,"Gib /duty ein.");
return 1;
}
else
{
SendClientMessage(playerid,rot,"** Du darfst dieses Flugzeug nicht benutzen.");
RemovePlayerFromVehicle(playerid);
}
}
}
} //
else //Hier wenn er in einem Privaten Car sitzt,der "ELSE" teil.
{
RemovePlayerFromVehicle(playerid);
}
}
return 1;
}
Aber es ist nicht so wie es sein soll,entwieder geht garnicht einsteigen,oder nur bei dem Privaten Car und nicht beim Frak-Car.
Und ich weiß nicht wie es ist,wenn ich als Zivilist in ein Frak-Car einsteige,ob ich rausgeschmissen werde oder drin sitzen bleiben kann..