CWXスクリプトとは、CardWirthのイベントツリーを記述するための専用スクリプト言語です。
CardWirthEditorのGUIによるシナリオ作成は、直感的で分かり易いものといわれています。CardWirthの普及の度合いを見る限り、それが正しい事は間違いありません。
それと共に、「CardWirthもスクリプトでシナリオを書ければいいのに」という声を時折聞きます。一定の文法に則ってテキストに処理を記述していくやり方は、慣れればマウスを用いたGUI操作よりも遥かに高速である上、見通しもよくなる、というのがその理由です。
CWXスクリプトは、そうした需要を満たすために設計された、CardWirthのイベントツリーを記述するための言語です。
CWXスクリプトはCardWirthのシナリオを強化する言語ではありません。あくまでCardWirth中のイベントコンテントをGUIによらず記述するための言語であり、それ以上の機能は持ち合わせません。また、スクリプトをCardWirthエンジンで直接読み込むことはできず、最終的にはCWXEditorに「貼り付け」てCardWirthシナリオとして保存する必要があります。また、CWXスクリプトで記述できるイベントは、全てCWXEditorでも作成する事が可能です。実現の過程が異なるだけなのです。
単体で成り立つものではなく、シナリオ作りの補助に用いる事の出来る道具、という程度にお考え下さい。
CardWirthのイベントコンテントのツリーは常に"スタートコンテント"から始まります。基本的には、CWXスクリプトでも同様です。
例えば、スタートして、メッセージを一つ表示し、そのまま済印をつけずに終了するイベントは次のように記述できます。
start "到着イベント"
msg none, "hello, world!"
endsc false
CWXEditorで適当なエリアを作成し、イベントビューでこのスクリプトを貼り付けてみれば、実際にイベントツリーが生成されるはずです。
start/msg/endsc
がイベントコンテント名、ダブルクォーテーション""
で囲われた部分が文字列(この場合はスタートコンテント名とメッセージ)、none
とfalse
がイベントコンテントのパラメータを指定するためのキーワードになります。
順番に見ていきましょう。
start "到着イベント"
まずは「到着イベント」という名前のスタートコンテントを作成します。
msg none, "hello, world!"
メッセージ「hello, world!」を表示します。
msgは、CardWirthでいう所のメッセージコンテントを表します。
noneは、そのメッセージの話者がいない、つまり冒険者やカード画像に喋らせるわけではなく、ナレーションや地の文として表示する事を示しています。
msgには、「話者」と「表示するメッセージ」の二つのパラメータがあり、その間は「,
」で区切られています。
endsc false
endscは、シナリオ終了コンテントです。
このコンテントには、パラメータとして「シナリオに終了印をつけるか、つけないか」を指定する必要があります。
falseというのは、論理式で真偽の「偽」を示し、この場合はYes/Noでいう所のNo、つまり「済印をつけない」事を表しています。 ちなみに、Yesの場合はtrue(真)になります。
CWXスクリプトでは改行や空白はほとんど意味を持たず、好きな所に入れる事ができます。
例えば、次の二つの例は、一番最初の例とまったく同じイベントを記述しています。
start "到着イベント" msg none,"hello, world!" endsc false
start "到着イベント"
msg none , "hello, world!"
endsc false
実用的には、適当に改行と空白を入れ、人間が見て分かり易いように記述した方がよいでしょう。
また、文字列の中身を除き、アルファベットの大文字と小文字は区別されません。よって、同じイベントを以下のように書く事もできます。
Start "到着イベント"
Msg NONE, "hello, world!"
EndSc FALSE
イベントコンテントのパラメータは、スタートコンテントの名前を除いて、全て省略する事ができます。
例えばendscの最初のパラメータ「済印をつける/つけない」は、省略した場合は「つけない」事になると定められています。従って、以下の二つの例もまったく同じイベントを表しています。
endsc false
endsc
ところで、CardWirthのイベントツリーは必ず"スタートコンテント"から始まりますが、CWXスクリプトはstart以外から書き始める事もできます。
msg none, "hello, world!"
endsc false
このスクリプトは、任意の既存のイベントツリーの中に貼り付ける事ができます。
次のように、スタートコンテントを持たない部分と、スタートコンテントが混在している場合は、既存のイベントツリーの中にスタートコンテントを持たない部分が貼り付けられた後、新しいツリーが生成されます。
msg none, "hello, world!"
endsc false
start "次のスタート"
msg none, "hello, CWXScript!"
スクリプトやコンテントツリーを読む人間に対してヒントを与えるために、コメントを書き入れる事ができます。
二種類の書き方があり、文字列の中以外であれば、どこにでもコメントを入れる事ができます。
// <- この記号の後は、改行が来るまで全てコメント扱いになります
start "到着イベント" // 行の途中から入れる事もできます
msg none, "hello, world!"
/* <- この記号を書く事で、複数行コメントが開始されます。
改行を入れてもコメントが続きます。
複数行コメントを終了するにはこうします -> */
endsc false
コメントは入れ子にできます。
start "到着イベント"
/*
ここからコメント
// コメント内の単行コメント
/*
コメント内の複行コメント
*/
ここまでコメント
*/
endsc false
コンテント定義の直前に記述されたコメントは、生成されたコンテントのコメントとして反映されます。
start "到着イベント"
// シナリオを終了する
endsc false
// 上の行のコメントはシナリオ終了コンテントのコメントとして
// コンテントツリーに貼り付けられます。
// このコメントは直後にコンテント定義が無いため、無視されます。
パラメータには、指定する内容に応じて次のような種類があります。
true/false
の真偽値や、話者、属性、効果のダメージタイプなど。もっとも単純な文字列です。二種類の書き方ができます。
次の二つの例は、文字列を囲う記号が異なるだけで、内容には違いありません。
// ""で囲うパターン
start "書き方その1"
// ''で囲うパターン
start '書き方その2'
「"
」で開始された文字列の中に「"
」が登場すると、当然ながら、そこが文字列の終わりと看做されてしまい、想定外の結果を招きます。
そこで、文字列中に「"
」を登場させたい時は、「""
」と二度続けて書きます。
// 「ま"っ」という文字列
start "ま""っ"
「'
」も同様です。
// 「Cusinart'」という文字列
start 'Cusinart'''
文字列を囲う記号と異なる文字であれば普通に入れる事ができます。
// ま"っ
start 'ま"っ'
// Cusinart'
start "Cusinart'"
一行文字列には、改行を入れる事はできません。
一行文字列には入れられなかった改行を入れる事ができます。
msg none, @
例えば3行に渡るメッセージをこう書けます。
この例では、一番最初に空行が一つ入ってます。
例によって、文字列を囲う記号を文字列内に登場させたい場合は「@@」とします。
@
記号「@
」で囲われた範囲が文字列になります。
開始部の「@
」の後、及び終了部の「@
」の前には改行が必要です。(改行の後にスペースやタブ文字が入っても構いません)
途中に「@
」を入れたい場合は「@@
」と書きます。
複行文字列では、行頭にあるタブ文字や半角空白は削除されます。次の例は、最初に挙げた例と同じ結果になります。
msg none, @
例えば3行に渡るメッセージをこう書けます。
この例では、一番最初に空行が一つ入ってます。
例によって、文字列を囲う記号を文字列内に登場させたい場合は「@@」とします。
@ // <- この@の前のスペースも無視されます
全角空白は削除されません。
行頭に全角空白以外のスペースを入れたい場合は、直前に「\」を入れます。
msg none, @
\ <- ここの半角スペースは無視されません。
\ ただし、\は消えてしまいます。
\\ <- 二度続けて書くと、一個の「\」に置換されます。
@
「@
」の後に続けて数値を書くと、その数値を行数と解釈し、メッセージが指定された行から開始されるように空行を入れる事ができます。
msg none, @ 4
このメッセージは4行目に表示されます。
@
数値の代わりにcenter
というキーワードを使う事で、CardWirthのメッセージ欄に合わせて、縦方向の中央寄せに表示させる事ができます。
msg none, @ center
このメッセージは中央付近の行に表示されます。
@
一行の長さがメッセージ欄の幅をオーバーした際の折り返しも考慮されますが、特殊文字やタブ文字が含まれている場合は、確実に中央寄せされるとは限りません。
「~
」を使う事で、文字列を連結できます。
// start "hello, world" と同じ
start "hello, " ~ "world!"
数値とも連結できます。
// 数値を連結しようとすると自動的に文字列に変換される
start "number." ~ 1 // start "number.1"
// 数値同士を連結すると結果は文字列になる
start 42 ~ 10 // start "4210"
普通に数値を書く事ができます。
callpack 50
計算式も使えます。
callpack 15 * 2 + 20
演算子には以下のものがあります。
演算子には優先順位があります。掛け算・割り算・剰余は、足し算・引き算よりも先に計算されます。
括弧を使って、優先順を変更する事ができます。
callpack 1 + 2 * 3 // 7
callpack (1 + 2) * 3 // 9
真偽やYes/Noを表すtrue/false
や、話者無しを表すnone
など、あらかじめ定められた値を選択する必要がある際に用いる語句です。
パラメータに応じて多数用意されています。
具体的な語句や、どのパラメータにどのキーワードを用いる事ができるか等は、各コンテントのパラメータ解説を参照してください。
例えば、背景変更コンテントchback
は、パラメータとして0枚以上の背景画像を持っています。
背景画像にはさらに複数のパラメータ、つまり画像のファイル名、X座標、Y座標、サイズ……などが含まれています。
これを表現するために、次のような書式が用意されています。
chback ["MapOfWirth.bmp", "", 0, 0, 632, 420, false]
["AdventurersInn.bmp", "", 116, 15, 400, 260, false]
一組の[]
で囲われた部分が、一枚の背景画像のパラメータになります。
これによって、複数のパラメータを一纏めにして取り回す事ができます。
例えば、効果コンテントeffect
は、パラメータとして0個以上の効果を持っています。
この効果はいくつでも存在する事ができ、その後にはカードの動きなどのパラメータが続きます。
effect
における効果や、chback
の背景画像のように、「ある種のパラメータが任意数繰り返される」というパターンを表現するために、以下のような書式が用意されています。
effect M, [damage, level, 1] [damage, level, 1] [damage, level, 1], none, 0, 5
三つある [
の間が、カンマで区切られていない事に注目してください。damage
, level
, 1]
カンマで区切らずにパラメータを列挙すると、それはひとまとまりの配列として扱われます。
変数とは、値を入れておく事ができる箱のようなものです。文字列や数値、複合パラメータなど、何でも入れる事ができます。
「$
」で始まる名前は変数を意味します。
$package_カナン王の怒り = 2
このようにして、「=
」で値をセットする事ができます。
値を入れた変数は、パラメータや計算式の値として使う事ができます。
次の例では、設定された変数によって、パッケージ呼び出しコンテントcallpack
で、IDが2のパッケージを呼び出しています。
$package_カナン王の怒り = 2
callpack $package_カナン王の怒り
変数に値をセットする文は、startの前や、特定コンテントの中など、どこにでも書く事ができます。
ただし、値をセットした後でしか使う事はできません。
CardWirthのイベントツリーは、分岐する事があります。
CWXスクリプトでは、三つのキーワードif-elif-fi
によって分岐を表現します。
例えば、あるフラグがOnになっている場合とOffになってる場合とで処理を分ける場合は、次のように書きます。
brflag "発見された" // フラグ「発見された」で分岐
if
true // フラグがOn(true)だったらこっちの処理
msg none, "敵の待ち伏せだ!"
gobattle 1
elif
false // フラグがOff(false)だったらこっち
msg none, "どうやら見つかってはいないようだ。"
fi
// 分岐終了
elif
を連ねる事で、三路以上の分岐も表す事ができます。
brstepm "見張り兵の気持ち" // ステップ「見張り兵の気持ち」で分岐
if
0 // ステップ値が0であれば
msg "gob.bmp", "「……」"
// ...
elif
1 // ステップ値が1であれば
msg "gob.bmp", "「……」"
// ...
elif
2 // ステップ値が2であれば
msg "gob.bmp", "「……?」"
// ...
elif
default // それ以外
msg none, "イベントの構成上ここに来たらエラー"
endsc
fi
// 分岐終了
CardWirthのシナリオを作っていると、「複数路に分岐はしないが分岐条件は記述する」という場面がままあります。
特定の条件に合った時だけ処理を進めて他は終了する場合や、メッセージ欄の下部に表示されるテキストを変更したい時などです。
そうした処理はif-fi
を使って記述できますが、if
の代わりに単分岐条件sif
を用いる事で、fi
を記述する必要が無くなります。
msg none, "どうやら依頼を受けるしか無いようだが……"
sif
"依頼を受ける" // これ以外の選択肢は無し
// ...
break // イベントツリー終了時にfiを記述する必要は無い
if/elif/sif
の後に記述するパラメータの種類は、分岐の直前に置くコンテントによって異なります。各コンテント毎の解説を参照してください。
また、CardWirthのイベントツリーの構造上、if/elif/sif
は、必ず分岐先のイベントコンテントを持たなければなりません。
CardWirthでは、一部のコンテントはイベントツリーの終端となっており、その後に続けてコンテントを配置する事ができません。
例えば、シナリオ終了コンテントendscは、後続のコンテントを持つ事ができません。
従って、次のようなスクリプトはエラーになります。
start "到着イベント"
msg none, "hello, world!"
endsc false
msg none, "シナリオ終了" // endscは後続を持てないため、エラーになる
ある種のコンテントが後続コンテントを持つ事ができるかどうかは、各コンテント毎の解説を参照してください。
以下のように、スクリプトの冒頭に初期値を設定していない変数の宣言がある場合、貼り付けた際にダイアログが開き、後付けで変数の値を設定する事ができます。
定型のロジックではあるものの内部で使用するフラグなどは都度切り替えたい、というような場合に便利です。
$パッケージ
$フラグ
$フラグ値
callpack $パッケージ
setflag $フラグ, $フラグ値
空変数を冒頭以外に配置した場合は、エラーです。
(Start)
スタートコンテント。
イベントツリーの最上位にはこのコンテントしか存在できません。
文字列で名前を指定してください。スタートコンテントのパラメータに限り、省略する事はできません。
start "到着イベント"
(Go to Battle)
バトルを開始します。
このコンテントは後続コンテントを持てません。
整数でバトルIDを指定します。
gobattle 15 // バトル15を開始
(End Scenario)
シナリオを終了します。
このコンテントは後続コンテントを持てません。
true/false
で済印をつけるかつけないかを選択します。
endsc true // 済印をつけて終了
(Game Over)
ゲームオーバーにします。
このコンテントは後続コンテントを持てません。
パラメータはありません。
gameover // 敗北したのでシナリオ終了
(Go to Area)
エリアを移動します。
このコンテントは後続コンテントを持てません。
移動先のエリアIDを整数で指定します。
また、CardWirthPy形式のシナリオに限り、画面切替スピードと切替方式を指定できます。
指定しなかった場合はエンジンの設定が採用されます。
切替スピードには0~10の値が指定でき、数値が少ないほど素早く切り替わります。
0の場合はエフェクト無しで即座に切り替わります。
切替方式には以下の値が指定できます。
default
none
thread
shave
fade
goarea 2, 10, fade // 画面をフェード式でゆっくりと切り替えながらエリア2へ移動
(Effect)
パーティや選択中のメンバに対して回復やダメージ、カード配布等の効果を適用します。
[]
で囲われたパラメータが一つの効果を表し、いくつでも連続で指定できます。
効果種別には次の値が指定できます。
heal
damage
absorb
paralyze
disparalyze
poison
dispoison
getspilit
losespilit
sleep
confuse
overheat
brave
panic
resetmind
bind
disbind
silence
dissilence
faceup
facedown
antimagic
disantimagic
enhaction
enhavoid
enhresist
enhdefense
vantarget
vancard
vanbeast
dealattack
dealpowerful
dealcritical
dealfeint
dealdefense
dealdistance
dealconfuse
dealskill
cancelaction
summon
続くパラメータは、効果種別によって変化します。
heal
/ damage
/ absorb
/ paralyze
/ disparalyze
/ poison
/ dispoison
sleep
/ confuse
/ overheat
/ brave
/ panic
/ bind
/ silence
/ faceup
/ antimagic
enhaction
/ enhavoid
/ enhresist
/ enhdefense
summon
ダメージタイプには、ダメージや回復の値をどのように解釈するかを指定します。次の値が指定できます。
level
value
max
fixed
能力変動の増減値には、-10~10の値が指定できます。0で増減は無くなり、初期状態にリセットされます。
継続時間はラウンド数で指定し、省略した場合は10になります。
召喚獣は、現在のCWXスクリプトで召喚獣カードを記述できない事を踏まえ、召喚獣IDで指定するようになっています。
当然ながら、シナリオ内に存在する召喚獣しか指定できません。
効果種別固有のパラメータを記述した後は、効果属性を指定します。以下の値が指定できます。
all
phy
mind
holy
magic
fire
ice
省略した場合は全属性になります。
効果対象は、上記の効果を適用する対象です。以下の値が指定できます。省略した場合は選択中のメンバになります。
M
または selected
R
または random
T
または team
coupon
card
称号所有者・カードの使用対象はWsn.2以降のWSN形式シナリオでのみ機能します。
効果対象にcoupon
を指定した場合、称号名を文字列で指定します。
効果レベルは、効果を発揮する際の判定の基準となるレベルです。整数で、マイナスの値も指定できます。省略した場合は0になります。
視覚効果は、効果を受けたカードの動きです。以下の値が指定できます。省略した場合は視覚効果無しになります。
none
reverse
hswing
vswing
成功率には、-5から+5の値を指定できます。値が大きくなるほど当たり易くなり、+5で絶対命中、-5で絶対失敗します。省略した場合は0になります。
効果属性には、敵の実体の有無や、魔法が通用するか否かによって効果がどのように発揮されるかを指定します。以下の値を指定できます。省略した場合は無属性になります。以下の値が指定できます。
physic
magic
mphysic
pmagic
none
抵抗属性には、効果を回避される可能性があるか、必ず命中するが抵抗される可能性があるかを指定します。省略した場合は必中属性になります。以下の値が指定できます。
avoid
resist
unfail
音声パスには、効果を適用した際に鳴る効果音のファイル名を指定します。省略した場合は効果音無しになります。
音量には、再生音量をパーセンテージで指定します。この音量の値はエンジンの設定を最大値としてのものなので、エンジンの音量設定が50%となっている場合、ここで50%を指定すると最終的に25%の音量となります。省略した場合は100%です。
ループ回数には、この音声を何回ループ再生するかを指定します。0は無限ループです。省略した場合は1です。
選択メンバの能力参照には、成功率や効果値の計算に選択メンバのレベル・能力値を参照するtrue
、参照しないfalse
のいずれかを指定します。true
を指定した場合、効果レベルは無視されます。省略した場合はfalse
です。
身体的要素は成功率や効果値の計算に使用する能力の種類で、以下が指定できます。選択メンバの能力参照がfalse
の場合は無視されます。省略した場合はdex
です。
dex
agl
int
str
vit
min
精神的要素は成功率や効果値の計算に使用する精神傾向の種類で、以下が指定できます。選択メンバの能力参照がfalse
の場合は無視されます。省略した場合はagg
です。
agg
unagg
cheerf
uncheerf
brave
unbrave
caut
uncaut
trick
untrick
イベント発火の有無には、効果適用時にキーコードイベント・死亡イベントが発火するtrue
、発火しないfalse
のいずれかが指定します。省略した場合はfalse
です。
キーコードには、イベント発火に用いられるキーコードを配列で指定します。イベント発火の有無で発火しないfalse
を指定した場合は機能しません。省略した場合はキーコード無しになります。
選択メンバの能力参照・身体的要素・精神的要素・イベント発火の有無・キーコードはWsn.2以降のWSN形式シナリオでのみ機能します。
カード速度には0~10の値またはdefault
を指定します。数値を指定した場合は、視覚効果のアニメーションが指定した速度で行われます。数値が小さいほど速くアニメーションします。default
の場合は、エンジンの設定が使用されます。省略した場合はdefault
になります。
速度の優先にtrue
を指定すると、もしアニメーションするカード自体に速度設定があっても、優先してイベントコンテント側の速度設定を使用します。省略した場合はfalse
になります。
初期効果の有無にtrue
を指定すると、効果適用直前に効果対象の色の反転と初期効果音の再生が行われます。省略した場合はfalse
です。
初期音声パスには、対象の色反転と同時に再生される効果音のファイル名を指定します。省略した場合は効果音無しになります。
初期音声音量には、初期音声の再生音量をパーセンテージで指定します。この音量の値はエンジンの設定を最大値としてのものなので、エンジンの音量設定が50%となっている場合、ここで50%を指定すると最終的に25%の音量となります。省略した場合は100%です。
初期音声ループ回数には、初期音声を何回ループ再生するかを指定します。0は無限ループです。省略した場合は1です。
初期音声パス・初期音声音量・初期音声ループ回数は、初期効果の有無がfalse
の時は無視されます。
吸収者にM
またはselected
を指定すると、選択メンバが吸収効果における吸収者になります。none
を指定した場合、吸収者はいなくなります。その場合の吸収効果はダメージ効果と同じ挙動になります。
カード速度・速度の優先・初期効果の有無・初期音声パス・初期音声音量・初期音声ループ回数・吸収者はWsn.4以降のWSN形式シナリオでのみ機能します。
effect T, // パーティ全体が対象
// 次の二つのパラメータは配列のため、カンマで区切らない
[damage, level, 5] // レベル比5のダメージ
[enhaction, -5, 10, phy], // 肉体を持つのであれば、10ラウンドの間、行動力が5低下。
hswing, // 横振動
3, // 効果レベル3
4, // 絶対命中ではないがかなりの命中率は高い
physic, // 実体の無い対象には無効
resist, // 抵抗可能
"効果(攻撃).wav" // 標準効果音を鳴らす
(Break Effect)
イベントを終了します。
このコンテントは後続コンテントを持てません。
カード消費の有無にtrueを指定すると、カードの使用によってイベントが発火していた場合、イベント終了後に当該カードの使用回数を消費します。falseを指定した場合は、消費しません。省略した場合はtrueになります。このパラメータはWsn.3以降のWSN形式シナリオでしか機能しません。
break // 中断
(Change Environment)
パーティの状況を設定します。
このイベントコンテントはWsn.4以降のWSN形式シナリオでしか使用できません。
荷物袋の使用可否にoffを指定すると、このイベントコンテントの実行後に荷物袋が使用できなくなります。onを指定した場合は、使用できない状況を解除できます。noneを指定した場合は状況が継続されます。省略した場合はnoneになります。
敗北・ゲームオーバーの有無にoffを指定すると、このイベントコンテントの実行後に全滅時の敗北・ゲームオーバーが発生しなくなります。onを指定した場合は、使用できない状況を解除できます。noneを指定した場合は状況が継続されます。省略した場合はnoneになります。
逃走の可否にoffを指定すると、このイベントコンテントの実行後にバトルからの逃走ができなくなります。onを指定した場合は、使用できない状況を解除できます。noneを指定した場合は状況が継続されます。省略した場合はnoneになります。
敗北・ゲームオーバーの有無及び逃走の可否はWsn.5以降のWSN形式シナリオでのみ機能します。
chenv off // 荷物袋の使用を禁止する
(Go to Start)
指定されたスタートコンテントへジャンプします。
このコンテントは後続コンテントを持てません。
スタート名を指定します。
gostart "その2" // スタートコンテント「その2」へ移動
(Go to Package)
パッケージ処理に移動します。
このコンテントは後続コンテントを持てません。
整数でパッケージIDを指定します。
gopack 4 // パッケージ4へ処理を移動
(Message)
メッセージを表示します。
このコンテントはメッセージ選択分岐を行えます。詳細は例を参照してください。
話者には、以下のいずれかが配列で指定できます。省略した場合は話者無しになります。
none
M
または selected
U
または unselected
R
または random
C
または card
single
イメージの配置方式には以下のいずれかが指定できます。省略した場合はdefault
になります。
default
topleft
と同じ結果になります。topleft
center
テキストには、メッセージとして表示する文字列を指定します。
通常の""
や''
で囲った文字列の他、@
を使用して複数行の文字列を記述できます。以下の例を参照してください。
選択肢の列数には、メッセージの下に表示される選択肢を横何列で表示するかを指定します。省略した場合は1になります。このパラメータはWsn.1以降のWSN形式シナリオでしか機能しません。
禁則処理の有無にtrue
を指定すると、メッセージの折り返しで禁則処理が行われます。省略した場合はfalse
になります。このパラメータはWsn.2以降のWSN形式シナリオでしか機能しません。
横方向の中央寄せにtrue
を指定すると、メッセージの各行が横方向に中央寄せして表示されます。省略した場合はfalse
になります。このパラメータはWsn.2以降のWSN形式シナリオでしか機能しません。
縦方向の中央寄せにtrue
を指定すると、メッセージ全体が縦方向に中央寄せして表示されます。省略した場合はfalse
になります。このパラメータはWsn.2以降のWSN形式シナリオでしか機能しません。
話者選択の有無にtrue
を指定すると、メッセージの話者がキャラクターだった場合に、そのキャラクターが選択状態になります。省略した場合はfalse
になります。このパラメータはWsn.3以降のWSN形式シナリオでしか機能しません。
msg "gob.bmp", // gob.bmpに喋らせる
// @を使用したテキストの指定
// @の後に整数を指定する事で、その値の行から表示させる事ができる
// 行頭のタブ文字や半角スペースは無視される
@ 3
「グオオオ!」
@
msg M, // 選択中のメンバに喋らせる
// cまたはcenterを指定すると縦軸の中央にテキストを配置できる
@ center
ゴブリンの集団だ!
@
// ifによってメッセージ選択分岐を行う
// メッセージの表示と共に選択肢が表示され、どれか一つが選ばれる事で処理が分岐する
if
"戦う"
// 選択肢「戦う」を選んだ場合はこちらへ分岐する
// ...
break
elif
"逃げ出す"
// 選択肢「逃げ出す」を選んだ場合
// ...
break
fi
// 分岐終了
(Dialog)
口調分けして台詞を表示します。
このコンテントはメッセージ選択分岐を行えます。詳細は例を参照してください。
話者には、以下のいずれかが指定できます。
M
または selected
U
または unselected
R
または random
V
または valued
話者の次の[]
で囲われたパラメータで、クーポンとメッセージを指定します。話者が持つクーポンによって、表示されるメッセージが切り替わります。
最初のパラメータにV
またはvalued
を指定した場合、メッセージの次に評価初期値と評価クーポンを指定できます。それ以外の場合、これらの指定は省略する必要があります。
評価初期値には、評価条件計算時の初期値を指定します。省略した場合は1
になります。
評価クーポンと得点には、話者を選択する際の評価条件を配列で指定します。
選択肢の列数には、メッセージの下に表示される選択肢を横何列で表示するかを指定します。省略した場合は1になります。このパラメータはWsn.1以降のWSN形式シナリオでしか機能しません。
禁則処理の有無にtrue
を指定すると、メッセージの折り返しで禁則処理が行われます。省略した場合はfalse
になります。このパラメータはWsn.2以降のWSN形式シナリオでしか機能しません。
横方向の中央寄せにtrue
を指定すると、メッセージの各行が横方向に中央寄せして表示されます。省略した場合はfalse
になります。このパラメータはWsn.2以降のWSN形式シナリオでしか機能しません。
縦方向の中央寄せにtrue
を指定すると、メッセージ全体が縦方向に中央寄せして表示されます。省略した場合はfalse
になります。このパラメータはWsn.2以降のWSN形式シナリオでしか機能しません。
話者選択の有無にtrue
を指定すると、メッセージの話者がキャラクターだった場合に、そのキャラクターが選択状態になります。省略した場合はfalse
になります。このパラメータはWsn.3以降のWSN形式シナリオでしか機能しません。
// パラメータは配列なので、カンマで区切らない
dialog R, // ランダムなメンバに喋らせる
// クーポン群として文字列を一件指定した場合、';'によって分割される
["_♀;_上品", @ center
「ゴブリンの姿が見えます。
間違いない、この洞窟ですわ」
@]
// 配列として複数クーポンを指定する事も可能。複数あった場合は';'で分割されない
["_♂" "_上品", @ center
「ゴブリンの姿が見えます。
間違いなく、この洞窟でございますな」
@]
// メッセージは先に記述した方から優先的に選択され、話者が指定された
// クーポンをすべて持っていなければ次のメッセージが選択される
["_♀", @ center
「ゴブリンの姿が見えるわ。
間違いない、この洞窟よ」
@]
// 指定クーポン無し
// あらゆる話者がこのメッセージを喋る事ができる
["", @ center
「ゴブリンの姿が見える。
間違いない、この洞窟だ」
@]
// ifによってメッセージ選択分岐を行う
// メッセージの表示と共に選択肢が表示され、どれか一つが選ばれる事で処理が分岐する
if
"見張りを誘き出す"
// 選択肢「見張りを誘き出す」を選んだ場合はこちらへ分岐する
// ...
break
elif
"突撃する"
// 選択肢「突撃する」を選んだ場合
// ...
break
elif
"撤退"
// 選択肢「撤退」を選んだ場合
// ...
break
fi
// 分岐終了
(Play BGM)
BGMを演奏します。
ファイル名には、音声ファイル名を指定します。クラシックなシナリオでは*.midしか指定できません。stop
を指定するか、省略した場合は、BGMを停止します。
再生チャンネルには、主音声(0)か副音声(1)のいずれかの値を指定します。主音声と副音声は重ねて再生する事ができます。
フェードイン時間には、BGMがフェードイン(徐々に音量を上げながら開始)に完了するまでの時間を0.1秒単位で指定します。0にすると最初から指定音量で再生されます。すでに同じチャンネルで再生されているBGMがある場合は、同じ時間をかけてフェードアウト(徐々に音量が下がる)していきます。省略した場合は0です。
音量には、再生音量をパーセンテージで指定します。この音量の値はエンジンの設定を最大値としてのものなので、エンジンの音量設定が50%となっている場合、ここで50%を指定すると最終的に25%の音量となります。省略した場合は100%です。
ループ回数には、この音声を何回ループ再生するかを指定します。0は無限ループです。省略した場合は0です。
bgm "DefInn.mid" // 宿のテーマをBGMにする
wait 50
bgm stop // BGM停止
(Play SE)
効果音を鳴らします。
音声ファイル名を指定します。クラシックなシナリオでは*.wavしか指定できません。省略した場合は、何も鳴らしません。
再生チャンネルには、主音声(0)か副音声(1)のいずれかの値を指定します。主音声と副音声は重ねて再生する事ができます。
フェードイン時間には、効果音がフェードイン(徐々に音量を上げながら開始)に完了するまでの時間を0.1秒単位で指定します。0にすると最初から指定音量で再生されます。すでに同じチャンネルで再生されている効果音がある場合は、同じ時間をかけてフェードアウト(徐々に音量が下がる)していきます。省略した場合は0です。
音量には、再生音量をパーセンテージで指定します。この音量の値はエンジンの設定を最大値としてのものなので、エンジンの音量設定が50%となっている場合、ここで50%を指定すると最終的に25%の音量となります。省略した場合は100%です。
ループ回数には、この音声を何回ループ再生するかを指定します。0は無限ループです。省略した場合は1です。
se "システム・エラー.mid" // ブザー音を鳴らす
(Wait)
一定時間ウェイトを入れます。
整数を指定します。この値に0.1秒をかけた値が、実際の停止時間になります。
wait 10 // 1秒間停止
(Elapse Time)
ラウンドを経過させます。
それによって、毒のダメージや、効果時間の消費などが発生します。
パラメータはありません。
elapse // 時間経過
(Call Start)
指定されたスタートコンテントに連なるコンテントツリーを呼び出します。
呼び出し先のコンテントツリーの処理が終了した後は、元のツリーに処理が復帰します。
スタート名を指定します。
callstart "隠蔽処理" // スタートコンテント「隠蔽処理」を呼び出す
(Call Package)
指定されたパッケージのイベントを呼び出します。
呼び出し先のパッケージの処理が終了した後は、元のツリーに処理が復帰します。
整数でパッケージIDを指定します。
callpack 4 // パッケージ4の処理を呼び出す
(Branch with Flag)
指定されたフラグによって分岐を行います。
if-elif-fi
によって後続の処理が切り替えられます。
CardWirthのイベントの形式上、分岐した処理が合流する事はありません。
文字列でフラグ名を指定します。
brflag "発見された" // フラグ「発見された」で分岐
if
true
// フラグがOnだったらこっちの処理
gobattle 1
elif
false
// フラグがOffだったらこっち
// ...
break
fi
// 分岐終了
(Branch with Multiple Step)
ステップによる多岐分岐を行います。
文字列でステップ名を指定します。
brstepm "見張り兵の気持ち"
if
0
// ステップ値が0であれば
msg "gob.bmp", "「……」"
// ...
elif
1
// ステップ値が1であれば
msg "gob.bmp", "「……」"
// ...
elif
2
// ステップ値が2であれば
msg "gob.bmp", "「……?」"
// ...
elif
default
// それ以外
msg none, "イベントの構成上ここに来たらエラー"
endsc
fi
// 分岐終了
(Branch with Step (Two))
ステップによる上下分岐を行います。
文字列でステップ名を、整数で分岐のボーダーラインとなる値を指定します。
brstept "見張り兵の気持ち", 3
if
true
// ステップの値が3以上であれば
gobattle 2
elif
false
// ステップの値が3未満であれば
// ...
break
fi
// 分岐終了
(Branch with Variant)
式の評価結果によって分岐を行います。
このイベントコンテントはWsn.4以降のWSN形式シナリオでしか使用できません。
分岐条件の式を文字列で指定します。この式は、結果が真偽値になるものでなければなりません。
brvar '@"条件A" and @"条件B"', manual // 条件Aと条件Bが両方ともTRUEか判定する
if
true
// 条件成立
// ...
break
elif
false
// 条件不成立
// ...
break
fi
// 分岐終了
(Select Member)
パーティメンバを選択します。また、選択を行ったかキャンセルしたかによって処理を分岐します。
最初のパラメータでtrue
を指定すると、パーティ全体からの選択になります。false
を指定した場合は、動けるメンバからの選択になります。省略した場合は、パーティ全体になります。
メンバ選択方法には、以下のいずれかが指定できます。省略した場合は、manual
になります。
manual
random
valued
評価初期値には、評価条件計算時の初期値を指定します。省略した場合は0
になります。
評価クーポンと得点には、話者を選択する際の評価条件を配列で指定します。
selmember true, manual // パーティ全体から手動でメンバを選択
if
true
// 選択が行われた
getcoupon M, ":主役"
elif
false
// 選択がキャンセルされた
gostart "メンバ選択"
fi
// 分岐終了
(Branch with Ability)
能力分岐を行います。
判定対象には、以下のいずれかが指定できます。
M
または selected
R
または random
T
または team
眠り判定にはtrue/false
値を指定します。true
の場合、睡眠している者も判定を行えます。false
の場合は必ず失敗します。
レベルには、判定の基準となるレベルを整数で指定します。高いほどマイナスの値は指定できません。
判定に使用する身体的要素には以下が指定できます。
dex
agl
int
str
vit
min
精神的要素には以下が指定できます。
agg
unagg
cheerf
uncheerf
brave
unbrave
caut
uncaut
trick
untrick
条件の反転にtrue
を指定すると、能力判定に失敗した場合が成功として扱われます。省略した場合はfalse
になります。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
// 選択中のメンバで、レベル5で敏捷度と臆病性の判定を行う
brability M, false, 5, agl, unbrave
if
true
// 判定に成功
// ...
break
elif
false
// 判定に失敗
msg M, "「しまった!」"
// ...
fi
// 分岐終了
(Branch with Random)
指定された確率で分岐します。
確率を0~100のパーセンテージで記述します。
brrandom 30 // 30%の確率で分岐
if
true
// 30%でこっちに来る
// ...
break
elif
false
// 70%でこっちに来る
// ...
break
fi
// 分岐終了
(Branch with Multiple Random)
複数の後続コンテントへ等確率でランダムで分岐します。
このイベントコンテントはWsn.2以降のWSN形式シナリオでしか使用できません。
パラメータはありません。
msg none, "ダイスを振る!"
brrandomm // ランダムに分岐
if
msg none, "1だ!"
elif
msg none, "2だ!"
elif
msg none, "3だ!"
elif
msg none, "4だ!"
elif
msg none, "5だ!"
elif
msg none, "6だ!"
fi
// 分岐終了
(Branch with Level)
レベルで判定して処理を分岐します。
最初のパラメータには判定するレベルを指定します。
二番目のパラメータにtrue
を指定すると、パーティ全員の平均値で判定を行います。falseを指定するか省略すると、選択中のメンバで判定を行います。
brlevel 5, true // パーティ全員の平均レベルが5以上かどうかで分岐
if
true
// 平均レベルが5以上であればこちらへ分岐する
// ...
break
elif
false
// 平均レベルが5未満の場合
// ...
break
fi
// 分岐終了
(Branch with Status)
メンバのステータスによって分岐を行います。
判定対象には、以下のいずれかが指定できます。
M
または selected
R
または random
T
または team
ステータスには、以下のいずれかを指定できます。
active
inactive
alive
dead
fine
injured
heavyinjured
unconscious
poison
sleep
bind
paralyze
confuse
overheat
brave
panic
silence
faceup
antimagic
upaction
upavoid
upresit
updefense
downaction
downavoid
downresit
downdefense
条件の反転にtrue
を指定すると、指定されたステータスでない場合が成功として扱われます。省略した場合はfalse
になります。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
brstatus T, alive // パーティ全員が生存状態かどうかで分岐
if
true
// パーティ全員が生存していればこちらへ分岐する
// ...
break
elif
false
// 誰かが生存していない場合
// ...
break
fi
// 分岐終了
(Branch with Count of Member)
パーティの人数で分岐します。
人数を整数で指定します。
brcount 2 // パーティが2人以上いるかどうかで分岐
if
true
// パーティに2人以上いる場合はこちらへ分岐
msg none, "君達は洞窟へ入った。"
// ...
elif
false
// パーティに2人未満しかいない
msg none, "君は洞窟へ入った。"
// ...
fi
// 分岐終了
(Branch with Current area)
現在どのエリアにいるかで分岐します。
if-elif-fi
によってエリアIDを指定します。現在いる場所がエリアでない場合、必ずdefaultに分岐します。
パラメータはありません。
brarea
if
1
// 現在のエリアのIDが1だった場合
// ...
break
elif
2
// 現在のエリアのIDが2だった場合
// ...
break
elif
3
// 現在のエリアのIDが3だった場合
// ...
break
elif
default
// その他のエリアの場合
// ...
break
fi
// 分岐終了
(Branch with Current Battle)
現在どのバトルにいるかで分岐します。
if-elif-fi
によってバトルIDを指定します。現在いる場所がバトルでない場合、必ずdefaultに分岐します。
パラメータはありません。
brbattle
if
1
// 現在のバトルのIDが1だった場合
// ...
break
elif
2
// 現在のバトルのIDが2だった場合
// ...
break
elif
3
// 現在のバトルのIDが3だった場合
// ...
break
elif
default
// その他のバトルの場合
// ...
break
fi
// 分岐終了
(Branch with If on Battle)
現在バトル中であるかどうかで分岐します。
パラメータはありません。
bronbattle
if
true
// 現在バトル中であればこちらへ分岐
// ...
break
elif
false
// バトル中ではない場合
// ...
break
fi
// 分岐終了
(Select with Random)
このコンテントはCardWirth Extender 1.30以降でなければ機能しません。
条件に合う中からランダムでパーティメンバまたは敵キャストまたは同行キャストを選択します。
範囲には、以下のいずれかを配列で指定できます。
party
enemy
npc
レベル下限とレベル上限には、選択対象のレベル範囲を指定します。0
を指定した場合、レベルは無視されます。
ステータスには、以下のいずれかを指定できます。none
を指定した場合、状態は無視されます。
active
inactive
alive
dead
fine
injured
heavyinjured
unconscious
poison
sleep
bind
paralyze
confuse
overheat
brave
panic
silence
faceup
antimagic
upaction
upavoid
upresit
updefense
downaction
downavoid
downresit
downdefense
none
条件の反転にtrue
を指定すると、条件に一致しないキャラクタが選択されます。省略した場合はfalse
になります。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
selrandom party enemy npc, 1, 3, heavyinjured
if
true
// 低レベルで弱っている存在を狙う
// ...
break
elif
false
// 低レベルで弱っている存在はいない
// ...
break
fi
// 分岐終了
(Branch with Random)
このコンテントはCardWirth 1.50以降でなければ機能しません。
現在のバトルのラウンド数で分岐します。
バトル内でなければ正常に動かない事に注意してください。bronbattle
との併用が効果的です。
比較条件には、この後に指定するラウンドと、イベント実行時点でのバトルラウンドをどのように比較するかを指定します。"="
を指定すると現在のラウンドと指定ラウンドが一致する場合に、"<"
を指定するとバトルラウンドが指定ラウンドより小さい場合に、">"
を指定するとバトルラウンドが指定ラウンドより大きい場合に、それぞれtrue
となります。
ラウンドには、現在のバトルのラウンド数を指定します。
brround "<", 11
if
true
// 10ラウンド目まではこちらへ分岐する
// ...
break
elif
false
// 11ラウンド目以降はこちらへ分岐する
// ...
break
fi
// 分岐終了
(Branch with Existence of Cast)
同行キャストの存在の有無で分岐します。
キャストカードのIDを整数で指定します。
brcast 2
if
true
// ID2のキャストが同行していればこちらへ分岐
// ...
break
elif
false
// 同行していない場合
// ...
break
fi
// 分岐終了
(Branch with Existence of Item)
(Branch with Existence of Skill)
(Branch with Existence of Beast)
それぞれ、アイテム、特殊技能、召喚獣の所持の有無によって分岐を行います。
判定の範囲には、次のいずれかが指定できます。
M
または selected
R
または one
T
または team
backpack
party
field
selcard
選択カードとの比較はWsn.3以降のWSN形式シナリオでのみ機能します。
IDには、カードのIDを整数で指定します。
枚数には、カードの枚数を整数で指定します。この枚数以上カードが存在しない場合、判定は失敗します。省略した場合は1になります。
範囲にselcard
を指定した場合、枚数は無視されます。
カード選択の有無にtrue
を指定すると、見つかったカードが選択状態になります。省略した場合はfalse
になります。このパラメータはWsn.3以降のWSN形式シナリオでしか機能しません。
条件の反転にtrue
を指定すると、指定されたカードを必要枚数所持していない場合が成功として扱われます。省略した場合はfalse
になります。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
britem R, 1, 2
if
true
// パーティの誰か一人がID1のアイテムを2枚以上持っていればこちらへ分岐
// ...
break
elif
false
// 持っていない場合
// ...
break
fi
// 分岐終了
(Branch with Existence of Information)
情報カードの所持の有無で分岐します。
情報カードのIDを整数で指定します。
brinfo 4
if
true
// ID4の情報カードを所持していればこちらへ分岐
// ...
break
elif
false
// 所持していない場合
// ...
break
fi
// 分岐終了
(Branch with Money)
所持金の量によって分岐します。
分岐のボーダーラインとなる金額を整数で指定します。
brmoney 1000
if
true
// 1000sp以上所持していればこちらへ分岐
// ...
break
elif
false
// 所持金が1000sp未満の場合
// ...
break
fi
// 分岐終了
(Branch with Coupon)
一人または複数のキャラクタがクーポン(称号)を所持しているかどうかで分岐を行います。
2件以上のクーポン指定はWsn.2以降のWSN形式シナリオでのみ機能します。
判定対象には、次のいずれかが指定できます。
M
または selected
R
または one
T
または team
field
npc
クーポン名には、文字列の配列でクーポンの名前を指定します。
比較条件には、次のいずれかが指定できます。省略した場合はand
になります。
and
or
条件の反転にtrue
を指定すると、指定されたクーポンを持たない場合が成功として扱われます。省略した場合はfalse
になります。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
特殊文字の展開にtrue
を指定すると、クーポン名に含まれる"#M"
などの特殊文字が展開されます。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
brcoupon M, ":主人公", and
if
true
// 選択中のメンバがクーポン「:主人公」を所持していればこちらへ分岐
// ...
break
elif
false
// 所持していない場合
// ...
break
fi
// 分岐終了
(Branch with Multiple Coupon)
一人または複数のキャラクタが複数種類のクーポン(称号)を所有しているかどうかで分岐を行います。
このイベントコンテントはWsn.2以降のWSN形式シナリオでしか使用できません。
判定対象には、次のいずれかが指定できます。
M
または selected
R
または one
T
または team
field
npc
特殊文字の展開にtrue
を指定すると、クーポン名に含まれる"#M"
などの特殊文字が展開されます。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
後続コンテントに、if-elif-fi
によってクーポン名を指定します。どのクーポンの所有判定にも失敗した場合、noneへ分岐します。
brcouponm M
if
"_子供"
// 選択中のメンバがクーポン「_子供」を所持していればこちらへ分岐
// ...
break
elif
"_若者"
// 「_若者」を所持していればこちらへ分岐
// ...
break
elif
none
// どれも所持していない場合
// ...
break
fi
// 分岐終了
(Branch with Complete Stamp)
シナリオの済印の有無で分岐を行います。
シナリオ名を文字列で指定します。
brstamp "ゴブリンの洞窟"
if
true
// シナリオ「ゴブリンの洞窟」が終了済みであればこちらへ分岐
// ...
break
elif
false
// 終了済みでない場合
// ...
break
fi
// 分岐終了
(Branch with Gossip)
ゴシップ(宿クーポン)の有無で分岐を行います。
ゴシップ名を文字列で指定します。
特殊文字の展開にtrue
を指定すると、ゴシップ名に含まれる"#M"
などの特殊文字が展開されます。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
brgossip "悪い噂"
if
true
// ゴシップ「悪い噂」があればこちらへ分岐
// ...
break
elif
false
// ゴシップが無い場合
// ...
break
fi
// 分岐終了
(Branch with Key Code)
このコンテントはCardWirth 1.50以降でなければ機能しません。
範囲内に指定されたキーコードを持つカードがあるか否かで分岐します。
判定の範囲には、次のいずれかが指定できます。
M
または selected
R
または one
backpack
party
selcard
選択カードはWsn.3以降のWSN形式シナリオでのみ機能します。
カード種別には、以下の値を配列で指定します。Wsn.2以降のWSN形式シナリオでない場合は、skill
・item
・beast
を単独で指定した場合、またはこれらの値を3つとも指定した場合だけ正常に機能します。
skill
item
beast
hand
キーコードには、判定対象のキーコードを指定します。
カード選択の有無にtrue
を指定すると、見つかったカードが選択状態になります。省略した場合はfalse
になります。このパラメータはWsn.3以降のWSN形式シナリオでしか機能しません。
マッチカード不保有で成功にtrue
を指定すると、条件にマッチするカードを持たない場合が成功として扱われます。省略した場合はfalse
になります。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
カードのマッチング条件にhas
を指定すると、指定されたキーコードのあるカードが条件にマッチするカードとして扱われます。hasnot
を指定すると、指定キーコードのないカードがマッチするものとして扱われます。省略した場合はhas
になります。このパラメータはWsn.5以降のWSN形式シナリオでしか機能しません。
brkeycode R, item, "治療"
if
true
// 回復アイテムを持っている
// ...
break
elif
false
// 回復アイテムを持っていない
// ...
break
fi
// 分岐終了
(Set Flag)
フラグの値を設定します。
フラグ名には、フラグの名前を文字列で指定します。
値には、フラグのOn/Offをtrue/false
で指定します。
カード速度には0~10の値またはdefault
を指定します。数値を指定した場合は、フラグ値の変更に伴って発生するカード表示・非表示のアニメーションが指定した速度で行われます。数値が小さいほど速くアニメーションします。default
の場合は、エンジンの設定が使用されます。省略した場合はdefault
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
速度の優先にtrue
を指定すると、もしアニメーションするカード自体に速度設定があっても、優先してイベントコンテント側の速度設定を使用します。省略した場合はfalse
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
setflag "見張り生存", false // フラグ「見張り生存」をOffにする
(Set Step)
フラグの値を設定します。
ステップ名には、ステップの名前を文字列で指定します。
値には、ステップの値を0~9の整数で指定します。
setstep "見張り兵の気持ち", 2 // ステップ「見張り兵の気持ち」の値を2にする
(Step Up)
ステップの値を1上げます。
ステップの名前を文字列で指定します。
stepup "見張り兵の気持ち" // ステップ「見張り兵の気持ち」の値を上げる
(Step Down)
ステップの値を1下げます。
ステップの名前を文字列で指定します。
stepdown "見張り兵の気持ち" // ステップ「見張り兵の気持ち」の値を下げる
(Set Variant)
式の評価結果を状態変数へ代入します。
このイベントコンテントはWsn.4以降のWSN形式シナリオでしか使用できません。
最初の変数には、代入対象の変数の種類を指定します。省略した場合はvariant
になります。
flag
step
variant
フラグ名・ステップ名・コモン名には、代入先の状態変数の名前を文字列で指定します。
式には、評価する式を文字列で指定します。
setvar flag
, "フラグ1", '@"条件A" or @"条件B"' // 条件Aまたは条件BがTRUEであればフラグ1をTRUEにする
(Reverse Flag)
フラグのOn/Offを入れ替えます。
フラグの名前を文字列で指定します。
カード速度には0~10の値またはdefault
を指定します。数値を指定した場合は、フラグ値の変更に伴って発生するカード表示・非表示のアニメーションが指定した速度で行われます。数値が小さいほど速くアニメーションします。default
の場合は、エンジンの設定が使用されます。省略した場合はdefault
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
速度の優先にtrue
を指定すると、もしアニメーションするカード自体に速度設定があっても、優先してイベントコンテント側の速度設定を使用します。省略した場合はfalse
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
revflag "見張り生存" // フラグ「見張り生存」を反転
(Copy Step)
(Copy Flag)
このコンテントはCardWirth Extender 1.30以降でなければ機能しません。
状態変数(ステップまたはフラグ)の値を別の状態変数へ代入します。ランダムな値を代入する事もできます。
代入元となる変数と代入先となる状態変数の名前を指定します。
代入元にrandom
を指定すると、代入先にランダムな値がセットされます。
カード速度には0~10の値またはdefault
を指定します。数値を指定した場合は、フラグ値の変更に伴って発生するカード表示・非表示のアニメーションが指定した速度で行われます。数値が小さいほど速くアニメーションします。default
の場合は、エンジンの設定が使用されます。省略した場合はdefault
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
速度の優先にtrue
を指定すると、もしアニメーションするカード自体に速度設定があっても、優先してイベントコンテント側の速度設定を使用します。省略した場合はfalse
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
cpstep
では、代入元にselected
を指定すると、代入先にプレイヤーキャラクタが選択されている時のメンバの番号(1~6)がセットされます。選択メンバがいないか、プレイヤーキャラクタでない場合は0がセットされます。Wsn.2以降のWSN形式シナリオでのみ機能します。
$pack_汎用情報処理 = 42
cpstep "情報A段階", "汎用段階" // ステップ「情報A段階」の内容を「汎用段階」へ代入
cpflag "情報A入手済み", "汎用フラグ" // フラグ「情報A入手済み」の内容を「汎用入手済み」へ代入
callpack $pack_汎用情報処理 // 汎用パッケージのコール
cpstep "情報A段階", "汎用段階" // ステップ「情報A段階」へ処理結果を反映
cpflag "情報A入手済み", "汎用フラグ" // フラグ「情報A入手済み」へ処理結果を反映
cpstep random, "ダイス" // ステップ「ダイス」へランダム値を設定
(Compare Step)
このコンテントはCardWirth Extender 1.30以降でなければ機能しません。
ステップの値を別のと比較し、その結果で分岐を行います。
分岐のパラメータは文字列で指定します。大なり">"
、小なり"<"
、同値"="
の三種類が指定可能です。
比較元となるステップと比較先となるステップの名前を指定します。
$pack_勝利 = 42
$pack_敗北 = 43
$pack_引き分け = 44
cmpstep "自軍状態", "敵軍状態" // ステップ「自軍状態」と「敵軍状態」を比較
if
">" // 「自軍状態」が「敵軍状態」より大きい
callpack $pack_勝利
elif
"<" // 「自軍状態」が「敵軍状態」より小さい
callpack $pack_敗北
elif
"=" // 「自軍状態」が「敵軍状態」と同値
callpack $pack_引き分け
fi
// 分岐終了
(Compare Flag)
このコンテントはCardWirth Extender 1.30以降でなければ機能しません。
フラグの値を別のと比較し、その結果で分岐を行います。
分岐のパラメータには一致true
、不一致false
のいずれかが指定可能です。
比較元となるフラグと比較先となるフラグの名前を指定します。
cmpflag "A好調", "B好調" // ステップ「A好調」と「B好調」を比較
if
true // 一致
msg none, "自分と相手の状態は同じ程度のようだ。"
elif
false // 不一致
msg none, "好調なのは片方だけか。"
fi
// 分岐終了
(Check Flag)
フラグがOnになっている場合だけ出現するイベントを作ります。
メッセージ選択分岐の直後に配置するのが一般的な使い方です。例を参照してください。
フラグの名前を文字列で指定します。
msg none, "どうする?"
if
"依頼を受ける" chkflag "話を聞いた"
// フラグ「話を聞いた」がOnでなければこの選択肢は出現しない
// ...
break
elif
"依頼を断る"
// ...
endsc
elif
"話を聞く"
// ...
setflag "話を聞いた", true
fi
// 分岐終了
(Check Step)
このコンテントはCardWirth 1.50以降でなければ機能しません。
ステップの値が条件を満たす時だけ出現するイベントを作ります。
chkflag
と同様ですが、より柔軟な条件設定が可能です。例を参照してください。
ステップ名には、ステップの名前を文字列で指定します。
比較条件には、この後に指定する値とイベント実行時点でのステップの値をどのように比較するかを指定します。"="
を指定すると現在のステップ値と比較値が一致する場合に、"<>"
を指定するとステップ値と比較値が一致しない場合に、"<"
を指定するとステップ値が比較値より小さい場合に、">"
を指定するとステップ値が比較値より大きい場合に、それぞれイベントが出現します。
値には、イベント実行時点での値と比較する値を数値で設定します。
msg none, "何を聞こう?"
if
"事件のあらまし" chkstep "質問段階", "=", 0
// ステップ「質問段階」が0でなければこの選択肢は出現しない
// ...
stepup "質問段階"
elif
"目撃者について" chkstep "質問段階", "<>", 0
// ステップ「質問段階」が0の時はこの選択肢は出現しない
// ...
stepup "質問段階"
elif
"依頼について" chkstep "質問段階", ">", 1
// ステップ「質問段階」が1より大きくなければこの選択肢は出現しない
// ...
break
fi
// 分岐終了
(Check Variant)
式の評価結果がTRUEの時だけ出現するイベントを作ります。
このイベントコンテントはWsn.4以降のWSN形式シナリオでしか使用できません。
出現条件の式を文字列で指定します。この式は、結果が真偽値になるものでなければなりません。
msg none, "残っている問題は?"
if
"闘技場へ行っていない" chkvar 'not @"闘技場へ行った"'
// 「闘技場へ行った」がFALSEでなければこの選択肢は出現しない
// ...
break
elif
"教会へ行っていない" chkvar 'not (@"教会Aへ行った" or @"教会Bへ行った")'
// 「教会Aへ行った」と「教会Bへ行った」の両方がFALSEでなければこの選択肢は出現しない
// ...
break
fi
// 分岐終了
(Get Cast)
キャストを同行させます。
IDには、キャストカードのIDを整数で指定します。
戦闘行動開始タイミングには、以下のいずれかを指定できます。省略した場合はnext
になります。Wsn.2以降のWSN形式シナリオでのみ機能します。
now
current
next
getcast 1 // ID1のキャストを同行させ、次のラウンドから行動させる
(Get Item)
(Get Skill)
(Get Beast)
それぞれ、アイテム、特殊技能、召喚獣を入手させます。
判定の範囲には、次のいずれかが指定できます。
M
または selected
R
または one
T
または team
backpack
party
field
selcard
選択カードとの交換はWsn.3以降のWSN形式シナリオでのみ機能します。
IDには、カードのIDを整数で指定します。
枚数には、カードの枚数を整数で指定します。
範囲にselcard
を指定した場合、枚数は無視されます。
getskill M, 10, 2 // 選択中のメンバがID10の特殊技能カードを2枚入手
(Get Information)
情報カードを入手させます。
情報カードのIDを整数で指定します。
getinfo 5 // ID5の情報カードを入手
(Get Money)
所持金を増加させます。
金額を整数で指定します。
getmoney 600 // 600sp入手
(Get Coupon)
クーポン(称号)を入手させます。
対象には、次のいずれかが指定できます。
M
または selected
R
または random
T
または team
coupon
coupon
を指定した場合は、称号名を文字列で指定します。称号所有者はWsn.3以降のWSN形式シナリオでのみ機能します。
クーポン名には、クーポンの名前を文字列で指定します。
得点には、クーポンの点数を整数で指定します。マイナスの値も指摘でき、省略した場合は0点になります。
特殊文字の展開にtrue
を指定すると、クーポン名に含まれる"#M"
などの特殊文字が展開されます。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
getcoupon T, "ゴブリン退治", 1 // パーティ全員が1点のクーポン「ゴブリン退治」を入手
(Get Complete Stamp)
シナリオに済印をつけます。
シナリオ名を文字列で指定します。
getstamp "交易都市リューン" // シナリオ「交易都市リューン」に済印をつける
(Get Gossip)
ゴシップ(宿クーポン)を追加します。
ゴシップ名を文字列で指定します。
特殊文字の展開にtrue
を指定すると、ゴシップ名に含まれる"#M"
などの特殊文字が展開されます。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
getgossip "悪い噂" // ゴシップ「悪い噂」を追加
(Lose Cast)
キャストの同行を取りやめます。
キャストカードのIDを整数で指定します。
losecast 1 // ID1のキャストを仲間から外す
(Lose Item)
(Lose Skill)
(Lose Beast)
それぞれ、アイテム、特殊技能、召喚獣を喪失させます。
判定の範囲には、次のいずれかが指定できます。
M
または selected
R
または one
T
または team
backpack
party
field
selcard
選択カードはWsn.3以降のWSN形式シナリオでのみ機能します。
IDには、カードのIDを整数で指定します。
枚数には、カードの枚数を整数で指定します。0またはallを指定すると全て喪失します。省略した場合は1になります。
範囲にselcard
を指定した場合、IDと枚数は無視されます。
losebeast backpack, 10, all // 荷物袋にあるID10の召喚獣を全て削除
(Lose Information)
情報カードを削除します。
情報カードのIDを整数で指定します。
loseinfo 15 // ID15の情報カードを削除
(Lose Money)
所持金を減らします。
金額を整数で指定します。
losemoney 1400 // 1400sp支払う
(Lose Coupon)
クーポン(称号)を削除します。
対象には、次のいずれかが指定できます。
M
または selected
R
または one
T
または team
coupon
coupon
を指定した場合は、称号名を文字列で指定します。称号所有者はWsn.3以降のWSN形式シナリオでのみ機能します。
クーポン名には、クーポンの名前を文字列で指定します。
特殊文字の展開にtrue
を指定すると、クーポン名に含まれる"#M"
などの特殊文字が展開されます。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
losecoupon T, ":主人公" // パーティ全員からクーポン「:主人公」を削除
(Lose Complete Stamp)
シナリオの済印を削除します。
シナリオ名を文字列で指定します。
losestamp "ゴブリンの洞窟" // シナリオ「ゴブリンの洞窟」の済印を削除
(Lose Gossip)
ゴシップ(宿クーポン)を削除します。
ゴシップ名を文字列で指定します。
特殊文字の展開にtrue
を指定すると、ゴシップ名に含まれる"#M"
などの特殊文字が展開されます。このパラメータはWsn.4以降のWSN形式シナリオでしか機能しません。
losegossip "悪い噂" // ゴシップ「悪い噂」を削除
(Show Party)
画面下に隠したパーティを再表示します。
アニメーション速度には0~10の値またはdefault
を指定します。数値を指定した場合は、カードのアニメーションが指定した速度で行われます。数値が小さいほど速くアニメーションします。default
の場合は、エンジンの設定が使用されます。省略した場合はdefault
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
showparty // パーティを表示
(Hide Party)
パーティを画面下に隠します。
アニメーション速度には0~10の値またはdefault
を指定します。数値を指定した場合は、カードのアニメーションが指定した速度で行われます。数値が小さいほど速くアニメーションします。default
の場合は、エンジンの設定が使用されます。省略した場合はdefault
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
hideparty // パーティを隠す
(Move Card)
メニューカードやエネミーカードの移動や、拡大率・表示レイヤの変更を行います。
このイベントコンテントはWsn.3以降のWSN形式シナリオでしか使用できません。
再配置対象のカードグループの名称を文字列で指定します。
移動方式には次のいずれかが指定でき、それによって移動量の役割が変化します。
none
abs
abs
を指定してX移動量とY移動量を50と100にした場合、そのまま50, 100の位置にカードが移動します。rel
per
拡大率にnone
以外の値を指定すると、カードの拡大率が指定した値に変更されます。省略した場合はnone
になります。
レイヤにnone
以外の値を指定すると、カードのレイヤ(前後位置)が指定した値に変更されます。省略した場合はnone
になります。
カード速度には0~10の値またはdefault
を指定します。数値を指定した場合は、カードのアニメーションが指定した速度で行われます。数値が小さいほど速くアニメーションします。default
の場合は、エンジンの設定が使用されます。省略した場合はdefault
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
速度の優先にtrue
を指定すると、もしアニメーションするカード自体に速度設定があっても、優先してイベントコンテント側の速度設定を使用します。省略した場合はfalse
になります。Wsn.4以降のWSN形式シナリオでのみ機能します。
// カードグループ"enemies_1"を画面中央付近に大きく表示されるように移動する
mvcard "enemies_1", abs, 236, 30, 200, none
(Change Background)
背景を切替えます。
画像セル・テキストセル・カラーセル・プレイヤーキャラクタセルの三種類を配置できるようになっています。
[]
で囲われたパラメータが一枚のセルを表し、いくつでも重ねて指定できます。
[<画像パス>, <フラグ>, <X位置>, <Y位置>, <横幅>, <縦幅>, <透明化有無>, <セル名称>, <レイヤ>, <スムージング>]
1つの画像をセルとして配置します。
画像パスには、文字列で画像のファイル名を指定します。
フラグには、画像を表示する条件のフラグ名を指定します。フラグを使用しない場合は空文字列""
を指定します。
X位置・Y位置・横幅・縦幅には、画像の配置とサイズを指定します。指定しなかった場合、0、0、632、420になります。(画面一杯に表示)
透明化の有無には、true/false
で、左上を透明色として使用するか、透明化を行わないかを指定します。指定しなかった場合、透明化は行われません。
セル名称には、背景セル再配置や背景セル削除コンテント等でセルを選択する際に使用する名前を指定します。操作を行わない場合は指定しないか、空文字列""
を指定します。
レイヤには、セルを表示する前後の位置を指定します。数値が大きいほど手前に表示され、背景のレイヤは通常0です。メニュー・エネミーカードは100、プレイヤーカードは200のレイヤに表示されます。省略した場合は0になります。
スムージングには、true/false
またはdefault
を指定します。true
を指定した場合はイメージの拡大・縮小時にスムージングを行い、false
を指定した場合は行いません。default
を指定した場合は、エンジンの設定に従います。省略した場合はdefault
になります。
chback ["MapOfWirth.bmp"] // MapOfWirth.bmpを画面一杯に表示
["AdventurersInn.bmp", "", 116, 15, 400, 260, false] // 宿の画像を標準の位置に表示
[text, <テキスト>, <フォント名>, <文字サイズ>, <文字色>, <書式> ..., (<縁取り色>), (<縁取り幅>), <フラグ>, <X位置>, <Y位置>, <横幅>, <縦幅>, <セル名称>, <レイヤ>, <更新タイプ>]
テキストをセルとして配置します。
最初にキーワードtext
を指定してください。
テキストには、セルに表示する文章の内容を文字列で指定します。
フォント名には、表示に使用するフォントの名前を文字列で指定子ます。
文字サイズには、表示する文字のサイズをピクセル値で指定します。ポイントサイズではなくピクセル単位のサイズである事にご注意ください。
文字色には、表示される文字の色を指定します。次のいずれかの方式で指定する事ができます。
"#FFFFFF"
のように文字列で指定する。これはWebの色指定などを行った事があれば馴染みのある形式かもしれません。この指定は# FF FF FF
のように分割して解釈され、FF
の部分がそれぞれ十六進数の数値で、光の三原色である赤、緑、青の明るさを示しています。例えば、赤と緑の明るさが最高で青が真っ黒という意味の"#FFFF00"
を指定すると、文字色は黄色になります。[255, 255, 255]
のように、複合パラメータで赤、緑、青の明るさを指定する。それぞれの明るさの値は0
~255
までです。書式には、以下のパラメータを配列で指定します。
bold
italic
underline
strike
vertical
antialias
border1
border2
と共に指定された場合は、後から指定された方が有効になります。border2
border1
とは別の形式で縁取りを行います。border1
と共に指定された場合は、後から指定された方が有効になります。書式にborder1
またはborder2
を指定した場合、縁取りの色を指定する事ができます。指定の方法は文字色と同様です。縁取り書式を指定していない場合は、必ず省略してください。
書式にborder2
を指定した場合、縁取りの太さを数値で指定する事ができます。border2
を指定していない場合は、必ず省略してください。
フラグには、画像を表示する条件のフラグ名を指定します。フラグを使用しない場合は空文字列""
を指定します。
X位置・Y位置・横幅・縦幅には、画像の配置とサイズを指定します。指定しなかった場合、0、0、632、420になります。(画面一杯に表示)
セル名称には、背景セル再配置や背景セル削除コンテント等でセルを選択する際に使用する名前を指定します。操作を行わない場合は指定しないか、空文字列""
を指定します。
レイヤには、セルを表示する前後の位置を指定します。数値が大きいほど手前に表示され、背景のレイヤは通常0です。メニュー・エネミーカードは100、プレイヤーカードは200のレイヤに表示されます。省略した場合は0になります。
更新タイプには、背景更新時の挙動を以下のいずれかで指定します。省略した場合はfixed
になります。
fixed
variables
all
// 文字列"Card Wirth"(太字・斜体・縁取り付き)をBatangフォントで画面中央に表示
chback [text, "Card Wirth", "Batang", 48, "#000000", bold italic border2, "#FFFFFF", 1, "", 185, 110, 280, 60]
[color, <合成方式>, <基本色>, <グラデーション方向>, <終端色>, <フラグ>, <X位置>, <Y位置>, <横幅>, <縦幅>, <セル名称>, <レイヤ>]
色つきの四角形をセルとして配置します。
最初にキーワードcolor
を指定してください。
合成方式には、次のいずれかを指定できます。
normal
add
sub
mul
基本色には、セル全体を塗り潰す色を指定します。次のいずれかの方式で指定する事ができます。
"#FFFFFF"
のように文字列で指定する。これはWebの色指定などを行った事があれば馴染みのある形式かもしれません。この指定は# FF FF FF
のように分割して解釈され、FF
の部分がそれぞれ十六進数の数値で、光の三原色である赤、緑、青の明るさを示しています。例えば、赤と緑の明るさが最高で青が真っ黒という意味の"#FFFF00"
を指定すると、セルの色は黄色になります。透明度を指定したい場合は、もう一つ数値を加えて#FFFF0080
のようにしてください。数値が大きいほど不透明になり、00
で完全に透明になります。[255, 255, 255, 128]
のように、複合パラメータで赤、緑、青の明るさと透明度を指定する。それぞれの明るさの値は0
~255
までです。透明度も0
~255
で、255
が完全に不透明、0
が完全に透明となります。グラデーション方向には、次のいずれかを指定できます。
none
h
または horizontal
v
または vertical
グラデーション方向でnone
以外を指定した場合、グラデーションの終端側の色を指定する事ができます。色の指定方法は、基本色と同じです。グラデーション方向がnone
の場合は、必ず省略してください。
フラグには、画像を表示する条件のフラグ名を指定します。フラグを使用しない場合は空文字列""
を指定します。
X位置・Y位置・横幅・縦幅には、画像の配置とサイズを指定します。指定しなかった場合、0、0、632、420になります。(画面一杯に表示)
セル名称には、背景セル再配置や背景セル削除コンテント等でセルを選択する際に使用する名前を指定します。操作を行わない場合は指定しないか、空文字列""
を指定します。
レイヤには、セルを表示する前後の位置を指定します。数値が大きいほど手前に表示され、背景のレイヤは通常0です。メニュー・エネミーカードは100、プレイヤーカードは200のレイヤに表示されます。省略した場合は0になります。
// 画面全体に薄暗い青色のフィルタをかける
chback [color, mul, "#70B0FF", vertical, "#102030", "", 0, 0, 632, 420, "blue_filter", 300]
[pc, <表示メンバ>, <拡大・縮小有無>, <フラグ>, <X位置>, <Y位置>, <横幅>, <縦幅>, <セル名称>, <レイヤ>, <スムージング>]
シナリオをプレイ中のパーティのメンバの画像をセルとして配置します。
最初にキーワードpc
を指定してください。
表示メンバには、パーティの中のどのメンバを表示するかを1から始まる番号で指定します。
拡大・縮小有無にtrue
を指定すると、表示されるイメージはセルサイズに合わせて拡大・縮小されます。false
の場合は、セルサイズに関わらず元のイメージのサイズで表示されます。省略した場合はfalse
になります。
フラグには、画像を表示する条件のフラグ名を指定します。フラグを使用しない場合は空文字列""
を指定します。
X位置・Y位置・横幅・縦幅には、画像の配置とサイズを指定します。指定しなかった場合、0、0、632、420になります。(画面一杯に表示)
セル名称には、背景セル再配置や背景セル削除コンテント等でセルを選択する際に使用する名前を指定します。操作を行わない場合は指定しないか、空文字列""
を指定します。
レイヤには、セルを表示する前後の位置を指定します。数値が大きいほど手前に表示され、背景のレイヤは通常0です。メニュー・エネミーカードは100、プレイヤーカードは200のレイヤに表示されます。省略した場合は0になります。
スムージングには、true/false
またはdefault
を指定します。true
を指定した場合はイメージの拡大・縮小時にスムージングを行い、false
を指定した場合は行いません。default
を指定した場合は、エンジンの設定に従います。省略した場合はdefault
になります。
// 左上にパーティの左端のメンバの画像を表示する
chback [pc, 1, false, "", 0, 0, 632, 420]
背景画像の指定に加え、画像切替スピードと切替速度を指定できます。
画像の指定の他、CardWirthPy形式のシナリオに限り、画面切替スピードと切替方式を指定できます。
指定しなかった場合はエンジンの設定が採用されます。
切替スピードには0~10の値が指定でき、数値が少ないほど素早く切り替わります。
0の場合はエフェクト無しで即座に切り替わります。
切替方式には以下の値が指定できます。
default
none
thread
shave
fade
// 宿の背景を遅めの背景切替で表示する
chback // 次の3つのパラメータは配列のため、カンマで区切らない
["MapOfWirth.bmp"] // MapOfWirth.bmpを画面一杯に表示
["AdventurersInn.bmp", "", 116, 15, 400, 260, false] // 宿の画像を標準の位置に表示
[color, add, "#909090"], // 画面全体を明るくする
8 // ゆっくり背景を切り替える
(Move Background)
背景セルの移動やサイズ変更を行います。
このイベントコンテントはWsn.1以降のWSN形式シナリオでしか使用できません。
再配置対象のセルの名称を文字列で指定します。
移動方式やサイズ変更方式には次のいずれかが指定でき、それによって移動量・サイズ変更量の役割が変化します。
none
abs
abs
を指定してX移動量とY移動量を50と100にした場合、そのまま50, 100の位置にセルが移動します。rel
per
画面切替スピードと切替方式を指定する事ができます。指定しなかった場合はエンジンの設定が採用されます。
切替スピードには0~10の値が指定でき、数値が少ないほど素早く切り替わります。
0の場合はエフェクト無しで即座に切り替わります。
切替方式には以下の値が指定できます。
default
none
thread
shave
fade
アニメーション有無にtrue
を指定すると、JPY1アニメーションが実行されます。false
を指定した場合、アニメーションは省略されます。指定しなかった場合はtrue
になります。
エフェクトブースター無視にtrue
を指定すると、エフェクトブースター関係のイメージセル(ファイルの拡張子が`.jpy1`
、`.jptx`
、`.jpdc`
のもの)は処理から除外されます。指定しなかった場合はfalse
になります。
// 背景セル"blue_filter"の高さを半分にし、画面の下側へ移動する
mvback "blue_filter", abs, 0, 210, per, 100, 50
(Replace Background)
背景セルを置換します。指定されたセル名称の背景セルは削除され、削除された最初のセルがあった位置に新規セルが挿入されます。
このイベントコンテントはWsn.1以降のWSN形式シナリオでしか使用できません。
置換対象のセルの名称を文字列で指定します。
続けて、指定した名称のセルをどのようなセルに置換するかを指定します。chbackのパラメータと同様ですので、chbackの説明をご覧ください。
CardWirthPy形式のシナリオに限り、画面切替スピードと切替方式を指定できます。
指定しなかった場合はエンジンの設定が採用されます。
切替スピードには0~10の値が指定でき、数値が少ないほど素早く切り替わります。
0の場合はエフェクト無しで即座に切り替わります。
切替方式には以下の値が指定できます。
default
none
thread
shave
fade
アニメーション有無にtrue
を指定すると、JPY1アニメーションが実行されます。false
を指定した場合、アニメーションは省略されます。指定しなかった場合はtrue
になります。
エフェクトブースター無視にtrue
を指定すると、エフェクトブースター関係のイメージセル(ファイルの拡張子が`.jpy1`
、`.jptx`
、`.jpdc`
のもの)は処理から除外されます。指定しなかった場合はfalse
になります。
// 画面全体にかかった青色フィルタを赤色フィルタに置換する
rplback "blue_filter", [color, mul, "#FF7070", vertical, "#301010", "", 0, 0, 632, 420, "red_filter", 300]
(Lose Background)
背景セルを削除します。
このイベントコンテントはWsn.1以降のWSN形式シナリオでしか使用できません。
再配置対象のセルの名称を文字列で指定します。
画面切替スピードと切替方式を指定する事ができます。指定しなかった場合はエンジンの設定が採用されます。
切替スピードには0~10の値が指定でき、数値が少ないほど素早く切り替わります。
0の場合はエフェクト無しで即座に切り替わります。
切替方式には以下の値が指定できます。
default
none
thread
shave
fade
アニメーション有無にtrue
を指定すると、JPY1アニメーションが実行されます。false
を指定した場合、アニメーションは省略されます。指定しなかった場合はtrue
になります。
エフェクトブースター無視にtrue
を指定すると、エフェクトブースター関係のイメージセル(ファイルの拡張子が`.jpy1`
、`.jptx`
、`.jpdc`
のもの)は処理から除外されます。指定しなかった場合はfalse
になります。
// 背景セル"blue_filter"を削除する
loseback "blue_filter"
(Redraw)
画面を再描画します。
画面を構成する背景画像に表示フラグが設定されている場合、フラグの状態に応じて表示が切り替えられます。
画面切替スピードと切替方式を指定する事ができます。指定しなかった場合はエンジンの設定が採用されます。
切替スピードには0~10の値が指定でき、数値が少ないほど素早く切り替わります。
0の場合はエフェクト無しで即座に切り替わります。
切替方式には以下の値が指定できます。
default
none
thread
shave
fade
redraw 1, thread // 画面を短冊(スレッド)式で素早く再描画
テキストエディタの色分け設定などにお役立てください。
elif
fi
if
sif
bgm
brability
brarea
brbattle
brbeast
brcast
brcount
brcoupon
brcouponm
break
brflag
brgossip
brinfo
britem
brkeycode
brlevel
brmoney
bronbattle
brrandom
brrandomm
brround
brskill
brstamp
brstatus
brstepm
brstept
brvar
callpack
callstart
chback
chenv
chkflag
chkstep
chkvar
cmpflag
cmpstep
cpflag
cpstep
dialog
effect
elapse
endsc
gameover
getbeast
getcast
getcoupon
getgossip
getinfo
getitem
getmoney
getskill
getstamp
goarea
gobattle
gopack
gostart
hideparty
loseback
losebeast
losecast
losecoupon
losegossip
loseinfo
loseitem
losemoney
loseskill
losestamp
msg
mvback
mvcard
redraw
revflag
rplback
se
selmember
selrandom
setflag
setstep
setvar
showparty
start
stepdown
stepup
wait
abs
absolute
absorb
active
agg
agl
alive
all
and
antimagic
average
avoid
backpack
bind
blinds
brave
c
cancel
card
caut
center
cheerf
complete
confuse
coupon
current
damage
dead
dealattack
dealconfuse
dealcritical
dealdefense
dealdistance
dealfeint
dealpowerful
dealskill
default
dex
disantimagic
disbind
disparalyze
dispoison
dissilence
dissolve
downaction
downavoid
downdefense
downresist
enemy
enhaction
enhavoid
enhdefense
enhresist
facedown
faceup
fade
failure
false
field
fine
fire
fixed
flag
getspilit
hand
has
hasnot
heal
heavyinjured
holy
hswing
ice
inactive
injured
int
level
losespilit
m
magic
manual
max
min
mind
mphysic
n
next
no
nocomplete
none
now
off
on
one
or
over
overheat
panic
paralyze
party
per
percent
percentage
phy
physic
pmagic
poison
r
rel
relative
random
resetmind
resist
reverse
selcard
select
selected
shave
silence
single
sleep
step
stop
str
success
summon
t
team
thread
topleft
trick
true
u
unagg
unbrave
uncaut
uncheerf
unconscious
under
unfail
unselected
untrick
upaction
upavoid
updefense
upresist
value
valued
vanbeast
vancard
vantarget
var
variables
variant
vit
vswing
yes