執筆者:ろすえん ※編集に許可は不要ですが、相談には応じます。
ラーメンタイマー的な里々辞書です。
概説
- 「【タブ】」はタブ文字です。
- カウントダウン(目的の時間から0まで)します。
- 動作中は表示し続けるので、短めの時間を想定しています。
- この辞書では4桁まで有効です。9999秒まで2時間46分39秒です。
- 動作中は表示し続けるので、短めの時間を想定しています。
- カウントアップ(0から目的の時間まで)は要改造です。
- 音を鳴らす場合、「【効果音のファイル名】」という箇所を書き換えてください。ghost/masterが基本のディレクトリです。
- 鳴らさない場合、「\![sound,load,【効果音のファイル名】]」「\![sound,play,【効果音のファイル名】]」を消してください。
- 変数名や文・単語群名が既にゴーストにある場合、誤動作します。適宜変更してください。
- 変数を保存しておく必要が無い場合(普通は必要ありません)、「OnSatoriClose」と「OnSatoriUnload」で「$タイマー変数掃除するよ【タブ】(nop,(タイマー変数掃除))」すると変数が削除されます。
- 単に「$タイマーの長さ秒【タブ】」でも結果は同じ(可読性と好みの問題)です。
使っている変数名
- タイマーの長さ秒
使っている文・単語群名
- タイマーメニュー
- タイマー表示部
- タイマーセット
- タイマー箱閉じ
- Onタイマー長さ入力された
- タイマーのvncallのフォーマット指定子
- タイマーはじめる
- Onタイマー実行中
- タイマー終了なので音を鳴らす
- タイマー中止
- タイマー変数掃除
ここから本体
*タイマーメニュー $タイマーの長さ秒【タブ】(when,(変数「タイマーの長さ秒」の存在)==0,180,(タイマーの長さ秒)) $タイマーの長さ秒【タブ】(when,(タイマーの長さ秒)<=0,180,(タイマーの長さ秒)) :\c\_q現在設定しているタイマーφ: (call,タイマー表示部,(タイマーの長さ秒))\n[half] \q[◆タイマーの長さを入力する,タイマーセット] \q[◆タイマーをはじめる,タイマーはじめる]\n[half] \q[◆閉じる,script:\e]\_q
@タイマー表示部 (sprintf 【タブ】,%02d : %02d : %02d 【タブ】,(calc,(A0)/3600) 【タブ】,(calc,(A0)%3600/60) 【タブ】,(calc,(A0)%60) )
*タイマーセット :\c\_q\![open,inputbox,Onタイマー長さ入力された,0,ここへ入力してください(数字のみ)]φ タイマーの長さを秒単位で入力してください。 1分は60秒、1時間は3600秒です。5桁まで。φ \_q\x\![raise,タイマー箱閉じ]
@タイマー箱閉じ \![close,inputbox,__SYSTEM_ALL_INPUT__]\![raise,タイマーメニュー]
*Onタイマー長さ入力された $タイマーの長さ秒【タブ】(vncall,sprintf,タイマーのvncallのフォーマット指定子,R0) >タイマーメニュー
@タイマーのvncallのフォーマット指定子 %#4d #有効桁数を変える場合、ここの4を変える
*タイマーはじめる :\c\_q\![sound,load,【効果音のファイル名】]\![timerraise,1000,1,Onタイマー実行中]φ \n\n[half]\q[◆タイマーを中止する,タイマー中止]φ \_l[0,0](call,タイマー表示部,(タイマーの長さ秒))\_q
*Onタイマー実行中 $タイマーの長さ秒【タブ】(calc,(タイマーの長さ秒)-1) >タイマー終了なので音を鳴らす【タブ】(when,(タイマーの長さ秒)<=0,1,0) $スクリプトの一番頭【タブ】\C :\_q\_l[0,0]\c[char,12]\_l[0,0](call,タイマー表示部,(タイマーの長さ秒))\![timerraise,1000,1,Onタイマー実行中]\_q
*タイマー終了なので音を鳴らす :\_q\![sound,play,【効果音のファイル名】]φ タイマーが終了しました。\_q\x >タイマーメニュー
*タイマー中止 $タイマーの長さ秒【タブ】 :\c\_q\![timerraise,0,0,Onタイマー実行中]φ タイマーが中止されました。φ \_q\x >タイマーメニュー
@タイマー変数掃除 (set,タイマーの長さ秒,)