ホーム
ダウンロード
ドキュメント
一覧
チュートリアル
コマンドリファレンス
タイトル画面の作り方
フォントの変更方法
コンフィグ一覧
WMSの使い方
よくある質問
バグ報告の一覧
機能要望の一覧
Wikiトップ
検索
利用作品紹介
English
Light
Dark
Auto
Light
Dark
Auto
コマンドリファレンス をテンプレートにして作成 - Suika2 Wiki
Wikiトップ
編集
新規作成
複製
名称変更
アップロード
添付ファイル一覧
バックアップ
開始行:
* Suika2 コマンドリファレンス [#vaae6a00]
** 索引 [#j5e7f3bc]
- [[コマンドとは>#ud116d2a]]
- 画面表示系のコマンド
-- [[メッセージ>#ja1c52ac]]
-- [[セリフ>#yd0ca4df]]
-- [[@bg>#kca5c778]] 背景の表示
-- [[@ch>#k2eeb4a7]] キャラクタの表示
-- [[@chsx>#y4c04486]] キャラクタと背景の一括変更
-- [[@cha>#oc32420a]] キャラクタの移動
-- [[@shake>#cf5122d8]] 画面を揺らす
-- [[@video>#p65cc7a3]] 動画の再生
-- [[@anime>#zaa1841a]] アニメーションの表示
-- [[@layer>#k5a4fa64]] レイヤへの画像読み込み
-- [[@pencil>#db5f68f1]] テキストレイヤへの描画
- 音声再生系のコマンド
-- [[@bgm>#zc4169a9]] BGMの再生
-- [[@se>#te846f73]] SEの再生
-- [[@vol>#a4a9233c]] ボリュームの変更
- 選択肢表示系のコマンド
-- [[@choose>#j833cb8d]] 選択肢の表示
-- [[@ichoose>#cf919972]] インライン選択肢の表示
-- [[@gui>#x5321807]] GUIの表示
- ウェイト系のコマンド
-- [[@click>#fff6552c]] クリックされるまで待機
-- [[@wait>#p24189e0]] 指定した時間だけ待機
-- [[@skip>#zc4a8ced]] ウェイトのスキップを禁止
- シナリオ分岐系のコマンド
-- [[ラベル>#jfebae13]]
-- [[@goto>#ufbc28a7]] ラベルにジャンプ
-- [[@set>#p4badd92]] 変数に値を設定
-- [[@if>#g3151a59]] 変数の値でジャンプ
-- [[@load>#h7be1f8e]] スクリプトにジャンプ
-- [[@chapter>#v65c528c]] 章のタイトルを設定
- システム系のコマンド
-- [[@setconfig>#v5c67773]] コンフィグの書き換え
-- [[@setsave>#dae21e96]] セーブ許可/禁止
-- [[using>#r3c95140]] マクロの取り込み
----
** コマンドとは [#ud116d2a]
コマンドとは、Suika2に対する指示のことです。Suika2を使っ...
コマンドの名前を覚えておく必要はなく、このページを見なが...
コマンドの種類は厳選されており、一見して、できることが限...
----
** @anime (@アニメ) [#zaa1841a]
@anime [filename.txt] (options)
@anime [file=filename.txt] (options)
@アニメ [ファイル名] (オプション群)
@アニメ [ファイル=ファイル名.txt] (オプション群)
アニメファイルを再生します。レイヤの移動、エフェクトの表...
アニメファイルはフォルダ anime に配置する必要があります。
レイヤに画像を読み込むには @layer コマンドを利用してくだ...
Suika2/15.1現在、回転や拡大縮小はサポートされていませんが...
*** 使い方1 [#ma66156d]
anime1.txt を再生します。再生完了まで待ちます。(sync)
@anime anime1.txt sync
*** 使い方2 [#z7eaee21]
anime1.txt を再生します。再生完了を待ちません。(async)
@anime anime1.txt async
なにかメッセージを表示します。
@anime finish-all
*** 使い方3 [#le3c1138]
anime1.txt を再生します。折りたたみシステムメニューを表示...
@anime anime1.txt sync,nosysmenu
*** 使い方4 [#b0154217]
anime1.txt を再生します。メッセージボックスを表示します。...
@anime anime1.txt sync,showmsgbox
*** 使い方5 [#x5db5a32]
ループアニメ loop-anime1.txt を再生します。
@anime loop-anime1.txt async
なにかメッセージを表示します。
@anime stop-all
*** アニメファイルの記述例 [#z0f46131]
詳細は[[アニメファイル]]をご参照ください。下記は例です。
# アニメーションファイル
# 中央キャラを2回移動する
move1 {
layer: chc; # 中央キャラクタ CHaracter Center
clear: chc; # 既存のアニメーションを破棄する(そのレ...
start: 0.0; # 時刻0.0(秒)から開始する
end: 2.0; # 時刻2.0(秒)に終了する
from-x: 0; # 開始するX座標
from-y: 0; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 100; # 終了するX座標
to-y: 100; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
move2 {
layer: chc; # 中央キャラクタ CHaracter Center
start: 2.0; # 時刻2.0(秒)から開始する
end: 4.0; # 時刻4.0(秒)に終了する
from-x: 100; # 開始するX座標
from-y: 100; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 0; # 終了するX座標
to-y: 0; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
# それと同時に、右キャラを1回移動する
move {
layer: chr; # 中央キャラクタ CHaracter Right
clear: chr; # 既存のアニメーションを破棄する(そのレ...
start: 0.0; # 時刻0.0(秒)から開始する
end: 3.0; # 時刻3.0(秒)に終了する
from-x: 1000;# 開始するX座標
from-y: 0; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 0; # 終了するX座標
to-y: 0; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
----
** @layer (@レイヤ) [#k5a4fa64]
@layer レイヤ名 ファイル名 X Y alpha
@layer name=レイヤ名 file=ファイル名 x=X y=Y a=アルファ
@レイヤ レイヤ名 ファイル名 X Y alpha
@レイヤ 名前=レイヤ名 ファイル=ファイル名 X=x Y=y a=アル...
レイヤに画像を読み込みます。次の表示系コマンドに進むまで...
ファイル名にnoneを指定すると削除します。
利用できるレイヤ名は下記です。
|レイヤの名前|
|bg|
|bg2|
|effect5|
|effect6|
|effect7|
|effect8|
|chb|
|chl|
|chlc|
|chr|
|chrc|
|chc|
|effect1|
|effect2|
|effect3|
|effect4|
|text3|
|text4|
|text5|
|text6|
|text7|
|text8|
*** 使い方1 [#hca6977b]
レイヤに画像をロードします。
@layer name=text1 file=switch-bg.png x-0 y=0 a=255
*** 使い方2 [#q364f65d]
レイヤの画像を削除します。
@layer name=text1 file=none
----
** @bg (@背景) [#kca5c778]
@bg ファイル名 (秒) (エフェクト)
@bg file=ファイル名 (duration=秒) (effect=エフェクト)
@背景 ファイル名 秒 エフェクト=エフェクト
@背景 ファイル=ファイル名 (秒=秒) (エフェクト=エフェクト)
背景を変更します。背景の変更後、キャラクタはステージ上か...
*** 使い方1 [#y9f83e66]
sample.png を1.5秒かけて背景にセットします。
@bg sample.png 1.5
*** 使い方2 [#yd4b973f]
sample.png を即座に背景にセットします。
@bg sample.png
*** 使い方3 [#aa234de2]
sample.png を1.5秒かけて右方向カーテンフェードで背景にセ...
@bg sample.png 1.5 c
*** 使い方4 [#aa408acd]
色を指定して1.5秒かけて左方向カーテンフェードで背景にセッ...
@bg #ff8080 1.5 curtain-left
*** 使い方5 [#fe29bb79]
目を閉じるような演出を行います。
@bg #000000 1.5 eye-close
*** 使い方6 [#i7a4f574]
目を開けるような演出を行います。
@bg sample.png 1.5 eye-open
*** 使い方7 [#k6e31dae]
ルール画像を使ってトランジションを行います。 ルール画像は...
@bg sample.png 1.5 rule:rule-star.png
*** 背景/キャラで共通のエフェクト [#d1eaec13]
フェードには次のエフェクトを指定できます。すべてのエフェ...
|LEFT:300|LEFT:300|LEFT:150|LEFT:150|LEFT:150|c
|エフェクトの種類|エフェクト名|エフェクト短縮名1|エフェク...
|標準のアルファブレンド|normal|n||標準|
|ルール指定トランジション(1BIT)|rule:ルール画像ファイル||||
|ルール指定トランジション(8BIT)|melt:ルール画像ファイル||||
|右方向カーテン|curtain-right|curtain|c|右カーテン|
|左方向カーテン|curtain-left|cl||左カーテン|
|上方向カーテン|curtain-up|cu||上カーテン|
|下方向カーテン|curtain-down|cd||下カーテン|
|右方向スライド|slide-right|sr||右スライド|
|左方向スライド|slide-left|sl||左スライド|
|上方向スライド|slide-up|su||上スライド|
|下方向スライド|slide-down|sd||下スライド|
|右方向シャッター|shutter-right|shr||右シャッター|
|左方向シャッター|shutter-left|shl||左シャッター|
|上方向シャッター|shutter-up|shu||上シャッター|
|下方向シャッター|shutter-down|shd||下シャッター|
|時計回り|clockwise|cw||時計回り|
|反時計回り|counterclockwise|ccw||反時計回り|
|時計回り(20°刻み)|clockwise20|cw20|||
|反時計回り(20°刻み)|counterclockwise20|ccw20|||
|時計回り(30°刻み)|clockwise30|cw30|||
|反時計回り(30°刻み)|counterclockwise30|ccw30|||
|目を開くような効果|eye-open||||
|目を閉じるような効果|eye-close||||
|目を開くような効果(垂直)|eye-open-v||||
|目を閉じるような効果(垂直)|eye-close-v||||
|スリットが開くような効果|slit-open||||
|スリットが閉じるような効果|slit-close||||
|スリットが開くような効果(垂直)|slit-open-v||||
|スリットが閉じるような効果(垂直)|slit-close-v||||
----
** @bgm (@音楽) [#zc4169a9]
@bgm [filename.ogg] (once)
@bgm [file=filename.ogg] (once)
@音楽 [ファイル名.ogg] (once)
@音楽 [ファイル=ファイル名.ogg] (once)
BGMを再生します。
BGMファイルはフォルダ bgm に格納されている必要があります。
再生可能なファイル形式は、44.1kHzのOgg Vorbisのみです。も...
*** 使い方1 [#qe88da97]
sample.oggを再生します。
@bgm sample.ogg
*** 使い方2 [#zbc47c2b]
BGMを停止します。
@bgm stop
*** 使い方3 [#g5b3f31c]
BGMをループしないで1回だけ再生します。
@bgm sample.ogg once
*** 応用例 [#z6707b39]
BGMを2秒かけてフェードアウトします。
@vol bgm 0 2
@wait 2
@bgm stop
----
** @ch (@キャラ) [#k2eeb4a7]
記法
@ch [position] [filename.png] (seconds) (effect) (x-offs...
@ch [position=position] [file=filename.png] (duration=se...
@キャラ [位置] [ファイル名] (秒) (エフェクト名) (Xオフセ...
@キャラ [位置=位置] [ファイル=ファイル名] (秒=秒) (エフ...
キャラクタを表示、変更、消去します。
キャラクタの位置は、上位レイヤから順に、次のものがありま...
|表示位置|コマンドでの指定方法|短縮形|
|左|left|l|
|左中|left-center|lc|
|中央|center|c|
|右中|right-center|rc|
|右|right|r|
|背面|back|b|
|顔アイコン|face|f|
エフェクトの種類は @bg と同じです。
*** 使い方1 [#e01caa4f]
sample.png を0.5秒かけて中央前面にセットします。
@ch center sample.png 0.5
*** 使い方2 [#vd990553]
center は c と省略して構いません。
@ch c sample.png 0.5
*** 使い方3 [#efcfc55c]
none を指定するとキャラクタを退場させます。
@ch c none 0.5
*** 使い方4 [#e02fe0c6]
時間を指定しないと即座に表示されます。
@ch c sample.png
*** 使い方5 [#a9f5dcd8]
normal あるいは n を指定すると通常のアルファブレンドを使...
@ch c sample.png 1.0 normal
*** 使い方7 [#f964965b]
キャラクタ表示位置をずらすことができます。下記の例では右...
@ch c sample.png 1.0 n 100 50
*** 使い方8 [#t4160ba8]
アニメの起点を指定するために、アルファ値を指定してキャラ...
アルファ値には 0 から 255 を指定できます。 また、アルファ...
@ch c sample.png 1.0 n 0 0 show
*** 使い方9 [#wdc4f51e]
メッセージボックスの上にキャラの顔を表示します。消す場合...
@ch face face-001.png
----
** @cha (@キャラ移動) [#oc32420a]
@cha [position] [seconds] [acceleration] [x-offset] [y-o...
@cha [position=position] [duration=seconds] [acceleratio...
@キャラ移動 [位置] [秒] [加速タイプ] [Xオフセット] [Yオ...
@キャラ移動 [位置=位置] [秒=秒] [加速=加速タイプ] [x=Xオ...
キャラクタの移動(アニメーション)を行います。キャラクタの...
*** 使い方1 [#dd87dd6b]
中央に表示したキャラクタを1.0秒かけて左側に600ピクセル移...
@cha center 1.0 move -600 0 hide
*** 使い方2 [#s2062bc8]
使い方1との差分は、移動を加速(アクセル)しながら行うことで...
@cha center 1.0 accel -600 0 hide
*** 使い方3 [#v1f531e1]
使い方1との差分は、移動を減速(ブレーキ)しながら行うことで...
@cha center 1.0 brake -600 0 hide
*** 使い方4 [#mb34a3f2]
初めに画面の外にキャラクタを読み込んでおいて、画面の中に...
@ch right sample.png 0 n 600 0 hide
@cha right 2.0 move -600 0 show
----
** @chapter (@章) [#v65c528c]
@chapter "title-name"
@chapter title="title-name"
@章 "タイトル"
@章 タイトル="タイトル"
章のタイトルを設定します。
*** 使い方 [#m3bf3313]
@chapter 第一章
----
** @choose (@選択肢) [#j833cb8d]
@choose [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先3...
@choose [destination1=行き先1] [option1=選択肢1] (destin...
@選択肢 [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先3...
@選択肢 [行き先1=行き先1] [選択肢1=選択肢1] (行き先2=行...
選択肢を表示してラベルにジャンプします。選択肢の数は最大...
*** 使い方1 [#l58b6b57]
3つの選択肢を表示します。
@choose label1 おはよう label2 こんにちは label3 こんば...
:label1
おはよう。
@goto end
:label2
こんにちは。
@goto end
:label3
こんばんは。
:end
*** 使い方2 [#ufaf854f]
ラベルを書くのが面倒な場合、拡張switch文を利用できます。
<<<
switch "おはよう" "こんにちは" "こんばんは" {
case "おはよう":
@ch center good-morning.png
おはよう。
break
case "こんにちは":
@ch center good-afternoon.png
こんにちは。
break
case "こんばんは":
@ch center good-evening.png
こんばんは。
break
}
>>>
----
** @ichoose (@インライン選択肢) [#cf919972]
@ichoose [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先...
@ichoose [destination1=行き先1] [option1=選択肢1] (desti...
@インライン選択肢 [行き先1] [選択肢1] (行き先2) (選択肢2...
@インライン選択肢 [行き先1=行き先1] [選択肢1=選択肢1] (...
メッセージボックス内に選択肢を表示してラベルにジャンプし...
選択肢をメッセージボックス内に表示する以外は、 @choose と...
この機能を使用するときには、コンフィグの switch.bg.file ...
----
** @chs (@場面転換) [#m763af75]
@chs [中央ファイル] [右ファイル] [左ファイル] [背面ファ...
@chs [center=中央ファイル] [right=右ファイル] [left=左フ...
@場面転換 [中央ファイル] [右ファイル] [左ファイル] [背面...
@場面転換 [中央=中央ファイル] [右=右ファイル] [左=左ファ...
このコマンドは非推奨です。Suika2/12.37以降では @chsx をご...
キャラクタの一括変更を行います。また、キャラクタと同時に...
*** 使い方1 [#v2673138]
中央と右にキャラクタを1.0秒かけて表示します。他のキャラク...
@chs center.png right.png stay stay 1.0
*** 使い方2 [#je287f9d]
中央のキャラクタを1.0秒かけて退場させます(none の指定)。...
@chs none stay stay stay 1.0
*** 使い方3 [#b6b746ea]
キャラクタを表示させたまま(stay の指定)、背景を1.0秒かけ...
@chs stay stay stay stay 1.0 background.png
*** 使い方4 [#oebed6ca]
中央のキャラクタを1.0秒かけて変更します。背景も変更します...
@chs center.png stay stay stay 1.0 background.png curtain
----
*** @chsx (@場面転換X) [#y4c04486]
@chsx (center=center-image) (center-x=center-x-offset) (...
@場面転換X (中央=中央ファイル) (中央X=中央キャラのXオフ...
キャラクタの一括変更を行います。背景のみの変更や、キャラ...
このコマンドに限って、center= のような引数の名前が必須で...
変更のないキャラは指定しなくて構いません。退場させるキャ...
エフェクトの種類は @bg と同じです。
*** 使い方1 [#d6cd74cc]
中央と右にキャラクタを1.0秒かけて表示します。他のキャラク...
@chsx center=center.png right=right.png duration=1.0
*** 使い方2 [#ef4d0559]
中央のキャラクタを1.0秒かけて退場させます(none の指定)。...
@chsx center=none duration=1.0
*** 使い方3 [#x537a73e]
キャラクタを表示させたまま(stay の指定)、背景を1.0秒かけ...
@chsx background=background.png duration=1.0 center=stay...
*** 使い方4 [#mf2cc487]
中央のキャラクタを1.0秒かけて変更します。背景も変更します...
@chsx center=center.png background=background.png effect...
----
** @click (@クリック) [#fff6552c]
@click
@クリック
クリックされるのを待ちます。待っている間、メッセージボッ...
*** 使い方 [#vea11749]
クリックを待ちます。
@click
----
** @gosub [#tdc94466]
@gosub [行き先ラベル]
サブルーチンにジャンプします。 @return で戻ります。
サブルーチンはファイルにまとめておいて、usingで取り込むこ...
*** 使い方 [#m8a6d626]
サブルーチン SUB を実行します。
@gosub SUB
....
:SUB
ここに何らかの処理やメッセージを記述します。
@return
----
** @goto (@ジャンプ) [#ufbc28a7]
@goto [label]
@goto [destination=label]
@ジャンプ [行き先ラベル]
@ジャンプ [行き先=行き先ラベル]
ラベルにジャンプします。ループを作成するときや、ループか...
拡張if文や拡張switch文が導入されたため、ラベルを作らなく...
*** 使い方1 [#r6ba4af9]
ラベル abc にジャンプします。
:abc
ここに何らかの処理やメッセージを記述します。ループします。
@goto abc
----
** @gui (@メニュー) [#x5321807]
@gui [filename.txt] (options)
@gui [file=filename.txt] (options)
@メニュー [ファイル=ファイル名.txt] (オプション群)
@メニュー [ファイル=ファイル名.txt] (オプション群)
GUIを表示します。GUIでは最大128個のボタンを作成できます。
ボタンの種類には、押されるとラベルにジャンプするものや、...
なお、GUI定義ファイルはコンフィグ画面やセーブ・ロード・履...
GUI定義ファイルの作り方は、 https://suika2.com/doc/title....
*** 使い方1 [#ldfe7c99]
GUI定義ファイル menu.txt を読み込んでGUIを実行します。
@gui menu.txt
*** 使い方2 [#uf6674c8]
右クリックによるキャンセルを許可します。
@gui menu.txt cancel
*** 使い方3 [#x2bb6008]
ロード画面を表示します。
@gui load.txt cancel
*** 使い方4 [#reb12080]
セーブ画面を表示します。
@gui save.txt cancel
*** 使い方5 [#hbd7967d]
コンフィグ画面を表示します。
@gui system.txt cancel
----
** @if (@フラグでジャンプ) [#g3151a59]
@if [variable] [condition] [value] [label]
@フラグでジャンプ [変数] [条件] [数値] [行き先]
条件式とマッチするときだけラベルにジャンプします。
Suika2/13系列において拡張if文が導入されたため、ラベルなし...
利用できる条件の種類は下記の通りですが、 普通のノベルゲー...
|条件の種類|意味|
|>|a > b (aがbより大きい)|
|>=|a ≧ b (aがbより大きいか等しい)|
|==|a = b (aとbが等しい)|
|<=|a ≦ b (aがbより小さいか等しい)|
|<|a < b (aがbより小さい)|
|!=|a ≒ b (aとbが等しくない)|
条件文の左側はローカル変数名($0 など)か、グローバル変数名...
条件文の左側がローカル変数名かグローバル変数名のとき、条...
条件文の左側が名前変数のとき、条件文の右側には文字列のみ...
*** 使い方1 [#ice44787]
ローカル変数の値でシナリオを分岐します。ローカル変数 $1 ...
@if $1 == 1 abc
変数の値が1以外です。つまり、フラグが立っていないという...
ここにシナリオを記述します。
@goto end
:abc
変数の値が1です。つまり、フラグが立っているということで...
ここにシナリオを記述します。
:end
*** 使い方2 [#ma859158]
ラベルやジャンプがわかりにくいときは、拡張 if 文を使うこ...
<<<
if $1 == 0 {
おはよう。
}-
else if $1 == 1 {
こんにちは。
}-
else {
こんばんは。
}
>>>
*** 使い方3 [#j1911718]
名前変数の値でシナリオを分岐します。名前変数 %a の値が み...
@if %a == みどり MIDORI
名前がみどり以外です。
ここにシナリオを記述します。
@goto end
:MIDORI
名前がみどりです。
ここにシナリオを記述します。
:end
----
** ラベル [#jfebae13]
:ラベル名
ジャンプ先となるラベルを作成します。ラベルはゲームの見た...
Suika2/13系列以降では、拡張if文や拡張switch文を使うことで...
*** 使い方 [#af55dcf3]
ループします。
:ジャンプ先
何かメッセージを表示する
@goto ジャンプ先
----
** @load (@シナリオ) [#h7be1f8e]
@load [file-name.txt] [label-name]
@load [file=ファイル名.txt] [label=label-name]
@シナリオ [ファイル名.txt] [ラベル名]
@シナリオ [ファイル=ファイル名.txt] [ラベル=ラベル名]
スクリプトファイルにジャンプします。スクリプトファイルは...
*** 使い方1 [#b2a2e642]
スクリプトファイル 001.txt にジャンプします。
@load 001.txt
*** 使い方2 [#ied7cc20]
スクリプトファイル 001.txt のラベルAAAにジャンプします。
@load 001.txt AAA
----
** メッセージ [#ja1c52ac]
メッセージボックスにテキストを出力します。
- 行の先頭に \ を記述することで、前の行を継続することが可...
- $0のように$数字でローカル変数やグローバル変数の値の数値...
- %aのように%アルファベット小文字で名前変数の値の文字列を...
- 利用できる装飾は下記の通りです。
|記述|装飾の内容|
|\n|改行する|
|\#{RRGGBB}|フォントの色を変更する|
|\@{サイズ}|フォントのサイズを変更する|
|\^{ルビ}|ルビを振る|
|\f{g]|グローバルフォントを使用する(ユーザがコンフィグ画...
|\f{m]|メインフォントを仕様する(conf/config.txtで指定)|
|\f{a]|代替1フォントを仕様する(conf/config.txtで指定)|
|\f{b]|代替2フォントを仕様する(conf/config.txtで指定)|
|\o{+}|フォントのふちどり(アウトライン)をONにする|
|\o{-}|フォントのふちどり(アウトライン)をOFFにする|
|\p{x座標,y座標}|描画位置を変更する|
|\w{秒数}|ウェイトを挿入する|
*** 使い方 [#i355c749]
こんにちは。
----
** @news [#i3a21173]
@news [...長い...]
注意: このコマンドは隠しコマンドです。使い方はDiscordでご...
@switch の亜種です。2階層の選択肢で、1階層目の選択肢の最...
----
** @return [#g3c671e9]
@return
サブルーチンから戻ります。
*** 使い方 [#h61d32b8]
サブルーチン SUB を実行します。
@gosub SUB
:SUB
ここに何らかの処理やメッセージを記述します。
@return
----
** @se (@効果音) [#te846f73]
@se [filename.ogg] (loop)
@se [file=filename.ogg] (loop)
@効果音 [ファイル名.ogg] (loop)
@効果音 [ファイル=ファイル] (loop)
SE(効果音)を再生します。
SEファイルはフォルダ se に格納されている必要があります。
再生可能なファイル形式は、44.1kHzのOgg Vorbisのみです。
*** 使い方1 [#g0e72f5f]
SEを再生します。
@se click.ogg
*** 使い方2 [#pe7272e5]
SEを停止します。
@se stop
*** 使い方3 [#vb538029]
SEをループ再生します。
@se sample.ogg loop
*** 特殊な使い方 [#e6ed2db6]
ボイストラックでSEを再生します。この機能は音量設定画面で...
@se click.ogg voice
----
** セリフ [#yd0ca4df]
キャラ名「セリフ」
*キャラ名*セリフ
*キャラ名*音声ファイル*セリフ
メッセージボックスにセリフのテキストを出力します。また、...
ボイスを再生することができます。ボイスファイルは、フォル...
メッセージと同様の装飾が使えます。
*** 使い方1 [#ac4039fc]
セリフを出力します。
みどり「こんにちは、Suika2です。」
*** 使い方2 [#n4fa7cc8]
ボイスを再生して、セリフを出力します。
*みどり*001.ogg*こんにちは、Suika2です。
*** 使い方3 [#fcd80a68]
指定したビープ音をリピート再生して、セリフを出力します。
*名前*@beep.ogg*こんにちは。
----
** @set (@フラグをセット) [#p4badd92]
@set [variable] [operator] [value]
@フラグをセット [変数] [演算子] [値]
ローカル変数、グローバル変数、名前変数に値をセットします。
|LEFT:100|LEFT:400|c
|変数の種類|説明|
|ローカル変数|セーブデータごとに値が異なり、 $0 から $999...
|グローバル変数|全てのセーブデータで共通の値となり、 $100...
|名前変数|セーブデータごとに値が異なり、%aから%zまでの26...
@set で利用できる計算には下記のものがあります。名前変数に...
|計算の種類|意味|
|=|単純に a に b を入れます(代入)|
|+=|a に b を足し算します(加算)|
|-=|a から b を引き算します(減算)|
|*=|a に b をかけ算します(乗算)|
|/=|a を b で割り算します(除算)|
|%=|a を b で割った余りを求めます(剰余)|
*** 使い方1 [#ab238d76]
ローカル変数 $0 に値 1 を代入します。フラグのセットに利用...
@set $0 = 1
*** 使い方 2 [#xa774e1d]
ローカル変数 $10 に値 23 を加算します。 好感度の加算など...
@set $10 += 23
*** 使い方3 [#l1144a0f]
ローカル変数 $0 に 0 から 9 までのランダムな値を代入しま...
@set $0 = $RAND
@set $0 %= 10
*** 使い方4 [#c495c1fb]
ローカル変数 $1 にローカル変数 $2 を加算します。好感度の...
@set $1 += $2
*** 使い方5 [#k08e4185]
名前変数 %a に文字列 みどり を代入します。デフォルトの名...
@set %a = みどり
----
** @setconfig [#v5c67773]
@setconfig [コンフィグ名] (値)
コンフィグをゲーム実行中に書き換えられる便利コマンドです...
*** 使い方 [#tba5ec97]
メッセージボックスを変更します。画面いっぱいを使うノベル...
@setconfig msgbox.bg.file msgbox-bg.png
@setconfig msgbox.fg.file msgbox-fg.png
...
@setconfig update-msgbox-and-namebox
----
** @setsave [#dae21e96]
@setsave [disable/enable]
セーブ・ロードを禁止・解禁します。
*** 使い方1 [#ua97409c]
セーブ・ロード画面を有効化(解禁)します。 [デフォルト設定]
@setsave enable
*** 使い方2 [#hf6dcac7]
セーブ・ロード画面を無効化(禁止)します。
@setsave disable
----
** @shake (@振動) [#cf5122d8]
@shake [direction] [seconds] [times] [amplitude]
@shake [direction=direction] [duration=seconds] [times=t...
@振動 [方向] [秒] [回数] [大きさ]
@振動 [方向=方向] [秒=秒] [回数=回数] [大きさ=大きさ]
画面を揺らします。
*** 使い方1 [#h9ccdaa2]
1.0秒かけて、3回、横方向に100px、画面を揺らします。なお、...
@shake horizontal 1.0 3 100
*** 使い方2 [#l12c44cc]
1.0秒かけて、3回、縦方向に100px、画面を揺らします。なお、...
@shake vertical 1.0 3 100
----
** @skip (@スキップ) [#zc4a8ced]
@skip [enable/disable]
@スキップ [許可/不許可]
待ち時間のあるコマンドのスキップを禁止・解禁します。
主に、ゲーム起動時にブランドロゴを表示するのに使用できま...
*** 使い方1 [#p1c0188e]
スキップを有効にします。 [デフォルト設定]
@skip enable
*** 使い方2 [#d47534bc]
スキップを無効にします。
@skip disable
----
** @switch [#s5e47fa0]
@switch [...長い...]
注意: このコマンドは隠しコマンドです。使い方はDiscordでご...
2階層の選択肢を表示します。1階層目を親選択肢と呼び、2階層...
「動詞+目的語」で探索する80年代から90年代のアドベンチャ...
*** 使い方 [#f8d6b170]
2階層で4つの選択肢を表示します。
@switch 親選択肢1 親選択肢2 * * * * * * LABEL1 子選択肢1...
:LABEL1
:LABEL2
:LABEL3
:LABEL4
----
** @video (@動画) [#p65cc7a3]
@video [ファイル名]
@video [file=ファイル名]
@動画 [ファイル名]
@動画 [ファイル=ファイル名]
動画を再生します。
Windowsで再生できる動画は .wmv ファイルです。その他の環境...
動画ファイルは mov ディレクトリに格納します。mov ディレク...
Webブラウザでは、プレイヤが最初にクリックを行う前に動画を...
*** 使い方 [#o330fe68]
動画を再生します。 Windowsでは sample.wmv が再生されます...
@video sample
----
** @vol (@音量) [#a4a9233c]
@vol [track-name] [volume-value] (seconds)
@vol [track=track-name] [volume=volume-value] (duration=...
@音量 [トラック名] [音量=音量] (秒=秒)
@音量 [トラック=トラック] [音量=音量] (秒=秒)
時間を指定してボリュームを調整します。
トラックの種類は下記の通りです。
|トラック名|省略形|日本語|用途|
|bgm|b|音楽|BGMの音量|
|voice|v|声|ボイスの音量|
|se|s|効果音|SEの音量|
音量の値は 0.0 から 1.0 の範囲で指定できます。 0.0 が無音...
音量は初期値で 1.0 で、セーブデータごとに別な値に変化しま...
*** 使い方 [#ic8c2101]
BGMの音量を 1.0 秒かけて 0.5 にします。
@vol bgm 0.5 1.0
@wait 1.0
----
** @wait (@時間待ち) [#p24189e0]
@wait [seconds]
@wait [duration=seconds]
@時間待ち 秒=秒
@時間待ち 秒=秒
時間を指定して待機します。
途中、キーボードやマウスの入力があれば待機を終了します。...
*** 使い方 [#ue62c8aa]
5秒待ちます。
@wait 5.0
----
** @wms (@スクリプト) [#gc79026a]
@wms [filename]
@wms [file=filename.txt]
@スクリプト [ファイル名.txt]
@スクリプト [ファイル=ファイル名.txt]
WMS (Watermelon Script) を実行します。
WMSはプログラミング言語です。シナリオのスクリプトでは複雑...
*** 使い方 [#t76a593b]
wms/hello.txt を実行します。
@wms hello.txt
----
** @pencil [#db5f68f1]
@pencil [0/1/2/3/4/5/6/7] [テキスト]
テキストレイヤにテキストを描画します。あらかじめ利用する...
*** 使い方 [#g3ecb568]
テキストレイヤ1 (text1) にテキストを描画します。
@anime load-text1.txt sync
@pencil 0 このテキストが描画されます。
anime/load-text1.txt:
load {
layer: text1;
start: 0.0;
end: 0.00001;
file: text-layer-image.png;
to-a: 255;
}
----
** マクロの取り込み [#r3c95140]
using [マクロファイル]
ファイルにまとめたマクロを取り込みます。
マクロ内で定義したサブルーチンを @gosub で呼び出してくだ...
*** 使い方 [#x0b38697]
txt/macro.txt を取り込みます。 マクロがそのまま実行されな...
@goto MACRO_END
using macro.txt
:MACRO_END
終了行:
* Suika2 コマンドリファレンス [#vaae6a00]
** 索引 [#j5e7f3bc]
- [[コマンドとは>#ud116d2a]]
- 画面表示系のコマンド
-- [[メッセージ>#ja1c52ac]]
-- [[セリフ>#yd0ca4df]]
-- [[@bg>#kca5c778]] 背景の表示
-- [[@ch>#k2eeb4a7]] キャラクタの表示
-- [[@chsx>#y4c04486]] キャラクタと背景の一括変更
-- [[@cha>#oc32420a]] キャラクタの移動
-- [[@shake>#cf5122d8]] 画面を揺らす
-- [[@video>#p65cc7a3]] 動画の再生
-- [[@anime>#zaa1841a]] アニメーションの表示
-- [[@layer>#k5a4fa64]] レイヤへの画像読み込み
-- [[@pencil>#db5f68f1]] テキストレイヤへの描画
- 音声再生系のコマンド
-- [[@bgm>#zc4169a9]] BGMの再生
-- [[@se>#te846f73]] SEの再生
-- [[@vol>#a4a9233c]] ボリュームの変更
- 選択肢表示系のコマンド
-- [[@choose>#j833cb8d]] 選択肢の表示
-- [[@ichoose>#cf919972]] インライン選択肢の表示
-- [[@gui>#x5321807]] GUIの表示
- ウェイト系のコマンド
-- [[@click>#fff6552c]] クリックされるまで待機
-- [[@wait>#p24189e0]] 指定した時間だけ待機
-- [[@skip>#zc4a8ced]] ウェイトのスキップを禁止
- シナリオ分岐系のコマンド
-- [[ラベル>#jfebae13]]
-- [[@goto>#ufbc28a7]] ラベルにジャンプ
-- [[@set>#p4badd92]] 変数に値を設定
-- [[@if>#g3151a59]] 変数の値でジャンプ
-- [[@load>#h7be1f8e]] スクリプトにジャンプ
-- [[@chapter>#v65c528c]] 章のタイトルを設定
- システム系のコマンド
-- [[@setconfig>#v5c67773]] コンフィグの書き換え
-- [[@setsave>#dae21e96]] セーブ許可/禁止
-- [[using>#r3c95140]] マクロの取り込み
----
** コマンドとは [#ud116d2a]
コマンドとは、Suika2に対する指示のことです。Suika2を使っ...
コマンドの名前を覚えておく必要はなく、このページを見なが...
コマンドの種類は厳選されており、一見して、できることが限...
----
** @anime (@アニメ) [#zaa1841a]
@anime [filename.txt] (options)
@anime [file=filename.txt] (options)
@アニメ [ファイル名] (オプション群)
@アニメ [ファイル=ファイル名.txt] (オプション群)
アニメファイルを再生します。レイヤの移動、エフェクトの表...
アニメファイルはフォルダ anime に配置する必要があります。
レイヤに画像を読み込むには @layer コマンドを利用してくだ...
Suika2/15.1現在、回転や拡大縮小はサポートされていませんが...
*** 使い方1 [#ma66156d]
anime1.txt を再生します。再生完了まで待ちます。(sync)
@anime anime1.txt sync
*** 使い方2 [#z7eaee21]
anime1.txt を再生します。再生完了を待ちません。(async)
@anime anime1.txt async
なにかメッセージを表示します。
@anime finish-all
*** 使い方3 [#le3c1138]
anime1.txt を再生します。折りたたみシステムメニューを表示...
@anime anime1.txt sync,nosysmenu
*** 使い方4 [#b0154217]
anime1.txt を再生します。メッセージボックスを表示します。...
@anime anime1.txt sync,showmsgbox
*** 使い方5 [#x5db5a32]
ループアニメ loop-anime1.txt を再生します。
@anime loop-anime1.txt async
なにかメッセージを表示します。
@anime stop-all
*** アニメファイルの記述例 [#z0f46131]
詳細は[[アニメファイル]]をご参照ください。下記は例です。
# アニメーションファイル
# 中央キャラを2回移動する
move1 {
layer: chc; # 中央キャラクタ CHaracter Center
clear: chc; # 既存のアニメーションを破棄する(そのレ...
start: 0.0; # 時刻0.0(秒)から開始する
end: 2.0; # 時刻2.0(秒)に終了する
from-x: 0; # 開始するX座標
from-y: 0; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 100; # 終了するX座標
to-y: 100; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
move2 {
layer: chc; # 中央キャラクタ CHaracter Center
start: 2.0; # 時刻2.0(秒)から開始する
end: 4.0; # 時刻4.0(秒)に終了する
from-x: 100; # 開始するX座標
from-y: 100; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 0; # 終了するX座標
to-y: 0; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
# それと同時に、右キャラを1回移動する
move {
layer: chr; # 中央キャラクタ CHaracter Right
clear: chr; # 既存のアニメーションを破棄する(そのレ...
start: 0.0; # 時刻0.0(秒)から開始する
end: 3.0; # 時刻3.0(秒)に終了する
from-x: 1000;# 開始するX座標
from-y: 0; # 開始するY座標
from-a: 255; # 開始するアルファ値
to-x: 0; # 終了するX座標
to-y: 0; # 終了するY座標
to-a: 255; # 終了するアルファ値
}
----
** @layer (@レイヤ) [#k5a4fa64]
@layer レイヤ名 ファイル名 X Y alpha
@layer name=レイヤ名 file=ファイル名 x=X y=Y a=アルファ
@レイヤ レイヤ名 ファイル名 X Y alpha
@レイヤ 名前=レイヤ名 ファイル=ファイル名 X=x Y=y a=アル...
レイヤに画像を読み込みます。次の表示系コマンドに進むまで...
ファイル名にnoneを指定すると削除します。
利用できるレイヤ名は下記です。
|レイヤの名前|
|bg|
|bg2|
|effect5|
|effect6|
|effect7|
|effect8|
|chb|
|chl|
|chlc|
|chr|
|chrc|
|chc|
|effect1|
|effect2|
|effect3|
|effect4|
|text3|
|text4|
|text5|
|text6|
|text7|
|text8|
*** 使い方1 [#hca6977b]
レイヤに画像をロードします。
@layer name=text1 file=switch-bg.png x-0 y=0 a=255
*** 使い方2 [#q364f65d]
レイヤの画像を削除します。
@layer name=text1 file=none
----
** @bg (@背景) [#kca5c778]
@bg ファイル名 (秒) (エフェクト)
@bg file=ファイル名 (duration=秒) (effect=エフェクト)
@背景 ファイル名 秒 エフェクト=エフェクト
@背景 ファイル=ファイル名 (秒=秒) (エフェクト=エフェクト)
背景を変更します。背景の変更後、キャラクタはステージ上か...
*** 使い方1 [#y9f83e66]
sample.png を1.5秒かけて背景にセットします。
@bg sample.png 1.5
*** 使い方2 [#yd4b973f]
sample.png を即座に背景にセットします。
@bg sample.png
*** 使い方3 [#aa234de2]
sample.png を1.5秒かけて右方向カーテンフェードで背景にセ...
@bg sample.png 1.5 c
*** 使い方4 [#aa408acd]
色を指定して1.5秒かけて左方向カーテンフェードで背景にセッ...
@bg #ff8080 1.5 curtain-left
*** 使い方5 [#fe29bb79]
目を閉じるような演出を行います。
@bg #000000 1.5 eye-close
*** 使い方6 [#i7a4f574]
目を開けるような演出を行います。
@bg sample.png 1.5 eye-open
*** 使い方7 [#k6e31dae]
ルール画像を使ってトランジションを行います。 ルール画像は...
@bg sample.png 1.5 rule:rule-star.png
*** 背景/キャラで共通のエフェクト [#d1eaec13]
フェードには次のエフェクトを指定できます。すべてのエフェ...
|LEFT:300|LEFT:300|LEFT:150|LEFT:150|LEFT:150|c
|エフェクトの種類|エフェクト名|エフェクト短縮名1|エフェク...
|標準のアルファブレンド|normal|n||標準|
|ルール指定トランジション(1BIT)|rule:ルール画像ファイル||||
|ルール指定トランジション(8BIT)|melt:ルール画像ファイル||||
|右方向カーテン|curtain-right|curtain|c|右カーテン|
|左方向カーテン|curtain-left|cl||左カーテン|
|上方向カーテン|curtain-up|cu||上カーテン|
|下方向カーテン|curtain-down|cd||下カーテン|
|右方向スライド|slide-right|sr||右スライド|
|左方向スライド|slide-left|sl||左スライド|
|上方向スライド|slide-up|su||上スライド|
|下方向スライド|slide-down|sd||下スライド|
|右方向シャッター|shutter-right|shr||右シャッター|
|左方向シャッター|shutter-left|shl||左シャッター|
|上方向シャッター|shutter-up|shu||上シャッター|
|下方向シャッター|shutter-down|shd||下シャッター|
|時計回り|clockwise|cw||時計回り|
|反時計回り|counterclockwise|ccw||反時計回り|
|時計回り(20°刻み)|clockwise20|cw20|||
|反時計回り(20°刻み)|counterclockwise20|ccw20|||
|時計回り(30°刻み)|clockwise30|cw30|||
|反時計回り(30°刻み)|counterclockwise30|ccw30|||
|目を開くような効果|eye-open||||
|目を閉じるような効果|eye-close||||
|目を開くような効果(垂直)|eye-open-v||||
|目を閉じるような効果(垂直)|eye-close-v||||
|スリットが開くような効果|slit-open||||
|スリットが閉じるような効果|slit-close||||
|スリットが開くような効果(垂直)|slit-open-v||||
|スリットが閉じるような効果(垂直)|slit-close-v||||
----
** @bgm (@音楽) [#zc4169a9]
@bgm [filename.ogg] (once)
@bgm [file=filename.ogg] (once)
@音楽 [ファイル名.ogg] (once)
@音楽 [ファイル=ファイル名.ogg] (once)
BGMを再生します。
BGMファイルはフォルダ bgm に格納されている必要があります。
再生可能なファイル形式は、44.1kHzのOgg Vorbisのみです。も...
*** 使い方1 [#qe88da97]
sample.oggを再生します。
@bgm sample.ogg
*** 使い方2 [#zbc47c2b]
BGMを停止します。
@bgm stop
*** 使い方3 [#g5b3f31c]
BGMをループしないで1回だけ再生します。
@bgm sample.ogg once
*** 応用例 [#z6707b39]
BGMを2秒かけてフェードアウトします。
@vol bgm 0 2
@wait 2
@bgm stop
----
** @ch (@キャラ) [#k2eeb4a7]
記法
@ch [position] [filename.png] (seconds) (effect) (x-offs...
@ch [position=position] [file=filename.png] (duration=se...
@キャラ [位置] [ファイル名] (秒) (エフェクト名) (Xオフセ...
@キャラ [位置=位置] [ファイル=ファイル名] (秒=秒) (エフ...
キャラクタを表示、変更、消去します。
キャラクタの位置は、上位レイヤから順に、次のものがありま...
|表示位置|コマンドでの指定方法|短縮形|
|左|left|l|
|左中|left-center|lc|
|中央|center|c|
|右中|right-center|rc|
|右|right|r|
|背面|back|b|
|顔アイコン|face|f|
エフェクトの種類は @bg と同じです。
*** 使い方1 [#e01caa4f]
sample.png を0.5秒かけて中央前面にセットします。
@ch center sample.png 0.5
*** 使い方2 [#vd990553]
center は c と省略して構いません。
@ch c sample.png 0.5
*** 使い方3 [#efcfc55c]
none を指定するとキャラクタを退場させます。
@ch c none 0.5
*** 使い方4 [#e02fe0c6]
時間を指定しないと即座に表示されます。
@ch c sample.png
*** 使い方5 [#a9f5dcd8]
normal あるいは n を指定すると通常のアルファブレンドを使...
@ch c sample.png 1.0 normal
*** 使い方7 [#f964965b]
キャラクタ表示位置をずらすことができます。下記の例では右...
@ch c sample.png 1.0 n 100 50
*** 使い方8 [#t4160ba8]
アニメの起点を指定するために、アルファ値を指定してキャラ...
アルファ値には 0 から 255 を指定できます。 また、アルファ...
@ch c sample.png 1.0 n 0 0 show
*** 使い方9 [#wdc4f51e]
メッセージボックスの上にキャラの顔を表示します。消す場合...
@ch face face-001.png
----
** @cha (@キャラ移動) [#oc32420a]
@cha [position] [seconds] [acceleration] [x-offset] [y-o...
@cha [position=position] [duration=seconds] [acceleratio...
@キャラ移動 [位置] [秒] [加速タイプ] [Xオフセット] [Yオ...
@キャラ移動 [位置=位置] [秒=秒] [加速=加速タイプ] [x=Xオ...
キャラクタの移動(アニメーション)を行います。キャラクタの...
*** 使い方1 [#dd87dd6b]
中央に表示したキャラクタを1.0秒かけて左側に600ピクセル移...
@cha center 1.0 move -600 0 hide
*** 使い方2 [#s2062bc8]
使い方1との差分は、移動を加速(アクセル)しながら行うことで...
@cha center 1.0 accel -600 0 hide
*** 使い方3 [#v1f531e1]
使い方1との差分は、移動を減速(ブレーキ)しながら行うことで...
@cha center 1.0 brake -600 0 hide
*** 使い方4 [#mb34a3f2]
初めに画面の外にキャラクタを読み込んでおいて、画面の中に...
@ch right sample.png 0 n 600 0 hide
@cha right 2.0 move -600 0 show
----
** @chapter (@章) [#v65c528c]
@chapter "title-name"
@chapter title="title-name"
@章 "タイトル"
@章 タイトル="タイトル"
章のタイトルを設定します。
*** 使い方 [#m3bf3313]
@chapter 第一章
----
** @choose (@選択肢) [#j833cb8d]
@choose [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先3...
@choose [destination1=行き先1] [option1=選択肢1] (destin...
@選択肢 [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先3...
@選択肢 [行き先1=行き先1] [選択肢1=選択肢1] (行き先2=行...
選択肢を表示してラベルにジャンプします。選択肢の数は最大...
*** 使い方1 [#l58b6b57]
3つの選択肢を表示します。
@choose label1 おはよう label2 こんにちは label3 こんば...
:label1
おはよう。
@goto end
:label2
こんにちは。
@goto end
:label3
こんばんは。
:end
*** 使い方2 [#ufaf854f]
ラベルを書くのが面倒な場合、拡張switch文を利用できます。
<<<
switch "おはよう" "こんにちは" "こんばんは" {
case "おはよう":
@ch center good-morning.png
おはよう。
break
case "こんにちは":
@ch center good-afternoon.png
こんにちは。
break
case "こんばんは":
@ch center good-evening.png
こんばんは。
break
}
>>>
----
** @ichoose (@インライン選択肢) [#cf919972]
@ichoose [行き先1] [選択肢1] (行き先2) (選択肢2) (行き先...
@ichoose [destination1=行き先1] [option1=選択肢1] (desti...
@インライン選択肢 [行き先1] [選択肢1] (行き先2) (選択肢2...
@インライン選択肢 [行き先1=行き先1] [選択肢1=選択肢1] (...
メッセージボックス内に選択肢を表示してラベルにジャンプし...
選択肢をメッセージボックス内に表示する以外は、 @choose と...
この機能を使用するときには、コンフィグの switch.bg.file ...
----
** @chs (@場面転換) [#m763af75]
@chs [中央ファイル] [右ファイル] [左ファイル] [背面ファ...
@chs [center=中央ファイル] [right=右ファイル] [left=左フ...
@場面転換 [中央ファイル] [右ファイル] [左ファイル] [背面...
@場面転換 [中央=中央ファイル] [右=右ファイル] [左=左ファ...
このコマンドは非推奨です。Suika2/12.37以降では @chsx をご...
キャラクタの一括変更を行います。また、キャラクタと同時に...
*** 使い方1 [#v2673138]
中央と右にキャラクタを1.0秒かけて表示します。他のキャラク...
@chs center.png right.png stay stay 1.0
*** 使い方2 [#je287f9d]
中央のキャラクタを1.0秒かけて退場させます(none の指定)。...
@chs none stay stay stay 1.0
*** 使い方3 [#b6b746ea]
キャラクタを表示させたまま(stay の指定)、背景を1.0秒かけ...
@chs stay stay stay stay 1.0 background.png
*** 使い方4 [#oebed6ca]
中央のキャラクタを1.0秒かけて変更します。背景も変更します...
@chs center.png stay stay stay 1.0 background.png curtain
----
*** @chsx (@場面転換X) [#y4c04486]
@chsx (center=center-image) (center-x=center-x-offset) (...
@場面転換X (中央=中央ファイル) (中央X=中央キャラのXオフ...
キャラクタの一括変更を行います。背景のみの変更や、キャラ...
このコマンドに限って、center= のような引数の名前が必須で...
変更のないキャラは指定しなくて構いません。退場させるキャ...
エフェクトの種類は @bg と同じです。
*** 使い方1 [#d6cd74cc]
中央と右にキャラクタを1.0秒かけて表示します。他のキャラク...
@chsx center=center.png right=right.png duration=1.0
*** 使い方2 [#ef4d0559]
中央のキャラクタを1.0秒かけて退場させます(none の指定)。...
@chsx center=none duration=1.0
*** 使い方3 [#x537a73e]
キャラクタを表示させたまま(stay の指定)、背景を1.0秒かけ...
@chsx background=background.png duration=1.0 center=stay...
*** 使い方4 [#mf2cc487]
中央のキャラクタを1.0秒かけて変更します。背景も変更します...
@chsx center=center.png background=background.png effect...
----
** @click (@クリック) [#fff6552c]
@click
@クリック
クリックされるのを待ちます。待っている間、メッセージボッ...
*** 使い方 [#vea11749]
クリックを待ちます。
@click
----
** @gosub [#tdc94466]
@gosub [行き先ラベル]
サブルーチンにジャンプします。 @return で戻ります。
サブルーチンはファイルにまとめておいて、usingで取り込むこ...
*** 使い方 [#m8a6d626]
サブルーチン SUB を実行します。
@gosub SUB
....
:SUB
ここに何らかの処理やメッセージを記述します。
@return
----
** @goto (@ジャンプ) [#ufbc28a7]
@goto [label]
@goto [destination=label]
@ジャンプ [行き先ラベル]
@ジャンプ [行き先=行き先ラベル]
ラベルにジャンプします。ループを作成するときや、ループか...
拡張if文や拡張switch文が導入されたため、ラベルを作らなく...
*** 使い方1 [#r6ba4af9]
ラベル abc にジャンプします。
:abc
ここに何らかの処理やメッセージを記述します。ループします。
@goto abc
----
** @gui (@メニュー) [#x5321807]
@gui [filename.txt] (options)
@gui [file=filename.txt] (options)
@メニュー [ファイル=ファイル名.txt] (オプション群)
@メニュー [ファイル=ファイル名.txt] (オプション群)
GUIを表示します。GUIでは最大128個のボタンを作成できます。
ボタンの種類には、押されるとラベルにジャンプするものや、...
なお、GUI定義ファイルはコンフィグ画面やセーブ・ロード・履...
GUI定義ファイルの作り方は、 https://suika2.com/doc/title....
*** 使い方1 [#ldfe7c99]
GUI定義ファイル menu.txt を読み込んでGUIを実行します。
@gui menu.txt
*** 使い方2 [#uf6674c8]
右クリックによるキャンセルを許可します。
@gui menu.txt cancel
*** 使い方3 [#x2bb6008]
ロード画面を表示します。
@gui load.txt cancel
*** 使い方4 [#reb12080]
セーブ画面を表示します。
@gui save.txt cancel
*** 使い方5 [#hbd7967d]
コンフィグ画面を表示します。
@gui system.txt cancel
----
** @if (@フラグでジャンプ) [#g3151a59]
@if [variable] [condition] [value] [label]
@フラグでジャンプ [変数] [条件] [数値] [行き先]
条件式とマッチするときだけラベルにジャンプします。
Suika2/13系列において拡張if文が導入されたため、ラベルなし...
利用できる条件の種類は下記の通りですが、 普通のノベルゲー...
|条件の種類|意味|
|>|a > b (aがbより大きい)|
|>=|a ≧ b (aがbより大きいか等しい)|
|==|a = b (aとbが等しい)|
|<=|a ≦ b (aがbより小さいか等しい)|
|<|a < b (aがbより小さい)|
|!=|a ≒ b (aとbが等しくない)|
条件文の左側はローカル変数名($0 など)か、グローバル変数名...
条件文の左側がローカル変数名かグローバル変数名のとき、条...
条件文の左側が名前変数のとき、条件文の右側には文字列のみ...
*** 使い方1 [#ice44787]
ローカル変数の値でシナリオを分岐します。ローカル変数 $1 ...
@if $1 == 1 abc
変数の値が1以外です。つまり、フラグが立っていないという...
ここにシナリオを記述します。
@goto end
:abc
変数の値が1です。つまり、フラグが立っているということで...
ここにシナリオを記述します。
:end
*** 使い方2 [#ma859158]
ラベルやジャンプがわかりにくいときは、拡張 if 文を使うこ...
<<<
if $1 == 0 {
おはよう。
}-
else if $1 == 1 {
こんにちは。
}-
else {
こんばんは。
}
>>>
*** 使い方3 [#j1911718]
名前変数の値でシナリオを分岐します。名前変数 %a の値が み...
@if %a == みどり MIDORI
名前がみどり以外です。
ここにシナリオを記述します。
@goto end
:MIDORI
名前がみどりです。
ここにシナリオを記述します。
:end
----
** ラベル [#jfebae13]
:ラベル名
ジャンプ先となるラベルを作成します。ラベルはゲームの見た...
Suika2/13系列以降では、拡張if文や拡張switch文を使うことで...
*** 使い方 [#af55dcf3]
ループします。
:ジャンプ先
何かメッセージを表示する
@goto ジャンプ先
----
** @load (@シナリオ) [#h7be1f8e]
@load [file-name.txt] [label-name]
@load [file=ファイル名.txt] [label=label-name]
@シナリオ [ファイル名.txt] [ラベル名]
@シナリオ [ファイル=ファイル名.txt] [ラベル=ラベル名]
スクリプトファイルにジャンプします。スクリプトファイルは...
*** 使い方1 [#b2a2e642]
スクリプトファイル 001.txt にジャンプします。
@load 001.txt
*** 使い方2 [#ied7cc20]
スクリプトファイル 001.txt のラベルAAAにジャンプします。
@load 001.txt AAA
----
** メッセージ [#ja1c52ac]
メッセージボックスにテキストを出力します。
- 行の先頭に \ を記述することで、前の行を継続することが可...
- $0のように$数字でローカル変数やグローバル変数の値の数値...
- %aのように%アルファベット小文字で名前変数の値の文字列を...
- 利用できる装飾は下記の通りです。
|記述|装飾の内容|
|\n|改行する|
|\#{RRGGBB}|フォントの色を変更する|
|\@{サイズ}|フォントのサイズを変更する|
|\^{ルビ}|ルビを振る|
|\f{g]|グローバルフォントを使用する(ユーザがコンフィグ画...
|\f{m]|メインフォントを仕様する(conf/config.txtで指定)|
|\f{a]|代替1フォントを仕様する(conf/config.txtで指定)|
|\f{b]|代替2フォントを仕様する(conf/config.txtで指定)|
|\o{+}|フォントのふちどり(アウトライン)をONにする|
|\o{-}|フォントのふちどり(アウトライン)をOFFにする|
|\p{x座標,y座標}|描画位置を変更する|
|\w{秒数}|ウェイトを挿入する|
*** 使い方 [#i355c749]
こんにちは。
----
** @news [#i3a21173]
@news [...長い...]
注意: このコマンドは隠しコマンドです。使い方はDiscordでご...
@switch の亜種です。2階層の選択肢で、1階層目の選択肢の最...
----
** @return [#g3c671e9]
@return
サブルーチンから戻ります。
*** 使い方 [#h61d32b8]
サブルーチン SUB を実行します。
@gosub SUB
:SUB
ここに何らかの処理やメッセージを記述します。
@return
----
** @se (@効果音) [#te846f73]
@se [filename.ogg] (loop)
@se [file=filename.ogg] (loop)
@効果音 [ファイル名.ogg] (loop)
@効果音 [ファイル=ファイル] (loop)
SE(効果音)を再生します。
SEファイルはフォルダ se に格納されている必要があります。
再生可能なファイル形式は、44.1kHzのOgg Vorbisのみです。
*** 使い方1 [#g0e72f5f]
SEを再生します。
@se click.ogg
*** 使い方2 [#pe7272e5]
SEを停止します。
@se stop
*** 使い方3 [#vb538029]
SEをループ再生します。
@se sample.ogg loop
*** 特殊な使い方 [#e6ed2db6]
ボイストラックでSEを再生します。この機能は音量設定画面で...
@se click.ogg voice
----
** セリフ [#yd0ca4df]
キャラ名「セリフ」
*キャラ名*セリフ
*キャラ名*音声ファイル*セリフ
メッセージボックスにセリフのテキストを出力します。また、...
ボイスを再生することができます。ボイスファイルは、フォル...
メッセージと同様の装飾が使えます。
*** 使い方1 [#ac4039fc]
セリフを出力します。
みどり「こんにちは、Suika2です。」
*** 使い方2 [#n4fa7cc8]
ボイスを再生して、セリフを出力します。
*みどり*001.ogg*こんにちは、Suika2です。
*** 使い方3 [#fcd80a68]
指定したビープ音をリピート再生して、セリフを出力します。
*名前*@beep.ogg*こんにちは。
----
** @set (@フラグをセット) [#p4badd92]
@set [variable] [operator] [value]
@フラグをセット [変数] [演算子] [値]
ローカル変数、グローバル変数、名前変数に値をセットします。
|LEFT:100|LEFT:400|c
|変数の種類|説明|
|ローカル変数|セーブデータごとに値が異なり、 $0 から $999...
|グローバル変数|全てのセーブデータで共通の値となり、 $100...
|名前変数|セーブデータごとに値が異なり、%aから%zまでの26...
@set で利用できる計算には下記のものがあります。名前変数に...
|計算の種類|意味|
|=|単純に a に b を入れます(代入)|
|+=|a に b を足し算します(加算)|
|-=|a から b を引き算します(減算)|
|*=|a に b をかけ算します(乗算)|
|/=|a を b で割り算します(除算)|
|%=|a を b で割った余りを求めます(剰余)|
*** 使い方1 [#ab238d76]
ローカル変数 $0 に値 1 を代入します。フラグのセットに利用...
@set $0 = 1
*** 使い方 2 [#xa774e1d]
ローカル変数 $10 に値 23 を加算します。 好感度の加算など...
@set $10 += 23
*** 使い方3 [#l1144a0f]
ローカル変数 $0 に 0 から 9 までのランダムな値を代入しま...
@set $0 = $RAND
@set $0 %= 10
*** 使い方4 [#c495c1fb]
ローカル変数 $1 にローカル変数 $2 を加算します。好感度の...
@set $1 += $2
*** 使い方5 [#k08e4185]
名前変数 %a に文字列 みどり を代入します。デフォルトの名...
@set %a = みどり
----
** @setconfig [#v5c67773]
@setconfig [コンフィグ名] (値)
コンフィグをゲーム実行中に書き換えられる便利コマンドです...
*** 使い方 [#tba5ec97]
メッセージボックスを変更します。画面いっぱいを使うノベル...
@setconfig msgbox.bg.file msgbox-bg.png
@setconfig msgbox.fg.file msgbox-fg.png
...
@setconfig update-msgbox-and-namebox
----
** @setsave [#dae21e96]
@setsave [disable/enable]
セーブ・ロードを禁止・解禁します。
*** 使い方1 [#ua97409c]
セーブ・ロード画面を有効化(解禁)します。 [デフォルト設定]
@setsave enable
*** 使い方2 [#hf6dcac7]
セーブ・ロード画面を無効化(禁止)します。
@setsave disable
----
** @shake (@振動) [#cf5122d8]
@shake [direction] [seconds] [times] [amplitude]
@shake [direction=direction] [duration=seconds] [times=t...
@振動 [方向] [秒] [回数] [大きさ]
@振動 [方向=方向] [秒=秒] [回数=回数] [大きさ=大きさ]
画面を揺らします。
*** 使い方1 [#h9ccdaa2]
1.0秒かけて、3回、横方向に100px、画面を揺らします。なお、...
@shake horizontal 1.0 3 100
*** 使い方2 [#l12c44cc]
1.0秒かけて、3回、縦方向に100px、画面を揺らします。なお、...
@shake vertical 1.0 3 100
----
** @skip (@スキップ) [#zc4a8ced]
@skip [enable/disable]
@スキップ [許可/不許可]
待ち時間のあるコマンドのスキップを禁止・解禁します。
主に、ゲーム起動時にブランドロゴを表示するのに使用できま...
*** 使い方1 [#p1c0188e]
スキップを有効にします。 [デフォルト設定]
@skip enable
*** 使い方2 [#d47534bc]
スキップを無効にします。
@skip disable
----
** @switch [#s5e47fa0]
@switch [...長い...]
注意: このコマンドは隠しコマンドです。使い方はDiscordでご...
2階層の選択肢を表示します。1階層目を親選択肢と呼び、2階層...
「動詞+目的語」で探索する80年代から90年代のアドベンチャ...
*** 使い方 [#f8d6b170]
2階層で4つの選択肢を表示します。
@switch 親選択肢1 親選択肢2 * * * * * * LABEL1 子選択肢1...
:LABEL1
:LABEL2
:LABEL3
:LABEL4
----
** @video (@動画) [#p65cc7a3]
@video [ファイル名]
@video [file=ファイル名]
@動画 [ファイル名]
@動画 [ファイル=ファイル名]
動画を再生します。
Windowsで再生できる動画は .wmv ファイルです。その他の環境...
動画ファイルは mov ディレクトリに格納します。mov ディレク...
Webブラウザでは、プレイヤが最初にクリックを行う前に動画を...
*** 使い方 [#o330fe68]
動画を再生します。 Windowsでは sample.wmv が再生されます...
@video sample
----
** @vol (@音量) [#a4a9233c]
@vol [track-name] [volume-value] (seconds)
@vol [track=track-name] [volume=volume-value] (duration=...
@音量 [トラック名] [音量=音量] (秒=秒)
@音量 [トラック=トラック] [音量=音量] (秒=秒)
時間を指定してボリュームを調整します。
トラックの種類は下記の通りです。
|トラック名|省略形|日本語|用途|
|bgm|b|音楽|BGMの音量|
|voice|v|声|ボイスの音量|
|se|s|効果音|SEの音量|
音量の値は 0.0 から 1.0 の範囲で指定できます。 0.0 が無音...
音量は初期値で 1.0 で、セーブデータごとに別な値に変化しま...
*** 使い方 [#ic8c2101]
BGMの音量を 1.0 秒かけて 0.5 にします。
@vol bgm 0.5 1.0
@wait 1.0
----
** @wait (@時間待ち) [#p24189e0]
@wait [seconds]
@wait [duration=seconds]
@時間待ち 秒=秒
@時間待ち 秒=秒
時間を指定して待機します。
途中、キーボードやマウスの入力があれば待機を終了します。...
*** 使い方 [#ue62c8aa]
5秒待ちます。
@wait 5.0
----
** @wms (@スクリプト) [#gc79026a]
@wms [filename]
@wms [file=filename.txt]
@スクリプト [ファイル名.txt]
@スクリプト [ファイル=ファイル名.txt]
WMS (Watermelon Script) を実行します。
WMSはプログラミング言語です。シナリオのスクリプトでは複雑...
*** 使い方 [#t76a593b]
wms/hello.txt を実行します。
@wms hello.txt
----
** @pencil [#db5f68f1]
@pencil [0/1/2/3/4/5/6/7] [テキスト]
テキストレイヤにテキストを描画します。あらかじめ利用する...
*** 使い方 [#g3ecb568]
テキストレイヤ1 (text1) にテキストを描画します。
@anime load-text1.txt sync
@pencil 0 このテキストが描画されます。
anime/load-text1.txt:
load {
layer: text1;
start: 0.0;
end: 0.00001;
file: text-layer-image.png;
to-a: 255;
}
----
** マクロの取り込み [#r3c95140]
using [マクロファイル]
ファイルにまとめたマクロを取り込みます。
マクロ内で定義したサブルーチンを @gosub で呼び出してくだ...
*** 使い方 [#x0b38697]
txt/macro.txt を取り込みます。 マクロがそのまま実行されな...
@goto MACRO_END
using macro.txt
:MACRO_END
ページ名: