Ir para conteúdo

Featured Replies

Postado

Ola pessoal. Esta acontecendo um bug muito sinistro nas minhas spells. Bom eu editei um script que faz uma estatua e ataca. Eu fiz com que crie um totem e depois ele de uma cura em area, e fiz com o mesmo modelo outra spell que faz um ataque em area. Isoladas elas funcionam, mas quando eu adiciono as 2 juntas as 2 ficam iguais é muito absurdo. 

 

Seguinte eu faço toda a spell de cura, uso ela in game, faz a estatua especifica de cura, e faz a magia de cura. Ai quando eu faço a spell de dano, ela cria a estuatua de dano, mas ela faz o mesmo efeito de cura da primeira spell. Sendo que no script não tem absolutamente nada de efeito de magia azul, nem efeito de cura, e só faz 1 wave de dano, o de cura faz 3. Ele copia exatamente a primeira spell. 

 

Ai se eu deleto a spell de cura, a de dano funciona automaticamente como tem que funcionar... 

 

Alguem porfavor tem alguma ideia do que seja isso? 

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

<instant name="Curse Totem" words="Curse Totem" lvl="40" mana="200" selftarget="0" agressive="1" exhaustion="1000" needlearn="0" event="script" value="cursetotem.lua">
<vocation id="6"/>
</instant>

<instant name="Life Totem" words="Life Totem" lvl="40" mana="400" agressive="0" exhaustion="1000" needlearn="0" event="script" value="exzential/lifetotem.lua">
<vocation id="6"/>
</instant>

 

SPELL 1

 

local config = {
    statue = 3804,
    range = 5,
    max_dmg = -1500,
    min_dmg = -500,
    hit_delay = 1000,
    statue_time = 10*1000,
    cd = 20,
    stg = 5570
}

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BLUEMAGIC)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -1, -12, 4, 4, 5, 9)

arr = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

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

function removeItem(pos)
    doRemoveItem(getTileItemById(pos, config.statue).uid)
end

function itemInteraction(cid, pos, var)

    addEvent(removeItem, config.statue_time, pos)
    addEvent(doSendAnimatedText, 300, pos, '3...', 215)
    addEvent(doSendAnimatedText, 900, pos, '2...', 215)
    addEvent(doSendAnimatedText, 1500, pos, '1...', 215)
    addEvent(doAreaCombatHealth, 2100, cid, COMBAT_HEALING, pos, area, 800, 1500, 12)
    addEvent(doAreaCombatHealth, 3000, cid, COMBAT_HEALING, pos, area, 800, 1500, 12)
    addEvent(doAreaCombatHealth, 3900, cid, COMBAT_HEALING, pos, area, 800, 1500, 12)

end

function onCastSpell(cid, var)
    if not isPlayer(cid) then return false end

    if getPlayerStorageValue(cid, config.stg) - os.time() <= 0 then
        setPlayerStorageValue(cid, config.stg, os.time() + config.cd)
        local pos = Position(getCreaturePosition(cid).x, getCreaturePosition(cid).y+1, getCreaturePosition(cid).z)
        doCreateItem(config.statue, 1, pos)
        itemInteraction(cid, pos, var)
    else
        doPlayerSendCancel(cid, "You're exhausted.")
    end
    return true
end

 

 

SPELL 2

 

local config = {
    statue = 3803,
    range = 5,
    max_dmg = -1500,
    min_dmg = -500,
    hit_delay = 1000,
    statue_time = 10*1000,
    cd = 20,
    stg = 5571
}

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -5, -1, -12, 4, 4, 5, 9)

arr = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

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

function removeItem(pos)
    doRemoveItem(getTileItemById(pos, config.statue).uid)
end

function itemInteraction(cid, pos, var)

    addEvent(removeItem, config.statue_time, pos)
    addEvent(doSendAnimatedText, 300, pos, '3...', 215)
    addEvent(doSendAnimatedText, 900, pos, '2...', 215)
    addEvent(doSendAnimatedText, 1500, pos, '1...', 215)
    addEvent(doAreaCombatHealth, 2100, cid, COMBAT_DEATHDAMAGE, pos, area, -800, -1500, 38)

end

function onCastSpell(cid, var)
    if not isPlayer(cid) then return false end

    if getPlayerStorageValue(cid, config.stg) - os.time() <= 0 then
        setPlayerStorageValue(cid, config.stg, os.time() + config.cd)
        local pos = Position(getCreaturePosition(cid).x, getCreaturePosition(cid).y+1, getCreaturePosition(cid).z)
        doCreateItem(config.statue, 1, pos)
        itemInteraction(cid, pos, var)
    else
        doPlayerSendCancel(cid, "You're exhausted.")
    end
    return true
end

 

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.8k

Informação Importante

Confirmação de Termo