Jump to content

[Error]Respaneo de Peds


Ryuto

Recommended Posts

Hola gente del forum, hoy tengo un pequeño error con unos scripts que estoy haciendo, pues hace poco tuve la idea de hacer un script parecido al Misterix Mod de GTA San Andres, que es un mod de matar misterios como ser Leatherface, Big Foot* Pie Grande *, Samara entre otros, pero tengo unos pequeños errores, cuando mato a un determinado misterio, pasan 15 segundos de muerto, respanea pero, también lo hacen los otros misterios y eso que no están muertos y no sé como resolver ese problema, aquí dejo mi lua.

Nota: cada misterio son scripts diferentes, osea a Samara le puse Misterio.zip, y al cuco le puse Misterio2.zip, y se podría decir que tienen un lua parecido solo cambie la ubicación x, y, z y el outputChatBox también la vida, cada script de misterio tiene lo mismo, solo cambio algunas cosas del lua.

function makeAPed ( ) 
    myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0,  226 , 0, 0, akatsuki, 4, "fire", true ) 
    local healthT = exports.extra_health:setElementExtraHealth ( myped, 900 ) 
end 
addEventHandler ( "onResourceStart", resourceRoot, makeAPed) 
  
addEvent("onBotWasted", true) 
addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) 
    setTimer(outputChatBox, 15*1000, 1, "* La Llorona volvió a aparecer.", root,  0, 255, 120 ) 
    setTimer(makeAPed, 15*1000, 1) 
end) 

aquí dejare unas imagenes

http://www.subeimagenes.com/img/mta-scr ... 519486.png

http://www.subeimagenes.com/img/mta-scr ... 519490.png

*En esta imagen después de haberlo matado, respanea pero también lo hacen los otros misterios sin haberlos matado.*

http://www.subeimagenes.com/img/mta-scr ... 519491.png

Muchas gracias por leer este post :D

Link to comment
En "onBotWasted"

Toma los datos de source, source es el ped que se muere, entonces debes obtener sus datos:

getElementData (source, "slothbot")

getElementData (source, "BotTeam")

Cuando creas el bot, debes guardar el dato del skin y posición X, Y, Z.

setElementData (bot, "skin")

setElementData (bot, "posX")

setElementData (bot, "posY")

setElementData (bot, "posZ")

Cuando el bot Wasted, entonces:

Obtiene los datos con:

skinbot = getElementData (bot, "skin")

posXbot = getElementData (bot, "posX")

posYbot = getElementData (bot, "posY")

posZbot = getElementData (bot, "posZ")

y los envías por:

setTimer(function() makeAPed (skinbot, posXbot, posYbot, posZbot) end, 15*1000, 1)

Unete, tendrás ayuda má rápido.

https://www.facebook.com/groups/scriptersMTA

*feispelm*

  
    function makeAPed ( ) 
        myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0,  226 , 0, 0, akatsuki, 4, "fire", true ) 
        local healthT = exports.extra_health:setElementExtraHealth ( myped, 900 ) 
    end 
    addEventHandler ( "onResourceStart", resourceRoot, makeAPed) 
      
    addEvent("onBotWasted", true) 
    addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) 
        if (not source == myped) then return end 
        setTimer(outputChatBox, 15*1000, 1, "* La Llorona volvió a aparecer.", root,  0, 255, 120 ) 
        setTimer(makeAPed, 15*1000, 1) 
    end) 
  

Link to comment
En "onBotWasted"

Toma los datos de source, source es el ped que se muere, entonces debes obtener sus datos:

getElementData (source, "slothbot")

getElementData (source, "BotTeam")

Cuando creas el bot, debes guardar el dato del skin y posición X, Y, Z.

setElementData (bot, "skin")

setElementData (bot, "posX")

setElementData (bot, "posY")

setElementData (bot, "posZ")

Cuando el bot Wasted, entonces:

Obtiene los datos con:

skinbot = getElementData (bot, "skin")

posXbot = getElementData (bot, "posX")

posYbot = getElementData (bot, "posY")

posZbot = getElementData (bot, "posZ")

y los envías por:

setTimer(function() makeAPed (skinbot, posXbot, posYbot, posZbot) end, 15*1000, 1)

Unete, tendrás ayuda má rápido.

https://www.facebook.com/groups/scriptersMTA

*feispelm*

  
    function makeAPed ( ) 
        myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0,  226 , 0, 0, akatsuki, 4, "fire", true ) 
        local healthT = exports.extra_health:setElementExtraHealth ( myped, 900 ) 
    end 
    addEventHandler ( "onResourceStart", resourceRoot, makeAPed) 
      
    addEvent("onBotWasted", true) 
    addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) 
        if (not source == myped) then return end 
        setTimer(outputChatBox, 15*1000, 1, "* La Llorona volvió a aparecer.", root,  0, 255, 120 ) 
        setTimer(makeAPed, 15*1000, 1) 
    end) 
  

Palmface compare bolean with element

    function makeAPed ( ) 
        mypedLlorona = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0,  226 , 0, 0, akatsuki, 4, "fire", true ) 
        local healthTLlorona = exports.extra_health:setElementExtraHealth ( mypedLlorona, 900 ) 
    end 
    addEventHandler ( "onResourceStart", resourceRoot, makeAPed) 
      
    addEvent("onBotWasted", true) 
    addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) 
        if source == mypedLlorona then 
        setTimer(outputChatBox, 15*1000, 1, "* La Llorona volvió a aparecer.", root,  0, 255, 120 ) 
        setTimer(makeAPed, 15*1000, 1) 
        end 
    end) 

Te recomiendo poner a todos los misterix de una sola vez en un solo script, así te evitas problemas como éstos y usar otras variables para cada ped según sea el caso. O intentar leer el slothbot para comprender como funciona éste.

Muchas gracias, ya funciono ya todos respanean normalmente, y si en posibles futuras versiones de este script de misterix lo haré todo en un solo script no por separado.

Link to comment
En "onBotWasted"

Toma los datos de source, source es el ped que se muere, entonces debes obtener sus datos:

getElementData (source, "slothbot")

getElementData (source, "BotTeam")

Cuando creas el bot, debes guardar el dato del skin y posición X, Y, Z.

setElementData (bot, "skin")

setElementData (bot, "posX")

setElementData (bot, "posY")

setElementData (bot, "posZ")

Cuando el bot Wasted, entonces:

Obtiene los datos con:

skinbot = getElementData (bot, "skin")

posXbot = getElementData (bot, "posX")

posYbot = getElementData (bot, "posY")

posZbot = getElementData (bot, "posZ")

y los envías por:

setTimer(function() makeAPed (skinbot, posXbot, posYbot, posZbot) end, 15*1000, 1)

Unete, tendrás ayuda má rápido.

https://www.facebook.com/groups/scriptersMTA

*feispelm*

  
    function makeAPed ( ) 
        myped = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0,  226 , 0, 0, akatsuki, 4, "fire", true ) 
        local healthT = exports.extra_health:setElementExtraHealth ( myped, 900 ) 
    end 
    addEventHandler ( "onResourceStart", resourceRoot, makeAPed) 
      
    addEvent("onBotWasted", true) 
    addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) 
        if (not source == myped) then return end 
        setTimer(outputChatBox, 15*1000, 1, "* La Llorona volvió a aparecer.", root,  0, 255, 120 ) 
        setTimer(makeAPed, 15*1000, 1) 
    end) 
  

Palmface compare bolean with element

    function makeAPed ( ) 
        mypedLlorona = exports.slothbot:spawnBot ( -377.888671875, 2184.87109375, 42.431251525879, 0,  226 , 0, 0, akatsuki, 4, "fire", true ) 
        local healthTLlorona = exports.extra_health:setElementExtraHealth ( mypedLlorona, 900 ) 
    end 
    addEventHandler ( "onResourceStart", resourceRoot, makeAPed) 
      
    addEvent("onBotWasted", true) 
    addEventHandler("onBotWasted", root, function(attacker, weapon, bodypart) 
        if source == mypedLlorona then 
        setTimer(outputChatBox, 15*1000, 1, "* La Llorona volvió a aparecer.", root,  0, 255, 120 ) 
        setTimer(makeAPed, 15*1000, 1) 
        end 
    end) 

Te recomiendo poner a todos los misterix de una sola vez en un solo script, así te evitas problemas como éstos y usar otras variables para cada ped según sea el caso. O intentar leer el slothbot para comprender como funciona éste.

¿Qué diferencia hay? Parece que no entiendes el motor de Lua bastante bien...

Link to comment
Tomas, Pruebalo con el slothbot a ver si te funciona.

No tengo tiempo pero es bastante simple de razonar, la función 'spawnBot' devuelve el ped creado, el cuál se guarda en la variable 'myped', luego cuando cualquier ped del slothbot muere se triggea un evento el cuál compara el ped que murió con 'myped', en caso de que el que murió no sea 'myped' se para la función.

De todos modos, te recomiendo que vincules el evento al ped, cuando este se crea, así ahorrarás que se triguee cada vez que cualquier ped del slothbot muera.

Link to comment
A como diría Solidsnake14

La verdad no entiendo porque haces ejemplos de tal manera, si en realidad no tenes ganas de ayudar, no lo hagas.

Quizás te refieras al post, sino, no le veo sentido a la cita, aunque de todos modos el que empezó a criticar mi ejemplo fuiste tú.

Link to comment
A como diría Solidsnake14

La verdad no entiendo porque haces ejemplos de tal manera, si en realidad no tenes ganas de ayudar, no lo hagas.

Quizás te refieras al post, sino, no le veo sentido a la cita, aunque de todos modos el que empezó a criticar mi ejemplo fuiste tú.

Tu empezaste con lo del facebook, no el.

Link to comment
Tomas, Ya leíste cómo funciona slothbot? trabaja mucho con setElementData y getElementData, allí se guardan los datos de los bots. Lo expliqué una forma de guardar los datos del bot para eso.

De todos modos, eso no tiene nada que ver con su interrogante.

Tu empezaste con lo del facebook, no el.

¿?

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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