【冰話XS】006:XS七函數(shù)集錦&獨立化那些事

☆※冰の引言※☆
之前三章對于XS的基本語法規(guī)范及其用法已經(jīng)進(jìn)行了全方位詳盡的敘述,相信各位就算之前沒有任何編程基礎(chǔ)的,從未接觸過編程的都能順利入坑,本教程宗旨就是零門檻也能輕松學(xué)會。從本章開始,就算是XS的進(jìn)階篇了,會從XS各函數(shù)的具體功能著手,深入淺出的教你手把手寫出符合實際需求的函數(shù),將計劃中設(shè)計的功能落地實現(xiàn)。這一章還是來看看XS中純讀取函數(shù)"七君子"和順便嘮嗑嘮嗑獨立化的那些事兒。準(zhǔn)備好了嗎,坐穩(wěn)就出發(fā)咯喂!

☆※本節(jié)の紹介※☆


☆※xsGetGameTime()函數(shù)※☆
函數(shù)效果:讀取當(dāng)前時刻游戲時間并返回當(dāng)前游戲時間 (以秒為單位)
函數(shù)用途:截取某時刻的游戲時間作為數(shù)據(jù),來影響某些自制系統(tǒng)的效果。

☆※xsGetTime()函數(shù)※☆
函數(shù)效果:讀取當(dāng)前時刻游戲時間并返回當(dāng)前游戲時間 - 1?(以秒為單位)
函數(shù)用途:截取某時刻的游戲時間作為數(shù)據(jù),來影響某些自制系統(tǒng)的效果。(同上)

☆※xsGetMapHeight()函數(shù)※☆
函數(shù)效果:讀取游戲地圖尺寸數(shù)據(jù)并返回游戲地圖高度?(即小地圖菱形邊長長度)
函數(shù)用途:讀取游戲地圖尺寸作為數(shù)據(jù),來影響某些自制系統(tǒng)的效果。

☆※xsGetMapWidth()函數(shù)※☆
函數(shù)效果:讀取游戲地圖尺寸數(shù)據(jù)并返回游戲地圖寬度?(即小地圖菱形邊長長度)
函數(shù)用途:讀取游戲地圖尺寸作為數(shù)據(jù),來影響某些自制系統(tǒng)的效果。

☆※xsGetNumPlayers()函數(shù)※☆
函數(shù)效果:讀取玩家列表數(shù)據(jù)并返回本場景中玩家人數(shù)?(不管是否存活和不區(qū)分人類AI)
函數(shù)用途:讀取本場景中玩家人數(shù)作為數(shù)據(jù),來影響某些自制系統(tǒng)的效果。

☆※xsGetPlayerCivilization()函數(shù)※☆
函數(shù)效果:讀取游戲某個玩家的文明數(shù)據(jù)并返回該玩家的文明編號
函數(shù)用途:通過讀取玩家文明數(shù)據(jù),來影響某些自制系統(tǒng)或以文明為條件篩選做文明加成。

☆※xsGetPlayerInGame()函數(shù)※☆
函數(shù)效果:讀取游戲某個玩家的存活狀態(tài)并返回該玩家是否存活。存活返回值為1,被擊敗則返回值為0。
函數(shù)用途:通過讀取玩家存活狀態(tài),來影響某些自制系統(tǒng)或以玩家是否存活為條件篩選做文明加成或相關(guān)效果。

☆※雜談:獨立化那些事兒※☆
在戰(zhàn)役制作設(shè)計中,最煩的莫過于獨立化了。何謂獨立化的后果?獨立化的單位無法享受正常單位的屬性加成,無法進(jìn)行攻防等屬性升級,這對戰(zhàn)役制作者而言,還是比較頭疼的,需要采取一定措施來解決官方的這一限制問題。
縱觀中外的戰(zhàn)役制作者,目前來看國內(nèi)作者對于這方面非常注意,國外作者除杰奎琳外,其余民間作者包括官方團(tuán)隊作者的個人作品,可能是受限于個人技術(shù)水平都對這方面比較忽視。
在戰(zhàn)役制作過程中,獨立化是避不開逃不掉的熱點問題,國內(nèi)的各位研究者對于這方面都有一定深度的研究,但都存在一概而論或者研究淺嘗輒止的問題。正如愛麗琰這種資深作者的專欄寫?yīng)毩⒒亩温渲?也存在把所有問題強行簡單化,沒有實事求是,分而治之地給出對應(yīng)正確結(jié)論的問題。筆者秉著具體問題具體分析的原則,對獨立化的相關(guān)問題談?wù)勛约罕容^全新的理解,盡量力求準(zhǔn)確化完整化,如有紕漏疏忽,歡迎批評指正。
獨立化定義:指特定某個或某種單位在經(jīng)過編輯器修改操作以后,不再享受后續(xù)研發(fā)的的科技或文明加成影響,也不再受到 “修改屬性” 效果或 "XS腳本調(diào)用" 的影響,這也是戰(zhàn)役制作比較棘手的一點。

☆※獨立化的觸發(fā)因素:
① 非觸發(fā)因素:僧侶招降、捕獲蓋亞單位
② 觸發(fā)因素:八種效果導(dǎo)致
改變所有權(quán)
改變物體生命值
改變物體護(hù)甲
改變物體攻擊力
改變物體圖標(biāo)
改變物體名字
改變物體速度
改變物體射程

☆※注意事項&規(guī)避/消除獨立性
在所有效果列表中,只有綠箭頭的八種效果才會觸發(fā)獨立化,其他諸如傳送物體、改變物體的玩家名稱或文明名稱、改變物體姿態(tài)、治療物體都不會導(dǎo)致獨立化,請大家不用擔(dān)心,放心使用.(ps:同玩家替換物體不會導(dǎo)致獨立化,跨玩家替換物體會導(dǎo)致獨立化,因為其原理是同玩家替換+改變所有權(quán),后者會導(dǎo)致獨立化,所以非常不建議跨玩家替換)

不受獨立化影響の屬性:
招降最小最大時間
轉(zhuǎn)化抗性
僧侶信仰回復(fù)速率
[救贖] 效果
[拯救] 效果
[異教] 效果
[開垛口] 效果
[神權(quán)] 效果
自動消除獨立化の情況:
僧侶 / 祭司拿放圣物
巨型投石機(jī)展開 / 打包
孟加拉戰(zhàn)車切換形態(tài)(所有做形態(tài)切換的單位均適用)
村民變換工種
攻城武器種屬(種屬 ID 13)研究任意相關(guān)科技(操練、重裝甲、攻城技師等)
規(guī)避方法:
使用?[XS腳本調(diào)用]?修改對應(yīng)物體的屬性(力薦!)
使用?[修改屬性]?修改對應(yīng)物體的屬性(不推薦,局限性大,但適合做自定義兵種的批量改名)
使用上述兩種辦法之一后再獨立化,后續(xù)加成則需消除獨立化后修改對應(yīng)屬性再獨立化
消除獨立化:
方法:同玩家替換物體
注意事項:? A-B-A型替換(找場景中不用的中間人精羅震怒:比如騎士→貝里沙魯斯→騎士)強烈建議這種替換物體觸發(fā)寫在一個單獨的觸發(fā)里,需要時激活即可,畢竟使用頻率較高。
對于改名物體的實用技巧:設(shè)置改名循環(huán)觸發(fā),修改物體屬性后立即調(diào)用替換物體觸發(fā)。

※☆冰の小結(jié)☆※
本節(jié)簡要談了談純讀取函數(shù)"七君子"的具體功能和用法,以及簡明扼要敘述了獨立化的相關(guān)問題,如何產(chǎn)生,如何消除,如何解決此問題。下一篇章將就修改屬性與XS腳本調(diào)用的愛恨糾葛做一次大盤點,到底修改屬性有哪些局限性,哪些特定場合值得使用,兩者優(yōu)劣的大對比,敬請期待。
欲知后事如何,請聽下回分解


