記事一覧

【マルチドロップ】復活!複数ドロップ

ファイル 541-1.jpg

この記事この記事でAthenaに実装していた複数ドロップ。
約5年の月日を経て、Auriga用に再編・改定したソースを公開しました!
こちらからどうぞ。

5年前、Athena開発で最初で最後のオリジナル要素でアップした、ある意味記憶から消したいパッチです。
駄作と思いきや、結構要望の声を頂いてましたので、Auriga用に復活させてみました。

今回の改変版ではシンプルに「ドロップ判定回数」の設定としています。
既存ドロップ倍率を計算したあと、ループでn回ドロップ判定させる処理としており、
例として基本5%、ドロップ倍率10倍、ドロップ判定回数10回の場合、
 「5% × 10倍 = 50% × 判定10回」個分のドロップとなります。
単純に判定回数だけでもドロップ倍率に影響するため、回数が多いほど多くドロップするとお考えください。

処理内容をシンプルにしたため、ソース差分もシンプルです。
confの設定で簡単に調整もできるようにしており、ドロップ倍率との設定次第で、
製薬材料集めが楽しくなったり、カードが2枚以上出てきてラッキー気分を味わえたり、
色々と楽しめる内容だと思いますので気軽にお試しください。

コメント一覧

nue (05/28 02:14) 編集・削除

あれはBlazeさんの追加コードだったんですね!
どこかで拾ったAthenaから差分取ってずっと愛用させていただいていました。
今更ですけど、ありがとうございます。

Auriga-0957:精霊いろいろ

・精霊システム仮実装その2
-> ソーサラースキル「エレメンタルコントロール」による精霊のモードチェンジ実装(elem.*, skill.c)
   ※攻撃モードの自動攻撃AIは未実装です。
-> 精霊がスキルを使用できるように(elem.*, skill.h, clif.c)
   ※ソーサラースキル「エレメンタルコントロール」Lv2,3、「エレメンタルアクション」使用時に精霊がスキル発動します。
-> 精霊スキルと状態異常を一部実装(db/skill_db.txt, db/skill_cast_db.txt, db/skill_unit_db.txt, db/scdata_db.txt, skill.*, status.*, battle.c, pc.c)
-> 待機モード中のみ自然回復するように変更(elem.c)
※精霊の処理が安定化するまで、skill_dbから精霊召喚スキルの定義を無効にしています。
・ソーサラースキル「サモン***」の精霊召喚時間が長かったのを修正(skill.c)
・ソーサラースキル「エレメンタルシンパシー」による精霊のMaxSP増加値が多かったのを修正(elem.c)
・ソーサラースキル「エレメンタルシンパシー」の効果を召喚直後にも反映するように修正(elem.c)
・ソーサラーのスキルツリーで「エレメンタルコントロール」のMaxLvを3→4に修正(db/skill_tree.txt)
・NPC終了処理にBL_ELEMに対する処理が漏れていたのを追加(npc.c)
・状態異常の最大登録数「MAX_STATUSCHANGE」を600→650に引き上げ(common/mmo.h)
=================================

ソーサラーの精霊スキルの名称って長いなぁ・・・

以前からちまちまとパッチあげていたのでお気づきの人も多いでしょうが、
精霊システム実装に向けて色々と変更パッチをあげています。
精霊は当分見送りする予定だったのですが、
要望が多いみたいなので急遽入れ込んでみました。

挙動不審なうちは召喚スキルを使わせないようにガードをかけていますが、
以下を「db/addon/skill_db_add.txt」に追記するだけで一応体験可能にしてあります。
=================================
2457,0,6,4,3,1,3,1,yes,0,0,0,magic,0 //SO_SUMMON_AGNI#サモンアグニ#
2458,0,6,4,1,1,3,1,yes,0,0,0,magic,0 //SO_SUMMON_AQUA#サモンアクア#
2459,0,6,4,4,1,3,1,yes,0,0,0,magic,0 //SO_SUMMON_VENTUS#サモンベントス#
2460,0,6,4,2,1,3,1,yes,0,0,0,magic,0 //SO_SUMMON_TERA#サモンテラ#
=================================
情報が少ない状態での仮実装ですので、挙動がおかしいなどの情報があれば教えていただきたいです。

ファイル 540-1.jpg

今回見送った攻撃モード時の精霊AIですが、開発自体は進んでいます。
が、現状はターゲット策敵あたりで精霊の動きが暴走している状態なので、
ちゃんと挙動を治したうえで、皆さんにお披露目とさせて頂きます。

Auriga-0945:傭兵パッチ

・傭兵データ構造の見直し(common/mmo.h, map.h, merc.*, clif.c, status.c, skill.c)
-> BaseLvや各種ステータス、スキル情報などはsaveデータに保存しない様に変更。

・傭兵をSQLモードに対応 (char/sql/mercdb_sql.c, sql-files/main.sql, sql-files/Auriga945_changetable.sql)
-> 既存のプレイヤーが持つ傭兵雇用情報は「mercenary」から「mercenary_employ」にテーブル名を変更
-> 傭兵自身のデータを「mercenary」テーブルに保存するように。

・モンスター傭兵実装(common/mmo.h, merc.*, db/merc_db.txt, merc_skill_tree.txt)
-> 傭兵IDを定められたID(6017~6046)しか登録できなかったのを任意のIDで登録できるように変更。

・傭兵DBの構造を変更(merc.*, db/merc_db.txt, db/addon/merc_db_add.txt, doc/db_ref.txt)
-> 傭兵のクラスIDを任意に定義できる様にした為、ViewClassを廃止
-> 傭兵の種類は内部で処理させるようにした為、ClassTypeを廃止

・傭兵のキルカウントボーナス実装(merc.c, status.*, db/scdata_db.txt)

・傭兵専用スキル「キリエエレイソン」「ブレッシング」「速度増加」を追加(skill.*, db/skill_db.txt, db/skill_db2.txt, db/skill_cast_db.txt, db/skill_require_db.txt)

・傭兵の自然回復が短かったのを修正(merc.h)
-> HPの自然回復:2000ms → 8000ms、SPの自然回復:4000ms → 6000ms

・傭兵に処理させるスクリプトを追加(script.c, doc/script_ref.txt)
-> mercheal命令:連れている傭兵のHP/SPを回復させます。
-> mercsc_start命令:連れている傭兵を状態変化させます。

・傭兵関係のアイテム実装(db/item_db.txt)
=================================
↑「傭兵」を多く使いすぎて、くどくなってしまった(笑)

要するに「傭兵いろいろ実装しました」パッチです。
中でもメインはSQL対応とモンスター傭兵対応でしょうか。

思えば前回の傭兵改正パッチから3年半経ちましたが、ようやくSQLに対応することができました。
当時はデータ見直しとか色々苦悶していたのを覚えていますが、
あれから成長したのか、意外とすんなり実装することができました。

モンスター傭兵はその名の通り、見た目モンスターの傭兵を連れていくことができます。
DBに1行追加するだけで簡単に実装できますので、オリジナルモンスター傭兵などを実装してみてはいかがでしょうか。
※デフォルトで傭兵DBの登録最大数を「50」にしていますので、もっと多く追加されたい方は
 「src/common/mmo.h」の「MAX_MERC_DB」の値を増やしてご利用ください。

コメント一覧

通りすがる (04/24 23:02) 編集・削除

更新お疲れ様です!

遂にSQLにも傭兵が対応ですね!
ずっと楽しみにしていたので嬉しいです。
Blazeさん、乙であります!

XiaさんもNPC調査などなどお疲れ様です!

お二人には感謝しても感謝しきれませぬ。
これからも楽しみにしております。

Blaze (04/25 12:35) 編集・削除

ありがとうございます!
そう言って頂けると実装したかいがあったと、開発のモチベーションも上がります。

Xiaも喜ぶと思いますので、こちらから伝えておきます。

【NPC露店 v1.10更新】Auriga-0933に対応

ファイル 538-1.jpg

要望も多かったので、昔に作成したNPC露店のソースを
Auriga-0933(4/14現在の最新)ベースに更新しました。
こちらからどうぞ。

前回の0645から露店パケットの変更や露店処理のリファクタリングが入っている為、
最新のAudigaを使用していると導入がなかなか大変な状況だったと思います。
今回のv1.10で不具合修正も入れているため、久しぶりに使う人も初めての方でも是非ご利用ください。
「どんなソースなの?」という方は↓を参照ください。

■過去の記事
【NPC露店 最終回】ソース公開!
【NPC露店 第4回】スクリプトで操作してみる
【NPC露店 第3回】商品を買ってみる
【NPC露店 第2回】商品リストの表示
【NPC露店 第1回】NPC露店の仕様

【メモ】R化パッチのDrop変更一覧

情報が少ないR化のドロップ変更情報ですが、なんとか収集できたのでメモ程度に残しておきます。

■ソヒー
赤ハーブ(10.00%)→プエンテローブ[1](0.05%)

■オークレディ
鉄(3.00%)→プエンテローブ[1](0.03%)

■レイドリックアーチャー
リンゴ(0.00%)→クレールスーツ[1](0.05%)
※レイドリックはクレールスーツをDropしない?

■ヒェグン
リンゴ(0.00%)→クレールスーツ[1](0.10%)

■カーリッツバーグ
白ハーブ(20.00%)→漆黒の鎧[1](0.02%)

■ブラッディナイト
エルニウム(4.33%)→漆黒の鎧[1](0.05%)
※深淵の騎士は漆黒の鎧をDropしない?

■ゴーレム
石炭(2.10%)→シルバーガード[1](0.05%)

■ゴブリン(鎖)
リンゴ(0.00%)→シルバーガード[1](0.05%)

■ゴブリン(槌)
バックラー[1](0.01%)→シルバーガード[1](0.05%)

■オークウォリアー
アックス[3](1.00%)→ラウンドバックラー[1](0.03%)

■スタラクタイトゴーレム
リンゴ(0.00%)→ラウンドバックラー[1](0.05%)

■アリス
化粧品(0.30%)→ローザシールド[1](0.02%)

■エリセル
鋼鉄(2.00%)→煙幕粉(2.00%)
錆びたネジ(5.00%)→ローザシールド[1](0.05%)

■ダークピンギキュラ
リンゴ(0.00%)→エルダーの枝(15.00%)
リンゴ(0.00%)→ローザシールド[1](0.10%)

■ミスト
ブドウ(0.35%)→リング[0](0.01%)

■ガーゴイル
リンゴ(0.00%)→マント[1](0.02%)

■ソルジャースケルトン
ナイフ[3](1.50%)→メイル[1](0.01%)

■ストラウフ
白ひげ(0.02%)→メイル[1](0.02%)

■半漁人
聖水(3.00%)→プレート[1](0.02%)

■ワイルドローズ
影矢(30.00%)→シーフクロース[1](0.01%)

■グリズリー
リンゴ(0.00%)→オーディンの祝福[1](0.10%)
※ラーヴァゴーレムはオーディンの祝福をDropしない?

■デリーター(地)
リンゴ(0.00%)→ストーンバックラー[1](0.10%)

■アヌビス
くさった包帯(30.00%)→古代のルーン原石(0.10%)

■エンシェントマミー
黄ハーブ(6.50%)→古代のルーン原石(0.10%)

■アポカリプス
鋼鉄(25.00%)→古代のルーン原石(1.00%)

■タムラン
リンゴ(0.00%)→神秘のルーン原石(10.00%)

■ミステルテイン
鋼鉄(1.20%)→神秘のルーン原石(3.00%)

■ブラディウムゴーレム
リンゴ(0.00%)→稀少なルーン原石(0.10%)
リンゴ(0.00%)→ブラディウム(5.00%)

■タオグンカ
鉄鉱石(10.00%)→稀少なルーン原石(2.00%)

■輝く草
ハチ蜜(5.00%)→光の粒(5.00%)

■ボーカル
スピードアップポーション(7.00%)→光の粒(5.00%)

■トード
ガラス玉(15.00%)→光の粒(5.00%)

■マスターリング
リンゴ(80.00%)→光の粒(5.00%)

■さすらい狼
サードオニキス(0.10%)→光の粒(5.00%)

■エクリプス
ガラス玉(15.00%)→光の粒(5.00%)

■ゼロム
鉄鉱石(3.00%)→光の粒(0.01%)

■クッキー(緑)
緑色の染料(0.01%)→光の粒(0.05%)

■ミストケース
ジャルゴン(15.00%)→光の粒(0.10%)

■スケルワーカー
鉄鉱石(8.00%)→光の粒(0.10%)

■ジャック
リンゴ(0.00%)→光の粒(0.10%)

■ブリライト
蝶の羽(10.00%)→光の粒(1.00%)

■プラズマ(黄)
リンゴ(0.00%)→光の粒(3.00%)

■オシドス(金)
オレンジ(51.00%)→光の粒(5.00%)

■ミミック
エンペリウム(0.03%)→光の粒(10.00%)

■ヒルスリオン
柔らかい羽毛(1.20%)→光の粒(10.00%)

■エルダーウィロー
木屑(3.50%)→エルダーの枝(0.01%)

■パーメットタートル
割れた甲羅(0.45%)→ココナッツ(2.00%)
木屑(12.40%)→エルダーの枝(1.00%)

■人面桃樹
リンゴ(0.00%)→エルダーの枝(1.00%)

■ウータンファイター
バナナ(10.00%)→エルダーの枝(1.00%)

■ドリアード
ロープ[4](0.80%)→パイナップル(5.00%)
草の葉(0.10%)→エルダーの枝(1.00%)

■ジビット
リンゴ(0.00%)→エルダーの枝(1.00%)

■ジャンクポット
鉄(10.00%)→エルダーの枝(1.00%)
鉄鉱石(10.00%)→催涙ガス(2.00%)

■エルダー
破れた巻物(15.00%)→エルダーの枝(10.00%)

■ピンギキュラ
草の葉(0.10%)→エルダーの枝(10.00%)

■エンシェントツリー
リンゴ(0.00%)→エルダーの枝(10.00%)

■赤い草
鱗の茎(3.00%)→毒草ランタナ(3.00%)

■青い草
鱗の茎(3.00%)→毒草ネリウム(3.00%)

■緑色草
花(10.00%)→毒草マキュラータ(3.00%)

■黄色草
鱗の茎(3.00%)→毒草アモエナ(3.00%)

■白い草
鱗の茎(15.00%)→毒草セラタム(3.00%)

■ウドゥンゴーレム
きのこの胞子(10.00%)→毒草スコボリア(3.00%)

■スティング
アメジスト(0.03%)→黒色火薬(8.00%)

■ノクシャス
リンゴ(0.00%)→黒色火薬(6.00%)
リンゴ(0.00%)→催涙ガス(3.00%)

■ベノマス
リンゴ(0.00%)→黒色火薬(3.00%)
リンゴ(0.00%)→催涙ガス(6.00%)

■カブキ忍者
サイファー(22.00%)→煙幕粉(7.00%)

■アサルトタートル
黄ハーブ(12.80%)→煙幕粉(2.00%)

■エリオット
錆びたネジ(5.00%)→煙幕粉(2.00%)

■リビオ
ダイヤモンド2カラット(0.30%)→オイルボトル(3.00%)
※フェンダークはオイルボトルをDropしない

■ヴェナート(無)
鋼鉄(3.00%)→オイルボトル(1.00%)

■ヴェナート(水)
鋼鉄(3.00%)→オイルボトル(1.00%)
※ヴェナート(風)とヴェナート(地)はオイルボトルをDropしない

■ディミック(火)
宮廷用調理器具(0.50%)→オイルボトル(0.70%)

■ディミック(風)
鋼鉄(3.00%)→オイルボトル(0.70%)
※ディミック(水)とディミック(地)はオイルボトルをDropしない

■ドロセラ
べとべとする液体(30.00%)→ドロセラの触手(2.00%)
リンゴ(0.00%)→マンドラゴラの鉢植え(0.50%)

■マスキプラー
リンゴ(0.00%)→マンドラゴラの鉢植え(2.00%)

■老人参
いも(48.00%)→マンドラゴラの鉢植え(8.00%)

■ピットマン
鉄(8.00%)→ガンパウンダー(8.00%)

■ヒートタートル
ジャルゴン(16.40%)→ガンパウダー(10.00%)

■キューブ
リンゴ(0.00%)→黒い粉(5.00%)

■ルード
リンゴ(0.00%)→黄色い粉(3.00%)

■ロリルリ
リンゴ(0.00%)→黄色い粉(3.00%)

■ディスガイズ
フード[1](0.50%)→白い粉(1.00%)

■アナコンダク
エンベルタコン(0.50%)→白い粉(2.00%)

■グリーンイグアナ
緑ハーブ(0.00%)→メロン(5.00%)

■ガラパゴ
イグドラシルの葉(1.00%)→ココナッツの実(5.00%)
アンティペインメント(1.00%)→メロン(5.00%)

■チンピラ
レッドジェムストーン(6.00%)→パイナップル(5.00%)
青ポーション(0.60%)→メロン(5.00%)

■チンピラ
レッドジェムストーン(6.00%)→パイナップル(5.00%)
青ポーション(0.60%)→メロン(5.00%)

■フェアリーフ
若芽(5.00%)→パイナップル(8.00%)

■サベージベベ
矢(10.00%)→サベージの肉(0.01%)

■サベージ
アンティペインメント(0.10%)→サベージの肉(0.10%)

■デザートウルフ(子)
にく(6.00%)→狼の血(2.00%)

■デザートウルフ
にく(12.00%)→狼の血(2.00%)

■ミノタウロス
いも(15.00%)→牛カルビ(0.10%)

■ごっついミノタウロス
レモン(3.00%)→牛カルビ(3.00%)

■アイスタイタン
リンゴ(0.00%)→冷たい氷(5.00%)

■ゲイズティ
リンゴ(0.00%)→氷の破片(2.00%)
リンゴ(0.00%)→冷たい氷(1.00%)

■フリーズタートル
サイファー(6.00%)→氷の破片(2.00%)

■アイシクル
氷片(5.00%)→氷の結晶(5.00%)

■プティット(地)
ジャルゴン(15.00%)→プティットの尻尾(0.40%)

~~~続く~~~

どたばた

ごぶさたでござる。
シアです。

しばらく師走に先駆けて、どたばたしてました。
大きなイベントがありまして、企画に準備に運用に、あちこち駆け回っていました。。
とりま、イベントのほうは落ちつきまして、盛況のほどもぼちぼち。
大きな事故もなくてよかったです♪

さてさて、久しぶりにのほほんタイム。
ROにビフビフパッチが来てるので、乗り込んでみますー。

わたわた。

ファイル 535-1.jpg

シアは今、南の島国デワタに来ています♪
前回のブラジリスから地球のほぼ反対側のインドネシアにありますが、
ROでは船を乗り継いで1分で着いちゃうところにありますw

目的は、前回と同じくNPC調査だい。
ほぼ実装済みだったブラジリスとは違って、
今回のデワタは全く手付かずの未踏の地です。
今こそ、前回の教えを発揮するとき!
さー、頑張るぞー!

(2分後……)
「このNPCの多さヤバいって……」
と早くもぎぶあっぷ宣言(-_-;)

実際にどれぐらいの多さなのは、パッチ公開時に見てもらうとして、
とにかく調査用として動画とSSを撮り撮りまくりました。
その量、なんとSS 1500枚! 動画 2時間!(まだ途中)
ドサっと渡されたBlazeさんも「多すぎだろ!」と涙目でしたw

NPC調査もまだまだ途中で、Blazeさんも忙しい時間の合間にスクリプトを作ってもらってます。
早く皆さんに遊んでもらえるよう、まだまだ撮りまくります!

☆-☆-☆-追記-☆-☆-☆
Blazeさんが書きかけのデワタNPCスクリプトを先行で公開いただけるとのこと!
まだ書き途中で動作テストはしてないみたいですが、はやく雰囲気を感じたい人はどうぞとのことです!
スクリプトは↓からどうぞ~♪
ファイル 535-2.zip

というか、動画とか渡してまだ1日経ってないのに早すぎ…w

コメント一覧

るいね (10/21 21:23) 編集・削除

お疲れさまです。
私も昔アカデミーの調査頑張ろうとしたことがあります。大変すぎて、ミスしすぎて、挫折しました…

シア (10/23 18:32) 編集・削除

アカデミー!
お使いクエストとか、長編クエストとか、狩場のサポートとかもあって、
考えてみただけでも挫折しそう…(-_-;)

操作説明とか、初心者さんにうれしいシステムなので、
いつか実装してみたいですよねー♪

匿名たん (10/24 10:05) 編集・削除

調査お疲れ様です。
なんとなく、ほわほわした記事ですね。

このあたりからR化されたような。
MOBも全てR化仕様ということで、この後の実装は難しそうですね・・・;

シア (10/24 12:33) 編集・削除

>ほわほわした記事
だれかさんと違って難しいのは書けないのです…

R化データは仰るとおり、実装が難しいですよね(x_x
今回のデワタMobデータは仮でいくみたいですが、今後どうするか考えないとですねー。

ぶらぶら。

ほわぁ!久しぶりの日記になりました、シアです。

先日、Blazeさんが出したAuriga882パッチ。
その変更履歴に「Thanks to Xia」の文字が!!
スクリプトを書いたわけじゃなくて、本家のNPC調査してきたのをBlazeさんに渡しただけなのですが、
こんな形でAurga開発にデビューできるなんて、嬉しい限りです♪

最初は「ブラジリスのNPCに抜けがあるから調べてきてー」と、パシられたのが始まりでした。
途中まではBlazeさん直伝の『調査法』を教えてもらいながらブラジリスをぶらぶら。
この『調査法』がムズカシクて、
◆分岐のところは、「はい」よりも「いいえ」のルートを先に調べること
→アイテムが足りないとき、フラグがないとき
(後は忘れたw)
と、しっかりしていて、調べることが多い多い(-_-;)

シア的にはキツかったNPC調査ですが、Blazeさんいわくまだまだとのこと。
これまでAurigaの中にある全ての本家スクリプトをほとんど1人で調査してきたって言うから、改めてBlazeさんの偉大さが身にしみました。。

そんな苦労話もあって、実際にAurigaで動いているのを見てみると感動です。
皆さんも、ぜひブラジリスでぶらぶらしてみてください♪

「ブラジリスなんて古いんだよ!」という方、
フフフ、ちゃんと『次』を用意してますよ♪
お楽しみにっ!

【モンスター墓標 第2回】実装内容で迷ってる箇所

前回エラそうに「次回でソース公開~」と言っておきながら、まだ引っ張っていますorz
基本形は問題なく実装できているのですが、2点迷ってる箇所があり、なかなか解決に踏み切れていません。
どちらも形式上の問題でいわゆる「こだわり」の内容ですが、気にしだすと色々と変えたくなる性分でして・・・
だらだらと悩んでいても進まないので、内容と解決案を出してみます。

①monster定義の拡張について
理想としては、既存のmonster定義を流用し、後ろに墓標用の拡張定義を追加する形↓でした。

gef_dun02.gat,0,0,0,0 monster ドッペルゲンガー 1046,1,7200000,3600000,(eventname),(guild_id),(tombnpc_id),(tombnpc_duplicate),(tombnpc_name)

※赤文字部分が墓標の拡張定義

が、ここで邪魔になるのが(eventname)と(guild_id)です。
どちらも省略可能な定義であり、処理内ではsscanf()のカンマ問題により、解析時に特殊な例外処理が入っています。
要するに、この省略時の例外処理を様々なパターンを想定して拡張させる ⇒ 解析処理を作り直したくなってくる ⇒ 面倒臭い
という状態です。

解決案として、ここはすっぱり既存のmonster定義を拡張するのを諦めて、新しい墓標用のmonster定義(tombmonster?)を追加する形に逃げたいと思います。



②ソースから操作するNPC依存変数について
討伐時間や討伐者をソース側から情報を渡してスクリプト変数を操作する予定でしたが、
やっぱり責務を考えると気に入らないです。
討伐時間や討伐者情報なんていらないNPCも考えられ、不要な処理となりがちですし、
スクリプト上に明記していない変数が内部的に書き換えられるのが気持ち悪くなってきました。

解決案として、「OnTombKilled」のようなイベントラベルを用意し、モンスター死亡時にイベント実行させるようなことが出来ないかな~と考えています。
イベントラベルによって、討伐者をアタッチさせれば討伐者情報も取得できますし、不要であればイベントラベルを書かなくて済み、かなり理想的な形になりそうです。
一度イベントラベルを実行させる形で実装してみます。



だらだらと書いていますが、これで進めそうです。
ソース公開まで、もうしばらくお待ちください。

コメント一覧

ヘル (10/11 15:12) 編集・削除

やはりこういう堅苦しい?記事の方が好きです
思いがけないヒントを得ることも出来ますし、なにより勉強になります。

【モンスター墓標 第1回】仕様を考える

ファイル 532-1.jpg

今回はちょっとだけ息抜きで、オリジナルの「モンスター墓標」を実装してみます。
MVPモンスターを倒したときに、討伐時間と討伐した人の名前が記される墓が建てられる、
という本家にあるシステムですが、あまり仕様を知らない状態でオリジナルで実装してみます。

簡単に実装方法を考えてみました。
 ・モンスターを倒した座標に一時的なNPCを生成できるようにする。
 ・倒したモンスターが時間経過で再出現したときに一時的なNPCを削除する。
 ・モンスター出現スクリプト(npc_monster_prtfild.txtなど)に生成するNPCを指定できるように拡張する。(duplicate指定)
 ・討伐時間、討伐者の情報は(仕方なく)ソース内でNPC依存変数を操作して渡す。

ミソは「モンスター出現スクリプトの解析時に一時的に生成するNPCスクリプトを解析させる」でしょうか。
このタイミングで解析させてしまえば、あとはNPCの座標をモンスターを倒した座標で更新させ、有効/無効を切り替えてしまえばすんなり行けてしまう気がします。

大体形はイメージできてきたので、あまり引っ張らずに次回あたりでソース公開といきます。

コメント一覧

akayu (09/24 21:26) 編集・削除

いつも楽しく拝見させていただいております。
好きなところにNPCを配置できるとなるといろいろ面白そうです。