Ir para conteúdo
  • Cadastre-se

Mod TFS 0.X [Raid Automatica] MOD Raid Automatica Edit: Brunds


Posts Recomendados

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?

Link para o post
Compartilhar em outros sites

@BangxD não entendi

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros 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?

Link para o post
Compartilhar em outros sites

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

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros 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.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros 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

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros 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.

Link para o post
Compartilhar em outros 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..

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros 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.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros 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!

Link para o post
Compartilhar em outros sites

@Vodkart Perfeito seu lindo <3 

@Vodkart tópico editado valeu ^^ 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros 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

Editado por Sdrula (veja o histórico de edições)
Link para o post
Compartilhar em outros 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.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros 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.

Link para o post
Compartilhar em outros 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>

Link para o post
Compartilhar em outros 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.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros 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.

Link para o post
Compartilhar em outros sites
  • 1 year later...

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por willian646
      Olá a todos, é a minha primeira vez aqui, e não sei se já possui algum tutorial disso ou se estou na área correta, mas vou mostrar aqui como fazer com que o chat no jogo suma quando não tiver nenhuma mensagem e quando tiver ,enviar, é bem simples.
       
      Primeiro vá na pasta do seu client>modules>game_console e abra o console.lua
       
      tendo feito isso procure por
      g_keyboard.bindKeyPress('Enter', sendCurrentMessage, consolePanel)  
      e troque por 
      g_keyboard.bindKeyPress('Enter', hideChat)  
      agora procure por essa função: 
      e troque por: 
      Pronto agora só testar.
    • Por paulo thush
      Advanced Pet System By Races
      Nome: Advanced Pet System By R.aces
      Versão: Bom eu testei no meu 8.60.
      Descrição: Bom eu procurei esse systema por muito tempo nunca achei um que funcionase perfeito, porem com muito esforço retirando de muitos servidores consegui fazer que ele funcionase com todos os script sem erro ao logar o char e nem deslogar os npc funcionando perfeitamente, Esse Pet pelo que eu saiba foi feito pelo josejunior. Como eu sempre vivi pedindo ajuda para comunidade, hoje eu resolvi trazer esse sistema para ajudar também muitos que precisa... E bom você ser ajudado e lembrar de ajudar também. Um pelo outro.
      Comandos:
       
      Pet-trainer.xml (em data/npc)
       
      Pet-trainer.lua (em npc/scripts)
       
      Va na pasta data/lib crie e nomeie para APS_lib.lua 
       
      Agora e so baixar o resto dos arquivos e jogar dentro da pasta do seu Ot principal. E ser feliz... Não dou suporte para algum tipo de erro pois não sou Scripter kk apenas um Fuçado kkk.
       
      Ah: Caso der erro quando você for logar no servidor e de erro nos arquivos do PET, Pode ter algo em conflito com ele, ou Você tera que mudar algo do seu login.lua, Qual quer coisa eu passo o meu que ta muito fuçado porem sem erro em nada kkkk. Por Enquanto...
       
      CREDITOS: josejunior
       
       
      Advanced Pet System By Races.rar
    • Por Vodkart
      [ + ] Descrição: Autoloot refeito para VERSÃO OTX e adicionado algumas outras funções que estarei explicando ao decorrer do tópico.
       
      [ + ] Se você quer o Autoloot ara Versão TFS clica neste Link: AUTOLOOT TFS
       

       
       
      [ + ] Imagem do comando:
       

       
      [ + ] Features:
       
      [ - ] Você pode ativar ou desativar o autoloot a hora que achar necessário.
      [ - ] Também existe um comando para ativar ou desativar mensagens do loot que o autoloot coleta!
      [ - ] Você pode escolher a cor do texto em que irá aparecer a coleta do loot!
      [ - ] O autoloot informará para você se estiver com pouco slots na sua backpack, e o jogador poderá escolher se quer habilitar ou não está função no autloot.
      [ - ] Versão ilimitada de itens(não ficam armazenadas em storages.
      [ - ] O jogador poderá optar por depositar direto no banco os golds que forem dropados.
       
      [ + ] Instalação:
       
      Primeiramente CRIE uma PASTA VAZIA chamanda "autoloot" em DATA/LOGS, ficando assim:
       

       
      Depois instale o MODS normalmente na pasta MODS do seu servidor.
       

       
      new_perfect_autoloot_otx.xml
       
      Link: https://pastebin.com/raw/CW6jgerg
       
       
       [ + ] Configuração:
       
      Dentro do mods tem essa tabela
      info = { directory = "data/logs/autoloot", -- não mexer Warn_Bp_Slots = 5, -- quando tiver 5 ou menos slots na BP vai avisar o jogador Talkaction_delay = 5, -- em segundos // delay para remover e adicionar item BlockMonsters = {}, -- Lista de monstros que o autoloot nao vai funcionar BlockItemsList = {2123,2515}, -- Lista de itens que o autoloot nao coleta Money_ids = {2148, 2152, 2160}, -- id das moedas do ot Max_Slots = {free = 3, premium = 5}, -- quantidade de itens que podem ser adicionados no autoloot por free e premium Storages = {988801, 988802, 988803, 988804, 988805, 988806, 988807} -- não mexer }  
      Basta ler acima para esclarecer as dúvidas!!
       
      Estarei anexando o autoloot 2.0 versão atualizada para quem tiver preguiça de copiar e colar!!
       
       
       
      new_perfect_autoloot_otx.xml
    • Por Vodkart
      [ + ] Descrição: Autoloot refeito para VERSÃO TFS e adicionado algumas outras funções que estarei explicando ao decorrer do tópico.
       
      [ + ] Se você quer o Autoloot para VERSÃO OTX clica neste Link: AUTOLOOT OTX
       
       

       
       
      [ + ] Imagem do comando:
       

       
      [ + ] Features:
       
      [ - ] Você pode ativar ou desativar o autoloot a hora que achar necessário.
      [ - ] Também existe um comando para ativar ou desativar mensagens do loot que o autoloot coleta!
      [ - ] Você pode escolher a cor do texto em que irá aparecer a coleta do loot!
      [ - ] O autoloot informará para você se estiver com pouco slots na sua backpack, e o jogador poderá escolher se quer habilitar ou não está função no autoloot.
      [ - ] Versão ilimitada de itens(não ficam armazenadas em storages).
      [ - ] O jogador poderá optar por depositar direto no banco os golds que forem dropados.
       
      [ + ] Instalação:
       
      Primeiramente CRIE uma PASTA VAZIA chamanda "autoloot" em DATA/LOGS, ficando assim:
       

       
       
      Depois instale o MODS normalmente na pasta MODS do seu servidor.
       

       
       
      new_perfect_autoloot_tfs.xml
       
      Link: https://pastebin.com/raw/0xJR4nwr
       
       
       [ + ] Configuração:
       
      Dentro do mods tem essa tabela
      info = { distro = 1, -- 1 = TFS // 2 = talk modificada directory = "data/logs/autoloot", -- não mexer Warn_Bp_Slots = 5, -- quando tiver 5 ou menos slots na BP vai avisar o jogador Talkaction_delay = 5, -- em segundos // delay para remover e adicionar item BlockMonsters = {}, -- Lista de monstros que o autoloot nao vai funcionar BlockItemsList = {2123,2515}, -- Lista de itens que o autoloot nao coleta Money_ids = {2148, 2152, 2160}, -- id das moedas do ot Max_Slots = {free = 3, premium = 5}, -- quantidade de itens que podem ser adicionados no autoloot por free e premium Storages = {988801, 988802, 988803, 988804, 988805, 988806, 988807} -- não mexer }  
      Sobre o distro = 1
       
      Isso significa que ele usa versão padrão (1), pois existem 2 versões, caso aconteça esse error no seu console ao usar a talkaction do autoloot:
       
      [8/10/2020 19:19:58] [Error - TalkAction Interface]
      [8/10/2020 19:19:58] local words = "!autoloot"
      (...)
      [8/10/2020 19:19:59] return true
      [8/10/2020 19:19:59] Description: 
      [8/10/2020 19:19:59] (LuaInterface::luaGetItemIdByName) Item not found
       
      Você deverá colocar:
       
      distro = 2
       
      Pq? acontece que em alguns servidores não reconhecem o parâmetro "false" da função "getItemIdByName"
       
      OBS: Estarei anexando o autoloot já atualizado na versão 2.0 para quem tiver preguiça de copiar e colar!!
       
       
       
      new_perfect_autoloot_tfs.xml
    • Por xWhiteWolf
      Aeeeeeee carai, hoje vim trazer pra vocês meu mais novo sistema *-*. É uma fodenda spell que você seleciona alguém pra ser seu voodoo e a partir disso durante um tempo X ela vai receber todos os hit's que você deveria receber... INCRÍVEL, NÃO?
      Agora se nesse meio tempo ela deslogar ou entrar em pz você vai tomar o dano normal, mas se ainda tiver nesse tempo X e ela sair ela vai receber o dano instantaneamente (É BOM DEMAIS PRA SER VERDADE).

      Agora você deve estar imaginando, e se eu usar a magia pra transferir o dano pra um amigo e ele fizer a mesma coisa em mim, pra onde vai o dano?
      PRA LUGAR NENHUM!!!! Até porque eu já me previni contra esse bug fazendo com que não seja possível fazer alguém de voodoo se ele já tiver alguém de voodoo.
      Testado em versão 8.54 TFS Crying Damnson mas deve funcionar em todas as versões que tenham a função onStatsChange no creaturescripts.
      Bom, o script tá 100% funcional e livre de bugs (se vc achar algum eu te dou 3 REP).

      Agora vamos à mágica:
       
      Crie um arquivo em mods com extensão .xml e adiciona isso daqui nele
      <?xml version="1.0" encoding="UTF-8"?> <mod name="Voodoo System" version="1.0" author="Night Wolf" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="feitisso"><![CDATA[ configuration = { storage = 24567,  tempo = 20, cooldown = 45, effect1 = 13, effect2 = 65 } storagecool = 24568 ]]></config> ---------------------------------------------------------------------------------- <event type="login" name="registerVoodoo" event="script"><![CDATA[ function onLogin(cid) domodlib('feitisso') if getPlayerStorageValue(cid, configuration.storage) > 0 then doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end registerCreatureEvent(cid,"voodoo") return true end ]]></event> ------------------------------------------------------------------------------------ <instant name="Feitiço" words="voodoo" lvl="50" mana="10" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> <![CDATA[ function onCastSpell(cid, var) domodlib('feitisso') if not (isPlayer(variantToNumber(var))) then doPlayerSendCancel(cid, "You can only use this spell in players.") return false end if getPlayerStorageValue(variantToNumber(var), configuration.storage) > 0 then doPlayerSendCancel(cid, "You can't make a voodoo of someone who already has a voodoo.") return false end if (os.time() - getPlayerStorageValue(cid, storagecool)) >= configuration.cooldown then if getPlayerStorageValue(cid, configuration.storage) <= 0 then timeleft = (os.time() + configuration.cooldown) doPlayerSetStorageValue(cid, storagecool, timeleft) local target = getPlayerGUID(variantToNumber(var)) doPlayerSetStorageValue(cid, configuration.storage, target) doSendMagicEffect(getPlayerPosition(cid), configuration.effect1) doSendMagicEffect(getThingPos(variantToNumber(var)), configuration.effect1) addEvent(function()   if isCreature(cid) then doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end  end, 100+1000*configuration.tempo) elseif getPlayerStorageValue (cid, configuration.storage) > 0 then doPlayerSendCancel(cid, "You've already set a target.") end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(configuration.cooldown - (os.time() - getPlayerStorageValue(cid, storagecool))).." seconds.") end return true end ]]></instant> ------------------------------------------------------------------------------------ <event type="statschange" name="voodoo" event="script"><![CDATA[ function onStatsChange(cid, attacker, type, combat, value) domodlib('feitisso') if isPlayer(cid) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and getPlayerStorageValue(cid, configuration.storage) >= 1 then local name = getPlayerNameByGUID(getPlayerStorageValue(cid, configuration.storage)) local victim = getCreatureByName(name) if isCreature(victim) and not (getTilePzInfo(getPlayerPosition(victim)))  then dano = math.ceil(value) doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) if attacker == victim then doTargetCombatHealth(cid, victim, combat, -dano, -dano, configuration.effect2) else doTargetCombatHealth(attacker, victim, combat, -dano, -dano, configuration.effect2) end return false end end return true end ]]></event> ------------------------------------------------------------------------------------ </mod> aqui você edita os storages da magia e do cooldown, além do tempo que ela dura, o tempo de cooldown (um uso e outro) e os efeitos que vão sair.
      -------------------------------------------------------------------------------------------------------------
       
      aqui você edita o nome da spell, as palavras pra ela sair, level, custo de mana, se é preciso ser premium pra usar, o range dela, e as vocações que podem usá-la.

      OBS: se vc quiser que essa spell seja ganha em uma quest (por se tratar de algo bastante apelativo), é só colocar needlearn = "1" e fazer uma quest pra ganhar a spell (tem no meu Darkness Pact Quest uma quest de ganhar Spell, é só ir lá no meu perfil e procurar o tópico).

      Essa spell não serve somente pra ATS, use a criatividade pra criar uma história e fazer ela se encaixar... foque nos elementos de RPG e tcharam, está feito!.

      Façam bom uso e espero que não saiam postando em outros lugares sem os devidos créditos. Abraços do lobinho pra vcs

      PS: a foto ficou meio bosta mas vou postar mesmo assim 

       
      Eu (sorc) ataquei a zuera e tomei o dano de volta e ainda saiu esse efeitinho bonito. 

      Espero que tenham gostado e usem essa spell como base pra fazer outras coisas maravilhosas pra esse fórum   
      E não esqueça de clicar em "gostei" caso tenha curtido a idéia.

      Ahhh, e antes que eu me esqueça dos agradecimentos:
      @ViitinG por me ajudar a testar
      @CreatServer por me dar a idéia
      @MaXwEllDeN por me orientar a trocar a table pelo storage possibilitando que o script fosse possível.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo