Subject: Base Builder Zombie Mod v6.5 Tue Apr 17, 2012 8:39 am
- About - Base builder zombie mod is an idea that totally warps the idea of a Half-Life zombie mod. If you're familiar with Counter-Strike Source zombie mods, then you are also aware of the physics which allows the user to essentially build his/her own barricade using couches and other objects laying around. Using this concept, I thought of moving this idea a step further and allow the user to create their own entire bases. After all, everyone likes to make their own maps. So why not let them?
Because every user is different and will like to build their own different styles of bases, every round is different. It is nearly impossible to recreate exact bases (unless the user has practiced significantly), so playing one map won't get too old too quickly.
- How it's Played - Base Builder divides the round up into two important phases: the build phase and then the defend phase. During the build phase, the builders (CTs) must work as a team in order to build their own bases by looking at an object and holding down their "+use" key. The object will then turn a pure color become transparent. While the object is being grabbed, the user may move it by looking where he/she wants it to go. Additionally, players may use their left and right mouse buttons to push and pull the object respectfully.
When the user is satisfied with the objects new location, he/she can release their "+use" key and it will become a solid object again. Admins also have the unique ability to lock/unlock pieces from movement by typing "/lock" while looking at the object they want locked. This makes the selected object a solid color (representative of their personal color) and unmovable until it is unlocked. (See object locking for more info)
During the build phase, the zombies (Terrorists) wait and view the builders (CTs) bases for possible flaws and plan out their attack strategy. The zombies spawn area is typically split into two parts: the viewing area with a window to see the bases being built, and the spawn area with a "barrier" which is the door to enter the arena.
When the build phase ends, there is the option of a preparation phase occuring (See preparation phase for more info). Once the preparation phase ends, the defend phase begins. When this happens, the barrier will be removed and the zombies released to try and kill the survivors. The zombies only have a specified amount of time to kill the survivors (Determined by their mp_roundtime CVAR see CVARs for more info). The humans must defend their bases with an assortment of different weapons each being useful in their own way. If you die as a zombie, then you will respawn after X seconds to rejoin the fight. If you die as a survivor, you will either have wait until the round is over, or you will become "infected" and respawn as a zombie.
When the timer runs out and any survivors are alive, the round ends and the survivors win, and then the teams are swapped. If the survivors die beforehand, then the zombies win and the teams are swapped. Because of possible imbalances, players who survive the round will not stay as a builder, because everyone needs to get a chance.
Building bases can be fun! There are limitless possibilities. After spending countless hours testing and playing this modification, I have seen many differently-styled bases be quite successful. Typically, players stick building up, but occasionally someone will build a tunnel-style base. In my experience, ground bases work better then air bases.
- Phases of the Mod - Build Phase: This is always at the beggining of the round, when players do not fight, but build their bases. During this time, it is imperative that players check and test their bases for flaws, blockages, or mistakes.
Preparation Phase: This was an idea someone submitted that sounded brilliant. The preparation phase is a phase set aside from the build phase where normal players are no longer allowed to build. This is when players also have their guns menu opened to select weapons. During this phase, players have a time limit to get inside their bases, which in turn proved that their bases are possible and not blocked. This greatly reduces the need for admins on 24/7.
Defend Phase: This is the main battle phase of the mod. During this phase, your get to put your base to the test, or attack the builders bases.
- Moving Blocks - To move, look at a block and hold your +use key To push, hold left click (slash) To pull, hold right click (stab)
- Object Locking (Claim Mode) - Soon after realizing various flaws with the old claim system, I set out to devise a new one. This new system works off of admin flags, which isn't a problem, because you don't want any old noob joining and just locking things to start problems.
Basically, there are two modes 0 implies the older permanent lock mode. In this mode, objects become locked as a default red color and become permanently locked until unlocked by another player. Locked blocks here do not reset with new rounds.
The other mode is 1 (enabled). This is similar to the old claim system, but much more efficient (in my opinion). Basically, in this mode, admins with the lock flag (see flags) are able to lock blocks that only they can move. These blocks can only be unlocked by them, or an admin with the override flag (see flags). Blocks locked by a user are by default a much darker version of their personal color. At the end of each round, a these "claimed" blocks will reset. Players can only claim a max number of blocks (again, to prevent abuse).
- Colors - The colors system is an addition where players can choose their active objects colors while moving them (and also claimed). Basically, at the start of each round, a player is assigned a random color out of the Crayola 24-Pack (I know... awesome right?). They then build with this color, and can change it depending on the variable. If bb_colormode is 0, then each player can choose their own color from the menu (meaning two or more people have the same color sometimes). If bb_colormode is 1, then each player can still use the menu, however, only one player can use one color at a time. Finally, if bb_colormode is 2, then each player is assigned a random color, and they are stuck with that color, but they should be able to type /random to receive a new one.
- Class System & ZP Compatibility - I spent a lot of time trying to make this mod compatible with ZP classes. For the most part, ZP zombie classes will work as long as they are not too complex. If they are complex, or not compatible, you'll have to open their source and edit them to make them work. It's pretty simple to make new classes, look at bb_classes64.sma to see the normal ones and build from there. You can also just make new ones especially for Base Builder (Because ZP classes will need balancing) which is actually what I suggest trying. Good luck, and I hope it is simple enough for your guys to understand. Look at the include files to see a detailed list of natives/forwards and their inputs/outputs.
- CVARS - bb_buildtime "150" //Build Time bb_preptime "30" //Prep Time (0 will disable phase) bb_zombie_respawn_delay "3" //Zombie Respawn Delay (in seconds) bb_infection_respawn "5" //Survivor Respawn Infection Delay (in seconds), set to 0 for no respawn bb_showmovers "1" //Show last movers on objects bb_lockblocks "1" //Lock blocks <0/1>, see lock blocks bb_lockmax "10" //Lock max bb_colormode "1" //Color mode <0/1/2> Menu, one color per player, random bb_max_move_dist "768" //Push ceiling bb_min_move_dist "32" //Pull floor bb_min_dist_set "64" //Grab set (if they grab object that's too close, how far to set distance) bb_resetblocks "1" //Reset blocks on new round bb_zombie_supercut "0" //One hit kill for zombies bb_gunsmenu "1" //Use the internal guns menu, or have another plugin handle it
bb_give_nades (Def: h) //Nades to give on gun selection h = HE, f = Flashbang s = Smoke bb_weapons (Def: abcdeghijlmnqrstuvwx) // Guns listed on guns menu
Scout: a XM1014: b Mac-10: c AUG: d UMP45: e SG550: f Galil: g Famas: h AWP: i MP5: j M249: k M3: l M4A1: m TMP: n G3SG1: o SG552: p AK-47: q P90: r P228: s Dual Elites: t Fiveseven: u USP: v Glock18: w Deagle: x
- Commands - +use = grabs selected object while pressed (+grab works for older users) /guns = Opens the guns menu (CTs can change guns until build time is up) /respawn = Zombie command to respawn (to fix bad spawning or stick) /fixspawn = Respawns survivor during build phase (fixes if they stick themselves) /help = Displays help HUD /rules = Displays rules HUD /round = Displays current round (ex. Round 3 of 4)
- Commands - Say: /respawn, /revive, /fixspawn = Respawn yourself manually /class = Opens the classes menu /lock, /claim = Locks/unlocks objects /whois = Displays who is currently using a specified color (Tirant is using Red) /colors = Opens the colors menu (according to CVAR) /mycolor = Returns what your current color is /random = Selects for you a new color that is chosen randomly /guns = Opens the guns menu for yourself - Admin Commands - /releasezombies = Manually starts the round /guns = Opens the guns menu for specified player /swap = Swaps specified player's team /revive = Revives specified specified player /ban = Build bans/unbans specified player from building
Console: bb_buildban //Bans/unbans specified player bb_unbuildban //Bans/unbans specified player bb_bban //Bans/unbans specified player
bb_lock //Locks/unlocks object looking at bb_claim //Locks/unlocks object looking at
bb_revive // Revives a dead player back to life bb_swap // Switches the player to the opposite team (and respawns them, no death counted) bb_startround // Starts the round early (ends build phase)
- Default Admin Powers - To edit any of the following, open basebuilder65.sma and towards the very top, edit these definitions to ADMIN_ whatever you want. Once you are satisfied, simply recompile.
Code: #define FLAGS_BUILD ADMIN_KICK //Build after build time #define FLAGS_LOCK ADMIN_LEVEL_A //Lock/unlock blocks #define FLAGS_BUILDBAN ADMIN_KICK //Ban players from building #define FLAGS_SWAP ADMIN_KICK //Change a players team (correctly) #define FLAGS_REVIVE ADMIN_KICK //Respawn a player (dead or alive) #define FLAGS_GUNS ADMIN_LEVEL_A //Open guns menu for player #define FLAGS_RELEASE ADMIN_BAN //Release zombies manually #define FLAGS_OVERRIDE ADMIN_BAN //For admins of admins
This mod also features a custom log that logs all admin activities and object moves after the build phase to help track abuse. - Custom Forwards/Natives - This mod now includes a very complete selection of forwards and natives to be used this this mod. For more info, please read the basebuilder.inc file.
- Custom Maps - This mod requires completely custom maps. In order for your map to function properly, please name your door entity "barrier" and your entities that should be ignored as "ignore." You are only allowed one barrier entity, so select all brushes before tying them to an entity, so that they all count as this one barrier together.
- Credits - If you are interested in using the credits addition for this mod, PM me to talk.
- Donate - Please donate if you enjoy this mod. I have put an unbelievable amount of time into this mod *** maps, models, and coding. All donations are greatly appreciated, and encourage me a lot to continue working on this modification. Thank you!
5.1 - Added push/pull ability - Added reset blocks - Added "Servers using this plugin"
5.2 - Fixed some errors - Added multilingual support
5.3 - Added claim system - Added new HUD mode for claim system - Added knife only during build time - Added pull out primary after build time - Added bb_revive command - Added bb_swap command - Added bb_startround command - Redid some of the language stuff - Changed GUNS_MSG to remove color chat (bugged)
5.4
- Fixed some bugs and cleaned up some code
6.4
- Lots more optimizations - Added custom forwards for custom modding - Added win sounds
6.5
- Complete recode - Addition of classes - Coding of external credits (Obviously not everything, but I seriously can't recall EVERY detail)
- Credits - Tirant - Creator/Founder/Base Builder God Ingram - Base entity code (optimized a bunch now)
roflmao - Code help/ideas xPaw - Reset blocks code Vittu - Code optimization Exolent - Code optimization Ven - Auto join on connect GHW_Chronic - CSDM Weapons menu snippet and models iBuX - maps Shaw - maps Paul - maps
-------------------------------------------------------------------------------- Click here to see servers running this plugin! --------------------------------------------------------------------------------
- Gameplay Video -
If I have forgotten something that you think I should have mentioned, please tell me and I will do my best to add it in.