Das ist auch relativ einfach gelöst, müsst nur mal nachdenken
also machen wir es wie folgt:
Unter dem Callback OnPlayerStateChange:
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(playerid), health);
if(health<200)
{
RemovePlayerFromVehicle(playerid);//Kickt den Spieler beim Einsteigen als Fahrer direkt wieder raus!
//Alternativ zum Remove, wäre auch "TogglePlayerControllable(playerid,0);" möglich, oder die etwas bessere Methode, die ich jetzt im Anschluss zeigen werde.
}
}
Wie versprochen die ausführliche Methode:
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(playerid), health);
if(health<200)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid),0,lights,alarm,doors,bonnet,boot,objective);//Wir schalten einfach den Motor ab :D
SendClientMessage(playerid, 0xFFAAFF,"Der Wagen hat einen Motorschaden, sorry Kumpel !");//Ja ich weiß, bei den Texten bin ich kreativ =P
}
}
Notfalls ließe sich diese Funktion auch unter "OnPlayerEnterVehicle" einbinden, wäre wahrscheinlich sogar günstiger