Yet more messy code.
This code will provide auto NOS, toggled by /nos.
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_FIRE && GetPlayerState(playerid) == 2 && nos[playerid] == 1 && !IsPlayerInInvalidNosVehicle(playerid))
{
AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
}
return 1;
}
Command to toggle
pawn Код:
!if(nos[playerid])
{
nos[playerid] = 1;
SendClientMessage(playerid, COLOR_GREEN,"Auto NOS Enabled!");
}
else
{
nos[playerid] = 0;
SendClientMessage(playerid, COLOR_RED,"Auto NOS Disabled!");
if(IsPlayerInAnyVehicle(playerid)) RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1010); //Only in 0.3
}
Then finally, the invalid nos vehicle function:
pawn Код:
new InvalidNosVehicles[52] =
{
581,523,462,521,463,522,461,448,468,586,417,425,469,487,512,520,563,593,
509,481,510,472,473,493,520,595,484,430,453,432,476,497,513,533,577,
452,446,447,454,590,569,537,538,570,449,519,460,488,511,519,548,592
};
IsPlayerInInvalidNosVehicle(playerid)
{
for(new i = 0; i < 52; i++)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == InvalidNosVehicles[i]) return 1;
}
return 0;
}