Ir para conteúdo

Featured Replies

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

  • Respostas 34
  • Visualizações 4.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • <?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"> --

  • @BangxD não entendi

  • @BangxD arena provavelmente sim mas vou testar aqui para ver se nasce dentro de casas etc...

Postado
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 por Sdrula (veja o histórico de edições)

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

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo