Ir para conteúdo
  • Cadastre-se

(Resolvido)Wand + condition


Ir para solução Resolvido por nookia,

Posts Recomendados

Olá, tenho uma wand editada, onde cada hit tem dano diferente, eu gostaria que ao mesmo tempo, adicionasse a condição do ataque, como por exemplo, ataque de fogo, deixa condição de fogo...

Tentei utilizar o mesmo script de um bolt que adiciona a condição de fogo:

local combat = createCombatObject()


setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_INFERNALBOLT)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 50, 2000, -75)
setCombatCondition(combat, condition)

function onUseWeapon(cid, var)
    return doCombat(cid, combat, var)
end

 

Aqui, o script da wand:

local combat = createCombatObject()


    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, 43)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 36)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3700)
     
    local combat2 = createCombatObject()
    setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
    setCombatParam(combat2, COMBAT_PARAM_EFFECT, 31)
    setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 37)
    setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)
        
    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_EFFECT, 5)
    setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 3)
    setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3800)


    local combat4 = createCombatObject()
    setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
    setCombatParam(combat4, COMBAT_PARAM_EFFECT, 17)
    setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 10)
    setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)
     
    local combat5 = createCombatObject()
    setCombatParam(combat5, COMBAT_PARAM_TYPE, 1)
    setCombatParam(combat5, COMBAT_PARAM_EFFECT, 35)
    setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, 18)
    setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3800)
     
    local combat6 = createCombatObject()
    setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
    setCombatParam(combat6, COMBAT_PARAM_EFFECT, 48)
    setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, 4)
    setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)
     
    local combat7 = createCombatObject()
    setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
    setCombatParam(combat7, COMBAT_PARAM_EFFECT, 45)
    setCombatParam(combat7, COMBAT_PARAM_DISTANCEEFFECT, 38)
    setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)
     
    function onUseWeapon(cid, var)
    lucky = math.random(1, 7)
    if lucky == 1 then
    return doCombat(cid, combat, var)
    elseif lucky == 2 then
    return doCombat(cid, combat2, var)
    elseif lucky == 3 then
    return doCombat(cid, combat3, var)
    elseif lucky == 4 then
    return doCombat(cid, combat4, var)
    elseif lucky == 5 then
    return doCombat(cid, combat5, var)
    elseif lucky == 6 then
    return doCombat(cid, combat6, var)
    elseif lucky == 7 then
    return doCombat(cid, combat7, var)
    end
    end

 

Pegando só como exemplo o combat 3, que é sobre o fogo, eu tentei da seguinte maneira:

 

    local condition3 = createConditionObject(CONDITION_BURNING) // Tentei com CONDITION_FIRE também.
    setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
    addDamageCondition(condition, 50, 2000, -75)
    
    local combat3 = createCombatObject()
    setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combat3, COMBAT_PARAM_EFFECT, 5)
    setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 3)
    setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3800)
    setCombatCondition(combat3, condition3)

 

Tentei com a condition depois do combat também, mas mesmo assim não adiciona-se o efeito de burning no alvo..

Editado por M47r1x (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 43)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 36)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3700)
     
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 37)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)
        
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 5)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 3)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3800)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 17)
setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 10)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)
     
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 35)
setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, 18)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3800)
     
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 48)
setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, 4)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)
     
local combat7 = createCombatObject()
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 45)
setCombatParam(combat7, COMBAT_PARAM_DISTANCEEFFECT, 38)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -3900)

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 50, 2000, -75)
setCombatCondition(combat3, condition)
     
function onUseWeapon(cid, var)
lucky = math.random(1, 7)
if lucky == 1 then
return doCombat(cid, combat, var)
elseif lucky == 2 then
return doCombat(cid, combat2, var)
elseif lucky == 3 then
return doCombat(cid, combat3, var)
elseif lucky == 4 then
return doCombat(cid, combat4, var)
elseif lucky == 5 then
return doCombat(cid, combat5, var)
elseif lucky == 6 then
return doCombat(cid, combat6, var)
elseif lucky == 7 then
return doCombat(cid, combat7, var)
end
end

The medieval RpG Server

espada-barbara.jpg

[RpG] OLDWORLD OPEN TIBIA

Link para o post
Compartilhar em outros sites

eu gostaria que ao mesmo tempo, adicionasse a condição do ataque, como por exemplo, ataque de fogo, deixa condição de fogo...

O script acima só dará ao player a condição de fogo, não dará as dos outros elementos. Mas ok.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

O script acima só dará ao player a condição de fogo, não dará as dos outros elementos. Mas ok.

 

Sim, depois foi só seguir o exemplo que deu certo, segue abaixo:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 43)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 36)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -1700)
     
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 31)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 37)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -1900)
        
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 5)
setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 3)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -1800)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 17)
setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 10)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -1900)
     
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, 1)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 35)
setCombatParam(combat5, COMBAT_PARAM_DISTANCEEFFECT, 18)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -1800)
     
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 48)
setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, 4)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -1900)
     
local combat7 = createCombatObject()
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 45)
setCombatParam(combat7, COMBAT_PARAM_DISTANCEEFFECT, 38)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, 0, -100, 0, -1900)


local condition1 = createConditionObject(CONDITION_FREEZING)
setConditionParam(condition1, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition1, 50, 2000, -75)
setCombatCondition(combat, condition1)

local condition2 = createConditionObject(CONDITION_DAZZLED)
setConditionParam(condition2, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition2, 50, 2000, -75)
setCombatCondition(combat2, condition2)

local condition3 = createConditionObject(CONDITION_FIRE)
setConditionParam(condition3, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition3, 50, 2000, -75)
setCombatCondition(combat3, condition3)

local condition4 = createConditionObject(CONDITION_CURSED)
setConditionParam(condition4, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition4, 50, 2000, -75)
setCombatCondition(combat4, condition4)

local condition5 = createConditionObject(CONDITION_BLEEDING)
setConditionParam(condition5, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition5, 50, 2000, -75)
setCombatCondition(combat5, condition5)
 
local condition6 = createConditionObject(CONDITION_ENERGY)
setConditionParam(condition6, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition6, 50, 2000, -75)
setCombatCondition(combat6, condition6)

local condition7 = createConditionObject(CONDITION_POISON)
setConditionParam(condition7, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition7, 50, 2000, -75)
setCombatCondition(combat7, condition7)

function onUseWeapon(cid, var)
lucky = math.random(1, 7)
if lucky == 1 then
return doCombat(cid, combat, var)
elseif lucky == 2 then
return doCombat(cid, combat2, var)
elseif lucky == 3 then
return doCombat(cid, combat3, var)
elseif lucky == 4 then
return doCombat(cid, combat4, var)
elseif lucky == 5 then
return doCombat(cid, combat5, var)
elseif lucky == 6 then
return doCombat(cid, combat6, var)
elseif lucky == 7 then
return doCombat(cid, combat7, var)
end
end
Editado por M47r1x (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Eu sei como fazer, só citei o detalhe.

The corrupt fear us.

The honest support us.

The heroic join us.

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