簡介

這裡的櫻花腳本(SakuraScript)是以 SSP 2.3.97 版本所擁有的所有語法為基準,提供各語法的說明與使用範例。注意,這裡提供的語法列表是給進階的開發者作為參考,如果你是新手的話,這篇SakuraScript文章中所介紹的語法已足夠你大多數情況下的需求,可別被這裡的進階資料給嚇到了。(笑)

櫻花腳本的作用域

如果想要表示“\”不被作為櫻花腳本的開始時使用符號“\\”。
同樣不被作為環境變數嵌入標籤的“%”時使用“\%”。
在方括號內帶參數的標記(\q[標籤名稱,ID]等)內,“]”寫為“\]”。
在方括號內多個參數的標籤第2個參數後,“,”作為參數內容時,整個參數用“”圍起作為一個參數表示。
例:\![raise,OnTest,"100,2"]

櫻花腳本的生命週期

基本上,直到腳本結束(\e執行時)。在下一腳本的執行時釋放。
如果有例外,請查看個別櫻花腳本的說明。

作用域

\0 或 \h

  • 切換至春菜端作用域(\h屬於舊規格,建議改用\0)。

將作用域切換到主側人格角色。接下來的文字、對話都會顯示在春菜端的對話框上。等同於\p[0]。

範例:

\0你好。
春菜端的對話框顯示「你好。」。

\1 或 \u

  • 切換至使魔端作用域(\u屬於舊規格,建議改用\1)。

將作用域切換到副側人格角色。接下來的文字、對話都會顯示在使魔端的對話框上。等同於\p[1]。

範例:

\1你好。
使魔端的對話框顯示「你好。」。

\p[ID]

  • 泛用作用域變更

將目前的作用域換成指定ID的作用域。ID為2以後的角色作用域都必須使用此指令來指定。\p[0] = \0 = \h,\p[1] = \1 = \u。

動畫繪圖

\s[ID]

  • 切換圖像 將目前作用域所使用的圖像(Surface)改換為指定ID的圖像。當ID為-1時,圖像將被隱藏。當圖像設置文件中有設置圖像的別名(alias)時,括號內也可以是一字串。編號為0-9時可寫作\s0~\s9的形式。

\i[ID] or \i?

  • 指定動畫播放

要求目前所在的圖像(Surface)的動畫ID開始播放。動畫ID為surface.txt中所定義的編號,例如animation2.interval,never的情況下,其ID即為「2」。藉由這樣的方式,腳本便能更加細緻的操作動畫的效果。

範例:

\s[0]\i[1]
播放在surface0定義中動畫ID為1的動畫。

\i[ID,wait]

  • 等待指定動畫

\![anim,clear,ID]

  • 動畫強制中斷

強制中斷指定的動畫ID之動畫。

範例:

\s[0]\i[2]\w9\w9\![anim,clear,2]
播放ID=2的動畫,然後在0.9秒後中斷此動畫。

\![anim,pause,ID]

  • 動畫暫停

暫時停止被指定的動畫。

範例:

\s[0]\i[2]\w9\w9\![anim,pause,2]\w9\w9\![anim,resume,2]
播放ID=2的動畫0.9秒後,動畫暫時停止,經過0.9秒後繼續播放。

\![anim,resume,ID]

  • 動畫繼續

繼續播放被\![anim,pause,ID]指令所暫停的動畫。

範例:

\s[0]\i[2]\w9\w9\![anim,pause,2]\w9\w9\![anim,resume,2]
播放ID=2的動畫0.9秒後,動畫暫時停止,經過0.9秒後繼續播放。

\![anim,offset,ID,X座標,Y座標]

  • 動畫位置指定

指定某動畫的偏移量(顯示位置)。

範例:

\0\s[0]\i[2]\![anim,offset,2,20,0]\e
播放ID=2的動畫,並且下移20像素。

\__w[animation,ID]

  • 在指定動畫結束前待機。

\![bind,類型,名稱,(true/false/0/1)]

  • 切換衣物配件

將指定衣物配件的顯示狀態進行變更。在\0(主菜端)對話範圍時變更主菜的衣物,在\1(副菜端)時則變更副菜的。在\p[2]以下時沒有作用。若 省略名稱一欄,則其類型所屬的所有衣物將被同時設為顯示/不顯示。但通常來說一個類型只需要顯示一種衣物配件(總不至於把所有帽子全戴上吧…XD),所以 此功能主要用於脫下(不顯示)所有的衣物配件。
腳本執行後通知OnDressupChanged事件,然後通知OnNotifyDressupInfo事件。

\![lock,repaint]

  • 停止再繪圖

在\![unlock,repaint]指令還沒執行之前,停止一切的繪圖行為。會影響整個核心程式,對話框也將無法顯示。SSP的情況下效果僅限於此腳本。

範例:

\0\s[0]\w9\w9\s[10]\w9\w9\s[0]\![lock,repaint]\w9\w9\s[10]\w9\w9\s[0]\![unlock,repaint]\e
主菜圖像顯示,0.9秒後換為副菜圖像,0.9秒後再換回主菜圖像。接下來此動作重複一次,但因為停止再繪圖指令的關係而看不到圖片的切換。

\![unlock,repaint]

  • 允許再描繪

將\![lock,repaint]指令所禁止的再描繪功能重新啟用。

\![set,alignmenttodesktop,位置]

  • 設定人格視窗位置

設定現在使用的人格角色之視窗位置在桌面上的移動方式。位置有以下幾種:

top - 貼附上側移動。
bottom - 貼附下側移動。
left - 貼附左側移動。
right - 貼附右側移動。
free - 自由移動。
default - 恢復默認。

範例:

\0\s[0]\![set,alignmentondesktop,top]貼附到螢幕上端。\e
人格黏附到螢幕頂端後,顯示「貼附到螢幕上端」。

\![set,scaling]

  • 設定圖像放大率

可指定圖像(Surface)的放大比率。指定數值的單位為%。負值時則有左右/上下反轉的效果。

範例:

\![set,scaling,300]
等比放大為3倍大小。
\![set,scaling,200,50]
長度變為兩倍,寬度變為一半。
\![set,scaling,-100,100]
左右反轉。

\![set,alpha,不透明度%]

  • 設定圖像不透明度

設定圖像的不透明度。在不支援透明度的OS系統下無法使用。

\4

  • 角色分離

目前所在作用域的角色往遠離其他角色的方向移動。

範例:

\0\s[0]\1\s[10]準備離開。\4離開了。\e
使魔端顯示「準備離開。」後,稍微移動位置,再顯示「離開了。」。

\5

  • 角色靠近

目前所在作用域的角色往靠近其他角色的方向移動。

範例:

\0\s[0]\1\離開。\4\4\4\4接近。\5\e
使魔端顯示「離開。」後,遠離春菜端,顯示「接近。」後又往春菜端靠近。

\![move]

  • 移動人格圖像,異步移動用\![moveasync]

新仕様:(SSP 2.3.85以後)
\![move,--X=X座標,--Y=Y座標,--time=移動時間,--base=移動基準,--base-offset=基準目標之基準點,--move-offset=移動物之基準點,--option=配置項]
各項順序可變,可省略,忽略大小寫。
旧仕様:
\![move,X座標,Y座標,(移動時間),(基準目標),(基準目標之基準點),(移動物之基準點)]
根據指定的參數來移動人格圖像。移動時間以後的參數可省略。X座標、Y座標為目的地座標,可以為負值。如果要省略某一項的話,可以指定為「fix」,就會保留原座標。
移動時間以毫秒為單位,省略時則直接顯示在目標位置上。基準目標是在以其他角色的所在位置為基準,來進行相對的座標移動。
指定方法為輸入角色ID,例如指定0時即以主菜為基準物,指定1時則以副菜為基準物,以下皆同。以自己為基準物時為「me」,以螢幕為基準物時為 「screen」,以主螢幕為基準物時為「primaryscreen」,以系統座標為基準物時為「global」(windows時喝 primaryscreen相同)。省略時預設為「screen」。
基準點會決定指定基準物的座標原點,以「X基準.Y基準」的形式來指定。各形式有以下幾種類型:

X座標 - left,right,base,center。
Y座標 - top,bottom,base,center。

各有四種關鍵字,用法如「right.top」這樣來指定圖片右上方為原點。另外,base是根據surface.txt內的 point.basepos值來決定原點。省略時預設為left.top。另外,指定screen的情況下不可使用base,指定global的情況下不 可使用right,bottom,center。移動物的基準點設定法與目標設法一置。

配置項可以多次指定,指定方法如下。僅新仕様可以指定。
ignore-sticky-window - 無視\![set,sticky-window]的設定單獨移動。

範例:

\0\s[0]移動一。\![move,100,100]\e
移動一:圖像瞬間移動到桌面左上(100,100)的位置。
\0\s[0]移動二。\![move,200,fix]\e
移動二:圖像的X軸瞬間移到桌面左邊數來200像素的位置。
\0\s[0]移動三。\![move,100,100,600]\e
移動三:用0.6秒的時間移動到桌面(100,100)的位置。
\0\s[0]移動四。\![move,-100,100,,screen,right.top]\e
移動四:瞬間移動到桌面右上向左100像素、向下100像素的位置。
\0\s[0]移動五。\![move,100,,500,me]\e
移動五:圖像在0.5秒內右移100像素。
\0\s[0]移動六。\![move,0,0,0,1,right.bottom,left.bottom]\e
移動六:圖像瞬間移動到角色1(副菜)的右方。
\0\s[0]移動七。\![move,--X=80,--Y=-400,--time=2500,--base=screen,--base-offset=left.bottom,--move-offset=left.top]\e
移動七:本体側Surface左上像素位置(left.top),向画面左下(screen,left.bottom)起右方向80pixel上方向400pixel的座標在2.5秒內移動。

\![moveasync]

  • 異步移動人格圖像,參數使用和 \![move]一致。移動中可以通過\![moveasync,cancel]停止。

\![set,zorder,人格域ID,人格域ID,...]

  • 指定人格域的窗口按從左向右順序前置(SSP2.3.77新增)。

例:\![set,zorder,1,0]指定,\1窗口顯示在\0之前。
不同人格域ID的標籤多次執行,形成多個分組。
例:\![set,zorder,1,0] \![set,zorder,3,2] 執行,\1窗口顯示在\0之前,\p[3]顯示在\p[2]之前。
可以指定的人格域ID數量沒有制限,大量指定影響性能,最好是2~3個左右的程度。
另外,含有基礎的人格域ID的標籤執行錯誤時。變化組合時使用\![reset]重置。
人格結束為止有效。

\![reset,zorder]

  • zorder解除(SSP2.3.77新增)。多次執行包括descript的指定全部重置。

\![set,sticky-window,人格域ID,人格域ID,...]

  • 指定人格域窗口拖拽或\![move]移動中連著動作(SSP2.3.77新增)。

例如指定1,0,鼠標拖拽移動時、\0(相方側)和\1(本体側)窗口連著移動。
不同人格域ID的標籤多次執行,形成多個分組。
例:\![set,sticky-window,1,0] \![set,sticky-window,3,2] 執行,\1窗口連著\0,\p[3]連著\p[2]。
可以指定的人格域ID數量沒有制限,大量指定影響性能,最好是2~3個左右的程度。
另外,含有基礎的人格域ID的標籤執行錯誤時。變化組合時使用\![reset]重置。
\![set,alignmenttodesktop]制限了窗口位置時,制限優先。僅遵從X,Y隨意移動的一方。
\![move]標籤分組化的窗口内移動了1個時,其他的窗口也會跟隨。
然而move標籤 --option=ignore-sticky-window 設置時可以單獨移動。
人格結束為止有效。

\![reset,sticky-window]

  • sticky-window解除(SSP2.3.77新增)。多次執行包括descript的指定全部重置。

對話框和對話文本操作

\b[ID]

  • 切換對話框

根據ID編號來切換目前作用域所使用的對話框。ID指定-1時不顯示對話框。一般來說\b[2]為加大的對話框,在讀取線上新聞或內容較長的文章時 建議使用此種對話框。奇數ID預定為右側顯示對話框,核心程式會自行根據人格位置來自動轉換,因此在使用時請務必指定偶數ID。

範例:

\b[2]這是比一般對話框還大的對話框。
顯示「這是比一般對話框還大的對話框。」。

\_b[檔案路徑,X座標,Y座標]

  • 對話框顯示圖片。

有其他配置時\_b[檔案路徑,X座標,Y座標,opaque]或\_b[檔案路徑,X座標,Y座標,配置項,配置項...]。
文字內\_b[檔案路徑,inline],\_b[檔案路徑,inline,opaque]或\_b[檔案路徑,inline,配置項,配置項...]
檔案路徑可以是絕對路徑,也可以是shiori的相對路徑。路徑內可包含環境變量。檔案路徑也可以是base64或exe/dll的資源圖片。
在對話框的指定座標上插入圖片。以人格資料夾/ghost/master/為相對路徑。X與Y座標可指定為centerx,centery,圖片便會居中 顯示。顯示的圖片會以座標(0,0)的顏色作為透明色。如果不輸入X、Y座標而改輸入「inline」的話,會把圖片加在目前最後一個文字的後面。另外還 有兩種選擇性設置參數:

  • option=opaque - 不會將(0,0)的顏色視為透明色,因此圖片完全不透明。
  • option=use_self_alpha - 使用alpha通道。
  • cliping=X Y X Y - 根據座標從原本的圖片中切出一部份來貼出。

範例:

\_b[sample.png,centerx,9]
在對話框的行中央、列往下9間距的位置貼出sample.png。
測試中。\_b[sample.png,inline]測試完成。
圖片顯示在「測試中。」與「測試完成。」的中間。
\_b[sample.png,10,10,--option=opaque,--clipping=10 10 30 30]
截取sample.png從(10,10)到(30,30)的圖片到對話框上。
\_b["data:image/png;base64,iV~II"]
使用base64。
\_b[D:\hogehoge.exe,20]
使用exe/dll的資源圖片。

\n

  • 換行

將對話框的文字進行換行。單獨使用\n時會換行一行的高度,\n[half]則會換半行的高度。\n[150]這樣的寫法,則會換一行半的高度。同理可知\n等同於\n[100],\n[half]等同於\n[50]。

\_n

  • 設定自動改行

通常,文字超過對話框右端時便會自動換行,但使用此指令後將不會自動換行,直到下一個\_n出現或腳本結束為止。

\c

  • 清除對話框文字

將目前作用域的對話框所顯示的內容全部消去。接下來的文字會從最左上角繼續輸出。SSP追加了兩種消去方式:

\c[char,字數] - 會刪去指定字數的文字。
\c[line,行數] - 會刪去指定行數(註1)的文字。
\c[line,行數,開始位置] - 會刪去指定行開始的指定行數的文字。

註1:在此使用的行數,會把\n或\_l這類明確的換行指令視為一行。連續的\n或\_l指令也只會被視作一行。

範例:

\0\s[0]清除開始。\w9\c清除完成。\e
顯示「清除開始。」後,清除掉原有文字再顯示「清除完成。」。

\_l[x座標,y座標]

  • 指定文字輸出位置

可以根據座標來決定文字要輸出的位置。可使用「centerx」、「centery」來指定對話框中央的座標位置,或是使用「-」來沿用目前的軸座標。要是指定座標為對話框之外的話,只有上天才知道會發生什麼事情。

範例:

\0\s[0]\_l[centerx,0]1\_l[-,10]2\e
於對話框頂端的行中央開始,斜向顯示「1」、「2」兩個數字。

\C

  • 在對話的最前頭使用大寫的\C指令時,會保留並再次顯示上次對話框所輸出的文字內容,並從最底端開始輸出文字。此指定只有放在腳本最前頭時才有效。

\![set,autoscroll,disable]

  • 禁止對話框自動捲動

使目前作用域的對話框不會跟隨對話的進行而自動下向捲動,但手動捲動仍然有效。適合用於隱藏某些內容時使用。此指令的有效範圍僅限於此次的櫻語腳本。

範例:

\0\s[0]\1\s[10]\![set,autoscroll,disable]0\n1\n2\n3\n4\n5\n6\n\e
在使魔端的對話框上顯示行數。然而由於自動捲動被禁止,5與6並不會顯示出來。

\![set,autoscroll,enable]

  • 許可對話框自動捲動

將\![set,autoscroll,disable]指令所禁止的自動捲動功能重新啟用。

範例:

\0\s[0]\1\s[10]\![set,autoscroll,disable]0\n1\n2\n3\n4\n5\n6\n\w9\![set,autoscroll,enable]7\n8\e
在使魔端的對話框上顯示行數。一開始只會顯示到4,稍等一陣子後開始自動捲動,因而顯示後半的數值。

\![set,balloonoffset,x,y]

  • 改變對話框預設位置

利用此指令可將對話框設置的預設位置進行變更,在變更外形(Shell)或圖形比率時可以此進行微調。

\![set,balloonalign,(left|center/top|right|bottom|none)]

  • 改變對話框的方向。

\![set,balloonnum,文件名,現在数,最大数]

  • 接受文件時顯示的格式。

\![set,balloontimeout,時間]

  • 設定對話框逾時時間

指定對話框的逾時時間(經過此時間後會自動的關閉對話框)。單位為毫秒。小於或等0的話則不會自動關閉。原始的預設值由使用者指定。此指令有效範圍僅限單次腳本。

\![*]

  • 標誌

在游標所在位置上顯示對話框指定的SSTP標誌圖示,較常使用的情況是將其放在選項的前端來排版。

範例:

\0\s[0]\![*]←這個圖示就是標誌。
顯示了一個標誌後,隨即印出「←這個圖示就是標誌」字串。

\![enter,onlinemode]

  • 強制顯示在線標記。

\![leave,onlinemode]

  • 強制隱藏在線標記。

\![enter,nouserbreakmode]

  • 無效化中斷腳本的操作的模式。

\![leave,nouserbreakmode]

  • 解除無效化中斷腳本的操作的模式。

\![lock,balloonrepaint]

  • 停止重繪對話框。

\![unlock,balloonrepaint]

  • 解除\![lock,balloonrepaint]。

\_!

  • 跳脫指令(舊規格)

由此開始直到下一個\_!或\e為止的腳本都不會被當作指令來解釋,而是單純的輸出在對話框上。由於檔案路徑中可能含有「_!」這類的字串而造成語法錯誤,建議改用具有相同功能的\_?指令。

\_?

  • 跳脫指令

由此開始直到下一個\_?或\e為止的腳本都不會被當作指令來解釋,而是單純的輸出在對話框上。

字形顏色

\f[name,字形名稱]

  • 設定字形

將使用的字形改為指定的字形名稱。設置參數為default時變回預設值。

\f[height,數字]

  • 設定字體大小

將文字的大小改為指定的高度。設置參數為default時變回預設值。

\f[color,R,G,B]

  • 設定字體顏色

將字體改成指定的顏色。設置參數為default時變回預設值。SSP/2.01.73之後還可以用百分比形式\f[color,100%.,0 %,0%],或像HTML或CSS的顏色使用\f[color,red],\f[color,#FF0000],\f[color,#F00]。

\f[shadowcolor,R,G,B]

  • 設定文字陰影色

將文字的陰影色改為指定的顏色。設置參數為default時變回預設值。\f[shadowcolor,none]陰影無效化。

\f[outline,(true/1/false/0/default)]

  • 指定邊線

\f[anchor.font.color,色指定]

  • 變更錨點顏色。

\f[bold,true/false]

  • 設定粗體字

參數為true或1時,改變接下來的字體為粗體字。參數為false或0時則變回一般字體。設置參數為default時變回預設值。

\f[italic,true/false]

  • 設定斜體字

參數為true或1時,改變接下來的字體為斜體字。參數為false或0時則變回一般字體。設置參數為default時變回預設值。

\f[strike,ture/false]

  • 設定刪除線

參數為true或1時,接下來的字體會被加上刪除線。參數為false或0時則變回原樣。設置參數為default時變回預設值。

\f[underline,ture/false]

  • 設定底線

參數為true或1時,接下來的字體會加注底線。參數為false或0時則變回原樣。設置參數為default時變回預設值。

\f[sub,true/false]

  • 設定下標字

參數為true或1時,接下來的字體會置於目前文字的右下方。參數為false或0時則變回一般字體。設置參數為default時變回預設值。

範例:

H\f[sub,true]2\f[sub,false]O
顯示水的化學式。

\f[sup,true/false]

  • 設定上標字

參數為true或1時,接下來的字體會置於目前文字的右上方。參數為false或0時則變回一般字體。設置參數為default時變回預設值。

範例:

\_q4πr\f[sup,true]3\f[sup,false]\n[half]———\n[half] 3\_q
顯示球體的體積公式。

\f[default]

  • 初始化字體

將所有的對話框屬性改回預設值。

時間等待

\w?

  • 簡易等待

在對話腳本中插入等待時間,時間一過才會繼續腳本的運行。可指定\w1到\w9之間的指令,\w1的等待時間為50毫秒,\w9則為450毫秒。可 根據需求連續輸入等待指令,例如\w8\w8總計等待800毫秒(0.8秒)。若要詳細指定時間的話,請參照\_w[?]指令。

範例:

A\w2B\w4C\w6D\w8E
顯示「ABCDE」,字母間會暫停一段時間才顯示下一字母。

\_w[時間]

  • 高精度等待

可以根據中括號內的數值來精確指定等待時間,單位為毫秒。

範例:

\0\s[0]請等待一下。\_w[5000]好了。
顯示「請等待一下。」後,5秒後顯示「好了。」。

\__w[時間]

  • 絕對時間等待

以腳本開始的時間為基準,遇到此指令後腳本暫停,直到腳本總經過時間超過此指令的指定時間後,才繼續執行後面的腳本。當腳本中出現\x或\_w[clear]時,基準時間點也跟著被改變。

範例:

			"(無)",/
			"");

\x

  • 等待點擊

此指令出現後,腳本會暫停執行,直到使用者在對話框上用滑鼠點擊一下。點擊後,對話框會被全部清空,並繼續執行腳本。

範例:

\0\s[0]\1\s[10]等待點擊中。\x點擊了。\e
先顯示「等待點擊中。」,點擊後畫面清空並顯示「點擊了。」。

\x[noclear]

  • 等待點擊,\f效果保留。

\t

  • 開始關鍵對話

進入關鍵對話模式(Critical Session)。此時雙擊滑鼠、右鍵點擊等滑鼠動作全部無效,AI對話、線上新聞及信件確認等功能也全部沉默。作用週期從指令開始直到\e出現或腳本結束為止。

範例:

\0\s[0]\t這是關鍵對話。\x\e
顯示「這是關鍵對話。」

\_q

  • 速讀模式

輸出文字時沒有等待時間,會一口氣顯示到下一個\_q出現或腳本結束前的文字區段。

\![quicksession,false]

  • 停止速讀

停止速讀模式,文字顯示速度回復常速。與\_q指令不同的是,此指令直接修改對話的預設值,而非在ON/OFF之間開開關關。

\![quicksession,true]

  • 啟用速讀

啟用速讀模式,文字會一口氣顯示完畢,而不會一字一字的輸出。與\_q指令不同的是,此指令直接修改對話的預設值,而非在ON/OFF之間開開關關。

\_s

  • 合聲對話

以此指令所包圍的字串會同時被春菜端跟使魔端唸出來。

範例:

\0\s[0]\_s兩邊一起顯示。\_s一邊顯示。\e
「兩邊一起顯示。」會同時在兩邊的對話框中顯示出來,而「一邊顯示。」則只會顯示在春菜端的對話框上。

\_s[ID1,ID2,ID3...]

  • 多人合聲

以此指令所包圍的字串會同時被指定作用域的角色們唸出來。

範例:

\0\s[0]\_s[0,1]兩邊一起顯示。\_s一邊顯示。\e
「兩邊一起顯示。」會同時在春菜端及使魔端的對話框中顯示出來,而「一邊顯示。」則只會顯示在春菜端的對話框上。

\![wait,syncobject,同步對象名,超時時間]

  • 指定名同步對象(Windows上Mutex,Semaphore,Event)異步状態完成待機。 Mutex待機後解放、Semaphore待機後1解放、Event取得後無操作。 超時時間省略為0(腳本中斷為止)無限待機、1以上指定時指定毫秒間待機。

選項按鈕

\q[事件識別子][選項內容]

  • 選項附帶自動換行(舊規格)

與\q[選項內容,事件識別子]的功能一樣,選項間會自動換行。因屬於舊規格,現已不推薦使用。

\q[選項內容,事件識別子,r1,r2,...]

  • 顯示選項

顯示一個可點選的項目。當滑鼠進入選項區塊內時發生OnChoiceEnter事件,當選項被點選時發生OnChoiceSelect事件。若事件 識別子以On為開頭,將跳過OnChoiceSelect事件而直接引發名稱同識別子的「On...」事件,此時此事件的reference全部前移一 位。若事件識別子為一網址(http://...),點選後會直接開啟網頁,等同於\j指令的作用。

\z

  • 選項範圍終了(舊規格)

原本必須放在選項後端作為結尾,現已無使用的必要。即使輸入了也會被無視。

\__q[識別子,r1,r2,...]選項內容\__q

  • 選項附帶自動換行

與\q[選項內容,事件識別子]的功能一樣,選項會自動換行。

\*

  • 禁止逾時(舊規格)

在滑鼠點選任何一個選項之前,對話框都不會因逾時而關閉。由於屬於舊規格,建議改用\![set,choicetimeout]指令。

範例:

\*\q[確認,yes]\n\q[取消,no]\e
顯示「確認」及「取消」兩個選項。此選擇分歧並不會逾時。

\![set,choicetimeout,時間]

  • 設定選項逾時時間

指定選項的逾時時間(經過此時間後會自動的關閉對話框)。單位為毫秒,預設值為16000毫秒。小於或等0的話則不會自動關閉。此指令有效範圍僅限單次腳本。

\_a[識別子]

  • 錨點

以\_a[ID]指令到\_a之間包圍起來的字串會被視為一個錨點連結。點擊後會發生OnAnchorSelect事件。與一般選項指令\q的差別,在於沒有選項逾時的設置。一般用來注釋對話中出現的專有名詞。

範例:

\0\s[0]普通的字串\_a[anc]錨點字串\_a普通的字串\e
點擊「錨點字串」後,會發生reference0為「anc」的OnAnchorSelect事件。

選項標記

\f[cursorstyle,類型]

  • 設定選項標記 將選項的標記方式改成指定的類型。有以下三種表現方式:

square - 填滿文字背景色。
underline - 顯示下標線。
square+underline - 填滿背景色並加下標線。

設置參數為default時變回預設值。

\f[cursorcolor,R,G,B] or \f[cursorbrushcolor,R,G,B]

  • 設定選項方塊顏色

將包覆選項文字的方形區塊之顏色改成指定的顏色。設置參數為default時變回預設值。

\f[cursorpencolor,R,G,B]

  • 設定選項下標線顏色

將選項的下標線顏色改成指定的顏色。設置參數為default時變回預設值。

\f[cursorfontcolor,R,G,B]

  • 設定選項文字顏色

將選項內的文字改成指定的顏色。設置參數為default時變回預設值。

\f[cursormethod,描繪方法]

  • 設定描繪方法

變更描繪方法。使用Win32API的SetROP2函式而使得全Operator指定變得可能。設置參數為default時變回預設值。

\f[anchornotselectstyle,類型]

  • 設定非選中標記

\f[anchornotselectcolor,R,G,B] or \f[anchornotselectbrushcolor,R,G,B]

  • 設定非選中方塊顏色

\f[anchornotselectpencolor,R,G,B]

  • 設定非選中下標線顏色

\f[anchornotselectfontcolor,R,G,B]

  • 設定非選中文字顏色

\f[anchornotselectmethod,描繪方法]

  • 設定非選中描繪方法

\f[anchorvisitedstyle,類型]

  • 設定已訪問標記

\f[anchorvisitedcolor,R,G,B] or \f[anchorvisitedbrushcolor,R,G,B]

  • 設定已訪問方塊顏色

\f[anchorvisitedpencolor,R,G,B]

  • 設定已訪問下標線顏色

\f[anchorvisitedfontcolor,R,G,B]

  • 設定已訪問文字顏色

\f[anchorvisitedmethod,描繪方法]

  • 設定已訪問描繪方法

事件操作

\e

  • 腳本終了

意味著腳本到此結束,往後的腳本將不會被執行。除了少部份的事件不可以此作完結外,其餘腳本都應將此指令放在腳本終端。

範例:

\0\s[0]123\e456
由於\e中途插入的關係,此腳本只會顯示「123」。

\-

  • 人格終了

人格終了。要注意的是,當有複數人格被使用的時候,核心程式並不會終止。請務必在OnClose事件使用此指令,確實終止人格的運行。另外為了讓使用者來得及讀取其對話,建議插入一些等待指令。

範例:

\0\s[0]人格關閉中…\w8\-
顯示「人格關閉中…」後,人格終了。

\![updatebymyself]

  • 人格自我更新

開始進行人格本體的更新工作,並引發OnUpdate系列的事件。
SSP下可使用\![updatebymyself,checkonly]語法指令,會確認是否有更新但不會執行更新的動作,根據其結果引發OnUpdateCheckComplete或OnUpdateCheckFailure事件。

\![update,platform]

  • 核心程式更新

SSP2.00後實裝的功能,更新後人格結束(OnBasewareUpdating、OnClose)再起動(OnBasewareUpdated、OnBoot)。

\![update,更新對象]

  • 更新對象開始更新。

ghost、shell、balloon指定可能、同時更新時用「+」分割。
更新all時和\![updatebymyself]同義。
\![update,ghost+shell+balloon]時,和\![updatebymyself]不同的SSP本体設定強制的更新実行。
ghost以外更新時、發生更新SHIORI事件OnUpdateOtherReady,OnUpdateResult。

\6

  • 校準時間

開始校準時間,執行OnSNTPCompare。請勿在OnSNTPCorrect事件內使用此指令,會造成事件的死迴圈。

\7

  • 由腳本來執行校準時間的操作。

開始校準時間。執行OnSNTPBegin,結果執行OnSNTPCompare。

\![executesntp]

  • 等同\7。

範例:

\0\s[0]開始校準時間。\![executesntp]\e
顯示「開始校準時間。」後,進行校準時間的工作。

\![execute,headline,線上新聞名稱]

  • 執行線上新聞

執行指定名稱的線上新聞。

\![biff]

  • 信件確認

檢查所有e-mail帳號的信件。

範例:

\0\s[0]信件確認開始。\![biff]\e
顯示「信件確認開始。」後,執行信件確認的動作。

\![vanishbymyself]

  • 人格自我移除

執行此指令後,目前啟動中的人格會被刪除。

\+

  • 隨機切換人格(舊規格)

隨機切換成目前已安裝的任意一個人格。由於屬於舊規格,建議改用\![change,ghost,random]指令。

\_+

  • 循序切換人格(舊規格)

遵循現有的已安裝人格清單,切換成清單中目前人格的下一位人格。由於屬於舊規格,建議改用\![change,ghost,sequential]指令。

\![change,ghost,人格名稱]

  • 切換人格

將現在使用的人格切換為指定的人格。可以使用以下特殊名稱:

random - 在已安裝的人格中隨機選一個。
sequential - 以序列的方式(根據人格選單順序)變更人格。
lastinstalled - 最後安裝的人格。(SSP限定)

範例:

\![change,ghost,さくら]
變更人格為さくら。

\![change,shell,外形名稱]

  • 切換外形

將使用中的外形切換成指定的外形。可以使用以下特殊名稱:

lastinstalled - 最後安裝的外形。(SSP限定)

\![change,balloon,對話框名稱]

  • 切換對話框

將對話框切換成指定的對話框。可以使用以下特殊名稱:

lastinstalled - 最後安裝的對話框。(SSP限定)

\![call,ghost,人格名稱]

  • 呼叫人格

「呼叫」指定的人格。也就是說,在可處理複數人格的核心程式下,將會打開新的人格視窗並啟動另一個人格。

\v

  • 最上層顯示

使用此指令後,人格會顯示在桌面的最上層。由於使用者側會自行指定其顯示狀態,非必要的情況下請少用此指令。

\![set,windowstate,!stayontop]

  • 取消最上層顯示

將人格的顯示狀況設為不顯示在最上層。

\![set,windowstate,minimize]

  • 人格最小化

將人格縮小到工具列,停止顯示外形、對話框,並暫停一部份的事件活動。

\![set,windowstate,stayontop]

  • 指定最上層顯示

將人格的顯示狀況設為保持顯示在最上層。

\![set,wallpaper,檔案路徑]

  • 變更桌布

將指定的檔案設為桌面背景圖片。

\![set,trayballoon,(Option),(Option),...]

  • 顯示工具列對話框

在桌面工具列上的圖示上顯示一個Windows通知框,限用於Windows 2000/Me以後版本。根據結果會發生OnTrayBalloonClick或OnTrayBalloonTimeout事件,詳細內容請參照此二事件參照列表。
Option的項目次數及順序沒有限制,根據類型分為以下幾種:

  • title=(標題) - 對話框的標題(粗體部份)所顯示的字串。
  • text=(內容) - 對話框顯示的字串,複數指定的話就會顯示複數行。
  • icon=(圖示種類) - 設定對話框的圖示,標準設定為none。info = 情報圖示(藍色的i)。
    error = 錯誤圖示(紅色的x)。
    warning = 警告圖示(黃色的!)。
    none = 無。
  • timeout=(秒數) - 指定對話框的自動消去時間。

範例:

\![set,trayballoon,--icon=info,--timeout=10,--title=測試!,--text=第一行。,--text=第二行。]
桌面工具列上跳出一個標題為「測試!」,圖示為資訊圖示,內容為兩行字串的Windows通知框。

\![set,trayicon,圖示所在路徑]

  • 更改人格圖示

改變桌面工具列上的人格圖示,檔案以ghost/master/為相對路徑。

\![set,otherghosttalk,(true/false/before/after)]

  • 聽取其他人格對話

可以設定是否要將其他人格的對話內容通知給目前人格知道。預設為false。詳細內容請參照OnOtherGhostTalk事件。

\![set,othersurfacechange,(true/false)]

  • 設定是否通知OnOtherSurfaceChange。

\![raise,事件識別子,r0,r1,...,r7]

  • 觸發使用者事件

會觸發識別子所指定的事件,其後的引數則依序被作為被觸發事件的reference0、reference1、…。

範例:

\![raise,OnUserEvent,參照一,參照二]
事件「OnUserEvent」發生,reference0=「參照一」,reference1=「參照二」。

\![embed,事件名稱,Ref0,Ref1...]

  • 使用者定義事件結果置入

以與\![raise]指令相同要領的方式使之執行後,會將此事件結果置入現在執行中的腳本當中,並且繼續執行此腳本。與\![raise]指令不 同之處,在於被置入的腳本也包含在此次的執行序當中。因此,我們將更加容易實現某些功能,像是使用\![embed]指令來執行其他情報取得系的指令,並 藉其資訊來改變此腳本的內容。

\![timerraise,時間,是否重複執行,事件識別子,r0,r1,...]

  • \![raise]的定時版,SSP/2.01.49實裝。

\![raiseother,人格名稱,事件識別子,r0,r1,r2,...]

  • 觸發其他人格之使用者事件

以自己以外的啟動中人格作為對象,遙控觸發其事件。識別子後的引數會被作為事件的參照(reference)。人格名稱有以下特殊名稱:

__SYSTEM_ALL_GHOST__ - 表示自己以外的所有人格。

範例:

\![raiseother,Emily,OnUserEvent,參照一,參照二]\e
名為「Emily」的人格會觸發「OnUserEvent」事件,且reference0=「參照一」,reference1=「參照二」。

\![timerraiseother,時間,是否重複執行,人格名稱,事件識別子,r0,r1,...]

  • \![raiseother]的定時版

\![raiseplugin,外掛ID,事件識別子,r0,r1,r2...]

  • 觸發外掛事件(ID)

對指定的外掛事件進行觸發。「外掛ID」請輸入descript.txt內所寫的ID。

\![raiseplugin,外掛名稱,事件識別子,r0,r1,r2...]

  • 觸發外掛事件(名稱)

對指定的外掛傳遞訊息。

\![notify,事件識別子,r0,r1,...]

  • \![raise]的notify版

\![notifyother,人格名稱,事件識別子,r0,r1,...]

  • \![raiseother]的notify版

\![notifyplugin,外掛名稱,事件識別子,r0,r1,r2...]

  • \![raiseplugin]的notify版

音效

\8[檔案路徑]

  • 播放音效(舊規格)

播放WAV音效檔。由於屬於舊規格,建議改用\![sound]系列語法。

\_v[檔案路徑]

  • 播放音樂(舊規格)

開始播放音樂。

\_V

  • 等待音樂結束(舊規格)

會暫時停止腳本的進行,直到音樂結束再繼續。

\![sound,play,檔案路徑]

  • 播放音樂

開始播放音樂。

\![sound,cdplay,音軌No.]

  • 播放CD音樂

播放CD音樂。

\![sound,loop,檔案路徑]

  • 循環播放音樂

循環播放音樂。

\![sound,wait]

  • 等待音樂結束

會暫時停止腳本的進行,直到音樂結束再繼續。

\![sound,pause]

  • 暫停音樂播放

暫停音樂播放。

\![sound,resume]

  • 繼續音樂播放

繼續播放被暫停的音樂。

\![sound,stop]

  • 停止音樂播放

將音樂停止,下次播放時會重頭開始。

打開操作

\j[URL]

  • 開啟指定網址

可以在網頁瀏覽器中開啟指定的網址。當以file://作為開頭時,也能開啟指定的檔案文件或是應用程式。

範例:

\j[http://crow.aqrs.jp/]\e
在瀏覽器中開啟http://crow.aqrs.jp/網址。
\j[file://descript.txt]\e
以關聯於此副檔名的應用程式(一般為Windows記事本)來開啟ghost/master/descript.txt檔案。

\![open,browser,URL]

  • 開啟網頁

開啟瀏覽器,並顯示指定的URL網頁。

範例:

\0s[0]\![open,browser,http://cuc.moe.hm/index.php]\e
瀏覽器打開,並顯示http://cuc.moe.hm/index.php的網頁內容。

\![open,mailer,(參數)]

  • 開始寫信

開啟mailer寫信。參數可複數指定,即mailer開啟時的參數,也可省略。

範例:

\![open,mailer]
開啟mailer。

\__t

  • 開啟學習框

開啟學習框(teach box),常用於教導人格單字的輸入框,讓溝通與學習區隔開來。輸入完成後發生OnTeach事件。由於屬於舊規格,建議改用\![open,teachbox]指令。

\![open,teachbox]

  • 開啟學習框

開啟學習框(teach box),常用於教導人格單字的輸入框,讓溝通與學習區隔開來。輸入完成後發生OnTeach事件。

範例:

\![open,teachbox]
開啟學習框。

\![close,teachbox]

  • 關閉學習框

\__c

  • \![open,communicatebox]的旧仕様。

\![open,communicatebox]

  • 開啟溝通框

開啟溝通框(communicate box)。輸入完畢後發生OnCommunicate事件。

範例:

\![open,communicatebox]
開啟溝通框。

\![close,communicatebox]

  • 關閉溝通框

\![open,inputbox,事件識別子,(輸入框逾時),(預設字串),設置]

  • 開啟輸入框

開啟一個單純作為輸入用的輸入框。事件識別子在輸入完畢後產生的OnUserInput事件裡,被作為reference0而使用。輸入框逾時時間 以毫秒為單位,超過時間就會自動關閉輸入框,並產生OnUserInputCancel事件(限SSP2.01以上版本)。預設字串的內容會在開啟輸入框 時直接顯示在輸入框中。
在MATERIA與CROW的情況下,輸入框出現的時候是不允許滑鼠點擊等多數事件的,只有到輸入完畢或逾時時才會回復。
輸入完畢後會發生OnUserInput事件,且reference0=事件識別子,reference1=輸入的字串。
若事件識別子以On為開頭,將跳過OnUserInput事件而直接引發名稱同識別子的「On...」事件。
設置格式為--option=noclose不關閉,--option=noclear不初始化。

範例:

\0\s[0]\![open,inputbox,event,5000,測試]\e
開啟一個已預先輸入「測試」兩字的輸入框,輸入完成後發生OnUserInput事件,且reference0=「event」,reference1=輸入的字串。
若於5秒內沒完成輸入的話,輸入框會自動關閉並發生OnUserInputCancel事件。
\0\s[0]\![open,inputbox,OnTestEvent]\e
開啟一個空的輸入框,輸入完成後直接發生OnTestEvent事件,且reference0為輸入的字串。

\![open,passwordinput,事件識別子,(輸入框逾時),(預設字串),設置]

  • 開啟密碼輸入框

\![open,dateinput,事件識別子,(輸入框逾時),(年),(月),(日),設置]

  • 開啟日期輸入框

開啟專門用來輸入日期的輸入框,輸入完成後會發生OnUserInput事件。事件識別子被作為此事件的reference0內容,用來區別或作為 後續事件的根據。輸入框逾時以毫秒為單位,超過這個時間後對話框自動關閉。年月日可指定輸入框出現時的預設日期,若不指定則使用現在的日期。
輸入終了並按Enter或確認鍵後會發生OnUserInput事件,reference0=事件識別子,reference1=年,月,日。
當事件識別子為以On為開頭的字串時,會直接發生同識別子字串的「On...」事件,同時reference也自動往前一位,即reference0=年,月,日。

範例:

\![open,dateinput,日期測試,3000,2008,2,29]\e
出現一個日期輸入框,其日期顯示著2008月2月29日,於3秒後關閉。若輸入完成,則發生OnUserInput事件,其reference0內容即「日期測試」。

\![open,sliderinput,事件識別子,(輸入框逾時),(現在値),(最小),(最大),設置]

  • 開啟滑軸輸入框

開啟滑軸輸入框,可用滑鼠拖移中間的滑軸來改變要輸入的值。事件識別子在輸入完畢後產生的OnUserInput事件裡,被作為reference0而使用。輸入框逾時時間以毫秒為單位,超過時間就會自動關閉輸入框。
現在值為滑軸最初的設定值,左為最小,右為最大。省略的時候三項的值預設為0,0,100。
輸入完畢後會發生OnUserInput事件,且reference0=事件識別子,reference1=值。
若事件識別子以On為開頭,將跳過OnUserInput事件而直接引發名稱同識別子的「On...」事件。

\![open,timeinput,事件識別子,輸入框逾時,時,分,秒]

  • 開啟時間輸入框

專門用於輸入時間的輸入框。事件識別子在輸入完畢後產生的OnUserInput事件裡,被作為其事件的reference0而使用。輸入框逾時時間以毫秒為單位,超過時間就會自動關閉輸入框。時分秒可省略,省略時則顯示現在的時間。
輸入完畢後會發生OnUserInput事件,且reference0=事件識別子,reference1=時,分,秒。
若事件識別子以On為開頭,將跳過OnUserInput事件而直接引發名稱同識別子的「On...」事件。

\![close,inputbox,ID]

  • 關閉輸入框

關閉由\![open,inputbox]指令所開啟的輸入框。ID請輸入上述指令所指定的「事件識別子」。

範例:

\0\s[0]打開輸入框。\![open,inputbox,InputTest]\w9\w9關閉輸入框。\![close,inputbox,InputTest]\e
顯示「打開輸入框。」後跳出一個輸入框,0.9秒後顯示「關閉輸入框。」且輸入框消失。

\![open,configurationdialog]

  • 開啟設定對白

開啟核心程式的設定對白(configuration dialog)。

範例:

\![open,configurationdialog]
開啟核心程式的設定對白。

\![open,ghostexplorer]

  • 開啟人格瀏覽器

開啟人格瀏覽器(ghost explorer),顯示已安裝的所有人格。

範例:

\![open,ghostexplorer]
開啟人格瀏覽器。

\![open,shellexplorer]

  • 開啟外形瀏覽器

開啟外形瀏覽器(shell explorer),顯示已安裝的外形清單。

範例:

\![open,shellexplorer]
開啟外形瀏覽器。

\![open,balloonexplorer]

  • 開啟對話框瀏覽器

開啟對話框瀏覽器(balloon explore),顯示所有安裝的對話框。

範例:

\![open,balloonexplorer]\e
開啟對話框瀏覽器。

\![open,headlinesensorexplorer]

  • 開啟線上新聞瀏覽器

開啟線上新聞瀏覽器(headline sensor explorer)。

範例:

\![open,headlinesensorexplorer]
開啟線上新聞瀏覽器。

\![open,pluginexplorer]

  • 開啟插件瀏覽器

\![open,rateofusegraph]

  • 顯示人格使用率

顯示所有已安裝人格在本次執行所啟動的時間之比率。

範例:

\![open,rateofusegraph]
(無)

\![open,rateofusegraphballoon]

  • 顯示對話框使用率

顯示所有已安裝對話框的使用率與時間長度。

範例:

\![open,rateofusegraphballoon]
顯示對話框使用率。

\![open,rateofusegraphtotal]

  • 顯示人格合計使用率

顯示所有已安裝人格至今以來總合的啟動時間之比率。

範例:

\![open,rateofusegraphtotal]
(無)

\![open,calendar]

  • 開啟日曆

開啟日曆.行程表視窗。

範例:

\![open,calendar]
開啟日曆。

\![open,help]

  • 開啟輔助說明

開啟輔助說明文件。

範例:

\![open,help]
開啟輔助說明文件。

\![open,messenger]

  • 打開網路即時通訊

打開網路即時通訊(internet messenger)。

範例:

\![open,messenger]
打開網路即時通訊。

\![open,readme]

  • 開啟讀我文件

開啟放在人格資料夾裡的readme.txt文件。

範例:

\![open,readme]
開啟讀我文件。

\![open,file,檔案名稱]

  • 開啟檔案

開啟指定的檔案。當指定的檔案為執行檔(應用程式)的時候直接執行此檔案,其他類型的檔案則以與此檔關聯的應用程式來開啟檔案。

範例:

\![open,file,descript.txt]
開啟ghost\master\descript.txt文件檔。

\![open,dialog,open,參數]

  • 開啟系統文件對話框

參數--title=標題,--dir=路徑,可能指定我的文件等(__system_mydocument__ ,__system_mypictures__ ,__system_myvideo__ ,__system_mymusic__ ,__system_desktop__ ),--filter=過濾,如:BMP|*.bmp|其他|*.png;*.gif,--ext=後綴,--name=文件名,--id=事件ID

\![open,dialog,save,參數]

  • 開啟文件保存對話框

\![open,dialog,folder,參數]

  • 開啟文件夾選擇對話框

\![open,dialog,color,參數]

  • 開啟顏色選擇對話框

\![close,dialog,ID]

  • 關閉系統對話框

\![open,surfacetest]

  • 開啟圖像測試

開啟圖像測試視窗,可檢視此外形所有的圖像。

範例:

\![open,surfacetest]
開啟圖像測試視窗。

\![open,aigraph]

  • 開啟AI圖表

屬性系統操作

\![set,property,屬性名,值]

  • 設置屬性值

\![get,property,事件名,屬性名,屬性名,...]

  • 獲取屬性值

其他

\![execute,http-get,URL]

  • 檔案下載get

下載URL所指定的檔案。當此要求被成功執行時,檔案會被放置在 ghost\master\var 資料夾裡面。本指令不管是執行成功或失敗,皆不會產生任何事件。

範例:

\0\s[0]\![execute,http-get,http://crow.aqrs.jp/]\e
下載http://crow.aqrs.jp/index.html,其檔案路徑為 ghost\master\var\index.html 。

\![execute,http-post,URL,參數]

  • 檔案下載post

\![execute,rss-post,URL,參數]

  • rss下載get

\![execute,rss-post,URL,參數]

  • rss下載post

\![execute,extractarchive,文件名,解壓路徑]

  • 解壓zip文件。解壓路徑必須時絕對路徑。

\![execute,extractarchive,文件名,壓縮路徑]

  • 解壓zip文件。壓縮路徑必須時絕對路徑。

\![execute,install,path,文件名]

  • 安裝nar文件。路徑必須時絕對路徑。

\![execute,install,url,URL,feed或nar]

  • 從url安裝nar文件或RSSFeed。

\![execute,ping,(參數)]

  • 執行ping,不指定事件名時執行OnPingProgress或OnPingComplete。SSP/2.2.51實裝。

參數如下

--host=主機名
--ttl=TTL(包的生存期限(可經過路由幾次) 默認255
--count=送信回數 默認3
--size=送信大小(--data有效時--size無效) 默認32
--timeout=超時時間(ms) 默認5000
--df=(true|false) 包不能分割true 可分割false 默認false
--data=文字列ICMP Echo的數據字段填入的字符串(變換為UTF-8)
--event=事件或識別子指定On開頭的字符串觸發事件

\![execute,nslookup,(參數)]

  • 對域名指定的IP、IP指定的域名調查。 (=正向・逆向都OK)。不指定事件名時執行OnNSLookupComplete或OnNSLookupFailure。SSP/2.2.64實裝。

參數如下

--host=域名
--event=事件或識別子On開頭文字列指定的話該事件發生。發事件

\![enter,passivemode]

  • 進入被動模式。

進入被動模式(passive mode),除了滑鼠等最低限度的事件以外的事件將全部禁止,使用者幾乎無法對人格進行操作。主要用於遊戲、劇情等不可中斷的場合。由於沒有明確的無解除 警告,請小心使用。如果忘記解除的話,將會陷入操作不能的狀態。被動模式時,會有以下的限制發生:

右鍵選單不會出現。
不會進行信件確認。
線上新聞不會自動感應。
不會自動切換。
選項不會逾時。
氣泡框逾時將不會消失。
檔案拖曳與安裝功能無視。
nar檔的雙擊會被無視。
OnSurfaceRestore事件不會產生。
cantalk恆為false。(OnSecondChange及OnMinuteChange事件由人格本體產生。) 無法最小化。
無法關閉人格。
附註,溝通框理論上無法使用,但實際上是可以用的。另外,SSP的情況下可以使用右鍵選單。

\![leave,passivemode]

  • 離開被動模式

將\![enter,passivemode]指令所產生的被動模式解除。詳情請參閱「被動模式」一欄。

\![enter,inductionmode]

  • 進入誘導模式

進入誘導模式(induction mode)。通常用於避免人格劇情中斷,比被動模式的限制來得少一些。由於沒有明確的無解除警告,故使用時請多加注意,別忘了加入解除的指令。誘導模式時,會有以下的限制發生:

不會進行信件確認。
線上新聞不會自動感應。
不會自動切換。
檔案拖曳與安裝功能無視。
OnSurfaceRestore事件不會產生。
cantalk恆為false。(OnSecondChange及OnMinuteChange事件由人格本體產生。)

\![leave,inductionmode]

  • 離開誘導模式

將\![enter,inductionmode]指令所產生的誘導模式解除。詳情請參閱「誘導模式」一欄。

\![enter,selectmode,模式(rect),左,上,右,下]\![enter,selectmode,模式(rect),觸碰判定名]\![enter,selectmode,模式(rect)]

  • 選擇模式開啟

\![leave,selectmode]

  • 選擇模式關閉

\![enter,collisionmode]\![enter,collisionmode,rect]

  • 顯示判定點

\![leave,collisionmode]

  • 解除顯示判定點

\![reloadsurface]

  • 重新載入圖像

重新載入圖像資料。SSP時與\![reload,surface]指令執行相同的工作。

\![reload,descript,重載對象]

  • 重新載入重載對象的descript.txt,對象省略時為所有descript.txt。

\![reload,重載對象]

  • 重新載入

對人格的各模組進行重新載入的工作。重載對象有以下四種:

shiori - 僅限SHIORI重載,便於查看變更辭書後的結果。
makoto - 僅限MAKOTO重載,現已鮮少使用。
shell - 僅限SHELL重載。
ghost - 人格全體重新載入(包含上述三者)。

範例:

\![reload,shiori]
偽AI辭書重新載入。

\_u[?]

  • 置入UCS-2編碼

以UCS-2編碼的方式,直接置入文字字元。

範例:

\0\s[0]\_u[0x2665]\e
顯示一個愛心符號。

\_m[?]

  • 置入ASCII編碼

以ASCII編碼的方式,直接置入文字字元。

範例:

\0\s[0]\_m[0x30]\e
顯示「0」。

\&[ID]

  • 實體參照

會根據識別子代換成其相應的文字實體參照(Character Entity Reference)。可使用HTML/3.2、4.0中所定義的所有實體符號。

範例:

\0\s[0]\&[hearts] \&[copy]\e
顯示一個愛心符號和著作權符號。

\m[訊息,WPARAM,LPARAM]

  • DirectSSTP送信

對原DirectSSTP送信方發出指定的訊息。無法以含有HWnd標頭的SSTP通訊方式來使用。此為Windows的固有規格。


外部連結


首頁   編輯 封鎖 差異 備份 上傳檔案 複製 變更名稱 重新載入   新建條目 一覽 搜索 最近的變更   幫助   最近更新的RSS
Last-modified: 2017-04-30 (日) 13:29:34 (2368d)