Ir para conteúdo

Featured Replies

Postado

  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
  • Respostas 9
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Então vamos fazer assim: colocar o cooldown no arquivo spells.xml. Vá no seu spells.xml e procure pela tag da magic wall e deixa ela assim: <conjure name="Magic Wall" words="adevo grav tera" lvl

  • 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 po

Postado
  • 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!

Postado

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).

Postado
  • 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!

  • 6 months later...
Postado

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 then
exhaustion.set(cid,1000, 20)
end

return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]")
end
end


 

se ajudei Natanael, por favor, me ajude no seu topico de compilação
abraço

Editado 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo