Postado Dezembro 5, 2019 5 anos Citar local config = { velocidade = 200, -- intervalo entre os giros (quanto menor, mais rapido) hits = 40, -- quantos hits vai dar msg = "Cyclone", -- msg ao soltar a spell key = 13871, -- storage que sera utilizado pro cooldown cooldown = 6, -- tempo em segundos de cooldown entre um uso da spell e outro. effect1 = 22, -- efeito de distancia que vai ficar rodando effect2 = 269, -- efeito no sqm do item effect3 = 37, -- efeito ao castar a spell effect4 = 341 -- efeito ao acertar a roda no player } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 255) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -150.0, 0, -260.0, 0) function onTargetCreature(cid, target) doSendMagicEffect(getCreaturePosition(target), config.effect4) end setCombatCallback(combat, 4, "onTargetCreature") local arr = { {1, 1, 1}, {1, 3, 1}, -- area que vai acertar a spell enquanto estiver rodando {1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) function initEffect(position) for i = 0, 3 do local pos = {x = position.x, y = position.y, z = position.z} local dir = getPosByDir(pos, i) doSendDistanceShoot(position, dir, config.effect1) end addEvent(doSendMagicEffect, 300, position, config.effect2) return true end function middleEffect(cid, param, position, lim, count) n = count or 0 if isCreature(cid) and n < lim then for i = 0, 3 do local pos = {x = position.x, y = position.y, z = position.z} local pos2 = {x = position.x, y = position.y, z = position.z} local dir = getPosByDir(pos, i) local dir2 = getPosByDir(pos2, i + 1 <= 3 and i + 1 or 0) doSendDistanceShoot(dir, dir2, config.effect1) end doCombat(cid, combat, param) addEvent(middleEffect, config.velocidade, cid, param, position, lim, n + 1) end return true end function endEffect(position) for i = 0, 3 do local pos = {x = position.x, y = position.y, z = position.z} local dir = getPosByDir(pos, i) doSendDistanceShoot(dir, position, config.effect1) end local item = getTileItemById(position, 2180) if item.uid > 0 then doRemoveItem(item.uid) end return true end function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.key) - os.time() <= 0 then setPlayerStorageValue(cid, config.key, os.time() + config.cooldown) local position = getCreaturePosition(cid) doCreatureSay(cid, config.msg, 20) local orb = doCreateItem(2180, 1, position) addEvent(endEffect, 8.55 * 1000, position) doSendMagicEffect(position, config.effect3) initEffect(position) addEvent(middleEffect, 200, cid, var, position, config.hits) else doPlayerSendCancel(cid, "You're exhausted.") return false end return true end eu queria que quando alguem fosse atacado por essa spell ele ficasse paralyzado e imovel ate a spell acabar REP+
Postado Dezembro 7, 2019 5 anos local config = { velocidade = 200, -- intervalo entre os giros (quanto menor, mais rapido) hits = 40, -- quantos hits vai dar msg = "Cyclone", -- msg ao soltar a spell key = 13871, -- storage que sera utilizado pro cooldown cooldown = 6, -- tempo em segundos de cooldown entre um uso da spell e outro. effect1 = 22, -- efeito de distancia que vai ficar rodando effect2 = 269, -- efeito no sqm do item effect3 = 37, -- efeito ao castar a spell effect4 = 341 -- efeito ao acertar a roda no player } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 255) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -150.0, 0, -260.0, 0) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionParam(condition, CONDITION_PARAM_SPEED, -1500) setConditionFormula(condition, -0.2, 0, -0.2, 0) setCombatCondition(combat1, condition) function onTargetCreature(cid, target) doSendMagicEffect(getCreaturePosition(target), config.effect4) end setCombatCallback(combat, 4, "onTargetCreature") local arr = { {1, 1, 1}, {1, 3, 1}, -- area que vai acertar a spell enquanto estiver rodando {1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) function initEffect(position) for i = 0, 3 do local pos = {x = position.x, y = position.y, z = position.z} local dir = getPosByDir(pos, i) doSendDistanceShoot(position, dir, config.effect1) end addEvent(doSendMagicEffect, 300, position, config.effect2) return true end function middleEffect(cid, param, position, lim, count) n = count or 0 if isCreature(cid) and n < lim then for i = 0, 3 do local pos = {x = position.x, y = position.y, z = position.z} local pos2 = {x = position.x, y = position.y, z = position.z} local dir = getPosByDir(pos, i) local dir2 = getPosByDir(pos2, i + 1 <= 3 and i + 1 or 0) doSendDistanceShoot(dir, dir2, config.effect1) end doCombat(cid, combat, param) addEvent(middleEffect, config.velocidade, cid, param, position, lim, n + 1) end return true end function endEffect(position) for i = 0, 3 do local pos = {x = position.x, y = position.y, z = position.z} local dir = getPosByDir(pos, i) doSendDistanceShoot(dir, position, config.effect1) end local item = getTileItemById(position, 2180) if item.uid > 0 then doRemoveItem(item.uid) end return true end function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.key) - os.time() <= 0 then setPlayerStorageValue(cid, config.key, os.time() + config.cooldown) local position = getCreaturePosition(cid) doCreatureSay(cid, config.msg, 20) local orb = doCreateItem(2180, 1, position) addEvent(endEffect, 8.55 * 1000, position) doSendMagicEffect(position, config.effect3) initEffect(position) addEvent(middleEffect, 200, cid, var, position, config.hits) else doPlayerSendCancel(cid, "You're exhausted.") return false end return true end setConditionParam(condition, CONDITION_PARAM_SPEED, -1500) onde tá -1500 é a Speed que o alvo fica no caso vai zerar por que o maximo de speed é 1500 então ela vai ficar nula deixando o player Imovel... caso o player use spell que da speed ele ira remover parte da paralisia mas ela vai se renovar a cada hit que ele tomar Qualquer coisa só comentar Abraços VLW!
Postado Dezembro 7, 2019 5 anos Autor @Xz Death Xz Opa, testei aq e a magia acontece normalmente porem, o player nao fica rapalizado e imovel, (nenhum erro na distro).
Postado Dezembro 7, 2019 5 anos Aaaah já vi meu erro Na linha onde tá combat1 troca pra combat setCombatCondition(combat1, condition) setCombatCondition(combat, condition)
Postado Dezembro 7, 2019 5 anos Autor Agora, Xz Death Xz disse: Aaaah já vi meu erro Na linha onde tá combat1 troca pra combat setCombatCondition(combat1, condition) setCombatCondition(combat, condition) Puts nem eu vi isso tbm kkk, bom agora o lyze pegou direitinho porem o player so fica lento, ainda nao ta imovel
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.