|
今までAthenaの開発に参加した方々の努力が無駄にならないために、
これからスクリプトの書き方を学ぼうとする者が誤解しないために、
つっこませていただきます。
>1.モンスターが出てこねぇよ!!
> 数時間自分を悩ませました。
> 原因はHideonnpc命令の後にmonster命令があったことのようです。
> 順番を変えたら動いただけなので確証はありません。
script_ref.txtの内容をよく読んでみてください。
hideonnpc [<npcname>];
<npcname>をハイディング状態にします。
同時に<npcname>を無効にします。
注目すべきなのは「同時に<npcname>を無効にします。」の部分です
無効にされたNPCがそれ以降の命令を実行できなくて当たり前です。
>2.モンスターが削除されねぇよ!!
> script_ref.txtのkillmonster命令の説明では、
> モンスターを出現させたevent名を指定すれば殺せるとありますが、
> 無理でした。monster命令によって殺した後のeventを組み込んで出したモンスターは、
> 組み込んだevent名を指定することで、killmonster命令で殺すことが出来ます。
> つまり。「killmonster 殺したいマップ,殺したいmobが死んだときに発動するevent名」
> になります。eventを組み込まずに出したモンスターに関しては未確認です。
もちろんこれもちゃんとscript_ref.txtに載ってます。
monster命令
monster <gatname>,<x>,<y>,<mobname>,<mobid>,<num>[,<event>];
そのモンスターを倒したとき<event>を開始します。
killmonster命令
killmonster <gatname>[,<event>];
<gatname>に存在するモンスターをすべて殺します。
マップ名を"this"にすると、命令を実行したNPCのMAPを参照します。
<event>によって呼び出されたモンスターのみ殺すことも可能です。
<event>をAllにするとそのマップにある一時的に召喚されたモンスターを全て殺します。
killmonster命令は「 <event>によって呼び出されたモンスターのみ殺すことも可能です。」
何も間違ってません。
>3.存在しないモンスター名でも召喚できちまうよ!!
> countitemという関数は、因数として渡したモノが、数字であった場合はそのまま、
> アイテムの数を数えに行きますが、文字列だった場合一度アイテムIDに直します。
これに関しては確かに参考になると思いますが、
不特定多数の人間によって開発されたAthenaに付属された
script_ref.txtのような「使用説明」はユーザーのために
用意されたものというより「開発者のために用意された物」
だと思います。
すべての命令の特性までscript_ref.txtに載るべきと思ってるなら、
ここにではなくて開発版に書き込むべきと思います。
それと、script_ref.txtだけではなく、
他人の作品やAthenaの付属サンプルを読むことも大切です。
もう手遅れですが、MOB召還と特定MOB削除の使用例は
\script\sample\npc_custom_branch.txt か
古いAthenaなら \script\extension\eda.txt を
参考してください。
*あるいは \script\npc\quest\npc_event_momotaro.txt
初心者の方々へ:
確かに「3」によると「script_ref.txtが信用なりません」
と言えるかもしれません。
ですが、script_ref.txtをちゃんと読まないと、
「1」と「2」のようにscript_ref.txtの内容に
載られたとこまでたどり着くために何時間が掛かることになる。
ふぃなーれさんへ:
以上、えらそうに説教するつもりでもなく、
挑発するつもりでもありませんですが、
気が触ってしまったらごめんなさい。
Blazeさんへ:
不適切書き込みと見なしましたら削除してください。orz
|
|
|