Postado Fevereiro 25, 2019 6 anos 3 minutos atrás, Brunds disse: @BangxD então eu testei novamente o erro foi meu mesmo não da erro nenhum na distro apenas não sumona o mob dentro das casas etc.. Obrigado Agora, Vodkart disse: @BangxD no meu último post eu coloquei para não summonar monstro na agua e nem em houses! coloquei efeito quando for removido e quando eles nascer tbm... Muito obrigado!
Postado Fevereiro 27, 2019 6 anos Em 25/02/2019 em 10:04, Vodkart disse: <?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"> -- Mini-tutorial de configuração -- Não esqueça de configurar os horários que o evento vai iniciar (OBS: O script sempre pega o horário da maquina caso a sua maquina ou vps -- usar horário de outros lugares vai ter atraso dependendo do fuso-horário -- nome = Nome do evento que vai mostrar em mensagem vermelha para o servidor todo -- pos = fromPosition = Canto Superior Direito -- pos = toPosition = Canto Inferior Esquerdo -- Configurando a pos corretamente pode formar um quadrado ou retangulo para os monstro não nascerem um em cima do outro -- m = Quantidade e tipos de monstro a serem criados, pode seguir a lógica do nome do evento podendo colocar Orc porém na invasão vai ter orc, orc shaman, orc spear etc... -- Time = Tempo que a invasão vai durar caso colocar time = 10 a invasão vai durar 10 minutos depois de 10 minutos os monstros restantes serão removidos <![CDATA[ days = { -- Segunda ["Monday"] = { ["17:00"] = {nome = "Renegados", pos = {fromPosition = {x=1019, y=916, z=7},toPosition = {x=1033, y=922, z=7}},m = {"6 Renegade", "5 Bandit", "2 Shinobi Archer"}, Time = 1}, ["22:00"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20} }, -- Terça ["Tuesday"] = { ["17:00"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["22:00"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} }, -- Quarta ["Wednesday"] = { ["17:00"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["22:00"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} }, -- Quinta ["Tursday"] = { ["17:00"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["22:00"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} }, -- Sexta ["Friday"] = { ["17:00"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["22:00"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} }, -- Sábado ["Saturday"] = { ["17:00"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["22:00"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} }, -- Domingo ["Sunday"] = { ["20:33"] = {nome = "renegados", pos = {fromPosition = {x=1019, y=916, z=7},toPosition = {x=1033, y=922, z=7}}, m = {"1 Renegade", "1 Bandit", "1 Shinobi Archer"}, Time = 1}, ["22:00"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} } } ]]></config> <globalevent name="AutomaticRaids" interval="60" 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), CONST_ME_MORTAREA) doRemoveCreature(m) end end end end doBroadcastMessage("Uma orda de " .. tb.nome .. " esta invadindo a cidade ajude a defende-la") -- 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) doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE) addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE) addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA) doSendMagicEffect(pos, CONST_ME_MORTAREA) 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, os sobreviventes fugiram") -- Mensagem que vai aparecer para todos do servidor quando a invasão iniciar end end return true end ]]></globalevent> </mod> nao tive exito em fazer funcionar para servidor em milesegundos, pode da essa moral? uso otx tibia 8.6 [Error - GlobalEvent Interface] [27/2/2019 11:34:44] domodlib('raids_func') [27/2/2019 11:34:44] function onThink(interval, lastExecution) [27/2/2019 11:34:44] function isWalkable(pos) [27/2/2019 11:34:44] if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then [27/2/2019 11:34:44] return false [27/2/2019 11:34:44] elseif isCreature(getTopCreature(pos).uid) then [27/2/2019 11:34:44] return false [27/2/2019 11:34:44] elseif getTileInfo(pos).protection then [27/2/2019 11:34:44] return false [27/2/2019 11:34:44] elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then [27/2/2019 11:34:44] return false [27/2/2019 11:34:44] end [27/2/2019 11:34:44] return true [27/2/2019 11:34:44] end [27/2/2019 11:34:44] [27/2/2019 11:34:44] if days[os.date("%A")] then [27/2/2019 11:34:44] hours = tostring(os.date("%X")):sub(1, 5) [27/2/2019 11:34:44] tb = days[os.date("%A")][hours] [27/2/2019 11:34:44] if tb then [27/2/2019 11:34:44] function removeCreature(tb) [27/2/2019 11:34:44] for x = ((tb.pos.fromPosition.x)-20), ((tb.pos.toPosition.x)+20) do [27/2/2019 11:34:44] for y = ((tb.pos.fromPosition.y)-20), ((tb.pos.toPosition.y)+20) do [27/2/2019 11:34:44] local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid [27/2/2019 11:34:44] if m ~= 0 and isMonster(m) then [27/2/2019 11:34:44] doSendMagicEffect(getCreaturePosition(m), CONST_ME_MORTAREA) [27/2/2019 11:34:44] doRemoveCreature(m) [27/2/2019 11:34:44] end [27/2/2019 11:34:44] end [27/2/2019 11:34:45] end [27/2/2019 11:34:45] end [27/2/2019 11:34:45] doBroadcastMessage("Uma orda de " .. tb.nome .. " esta invadindo a cidade ajude a defende-la") [27/2/2019 11:34:45] for _ , x in pairs(tb.m) do [27/2/2019 11:34:45] local c = tonumber(x:match("%d+")) [27/2/2019 11:34:45] if c > 0 then [27/2/2019 11:34:45] repeat [27/2/2019 11:34:45] 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} [27/2/2019 11:34:45] if isWalkable(pos) then [27/2/2019 11:34:45] doCreateMonster(x:match("%s(.+)"), pos) [27/2/2019 11:34:45] doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE) [27/2/2019 11:34:45] addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE) [27/2/2019 11:34:45] addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA) [27/2/2019 11:34:45] doSendMagicEffect(pos, CONST_ME_MORTAREA) [27/2/2019 11:34:45] c = c-1 [27/2/2019 11:34:45] end [27/2/2019 11:34:45] until c == 0 [27/2/2019 11:34:45] end [27/2/2019 11:34:45] end [27/2/2019 11:34:45] addEvent(removeCreature, tb.Time*60*1000, tb) [27/2/2019 11:34:45] addEvent(doBroadcastMessage, tb.Time*60*1000, "A invasão de " .. tb.nome .. " acabou, os sobreviventes fugiram") [27/2/2019 11:34:45] end [27/2/2019 11:34:45] end [27/2/2019 11:34:45] return true [27/2/2019 11:34:45] end [27/2/2019 11:34:45] :onThink [27/2/2019 11:34:45] Description: [27/2/2019 11:34:45] [string "LuaInterface::loadBuffer"]:36: bad argument #2 to 'random' (interval is empty) [27/2/2019 11:34:45] stack traceback: [27/2/2019 11:34:46] [C]: in function 'random' [27/2/2019 11:34:46] [string "LuaInterface::loadBuffer"]:36: in function <[string "LuaInterface::loadBuffer"]:2> [27/2/2019 11:34:46] [Error - GlobalEvents::think] Couldn't execute event: AutomaticRaids Editado Fevereiro 27, 2019 6 anos por Sdrula (veja o histórico de edições)
Postado Fevereiro 27, 2019 6 anos @Sdrula troca ESSA parte: <globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[ por <globalevent name="AutomaticRaids" interval="60000" event="script"><![CDATA[ ou seja, o 60 para 60000
Postado Fevereiro 27, 2019 6 anos 6 minutos atrás, Vodkart disse: @Sdrula troca ESSA parte: <globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[ por <globalevent name="AutomaticRaids" interval="60000" event="script"><![CDATA[ ou seja, o 60 para 60000 entao o erro acontece com ele ja configurado assim com 60000, editei a resposta com erro agora.
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.