• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

GlobalEvent TM - Boss Raid System v1.3.0 (Release/Updated)

Well yea it can be done like that but in versions 1.x.x I haven't made it dynamic. I am removing the need for the parameters config, broadcasting, and interval in these functions so it can be executed dynamically :D
 
So, I haven't had much spare time lately to move forward with the 2.0.0a patch. However I have done quite a lot already, including the redesign preparation of the code structure for some of the new features I will be adding! Exciting for me atleast haha.

Current Log:
2.0.0a Requirements: Progress [10/11]

  • [X] Redesign library the code struture in preparation for 2.0.0a features (remove any internal and external reliances.)
  • [X] Store all passed values into the database so they can be pulled once to prevent parsing params.
  • [ ] Move the raid library to a more standardized location(?)
  • [X] Allow for the system to handle the function call 'executeBossRaid(params)' more dynamically and mobily.
  • [X] Create a more dynamic logging sequence.
  • [X] Revamp UI prompting for:
    -> Raid List
    -> Logging/Debuging​
  • [X] Remove requirement to set ID's in the configs (make it self maintained.)
    -> Add checking for matching boss names
    -> Add standard String checking: 'string.lower'​
  • [X] Set the boss to spawn at a specific coordinate on the map (rather than spawning in the range randomly)
  • [X] A timer in the script to remove the raid monsters and boss a certain amount of time after the raid occurs (configurable.)
  • [X] Monsters spawn in "waves", in sync with broadcasts leading up to the boss spawning (configurable.)
  • [X] Edit docs to fit with all changes made.
Hope people find it useful, I enjoy creating it in some spare times I have :D

Regards,
Mav
 
Last edited:
It would be nice if I could separate my raids in 2:

Raids with boss
Raids without boss

I have like 20 raids here, I don't want to lose them all u know, is there a way to set make a script like this:

PS: I don't know much about lua, some commands like if mathrandom = 1 then and domath don't even exist in lua, I've put that just to transmit the idea...

Lua:
<globalevent name="bosses" interval="120000" event="script" value="raids/bosses.lua"/>
    <globalevent name="registerbosses" type="start" event="script" value="raids/bosses.lua"/>

Lua:
 do mathrandom(1,10)

if mathrandom = 1 then
    local config = 
    {
        id = 1,
        boss = {name = "The Horned Fox", amount = 1},
        spawnBossChance = 100, --(%)
        enabled = true,
        topLeft={x=1020, y=801, z=7, stackpos=253},
        bottomRight={x=1032, y=806, z=7, stackpos=253},
        broadcast = true,
        trashspawn = {
            {name = "Minotaur", amount = 3, chance = 100},
            {name = "Minotaur Guard", amount = 3, chance = 100},
            {name = "Minotaur Mage", amount = 3, chance = 100} --No comma (,) for the last entry
        },
        checkThreshold = 0
    }
 
    local broadcasting = 
    {
          --{text = string, interval = integer[milliseconds], activate = boolean[true/false]} NOTE: Only have ONE 'true' value 
          --(or it will activate more than once) it will activate on the last text by default if no activate value is found.
          --The raid creatures will not spawn until it reaches the broadcast text with activate parameter 'true'.
            {text = "Minotaurs have been sighted moving towards thais, beware!", interval = 500, activate = false},
            {text = "Prepare for battle citizens of thais! Take arms against the Minotaurs", interval = 10000, activate = false},
            {text = "Minotaurs are attacking thais! Defeat their leader "..config.boss.name.." before it is too late.", interval = 10000, activate = true}
    }

 if mathrandom = 2 then
    local config = 
    {
        id = 2,
        boss = {name = "Necropharus", amount = 1},
        spawnBossChance = 100, --(%)
        enabled = true,
        topLeft={x=1020, y=801, z=7, stackpos=253},
        bottomRight={x=1032, y=806, z=7, stackpos=253},
        broadcast = true,
        trashspawn = {
            {name = "Minotaur", amount = 3, chance = 100},
            {name = "Minotaur Guard", amount = 3, chance = 100},
            {name = "Minotaur Mage", amount = 3, chance = 100} --No comma (,) for the last entry
        },
        checkThreshold = 0
    }
 
    local broadcasting = 
    {
          --{text = string, interval = integer[milliseconds], activate = boolean[true/false]} NOTE: Only have ONE 'true' value 
          --(or it will activate more than once) it will activate on the last text by default if no activate value is found.
          --The raid creatures will not spawn until it reaches the broadcast text with activate parameter 'true'.
            {text = "Minotaurs have been sighted moving towards thais, beware!", interval = 500, activate = false},
            {text = "Prepare for battle citizens of thais! Take arms against the Minotaurs", interval = 10000, activate = false},
            {text = "Minotaurs are attacking thais! Defeat their leader "..config.boss.name.." before it is too late.", interval = 10000, activate = true} --No comma (,) for the last entry
    }-


 if mathrandom = 3 then
    local config = 
    {
        id = 3,
        boss = {name = "Tiquandas Revenge", amount = 1},
        spawnBossChance = 100, --(%)
        enabled = true,
        topLeft={x=1020, y=801, z=7, stackpos=253},
        bottomRight={x=1032, y=806, z=7, stackpos=253},
        broadcast = true,
        trashspawn = {
            {name = "Minotaur", amount = 3, chance = 100},
            {name = "Minotaur Guard", amount = 3, chance = 100},
            {name = "Minotaur Mage", amount = 3, chance = 100} --No comma (,) for the last entry
        },
        checkThreshold = 0
    }
 
    local broadcasting = 
    {
          --{text = string, interval = integer[milliseconds], activate = boolean[true/false]} NOTE: Only have ONE 'true' value 
          --(or it will activate more than once) it will activate on the last text by default if no activate value is found.
          --The raid creatures will not spawn until it reaches the broadcast text with activate parameter 'true'.
            {text = "Minotaurs have been sighted moving towards thais, beware!", interval = 500, activate = false},
            {text = "Prepare for battle citizens of thais! Take arms against the Minotaurs", interval = 10000, activate = false},
            {text = "Minotaurs are attacking thais! Defeat their leader "..config.boss.name.." before it is too late.", interval = 10000, activate = true} --No comma (,) for the last entry
    }
 
--[[*******Config End*******]]--

So every 2 days or something like this a boss spawn, but not necessarily a minotaur or wolf raid you know?

Thanks a lot!
 
i have a question..
the step 5)
i use sqlitestudio here i need to put this?
CREATE TABLE `boss_raids` (
`id` int(11) NOT NULL default '1',
`enabled` tinyint(2) NOT NULL default '1',
`active` tinyint(2) NOT NULL default '0',
`boss` varchar(30) NOT NULL,
`lastExecution` int(25) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


plzz i dont understand ;S
 
i use sqlite studio i dont understand step 5 ;S
where i put the code in sqlite studio?
 
umm well I made this system on MySql not SQLite... I will look into the lite code for it.
 
The broadcast type is in the raids/lib/eventraids.lua file. Search "doBroadcastMessage" or something. Then change it.
 
It would be nice if I could separate my raids in 2:

Raids with boss
Raids without boss

I have like 20 raids here, I don't want to lose them all u know, is there a way to set make a script like this:

PS: I don't know much about lua, some commands like if mathrandom = 1 then and domath don't even exist in lua, I've put that just to transmit the idea...

Lua:
<globalevent name="bosses" interval="120000" event="script" value="raids/bosses.lua"/>
    <globalevent name="registerbosses" type="start" event="script" value="raids/bosses.lua"/>

Lua:
 do mathrandom(1,10)

if mathrandom = 1 then
    local config = 
    {
        id = 1,
        boss = {name = "The Horned Fox", amount = 1},
        spawnBossChance = 100, --(%)
        enabled = true,
        topLeft={x=1020, y=801, z=7, stackpos=253},
        bottomRight={x=1032, y=806, z=7, stackpos=253},
        broadcast = true,
        trashspawn = {
            {name = "Minotaur", amount = 3, chance = 100},
            {name = "Minotaur Guard", amount = 3, chance = 100},
            {name = "Minotaur Mage", amount = 3, chance = 100} --No comma (,) for the last entry
        },
        checkThreshold = 0
    }
 
    local broadcasting = 
    {
          --{text = string, interval = integer[milliseconds], activate = boolean[true/false]} NOTE: Only have ONE 'true' value 
          --(or it will activate more than once) it will activate on the last text by default if no activate value is found.
          --The raid creatures will not spawn until it reaches the broadcast text with activate parameter 'true'.
            {text = "Minotaurs have been sighted moving towards thais, beware!", interval = 500, activate = false},
            {text = "Prepare for battle citizens of thais! Take arms against the Minotaurs", interval = 10000, activate = false},
            {text = "Minotaurs are attacking thais! Defeat their leader "..config.boss.name.." before it is too late.", interval = 10000, activate = true}
    }

 if mathrandom = 2 then
    local config = 
    {
        id = 2,
        boss = {name = "Necropharus", amount = 1},
        spawnBossChance = 100, --(%)
        enabled = true,
        topLeft={x=1020, y=801, z=7, stackpos=253},
        bottomRight={x=1032, y=806, z=7, stackpos=253},
        broadcast = true,
        trashspawn = {
            {name = "Minotaur", amount = 3, chance = 100},
            {name = "Minotaur Guard", amount = 3, chance = 100},
            {name = "Minotaur Mage", amount = 3, chance = 100} --No comma (,) for the last entry
        },
        checkThreshold = 0
    }
 
    local broadcasting = 
    {
          --{text = string, interval = integer[milliseconds], activate = boolean[true/false]} NOTE: Only have ONE 'true' value 
          --(or it will activate more than once) it will activate on the last text by default if no activate value is found.
          --The raid creatures will not spawn until it reaches the broadcast text with activate parameter 'true'.
            {text = "Minotaurs have been sighted moving towards thais, beware!", interval = 500, activate = false},
            {text = "Prepare for battle citizens of thais! Take arms against the Minotaurs", interval = 10000, activate = false},
            {text = "Minotaurs are attacking thais! Defeat their leader "..config.boss.name.." before it is too late.", interval = 10000, activate = true} --No comma (,) for the last entry
    }-


 if mathrandom = 3 then
    local config = 
    {
        id = 3,
        boss = {name = "Tiquandas Revenge", amount = 1},
        spawnBossChance = 100, --(%)
        enabled = true,
        topLeft={x=1020, y=801, z=7, stackpos=253},
        bottomRight={x=1032, y=806, z=7, stackpos=253},
        broadcast = true,
        trashspawn = {
            {name = "Minotaur", amount = 3, chance = 100},
            {name = "Minotaur Guard", amount = 3, chance = 100},
            {name = "Minotaur Mage", amount = 3, chance = 100} --No comma (,) for the last entry
        },
        checkThreshold = 0
    }
 
    local broadcasting = 
    {
          --{text = string, interval = integer[milliseconds], activate = boolean[true/false]} NOTE: Only have ONE 'true' value 
          --(or it will activate more than once) it will activate on the last text by default if no activate value is found.
          --The raid creatures will not spawn until it reaches the broadcast text with activate parameter 'true'.
            {text = "Minotaurs have been sighted moving towards thais, beware!", interval = 500, activate = false},
            {text = "Prepare for battle citizens of thais! Take arms against the Minotaurs", interval = 10000, activate = false},
            {text = "Minotaurs are attacking thais! Defeat their leader "..config.boss.name.." before it is too late.", interval = 10000, activate = true} --No comma (,) for the last entry
    }
 
--[[*******Config End*******]]--

So every 2 days or something like this a boss spawn, but not necessarily a minotaur or wolf raid you know?

Thanks a lot!

BUMP

that would be awesome
 
Bumping this again, and to ask if this is still being worked on.

I know we all get busy, myself included, so I just wanted to see if it is still being developed
 
I get errors in the console saying "could not create monster" but the raid runs, and removes leftovers...

Any idea where this might be happening? If you're still watching this thread....
 
didnt test it yet, but i "installed it" its the kind of stuff thats useful if it works, u got a like from me thats for sure

thanks and keep it going
 
Back
Top