Ir para conteúdo

Featured Replies

Postado

O que script precisa fazer?

 

Avisar com antecedência, 5 minutos antes da invasão que ocorrera o mesmo.

 

[BOSS EVENT XP] - O evento de invasão começa em 5 minutos, se direcione para sala de Eventos.

 

Nesse tempo, aparece um teleport no local X (Sala de Eventos), com uma destinação X, e exibe uma mensagem.

 

[BOSS EVENT XP] - O Teleport permanecera aberto até o Boss aparecer, depois, ele ira desaparecer.

 

Depois desses 5 minutos da primeira mensagem, o boss nasce, fecha o teleport.

 

Depois do Boss morrer, aparece um teleport  com time de 30 segs que redireciona para outro local, onde vai ter a sala de recompensa (vou usar outro script).

 

Aqueles que não entrarem no teleport, automaticamente tomam kick pro templo, e o evento acaba.

 

 

O Script precisa ser configuravel, digo, assim:

 

days = {

["Monday"] = {

["18:31"] = {nome = "Uchiha Madara", pos = {fromPosition = {x=1022, y=1039, z=7}

 

 

Resolvido por Dwarfer

Ir para solução
  • Respostas 14
  • Visualizações 2.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Segue o mod:       A configuração é autoexplicativa, mesmo assim, para que não restem dúvidas:       Adicione no arquivo do boss que será criado na boss are

  • O que não funciona? Vi ali que apareceu a mensagem pro servidor corretamente, se você deu uma olhada no tópico, funciona com um monstro que cria um teleporte e depois de um tempo o teleporte é removid

  • só usar os.date assim:   if tonumber(os.date("%d")) == 01 or tonumber(os.date("%d")) == 15 then ... end  

Posted Images

Postado
  • Solução

Segue o mod:

 

Spoiler

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Invasion Event" version="1.0" author="Dwarfer" contact="tibiaking.com" enabled="yes">
<config name="Inv_func"><![CDATA[
t = {
tp_id = 1387,

boss_area = {{x=1,y=1,z=1}, {x=1,y=1,z=1}},
tp_goboss = {time_before = {5, "min"}, create_pos = {x = 1, y = 1, z = 1}, goTo = {x = 1, y = 1, z = 1}},
msg_time = true,
tp_goreward = {x = 1, y = 1, z = 1}, 
removetp_time = {5, "min"},

days = {
[{"Tuesday", "10:34"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},
[{"Wednesday", "15:00"}] = {name = "Dwarf Soldier", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}},
[{"Friday", "12:32"}] = {name = "Dwarf Guard", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}},
[{"Monday", "20:55"}] = {name = "Dwarf Geomancer", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}}
}}

function mathtime(table) -- by dwarfer
local unit = {"sec", "min", "hour", "day"}
for i, v in pairs(unit) do
if v == table[2] then
return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1)
end
end
return "Error: Bad declaration in mathtime function."
end

function isHour(a, b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return true
end
end
return false
end

function getTable(a,b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return k
end
end
end

function doRemoveMonster(uid)
if isMonster(uid) then
doBroadcastMessage(getCreatureName(uid) .. " returned to its covil stronger than before!", MESSAGE_EVENT_ADVANCE)
doRemoveCreature(uid)
end
end

function getPlayersInArea(fromPos, toPos)
local players = {}
for _, pid in ipairs(getPlayersOnline()) do
if isInRange(getPlayerPosition(pid), fromPos, toPos) then
table.insert(players, pid)
end
end
return players
end

function removeAll(tp_pos, area)
doRemoveItem(getTileItemById(tp_pos,t.tp_id).uid)
local p = getPlayersInArea(area[1], area[2]) 
if #p > 0 then
for i = 1, #p do
doTeleportThing(p[i], getTownTemplePosition(getPlayerTown(p[i])))
end
end
end]]></config>
<globalevent name="InvasionEvent" interval="60000" event="script"><![CDATA[
domodlib('Inv_func')
function onThink(interval, lastExecution)

if isHour( os.date("%A"), os.date("%X", os.time() + mathtime(t.tp_goboss.time_before)):sub(1,5)) then
    if t.msg_time then
        doBroadcastMessage("An evil soul seems to be coming to this land. Teleport appeared at Event Room! It will be there for " .. t.tp_goboss.time_before[1] .. " " .. t.tp_goboss.time_before[2] .. ".", MESSAGE_EVENT_ADVANCE)
    end
    doCleanTile(t.tp_goboss.create_pos)
    doCreateTeleport(t.tp_id, t.tp_goboss.goTo, t.tp_goboss.create_pos)
end

if isHour(os.date("%A"), os.date("%X"):sub(1,5)) then
    local m = getTable(os.date("%A"),os.date("%X"):sub(1,5))
    doRemoveItem(getTileItemById(t.tp_goboss.create_pos, t.tp_id).uid)
    local text = "It will be there for " .. m.remove_time[2][1] .. " " .. m.remove_time[2][2] .."!"
    doBroadcastMessage(m.name .. " appeared in the Boss Area. Kill it if you are able to! " .. (m.remove_time[1] == true and text or ""), MESSAGE_EVENT_ADVANCE)
    local monster = doSummonCreature(m.name, m.create_pos)
    if m.remove_time[1] then
        addEvent(doRemoveMonster, mathtime(m.remove_time[2])*1000, monster)
    end
end
return true
end]]></globalevent>
<event type="death" name="InvasionBossDeath" event="script"><![CDATA[
domodlib('Inv_func')
function onDeath(cid)
local p = getCreaturePosition(cid)
if isInRange(p, t.boss_area[1], t.boss_area[2]) then
    doCreatureSay(cid, "LOST NOW, BUT I WILL BACK HAHAHAHA! Teleport ends in " .. t.removetp_time[1] .." " .. t.removetp_time[2] .. ".", TALKTYPE_ORANGE_1)
    addEvent(function()
    doCleanTile(p)
    doSendMagicEffect(p, CONST_ME_TELEPORT)
    doCreateTeleport(t.tp_id, t.tp_goreward,p)
    end, 1)
    addEvent(removeAll,  mathtime(t.removetp_time)*1000, p, t.boss_area)
end
return true
end]]></event>
</mod>

 

 

 

A configuração é autoexplicativa, mesmo assim, para que não restem dúvidas:

 

Spoiler

t = {
tp_id = 1387,

boss_area = {{x=1,y=1,z=1}, {x=1,y=1,z=1}}, -- canto superior esquerdo, canto inferior direito da área de boss

tp_goboss = {time_before = {5, "min"}, create_pos = {x = 1, y = 1, z = 1}, goTo = {x = 1, y = 1, z = 1}}, 

-- time_before: quanto tempo antes do horário o teleporte da área de eventos será criado 
-- create_pos: a posição na qual o teleporte será criado
-- goTo: posição para qual o teleporte levará

msg_time = true, -- true vai mandar a mensagem quando o teleporte for criado, false não

tp_goreward = {x = 1, y = 1, z = 1},  -- posição para qual o teleporte do boss levará

removetp_time = {5, "min"}, -- tempo para remover o teleporte do boss

[{"Tuesday", "10:34"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},

--- create_pos: posição na qual o boss será criado
--- remove_time: true caso queira remover o boss, false se não, {tempo para remover o boss}

 

 

 

Adicione no arquivo do boss que será criado na boss area, antes de </monster>:

 

 <script>
 <event name = "InvasionBossDeath"/>
 </script>

 

Lembrando que o evento só será executado caso o boss esteja dentro da boss area. 

Contato:

 

Postado
  • Autor
10 horas atrás, Dwarfer disse:

Segue o mod:

 

  Ocultar conteúdo


<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Invasion Event" version="1.0" author="Dwarfer" contact="tibiaking.com" enabled="yes">
<config name="Inv_func"><![CDATA[
t = {
tp_id = 1387,

boss_area = {{x=1,y=1,z=1}, {x=1,y=1,z=1}},
tp_goboss = {time_before = {5, "min"}, create_pos = {x = 1, y = 1, z = 1}, goTo = {x = 1, y = 1, z = 1}},
msg_time = true,
tp_goreward = {x = 1, y = 1, z = 1}, 
removetp_time = {5, "min"},

days = {
[{"Tuesday", "10:34"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},
[{"Wednesday", "15:00"}] = {name = "Dwarf Soldier", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}},
[{"Friday", "12:32"}] = {name = "Dwarf Guard", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}},
[{"Monday", "20:55"}] = {name = "Dwarf Geomancer", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}}
}}

function mathtime(table) -- by dwarfer
local unit = {"sec", "min", "hour", "day"}
for i, v in pairs(unit) do
if v == table[2] then
return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1)
end
end
return "Error: Bad declaration in mathtime function."
end

function isHour(a, b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return true
end
end
return false
end

function getTable(a,b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return k
end
end
end

function doRemoveMonster(uid)
if isMonster(uid) then
doBroadcastMessage(getCreatureName(uid) .. " returned to its covil stronger than before!", MESSAGE_EVENT_ADVANCE)
doRemoveCreature(uid)
end
end

function getPlayersInArea(fromPos, toPos)
local players = {}
for _, pid in ipairs(getPlayersOnline()) do
if isInRange(getPlayerPosition(pid), fromPos, toPos) then
table.insert(players, pid)
end
end
return players
end

function removeAll(tp_pos, area)
doRemoveItem(getTileItemById(tp_pos,t.tp_id).uid)
local p = getPlayersInArea(area[1], area[2]) 
if #p > 0 then
for i = 1, #p do
doTeleportThing(p[i], getTownTemplePosition(getPlayerTown(p[i])))
end
end
end]]></config>
<globalevent name="InvasionEvent" interval="60000" event="script"><![CDATA[
domodlib('Inv_func')
function onThink(interval, lastExecution)

if isHour( os.date("%A"), os.date("%X", os.time() + mathtime(t.tp_goboss.time_before)):sub(1,5)) then
    if t.msg_time then
        doBroadcastMessage("An evil soul seems to be coming to this land. Teleport appeared at Event Room! It will be there for " .. t.tp_goboss.time_before[1] .. " " .. t.tp_goboss.time_before[2] .. ".", MESSAGE_EVENT_ADVANCE)
    end
    doCleanTile(t.tp_goboss.create_pos)
    doCreateTeleport(t.tp_id, t.tp_goboss.goTo, t.tp_goboss.create_pos)
end

if isHour(os.date("%A"), os.date("%X"):sub(1,5)) then
    local m = getTable(os.date("%A"),os.date("%X"):sub(1,5))
    doRemoveItem(getTileItemById(t.tp_goboss.create_pos, t.tp_id).uid)
    local text = "It will be there for " .. m.remove_time[2][1] .. " " .. m.remove_time[2][2] .."!"
    doBroadcastMessage(m.name .. " appeared in the Boss Area. Kill it if you are able to! " .. (m.remove_time[1] == true and text or ""), MESSAGE_EVENT_ADVANCE)
    local monster = doSummonCreature(m.name, m.create_pos)
    if m.remove_time[1] then
        addEvent(doRemoveMonster, mathtime(m.remove_time[2])*1000, monster)
    end
end
return true
end]]></globalevent>
<event type="death" name="InvasionBossDeath" event="script"><![CDATA[
domodlib('Inv_func')
function onDeath(cid)
local p = getCreaturePosition(cid)
if isInRange(p, t.boss_area[1], t.boss_area[2]) then
    doCreatureSay(cid, "LOST NOW, BUT I WILL BACK HAHAHAHA! Teleport ends in " .. t.removetp_time[1] .." " .. t.removetp_time[2] .. ".", TALKTYPE_ORANGE_1)
    addEvent(function()
    doCleanTile(p)
    doSendMagicEffect(p, CONST_ME_TELEPORT)
    doCreateTeleport(t.tp_id, t.tp_goreward,p)
    end, 1)
    addEvent(removeAll,  mathtime(t.removetp_time)*1000, p, t.boss_area)
end
return true
end]]></event>
</mod>

 

 

 

A configuração é autoexplicativa, mesmo assim, para que não restem dúvidas:

 

  Ocultar conteúdo


t = {
tp_id = 1387,

boss_area = {{x=1,y=1,z=1}, {x=1,y=1,z=1}}, -- canto superior esquerdo, canto inferior direito da área de boss

tp_goboss = {time_before = {5, "min"}, create_pos = {x = 1, y = 1, z = 1}, goTo = {x = 1, y = 1, z = 1}}, 

-- time_before: quanto tempo antes do horário o teleporte da área de eventos será criado 
-- create_pos: a posição na qual o teleporte será criado
-- goTo: posição para qual o teleporte levará

msg_time = true, -- true vai mandar a mensagem quando o teleporte for criado, false não

tp_goreward = {x = 1, y = 1, z = 1},  -- posição para qual o teleporte do boss levará

removetp_time = {5, "min"}, -- tempo para remover o teleporte do boss

[{"Tuesday", "10:34"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},

--- create_pos: posição na qual o boss será criado
--- remove_time: true caso queira remover o boss, false se não, {tempo para remover o boss}

 

 

 

Adicione no arquivo do boss que será criado na boss area, antes de </monster>:

 


 <script>
 <event name = "InvasionBossDeath"/>
 </script>

 

Lembrando que o evento só será executado caso o boss esteja dentro da boss area. 

 

Caralho, perfeito! OBRIGADO <3 <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3

  • 2 weeks later...
Postado
Em 02/09/2017 em 22:01, Dwarfer disse:

Segue o mod:

 

  Ocultar conteúdo


<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Invasion Event" version="1.0" author="Dwarfer" contact="tibiaking.com" enabled="yes">
<config name="Inv_func"><![CDATA[
t = {
tp_id = 1387,

boss_area = {{x=1,y=1,z=1}, {x=1,y=1,z=1}},
tp_goboss = {time_before = {5, "min"}, create_pos = {x = 1, y = 1, z = 1}, goTo = {x = 1, y = 1, z = 1}},
msg_time = true,
tp_goreward = {x = 1, y = 1, z = 1}, 
removetp_time = {5, "min"},

days = {
[{"Tuesday", "10:34"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},
[{"Wednesday", "15:00"}] = {name = "Dwarf Soldier", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}},
[{"Friday", "12:32"}] = {name = "Dwarf Guard", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}},
[{"Monday", "20:55"}] = {name = "Dwarf Geomancer", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {1, "hour"}}}
}}

function mathtime(table) -- by dwarfer
local unit = {"sec", "min", "hour", "day"}
for i, v in pairs(unit) do
if v == table[2] then
return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1)
end
end
return "Error: Bad declaration in mathtime function."
end

function isHour(a, b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return true
end
end
return false
end

function getTable(a,b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return k
end
end
end

function doRemoveMonster(uid)
if isMonster(uid) then
doBroadcastMessage(getCreatureName(uid) .. " returned to its covil stronger than before!", MESSAGE_EVENT_ADVANCE)
doRemoveCreature(uid)
end
end

function getPlayersInArea(fromPos, toPos)
local players = {}
for _, pid in ipairs(getPlayersOnline()) do
if isInRange(getPlayerPosition(pid), fromPos, toPos) then
table.insert(players, pid)
end
end
return players
end

function removeAll(tp_pos, area)
doRemoveItem(getTileItemById(tp_pos,t.tp_id).uid)
local p = getPlayersInArea(area[1], area[2]) 
if #p > 0 then
for i = 1, #p do
doTeleportThing(p[i], getTownTemplePosition(getPlayerTown(p[i])))
end
end
end]]></config>
<globalevent name="InvasionEvent" interval="60000" event="script"><![CDATA[
domodlib('Inv_func')
function onThink(interval, lastExecution)

if isHour( os.date("%A"), os.date("%X", os.time() + mathtime(t.tp_goboss.time_before)):sub(1,5)) then
    if t.msg_time then
        doBroadcastMessage("An evil soul seems to be coming to this land. Teleport appeared at Event Room! It will be there for " .. t.tp_goboss.time_before[1] .. " " .. t.tp_goboss.time_before[2] .. ".", MESSAGE_EVENT_ADVANCE)
    end
    doCleanTile(t.tp_goboss.create_pos)
    doCreateTeleport(t.tp_id, t.tp_goboss.goTo, t.tp_goboss.create_pos)
end

if isHour(os.date("%A"), os.date("%X"):sub(1,5)) then
    local m = getTable(os.date("%A"),os.date("%X"):sub(1,5))
    doRemoveItem(getTileItemById(t.tp_goboss.create_pos, t.tp_id).uid)
    local text = "It will be there for " .. m.remove_time[2][1] .. " " .. m.remove_time[2][2] .."!"
    doBroadcastMessage(m.name .. " appeared in the Boss Area. Kill it if you are able to! " .. (m.remove_time[1] == true and text or ""), MESSAGE_EVENT_ADVANCE)
    local monster = doSummonCreature(m.name, m.create_pos)
    if m.remove_time[1] then
        addEvent(doRemoveMonster, mathtime(m.remove_time[2])*1000, monster)
    end
end
return true
end]]></globalevent>
<event type="death" name="InvasionBossDeath" event="script"><![CDATA[
domodlib('Inv_func')
function onDeath(cid)
local p = getCreaturePosition(cid)
if isInRange(p, t.boss_area[1], t.boss_area[2]) then
    doCreatureSay(cid, "LOST NOW, BUT I WILL BACK HAHAHAHA! Teleport ends in " .. t.removetp_time[1] .." " .. t.removetp_time[2] .. ".", TALKTYPE_ORANGE_1)
    addEvent(function()
    doCleanTile(p)
    doSendMagicEffect(p, CONST_ME_TELEPORT)
    doCreateTeleport(t.tp_id, t.tp_goreward,p)
    end, 1)
    addEvent(removeAll,  mathtime(t.removetp_time)*1000, p, t.boss_area)
end
return true
end]]></event>
</mod>

 

 

 

A configuração é autoexplicativa, mesmo assim, para que não restem dúvidas:

 

  Mostrar conteúdo oculto


t = {
tp_id = 1387,

boss_area = {{x=1,y=1,z=1}, {x=1,y=1,z=1}}, -- canto superior esquerdo, canto inferior direito da área de boss

tp_goboss = {time_before = {5, "min"}, create_pos = {x = 1, y = 1, z = 1}, goTo = {x = 1, y = 1, z = 1}}, 

-- time_before: quanto tempo antes do horário o teleporte da área de eventos será criado 
-- create_pos: a posição na qual o teleporte será criado
-- goTo: posição para qual o teleporte levará

msg_time = true, -- true vai mandar a mensagem quando o teleporte for criado, false não

tp_goreward = {x = 1, y = 1, z = 1},  -- posição para qual o teleporte do boss levará

removetp_time = {5, "min"}, -- tempo para remover o teleporte do boss

[{"Tuesday", "10:34"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},

--- create_pos: posição na qual o boss será criado
--- remove_time: true caso queira remover o boss, false se não, {tempo para remover o boss}

 

 

 

Adicione no arquivo do boss que será criado na boss area, antes de </monster>:

 


 <script>
 <event name = "InvasionBossDeath"/>
 </script>

 

Lembrando que o evento só será executado caso o boss esteja dentro da boss area. 

 

 

Aqui com vários horários o script não ativa, mas quando coloco 1, ele ativa, e da erro.

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Invasion Event" version="1.0" author="Dwarfer" contact="tibiaking.com" enabled="yes">
<config name="Inv_func"><![CDATA[
t = {
tp_id = 1387,

boss_area = {{x=2740,y=1831,z=7}, {x=2802,y=1872,z=7}},
tp_goboss = {time_before = {5, "min"}, create_pos = {x = 2113, y = 1678, z = 7}, goTo = {x = 2778, y = 1893, z = 6}},
msg_time = true,
tp_goreward = {x = 2846, y = 1858, z = 6}, 
removetp_time = {5, "min"},

days = {
[{"Monday", "06:15","12:15","18:15","22:15"}] = {name = "Devovorga Imune", create_pos = {x = 2777, y = 1854, z = 7}, remove_time = {true, {45, "min"}}},
[{"Tuesday", "06:15","12:15","18:15","22:15"}] = {name = "Ferumbras", create_pos = {x = 2777, y = 1854, z = 7}, remove_time = {true, {45, "min"}}},
[{"Wednesday", "06:15","12:15","18:15","22:15"}] = {name = "Phrodomo", create_pos = {x = 2777, y = 1854, z = 7}, remove_time = {true, {45, "min"}}},
[{"Thursday", "06:15","12:15","18:15","22:15"}] = {name = "Devovorga Imune", create_pos = {x = 2777, y = 1854, z = 7}, remove_time = {true, {45, "min"}}},
[{"Friday", "06:15","12:15","18:15","22:15"}] = {name = "Ferumbras", create_pos = {x = 2777, y = 1854, z = 7}, remove_time = {true, {45, "min"}}},
[{"Saturday", "06:15","12:15","18:15","22:15"}] = {name = "Phrodomo", create_pos = {x = 2777, y = 1854, z = 7}, remove_time = {true, {45, "min"}}},
[{"Sunday", "13:57"}] = {name = "Devovorga Imune", create_pos = {x = 2777, y = 1854, z = 7}, remove_time = {true, {45, "min"}}}
}}

function mathtime(table) -- by dwarfer
local unit = {"sec", "min", "hour", "day"}
for i, v in pairs(unit) do
if v == table[2] then
return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1)
end
end
return "Error: Bad declaration in mathtime function."
end

function isHour(a, b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return true
end
end
return false
end

function getTable(a,b)
for i, k in pairs(t.days) do
if i[1] == a and i[2] == b then
return k
end
end
end

function doRemoveMonster(uid)
if isMonster(uid) then
doBroadcastMessage(getCreatureName(uid) .. " returned to its covil stronger than before!", MESSAGE_EVENT_ADVANCE)
doRemoveCreature(uid)
end
end

function getPlayersInArea(fromPos, toPos)
local players = {}
for _, pid in ipairs(getPlayersOnline()) do
if isInRange(getPlayerPosition(pid), fromPos, toPos) then
table.insert(players, pid)
end
end
return players
end

function removeAll(tp_pos, area)
doRemoveItem(getTileItemById(tp_pos,t.tp_id).uid)
local p = getPlayersInArea(area[1], area[2]) 
if #p > 0 then
for i = 1, #p do
doTeleportThing(p[i], getTownTemplePosition(getPlayerTown(p[i])))
end
end
end]]></config>
<globalevent name="InvasionEvent" interval="60000" event="script"><![CDATA[
domodlib('Inv_func')
function onThink(interval, lastExecution)

if isHour( os.date("%A"), os.date("%X", os.time() + mathtime(t.tp_goboss.time_before)):sub(1,5)) then
    if t.msg_time then
        doBroadcastMessage("An evil soul seems to be coming to this roshamuul land. Teleport appeared at Event Room! It will be there for " .. t.tp_goboss.time_before[1] .. " " .. t.tp_goboss.time_before[2] .. ".", MESSAGE_EVENT_ADVANCE)
    end
    doCleanTile(t.tp_goboss.create_pos)
    doCreateTeleport(t.tp_id, t.tp_goboss.goTo, t.tp_goboss.create_pos)
end

if isHour(os.date("%A"), os.date("%X"):sub(1,5)) then
    local m = getTable(os.date("%A"),os.date("%X"):sub(1,5))
    doRemoveItem(getTileItemById(t.tp_goboss.create_pos, t.tp_id).uid)
    local text = "It will be there for " .. m.remove_time[2][1] .. " " .. m.remove_time[2][2] .."!"
    doBroadcastMessage(m.name .. " appeared in the Boss Area. Kill it if you are able to! " .. (m.remove_time[1] == true and text or ""), MESSAGE_EVENT_ADVANCE)
    local monster = doSummonCreature(m.name, m.create_pos)
    if m.remove_time[1] then
        addEvent(doRemoveMonster, mathtime(m.remove_time[2])*1000, monster)
    end
end
return true
end]]></globalevent>
<event type="death" name="InvasionBossDeath" event="script"><![CDATA[
domodlib('Inv_func')
function onDeath(cid)
local p = getCreaturePosition(cid)
if isInRange(p, t.boss_area[1], t.boss_area[2]) then
    doCreatureSay(cid, "LOST NOW, BUT I WILL BACK HAHAHAHA! Teleport ends in " .. t.removetp_time[1] .." " .. t.removetp_time[2] .. ".", TALKTYPE_ORANGE_1)
    addEvent(function()
    doCleanTile(p)
    doSendMagicEffect(p, CONST_ME_TELEPORT)
    doCreateTeleport(t.tp_id, t.tp_goreward,p)
    end, 1)
    addEvent(removeAll,  mathtime(t.removetp_time)*1000, p, t.boss_area)
end
return true
end]]></event>
</mod>

 

 

 

Sem título.png

(1º) | [8.60] - Galaxy Server - Download

(2º) | [8.60] - Glorious Server - Download

(3º) | [8.60] - Epic Server - Download

Postado

Você edita o mod a seu gosto sem saber o que tava fazendo e quer que funcione? Aí fica difícil einh cara.

Pra adicionar outros horários é só colocar na outra linha:

 

Spoiler

[{"Tuesday", "10:34"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},
[{"Tuesday", "15:30"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},
[{"Tuesday", "20:50"}] = {name = "Dwarf", create_pos = {x = 1, y = 1, z = 1}, remove_time = {true, {3, "min"}}},

 

 

Contato:

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo