Ir para conteúdo

Featured Replies

Postado

Boa tarde, usuários do TibiaKing. Migrei recentemente pra TFS versão 1.4.1, 1098. E como sou usuáruio das 0.3, estou tendo algumas dificuldades com transferir magias.

Minha dúvida é em questão das addDamageCondition. Quero criar uma magia chamada "EXORI BLEED", que dá o dano normal, como um exori, mas cria a Condition de Bleeding, por 10 segundos, a cada segundo o inimigo que recebeu o dano fica por 10 segundos com ticks de 1500 (hemorragia).

Essa é a spell no TFS 0.3.6.

Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0, -2000, -0, -2000)

local condition = createConditionObject(CONDITION_EMO)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 10, 1000, -2000)
setCombatCondition(combat, condition)

local arr = {
{1, 1, 1},
{1, 2, 1},
{1, 1, 1}
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

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

 

E agora minha tentativa (falha), na TFS atual, 1.4.1

 

Spoiler

local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
combat:setParameter(COMBAT_PARAM_USECHARGES, true)
combat:setArea(createCombatArea(AREA_SQUARE1X1))

function onGetFormulaValues(player, skill, attack, factor)
    local min = (player:getLevel() / 1) + (skill * attack * 2) + 4
    local max = (player:getLevel() / 2) + (skill * attack * 3) + 5
    return -min, -max
end

local condition = Condition(CONDITION_BLEEDING)
condition:setParameter(CONDITION_PARAM_TICKS, 6000)
condition:setFormula(6, 1000, 1500)
creature:addDamageCondition(creature, CONDITION_BLEEDING, DAMAGELIST_CONSTANT_PERIOD, 10, 1, 1500)

combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(creature, variant)
    return combat:execute(creature, variant)
end
 

 

Se alguém puder me auxiliar nisso, agradeço muito!

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 520.2k

Informação Importante

Confirmação de Termo