Postado Abril 5, 2017 8 anos @Thayguroficial Mostrar conteúdo oculto local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 30000) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) local vocs = { --[id da voc] = efeito dela [1] = 107, [2] = 107, [3] = 107, [4] = 107, [5] = 107, [6] = 107, [7] = 107, [8] = 107, [9] = 107, [10] = 107, } function onCastSpell(cid, var) if exhaustion.check(cid, 13101) == TRUE then doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end for k = 1, 100 do addEvent(function() if isCreature(cid) then if vocs[getPlayerVocation(cid)] then local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} doSendMagicEffect(pos1, vocs[getPlayerVocation(cid)]) else doSendMagicEffect(pos1, 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela. end end end, 1 + ((k-1) * 300)) end exhaustion.set(cid, 13101, 30.0) return doCombat(cid, combat, var) end Acho que não preciso explicar. [1] = 107, 1 é o id da vocação e 107 é o efeito, adicione quantas vocações desejar e o efeito que ela irá soltar.
Postado Abril 6, 2017 8 anos Autor Em 05/04/2017 em 21:12, KotZletY disse: @Thayguroficial Mostrar conteúdo oculto Mostrar conteúdo oculto local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 30000) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) local vocs = { --[id da voc] = efeito dela [1] = 107, [2] = 107, [3] = 107, [4] = 107, [5] = 107, [6] = 107, [7] = 107, [8] = 107, [9] = 107, [10] = 107, } function onCastSpell(cid, var) if exhaustion.check(cid, 13101) == TRUE then doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end for k = 1, 100 do addEvent(function() if isCreature(cid) then if vocs[getPlayerVocation(cid)] then local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} doSendMagicEffect(pos1, vocs[getPlayerVocation(cid)]) else doSendMagicEffect(pos1, 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela. end end end, 1 + ((k-1) * 300)) end exhaustion.set(cid, 13101, 30.0) return doCombat(cid, combat, var) end Acho que não preciso explicar. [1] = 107, 1 é o id da vocação e 107 é o efeito, adicione quantas vocações desejar e o efeito que ela irá soltar. Funcionou perfeitamente só que eu queria que o efeito soltasse em cima do personagem, olha como ta na imagem:
Postado Abril 6, 2017 8 anos Em 06/04/2017 em 05:03, Thayguroficial disse: Funcionou perfeitamente só que eu queria que o efeito soltasse em cima do personagem, olha como ta na imagem: local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} tá vendo esse x +0 e o y +0 ? vai editando ex x +1 ....y +1 ou x - 1 .................ou..x-0 ate ficar na posição que você quer. Editado Abril 6, 2017 8 anos por Radamanthys Wov errei na digitação (veja o histórico de edições)
Postado Abril 6, 2017 8 anos Autor Em 06/04/2017 em 05:09, Radamanthys Wov disse: local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} tá vendo esse x +0 e o y +0 ? vai editando ex x +1 ....y +1 ou x - 1 .................ou..x-0 ate ficar na posição que você quer. Esse local pos1 ta valendo somente para o efeito padrão da spell, quando não tem o id da vocation/efeito no local vocs.
Postado Abril 6, 2017 8 anos @Thayguroficial Mostrar conteúdo oculto local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 30000) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) local pos = getPlayerPosition(cid) local vocs = { --[id da voc] = efeito dela [1] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [2] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [3] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [4] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [5] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [6] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [7] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [8] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [9] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}}, [10] = {107, {x=pos.x+0, y=pos.y+0, z=pos.z}} } if exhaustion.check(cid, 13101) == TRUE then doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.") doSendMagicEffect(pos, 2) return false end for k = 1, 10 do addEvent(function() if isCreature(cid) then if vocs[getPlayerVocation(cid)] then doSendMagicEffect(vocs[getPlayerVocation(cid)][2], vocs[getPlayerVocation(cid)][1]) else doSendMagicEffect(vocs[getPlayerVocation(cid)][2], 107) -- efeito pardão caso a vocação do player que irá usar não esteja na tabela. end end end, 1 + ((k-1) * 300)) end exhaustion.set(cid, 13101, 30.0) return doCombat(cid, combat, var) end {x=pos.x+0, y=pos.y+0, z=pos.z}} x+1 é mais para a direita x-1 é mais para esquerda, y+1 mais para baixo y-1 mais para cima a cada +1 é igual 1x sqm a mais. z é a floor atual, não mecha, caso contrario o efeito irá aparecer em tal pos, porém em outro andar. Hahsuahs +0 é igual a posição padrão. Configure como quiser. Abraços, e até a mais!
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.