Ir para conteúdo

[Encerrado] [Encerrado] [RESOLVIDO] Magia não tem exhaust[RESOLVIDO]


yoroshigod

Posts Recomendados

O intuito é conseguir deixar o exhaust em média de uns 3 a 5 segundos, porém mesmo alterando no spells.xml não muda nada.

 

Script no Spell.xml:

Citar

<instant name="Water Bloodcontrol" words="w-blood" lvl="40" mana="0" needtarget="1" prem="0" range="6" exhaustion="3000" needlearn="0" script="dobras/AGUA/w-bloodcontrol.lua">

 

Script da Magia:

 

Citar

local tempo = 2.0 -- em segundos
local function push(cid, target)

                local direction = getCreatureLookDirection(cid)

                local x = (direction == 1 and 1 or (direction == 3 and -1 or 0))

                local y = (direction == 0 and -1 or (direction == 2 and 1 or 0))

                local position = getCreaturePosition(target)

                position.x = position.x + x

                position.y = position.y + y

                if doTileQueryAdd(target, position) == RETURNVALUE_NOERROR then

                        doTeleportThing(target, position, true)

                end

end

local spell = {}
spell.config = {
    [15] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [14] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [13] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [12] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [11] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [10] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [9] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [8] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [7] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [6] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [5] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [4] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
        [3] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
        [2] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    },
    [1] = {
        damageType = COMBAT_PHYSICALDAMAGE,
        areaEffect = 13,
        area = {
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 3, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0}
        }       
    }
}
       
spell.combats = {}
local exhaustion = {}
for _, config in ipairs(spell.config) do
    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, config.damageType)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, 53)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, -38, 0, 0)
    function onTargetCreature(cid, target)
        addEvent(push, 100, cid, target)
    end
    setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")
    setCombatArea(combat, createCombatArea(config.area))
    table.insert(spell.combats, combat)
end
function onCastSpell(cid, var)
    if not isCreature(cid) then
        return true
    end
    local guid = getPlayerGUID(cid)
    if exhaustion[guid] and exhaustion[guid] - os.clock() > 0 then
        return not doPlayerSendCancel(cid, "You are still exhausted from this spell.")
    end
        exhaustion[guid] = os.clock() + tempo
    doSendAnimatedText(getThingPos(cid), "Blood", 35)
    for n = 1, #spell.combats do
        addEvent(doCombat, (n * 400) - 400, cid, spell.combats[n], var)
    end
  return true
end

 

 

 

RESOLVIDO POR CONTRA PRÓPRIA

Editado por yoroshigod
Link para o comentário
Compartilhar em outros sites

  • 4 months later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...