Ir para conteúdo

Featured Replies

Postado
1 hora atrás, GM Vortex disse:

vamos tentar aqui:


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)

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

function onCastSpell(cid, var)
    local pos = getCreaturePosition(cid) 
    local creatures = {}  

    for _, target in ipairs(getSpectators(pos, -1, -1, false)) do
        if isCreature(target) and (isPlayer(target) or isMonster(target)) then
            table.insert(creatures, target)  
        end
    end

    if #creatures > 0 then
        doCreatureSay(cid, "Prepare to be drained!", TALKTYPE_MONSTER)
        for _, target in ipairs(creatures) do
            local first = getCreatureHealth(target)
            doCreatureSay(target, "Uh-oh, I'm getting drained!", TALKTYPE_MONSTER)
            if doCombat(cid, combat, var) == LUA_NO_ERROR then
                local second = getCreatureHealth(target)
                local damage = first - second
                if damage > 0 then
                    local addhealth = damage * 0.5
                    doCreatureAddHealth(cid, addhealth)
                    doSendAnimatedText(getCreaturePosition(target), "+" .. addhealth, TEXTCOLOR_GREEN)
                    doSendMagicEffect(getCreaturePosition(target), CONST_ME_MAGIC_GREEN)
                    doSendDistanceShoot(getCreaturePosition(target), pos, 40)
                end
            end
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Nenhum alvo válido encontrado.")
    end

    return true
end

 

 

[Error - Spell Interface] 
data/spells/scripts/attack/rage of the blood.lua:onCastSpell
Description: 
data/spells/scripts/attack/rage of the blood.lua:14: bad argument #1 to 'ipairs' (table expected, got nil)
stack traceback:
	[C]: in function 'ipairs'
	data/spells/scripts/attack/rage of the blood.lua:14: in function 

😪

20120329195100.jpg
  • Respostas 11
  • Visualizações 2.1k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)

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

function onCastSpell(cid, var)
    local pos = getCreaturePosition(cid) 
    local creatures = getSpectators(pos, 3, 3, false) 

    if creatures then
        local validTargets = {}  

      
        for _, target in ipairs(creatures) do
            if isCreature(target) and (isPlayer(target) or isMonster(target)) then
                table.insert(validTargets, target)  
            end
        end

        if #validTargets > 0 then
            doCreatureSay(cid, "Prepare to be drained!", TALKTYPE_MONSTER)
            for _, target in ipairs(validTargets) do
                local first = getCreatureHealth(target)
                doCreatureSay(target, "Uh-oh, I'm getting drained!", TALKTYPE_MONSTER)
                if doCombat(cid, combat, var) == LUA_NO_ERROR then
                    local second = getCreatureHealth(target)
                    local damage = first - second
                    if damage > 0 then
                        local addhealth = damage * 0.5
                        doCreatureAddHealth(cid, addhealth)
                        doSendAnimatedText(getCreaturePosition(target), "+" .. addhealth, TEXTCOLOR_GREEN)
                        doSendMagicEffect(getCreaturePosition(target), CONST_ME_MAGIC_GREEN)
                        doSendDistanceShoot(getCreaturePosition(target), pos, 40)
                    end
                end
            end
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Nenhum alvo válido encontrado.")
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Nenhum alvo válido encontrado.")
    end

    return true
end

agora sim... Se você não gostou dessa mensagem, pode remover essa linha xD

 

Editado por GM Vortex (veja o histórico de edições)

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

Informação Importante

Confirmação de Termo