Hey Leute,
will mir einen Motorschaden bauen.
Das heißt wenn das Fahrzeug nurnoch so viel HP hat das es dann stehen bleibt so wie wenn das Benzin aus ist.
Nur wie?
Das ist mein Code:
[pwn]public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat) // Neue 0.3c R3/4/5 Funktion.
{
PreventExplosion (vehicleid);
return 1;
}
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new Float:health;
GetVehicleHealth(vehicleid, health);
if(health >250)
{
for(new i=0;i<GetMaxPlayers();i++)
//Cartest
{
if(IsPlayerInVehicle(i,vehicleid))
{
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);
SendClientMessage(i,ROT,"Dein Fahrzeug hat einen Motorschaden, ruf mit /service Ordnungsamt einen Beamten um den Schaden beheben zu lassen!");
SetVehicleHealth (vehicleid, 389.0);
}
}
}
return 1;
}[/pwn]
Will aber auch nicht das man dan den Motor wieder Anschalten kann...
[pwn]if(strcmp(cmd, "/motor",true) == 0)
{
if((GetPlayerVehicleID(playerid)!=INVALID_VEHICLE_ID) && (GetPlayerState(playerid)==PLAYER_STATE_DRIVER))//Erstmal abchecken, ob er überhaupt in einem Fahrzeug sitzt "UND" Fahrer ist!
{
if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
{
SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}Fahrräder haben {FF0000}keinen{FFFFFF} Motor ...");
return 1;
}
new engine,lights,alarm,doors,bonnet,boot,objective;
new vid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == VEHICLE_PARAMS_ON)
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
Motor[vid] = false;//Keine Ahnung wo man das noch weitergehend verwenden müsste; finde ich persönlich jetzt unnötig
TextDrawSetString(tMotor[playerid], "[~r~Motor~w~]");
}
else
{
new Float:health;
GetVehicleHealth(vid,health);
if(health<389.0)
{
return SendClientMessage(playerid,0xFFAAFF,"Dein Fahrzeug hat einen Motorschaden, ruf mit /service Ordnungsamt einen Beamten um den Schaden beheben zu lassen!");
}
else
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
Motor[vid] = true;//Hier ebenfalls =)
TextDrawSetString(tMotor[playerid], "[~g~Motor~w~]");
}
}
}
return 1;
}[/pwn]
würde das so Funktionieren?
Mfg
Moritz
will mir einen Motorschaden bauen.
Das heißt wenn das Fahrzeug nurnoch so viel HP hat das es dann stehen bleibt so wie wenn das Benzin aus ist.
Nur wie?
Das ist mein Code:
[pwn]public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat) // Neue 0.3c R3/4/5 Funktion.
{
PreventExplosion (vehicleid);
return 1;
}
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new Float:health;
GetVehicleHealth(vehicleid, health);
if(health >250)
{
for(new i=0;i<GetMaxPlayers();i++)
//Cartest
{
if(IsPlayerInVehicle(i,vehicleid))
{
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);
SendClientMessage(i,ROT,"Dein Fahrzeug hat einen Motorschaden, ruf mit /service Ordnungsamt einen Beamten um den Schaden beheben zu lassen!");
SetVehicleHealth (vehicleid, 389.0);
}
}
}
return 1;
}[/pwn]
Will aber auch nicht das man dan den Motor wieder Anschalten kann...
[pwn]if(strcmp(cmd, "/motor",true) == 0)
{
if((GetPlayerVehicleID(playerid)!=INVALID_VEHICLE_ID) && (GetPlayerState(playerid)==PLAYER_STATE_DRIVER))//Erstmal abchecken, ob er überhaupt in einem Fahrzeug sitzt "UND" Fahrer ist!
{
if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
{
SendClientMessage(playerid, COLOR_GRAD1, "{FFFFFF}Fahrräder haben {FF0000}keinen{FFFFFF} Motor ...");
return 1;
}
new engine,lights,alarm,doors,bonnet,boot,objective;
new vid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == VEHICLE_PARAMS_ON)
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
Motor[vid] = false;//Keine Ahnung wo man das noch weitergehend verwenden müsste; finde ich persönlich jetzt unnötig

TextDrawSetString(tMotor[playerid], "[~r~Motor~w~]");
}
else
{
new Float:health;
GetVehicleHealth(vid,health);
if(health<389.0)
{
return SendClientMessage(playerid,0xFFAAFF,"Dein Fahrzeug hat einen Motorschaden, ruf mit /service Ordnungsamt einen Beamten um den Schaden beheben zu lassen!");
}
else
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
Motor[vid] = true;//Hier ebenfalls =)
TextDrawSetString(tMotor[playerid], "[~g~Motor~w~]");
}
}
}
return 1;
}[/pwn]
würde das so Funktionieren?
Mfg
Moritz