• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Lua Boss spawn

Sizaro

Advanced OT User
Joined
Aug 20, 2007
Messages
5,180
Solutions
5
Reaction score
233
Location
Sweden
GitHub
coldensjo
I want to make it so that whenever a specific boss spawns, it spawns with additional x creatures at x locations.

For example, when Man in the Cave has spawned, there are additional Ice Golems in the cave below him. Plus there are also unsummoned Monks with him.

LUA:
local spawns = {
    -- Bosses
    [1] = {position = Position(2089, 2160, 15), monster = 'The Mad Mage'},
    [2] = {position = Position(1781, 2260, 6), monster = 'General Murius'},
    [3] = {position = Position(2294, 2266, 10), monster = 'Demodras'},
    [4] = {position = Position(1729, 2063, 9), monster = 'Dharalion'},
    [5] = {position = Position(2372, 2310, 7), monster = 'Fernfang'},
    [6] = {position = Position(2018, 2028, 7), monster = 'Man in the Cave'},
    [7] = {position = Position(2111, 1974, 11), monster = 'Necropharus'},
    [8] = {position = Position(1983, 1935, 7), monster = 'The Horned Fox'},
    [9] = {position = Position(1927, 2095, 8), monster = 'The Evil Eye'},
    [10] = {position = Position(2252, 1812, 7), monster = 'Treasure Goblin'},
    [11] = {position = Position(2269, 2282, 7), monster = 'The Old Widow'},

    -- PoI bosses
    [12] = {position = Position(2313, 2349, 15), monster = 'Countess Sorrow'},
    [13] = {position = Position(2356, 2287, 15), monster = 'Dracola'},
    [14] = {position = Position(2387, 2243, 15), monster = 'Massacre'},
    [15] = {position = Position(2277, 2220, 15), monster = 'Mr. Punish'},
    [16] = {position = Position(2304, 2254, 15), monster = 'The Handmaiden'},
    [17] = {position = Position(2364, 2302, 15), monster = 'The Plasmother'},
    [18] = {position = Position(2430, 2189, 15), monster = 'The Imperor'},
  
    -- New
    [19] = {position = Position(2029, 1955, 8), monster = 'Apprentice Sheng'},
    [20] = {position = Position(1876, 2107, 8), monster = 'Big Boss Trolliver'},
    [21] = {position = Position(1898, 2045, 12), monster = 'Grorlam'},
    [22] = {position = Position(2117, 2361, 10), monster = 'Rukor Zad'},
    [23] = {position = Position(2006, 2150, 7), monster = 'The Big Bad One'},
    [24] = {position = Position(2097, 2205, 11), monster = 'The Noxious Spawn'},
}
function onThink(interval, lastExecution, thinkInterval)
    if math.random(1000) > 999 then
        return true
    end

    local spawn = spawns[math.random(#spawns)]
    Game.createMonster(spawn.monster, spawn.position, false, true)
    print('(Boss) '..spawn.monster..' just spawned.')
    return true
end
 
Solution
X
LUA:
local spawns = {
    -- Bosses
    [1] = {
        {position = Position(2089, 2160, 15), monster = 'The Mad Mage'},
        {position = Position(2089, 2160, 15), monster = 'rat'},
        {position = Position(2089, 2160, 15), monster = 'cave rat'}
    },
    [2] = {{position = Position(1781, 2260, 6), monster = 'General Murius'}},
    [3] = {{position = Position(2294, 2266, 10), monster = 'Demodras'}},
    [4] = {{position = Position(1729, 2063, 9), monster = 'Dharalion'}},
    [5] = {{position = Position(2372, 2310, 7), monster = 'Fernfang'}},
    [6] = {{position = Position(2018, 2028, 7), monster = 'Man in the Cave'}},
    [7] = {{position = Position(2111, 1974, 11), monster = 'Necropharus'}},
    [8] = {{position = Position(1983...
LUA:
local spawns = {
    -- Bosses
    [1] = {
        {position = Position(2089, 2160, 15), monster = 'The Mad Mage'},
        {position = Position(2089, 2160, 15), monster = 'rat'},
        {position = Position(2089, 2160, 15), monster = 'cave rat'}
    },
    [2] = {{position = Position(1781, 2260, 6), monster = 'General Murius'}},
    [3] = {{position = Position(2294, 2266, 10), monster = 'Demodras'}},
    [4] = {{position = Position(1729, 2063, 9), monster = 'Dharalion'}},
    [5] = {{position = Position(2372, 2310, 7), monster = 'Fernfang'}},
    [6] = {{position = Position(2018, 2028, 7), monster = 'Man in the Cave'}},
    [7] = {{position = Position(2111, 1974, 11), monster = 'Necropharus'}},
    [8] = {{position = Position(1983, 1935, 7), monster = 'The Horned Fox'}},
    [9] = {{position = Position(1927, 2095, 8), monster = 'The Evil Eye'}},
    [10] = {{position = Position(2252, 1812, 7), monster = 'Treasure Goblin'}},
    [11] = {{position = Position(2269, 2282, 7), monster = 'The Old Widow'}},
   
    -- PoI bosses
    [12] = {{position = Position(2313, 2349, 15), monster = 'Countess Sorrow'}},
    [13] = {{position = Position(2356, 2287, 15), monster = 'Dracola'}},
    [14] = {{position = Position(2387, 2243, 15), monster = 'Massacre'}},
    [15] = {{position = Position(2277, 2220, 15), monster = 'Mr. Punish'}},
    [16] = {{position = Position(2304, 2254, 15), monster = 'The Handmaiden'}},
    [17] = {{position = Position(2364, 2302, 15), monster = 'The Plasmother'}},
    [18] = {{position = Position(2430, 2189, 15), monster = 'The Imperor'}},
   
    -- New
    [19] = {{position = Position(2029, 1955, 8), monster = 'Apprentice Sheng'}},
    [20] = {{position = Position(1876, 2107, 8), monster = 'Big Boss Trolliver'}},
    [21] = {{position = Position(1898, 2045, 12), monster = 'Grorlam'}},
    [22] = {{position = Position(2117, 2361, 10), monster = 'Rukor Zad'}},
    [23] = {{position = Position(2006, 2150, 7), monster = 'The Big Bad One'}},
    [24] = {{position = Position(2097, 2205, 11), monster = 'The Noxious Spawn'}}
}
function onThink(interval, lastExecution, thinkInterval)
    if math.random(1000) > 999 then
        return true
    end
   
    local spawn = spawns[math.random(#spawns)]
    for i = 1, #spawn do
        Game.createMonster(spawn[i].monster, spawn[i].position, false, true)
    end
    print('(Boss) '..spawn[1].monster..' just spawned.')
    return true
end
 
Solution
Back
Top