記事一覧

【インスタントアイテム 最終回】ボツ気味

■過去の記事
【インスタントアイテム 第1回】妄想

即席アイテムのソース一式を公開しました。こちらからどうぞ。
(上部メニュー「メモ」→「ダウンロード」の「インスタントアイテム」にあります。)

db/item_instant_db.txtでインスタントアイテムの効果を定義し、
db/mob_drop_db.txtでモンスターにドロップさせるだけで実現できます。
詳しくは附属のReadme.txtをご覧ください。

ここまで引っ張ってきたものの、実はボツ気味のソースです。
というのは、サーバーの処理だけではアイテムの表示に関与できず、クライアントの対応が必須なためです。
代替案としてアイテムの見た目を既存アイテムに変更する定義を追加しましたが、イマイチ使い辛いです。
アイテムの表示をオリジナルにしたい場合はクライアントのデータの定義もしてあげてください。

どうもアイテムのオリジナル要素はクライアントと密接な関係なため、手が付けづらいです。がっくし。

ちなみにmob_drop_db.txtのドロップ拡張はインスタントアイテムに限らず、既存のアイテムのドロップ定義もできます。
通常のドロップ定義と異なり、倍率に左右されない定倍率でドロップします。
mob_db.txtの拡張に役立ててあげてください。

コメント一覧

chokoko69 2009年09月17日(木)00時50分 編集・削除

お世話になっております。
今回のインスタントアイテム機能も色々できそうで非常にありがたいソースの公開ありがとうございます。
ようやく実装にとりかかり妄想しながら実装実験を行ってるのですが一点気になるところがあります。
インスタントアイテムにランダム系のアイテムを設定するとアイテム取得時に
ランダム系アイテム名の次にインスタントアイテム名、と両方表示されてしまい
順番も逆なのでなんか気持ち悪いなぁと…
Blazeさんてきにはボツ気味のソースとの事で改良する気はないのかもしれないですけど、
インスタントアイテムを拾った際にインスタントアイテム名を表示「する・しない」てきな設定が出来るような
改良を施して頂けたらこれ幸いと

現状はPC.Cにある clif_additem_simple(sd,item_data->nameid,amount); をコメントアウトして
回避は出来てるんですけどプログラムてきに問題ないでしょうか?

Blaze 2009年09月17日(木)21時10分 編集・削除

実に鋭い指摘です(==

アイテム獲得メッセージは最後まで悩んでいた仕様で、
表示なしだとアイテム効果の発動が視覚的に分かり辛く、
表示した場合でも「拾ったのにインベントリに追加されない!」などと錯乱することもあります。


悩んだ結果、設定できるようにも考えたのですが、
たった1行の変更で対応できるため、割愛しました。
>現状はPC.Cにある clif_additem_simple(sd,item_data->nameid,amount); をコメントアウトして
>回避は出来てるんですけどプログラムてきに問題ないでしょうか?
まさしくご指摘の変更で正常にメッセージ非表示にできます。

夢くじら 2009年09月19日(土)01時42分 編集・削除

(*'ω')獲得の表示は消してdispbottom命令で「効果が発動しました」って表示すればいいと思うよ

時間がなくてソースも見てない状況ですが…

時間があるときに人柱になりまする

chokoko69 2009年09月19日(土)13時33分 編集・削除

なるほど、Blazeさんにとってもアイテム獲得メッセージは
悩み所だったわけですね。
対処方法は間違ってなかったようで、ほっとしました。

>(*'ω')獲得の表示は消してdispbottom命令で「効果が発動しました」って表示すればいいと思うよ
夢くじらさんアドバイスありがとうございます。
盲点でした。dispbottom命令と組み合わせることで旨くいきました。
更にアイテムごとにメッセージが代えられるのでいい感じに仕上がりそうです。
こんな簡単に改良できるのに気付くことが出来ず、
Blazeさんに改良を希望していた自分が恥ずかしいです。

コメント投稿

投稿フォーム
名前
コメント
文字色
削除キー
投稿キー
※投稿キーには「auriga」と入力してください。