LV. 24
GP 511

RE:【心得】劇本的編輯心得

樓主 英太 StandardGr
GP5 BP-
 
以上就是整個劇本編輯→編譯的過程
沒有經過這樣的過程,遊戲就無法讀取你所編輯的劇本文件
也就是說,大家應該了解到『午夜夢迴中文版事件編輯器』的功用了吧?
那麼接下來就是,該怎麼去撰寫一個源文件呢?
什麼是源文件?就是剛剛提到的『跨職業仕官-下野.txt』就是源文件
使用記事本打開『跨職業仕官-下野.txt』來看看,會看到以下的一些東西
 
-------------------------------------
 
太閤立志伝5イベントソース
チャプター:{//劇本開始
イベント:跨職業仕官-下野{//跨職業仕官-下野
         属性:何度でも|ひかえめ
         発生契機:評定開始時(主人公)
         発生条件:{
         OR調査:{
         調査:(人物::主人公.身分)==(大名)
         調査:(人物::主人公.身分)==(国主)
         調査:(人物::主人公.身分)==(城主)
         }
         }//條件結束

スクリプト:{//-執行開始
  コンテナ設定:(人物,所属上司,主人公)
  コンテナ除外:(人物,死亡フラグ,死亡)
  コンテナ除外:(人物,出撃フラグ,出撃中)
  コンテナ除外:(人物,病気フラグ,病気)
  コンテナ除外:(人物,人物番号,主人公)
  コンテナ絞り込み:(人物,出現フラグ,出現済み)
  コンテナソート:(人物,身分,降順)
  コンテナ選択:(人物B,先頭)
 
  会話:(主人公,人物B)[[我要下野]]
  会話:(人物B,主人公)[[好,請指定家督]]
 
  コンテナ設定:(人物,所属上司,主人公)
  コンテナ除外:(人物,死亡フラグ,死亡)
  コンテナ除外:(人物,出撃フラグ,出撃中)
  コンテナ除外:(人物,病気フラグ,病気)
  コンテナ除外:(人物,人物番号,主人公)
  コンテナ絞り込み:(人物,出現フラグ,出現済み)
  コンテナソート:(人物,身分,降順)
  コンテナ選択:(人物A,人物選択)
 
  会話:(主人公,人物A)[[給你家督]]
  会話:(人物A,主人公)[[好]]
 
  代入a:(主人公.武士勲功)
  更新:(人物::人物A.元配下フラグ)(元配下)
  更新:(人物::人物A.関係者経緯)(円満)
  家督を譲る:(主人公,人物A)
  人物解雇:(主人公,無効,出現済み)
  外に出す:
  会話:(主人公,人物A)[[成功下野了]]
  更新:(主人公.武士勲功)(a)
  更新:(イベントフラグ::跨職業仕官-下野)(成立)
 
}//執行結束
}//跨職業仕官-下野結束
 
-------------------------------------
 
紅色字體的部份是劇本編輯的固定格式,這是不能更改的
也就是說,一個劇本文件的固定格式應該是這樣
 
太閤立志伝5イベントソース
チャプター:{
イベント:
         属性:
         発生契機:
         発生条件:{
         }

スクリプト:{
 
}
}
 
每一個『{』開頭,尾巴一定要接一個『}』作結尾
這個應該有程式語言基礎的朋友都知道
 
綠色字體的部份則是作者自己的任意註解
只要在前面加上『//』,則後面不管加上什麼文字都不會被編輯器給編譯進去
當劇本寫很長的時候,這個註解能夠幫助作者不至於亂掉
 
藍色字體的部份當然就是作者的編譯區了
在官方所釋放出來的各項劇本命令中可以由作者任意的組合使用
 
-------------------------------------
 
『跨職業仕官-下野.txt』的編輯主要是要讓原版遊戲中當到城主以上就不能任意下野的情況有所改變,而通過這樣的編輯就能實際的達成這樣的效果
 
我這個例子舉得比較深,裡面還有附帶容器的應用..... 不過沒關係,我一一解釋
 
-------------------------------------
 
イベント:跨職業仕官-下野{//跨職業仕官-下野
這部份藍字的區塊是作者可以任意編輯的,也就是此劇本的名稱
 
//----------------------
 
属性:何度でも|ひかえめ
這是指這個劇本的觸發屬性
所謂何度でも|ひかえめ就是指這個劇本事件可以多次觸發,但是當有其他劇本的觸發時機是相同時,本劇本的順位在比較後面
何度でも=可多次觸發
ひかえめ=較弱的
然而,還有一種是『一度だけ』。這就代表此劇本事件只能觸發一次
 
所以關於這個事件屬性就能有以下幾種寫法
属性:一度だけ
属性:何度でも
属性:何度でも|ひかえめ
端看作者要讓此劇本事件發揮出什麼樣的功能而定
//----------------------
 
発生契機:評定開始時(主人公)
發生契機可以有很多種,上述的發生契機就是當主角自行發起評定時會觸發事件
串聯起上面的屬性,就代表當主角自己發起評定時,事件就會一直觸發
 
發生契機還有以下幾種範例
発生契機:ゲームスタート時  (遊戲開始時)
発生契機:人物会話時    (人物對話時)
発生契機:野戦開始時    (野戰開始時)
発生契機:野戦終了時    (野戰結束時)....... 等等。不只這些,這只是舉例
 
//----------------------
 
発生条件:{
}
注意這地方就得加上『}』『{』,而發生條件要編寫在這其中
發生條件可以設定成某月某日,或者主角是否身分時會觸發事件
或者是身上有多少錢,或者是城內有多少兵等等等等
         発生条件:{
         OR調査:{
         調査:(人物::主人公.身分)==(大名)
         調査:(人物::主人公.身分)==(国主)
         調査:(人物::主人公.身分)==(城主)
         }
就表示當主角的身分是大名、國主或是城主時,當主角發起評定就會觸發事件
以下範例
         発生条件:{
         調査:(人物::主人公.身分)>=(上忍)
         調査:(人物::主人公.身分)!=(中忍)
         調査:(人物::主人公.身分)!=(下忍)
         調査:(人物::主人公.身分)!=(頭)
         調査:(人物::主人公.武力)>=(75)  
         調査:(人物::主人公.忍術技能)>=(3)
         調査:(人物::主人公.弓術技能)>=(3)
         調査:(人物::主人公.武芸技能)>=(4)
         調査:(人物::主人公.所属上司)==(発生人物)
         調査:(Rnd100)<=(99)
         }//條件結束
當主角的身分大於等於上忍,不等於中忍、不等於下忍、也不等於忍頭時
同時主角武力大於等於75,忍術、弓術技能大於等於3,武藝技能大於等於4
調査:(人物::主人公.所属上司)==(発生人物)
↑這句的意思是在這劇本中將主角的上司定義成『發生人物』
調査:(Rnd100)<=(99)
↑這句的意思是此事件滿足以上條件時,99%會觸發
如果是調査:(Rnd100)<=(40),則代表只有40%的機率會觸發
再一個範例
         発生条件:{
         調査:(状況::日)>=(15)
         OR調査:{
         調査:(状況::月)==(1)
         調査:(状況::月)==(4)   
         調査:(状況::月)==(7)   
         }//OR調查結束
         }//条件结束
以上的範例是指此事件的發生條件在每年的1、4、7月的15號以後會觸發
 
//----------------------
 
  コンテナ設定:(人物,所属上司,主人公)
  コンテナ除外:(人物,死亡フラグ,死亡)
  コンテナ除外:(人物,出撃フラグ,出撃中)
  コンテナ除外:(人物,病気フラグ,病気)
  コンテナ除外:(人物,人物番号,主人公)
  コンテナ絞り込み:(人物,出現フラグ,出現済み)
  コンテナソート:(人物,身分,降順)
  コンテナ選択:(人物B,先頭)
 
以上這段是比較進階的用法,下面再解釋
 
//----------------------
 
  会話:(主人公,人物B)[[我要下野]]
  会話:(人物B,主人公)[[好,請指定家督]]
 
這句在遊戲中會表現成這樣
主角的頭像出現,然後說:『我要下野』
然後由作者定義出來的一個叫做人物B的人說出:『好,請指定家督』
 
//----------------------
 
  代入a:(主人公.武士勲功)
  更新:(人物::人物A.元配下フラグ)(元配下)
  更新:(人物::人物A.関係者経緯)(円満)
  家督を譲る:(主人公,人物A)
  人物解雇:(主人公,無効,出現済み)
  外に出す:
  会話:(主人公,人物A)[[成功下野了]]
  更新:(主人公.武士勲功)(a)
 
//----------------------
 
代入a:(主人公.武士勲功) ←將『a』定義成目前主角的武士功勳值
然後下面使用 更新:(主人公.武士勲功)(a),讓主角的功勳值恢復成『a』
為什麼要有這兩句?
當主角從足輕頭升到城主甚至大名時,其功勛一定會累積到一個數字
假設是44000好了
主角下野時,其功勳值會被遊戲改變(一般改變成1500)
那不就可惜了嗎?我們希望功勳值能被保留
所以我們先代入a,把a定義成44000。
然後主角下野後再把a代回去更新,讓主角功勳值恢復成44000
 
更新:(人物::人物A.元配下フラグ)(元配下)
更新:(人物::人物A.関係者経緯)(円満)

↑這兩句的意思是讓人物A跟主角的關係產生變化
範例中是指人物A是主角的『原』配下,而人物A跟主角的關係是『圓滿』
同樣的屬於元配下フラグ就有好幾種用法,例如
元同僚元上司或無關係
関係者経緯也有幾種不同的關係,例如
主人公が裏切ったこの武将が裏切った
 
家督を譲る:(主人公,人物A)
人物解雇:(主人公,無効,出現済み)
外に出す:
↑所謂家督讓就是指主角將家督的位置讓給人物A
而人物解雇就代表著主角被解雇,也就是主角從原來的大名家被解雇而達成下野
人物解雇:(主人公,無効,出現済み)
主人公=被解僱者
無效=這個地方指被解僱後自家會設在哪個町,無效就是在城旁邊最近的那個町
出現済み=此町已經在遊戲中出現了
 
你也可以寫成這樣
人物解雇:(人物A,土崎湊の町,出現済み)
則人物A被解僱後就會在土崎湊の町城為浪人
 
或者是
武将死亡:(人物A)
這樣寫的話,人物A就會強制死亡
如果是這樣呢?
武将死亡:(主人公)
則遊戲就會強制結束了,這一般用在戰鬥結束的勝利或敗北分歧中的應用
 
外に出す:
↑這是指主角從評定廳外出
照此劇本這樣的寫法,主角外出後就會回到剛入城的那個畫面
為什麼會這樣應用?就代表主角已經完成了下野的動作,這時人就應該要出到城外
 
同樣的指令你也可以使用施設出る這個命令
 
//----------------------
 
更新:(イベントフラグ::跨職業仕官-下野)(成立)
↑我們一開始將這個劇本的名稱定義成『跨職業仕官-下野
則這個命令就是要讓這個劇本等於『成立』
 
就如很多官方的原有劇本中,信長要奪取稻葉山之後才能改成岐阜城
所已奪取稻葉山的劇本要先成立,接著才有辦法觸發改名成岐阜城
為什麼在此會使用到這個命令?因為我們下野後還必須讓主角有機會回來取回家督
 
這個接下一篇再繼續說明
 
//----------------------
 
 
 
 
 
5
-
未登入的勇者,要加入討論嗎?
板務人員:歡迎申請板主

416 筆精華,01/06 更新
一個月內新增 0
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】