第一節(jié) 簡單介紹san11 pk2.2腳本的概念(附府兵修改方法)

拖更了1年,終于想起了這個(gè)坑~~
簡單自我介紹,三國志11 PK2.2 制作組成員之一,端茶倒水捶背揉腿的小二。
教程初步計(jì)劃是9節(jié)內(nèi)容,根據(jù)實(shí)際過程再調(diào)整

今天第一節(jié),我們介紹下pk2.2里的自定義包
1 腳本文件的簡單介紹
PK2.2的腳本,主要位于游戲根目錄/pk2.2/script文件夾下

如上圖,這些cpp為后綴的文件,就是pk2.2的腳本(可以理解為自定義包)。
主要語言是一門古老的腳本語言,叫anglescript,這里不詳細(xì)講,不增加大家的學(xué)習(xí)負(fù)擔(dān)。
看一看腳本的名字



觀察下腳本的命名,可以發(fā)現(xiàn)腳本的開頭分別是:
# 代表這個(gè)腳本不讀取到游戲,可以通過這樣來令腳本無效
數(shù)字 代表2.2制作組編寫的功能。通常也不建議玩家以開頭
custom 代表自定義包,通常是一些擴(kuò)展的功能。
玩家編寫建議以這個(gè)開頭,格式為custom 個(gè)人標(biāo)識 功能描述.cpp
2 腳本的文檔
沒有任何人能記住全部的函數(shù)及參數(shù),所以一個(gè)可供隨時(shí)查找的文檔是十分必要的。
打開游戲根目錄/pk2.2/script/html, 找到index.html, 雙擊打開(實(shí)際可以任何一個(gè)html后綴的文件,但是index.html是總?cè)肟?,能方便看到整體)
重點(diǎn)看下搜索欄,函數(shù),相關(guān)頁這三個(gè)入口

搜索欄:鍵入函數(shù)名稱(函數(shù)的概念后邊會(huì)擴(kuò)展講,簡單理解為工具)可以快速去到函數(shù)的定義。
函數(shù):進(jìn)入函數(shù)列表,能查到絕大多數(shù)函數(shù)的定義
相關(guān)頁:觸發(fā)器函數(shù),重寫函數(shù),動(dòng)畫等的列表
3 內(nèi)置數(shù)據(jù)類型
游戲里,有非常多的數(shù)據(jù),為了方便管理,通常會(huì)抽象為各個(gè)數(shù)據(jù)類型

比如城池,類型為city, 涉及城池的修改都是圍繞此更改。
比如勢力,類型為force;
比如武將,類型為person;
比如部隊(duì),類型為unit;
比如建筑,類型為building;
可以分別點(diǎn)進(jìn)去看看
4 一句代碼開始修改之路
知道類型后,可以通過類型查找對應(yīng)的函數(shù)。
比如我們想要把呂布忠誠改為120,那我們打開person數(shù)據(jù)格式的文檔,找下看看哪個(gè)是忠誠

找啊找,終于找到了loyalty,那只需要執(zhí)行

我們來分析下這句代碼
前面的「武將_呂布」是變量,變量的意思可以理解為某個(gè)對象的名字,這里是數(shù)字660的名字。
get_person是內(nèi)置函數(shù),也是接下來最高頻使用的函數(shù),作用是通過數(shù)字獲取到具體武將。
loyalty是person的屬性(屬性的意思是數(shù)據(jù)格式設(shè)定好的值,比如人類的眼睛,眼睛就是人類的屬性),所以要用.來獲取跟修改。
= 等號。等號在編程里通常不表示等于,而是賦值。(等于用==)意思是將等號右邊的內(nèi)容賦值給左邊內(nèi)容。
120 數(shù)字。都懂的~~
整句代碼的意思是通過get_person獲取呂布的數(shù)據(jù),通過.loyalty = 120將其忠誠改為120
至于怎么讓這句代碼執(zhí)行,第二節(jié),我們走進(jìn)觸發(fā)器的使用。
本節(jié)完。

以下是府兵的修改方法。
在script文件夾,找到051開頭文件

雙擊,用記事本或者寫字板打開(哪個(gè)不亂碼用哪個(gè))
●修改之完全關(guān)閉
ctrl + F 搜索 ACTION_COST,找到后將=后面的數(shù)字改為256



ctrl + S 保存后,重啟游戲。重新開局后不會(huì)有分封行為
●限制封地出兵部隊(duì)?wèi)?zhàn)斗力
ctrl + F 搜索 統(tǒng)領(lǐng)武將生成,這是設(shè)定生成武將五維的函數(shù)。

其中的70是五維的下限,90是五維的上限。
可以直接把70改為50, 90改為70.這樣封地出征的武將,五維就限定為[50, 70]
智力的設(shè)定沒有上下限,直接就是75~85,可以通過把70改小控制
ctrl + S 保存后,重啟游戲。出征的部隊(duì)?wèi)?zhàn)斗力就會(huì)弱很多
●限制封地出兵次數(shù)
封地府兵是按最低3000兵力,最高8000兵力一隊(duì)出征的。
ctrl + F 搜索 func_府兵部隊(duì)_生成,找到如圖這個(gè)

其中最后的3就是出征次數(shù),改為2,就是出2隊(duì)(打2次)
ctrl + S 保存后,重啟游戲。部隊(duì)出征次數(shù)就會(huì)減少。
(真的結(jié)束了~)