筆者は、ティラノスクリプトで作った「うきでんポーカー」というゲームをオンライン化するために、日々制作を行っています。
現在、ベータテストするところまできたのですが、初期のベータ版では、ティラノスクリプト側のプログラムで不具合が出ました。
対戦型のテーブルゲームなどでは、同じ不具合に見舞われる可能性が高いので、この記事にまとめておきます。
制限時間付き選択肢のサブルーチンは同じファイルに入れる
[glink color="btn_20_purple" size="20" x="578" width="170" y="510" text="hoge" target="*hoge"]
[glink color="btn_20_white" size="20" x="768" width="170" y="510" text="hoge2" target="*hoge2"]
[call target=*count_down]
時間切れ時の処理
*hoge
hoge の処理
*hoge2
hoge2 の処理
*count_down
制限時間のプログラム
[return]
制限時間のサブルーチンは、このような形で同じファイルに入れておきましょう。
別のファイルに入れてしまいますと、制限時間内に hoge または hoge2 がクリックされても、コール先のファイルで *hoge や *hoge2 のラベルが見つからず、エラーとなってしまいます。
[wa] タグをなるべく使わないようにする
*hoge
[clearstack]
[free layer="1" name="timer"]
[wait_cancel]
[cm]
先ほど解説した制限時間付き選択肢のジャンプ先では、残っている待ち時間をキャンセルするために、[wait_cancel] が必要です。
しかし、このタグの後にアニメーション終了まで待つ [wa] タグを使うと、ゲームが完全停止してしまいます。
それぞれのタグがどの程度離れていれば、大丈夫なのかははっきりしていないので、[wait_cancel] があるファイルとそのコール先では、[wa] タグを使わない方が無難です。
とはいえ、テーブルゲームなどでアニメーション終了を待たないというわけにもいきませんので、アニメーションの秒数と同じだけの [wait] を直後に置くのが良いかと思います。
まとめ
発見できた不具合による注意点は以上です。
今後、新たに発見できた場合は加筆するかもしれません。
コメント