Postado Junho 29, 2020 4 anos .Qual servidor ou website você utiliza como base? otservbr-global Qual o motivo deste tópico? Eu estou tentando fazer uma wand editada, a ideia é fazer ela bater em area, q nem era a burst arrow antigamente, aí fiz o script (anexado ai), só q tipo, eu queria q a area fosse aleatoria, n ficasse sempre batendo nos msm sqm tipo: Ora bate assim Ora assim ❤️?❤️ ?❤️?❤️❤️❤️ ❤️❤️???❤️ ?❤️❤️ e por ai vai Eu lembro q antigamente, qd ia escrever a area, dava pra por o 2 e ela servia como random, mas hj n dá em nda =\ Você tem o código disponível? Se tiver publique-o aqui: Spoiler local area = createCombatArea({ {1, 0, 1}, {0, 3, 0}, {1, 0, 1} }) local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) combat:setArea(area) function onGetFormulaValues(player, level, maglevel) local min = (maglevel / 2) local max = (maglevel * 2) return -min, -max end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onUseWeapon(player, variant) return combat:execute(player, variant) end Editado Junho 30, 2020 4 anos por Artur Henrique (veja o histórico de edições)
Postado Junho 30, 2020 4 anos @Artur Henrique você precisar criar as variações e depois usar math.random para selecionar as áreas a cada hit porém existe várias maneiras de fazer o mesmo também Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
Postado Junho 30, 2020 4 anos Autor 1 hora atrás, LeoTK disse: @Artur Henrique você precisar criar as variações e depois usar math.random para selecionar as áreas a cada hit porém existe várias maneiras de fazer o mesmo também Então, só que tipo, independente doq eu faça, o setArea não pode ficar dentro de uma function, ou seja, vai ser carregado só quando o server abrir, entao meio q vai ser um "random" q vai ser sorteado só qd o server abre, vc consegue me dar um "norte" pra isso?
Postado Junho 30, 2020 4 anos Solução @Artur Henrique achei este código em outro fórum porém é de uma magia da uma estudada e tenta implementar no seu já é meio caminho andado Spoiler local acombat, combat = createCombatObject(), createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_NONE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ARROW) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, -9, 0.3, -5) local arr1 = { {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} } setCombatArea(acombat, createCombatArea(arr1)) function onTargetTile(cid, pos) return math.random(2) == 1 and doCombat(cid, combat, positionToVariant(pos)) end setCombatCallback(acombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, acombat, var) end achei esse código também Spoiler local areaCombat, combat = createCombatObject(), createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 7) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 5) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, 1, -0.3, 1) local myArray = {{3}} local area = createCombatArea(myArray) setCombatArea(areaCombat, area) function onTargetTile(cid, pos) local posx, posy = math.random(-1,1), math.random(-1,1) return doCombat(cid, combat, positionToVariant({x = pos.x + posx, y = pos.y + posy, z = pos.z})) end setCombatCallback(areaCombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) addEvent(doCombat, 100, cid, areaCombat, var) addEvent(doCombat, 200, cid, areaCombat, var) addEvent(doCombat, 300, cid, areaCombat, var) return doCombat(cid, areaCombat, var) end Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas. discord.gg/phJZeHa2k4 Projeto ATS (Naruto) Informações Abaixo Facebook Youtube Discord Tutoriais / Conteúdos Clique Aqui
Postado Junho 30, 2020 4 anos Autor Consegui, dei uma improvisada com os ifs e ficou bacana! brigadao ai ? depois eu vou tentar arrumar pra n bater 2x no msm sqm Spoiler local areaCombat, combat = createCombatObject(), createCombatObject() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) function onGetFormulaValues(player, level, maglevel) local min = (maglevel / 2) local max = (maglevel * 2) return -min, -max end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local myArray = {{3}} local area = createCombatArea(myArray) setCombatArea(areaCombat, area) function onTargetTile(cid, pos) local posx, posy = math.random(-1,1), math.random(-1,1) local posx2, posy2 = math.random(-1,1), math.random(-1,1) local posx3, posy3 = math.random(-1,1), math.random(-1,1) local posx4, posy4 = math.random(-1,1), math.random(-1,1) local posx5, posy5 = math.random(-1,1), math.random(-1,1) if posx == posy == 0 then local posx, posy = math.random(-1,1), math.random(-1,1) if posx == posy == 0 then local posx, posy = 0, 1 end end if posx2 == posy2 == 0 then local posx2, posy2 = math.random(-1,1), math.random(-1,1) if posx2 == posy2 == 0 then local posx2, posy2 = 0, -1 end end if posx3 == posy3 == 0 then local posx3, posy3 = math.random(-1,1), math.random(-1,1) if posx3 == posy3 == 0 then local posx3, posy3 = 1, 0 end end if posx4 == posy4 == 0 then local posx4, posy4 = math.random(-1,1), math.random(-1,1) if posx4 == posy4 == 0 then local posx4, posy4 = -1, 0 end end if posx5 == posy5 == 0 then local posx5, posy5 = math.random(-1,1), math.random(-1,1) if posx5 == posy5 == 0 then local posx5, posy5 = math.random(-1,1), math.random(-1,1) end end return doCombat(cid, combat, positionToVariant({x = (pos.x + posx5), y = (pos.y + posy5), z = pos.z})), doCombat(cid, combat, positionToVariant({x = pos.x, y = pos.y, z = pos.z})), doCombat(cid, combat, positionToVariant({x = (pos.x + posx4), y = (pos.y + posy4), z = pos.z})), doCombat(cid, combat, positionToVariant({x = (pos.x + posx3), y = (pos.y + posy3), z = pos.z})), doCombat(cid, combat, positionToVariant({x = (pos.x + posx2), y = (pos.y + posy2), z = pos.z})) end setCombatCallback(areaCombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onUseWeapon(cid, var) return doCombat(cid, areaCombat, var) end Editado Junho 30, 2020 4 anos por Artur Henrique (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.