Reply to this topicStart new topicStart Poll

> 群七ini參數補遺(部分),包括提高ai方法
耒戈氏
發表於: Dec 19 2008, 10:02  評價+1
Quote Post


反潮流才是王道!!
************

發表數: 6,255
所屬群組: 太守
註冊日期: 7-15-2007

活躍:23
聲望:1540


不知有沒有人看,不理了 grin2.gif

-------

先把有助增加AI的放在前面...不排除日後有更新

1. 讓AI不把黃帝劍等丟在倉庫
我想這個是最有用的...之前我還把武將設成NPC,然後把神兵丟給他,順道用很酷的NPC造型[开心] 不過一大問題是,NPC君主似乎不會為他的勢力武將重裝物品。不過,已經有一個不用設NPC的方法了,關鍵就是THING.INI的PRICE參數,沒有錯,即是價格。原來AI有把貴重的物品配給級數高的武將的習慣(此為推測),但是神兵的價格統統也是1!在這情況下,AI就會覺得沒有用,丟在倉庫。
修改法:把神兵的價格調得很高就可以了,用編號的排序,同類物品放在一起,大概可以知道物品的價格。我的THING.INI不放出來了,因為改動太大,通用性太低
不過還有問題待解決的是 1.玩家賣神兵有錢收了,不過玩家看來不會賣 2. AI沒有辦法取得神兵。現在我自己玩,把不少的武器ISRARE調成0(後面會補充),神兵就不設定了,給AI搜出來,但是這樣玩家也能找出來了,還是比較棘手的問題...不過這樣公平了。有關此項其後補充。
測試一下,AI在早期的武鬥大會不時帶著實用派的精鋼雙戟,還是要小心電腦的亂舞+一擊了~

2. 讓AI之間多打仗,升級多一點 + 讓AI多攻打玩家

修改法:VARIABLE.INI -> 139外交度攻打機率
FLOAT05是AI對玩家出兵數目對玩家兵數的最少倍率相關, FLOAT06是AI對AI出兵數目對玩家兵數的最少倍率相關,兩者可以是負數。
FLOAT00-FLOAT04已確定是代表外交度友好至死仇的倍率調整,兩者可以是負數。
把INT07,INT08改大可以增加AI出兵機率,原版是負數的,當然可以是正數。


比如A攻打B,而A有2000兵,B有1000兵。AI有把所有兵派出攻打別城,城中只留一個武將的習慣,設A可派1800兵攻打B。A攻打士兵對B的守兵比率為1.8。AI會測試出兵比率是否高於最低比率,如果不合符就不出兵了。
更改FLOAT05及FLOAT06的意思就是把這一個測試的最低比率更改。把它調高,電腦會更少出兵,但是一出就出數以倍計的兵。不要改太大,因為很多時候AI不能儲那麼多兵,那麼它以後也不出兵了。把它改小,電腦就會多出兵,不過不會一次出很多。
AI對玩家出兵比率參數高達1.5,我想大家知道為何電腦每次出兵也要派上比玩家兩倍多的兵來攻打了。
把FLOAT06降低,AI與AI之間多出兵,測試結果發現一段時間後,不少AI武將級數超高。最誇張的一次,把FLOAT06改成-0.2,電腦自動加經驗+0.25,電腦模擬戰鬥經驗1.3倍(這兩個稍後補充),在第一年,我方武將(沒有打仗)及其他還未開打的AI武將還是4-5級時,竟然有AI武將高達20級,還要是兩個!!亦有數個10+級的...原因:連鎖效應:﹝其實已經超越我們的討論範圍了,這些事你試一下就知道了﹞
什麼是連鎖效應。考慮以下情形:
有三座連接的城市A--B--C,各有1000兵,由三個不同的勢力管治。有一刻,B攻打A。由於AI喜歡出所有兵,結果C見B後防空虛,攻打B。假如C後面還有D,D見C後防空虛,攻打C。假如B攻下A,不要理A去了那裡,總之B新佔的A兵力少了。C因為是攻打後防空虛的城,兵力不會少太多,結果,隨時C乘勝追擊,由B攻打A,但是有時候,A不服,於是A見B後防空虛,A掉頭打B...可想像這樣互相攻打,AI武將升級多快,還未考慮其他更恐怖的情況,而且群七的地圖不是直綫形的,混亂程度可想而知...配合電腦高開發速率,一些區域連年真會打得天昏地暗...

CODE
No = 139
Name = 外交度攻打機率
EnumName = RelationAttackRate
Int00 = 30
Int01 = 50
Int02 = 70
Int03 = 5
Int04 = 100
Int05 =
Int06 =
Int07 = -100
Int08 = -5
Int09 =
Float00 = 5
Float01 = 1.3
Float02 = 0.1
Float03 = 0
Float04 = -1.05
Float05 = 1.5
Float06 = 0.75
Float07 =
Float08 =
Float09 =


3. 讓AI武將升級快一些
這兩個之前還有提及過了,不過這一個參數,因為我測試的結果與長風的EXCEL完全不同,所以要說一說。這個是VARIABLE.INI -> 137武將自動加經驗值倍率

CODE
No = 137
Name = 武將自動加經驗值倍率;影響武將未出戰時的經驗增值參數
EnumName = AutoAddExp
Int00 = 50;武將經驗增長基值,敵我通用
Int01 = 10;武將經驗增長附加值。隨MAX(武,智)增加,武將經驗增長速率增加(裝備後的值)。敵我通用
Int02 =
Int03 =
Int04 =
Int05 =
Int06 =
Int07 =
Int08 =
Int09 =
Float00 = 1.5;困難難度AI獲經驗相對倍率。是相對於玩家最高經驗的武將而言
;原來電腦升級速率也與玩家武將的最高級數相關。此數值愈大,那麼當玩家級數高起來時,電腦升級速率更高
Float01 = 0.9;困難難度AI獲經驗絕對倍率
Float02 = 1.2;一般難度AI獲經驗相對倍率。是相對於玩家最高經驗的武將而言
Float03 = 0.8;一般難度AI獲經驗絕對倍率
Float04 = 1.1;簡單難度AI獲經驗相對倍率。是相對於玩家最高經驗的武將而言
Float05 = 0.7;簡單難度AI獲經驗絕對倍率
Float06 = 1;玩家獲經驗倍率
Float07 =
Float08 =
Float09 =


簡單來說,增加FLOAT00-FLOAT05可以增加電腦升級速度

另一個可以增加電腦升級速度的是VARIABLE.INI -> 133電腦模擬戰鬥所得經驗值倍率,不過嚴格來說不應該在這裡出現的,長風的EXCEL說過了。增加它,AI升級的確是會快一些的。

4. 有關開發速度的問題(影響捕獲機率)

VARIABLE.INI的119城市內政公式用。這裡我要說的是
1. INT01給我找出意思,是人口變動參數。此數愈大,人口的變化愈明顯
2. 把FLOAT00-03改得太大的話,會出現武將不能捕獲的情況。我現在使用的解決方法是每一個武將也給兔脫﹝用官職,最直接的方法﹞,然後在GENSKILL.INI中,把兔脫的參數調得很低。我把FLOAT02設成4後,GENSKILL.INI中兔脫參數要設成-90,才能大約回復原來捕獲機率。注意:長風EXCEL有錯,兔脫的參數是捕獲機率減值,不是捕獲機率。設成負數可變成「增值」,但少於-100不代表必定能捕獲。

CODE
[VARIABLE]
No = 119
Name = 城市內政公式用
EnumName = CityFormula
Int00 = 5000
Int01 = 500
Int02 =
Int03 =
Int04 =
Int05 =
Int06 =
Int07 =
Int08 =
Int09 =
Float00 = 0.8
Float01 = 1
Float02 = 1.2
Float03 = 1
Float04 =
Float05 =
Float06 =
Float07 =
Float08 =
Float09 =


CODE
[GenSkill]
NO = 25
Name = 兔脫
Data01 = 15


13. 官職表定制與AI封官及出兵特徵

電腦封官時似乎是每一季也為武將冊封耗用最少功勳的官職。大家玩原版時,有沒有發現經過數年後,弱武將的官階高於強武將的情況?這是因為弱武將可封官職少,封官時在強武將封了較低官職較強的官時,弱武將已經升級了。AI似乎亦有委派盡量多的兵,武將級數盡量高的來出戰的情況,而忽視能力,這情況下,早期強弱武將的出兵機會沒有什麼特別明顯的分差。中期時,由於弱武將官階高,結果會寧願派弱武將出戰...
解決方法,就是要重新定制官職表,防止這情況發生,那麼AI就會派強將出戰。例如是把官階高的官職要求更高能力,弱武將不能升官。另外改大自動加經驗的int01會有幫助,因為早期強武將級數高了。
又同樣解釋了為何有增編士兵/從將/調兵/遺將的武將級數特別高,因為他們早期可以多出兵。

補充一點,使弱武將升官慢一些,強武將升官快一些的方法:
一般來說在同階、同文武的官職,也會有一個沒有能力要求的官職,然後接著的是有能力要求的官職,接著的要求就愈高。我們發現官職的功勳要求是愈來愈多的。而我這裡的做法就是把功勳要求倒轉,沒有能力要求的官職功勳要求要高,能力要求最高的官職功勳要求低,那麼弱武將用了很多功勳才升一級,強將用少許可以了,就算強將再在同階中跳轉,兩者的升官速度就能平衡。


14. 刪去據點帶來的問題

在CityXX.ini把某些據點的IsUsed=0後,禁用一個據點。﹝不是City.ini啊﹞,我們發現AI選出兵選址時不會考慮攻擊被刪去據點連接的據點。一旦一個據點的所有鄰接據點被刪,在該據點的AI就不會對外攻擊!!修正法是改City.ini的連接點,長風excel有提及如何改,這裡不多說了。
另外也可以一口氣刪去大量同區域的據點,那麼就不用改City.ini,又可以有效減少據點數。同一地區的據點編號也相近,用編號排序大概容易找出一堆鄰近的據點。把1-30據點刪去,整個西北、河北清靜了~
但是如果你玩九號劇本是留意,刪去一個區域會令遊戲產生沒有城市的勢力(汗...)。這些勢力正常情況下似乎影響不大,但是在遊戲中的狀態的國家列表,如果有這些勢力存在,而玩家意圖排序的話,會使遊戲跳出的。如有這情況可用cly1982大的修改器刪去這些勢力。
另外,有另一個刪除大地圖NPC的方法,就是把所有什麼塔呀、NPC據點呀、什麼島呀、什麼山寨呀全部刪除。不過這樣就沒有NPC據點等了,自己看著辦。

15. 讓防禦建築只能由電腦興建

能做到這功能的原因很簡單,就是電腦興建防禦建築是不花錢的!!至少困難難度是這樣。那就簡單了,把防禦塔的建造金錢設得很大,即是Int01-Int08,就可以了。當然如果你想某一個防禦塔只由電腦興建,就把其價錢改得很大可以了。

CODE
[VARIABLE]
No = 15
Name = 防禦塔 - 建造金錢
EnumName = TowerMoney
Int00 =
Int01 = 180
Int02 = 550
Int03 = 550
Int04 = 650
Int05 = 650
Int06 = 650
Int07 = 1000
Int08 = 1000
Int09 =
Float00 = 0.3
Float01 = 100
Float02 = 250
Float03 = 250
Float04 = 450
Float05 = 450
Float06 = 450
Float07 = 750
Float08 = 750
Float09 =


但是這裡有一個危機,就是如果玩家在不破壞建築的情況下攻佔一座城,再把這些建築拆掉的話...嘿嘿
所以價格也不可能定得太高,或是玩家要自律一下不去拆了~

另外苍月天羽提供了float00的意思,是拆卸防禦建築所得金錢比例,0.3即是30%

16. 令玩家不能搜出人材+令AI搜出更多東西

variable.ini -> 121搜索人才、物品公式用

把Int00改成零,是可以令玩家搜不出人材的!!但是電腦將不受影響。似乎這一個參數是玩家搜出人材、物品的參數,數值愈高,搜出人才及物品的機率愈高。
Int01似乎是AI搜出人材、物品的參數,數值愈高,搜出人才及物品的機率愈高,但是不可以太大。我曾經把它設成100,結果敵我雙方什麼也找不出...我現在用的是40,AI搜東西速度挺快的,但是玩家搜東西速度沒有明顯改變
Int02可能是登庸俘虜的失敗率相關﹝!﹞,而且似乎是敵我通用,待詳細測試[/color]

CODE

No = 121
Name = 搜索人才、物品公式用
EnumName = FindingRadio
Int00 = 10
Int01 = 10
Int02 = 40



18. 令AI不會全軍撤退

variable.ini 的134:AI全軍撤退的戰力比上下限的三個數值全改成零,可令AI不會在戰前選部隊畫面撤退。

CODE
No = 134
Name = AI全軍撤退的戰力比上下限
EnumName = PowerForRetreat
Int00 = 400
Int01 = 450
Int02 = 20
Int03 =
...


詳細情況待詳細測試



19. 改變AI搜尋人材的速率

variable.ini -> 132:找到人才之城池數加權數

把Int01改大,可以使AI搜尋人材的速率加快。玩家未知﹝因為我已經改成玩家找不出人才了,呵呵﹞,估計是由Int00造成

CODE
No = 132
Name = 找到人才之城池數加權數
EnumName = CastleNumRate
Int00 = 1
Int01 = 30
Int02 = 0
Int03 = 0
Int04 =
...



以下是其他修改。

5. 防禦塔位置及數目修改

VARIABLE.INI -> 16-18: 防禦塔 - 位置 - 城池/港口/關卡
CODE
[VARIABLE]
No = 16
Name = 防禦塔 - 位置 - 城池
EnumName = CityAddrNum
Int00 = 5;防禦塔總數/2。防禦塔佈值一定是上下對稱的,最大為6,改大無效
Int01 = 1;INT01-06也是防禦塔位置,戰場邊緣為1,中間就是22。
Int02 = 4
Int03 = 7
Int04 = 10
Int05 = 13
...
[VARIABLE]
No = 17
Name = 防禦塔 - 位置 - 港口
EnumName = HarborAddrNum
Int00 = 4
Int01 = 1
Int02 = 5
Int03 = 9
Int04 = 13
...
No = 18
Name = 防禦塔 - 位置 - 關卡
EnumName = FortAddrNum
Int00 = 6
Int01 = 1
Int02 = 4
Int03 = 7
Int04 = 10
Int05 = 13
Int06 = 19;第六對塔一定是突出來的。


6. 禁掉武鬥大會

這個是一些實際應用了,不算得是什麼新發現:
VARIABLE.INI -> 21比武大會時間間隔幾年
CODE
[VARIABLE]
No = 21
Name = 比武大會時間間隔幾年
EnumName = Arena
Int00 = 10
Int01 = 1;改大於12可禁武鬥大會 或 更改INT02也可以
Int02 = 1;改大於30可禁武鬥大會 或 更改INT01也可以
Int03 =


7.攻打後外交度增減修改
這個參數未完全解出,稍後再處理

VARIABLE.INI
CODE
[VARIABLE]
No = 140
Name = 戰後對外交度減少值;A攻打B時兩者之間外交值下降,取值不明
EnumName = RelationDecrease
Int00 = 3;戰鬥前兩者外交<50?
Int01 = 5;戰鬥前兩者外交>=50?


8. 軍師技(SFMagic.ini)參數解說
長風EXCEL對這一個INI的參數解說最少,我來補充一下。
補充一下eliminateType,如果這個參數有值,那麼如果敵軍使用這一個軍師技在軍師技選擇後,出兵前的畫面中會顯示敵軍使用了這一個軍師技,否則不顯示

CODE
[SFMAGIC]
No = 01
Name = 拨云见日
Level = 8
MP = 30
Type = 01;9998, 9999 分別代表消除eliminateType中的兩個以及一個軍師技,否則消除所有eliminateType中的軍師技
eliminateType = 02;消除敵軍的軍師技類型
Inner_eliminateType = 01,02,05;消除我軍的軍師技類型
UseInSolo = 1
UseInNormal = 1
UseByCom = 1
IsAttackCity =
Data1 =;衝陣軍師技才有,可能是召喚物編號,與BFFront.ini對應
Data2 =;衝陣軍師技才有,可能是召喚位置及數目,與BFFront中的LVPos_X相關
IsUsed = 1
Power =;對將攻擊力,對於補強及破壞系列則可能是百分率
SolPower =;對兵攻擊力
Priority =
Int1 = 200
Int0 = 0
Str1 = 200
Str0 = 70
Target = 11
Duration = 0


9. 有關Thing.ini的IsRare參數解說
搜到的物品,IsRare一定是0
比武大會送的物品﹝不打聖獸﹞,IsRare<=1
山寨送的物品,IsRare<=4
物品的IsRare=6的話,就只有透過事件、聚寶洞府或鍛造取得,甚至不能取得﹝要知道Thing.ini中,連什麼凍血刀也有...﹞
IsRare由1-5:當我們擊破等級1﹝可用修改器>軍團>EVENT1看﹞的大地圖NPC,可得IsRare=1的物品,如此類推

17. 有關大地圖NPC出現的修改 + 更改玩家登庸武將/俘虜成功率

Variable.ini -> 238:事件部隊外部參數

CODE
No = 238
Name = 事件部隊外部參數
EnumName = EventValue
Int00 = 5;這個參數又同時影響玩家登庸俘虜的成功率
Int01 = 10;把Int00及Int01兩個值改達上千、上萬時,大地圖NPC出現的數目有增加
Int02 =
...
Float00 = 5;NPC留在大地圖上的時間倍數。數值愈大,NPC留在地圖上的時間愈長


4/12:自從我把int00,01改大後,出現玩家登庸武將必成功的情況...原來int00會同時影響玩家登庸俘虜的成功率的[汗水]

10. 其他
其實只有兩個,沒有什麼連繫,但這又不足以開兩項...
Soldier.ini -> Speed,最大似乎為10,改大無效
City.ini -> ConnectXX,連結點數目不可改多,不可改少,否則遊戲不能正常開啟。﹝會否1.2版已修正?﹞

最後是一些未確認的參數:

11. BFMagic.ini中的Type參數,長風excel沒有給出意思,我總結如下,但未經改動測試,而且有一個值不肯定,兩個武將技設定還要是錯的[汗水]
CODE
1 - 在敵士兵密集的地方發動﹝玄冰斬系列除外﹞
2 - 雷電?減氣?
3 - 自施技武將發出物體,朝向敵將﹝半月斬等﹞;把物體放於敵將上﹝刁魂引等﹞,似乎這種發動目標一定是敵方主將﹝單一目標﹞
4 - 在敵將位置發動﹝實測發現滾石系列於敵主將發動﹞
5 - 自施技武將向外發動
6 - 召喚士兵於戰場前/後方
7 - 自施技武將發出物體,物體自由活動
8 - 發動物體於施技武將,物體在一段時間後消失
9 - 在敵士兵密集處出現召喚物
10 - 八門金鎖
11 - 為我方其中一個武將補血
12 - 為我方所有武將補血
13 - 召喚物體於敵軍後方﹝符兵引﹞
14 - 召喚武器


12. variable.ini,自己看!
QUOTE
[VARIABLE]
No = 138
Name = 每十天外交度增減
EnumName = AutoAdjRelaNation
Int00 = 24
Int01 = 1 ;外交度<50者每段時間增加1點?
Int02 = 3 ;外交度>50者每段時間減少3點?
PM
Top
0 位使用者正在閱讀本主題 (0 位訪客及 0 位匿名使用者)
0 位會員:

Topic Options Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0140 ]   [ 13 queries used ]   [ GZIP 啟用 ]