Well, have you ever play deathrun before? Yea, that gamemode where some dude must kill runners with deadly traps.
Now with gunfires, fixed queue and even more!
Features
Spoiler
Reworked queue system. Now you will know who and when is going to play as death!
For people who don't wanna play as death, we just leave option to remove yourself from queue!Only thing: it will work at least if server has more than 5 players.
Even if player didn't know about this option, he can safely change hs team before round starts[/U]. Round won't be lost, because he is going to be replaced with next player from queue!
Gameplay with "Melee Only 0" is become playable! That means you can finally use any type of weapons!
Some people says, "Weapons will screw up deathrun and should be blocked". But we have done a lot of work with this and add a bunch of features into deathrun.cfg:
First, it's a weapon balancing. We just restricted and replaced by stock a few naughty weapons. Also you can add any other weapon you like in the blacklist.
Second, we have rebalanced the most valuable for TF2 weapons. Like medigun or sandviches won't heal you, bonk won't give you any superabilities, spies can't use cloak and disguise kit, demoshield won't give you speedboost.
Also we have added option to disable selfdamage. It will help to get rid of rocket/sticky/etc -jumping!
Btw, there is option to allow/restrict any types of engie builds. Fun option, can be used with this plugin.
Well, let's imagine if server has something about 25 players. 24 armed reds VS one little armed blue. Yea, thats unfair. Until we gave blue more HP.
So, if "Melee Only 0", max HP of activator depends on how many runners alive. E.g:
More than 30 runners = 2000hp
20-30 = 1700hp
15-20 = 1500hp
10-15 = 1000hp
5-10 = 700hp
2-5 = 500hp
1 = 200hp
If activator kills runners, his max HP level dropping in time. Dropped health stays as overheal.
Configurations
Spoiler
PHP Code:
"deathrun" { //Configs used if the map doesn't have it's own value. "default" { "DisableFallDamage" "1" //If 1 there won't be fall damage. "DisableSelfDamage" "1" //If 1 there won't be self damage.
//Speed of every team (for reference, pyro's base speed is 300). "speed" { "runners" "300.0" //On the runners team "death" "400.0" //On the death }
//How many players on the "runners" team must be alive to activate the outline (-1 = never|0 = always|>0 alive runners needed). "outline" { "runners" "0" //On the runners team "death" "-1" //On the death }
}
//Sounds used in this game-mode, the plugin will pre-cache them and add them to the download table. //The plugin will use all of them randomly. "sounds" { //When the round starts (NOT when the preparation period ends). "RoundStart" { "1" "vo/announcer_dec_missionbegins10s01.mp3" "2" "vo/announcer_begins_10sec.mp3" } //Played to a runner that just died. "OnDeath" { "1" "vo/announcer_dec_failure01.mp3" "2" "vo/announcer_dec_failure02.mp3" "3" "vo/announcer_am_lastmanforfeit01.mp3" "4" "vo/announcer_am_lastmanforfeit02.mp3" "5" "vo/announcer_am_lastmanforfeit03.mp3" "6" "vo/announcer_am_lastmanforfeit04.mp3" } //Played to the death after a kill (You should use many different sounds since he will be hearing this a lot). "OnKill" { "delay" "5.0" //Time after a kill that the plugin won't reproduce any "OnKill" sound. "1" "vo/announcer_dec_kill01.mp3" "2" "vo/announcer_dec_kill02.mp3" "3" "vo/announcer_dec_kill03.mp3" "4" "vo/announcer_dec_kill04.mp3" "5" "vo/announcer_dec_kill05.mp3" "6" "vo/announcer_dec_kill06.mp3" "7" "vo/announcer_dec_kill07.mp3" "8" "vo/announcer_dec_kill08.mp3" "9" "vo/announcer_dec_kill09.mp3" "10" "vo/announcer_dec_kill10.mp3" "11" "vo/announcer_dec_kill11.mp3" "12" "vo/announcer_dec_kill12.mp3" "13" "vo/announcer_dec_kill13.mp3" "14" "vo/announcer_dec_kill14.mp3" "15" "vo/announcer_dec_kill15.mp3" } //Played to the last client alive on the runners team. "LastAlive" { "1" "vo/announcer_am_lastmanalive01.mp3" "2" "vo/announcer_am_lastmanalive02.mp3" "3" "vo/announcer_am_lastmanalive03.mp3" "4" "vo/announcer_am_lastmanalive04.mp3" }
}
//Here we manage the weapon restriction (mostly melee-related) "weapons" { //If true (1) will restrict every other slot than melee. If False (0) the plugin wont use the rest of this config section. "MeleeOnly" "0" // if true (1) will disable spy cloack and disguise. If (0) the plugin wont set spy cloack discharged. "DisableSpyCloackandDisguise" "1" // if true (1) will disable Demo shield. If (0) the plugin wont set demo shield discharged. "DisableDemoShield" "0" // if true (1) will disable Scout drink. If (0) the plugin wont set scout drink disable. "DisableScoutDrink" "1" // if true (1) will disable heal from medic guns. Work only if MeleeOnly=0. "DisableMedicGunHeal" "1" // if true (1) will disable heal from lunch box(heavy). Work only if MeleeOnly=0. "DisableLunchBoxHeal" "1" //If true (1) will follow the "MeleeRestriction"'s rules. "RestrictedMelee" "1" //If true (1) will follow the "AllRestriction"'s rules(restrict not melee weapon). "RestrictedAll" "1" //Here we define the melee restriction rules. "AllRestriction" { "RestrictAll" "0" //If 1 "RestrictedWeapons" and restrict not melee will be ignored "RestrictedWeapons" { "1" "589" //The Eureka Effect (teleportation) "2" "450" //The Atomizer (extra jump) "3" "304" //Amputator (Lags everybody) "4" "45" //Force-A-Nature (recoil jump) "5" "812" //The Flying Guillotine (can be throwed through the wall) "6" "833" //The Flying Guillotine (Genuine) "7" "441" //The Cow Mangler 5000 (can deal damage through the wall) "8" "1101" //The B.A.S.E. Jumper (RESTRICTED AIRSPACE) "9" "1179" //Thermal Thruster (RESTRICTED AIRSPACE) "10" "130" //The Scottish Resistance (can deal damage through the wall) }
"UseDefault" "1" //Use the default melee for every class "UseAllClass" "1" //Use the AllClassWeapons //If both UseDefault and UseAllClass are on, the default weapon will be treated like another weapon in the list. //If both are off the plugin will just use Default Weapons for each class "AllClassWeapons" { "1" "264" //Frying Pan "2" "423" //Saxxy "3" "474" //The Conscientious Objector "4" "880" //The Freedom Staff "5" "939" //The Bat Outta Hell "6" "954" //The Memory Maker "7" "1013" //The Ham Shank "8" "1123" //The Necro Smasher "9" "1127" //The Crossing Guard } } }
//Here we define build to block "BlockBuilds" { "DisableAllBuilds" "0" // if 1 it will block ALL build //This if DisableAllBuilds = 1 "DisableDispenser" "1" //if 1 it will block dispenser "DisableSentry" "1" //if 1 it will block sentry "DisableTpEntr" "1" //if 1 it will block Teleporter Entrance "DisableTpExit" "1" //if 1 it will block Teleport exit } }
Changelog
Spoiler
Quote:
2019-06-03 (v0.3.0)
* Initial release.
2019-11-13 (v0.3.1)
* Fixed issue, when people can stole someone's queue points.
Installation instructions and requierments
deathrun_redux.smx goes on tf/addons/sourcemod/plugins/
deathrun.cfg goes on tf/addons/sourcemod/data/deathrun/
!drmenu - shows the plugin menu
!drbedeath - shows "Be the Death" menu
!drnext - shows who's going to be the next death in queue.
!drplace - shows your place in queue
!drqueue - shows queue player list
Added a few checks to fix "client index is invalid" errors.
Improved (again, UNTESTED) and updated code to SM 1.8-1.9 syntax.
Added translations support.
(Code compiled using modified tf2items.inc! Included into archive)
Spoiler
Code:
L 08/09/2019 - 10:38:47: [SM] Exception reported: Client 3 is not in game
L 08/09/2019 - 10:38:47: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 10:38:47: [SM] Call stack trace:
L 08/09/2019 - 10:38:47: [SM] [0] IsPlayerAlive
L 08/09/2019 - 10:38:47: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 10:57:20: Error log file session closed.
L 08/09/2019 - 12:20:04: SourceMod error session started
L 08/09/2019 - 12:20:04: Info (map "vsh_dr_minecraftworld_b4e") (file "errors_20190809.log")
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 5 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 6 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 9 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 10 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 12 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 6 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 9 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 10 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
L 08/09/2019 - 12:20:04: [SM] Exception reported: Client 12 is not in game
L 08/09/2019 - 12:20:04: [SM] Blaming: deathrun_redux.smx
L 08/09/2019 - 12:20:04: [SM] Call stack trace:
L 08/09/2019 - 12:20:04: [SM] [0] IsPlayerAlive
L 08/09/2019 - 12:20:04: [SM] [1] Line 1666, DeathRun Redux 2019::RespawnRebalanced
Mr_panica, can you test plugin from post #7 (it has translation support (and russian phrases file), syntax update, and some code cleanup/improvement) and tell me if you have same error as at #8?