装備拡張は使えそうな目処が立った。
既に導入済みだった へぷたなすくろーるさんの「特定のアクター専用装備」と競合したのか?エラーが発生。
内容を両者比べて見ていた所、単純に導入位置の問題では?と思い当たり、 Artificial Providenceさんの「装備拡張&装備拡張画面 」の下へと位置を下げたら、問題が消えました。v(^-^)v
次に拡張したスロットへ、イベントから装着させる方法の検証へと入ったのですが・・・これが上手くいかない。
再度スクリプト内容を確認しましたが、どう見ても問題無さそう。
で、アレコレと装着関数への引数の指定を変えて試した所、やっと分かりました。
具体的に書くと、以下のような感じですね。
装着関数
b:装着スロット番号
c:防具のアイテムID
勿論、メニュー画面からの装着なら、問題無くできたのですよ。
でもイベントからスクリプトで実行すると、全然装着されず、防具だけ持ち物から消えてしまったんです。
原因は、スロット番号の指定にありました。
定義として、以下のような設定をしていました。
スロット番号ですが、当初は
SLT_NAME = ["手","足","魔法具","お守り","宝珠","紋章","特殊"](既存の設定で0~4は定義済みなので、5番以降の定義になる)
の内容から、紋章だと10を指定していました。
魔法具なら7ですね。
それが間違いでした。
これはスロットタイプの番号で、スロット番号とは次の物が該当するのでした。
SLT_ARMOR = [2, 3, 5, 6, 10, 8, 4, 4, 7, 9, 11, 11]
これで0番は武器だから、その次から数えると、スロットタイプ10は5番か・・・
魔法具は7だから9番か・・・
てな感じで指定しましたが、これまた駄目。
で、またもアレコレ思い悩んでいたのですが、ここの定義の先頭は、実は2番だったのです。
#通常時の腕装備(デフォルトでは武器・盾)
SLT_ARM1 = [0, 1]
と言う部分が上にあって、これは武器と盾で、こちらが0番と1番なんです。
なので、その次の部分は2番から始まるわけで、10の魔法具は6番、7の紋章は10番だったのでした。
これで引数を直して実行したら、目出度く予定通りの位置に装着されました。o(^▽^)o
ちなみに、このch_eq(a, b, c)する前には、当然該当防具を持っていないと駄目です。
一番最初は、自動的に付与されると思って、持っても居ない防具の装着を指示していました。(;^_^A
さて・・・続きの制作をするには、一応最初からプレイしつつ、検証しなくてはならないな。。。
ノンビリと又やってみるかな。(;^_^A
PS. この記事を書いている最中に地震がありました。
最初の小さな揺れの段階で、妙な予感を感じて、すぐにリビングの水槽の前に陣取って、しばらく様子を見ていたら、いきなりグラグラっと大きく揺れだして、水槽の水が溢れだしました。
慌てて、水槽系の電源を全てコンセントから外し、ガラスぶたも外して状態を見ていましたので、それほどの問題は無かったですが、やはり床はビショビショで、海水だから、必死で揺れがおさまってから拭き取ってました。(;^_^A
なんか、最近ちょっと怖いですね。
噴火もあるし、地震もまた大きなものが起き始めている感じで。
嫌だな~。。。怖いな~。。。