Ryuto Posted November 1, 2015 Share Posted November 1, 2015 Buenas gente del forum, hoy tengo algunas dudas de como hacer que cuando muera el ped, aparezca de nuevo luego de que pase 15 segundos, y que se activara sin usar el comando también como aumentar la vida del ped, aquí les dejo mi lua. local tiempo = 15000 function makeAPed ( thePlayer, command, skin ) if ( getTickCount ( ) - tiempo > 10000 ) then tiempo = getTickCount ( ) setTimer ( function ( ) local x, y, z = getElementPosition ( thePlayer ) local rot = getElementRotation ( thePlayer ) local team = getPlayerTeam ( thePlayer ) local myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, ( 226 ), 0, 0, akatsuki, 4, "fire", true ) setTimer ( createElement, 5100, 1, myped ) end ,3000, 1 ) end end addCommandHandler ( "misterio",makeAPed ) Muchas gracias por leer este post Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 Puedes usar isPedDead para comprobar si el ped está muerto o no y al estar muerto, hacer una función de creación que tenga un delay de 15 segundos o los que quieras poner. PD: Para un delay de 15 segundos con la función setTimer puedes usar el siguiente ejemplo (es lo que uso siempre cuando tengo que hacer un delay): setTimer ( function ( ) -- Aquí la función end, 15000, 1) O lo que usaste tú solo que cambiando el valor por 15 segundos. setTimer ( createElement, 15000, 1, myped ) Link to comment
Enargy, Posted November 1, 2015 Share Posted November 1, 2015 local myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, ( 226 ), 0, 0, akatsuki, 4, "fire", true ) setTimer ( createElement, 5100, 1, myped ) ¿? Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 Puedes usar isPedDead para comprobar si el ped está muerto o no y al estar muerto, hacer una función de creación que tenga un delay de 15 segundos o los que quieras poner.PD: Para un delay de 15 segundos con la función setTimer puedes usar el siguiente ejemplo (es lo que uso siempre cuando tengo que hacer un delay): setTimer ( function ( ) -- Aquí la función end, 15000, 1) O lo que usaste tú solo que cambiando el valor por 15 segundos. setTimer ( createElement, 15000, 1, myped ) Gracias por la ayuda pero.. no logre entender mucho, intente hacerlo pero aun así no pude hacer que cuando muera aparezca de nuevo a los 15 segundos, ¿hay alguna otra forma de hacerlo? Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 Puedes usar isPedDead para comprobar si el ped está muerto o no y al estar muerto, hacer una función de creación que tenga un delay de 15 segundos o los que quieras poner.PD: Para un delay de 15 segundos con la función setTimer puedes usar el siguiente ejemplo (es lo que uso siempre cuando tengo que hacer un delay): setTimer ( function ( ) -- Aquí la función end, 15000, 1) O lo que usaste tú solo que cambiando el valor por 15 segundos. setTimer ( createElement, 15000, 1, myped ) Gracias por la ayuda pero.. no logre entender mucho, intente hacerlo pero aun así no pude hacer que cuando muera aparezca de nuevo a los 15 segundos, ¿hay alguna otra forma de hacerlo? Puedes usar el getTickCount pero creo que es mejor el setTimer para hacer lo que quieres hacer. Lo que debes hacer es comprobar si el ped está vivo o no con el isPedDead, usando una condicional. Ahora mismo no te puedo pasar un buen ejemplo porque estoy ocupado en otra cosillas pero espero que esto te sirva un poco como orientación: if ( isPedDead ( condicional del ped ) ) then setTimer ( function ( ) -- Tu función de spawn del ped end, 15000, 1) end Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 Puedes usar isPedDead para comprobar si el ped está muerto o no y al estar muerto, hacer una función de creación que tenga un delay de 15 segundos o los que quieras poner.PD: Para un delay de 15 segundos con la función setTimer puedes usar el siguiente ejemplo (es lo que uso siempre cuando tengo que hacer un delay): setTimer ( function ( ) -- Aquí la función end, 15000, 1) O lo que usaste tú solo que cambiando el valor por 15 segundos. setTimer ( createElement, 15000, 1, myped ) Gracias por la ayuda pero.. no logre entender mucho, intente hacerlo pero aun así no pude hacer que cuando muera aparezca de nuevo a los 15 segundos, ¿hay alguna otra forma de hacerlo? Puedes usar el getTickCount pero creo que es mejor el setTimer para hacer lo que quieres hacer. Lo que debes hacer es comprobar si el ped está vivo o no con el isPedDead, usando una condicional. Ahora mismo no te puedo pasar un buen ejemplo porque estoy ocupado en otra cosillas pero espero que esto te sirva un poco como orientación: if ( isPedDead ( condicional del ped ) ) then setTimer ( function ( ) -- Tu función de spawn del ped end, 15000, 1) end ¿Quedaría algo como esto?, disculpa si tiene algún error, no sé muy bien como quedaría acomodado. function makeAPed ( thePlayer, command, skin ) if ( getTickCount ( ) - tiempo > 10000 ) then tiempo = getTickCount ( ) if ( isPedDead ( thePlayer ) ) then setTimer ( function ( ) local x, y, z = getElementPosition ( thePlayer ) local rot = getElementRotation ( thePlayer ) local team = getPlayerTeam ( thePlayer ) local myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, ( 226 ), 0, 0, akatsuki, 4, "fire", true ) setTimer ( createElement, 15000, 1, myped ) end, 15000, 1) end end end addEventHandler ( "onResourceStart", getRootElement(), makeAPed ) Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 Pero, ¿quieres que cuando muera el jugador aparezca un zombie o cuando muera el zombie aparezca otro después de 15 segundos? Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 Pero, ¿quieres que cuando muera el jugador aparezca un zombie o cuando muera el zombie aparezca otro después de 15 segundos? Disculpa por mi error jaja, cuando muera el zombie aparezca luego de los 15 segundos. Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 Eso lo debe traer el propio script por defecto o me tienes que dar una variable que coja al ped, en caso contrario pues no te puedo ayudar. Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 Eso lo debe traer el propio script por defecto o me tienes que dar una variable que coja al ped, en caso contrario pues no te puedo ayudar. El script anteriormente era poner un comando y aparecerá el zombie y solo aparezca cuando se ponga ese comando, pero ahora busco que se active cada vez que el script se active, y cuando muera aparezca en la misma ubicación, luego 15 segundos muerto. Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 Eso lo debe traer el propio script por defecto o me tienes que dar una variable que coja al ped, en caso contrario pues no te puedo ayudar. El script anteriormente era poner un comando y aparecerá el zombie y solo aparezca cuando se ponga ese comando, pero ahora busco que se active cada vez que el script se active, y cuando muera aparezca en la misma ubicación, luego 15 segundos muerto. Pasa el del comando Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 Eso lo debe traer el propio script por defecto o me tienes que dar una variable que coja al ped, en caso contrario pues no te puedo ayudar. El script anteriormente era poner un comando y aparecerá el zombie y solo aparezca cuando se ponga ese comando, pero ahora busco que se active cada vez que el script se active, y cuando muera aparezca en la misma ubicación, luego 15 segundos muerto. Pasa el del comando El del comando es cuando inicie el post Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 No estoy muy seguro pero creo que esto debería funcionar: addEventHandler ( "onResourceStart", resourceRoot, function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, ( 226 ), 0, 0, akatsuki, 4, "fire", true ) end ) -- Comprobación para ver si está muerto o no setTimer ( function ( ) if isPedDead ( myped ) then setTimer ( function ( ) makeAPed ( ) outputChatBox ( "* Se ha creado un nuevo ped", 0, 255, 120 ) end, 15000, 1) end end, 10000, 0) Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 No estoy muy seguro pero creo que esto debería funcionar: addEventHandler ( "onResourceStart", resourceRoot, function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, ( 226 ), 0, 0, akatsuki, 4, "fire", true ) end ) -- Comprobación para ver si está muerto o no setTimer ( function ( ) if isPedDead ( myped ) then setTimer ( function ( ) makeAPed ( ) outputChatBox ( "* Se ha creado un nuevo ped", 0, 255, 120 ) end, 15000, 1) end end, 10000, 0) Aparecieron dos errores. "SCRIPT ERROR: Misterio\misterio.lua:3: ´(´ expected near ´makeAPed´" "ERROR: Loading script failed: Misterio\misterio:3: ´(´ expected near ´makeAPed´ Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 Cambia el resourceRoot por getRootElement ( ) Aunque realmente no creo que ese sea el problema. Link to comment
DBY Posted November 1, 2015 Share Posted November 1, 2015 function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, ( 226 ), 0, 0, akatsuki, 4, "fire", true ) end addEventHandler ( "onResourceStart", resourceRoot, makeAPed) -- Comprobación para ver si está muerto o no setTimer ( function ( ) if isPedDead ( myped ) then setTimer ( function ( ) makeAPed ( ) outputChatBox ( "* Se ha creado un nuevo ped", 0, 255, 120 ) end, 15000, 1) end end, 10000, 0) Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 Cambia el resourceRoot por getRootElement ( ) Aunque realmente no creo que ese sea el problema. Todavía sigue el mismo error Link to comment
DBY Posted November 1, 2015 Share Posted November 1, 2015 Cambia el resourceRoot por getRootElement ( ) Aunque realmente no creo que ese sea el problema. Todavía sigue el mismo error Obviamente ese no era el error. addEventHandler("blablabla", root, function asa() end )-- El error es dado porque la función ya está definida al estar dentro del addEventHandler y no se puede nombrar. Si lo que quieres es utilizar una única vez la función cuando un evento se ejecute, utiliza el método: addEventHandler("blablabla", root, function () end ) Si debes usarla más veces, utiliza addEventHandler("balbalba", root, NOMBRE DE LA FUNCIÓN) Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, ( 226 ), 0, 0, akatsuki, 4, "fire", true ) end addEventHandler ( "onResourceStart", resourceRoot, makeAPed) -- Comprobación para ver si está muerto o no setTimer ( function ( ) if isPedDead ( myped ) then setTimer ( function ( ) makeAPed ( ) outputChatBox ( "* Se ha creado un nuevo ped", 0, 255, 120 ) end, 15000, 1) end end, 10000, 0) El error ya desapareció, pero aun cuando muere el zombie, no aparece a los 15 segundos, también aparece un error en el console, es este. "WARNING: Misterio\misterio.lua:10: Bad argument @ ´isPedDead´ [Expected ped at argument 1]" Link to comment
Razor64 Posted November 1, 2015 Share Posted November 1, 2015 function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, 226 , 0, 0, akatsuki, 4, "fire", true ) end addEventHandler ( "onResourceStart", resourceRoot, makeAPed) addEvent("onBotWasted", true) addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) setTimer(outputChatBox, 15*1000, 1, "* Se ha creado un nuevo ped", root, 0, 255, 120 ) setTimer(makeAPed, 15*1000, 1) end) Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, 226 , 0, 0, akatsuki, 4, "fire", true ) end addEventHandler ( "onResourceStart", resourceRoot, makeAPed) addEvent("onBotWasted", true) addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) setTimer(outputChatBox, 15*1000, 1, "* Se ha creado un nuevo ped", root, 0, 255, 120 ) setTimer(makeAPed, 15*1000, 1) end) Muchas gracias ya se soluciono, ya aparece el zombie luego de los 15 segundos , tengo una ultima duda, ¿cómo puedo hacer para subirle la vida al ped? Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, 226 , 0, 0, akatsuki, 4, "fire", true ) end addEventHandler ( "onResourceStart", resourceRoot, makeAPed) addEvent("onBotWasted", true) addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) setTimer(outputChatBox, 15*1000, 1, "* Se ha creado un nuevo ped", root, 0, 255, 120 ) setTimer(makeAPed, 15*1000, 1) end) Muchas gracias ya se soluciono, ya aparece el zombie luego de los 15 segundos , tengo una ultima duda, ¿cómo puedo hacer para subirle la vida al ped? Para añadirle un 'extrahealth', hay varios resources en la comunidad, creo. SI es para subirle la vida normal, se usa setElementHealth Link to comment
Ryuto Posted November 1, 2015 Author Share Posted November 1, 2015 function makeAPed ( ) myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0, 226 , 0, 0, akatsuki, 4, "fire", true ) end addEventHandler ( "onResourceStart", resourceRoot, makeAPed) addEvent("onBotWasted", true) addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) setTimer(outputChatBox, 15*1000, 1, "* Se ha creado un nuevo ped", root, 0, 255, 120 ) setTimer(makeAPed, 15*1000, 1) end) Muchas gracias ya se soluciono, ya aparece el zombie luego de los 15 segundos , tengo una ultima duda, ¿cómo puedo hacer para subirle la vida al ped? Para añadirle un 'extrahealth', hay varios resources en la comunidad, creo. SI es para subirle la vida normal, se usa setElementHealth Muchas gracias a todos por tomarse la molestia de ayudarme, ya quedo perfecto. Link to comment
aka Blue Posted November 1, 2015 Share Posted November 1, 2015 Nada hombre, si para eso estamos Link to comment
Recommended Posts