Ir para conteúdo
  • 0

[PEDIDO] Spell Tamborzão da Macumba


Vorkhon

Pergunta

Fala pessoal. Eu peguei um script de magia que cria uma estatua que ataca e some. Ai eu pensei em modificar ela e fazer com que surja um tambor que fica por tempo limitado. E quando se da use nesse tambor ele continua tocando a musica dele, e tambem da uma cura em area. Toda vez que toca ele cura em area. Tinha que limitar pra nao poder da spam muito rapido na cura. 

OBs: Esse scrip que eu postei não ta tirando dano dos bixos voces sabem o que pode ser? Tambem queria saber se é possivel essa estatua fazer uma area de poison.

 

Segue o script base:

 

local config = {
    statue = 2367,
    range = 5,
    max_dmg = -150,
    min_dmg = -50,
    hit_delay = 1000,
    statue_time = 10*1000,
    cd = 20,
    stg = 5570
}

local max_hits = config.statue_time/config.hit_delay

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatFormula(combat, COMBAT_FORMULA_DAMAGE, 0, config.min_dmg, 0, config.max_dmg)

local condition = createConditionObject(CONDITION_INFIGHT)
setConditionParam(condition, CONDITION_PARAM_TICKS, 10 * 1000)

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

function attackSpecs(cid, pos, var, hits)
n = hits or 0

    if n >= max_hits then return false end

    local spec = getSpectators(pos, config.range, config.range)
    i = spec[math.random(1, #spec)]
    
if #spec <= 1 then return false end
    while(i == cid) do
        i = spec[math.random(1, #spec)] 
    end
        if isCreature(i) then
            var.pos = getCreaturePosition(i)
            doSendDistanceShoot(pos, var.pos, CONST_ANI_SUDDENDEATH)
            doCombat(cid, combat, var)
        end

    addEvent(attackSpecs, config.hit_delay, cid, pos, var, n+1)
end

function itemInteraction(cid, pos, var)
    attackSpecs(cid, pos, var)
    addEvent(removeItem, config.statue_time, pos)
end

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

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

 

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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

  • Quem Está Navegando   0 membros estão online

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