new string[256];
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new newcar = GetPlayerVehicleID(playerid);
if(newkeys & KEY_WALK)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerConnected(playerid))
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) {
return 1; }
if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509) {
return 1; }
if(!engineOn[GetPlayerVehicleID(playerid)])
{
PutPlayerInVehicle(playerid, newcar, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s tries to start the engine.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetTimerEx("StartingTheVehicle",3500,0,"i",playerid);
gEngine[playerid] = 1;
return 1;
}
else if(gEngine[playerid] == 1)
{
engineOn[GetPlayerVehicleID(playerid)] = false;
//RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s turns off the engine.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
gEngine[playerid] = 0;
return 1;
}
}
}
}
if(newkeys == KEY_WALK)
if(newkeys & KEY_FIRE)
|
Originally Posted by Mo3
Here are two errors:
Код:
if(newkeys == KEY_WALK) And at the other hand, I dont think there is a key like "KEY_WALK" - go to wiki.sa-mp.com, search for "GetPlayerKeys" and grab the key definition of your desired key. Corrected version, using the Mouse LMB for the engine: Код:
if(newkeys & KEY_FIRE) |
and the KEY_WALK also work(ALT) but when i turn the engine on it won't turn off the engine thats the prob.
|
Originally Posted by Samp wiki ;)
How NOT to check for a key
Lets presume that you want to detect when a player presses their FIRE button, the obvious code would be: if (newkeys == KEY_FIRE) This code may even work in your testing, but it is wrong and your testing is insufficient. Try crouching and pressing fire - your code will instantly stop working. Why? Because "newkeys" is no longer the same as "KEY_FIRE", it is the same as "KEY_FIRE" COMBINED WITH "KEY_CROUCH". |
|
Originally Posted by [HiC
TheKiller ]
Quote:
|

else if(gEngine[playerid] == 1)
{
engineOn[GetPlayerVehicleID(playerid)] = false;
//RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s turns off the engine.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
gEngine[playerid] = 0;
return 1;
}