心靈終結(jié)3.3.6地圖編輯器萌新教程第25篇:如何讓AI造兵(二)——建立作戰(zhàn)小隊(duì)
上一篇我們介紹了如何利用AI觸發(fā)來(lái)讓AI從生產(chǎn)建筑中造兵。然而,在開(kāi)啟AI觸發(fā)之后,AI造兵的頻率只和ini中規(guī)定的攻擊時(shí)間間隔有關(guān),造兵的種類(lèi)也是隨機(jī)的。如果我們想要確切地控制“想讓AI在什么時(shí)候造什么兵”,就需要使用觸發(fā)結(jié)果4:建立作戰(zhàn)小隊(duì)。
一、建立作戰(zhàn)小隊(duì)
我們?cè)诮坛痰?8篇中介紹過(guò)“建立作戰(zhàn)小隊(duì)”這個(gè)觸發(fā),它可以用地圖上已有的可以被AI重組的單位建立作戰(zhàn)小隊(duì)。在觸發(fā)編輯器中,對(duì)該觸發(fā)結(jié)果的描述中說(shuō)“如果所屬方?jīng)]有足夠的特定單位來(lái)建立該小隊(duì),則會(huì)在數(shù)量足夠時(shí)自動(dòng)建立”。但實(shí)際上不僅如此,如果該所屬方有條件生產(chǎn)特定單位,則會(huì)開(kāi)始生產(chǎn),直到有足夠數(shù)量的單位。因此,我們可以用“建立作戰(zhàn)小隊(duì)”來(lái)讓AI造兵。上面所講的“條件”包括:
1、有錢(qián),有相應(yīng)的生產(chǎn)建筑;
2、所屬方的科技等級(jí)大于等于生產(chǎn)該兵種所需要的科技等級(jí);
3、不受Owner、RequiredHouses和ForbiddenHouses兩條的限制(詳見(jiàn)教程第15、16篇)。
例:在以下示例中,玩家為美國(guó),AI為蘇俄,AI生產(chǎn)建筑齊全,有足夠的錢(qián),科技等級(jí)為10,初始地圖上沒(méi)有任何蘇俄的步兵和載具。
我們建立以下四個(gè)作戰(zhàn)小隊(duì):所屬方均為蘇俄。
作戰(zhàn)小隊(duì)1:5動(dòng)員兵+5防空步兵,巡邏至路徑點(diǎn)0-攻擊。
作戰(zhàn)小隊(duì)2:3犀牛+2猛虎,巡邏至路徑點(diǎn)1-攻擊。
作戰(zhàn)小隊(duì)3:1基洛夫,巡邏至路徑點(diǎn)2-攻擊建筑。
作戰(zhàn)小隊(duì)4:2狐步,攻擊載具。
然后,我們建立四個(gè)觸發(fā),類(lèi)型均選為2(重復(fù)),條件均為流逝一定時(shí)間,結(jié)果均為“4:建立作戰(zhàn)小隊(duì)”,參數(shù)分別填作戰(zhàn)小隊(duì)1到4。
進(jìn)入游戲之后,我們就可以發(fā)現(xiàn)AI每隔一段時(shí)間就會(huì)開(kāi)始造兵攻擊玩家。例如,如果我們將作戰(zhàn)小隊(duì)2對(duì)應(yīng)的觸發(fā)條件設(shè)置為流逝時(shí)間120秒,那么AI就會(huì)每隔120秒造3個(gè)犀牛+2個(gè)猛虎來(lái)攻擊玩家。
二、注意事項(xiàng)
1、本篇內(nèi)容與上一篇講的AI觸發(fā)無(wú)關(guān),即使用“建立作戰(zhàn)小隊(duì)”讓AI造兵不需要在“AI觸發(fā)”中編輯任何內(nèi)容,也不需要開(kāi)啟“AI觸發(fā)開(kāi)始”“開(kāi)始生產(chǎn)”“開(kāi)始創(chuàng)建作戰(zhàn)小隊(duì)”等觸發(fā)。
2、使用“建立作戰(zhàn)小隊(duì)”讓AI造兵,不需要玩家和AI之間有“仇恨”,這一點(diǎn)與AI觸發(fā)不同。
3、執(zhí)行“建立作戰(zhàn)小隊(duì)”這一觸發(fā)之后,AI才會(huì)開(kāi)始造兵,這距離AI真正派兵來(lái)攻打玩家還需要一定時(shí)間。
4、與AI觸發(fā)類(lèi)似,使用“建立作戰(zhàn)小隊(duì)”讓AI造兵時(shí),AI不受科技樹(shù)(即Prerequisite參數(shù)值)的限制,但必須滿(mǎn)足:AI所屬方科技等級(jí)大于生產(chǎn)相應(yīng)單位所需的TechLevel,以及不受Owner、RequiredHouses和ForbiddenHouses的影響。(詳見(jiàn)教程第15、16篇)。
5、與AI觸發(fā)類(lèi)似,放在地圖上的兵默認(rèn)不能進(jìn)行AI重組。因此如果一定要在有基地駐守部隊(duì)的同時(shí)讓AI造兵,要么保證駐守基地的兵種不被包含在A(yíng)I需要生產(chǎn)的兵種當(dāng)中,要么給基地駐守部隊(duì)重新設(shè)置一個(gè)所屬方。
6、如果要修改某一所屬方的建造速度(可以是玩家或者AI),可以在ini的相應(yīng)所屬方的小節(jié)(如[Chinese],注意不是[Chinese House])添加或修改以下代碼:
[Chinese]
BuildTimeBuildingsMult:除BuildCat=Combat之外所有建筑的建造時(shí)間乘以此倍率,這一類(lèi)建筑通常是建造欄第一頁(yè)的生產(chǎn)與科技建筑。
BuildTimeDefensesMult:所有BuildCat=Combat的建筑的建造時(shí)間乘以此倍率,這一類(lèi)建筑通常是建造欄第二頁(yè)的防御建筑。
BuildTimeInfantryMult:所有步兵生產(chǎn)時(shí)間乘以此倍率。
BuildTimeVehiclesMult:所有載具(包括船、直升機(jī))的生產(chǎn)時(shí)間乘以此倍率。
BuildTimeAircraftMult:所有由機(jī)場(chǎng)生產(chǎn)的飛機(jī)生產(chǎn)時(shí)間乘以此倍率。
除此之外,對(duì)于某一類(lèi)特定的建筑或兵種,如犀牛坦克[HTNK],還有以下一條代碼:
[HTNK]
BuildTimeMultiplier:所有所屬方生產(chǎn)此兵種的時(shí)間乘以此倍率。
這些參數(shù)的默認(rèn)值都是1.0,如果要加快生產(chǎn)速度,要將其設(shè)置為大于0小于1的一個(gè)值,越小建造越快(但建造時(shí)間應(yīng)該有一個(gè)下限),例如改為0.5則表示建造速度為原來(lái)的2倍。

我們舉一個(gè)實(shí)際的例子來(lái)說(shuō)明本篇內(nèi)容的應(yīng)用:
在《守護(hù)》第12關(guān):天啟降臨當(dāng)中,某一新建所屬方BaseAlliedE,在終結(jié)難度下,每隔14分鐘(840秒)會(huì)生產(chǎn)3輛新型長(zhǎng)劍毀滅機(jī)甲(SHINBOT)來(lái)攻擊玩家。
首先我們要讓該AI所屬方能造新型長(zhǎng)劍毀滅機(jī)甲。該單位是戰(zhàn)役專(zhuān)屬單位,在rulesmo.ini中沒(méi)有Owner、Prerequisite、RequiredHouses、ForbiddenHouses等參數(shù)。
關(guān)于Owner參數(shù),我們?cè)诮坛痰?6篇中說(shuō)過(guò),它的作用不明,可以隨便寫(xiě)一個(gè)陣營(yíng)的名稱(chēng),但如果沒(méi)有它就不能正常建造該單位,所以在此我們?cè)趦?nèi)置ini中新增Owner這一條:
Owner=Europeans,UnitedStates,Pacific
另外,我們將Prerequisite設(shè)為盟軍重工GAWEAP,同時(shí)為了防止玩家所屬方占領(lǐng)盟軍重工后生產(chǎn)該單位,再加上RequiredHouses=BaseAlliedE(即為新建所屬方名稱(chēng),本關(guān)中只有該所屬方可以生產(chǎn)該單位)。
另外,rulesmo.ini中新型長(zhǎng)劍毀滅機(jī)甲的TechLevel是11,在內(nèi)置ini中我們改成10(AI所屬方的科技等級(jí)也是10);除此之外,rulesmo.ini中關(guān)于新型長(zhǎng)劍毀滅機(jī)甲還有一條意義不明的BuildTimeMultiplier=121,即生產(chǎn)該單位的時(shí)間延長(zhǎng)至121倍,在內(nèi)置ini中我們改成1.0。總之,對(duì)于新型長(zhǎng)劍毀滅機(jī)甲,我們?cè)趦?nèi)置ini中寫(xiě)了以下內(nèi)容:
[SHINBOT]
Owner=Europeans,UnitedStates,Pacific
TechLevel=10
Prerequisite=GAWEAP
RequiredHouses=BaseAlliedE
BuildTimeMultiplier=1.0
然后,我們只需要?jiǎng)?chuàng)建一個(gè)作戰(zhàn)小隊(duì):特遣部隊(duì)為3個(gè)新型長(zhǎng)劍毀滅機(jī)甲,動(dòng)作腳本為攻擊,所屬方為BaseAlliedE,然后新建一個(gè)觸發(fā),類(lèi)型為重復(fù),條件為流逝時(shí)間840秒,結(jié)果為“4:建立作戰(zhàn)小隊(duì)”即可。