Little help with engine script
#1

I want when the engine have lower than 25% health to dont start but it start
PHP код:
MD:engine(playeridparams[])
 {
GetVehicleHealth(vehicleidvhp);
    if(
vhp 250.0)
    {
    
SendClientMessage(playeridCOLOR_GREY"You cant start the vehicle's engine when it is broken.");
    return 
1;
    }
    new 
enginelightsalarmdoorsbonnetbootobjectivevehicleidstring[128];
       if(!
IsPlayerLoggedIn(playerid)) return SendClientMessage(playeridCOLOR_GREY"You need to login first before using any command.");
    if(
GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playeridCOLOR_GREY"You are not driving a vehicle.");
    if(
vehicleid == 509 || vehicleid == 481 || vehicleid == 510) return SendClientMessage(playeridCOLOR_GREY"Bicycles have no engine.");
    
vehicleid GetPlayerVehicleID(playerid);
    
GetVehicleParamsEx(vehicleidenginelightsalarmdoorsbonnetbootobjective);
    if(!
engine)
    {
        
SetVehicleParamsEx(vehicleid1lightsalarmdoorsbonnetbootobjective);
        if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
        {
SetVehicleParamsEx(vehicleid1lightsalarmPlayerInfo[playerid][vLocked], bonnetbootobjective);}
        else if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
        {
SetVehicleParamsEx(vehicleid1lightsalarmPlayerInfo[playerid][vVLocked], bonnetbootobjective);}
         else if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
        {
SetVehicleParamsEx(vehicleid1lightsalarmPlayerInfo[playerid][vVVLocked], bonnetbootobjective);}
        {
         if(
masked[playerid] == 1)
         
SendNearbyMessage(playerid15"Someone turns the vehicle's engine ON"COLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLE);
         
EngineStatus[playerid] = 1;
         }
        
format(stringsizeof(string), "* %s turns the vehicle's engine ON"RPN(playerid));
         
SendNearbyMessage(playerid15stringCOLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLE);
         
EngineStatus[playerid] = 1;
    }
    else
    {
    if(
vhp 250.0)
    {
    
SendClientMessage(playeridCOLOR_GREY"You cant start the vehicle's engine when it is broken.");
    return 
1;
    }
        
SetVehicleParamsEx(vehicleid0lightsalarmdoorsbonnetbootobjective);
        if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
        {
SetVehicleParamsEx(vehicleid0lightsalarmPlayerInfo[playerid][vLocked], bonnetbootobjective);}
        if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
        {
SetVehicleParamsEx(vehicleid0lightsalarmPlayerInfo[playerid][vVLocked], bonnetbootobjective);}
         if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVVeh])
        {
SetVehicleParamsEx(vehicleid0lightsalarmPlayerInfo[playerid][vVVLocked], bonnetbootobjective);}
        {
         if(
masked[playerid] == 1)
         
SendNearbyMessage(playerid15"Someone turns the vehicle's engine OFF"COLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLE);
         
EngineStatus[playerid] = 0;
         }
        
format(stringsizeof(string), "* %s turns the vehicle's engine OFF"RPN(playerid));
         
SendNearbyMessage(playerid15stringCOLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLECOLOR_PURPLE);
         
EngineStatus[playerid] = 0;
    }
    return 
1;

Reply
#2

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.
Reply
#3

You bugged it
Reply
#4

Remove this if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET
Reply
#5

dont work
Reply
#6

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
Reply
#7

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");
Reply
#8

Dont work
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)