とあるメモ。

NScripterリファレンス(ABC)

最終更新:

itigoppo

- view
管理者のみ編集可

NScripterリファレンス(ABC)


A B C D E F G H I K L
M N P Q R S T U V W



概要

NScripterのリファレンス。
添付のマニュアルそのままコピー中。
多分Cまで整理済み。

A

[E] abssetcursor
abssetcursor int num,string arg,int x,int y
num カーソル番号(0:クリック待ち、1:改ページ待ち)
arg 文字列カーソル画像ファイル
x 数値カーソル表示位置を右方向に動かす量
y 文字列カーソル表示位置を下方向に動かす量
クリック待ち時のカーソル画像ファイルを読み込みます。
setcursorとほぼ同じなのですが、こちらの座標指定は、文字との相対座標ではなく、画面上の絶対座標としての指定です。

[F] arc
arc string arg1|string arg2
arg1 アーカイブファイル名
arg2 関連付けDLL名
アーカイブ展開プラグインを指定します。画像、音声はアーカイブ対応していますが、スクリプトはしていません。
レジストリを読みに行く命令と組み合わせることで、いろいろな指定ができるようになります。
一例として、To Heartのインストールされたマシンの、レジストリ情報を読み取って、アーカイブ指定する方法を紹介します。
【sample】
getreg $0,"software\leaf\toheart","datadir"
add $0,"\lvns3dat.pak|axlfpak.spi"
arc $0
なお、nsaアーカイブについてはこの命令は必要ありません。

[E] autoclick
autoclick int num
num 時間
クリック待ちが指定時間(ミリ秒)たつと勝手に進むようになる、デモなどに便利な命令です。
0を指定すれば、設定が無効になります。

[E] avi
avi string arg,int bool
arg ファイル名
bool 中断可否フラグ(0:最後まで再生、1:クリックで中断)
指定AVIファイルを画面一杯に再生します。
数字が1のときは、クリックすれば再生を中止して、次の処理へ移ります。
0のときには、最後まで再生し終わるまで、処理をスクリプトに戻しません。

[FE] add
add %var,int num
add $var,string arg
var 変数名
num 演算する数値
arg 連結する文字列
変数に変数を加えます。文字の場合は連結です。
【sample source】
mov %0,5
mov $0,"あいう"
add %0,3
add $0,"えお"
【sample result】
%0=8
$0=あいうえお

B

[E] bg
bg string arg1,int num
bg string arg2,int num
bg string arg3,int num
num エフェクト番号
arg1 画像ファイル名
arg2 カラー名(16進数)
arg3 black or white
背景画像をロードします。
一番上がファイルから、二つ目が単色での塗りつぶし指定、一番下が、黒、もしくは白での塗りつぶし指定です。

[F] bgalia
bgalia int x,int y,int width,int height
x 左上X座標
y 左上Y座標
width 画像幅
height 画像高さ
特殊なサイズの背景を使いたいときに指定します。
x,yの位置から、width x heightドットの画像を置く、ということになります。

[E] bgcopy
bgcopy
bgcpyでも同じ意味になります。現在の画面を背景画面として取り込みます。
ofscpyもしくはofscopyとの違いは、背景画面になっているので、この上にテキストウィンドウなどを表示できることです。
ver2.51で、この命令で作った背景画像はセーブでちゃんと保存されるようになりました。

[E] br
br
一行、文字表示を改行する命令です。空行をはさみたいときに使ってください。

[E] btn
btn int num,int x,int y,int width,int height,int x2,int y2
num ボタン番号
x 表示位置の左上X座標
y 表示位置の左上Y座標
width 画像幅
height 画像高さ
x2 元画像から抽出する位置の左上X座標
|y2|元画像から抽出する位置の左上X座標
ボタンの定義命令です。
ボタン番号>1です。
ゲーム画面上の(x,y)を左上として、サイズwidth * heightの範囲をボタンとして指定します。その上にマウスカーソルがのると、ボタン画像ファイルの(x2,y2)を左上の点とする画像が表示されます。
くわしくは、フォルダbtndemoにある説明.txtを参照下さい。

[E] btndef
btndef string arg
arg ボタンファイル名
ボタン画像ファイルを設定します。これを使うと、以前のボタン定義はクリアされます。
くわしくは、フォルダbtndemoにある説明.txtを参照下さい。
ボタン機能を使うときは、定義を始める前にかならずbtndef "ファイル名"もしくはbtndef ""もしくはbtndef clearで、ボタン定義をクリアしてください。
そうしないと、定義部に来るたびにボタン定義が重複して増えていって、やがてオーバーフローします。

[E] btnwait
btnwait %var
var 変数名
実際にボタン処理します。数字変数に結果が戻ります。
戻り値:
0 どのボタンでもないところをクリックした
-1 右クリックした
その他 ボタン番号
戻り値が0以下(ボタンを押していない)ときは、すぐにもういちどbtnwaitを呼べば、また同じボタンモードに。
戻り値が1以上(実際にボタンを押した)ときは、押された瞬間の画像のままで、ボタン定義は全てクリアされます。(メモリ節約のため)
くわしくは、フォルダbtndemoにある説明.txtを参照下さい。

[E] btnwait2
btnwait2 %var
var 変数名
実際にボタン処理します。数字変数に結果が戻ります。
戻り値:
0 どのボタンでもないところをクリックした
-1 右クリックした
その他 ボタン番号
btnwait命令と違って、ボタン定義はクリアされません。だから、ボタン画像ファイルは読まれっぱなしです。
ボタン処理が終わって、ボタンが要らなくなったら、他の処理がメモリを使えるように、btndef ""でボタン定義をクリアして、ボタン画像を解放しておくことをお勧めします。

C

[FE] caption
caption string arg
arg ウィンドウのタイトルバーに表示する文字列
ウィンドウのタイトルを変えます。

[F] cdfadeout
cdfadeout int num
num CD演奏のフェードアウトに掛ける時間(ミリ秒)
CDのフェードアウトに掛ける時間をミリ秒単位で指定します。

[E] cl
cl string arg,int num
arg 立ち絵の削除位置(l:左、c:中央、r:右、a:全て)
num エフェクト番号
その位置の立ち絵を消します。aはすべて消すことを意味します。

[E] click
click
クリックを待ちます。

[E] clickpos
clickpos %var1,%var2
%var1 クリックしたX座標
%var2 クリックしたY座標
最後にクリックした位置を取得します。数字変数に各座標が戻ります。

[F] clickstr
clickstr string arg,int num
arg クリック待ちとなる全角文字の集合
num 改ページ待ちとなる残りの行数
強制クリック待ち機能をオンにします。これを実行すると、特定の文字を表示したらクリック待ちするように作れます。
ただし、その直後に本来のクリック待ち文字がある場合、もしくは、強制クリック文字の前に_(半角アンダーバー)がある場合は、強制クリック待ちはされません。
強制クリック待ち時に、単なるクリック待ちか改ページになるかは、二番目のパラメータが決めます。
(最大行-数字)よりも下で強制クリック文字を見つけたときは、改ページになります。
この機能は、作業の簡便化には役立つのですが、次の一行が非常に長く、数字設定よりも上の行から始まって字がはみ出すような現象を防ぐことまではできません。その場合は、そこだけ本来の改ページ文字を使うか、数字を変えてください。
文字列は全角文字のみ許されます。
【sample source】
click "」。!?",2
てすと。
テスト
「てすと」
テスト!!
テスト?
テスト_!てすと。
【sample result】
てすと。▽
テスト
「てすと」▽
テスト!!▽
テスト?▽
テスト!てすと。▽
(空白行数1行で改ページ)

[F] clickvoice
clickvoice string arg1,string arg2
arg1 クリック待ち時のクリック音ファイル名
arg2 改ページ待ち時のクリック音ファイル名
クリック待ちでクリックしたときになるWAVEファイルを指定します。

[FE] cmp
cmp %var,string arg1,string arg2
var 変数名
arg1 比較対象の文字列
arg2 比較対象の文字列
文字列同士を比べて、等しければ0、等しくなければそれ以外を、数字変数に代入します。
右のほうが大きい場合、負、左のほうが大きい場合、正が帰ります。

[E] csp
csp int num
num スプライト番号(0~255:各スプライト、-1:全消)
そのスプライトを消去します。-1を指定すると、すべてのスプライトを消去します。

D

[FE] dec
dec 数字変数
その変数の値を1減らします。

[F] defaultfont
defaultfont 文字列
デフォルトのフォントを指定します。
指定しなければ、MS ゴシックが使われます。

[F] defaultspeed
defaultspeed 数字,数字,数字
特殊表示文字!sdにしたときの時の文字速度の指定です。
左から順に、メニューから「低速」「普通」「高速」を選んだときの速度です。

[E] definereset
definereset
定義リセット命令です。*define節から読みなおします。

[E] delay
delay 数字
数字ミリ秒分だけ、待ちます。
クリックで飛ばせます。
特殊表示文字dと同じですが、変数を引数に使えます。

[FE] div
div 数字変数,数字
その変数を、数字で割ります。
整数、小数点以下切り捨てで答えが出ます。

E

[F] effect
effect 数字,数字(,数字(,文字列))
エフェクト番号に、効果を割り当てます。
画像表示命令には、ここで指定したエフェクト番号を使ってください。
左から順に、エフェクト番号、効果番号、掛ける時間(単位ミリ秒)、パターン画像名です。
ただし、効果番号によっては、後ろの二つは省略されることもあります。
エフェクト番号0番は、「表示せずに、次の画像命令でいっしょに表示する」という意味で予約されているので、1番以降を使ってください。
なお、エフェクト番号0を使った場合は、なるべく早くほかの画像表示命令で画像を表示してください。
デフォルト指定で、1が瞬時表示にしてあります。
<効果番号一覧表>
  1. 瞬時表示。時間指定はいりません。
  2. 左シャッター
  3. 右シャッター
  4. 上シャッター
  5. 下シャッター
  6. 左カーテン
  7. 右カーテン
  8. 上カーテン
  9. 下カーテン
  10. ピクセル単位のクロスフェード
  11. 左からスクロール
  12. 右からスクロール
  13. 上からスクロール
  14. 下からスクロール
  15. マスクパターンによるフェード。
  16. 第三パラメータに文字列でマスク画像名を指定します。マスク画像の形式は256色でもフルカラーでもかまいません。サンプルで置いてあるm1.bmp,m2.bmpでためしていただければわかると思いますが、マスク上で白いところほど遅く、黒いところほど速く表示されます。マスク画像が小さいときは、壁紙のように四方に並べて640x480ドットに敷き詰められます。
  17. モザイクアウト。この命令のあとは、指定された画面をエフェクト番号0でロードしたときと同じで、不定状態です。必ず、直後にほかの命令…たとえばprintなどを使って、画像を表示しなおしてください。
  18. モザイクイン。
  19. マスクパターンによるクロスフェード。15番では、単に、マスクの濃度による時間差でピクセルがコピーされるだけでしたが、こっちは、時間差クロスフェードします。各社ではやっている演出効果ですが、マシンへの負担が、全エフェクトで一番大きいので、遅いマシンでは、少し荒くなるかもしれません。
【sample】
effect 1,1
effect 2,4,1000
effect 3,15,2000,"m3.bmp"

[F] effectblank
effectblank 数字
エフェクト終了後、次の命令の実行までにどれだけの間を取るかをミリ秒単位で指定します。
エフェクトが瞬時表示(1)である場合、この設定に関係なく、瞬時に表示されます。

[FE] end
end
プログラムを終了し、ウィンドウを消します。

[E] erasetextwindow
erasetextwindow 数字
数字が0の時は、テキストウィンドウが、エフェクトのときにも出っ放しになります。
1がデフォルトで、エフェクトのたびに、ウィンドウを消去します。

F

[F] filelog
filelog
ファイルアクセスログをとることを指定します。
一度でも読み込んだ画像タグは、すべて記憶します。
なお、タグが違えば、同じファイルでも違うものとみなされます。
この命令もglobalonも使わなければ、NScr.exeはカレントに何も書きに行きませんので、CD起動が可能になります。

G

[F] game
game
定義ブロックを終了し、ゲームを実行します。

[FF] getini
getini 文字変数,文字列,文字列,文字列
iniファイルを開いて、データを文字変数に取得します。
順に、iniファイル名、セクション名、キー名です。

[FE] getreg
getreg 文字変数,文字列,変数名
レジストリを開いて、データを文字変数に取得します。
HKEY_CURRENT_USER以下のキーしか選べません。
【sample】
getreg $0,"software\leaf\toheart","datadir"

[E] gettaglog
gettaglog $0,2
getlog命令と同じ要領で、指定した数だけ前のページのタグを取得します。
バックログにタグも残りますので、バックログのカスタマイズをするときに、名前や音声をタグで指定しておけば、それを読み出すことが出来るので便利です。
【sample】
gettaglog $0,2
タグ指定が無かった場合は""を返します。
ここで、gettag命令では文字列を/区切りで分離して変数に格納できましたが、gettaglog命令ではそれが出来ません。
次のようにすれば、gettagと同じように分離出来ます。
【sample】
gettag $1,$2
のようなことをログに対してしたい場合
gettaglog $0,2
split $0,"/",$1,$2

[E] gettimer
gettimer 数字変数
内部タイマの値を取得する命令です。
最後にresettimerを使ってから経った時間を、ミリ秒単位で返します。

[F] globalon
globalon
グローバル変数を使う設定をします。

[FE] gosub
gosub *ラベル名
そのラベルをサブルーチンとしてコールします。
return文で、サブルーチンから返ってきて、gosub文の次から動作を再開します。

[FE] goto
goto *ラベル名
そのラベルにジャンプします。

H

[F] humanz
humanz 数字
スプライトと立ち絵の重なる時の優先順位(Zオーダー)を指定します。
指定した番号のスプライトのすぐ上に立ち絵が表示されることになります。
デフォルトは、25です。

I

[FE] if
if 条件式 ({&&,&} 条件式) 実行文
条件判断文です。
条件が成立した場合、残りの文を実行します。
成立しなかった場合、その行は読み飛ばされます。
&&も&も同じ意味で、条件をさらに絞り込むのに使います。
条件式には数字、もしくはfchk関数が使えます。
<条件式>
数字 {>,<,=,>=,<=,==,!=,<>} 数字
もしくは、
fchk 文字列
<,>,=,>=,<=は意味がわかると思います。
==は=と同じで、「等しい」、!=は<>と同じ意味で「等しくない」です。
fchkは、文字列で指定された画像を読み込んだことがあれば真になります。
【sample】
if %0=1 quakex 2 (基本形)
if %0=1 && %2=5 end (両方成立したら実行)
if %0=2 mov %1,1:skip 2 (:で、行をつなげられる。)
notif %0=1 quakex 2 (成立しなかったら、実行される)

[FE] inc
inc 数字変数
その変数の値を1増やします。

[E] inputstr
inputstr 文字変数,文字列,数字,数字(0か1)(,数字,数字,数字,数字)
文字変数に文字列を入力するダイアログを表示します。
文字列には、ダイアログに表示するメッセージを入れてください。
最初の数字は最大文字数、最後の数字は0か1かで、全角文字強制フラグです。
最後の4つは省略可能で、順に、全体のウィンドウサイズx,y、文字入力ボックスサイズx,yです。

[F] intlimit
intlimit 数字,数字,数字
数字変数の値を制限します。最大値を超えれば最大値に、最小値を超えれば最小値になります。
順に、数字変数番号,最小値,最大値です。
【sample】
intlimit 0,10,20
これで、%0は10から20までの値しか取らなくなります。

K

[F] killmenu
killmenu 数字
左から数えて、その数字の位置にあるメニューを消してしまいます。
なお、二度目以降は、前のメニューがなくなった分、位置がずれることに注意してください。
0が一番左で、右へ行くたびひとつづつ増えます。

L

[E] ld
ld {l,c,r},文字列,エフェクト
立ち絵をロードします。
左(l)、右(r)、真ん中(c)から場所を選べます。
文字列で画像ファイルを指定してください。
タグが使えます。

[E] locate
locate 数字,数字
文字の表示位置を変えます。
単位は文字単位です。
ピクセルではありません。

[F] lookbackbutton
lookbackbutton 文字列1,文字列2,文字列3,文字列4
回想モード用のボタンをロードします。
左から順に、上方向選択状態、上方向非選択状態、下方向選択状態、下方向非選択状態、です。
デフォルトでは"uoncur.bmp","uoffcur.bmp","doncur.bmp","doffcur.bmp"です。
画像の大きさがすべて同じでないと誤動作します。
回想ボタンはアニメーションできません。
回想ボタンは、テキストウィンドウの右上下端に貼り付けられます。
位置は変えられないので、透過をうまく使って位置調整してください。

[F] lookbackcolor
lookbackcolor #rrggbb
回想モードでのテキスト文字色を指定します。
HTML形式で色を指定してください。

[E] lookbackflush
lookbackflush
回想バッファを消去します。

[F] lookbackvoice
lookbackvoice 文字列
回想モードで、一枚めくるときのWAVEファイルを指定します。

[E] lsp
lsp スプライト番号,文字列,数字,数字(,数字)
スプライトを表示します。スプライトは0から49までです。
数字は順に左上のx,y座標、文字列で画像ファイルを指定してください。
lsplsphの違いは、最初のスプライトの状態です。
最後の数字は、スプライトの透過度です。これは省略できます。
lspは表示モード、lsphは非表示モードです。

[E] lsph
lsp スプライト番号,文字列,数字,数字(,数字)
スプライトを表示します。スプライトは0から49までです。
数字は順に左上のx,y座標、文字列で画像ファイルを指定してください。
lsplsphの違いは、最初のスプライトの状態です。
最後の数字は、スプライトの透過度です。これは省略できます。
lspは表示モード、lsphは非表示モードです。

M

[E] menu_click_def
menu_click_def
デフォルトの文字表示モードにします。

[E] menu_click_page
menu_click_page
一ページごとに表示するモードにします。

[E] menu_full
menu_full
フル画面モードにします。

[E] menu_window
menu_window
ウィンドウ画面モードにします。

[F] menuselectcolor
menuselectcolor #rrggbb,#rrggbb,#rrggbb
Rクリックでメニューが出るモードにしたときの、メニューの色を指定します。
順に、マウスが上にいるとき、いないとき、セーブファイルがないとき、の色です。

[F] menuselectvoice
menuselectvoice 文字列,文字列,文字列,文字列,文字列,文字列,文字列
メニュー選択肢の音、その他システム音WAVEファイルの指定です。
順に、メニューが開くとき、メニューをキャンセルしたとき、メニュー選択肢のどれかの上に動いたとき、どれかをクリックしたとき、できない操作をしたときの警告、「はい」を選んだとき、「いいえ」をえらんだとき、です。
なお、WAVEファイルに""を指定すると、何も鳴らさなくなります。
デフォルトは、すべて""です。

[F] menusetwindow
menusetwindow 数字,数字,数字,数字,数字,数字,#rrggbb
メニュー用のウィンドウ設定です。
メニューウィンドウは、必ず全画面で、明度を落とすタイプです。
左から順に、文字フォントサイズX、文字フォントサイズY、字間X、字間Y、太字フラグ(1(太字)か0(普通))、影付けフラグ(1(つける)か0(つけない))最後のパラメータは、ウィンドウの色です。

[FE] mesbox
mesbox 文字列,文字列
メッセージボックスを表示します。
最初が内容、次がウィンドウタイトルです。

[FE] mod
mod 数字変数,数字
その変数を、数字で割った余りを出します。

[E] monocro
monocro #rrggbbもしくはmonocro off
その色を基調としたモノクロ画面モードになります。
ただし、テキストウィンドウやカーソルはその影響を受けません。
monocro offで、モノクロ状態を抜けます。

[FE] mousecursor
mousecursor 文字列
Windowsカーソルファイル(*.cur)を読み込み、それをマウスカーソルにします。

[FE] mov
mov 変数,値
変数に値を代入します。
【sample】
mov %3,24
mov $0,"あああ"

[E] mp3
mp3 文字列
MP3ファイルを演奏します。
mp3は一回だけですが、mp3loopは、音をループさせます。
waveと同時に使っても大丈夫のようです。
(この命令はDirectShowを使いますので、実際はWAVファイルを演奏することも可能です。)

[E] mp3loop
mp3loop 文字列
MP3ファイルを演奏します。
mp3は一回だけですが、mp3loopは、音をループさせます。

[E] msp
msp スプライト番号,数字,数字,数字
そのスプライトを移動させます。順に、X,Y,透過度に加算する値、です。
なお、tal命令と、スプライト系命令は、すべて、画像を内部的に書きかえるだけで、画面に反映させません。(一括処理で高速化するためです。)
他の画像命令を使ったり、文字を表示する前に、必ずprint命令で実際に表示してください。

[FE] mul
mul 数字変数,数字
その変数に、数字を掛けます。

N

[E] nega
nega 数字
1と2で、ネガポジ反転します。
1と2の違いは、monocroとの優先度です。やってみればわかると思います。
数字0でネガポジ反転をやめます。
nega命令とmonocro命令は、それだけでは画面を変更しません。
直後にprint命令で、実際の画面変更を行ってください。

[F] numalias
numalias 文字列,数字
数字エイリアスを作ります。
以降、数字の代わりに、そのエイリアスで指定できるようになります。
【sample】
numalias ef_lshutter,2
以後、ef_lshutterは、2に置換されます。たとえば、
bg "test.bmp",ef_lshutterは、bg "test.bmp",2と同じ。
なお、エイリアスの値に変数を代入しても、そのときの値を保持するだけで、あとで変数の値を変更したらいっしょに変わってくれるわけではありません。
(高度な使い方)
数字エイリアスで、変数に別名をつけられます。
【sample】
numalias akari_love,0
以後、%akari_loveは、%0と同じ意味になります。たとえば、
add %akari_love,10
エイリアスの名前は、C言語の変数の名前と同じ形式です。
つまり、一文字目は英語もしくは_(半角アンダーバー)、二文字目以降は、数字、英語、もしくは_です。
ただし、大文字小文字は区別されません。

[FE] notif
notif 条件式 ({&&,&} 条件式) 実行文
条件判断文です。
条件が成立しなかった場合、残りの文を実行します。
成立しなかった場合、その行は読み飛ばされます。
&&も&も同じ意味で、条件をさらに絞り込むのに使います。
条件式には数字、もしくはfchk関数が使えます。
<条件式>
数字 {>,<,=,>=,<=,==,!=,<>} 数字
もしくは、
fchk 文字列
<,>,=,>=,<=は意味がわかると思います。
==は=と同じで、「等しい」、!=は<>と同じ意味で「等しくない」です。
fchkは、文字列で指定された画像を読み込んだことがあれば真になります。
【sample】
if %0=1 quakex 2 (基本形)
if %0=1 && %2=5 end (両方成立したら実行)
if %0=2 mov %1,1:skip 2 (:で、行をつなげられる。)
notif %0=1 quakex 2 (成立しなかったら、実行される)

P

[E] play
play 文字列
MIDIファイルもしくはCDを演奏します。
ファイル名を指定すればそのMIDIファイルが、 "*数字"と指定すれば、その番号のCDトラックが演奏されます。
playは最後まで行くとまた最初から再生しますが、 playonceは一回だけの再生です。

[E] playonce
playonce 文字列
MIDIファイルもしくはCDを演奏します。
ファイル名を指定すればそのMIDIファイルが、 "*数字"と指定すれば、その番号のCDトラックが演奏されます。
playは最後まで行くとまた最初から再生しますが、 playonceは一回だけの再生です。

[E] playstop
playstop
CDもしくはMIDIを止めます。

[E] print
print エフェクト
そのエフェクトで画面を書きなおします。
エフェクトの指定には、次の二種類の方法があります。
1)一ケタで指定
0…何もしないで、メモリにだけ書きこむ
1…瞬時表示
その他…effect命令で定義済みのエフェクトを呼び出す。
【sample】
bg "test.jpg",0
ld c,"testman.jpg",1
cl c,3
2)直接指定
effect命令に与えるパラメータと同じ物を指定。
【sample】
bg "test.jpg",10,1000
ld "testman.jpg",15,2000,"mask.bmp"

[E] puttext
puttext 文字列
その文字列を表示します。
if文のあとで、ちょっとした表示をやりたいときなどは使えるかもしれません。
puttextのときは、変数を表示する機能(特殊表示文字%と$)は使えません。

Q

[E] quakex
quakex 数字,数字
画面を横に揺らします。順に、回数,掛ける時間(ミリ秒)です。

[E] quakey
quakey 数字,数字
画面を縦に揺らします。順に、回数,掛ける時間(ミリ秒)です。

R

[E] reset
reset
ゲームをリセットし、最初に戻します。

[E] resettimer
resettimer
内部タイマを0にします。このタイマは、ミリ秒単位で回りつづけています。

[FE] return
return
サブルーチンからリターンします。
かならずgosubとペアにしてください。

[F] rlookback
rlookback
右クリックを押したとき、回想シーンに行くようにします。

[F] rmenu
rmenu 文字列,機能,…
右クリックを押したら、メニューが開くようにします。
文字列が、表示される選択肢で、機能は下に定義されているものから選びます。
システムメニュー機能定数
  • skip…「選択肢まで進む」をクリックするのと同じです。
  • reset…プログラムをリセットします。
  • save…セーブメニューを出します。
  • load…ロードメニューを出します。
  • lookback…回想モードに行きます。
  • windowerase…ウィンドウを消します。
【sample】
rmenu "セーブ",save,"ロード",load,"回想",lookback

[E] rmode
rmode 数字
右クリックを一時的に無効にしたり有効にしたり出来ます。
数字は、1(ON)か0(OFF)のフラグです。

[FE] rnd
rnd 数字変数,数字
変数に乱数を代入します。
0~(二番目のパラメータ-1)の数字が入ります。
【sample】
rnd %5,100

[FE] rnd2
rnd2 数字変数,数字1,数字2
変数に、数字1~数字2の乱数を代入します。
【sample】
rnd2 %3,10,20

[F] roff
roff
右クリックを押しても何もおきないようにします。

S

[F] savename
savename 文字列1,文字列2,文字列3
セーブファイルの名前を指定します。
左から順に、セーブメニューの一番上の文字列、ロードメニューの一番上の文字列、そして、セーブ自体の名前です。
デフォルトでは、"<セーブ>","<ロード>","しおり"となっています。
これらは全部全角文字で設定してください。

[F] savenumber
savenumber 数字
セーブの最大数を変更します。最大20までです。デフォルトは9。
menusetwindowで、画面からセーブメニューがはみ出ないような設定にしないと、メニューを出した瞬間落ちるので注意してください。

[E] select
select 文字列,*飛び先ラベル,文字列,*飛び先ラベル,…
選択肢を表示し、その選択結果に対応するラベルへジャンプします。
文字列に""を入れると、その選択肢は表示されません。
(これは、selnumやselgosubでも同じです)
ただし、ひとつも文字列が無いとハングするので気をつけてください。

[F] selectcolor
selectcolor #rrggbb,#rrggbb
普通の選択肢の色を指定します。
順に、マウスが上にいるとき、いないとき、の色です。

[F] selectvoice
selectvoice 文字列,文字列,文字列
普通の選択肢でのWAVE音声の指定です。
順に、選択肢が開くとき、選択肢のどれかの上に動いたとき、どれかの選択をクリックしたとき、の音です。

[E] selgosub
selgosub 文字列,*飛び先ラベル,文字列,*飛び先ラベル,…
selectのジャンプの代わりに、サブルーチンコールになったものです。
サブルーチンコールに付いては、gosubを参照。

[E] selnum
selnum 数字変数,文字列,文字列,…
選択肢の結果を、数字変数に代入します。一番左が0で、以降1ずつ増えます。

[E] setcursor
setcursor カーソル番号,文字列,数字,数字
クリック待ち時のカーソル画像ファイルを読み込みます。
文字列は、順に、普通のクリック待ち、改ページクリック待ちです。
数字は、次に出る文字の左上のピクセルからX,Y方向にどれだけずらすかをX,Yの順で指定します。
デフォルトでは、 ":l/3,160,2;cursor0.bmp"(":l/3,160,2;cursor1.bmp"),0,0です。

[E] setwindow
setwindow 数字,数字…(計11個)…数字,#rrggbb,数字,数字,数字,数字
もしくは、
setwindow 数字,数字…(計11個)…数字,文字列,数字,数字
テキストウィンドウを指定します。
上は、透過度落としタイプ(色指定で色味を変えられます)
下は、画像ファイル名を指定して、それをウィンドウにするタイプです。
最初の11個は、左から順に、文字の左上座標X,Y,文字数横,縦,文字フォントサイズX,Y,字間X,Y,デフォルト表示スピード,太字フラグ(0普通1太字),影付きフラグ(0普通1太字)です。
上の場合は、順にウィンドウ色味,ウィンドウ左上X,Y,右下X,Y
下の場合は、順に画像ファイル名,ウィンドウ左上X,Y、です。
画像ファイルにはタグが使えます。
デフォルトでは、全画面の透過度落としタイプで、フォントは26x26ピクセル、字間は0,2、左上座標が8,16で、横23文字縦16文字、太字で影付き、スピードは20で、透過の色味は、#999999です。
命令に直すと、こうなります。
setwindow 8,16,23,16,26,26,0,2,20,1,1,#999999,0,0,639,479

[FE] skip
skip 数字
数字は移動行数です。
行数が0ならば素通りします。それ以外の場合、そのskipの行から数えて、行数分だけ前(-)、後(+)に移動します。

[F] soundpressplgin
soundpressplgin 文字列
音楽圧縮プラグインを指定します。書式は、"ファイル名|関連付け拡張子"です。
【sample】
soundpressplgin "nbzplgin.dll|nbz"

[F] spi
spi 文字列
画像圧縮プラグインを指定します。書式は、"ファイル名|関連付け拡張子"です。
jpegについては指定の必要はありません。

[E] stop
stop
音楽をすべて止めます。

[F] stralias
stralias 文字列1,文字列2
ファイル名エイリアスを作ります。
以降、ファイル名の代わりにそのエイリアスを使って指定できるようになります。
【sample】
stralias man_a0 ":a/10,20,2;man_alpha.bmp"
以後、このファイルを指定したいときにはman_a0というエイリアスを使える。
たとえば、ld c,man_a0,1 は、ld c,":a/10,20,2;man_alpha.bmp",1 と同じ。

[FE] sub
sub 数字変数,数字
数字変数から数字を引きます。
【sample】
sub %0,6
sub %0,%2

[E] systemcall
systemcall 機能
システムメニューと同じ動作をします。
select,selgosubなどで飛んだ先で使えば、タイトルメニューなどが出来ます。
(その際には、rmodeで本来のシステムメニューは一時的に切っておいたほうがいいでしょう)
機能には、rmenuと同じ物が選べます。

T

[E] tal
tal {l,c,r},数字
その位置の立ち絵の透過度をその数に変えます。

[] textbtnoff
textbtnoff
デフォルトでは、テキストボタンはbtnwait時に自動的に登録されます。
btndefとbtnwait系命令の間にtextbtnoffをはさむと、テキストボタンが一時的にオフになります。
例えば、テキストボタン処理の中から別のボタン処理を呼ぶときに、テキストボタンをオフにするためにこの命令を使ってください。
【sample】
btndef clear
textbtnoff
textbtnwait %0

[E] textclear
textclear
テキストウィンドウの中身だけを消します。

[E] textoff
textoff
テキストウィンドウを消します。

[E] texton
texton
テキストウィンドウを出します。

[E] textspeed
textspeed 数字
テキスト表示速度を変更します。
!s数字と同じですが、変数を引数に使えます。

[F] transmode
transmode {leftup,copy,alpha}
透過色のデフォルト設定を変えます。デフォルトではleftupです。

[E] trap
trap *ラベル名もしくはtrap off
左クリックを監視して、左クリックされるとラベルへジャンプします。
ジャンプ後は、自動的にトラップが解除されます。
trap offで、トラップを解除できます。

U

[F] underline
underline 数字
立ち絵の地面のラインを決めます。デフォルトは479です。

V

[F] versionstr
versionstr 文字列1,文字列2
バージョン情報のダイアログに表示する文字列を変えます。
左が一行目、右が二行目です。

[E] vsp
vsp スプライト番号,数字
そのスプライトの表示/非表示を変えます。
数字が0で非表示、1で表示です。

W

[E] wait
wait 数字
数字ミリ秒分だけ、待ちます。クリックで飛ばせません。
特殊表示文字wと同じですが、変数を引数に使えます。

[E] waittimer
waittimer 数字
内部タイマが数字と等しくなるか超えるまで待ちます。
この命令が、NScripterで一番正確なウェイトを測る手段です。
画像エフェクトなどの時間設定は、それほど正確ではありません。

[E] wave
wave 文字列
そのウェーブ音を鳴らします。
waveは一回だけですが、waveloopは、音をループさせます。

[E] waveloop
waveloop 文字列
そのウェーブ音を鳴らします。
waveは一回だけですが、waveloopは、音をループさせます。

[E] wavestop
wavestop
waveを止めます。

[FE] windoweffect
windoweffect 数字(,数字(,文字列))
テキストウィンドウが出る/消えるときのエフェクトを指定します。
パラメータは、エフェクト番号指定がない以外は、effectと同じです。
【sample】
windoweffect 10,1000
ウィキ募集バナー