Ae Erro!

Ae Erro!

Editado Abril 14 por Creatserv
Ae Erro!
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.
Msm erro pqp!
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.
testou em 8.54
info
Grupo: Herói
Registrado: 12/06/12
Posts: 1k
Reputação: +362
Gênero: Masculino
Char no Tibia: Aarow

Mais o script de edo tensei não deveria funcionar em corpos de players mortos ??
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 Abril 14 por Mateusoo

eo table esta assim
table.find = function (table, value)
for i, v in pairs(table) doif(v == value) thenreturn iendendreturn nilendtable.contains = function (txt, str)for i, v in pairs(str) doif(txt:find(v) and not txt:find('(%w+)' .. v) and not txt:find(v .. '(%w+)')) thenreturn trueendendreturn falseendtable.isStrIn = table.containstable.count = function (table, item)local count = 0for i, n in pairs(table) doif(item == n) thencount = count + 1endendreturn countendtable.countElements = table.counttable.getCombinations = function (table, num)local a, number, select, newlist = {}, #table, num, {}for i = 1, select doa[#a + 1] = iendlocal newthing = {}while(true) dolocal newrow = {}for i = 1, select donewrow[#newrow + 1] = table[a]endnewlist[#newlist + 1] = newrowi = selectwhile(a == (number - select + i)) doi = i - 1endif(i < 1) thenbreakenda = a + 1for j = i, select doa[j] = a + j - iendendreturn newlistend
Editado Abril 14 por Creatserv
Na moral mano, qual o level desse teu personagem ai?
+2000
+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.
Olha eu testeii como o acc com lvl 51 mais msm assim deu akele erro!
tenta testa no server que eu uso plix!
Testa o novo script e posta a foto ai.
Vou baixar o servidor aqui e testar.
info
Grupo: Campones
Registrado: 20/03/14
Posts: 78
Reputação: +15
Posta uma foto desse erro ai, deixa eu ver.
Aguardando.