PDA

View Full Version : Help, engine system with keys


uTorrent
09/05/2014, 05:52 PM
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) //Detecting keys
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED(KEY_FIRE))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new str[60], vehicle = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicle,engine,lights,alarm,doo rs,bonnet,boot,objective);
if(engine != 1)
{
SetVehicleParamsEx(vehicle,1,1,alarm,doors,bonnet, boot,objective);
format(str, sizeof(str), "* %s accende il motore del veicolo", GetICName(playerid));
SendNearByMessage(playerid, ACTION_COLOR, str, 10);
}
if (PRESSED (KEY_JUMP))
{
SetVehicleParamsEx(vehicle,0,0,alarm,doors,bonnet, boot,objective);
format(str, sizeof(str), "* %s spegne il motore del veicolo", GetICName(playerid)); /// this is the message that appears the first time I type /engine, even if the vehicle is turned off
SendNearByMessage(playerid, ACTION_COLOR, str, 10);
}
}
}
return 1;
}
As soon as I get on a vehicle and press a button, the vehicle lights.
Then, however, does not turn off in any way.

Faisal_khan
09/05/2014, 06:35 PM
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED(KEY_FIRE))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new str[60], vehicle = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicle,engine,lights,alarm,doo rs,bonnet,boot,objective);
if(engine != 1 && lights !=1)
{
SetVehicleParamsEx(vehicle,1,1,alarm,doors,bonnet, boot,objective);
format(str, sizeof(str), "* %s accende il motore del veicolo", GetICName(playerid));
SendNearByMessage(playerid, ACTION_COLOR, str, 10);
}
}
}
if (PRESSED (KEY_JUMP))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new str[60], vehicle = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicle,engine,lights,alarm,doo rs,bonnet,boot,objective);
if(engine == 1 && lights ==1)
{
SetVehicleParamsEx(vehicle,0,0,alarm,doors,bonnet, boot,objective);
format(str, sizeof(str), "* %s spegne il motore del veicolo", GetICName(playerid)); /// this is the message that appears the first time I type /engine, even if the vehicle is turned off
SendNearByMessage(playerid, ACTION_COLOR, str, 10);
}
}
}
return 1;
}

You were checking the KEY_JUMP inside the KEY_FIRE. And I have added a check for lights also.

uTorrent
12/05/2014, 03:08 PM
Thanks a lot, I solved ...