ユーザ用ツール

サイト用ツール


システム

システム

macro

属性必須説明
nameYesタグ名以降この名前をタグとして使用できる

新しいマクロ(タグ)を作ることができます。
このmacroタグからendmacroまでにある行をユーザー定義タグとして登録し、name属性にしたmacro名でスクリプトから使用できます。

マクロはスクリプト本文中に記述しても構いませんが、macro.scのようにマクロ専用の別ファイルを作りそこに記述していくと整理整頓しやすいですのでお勧です。

マクロ中に%を頭につけた任意の属性名を指定することで本文中の属性を引き渡すことがでます。
また「|」(or記号)で属性の省略値を指定できます。

[macro name=quakeGo]
@quake time=%waitingTime|1000 hmax=10 vmax=10
@wq canskip=true
[endmacro]

//以下スクリプト本文
セリフセリフセリフセリフセリフ
//timeが500になる
[quakeGo waitingTime=500]
セリフセリフセリフセリフセリフ
//waitingTimeを指定していないのでtimeには省略値の1000が使用される
[quakeGo]

endmacro

macroタグから記述したマクロの終了地点
macroタグと対になります。

wait

属性必須説明
timeyesミリ秒待っている時間
canskipnotrue(デフォルト)/falseクリックしてスキップできるか

waitclick (クリック待ち)

メッセージのクリック待ちの場合は以下を使用してください
・l (行末クリック待ち)
・p(改ページクリック待ち)

waitflick (フリック待ち)

ユーザーのフリック操作を待ちます
【フリック判定基準】
画面の横幅に対して20%以上の範囲を300ms以内でなぞる(2021/02現在)

フリック判定後、tf.___flick_directionにフリックした方向が文字列でセットされます。
右から左:'left'
左から右:'right'

@waitflick
@emb exp="'右から左'" cond="tf.___flick_direction == 'left'"
@emb exp="'左から右'" cond="tf.___flick_direction == 'right'"

s (停止処理)

属性必須説明
waittimenoミリ秒選択確定後、次の処理に移るまで指定時間待つ(初期値:950ミリ秒)
0で即時次に進む
v2singlenotrue/false選択時のタップ回数。
true:1回で確定,
false : 2回タップで確定(初期値)
alignnocenter選択肢を中央揃えにする
未指定の場合は左寄せ
skiptimenoミリ秒指定ミリ秒経過後、選択肢待ちを解除する(先に進む)
skipcondno条件式条件式がtrueの時、選択肢待ちを解除する(先に進む)

linkタグの後に記述して選択肢待ちする

サンプル
@link storage=sceneList left=800 top=50 width=180 height=50
@endlink
@s skiptime=300
サンプル
@link storage=hoge.sc left=800 top=50 width=180 height=50
@endlink
@s skipcond="tf.hoge == 1"

skipoff

スキップ時、通常モードの戻す

autooff

オート時、通常モードに戻す

skipoffdebug

デバッグ時かつスキップ時通常モードに戻す

cancelautomode

オート時通常モードに戻す

save(セーブ)

スクリプトから任意のタイミングでsave処理ができます。

属性必須説明
placeyesゼロ以外の整数・正の整数スロット番号(サーバーにセーブ)
・負の整数でローカルに一時的にセーブ
※-1~-3はシステムで使用しているので使用しないでください。
※ローカルへのセーブはブラウザのlocalstorageに保存されます。ブラウザを閉じてもセーブデータは消えません。ただし、ブラウザのキャッシュをクリアすると消えることがあります。


@save place=5
@save place=-10

saveimage(セーブ画像取得)

セーブしたスクリーンショット画像をスクリプト内で使用します。

属性必須説明
timeyes数字セーブしたおおよその日時を設定
(設定しない場合ブラウザにキャッシュされた古いセーブ画像が表示されてしまう)
storageyes数字ファイル名はセーブスロット番号を指定(0~)

※その他の属性はimageタグに準ずる

例:
[eval exp="tf.time = sf.map.savetime.get('0')"]
[saveimage layer=save0 storage=0 visible=true time=&tf.time]

サブメニューのクローズボタンを表示する。 menuoffで非表示にしたサブメニューを再度表示します。
サブメニューに関してはこちらを参照ください。

サブメニューを非表示にする。 画面表示の都合でサブメニューを非表示にしたい際に使用します。
非表示中はメニューボタンが押せなくなります。

属性必須説明
categoryyesメニューカテゴリ番号(以下参照)実行する処理
;//コンフィグ画面へ遷移する
@menuexec category=1

<メニューカテゴリ番号>:<内容>
1:コンフィグ画面
2:テキストオートモード
3:テキストスキップモード
4:「タイトルに戻る」ダイアログ表示
5:ヘルプ画面
6:クイックセーブ
7:クイックロード
8:セーブ画面表示
9:ロード画面表示
10:テキストバックログ
11:SCREEN_FIT(未使用)
12:CG一覧画面表示
13:シーン回想画面表示
14:新規ゲームSTART(start.scから開始)
17:メッセージレイヤ非表示
18:MAIN_MENU表示
19:クイックスタート※1
20:タイトル画面へ
21:「タイトルに戻る」ダイアログを閉じてゲームに戻る
22:自動セーブした箇所から開始(非推奨)
24:START_WITH_TF1※2
25:START_WITH_TF2
26:START_WITH_TF3
27:START_WITH_TF4
28:START_WITH_TF5
30:START_WITH_TF6
31:START_WITH_TF7
32:START_WITH_TF8
33:START_WITH_TF9
34:デバッグメニュー表示(開発用)
35:AUDIO_RESET←使わないでください
100:START_WITH_TF100※3

129:START_WITH_TF129

※1、saveのplace=-3でブラウザにセーブされた時点から再開。
place=-3にセーブされるタイミングは次の2つ。
1.テキストクリック待ちでplace=-3に自動セーブ
2.スクリプトにて@save place=-3で明示的に-3にセーブ

※2、24~28、30~33について
ゲーム再開(14と同じ動き)に加えて一時変数「tf.menu_start_with_tf」に24~33の値が入ります。タイトル画面、システムメニューを独自に作成する場合などに使用。

@if exp="tf.menu_start_with_tf == 24"
 @eval exp="tf.menu_start_with_tf = -1"
 @jump storage=splash.sc
@endif
@if exp="tf.menu_start_with_tf == 25"
 @eval exp="tf.menu_start_with_tf = -1"
 @jump storage=title.sc
@endif

※3、100~129について
一時変数「tf.menu_start_with_tf」に100~129の値が入り、start.scの先頭にジャンプする

【注意】
24~28、30~33、100~129の実行後は必ずtf.menu_start_with_tfを-1に設定してください。tf.menu_start_with_tfが1以上の状態ではメニュー連打防止機能が働いて画面タップが無効になってしまいます。

nop

デバッグログコメント表示
使い方1 記述内容をデバッグログに表示する
使い方2 リリース後の修正でスクリプト行数を変えたくない場合の調整用

@nop ここの文章がデバッグログに表示されます

tapeffect

タップした場所をパラパラアニメで表現します。

属性必須説明
storageyesファイル名エフェクト画像が縦に連結した画像
intervalyesミリ秒画像を切り替える時間
countyes数値画像の種類数

例:init.scの最初に以下を記述
[tapeffect storage=hoge interval=200 count=5]

payment

プラットフォーマーの課金画面に遷移します。
課金の詳しい説明は課金実装を参照ください。

属性必須説明
placeyes opensocila固定


@payment place=opensocial

timerexec (時間制御繰り返し処理)

intervalで設定した時間でexp,execをfinish条件が充足するまで繰り返し実行する。
一定のシーンで信号が点滅し続けるような処理での使用を想定。

属性必須説明
intervalnoミリ秒繰り返す時間
※未指定の場合、100[ms]が設定されます
expno変数処理。コロンもしくはカンマ区切りで複数指定可能
execnoスクリプト実行するスクリプト。セミコロン区切りで複数指定可能。スクリプトは半角角括弧で表記する(@表記はNG)
finishyes終了条件
nameno文字列timerexec名
※未指定の場合、現在時刻(ミリ秒)がnameとして設定されます

※timerexecは複数同時に起動可能。(例:目パチと口パクの両方をそれぞれtimerexec起動で実行)
※execの都度、exp→execの順で実行します。
※同じnameのtimerexecは複数起動しません。起動中のtimerexec名と重複するnameでtimerexecすると起動中のtimerexecが強制的に停止されます。

[timerexec interval=555 exp="tf.rnd = func.random ; tf.x = tf.rnd % 800 " exec="[image layer=0 storage=hoge visible=true left=&tf.x top=66];[layopt layer=0 top=&tf.x];" finish="tf.finsh == 1"]

※exec内にダブルクォーテーションを使用する場合、ダブルクォーテーションをエスケープします。

[timerexec interval=555 exec="[layopt layer=0 visible=true cond=\"tf.hoge == 1\"]" finish="tf.finsh == 1"]

stoptimerexec (timerexec強制停止)

起動中のtimerexecを終了条件の如何にかかわらず強制停止します。

属性必須説明
nameno文字列stop対象のtimerexec名
※未指定の場合、起動中のすべてのtimerexecがstopします。
@timerexec name=exec1 interval=555 exec="[image layer=0 storage=hoge]" finish="tf.finsh == 1"]
@timerexec name=exec2 interval=555 exec="[image layer=1 storage=hoge]" finish="tf.finsh == 2"]
@timerexec interval=555 exec="[image layer=2 storage=hoge]" finish="tf.finsh == 3"]
@stoptimerexec name=exec1
;exec1だけ終了
@stoptimerexec
;全てのtimerexecが終了

canvas (キャンバス属性)

キャンバス描画の属性を操作できます

属性必須説明
refreshnotrue/falsetrue:画面をリフレッシュします(初期値)
false:画面をリフレッシュしません。前の描画がそのまま残ります
pinchionotrue/falsetrue:ピンチイン/ピンチアウト操作を有効にします
false:ピンチイン/ピンチアウト操作を無効にします(初期値)
※ピンチ操作有効時はスマホ縦横方向による画面サイズ自動調整機能が効かなくなります。
※ピンチイン/アウトタグを実行する前にユーザーの画面タップ操作が一度以上必要になります。
flushsfnotrue/falsetrue:システム変数の更新をサーバーに通知します(初期値)
false:システム変数の更新をサーバーに通知しません。パフォーマンス重視のシーンではfalseにします
backmovenotrue/falsetrue:move,move2でpage=back指定が有効になる
false:move,move2でpage=back指定が効かず、moveタグが無視される(初期値)
tfnumbernotrue/falsetrue:一時変数がtf.<数字>の場合、<数字>が設定される
false:通常の変数ルール(初期値)
【例】
@eval exp="tf.hoge = tf.1234"
の場合、tf.hogeには「1234」が入る

例:
@canvas refresh=true pinchio=true

holdstep (実行保留)

スクリプト実行の保留を制御します。 実行保留中はシナリオが実行されずname属性に指定された一時領域にstopholdstepが実行されるまでプールされます。releasestepタグで一時領域にプールしたシナリオを実行します。

属性必須説明
namenotext一時領域名
初期値:”default”
【例】
@holdstep name=hoge1
@image storage=foo1
保留中です1[l][r]
@stopholdstep
@holdstep name=hoge2
@image storage=foo2
保留中です2[l][r]
@stopholdstep
通常シナリオ[l][r]
@releasestep name=hoge2
@releasestep name=hoge1

↓実際の実行順序

通常シナリオ[l][r]
@image storage=foo2
保留中です2[l][r]
@image storage=foo1
保留中です1[l][r]

【制約事項】
・whileタグは保留しないでください。
・execパラメータ中のタグにholdstepは効きません。
 ダメな例:[link exec="[playse storage=hoge holdstep=foo]"]←holdstep=fooは効かない

【参考】
holdstep属性を付けることによってholdstepすることもできます。

【例】
@image storage=foo1 holdstep=hoge1
@image storage=foo2 holdstep=hoge2
@image storage=foo3 holdstep=hoge1
通常シナリオ[l][r]
@releasestep name=hoge2
@releasestep name=hoge1

↓実際の実行順序

通常シナリオ[l][r]
@image storage=foo2
@image storage=foo1
@image storage=foo3

※↓holdstep属性とcond属性の両方が指定されている場合、releasestepにてcondの評価がされます。

【例】
@eval exp="tf.bar = 0"
@image storage=hoge holdstep=foo cond="tf.bar == 1"
@eval exp="tf.bar = 1"
@releasestep name=foo
;;ここでcond="tf.bar ==1"が評価され@image行が実行される

stopholdstep (実行保留停止)

holdstep (実行保留)を停止します

releasestep (保留シナリオ実行)

holdstepで保留されて一時領域にプールされたシナリオを実行します。

属性必須説明
namenotext一時領域名
初期値:”default”
システム.txt · 最終更新: 2022/08/10 14:02 by advmanager