最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

心靈終結(jié)3.3.6地圖編輯器萌新教程第13篇:ini簡介,戰(zhàn)役地圖內(nèi)置ini

2022-06-11 13:51 作者:不會游泳的企鵝24  | 我要投稿

這一篇以及接下來的幾篇,我會為大家介紹紅警ini的基本原理和戰(zhàn)役地圖內(nèi)置ini的修改方法。在此之前首先聲明:在看完這幾篇之后,你并不能學會如何像一些大佬一樣作出一些能燒壞CPU的魔改的單位。我們在這里只講ini的基本原理和簡單的修改,以及在戰(zhàn)役制作中的應(yīng)用。

  • 什么是ini?

ini實際上是一種文件格式,就像doc,ppt,pdf一樣,可以作為文件名的后綴。我們常說的“ini”實際上是指“以ini為后綴的配置文件”。紅警中的ini文件規(guī)定了游戲中的數(shù)值、音效、動畫等最基本的東西,可以直接雙擊用記事本打開。以心靈終結(jié)為例:Thememo.ini與游戲中的背景音樂有關(guān),BattleClient.ini與戰(zhàn)役入口有關(guān),aimo.ini與游戲中的AI行為有關(guān),而最重要的是rulesmo.ini,與游戲的基本設(shè)置、游戲中各種建筑、單位和支援技能的數(shù)值和屬性有關(guān)。

在以下的幾篇專欄中,rulesmo.ini將是我們討論的重點。

  • ini文件在哪里?

心靈終結(jié)的ini所在的位置比較分散。在根目錄(即Mental Omega文件夾)中,你會看到一個名為INI的文件夾,然而里面只有一些不重要的東西,接下來幾篇不會涉及;根目錄的Resource文件夾中還有一堆ini文件,包括我們在上一篇中講到的thememo.ini。然而rulesmo.ini是在被加密的mix文件中的,只能通過其他途徑獲得,比如百度貼吧上下載,如果實在找不到也可以加我的qq(點開最新的視頻,簡介中有qq號)。

  • ini文件的結(jié)構(gòu)

各個ini文件的格式都是類似的,我們下面以rulesmo.ini為例。

打開rulesmo.ini,你會發(fā)現(xiàn)一份ini文件都是有下面的一個部分作為基本單元構(gòu)成的:

[A]

B1=C1

B2=C2

……

每一個這樣的部分被稱為一個“小節(jié)”,其中中括號里的A被稱為“小節(jié)名稱”,下面的每一行被稱為一個“”或“屬性”,其中等號左邊的被稱為“參數(shù)”或“鍵名”,等號右邊的被稱為“參數(shù)值”或“鍵值”。注意這里的“參數(shù)值”或“鍵值”雖然有“值”這個字,但不一定都是數(shù)字

另外,ini文件中的分號是注釋符號,和編程語言一樣,注釋符號后這一行的內(nèi)容只是為了方便閱讀和理解,沒有實際作用。

rulesmo.ini前面的小節(jié)都是對游戲基本設(shè)置的規(guī)定,在此不用去糾結(jié)都說了些什么,后面要用到的時候再講。下面從[InfantryTypes]小節(jié)開始就是“單位注冊”的內(nèi)容。(直接用“編輯”中的“查找”功能可以快速找到此小節(jié))

在紅警中,每一個建筑、單位都需要“注冊”,沒有注冊的單位即使后面對應(yīng)的小節(jié)寫得再多都是沒有用的。在rulesmo.ini中被注冊的有步兵、載具、建筑、飛行器、武器、彈頭、動畫、地形對象、超級武器以及其他一些亂七八糟的東西。這一部分的小節(jié)名稱說明的是被注冊的對象是什么類型,比如上面列舉的這些;每一個鍵都代表一個被注冊的單位,其中鍵名為一個數(shù)字,是被注冊單位的“序號”;鍵值是一串字母,是被注冊單位的“注冊代碼”。我們在第6篇中講“特遣部隊”時用到過“注冊代碼”,其源頭就是這里。比如[InfantryTypes]里面的第一條:0=E1,就是在注冊美國大兵。

注冊部分結(jié)束之后,ini里還有一些和所屬方和國家有關(guān)的東西,第一個小節(jié)為[Sides],后面不會涉及,繼續(xù)往下拉,便來到了rulesmo.ini中最重要的部分:規(guī)定每個單位和建筑的具體數(shù)值和屬性(開頭小節(jié)為[E1])。這一部分的小節(jié)名稱必須與“注冊”部分的“注冊代碼”相同,比如第一個小節(jié)[E1]就是在規(guī)定美國大兵的屬性。例如下面的“Strength=135”指的是美國大兵的血量,“Speed=6”指的是移動速度,“Cost=120”指的是價格。

這一部分結(jié)束之后,是武器和彈頭的數(shù)值和屬性,我們后面如果遇到了再講。

之后就是和地形對象有關(guān)的一些亂七八糟的東西了,之后不會涉及。

  • 地圖內(nèi)置ini,ini的優(yōu)先級

前面說過,心靈終結(jié)的rulesmo.ini文件是在mix文件包中的。如果你得到了一份修改過的rulesmo.ini,把它直接放在根目錄中,那么當你再打開游戲時,原來mix文件中的rulesmo.ini就會失效。如果你再將根目錄中的rulesmo.ini刪除或移除文件夾,則mix文件中的ini又會發(fā)揮作用(類似于教程第1篇中的戰(zhàn)役地圖文件的讀取)。

那么什么又是“地圖內(nèi)置ini”呢?我們可以找到自制的地圖(后綴名為map),右鍵并選擇“以記事本方式打開”,這時我們可以看到一個符合前面所述的ini格式的文件。這就是“地圖內(nèi)置ini”。例如下面展示用記事本打開我正在制作的自制戰(zhàn)役第10關(guān)的地圖(劇透+證明自己沒有咕咕咕)。

(注:以下有關(guān)內(nèi)置ini中表示特遣部隊、動作腳本、作戰(zhàn)小隊的小節(jié)不需掌握,了解即可,不會對戰(zhàn)役制作產(chǎn)生影響。理論上,你可以只通過編輯記事本來制作一張戰(zhàn)役地圖,不過應(yīng)該不會有人這么干。后面只會涉及一點用記事本對地圖內(nèi)置ini進行一些簡單的編輯,大多數(shù)ini編輯還是用地編進行的,詳見后面“地圖內(nèi)置ini的編輯方法”。)

用記事本打開自制戰(zhàn)役第10關(guān)地圖

第一張圖中第一個小節(jié)為[01000006],在編輯地圖時,每一個觸發(fā)、特遣部隊、動作腳本和作戰(zhàn)小隊都會有一個編號,就是這里的小節(jié)名。這里的01000006是一個特遣部隊,“0=1,Volkov”表示“特遣部隊包含1個沃爾科夫”;Name表示這個特遣部隊的名稱,Group=-1表示特遣部隊的分組(不用管)。第二幅圖里的這三個分別是特遣部隊、動作腳本和作戰(zhàn)小隊??梢钥闯龅谝粋€特遣部隊是4個美國大兵(E1)和4個守衛(wèi)大兵(GGI);動作腳本0=1,2表示“第一個動作,動作類型為1:攻擊路徑點,參數(shù)值為2”;第三個小節(jié)為一個作戰(zhàn)小隊,它用到的特遣部隊就是第一個小節(jié)(TaskForce=01000010),動作腳本就是第二個小節(jié)(Script=01000011),其他的一堆東西對應(yīng)作戰(zhàn)小隊里面的那一堆選項。

當然,編輯作戰(zhàn)小隊是在地圖編輯器中完成的,不需要用記事本寫這些東西。

第三張圖中的小節(jié)是沃爾科夫,三行內(nèi)容分別表示:血量為1000,自動回血速率為0.02,每次自動回血量為4.

大家可能馬上想到了一些問題。第一:在地圖內(nèi)置ini中我們并沒有對沃爾科夫進行“注冊”;第二:在rulesmo.ini中,原本是有“沃爾科夫”這個小節(jié)的。而地圖內(nèi)置ini中又出現(xiàn)了這一小節(jié),是否會產(chǎn)生問題?

首先我們說明這樣一個問題:如果在本關(guān)的地圖內(nèi)置中沒有[Volkov]小節(jié),會怎樣呢?答案是:本關(guān)中的沃爾科夫和一般遭遇戰(zhàn)中的沃爾科夫沒有任何區(qū)別。因此,在地圖內(nèi)置ini中添加rulesmo.ini本身就有的小節(jié)是為了讓一些東西在本關(guān)中有與一般遭遇戰(zhàn)中不同的屬性。

那么又產(chǎn)生了這樣一個問題:為什么不直接修改rulesmo.ini,卻要在地圖內(nèi)置ini中新添加這一小節(jié)?這是因為:在地圖內(nèi)置ini中進行修改,只會影響這一張地圖。在自己制作戰(zhàn)役時,盡量不要對原來的東西產(chǎn)生影響。如果在rulesmo.ini中修改,則原本遭遇戰(zhàn)中的沃爾科夫也會受到影響;另外如果修改rulesmo.ini代替修改地圖內(nèi)置ini,若想在另一張地圖中對沃爾科夫作出其他的修改就無計可施了。

下面再回答前面提出的問題。地圖內(nèi)置ini和根目錄或mix文件中的ini有優(yōu)先級順序:地圖內(nèi)置ini > 根目錄或mix文件中的ini(此后稱為“外置ini”),且最小單位是“一個鍵(屬性)”而不是“一個小節(jié)”。意思就是:如果地圖內(nèi)置ini中關(guān)于某個小節(jié)的某個參數(shù)的參數(shù)值,那么就以此為準,不論外置ini關(guān)于此小節(jié)是否有此參數(shù)以及參數(shù)值是多少;如果地圖內(nèi)置ini中沒有某個小節(jié),或者關(guān)于某小節(jié)沒有某參數(shù),那就以外置ini為準

例如具體到沃爾科夫的例子:在地圖內(nèi)置ini中沒有[InfantryTypes]小節(jié),也就是沒有注冊,然而外置ini中有此小節(jié),且里面有對沃爾科夫的注冊。因此以外置ini為準,注冊不成問題;在內(nèi)置ini的[Volkov]小節(jié)中,有Strength=1000,說明在這張地圖中沃爾科夫的生命值為1000,而外置ini中[Volcov]小節(jié)中的Strength=600失效。而其他的關(guān)于沃爾科夫的內(nèi)置ini中沒有提到的屬性,以外置ini為準,如Cost=1500,因此在這一張地圖中沃爾科夫的造價仍為1500。而外置ini中沒有SelfHealing.Rate和SelfHealing.Amount兩條,這是內(nèi)置ini中新添加的,自然以內(nèi)置ini為準。由此可以看出,本關(guān)中關(guān)于沃爾科夫的屬性,內(nèi)置ini中有的由內(nèi)置ini決定,沒有的則由外置ini決定,這就是前面所說“最小單位是一個鍵(屬性)而不是一個小節(jié)”的含義。

這樣的設(shè)定為我們修改ini帶來了很大的方便:如果我們只想修改某個單位的某幾個屬性,只需要在地圖內(nèi)置ini中建立相應(yīng)小節(jié),只寫要修改的內(nèi)容即可,其余內(nèi)容以外置ini為準;然而這也產(chǎn)生了一個問題,那就是我們不可能在內(nèi)置ini中做到“刪除內(nèi)容”。例如,如果我們讓沃爾科夫不免疫心靈控制,如果是修改外置ini,我們只需要刪除沃爾科夫小節(jié)下的“ImmunetoPsionics=yes”即可,然而修改地圖內(nèi)置ini則無法做到“刪除這一句代碼”,因為內(nèi)置ini中沒有的內(nèi)容會以外置ini為準而不是被“刪除”。不過這個問題很好解決:只需要在內(nèi)置ini中寫“ImmunetoPsionics=no”即可。一般來說,我們想要“刪除”的鍵都是以yes/no或者True/False為鍵值,而不是像“Strength”"Speed"這樣的數(shù)值,這是想讓某個單位不具有某種特殊屬性,只需要把相關(guān)的鍵值改成相反的內(nèi)容即可。當然也有例外。比如在盟軍第13關(guān)《美人魚》當中要刪除譚雅的主武器和副武器,于是在地圖內(nèi)置ini中添加了“Primary=NotAWeapon”和“Secondary=NotAWeapon”。不過這類情況遇到得不多,如果遇到,可以嘗試將要刪除的鍵的鍵值改為None(不保證一定有效)。

  • 地圖內(nèi)置ini的編輯方法

地圖內(nèi)置ini的編輯方法有兩種。

第一種就是前面所說的用記事本打開地圖文件,直接在里面按照ini的格式進行編輯。注意,雖然說你會發(fā)現(xiàn)里面的小節(jié)名稱是按照首字母順序排列好的,但是你編輯的時候不需要在意這一點。例如,你可以在最后添加[Volkov]小節(jié),而不必去尋找“V”開頭的小節(jié)在哪里,而當你運行一次地圖之后,內(nèi)置ini里的小節(jié)順序就會重排為首字母順序。

第二種是在地圖編輯器內(nèi)進行的。打開“編輯——INI編輯”,可以看到地圖內(nèi)置ini編輯器,上面有一句善意的提醒:“強烈推薦不要使用本編輯器,除非你真正清除自己在做什么?!睙o視它即可。最上面是“項目小節(jié)”,就是前面說的ini文件中的“小節(jié)”,后面的內(nèi)容就是小節(jié)名稱??梢杂孟旅娴摹疤砑印薄皠h除”來新增小節(jié)或刪除已有小節(jié)。新增小節(jié)時只需輸入小節(jié)名即可,不需輸入中括號。下面的“小節(jié)內(nèi)容”就是該小節(jié)的鍵,大方框里列舉出了所有鍵名,點擊鍵名之后會在最下面顯示相應(yīng)的鍵值。可以用左邊的“添加”“刪除”來新增內(nèi)容或刪除已有內(nèi)容。新增內(nèi)容時輸入的格式與ini中鍵的格式相同:鍵名=鍵值。

例如,我們添加項目小節(jié),輸入Volkov,然后添加小節(jié)內(nèi)容:“Strength=1000”等,保存地圖,最終效果與我們用記事本編輯ini相同。并且在你保存地圖之后,用記事本打開地圖,也可以看到以ini格式展示出來的[Volkov]小節(jié)。也就是說,我們在用ini編輯器修改ini就相當于是用記事本打開地圖并在里面寫東西,兩者完全等價。

添加項目小節(jié)
為項目小節(jié)添加鍵名和鍵值
最終效果

我們暫時先介紹到這里,在下一篇中我們會舉例說明ini編輯在戰(zhàn)役制作中的具體應(yīng)用,包括:

  • 如何讓建筑“無敵”

  • 如何顯示/隱藏右下角的超武/支援技能倒計時

  • 如何在移動的單位頭上顯示“目標”“防御”等標記

  • 如何為同一地圖的不同難度設(shè)置不同的初始金額

如果大家有其他疑問也歡迎提出來,我會盡自己所能(但不保證)在之后的教程中為大家解決。感謝大家的支持。


心靈終結(jié)3.3.6地圖編輯器萌新教程第13篇:ini簡介,戰(zhàn)役地圖內(nèi)置ini的評論 (共 條)

分享到微博請遵守國家法律
巍山| 北辰区| 通海县| 玛多县| 特克斯县| 忻城县| 安陆市| 咸丰县| 保康县| 灌南县| 秦皇岛市| 黄山市| 龙井市| 鄂托克前旗| 册亨县| 来凤县| 武威市| 宣恩县| 潼关县| 河源市| 肇源县| 铅山县| 高邑县| 本溪| 商丘市| 霍州市| 凉山| 郯城县| 丰原市| 上栗县| 错那县| 瑞昌市| 江孜县| 永善县| 金湖县| 轮台县| 台安县| 昌都县| 临漳县| 梓潼县| 海淀区|