バージョンチェック
虚空に吠えろ!負け犬の遠吠え!! 過去オリスクEP4対応のコメント欄より。
あ、あとそろそろバージョンチェック命令も入れてはどうでしょうか?
Nscripter最新版はエフェクトスキップ機能がついてしまってシステム若干挙動がちがっています。
この機能は追加された命令でオン・オフ可能ですが、
以前のバージョンではこの命令は存在しません。
スタータキットで組んでる人とプレイする人のNscrioterのバージョン違いでエラーが起こらないような対策もしてあるとさらにハードルが下がると思いますあざらし | URL | 2009年03月23日(Mon)07:21
あー、なるほどねえ。
と、言う訳で作ってみた。
define節game前
mov %0,100 ; 環境に合わせて変えること。 numalias version_num,%0:inc %0 ; getversion 専用の変数 numalias effectskip_input,%0:inc %0 numalias effectskip_status,%0:inc %0 numalias effectskip_version,291 defsub effectskip defsub get_effectskip
define節game後
*effectskip getparam %effectskip_input getversion %version_num if %version_num<effectskip_version return _effectskip %effectskip_input if %effectskip_input=1 mov %effectskip_status,1 if %effectskip_input=0 mov %effectskip_status,-1 return *get_effectskip getparam i%effectskip_input mov %%effectskip_input,1 getversion %version_num if %version_num<effectskip_version return if %effectskip_status=0 mov %effectskip_status,1 if %effectskip_status=1 return mov %%effectskip_input,0 return
説明!
このライブラリを導入すると、2点の変更が行われる。
- effectskipにバージョンチェック機能がついて、古いバージョンで実行してもエラーは起こさなくなる。
- 現在の状態を取得するget_effectskip命令を追加する。
get_effectskip %0 ; %0に、0か1が入る。 ; 古いバージョンのNScripterで実行すると、常に1が返される。
問題!
- effectskipが追加されたのって、ver.2.90でよかったっけ? 2.90にしてるけど、間違えてたらどうしよう。
- getversion命令を使っているので、ver.2.48未満のNScripterではこのライブラリ自体が動きませーん。げふん。
追記
オリスクの話(6)NScripterのことはNScripterにまかせる。 - 永字八法
effectskipが導入されたのはver.2.91からです。
修正いたしました。ご指摘ありがとうございました。