Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera eu fiz uma alteração no server pra uma certa melhora, o problema é que essa melhora bugou o MW e tipo ele fica sem exhausted pra renovar, bom procurei e encontrei uma solução, mais contém outro problema, a MW se renova no tempo certo o problema é que se usar uma MW não posso usar outra em outro SQM só pode usar após os 20 segundos quando termina a que lancei, alguém tem algum palpite pra da?

 

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
exhaustion.set(cid,1000, 20)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid,1000).."]")
end
end

 

Link para o post
Compartilhar em outros sites

Tenta assim amigo:

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)
return doCombat(cid, combat, var)
end

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

 

Tenta assim amigo:

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)
return doCombat(cid, combat, var)
end

Mano isso ai é a MW normal, a minha pra funcionar é necessária algumas alterações assim como tem no code no topico, mais de qualquer forma obrigado pela intenção de ajuda.

 

 

Só aplica os 20s de cd se o tile que você usar a runa tiver uma mw existente.

 

É exatamente isso, mais você sabe fazer?

Editado por Natanael Beckman (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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="32" mana="750" soul="5" reagentId="2260" conjureId="2293" conjureCount="3" exhaustion="1000" groups="3,2000" icon="23" needlearn="0" event="function" value="conjureRune">
		<vocation id="1"/>
		<vocation id="5"/>
	</conjure>

O cooldown vc coloca o que vc quiser nessa parte:

exhaustion="1000"

 

 

 

Agora atenção!

Existem 2 partes relacionadas à mw. Uma relacionada ao script magic wall rune e o outro que é da magia. O que vc deve deixar igual ao que eu mandei é o relativo à magia!

 

Aguardo resposta pra saber se funcionou. ^^

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Só aplica os 20s de cd se o tile que você usar a runa tiver uma mw existente.

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

Link para o post
Compartilhar em outros sites

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!

Link para o post
Compartilhar em outros sites

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... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

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!

Link para o post
Compartilhar em outros sites
  • 6 months later...

desculpe por reabrir o topico, e que eu acho que sei como...
=P
talvez assim?


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)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo