Csináljunk pár globális változót
new Float:x, Float:y, Float:z;
Ezzel megkíméljük magunkat a sokszoros újrabeírkálástól, egyszerubb lesz a munka. Aztán, leegyszerusíthetjük a scriptünket
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE && IsPlayerInAnyVehicle(playerid)) return GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z); SetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z+0.4);
else if(newkeys == KEY_SPRINT && IsPlayerInAnyVehicle(playerid)) return GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z); SetVehicleVelocity(GetPlayerVehicleID(playerid), x, y+0.4, z);
return 1;
}
Ám, ha csak a speedboostokra használjuk a gombokat, akkor használhatjuk csak egyszer, a callback elején:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
if(newkeys == KEY_FIRE && IsPlayerInAnyVehicle(playerid)) return SetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z+0.4);
else if(newkeys == KEY_SPRINT && IsPlayerInAnyVehicle(playerid)) return SetVehicleVelocity(GetPlayerVehicleID(playerid), x, y+0.4, z);
return 1;
}