Make your own bosses, change their models/size/health/duration/glow/hats and more!
You can have auto-spawning bosses OR spawn them wherever your looking at!
Dependency:
Quote:
- Sourcemod 1.8+
- Metamod 1.10+
- morecolors.inc to compile
Installation:
Quote:
Download the LATEST .7z file and read the README.TXT file for instructions.
Commands:
Spoiler
sm_forcevote - Start a vote, this is the same as !forceboss if sm_boss_mode was set to 2
sm_voteboss - Start a vote, needs a minimum amount of percentage from sm_boss_vote cvar
sm_getcoords - Prints out the coordinates of your position
sm_forceboss <bossname> - Forces a auto-spawning boss to spawn early, leave out the bossname will spawn the next boss in rotation
sm_fb - Does the same as sm_forceboss, just easier to type
sm_spawnboss - Opens a menu to spawn a boss.
sm_sb - Does the same as sm_spawnboss, just easier to type
sm_slayboss - Forces all bosses to die
sm_<bossname> <health> <size> <R,G,B,A> - Spawns a boss where your looking at (R,G,B,A MUST HAVE ',' when you type the command)
- bossname - The name of boss in bossspawner_boss.cfg
- health - health of boss
- size - size of boss
- R,G,B,A - Red,Green,Blue,Alpha each between 0-255. Controls the colors of the glow. Higher alpha = more bright color, 0 alpha = invisible glow/off (You can look up RGB color values on google)
Example: !horseman 1000 2 255,0,255,255 (Horseman spawns with 1000 HP, double size, and will glow purple)
Overrides for sm_<bossname> can be set with sm_boss_override, the default is b Admin_Generic
Convars:
Spoiler
sm_boss_version - Plugin Version - Do not change
sm_boss_mode - Spawn Mode (0 - Random, 1 - Ordered, 2 - Vote)
sm_boss_interval - How many seconds until a new boss is spawned
sm_boss_minplayers - How many players are needed before enabling auto-spawning?
sm_boss_hud_x - X coordinate of HUD display (0.0-1.0) (Default 0.05)
sm_boss_hud_y - Y coordinate of HUD display (0.0-1.0) (Default 0.05)
sm_healthbar_type - [0:None | 1:HUDBar | 2:HUDText | 3:Both]
sm_boss_vote - Percentage needed to start a vote [0-100]
Attribute info:
Spoiler
PHP Code:
Enabled - This will enable the plugin on this map.
Values = [1 OR 0]
Position X - X coordinate for auto-spawning.
Values: [Float]
Position Y - Y coordinate for auto-spawning.
Values: [Float]
Position Z - Z coordinate for auto-spawning.
Values: [Float]
TeleportPosition - Coordinates for treasure island from merasmus/monoculus death.
Values: [Float,Float,Float]
Type - Type of boss to spawn
Values: [headless_hatman, merasmus, monoculus, tf_zombir]
HP Base - Starting Base HP
Values: [Positive Integer]
Restriction: [NONE]
HP Scale - Scale HP per player on server
Values: [Positive Integer]
Restriction: [NONE]
Lifetime - How long does boss stay on before leaving?
Values: [Positive Integer]
Restriction: [NONE]
Model - Directory of the bosses model
Values: [String location]
Restriction: [NONE]
WeaponModel - Directory of the weapon model
Values: [String location OR Invisible]
Restriction: [headless_hatman]
HatModel - Directory of the hat model
Values: [String location]
Restriction: [NONE]
HatPosFix - Some hat models may be above the bosses head, lower this value to put the hat lower
Value: [Float]
Restriction: [NONE]
HatSize - Size of the hat
Value: [Float]
Restriction: [NONE]
Damage - Damage the boss will do per hit
Value: [Float]
Restriction: [NONE]
Size - Size of the boss
Values: [Float]
Restriction: [NONE]
Glow - Set boss to glow
Values: [0-255 0-255 0-255 0-255] RGBA values (Red Green Blue Alpha)
Restriction: [NONE]
Position - Custom boss spawning location used for auto-spawning (This will override the position location at bossspawner_maps.cfg for this boss only)
Values: [Float,Float,Float]
Restriction: [NONE]
Horde - Amount of skeletons to spawned (Note: Boss healthbar will be disabled if this is set to greater than 1)
Values: [Integer]
Restriction: [tf_zombie]
Color - Color of the skeleton that spawns
Values: [red,blue,green,yellow,random]
Restriction: [tf_zombie]
Gnome - Sets whether or not tf_zombie will spawn mini-gnome skeletons on death
Values: [1 OR 0]
PosFix - Sometimes different models may make the boss teleport underground, increase this value if that happens
Values: [Float]
Restriction: [NONE]
IntroSound - Plays sound when boss spawns
Values: [String location]
Restriction: [NONE]
DeathSound - Plays sound when boss dies
Values: [String location]
Restriction: [NONE]
Custom bosses: (Requires extra download of chaos_bosspack.7z, link below)
- King
- Warhammer
- Pacman
- MsPacMan
- Donkey Kong
- Evil Homer
- Freddy Kreuger
- Garfield
- Grinch
- Gumby
- Shrek
- Jason
- Luigi
- Mario
- Rayman
- Stewie
If you want to get more models go to this link
Thanks to RavensBro for providing these models.
Setting up download server for custom models/sounds:
Spoiler
To use bossspawner_downloads.cfg:
Add foldier location like this: (USE forward slash "/" not back slash "\")
models/tf2/mymodels
Example:
If you have files such as: sound/tf2/boss/spawn.wav and sound/tf2/boss/death.wav
1. Open bossspawner_downloads.cfg
2. Add in 1 line: sound/tf2/boss
If you have more files from different folders just add the folder directory and go to next line
You can download chaos_bossspawner.7z pack for examples.
Getting position values:
Spoiler
1. Stand on a position where you want bosses to spawn
2. Type !getcoords
3. Copy coordinate values printed to you
4. Paste it to bossspawner_maps.cfg
5. Optional: If you want a specific boss to spawn elsewhere, set the key "Position" for the boss in bossspawner_boss.cfg
6. Reload plugin
7. Profit???
How do disable auto-spawning and use !<bossname>?
Spoiler
If you want to only use command spawning (!horseman, !monoculus, !merasmus, !skeleton_king, !skeleton_horde),
just set sm_boss_minplayers to 34 or higher. Player count will never exceed 34 so it will never be on.
Now you can spawn your boss with !<bossname>
What the heck, bosses aren't moving!
Spoiler
In your server generate the navigation mesh
1. Type sv_cheats 1
2. Type nav_generate and let it finish
3. Type sv_cheats 0
4. Repeat for each map
5. Profit???
Changelog:
Spoiler
Code:
v.5.0.2
- Fixed skeleton dispatching wrong blood color and spawning them on wrong team
- Added new glow colors to menu, orange, navy, pink, aquamarine, peachpuff, white
v.5.0.1
- Fixed HUD text and bar not disappearing when bosses die
v.5.0
- Fixed custom models causing bosses to stop moving and attacking (Uses bonemerge)
- Glow colors can be changed through spawn menu or through bossspawner_boss.cfg (spawn menu will override the config) or through command
Spawn menu - colored glows (Red Green Blue Yellow Purple Cyan Orange Pink Black)
Config - colored glows from RGB - Alpha values("0-255 0-255 0-255 0-255")(E.G "255 0 0 255" will make Red, "0 255 0 255" will make Green, "0 0 255 255" will make Blue)
Command - colored glows from RGB - !<bossname> <health> <size> <R,G,B,A> where RGBA values vary from 0-255, Example: !horseman 1000 1 255,0,255,255 (horseman will spawn with 1000 hp with purple glow)
- Changed sm_boss_vote as a percentage between 0-100 instead of amount of players
- May have fixed a call stack trace error on OnEntityDestroyed()
- Updated bossspawner_boss.cfg - Added colors and modified King and Warhammer "PosFix" values from 300 to 5 so it doesn't spawn way over than it should
- Removed bossspawner_vanilla.cfg - No longer supporting
- Updated the README.txt file instructions to be clearer
New default bosses: (Bosses that do not require any model/material downloads)
- Demobot
- Heavybot
- Pyrobot
- Scoutbot
- Soldierbot
- Spybot
- Sniperbot
- Medicbot
- Engineerbot
- Tank
- Ghost
- Sentrybuster
- Botkiller
v.4.5 BETA
- Fixed bug where auto-spawning bosses would stop after the first boss dies
- Updated timers syntax
- Added voting
- sm_boss_vote determines min votes needed to start a boss vote
- sm_forcevote is an admin command to force start a vote for next boss
- sm_voteboss is public command to start a boss vote, minimum votes needed is from sm_boss_vote
- sm_boss_mode has a new option to set to 2 which will start a vote when countdown ends instead of random/ordered
- Fixed some small bugs with ent-refs typos
- Fixed bug where !slayboss during boss countdown would stop timer
v.4.4.2 -
Fixed crashing problem with convar changing version number
Removed !forceboss restriction to 1 boss, you can now spawn multiple bosses with that command
v.4.4.1 -
Fixed a bug where bosses that die normally then trying to use the command !fb would say boss is already spawned
Fixed a bug where manual spawned bosses would get killed on on player disconnecting
Bosses will no longer get force removed by plugin when players disconnect below the treshold: sm_boss_minplayers (only timers will stop)
Fixed sm_boss_minplayer if statements not working properly due to improper int/float comparison
Changed OnClientDisconnect to OnClientDisconenct_Post to fix client count which was off by 1
SDKUnhook on client disconnect post
v.4.4 -
Added -
Added Cvar:sm_healthbar_type to change healthbar display type: 0-off 1-hudbar 2-hudtext 3-both
Changes -
Changed the way data is stored, now uses arraylists and datapacks instead of saving in entity itself
Changed more code into object-oriented
Changed !sb and !spawnboss, can now be used while spectating (Note: Boss will spawn directly on player that you are spectating)
Changes !slayboss command will now only reply back to player and not to all players
Removed -
Removed command:sm_reloadbossconfig, just reload plugin which is better to do
Blocks the message "player has killed horseman/merasmus/monoculus" when boss dies
Fixes -
Fixed a bug when slaying a boss then spawning another would say the boss is still active
Fixed a bug where all info_target entities were getting removed by this plugin causing some map functions to break
Fixed a big where console would say spawn_boss_alt not found: was a typo and changed to spawn_loot_alt
Fixed a bug where DeathSound key would not play properly on multiple boss spawns: now uses datapacks as references
Fixed a bug where healthbar would not work properly on multiple bosses
Improved healthbar carry over to another boss when one of them dies
Fixed a bug where healthbar would show negative values when dying
Fixed a bug where health/scale/size/glow was not working properly even though it was defined in .cfg file
Fixed a bug with players disconnecting would cause auto-spawned bosses to break
Fixed a bug with hitbox not scaling properly (Note: Some models do not scale 1:1 with the hitboxes)
Fixed a memory leak on data timers
Others -
Fixed some small typos in code
Cleaned up useless comments
v.4.3.1 -
- Fixed sm_reloadbossconfigs causing console-spawned bosses to spawn more than one depending on how many times you reloaded or map changes
- Fixed the built-in downloader for this plugin having directory problems with linux file system
- Fixed a small memory leak with the download handles
- Fixed a bug where all bosses would be killed off if one of the bosses remove timer was triggered
- Fixed a bug where the remove timer would overlap to the next spawned boss
- Fixed a bug where DeathSound would not play if more than 1 boss was active
- Fixed a bug where "horseman has left due to boredom" is printed on next boss
v. 4.3 -
Added:
- Bosses can now equip hats
- Added new key: Gnome [0-Off : 1-On] [Restriction: tf_zombie] Spawns mini-gnome skeletons when skeleton/skeleton king dies
- Added new HUD display over the healthbar to display exact value of boss health
- sm_spawn command is replaced by !spawnboss and !sb, both opens a menu to spawn boss where the player looks at
- Added override (sm_boss_override) to override boss spawn flag (!horseman, !monoculus, ... etc)
- Added command !fb which does the same as !forceboss
- Added value: "none" to key "IntroSound" and "DeathSound" which will not play any sound
- Added keys: "HatPosFix" and "HatSize" and "Damage" to bossspawner_boss.cfg
- Added built-in downloader/precacher (bossspawner_downloads.cfg)
Changed:
- Plugin has been changed to use the new API/Syntax
- Bosses can now be spawned using !<bossname> <health> <size> <glow>
- Skeleton King hitbox can now resize to scale
- Changed the way the plugin keeps track of bosses index to be more readable/efficient
- Bosses spawned by command will now run under a remove time (key: lifetime)
- Plugin will now error out if there is a space in bosses name, replace spaces with _.
- When boss spawn message is printed, it will replace _ in the name with a space. (E.G Name:The_Horseman -> The Horseman has spawned)
Removed:
- sm_spawn command has been removed
- tf_skeleton_spawner type has been removed, replaced with tf_zombie
Fixed:
- Fixed issue with sm_reloadconfigs not reloading the configs properly
- Fixed issue where boss death sound may play the wrong sound
- Fixed issue where message will say boss has left although the boss already died
- Fixed issue where tf_zombie would die from colliding with payload cart
Known Issues:
- When tf_skeleton with a hat attacks you while standing still, his hat model may freeze until he starts moving
- eyeball_boss can die from collision from a payload cart, most of time in air so it doesn't matter too much
- Hat size and offset does not change if player manually spawns a boss with a different size from the config (e.g !horseman 1000 5 1 : Horseman size is 5 but default size in boss config is 1, if this boss has a hat the hat won't resize)
Known Bugs:
Spoiler
Code:
- Horseman axe will NOT glow
- Merasmus will tend to randomly change color from green to normal
- Monoculus can no longer have model replacement due to some complications
- Botkiller and Ghost can not be resized
- When tf_skeleton with a hat attacks you while standing still, his hat model may freeze until he starts moving
- eyeball_boss can die from collision from a payload cart, most of time in air so it doesn't matter too much
- Hat size and offset does not change if player manually spawns a boss with a different size from the config (e.g !horseman 1000 5 1 : Horseman size is 5 but default size in boss config is 1, if this boss has a hat the hat won't resize)
Credit:
Code:
-Geit for horseman spawner
-DarthNinja for monoculus spawner
-Powerlord for his health bar code
-SoulSharD for weapon model replacement
-r3dw3r3w0lf for resize hitbox code
-RavensBro for his site and models
-abrandnewday for his vanilla config
Love the plugin but would like to recommend something. Perhaps have a ad alert system for chat. Like after the boss is killed inform players that he will return in *depending on what time is set* minutes. If that cant work then maybe a warning system, like 2 minutes before the boss spawns the players will be alerted via chat or HUD.