Ir para conteúdo

[Mod] Automatic Raids [Dia E Hora Marcada]


Vodkart

Posts Recomendados

Automatic Raids.xml

<?xml version="1.0" encoding="UTF-8"?>  
<mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="xtibia.com" enabled="yes">  
<config name="raids_func"><![CDATA[
days = {
["Monday"] = {
["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 15},
["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20}
},
["Sunday"] = {
["10:08"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15},
["10:46"] = {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)  
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)-10), ((tb.pos.toPosition.x)+10) do
for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do
local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
if m ~= 0 and isMonster(m) then
doRemoveCreature(m)
end
end
end
end
doBroadcastMessage("The invasion of " .. tb.nome .. " started")
for _,x in pairs(tb.m) do
for s = 1, tonumber(x:match("%d+")) do
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}
doSummonCreature(x:match("%s(.+)"), pos)
end
end
addEvent(removeCreature, tb.Time*60*1000, tb)
end
end
return true
end
]]></globalevent>
</mod>

 

 

Configuração:

 

days = {
["Monday"] = {
["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 1},
["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 2}
},
["Tuesday"] = {
["10:44"] = {nome = "Demon", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}}, m = {"5 Demon", "8 Fire Devil"}, Time = 1},
["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 2}
}
}

 

["DIA"] = {
["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {começo e final da área}, monster = {"MONSTROS"}, Time = para remover os monstro}
}

 

O dia da invasão é colocada entre " " e somente dia em inglês e a primeira letra maiúscula, exemplo:

"Saturday"

 

 

Depois são as hora da invasão, que é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo:

"15:00"

 

 

As Posições estão entre { } adicionando as posições x, y e z, é o começo e final da área exemplo:

 

pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}

 

fromPosition -- começo da área onde vai acontecer a raid

toPosition -- final da área onde vai acontecer a raid

 

Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo:

{"40 Water Elemental", "5 Cyclops"}

 

Time é uma função extra, é para caso ninguém participe do evento os monstros não fiquem pelo mapa, e é em minutos, exemplo:

 

Time = 15

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

O Mod ocorre um erro quando é adicionado todos os dias da semana...

 

 

post-57647-0-02650100-1338325814_thumb.jpg

 

 

Meu Script

 

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx"

 

contact="xtibia.com" enabled="yes">

<config name="raids_func"><![CDATA[

 

days = {

["Monday"] = {

["21:45"] = {nome = "Pirate", pos = {fromPosition = {x=1909, y=598,

 

z=4},toPosition = {x=1911, y=599, z=4}},m = {"1 Deadeye Devious","1 Ron the

 

Ripper","1 Brutus Bloodbeard","1 Lethal Lissy","1 Captain Jones"}, Time = 300},

 

["01:00"] = {nome = "The Plasmother", pos = {fromPosition = {x=1175, y=986,

 

z=8},toPosition = {x=1180, y=991, z=8}}, m = {"1 The Plasmother"}, Time = 300}

},

 

 

 

["Tuesday"] = {

["10:30"] = {nome = "The old Window", pos = {fromPosition = {x=1697, y=867,

 

z=9},toPosition = {x=1696, y=867, z=9}}, m = {"1 The old Window "}, Time = 300},

 

["22:00"] = {nome = "Massacre", pos = {fromPosition = {x=1149, y=1047,

 

z=4},toPosition = {x=1150, y=1048, z=4}}, m = {"1 Massacre"}, Time = 300},

 

["17:39"] = {nome = "Massacre", pos = {fromPosition = {x=1435, y=1096,

 

z=7},toPosition = {x=1436, y=1096, z=7}}, m = {"1 Massacre"}, Time = 300}

},

 

 

 

["Wednesday"] = {

["20:30"] = {nome = "Morgaroth", pos = {fromPosition = {x=1685, y=1291,

 

z=15},toPosition = {x=1684, y=1291, z=15}},m = {"1 Morgaroth"}, Time = 300},

 

["00:00"] = {nome = "Necropharus", pos = {fromPosition = {x=1932, y=1136,

 

z=7},toPosition = {x=1931, y=1136, z=7}}, m = {"1 Necropharus"}, Time = 300}

},

 

 

 

["Thursday"] = {

["23:00"] = {nome = "Ghazbaran", pos = {fromPosition = {x=1724, y=1428,

 

z=9},toPosition = {x=1723, y=1428, z=9}},m = {"1 Ghazbaran"}, Time = 300},

 

["00:00"] = {nome = "Mr. Punish", pos = {fromPosition = {x=1238, y=1046,

 

z=11},toPosition = {x=1240, y=1047, z=11}}, m = {"1 Mr. Punish"}, Time = 300}

},

 

 

 

["Friday"] = {

["19:45"] = {nome = "Dracola", pos = {fromPosition = {x=1303, y=1001,

 

z=9},toPosition = {x=1306, y=1002, z=9}},m = {"1 Dracola"}, Time = 300},

 

["00:00"] = {nome = "Mr. Punish", pos = {fromPosition = {x=1238, y=1046,

 

z=11},toPosition = {x=1240, y=1047, z=11}}, m = {"1 Mr. Punish"}, Time = 300},

 

["21:00"] = {nome = "Ferumbras", pos = {fromPosition = {x=184, y=55,

 

z=7},toPosition = {x=188, y=58, z=7}}, m = {"1 Ferumbras", "8 Fire Devil"}, Time =

 

300}

},

 

 

 

["Saturday"] = {

["23:00"] = {nome = "Ghazbaran", pos = {fromPosition = {x=1724, y=1428,

 

z=9},toPosition = {x=1725, y=1428, z=9}},m = {"1 Ghazbaran"}, Time = 300},

 

["19:00"] = {nome = "Orshabaal", pos = {fromPosition = {x=1687, y=1006,

 

z=8},toPosition = {x=1689, y=1006, z=8}}, m = {"1 Orshabaal"}, Time = 300},

 

["19:00"] = {nome = "Necropharus", pos = {fromPosition = {x=1932, y=1136,

 

z=7},toPosition = {x=1931, y=1136, z=7}}, m = {"1 Necropharus, "4 Necromancer"},

 

Time = 300}

},

 

 

 

["Sunday"] = {

["21:00"] = {nome = "Ferumbras", pos = {fromPosition = {x=184, y=55,

 

z=7},toPosition = {x=188, y=58, z=7}}, m = {"1 Ferumbras", "8 Fire Devil"}, Time =

 

300},

 

["23:00"] = {nome = "Morgaroth", pos = {fromPosition = {x=1844, y=1332,

 

z=13},toPosition = {x=1845, y=1332, z=13}}, m = {"1 Morgaroth"}, Time = 300},

 

["15:00"] = {nome = "Tiquandas Revenge", pos = {fromPosition = {x=1731, y=987,

 

z=7},toPosition = {x=1751, y=999, z=7}}, m = {"2 Tiquandas Revenge"}, Time = 300}

}

}

 

 

]]></config>

<globalevent name="AutomaticRaids" interval="60000" event="script"><![CDATA[

domodlib('raids_func')

function onThink(interval, lastExecution)

hours = tostring(os.date("%X")):sub(1, 5)

tb = days[os.date("%A")][hours]

if days[os.date("%A")] and tb then

function removeCreature(tb)

for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do

for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do

local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid

if m ~= 0 and isMonster(m) then

doRemoveCreature(m)

end

end

end

end

doBroadcastMessage("The invasion of " .. tb.nome .. " started")

for _,x in pairs(tb.m) do

for s = 1, tonumber(x:match("%d+")) do

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}

doSummonCreature(x:match("%s(.+)"), pos)

end

end

addEvent(removeCreature, tb.Time*60*1000, tb)

end

return true

end

]]></globalevent>

</mod>

 

Editado por adolfuu
Link para o comentário
Compartilhar em outros sites

Vod, me diz uma coisa... se eu FECHO o servidor e REABRO depois, as invasão ocorrerão nos mesmos dias nas horas marcadas, ou interfere no espaço de tempo?

Link para o comentário
Compartilhar em outros sites

@up

não interfere, relaxa,

 

@adolfuu

 

o erro ali diz que não pode criar o monstro "Fire Devil", com o /m ele cria?

 

da uma olhada pra mim

Link para o comentário
Compartilhar em outros sites

Sim, ele cria sim com o /m

 

já vi seu erro, olha nessa parte

 

["21:00"] = {nome = "Ferumbras", pos = {fromPosition = {x=184, y=55,z=7},toPosition = {x=188, y=58, z=7}}, m = {"1 Ferumbras", "8 Fire Devil"}, Time =300}

 

esqueceu de mudar as pos.

 

e outra você tem que usar diferentes horarios

 


["19:00"] = {nome = "Orshabaal", pos = {fromPosition = {x=1687, y=1006,z=8},toPosition = {x=1689, y=1006, z=8}}, m = {"1 Orshabaal"}, Time = 300},
["19:00"] = {nome = "Necropharus", pos = {fromPosition = {x=1932, y=1136,z=7},toPosition = {x=1931, y=1136, z=7}}, m = {"1 Necropharus, "4 Necromancer"},Time = 300}

 

ex:

 

19:00

19:01

 

nunca igual

 

tirei os que estavam bugando no seu, aqui está:

 

http://pastebin.com/Ssrme35w

 

só revisar os que estavam errados e adiconar

 

obs: não esquece de mudar a tag ali no global events, deixei 60

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Arrumei tudo que você falou.. Mas ainda assim está dando outro erro :S

 

post-57647-0-68570100-1338354885_thumb.jpg

 

 

 

<?xml version="1.0" encoding="UTF-8"?>

<mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx"

 

contact="xtibia.com" enabled="yes">

<config name="raids_func"><![CDATA[

days = {

["Monday"] = {

["21:41"] = {nome = "Pirate", pos = {fromPosition = {x=1909, y=598,z=4},toPosition

 

= {x=1911, y=599, z=4}},m = {"1 Deadeye Devious","1 Ron the Ripper","1 Brutus

 

Bloodbeard","1 Lethal Lissy","1 Captain Jones"}, Time = 300},

["01:01"] = {nome = "The Plasmother", pos = {fromPosition = {x=1175,

 

y=986,z=8},toPosition = {x=1180, y=991, z=8}}, m = {"1 The Plasmother"}, Time =

 

300}

},

["Tuesday"] = {

["10:31"] = {nome = "The old Window", pos = {fromPosition = {x=1697,

 

y=867,z=9},toPosition = {x=1696, y=867, z=9}}, m = {"1 The old Window "}, Time =

 

300},

["22:01"] = {nome = "Massacre", pos = {fromPosition = {x=1149,

 

y=1047,z=4},toPosition = {x=1150, y=1048, z=4}}, m = {"1 Massacre"}, Time = 300},

["17:39"] = {nome = "Massacre", pos = {fromPosition = {x=1435,

 

y=1096,z=7},toPosition = {x=1436, y=1096, z=7}}, m = {"1 Massacre"}, Time = 300}

},

["Wednesday"] = {

["02:12"] = {nome = "Morgaroth", pos = {fromPosition = {x=1685,

 

y=1291,z=15},toPosition = {x=1684, y=1291, z=15}},m = {"1 Morgaroth"}, Time =

 

300},

["00:01"] = {nome = "Necropharus", pos = {fromPosition = {x=1932,

 

y=1136,z=7},toPosition = {x=1931, y=1136, z=7}}, m = {"1 Necropharus"}, Time =

 

300}

},

["Thursday"] = {

["23:00"] = {nome = "Ghazbaran", pos = {fromPosition = {x=1724,

 

y=1428,z=9},toPosition = {x=1723, y=1428, z=9}},m = {"1 Ghazbaran"}, Time = 300},

["00:00"] = {nome = "Mr. Punish", pos = {fromPosition = {x=1238,

 

y=1046,z=11},toPosition = {x=1240, y=1047, z=11}}, m = {"1 Mr. Punish"}, Time =

 

300}

},

["Friday"] = {

["19:45"] = {nome = "Dracola", pos = {fromPosition = {x=1303,

 

y=1001,z=9},toPosition = {x=1306, y=1002, z=9}},m = {"1 Dracola"}, Time = 300},

["00:00"] = {nome = "Mr. Punish", pos = {fromPosition = {x=1238,

 

y=1046,z=11},toPosition = {x=1240, y=1047, z=11}}, m = {"1 Mr. Punish"}, Time =

 

300},

},

["Saturday"] = {

["23:00"] = {nome = "Ghazbaran", pos = {fromPosition = {x=1724,

 

y=1428,z=9},toPosition = {x=1725, y=1428, z=9}},m = {"1 Ghazbaran"}, Time = 300},

["19:02"] = {nome = "Orshabaal", pos = {fromPosition = {x=1687,

 

y=1006,z=8},toPosition = {x=1689, y=1006, z=8}}, m = {"1 Orshabaal"}, Time = 300},

},

["Sunday"] = {

["21:00"] = {nome = "Ferumbras", pos = {fromPosition = {x=184,

 

y=55,z=7},toPosition = {x=188, y=58, z=7}}, m = {"1 Ferumbras"}, Time =300},

["23:02"] = {nome = "Morgaroth", pos = {fromPosition = {x=1844,

 

y=1332,z=13},toPosition = {x=1845, y=1332, z=13}}, m = {"1 Morgaroth"}, Time =

 

300},

["15:00"] = {nome = "Tiquandas Revenge", pos = {fromPosition = {x=1731,

 

y=987,z=7},toPosition = {x=1751, y=999, z=7}}, m = {"2 Tiquandas Revenge"}, Time =

 

300}

}

}

]]></config>

<globalevent name="AutomaticRaids" interval="60000" event="script"><![CDATA[

domodlib('raids_func')

function onThink(interval, lastExecution)

hours = tostring(os.date("%X")):sub(1, 5)

tb = days[os.date("%A")][hours]

if days[os.date("%A")] and tb then

function removeCreature(tb)

for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do

for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do

local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid

if m ~= 0 and isMonster(m) then

doRemoveCreature(m)

end

end

end

end

doBroadcastMessage("The invasion of " .. tb.nome .. " started")

for _,x in pairs(tb.m) do

for s = 1, tonumber(x:match("%d+")) do

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}

doSummonCreature(x:match("%s(.+)"), pos)

end

end

addEvent(removeCreature, tb.Time*60*1000, tb)

end

return true

end

]]></globalevent>

</mod>

 

Link para o comentário
Compartilhar em outros sites

@TOPIC

 

galera tinha um bug, mas já foi removido, usem o novo.

 

 

@adolfuu, cara vc tem que identar o script, não pode ter quebra de linha como você me mandou

 

 

<?xml version="1.0" encoding="UTF-8"?>  
<mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="xtibia.com" enabled="yes">  
<config name="raids_func"><![CDATA[
days = {
["Monday"] = {
["21:41"] = {nome = "Pirate", pos = {fromPosition = {x=1909, y=598,z=4},toPosition = {x=1911, y=599, z=4}},m = {"1 Deadeye Devious","1 Ron the Ripper","1 Brutus Bloodbeard","1 Lethal Lissy","1 Captain Jones"}, Time = 300},
["01:01"] = {nome = "The Plasmother", pos = {fromPosition = {x=1175, y=986,z=8},toPosition = {x=1180, y=991, z=8}}, m = {"1 The Plasmother"}, Time = 300}
},
["Tuesday"] = {
["10:31"] = {nome = "The old Window", pos = {fromPosition = {x=1697, y=867,z=9},toPosition = {x=1696, y=867, z=9}}, m = {"1 The old Window "}, Time = 300},
["22:01"] = {nome = "Massacre", pos = {fromPosition = {x=1149, y=1047,z=4},toPosition = {x=1150, y=1048, z=4}}, m = {"1 Massacre"}, Time = 300},
["17:39"] = {nome = "Massacre", pos = {fromPosition = {x=1435, y=1096,z=7},toPosition = {x=1436, y=1096, z=7}}, m = {"1 Massacre"}, Time = 300}
},
["Wednesday"] = {
["02:12"] = {nome = "Morgaroth", pos = {fromPosition = {x=1685, y=1291,z=15},toPosition = {x=1684, y=1291, z=15}},m = {"1 Morgaroth"}, Time = 300},
["00:01"] = {nome = "Necropharus", pos = {fromPosition = {x=1932, y=1136,z=7},toPosition = {x=1931, y=1136, z=7}}, m = {"1 Necropharus"}, Time = 300}
},
["Thursday"] = {
["23:00"] = {nome = "Ghazbaran", pos = {fromPosition = {x=1724, y=1428,z=9},toPosition = {x=1723, y=1428, z=9}},m = {"1 Ghazbaran"}, Time = 300},
["00:00"] = {nome = "Mr. Punish", pos = {fromPosition = {x=1238, y=1046,z=11},toPosition = {x=1240, y=1047, z=11}}, m = {"1 Mr. Punish"}, Time = 300}
},
["Friday"] = {
["19:45"] = {nome = "Dracola", pos = {fromPosition = {x=1303, y=1001,z=9},toPosition = {x=1306, y=1002, z=9}},m = {"1 Dracola"}, Time = 300},
["00:00"] = {nome = "Mr. Punish", pos = {fromPosition = {x=1238, y=1046,z=11},toPosition = {x=1240, y=1047, z=11}}, m = {"1 Mr. Punish"}, Time = 300},
},
["Saturday"] = {
["23:00"] = {nome = "Ghazbaran", pos = {fromPosition = {x=1724, y=1428,z=9},toPosition = {x=1725, y=1428, z=9}},m = {"1 Ghazbaran"}, Time = 300},
["19:02"] = {nome = "Orshabaal", pos = {fromPosition = {x=1687, y=1006,z=8},toPosition = {x=1689, y=1006, z=8}}, m = {"1 Orshabaal"}, Time = 300},
},
["Sunday"] = {
["21:00"] = {nome = "Ferumbras", pos = {fromPosition = {x=184, y=55,z=7},toPosition = {x=188, y=58, z=7}}, m = {"1 Ferumbras"}, Time =300},
["23:02"] = {nome = "Morgaroth", pos = {fromPosition = {x=1844, y=1332,z=13},toPosition = {x=1845, y=1332, z=13}}, m = {"1 Morgaroth"}, Time = 300},
["15:00"] = {nome = "Tiquandas Revenge", pos = {fromPosition = {x=1731, y=987,z=7},toPosition = {x=1751, y=999, z=7}}, m = {"2 Tiquandas Revenge"}, Time = 300}
}
}
]]></config>	
<globalevent name="AutomaticRaids" interval="60000" event="script"><![CDATA[
domodlib('raids_func')
function onThink(interval, lastExecution)  
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)-10), ((tb.pos.toPosition.x)+10) do
for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do
local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid
if m ~= 0 and isMonster(m) then
doRemoveCreature(m)
end
end
end
end
doBroadcastMessage("The invasion of " .. tb.nome .. " started")
for _,x in pairs(tb.m) do
for s = 1, tonumber(x:match("%d+")) do
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}
doSummonCreature(x:match("%s(.+)"), pos)
end
end
addEvent(removeCreature, tb.Time*60*1000, tb)
end
end
return true
end
]]></globalevent>
</mod>

 

 

outra coisa, da uma olhada na área, as vezes você colocou a pos errada

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Vodkat, tentei fazer do zero. Peguei seu script novo e mudei certinho, botei pos corretas e a data Wednesday. O estranho é que quando eu tentei a primeira vez com Tuesday funciou. Será que não é algo errado na data Wednesday?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...