「関数(イベントの設定、ワールドマップの構築).」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
.
**&color(green){概要}
関数は、scenario構造体 、world構造体 、fight構造体 、event構造体に記述されます。
**&color(green){scenario構造体の関数(ワールドマップの構築)}
&color(blue){A、簡易戦闘終了後とターンの進行時は、world構造体の関数部のみを実行します。}
&color(blue){B、戦闘マップ終了後にワールドマップに切り替わる時は、scenario構造体→world構造体の順序で関数部を実行します。}
すでに表示してある領地を再度showSpotさせる形になっても無効となるので重複エラーにはなりません。
scenario構造体には領地の基本配置を記述し、
ゲーム進行に伴う切り替え表示の指定は、world構造体の方で行ってください。
:showSpot(領地)|
領地を表示します。
:linkSpot(領地, 領地)|
:linkSpot(領地, 領地, イメージ)|
領地を連結します。
image.dat内に含まれるイメージで装飾できます。
:linkEscape(領地, 領地)|
:linkEscape(領地, 領地, イメージ)|
領地を退却線で連結します。
:hideSpot(領地)|
領地を非表示にします。その領地の連結線も同時に消えます。
なお表示されてない領地は、どの領地とも連結してない孤立した状態でゲーム内に存在しています。
:hideLink(領地, 領地)|
連結線を非表示にします。
**&color(green){world構造体の関数(ワールドイベント発動の設定)}
**&color(green){fight構造体の関数(戦闘開始前イベント発動の設定)}
**&color(green){event構造体の関数(イベントシーンの設定)}
world構造体の関数部は、ターン進行時と戦闘終了時に読み込まれます。
fight構造体の関数部は、戦闘開始時に読み込まれます。
world、fight構造体内の条件分岐でevent構造体を呼び出しイベントを発生させるのが標準的な方法です。
***&color(magenta){基本関数}
:event(イベント)|
指定したevent構造体のイベントを開始します。
:return()|
event構造体から抜けます。
:set(変数, 数値)|
変数(ユーザーデータ)に数値を代入します。
:add(変数, 数値)|
変数に数値を足します。
:sub(変数, 数値)|
変数から数値を引きます。
:storeTurn(変数)|
変数に現在のターン数を代入します。
:select(変数名, 文章)|
選択肢を表示させます。選択結果は変数に数値(1 or 0)として代入されます。
&color(blue){決定(Yes)=1、取消(No)=0}
:wait()|
スクロールが終わるまでウェイトする
:wait(数値)|
数値はウェイトのフレーム数。このゲームは25fpsですので1秒間waitするなら25とします。
:msg(文章)|
テキストを表示する
:msg(ユニット, 文章)|
キャラクターのテキストを表示する。立ち絵を残します。
:talk(ユニット, 文章)|
キャラクターのテキストを表示する。立ち絵をクリアします。
:erase()|
テキストウィンドウを消去する。
:showImage(ファイル名, x座標, y座標)|
:showImage(ファイル名, x座標, y座標, zオーダー)|
imageフォルダにある画像ファイル(拡張子込み)を画面座標(x, y)の位置に表示させます。
zオーダーを負の値にするとウィンドウの下に、正の値にすると上に表示されます。
:hideImage(ファイル名)|
表示した画像ファイル(拡張子込み)を消去します。
:showChara(イメージ, x座標, y座標)|
:showChara(イメージ, x座標, y座標, 横幅, 縦幅)|
image.datにあるイメージを表示させます。
重複表示はしませんので、違う座標で再度表示させた場合は移動となります。
:hideChara(イメージ)|
表示したイメージを消去します。
:reverseChara(イメージ)|
イメージを反転します。
:showSpotMark(領地/勢力)|
:showSpotMark(領地/勢力, 色番号)|
領地をマーキングします。又は勢力の全領地をマーキングします。
色番号の省略時は3になります。
&color(blue){-2=フラッシュ、-1=爆発、0=赤、1=青、2=黄、3=紫、4=茶、5=緑、6=水色}
:hideSpotMark()|
全領地のマーキングを消去します。
:scroll(ユニット/領地)|
:scroll(x, y)|
今の画面位置を記憶して、指定した領地、ユニットが中心になるようにスクロールします。
ワールドマップでユニット名を指定した場合は、そのユニットがいる領地にスクロールします。
:backScroll()|
scroll()で記憶した画面位置に戻るようスクロールします。
:scroll2(ユニット/領地)|
画面位置を記憶しないscroll()です。
:locate(x座標, y座標)|
画面を(x, y)を中心にした位置へ即座に移動します。
:playSE(ファイル)|
効果音を鳴らします。
soundフォルダにあるwavファイル名(拡張子無し)を指定します。
:playBGM(ファイル)|
BGMを鳴らします。
bgmフォルダにあるmidファイル名(拡張子無し)を指定します。
:randBGM(ファイル, ファイル, ‥)|
列挙されたmidファイルの中からランダムに一曲を選択して繰り返し演奏します。
:loopBGM(ファイル, ファイル, ‥)|
列挙されたmidファイルの中からランダムに選択して演奏します。
一曲終了する毎にまたランダムに選択します。
:stopBGM()|
BGMを停止します。
:volume(数値)|
BGMのボリューム設定。数値は(-3000~0)の範囲です。
:resetWorldMusic()|
ワールドBGMフラグをクリアします。
イベント専用BGMを鳴らした時、シーン終了後に標準BGMが再度演奏される為に使います。
***&color(magenta){主にイベント用関数}
:setLeague(勢力A, 勢力B, 数値)|
同盟します。
数値は同盟期限のターン数です。&bold(){-1}にすると無期限同盟となります。
:resetLeague(勢力A, 勢力B)|
同盟を破棄します。
:setTruce(勢力A, 勢力B, 数値)|
CPU勢力の思考を制限する関数です。プレイヤー勢力の行動は制限しません。
勢力Aによる勢力Bへの攻撃を数値ターンの間だけ禁止します。
&bold(){-1}にすると無期限禁止となります。
なお、この関数は片方向指定なので勢力Bは勢力Aを攻撃します。
双方で攻撃禁止にする場合は、setTruce(勢力B, 勢力A, 数値)を追加します。
:resetTruce(勢力A, 勢力B)|
攻撃禁止を解除します。
この関数も片方向指定です。
:addPower(勢力)|
指定した勢力を出現させます。
power構造体のmemberに列挙されてるspotが領地となりますが、すでに中立で無い領地は無視されます。
:erasePower(勢力)|
指定した勢力を滅亡させます。
:addSpot(領地)|
指定した領地を新たに出現させます。すでに在る場合は無効です。
:addSpot(領地, 勢力)|
指定した領地を勢力に追加します。
領地が在る場合はそれを、無い場合は新たに出現させます。
:addUnit(ユニット, 勢力/領地/ユニット)|
ユニットを指定した勢力、領地、リーダーユニットの配下に移動させます。
未登場ユニットなら新規に出現させます。
移動先がユニットの時は陪臣になります。
勢力への出現ではマスターの本拠地に出現します。本拠地が一杯の時は他の領地に出現します。
なお、ユニットが非人材なら兵士の追加として繰り返し追加できます。
:eraseUnit(ユニット)|
ユニットを消します(死亡と同じ状態にする)
勢力の属すリーダーなら最初の部下が新たにリーダーとなり他の部下を率います。
放浪ユニットなら部下は独自に放浪します。
引数ユニットがマスターだと無効です。
:unionPower(勢力A, 勢力B)|
勢力Aが勢力Bを併合して一つの国になります。
:changePowerFlag(勢力, 文字列)|
勢力の旗を変更します。
文字列はflagフォルダにあるbmpファイル名(拡張子無し)です。
:changeMaster(ユニットA, ユニットB)|
マスターをAからBに変更します。
Bが、Aと同じ勢力の部隊長でなかったらキャンセルされます。
:changePowerName(勢力, 文字列)|
勢力名を変更します。文字列は直接の勢力名ではなくデータ名です。
>workspace {
> name2 = レオーム朝ルートガルト
>}
として、world構造体の中で
>changePowerName(p1, name2)
とします。
:addPowerMerce(勢力, ユニット, ユニット, ‥)|
勢力に標準雇用ユニットを追加します。
:erasePowerMerce()|
勢力の標準雇用ユニットを全部消去します。
:addPowerStaff(勢力, クラス/種族, クラス/種族, ‥)|
勢力のリーダー可能ユニットを追加します。
:erasePowerStaff()|
勢力のリーダー可能ユニットを全部消去します。
:addMoney(勢力/ユニット, 数値)|
勢力、又はユニットの資金を増やします。負の値だと減額されます。
:levelup(ユニット, 数値)|
ユニットのレベルを数値分上げます。
:changeClass(ユニット, クラス名)|
ユニットをクラスチェンジします。
:addSkill(ユニット, スキル)|
:addSkill(ユニット, スキル, front)|
ユニットのスキルリストの末尾にスキルを追加します。
第二引数をfrontとすると先頭に追加します。
**&color(magenta){削除予定の関数}
以下の関数は後のバージョンで削除する予定ですので
お手数ではありますが、他の関数への書き換えをお願い致します。
:changePowerMerce(勢力, 文字列)|
勢力のデフォルト雇用ユニットを変更します。
:changePowerStaff(勢力, 文字列)|
勢力のリーダー可能ユニットを変更します。
:addPowerMoney(勢力, 数値)|
勢力の資金を増やします。負の値だと減額されます。
.
消去