/engine not functioning properly -
EAsT-OAK_510 - 08.08.2012
pawn Код:
if(strcmp(cmd, "/engine", true) == 0)
{
if(Logged[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new carid = GetPlayerVehicleID(playerid);
if(Engine[carid] != 1 && PriveCar[playerid] == 0)
{
TogglePlayerControllable(playerid, 1);
Engine[carid] = 1;
speedmetertimer[playerid] = SetTimerEx("SpeedMeter", 150, true, "i", playerid);
speedmeteron[playerid] = 1;
format(string, sizeof(string), "~w~Engine ~g~started");
DisplayTextForPlayer(playerid,string, 3000, 2, 2);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s takes out a key, sliding it in to the ignition, starting the engine of a %s.", sendername, CarName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
ProxDetector(8.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
return 1;
}
else if(Engine[carid] == 1 && PriveCar[playerid] == 0)
{
Engine[carid] = 0;
KillTimer(speedmetertimer[playerid]);
speedmeteron[playerid] = 0;
HideSpeedMeter(playerid);
format(string, sizeof(string), "~w~Engine ~r~stopped");
DisplayTextForPlayer(playerid,string, 3000, 2, 2);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s slides out the key, stopping the engine of the %s.", sendername, CarName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
ProxDetector(8.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
return 1;
}
}
}
}
When I try turning off the engine it doesn't work, you are still able to drive it.
What did I do wrong?
Re: /engine not functioning properly -
Jstylezzz - 08.08.2012
You have to set the engine params to off, and then use SetVehicleParams to turn it off..
https://sampwiki.blast.hk/wiki/SetVehicleParamsEx
Re: /engine not functioning properly -
EAsT-OAK_510 - 08.08.2012
** Delete **
Re: /engine not functioning properly -
EAsT-OAK_510 - 08.08.2012
Okay so I did this:
pawn Код:
if(strcmp(cmd, "/engine", true) == 0)
{
if(Logged[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(vehicleid == 509 || vehicleid == 481 || vehicleid == 510)
{
SendClientMessage(playerid, COLOR_WHITE2, "You cannot do this on a Bicycle!");
return 1;
}
new carid = GetPlayerVehicleID(playerid);
if(Engine[carid] != 1 && PriveCar[playerid] == 0)
{
Engine[playerid] = 1;
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,1,lights,alarm,doors,bonnet,boot,objective);
speedmetertimer[playerid] = SetTimerEx("SpeedMeter", 150, true, "i", playerid);
speedmeteron[playerid] = 1;
format(string, sizeof(string), "~w~Engine ~g~started");
DisplayTextForPlayer(playerid,string, 3000, 2, 2);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s takes out a key, sliding it in to the ignition, starting the engine of a %s.", sendername, CarName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
ProxDetector(8.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
return 1;
}
else if(Engine[carid] == 1 && PriveCar[playerid] == 0)
{
TogglePlayerControllable(playerid, 0);
Engine[carid] = 0;
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);
TogglePlayerControllable(playerid, 0);
KillTimer(speedmetertimer[playerid]);
speedmeteron[playerid] = 0;
HideSpeedMeter(playerid);
format(string, sizeof(string), "~w~Engine ~r~stopped");
DisplayTextForPlayer(playerid,string, 3000, 2, 2);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s slides out the key, stopping the engine of the %s.", sendername, CarName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
ProxDetector(8.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
return 1;
}
}
}
}
I compiled and got these warnings:
Код:
C:\Documents and Settings\Administrator\Desktop\New Folder\gamemodes\Limitless.pwn(5098) : warning 219: local variable "lights" shadows a variable at a preceding level
C:\Documents and Settings\Administrator\Desktop\New Folder\gamemodes\Limitless.pwn(5098) : warning 219: local variable "doors" shadows a variable at a preceding level
C:\Documents and Settings\Administrator\Desktop\New Folder\gamemodes\Limitless.pwn(5116) : warning 219: local variable "lights" shadows a variable at a preceding level
C:\Documents and Settings\Administrator\Desktop\New Folder\gamemodes\Limitless.pwn(5116) : warning 219: local variable "doors" shadows a variable at a preceding level
Re: /engine not functioning properly -
Jstylezzz - 08.08.2012
it means, that somewhere inside your script, most likely outside of any callback, those variables are already defined.
this means, new lights; is already somewhere.
what is suggest, is delete lights and doors from your new thing.
so it will be: new engine,alarm,bonnet,boot,objective;
Re: /engine not functioning properly -
[MM]RoXoR[FS] - 08.08.2012
You may have a global
Код:
new engine,lights,alarm,doors,bonnet,boot,objective;
Search for it and then remove it.
Re: /engine not functioning properly -
EAsT-OAK_510 - 08.08.2012
I actually did have
So I renamed them instead and the warnings went away. Thanks guys.