Anzo Posted September 13, 2016 Share Posted September 13, 2016 (edited) Probablemente no hayan entendido el titulo, pero lo explicare: Tengo un boss que crea unas armas en su cuerpo cuando tiene menos de 5000 de vida, use una variable como 'if not k then' k = true para que solo se crearan las armas sola una vez cuando le dispares y tenga -5000 de vida, esto lo hice para que no se crearan muchas armas y después daría muchos errores. El boss es este: (client) function kk(attacker,weapois,ww) if (attacker) then if (isElement(attacker)) then if (getElementType(attacker) == "player") then if (getElementType(source) == "ped") then if (getElementData(source,"Apocal") == true) then local healthMyBBoss = exports.extra_health:getElementExtraHealth(source) if (healthMyBBoss < 5000) then local wX,wY,wZ = getElementPosition(source) if not kasd then if ( getElementData(localPlayer, "thes") == true) then weapon = createWeapon("m4", wX,wY,wZ) attachElements(weapon,source,0,0,0,0,5,90) setWeaponClipAmmo(weapon,99999) setWeaponState(weapon, "firing") setWeaponProperty(weapon,"fire_rotation",0,-5,0) weapon11 = createWeapon("m4", wX,wY,wZ) attachElements(weapon11,source,0,0,0,0,5,90) setWeaponClipAmmo(weapon11,99999) setWeaponState(weapon11, "firing") setWeaponProperty(weapon11,"fire_rotation",0,-5,0) --weapon2 weapon2 = createWeapon("m4", wX,wY,wZ) attachElements(weapon2,source,0+0.2,0,0,0,5,90) setWeaponClipAmmo(weapon2,99999) setWeaponState(weapon2, "firing") setWeaponProperty(weapon2,"fire_rotation",0,-5,0) weapon2223 = createWeapon("m4", wX,wY,wZ) attachElements(weapon2223,source,0+0.2,0,0,0,5,90) setWeaponClipAmmo(weapon2223,99999) setWeaponState(weapon2223, "firing") setWeaponProperty(weapon2223,"fire_rotation",0,-5,0) --weapon3 weapon3 = createWeapon("m4", wX,wY,wZ) attachElements(weapon3,source,0+0.2,0,0,0,5,-90) setWeaponClipAmmo(weapon3,99999) setWeaponState(weapon3, "firing") setWeaponProperty(weapon3,"fire_rotation",0,-5,0) --weapon4 weapon4 = createWeapon("m4", wX,wY,wZ) attachElements(weapon4,source,0,0,0,0,5,-90) setWeaponClipAmmo(weapon4,99999) setWeaponState(weapon4, "firing") setWeaponProperty(weapon4,"fire_rotation",0,-5,0) kasd = true end end end end end end end end end addEventHandler("onClientPedDamage", root, kk) Ahí use un elementData para ver si podía hacer que se activen cuando el boss aparezca, pero con elementData no me funciono así que use esa variable para que se creen solo una vez las armas aunque le dispares más veces, el problema es que solo funciona una vez, si el boss muere y aparece de nuevo y le disparan teniendo -5000 de vida no le aparecerán las armas, yo quiero eso, que se creen siempre que tenga -5000 de vida pero, que las armas solo se creen una vez. Me explico, si le quito la variable esa las armas se crearan infinitamente si le sigues disparando al boss, y cuando muera, dará error en los destroyElement porque había muchas creo. (server) function botSpawn(thePlayers,mathd) local BBoss = exports.slothbot:spawnBot ( 1131.78918, -2036.76990, 69.00781, 0, 18, 0, 0, team, 24, "hunting" ) Booty = BBoss local setHealth = exports.extra_health:setElementExtraHealth(BBoss, 2) setElementData(BBoss, "currenthealth", exports.extra_health:getElementExtraHealth(BBoss)) setElementData(BBoss,"Apocal",true) setElementData(BBoss,"name","Apocal") cblip = createBlipAttachedTo(BBoss,23) setPedStat(BBoss,71,1000) outputChatBox("#666666'#D50000Apocal#666666' #ffffffha aparecido cerca del hospital de Los #D50000Santos-",getRootElement(),255,255,255,true) setTimer(spawnClones,58000,1) setElementData(root, "thes", true) end addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), botSpawn) Ahí use un setElementData(root, "thes", true) para ver si funcionaba, pero no. Edited September 13, 2016 by Anzo Link to comment
Arsilex Posted September 13, 2016 Share Posted September 13, 2016 Supongo que quieres esto: local weapons = {} local spawnedWeapons = false function kk(attacker,weapois,ww) if (attacker) then if (isElement(attacker)) then if (getElementType(attacker) == "player") then if (getElementType(source) == "ped") then if (getElementData(source,"Apocal") == true) then local healthMyBBoss = exports.extra_health:getElementExtraHealth(source) if (healthMyBBoss < 5000) then local wX,wY,wZ = getElementPosition(source) if not spawnedWeapons then if ( getElementData(localPlayer, "thes") == true) then weapons for i = 1, 5 do weapon = createWeapon("m4", wX,wY,wZ) attachElements(weapon,source,0,0,0,0,5,90) setWeaponClipAmmo(weapon,99999) setWeaponState(weapon, "firing") setWeaponProperty(weapon,"fire_rotation",0,-5,0) table.insert(weapons, weapon) end spawnedWeapons = true end end end end end end end end end addEventHandler("onClientPedDamage", root, kk) function onWasted(killer, weapon, bodypart) if (getElementData(source,"Apocal") == true) then for i, k in ipairs(weapons) do destroyElement(k) end spawnedWeapons = false end end -- add the event handler addEventHandler("onClientPedWasted", getRootElement(), onWasted) function botSpawn(thePlayers,mathd) local BBoss = exports.slothbot:spawnBot ( 1131.78918, -2036.76990, 69.00781, 0, 18, 0, 0, team, 24, "hunting" ) Booty = BBoss local setHealth = exports.extra_health:setElementExtraHealth(BBoss, 2) setElementData(BBoss, "currenthealth", exports.extra_health:getElementExtraHealth(BBoss)) setElementData(BBoss,"Apocal",true) setElementData(BBoss,"name","Apocal") cblip = createBlipAttachedTo(BBoss,23) setPedStat(BBoss,71,1000) outputChatBox("#666666'#D50000Apocal#666666' #ffffffha aparecido cerca del hospital de Los #D50000Santos-",getRootElement(),255,255,255,true) setTimer(spawnClones,58000,1) end addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), botSpawn) Link to comment
Anzo Posted September 13, 2016 Author Share Posted September 13, 2016 Pero no se crean de nuevo, la primera vez si (que es cuando inicio el script) pero cuando vuelve a spawnear y le disparo no le aparece nada. Link to comment
Anzo Posted September 14, 2016 Author Share Posted September 14, 2016 (edited) No sé porque no me deja editar el otro post pero bueno, ya pude solucionarlo Lo que hice fue crear un trigger desde client que tuviera algo como: variable = false y después pasarlo a server con triggerClientEvent y ponerlo en la parte cuando se muera el boss, así cuando se muera se desactiva y la función se pueda ejecutar siempre que el boss muera; no sé si haya otra forma mejor de hacerlo pero de este método me funciono y la verdad no se me ocurre otra forma de hacerlo. PD: Si alguien sabre otra manera más eficiente de hacerlo que porfavir la diga :v Edited September 14, 2016 by Anzo Link to comment
DarkNeSsOak Posted October 5, 2016 Share Posted October 5, 2016 Disculpa puedes pasarme El script Como lo solucionastee plox Link to comment
Anzo Posted October 5, 2016 Author Share Posted October 5, 2016 1 hour ago, DarkNeSsOak said: Disculpa puedes pasarme El script Como lo solucionastee plox Lo que habia hecho antes era esto: function fali() armas = false end addEvent("cancel",true) addEventHandler("cancel",root, fali Y en la parte donde moria el boss: triggerClientEvent("cancel",source) Pero es mejor usar algo como esto: local bossWeapons = false local E_weapon = {} local eRot if (bossWeapons == false) then for i=1, 8 do E_weapon[i] = createWeapon("m4", posx, posy, posz) eRot = eRot + 30*i attachElements(E_weapon[i], source, 0, 0, 0, 0, 5, eRot) setWeaponClipAmmo(E_weapon[i], 99999) setWeaponState(E_weapon[i], "firing") setWeaponProperty(E_weapon[i], "fire_rotation", 0, -5, 0) end bossWeapons = true end Link to comment
DarkNeSsOak Posted October 5, 2016 Share Posted October 5, 2016 Eso lo pongo En el client?.. porque lo puse Y me da error Link to comment
Anzo Posted October 5, 2016 Author Share Posted October 5, 2016 ¿Qué es lo que quieres saber? ¿crear las armas en el cuerpo del bot o, saber la forma en que lo hice? Link to comment
DarkNeSsOak Posted October 5, 2016 Share Posted October 5, 2016 Lo que quiero Saber es como Crear las armas en el cuerpo Con el Boss haci como lo tenias para ponerselo a mi otro boss que hise Entra en mi server local = mtasa://201.249.111.183:22003 Link to comment
Recommended Posts