Versuch mal so:
new Motor[MAX_VEHICLES] = 0;
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
if(Motor[GetPlayerVehicleID(playerid)] == 0)
{
SendClientMessage(playerid,COLOR_WHITE,"Starte den Motor mit Taste 2!");
}
}
return 1;
}
und unter OnGameModInite()
ManualVehicleEngineAndLights();
new engine,lights,alarm,doors,bonnet,boot,objective;
for (new i=0; i< MAX_VEHICLES; i++)
{
GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[i] = 0;
}
und das hier
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SUBMISSION)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerVehicleSeat(playerid) == 0)
{
new veh = GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
}
else
{
new engine,lights,alarm,doors,bonnet,boot,objective;
if(Motor[veh] == 0)
{
PlayerInfo[playerid][pMotorAn] = 1;
GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
Motor[veh] = 1;
}
else
{
PlayerInfo[playerid][pMotorAn] = 0;
GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
Motor[veh] = 0;
}
}
}
}
}
e: was ergänzt