Postado Outubro 8, 2020 4 anos Em 07/10/2020 em 20:50, Vodkart disse: @Jeff Delay tentou trocar a função? trocar essa linha: doCreateMonster(x:match("%s(.+)"), pos) por doSummonCreature(x:match("%s(.+)"), pos) @Jeff Delay posta seu código aqui pra mim dar uma olhada... tentei sim e da esse erro (LuaInterface::luaDoCreateNpc) Npc with name 'Bunny' not found <?xml version="1.0" encoding="UTF-8"?> <mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="tibiaking.com" enabled="yes"> <config name="raids_func"> <![CDATA[ days = { -- Segunda ["Monday"] = { ["13:52"] = {nome = "Bunny", pos = {fromPosition = {x = 1919, y = 2058, z = 7},toPosition = {x = 2145, y = 2260, z = 7}}, m = {"50 Bunny"}, Time = 15} }, -- Terça ["Tuesday"] = { ["13:52"] = {nome = "Bunny", pos = {fromPosition = {x = 1919, y = 2058, z = 7},toPosition = {x = 2145, y = 2260, z = 7}}, m = {"50 Bunny"}, Time = 15} }, -- Quarta ["Wednesday"] = { ["22:01"] = {nome = "Bunny", pos = {fromPosition = {x = 1919, y = 2058, z = 7},toPosition = {x = 2145, y = 2260, z = 7}}, m = {"50 Bunny"}, Time = 15} }, -- Quinta ["Tursday"] = { ["13:52"] = {nome = "Bunny", pos = {fromPosition = {x = 1919, y = 2058, z = 7},toPosition = {x = 2145, y = 2260, z = 7}}, m = {"50 Bunny"}, Time = 15} }, -- Sexta ["Friday"] = { ["13:52"] = {nome = "Bunny", pos = {fromPosition = {x = 1919, y = 2058, z = 7},toPosition = {x = 2145, y = 2260, z = 7}}, m = {"50 Bunny"}, Time = 15} }, -- Sábado ["Saturday"] = { ["13:52"] = {nome = "Bunny", pos = {fromPosition = {x = 1919, y = 2058, z = 7},toPosition = {x = 2145, y = 2260, z = 7}}, m = {"50 Bunny"}, Time = 15} }, -- Domingo ["Sunday"] = { ["13:52"] = {nome = "Bunny", pos = {fromPosition = {x = 1919, y = 2058, z = 7},toPosition = {x = 2145, y = 2260, z = 7}}, m = {"50 Bunny"}, Time = 15} }, } ]]></config> <globalevent name="AutomaticRaids" interval="60000" event="script"><![CDATA[ domodlib('raids_func') function onThink(interval, lastExecution) function isWalkable(pos) -- by Nord / editado por Omega if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false elseif isCreature(getTopCreature(pos).uid) then return false elseif getTileInfo(pos).protection then return false elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then return false end return true end if days[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tb = days[os.date("%A")][hours] if tb then function removeCreature(tb) for x = ((tb.pos.fromPosition.x)-20), ((tb.pos.toPosition.x)+20) do for y = ((tb.pos.fromPosition.y)-20), ((tb.pos.toPosition.y)+20) do local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid if m ~= 0 and isMonster(m) then doSendMagicEffect(getCreaturePosition(m), 54) -- Efeito no monstro quando for removido doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido doRemoveCreature(m) end end end end doBroadcastMessage("invasion " .. tb.nome .. " started, in 15 minutes everyone will disappear") -- Mensagem que vai aparecer para todos do servidor quando a invasão iniciar for _ , x in pairs(tb.m) do local c = tonumber(x:match("%d+")) if c > 0 then repeat local pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z} if isWalkable(pos) then doCreateMonster(x:match("%s(.+)"), pos) local pos2 = {x=pos.x+1, y=pos.y+0, z=pos.z+0} doSendMagicEffect(pos2, 1077) -- Efeito no monstro quando ele nascer doSendMagicEffect(pos, 1043) -- Efeito no monstro quando ele nascer c = c-1 end until c == 0 end end addEvent(removeCreature, tb.Time*60*1000, tb) addEvent(doBroadcastMessage, tb.Time*60*1000, "A invasão de " .. tb.nome .. " acabou.") -- Mensagem que vai aparecer para todos do servidor quando a invasão iniciar end end return true end ]]></globalevent> </mod>
Postado Outubro 8, 2020 4 anos @Jeff Delay então tenta usar a linha assim: doCreateMonster(x:match("%s(.+)"), pos, false) ou doCreateMonster(x:match("%s(.+)"), pos, false, false) Editado Outubro 8, 2020 4 anos por Vodkart (veja o histórico de edições) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Outubro 8, 2020 4 anos Em 08/10/2020 em 01:42, Vodkart disse: @Jeff Delay então tenta usar a linha assim: doCreateMonster(x:match("%s(.+)"), pos, false) ou doCreateMonster(x:match("%s(.+)"), pos, false, false) tentei de vários modos, algo que fiz também foi reduzir a area de invocação pois poderia estar tentando sumonar em areas de montanha ou rios também, conclusão é que ele tenta sumonar em local fechado ou proibido como pz, montanhas e rios, quando sumona em area menor não da erro porem o jogo trava todo, quem ta logado não desloga, não tem como ninguém mais logar. uso OTX2 860 Editado Outubro 8, 2020 4 anos por Jeff Delay (veja o histórico de edições)
Postado Outubro 8, 2020 4 anos @Jeff Delay lógico, se você colocar para summonar por exemplo 30 Bunny em uma area de 20 SQM, vai ficar um loop infinito. Outra coisa, eu testei no meu servidor o seu código + código do Bunny e não apresentou erro. Qual seu distro e server? tenta criar uma talk e ver se aparece esse erro local pos = {x = 1919, y = 2058, z = 7} doCreateMonster("Bunny", pos) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Novembro 15, 2021 3 anos Eu usei esse sistema, assim que ele começa o servidor começa travar, uso de CPU vai nas alturas. Pelo jeito é por um bloqueio que, onde deveria nascer um bicho no SQM, já existe uma parede ou árvore. Não existe alguma alternativa pra isso? Em 15/11/2021 em 20:53, Bruno Rezende disse: Eu usei esse sistema, assim que ele começa o servidor começa travar, uso de CPU vai nas alturas. Pelo jeito é por um bloqueio que, onde deveria nascer um bicho no SQM, já existe uma parede ou árvore. Não existe alguma alternativa pra isso? @Vodkart
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.