
Spoonkly
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
Spoonkly deu reputação a Snowsz em (Resolvido)[Pedido] Dar dano em determinaria árealocal areas = { {leftUpPoint = {x = 1, y = 2, z = 3}, rightDownPoint = {x = 6, y = 7, z = 8}, minHit = 100, maxHit = 500, effect = 30}, } function onThink(interval, lastExecution, thinkInterval) for id, arr in pairs(areas) do for x = arr.leftUpPoint.x, arr.rightDownPoint.x do for y = arr.leftUpPoint.y, arr.rightDownPoint.y do for z = arr.leftUpPoint.z, arr.rightDownPoint.z do local pos = {x = x, y = y, z = z} local uid = getTopCreature(pos).uid doSendMagicEffect(pos, arr.effect) if isCreature(uid) then local random = math.random(arr.minHit, arr.maxHit) doCreatureAddHealth(uid, -random) doSendAnimatedText(pos,"-"..random, 180) end end end end end return true end
-
Spoonkly deu reputação a zipter98 em (Resolvido)[Pedido] Dar dano em determinaria áreaTroca:
if isCreature(uid) then por: if not isMonster(uid) then -
Spoonkly deu reputação a Snowsz em (Resolvido)[Pedido] Dar dano em determinaria áreaTenta isso, crie um arquivo em data/globalevents/scripts com o nome de areahit.lua e ponha isso dentro:
local areas = { {leftUpPoint = {x = 1, y = 2, z = 3}, rightDownPoint = {x = 6, y = 7, z = 8}, minHit = 100, maxHit = 500, effect = 30}, } function onThink(interval, lastExecution, thinkInterval) for id, arr in pairs(areas) do for x = arr.leftUpPoint.x, arr.rightDownPoint.x do for y = arr.leftUpPoint.y, arr.rightDownPoint.y do for z = arr.leftUpPoint.z, arr.rightDownPoint.z do local pos = {x = x, y = y, z = z} local uid = getTopCreature(pos).uid doSendMagicEffect(pos, arr.effect) if isCreature(uid) then doCreatureAddHealth(uid, -(math.random(arr.minHit, arr.maxHit))) end end end end end return true end Em globalevents.xml adicione isso:
<globalevent name="think" interval="30000" event="script" value="areahit.lua"/> Modifique o intervalo a seu gosto.
Configuração do script:
Modifique primeiro essa linha:
{leftUpPoint = {x = 1, y = 2, z = 3}, rightDownPoint = {x = 6, y = 7, z = 8}, minHit = 100, maxHit = 500, effect = 30}, • leftUpPoint coloque as coordenadas do ponto superior esquerdo da área que você quer que de os danos.
• rightDownPoint coloque as posições do canto inferior direito.
• minHit coloque o dano mínimo.
• maxHit coloque o dano máximo.
• effect coloque o id do efeito que você quer.
Após isso, é só copiar essa linha inteira e ir colocando e configurando mais áreas a seu gosto, exemplo:
local areas = { {leftUpPoint = {x = 1, y = 2, z = 3}, rightDownPoint = {x = 6, y = 7, z = 8}, minHit = 100, maxHit = 500, effect = 30}, {leftUpPoint = {x = 178978, y = 213, z = 5}, rightDownPoint = {x = 612321312, y = 789890, z = 8}, minHit = 17800, maxHit = 4569000, effect = 20}, {leftUpPoint = {x = 567856, y = 123123, z = 6}, rightDownPoint = {x = 6567778, y = 7798, z = 10}, minHit = 19500, maxHit = 7890000, effect = 4}, }