创建一张自定义模式地图

From Valve Developer Community
Jump to: navigation, search
English

如果你对制作反恐精英:全球行动或者其他起源引擎游戏的地图并不熟悉,请参见这里: 反恐精英 : 全球行动关卡创作

全新的自定义模式允许地图创作者们通过修改配置文件来为他们的地图实现自定义设定,这意味着有着独特地图属性的跑酷地图和枪械练习地图都可以直接在游戏内使用。那么自定义模式到底支持多少种游戏模式? 我们并不清楚,但我们都快等不及去看到游戏社区会给我们带来些什么了!我们在SDK中提供了一些自定义模式的样本,你可以通过点击这里来下载。

我该在哪里放置我的cfg文件?

你的cfg文件必须被放置于

csgo/maps/cfg

地图的cfg文件名称必须和地图的bsp文件名称相同,假设你的bsp文件叫做"cp_watermelon.bsp",你的cfg文件就应该叫做"cp_watermelon.cfg"。如果你的地图在没有cfg文件的情况下以自定义模式运行,那么它就会默认使用经典模式的规则。当你准备在创意工坊上发布你的地图时,地图的cfg文件会被自动打包进地图的bsp文件,不必再费心自己打包。

我该如何以自定义模式运行地图?

有几种方法可以让你做到这一点:

  • 在创意工坊上传菜单里设置自定义模式可用,然后在运行地图时选择自定义模式。
  • 使用开发者控制台通过指令"map <地图名称>"运行一张地图并在运行地图前在开发者控制台里把游戏类型(game_type)设定成3。
  • 使用开发者控制台的"map <地图名称> custom"指令。

我还能对我的BSP文件做什么?

数不胜数!加进全新的贴图,模型,音效,当然还有最重要的脚本语言文件(只能在制作自定义模式地图时)!如果你对脚本语言并不熟悉,简单解释一下就是可以在游戏运行时使用的语言基础脚本,想要了解更多关于脚本语言的内容,参见脚本语言页面。

我该如何将高级文件打包进BSP?

这些内容都在地图发布工具页面中被提到过,其中还叙述了哪些文件会被自动打包进BSP文件。

地图支持与描述

下面的列表包含了cfg文件中可能需要用到的属性

Note:本列表的某些属性很可能已经过时,在"..\common\Counter-Strike Global Offensive\csgo\"中的bspconvar_whitelist.txt可以找到已全部更新的完整列表。
// bot convars
bot_autodifficulty_threshold_high		// Amount above avg human contribution score, above which a bot should lower its difficulty
bot_autodifficulty_threshold_low		// Amount below avg human contribution score, below which a bot should raise its difficulty
bot_chatter					// Control how bots talk. Allowed values: 'off', 'radio', 'minimal', or 'normal'.
bot_defer_to_human_goals			// If nonzero and there is a human on the team, the bots will not do the scenario tasks.
bot_defer_to_human_items			// If nonzero and there is a human on the team, the bots will not get scenario items.
bot_difficulty									
bot_quota					// Determines the total number of bots in the game.
bot_quota_mode					// 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_allow_grenades				// If nonzero, bots may use grenades.
bot_allow_pistols				// If nonzero, bots may use pistols.
bot_allow_sub_machine_guns			// If nonzero, bots may use sub-machine guns.
bot_allow_shotguns				// If nonzero, bots may use shotguns.
bot_allow_rifles				// If nonzero, bots may use rifles.
bot_allow_snipers				// If nonzero, bots may use sniper rifles.
bot_allow_machine_guns				// If nonzero, bots may use the machine gun.

// player/team cash award and buy convars
mp_playercashawards				// Players can earn money by performing in-game actions
cash_player_bomb_defused					
cash_player_bomb_planted					
cash_player_damage_hostage			// The penalty (or bonus) players get from harming a hostage
cash_player_interact_with_hostage			
cash_player_killed_enemy_default		// Money award to player when they kill an enemy (which then gets scaled per weapon)
cash_player_killed_enemy_factor			// Scaler that adjusts the money recieved per kill
cash_player_killed_hostage			// The penalty (or bonus) players get for killing a hostage
cash_player_killed_teammate					
cash_player_rescued_hostage					
cash_player_respawn_amount			// The money bonus a play can get when they respawn (if respawning is enabled)
cash_player_get_killed				// Money a player can get when they are killed by another player
mp_teamcashawards				// Teams can earn money by performing in-game actions
cash_team_elimination_bomb_map				
cash_team_elimination_hostage_map_t			
cash_team_elimination_hostage_map_ct		
cash_team_hostage_alive						
cash_team_hostage_interaction				
cash_team_loser_bonus						
cash_team_loser_bonus_consecutive_rounds	
cash_team_planted_bomb_but_defused			
cash_team_rescued_hostage					
cash_team_terrorist_win_bomb				
cash_team_win_by_defusing_bomb				
cash_team_win_by_hostage_rescue				
cash_team_win_by_time_running_out_bomb		
cash_team_win_by_time_running_out_hostage	
mp_afterroundmoney				// Amount of money awared to every player after each round
mp_buytime					// How many seconds after round start players can buy items for.
mp_buy_anywhere								
mp_buy_during_immunity						
mp_startmoney					// Amount of money each player starts with on match start, half start or reset
mp_maxmoney					// maximum amount of money allowed in a player's account

// item convars
mp_death_drop_defuser				// Whether a defuser drops from a player holding on when they die
mp_death_drop_grenade				// Which grenade to drop on player death: 0=none, 1=best, 2=current or best
mp_death_drop_gun				// Which gun to drop on player death: 0=none, 1=best, 2=current or best
mp_deathcam_skippable				// Determines whether a player can early-out of the deathcam
mp_defuser_allocation				// How to allocate defusers to CTs at start or round: 0=none, 1=random, 2=everyone
mp_give_player_c4				// Whether this map should spawn a c4 bomb for a player or not
mp_free_armor					// Determines whether armor and helmet are given automatically.
mp_molotovusedelay				// Number of seconds to delay before the molotov can be used after acquiring it
mp_weapons_allow_zeus				// Determines whether the Zeus is purchasable or not
mp_weapons_allow_map_placed			// If this convar is set, when a match starts, the game will not delete weapons placed in the map.
mp_weapons_glow_on_ground			// If this convar is set, weapons on the ground will have a glow around them and can be seen through walls.
mp_ct_default_melee				// 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_secondary				// The default secondary (pistol) weapon that the CTs will spawn with
mp_ct_default_primary				// The default primary (rifle) weapon that the CTs will spawn with
mp_ct_default_grenades				// 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				// 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_secondary				// The default secondary (pistol) weapon that the Ts will spawn with
mp_t_default_primary				// The default primary (rifle) weapon that the Ts will spawn with
mp_t_default_grenades				// 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_buy_allow_grenades				// Whether or not grenades can be purchased from the buy menu

// round and match setting convars
mp_freezetime					// how many seconds to keep players frozen when the round starts
mp_force_pick_time				// The amount of time a player has on the team screen to make a selection before being auto-teamed
mp_halftime					// Set to 1 to stay in halftime indefinitely. Set to 0 to resume the timer.
mp_match_can_clinch				// 0=No mercy rule, 1=team can clinch match win early if they win > 1/2 total rounds
mp_maxrounds					// max number of rounds to play before server changes maps
mp_roundtime					// How many minutes each round takes.
mp_roundtime_defuse				// How many minutes each round of Bomb Defuse takes.
mp_roundtime_hostage				// How many minutes each round of Hostage Rescue takes.
mp_timelimit					// Allow the match to end when mp_timelimit hits instead of waiting for the end of the current round.
mp_warmuptime					// How long the warmup period lasts. Changing this value resets warmup.
mp_warmup_pausetimer				// Set to 1 to stay in warmup indefinitely. Set to 0 to resume the timer.
mp_halftime_pausetimer				// Set to 1 to stay in halftime indefinitely. Set to 0 to resume the timer.
mp_default_team_winner_no_objective		// 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_hostagepenalty				// Terrorist are kicked for killing too much hostages

// damage, team and communication convars
mp_solid_teammates				// Determines whether teammates are solid or not.
sv_allow_votes					// Voting allowed in this mode
sv_alltalk					// When set, players can hear all enemy communication (voice, chat)
sv_deadtalk					// When set, dead players can speak (voice, text) to the living
sv_ignoregrenaderadio				// Turn off Fire in the hole messages
mp_teammates_are_enemies			// When set, your teammates act as enemies and all players are valid targets.
mp_damage_scale_ct_body				// 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				// 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				// 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				// Scales the damage a T player takes by this much when they take damage in the head. (1 == 100%, 0.5 == 50%)
mp_friendlyfire					// Allows team members to injure other members of their team
ff_damage_reduction_bullets			// 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			// 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		// 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			// 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)
mp_limitteams					// Max # of players 1 team can have over another (0 disables check)

// spectator, death, spawning and camera convars
spec_freeze_panel_extended_time			// Time spent with the freeze panel still up after observer freeze cam is done.
spec_freeze_time				// Time spend frozen in observer freeze cam.
mp_forcecamera					// 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_respawn_immunitytime				// How many seconds after respawn immunity lasts.
mp_respawn_on_death_t				// When set to 1, terrorists will respawn after dying.
mp_respawn_on_death_ct				// When set to 1, counter-terrorists will respawn after dying.
mp_display_kill_assists				// Whether to display and score player assists
mp_use_respawn_waves				// When set to 1, and that player's team is set to respawn, they will respawn in waves.
mp_respawnwavetime_ct				// Time between respawn waves for CTs.
mp_respawnwavetime_t				// Time between respawn waves for Terrorists.
mp_randomspawn					// Determines whether players are to spawn.		0 = default; 1 = both teams; 2 = Terrorists; 3 = CTs.
mp_randomspawn_los							
mp_radar_showall				// Determines who should see all in the radar.	0 = default. 1 = both teams. 2 = Terrorists. 3 = CTs.

// world and movement convars
sv_gravity					// World gravity. (default is 800)
sv_accelerate								
sv_stopspeed					//"Minimum stopping speed when on ground.
sv_airaccelerate							
sv_wateraccelerate							   
sv_waterfriction							   
sv_friction					//"World friction."
sv_bounce					//"Bounce multiplier for when physically simulated objects collide with other objects.
sv_maxvelocity					//Maximum speed any ballistically moving object is allowed to attain per axis.
sv_maxspeed									

// gungame/armsrace
mp_ggprogressive_round_restart_delay		
mp_ggtr_bomb_defuse_bonus					
mp_ggtr_bomb_detonation_bonus				
mp_ggtr_bomb_pts_for_flash					
mp_ggtr_bomb_pts_for_he						
mp_ggtr_bomb_pts_for_molotov				
mp_ggtr_bomb_pts_for_upgrade				
mp_ggtr_bomb_respawn_delay					
mp_ggtr_end_round_kill_bonus				
mp_ggtr_halftime_delay						
mp_ggtr_last_weapon_kill_ends_half			
sv_arms_race_vote_to_restart_disallowed_afte