stock bool:userShift(id){ return ( pev(id,pev_gaitsequence) == 3); }
Gracz trzyma shift
Metoda zwraca czy gracz chodzi na shifcie
stock bool:userShift(id){ return ( pev(id,pev_gaitsequence) == 3); }
No w końcu ktoś to podał ładnie.
Rozumiem ze stock bool zwraca true lub false.
Tak
Niestety, metoda zawodzi, gdy trzymamy shift, przy prędkości 150.0
Wtedy pev_gaitsequence zwraca 4 :/
Masz jakiś pomysł? 😉
Modyfikowałeś szybkość gracza ?
Tak, oczywiście.
Gdy nacisniesz shift to prędkość chodzenia = 0.52 * prędkość maxymalna.
Przy prędkości max 300.0 i wcisnieciu shifta, sekwencja jest = 4 :/
Ponieważ wtedy prędkość jest tak duża że zostaje przełączona animacja. Niestety ta metoda przy zmianie prędkości nie ma już sensu i nie widzę sposobu jej naprawy.
Sprawdź ten kod:
public CmdStart(id)
{
static Float:velocity[3], Float:speed
pev(id, pev_velocity, velocity);
speed = vector_length(velocity)
log_amx(„%0.1f”, speed)
if(speed >= 150.0 && speed < 151)
log_amx("%i", pev(id, pev_gaitsequence))
}