-- Morgan's Hell v1.2 created by CrazyLinuxNerd -- Begin User Configurable Options -- -- !!! DONT ADJUST THESE UNLESS YOU KNOW WHAT YOU ARE DOING !!! enabled = true; -- Enable script? scriptinfo = true; -- Show information about script on map? randommaze = true; -- Randomize maze? randomenterexit = true; -- Randomize the entrance and exits? switchasteroid = true; -- Enable random asteroid in flag chest? stickmen = true; -- Enable the stickmen? They said, if you disable them they won't be happy.. flagaccess = true; -- Enable access to pirate flag? carrot = true; -- Enable carrot? (game flag) items = true; -- Enable repair items and energy items? loadout = true; -- Enable loadout zone? balancebot = false; -- Enable automatic bot balance? singleplayerbot = false; -- Enable single player bot? versioninfo = true; -- Display map version information? debugmode = false; -- DEBUG option! Should be disabled at all times! debugnorestriction = false; -- DEBUG option! Should be Disabled at all times! develmode = false; -- DEBUG option! Should be disabled at all times! -- End User Configurable Options -- -- You can stop reading now.... nothing else to be seen here! if (debugnorestriction) then randomizemazeleft = math.random(11,11) randomizemazeright = math.random(11,11) else randomizemazeleft = math.random(0,5) randomizemazeright = math.random(0,7) end randomizeenterexit = math.random(0,1) randomasteroid = math.random(0,1) if (enabled) then function lvlinfo () if(versioninfo) then if (debugmode) and not (develmode) then levelgen:addItem("TextItem", -1, 10.9, 137.7, 11.3, 137.7, 25, "(Debug)") -- Aarr me hearty! display the debug badge lad! elseif not (debugmode) and (develmode) then levelgen:addItem("TextItem", -1, 10.9, 137.7, 11.3, 137.7, 25, "(Dev)") elseif (debugmode) and (develmode) then levelgen:addItem("TextItem", -1, 10.9, 137.7, 11.3, 137.7, 25, "(Dev-Debug)") end if (develmode) then levelgen:addItem("TextItem", -1, 10.1, 137.6, 11, 137.6, 15, "Warning! This Map is currently being edited!") end levelgen:addItem("TextItem", -1, 10.4, 137.8, 11.1, 137.8, 26, "Version 1.0") end if (scriptinfo) then levelgen:addItem("TextItem", -1, 9.6, 138.0, 10.1, 138.0, 28, "Levelgen Info:") levelgen:addLevelLine("BarrierMaker 1 9.59001 138.007 10.09 138.007") -- This aint no barria! This be a underline! levelgen:addItem("TextItem", -1, 9.6, 138.1, 10.5, 138.1, 19, "Script Name: Morgan's Hell") levelgen:addItem("TextItem", -1, 9.6, 138.2, 10.1, 138.2, 19, "Script Version: v1.2") levelgen:addItem("TextItem", -1, 9.6, 138.3, 10.2, 138.3, 19, "Creator: CrazyLinuxNerd") end if (stickmen) then -- Now here be the main event! -- Stickman 1 levelgen:addLevelLine("BarrierMaker 1 11.2535 138.204 11.1866 138.206") levelgen:addLevelLine("BarrierMaker 1 11.1862 138.161 11.1895 138.257 11.2262 138.294 11.1896 138.257 11.1529 138.304 11.1863 138.258") levelgen:addLevelLine("BarrierMaker 1 11.1863 138.148 11.2063 138.122 11.1897 138.095 11.163 138.109 11.1599 138.136 11.183 138.152") levelgen:addLevelLine("BarrierMaker 1 11.1399 138.176 11.1866 138.206 11.14 138.173 11.1 138.1 11.14 138.17 11.1237 138.16 11.1167 138.16") -- Stickman 2 levelgen:addLevelLine("BarrierMaker 1 11.0138 138.161 11.0105 138.257 10.9738 138.294 11.0104 138.257 11.0471 138.304 11.0137 138.258") levelgen:addLevelLine("BarrierMaker 1 11.0137 138.148 10.9937 138.122 11.0103 138.095 11.037 138.109 11.0401 138.136 11.017 138.152") levelgen:addLevelLine("BarrierMaker 1 11.0601 138.176 11.0134 138.206 11.06 138.173 11.1278 138.124 11.06 138.17 11.0763 138.16 11.0833 138.16") levelgen:addLevelLine("BarrierMaker 1 10.9465 138.204 11.0134 138.206") end end function debugging() -- Aye lad what are ya doin'. Ye be havin' two functions for no do good reason -- I be makin' it one function for ya now lad. -- First we need to do some preperation.. lets set up some local vars. local gridsize = levelgen:getGridSize() local playercount = levelgen:getPlayerCount() -- local gametime = levelgen:getGameTime() --if only this existed... if (develmode) or (debugmode) then -- We dont want no dumb time limit do we while we be testin' stuff out now do ya lad? levelgen:setGameTime(0) end -- This prints stuff in the console for debugging purposes.. if (debugmode) or (develmode) then -- Alright mate, first up, we should spit out the config... print("------------------------------------------") print("The Curse of Captain Morgan Information ") print("------------------------------------------") print("Option Configuration:") print("Script Enabled:", "" , enabled) print("Script Info:", "" , scriptinfo) print("Random Maze:", "" , randommaze) print("Random Entrance:", randomenterexit) print("Random Asteroid:", switchasteroid) print("Stickmen:", "" , stickmen) print("Flag Access:", "" , flagaccess) print("Enable Carrot:", "" , carrot) print("Items:", "" , "" , items) print("Loadout Zone:", "" , loadout) print("Balancing Bot:", "", balancebot) print("Singe Player Bot:", singleplayerbot) print("Version Info:", "" , versioninfo) print("Debug Mode:", "" , debugmode) print("Dev Mode:", "" , develmode) -- Next up, lets tell them the level information.. print("Level Information:") print("Grid Size:", "" , gridsize) print("Player Count:", "" , playercount) print("Left Route ID:", "" , randomizemazeleft) print("Right Route ID:", "" , randomizemazeright) if (debugnorestriction) then print("Restrictions:", "", "Off") end -- print("Game Time:", gametime) -- If only... end -- This adds numbers to the map for debugging purposes. See Barrier Index Below. if(debugmode) then levelgen:addLevelLine("TextItem -1 6 136.360 6 136.1 15 Barrirer ID: 1") levelgen:addLevelLine("TextItem -1 5.6 137.5 5.9 137.5 15 Barrier ID: 2") levelgen:addLevelLine("TextItem -1 4.3 139.1 4.3 139.4 15 Barrier ID: 3") levelgen:addLevelLine("TextItem -1 3.580 139 3.9 139 15 Barrier ID: 4") levelgen:addLevelLine("TextItem -1 7.1 139.5 7.4 139.5 15 Barrier ID: 5") levelgen:addLevelLine("TextItem -1 8 140.1 8 140.4 15 Barrier ID: 6") levelgen:addLevelLine("TextItem -1 8.460 139 8.8 139 15 Barrier ID: 7") levelgen:addLevelLine("TextItem -1 8.8 140.640 8.8 140.9 15 Barrier ID: 8") levelgen:addLevelLine("TextItem -1 11 140.1 11 140.4 15 Barrier ID: 9") levelgen:addLevelLine("TextItem -1 11.160 140 11.5 140 15 Barrier ID: 10") levelgen:addLevelLine("TextItem -1 12.1 139.270 12.1 139.6 15 Barrier ID: 11") levelgen:addLevelLine("TextItem -1 13.5 137.605 13.5 137.9 15 Barrier ID: 12") levelgen:addLevelLine("TextItem -1 13.4 137 13.8 137 15 Barrier ID: 13") levelgen:addLevelLine("TextItem -1 13.4 136.5 13.8 136.5 15 Barrier ID: 14") levelgen:addLevelLine("TextItem -1 15 136.6 15 136.9 15 Barrier ID: 15") levelgen:addLevelLine("TextItem -1 18 138.4 18 138.1 15 Barrier ID: 16") levelgen:addLevelLine("TextItem -1 18.1 140 18.4 140 15 Barrier ID: 17") levelgen:addLevelLine("TextItem -1 18.5 139.1 18.5 138.8 15 Barrier ID: 18") end -- BARRIER INDEX -- -- Left: --ID 1: BarrierMaker 50 6 136 6 136.4 --ID 2: BarrierMaker 50 5.5 137.5 6 137.5 --ID 3: BarrierMaker 50 4.3 139 4.3 139.5 --ID 4: BarrierMaker 50 3.5 139 3.9 139 --ID 5: BarrierMaker 50 7 139.5 7.5 139.5 --ID 6: BarrierMaker 50 8 140 8 140.5 --ID 7: BarrierMaker 50 8.8 139 8.4 139 --ID 8: BarrierMaker 50 8.8 140.6 8.8 141 -- Right: --ID 9: BarrierMaker 50 11 140 11 140.5 --ID 10: BarrierMaker 50 11 140 11.5228 140 --ID 11: BarrierMaker 50 12.1 139.2 12.1 139.6 --ID 12: BarrierMaker 50 13.5 137.5 13.5 138 --ID 13: BarrierMaker 50 13.8 137 13.3 137 --ID 14: BarrierMaker 50 13.3 136.5 13.8 136.5 --ID 15: BarrierMaker 50 15 136.5 15 137 --ID 16: BarrierMaker 50 18 138.5 18 138 --ID 17: BarrierMaker 50 18 140 18.5 140 --ID 18: BarrierMaker 50 18.5 138.7 18.5 139.2 end function balancing() -- Oh ye be a poor lad ta be playing all on your lonesome! if (singleplayerbot) and not (balancebot) then local playercount = levelgen:getPlayerCount() if (playercount) <= 2 then levelgen:addLevelLine("Robot 0 s_bot.bot") end elseif (balancebot) and (singleplayerbot) then print("!!! CONFIGURATION ERORR: Single Player Bot and Balance Bot options conflict with each other. Only one may be activated at a time !!!") end -- We not be liking odd games.. lets even it up a bit. if (balancebot) and not (singleplayerbot) then local playercount = levelgen:getPlayerCount() local checkplayer = math.mod(playercount, 2) if (checkplayer == 1) then local odd = true; while odd do levelgen:addLevelLine("Robot 0 s_bot.bot") local newcount = levelgen:getPlayerCount() local newplayer = math.mod(newcount, 2) if not (newplayer == 0) then odd = false; end end end end end function mazegen() if(randommaze) then if(switchasteroid) then if (randomasteroid) then -- Aaarrrr Ye be needing two if's to get this ta be workin' lad. levelgen:addItem("Asteroid", 10.5, 137.2) end end if not (debugnorestriction) then if(randomenterexit) then if (randomizeenterexit == 0) then levelgen:addItem("TextItem", -1, 9.1, 136.8, 10.1, 136.8, 49, "<< Enter Maze") levelgen:addItem("TextItem", -1, 11, 136.8, 12, 136.8, 55, "<< Exit Maze") levelgen:addLevelLine("SpeedZone 11.1 136.7 10.3 136.2 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11.1 136.8 10.3 136.3 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11.1 136.9 10.2 136.3 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11 136.9 10.2 136.4 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 10 136.6 8.6 136.6 3000") levelgen:addLevelLine("SpeedZone 10 136.7 8.6 136.6 3000") levelgen:addLevelLine("SpeedZone 10 136.8 8.6 136.6 3000") levelgen:addLevelLine("SpeedZone 10 136.9 8.9 136.6 3000") elseif(randomizeenterexit == 1) then levelgen:addLevelLine("TextItem -1 9.1 136.8 10.1 136.8 49 Exit Maze >>") levelgen:addLevelLine("TextItem -1 11 136.8 12 136.8 49 Enter Maze >>") levelgen:addLevelLine("SpeedZone 9.9 136.9 10.8 136.4 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 9.86586 136.848 10.8 136.3 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 9.84737 136.782 10.9 136.2 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 9.83372 136.711 10.9 136.2 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11 136.9 11.3 136.9 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11 136.8 11.3 136.8 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11 136.7 11.3 136.7 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11 136.6 11.3 136.6 3000 SnapEnabled") end else levelgen:addItem("TextItem", -1, 9.1, 136.8, 10.1, 136.8, 49, "<< Enter Maze") levelgen:addItem("TextItem", -1, 11, 136.8, 12, 136.8, 55, "<< Exit Maze") levelgen:addLevelLine("SpeedZone 11.1 136.7 10.3 136.2 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11.1 136.8 10.3 136.3 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11.1 136.9 10.2 136.3 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 11 136.9 10.2 136.4 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 10 136.6 8.6 136.6 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 10 136.7 8.6 136.6 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 10 136.8 8.6 136.6 3000 SnapEnabled") levelgen:addLevelLine("SpeedZone 10 136.9 8.9 136.6 3000 SnapEnabled") end end -- Begin the maze Randomization.. oh crap :/ here we go.. -- Left Side if(randomizemazeleft == 0) then -- Ye best be tryin' to keep to thee original route here! levelgen:addLevelLine("BarrierMaker 50 6 136 6 136.4") levelgen:addLevelLine("BarrierMaker 50 3.5 139 3.9 139") levelgen:addLevelLine("BarrierMaker 50 7 139.5 7.5 139.5") levelgen:addLevelLine("BarrierMaker 50 8.8 139 8.4 139") elseif(randomizemazeleft == 1) then levelgen:addLevelLine("BarrierMaker 50 8.8 140.6 8.8 141") levelgen:addLevelLine("BarrierMaker 50 8 140 8 140.5") levelgen:addLevelLine("BarrierMaker 50 7 139.5 7.5 139.5") levelgen:addLevelLine("BarrierMaker 50 6 136 6 136.4") levelgen:addLevelLine("BarrierMaker 50 4.3 139 4.3 139.5") elseif(randomizemazeleft == 2) then levelgen:addLevelLine("BarrierMaker 50 8.8 140.6 8.8 141") levelgen:addLevelLine("BarrierMaker 50 8.8 139 8.4 139") levelgen:addLevelLine("BarrierMaker 50 7 139.5 7.5 139.5") levelgen:addLevelLine("BarrierMaker 50 3.5 139 3.9 139") levelgen:addLevelLine("BarrierMaker 50 6 136 6 136.4") elseif(randomizemazeleft == 3) then levelgen:addLevelLine("BarrierMaker 50 8 140 8 140.5") levelgen:addLevelLine("BarrierMaker 50 4.3 139 4.3 139.5") levelgen:addLevelLine("BarrierMaker 50 6 136 6 136.4") elseif(randomizemazeleft == 4) then levelgen:addLevelLine("BarrierMaker 50 8.8 140.6 8.8 141") levelgen:addLevelLine("BarrierMaker 50 8 140 8 140.5") levelgen:addLevelLine("BarrierMaker 50 7 139.5 7.5 139.5") levelgen:addLevelLine("BarrierMaker 50 5.5 137.5 6 137.5") levelgen:addLevelLine("BarrierMaker 50 4.3 139 4.3 139.5") elseif(randomizemazeleft == 5) then levelgen:addLevelLine("BarrierMaker 50 8 140 8 140.5") levelgen:addLevelLine("BarrierMaker 50 4.3 139 4.3 139.5") levelgen:addLevelLine("BarrierMaker 50 6 136 6 136.4") levelgen:addLevelLine("BarrierMaker 50 8.8 139 8.4 139") -- Begin Random Maze Space Holders.. -- elseif(randomizemazeleft == 6) then elseif(randomizemazeleft == 7) then elseif(randomizemazeleft == 8) then elseif(randomizemazeleft == 9) then elseif(randomizemazeleft == 10) then -- End Random Maze Space Holders.. -- end -- Right Side if(randomizemazeright == 0) then -- Ye best be tryin' to keep to thee original route here! levelgen:addLevelLine("BarrierMaker 50 11 140 11 140.5") levelgen:addLevelLine("BarrierMaker 50 18.5 138.7 18.5 139.2") levelgen:addLevelLine("BarrierMaker 50 13.8 137 13.3 137") levelgen:addLevelLine("BarrierMaker 50 13.3 136.5 13.8 136.5") levelgen:addLevelLine("BarrierMaker 50 12.1 139.2 12.1 139.6") levelgen:addLevelLine("BarrierMaker 50 18 138.5 18 138") elseif(randomizemazeright == 1) then levelgen:addLevelLine("BarrierMaker 50 11 140 11.5228 140") levelgen:addLevelLine("BarrierMaker 50 18 140 18.5 140") levelgen:addLevelLine("BarrierMaker 50 13.8 137 13.3 137") levelgen:addLevelLine("BarrierMaker 50 13.3 136.5 13.8 136.5") levelgen:addLevelLine("BarrierMaker 50 12.1 139.2 12.1 139.6") levelgen:addLevelLine("BarrierMaker 50 18 138.5 18 138") elseif(randomizemazeright == 2) then levelgen:addLevelLine("BarrierMaker 50 11 140 11 140.5 ") levelgen:addLevelLine("BarrierMaker 50 18.5 138.7 18.5 139.2") levelgen:addLevelLine("BarrierMaker 50 15 136.5 15 137") levelgen:addLevelLine("BarrierMaker 50 13.3 136.5 13.8 136.5") levelgen:addLevelLine("BarrierMaker 50 12.1 139.2 12.1 139.6") levelgen:addLevelLine("BarrierMaker 50 18 138.5 18 138") elseif(randomizemazeright == 3) then levelgen:addLevelLine("BarrierMaker 50 11 140 11.5228 140") levelgen:addLevelLine("BarrierMaker 50 18 140 18.5 140") levelgen:addLevelLine("BarrierMaker 50 13.8 137 13.3 137") levelgen:addLevelLine("BarrierMaker 50 15 136.5 15 137") levelgen:addLevelLine("BarrierMaker 50 12.1 139.2 12.1 139.6") levelgen:addLevelLine("BarrierMaker 50 18 138.5 18 138") elseif(randomizemazeright == 4) then levelgen:addLevelLine("BarrierMaker 50 11 140 11.5228 140") levelgen:addLevelLine("BarrierMaker 50 18 140 18.5 140") levelgen:addLevelLine("BarrierMaker 50 13.8 137 13.3 137") levelgen:addLevelLine("BarrierMaker 50 15 136.5 15 137") levelgen:addLevelLine("BarrierMaker 50 12.1 139.2 12.1 139.6") levelgen:addLevelLine("BarrierMaker 50 18 138.5 18 138") elseif(randomizemazeright == 5) then levelgen:addLevelLine("BarrierMaker 50 11 140 11.5228 140") levelgen:addLevelLine("BarrierMaker 50 18 140 18.5 140") levelgen:addLevelLine("BarrierMaker 50 13.3 136.5 13.8 136.5") levelgen:addLevelLine("BarrierMaker 50 15 136.5 15 137") levelgen:addLevelLine("BarrierMaker 50 18 138.5 18 138") elseif(randomizemazeright == 6) then levelgen:addLevelLine("BarrierMaker 50 11 140 11.5228 140") levelgen:addLevelLine("BarrierMaker 50 18 140 18.5 140") levelgen:addLevelLine("BarrierMaker 50 13.8 137 13.3 137") levelgen:addLevelLine("BarrierMaker 50 15 136.5 15 137") levelgen:addLevelLine("BarrierMaker 50 12.1 139.2 12.1 139.6") levelgen:addLevelLine("BarrierMaker 50 18.5 138.7 18.5 139.2") elseif(randomizemazeright == 7) then levelgen:addLevelLine("BarrierMaker 50 11 140 11.5228 140") levelgen:addLevelLine("BarrierMaker 50 18 140 18.5 140") levelgen:addLevelLine("BarrierMaker 50 15 136.5 15 137") levelgen:addLevelLine("BarrierMaker 50 18 138.5 18 138") levelgen:addLevelLine("BarrierMaker 50 18.5 138.7 18.5 139.2") levelgen:addLevelLine("BarrierMaker 50 13.8 137 13.3 137") levelgen:addLevelLine("BarrierMaker 50 13.5 137.5 13.5 138") elseif(randomizemazeright == 8) then -- Begin Random Maze Space Holders.. -- elseif(randomizemazeright == 9) then elseif(randomizemazeright == 10) then -- End Random Maze Space Holders.. -- end end end function general() if (flagaccess) then levelgen:addLevelLine("Teleporter 10.5 133.5 4.5 -8.5") levelgen:addLevelLine("Teleporter 9.5 -5.5 10.5 135") levelgen:addItem("TextItem", -1, 9.9, 133.8, 11, 133.8, 38, "Raise the Black Flag!") levelgen:addItem("TextItem", -1, 8.9, -5.8, 9.9, -5.8, 38, "All Hands on deck!") end if (items) then levelgen:addItem("EnergyItem", 6.3, 137.3, 10) levelgen:addItem("RepairItem", 9.8, 136.3, 10) levelgen:addItem("EnergyItem", 4.8, 138.8, 10) levelgen:addItem("RepairItem", 4.8, 140.8, 10) levelgen:addItem("EnergyItem", 10.3, 139.2, 10) levelgen:addItem("RepairItem", 12.3, 137.7, 10) levelgen:addItem("EnergyItem", 11.3, 137.3, 10) levelgen:addItem("RepairItem", 17.8, 138.3, 10) levelgen:addItem("EnergyItem", 11.2, 136.3, 10) levelgen:addItem("RepairItem", 9.8, 137.3, 10) levelgen:addItem("EnergyItem", 14.3, 139.3, 10) end if (loadout) then levelgen:addLevelLine("LoadoutZone 0 9.06335 133.063 11.9442 133.054 11.9458 134.941 9.06236 134.94") end if (carrot) then levelgen:addItem("FlagItem", -1, 10.5, 137.2) end end -- Now ye best be putting together all ye learned! Hoist the anker and set sail! lvlinfo() debugging() balancing() -- Arr, ya best not be sinking yet.. mazegen() general() -- SHIVER ME TIMBERS!!! Ye be sailing successfully lad! else levelgen:addItem("TextItem", -1, 9.6, 138.3, 10.1, 138.3, 28, "Levelgen Disabled! >:-(") -- LevelGen is Sad :'( end -- EOF - I now be needing some rum...