Como paso esto a comando - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Como paso esto a comando (
/showthread.php?tid=559181)
Como paso esto a comando -
maicolpao - 21.01.2015
Buscando y buscando encontrй como aumentar la velocidad mбxima a los autos pero tengo un problema xD se activa solo con las teclas creo y el auto corre y corre no tiene velocidad limite bueno lo que quiero hacer es como poner un limite que ya haya usado el comando y pasar las teclas a comandos osea que no se active al presionar la tecla si no al poner el comando
este es el script
Код:
// speedup.pwn by Slice
#include <a_samp>
// The speed will be multiplied by this value
#define SPEED_MULTIPLIER 1.5
// The speed will only be increased if velocity is larger than this value
#define SPEED_THRESHOLD 0.4
new
g_SpeedUpTimer = -1,
Float:g_SpeedThreshold,
PLAYER_SLOTS
;
new const
KEY_VEHICLE_FORWARD = 0b001000,
KEY_VEHICLE_BACKWARD = 0b100000
;
public OnFilterScriptInit() {
PLAYER_SLOTS = GetMaxPlayers();
g_SpeedUpTimer = SetTimer("SpeedUp", 220, true);
// Cache this value for speed
// This can not be done during compilation because of a limitation with float values
g_SpeedThreshold = SPEED_THRESHOLD * SPEED_THRESHOLD;
}
public OnFilterScriptExit() {
KillTimer(g_SpeedUpTimer);
}
forward SpeedUp();
public SpeedUp() {
new
vehicleid,
keys,
Float:vx,
Float:vy,
Float:vz
;
// Loop all players
for (new playerid = 0; playerid < PLAYER_SLOTS; playerid++) {
if (!IsPlayerConnected(playerid))
continue;
// Store the value from GetPlayerVehicleID and continue if it's not 0
if ((vehicleid = GetPlayerVehicleID(playerid))) {
// Get the player keys (vx is used here because we don't need updown/leftright)
GetPlayerKeys(playerid, keys, _:vx, _:vx);
// If KEY_VEHICLE_FORWARD is pressed, but not KEY_VEHICLE_BACKWARD or KEY_HANDBRAKE.
if ((keys & (KEY_VEHICLE_FORWARD | KEY_VEHICLE_BACKWARD | KEY_HANDBRAKE)) == KEY_VEHICLE_FORWARD) {
// Get the velocity
GetVehicleVelocity(vehicleid, vx, vy, vz);
// Don't do anything if the vehicle is going slowly
if (vx * vx + vy * vy < g_SpeedThreshold)
continue;
// Increase the X and Y velocity
vx *= SPEED_MULTIPLIER;
vy *= SPEED_MULTIPLIER;
// Increase the Z velocity to make up for lost gravity, if needed.
if (vz > 0.04 || vz < -0.04)
vz -= 0.020;
// Now set it
SetVehicleVelocity(vehicleid, vx, vy, vz);
}
}
}
}
Respuesta: Como paso esto a comando -
xTexTx - 21.01.2015
No sй si te refieres a esto:
pawn Код:
new
vehicleid,
keys,
Float:vx,
Float:vy,
Float:vz
;
CMD:comando(playerid, params[])
{
GetVehicleVelocity(vehicleid, vx, vy, vz);
if (vx * vx + vy * vy < g_SpeedThreshold)
continue;
vx *= SPEED_MULTIPLIER;
vy *= SPEED_MULTIPLIER;
if (vz > 0.04 || vz < -0.04)
vz -= 0.020;
SetVehicleVelocity(vehicleid, vx, vy, vz);
return 1;
}