Ir para conteúdo
  • 0

Scripts Spells


julhinhuu

Pergunta

Ajuda com essa spells, gostaria que o player soltasse sem esta em party.

local combat = createCombatObject()
local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 10)

function onCastSpell(cid, var)
    local pos = getCreaturePosition(cid)
    if(getPlayerParty(cid) == nil) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end

    local membersList = getPartyMembers(cid)
    if(type(membersList) ~= 'table' or table.maxn(membersList) <= 1) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end

    local affectedList = {}
    for _, pid in ipairs(membersList) do
        if(getDistanceBetween(getCreaturePosition(pid), pos) <= 36) then
            table.insert(affectedList, pid)
        end
    end

    local tmp = table.maxn(affectedList)
    if(tmp <= 1) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end

    local mana = (tmp * 50)
    if(getCreatureMana(cid) < mana) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end

    if(doCombat(cid, combat, var) ~= LUA_NO_ERROR) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end

    doCreatureAddMana(cid, -mana, FALSE)
    doPlayerAddSpentMana(cid, mana)
    for _, pid in ipairs(affectedList) do
        doAddCondition(pid, condition)
    end

    return LUA_NO_ERROR
end

Agradeço desde já

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

 

Remova:

    if(getPlayerParty(cid) == nil) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end
 
    local membersList = getPartyMembers(cid)
    if(type(membersList) ~= 'table' or table.maxn(membersList) <= 1) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end
 
    local affectedList = {}
    for _, pid in ipairs(membersList) do
        if(getDistanceBetween(getCreaturePosition(pid), pos) <= 36) then
            table.insert(affectedList, pid)
        end
    end
 
    local tmp = table.maxn(affectedList)
    if(tmp <= 1) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end

 

 

[17/9/2015 17:43:13] [Error - Spell Interface]

[17/9/2015 17:43:13] data/spells/scripts/suport/support club.lua:onCastSpell

[17/9/2015 17:43:13] Description:

[17/9/2015 17:43:13] data/spells/scripts/suport/support club.lua:16: attempt to perform arithmetic on global 'tmp' (a nil value)

[17/9/2015 17:43:13] stack traceback:

[17/9/2015 17:43:14] data/spells/scripts/suport/support club.lua:16: in function <data/spells/scripts/suport/support club.lua:13>

 

 

@Edit

 

Consegui arrumar aqui... Obrigado por tentar ajudar.

local combat = createCombatObject()
local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 10)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
Editado por julhinhokullitz
Link para o comentário
Compartilhar em outros sites

  • 0

Remova:

    if(getPlayerParty(cid) == nil) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end
 
    local membersList = getPartyMembers(cid)
    if(type(membersList) ~= 'table' or table.maxn(membersList) <= 1) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end
 
    local affectedList = {}
    for _, pid in ipairs(membersList) do
        if(getDistanceBetween(getCreaturePosition(pid), pos) <= 36) then
            table.insert(affectedList, pid)
        end
    end
 
    local tmp = table.maxn(affectedList)
    if(tmp <= 1) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE)
        doSendMagicEffect(pos, CONST_ME_POFF)
        return LUA_ERROR
    end
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...