Postado Agosto 23, 2014 10 anos Autor Tem muita coisa pra entende do script, se pode faze um mini tutorial eu agradeço. E o paralyze é pra fica lento só. Vlw Editado Agosto 23, 2014 10 anos por CreatServer (veja o histórico de edições)
Postado Agosto 23, 2014 10 anos quem fica é quem usa ou quem foi atingido? Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Agosto 24, 2014 10 anos Solução local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 48) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 7) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local stun = createConditionObject(CONDITION_PARALYZE) setConditionParam(stun, CONDITION_PARAM_TICKS, 5000) setConditionFormula(stun, -0.8, 0, -0.9, 0) setCombatCondition(combat1, stun) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local pisos = {} function onCastSpell(cid, var) local config = { tempo = 4 } local pos = getThingPos(cid) table.insert(pisos, getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid) local list = tonumber(#pisos) local position = { [1] = {x = pos.x, y = pos.y - 1, z = pos.z}, [2] = {x = pos.x + 1, y = pos.y - 1, z = pos.z}, [3] = {x = pos.x + 1, y = pos.y, z = pos.z}, [4] = {x = pos.x + 1, y = pos.y + 1, z = pos.z}, [5] = {x = pos.x, y = pos.y + 1, z = pos.z}, [6] = {x = pos.x - 1, y = pos.y + 1, z = pos.z}, [7] = {x = pos.x - 1, y = pos.y, z = pos.z}, [8] = {x = pos.x - 1, y = pos.y - 1, z = pos.z}, [9] = {x = pos.x, y = pos.y, z = pos.z}, } local id = { [1] = 8336, [2] = 8341, [3] = 8337, [4] = 8339, [5] = 8335, [6] = 8340, [7] = 8338, [8] = 8342, [9] = 231 } local msg = { [1] = "Hakke Rokujuuyonshou", [2] = "Ninshou", [3] = "Yonshou", [4] = "Hashou", [5] = "Juurokushou", [6] = "Sanjuunishou", [7] = "ROKUJUUYONSHOU!", } function canEffect(pos, pz, proj) -- Night Wolf based on Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function RemoveItem(cid, i) local tile = getTileItemById(position[i], id[i]) if tile.uid > 0 and i < #id then doRemoveItem(tile.uid) elseif tile.uid > 0 and i == #id then doTransformItem(tile.uid, pisos[list]) end end for i = 1, #id do if canEffect(position[i]) then doCreateItem(id[i], 1, position[i]) addEvent(RemoveItem, config.tempo*1000, cid, i) end end local parameters = {cid = cid, var = var, combat1 = combat1} for k = 1, #msg do addEvent(function() if isPlayer(cid) then addEvent(onCastSpell1, 1, parameters) doCreatureSay(cid, msg[k], 20, false, 0, pos) end end, 1 + ((k-1) * 500)) end return false end Seguinte, ela é bem facilzinha de configurar, só parece ser dificil: setCombatParam(combat1, COMBAT_PARAM_EFFECT, 48) -- efeito que vai darsetCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 8) -- efeito de distancia caso o player corra, se não quiser é só remover essa linha setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) -- fórmula do dano setConditionParam(stun, CONDITION_PARAM_TICKS, 5000) --- tempo que vai durar (no caso 5000 milisegundos ou 5 segundos) setConditionFormula(stun, -0.8, 0, -0.9, 0) --- formula do paralyze, tá reduzindo de 80 a 90% a velocidade do player. local config = { tempo = 4 --- tempo que o item criado vai ficar no chão, no caso 4 segundos) } local position = { --- é a lista de posições, ele tá pegando a posição do player e fazendo variações no x e y pra pegar toda a área em volta do player [1] = {x = pos.x, y = pos.y - 1, z = pos.z}, [2] = {x = pos.x + 1, y = pos.y - 1, z = pos.z}, [3] = {x = pos.x + 1, y = pos.y, z = pos.z}, [4] = {x = pos.x + 1, y = pos.y + 1, z = pos.z}, [5] = {x = pos.x, y = pos.y + 1, z = pos.z}, [6] = {x = pos.x - 1, y = pos.y + 1, z = pos.z}, [7] = {x = pos.x - 1, y = pos.y, z = pos.z}, [8] = {x = pos.x - 1, y = pos.y - 1, z = pos.z}, [9] = {x = pos.x, y = pos.y, z = pos.z}, } local id = { -- id dos itens que serão criados em cada uma das posições, note que o [1] é o id que vai ser criado na posição [1] então pra cada position tem um id associado. Lembre-se disso caso queira aumentar a posiçao que a spell pega [1] = 8336, [2] = 8341, [3] = 8337, [4] = 8339, [5] = 8335, [6] = 8340, [7] = 8338, [8] = 8342, [9] = 231 } local msg = { -- aqui são as mensagens que ele vai falar em cada dano, o numero de danos é equivalente ao numero de mensagens então no caso ele vai dar 7 hits mas você pode aumentar ou diminuir a vontade [1] = "Hakke Rokujuuyonshou", [2] = "Ninshou", [3] = "Yonshou", [4] = "Hashou", [5] = "Juurokushou", [6] = "Sanjuunishou", [7] = "ROKUJUUYONSHOU!", } Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Agosto 24, 2014 10 anos Autor Bom muito obrigado msm poow tudo que vc faz pela a galera do TK. O que eu quero agr que vc min explique o pouco como adicionar paralyze na spell, pq eu quero coloca em outras spells. Tanto em spell de area, quanto spell que atacar no target diretamente. Vlw
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.