Ir para conteúdo

Edo Tensei Nto Ultimate


Creatserv

Posts Recomendados

Ae Erro!

yxpt.png

Experimenta ai:

 

--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 configcorpses = {
[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 configcorpses / EXTREMAMENTE NECESSARIO
local listcorpses = {2806, 5984}

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


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 = configcorpses[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

Aguardando resposta.

Abraço.

Link para o comentário
Compartilhar em outros sites

Msm erro pqp!

Mesmo erro com certeza?

Da outra vez você disse que era o mesmo erro, e o erro era em uma função diferente.

Manda a foto ou o que está escrito.

Sempre que der algum erro, poste a foto se possivel.

Abraços.

Link para o comentário
Compartilhar em outros sites

Mais o script de edo tensei não deveria funcionar em corpos de players mortos ??

Pode-se fazer em qualquer item na verdade... E como ressuscitaria um player?

 

 

testou em 8.54

Não, estou utilizando um server 8.6 para fazer os testes.

Deixe-me verificar algumas funções para ver se o 8.54 não possui as quais eu estou usando.

Aguarde.

 

 

~Edit

Experimenta agora:

 

--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
print(summoncount)
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)
local count = 0
  for _ in pairs(array) do 
  count = count + 1
  end
  return count
end

Se der algum erro posta a foto ai.

Abraços e aguardando.

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

Deuu esse erro aki

a3se.png

 

eo table esta assim

 

table.find = function (table, value)

for i, v in pairs(table) do
if(v == value) then
return i
end
end
return nil
end
table.contains = function (txt, str)
for i, v in pairs(str) do
if(txt:find(v) and not txt:find('(%w+)' .. v) and not txt:find(v .. '(%w+)')) then
return true
end
end
return false
end
table.isStrIn = table.contains
table.count = function (table, item)
local count = 0
for i, n in pairs(table) do
if(item == n) then
count = count + 1
end
end
return count
end
table.countElements = table.count
table.getCombinations = function (table, num)
local a, number, select, newlist = {}, #table, num, {}
for i = 1, select do
a[#a + 1] = i
end
local newthing = {}
while(true) do
local newrow = {}
for i = 1, select do
newrow[#newrow + 1] = table[a]
end
newlist[#newlist + 1] = newrow
i = select
while(a == (number - select + i)) do
i = i - 1
end
if(i < 1) then
break
end
a = a + 1
for j = i, select do
a[j] = a + j - i
end
end
return newlist
end
Editado por Creatserv
Link para o comentário
Compartilhar em outros sites

+2000

Porem o script está configurado para levels 600-.

--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,
[50000] = 10
}
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)
local count = 0
  for _ in pairs(array) do 
  count = count + 1
  end
  return count
end

Testa assim agora, você tem que ter arrumar a tabela de Maxsummons tambem, lembra que tem que ter um limite. Botei pra até level 50000 poder ter até 10 summons, se o seu servidor é possivel chegar até level maior que 50000 você deve colocar na tabela Maxsummons, teste o codigo ai e posta uma foto se der algum erro.

Abraço.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...