AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [CS:S/CS:GO] BuildWars v2.1.0 (Updated: 08/03/15) (https://forums.alliedmods.net/showthread.php?t=172444)

thetwistedpanda 11-20-2011 15:22

[CS:S/CS:GO] BuildWars v2.1.0 (Updated: 08/03/15)
 
3 Attachment(s)
Description:
  • BuildWars has generally been a private mod for various communities. However, as disgruntled client released a version to the public, I've decided to officially release the second branch of the mod.
  • Essentially, the mod can be considered a poor man's Garry's Mod / Source Fonts combined with classic CS:S gameplay. There are two phases, the build phase and the war phase.
    • During the build phase, the Terrorists and Counter-Terrorists are separated by a dividing wall (map specific). The goal is to create various defenses / structures / etc using in-game props ranging from cardboard boxes, vending machines, light posts, and whatever else the server administrator fancies.
    • After a specified length of time, the war phase activates, and the wall that once separated the two teams disappears. The goal of the mod then becomes for one team to shoot the f**k out of the other team.
  • Unfortunately, there will be very little continued development for the v2 development branch of Build Wars. Bugs and the likes will be ironed out, and every now and then I may push an update, but I consider v2 to be a completed project and have long since moved on to the next branch.
  • Likewise, despite the plugin now launching on CS:GO, I wouldn't exactly call it supported. The menu structure simply isn't optimized for CS:GO gameplay due to the lack of a menu option, creating a fairly clunky experience. At this point I'm not willing to spend the time to optimize things as I have for the v3 branch, but after the renewed hype dies down, I may consider doing so.
Features:
  • Clients are allowed to create props, move / rotate / color their props, delete their props, and "control" them (essentially a HL2 Grabber Gun). They're also able to check the ownership of any prop in their crosshairs and return to spawn in the event of getting stuck.
  • Several configuration files define the specifics of features provided to players, such as which props (and what types of props) players can access, valid rotation and position measurements, and a nifty command system that allows definition of custom in-game shortcuts.
  • Hardcoded support for three different classifications of players: Public, Supporter, and Administrator. You can view the source code, near the top, to see the overrides and flags provided.
    • Public players are as it sounds, normal players that have no special benefits other than what the mod provides.
    • Supporter players can be considered a donator classification, which can be assigned various extra benefits.
    • Administrators bypass numerous in-game restrictions and should only be assigned to those that deserve the position.
  • Numerous Cvars control the differences between each group classification, such as the number of props, deletes, and teleports available. Props can also be restricted to specific classifications, to provide donators/administrators with powerful structures.
  • A temperamental, and sometimes buggy, feature allows clients with appropriate access to save/respawn groups, or bases, of props around a common save location.
Installation:
  • /sourcemod/plugins/sm_buildwars_v2.smx
  • /sourcemod/translations/buildwars_v2.css.phrases.txt
  • /sourcemod/translations/buildwars_v2.csgo.phrases.txt
  • /sourcemod/configs/buildwars/sm_buildwars_rotations.ini
  • /sourcemod/configs/buildwars/sm_buildwars_props.css.ini
  • /sourcemod/configs/buildwars/sm_buildwars_props.csgo.ini
  • /sourcemod/configs/buildwars/sm_buildwars_positions.ini
  • /sourcemod/configs/buildwars/sm_buildwars_colors.ini
  • /sourcemod/configs/buildwars/sm_buildwars_cmds.css.ini
  • /sourcemod/configs/buildwars/sm_buildwars_cmds.csgo.ini
  • CSS Maps (Personal Dropbox Link)
  • CSGO Map (Note: Map. Singular)(Personal Dropbox Link)

thetwistedpanda 11-20-2011 15:23

Re: [CS:S] BuildWars v2.0
 
Map Configuration:
  • This branch of the plugin is entirely map dependent. Maps must have a dividing wall between the two teams and there must be logic within the map to remove said wall after x seconds. As I no longer have the configuration values necessary, there's a lot of information for you!
  • The plugin compensates for this dependency by providing a single convar, sm_buildwars_disable_delay, that must be set to the number of seconds it takes for the wall entity to fall.
Code:

The wall entity can only be one of four types if it's a bw_ themed map:
- func_breakable, responds to the "Break" input.
- func_breakable_surf, responds to the "Break" input.
- func_brush, responds to the "Disable" (and "Enabled") input.
- func_wall_toggle, responds to the "Toggle" input.

Using this knowledge, finding the wall entity is fairly trivial.
I recommend using Stripper: Source, however, there are several methods of obtaining the necessary information.
The following assumes Stripper: Source is running on the server:
1) Load the desired map on to the server.
2) Issue a stripper_dump command within the server console, via sm_rcon, or rcon.
3) Navigate to /addons/stripper/dumps/ and open <mapname>.xxxx.cfg.
4) You're looking for a logic entity that controls the wall entity.
  Generally, it's a logic_* entity or a trigger_* entity, but as there's no standard this is not always the case. If the map prints to chat, you can try searching for those messages, or ",Break,", ",Disable,", and/or ",Toggle," are also common.
  Once the entity has been found, you should be able to find the value (in seconds) that needs to be thrown into the cvar.
  If the wall takes 5 minutes to fall, the number is going to be around 300.

This is from a v3 configuration file, however, these are the names of the wall entities for various BuildWars maps.
This should assist you in finding the necessary information for setting the convar.
In addition, you can view this link, which contains a series of Stripper: Source configuration files to remove the logic that controls the wall entities.
The Stripper files are NOT something you use in the v2 branch of the plugin, however, it will further assist you in narrowing down what you're looking for.
        "bw_buildfight_new"                        "giantwall"
        "bw_concretecity_fix1"                        "bigwall"
        "bw_crazytower_b1"                        "bigfuckingwall"
        "bw_crazytower_oG"                        "bigfuckingwall"
        "bw_developer"                                "split_wall"
        "bw_developer_oG_v3"                        "bigfuckingwall"
        "bw_dungeon"                                "bigwall"
        "bw_equality_v2"                                "bigfuckingwall"
        "bw_fg_deathpit_v2"                        "break"
        "bw_fg_dwingy_fix_v2"                        "wall"
        "bw_fg_nooberramps_v3"                "middlewall"
        "bw_fg_trololololol_v7_fix"                "Wall-Timer-Drop"
        "bw_fg_twist_rev3"                        "Wall-Drop"
        "bw_fieldfight_fix1"                        "bigwall"
        "bw_iceland"                                "bigwall"
        "bw_inca_island"                                "bigwall"
        "bw_innovation_v2"                        "bigfuckingwall"
        "bw_jamesb_final"                        "Giant Wall"
        "bw_littlecity_fix1"                        "bigwall"
        "bw_mario_v4"                                "split_wall"
        "bw_mc_12m04a"                        "bigfuckingwall"
        "bw_milopeach_fix_1"                        "giantwall"
        "bw_ogcom_v2"                                "Imthewallsopickme"
        "bw_panda"                                        "Wall-timer-drop"
        "bw_royal"                                        "giantwall"
        "bw_royal_yard_v2"                        "keskialoitus"
        "bw_serenity"                                "bigfuckingwall"
        "bw_sewercliff_v3"                        "bigfuckingwall"
        "bw_sl_bunnyrun"                        "giantwall"
        "bw_sl_dust2"                                "bigwall"
        "bw_sl_fatal_fix"                                "giantwall"
        "bw_sl_modernfire_v2"                        "giantwall"
        "bw_sl_modernfire_v5"                        "giantwall"
        "bw_sl_revolution_v3"                        "giantwall"
        "bw_sl_snowsurfing"                        "giantwall"
        "bw_sl_snowsurfing_final_v2"                "giantwall"
        "bw_sl_snowsurfing_oG"                "giantwall"
        "bw_sl_superbowl_remix"                "giantwall"
        "bw_sl_twintowers_v3_final"                "bigwall"
        "prop_lego_piraterne_jp_v2"                "breakable"
        "prop_piraterne_jp_v1"                        "breakable"
        "prop_sa_lmfao"                                "prodigy"
        "props_b6_minecraft_b1"                "wall_all"
        "props_b6_tunnel_b2"                        "wall_all"

Code:

Here's an example on how to find the necessary information; I'll be using the map bw_royal.
- After the map has loaded on the server, issue !rcon stripper_dump into chat to dump entities.
- Open bw_royal.0000.cfg within /addons/stripper/dumps/
- This map has several chat messages that appear, so I can simply search for one of the phrases and hope that the wall entity is there.
  But if there are no messages, I'd look for the logic that controls the map itself.
  - A search for ,Disable, ,Break, or ,Toggle, should bring up a line that looks something like this:
    - "OnStartTouch" "giantwall,Disable,,240,1"
    - The above line belongs to a trigger_once entity, so the the code within the entity will be fired once as soon as a player touches it during that round.
      The line essentially says "Once I have been touched, issue Disable on any entity with the targetname of giantwall in 240 seconds."
- And that's it! At this point I create a map configuration file that sets sm_buildwars_disable_delay to 240 whenever bw_royal is played on the server.

ConVars:
Code:

// This is a copy/paste of a cfg generation of the latest version, simply because I'm too lazy to re-do all that formatting that was here before!


// If enabled, admins will be able to access the Admin Actions menu in Build Wars
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_access_admin "1"

// Controls access to the base feature, if it is enabled. Add values together for multiple group access. (0 = Disabled, 1 = Normal, 2 = Supporters, 4 = Admins)
// -
// Default: "6"
// Minimum: "0.000000"
// Maximum: "7.000000"
sm_buildwars_access_base "6"

// Controls access to the check prop feature.  Add values together for multiple group access. (0 = Disabled, 1 = Normal, 2 = Supporters, 4 = Admins)
// -
// Default: "7"
// Minimum: "0.000000"
// Maximum: "7.000000"
sm_buildwars_access_check "7"

// Controls access to the grab feature. Add values together for multiple group access. (0 = Disabled, 1 = Normal, 2 = Supporters, 4 = Admins)
// -
// Default: "7"
// Minimum: "0.000000"
// Maximum: "7.000000"
sm_buildwars_access_grab "7"

// If enabled, players will be able to access the Actions / Settings menu in Build Wars.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_access_settings "1"

// Controls whether or not Counter-Terrorists have access to any features provided by Build Wars.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_access_team_blue "1"

// Controls whether or not Terrorists have access to any features provided by Build Wars.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_access_team_red "1"

// Controls whether or not Spectators have access to any features provided by Build Wars.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_access_team_spec "1"

// The number of seconds after a player joins an initial team for sm_buildwars_advert to be sent to the player. (-1 = Disabled)
// -
// Default: "5.0"
// Minimum: "-1.000000"
sm_buildwars_advert "5.0"

// The sqlite database located within databases.cfg. ("" = sourcemod-local.sql)
// -
// Default: ""
sm_buildwars_base_database ""

// Props greater than this distance from the origin of the base location will not be saved, to prevent corruption. (0.0 = Disabled)
// -
// Default: "1000"
// Minimum: "0.000000"
sm_buildwars_base_distance "1000"

// If enabled, players with appropriate access will be able to access the Base feature, which allows saving/spawning multiple props.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_base_enabled "1"

// The number of bases available to clients with appropriate access. Limit of 7 bases per client.
// -
// Default: "3"
// Minimum: "1.000000"
// Maximum: "7.000000"
sm_buildwars_base_groups "3"

// The maximum limit of props each base can hold. Use 0 to limit the number of props to the client's maximum, otherwise use -1 to disable this feature.
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_base_limit "0"

// The names to be assigned to the client bases. Separate values with ", ".
// -
// Default: "Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Eta"
sm_buildwars_base_names "Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Eta"

// If the admin's coloring scheme is set to Selection, this is the number of times they're allowed to color their props. (0 = Infinite, -1 = No Coloring)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_color_admin "0"

// If the player's coloring scheme is set to Selection, this is the number of times they're allowed to color their props. (0 = Infinite, -1 = No Coloring)
// -
// Default: "15"
// Minimum: "-1.000000"
sm_buildwars_color_public "15"

// If the supporter's coloring scheme is set to Selection, this is the number of times they're allowed to color their props. (0 = Infinite, -1 = No Coloring)
// -
// Default: "30"
// Minimum: "-1.000000"
sm_buildwars_color_supporter "30"

// The defined color for players on the Terrorist team when colors are forced.
// -
// Default: "0 0 255 255"
sm_buildwars_coloring_blue "0 0 255 255"

// Determines how props will be colored for admins. (0 = Selection, 1 = Forced Random, 2 = Forced Team Colored, 3 = Forced Default)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "3.000000"
sm_buildwars_coloring_mode_admin "0"

// Determines how props will be colored for public players. (0 = Selection, 1 = Forced Random, 2 = Forced Team Colored, 3 = Forced Default)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "3.000000"
sm_buildwars_coloring_mode_public "0"

// Determines how props will be colored for supporters. (0 = Selection, 1 = Forced Random, 2 = Forced Team Colored, 3 = Forced Default)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "3.000000"
sm_buildwars_coloring_mode_supporter "0"

// The defined color for players on the Terrorist team when colors are forced.
// -
// Default: "255 0 0 255"
sm_buildwars_coloring_red "255 0 0 255"

// The default prop color that players will spawn with. (# = Index, -1 = No Color Options)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_default_color "0"

// The default control distance that players will spawn with. (#.# = Interval, -1 = No Control Options)
// -
// Default: "150"
// Minimum: "-1.000000"
sm_buildwars_default_distance "150"

// The default position value that players will spawn with. (# = Index, -1 = No Position Options)
// -
// Default: "4"
// Minimum: "-1.000000"
sm_buildwars_default_position "4"

// The default degree value that players will spawn with. (# = Index, -1 = No Rotation Options)
// -
// Default: "3"
// Minimum: "-1.000000"
sm_buildwars_default_rotation "3"

// The maximum amount of props administrative players are allowed to delete. (0 = Infinite, -1 = No Deleting)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_delete_admin "0"

// The maximum amount of props public players are allowed to delete. (0 = Infinite, -1 = No Deleting)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_delete_public "0"

// The maximum amount of props supporter players are allowed to delete. (0 = Infinite, -1 = No Deleting)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_delete_supporter "0"

// Add values together for multiple feature disable. (0 = Disabled, 1 = Building, 2 = Deleting, 4 = Rotating, 8 = Moving, 16 = Grabbing, 32 = Checking, 64 = Teleporting, 128 = Coloring, 256 = Clearing)
// -
// Default: "0"
// Minimum: "0.000000"
sm_buildwars_disable "0"

// The number of seconds after the start of the round for sm_buildwars_disable to be executed, restricting the defined features.
// -
// Default: "0"
// Minimum: "0.000000"
sm_buildwars_disable_delay "0"

// The dissolve effect to be used for removing props. (-1 = Disabled, 0 = Energy, 1 = Light, 2 = Heavy, 3 = Core)
// -
// Default: "3"
// Minimum: "-1.000000"
// Maximum: "3.000000"
sm_buildwars_dissolve "3"

// Enables/disables all features of the plugin. (0 = Disabled, 1 = Enabled)
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_enable "1"

// The maximum distance at which props can be grabbed from. (0 = No Maximum)
// -
// Default: "768"
// Minimum: "0.000000"
sm_buildwars_grab_distance "768"

// The interval at which a players grab distance will increase/decrease.
// -
// Default: "10"
// Minimum: "0.000000"
sm_buildwars_grab_interval "10"

// The distance players can increase their grab distance to.
// -
// Default: "300"
// Minimum: "0.000000"
sm_buildwars_grab_maximum "300"

// The distance players can decrease their grab distance to.
// -
// Default: "50"
// Minimum: "0.000000"
sm_buildwars_grab_minimum "50"

// The frequency at which grabbed objects will update.
// -
// Default: "0.1"
// Minimum: "0.100000"
sm_buildwars_grab_update "0.1"

// The page that appears when a user types the help command into chat ("" = Disabled)
// -
// Default: ""
sm_buildwars_help ""

// The maximum amount of props supporter players are allowed to build. (0 = Infinite, -1 = No Building)
// -
// Default: "100"
// Minimum: "-1.000000"
sm_buildwars_prop_admin "100"

// The maximum amount of props public players are allowed to build. (0 = Infinite, -1 = No Building)
// -
// Default: "85"
// Minimum: "-1.000000"
sm_buildwars_prop_public "85"

// The maximum amount of props administrative players are allowed to build. (0 = Infinite, -1 = No Building)
// -
// Default: "100"
// Minimum: "-1.000000"
sm_buildwars_prop_supporter "100"

// If enabled, clients will be able to open the Build Wars menu by pressing their USE key.
// -
// Default: "1.0"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_buildwars_quick_menu "1.0"

// The maximum amount of teleports administrative players are allowed to use. (0 = Infinite, -1 = No Teleporting)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_tele_admin "0"

// The number of seconds admins must wait before their teleport is processed. (0 = Instant)
// -
// Default: "0"
// Minimum: "0.000000"
sm_buildwars_tele_admin_delay "0"

// The maximum amount of teleports public players are allowed to use. (0 = Infinite, -1 = No Teleporting)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_tele_public "0"

// The number of seconds public players must wait before their teleport is processed. (0 = Instant)
// -
// Default: "10"
// Minimum: "0.000000"
sm_buildwars_tele_public_delay "10"

// The maximum amount of teleports supporter players are allowed to use. (0 = Infinite, -1 = No Teleporting)
// -
// Default: "0"
// Minimum: "-1.000000"
sm_buildwars_tele_supporter "0"

// The number of seconds supporters must wait before their teleport is processed. (0 = Instant)
// -
// Default: "5"
// Minimum: "0.000000"
sm_buildwars_tele_supporter_delay "5"

Videos:

linglingftw 11-20-2011 15:32

Re: [CS:S] BuildWars v2.0
 
Wow.. A great release. Its quite a shame about the leak.
Being a V3 client I can say this is a solid mod alot better then any other alternatives (aside from the updated version).
I can see this putting more buildwars servers out there.
Great work Panda!

Logifl3x 11-20-2011 15:47

Re: [CS:S] BuildWars v2.0
 
Awww mayun!!! I liked being one of the only people with this awesome mod!!

Fearts 11-20-2011 16:10

Re: [CS:S] BuildWars v2.0
 
Thanks for releasing it your the man.

Here take a few pieces of bacon on me: :bacon!::bacon!::bacon!::bacon!::bacon!:

andrew13 11-22-2011 02:20

Re: [CS:S] BuildWars (v2.0.4b)
 
Will this work on TF2?

thetwistedpanda 11-22-2011 02:25

Re: [CS:S] BuildWars (v2.0.4b)
 
I highly doubt it; it was coded for CS:S :3.

Mitchell 12-03-2011 01:05

Re: [CS:S] BuildWars (v2.0.4b)
 
i think its about time to just release my sandboxx mod. im tired of screwing with it so much.

thetwistedpanda 12-04-2011 03:46

Re: [CS:S] BuildWars (v2.0.5)
 
Revisions: v2.0.5
  • Made several changes to SQL queries (base feature) to ensure they do not run on invalid clients
  • Several additional fixes to prevent errors from appearing relating to the base feature due to weird behavior.
  • Fixed a redunant load query causing glitches/errors when loading BuildWars late.

thetwistedpanda 12-10-2011 13:23

Re: [CS:S] BuildWars v2.0.7 (Updated: 12/10/11)
 
Revisions: v2.0.6
  • Fixed some bad coding in the say/say_team hook that may have caused issues.
  • Moved initial loading of core components to a later native, to prevent weird issues (like the tries/arrays not being declared)
  • Added additional (and by additional, I mean sheer overkill) checks to ensure that clients without access cannot use anything in buildwars.
  • Resolves cases where clients that have access change teams with a menu still open.
  • Defaulted sm_buildwars_help to not use my community's help page...
  • Increased maximum string size for several translation elements to prevent issues with colors.inc
  • The player_changename event now runs only on clients that have access to BuildWars.
  • static const definitions moved over to new definitions so it plays nicely with certain versions of the SM compiler.
  • Several minor code tweaks to fix little harmless mistakes that may have caused very rare, albeit minor, issues.
  • Added support for "prop_physics" to be used as a prop definition type. Why? Who knows.


All times are GMT -4. The time now is 09:44.

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