|
原本是每三級可以選一次perk,有專家(Skiiled)特徵則是四級選一次,不過總是有人希望可以像三四代那樣每升一級就選一次,或是像NV每兩級選一次。
sfall在3.0時加上set_perk_freq函式可以修改這部份,最簡單的作法是在global script寫一行set_perk_freq(1);,不過那會讓角色在第2級就有選perk的窗口跳出來,但內容是空的(因為perk最低等級需求是3),如果你想試著去點空白列表的第一行,遊戲就會出錯跳掉。
所以得多加個檢查角色等級的判斷,變成這樣:
- procedure start;
-
- #include ".\HEADERS\DEFINE.H"
- #include ".\HEADERS\COMMAND.H"
-
- procedure start begin
- if (game_loaded) then begin
- set_global_script_repeat(60);
- end else begin
- if (dude_level > 2) then begin
- set_perk_freq(1);
- set_global_script_repeat(0);
- end
- end
- end
复制代码
腳本邏輯是:初始化先設定腳本每60幀重覆檢查一次,角色等級如果沒超過2,就先不調整perk頻率;如果角色等級超過2,就設定perk頻率為每一級選一次,然後把此global script停止重覆執行(沒必要浪費資源,perk頻率在離開當前遊戲之前不會還原)
不過那腳本會讓選了專家特徵的角色也同樣每一級就可以選一次perk(從4級開始),等於把專家特徵變成幾乎無副作用(只有晚一般角色一級才能選perk,然後每次升級多5點技能點數),這樣就不太平衡了。
於是再加個檢查角色是否有專家特徵的判斷:
- procedure start;
-
- #include ".\HEADERS\DEFINE.H"
- #include ".\HEADERS\COMMAND.H"
-
- procedure start begin
- if (game_loaded) then begin
- set_global_script_repeat(60);
- end else begin
- if (dude_level > 2) then begin
- if not(has_trait(TRAIT_TRAIT, dude_obj, TRAIT_skilled)) then begin
- set_perk_freq(1);
- end else begin
- set_perk_freq(2);
- end
- set_global_script_repeat(0);
- end
- end
- end
复制代码
這樣一般角色是每一級選一次,有專家特徵是每兩級選一次。
如果想改成一般角色是每兩級選一次,有專家特徵是每三級選一次,直接拿上面腳本修改set_perk_freq數值會冒出另一個小問題:有專家特徵的角色變成要到6級才能選第一個perk,為什麼?
因為遊戲引擎原本的判斷方式是,升級當下如果等級數字能被3(專家特徵是4)整除,就讓角色可以選perk,而上面腳本是在升到3級之後才把頻率從4變成3,這樣升到3級時自然不能選perk(當下會認為要到4級才能選),得等到下一個可以被3整除的6級。
好吧,所以就再調整一下腳本變得比較囉嗦一點:
- procedure start;
-
- #include ".\HEADERS\DEFINE.H"
- #include ".\HEADERS\COMMAND.H"
-
- procedure start begin
- if (game_loaded) then begin
- set_global_script_repeat(60);
- end else begin
- if not(has_trait(TRAIT_TRAIT, dude_obj, TRAIT_skilled)) and (dude_level > 2) then begin
- set_perk_freq(2);
- set_global_script_repeat(0);
- end else if (dude_level > 3) then begin
- set_perk_freq(3);
- set_global_script_repeat(0);
- end
- end
- end
复制代码
判斷邏輯變成如果沒有專家特徵且角色等級超過2,就設定perk頻率為2,不然就是角色超過3級時設定perk頻率為3。沒專家特徵的一定比較早滿足前面條件並停止global script執行,後面就不用再多檢查特徵。
這樣一來,可以選perk的等級為:
一般角色 - 3, 4, 6, 8, 10, 12 ...
專家角色 - 4, 6, 9, 12 ...
另外比較不重要的資訊:遊戲原本在角色擁有的perk項目數量(perk等級數不列入)超過37個(一代是7個)之後就不會再跳出選perk窗口,大概是認為了不起99級也只能選到33個,不過sfall把這部份限制拿掉了。
|
|