※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

簡単なメモ


  • 文字コードがUTF-8NのテキストをData/Scenario/に作る(拡張子は.txt)
  • 1行ずつ実行される
  • キャラクターを表示させる場所は左右の二カ所(leftとright)
  • 行の先頭に$でコマンド(背景変えたり、表情変えたり、BGM変えたり)
  • 行の先頭に#でコメント
  • マクロもどき機能搭載
  • 空行は無視
  • イベントからの呼び出しは「スクリプト」で「$scene = Scene_ADV(シナリオファイル名)」(ァイル名は拡張子を抜いたもの)

コマンドのない行はメッセージとして扱われます。(「$msg メッセージ」としてもメッセージになります。)
このとき、同じメッセージの中での改行は[\n]と記述することで利用できます。

マクロもどきについては
$back 部屋_カクヤス_昼.jpg
と書くところを
$def 部屋=[部屋_カクヤス_昼.jpg]
と、予め宣言しておけば
$back $[部屋]
と書くのと同じになります。

.rxdataへの自動コンバート機能

テストプレイ時にシナリオファイル(Data/Scenario/*.txt)を読み込むと、自動的にシナリオファイルのオブジェクトファイル(Data/Scenario/*.rxdata)が作成されます。
この形式になると暗号化アーカイブにしてもロードできるので、配布するときに便利です。
(このとき、サイズを縮小しておきたい場合は*.txtを別のフォルダに待避しておくとアーカイブに含まれなくなるので少し小さくなります。)

更新予定

  • テキストインタプリタとの連携
    • 今はまだできるといいなぁレベル。

更新履歴

  • 20060211
    • 基本部分作成
  • 20060212
    • blockコマンドの追加
    • evalコマンドの追加
    • switchコマンドの追加
    • 位置補正コマンド(left_x, left_y, right_x, right_y)の追加
    • .txtから.rxdataへの自動コンバート機能の追加(これに伴い、イベントで指定する時にファイル名から拡張子を抜いて指定する様に変更)
  • 20060227
    • ifコマンドの追加
    • loadコマンド追加
    • bdefコマンド追加
    • selectコマンド追加
    • select_varコマンド追加
    • ゲーム変数置換機能追加($V[変数番号])
  • 20060228
    • varコマンドの追加
    • readコマンドの追加
    • スイッチ置換機能追加($S[スイッチ番号] trueなら"on"、falseなら"off"を返します)
  • 20060312
    • msg以外のコマンドの実行タイミングの修正(以前はseやbgmなどが不正なタイミングで実行されていました)
    • 選択肢の文字列を保持しておくようになりました。(Scene_ADVクラスの@select)

コマンドリスト

load : 子インタプリタの生成

$load base
子インタプリタ(子Scene_ADV)を生成し、実行します。
共通のマクロ設定などの読み込み、シーンの切り替えなどを想定しています。
子インタプリタが実行されるときにトランジションが実行されます。

read : シナリオの読み込み

$read scene01
シナリオを読み込みメッセージキューの先頭に挿入します。
基本的にはloadと同じ働きをしますが、子インタプリタを生成しないので、スプライトやマクロが維持されたまま実行されます。
(基本的にはこちらを利用した方が便利でしょう)

active : アクティブのキャラ変更

$active left / $active right
メッセージ枠をleftかrightのキャラに合わせて場所をずらします。leftかrightが指定されなかった場合には中央になります。

back : 背景変更(自動トランジション)

$back 部屋_カクヤス_昼.jpg
背景を変更します。このとき、自動的にトランジションが実行されます。トランジションファイルが設定してあった場合にはそのトランジションファイルでトランジションを実行します。


clear : 画面をクリアして新背景に

$clear 部屋_カクヤス_昼.jpg
シーンの切り替えなどに利用されます。
左右のキャラクターの消去と背景の切り替えを同時に行います。backと同じように自動的にトランジションが実行されます。

left_base : キャラのグラフィック設定

$left_base B_ツナ_01.png
左のスプライトに画像をセットします。
このとき、自動的に左のキャラがアクティブになる(=メッセージ枠が右寄りになる)ので注意して下さい。

left_face : キャラのグラフィック設定

左のスプライトに重ね合わせる画像をセットします。
表情差分などがある場合には利用するといいでしょう。
このとき、自動的に左のキャラがアクティブになる(=メッセージ枠が右寄りになる)ので注意して下さい。

right_base : キャラのグラフィック設定

$right_base p_cos_主_ま.png
右のスプライトに画像をセットします。
このとき、自動的に右のキャラがアクティブになる(=メッセージ枠が左寄りになる)ので注意して下さい。

right_face : キャラのグラフィック設定

$right_face p_face_主_2.png
右のスプライトに重ね合わせる画像をセットします。
表情差分などがある場合には利用するといいでしょう。
このとき、自動的に右のキャラがアクティブになる(=メッセージ枠が左寄りになる)ので注意して下さい。

left_x, left_y, right_x, right_y : 位置補正

$left_y 150
左右それぞれの画像の表示位置に補正をかけます。
一度設定すると、その設定が維持されるので、キャラによって補正を変えたい場合はマクロに設定しておくと便利です。

dispose : キャラ消去

$dispose left / $dispose right
指定した側のキャラを非表示にします。
このとき、メッセージ枠は自動的に中央に戻りますので注意して下さい。

def : マクロ設定

$def ナナシコ=[$right_base p_cos_主_ま.png]
マクロ(もどき)のセットをします。ここでセットされたマクロは、次の行以降で$[定義名]と記述されると、実行前にその内容に置き換わります。

bdef : 共通マクロ設定

$bdef ナナシコ=[$right_base p_cos_主_ま.png]
Scene_ADVすべて(子インタプリタも含む)で共通するマクロの設定をします。
共通マクロ設定を指定しないと、loadコマンド等で子インタプリタを生成した際に読み込んだシナリオでマクロが利用できなくなります。

block : 1行に複数コマンドを記述

$def ツナ=[$block $left_y 150; $left_base B_ツナ_01.png]
複数のコマンドを1行で記述したいときに使用します。
主にマクロへのセットでの利用を想定しています。

bgm : BGMの変更

$bgm 019-Field02

se : 効果音を鳴らす

$se 092-Attack04
    

set_transition : トランジションをセット

$set_transition 005-Stripe01
トランジションに使用するファイルを指定します。
空白ならデフォルトのトランジションになります。

transition : トランジション制御

$transition run
$transition freeze
トランジションの制御を行います。
普通に利用することはあまり無いと思います。
runでトランジション実行、freezeでトランジション準備です。

switch : スイッチの処理

$switch 3=[on] / $switch 4=[off]
スイッチのオン/オフを切り替えます。

var : ゲーム変数の処理

$var 4=[10]
ゲーム変数への代入を行います。
利便性の都合上、数値のみが代入することができますので注意して下さい。

select : 選択肢の表示

$select {選択肢1}{選択肢2}...{選択肢n}
選択肢を選ぶウィンドウを表示します。
ここで選択した項目番号(上から0,1,2,...,n)はselect_varコマンドで指定したゲーム変数に保存されます。(デフォルトでは99番)
また、選択肢の文字列(この場合では"選択肢1"など)はScene_ADVクラス内の@selectに配列として記憶されています。
選択した文字列で比較したい場合には利用してください。

select_var : 選択した選択肢の保存先変数の指定

$select_var 10
選択肢で選択した結果を保存するゲーム変数を変更します。

if : 条件分岐

$if {条件文}{条件が真の時}{条件が偽の時}
条件文を判定し、真の時と偽の時で別の動作をさせます。
このとき、条件文は内部でeval(RGSS)で判定されます。
$select {ひとつめ}{ふたつめ}
$if {$V[99] == 1}{2番目の選択肢を選択しました}{2番目以外を選択しました}


eval : Rubyスクリプトの実行

$eval p(@command)
Ruby(RGSS)スクリプトを実行します。
デバッグでの変数確認や、特殊な処理を行いたいときに使用することを想定しています。

wait : ウェイト

$wait 20
指定されたフレーム分のウェイトを挟みます。

使用例

# マクロセット
$def 部屋=[部屋_カクヤス_昼.jpg]
$def 通常BGM=[$bgm 019-Field02]
$def 右=[$active right]
$def 左=[$active left]
$def ナナシコ=[$right_base p_cos_主_ま.png]
$def ナナシコ幸せ=[$right_face p_face_主_2.png]
$def ツナ=[$left_base B_ツナ_01.png]

# 背景をセット
$back $[部屋]

# BGM設定(変数使用)
$[通常BGM]

# ナナシコを右にセット
$[ナナシコ]
$[ナナシコ幸せ]

# 話してるのはナナシコ(右)
$[右]
Zzz…。
グ~、スカ~、ピ~~~。

# ツナ師匠をセット
$[ツナ]
まったく…。[\n]なんてイビキしてるんだろね。
ナナシコ、朝だよ。

バグ報告など

名前:
コメント:

すべてのコメントを見る