Platin Posted February 23, 2015 Share Posted February 23, 2015 Hola, ya que hace poco tiempo pude terminar de arreglar el problema con mis super zombies, decidí que el zombie con el modelo 277 explotará al morir, pero esto no fue tan fácil como me parecía. Este explota, pero cada vez que un zombie muere. Esto pasa hasta que el cadaver desaparece. ¿Qué podría hacer para que no pase? serverside function zsp2(ped) local peds = getElementsByType("ped") for k, ped in pairs( peds ) do if (getElementData (ped, "zombie") == true) then if getElementModel ( ped ) == 277 then local X, Y, Z = getElementPosition ( ped ) createExplosion ( X, Y, Z, 0) end end end end addEvent("onZombieWasted", true) addEventHandler("onZombieWasted", root, zsp2) Link to comment
alex17 Posted February 23, 2015 Share Posted February 23, 2015 mucho te complicas en tu codigo lo que quieres hacer es algo mas simple function zsp2() if getElementModel ( source ) == 277 then local X, Y, Z = getElementPosition ( source ) createExplosion ( X, Y, Z, 5) end end addEvent("onZombieWasted", true) addEventHandler("onZombieWasted", root, zsp2) Link to comment
Tomas Posted February 23, 2015 Share Posted February 23, 2015 Creo que tienes un grave problema con los for-loops, en cada script que haces le metes un loop sin sentido, aquí tienes una guía que me ayudó mucho cuando tenía problemas similares a los tuyos; http://www.lua.org/manual/5.1/es/manual.html#2.4.5 Si no te quedó claro puedes buscar un manual de loops en otro lenguaje de programación como en PHP ya que cumplen la misma función, la sintaxis no será similar a la de Lua obviamente. Link to comment
Platin Posted February 23, 2015 Author Share Posted February 23, 2015 mucho te complicas en tu codigo lo que quieres hacer es algo mas simple function zsp2() if getElementModel ( source ) == 277 then local X, Y, Z = getElementPosition ( source ) createExplosion ( X, Y, Z, 5) end end addEvent("onZombieWasted", true) addEventHandler("onZombieWasted", root, zsp2) Prefiero quedarme bien seguro de que me esta detectando los zombies y no tener problemas como el antecesor que cambiaba la gravedad a los usuarios. Por cierto, eso no soluciona mi problema. De todas formas gracias. Creo que tienes un grave problema con los for-loops, en cada script que haces le metes un loop sin sentido, aquí tienes una guía que me ayudó mucho cuando tenía problemas similares a los tuyos;http://www.lua.org/manual/5.1/es/manual.html#2.4.5 Si no te quedó claro puedes buscar un manual de loops en otro lenguaje de programación como en PHP ya que cumplen la misma función, la sintaxis no será similar a la de Lua obviamente. Me lo leeré, gracias Link to comment
Bc# Posted March 13, 2015 Share Posted March 13, 2015 Creo que eso es Client-side por lo que source no debería funcionar (no estoy 100% seguro). No se si te fijas pero la variable "ped" se pinta de color verde, por lo cual es una variable reservada y no la debes usar ya que te puede generar conflictos. Intenta cambiar la variable ped por otra. Link to comment
Tomas Posted March 13, 2015 Share Posted March 13, 2015 Creo que eso es Client-side por lo que source no debería funcionar (no estoy 100% seguro). No se si te fijas pero la variable "ped" se pinta de color verde, por lo cual es una variable reservada y no la debes usar ya que te puede generar conflictos.Intenta cambiar la variable ped por otra. source funciona tanto en client-side como en server-side, en este caso es server-side Y sobre 'ped' está marcada en verde porque es un elemento, pero de todos modos funciona como variable. ej: ped player pickup vehicle object blip team marker Link to comment
yazan Posted March 24, 2015 Share Posted March 24, 2015 server addEvent("onZombieWasted",true) addEventHandler("onZombieWasted", root, function zsp2(element) if getElementType ( element ) == "ped" and getElementModel (element ) == 277 then for k, ped in pairs( element ) do if (getElementData (element, "zombie") == true) then local x, y, z = getElementPosition ( ped ) triggerClientEvent(root, "onWasted", root, x, y, z) end end end end) Client addEvent("onWasted") addEventHandler("onWasted", root, function(x, y, z) createExplosion(x, y, z, 0, true, -1.0, false) end) Link to comment
Platin Posted April 24, 2015 Author Share Posted April 24, 2015 Perdón por la espera de la respuesta, estuve muy inactivo en esto del scripting. Lo solucione de otra forma pero no tengo el archivo ahora mismo para hacer un Ctrl+C Ctrl+V. Gracias de todos modos. Link to comment
Recommended Posts