Ryuto Posted July 30, 2019 Share Posted July 30, 2019 ¡Hola! Queria pedirles ayuda con un script que quiero realizar pero la verdad no sé si es posible o no, se trata de evitar la muerte o sea cuando un jugador se le quita toda la vida este quede tirado con una animación y que tarde 20 o 25 segundos para que este se levante nuevamente con muy poca vida. Es algo parecido a como pasa en el PUBG cuando se queda tirando caminando hasta que alguien lo revive. ¿Es posible? si es así, ¿qué códigos de scripting puedo utilizar? Gracias!! Link to comment
DBY Posted August 2, 2019 Share Posted August 2, 2019 Te he hecho un código de ejemplo para que te puedas guiar, únicamente hice la parte en la que el jugador espera a ser revivido para que te encargues del resto y lo puedas hacer a tu gusto. Intenta hacerla y si te surgen dudas, comenta de nuevo en este post. Salu2 local dyingState = nil local delayTime = 10000 -- Aquí se especifica en milisegundos cuánto tiempo tendrá de margen el jugador para ser revivido. addEventHandler( "onClientPlayerDamage", getRootElement( ), -- Con este evento comprobamos cuándo el jugador recibe daño. function( ) if dyingState then -- Comprobar si el jugador está esperando a ser revivido, por defecto el valor de la variable es nulo ( no está esperando a ser revivido ). cancelEvent( ) -- Evitamos que se reciva daño mientra espera a ser revivido. return -- Hacemos un return para que no ejecute el resto del código dentro de la función. end if getElementHealth( localPlayer ) < 5 and cancelEvent( ) then -- Comprobamos si la vida del jugador es menor a 5, y evitamos que reciba más daño para que este no llegue a morir del todo. dyingState = getTickCount( ) -- Asignamos a la variable el tiempo que lleva activo el server, será útil para comparar cuánto tiempo ha pasado desde que cayó al suelo. setElementHealth( localPlayer, 5 ) -- Dejamos al jugador con algo de vida para que no muera. setPedAnimation( localPlayer, "finale", "fin_land_die", delayTime, false ) -- Asignamos una animación para que el personaje caiga y se mantenga en el suelo. end end ) addEventHandler( "onClientRender", getRootElement( ), function( ) if dyingState and ( getTickCount( ) - dyingState ) > delayTime then -- Comprobamos si el jugador espera a ser revivido y la resta entre el tiempo actual y el tiempo que asignamos cuando cayó al suelo es superior a 'delayTime'. dyingState = nil -- El jugador deja de estar a la espera de ser revivido. setElementHealth( localPlayer, 0 ) -- El jugador muere. end end ) 1 Link to comment
Ryuto Posted August 3, 2019 Author Share Posted August 3, 2019 On 02/08/2019 at 08:57, DBY said: Te he hecho un código de ejemplo para que te puedas guiar, únicamente hice la parte en la que el jugador espera a ser revivido para que te encargues del resto y lo puedas hacer a tu gusto. Intenta hacerla y si te surgen dudas, comenta de nuevo en este post. Salu2 local dyingState = nil local delayTime = 10000 -- Aquí se especifica en milisegundos cuánto tiempo tendrá de margen el jugador para ser revivido. addEventHandler( "onClientPlayerDamage", getRootElement( ), -- Con este evento comprobamos cuándo el jugador recibe daño. function( ) if dyingState then -- Comprobar si el jugador está esperando a ser revivido, por defecto el valor de la variable es nulo ( no está esperando a ser revivido ). cancelEvent( ) -- Evitamos que se reciva daño mientra espera a ser revivido. return -- Hacemos un return para que no ejecute el resto del código dentro de la función. end if getElementHealth( localPlayer ) < 5 and cancelEvent( ) then -- Comprobamos si la vida del jugador es menor a 5, y evitamos que reciba más daño para que este no llegue a morir del todo. dyingState = getTickCount( ) -- Asignamos a la variable el tiempo que lleva activo el server, será útil para comparar cuánto tiempo ha pasado desde que cayó al suelo. setElementHealth( localPlayer, 5 ) -- Dejamos al jugador con algo de vida para que no muera. setPedAnimation( localPlayer, "finale", "fin_land_die", delayTime, false ) -- Asignamos una animación para que el personaje caiga y se mantenga en el suelo. end end ) addEventHandler( "onClientRender", getRootElement( ), function( ) if dyingState and ( getTickCount( ) - dyingState ) > delayTime then -- Comprobamos si el jugador espera a ser revivido y la resta entre el tiempo actual y el tiempo que asignamos cuando cayó al suelo es superior a 'delayTime'. dyingState = nil -- El jugador deja de estar a la espera de ser revivido. setElementHealth( localPlayer, 0 ) -- El jugador muere. end end ) Me pude guiar perfectamente de tu ejemplo y me ha funcionado, estoy muy agradecido! 1 Link to comment
primo optimo Posted January 9 Share Posted January 9 me podrias pasar un codigo o explicarme como lo ejecuto, es para que cuando muera espere a ser revivido o si desea que sea teletransportado al hospital con vida dejo mi ds por las dudas optimus.pr1me Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now