|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|

商人物語3設置運営マニュアル

クエスト

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

クエスト


全体的な注意:
メッセージ中の改行は<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;』は消さないようにしてください。