NUM数値チャンネル番号(0~49)dwaveloadでメモリにロードしたWAVを一度だけ再生します。※ロードせずに再生しようとするとエラーになります。oggではこの命令は使えません。senzogawa)nsogg.dllを利用した場合はエラーとなりません。senzogawa)ボリューム変更は、この命令の後でchvolを使う必要があるようです。NUM数値チャンネル番号(0~49)dwaveloadでメモリにロードしたWAVをループで再生します。mainVer.2.48【実行節のみ】でぃーうぇいぶすとっぷdwavestop音楽・SE演奏dwavestopそのチャンネルの再生を止めます。数値既定の効果番号(1~18)数値時間(ミリ秒)文字列マスクパターンファイル名エフェクト番号に、効果を割り当てます。画像表示命令には、ここで指定したエフェクト番号を使ってください。時間(単位ミリ秒)、パターン画像名です。効果番号によっては、後ろの二つは省略されることもあります。エフェクト番号0番は、「表示せずに、次の画像命令でいっしょに表示する」という意味で予約されているので、1番以降を使ってください。エフェクト番号0を使った場合は、なるべく早くほかの画像表示命令で画像を表示してください。デフォルト指定で、1が瞬時表示にしてあります。マスクパターンによるフェード。第三パラメータに文字列でマスク画像名を指定します。マスク画像の形式は256色でもフルカラーでもかまいません。サンプルで置いてあるm1.bmp,m2.bmpでためしていただければわかると思いますが、マスク上で白いところほど遅く、黒いところほど速く表示されます。マスク画像が小さいときは、壁紙のように四方に並べて640x480ドットに敷き詰められます。この命令のあとは、指定された画面をエフェクト番号0でロードしたときと同じで、不定状態です。直後にほかの命令...たとえばprintなどを使って、画像を表示しなおしてください。マスクパターンによるクロスフェード15番では、単に、マスクの濃度による時間差でピクセルがコピーされるだけでしたが、こっちは、時間差クロスフェードします。各社ではやっている演出効果ですが、マシンへの負担が、全エフェクトで一番大きいので、遅いマシンでは、少し荒くなるかもしれません。指定できるエフェクト番号は2~255です。senzogawa)例)エフェクト番号2に上シャッター1秒のエフェクトを割り当てる。NUM数値次の命令の実行までの待ち時間エフェクト終了後、次の命令の実行までにどれだけの間を取るかをミリ秒単位で指定します。エフェクトが瞬時表示(1)である場合、この設定に関係なく、瞬時に表示されます。mainVer.2.48【定義節のみ】えふぇくとかっとeffectcut画像エフェクトeffectcut「選択肢までとばす」の時、エフェクトをすべて瞬間表示にします。NUM数値スキップ可否フラグ(0:スキップ不可、1:スキップ可能)エフェクト中にクリックをしたらエフェクトがスキップされるかどうかを指定します。デフォルトでは1(スキップする)になっています。0にするとスキップしません。例)エフェクト中のスキップを許可する。えんどendゲームスタート・リセット・終了endプログラムを終了し、ウィンドウを消します。mainVer.2.82【定義節のみ】いんぐりっしゅenglish追加機能englishNScripterを英文モードにします。半角英字のみの文章を正しく表示できるようになります。このモードを使う時は、行頭を>にしてください。※2007.11.04版から追加されたようです。利用する場合には、#ffffffや!sdなどの表示文中命令について命令文を利用するようにする必要があります。代替命令は関連命令に記述しておきます。peppers;と表示する。mainVer.2.65【実行節のみ】いれいすてきすとぼたんerasetextbtnテキストボタンerasetextbtnテキストボタンを押してボタンモードを抜けたとき、押されたままになりますが、そのテキストボタンを消して元通りの色にします。NUM数値フラグ(0:そのまま、1:エフェクト時ウィンドウ消去)数字が0の時は、テキストウィンドウが、エフェクトのときにも出っ放しになります。1がデフォルトで、エフェクトのたびに、ウィンドウを消去します。最後に制御文字列が付く以外はspbtnと同じです。制御文字列で指定されたスプライト制御を実行します。制御文字列は次の形式で書いてください。数字1のスプライトのセル数字2を表示する制御文字列では、上の三つをいくつでも連結して指定できます。複合ボタンでは、「どれにもカーソルが重なっていないとき」の指定が必要です。それをexbtn_dで実現します。ボタンは他のものと同様、文字列スプライトでも普通の画像スプライトでもOKです。他にも、以下の機能が追加されています。Sチャンネル,(ファイル名)で音声再生も出来ます。Mスプライト番号,X,Yでスプライトの移動も出来ます。※S,M記法はver.2.49以降。例)スプライト番号10を非表示にする。"C10"例)スプライト番号11を非表示、10を表示にする。"C11P10"例)スプライト番号11を非表示、10のセル番号2とスプライト番号9を表示にする。"C11P10,2P9"例)チャンネル1でse.wavを再生する。"S1,(se.wav)"例)スプライト番号4を座標(20,30)へ移動する。複合ボタンでどれにもカーソルが重なっていないときの指定をします。例)どのボタン上にもマウスカーソルが無いときに、スプライト番号3と7のセル0を表示、スプライト番号4,5,6を非表示にする。STR文字列'/'で区切られたDLLファイル名とパラメータ指定されたパラメータを渡して指定されたDLLを呼び出します。例)「テストですよー。」をパラメータとして「execdll.dll」を呼び出す。"execdll.dll/テストですよー。STR文字列読み込ん済みか確認したいファイル名ファイルログに画像タグが記録されているか調べます。その画像タグがゲーム中で読まれていれば真です。タグが違えば、同じファイルでも違うものとみなされます。%VAR,STR数字変数結果を取得する変数(0:無い、1:ある)文字列ファイル名ファイルが存在すれば1、しなければ0を返します。nsaアーカイブからも検索します。mainVer.2.48【定義節のみ】ふぁいるろぐfilelogファイルアクセスログ・グローバル変数filelogファイルアクセスログをとることを指定します。一度でも読み込んだ画像タグは、すべて記憶します。タグが違えば、同じファイルでも違うものとみなされます。この命令もglobalonも使わなければ、NScr.exeはカレントに何も書きに行きませんので、CD起動が可能になります。STR文字列ファイル名ファイルを削除します。NUM数値エフェクトにかける時間(ミリ秒)特殊効果です。命令の後は必ず別の背景をロードして表示してください。STR文字列フォント名テキスト表示のフォントを変えます。画面に文字が表示されてないうちに使ったほうがいいと思います。基本的にBASICと同じです。指定した変数がTOで指定した数を超えるまで(STEPが負の時は、それより小さくなるまで)は、ループを繰り返します。一回ごとにSTEPで指定した数を変数に加えます。STEPは省略すると1になります。(注意)FORループをgoto文やselect文で抜けると、内部的にはループ中なので、NScrのスタックを無駄に消費します。その部分が無限ループでもない限りそのせいで落ちるということはまずないですが、そういうコードはいわゆる「スパゲッティコード」と呼ばれるもので、読みにくく、分かりにくくなっているはずです。FOR文とNEXT文は見やすくインデントしてソースの上でも一対一対応させるのがお勧めです。途中で安全にループを抜けたい場合はBREAK文を使ってください。(ループ内からgosubで飛んでループ内に戻ってくるのはOKです。ループの始まりと終わり、外と中がはっきりするのでお勧め)例)%1に1から10までの数値を加算する。mainVer.2.48【定義節のみ】げーむgameゲームスタート・リセット・終了game定義ブロックを終了し、ゲームを実行します。%VAR数字変数ボリューム(0~100)bgmのボリュームを取得します。bgm命令とmp3命令で有効です。%VAR数字変数btnwaitで消費した秒数たとえば、右クリックなどで抜けた後、再び処理をbtnwaitに戻したいとします。その場合、btnwait命令が実際には何ミリ秒を使ったのかをgetbtntimer命令は返してくれるので、その分引いた秒数で実行すればうまくいきます。%VAR数字変数選択肢の数の格納先csel選択肢の数を取得する。※この命令で取得した数値以上の数値をcselbtnに指定しないこと。数値選択肢の何番目かcselで指定した文字列を取得します。mainVer.2.48【実行節のみ】げっとかーそるgetcursorボタンモード拡張getcursorbtndefとbtnwait系命令の間に挟む。カーソル上右下左で-40,-41,-42,-43が返る。数字変数テキストカーソルY座標の格納先テキストカーソル、つまりテキストウィンドウにおける文字の表示位置を取得します。数字変数左上Y座標getcursorpos命令と似ていますが、この命令は「最後に表示した文字の左上座標」を取得します。例)最後に表示した文字の左上座標を%0,%1に取得する。mainVer.2.48【実行節のみ】げっとえんたーgetenterボタンモード拡張getenterbtndefとbtnwait系命令の間に挟む。リターンキーを押されたときに-19が返る。mainVer.2.48【実行節のみ】げっとふぁんくしょんgetfunctionボタンモード拡張getfunctionbtndefとbtnwait系命令の間に挟む。F1~F12を押されたときに-21~-32が返る。文字列キー名iniファイルを開いて、データを文字変数に取得します。順に、iniファイル名、セクション名、キー名です。mainVer.2.48【実行節のみ】げっといんさーとgetinsertボタンモード拡張getinsertbtndefとbtnwait系命令の間に入れてください。Insertキーをボタンモードで拾えるようになります。数値何ページ前かバックログ用の文字列を取得します。改行情報やルビ情報も格納されています。checkpageと同じく何ページ前かを指定します。数値何ページ前かgetlogとほぼ同じ機能ですが、strspと組み合わせる場合はこちらを使ってください。今後はstrspとgetlogをメインに作っていきます。mainVer.2.94【実行節のみ】げっとえむくりっく、げっとみどるくりっくgetmclickボタンモード拡張getmclick従来のbtnwait命令に、getmclick命令を作りました。getfunction等と同じくbtndefとbtnwaitの間で使ってください。数値スプライト番号上限btndefとtextbtnwaitの間で使ってください。指定した範囲のボタンについては、上に重なっただけでbtnloopから抜けます。例)0から9のスプライト番号のボタンにマウスカーソルが重なった場合を取得する。数字変数マウスカーソルY座標の格納先マウスカーソルの座標を指定した変数に取得します。clickposと違い、クリック待ちを発生させずに座標を取得することが出来ます。%VAR数字変数ボリューム(0~100)mp3のボリュームを取得します。bgm命令とmp3命令で有効です。数字変数次の行の行頭位置Y座標の格納先テキストウィンドウにおける次の行の行頭の位置を得ます。mainVer.2.48【実行節のみ】げっとぺーじgetpageボタンモード拡張getpagebtndefとbtnwait系命令の間に入れてください。PageDownをボタンモードで拾えるようになります。-12,-13が返ります。呼び出し元でラベル名を指定した場合、呼び出し先では文字列として読み込むことが出来ます。NScripterのどの命令でも、ラベル名の代わりに文字列を使うことが出来るというのをうまく利用してください。usergotogame*labelジャンプしました。$0;ここで、$0に"*label"が入る。*labelと同じ※getparamで渡される変数と格納される変数が混在するととてもややこしいので、defsubサブルーチン内で使う変数と呼び出し元スクリプト内で使う変数は分けましょう。%0-%49までを普通のスクリプトで、%50-%99をdefsubサブルーチンで使うことにして、混在させない。i%50,%51;i%と書くと、呼び出し元の数字変数の変数番号が取得できる。%%50,%51*4;%%50と書くと、変数番号「%50」の数字変数への代入になります。$%50,$51;$%50と書くと、変数番号「%50」の文字変数への代入になります。$1,"てすと";$1は"れんけつてすと"となる。文字列値の名前レジストリを開いて、データを文字変数に取得します。HKEY_CURRENT_USER以下のキーしか選べません。$VAR文字変数DLLから返る文字列を受け取る変数exec_dllで実行したDLLから返される値を取得します。数値と文字列を一つずつ取得できます。その他、textfieldなどの命令が戻す値を取得するためにも使用します。数値セーブ番号savegame2で保存した文字列を取り出します。例)savegame2にてセーブ番号12で保存した文字列を$1に取得する。NUM,NUM数値横サイズ数値縦サイズスクリーンショットを取ります。メモリ内に確保するだけなので、savescreenshotでファイルに保存する必要があります。%VAR数字変数ボリューム(0~100)seのボリュームを取得します。mainVer.2.49【実行節のみ】げっとすきっぷおふgetskipoffシステムカスタマイズ関連getskipoffbtndefとtextbtnwaitの間で使ってください。スキップオフを-60で、オートモードオフを-61で取得します。例)スキップがOFFになったらスキップ中表示を解除するルーチンを呼び出す。数値スプライト番号スプライトが表示状態なら1、非表示状態なら0を返す命令です。例)スプライト番号10が表示状態かどうかを%2に取得する。数字変数セル数を取得する変数スプライトのサイズを取得します。セル数を受け取る変数は省略できます。※Ver.2.54にて第三引数が追加されました。例)スプライト番号0の幅、高さ、セル数を、それぞれ%0,%1,%2に取得する。mainVer.2.48【実行節のみ】げっとたぶgettabボタンモード拡張gettabbtndefとbtnwait系命令の間に挟む。tabキーを押したときに=-20が返る。$VAR|%VAR[,...]変数タグ情報の格納先変数*pretextgosubで指定したサブルーチンから、タグの内容を取得します。splitに似ていますが、""は必要ありません。省略されたものは""もしくは0で補います。なってる場合、[太郎/0001.wav]テスト用の文章です。$1="0001.wav"省略することも出来ます。$1=""ボイスや名前タグの処理に使ってください。数値ログのページ番号getlog命令と同じ要領で、指定した数だけ前のページのタグを取得します。バックログにタグも残りますので、バックログのカスタマイズをするときに、名前や音声をタグで指定しておけば、それを読み出すことが出来るので便利です。タグ指定が無かった場合は""を返します。ここで、gettag命令では文字列を/区切りで分離して変数に格納できましたが、gettaglog命令ではそれが出来ません。次のようにすれば、gettagと同じように分離出来ます。現在テキストウィンドウに表示されているテキストを取得します。数値テキストボタン番号テキストボタン番号に対応した文字列を取得します。無い場合は""が代入されます。例)テキストボタン番号12に対応した文字列を$0に取得する。%VAR数字変数経過時間(ミリ秒)内部タイマの値を取得する命令です。最後にresettimerを使ってから経った時間を、ミリ秒単位で返します。%VAR数字変数バージョンを整数にしたものを取得する変数バージョンは3桁の整数で返ってきます。実際のバージョンの100倍の数字です。Ver1.90ならば190になります。%VAR数字変数ボリューム(0~100)voiceのボリュームを取得します。数字変数ウィンドウ高さを取得する変数ウィンドウのクライアント領域(メニューなどを除いた、画像が描画される部分の大きさ)を取得します。デフォルトでは640と480です。例)ウィンドウの幅と高さを、それぞれ%0,%1に取得する。mainVer.2.48【実行節のみ】げっとずぃーえっくすしーgetzxcボタンモード拡張getzxcbtndefとbtnwait系命令の間に入れてください。z,x,cキーをボタンモードで拾えるようになります。-51,-52,-53が返ります。mainVer.2.48【定義節のみ】ぐろーばるおんglobalonファイルアクセスログ・グローバル変数globalonグローバル変数を使う設定をします。LABELラベル飛び先そのラベルをサブルーチンとしてコールします。return文で、サブルーチンから返ってきて、gosub文の次から動作を再開します。LABELラベル飛び先そのラベルにジャンプします。STR,NUM[,NUM]文字列"rcl"のように、"r","c","l"の優先順位を指定する数値エフェクト番号。立ち絵間の優先順位を指定する。立ち絵の基準となるX座標を設定します。この命令で指定した座標に立ち絵の真ん中を合わせることになります。デフォルトは160,320,480です。NUM数値立ち絵を表示するレイヤ直下のスプライト番号スプライトと立ち絵の重なる時の優先順位(Zオーダー)を指定します。指定した番号のスプライトのすぐ上に立ち絵が表示されることになります。デフォルトは、25です。