--Edo Tensei System - By: Mateuso
--Table config deve conter o ID do corpo e o nome do monstro que será sumonado a partir daquele corpo
--[idcorpse] = {monster = "Nome do Monstro com a primeira letra MAIUSCULA"}
local config = {
[2806] = {monster = "Sasuke"},
[5984] = {monster = "Rat"}
}
--Table maxsummon deve conter o level, seguido da quantidade de summons que o player pode ter naquele level
--[level do player] = quantidade de summons
local maxsummon = {
[30] = 1,
[40] = 2,
[100] = 3,
[110] = 4,
[600] = 7
}
local vocations = {1,2,3,4}--Tabela com vocações permitidas
--Aqui deve conter todos os ids dos corpses que estão configurados na table config / EXTREMAMENTE NECESSARIO
local listcorpses = {2806, 5984}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(isInArray(listcorpses, itemEx.itemid)) then --Verifica se o corpse está na lista de corpses
local vocation = getPlayerVocation(cid)--Obtem a vocação do player
if(isInArray(vocations, vocation)) then--Verifica se o player tem vocação para usar
local monster = config[itemEx.itemid].monster --Indica o nome do monstro que será sumonado
local plevel = getPlayerLevel(cid) --Verifica o level de player
local summoncount = getSummonCount(cid) --Verifica a quantidade de summons que o player possui
if(summoncount < maxsummon[plevel]) then --Se a quantidade de summons do player for menor que a quantidade maxima
if(doPlayerRemoveItem(cid, item.itemid, 1)) then --Se for removido 1 ITEM de fazer o Edo Tensei
doConvinceCreature(cid, doCreateMonster(monster, toPosition)) --Cria a criatura e transforma ela em summon do player
doRemoveItem(itemEx.uid) --Remove o corpse da criatura do chão
doSendMagicEffect(toPosition, 4) --Manda um efeito sobre o corpse
doCreatureSay(cid, "EDO TENSEI", 19) --O player fala o texto
end
else--Se a quantidade de summons for maior ou igual ao maximo
doPlayerSendTextMessage(cid,22,"Você não consegue ter mais summons.")--Diz que player não pode ter mais summons
end
else
doPlayerSendTextMessage(cid,22,"Você não possui vocação para usar o Edo Tensei.")--Diz que player não tem vocação para usar
end
end
end
--Function getSummonCount(cid) By: Mateuso
--Função que obtem a quantidade de summons que o player possui
function getSummonCount(cid)
local array = getCreatureSummons(cid)
return table.getn(array)
end