CS:GO頭號特訓(xùn) - 添加bot

1.前言
都2023年了V社還一直惦記著余燼島的大炮……本文將分享一下頭號特訓(xùn)添加bot的方法,畢竟如今游戲的最高配置是朋友
首先說明一下csgo官方并沒有給頭號特訓(xùn)模式下的bot設(shè)計(jì)ai程序,因此在頭號特訓(xùn)里的bot既不會購買武器,也不會開箱,更不會跑毒,非常無趣,對此抱有期待的玩家不用往下看了,因?yàn)槲乙步鉀Q不了
本文內(nèi)容與我以前一期專欄的內(nèi)容高度重合,因此有些指令的用法就不再重復(fù)介紹,有興趣的玩家可以看一下頭號特訓(xùn)跑圖指令專欄

2.創(chuàng)建頭號特訓(xùn)地圖
目前頭號特訓(xùn)4張地圖對應(yīng)的控制臺指令如下:
game_type 6;game_mode 0;map dz_ember //余燼島
game_type 6;game_mode 0;map dz_vineyard //葡萄莊園
game_type 6;game_mode 0;map dz_blacksite //神秘小鎮(zhèn)
game_type 6;game_mode 0;map dz_sirocco //西洛可
3.調(diào)整熱身時長
因?yàn)?span id="s0sssss00s" class="color-pink-03 font-size-20">本文接下來的所有指令都是需要在熱身環(huán)節(jié)輸入控制臺的,默認(rèn)的熱身時間是130秒,有些玩家可能來不及輸入指令
將熱身時間改為600秒(即10分鐘),控制臺指令:mp_warmuptime 600
重新開始熱身環(huán)節(jié),控制臺指令:mp_warmup_start
輸入完指令后可以立即結(jié)束熱身,控制臺指令:mp_warmup_end
4.添加bot
添加一個bot,控制臺指令:bot_add
需要幾個bot就在控制臺輸入幾次添加bot指令
也可以將添加bot指令添加到鍵盤某個按鍵,例如綁定鍵盤的“=”鍵,控制臺指令:bind "=" "bot_add"
注:
① bot數(shù)量主要受電腦cpu單核性能限制,過多的bot會導(dǎo)致游戲出現(xiàn)明顯卡頓
② 不清楚bot數(shù)量是否有上限
5.設(shè)置bot難度
設(shè)置bot的難度等級,控制臺指令:bot_difficulty 3
0=easy(簡單), 1=normal(中等), 2=hard(困難), 3=expert(專家)
注:
很難通過觀察來分辨bot的難度等級,因此不清楚這個指令在頭號特訓(xùn)里是否生效
6.給bot配武器
因?yàn)轭^號特訓(xùn)里是用特訓(xùn)助手平板購買物品,沒找到能讓bot操作特訓(xùn)助手的指令,只好在開局前給bot分配好武器,有【指定武器】和【隨機(jī)武器】兩種分配方式
方式一:隨機(jī)武器
依次在控制臺輸入以下指令:
mp_startmoney 5000 //開局初始金錢為5000,最高可設(shè)16000
mp_buytime 3600 //開局后可購買時間為3600秒,即1小時
mp_buy_anywhere 1 //可在任意位置進(jìn)行購買
cl_dm_buyrandomweapons 1 //開局時自動購買一把武器
注:
可一次性將所有指令輸入控制臺,每條指令之間須用英文分號?;?分隔開
方式二:指定武器
設(shè)置主武器,控制臺指令:mp_t_default_primary "weapon_ak47"
設(shè)置副武器,控制臺指令:mp_t_default_secondary "weapon_glock"
設(shè)置近戰(zhàn)武器,控制臺指令:mp_t_default_melee "weapon_knife"
設(shè)置投擲物,控制臺指令:mp_t_default_grenades?"weapon_molotov"
注:
① 主、副武器只能各選一種;近戰(zhàn)武器和投擲物可以選多種,用空格分隔,例如刀+電擊槍:mp_t_default_melee "weapon_knife weapon_taser"
②?武器名稱介紹
主、副武器格式:weapon_武器名稱
手槍:glock【格洛克 18 型】? ? hkp2000【P2000】? ? usp_silencer【USP 消音版】? ? elite【雙持貝瑞塔】? ? p250【P250】? ? fiveseven【FN57】? ? tec9【TEC-9】? ? cz75a【CZ75 自動手槍】? ? deagle【沙漠之鷹】? ? revolver【R8 左輪手槍】
步槍:galilar【加利爾 AR】? ? famas【法瑪斯】? ? ak47【AK-47】? ? m4a1【M4A4】? ? m4a1_silencer【M4A1 消音型】? ? sg556【SG 553】? ? aug【AUG】
狙擊步槍:ssg08【SSG 08】? ? awp【AWP】? ? g3sg1【G3SG1】? ? scar20【SCAR-20】
微型沖鋒槍:mp9【MP9】? ? mac10【MAC-10】? ? mp7【MP7】? ? mp5sd【MP5-SD】? ? ump45【UMP-45】? ? p90【P90】? ? bizon【PP-野?!?/p>
重型武器:nova【新星】? ? xm1014【XM1014】? ? mag7【MGA-7】? ? sawedoff【截短霰彈槍】? ? m249【M249】? ? negev【內(nèi)格夫】
近戰(zhàn)武器:weapon_knife【匕首】 weapon_axe【斧子】 weapon_hammer【錘子】 weapon_spanner【扳手】 weapon_taser【電擊槍】
投擲物:weapon_molotov【燃燒瓶】?give weapon_decoy【干擾彈】?weapon_flashbang【閃光震撼彈】?weapon_smokegrenade【煙霧彈】??
weapon_frag_grenade【高爆手雷】
7.給bot的槍械配子彈
由于頭號特訓(xùn)模式中各種槍械的備彈數(shù)都比拆彈模式的少,在部署降落點(diǎn)環(huán)節(jié)bot會在直升機(jī)里瘋狂開槍消耗子彈,導(dǎo)致bot遇到玩家時沒有子彈只能近戰(zhàn),所以建議在熱身環(huán)節(jié)給槍械的備彈量設(shè)置為無限,控制臺指令:sv_infinite_ammo 2
也可以設(shè)置為彈夾里無限子彈(不用換彈夾),控制臺指令:sv_infinite_ammo 1
從直升機(jī)跳傘落地后再取消槍械的無限彈藥,控制臺指令:sv_infinite_ammo 0
8.和bot組隊(duì)
首先打開組隊(duì)功能,控制臺指令:sv_dz_jointeam_allowed 1
再設(shè)置每隊(duì)最多 2 人(也可自定義人數(shù)),控制臺指令:sv_dz_team_count 2
由系統(tǒng)隨機(jī)分配隊(duì)伍,控制臺指令:dz_shuffle_teams
如果想更換其他bot當(dāng)隊(duì)友,可以自由選擇隊(duì)伍,控制臺指令:dz_jointeam 1?代表選擇 1 號隊(duì)伍,游戲左下角聊天框提示:“您已加入 藍(lán)色 的隊(duì)伍”;同理,dz_jointeam 2?則代表選擇 2 號隊(duì)伍

9.關(guān)于給bot加ai的一些思路
在寫本文前簡單搜索了一下網(wǎng)上關(guān)于bot的教程,似乎沒有大佬專門給頭號特訓(xùn)編寫ai程序,但有些玩家可以給bot設(shè)定行進(jìn)路線(但似乎也不太實(shí)用),而我的水平更加有限,只是會用幾個控制臺指令而已,通過摸索發(fā)現(xiàn)csgo游戲目錄的幾個文件是可以提供一些思路的
① 路徑Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg,cfg這個文件夾包含了各種游戲模式的指令文件,例如“gamemode_survival.cfg”這個就是頭號特訓(xùn)模式相關(guān)的指令文件,“gamemode_deathmatch.cfg”這個是死亡競賽模式相關(guān)的指令文件,同時可以從“gamemode_deathmatch.cfg”了解到調(diào)用ai程序的指令是:mp_bot_ai_bt "scripts/ai/deathmatch/bt_default.kv3"
② 順藤摸瓜,可以找到其他模式下bot的ai程序都存放在Steam\steamapps\common\Counter-Strike Global Offensive\csgo\scripts\ai路徑下的ai文件夾中,例如deathmatch文件夾里就是死競模式下bot的ai程序,或許可以比葫蘆畫瓢編寫出適合頭號特訓(xùn)模式的ai程序
③ 在Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg\survival路徑下也有一個“survival_config.kv3”文件,其內(nèi)容與頭號特訓(xùn)的物品相關(guān),也可以作為參考資料
10.一個意外發(fā)現(xiàn)
但在頭號特訓(xùn)里,似乎所有玩家被放置在直升機(jī)機(jī)艙尾部,在熱身環(huán)節(jié)添加一些bot并給它們提前分配武器,到了部署降落點(diǎn)的環(huán)節(jié),按下鍵盤Esc鍵就可以看到背景中的直升機(jī),bot會在直升機(jī)里瘋狂開槍,有子彈穿透機(jī)艙的效果,我以為乘坐直升機(jī)只是背景動畫沒想到V社來真的
