顯示廣告
隱藏 ✕
Disp BBS guest 註冊 登入(i) 線上人數: 95
看板 Tennyleaz
作者 Tennyleaz(Tenny)
標題 Kag EX 擴充指令
時間 2010年05月26日 Wed. AM 12:22:51


Title: 吉里吉里/KAGEX 相關文檔
Author: 合資會社ワムソフト 渡邊剛
Translator: 全局變量D

●吉里吉里/KAGEX 概要

KAGEX 對吉里吉里/KAG 在 layer 方面進行了大量的機能擴張。

而 KAG 本體的基本功能完整保留。關於 KAG 的詳細說明,

 http://devdoc.kikyou.info/tvp/docs/kag3doc/contents/

請參考以上頁面。

●文件夾組成

krkr.exe
	
	
吉里吉里主程序
plugin/
	
	
	
插件

※插件文件夾中,實際上需要的是以下兩個文件
  layerExImage.dll
  wuvorbis.dll

savedata/
	
	
存檔文件夾

data/
	
	
	
遊戲資料夾
	
system/
	
	
系統
	
bgimage/
	
背景圖片
	
bgm/
	
	
BGM檔
	
fgimage/
	
前景圖片
	
image/
	
	
其他圖片
	
others/
	
	
其他檔案
	
rule/
	
	
畫面切換用規則圖片
	
scenario/
	
劇本檔
	
sound/
	
	
音效檔
	
video/
	
	
影片文件
	
startup.tjs
	
吉里吉里起動文件
	
envinit.tjs
	
系統定義文件(KAG技能擴張用)

※遊戲資料夾部分,具體文件是如何放置的並沒有關係。

●擴張技能說明

◇追加層

◆增加特殊層

加入了以下的2層全畫面層。

stage
	
(舞台層)深度位於背景層之上,前景層之下。
event
	
(事件層)深度位於前景層之上,消息層之下。
	
	

※實際上,前景層由於「水平」這一概念的增加,也可能顯示在事件層之上。

本來的 KAG 系統「背景」即是使用 base 層顯示, base 層由於
吉里吉里本身的設定限制,無法自由移動。
因此,KAGEX 加入了為實現背景捲動效果的特殊層(舞台層)。

此外,為「事件畫面」的顯示方便,前景層之上,增加了專門的事件層。

相比原版的KAG,KAGEX 的層構造變為如下圖所示

-- -- -- --  messages (KAG消息層)
-- -- -- --  layers (KAG前景層:level5~8)
-----------  event
-- -- -- --  layers (KAG前景層:level0~4)
-----------  stage
-----------  base(KAG背景層)

◆前景層追加水平(level)概念

KAG 本來的前景層,是按照其編號決定顯示順位的。
KAGEX 則增加了「level」這一概念,由level單位來決定顯示順位。

・「level」的值越小,則層的顯示順位越低。
・在同一「level」值的層中,可以把層移動到「最前排」「最後排」。

◆layopt (擴張)

stage / event 和前景層一樣,可以用 layopt 指令進行操作。
layopt 指令則增加了以下幾個屬性。

屬性
	
rotate  角度
	
zoomx   橫方向放大率
	
zoomy   縱方向放大率
	
zoom    放大率
	
afx     旋轉・放大的原點X坐標 center/left/right
	
	
	
或使用該點距離圖片左上點的相對坐標。
	
afy     旋轉・放大的原點Y坐標 center/top/bottom
	
	
	
或使用該點距離圖片左上點的相對坐標。
	
type    合成模式
	
	
	
http://devdoc.kikyou.info/tvp/docs/kr2doc/contents/index.html
	
reset   層動作與層屬性的初期化
	
	
	
※opacity 和 type 則重設為圖像讀入時的設定

◆laylevel (新增)

前景層顯示水平設定。

屬性
	
layer (指定設定的前景層等)
	
page (省略時默認為 fore)  
	
level  表示 level
	
    表示level:layfront/layback 的分組對象(level值相同的層視為同一組)。
	
    表示level越大,顯示順位越靠前。

◆layfront (新增)

指定層移動到同一level值的所有層中的最前排

屬性
	
layer (指定設定的前景層等)
	
page (省略時默認為 fore)  

◆layback (新增)

指定層移動到同一level值的所有層中的最後排

屬性
	
layer (指定設定的前景層等)
	
page (省略時默認為 fore)  

◆clearlayers (新增)

清除所有層內容,停止執行。

屬性
	
page 的表或裡

◆action (新增)

針對 stage / event 及前景層增加的指令,
設定層的自動動作效果

屬性
	
layer 指定需要操作的層(前景/stage/event)
	
page 指定操作的是層的表頁或裡頁
	
module 動作效果指定
	

※一些動作效果擁有其獨有的屬性。
 具體動作效果的詳細說明,請參考 action.txt。

◆stopaction (新增)

停止指定層的動作。
不指定層的情況下,停止所有層的動作效果。

屬性
	
layer 指定需要操作的層(前景/stage/event)
	
page 指定操作的是層的表頁或裡頁

◆wact (新增)

等待指定層的動作效果結束。
不指定層的情況下,等待全部層動作結束。

屬性
	
layer 指定需要操作的層(前景/stage/event)
	
page 指定操作的是層的表頁或裡頁
	
canskip 値 true(默認) 或者 false
	
	
	
true 的情況下可以點擊跳過動畫效果。

◆button (擴張)

可以單獨指定按鈕各個點擊狀態的圖片。

屬性
	
normal
	
通常時的圖片
	
over    鼠標移動到按鈕上時的圖片
	
省略則使用與 normal 同一張圖片
	
on
	
點下鼠標時的圖片
	
	
省略則使用與 over 同一張圖片
	
focus
	
focus時的圖片
	
	
        省略時則使用與 focus 同一張圖片(譯註:帶focus的按鈕俺沒有用過,不清楚)

◆slider (新增)

在消息層上設置滑動槽(slider bar)。

屬性
	
exp
	
	
commit 時執行的 TJS 式
	
bgcolor
	
	
背景色
	
opacity
	
	
背景透明度
	
value
	
	
連動變數名。指定後的情況
	
	
	
	
(1)指定的變數的值,作為滑動槽的初期值
	
	
	
	
(2)滑動槽移動時,變數相應改變
	
position
	
初期值
	
※onchange
	
(經實驗似乎未實裝)當滑動槽被拖動時執行的TJS式
        ※min           指定允許設定的最小值,默認為0
        ※max           指定允許設定的最大值,默認為100

	
base
	
	
背景畫像名。
	
	
	
	
指定了背景圖片的情況下, width 和 height 用於設定背景圖片的大小
	
width
	
	
背景寬
	
height
	
	
背景高
	
tab
	
	
	
滑動按鈕圖片(一起設定) normal / on / over 以此順序排列(譯註:類似普通按鈕的graphic……吧?)
	
normal
	
	
滑動按鈕通常時的圖片(分離)
	
over
	
	
滑動按鈕鼠標移動到按鈕上時的圖片(分離)
	
on
	
	
滑動按鈕點下鼠標時的圖片(分離)

◆sysbutton (新增)

在消息層上( message0 )設置系統按鈕。

屬性
	
normal
	
	
通常時的圖片
	
over    
	
鼠標移動到按鈕上時的圖片
	
省略則使用與 normal 同一張圖片
	
on
	
	
點下鼠標時的圖片
	
	
省略則使用與 over 同一張圖片
	
focus
	
	
focus時的圖片
	
	
        省略時則使用與 focus 同一張圖片

	
graphic
	
	
按鈕圖片(一起設定)
	
graphickey
	
按鈕圖片透明色
	
x
	
	
	
表示位置
	
y
	
	
	
表示位置
	
hint
	
	
對按鈕的註釋(移動到按鈕上後顯示浮動小說明框)
	
exp
	
	
按鈕按下時執行的 TJS 式
	
clickse
	
	
按鈕按下時的SE(音效)
	
clicksebuf
	
按鈕按下時的SE 使用聲道
	
onenter
	
	
鼠標移到按鈕上時(enter時) 執行的 TJS 式
	
enterse
	
	
enter時的 SE
	
entersebuf
	
enter時的 SE 使用聲道
	
onleave
	
	
鼠標從按鈕上移開時(leave時) 執行的 TJS 式
	
leavese
	
	
leave時的 SE
	
leavesebuf
	
leave時的 SE 使用聲道
	
recthit
	
	
同一般按鈕的屬性
	
enabled
	
	
系統按鈕有效
	
disabled
	
系統按鈕無效
        譯註:以下兩個屬性非常有用,然而文檔裡沒有提到,於是自行加上了
        ※name          每個系統按鈕必須指定的屬性,用於區別系統按鈕(沒有這個屬性的話根本就會一直出錯……|||)
        ※noStable      為真時,在「行走中」(例如切換效果中,自動前進中時),按鈕也有效,為假時,和普通按鈕相同

◆csysbutton (新增)

清除已定義的系統按鈕

◆timeout (新增)

當前操作的消息層,增加timeout處理。(製作限時選項等時使用,用在[s]之前)

屬性
	
time
	
 等待玩家選擇的限制時間
	
storage
	
 超時的情況下跳轉到的劇本檔
	
target
	
 超時的情況下跳轉到的標籤

◆click (新功能)

增加在當前消息層點擊鼠標左鍵(click)的處理。可以設定在沒有按鈕/選項的地方點下左鍵時,將執行的操作。

屬性
	
storage
	
	
click時跳轉到的文件名
	
target
	
	
click時跳轉到的標籤名
	
exp
	
	
click實行時執行的TJS式
	
cickse
	
	
click實行時播放的SE
	
clicksebuf
	
click實行時播放的SE編號

◆beginskip (新功能)

鼠標點擊的情況下,到 endskip 標誌為止的腳本,將會進行強制略過處理。
beginskip 到 endskip 為止的部分,請不要加入skip相關的操作,因為可能會造成錯誤。
※假如使用jump或其他指令跳到了別的劇本檔,skip將自動解除。

beginskip 不能進行嵌套。
嵌套的話會出現錯誤。

◆endskip (新功能)

表示特殊略過模式的停止標記。


◇Sound Rack 擴張

◆聲音控制全部

音量控制方法

 直接指定
    KAG 的 [bgmopt] [seopt] 指令,可以直接控制音量大小。
 
  漸變指定
    KAG 的 [fadebgm] [fadese] 指令,可以平滑地調整播放中音樂的音量大小。
 
  循環(loop)的控制
    請使用吉里吉里的LoopTuner工具。
  http://devdoc.kikyou.info/tvp/docs/kr2doc/contents/LoopTuner.html

    使用該工具,例如
      在 bgm01.ogg 對應的 bgm01.ogg.sli 內,設定循環效果。
   製作這樣的循環控制文件。吉里吉里將根據sli文件執行循環效果。

  從任意位置開始播放(擴張機能)
  (1) 使用LoopTuner在音樂檔中設定標籤
    (2) playbgm / playse / fadeinbgm / fadeinse 中,用 start 屬性指定開始播放的標籤

◆playbgm/playse/fadeinbgm/fadeinse (擴張)

從任意位置開始播放

屬性
	
start  指定開始播放的標籤。使用在LoopTuner中設定的標籤名。

◆fadepausebgm (新命令)

BGM 音量漸小,直到暫停

屬性
	
time
	
時間(ms単位)
	
	
	
fadeout 用時,以 ms (毫秒)為單位指定。
	
	
	
例如 time 設為 3000 ,則音樂在 3 秒內淡出。

◆setbgmstop (新命令)

指定BGM 播放完時執行的動作。
BGM 改變時,這個設定自動無效。

屬性
	
storage
	
	
BGM 播放完後跳轉到的劇本檔
	
target
	
	
BGM 播放完後跳轉到的標籤
	
exp
	
	
BGM 播放完後執行的tjs式

◆clearbgmstop (新命令)

清除 setbgmstop 的設定。


◆setbgmlabel (新命令)

BGM 播放時,播放到BGM內建標記時進行的動作,可登陸多個標籤。
BGM 改變時,這個設定自動無效。

屬性
	
name
	
	
標記名
	
storage
	
	
通過標記時跳轉到的劇本檔
	
target
	
	
通過標記時跳轉到的標籤
	
exp
	
	
通過標記時執行的tjs式
	


◆clearbgmlabel (新命令)

清除 setbgmlabel  的設定。


◇表示系擴張

◆linemode (擴張)

KAG 換行模式的切換。
使用本指令的話,在消息窗口樣式的作品中,
[l]或[cm]之類的指令,可以省略。

屬性
	
mode
	
line 或者 page
	
	
	
未指定時,按照 KAG 默認設定。

換行: 在輸入文本時直接使用Enter換行。
空行: 在文本段落間空一行。
可以實現用Enter換行的效果和使用了[r]一樣。

line 的情況:
	
換行:相當於執行[l](等待)
	
空行:無視
	
[p] :通常機能

page 的情況:
	
換行:[p] +自動消去文字
	
空行:無視

vn 的情況:
	
換行:相當於執行[l](等待)
	
空行:[p] +自動消去文字

tex 的情況:
	
換行:無視
	
空行:[p] +自動消去文字

free 的情況:
	
換行:換行
	
空行:[p] +自動消去文字

自動消去文字指的是「下一行文本開始顯示時」執行類似 [er] 的效果。
想要實現 [p] 之後即自動消除文字的效果的話、請把 erafterpage 設為true。

此外、linemode為有效的情況下,行頭有

【名字/表示名】

這種形式的記述文字的話,
將自動呼叫顯示名字命令 namedisp(名字,表示名) 。
默認情況下, namedisp 對表示的文字不做任何處理,按原樣顯示。

使用「world擴張插件」的情況,請參考 kag3plugin/world/world.txt 。

◆craftername(新功能)

line mode情況下,名字標記【名字/表示名】之後是否換行的效果

屬性
	
mode
	
true 的話,名字標記後的換行無效。false 的話,則會自動換行。

--------------------------------------
【瑠璃子】くすくす

【瑠璃子】
くすくす
--------------------------------------

craftername mode=true 的情況下,以上兩個句子的執行效果是一樣的。

◆erafterpage(新功能)

[p] 之後自動執行 [er] 指令。

屬性
	
mode
	
true 的話 [p] 執行之後自動執行 [er] 指令。

注意點
 erafterpage為true的話、line mode的自動消去
 (下一段文字表示前自動執行[er])將無效。

◆autoindent (新功能)

有效的場合、名字之後有 「「」 或者 「『」的文字段,
自動加入indent(縮進)效果。

屬性
	
mode
	
true 或者 false

◆autolabelmode (新功能)

設為true的話,執行到 [p] 即自動設定可保存標籤。
※linemode為有效的情況下,linemode自動加入的 [p] 也有同樣效果。

這種情況下,由[p]加入的自動標籤,已讀管理時,並不是單純記錄標籤名,
而是以「標籤名+距離標籤的行數」來記錄。(可以理解,因為自動標籤的名字只有「autolabel」一個,如果只記錄標籤名就全亂了……)

屬性
	
mode
	
true 或 false

注意點:
 mode之間最好不要進行切換。在first.ks 設定以後
  最好就不要再改動了。

 autolabelmode的情況下,記錄的檔案讀取時依賴「行數」的設定,因此
  假如存檔之後,劇本檔有改寫,即使原來的標籤保留著,也未必能保證正確讀取。
  請注意這一點。

◇選擇支功能擴張(新功能)

和 Link 不同的專用選擇按鈕功能。

◆selopt

選擇支用條件初期化

屬性
	
normal
	
button normal圖像
	
over    button over圖像
	
left
	
button配置領域左上點x
	
top
	
button配置領域左上點y
	
width
	
button配置領域寬
	
height
	
button配置領域高

◆seladd

添加選擇支

屬性
  text    選擇支按鈕上顯示的文字
 storage 選擇後跳轉到的劇本檔
  target  選擇後跳轉到的標籤
  exp     點下時執行的TJS式

  依靠變數分歧的情況下請用exp、直接跳轉的情況下請用
  storage/target

◆select

  選擇處理執行(估計就是等待玩家選擇的指令,相當於[s])

  storage/target 指定的情況下、選択處理之後、
  跳躍到相應的目標。exp 的情況下, [select] 之後(玩家點選之後)執行 TJS 式。

◆mselinit

地圖選擇按鈕的初期化,將已經登陸的可選地點信息消除。

◆mselbutton

用於地圖選擇的按鈕設定。

屬性
	
image
	
	
圖片指定。
	
width
	
	
圖片橫幅指定(省略可能)
	
height
	
	
圖片縦幅指定(省略可能)
	
count
	
	
圖片動畫樣式指定(height已經指定的話可以省略這個)

	
地圖選擇的按鈕圖片 
     縦方向:動畫樣式 
   橫方向:normal over 的順序聯排
  這樣的形式。動畫樣式的數量(幀數?)使用 count 進行指定。

◆mselpos

用於地圖選擇的按鈕位置設定

屬性
	
name
	
	
位置的名字
	
left
	
	
X方向座標
	
top
	
	
Y方向座標

多個按鈕都指定在同一位置的話、
以座標位置為中心,向左右方向延伸並排顯示。

◆mseladd

添加地圖用選擇按鈕。

屬性
  text    選擇按鈕上顯示的文字 (mselopt 裡記錄的東西)
  pos     顯示的位置 (mse 裡記錄的東西|估計是說的mselops的name屬性,指定時候就用pos=name的形式)
 storage 選擇後跳轉到的劇本檔
  target  選擇後跳轉到的標籤
  exp     點下時執行的TJS式

◆mselopt

地圖用選擇按鈕的option指定

屬性
	
interval
	
	
地圖用選擇按鈕動畫樣式播放每幀間隔時間
	
buttonWidth
	
	
同個位置指定了多個button時,button的間距
	
enterse
	
	
	
enter 時 SE 指定
	
leavese
	
	
	
leave 時 SE 指定
	
clickse
	
	
	
click 時 SE 指定
	
frame
	
	
	
背景畫像指定(估計是地圖圖像?)
	
frameKey
	
frameColor
	
frameOpacity

◆mselect

  選擇處理執行(等待玩家點擊)

◇scene回想機能(新功能)

為實現「scene回想」的輔助指令。

A: 劇本檔中進行指定

1. 希望進行scene回想的部分使用
-------------------
*kaisouBegin數字編號
......
*kaisouEnd數字編號
-------------------
這樣的標籤括起來。

2. recollection 指令指定no(編號)的話就可以進行「scene回想」 。

這種方式、利用了savedata進行回想的保存。
所以、savedata有矛盾的話這個功能也會受影響。

B: 回想用的劇本檔是另外設定的情況下

1. 回想用劇本檔和原本執行的文本不同
   在該劇本檔的末尾用 endrecollection 指令
2. recoillection 指令中指定 storage/target 呼叫回想用劇本檔

◆recollection

呼叫回想處理。 (效果和 kag.startRecollection(elm) 等價)
呼叫成功的話就無法返回,請注意。(估計是說效果等於是跳轉,而不是call)

no 呼叫回想的情況下,必須通過 *kaisouBegin番號 
才能有效果。以確認 system flag(系統變量)的
trail_劇本檔名_*kaisouBegin數字編號是否為真為標準。
這種情況下,執行到 *kaisouEnd數字編號 的標籤則回想結束。

不指定 no 的情況下,指定 storage/target 也可以。這種情況下、
endrecollection 命令標記回想結束。

屬性
	
no 回想番號
	
storage 回想用劇本檔
	
target  回想用標籤
	
doneStorage 回想終了後跳轉到的劇本檔
	
doneTarget  回想終了後跳轉到的標籤


回想處理中は…
・kag.isRecollection 為 true
・禁止存儲相關的動作
・照常進行已讀記錄等

◆endrecollection

回想處理結束。
recollection 結束,轉到結束處理。

◆stoprecollection

回想處理強制停止。
回想狀態解除。

◇ askYesNo 函數樣式變更

askYesNo 相關大量更改。
這是為了能在 KAG 裡進行調用而做的修改,請注意。

過去的askYesNo函數:

  askYesNo(message, title)

 在對話框關閉前禁止一切TJS式執行,並且返回選擇結果YES/NO。

新的askYesNo函數:

  askYesNo(message, title, yesFunc, noFunc, param, doneFunc);

  yesFunc  : YES 的情況下執行的函數
  noFunc   : NO 的情況下執行的函數
  param    : 傳遞給各種function的param(參數)
  doneFunc : 無論 yes 的情況或 no 的情況均執行的函數

  返回值:無
  
 注意點:
  執行後正常返回應該是「可能」的、這只是假想,
  需要實際測試驗證。

◇layer dialogue 拡張

樣式未確定,因此詳細情況不公開(估計這就是傳說中的圖片對話框!!!)

◇MessageWindow 拡張

對於

「名字層」

「表情層」

  進行的擴展。

◇系統變數的擴張

增加了以下這些特殊用的系統變數

◆動作控制用変數

allskip
	
	
false: 進行skip時只跳已讀 true: 進行skip時全部跳過
afterauto
	
false: 進行選擇之後auto狀態解除 true: 進行選擇之後auto狀態繼續
afterskip
	
false: 進行選擇之後skip狀態解除 true: 進行選擇之後skip狀態繼續

◆系統設定用變數

textspeed
	
	
文字速度指定 0~10 (10為瞬間顯示)
autospeed
	
	
對話自動前進等待速度 0~10
drawspeed
	
	
描繪系列描繪速度的調整 1.0:通常 0:瞬間
noeffect
	
	
drawspeed 對應的描繪速度效果 true/false 指定
bgmenable
	
	
BGM 有效/無效
bgmvolume
	
	
BGM 的音量 0~100
seenable
	
	
SE 有效/無效
sevolume
	
	
SE 的音量  0~100

◆voice 關聯的變數・方法

※這些在只使用 KAGEX 単體的情況下沒有意義,只是有這些變數值而已。
  必須配合 WORLD 插件的 voice 功能使用。

voiceenable
	
	
voice有効
voicevolume    
	
voice 的音量 0~100
getVoiceOn(name)
	
    指定名字的角色 voice 有効
getVoiceVolume(name)        指定名字的角色 voice 音量取得
setVoiceVolkume(name,vol)   指定名字的角色 voice 音量設定

--
※ 來源: DISP BBS 看板: Tennyleaz 文章連結: http://disp.cc/b/98-2Gv
※ 作者: Tennyleaz  來自: 140.113.138.26  時間: 2010-05-26 00:22:51
※ 看板: Tennyleaz 文章推薦值: 0 目前人氣: 0 累積人氣: 739 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇