Ir para conteúdo

Featured Replies

Postado

Como o título já diz, gostaria que alguém transformasse esse talkaction em uma spell.

Segue o script:

 

local storage = 79845 --storage para o exhaustion
local tempo = 5 --em segundos

local monsters = {
[1] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 2  },
[2] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4  },
[5] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4  },
[6] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 6  },
[9] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 6  },
[10] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 8  },
}

function onSay(cid, words, param, channel)
if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, 22, "You are exhausted.")
return true
end

    --Player Status
    local playerpos = getPlayerPosition(cid)
    param = string.lower(param)
    local loop = 0
  
    function checkSummon()
        for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do
            if param == k then
                return true
            end
        end
        return false
    end
  
    if not checkSummon() then
        doPlayerSendCancel(cid, "You can't summon this monster.")
        return true
    end
  
    for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do
        if (param == k) then
            if (monsters[getPlayerVocation(cid)]) and #getCreatureSummons(cid) >= monsters[getPlayerVocation(cid)].maxSummons then
                return doPlayerSendCancel(cid, "Você já tem sumons demais.")
            else
            --Summon
                if getPlayerLevel(cid) < v.level then
                    return doPlayerSendCancel(cid, "Você não possui level suficiente.")
                elseif getCreatureMana(cid) < v.mana then
                    return doPlayerSendCancel(cid, "Você não possui mana suficiente.")
                end
                    doConvinceCreature(cid, doCreateMonster(param, playerpos))
                    doPlayerAddMana(cid, -v.mana, false)
                    exhaustion.set(cid, storage, tempo)
                    doSendMagicEffect(playerpos, 2)
                return true
            end
        end
    end
    return true
end

 

  • Respostas 7
  • Visualizações 374
  • Created
  • Última resposta

Top Posters In This Topic

Postado
local storage = 79845 --storage para o exhaustion
local tempo = 5 --em segundos

local monsters = {
[1] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 2  },
[2] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4  },
[5] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4  },
[6] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 6  },
[9] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 6  },
[10] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 8  },
}

function onCastSpell(cid, var)
if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, 22, "You are exhausted.")
return true
end

    --Player Status
    local playerpos = getPlayerPosition(cid)
    param = string.lower(param)
    local loop = 0
  
    function checkSummon()
        for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do
            if param == k then
                return true
            end
        end
        return false
    end
  
    if not checkSummon() then
        doPlayerSendCancel(cid, "You can't summon this monster.")
        return true
    end
  
    for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do
        if (param == k) then
            if (monsters[getPlayerVocation(cid)]) and #getCreatureSummons(cid) >= monsters[getPlayerVocation(cid)].maxSummons then
                return doPlayerSendCancel(cid, "Você já tem sumons demais.")
            else
            --Summon
                if getPlayerLevel(cid) < v.level then
                    return doPlayerSendCancel(cid, "Você não possui level suficiente.")
                elseif getCreatureMana(cid) < v.mana then
                    return doPlayerSendCancel(cid, "Você não possui mana suficiente.")
                end
                    doConvinceCreature(cid, doCreateMonster(param, playerpos))
                    doPlayerAddMana(cid, -v.mana, false)
                    exhaustion.set(cid, storage, tempo)
                    doSendMagicEffect(playerpos, 2)
                return true
            end
        end
    end
    return true
end

Testa ai pega uma tag ai de summon slá nem testei aqui

Conteúdos Tragos Por Mim ao Fórum:

Venda de Vocações [Modern Aac] •

• Comando !Saga 

• [Modern Aac] DragonBall 

• Esconder •

• Naruto 2018

• • •

• •

'NtoProject - Breve'

[Show OFF] Disponível

Postado
  • Autor

Deu esse erro:

 

..../sumon.lua:onCastSpell
Description:
..../sumon.lua:21: bad argument #1 to 'lower' <string expected, got nil>
stack traceback:
[C]: in function 'lower'
....sumon.lua:21: in fuction <data/spells/scripts/summon/sumon.lua:13>

  • 2 weeks later...

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

Informação Importante

Confirmação de Termo