AlliedModders (
-   Approved Plugins (
-   -   Bad Camper 1.4.239 (

Brad 09-24-2005 20:29

Bad Camper 1.4.239
14 Attachment(s)
Bad Camper 1.4.239 (released: July 21, 2008 )

This plugin punishes players that camp too long. Camping is a strategy, no doubt about it. However, like most things in life, it's best done in moderation. That's why Bad Camper exists. It allows players to camp but encourages them to not pitch a tent.

There can be a combination of punishments that get applied to a player that camps too long. Punishments start when the player's camping meter reaches 80%. They get worse at 90%. They finally come to a crescendo at 100%.

Table of Contents

Options (CVARS)
Installation Files
Change Log
Previous Versions (unsupported)


If you are posting in this thread because the plugin or a feature of the plugin isn't working for you, please do all of the following so that we can more efficiently figure out what's going on:


If you have access to your game server's console, type the following in the server console:
  • status
  • meta list
  • amxx plugins
  • amxx cvars
If you don't have access the your game server's console, join your server and type the following in your game console:
  • status
  • rcon_password your_rcon_password
  • rcon meta list
  • rcon amxx plugins
  • rcon amxx cvars
Paste everything from the status command *except* the player list.
Paste the entire result from the meta list and amxx plugins commands.
Paste *only* the CVARs that contain "bad_camper.amxx" in the last column from the amxx cvars command. They will be grouped together.

File Locations:
  • .\gamemod\addons\amxmodx\plugins\bad_camper.amxx
  • .\gamemod\addons\amxmodx\data\lang\bad_camper.txt
  • .\gamemod\sounds\misc\snore.wav
  • fun (required)
  • fakemeta (required)
  • cstrike (optional; required if utilizing money reduction punishment)
  • csx (required if running CS or CS:CZ)
  • dodx (required if running DoD)
  • tfcx (required if running TFC)
Options (CVARS)

badcamper_punish <iFlags>
Specifies how a player is to be punished when they camp too long. A value of 0 will disable this plugin.

The flags are additive.
  • 1: Slap
  • 2: Health Reduction
  • 4: Sound (set sound via badcamper_sound)
  • 8: Blind
  • 16: Money Reduction (requires CSTRIKE module)
  • 32: Snark Attack (requires Monster Mod with Snarks enabled)
The default is 12 (snore and blind).

badcamper_sound <iFlag>
Specifies the sound to use as a punishment when the badcamper_punish flag includes the "sound" punishment.
  • 1: Snore
  • 2: Heartbeat
The default is 1 (snore).

badcamper_money <iPercentage>
Specifies the percentage of money taken away when a player's meter reaches 100% when using the "money reduction" punishment.

The default is 10 percent.

badcamper_limit <iSeconds>
Specifies the number of seconds a player can camp in one spot before their camping meter will reach 100%.

The default is 35 seconds.

badcamper_display <iPercentage>
Specifies the percentage at which the meter is displayed to the player. Valid values range from 0 (never show) to 100.

The default is 1 percent.

badcamper_show_spec <0|1>
Specifies whether to allow spectators to see other player's meters.

The default is 1, to allow it.

badcamper_check_all <0|1>
Specifies whether only the team with the current primary objective should be checked for camping or if both teams should.
  • 0: only check the team with the current primary objective
  • 1: always check both teams
The default is 1.

The current primary objective is defined as follows:
  • if the map is not a "de" map, the CTs have the primary objective
  • if the map is a "de" map and the bomb hasn't been planted, the Ts have the primary objective
  • if the map is a "de" map and the bomb has been planted, the CTs have the primary objective
badcamper_immunity_flags <cAccessLevels>
Specifies the access level flags needed for a player to have immunity.

Immunity is achieved by standing completely still and not looking around for approximately 6 seconds. The camp meter will still increase until it reaches 65% or more at which time it'll stop until they move or look around again. If the meter is already at 80% or higher, the meter won't stop.

Set this CVAR to blank to disallow immunity.

For available flags,

The default is blank (no immunity).

A common value, when admin immunity is desired, is to use the "a" flag (ADMIN_IMMUNITY).

badcamper_start <iSeconds>
Specifies how many seconds after the freeze time ends each round that the meter will start.

The default is 4 seconds.

Note that camping is checked every 2 seconds so any value you put in here will effectively be rounded up as such.

badcamper_damage_reset <iResetType>
Specifies if the attacker's or defender's meter gets reset when the player is injured by another.
  • 0: No meters are reset.
  • 1: The attacker's meter is reset.
  • 2: The defender's meter is reset.
  • 3: Both meters are reset.
The default is 3.

badcamper_damage_restart <iSeconds>
Specifies how many seconds after a player either gives or receives damage that the meter will restart.

The default is 4 seconds.

Note that camping is checked every 2 seconds so any value you put in here will effectively be rounded up as such.

badcamper_health <iHealthPoints>
Specifies how many points of health to remove from the player every 2 seconds once their meter reaches 100% if using the health reduction punishment. If the health reduction punishment is not being used, this CVAR has no effect.

The default is 10 health points.

badcamper_allow <iPlayerCount|iPlayerPercent%>
Specifies when a team that is being checked for camping is allowed to camp. A value of 0 doesn't allow a team to camp.

The default is 0.

The value can either be expressed as a straight count or as a percentage. If the value is being expressed as a percentage, "%" has to follow the value. Examples below. If the value is a count, players can camp when the number of living players on their team falls to this value or lower. If the value is a percentage, players can camp when the percentage of living players on their team is at this value or lower when compared to the living players on the other team.


badcamper_allow 2
Pretty straight-forward. Once there are 2 or fewer players left alive on your team, you can camp.

badcamper_allow 40%
More powerful and complex. Once your team comprises of living players that is 40% or less than the number of living players on the other team, you can camp. For instance (assume your team is listed first) the following match-ups would allow your team to camp: 1v4, 2v5, 3v8, 4v12, 5v13, 6v15.

badcamper_min_players <iPlayers>
Specifies the minimum number of players that have to be connected to the server before players are allowed to camp.

The default is 0 players.

This CVAR affects both badcamper_check_all and badcamper_allow functionality.

badcamper_announce <announcementType>
Specifies how to announce to the opposite team that a player is camping.
  • 0: Make no announcement.
  • 1: Announce via chat.
  • 2: Announce via HUD.
  • 3: Announce via chat and HUD.
The default is 3 (chat and HUD).


badcamper list
Lists the punishments in the console and indicates which of them are active.

Installation Files

Brad 09-24-2005 20:30

4 Attachment(s)


AMXX 1.8 or higher only.
  • CS
  • CS:CZ
  • DOD
  • TFC (untested)
Language Translations:

If you would like to translate the language file for a language not already translated or you want to fix a problem with a language that it translated incorrectly, please do so here:

Change Log

[2008-07-21] v1.4.239
  • Compatible with AMXX 1.80 or higher only.
  • Fixed issue where the spectator meter would display in the spectated player's language rather than the spectator's language.
[2007-08-24] v1.4
  • Added CVAR to aid in debugging; allows meter to run when only one person is on server. Set badcamper_debug to 1 if using this.
  • Removed BugBlatter's "Monster Mod" support. Rationale being that players could crash your server by typing "meta list" in their console when using it.
  • All snarks are now killed at the end of each round, if using Snark punishment.
  • Fixed discrepancy between documentation and code. Changed "badcamper_announce" CVAR to default to 3, as per the documenation.
  • Fixed issue where HLTV was counting as a player, thus affecting when camping is checked.
  • The camp meter will now affect bots that camp. Oh, and if your bot camps, you need a new bot or better waypoint files.
  • Fixed discrepancy between documenation and code. Changed who can camp (based on objectives) when not on a map with a bomb site. Changed from everyone can to only Ts can.
[2007-APR-03] v1.3b
  • Fixed issue where screen would go sideways if health reduction punishment was used.
[2007-APR-02] v1.3a
  • Fixed dumb bug that kinda broke everything else.
    Note to self: Don't make changes right before releasing.
[2007-APR-02] v1.3
  • Compatible with AMXX 1.71 or higher only.
  • The 'csx', 'dodx', or 'tfcx' module has to be enabled, depending on what game mod you are running.
  • Added DoD (tested) and TFC (untested) mod support.
  • Made more code optimizations.
  • Defuser's meter will now be paused when bomb is being defused.
  • Planter's meter will be more accurately paused than in previous versions.
    Previous versions would pause the player's meter for the full time it would take to plant the bomb, even if they stopped planting in the meantime.
  • Altered method of specifying admin immunity from define to CVAR.
  • Replaced badcamper_immunity CVAR with badcamper_immunity_flags.
  • Fixed overlapping "so and so is now camping" messages.
  • Added option to allow spectators to see players' meters. Default is to show the meter.
  • Fixed meter not always obeying "based on objectives" team. (thanks sasdad and arkshine!)
  • Fixed issue with ATAC 3.x whereas the health reduction could cause a player to get TAs.
[2006-MAR-12] v1.2
  • Compatible with AMXX 1.70 or higher only.
  • The 'fakemeta' module needs to be enabled.
  • Fixed issue where round end cleanup would not be performed if the round was restarted as opposed to ending normally.
  • Auto-detects if you're using the supplied "Monster" metamod. If you are using a different version of "Monster", reverts to less fine control over snarks.
  • Removed need to recompile if using this plugin in a game mod other than Counter-Strike.
  • Removed need to recompile if using the "Snark Attack" punishment. Now, if you indicate to use "snark attack" as a punishment, but you don't have "Monster" installed, you'll get errors in your log files.
  • Disabled meter when there is only one person on the server. This is useful for when you want to sit on your server while waiting for others to join.
  • Implemented more accurate way of detecting if the map was a bomb map.
  • Optimized the code to use less CPU usage.
[2005-DEC-10] v1.1
  • Added "Snark attack" punishment. Requires "Monster Mod" to be installed.
  • Changed "Slap" punishment to increase in power as the meter gets higher. Note that when slapped, the player may actually get slapped far enough that it would lower the player's meter.
  • Added "badcamper_money" CVAR to specify what percentage of money to take away at 100% when using the "money reduction" punishment. Defaults to 10% as was the case before the option was introduced.
  • Added "badcamper_damage_reset" CVAR flag that specifies the meter(s) to reset when a player is attacked. Defaults to both attacker and defender having their meter reset as was the case before the option was introduced.
  • Replaced "snore" punishment with "sound" punishment. The type of sound can be defined by a new CVAR, "badcamper_sound". There are two types of sounds, "snore" (default value) and "heartbeat".
  • Fixed bug where if a player's meter was 100% and the blind punishment was being used, when the player attacked or was attacked by another, the blind player would stay blind instead of regaining vision immediately.
  • Added "badcamper list" command that lists available punishments and indicates which are currently active (active as per the badcamper_punish CVAR).
  • Added "badcamper_announce" CVAR flag to indicate how to announce that a player is camping and then when the player stops camping. Will announce the name of the camper at 90% and then again when the meter gets below 80%. Options are to print as chat, as a HUD message, both, or neither.
  • Fixed bug where the CVAR 'badcamper_allow' had no effect, thus if set to a value higher than 0 a team would still never be allowed to camp.
[2005-SEP-24] v1.0
  • Initial release.

Original design inspiration, many concepts, and code came from the great AntiCamping Advanced plugin originally written by SpaceDudes, rewritten by xHomicide, ported to AMXX by rex, and tweaked by [SWE] RaWDeaL.

Specific Features:
  • display meter after a specific percentage
  • check team with current primary objective
  • money reduction punishment
    • thanks to Isobold for the idea and initial code
  • allow camping when x players left alive on your team
  • admin immunity
  • allow the meter to start immediately
  • blind punishment
  • snark attack punishment
  • multiple sound options
  • meter reset options
  • camping announcement
Previous Versions (unsupported)

scriptyboy 09-24-2005 20:49

excelent plugin! +Karma

Puntje 09-25-2005 05:23

+ Karma for you!

I've waited so long till someone made something like this.
I'll <3 you forever!!

DerProfi 09-25-2005 08:26

What happens with following cvar on funmaps e.g. awp_, aim_, fy_:

badcamper_check_all 0


Phobos 09-25-2005 09:03


Originally Posted by Brad Jones
New Punishment:

I am considering ways to implement a chicken punishment (as it was requested by a few people) where at 100%, the player turns into a chicken.

1. Thank u for this plugin :D

2. Is it possible to force players to use knive when the campmeters reach 80 percent e.g., I want do this with the old anticamping but i'm a reaaly noob at this :oops:

Brad 09-25-2005 09:23


Originally Posted by Brad Jones
The current primary objective is defined as follows:

* if the map is not a "de" map, the CTs have the primary objective
* if the map is a "de" map and the bomb hasn't been planted, the Ts have the primary objective
* if the map is a "de" map and the bomb has been planted, the CTs have the primary objective

As per that definition, the CTs would always have the primary objective on fun maps as they are not "de" maps.

I see your point though. It seems as if, on fun maps, both teams concurrently have the primary objective and thus, should both be checked for camping. Therefore, regardless of the badcamper_check_all setting, both teams should always be checked. Do you agree with this assessment?

I'm not overly familiar with fun maps. Are awp_, aim_, and fy_ the only ones?

I will consider the feasibility of this.

DerProfi 09-25-2005 09:37


Do you agree with this assessment?
Yes, you're right.

But include/exclude this funmaps in your plugin makes no sense. Too many funmaps with different names, e.g.: cspaintball1, auffe_omme_v, aimtrain, oc_openbattle, phc_trainmap and many more....

Best solution for all, set "badcamper_check_all 1" or "badcamper_punish 0" in extra maps-configs for all your funmaps on server:


OsQu 09-25-2005 10:38

Great Plugin! This is it, what i have been looking for a while! Ty

OsQu 09-25-2005 12:01

Great Plugin! This is it, what i have been looking for a while! Ty

All times are GMT -4. The time now is 18:53.

Powered by vBulletin®
Copyright ©2000 - 2020, vBulletin Solutions, Inc.