Postado Janeiro 17, 2015 10 anos Em 17/01/2015 em 19:17, elwyn disse: Só aplica os 20s de cd se o tile que você usar a runa tiver uma mw existente. Em 17/01/2015 em 19:34, Natanael Beckman disse: É exatamente isso Se você já verificou a positionToVariant como contendo uma magic wall, qual a necessidade de aplicar 20 segundos de exhaustion? Só seria necessário um intervalo pra usar a runa novamente, em outra posição. Tente: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) local time = 3 -- seconds local stor = 98765 local v = getTileItemByType(variantToPosition(var), ITEM_TYPE_MAGICFIELD) if v.uid > 0 then return false elseif exhaustion.get(cid, stor) then return doPlayerSendCancel(cid, 'Cooldown['..exhaustion.get(cid, stor)..']') and false end return doCombat(cid, combat, var) and exhaustion.set(cid, stor, time) end The corrupt fear us. The honest support us. The heroic join us.
Postado Janeiro 17, 2015 10 anos Autor Em 17/01/2015 em 20:15, Suicide disse: Se você já verificou a positionToVariant como contendo uma magic wall, qual a necessidade de aplicar 20 segundos de exhaustion? Só seria necessário um intervalo pra usar a runa novamente, em outra posição. Tente: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) local time = 3 -- seconds local stor = 98765 local v = getTileItemByType(variantToPosition(var), ITEM_TYPE_MAGICFIELD) if v.uid > 0 then return false elseif exhaustion.get(cid, stor) then return doPlayerSendCancel(cid, 'Cooldown['..exhaustion.get(cid, stor)..']') and false end return doCombat(cid, combat, var) and exhaustion.set(cid, stor, time) end Obrigado pela ajuda mano, mais vai ser o que eu imaginava, source! ShopGuild Points 100% add em player offline. Dev c++ Compilando TFS no Windows [GlobalEvents] Perfect Lottery System(MySql) [GlobalEvents] ServeSave - Shutdown/Automático [Talkactions] Trade OFF - Shop Offline [Linux] Auto-Backup Database ShopGuild TFS 1.0PagSeguro Automático 100% Esse funciona![MYSQL] Backup_points Resetando e devolvendo os points automático.[LINUX] Montando OTserver em Debian perfeito.GesiorACC 2012 modificado o melhor!StreamTemple TFS 0.4 [8.60] MegaTibia
Postado Janeiro 17, 2015 10 anos Se quiser uma ultima tentativa... local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local tempo = 2 function onCastSpell(cid, var) if exhaustion.check(cid, 1000) == false then exhaustion.set(cid,1000, tempo) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]") end end Apenas mudei o tempo do exaust que o script confere para 2 segundos (que seria um tempo de cooldown da mw). Te ajudei?? REP + e ficamos quites... http://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'> Atenciosamente, Daniel. Abraços! Meus tutoriais: Programação: Resolvendo QUALQUER erro na data base. Scripts (system's, creaturescripts, mod's, NPC's, etc): (Sistema) GOD Ambient Light Full. Adicionando novas mounts ao servidor [NPC] Papai Noel que dá presente todo ano. Web-site: Resolvendo problema de caracteres especiais em PHP Formatando textos em PHP! Mudando a cor, tamanho, fonte, etc. Criando e configurando tabelas para paginas PHP
Postado Janeiro 17, 2015 10 anos Autor Em 17/01/2015 em 21:27, danihcv disse: Se quiser uma ultima tentativa... local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local tempo = 2 function onCastSpell(cid, var) if exhaustion.check(cid, 1000) == false then exhaustion.set(cid,1000, tempo) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]") end end Apenas mudei o tempo do exaust que o script confere para 2 segundos (que seria um tempo de cooldown da mw). Obrigado pela tentativa mano, podem fechar o tópico vou corrigir na source, TENTAR! ShopGuild Points 100% add em player offline. Dev c++ Compilando TFS no Windows [GlobalEvents] Perfect Lottery System(MySql) [GlobalEvents] ServeSave - Shutdown/Automático [Talkactions] Trade OFF - Shop Offline [Linux] Auto-Backup Database ShopGuild TFS 1.0PagSeguro Automático 100% Esse funciona![MYSQL] Backup_points Resetando e devolvendo os points automático.[LINUX] Montando OTserver em Debian perfeito.GesiorACC 2012 modificado o melhor!StreamTemple TFS 0.4 [8.60] MegaTibia
Postado Agosto 1, 2015 9 anos desculpe por reabrir o topico, e que eu acho que sei como... =P talvez assim? Mostrar conteúdo oculto local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var)if exhaustion.check(cid, 1000) == false then local tem_magic_wall = getTileItemById(variantToPosition(var), ID_DA_MW) if tem_magic_wall and tem_magic_wall > 0 thenexhaustion.set(cid,1000, 20) endreturn doCombat(cid, combat, var)elsedoPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]")endend se ajudei Natanael, por favor, me ajude no seu topico de compilação abraço Editado Agosto 1, 2015 9 anos por foxkbt (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.