クエスト
全体的な注意:
メッセージ中の改行は<br>ではなく\rです。
$QUEST{__}
クエストを請け負う際に関わるパラメータです。
$QUEST{nm}
クエストの名称です。
$QUEST{loop}
繰り返し請けられるかどうか。
1を指定すると繰り返し請けることができます。
$QUEST{info}
クエストを選択した時に,小窓に表示される説明です。
@{$QUEST{need}}
請ける時の条件です。パラメータ2~3つのリストで1項目になります。
以下の2つの記述方式があります。
パラメータ |
内容 |
0 |
param |
1 |
参照したいデータ($PLAY->{[1]}を参照します) |
2 |
データの値が[2]以上で請負可能 |
例(sample.cgiより):
@{$QUEST{need}}=(
['param','def',22],
);
※$PLAY->{def}(防御)が22以上なら請負可能。
パラメータ |
内容 |
0 |
quest |
1 |
クエストコード[1]をクリアで請負可能 |
例(sample2.cgiより):
@{$QUEST{need}}=(
['quest','morizo'],
・・・
);
※クエストコード『morizo』をクリアしていれば請負可能。
$STAGE[N]{__}
クエストの進行に関わるパラメータです。
Nはクエストの進行度です。0から順に指定します。
$STAGE[N]{place}
クエストが進行する場所を指定します。(エリア:アドレス)
@{$STAGE[N]{field}}
フィールドマップの場合,フィールド上のどの座標に行くと進行するかを指定できます。
座標は中心を0,0としてそれぞれ-2~2の間で指定します。
例(sample.cgiより):
@{$STAGE[1]{field}}=(
1,1,''
);
※$STAGE[N]{place}の中心から北に1歩,東に1歩の地点に
プレイヤーが移動するとクエストが進行する(判定を行う)。
クエストが進行するとキャラクターは中心位置に移動する模様。
$STAGE[N]{npc}
クエスト進行時に表示される小窓の発言者名です。
(ナレーションであれば『---』などを指定しておくと良いでしょう)
$STAGE[N]{msg}
クエスト進行時に表示される小窓の内容です。
@{$STAGE[N]{need}}
クエスト進行に必要なアイテムです。パラメータ3つのリストで1項目になります。
パラメータ |
内容 |
0 |
アイテムコード |
1 |
必要数 |
2 |
消費確率 |
例(sample.cgiより):
@{$STAGE[3]{need}}=(
['stone',2,100],
);
※stoneを2個持ってくると,(100%の確率で)消費してクエストが進行する。
@{$STAGE[N]{result}}
クエスト進行時に得られる報酬です。パラメータ3つのリストで1項目になります。
以下の3つの記述方式があります。
パラメータ |
内容 |
0 |
アイテムコード |
1 |
獲得数 |
2 |
獲得確率 |
例(sample.cgiより):
@{$STAGE[2]{result}}=(
['bkcoll',1,100],
);
※クエストが進行すると,bkcollを(100%の確率で)獲得する。
パラメータ |
内容 |
0 |
skillexp |
1 |
アイテムコード |
2 |
獲得熟練度%(10倍の値を指定) |
例(sample2.cgiより改変):
@{$STAGE[6]{result}}=(
['skillexp','bkart',100],
);
※クエストが進行すると,bkartの熟練度を10%獲得する。
パラメータ |
内容 |
0 |
money |
1 |
獲得金額 |
2 |
獲得確率 |
例(sample.cgiより):
@{$STAGE[3]{result}}=(
['money',50,100],
);
※クエストが進行すると,お金を(100%の確率で)50獲得する。
Tips
クエスト中のみ行けるマップを作るには
if ($PLAY->{stage}==[N] &&
$PLAY->{area}.":".$PLAY->{adr} eq "[マップコードA]") {
$ADR->{field}[[方向]]="{[マップコードB]";
}
※進行度が[N]の時,[マップコードA]の[方向]から
[マップコードB]に行くことができる。
マップコードAはエリア:アドレスを,
マップコードBはアドレスもしくはエリア:アドレスを指定する。
クエスト中のみ出現するNPCを作るには
if ($PLAY->{stage}==[N] &&
$PLAY->{area}.":".$PLAY->{adr} eq "[マップコード]") {
@{$ADR->{chara}}=(
'[コード]','[名前]','[座標A]','[座標B]',"[台詞]"
);
}
※進行度が[N]の時,[マップコード]の[座標A],[座標B]に
[台詞]をしゃべる[名前](画像コード[コード])が出現する。
1MAPにオブジェクトは1つしかおけないので,元々そのMAPにいたNPCは
進行度[N]の間は出現しない。
特定の位置で出現するクエストMobを作るには
@{$STAGE[[N]]{field}}=(
[座標A],[座標B],'[モンスターコード]'
);
※進行度が[N]の時,
$STAGE[[N]]{place}の中心から北に[座標A]歩,東に[座標B]歩の地点に
[モンスターコード]のモンスターが出現,戦闘になる。
※@{$STAGE[N]{need}}を同時に指定した場合,
@{$STAGE[N]{need}}が達成されるまで何度でも戦闘できてしまうので注意。
末尾の『1;』は消さないようにしてください。
最終更新:2010年07月02日 01:22