Little help with engine script -
barts - 10.01.2014
I want when the engine have lower than 25% health to dont start but it start
PHP код:
MD:engine(playerid, params[])
{
GetVehicleHealth(vehicleid, vhp);
if(vhp < 250.0)
{
SendClientMessage(playerid, COLOR_GREY, "You cant start the vehicle's engine when it is broken.");
return 1;
}
new engine, lights, alarm, doors, bonnet, boot, objective, vehicleid, string[128];
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You are not driving a vehicle.");
if(vehicleid == 509 || vehicleid == 481 || vehicleid == 510) return SendClientMessage(playerid, COLOR_GREY, "Bicycles have no engine.");
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(!engine)
{
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vVVLocked], bonnet, boot, objective);}
{
if(masked[playerid] == 1)
SendNearbyMessage(playerid, 15, "Someone turns the vehicle's engine ON", COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 1;
}
format(string, sizeof(string), "* %s turns the vehicle's engine ON", RPN(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 1;
}
else
{
if(vhp < 250.0)
{
SendClientMessage(playerid, COLOR_GREY, "You cant start the vehicle's engine when it is broken.");
return 1;
}
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vVVLocked], bonnet, boot, objective);}
{
if(masked[playerid] == 1)
SendNearbyMessage(playerid, 15, "Someone turns the vehicle's engine OFF", COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 0;
}
format(string, sizeof(string), "* %s turns the vehicle's engine OFF", RPN(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 0;
}
return 1;
}
Re: Little help with engine script -
IceShock - 10.01.2014
Your code with some notes.
Код:
CMD:engine(playerid, params[])
{
GetVehicleHealth(vehicleid, vhp);
if(vhp < 250.0)
{
SendClientMessage(playerid, COLOR_GREY, "You cant start the vehicle's engine when it is broken.");
return 1;
} // This will cause a lot of warnings
new engine, lights, alarm, doors, bonnet, boot, objective, vehicleid, string[128];
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You are not driving a vehicle.");
if(vehicleid == 509 || vehicleid == 481 || vehicleid == 510) return SendClientMessage(playerid, COLOR_GREY, "Bicycles have no engine.");
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(!engine)
{
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vVVLocked], bonnet, boot, objective);}
{
if(masked[playerid] == 1)
SendNearbyMessage(playerid, 15, "Someone turns the vehicle's engine ON", COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 1;
}
format(string, sizeof(string), "* %s turns the vehicle's engine ON", RPN(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 1;
}
else
{
if(vhp < 250.0)
{
SendClientMessage(playerid, COLOR_GREY, "You cant start the vehicle's engine when it is broken.");
return 1; // This will cause error in the worst case.
}
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vVVLocked], bonnet, boot, objective);}
{
if(masked[playerid] == 1)
SendNearbyMessage(playerid, 15, "Someone turns the vehicle's engine OFF", COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 0;
}
format(string, sizeof(string), "* %s turns the vehicle's engine OFF", RPN(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 0;
}
return 1;
}
Fixed code by me :
Код:
CMD:engine(playerid, params[])
{
new engine, lights, alarm, doors, bonnet, boot, objective, vehicleid, string[128];
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You are not driving a vehicle.");
if(vehicleid == 509 || vehicleid == 481 || vehicleid == 510) return SendClientMessage(playerid, COLOR_GREY, "Bicycles have no engine.");
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(!engine)
{
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
{SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vVVLocked], bonnet, boot, objective);}
{
if(masked[playerid] == 1)
SendNearbyMessage(playerid, 15, "Someone turns the vehicle's engine ON", COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 1;
}
format(string, sizeof(string), "* %s turns the vehicle's engine ON", RPN(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 1;
}
else if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)
{
new Float: f_vHealth;
GetVehicleHealth(vehicleid, f_vHealth);
if(f_vHealth < 350.0) return SendClientMessageEx(playerid, COLOR_YourColor, "Your Message Here");
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
{SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vVVLocked], bonnet, boot, objective);}
{
if(masked[playerid] == 1)
SendNearbyMessage(playerid, 15, "Someone turns the vehicle's engine OFF", COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 0;
}
format(string, sizeof(string), "* %s turns the vehicle's engine OFF", RPN(playerid));
SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
EngineStatus[playerid] = 0;
}
return 1;
}
I hope I helped you if there is some error popping up just reply and I will help you.
Re: Little help with engine script -
barts - 10.01.2014
You bugged it
Re: Little help with engine script -
IceShock - 10.01.2014
Remove this if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET
Re: Little help with engine script -
barts - 10.01.2014
dont work
Re: Little help with engine script -
newbie scripter - 10.01.2014
pawn Код:
new Float:vhp;
if(GetVehicleHealth(playerid, vhp) < 250)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective); // ONLY the engine param was changed (to 0) (OFF)
return 1;
}
// other codes
Re: Little help with engine script -
IceShock - 10.01.2014
Try changing :
Код:
new Float: f_vHealth;
GetVehicleHealth(vehicleid, f_vHealth);
if(f_vHealth < 350.0) return SendClientMessageEx(playerid, COLOR_YourColor, "Your Message Here");
To this :
Код:
GetVehicleHealth(vehicleid, vhp);
if(vhp < 250.0) return SendClientMessageEx(playerid, COLOR_YourColor, "Your Message Here");
Re: Little help with engine script -
barts - 10.01.2014
Dont work