Okay, let me rephrase. Finally, after 12345678910 years of editing, I proudly present my modified version of Skyy's Ready Up Module: Restrict Distance.
So quick cut to the chase, what this plugin does is it calculates each player's distance and the radius within each other. It also detects whoever is rushing so if said someone reaches a certain amount of distance far away from his/her team, the plugin automatically gets the distance between the team and the rusher and teleports him/her back.
I hope this plugin will enrage the troublesome rushers in your servers. Oh, I forgot to mention that there's also one more surprise - you, as the server owner/gamer, and the other admins get to decide whether to kill or kick that rusher if he/she reaches the maximum limit of rushing.
This is also useful for bots getting stuck if cvar "sb_unstick" is set to 0.
L4D2 Direct -->
Main Link / Source
Quote:
Changelog: 04-16-16
- First release.
04-17-16
- Since the previous one doesn't work even with Ready Up loaded, I decided to make it a one file only. I assure you that it's working 100%.
- Added support for custom campaigns.
- Will be making L4D version just in case of demands.
- Found server crasher bug: Produces too many rush warning even if not rushing. [FIX] Added !IsFakeClient check to Function:CalculateTeamDistance as it seems to be calculating the bots' and player's distances without the check.
- Added the configs to be downloaded in case for those others who didn't get this plugin from earlier posts.
04-18-16
- Really a big klutz this time, Uploading the translations file and the includes right now! Thanks Sev and MasterMind420.
- Posted the latest update of l4d2_direct to prevent compile errors said by Krufftys Killers.
- Reuploaded broken translations file.
05-18-16
- Uploaded .smx file for direct download.
- Removed includes as you can get them elsewhere.
|
TO DO:- As kinda requested by maximus200 from my other posts, I'm planning to make rushers non-movable like they're frozen in place in a configurable amount of time and add teleportation delay to completely enrage them.
Notes:
(For those who already downloaded the plugin)
- Please delete the:
- maplist.cfg
- parser.sp and readyup.sp
- readyup.inc and wrap.inc from your scripting/include folder.
- rum_norushing.sp along with the compiled .smx.
- Rename the rum_norushing.phrases.txt translation file to norushing.phrases.txt only.
- Move the norushing folder and norushing.cfg from the readyup folder to the sourcemod/configs folder. Don't forget to delete the readyup folder after you do this.
(For those who didn't)
- Download the .sp file as it will fail to compile if you click Get Plugin as it requires l4d2_direct.
- Compile the new downloaded .sp file and put it in your plugins folder. Restart server and you're done.
If you want to modify the config, please do these steps:- You must have Notepad++. Please download the latest one if you don't have it.
- Here's what the main config looks like:
PHP Code:
"config"
{
"Rushing Limit" "5" // Maximum rushing limits
"Maximum Amount Of Survivors" "4" // Total number of survivors (if you're using plugins to extend maxplayers, please put the exact value)
"Ignore Incapacitated Survivors?" "1" // Ignore incapacitated survivors left behind? (really needed to be enabled as you don't want bots to go all the way back just to revive that person.)
"Ignore Lagging Players?" "0" // Ignore lagging or lost players?
"Action Needed For Rushers" "1" // Modes: 0=Teleport only, 1=Teleport and kill after reaching limits, 2=Teleport and kick after reaching limits.
}
Then change it into:
PHP Code:
"config"
{
"Rushing Limit" "your value" // Maximum rushing limits
"Maximum Amount Of Survivors" "example no: 12" // Total number of survivors (if you're using plugins to extend maxplayers, please put the exact value)
"Ignore Incapacitated Survivors?" "1" // Ignore incapacitated survivors left behind? (really needed to be enabled as you don't want bots to go all the way back just to revive that person.)
"Ignore Lagging Players?" "0" // Ignore lagging or lost players?
"Action Needed For Rushers" "your value" // Modes: 0=Teleport only, 1=Teleport and kill after reaching limits, 2=Teleport and kick after reaching limits.
}
- After doing that, if you want to adjust the rush distance limit, here's what one of the map configs looks like: (For example, Dead Center - Hotel)
PHP Code:
"c1m1_hotel"
{
"Notice Rushing Distance" "0.2" // Detect rushing distance. Legend: 0.1 (Really close), 0.25 (Halfway the map), 0.4 (Near the end saferoom), 0.5 (Too far away, i.e rushes inside the saferoom and closes it while others are fighting zombies.)
"Warning Distance" "0.3" // Warn rushers if they reached this distance (No teleportations, just warnings.)
"Ignore Extra Distance" "0.31" // Teleport and kill or kick (if rusher reaches max rush limit) rusher after reaching this distance
}
Then change it to whatever value you desire. Oh, and if you want to add custom campaigns, just make a new file, change the mapname, the values (not the names) and save it with .cfg extension.
Example:
PHP Code:
"l4d2_city17_01"
{
"Notice Rushing Distance" "0.17" // Detect rushing distance. Legend: 0.1 (Really close), 0.25 (Halfway the map), 0.4 (Near the end saferoom), 0.5 (Too far away, i.e rushes inside the saferoom and closes it while others are fighting zombies.)
"Warning Distance" "0.24" // Warn rushers if they reached this distance (No teleportations, just warnings.)
"Ignore Extra Distance" "0.25" // Teleport and kill or kick (if rusher reaches max rush limit) rusher after reaching this distance
}