View Single Post
thetwistedpanda
Good Little Panda
Join Date: Sep 2008
Old 11-20-2011 , 15:23   Re: [CS:S] BuildWars v2.0
Reply With Quote #2

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:

Last edited by thetwistedpanda; 08-17-2015 at 20:05.
thetwistedpanda is offline