作者H45 (!H45)
看板StarCraft
標題[SC2] AI 腳本開發最簡入門
時間Mon Mar 8 14:25:29 2010
0. 安裝 Starcraft 2 Beta
1. 下載 WINMPQ
http://shadowflare.samods.org/downloads/WinMPQ.html
WinMPQ_VB6.zip (325 KB) Last updated 12:28 AM January 6, 2010 - by
ShadowFlare - Total downloads: 2125
Visual Basic 6 runtime library (682 KB) - Microsoft
Runtime Files Pack 3 (731 KB)
2. 執行 WinMPQ
Open StarCraft II 封測\Mods\Liberty.SC2Mod\Base.SC2Data
Ctrl+a 全選之後點 Extract 到任一空的資料夾,假定此資料夾為 SC2AI
3. 編輯 SC2AI\TriggerLibs\Zerg0.galaxy
修改以下這段:
void ZergOpenGnd0 (int player) {
AIClearStock(player);
AISetStock( player, 1, c_ZB_Hatchery_Alias );
AISetStock( player, 2, c_ZU_Drone );
AISetStock( player, 1, c_ZU_Overlord );
AISetStock( player, 8, c_ZU_Drone );
AISetStock( player, 1, c_ZB_Extractor );
AISetStock( player, 1, c_ZU_Queen );
AISetStock( player, 2, c_ZU_Overlord_Alias );
// around 100 resources in about 2 units
AISetStock( player, 1, c_ZU_Hydralisk );
ZergTechUp(player, 1);
if (AIEnableVeryEasyStockOpen(player, c_ZU_Drone)) {
return;
}
// around 300 resources in about 3 unit
RandomInfantry(player);
}
改成下面這樣:
void ZergOpenGnd0 (int player) {
int nRoach = AITechCount(player, c_ZU_Roach,
c_techCountInProgressOrBetter);
AIClearStock(player);
AIDefaultEconomy(player, c_ZB_Hatchery_Alias, c_ZB_Extractor,
c_ZU_Overlord, c_ZU_Drone, 16, c_stockIdle);
AIDefaultExpansion(player, c_ZB_Hatchery_Alias, 300, 0, c_expandDefault);
AISetStock( player, 1, c_ZB_Hatchery_Alias );
AISetStock( player, 1, c_ZB_Extractor );
AISetStock( player, 1, c_ZB_SpawningPool );
AISetStock( player, 1, c_ZB_RoachWarren );
AISetStock( player, 13, c_ZU_Drone );
AISetStock( player, 2, c_ZU_Overlord_Alias );
AISetStock( player, 1, c_ZU_Queen );
AISetStock( player, 150, c_ZU_Roach );
AIEnableStock(player);
if (nRoach >= 20) {
AIWaveMerge(player, c_waveMain, c_waveAttack);
AISetAttackState(player, e_attackState_Attack);
}
}
4. 編輯 SC2AI\TriggerLibs\MeleeAI.galaxy
這是方便在開局時馬上告知玩家電腦的種族而編輯的
修改這段:
AISpecifiedMakers();
AISetDefaultCombatFlags(player, true);
AIAddDetectionDangerUnits(player);
變成這樣:
AISpecifiedMakers();
AISetDefaultCombatFlags(player, true);
AIAddDetectionDangerUnits(player);
DebugAI(PlayerRace(player));
5. 執行 WINMPQ
點擊 New 按鈕,存檔為 myBase.SC2Data
點擊 Add Folder 按鈕,選擇 SC2AI 資料夾
6. 配置 Base.SC2Data
備份 StarCraft II 封測\Mods\Liberty.SC2Mod\Base.SC2Data
複製 myBase.SC2Data 到 StarCraft II 封測\Mods\Liberty.SC2Mod\Base.SC2Data
7. 下載 lazylaunch
http://file.sgamer.com/Download/SC2/tools/lazylaunch.zip
8. 下載 AI 地圖
http://file.sgamer.com/Download/SC2/tools/Beta_LostTemple_sc2p.com.zip
9. 執行 lazylaunch
開啟任一張 AI 地圖
10. 完成
如果你剛好對到 Zerg 電腦,那麼電腦會出大量蟑螂,並且在累積 20 隻蟑螂後發動攻擊
可惜還是很笨。
這篇的目的不是釋出一份更聰明的 AI,而是分享開發 AI 的入門方法,更進一步的改良
最好還是找 Starcrack AI 之類的腳本解開來看。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.13
推 icps:發問一下 !配置那裡 修改完要怎麼存? 03/08 15:07
→ H45:第5步做完會存成 myBase.SC2Data 03/08 15:49
對第5點補充了一些步驟,之前寫得太簡略了些。
※ 編輯: H45 來自: 140.116.247.13 (03/08 16:04)
推 hmsboy:請問能改出無限礦嗎 03/08 16:07
推 cceHunteR:樓上 ...那要等地圖編輯器出來才可以吧@@ 03/08 16:08
推 icps:ok ^^ 3Q 03/08 16:26
推 fasthall:3樓 對岸有改好的 03/08 17:05
推 hmsboy:請指點一下 我想抓一張玩玩 03/09 17:32
→ hmsboy:無限礦VS變態AI 03/09 17:32