Jump to content
Close
LeoTK

Sistema [Raid Automatica] MOD Raid Automatica Edit: Brunds

Recommended Posts

Salve galera bom achei esse mod de raid do @Vodkart e Xotservx e resolvi dar uma embelezada, adicionar um mini-tutorial dentro do mod, algumas coisas a mais para facilitar a configuração, alguns efeitos quando os monstros da invasão é sumonado, porém não consegui colocar para aparecer efeito quando os monstros forem removidos, se alguém quiser contribuir e adicionar essa função pra mostrar um efeito nos monstros quando forem removidos sinta-se livre e se for o caso eu atualizo o tópico com essa modificação.
Mod Abaixo

 

Vídeo de demonstração

 

 

 

 

 

 

Nota: 25/02/2019

(Problemas corrigidos pelo @Vodkart, Efeito quando os monstros forem removidos, e mobs deixando de tentar nascer dentro de casas e área pz e nascendo ao lado)
 

Spoiler

 


<?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"] = {
["10:32"] = {nome = "renegados", pos = {fromPosition = {x=1011, y=910, z=7},toPosition = {x=1024, y=915, z=7}}, m = {"8 Renegade", "6 Bandit", "4 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"] = {
["10:05"] = {nome = "renegados", pos = {fromPosition = {x=1011, y=910, z=7},toPosition = {x=1024, y=915, z=7}}, m = {"8 Renegade", "6 Bandit", "4 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), 54) -- Efeito no monstro quando for removido
							doSendMagicEffect(getCreaturePosition(m), 3) -- Efeito no monstro quando for removido
							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)
							local pos2 = {x=pos.x+1, y=pos.y+0, z=pos.z+0}
							doSendMagicEffect(pos2, 111) -- Efeito no monstro quando ele nascer
							doSendMagicEffect(pos, 621) -- 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, os sobreviventes fugiram") -- Mensagem que vai aparecer para todos do servidor quando a invasão iniciar
		end
	end
	return true
end
]]></globalevent>
</mod>

 

 

 

 

Espero que gostem do script ^^ 

 

Créditos total ao

@Vodkart

xotservx

 





Share this post


Link to post
Share on other sites

com essa posiçoes 

{fromPosition = {x=1019, y=916, z=7},toPosition = {x=1033, y=922, z=7}}

evitar de as criatura  nasce dentro de casa ou até msm na agua?





Share this post


Link to post
Share on other sites

@BangxD não entendi





Share this post


Link to post
Share on other sites
1 minuto atrás, Brunds disse:

@BangxD não entendi

 

isso é a posiçao onde os bixo nasce 

{fromPosition = {x=1019, y=916, z=7},toPosition = {x=1033, y=922, z=7}}

se dentro dessas posiçoes estive house, depot, arena. vai nasce dentro tambem?





Share this post


Link to post
Share on other sites

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





Share this post


Link to post
Share on other sites
<?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>

 



vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 




Share this post


Link to post
Share on other sites

@BangxD seguinte não sumona dentro de area pz e nem dentro de casas porém ele da um erro na distro por causa da posição claro e deixa de sumonar alguns mobs então se for colocar uma invasão em uma city sugiro aumentar a quantidade de mobs a ser criado porque alguns vão deixar de ser criados por conta disso





Share this post


Link to post
Share on other sites
4 minutos atrás, Brunds disse:

@BangxD seguinte não sumona dentro de area pz e nem dentro de casas porém ele da um erro na distro por causa da posição claro e deixa de sumonar alguns mobs então se for colocar uma invasão em uma city sugiro aumentar a quantidade de mobs a ser criado porque alguns vão deixar de ser criados por conta disso

 

Tendi, no meu caso acho melhor coloca as posiçao já certa. pra nao ocorre erro na distro.





Share this post


Link to post
Share on other sites

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





Share this post


Link to post
Share on other sites

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

@Brunds removi esses erros no ultimo post ali que dei um upgrade no código



vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 




Share this post


Link to post
Share on other sites
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!





Share this post


Link to post
Share on other sites

@Vodkart Perfeito seu lindo <3 

@Vodkart tópico editado valeu ^^ 





Share this post


Link to post
Share on other sites
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


Edited by Sdrula (see edit history)



Share this post


Link to post
Share on other sites

@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



vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 




Share this post


Link to post
Share on other sites
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.





Share this post


Link to post
Share on other sites

deixa eu ver como ficou a configuração do MOD que vc alterou aí.



vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 




Share this post


Link to post
Share on other sites
12 minutos atrás, Vodkart disse:

deixa eu ver como ficou a configuração do MOD que vc alterou aí.

 

dificil eu tenho erro de qualquer forma que edito trocando todos os time pra mile da erro, trocando position para Pos e removendo todos os  comentários persiste. Da forma menas modificada é mesma coisa segue.

 

<?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 = {
    ["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}
    },
    ["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}
    },
    ["Wednesday"] = {
        ["11:56"] = {nome = "Demon", pos = {fromPosition = {x=149, y=61, z=7},toPosition = {x=156, y=57, z=7}}, m = {"1 Demon"}, Time = 15},
        ["10:38"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20}
    },
    ["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}
    },
    ["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}
    },
    ["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}
    },
    ["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="60000" event="script"><![CDATA[
domodlib('raids_func')
function onThink(interval, lastExecution)    
    function isWalkable(pos)
        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")
            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")
        end
    end
    return true
end
]]></globalevent>
</mod>





Share this post


Link to post
Share on other sites

@Sdrula Seu erro é bem comum... Nas positions que você configurar sempre deve ser do MENOR para o MAIOR.

 

exemplo de uso correto:

 

pos = {fromPosition = {x=1019, y=916, z=7},toPosition = {x=1033, y=922, z=7}}

 

perceba que na variável toPosition, sempre o X, Y ou Z devem ser maiores que na variável fromPosition

 

no seu código tinha essa linha invertida:

 

["11:56"] = {nome = "Demon", pos = {fromPosition = {x=149, y=61, z=7},toPosition = {x=156, y=57, z=7}}, m = {"1 Demon"}, Time = 15},

 

está percebendo que o Y = 61 na variável fromPosition é maior que o Y na variável toPosition?

 

então, está errado, o certo seria:

 

["11:56"] = {nome = "Demon", pos = {fromPosition = {x=149, y=57, z=7},toPosition = {x=156, y=61, z=7}}, m = {"1 Demon"}, Time = 15},

 

 

 



vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 




Share this post


Link to post
Share on other sites
2 horas atrás, Vodkart disse:

@Sdrula Seu erro é bem comum... Nas positions que você configurar sempre deve ser do MENOR para o MAIOR.

 

exemplo de uso correto:

 


pos = {fromPosition = {x=1019, y=916, z=7},toPosition = {x=1033, y=922, z=7}}

 

perceba que na variável toPosition, sempre o X, Y ou Z devem ser maiores que na variável fromPosition

 

no seu código tinha essa linha invertida:

 


["11:56"] = {nome = "Demon", pos = {fromPosition = {x=149, y=61, z=7},toPosition = {x=156, y=57, z=7}}, m = {"1 Demon"}, Time = 15},

 

está percebendo que o Y = 61 na variável fromPosition é maior que o Y na variável toPosition?

 

então, está errado, o certo seria:

 


["11:56"] = {nome = "Demon", pos = {fromPosition = {x=149, y=57, z=7},toPosition = {x=156, y=61, z=7}}, m = {"1 Demon"}, Time = 15},

 

 

 

 

Sério? eu tinha ido pela descrição la em cima. Este mod foi o melhor raid que encontrei, valeu a pena perguntar, agora está funcionando obrigado.





Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...