基本數值設定
角色清單(ACTOR)
場景(SCENE)
場景內角色(ACTOR_IN_SCENE)
據點內場景(CITY)
道具清單(KEEPERDATA)
勢力道具
隨機事件(ENCOUNTERDATA)
其他設定
代碼:
[ACTOR]
Label=孫文
DisplayName=中山樵
PictureRowIndex=1
PotraitIndex=1
[/ACTOR]
說明:
Label : 標籤
DisplayName : 顯示名稱,提示時顯示.
PictureRowIndex : 行走圖(Actors.png)索引
PotraitIndex : 對話大頭像(Potraits.png)索引
1.放置在各劇本的Setup檔案內
2.索引自0開始,往下遞增
3.經過主要人物區之後開始往右為遞增,因此第一位白衣辮子男索引值為7
4.角色以標籤作為搜索對象,清單中各角色標籤絕不可重複
代碼:
[SCENE]
Label=西海溫泉
BackgroundLabel=Scene_Background01
ForegroundLabel=Scene_Foreground01
ForegroundLabel=Scene_Foreground02
OnEnterScriptString=SceneExecuteEvent 120
OnVisitImportantActorLabel=秋瑾
MinX=40
MinY=305
MaxX=715
MaxY=430
EncounterHardLabel=DefaultHard
EncounterNormalLabel=DefaultNormal
EncounterEasyLabel=DefaultEasy
[ACTOR_IN_SCENE]
...
[/ACTOR_IN_SCENE]
[/SCENE]
說明:
Label : 標籤
BackgroundLabel : 背景使用的圖片介面標籤
ForegroundLabel : 前景使用的圖片介面標籤
OnEnterScriptString : 進入場景的執行碼
OnVisitImportantActorLabel : 拜訪重要人物命令點擊的角色標籤
MinX, MinY, MaxX, MaxY : 主角和場景內角色移動的範圍限制
EncounterHardLabel, EncounterNormalLabel, EncounterEasyLabel : 各難度隨機事件所使用的[ENCOUNTERDATA]的Label [ACTOR_IN_SCENE] : 在場景內的角色,後述
1.放置在劇本的Default檔案內
2.拜訪重要人物角色必須在場景內
3.背景及前景所使用的圖闢介面標籤需要先定義在 圖片介面設定 檔案內
4.執行碼原則上可以執行系統內的任何命令,若只要觸發劇情腳本請下
SceneExecuteEvent <劇情腳本編號>
代碼:
[SCENE]
...
[ACTOR_IN_SCENE]
Label=@勢力名稱@
X=300
Y=310
FaceRight=1
[/ACTOR_IN_SCENE]
...
[ACTOR_IN_SCENE]
Label=秋瑾
X=480
Y=297
FaceRight=1
OnClickString=SceneExecuteEvent 120
[/ACTOR_IN_SCENE]
說明:
Label : 角色清單的標籤
X : X座標
Y : Y座標
FaceRight : 角色朝右,1為右,0為左
OnClickString : 點擊角色的執行碼,
1.冒險者角色的標籤請用 勢力名稱
2.OnClickString : 點擊角色的執行碼, 詳解:
1.同場景 進入場景的執行碼 = 執行劇情的 格式如下
SceneExecuteEvent <劇情編號>
2.如果是只需要一句話的劇情請使用
SceneTextBoxRight <角色大頭像>/<角色名稱>/<對話內容>
3.範例
OnClickString=SceneTextBoxRight 洋棕西鬍/洋人H/英國的海峽殖民地是由庇能、麻六甲、新加坡三個港口組成的
4.此功能必須內定一個空劇情腳本
代碼:
[CITY]18
Name=南昌
...
SceneLabel=西海溫泉
[/CITY]
說明:
1.此為據點內的場景標籤
2.SceneLabel : 此據點內的場景標籤,必須在場景清單中有定義
代碼:
[KEEPERDATA]
Label=日誌
DisplayName=日誌名
KeeperPictureIndex=10
Type=Log
DisplayDescription=我是日誌
[/KEEPERDATA]
說明:
Label : 標籤
DisplayName : 顯示的名稱
KeeperPictureIndex : 顯示圖片的索引 Keepers.png
Type : 種類,分別可為
Status : 狀態
Quest : 任務
Right : 權利
Log : 日誌
Hide : 隱藏類 (目前無功能,僅保留擴充)
Others : 沒定義就是其他
All : 全類別 (目前無功能,僅保留擴充)
DisplayDescription : 顯示的詳細描述
1.道具清單定義在Setup檔案中
代碼:
[FACTION]26
Name=孫文
...
[INVENTORY]
[KEEPERINCOUNTRY]
Label=武藝
Amount=1
[/KEEPERINCOUNTRY]
...
[/INVENTORY]
[/FACTION]
說明:
[INVENTORY] : 開始編輯勢力內的道具
[KEEPERINCOUNTRY] : 勢力內的一份道具
Label : 標籤,需在道具清單內存在
Amount : 數量
1.冒險者勢力的道具存放在Default/Save中
代碼:
[ENCOUNTERDATA]0
Label=DefaultHard
Encounter=381/20/0
Encounter=382/10/5
Encounter=383/70/-5
[/ENCOUNTERDATA]
說明:
Label : 此組ENCOUNTERDATA的標籤
Encounter : script event id / 權重 / 參數
script event id : 為Drama.txt中[SCRIPTEVENT]的id
權重 : 權重越高,發生機率越高,每個Encounter發生的機率等於「此Encounter的權重」除以「所有Encounter權重的總合」
參數 : 有正負,執行此event時,是以主角的等級加上此參數,來調整event的難度及獎賞
P.S. 一組[ENCOUNTERDATA]內的Encounter的script event id基本上不可重覆,但若重覆時,後面的設定會取代前面的設定(權重/參數)
1.隨機事件存放在Default.txt中
每回合mp回復量
代碼:
[GRAND]0
MPRecoverySpeed=10
[/GRAND]
說明:
1.存放在Setup.txt中
2.回合開始時回復mp
等級在遊戲中的中文名稱
代碼:
[GRAND]0
RPGLvName=名聲等級
[/GRAND]
說明:
存放在Setup.txt中
每升一等級得到的技能點數量
代碼:
[GRAND]0
RPGGemPerLv=2
[/GRAND]
說明:
存放在Setup.txt中
個人戰角色的職業定義
代碼:
[RPGCLASS]0
Name=玩家
[/RPGCLASS]
說明:
1.存放在Default.txt中
2.Name : 這個職業的名稱
個人戰的技能定義
代碼:
[SPELL]0
Name=大力揮拳
PenWarName=大喝
Description=特別用力的揮拳
PenWarDescription=大聲的威嚇敵人
Cost=10
Effect=DD;Enemy;Atk*2;
[/SPELL]
說明:
Name: 此項技能在武鬥的名稱
PenWarName: 此項技能在文鬥的名稱
Description: 此項技能在武鬥時的提示
PenWarDescription: 此項技能在文鬥時的提示
Cost: 此項技能消耗的MP
Effect: 此項技能的效果,是由[效果名稱][目標][效果數值]所組成
效果名稱:
1.DD: Direct Damage 直接對目標造成傷害
2.Heal: 對目標補血
目標:
a.Self: 自己
b.Enemy: 敵人
效果數值: Math2Int格式
1.存放在Default.txt中
個人戰的角色定義
代碼:
[MONSTER]0
Name=清朝特務甲
Class=特務
Lv=1
GemPerLv=2
Pic=24
Critical=50
HP=100
MaxHP=100
FullHP=100
MP=100
MaxMP=100
FullMP=100
Money=100
MoneyAddPerTurn=10
Spell1=大力揮拳
SaySwordAtk=為了大清!
SaySwordAtk=為了太后!
SaySwordDef=啊!
SaySwordDef=呃!
SayPenAtk=像你這種人,我不必跟你多說!
SayPenAtk=你這反動份子!
SayPenDef=哼!
SayPenDef=呿!
[/MONSTER]
說明:
Name: 名稱
Class: 職業,請參照「個人戰角色的職業定義」
Lv: 等級
GemPerLv: 每升一級得到的技能點
Pic: 行走圖(Actors.png)索引
Critical: 爆擊傷害(功能未實作)
生命值: HP不大於MaxHP, MaxHP不大於FullHP
1.HP: 目前的生命值
2.MaxHP: 目前最大的生命值
3.FullHP: 最大的生命值(功能未實作)
技能值: MP不大於MaxMP, MaxMP不大於FullMP
1.MP: 目前的生命值
2.MaxMP: 目前最大的技能值
3.FullMP: 目前最大的技能值(功能未實作)
Money: 身上持有的錢(功能未實作)
MoneyAddPerTurn: 每回合增加的錢(功能未實作)
技能,可以有兩個技能,技能名稱請參照「個人戰的技能定義」
1.Spell1: 技能一
2.Spell2: 技能二
SaySwordAtk: 武鬥時攻擊所說的話
SaySwordDef: 武鬥時受攻擊所說的話
SayPenAtk: 文鬥時攻擊所說的話
SayPenDef: 文鬥時受攻擊所說的話
1.存放在Default.txt中
觸發條件 源碼(Condition)
[WarTryAtLeast/<指定勢力>]<至少次數>
[CurrentPlayer/=]<指定勢力>
[HQCityIsAt/<勢力>]<據點>
[KeeperAmount/<勢力>]<道具名稱> <判斷> <目標數量>
[CurrentTurnWithSpecifiedHappenedEvent/<判斷條件>]<檢察事件編號> <與該事件觸發回合數的差量>
[NextTargetIs/指定勢力]指定城市
判定指定勢力的戰鬥數目的劇本觸發條件
[WarTryAtLeast/孫文]1
注意,勢力中不能有 WarTry -1 的參數(包含內閣與將領),存檔中也不能有,否則作戰一次後的WarTry會是0
判斷輪到指定勢力時才成立
[CurrentPlayer/=]同盟會
判定司令部位置
[HQCityIsAt/粵系]海南
判定道具數量
[KeeperAmount/孫文]俠義 > 1
判定目前回合與指定事件上次觸發的關係
[CurrentTurnWithSpecifiedHappenedEvent/>=]102 2
判定指定勢力的下一個進攻目標
[NextTargetIs/同盟會]惠州
劇情源碼(Script)
新的效果寫法 - 再判斷
[CONDITION]
適用於[CONDITION]的條件碼
條件判斷觸發,跟觸發碼不同地方處在於:
一個是先成立才觸發,一個是觸發後再判斷。
主要是用來判斷道具數量。
[CONDITION]
KeeperAmount 俠義 >= 50
之後要給與Ture跟False語句
[CONDITION_TRUE]
[CONDITION_FALSE]
代表當條件成立與否,所要執行的事情
不論是True或是False,結尾都要加
[CONDITION_END]
[CONDITION]
KeeperAmount 魅力 > 50
[CONDITION_TRUE]
[GAINMONEY]
孫文/100
[CONDITION_END] [CONDITION_FALSE] [GAINMONEY] 國民黨/200 [CONDITION_END]
此外,可以使用邏輯匣:
AND
OR
接下來的條件內容必須與上面判斷的結果都成立 最終結果才成立
只要接下來的條件內容或上面判斷的結果其中之一成立 最終結果就成立
L=[CONDITION]
L=KeeperAmount 武藝 >= 5
L=AND
L=KeeperAmount 俠義 >= 5
L=[CONDITION]
L=KeeperAmount 武藝 >= 5
L=OR
L=KeeperAmount 俠義 >= 5
KeeperAmount <道具標籤> <判斷依據> <參考數量>
CountryAttribute TP <判斷依據> <參考數量>
CityImprovement <City> has <ImprovementID>
HQCityHasImprovement <ImprovementID>
RPGCombat <玩家勢力> <敵人角色>
判斷道具數量 A.判斷依據可為
1.>= 大於等於
2.> 大於
3.< 小於
4.<= 小於等於
5.= 等於
6.<> 不等於
B.參考數量及為一數字
[KeeperAmount/孫文]隱藏:結局得分 >= 4
判斷勢力資金
CountryAttribute TP >= 100
判斷據點建築
CityImprovement 橫濱 has Mafia
判斷司令部(冒險者所在位置)據點建築
HQCityHasImprovement Mafia
進入個人戰,且以個人戰的結果做判定
RPGCombat 孫文 清朝特務甲
玩家勢力請設定為主角勢力的名稱
敵人角色請使用Default.txt中的[MONSTER]的Name
以戰鬥的結果決定TRUE或FALSE,主角贏為TRUE,主角輸為FALSE
當主角和敵人其中一方的體力小於等於0時,結束戰鬥,體力大於0的角色為勝利的一方
主角選擇脫離戰鬥(假裝沒看見、偷偷溜走、逃走、放棄),若主角脫離成功,此次戰鬥算輸(FALSE)
新觸發碼
場景內對話框
(注意:場景內對話框只有在場景中才能正常顯示)
[SET_SCENE_ON_ENTER_SCRIPT]
場景中角色設定
道具
[TRADE_MONEY]
<供給勢力> <接受勢力> <交易數量>
[SELECTCITY]
遊戲模式切換
[SET_COUNTRY_STATE] <勢力名稱> <狀態>
[END_TURN]
AI戰鬥
[START_A_WAR_NOW_AND_END] L=<攻擊發起勢力> <防禦勢力> <防禦地點>
[[SET_ADVENTURER_BUFF_TO_UNIT]
[UNITS_TRANSFER]
對話框大頭像
[SCENETEXTBOX_POTRAIT_RIGHT]
[SCENETEXTBOX_POTRAIT_LEFT]
右對話框大頭像
左對話框大頭像
L=檔案/說明
L=檔案/說明
對話框內容
[SCENETEXTBOX_RIGHT]
[SCENETEXTBOX_LEFT]
右對話框內容
左對話框內容
L=敘述文字
L=敘述文字
清除對話
[SCENETEXTBOX_CLEAR]
1.格式為頭像、對話框內容、結尾句
2.結尾句為[TX]
3.注意:對話框跟內容的方向須符合。
[SCENETEXTBOX_POTRAIT_RIGHT]
秋瑾/秋瑾
[SCENETEXTBOX_RIGHT]
XD
[TX]
進入場景執行命令
[SET_SCENE_ON_ENTER_SCRIPT]
西海溫泉 SceneExecuteEvent 120
1. 進入場景執行命令
2. 如果不寫命令內容,就是清除該場景進入場景的執行命令(不做任何命令執行)
設定場景中角色的點選命令
[SET_ACTOR_IN_SCENE_ON_CLICK_SCRIPT]
[SET_ACTOR_IN_SCENE_ON_CLICK_SCRIPT]
香港市區 陳炯明 SceneExecuteEvent 358
1.該人物必須存在於場景下
2.如果不寫內容,就是清除該人物的點選命令
設定場景內的角色 [ACTOR_IN_SCENE_SET]
[ACTOR_IN_SCENE_SET]
廣州城 陳炯明 480 297 0
1.面對方向:右方為1,左方為0
2.點選命令可能有空格,在面對右方後都是點選命令
3.點選命令若不填,則表示沒有點選命令
移除場景內的角色 [ACTOR_IN_SCENE_REMOVE]
[ACTOR_IN_SCENE_REMOVE]
香港市區 陳炯明
設定場景內的重要角色 [IMPORTANT_ACTOR_IN_SCENE_SET]
[IMPORTANT_ACTOR_IN_SCENE_SET]
河內城 黃興
移除場景內的重要角色 [IMPORTANT_ACTOR_IN_SCENE_REMOVE]
[IMPORTANT_ACTOR_IN_SCENE_REMOVE]
香港市區
設定道具數量
[KEEPER_AMOUNT_SET] 格式: 1. <道具標籤> <設定數量>
2. <勢力標籤> <道具標籤> <設定數量>
[KEEPER_AMOUNT_SET]
孫文 募款減半東京 1
增減道具數量
[KEEPER_AMOUNT_ADD] 格式 1. <道具標籤> <設定數量>
2. <勢力標籤> <道具標籤> <設定數量>
[KEEPER_AMOUNT_ADD]
孫文 魅力 1
將道具數值更新到介面
[KEEPER_IN_COUNTRY_UPDATE]
資金交易命令(與原本的設定金錢不同)
[TRADE_MONEY] 孫文 同盟會 All
交易數量可以為
1. All 全部的資金 2. Half 半數的資金 3. 數字 實際的資金
選擇城市:透過劇情腳本選擇一個城市
[SELECTCITY]
-1
設定劇情結束時要切換到哪個模式 [SETMODE_AFTER_SCRIPT]
格式:<模式編號>
[SETMODE_AFTER_SCRIPT]
1
模式:
1 : 大地圖模式
7 : 場景模式
若沒有設定:大地圖進入劇情就會回到大地圖,場景進入劇情就會回到場景
劇情運行中切換模式 [SET_MODE_SUBMODE] 格式: <模式> <子模式>
[SET_MODE_SUBMODE]
3 7
子模式
3-3 : 部隊管理
3-7 : 部隊管理結束後切換回劇情
設定勢力的狀態
[SET_COUNTRY_STATE]
興中會 Active
勢力狀態有:Active / Sleep / Dead
強制結束回合
[END_TURN]
注意:如在場景內結束會持續在場景內
如果要離開場景必須先下 [SETMODE_AFTER_SCRIPT] 的命令設定為 1 (回大地圖模式)
設定目標[NEXTTARGET]
格式:L=<勢力>/<攻擊據點>
[NEXTTARGET]
同盟會/惠州
設定AI進攻時會將部隊指派權利交給玩家
[AI_FORCE_WAR_PLAYER_TROOP_MANAGEMENT] 格式:L=<勢力>
[AI_FORCE_WAR_PLAYER_ATTACK_CONTROL]
同盟會
設定AI強制戰鬥中交出指揮權[AI_FORCE_WAR_PLAYER_ATTACK_CONTROL] 格式:L=<勢力>
[AI_FORCE_WAR_PLAYER_TROOP_MANAGEMENT]
同盟會
設定AI執行時,會強制進入戰鬥並且消耗所有的AP(不再進行其他命令)[AI_FORCE_WAR] 格式:L=<勢力>
[AI_FORCE_WAR]
同盟會
立即開啟戰鬥[START_A_WAR_NOW_AND_END] 立即開啟戰鬥是以戰鬥為主,不循原本民國無雙屬據點的戰鬥方式。
本命令發動後會立即結束script,後面無須也不可再寫任何腳本。[END] 也是沒有作用的。
戰鬥結束後依然留在原本發動此腳本時的勢力
將冒險者勢力的屬性傳給單位:
[SET_ADVENTURER_BUFF_TO_UNIT]
武藝強化單位的衝鋒 , 軍事強化單位的射擊
格式: L=<勢力> <單位>
[SET_ADVENTURER_BUFF_TO_UNIT]
孫文 孫文
注意,設定一次會將設定當時的冒險者勢力的參數依照規範公式傳給.之後若沒有再設定,其參數就會相同.也不會消失.
此參數是有別於 勢力的政治參數,與將領的技能的額外規格.
勢力間的所有部隊轉移:將來源勢力的所有單位轉移給目標勢力
[UNITS_TRANSFER] 格式:L=<來源勢力> <目標勢力>
[UNITS_TRANSFER]
孫文 興中會
[CITYOWNER]
RPG
隨機事件
設定場景中角色是否可以移動
劇情結束碼
據點所屬勢力的轉移 [CITYOWNER] 格式:
1.L=<據點>/<勢力> :舊版
2.L=<據點>/<勢力>/<是否隱藏> :新版
[CITYOWNER]
橫濱/日本/hide
[CITYOWNER]
橫濱/日本/show
[CITYOWNER]
橫濱/日本
如果像格式1只寫兩個欄位那就是舊版,表示說 <是否隱藏> 欄位內建為SHOW的意思
<是否隱藏> 的數值可為 : show / hide .
當劇情觸發時,前者會顯示,後者不會顯示.
RPG主角的HP增加或減少
[RPG_HP_ADD]
L=<目標勢力> <Math2Int格式>
[RPG_HP_ADD]
孫文/-26
RPG主角的MP增加或減少
[RPG_MP_ADD]
L=<目標勢力> <Math2Int格式>
[RPG_MP_ADD]
孫文/100
RPG主角的等級上升:不可為負值
[RPG_LV_ADD]
L=<目標勢力> <Math2Int格式>
[RPG_LV_ADD]
孫文/2
RPG主角的經驗值增加或減少
[RPG_EXP_ADD]
L=<目標勢力> <Math2Int格式>
[RPG_EXP_ADD]
孫文/20*Lv
固定事件的等級,如Boss戰
[RPG_BOSS_LV]
L=<目標勢力> <Math2Int格式>
[RPG_BOSS_LV]
50
RPG主角得到%的經驗值:得到「這等級升級需要的總經驗值」的某個%的經驗值 [RPG_EXP]
L=<目標勢力> <Math2Int格式>
[RPG_EXP]
孫文/120
RPG主角得到%的HP
[RPG_HP_PERCENT]
L=<目標勢力> <Math2Int格式>
[RPG_HP_PERCENT]
孫文/50
RPG主角得到%的MP
[RPG_MP_PERCENT]
L=<目標勢力> <Math2Int格式>
[RPG_MP_PERCENT]
孫文/50
檢查RPG主角是否可以升級 [RPG_LEVELUPCHECK]
L=<目標勢力>
[RPG_LEVELUPCHECK]
孫文
標記此事件為隨機事件
[RANDOMENCOUNTER]
L=<數值>
[RANDOMENCOUNTER]
1
數值比0大,就標記為隨機事件;小於等於0時,標記為非隨機事件
新增隨機事件
[ADDENCOUNTER]
L=<SCENE Label> <難度> <Script Event Name> <比重> <參數>
[ADDENCOUNTER]
橫濱市區/Hard/休息一下/123/-1
1.在場景(scene)中新增隨機事件
2.難度為 Hard, Normal, Easy 三種中其中一種
3.需要注意的是,若有多個scene共用一組[ENCOUNTERDATA],此新增將會影響上述全部的scene
移除隨機事件
[REMOVEENCOUNTER]
L=<SCENE Label> <難度> <Script Event Name>
[REMOVEENCOUNTER]
橫濱市區/Hard/休息一下
1.在場景(scene)中移除隨機事件
2.難度為 Hard, Normal, Easy 三種中其中一種
3.需要注意的是,若有多個scene共用一組[ENCOUNTERDATA],此移除將會影響上述全部的scene
設定所有場景中角色不能移動
[SET_ACTOR_IN_SCENE_STOP]
設定所有場景中角色可以移動
[SET_ACTOR_IN_SCENE_GO]
所有場景中的所有角色都會受影響
正常離開[END]
每回可以觸發該劇情1次[REPEAT]
一回合可以觸發該劇情N次直到條件不滿足[REPEATNOW]
BYE [GAMEOVER]
玩家再點選一次可以繼續動作[WAIT]
Math2Int格式的說明
數學符號
符號 $
符號 Enc
符號 d
符號 Lv
符號 Boss
符號 Atk
符號 Def
1.+ : 加
[RPG_EXP_ADD] 孫文/200+Boss
2. - : 可為減號或負號 3. * : 乘
4. / : 結果為整數。任何數字除以0的結果,設定為零
5. ( ) : 括號
計算的優先順序 ( ) 優先於 * / 優先於 + -
目前沒有支援()視為乘法的語法,如3(4+5) = 3*(4+5)
$ + Type為Status的keeper
前面要加$,如「$武藝」
[RPG_HP_ADD]
孫文/$武藝*2
Random Encounter的參數(level adjustment)
[ENCOUNTERDATA]1
Label=DefaultNormal
Encounter=384/70/10
[/ENCOUNTERDATA]
此時參數為10
[SCRIPTEVENT]384
Name=遇到清朝特務突襲
Condition
Script
L=[RPG_HP_ADD]
L=孫文/-Enc*2
L=[END]
[/SCRIPTEVENT]
執行的結果為,孫文損失了 -20 的HP
1. 擲骰子
2. 格式為mdn,m和n為數字
3. 2d6為兩個6面骰,所以可能的結果為2~12
[RPG_HP_ADD]
孫文/2d6
主角的等級
[RPG_HP_ADD]
孫文/10*Lv
1.事件等級(或稱為Boss等級)
[RPG_EXP_ADD] 孫文/Boss*2
2.若在script event有定義 [RPG_BOSS_LV],則以設定為事件等級
3.若在script event無定義 [RPG_BOSS_LV],則以「主角等級 + 隨機事件參數(level adjustment)」為事件等級
個人戰技能專用,為施放技能者的攻擊力
個人戰技能專用,為施放技能者的防禦力