|
|
(14 intermediate revisions by 8 users not shown) |
Line 1: |
Line 1: |
| {{DISPLAYTITLE:CS:GO Custom Game Mode}} | | {{LanguageBar|title = Custom Game Mode}} |
| {{otherlang2
| |
| |zh-cn=CSGO Custom Game Mode:zh-cn | |
| }}
| |
| {{back | Counter-Strike: Global Offensive Level Creation}}
| |
|
| |
|
| '''Custom''' is a [[CSGO Game Mode Commands|game mode]] in {{csgo}} [[Counter-Strike: Global Offensive]]. | | {{back|Counter-Strike: Global Offensive Level Creation}}{{Delisted|csgo}} |
| The special thing about it is that it allows the setting of [[ConVar]]s with a map specific [[CFG]] file <code>csgo/maps/cfg/<mapname>.cfg</code>.
| | |
| | '''Custom''' is a [[game mode]] in {{csgo|4}}. |
| | It is an "empty" game mode allowing the mapmaker to customize it per map. [[ConVar]]s can be set with a map specific [[CFG]] file <code>csgo/maps/cfg/<mapname>.cfg</code>. |
| | |
| | {{Warning|The default value of the [[ConVar]] <code>sv_autoexec_mapname_cfg</code> is <code>0</code>, so this game mode does not execute that file by default. To get around this, use <code>csgo/cfg/gamemode_custom_server.cfg</code>, [[point_servercommand]], [[point_clientcommand]] or [[VScript]], see [[#Execute CFG files using VScript|below]].}} |
| | {{Note|That CFG file can also be executed with the console command {{ent|exec|<mapname> */maps}}. Use {{ent|execwithwhitelist}} for the whitelist restriction.}} |
| | {{Tip|When writing a CFG file for the game rules, you can use a command such as <code>exec gamemode_competitive</code> as a first line to use a different game mode's gamerules as a baseline, so there might be less ConVars that you need to manipulate.}} |
|
| |
|
| Every map can be run in the Custom game mode. Possibilities are: | | Every map can be run in the Custom game mode. Possibilities are: |
| * Run it through the Workshop menus and choose the Custom game mode, if possible. | | * Run it through the Workshop menus and choose the Custom game mode, if possible. |
| * Set {{ent|game_type|3}} and {{ent|game_mode|0}} in the console before loading the map via <code>[[map (ConCommand)|map]] <mapname></code>. | | * Set {{ent|game_type|3}} and {{ent|game_mode|0}} in the console before loading the map via <code>[[map (console command)|map]] <mapname></code>. This is equivalent to invoking <code>map <mapname> custom</code>. |
| * Run the map from the console using <code>[[map (ConCommand)|map]] <mapname> custom</code>.
| | |
| | {{Tip|This game mode does not have in icon for the loading screen, but the game searches it, so one can ship their own icon at <code>csgo/materials/panorama/images/icons/ui/custom.svg</code>.}} |
|
| |
|
| == Game Mode Description == | | == Game Mode Description == |
|
| |
|
| This game mode allows map makers to run their map with a bunch of custom settings via a custom [[cfg|config file]] <code>csgo/maps/cfg/<mapname>.cfg</code>. | | This game mode allows map makers to run their map with a bunch of custom settings via a custom [[CFG|config file]] <code>csgo/maps/cfg/<mapname>.cfg</code>. |
|
| |
|
| It allows to play mode variants like ''scoutzknivez'' and aim maps with their unique settings embedded right in the map. | | It allows to play mode variants like ''scoutzknivez'' and aim maps with their unique settings embedded right in the map. |
| So, how many new game modes will Custom support? We don’t know! We can’t wait to see what the community comes up with. | | So, how many new game modes will Custom support? We don’t know! We can’t wait to see what the community comes up with. |
| We’ve provided some Custom mode examples in the SDK which you can get by [steam://install/745 clicking here]. | | We’ve provided some Custom mode examples in the SDK which you can get by [steam://install/745 clicking here]. |
|
| |
| {{Tip | If you are unfamiliar with making a map for [[Counter-Strike: Global Offensive]] or any other Source game, start here: [[Counter-Strike:_Global_Offensive_Level_Creation|CS:GO Level Creation]].}}
| |
|
| |
|
| === Technical details === | | === Technical details === |
|
| |
|
| When a map is loaded in any game mode, all ''whitelisted'' [[ConVar]]s (see below) are set to their default value and are then possibly overwritten by subsequent config executions. | | When a map is loaded in any game mode, all [[whitelistcmd|whitelisted ConVars]] are set to their default value and are then possibly overwritten by subsequent config executions. |
| | |
| Now, if the map with the name <code><mapname>.bsp</code> is loaded in the Custom game mode and if <code>'''sv_autoexec_mapname_cfg'''</code> is not <code>0</code>, then the [[CFG]] file <code>csgo/maps/cfg/<mapname>.cfg</code> is executed if existent, only affecting ''whitelisted'' ConVars.
| |
| | |
| {{Warning | The default value of the [[ConVar]] <code>sv_autoexec_mapname_cfg</code> is <code>0</code>!}}
| |
|
| |
|
| {{Note | '''All ConVars not listed in <code>csgo/bspconvar_whitelist.txt</code> are unaffected by <code>csgo/maps/cfg/<mapname>.cfg</code>.''' To get around this, use a [[point_servercommand]] or a [[point_clientcommand]] entity in your map instead. Another alternative is [[VScript]], see below.}}
| | If <code>'''sv_autoexec_mapname_cfg'''</code> is not <code>0</code> while loading a map in the Custom game mode, then the [[CFG]] file <code>csgo/maps/cfg/<mapname>.cfg</code> is executed using {{ent|execwithwhitelist}}, only affecting [[whitelistcmd|whitelisted ConVars]] listed in <code>csgo/bspconvar_whitelist.txt</code>. |
|
| |
|
| {{Note | If the game only sets all ''whitelisted'' [[ConVar]]s to their default value, the resulting game rules are very similar to Casual but with the noticeable exceptions <code>mp_timelimit 5</code>, <code>mp_roundtime 5</code> and {{ent|bot_quota_mode|normal}}.}}
| | Otherwise, the resulting game rules are very similar to Casual but with the noticeable differences <code>mp_timelimit 5</code>, <code>mp_roundtime 5</code> and {{ent|bot_quota_mode|normal}}. |
| | |
| == Whitelisting ==
| |
| | |
| The game considers all [[ConVar]]s listed in <code>csgo/bspconvar_whitelist.txt</code> as '''whitelisted'''. Changes to this file require a game restart to take effect.{{confirm}}
| |
| * The command {{ent|whitelistcmd|<command>}} executes the <code><command></code> only if it is ''whitelisted'', otherwise it does nothing.
| |
| * The command {{ent|execwithwhitelist|<file>}} executes all commands inside the given file with {{ent|whitelistcmd}}.
| |
| | |
| The file has the syntax:
| |
| <pre>
| |
| "convars"
| |
| {
| |
| <ConVar> <value>
| |
| <ConVar> <value>
| |
| ...
| |
| }
| |
| </pre>
| |
| | |
| {{Note | The <code><value></code>s can literally be anything, as long as they exist. Valve uses <code>1</code>.}}
| |
| {{Tip | Also works for console commands. Whitelisting {{ent|echo}} and using it in the map's custom config can be used to see in the console when it is executed.}}
| |
| | |
| The following is the content of the file <code>csgo/bspconvar_whitelist.txt</code> when it was last modified by Valve on 2021-02-18.
| |
| | |
| {| class="wikitable mw-collapsible mw-collapsed"
| |
| ! <code>csgo/bspconvar_whitelist.txt</code>
| |
| |-
| |
| | <pre>
| |
| // This file should include convars which custom bsps are permitted to change via the bsp cfg file
| |
| // if a convar doesn't exist in this list, a map is not permitted to change it via the map's cfg file
| |
| // all convars in this list will also get set to their default values when a game mode cfg file is executed
| |
| | |
| "convars"
| |
| {
| |
| ammo_grenade_limit_default 1 // How many of each grenade (except flashbangs) are we allowed to carry?
| |
| ammo_grenade_limit_flashbang 1 // How many flashbangs are we allowed to carry?
| |
| ammo_grenade_limit_total 1 // How many total grenades can we carry?
| |
| ammo_item_limit_healthshot 1 // How many health shots are we allowed to carry?
| |
| bot_allow_grenades 1 // If nonzero, bots may use grenades.
| |
| bot_allow_machine_guns 1 // If nonzero, bots may use the machine gun.
| |
| bot_allow_pistols 1 // If nonzero, bots may use pistols.
| |
| bot_allow_rifles 1 // If nonzero, bots may use rifles.
| |
| bot_allow_rogues 1
| |
| bot_allow_shotguns 1 // If nonzero, bots may use shotguns.
| |
| bot_allow_snipers 1 // If nonzero, bots may use sniper rifles.
| |
| bot_allow_sub_machine_guns 1 // If nonzero, bots may use sub-machine guns.
| |
| bot_autodifficulty_threshold_high 1 // Amount above avg human contribution score, above which a bot should lower its difficulty
| |
| bot_autodifficulty_threshold_low 1 // Amount below avg human contribution score, below which a bot should raise its difficulty
| |
| bot_chatter 1 // Control how bots talk. Allowed values: 'off', 'radio', 'minimal', or 'normal'.
| |
| bot_coop_idle_max_vision_distance 1
| |
| bot_defer_to_human_goals 1 // If nonzero and there is a human on the team, the bots will not do the scenario tasks.
| |
| bot_defer_to_human_items 1 // If nonzero and there is a human on the team, the bots will not get scenario items.
| |
| bot_difficulty 1
| |
| bot_max_hearing_distance_override 1
| |
| bot_max_visible_smoke_length 1
| |
| bot_max_vision_distance_override 1
| |
| bot_quota 1 // Determines the total number of bots in the game.
| |
| bot_quota_mode 1 // Determines the type of quota. Allowed values: 'normal', 'fill', and 'match'. If 'fill', the server will adjust bots to keep N players in the game, where N is bot_quota. If 'match', the server will maintain a 1:N ratio of humans to bots, where N is bot_quota.
| |
| bot_coop_idle_max_vision_distance 1
| |
| bot_max_vision_distance_override 1
| |
| bot_max_hearing_distance_override 1
| |
| bot_coopmission_dz_engagement_limit 1
| |
| cash_player_bomb_defused 1
| |
| cash_player_bomb_planted 1
| |
| cash_player_damage_hostage 1 // The penalty (or bonus) players get from harming a hostage
| |
| cash_player_get_killed 1 // Money a player can get when they are killed by another player
| |
| cash_player_interact_with_hostage 1
| |
| cash_player_killed_enemy_default 1 // Money award to player when they kill an enemy (which then gets scaled per weapon)
| |
| cash_player_killed_enemy_factor 1 // Scaler that adjusts the money recieved per kill
| |
| cash_player_killed_hostage 1 // The penalty (or bonus) players get for killing a hostage
| |
| cash_player_killed_teammate 1
| |
| cash_player_rescued_hostage 1
| |
| cash_player_respawn_amount 1 // The money bonus a play can get when they respawn (if respawning is enabled)
| |
| cash_team_elimination_bomb_map 1
| |
| cash_team_elimination_hostage_map_ct 1
| |
| cash_team_elimination_hostage_map_t 1
| |
| cash_team_hostage_alive 1
| |
| cash_team_hostage_interaction 1
| |
| cash_team_loser_bonus 1
| |
| cash_team_bonus_shorthanded 1
| |
| cash_team_loser_bonus_consecutive_rounds 1
| |
| cash_team_planted_bomb_but_defused 1
| |
| cash_team_rescued_hostage 1
| |
| cash_team_survive_guardian_wave 1
| |
| cash_team_terrorist_win_bomb 1
| |
| cash_team_win_by_defusing_bomb 1
| |
| cash_team_win_by_hostage_rescue 1
| |
| cash_team_win_by_time_running_out_bomb 1
| |
| cash_team_win_by_time_running_out_hostage 1
| |
| contributionscore_assist 1
| |
| contributionscore_bomb_defuse_major 1
| |
| contributionscore_bomb_defuse_minor 1
| |
| contributionscore_bomb_exploded 1
| |
| contributionscore_bomb_planted 1
| |
| contributionscore_cash_bundle 1
| |
| contributionscore_crate_break 1
| |
| contributionscore_hostage_kill 1
| |
| contributionscore_hostage_rescue_major 1
| |
| contributionscore_hostage_rescue_minor 1
| |
| contributionscore_kill 1
| |
| contributionscore_kill_factor 1
| |
| contributionscore_objective_kill 1
| |
| contributionscore_suicide 1
| |
| contributionscore_team_kill 1
| |
| ff_damage_reduction_bullets 1 // How much to reduce damage done to teammates when shot. Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
| |
| ff_damage_reduction_grenade 1 // How much to reduce damage done to teammates by a thrown grenade. Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
| |
| ff_damage_reduction_grenade_self 1 // How much to damage a player does to himself with his own grenade. Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
| |
| ff_damage_reduction_other 1 // How much to reduce damage done to teammates by things other than bullets and grenades. Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
| |
| global_chatter_info 1
| |
| healthshot_healthboost_damage_multiplier 1
| |
| healthshot_healthboost_speed_multiplier 1
| |
| healthshot_healthboost_time 1
| |
| inferno_child_spawn_max_depth 1 // Molotov spread variable
| |
| inferno_max_flames 1 // Molotov spread variable
| |
| inferno_max_range 1 // Molotov spread variable
| |
| molotov_throw_detonate_time 1 // Molotov allowed throw duration
| |
| mp_afterroundmoney 1 // Amount of money awared to every player after each round
| |
| mp_anyone_can_pickup_c4 1
| |
| mp_autokick 1
| |
| mp_autoteambalance 1
| |
| mp_bot_ai_bt 1
| |
| mp_buy_allow_grenades 1 // Whether or not grenades can be purchased from the buy menu
| |
| mp_buy_allow_guns 1 // Bitfield: which weapons can be purchased. pistols (1), SMGs (2), rifles (4), shotguns (8), sniper rifles (16), heavy MGs (32)
| |
| mp_buy_anywhere 1
| |
| mp_buy_during_immunity 1
| |
| mp_buytime 1 // How many seconds after round start players can buy items for.
| |
| mp_c4_cannot_be_defused 1
| |
| mp_c4timer 1
| |
| mp_consecutive_loss_max 1 // Maximum loss streak (default 4). Maximum per-round impact is mp_consecutive_loss_max * cash_team_loser_bonus_consecutive_rounds
| |
| mp_coop_force_join_ct 1
| |
| mp_coopmission_bot_difficulty_offset 1
| |
| mp_coopmission_mission_number 1
| |
| mp_coopmission_dz 1
| |
| mp_ct_default_grenades 1 // The default grenades that the CTs will spawn with. To give multiple grenades, separate each weapon class with a space like this: 'weapon_molotov weapon_hegrenade'
| |
| mp_ct_default_melee 1 // The default melee weapon that the CTs will spawn with. Even if this is blank, a knife will be given. To give a taser, it should look like this: 'weapon_knife weapon_taser'. Remember to set mp_weapons_allow_zeus to 1 if you want to give a taser!
| |
| mp_ct_default_primary 1 // The default primary (rifle) weapon that the CTs will spawn with
| |
| mp_ct_default_secondary 1 // The default secondary (pistol) weapon that the CTs will spawn with
| |
| mp_retake_ct_loadout_default_pistol_round 1
| |
| mp_retake_ct_loadout_upgraded_pistol_round 1
| |
| mp_retake_ct_loadout_light_buy_round 1
| |
| mp_retake_ct_loadout_full_buy_round 1
| |
| mp_retake_ct_loadout_bonus_card_availability 1
| |
| mp_retake_ct_loadout_bonus_card 1
| |
| mp_retake_ct_loadout_enemy_card 1
| |
| mp_retake_t_loadout_default_pistol_round 1
| |
| mp_retake_t_loadout_upgraded_pistol_round 1
| |
| mp_retake_t_loadout_light_buy_round 1
| |
| mp_retake_t_loadout_full_buy_round 1
| |
| mp_retake_t_loadout_bonus_card_availability 1
| |
| mp_retake_t_loadout_bonus_card 1
| |
| mp_retake_t_loadout_enemy_card 1
| |
| mp_retake_max_consecutive_rounds_same_target_site 1
| |
| mp_damage_headshot_only 1 // Bullets that aren't headshots don't deal damage
| |
| mp_damage_scale_ct_body 1 // Scales the damage a CT player takes by this much when they take damage in the body. (1 == 100%, 0.5 == 50%)
| |
| mp_damage_scale_ct_head 1 // Scales the damage a CT player takes by this much when they take damage in the head. (1 == 100%, 0.5 == 50%)
| |
| mp_damage_scale_t_body 1 // Scales the damage a T player takes by this much when they take damage in the body. (1 == 100%, 0.5 == 50%)
| |
| mp_damage_scale_t_head 1 // Scales the damage a T player takes by this much when they take damage in the head. (1 == 100%, 0.5 == 50%)
| |
| mp_damage_vampiric_amount 1 // Hits heal you
| |
| mp_death_drop_c4 1
| |
| mp_death_drop_defuser 1 // Whether a defuser drops from a player holding on when they die
| |
| mp_death_drop_grenade 1 // Which grenade to drop on player death: 0=none, 1=best, 2=current or best
| |
| mp_death_drop_gun 1 // Which gun to drop on player death: 0=none, 1=best, 2=current or best
| |
| mp_deathcam_skippable 1 // Determines whether a player can early-out of the deathcam
| |
| mp_default_team_winner_no_objective 1 // if set, the map will declare this team the winner when the round timer expires. (-1 == map default, 0 == draw, 2 == Ts, 3 == CTs)
| |
| mp_defuser_allocation 1 // How to allocate defusers to CTs at start or round: 0=none, 1=random, 2=everyone
| |
| mp_display_kill_assists 1 // Whether to display and score player assists
| |
| mp_dm_bonus_percent 1 // Additional % of kill score to award for a bonus weapon kill
| |
| mp_dm_bonus_respawn 1 // Whether to respawn when you get the DM bonus weapon or just have it given to you at your current location
| |
| mp_dm_bonusweapon_dogtags 1 // How many additional dogtags to drop when getting a kill with the bonus weapon
| |
| mp_dm_dogtag_score 1 // How many points it is worth to collect an enemy's dogtag in deathmatch
| |
| mp_dm_kill_base_score 1 // How many points to award for a kill in deathmatch
| |
| mp_dm_teammode 1 // Deathmatch uses team DM rules
| |
| mp_dm_teammode_bonus_score 1 // Team DM victory points to award for kills with the bonus weapon
| |
| mp_dm_teammode_dogtag_score 1 // Team DM victory points to award for enemy dogtag collection
| |
| mp_dm_teammode_kill_score 1 // Team DM victory points to award for player kills
| |
| mp_dogtag_despawn_on_killer_death 1 // If set, dogtags will despawn when the person who killer the owner dies
| |
| mp_dogtag_despawn_time 1 // Dogtags automatically despawn after this many seconds (0=infinite)
| |
| mp_dogtag_pickup_rule 1 // Who is allowed to pick up dogtags (0=killer, 1=killer's team, 2=victim's team, 3=killer OR victim's team, 4=everyone)
| |
| mp_drop_grenade_enable 1 // Allows players to drop grenades.
| |
| mp_drop_knife_enable 1 // Allow players to drop knives.
| |
| mp_economy_reset_rounds 1 // how many rounds before economy is reset to default
| |
| mp_equipment_reset_rounds 1 // how many rounds before equipment is reset to default
| |
| mp_force_assign_teams 1
| |
| mp_force_pick_time 1 // The amount of time a player has on the team screen to make a selection before being auto-teamed
| |
| mp_forcecamera 1 // Restricts spectator modes for dead players. 0 = Any team. 1 = Only own team. 2 = No one; fade to black on death (previously mp_fadetoblack).
| |
| mp_free_armor 1 // Determines whether armor (1) and/or helmet (2) are given automatically.
| |
| mp_freezetime 1 // how many seconds to keep players frozen when the round starts
| |
| mp_friendlyfire 1 // Allows team members to injure other members of their team
| |
| mp_ggprogressive_round_restart_delay 1
| |
| mp_ggtr_always_upgrade 1
| |
| mp_ggtr_bomb_defuse_bonus 1
| |
| mp_ggtr_bomb_detonation_bonus 1
| |
| mp_ggtr_bomb_pts_for_flash 1
| |
| mp_ggtr_bomb_pts_for_he 1
| |
| mp_ggtr_bomb_pts_for_molotov 1
| |
| mp_ggtr_bomb_pts_for_upgrade 1
| |
| mp_ggtr_bomb_respawn_delay 1
| |
| mp_ggtr_end_round_kill_bonus 1
| |
| mp_ggtr_halftime_delay 1
| |
| mp_ggtr_last_weapon_kill_ends_half 1
| |
| mp_give_player_c4 1 // Whether this map should spawn a c4 bomb for a player or not
| |
| mp_global_damage_per_second 1 // Being alive damages you (can't die from this damage)
| |
| mp_guardian_bot_money_per_wave 1
| |
| mp_guardian_force_collect_hostages_timeout 1
| |
| mp_guardian_loc_icon 1 // (If set) icon to override for guardian mission
| |
| mp_guardian_loc_string_desc 1
| |
| mp_guardian_loc_string_hud 1
| |
| mp_guardian_loc_weapon 1 // (If set) weapon name token (#SFUI_WPNHUD_<name>)
| |
| mp_guardian_player_dist_max 1
| |
| mp_guardian_player_dist_min 1
| |
| mp_guardian_clear_all_bounds 1
| |
| mp_guardian_new_bounds 1
| |
| mp_guardian_add_bounds_pt 1
| |
| mp_guardian_clear_all_player_spawns 1
| |
| mp_guardian_add_player_spawn_pt 1
| |
| mp_guardian_special_kills_needed 1
| |
| mp_guardian_special_weapon_needed 1
| |
| mp_guardian_target_site 1
| |
| mp_guardian_force_collect_hostages_timeout 1
| |
| mp_guardian_give_random_grenades_to_bots 1
| |
| mp_guardian_ai_bt_difficulty_adjust_wave_interval 1
| |
| mp_guardian_ai_bt_difficulty_max_next_level_bots 1
| |
| mp_guardian_ai_bt_difficulty_cap_beginning_round 1
| |
| mp_guardian_ai_bt_difficulty_initial_value 1
| |
| mp_halftime 1 // Set to 1 to stay in halftime indefinitely. Set to 0 to resume the timer.
| |
| mp_halftime_pausetimer 1 // Set to 1 to stay in halftime indefinitely. Set to 0 to resume the timer.
| |
| mp_heavyassaultsuit_aimpunch 1 // How much EXTRA aim punch will happen when a player wearing the assault suit gets when shot
| |
| mp_heavyassaultsuit_cooldown 1 // Controls heavy assault suit cooldown (disabled in cooperative modes)
| |
| mp_heavyassaultsuit_deploy_timescale 1 // How fast a player wearing the heavy assault suit will draw their weapon (1.0 = normal speed, 0.5 = half speed)
| |
| mp_heavyassaultsuit_speed 1 // The max speed of a player when they are wearing the heavy assault suit
| |
| mp_heavybot_damage_reduction_scale 1
| |
| mp_hostagepenalty 1 // Terrorist are kicked for killing too much hostages
| |
| mp_hostages_max 1
| |
| mp_hostages_spawn_force_positions 1
| |
| mp_hostages_spawn_same_every_round 1
| |
| mp_items_prohibited 1
| |
| mp_limitteams 1 // Max # of players 1 team can have over another (0 disables check)
| |
| mp_match_can_clinch 1 // 0=No mercy rule, 1=team can clinch match win early if they win > 1/2 total rounds
| |
| mp_match_end_changelevel 1 // 0=No mercy rule, 1=team can clinch match win early if they win > 1/2 total rounds
| |
| mp_max_armor 1 // Determines whether armor (1) and/or helmet (2) are available for purchase.
| |
| mp_maxmoney 1 // maximum amount of money allowed in a player's account
| |
| mp_maxrounds 1 // max number of rounds to play before server changes maps
| |
| mp_molotovusedelay 1 // Number of seconds to delay before the molotov can be used after acquiring it
| |
| mp_only_cts_rescue_hostages 1 // Only CTs can rescue hostages
| |
| mp_plant_c4_anywhere 1 // Don't have to be inside a site to plant bomb
| |
| mp_playercashawards 1 // Players can earn money by performing in-game actions
| |
| mp_radar_showall 1 // Determines who should see all in the radar. 0 = default. 1 = both teams. 2 = Terrorists. 3 = CTs.
| |
| mp_randomspawn 1 // Determines whether players are to spawn. 0 = default; 1 = both teams; 2 = Terrorists; 3 = CTs.
| |
| mp_randomspawn_dist 1
| |
| mp_randomspawn_los 1
| |
| mp_respawn_immunitytime 1 // How many seconds after respawn immunity lasts.
| |
| mp_respawn_on_death_ct 1 // When set to 1, counter-terrorists will respawn after dying.
| |
| mp_respawn_on_death_t 1 // When set to 1, terrorists will respawn after dying.
| |
| mp_respawnwavetime_ct 1 // Time between respawn waves for CTs.
| |
| mp_respawnwavetime_t 1 // Time between respawn waves for Terrorists.
| |
| mp_round_restart_delay 1 // the default is "7". the "1" here is not used
| |
| mp_roundtime 1 // How many minutes each round takes.
| |
| mp_roundtime_defuse 1 // How many minutes each round of Bomb Defuse takes.
| |
| mp_roundtime_hostage 1 // How many minutes each round of Hostage Rescue takes.
| |
| mp_solid_teammates 1 // Determines whether teammates are solid or not.
| |
| mp_starting_losses 1 // Loss streak to start each team with (default 0). Results in the first round being worth additional cash for the losing team
| |
| mp_startmoney 1 // Amount of money each player starts with on match start, half start or reset
| |
| mp_suicide_penalty 1 // Whether suicides are punished
| |
| mp_t_default_grenades 1 // The default grenades that the CTs will spawn with. To give multiple grenades, separate each weapon class with a space like this: 'weapon_molotov weapon_hegrenade'
| |
| mp_t_default_melee 1 // The default melee weapon that the Ts will spawn with. Even if this is blank, a knife will be given. To give a taser, it should look like this: 'weapon_knife weapon_taser'. Remember to set mp_weapons_allow_zeus to 1 if you want to give a taser!
| |
| mp_t_default_primary 1 // The default primary (rifle) weapon that the Ts will spawn with
| |
| mp_t_default_secondary 1 // The default secondary (pistol) weapon that the Ts will spawn with
| |
| mp_tagging_scale 1 // Scalar for player tagging modifier when hit. Lower values for greater tagging.
| |
| mp_taser_recharge_time 1 // How many seconds does it take for a taser to recharge ( -1 = never )
| |
| mp_teamcashawards 1 // Teams can earn money by performing in-game actions
| |
| mp_teammates_are_enemies 1 // When set, your teammates act as enemies and all players are valid targets.
| |
| mp_technical_timeout_per_team 1 // Allow technical timeouts to be specified by mode.
| |
| mp_technical_timeout_duration_s 1 // Allow modes to specify technical timeout duration.
| |
| mp_timelimit 1 // Allow the match to end when mp_timelimit hits instead of waiting for the end of the current round.
| |
| mp_use_respawn_waves 1 // When set to 1, and that player's team is set to respawn, they will respawn in waves.
| |
| mp_warmup_pausetimer 1 // Set to 1 to stay in warmup indefinitely. Set to 0 to resume the timer.
| |
| mp_warmuptime 1 // How long the warmup period lasts. Changing this value resets warmup.
| |
| mp_warmuptime_all_players_connected 1 // How long the warmup period lasts after all humans have connected.
| |
| mp_weapon_self_inflict_amount 1 // Attacking damages you if you miss (can't die from this damage)
| |
| mp_weapons_allow_heavy 1 // Determines which teams can purchase heavy weapons (-1 = any; 0 = none; 2 = Ts; 3 = CTs)
| |
| mp_weapons_allow_heavyassaultsuit 1 // Determines whether the Heavy Assault Suit is purchaseable or not (T only)
| |
| mp_weapons_allow_map_placed 1 // If this convar is set, when a match starts, the game will not delete weapons placed in the map.
| |
| mp_weapons_allow_pistols 1 // Determines which teams can purchase pistols (-1 = any; 0 = none; 2 = Ts; 3 = CTs)
| |
| mp_weapons_allow_rifles 1 // Determines which teams can purchase rifles (-1 = any; 0 = none; 2 = Ts; 3 = CTs)
| |
| mp_weapons_allow_smgs 1 // Determines which teams can purchase smgs (-1 = any; 0 = none; 2 = Ts; 3 = CTs)
| |
| mp_weapons_allow_typecount 1 // How many weapons of each type can be purchased
| |
| mp_weapons_allow_zeus 1 // Determines whether the Zeus is purchasable or not
| |
| mp_weapons_glow_on_ground 1 // If this convar is set, weapons on the ground will have a glow around them and can be seen through walls.
| |
| mp_weapons_max_gun_purchases_per_weapon_per_match 1 // Can only buy each weapon this often per match ("weapons expert")
| |
| mp_win_panel_display_time 1
| |
| occlusion_test_async 1
| |
| spec_freeze_panel_extended_time 1 // Time spent with the freeze panel still up after observer freeze cam is done.
| |
| spec_freeze_time 1 // Time spend frozen in observer freeze cam.
| |
| spec_replay_bot 1 // whether bot kills show a replay
| |
| spec_replay_enable 1 // the default is "0". the "1" here is not used
| |
| spec_replay_leadup_time 1 // how long the spec replay delay is
| |
| sv_accelerate 1
| |
| sv_air_pushaway_dist 1
| |
| sv_airaccelerate 1
| |
| sv_allow_votes 1 // Voting allowed in this mode
| |
| sv_alltalk 1 // DEPRECATED. Players can hear all enemy communication (voice, chat). Use sv_talk_enemy_dead and sv_talk_enemy_living instead.
| |
| sv_arms_race_vote_to_restart_disallowed_after 1
| |
| sv_auto_adjust_bot_difficulty 1
| |
| sv_auto_full_alltalk_during_warmup_half_end 1 // When enabled, full alltalk is enabled at warmup, halftime and endgame
| |
| sv_autobunnyhopping 1 // Automatically jumps when touching ground
| |
| sv_autobuyammo 1
| |
| sv_bot_buy_decoy_weight 1
| |
| sv_bot_buy_flash_weight 1
| |
| sv_bot_buy_grenade_chance 1
| |
| sv_bot_buy_hegrenade_weight 1
| |
| sv_bot_buy_molotov_weight 1
| |
| sv_bot_buy_smoke_weight 1
| |
| sv_bots_force_rebuy_every_round 1
| |
| sv_bots_get_easier_each_win 1
| |
| sv_bots_get_harder_after_each_wave 1 // only used in Guardian mode
| |
| sv_bounce 1 //"Bounce multiplier for when physically simulated objects collide with other objects.
| |
| sv_buy_status_override 1 // Override for buy status map info. 0 = everyone can buy, 1 = ct only, 2 = t only 3 = nobody
| |
| sv_deadtalk 1 // When set, dead players can speak (voice, text) to living players on their team
| |
| sv_disable_immunity_alpha 1
| |
| sv_disable_radar 1
| |
| sv_disable_show_team_select_menu 1
| |
| sv_duplicate_playernames_ok 1
| |
| sv_enablebunnyhopping 1 // Disables in-air movement speed cap
| |
| sv_env_entity_makers_enabled 1
| |
| sv_extract_ammo_from_dropped_weapons 1
| |
| sv_falldamage_scale 1
| |
| sv_falldamage_to_below_player_multiplier 1 // Scale damage when distributed across two players
| |
| sv_falldamage_to_below_player_ratio 1 // Landing on a another player's head gives them this ratio of the damage.
| |
| sv_force_reflections 1
| |
| sv_friction 1 //"World friction."
| |
| sv_grassburn 1
| |
| sv_gravity 1 // World gravity. (default is 800)
| |
| sv_guardian_extra_equipment_ct 1
| |
| sv_guardian_extra_equipment_t 1
| |
| sv_guardian_health_refresh_per_wave 1
| |
| sv_guardian_heavy_all 1
| |
| sv_guardian_heavy_count 1
| |
| sv_guardian_max_wave_for_heavy 1
| |
| sv_guardian_min_wave_for_heavy 1
| |
| sv_guardian_refresh_ammo_for_items_on_waves 1
| |
| sv_guardian_reset_c4_every_wave 1
| |
| sv_guardian_respawn_health 1
| |
| sv_guardian_spawn_health_ct 1
| |
| sv_guardian_spawn_health_t 1
| |
| sv_health_approach_enabled 1
| |
| sv_health_approach_speed 1
| |
| sv_hegrenade_damage_multiplier 1
| |
| sv_hegrenade_radius_multiplier 1
| |
| sv_hide_roundtime_until_seconds 1
| |
| sv_highlight_distance 1
| |
| sv_highlight_duration 1
| |
| sv_ignoregrenaderadio 1 // Turn off Fire in the hole messages
| |
| sv_infinite_ammo 1
| |
| sv_knife_attack_extend_from_player_aabb 1
| |
| sv_maxspeed 1
| |
| sv_maxvelocity 1 //Maximum speed any ballistically moving object is allowed to attain per axis.
| |
| sv_occlude_players 1
| |
| sv_outofammo_indicator 1
| |
| sv_show_ragdoll_playernames 1
| |
| sv_show_team_equipment_force_on 1
| |
| sv_staminajumpcost 1 // Modifies jumping stamina (default .08)
| |
| sv_staminalandcost 1 // Modifies landing stamina (default .18)
| |
| sv_stopspeed 1 //"Minimum stopping speed when on ground.
| |
| sv_talk_enemy_dead 1 // Dead players can hear dead enemy communication (voice, chat)
| |
| sv_talk_enemy_living 1 // Live players can hear living enemy communication (voice, chat)
| |
| sv_teamid_overhead_maxdist 1
| |
| sv_teamid_overhead_maxdist_spec 1
| |
| sv_versus_screen_scene_id 1
| |
| sv_vote_to_changelevel_before_match_point 1
| |
| sv_warmup_to_freezetime_delay 1
| |
| sv_water_movespeed_multiplier 1 // Water movespeed
| |
| sv_water_swim_mode 1 // Prevent going under water
| |
| sv_wateraccelerate 1
| |
| sv_waterfriction 1
| |
| sv_weapon_encumbrance_per_item 1 // Encumbrance fixed cost
| |
| sv_weapon_encumbrance_scale 1 // Encumbrance ratio to active weapon
| |
| tv_delay 1
| |
| tv_delay1 1
| |
| weapon_accuracy_nospread 1
| |
| weapon_air_spread_scale 1
| |
| weapon_max_before_cleanup 1
| |
| weapon_recoil_scale 1
| |
| weapon_reticle_knife_show 1
| |
| weapon_sound_falloff_multiplier 1
| |
| sv_camera_fly_enabled 1
| |
| }
| |
| </pre>
| |
| |}
| |
|
| |
|
| == Publishing == | | == Publishing == |
Line 429: |
Line 40: |
|
| |
|
| ;How do I pack additional files in my BSP? | | ;How do I pack additional files in my BSP? |
| :This is covered on the [[CSGO_Map_Publish_Tool|Map Publish Tool]] page along with what files are automatically packed in the BSP on upload. | | :This is covered on the [[CS:GO Map Publish Tool]] page along with what files are automatically packed in the BSP on upload. |
|
| |
|
| == Alternative: Execute CFG files using VScript == | | == Execute CFG files using VScript == |
|
| |
|
| {| style="float:right;" | | {| style="float:right;" |
Line 440: |
Line 51: |
| if (nType == 3 && nMode == 0) | | if (nType == 3 && nMode == 0) |
| { | | { |
| SendToConsole("exec <cfgname>") | | SendToConsole("exec " + GetMapName() + " */maps") |
| } | | } |
| </syntaxhighlight> | | </syntaxhighlight> |
| |} | | |} |
|
| |
|
| It is possible to execute custom [[CFG]] files located in <code>csgo/cfg/</code> using [[VScript]] using the concept named at [[CSGO Game Mode Commands#Gamemode dependent Events]].
| | To achieve what this game mode used to be made for, namely the execution of <code>csgo/maps/cfg/<mapname>.cfg</code>, but without depending on <code>sv_autoexec_mapname_cfg</code>, we need only one short [[VScript]] with the concept named at [[CS:GO Game Modes#Game Mode dependent Events]]. |
| | | * Create a text file with the content shown on the right. Save it at <code>csgo/scripts/vscripts/</code> or in a subfolder from there as a <code>.nut</code> file. |
| Create a text file with the content shown on the right. | | * In [[Hammer]], create a [[logic_script]] and add this file to its <code>Entity Scripts</code>. |
| Save it at <code>csgo/scripts/vscripts/</code> or in a subfolder from there as a <code>.nut</code> file. | | * In-game, the script will be executed every time a round starts. If the current game mode is Custom, the script executes the CFG file <code>csgo/maps/cfg/<mapname>.cfg</code>. |
| In [[Hammer]], add this file to a [[logic_script]]'s <code>Entity Scripts</code>. | |
| In-game, the script will be executed every time a round starts. | |
| If the current game mode is Custom, the script executes the CFG file <code>csgo/cfg/<cfgname>.cfg</code>. | |
|
| |
|
| {{Note | Incidentally, many other things can be done other than just a CFG execution, see [[List_of_Counter-Strike:_Global_Offensive_Script_Functions#Global_functions|List of CS:GO Script Functions]].}} | | {{Note|Incidentally, many other things can be done other than just a CFG execution, see [[List of CS:GO Script Functions#Global functions|List of CS:GO Script Functions]].}} |
|
| |
|
| Accordingly, both the script and the CFG file must be packed to the [[BSP]] file when publishing, see e.g. [[VIDE]]. | | Accordingly, both the script and the CFG file must be packed to the [[BSP]] file when publishing, see e.g. [[VIDE]]. |
|
| |
|
| | {{csgo-navbox}} |
| [[Category:Counter-Strike: Global Offensive]] | | [[Category:Counter-Strike: Global Offensive]] |
| [[Category:Level Design Tutorials]] | | [[Category:Level_Design]] |
| | [[Category:Entry pages]] |