Jump to content

[Ayuda]Ped


Ryuto

Recommended Posts

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 :D

Link to comment

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
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
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
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
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
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
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

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
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
  
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
Cambia el
resourceRoot 

por


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
  
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
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
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 :D , tengo una ultima duda, ¿cómo puedo hacer para subirle la vida al ped?

Link to comment
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 :D , 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
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 :D , 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. :D

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...