Ryuto Posted November 8, 2015 Share Posted November 8, 2015 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 Link to comment
Tomas Posted November 9, 2015 Share Posted November 9, 2015 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
Ryuto Posted November 9, 2015 Author Share Posted November 9, 2015 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
Tomas Posted November 9, 2015 Share Posted November 9, 2015 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 Posted November 10, 2015 Share Posted November 10, 2015 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
starksZ Posted November 10, 2015 Share Posted November 10, 2015 A como diría Solidsnake14La verdad no entiendo porque haces ejemplos de tal manera, si en realidad no tenes ganas de ayudar, no lo hagas. +1 Link to comment
Tomas Posted November 10, 2015 Share Posted November 10, 2015 A como diría Solidsnake14La 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
starksZ Posted November 10, 2015 Share Posted November 10, 2015 A como diría Solidsnake14La 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 Posted November 11, 2015 Share Posted November 11, 2015 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
MTA Team 0xCiBeR Posted November 12, 2015 MTA Team Share Posted November 12, 2015 Cierro tema. +10 para @starksZ @Tomas @El_Zorro ( sarcasmo ) Link to comment
Recommended Posts