їComo detecto si un jugador esta corriendo/saltando?
#1

Que tal,

Como indica el titulo, necesito saber con que codigo y en que callback puedo detectar que si un jugador esta corriendo o saltando, este haga X cosas.

Para que se hagan la idea, quiero hacer un sistema de piernas fracturadas( Osea, quiero que si el jugador tiene la pierna rota, no pueda correr o caminar haciendo otra animacion o demas)

Gracias!
Reply
#2

Puedes detectar la animaciуn de correr con GetPlayerAnimationIndex.

Extrae la animaciуn de correr y las de saltar (creo que son 3 de esta ъltima - cuando salta, estб en el aire y "aterriza).
Reply
#3

https://sampwiki.blast.hk/wiki/Animations
https://sampwiki.blast.hk/wiki/ApplyAnimation

animlib PED

animname :

Код:
//animaciones correr
run_1armed
run_armed
run_civi
run_csaw
run_fat
run_fatold
run_gang1
run_left
run_old
run_player
run_right
Код:
// animaciones saltar
JUMP_glide
JUMP_land
JUMP_launch_R
https://sampwiki.blast.hk/wiki/OnPlayerTakeDamage

https://sampwiki.blast.hk/wiki/Body_Parts
Reply
#4

Код:
	if(Stat[playerid][PiernaI] != 0 || Stat[playerid][PiernaD] != 0)//Mis variables de heridas. (0 representa que no esta herido, 1 y en adelante representa que si lo esta.
	{
		if(GetPlayerState(playerid)==PLAYER_STATE_ONFOOT)//Seria para evitar que si el jugador esta en un vehiculo esto no suceda(Se moveria mur raro dentro del mismo...)
		{
    		if(GetPlayerAnimationIndex(playerid))
    		{
    	    	new animlib[32];
       		 	new animname[32];
        		GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
          		if(!strcmp(animname, "run_1armed", true) && !strcmp(animname, "run_armed", true))//їY asi con el resto?
				{
				    ApplyAnimation(playerid,"PED","FALL_collapse",4.1,0,1,1,0,0);
				}
    		}
		}
	}
їAsн?, no tuve resultado InGame. Seguia corriendo como si nada el usuario.

PD: El uso de UsePlayerPedAnims tiene algo que ver?.

Gracias nuevamente.
Reply
#5

Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if (PRESSED(KEY_SPRINT) || PRESSED(KEY_JUMP))
	{
		if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
		{
		
		}
	}
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)