| Flandre |
題名: 召喚
投稿日時: 2010年 7月 28日 (水) 12:30 |
FSM MEMBER
登録日: 2010年 6月 15日
所在地:
|
VXでFFの召喚獣のようなシステムを作れるスクリプトをお願いします。 細かく言うと、召喚用のスキル・アイテムを使用した場合、設定されているアクターと使用したアクターを交換し、召喚したアクターが戦闘不能になるか、戦闘が終了すると元のメンバーに戻るようなスクリプトがいいです。 上とまったく同じ内容の水夜様のスクリプトを発見したのですが、こちらのスクリプトはXP専用なので、VXでは使用できませんでした。 http://zenith.ifdef.jp/rgss/zenith_rgss12.txtこのスクリプトをVX仕様にすることは出来ますか? よろしくお願いします。
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 7月 29日 (木) 0:42 |
|
接続元ID: dhtHaWwdxUI
|
こんばんは。
まだ完成品とは言い難いのですが、 とりあえず、使用者と召喚されるアクターを入れ換える形で作ってみました。
入れ換えの機能だけですが、よろしければお試しください。
------------------------------------------------------------------------------ ※ 追記 (2010/ 8/10)
「召喚」を書いてしばらくの間は、あまり気にならなかったのですが、 ステータスが見れたほうが良いかな…と思い、 召喚されるアクターのステータス画面を表示するスクリプトを作ってみました。 ただし、他の機能は無いので、過度な期待はしないでください。
for_Default は、デフォルト仕様。 for_CMC は、KGCさん「カスタムメニューコマンド」の導入が前提です。
…よろしければお試しください。
それと、1.3 ですが、KGCさん「多人数パーティ」併用時、 TYPE == 1 で、パーティメンバーが復帰する際、 常に"戦闘メンバー最大数"の戦闘メンバー数になっていた点を改善しました。
編集者: メタボ, 最終編集日: 8/10 13:40:49, 編集回数: 8
|
|
|
 |
| bloo-TAS |
題名: Re: 召喚
投稿日時: 2010年 7月 29日 (木) 13:26 |
FSM MEMBER
登録日: 2010年 7月 28日
所在地:
|
ありがとうございます。 試してみたら、スキルは変更されていたのですが、そのほかの情報が変更されていませんでした。(名前やHP、MPなどがそのまま)
色々調べてみた結果、さば缶様の世界樹の迷宮風戦闘画面が影響しているようです。世界樹の迷宮風戦闘画面を使用していても利用できるようにはなりませんか?
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 7月 29日 (木) 23:19 |
|
接続元ID: IdzG8u4Y/jQ
|
>bloo-TASさん 上のスクリプトは、スキルに関する操作は一切行っていません。 …なので、入れ換えた後、 "世界樹"側の更新処理が正常に行われていない可能性が考えられます。 Summon のほうを"世界樹"よりも上に配置してみてください。 ---------------------------------------------------------------------------- ※ 上のスクリプト(ver.0.1)について追記 一箇所、書き間違いがありました。 Game_Party の def remove_actor 内、 remove_actor_summon(actor_id) にすべきところが、 add_actor_summon(actor_id) になっていますねorz DLした方は修正しておいてください。 if $game_actors[actor_id].aeon? --略-- else #add_actor_summon(actor_id) remove_actor_summon(actor_id) end
編集者: メタボ, 最終編集日: 8/3 6:14:52, 編集回数: 2
|
|
|
 |
| Flandre |
題名: Re: 召喚
投稿日時: 2010年 7月 30日 (金) 22:30 |
FSM MEMBER
登録日: 2010年 6月 15日
所在地:
|
remove_actor_summon(actor_id)に変更したところ、他のアクターをメンバーに加えることが出来なくなりました。
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 7月 30日 (金) 23:01 |
|
接続元ID: Q9iUNi5Olcc
|
remove_actor_summon(actor_id)に変更したところ、他のアクターをメンバーに加えることが出来なくなりました その変更によって、アクターを加えることができなくなったわけではなく、 原因は別にあります。 remove_actor_summon は、 alias で別名定義した元のメソッド( remove_actor )なので、 それを書かないとなると、元々あった処理が実行されないことになってしまい、 非常にまずいことになります。 …で、その原因ですが、世界樹スクリプトを見たところ、 add_actor の、 return if (@actors.size >= MAX_MEMBERS) || (@actors.include?(actor_id))
…という条件文で弾かれてしまってますね。 @actors.size >= MAX_MEMBERS というのは、 パーティメンバーの人数が、最大数以上なら、という条件です。 return は処理の中断だと思ってください。 この条件自体は、デフォルトの add_actor にもありますが、 上の Summon では、入れ換えの処理の場合、 人数の制約を受けることはないため、その条件を無視するようにしています。 では、原因が判明したところで、 以下のように"世界樹"側の add_actor に手を加えてください。 class Game_Party < Game_Unit alias saba_sekaiju_add_actor add_actor def add_actor(actor_id) unless $game_actors[actor_id].aeon? return if (@actors.size >= MAX_MEMBERS) || (@actors.include?(actor_id)) end saba_sekaiju_add_actor(actor_id) --以下略-- end end
アクターの追加については、他に問題がなければ、 これで正常に戻るはずです。
編集者: メタボ, 編集日: 7/30 23:03:44, 編集回数: 1
|
|
|
 |
| Flandre |
題名: Re: 召喚
投稿日時: 2010年 7月 30日 (金) 23:36 |
|
接続元ID: 4XWOGq7XXcA
|
変更しましたが、まだ直らないです。 まだ別のスクリプトと競合してるかも知れませんorz アクターの最大数を変更するようなスクリプトと競合するのですか?
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 7月 30日 (金) 23:55 |
|
接続元ID: Q9iUNi5Olcc
|
その可能性はありそうですが、 開発に使ったプロジェクトは、製作中のプロジェクトで、 さまざまなスクリプト素材が入っています。 その中にKGCさんの「多人数パーティ」もあるので、ちょっと考えにくいですね。
これは一つの調べ方ですけれども、 Summon 内で、alias で別名定義しているメソッド(alias xxxxx_summon xxxxx となっている箇所です)の、 元のメソッド名( xxxxx )で全文検索(Ctrl + Shift + F)をかけ、 デフォルト以外の部分(素材セクション内)でヒットするかどうか、 確かめてみると良いでしょう。 もしヒットした素材があれば、それを調べていけば何かわかるやも知れません。
面倒なら、まず add_actor と remove_actor の2つを調べてみてください。 他のメソッドが影響している可能性は、比較的低いと思われますので。
編集者: メタボ, 編集日: 7/31 0:00:22, 編集回数: 1
|
|
|
 |
| Flandre |
題名: Re: 召喚
投稿日時: 2010年 7月 31日 (土) 0:21 |
|
接続元ID: 4XWOGq7XXcA
|
とりあえずadd_actor と remove_actorの二つの検索をかけてみましたが、他の素材の中では使われていませんでした。
なぜか、summonスクリプトを修正前の状態に戻したところ、正常(?)に機能しましたw
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 7月 31日 (土) 0:39 |
|
接続元ID: Q9iUNi5Olcc
|
しかし…そうなるとお手上げですね。 指示通りに def remove_actor(actor_id) の方の add_actor_summon(actor_id) を修正しましたか? 修正前の Summon には、 add_actor_summon(actor_id) となっている箇所が2箇所あり、 片方は正常なコードです。 今のところ、そのくらいしか疑うところが無いですね…。
編集者: メタボ, 編集日: 7/31 0:41:28, 編集回数: 1
|
|
|
 |
| Flandre |
題名: Re: 召喚
投稿日時: 2010年 7月 31日 (土) 16:03 |
|
接続元ID: 4XWOGq7XXcA
|
もう一度ダウンロードしなおして修正しなおしたところ、正常に機能いたしました。 どうやら修正が上手く行っていなかったようです。お手数おかけしました。
|
|
|
 |
| Flandre |
題名: Re: 召喚
投稿日時: 2010年 7月 31日 (土) 23:43 |
|
接続元ID: 4XWOGq7XXcA
|
出来れば「召喚」スキルの仕様の2の仕様も利用したいのですが、お願いできないでしょうか?
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 8月 1日 (日) 7:25 |
|
接続元ID: Q9iUNi5Olcc
|
召喚の仕様(TYPE)の 1 と 2 を実装しました。 出来立てのホヤホヤです。 上の ver.0.1 のところに並べて添付しておきますので、お試しください。
…一度解決済みにされたときは、少し不思議に思いましたが、 ver.1.0 も無駄にならずに済みそうですね。
|
|
|
 |
| Flandre |
題名: Re: 召喚
投稿日時: 2010年 8月 2日 (月) 12:39 |
FSM MEMBER
登録日: 2010年 6月 15日
所在地:
|
召喚タイプを2にして召喚を行った際
スクリプト'summon'の251行目でNoMethodErrorが発生しました。 undefined method '+' for nil:NilClass
というエラーが出てしまいます。
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 8月 3日 (火) 4:45 |
|
接続元ID: Q9iUNi5Olcc
|
他の方にも言っていることなのですが、 251行目…行数の情報だけでは不十分です。 今回の場合は… TYPE を 2 にして召喚を行った際、Summon の Game_Party の def add_actor の if $imported["LargeParty"] @max_battle_member_count += 1 add_battle_member(actor_id); fix_actor(actor_id, true) end
赤字のところで スクリプト'summon'の251行目でNoMethodErrorが発生しました。 undefined method '+' for nil:NilClass というエラーが出ました。 …と、いうようにエラーメッセージの他に、 セクション名(素材名)、クラス名、メソッド名を示すことと、 前後関係がわかるような形で、近くの記述も一緒に書いてもらえると、 原因の特定がスムーズになります。 行数だと、だいたいの見当がつかないわけではありませんが、 こちらがコメントやテスト用に書いた記述を一度削除してから、 行数を確認しなければならないので、非常に面倒です。 …ご協力お願いします。 …それで、原因は、 @battle_member_count という変数に数値が入っていないためで、 この変数にどこかで値を入れてやる必要があるようです。 後ほど修正しておきますので、しばしお待ちください。 -------------------------------------------------------------------------- ※ 修正が済んだので、1.0 を修正版(1.1)に差し換えておきます。 1.0 をDLした方は、各自で 1.1 に差し換えてください。
編集者: メタボ, 最終編集日: 8/3 6:07:56, 編集回数: 4
|
|
|
 |
| Flandre |
題名: Re: 召喚
投稿日時: 2010年 8月 3日 (火) 13:19 |
FSM MEMBER
登録日: 2010年 6月 15日
所在地:
|
すいません。初めての投稿だったもので・・・。 以降は気をつけます。
ありがとうございます。無事に動作いたしました。 なにからなにまですいませんでした。 解決済みにしておきます。
|
|
|
 |
| 匿名 |
題名: Re: 召喚
投稿日時: 2010年 8月 3日 (火) 15:27 |
|
接続元ID: bQdU.yogGRI
|
初めての投稿? 嘘ついちゃいかんよ君ィ
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 8月 3日 (火) 21:50 |
|
接続元ID: Q9iUNi5Olcc
|
『召喚』スクリプトに関し別トピックを立ててもよろしいでしょうか? それは内容によるんじゃないでしょうか。 自分の基準になりますが、 「召喚」スクリプトのエラーや不具合についての用件でしたら、 わざわざ立てることも無いかな、と思います。 「召喚」スクリプトの拡張や機能追加、仕様変更などについての用件でしたら、 別の問題になってしまうので、別にトピックを立てるほうが良いと思います。 要は、別件かそうでないか、…という基準ですね。 ※ …おっと、規約について答えていませんでしたね。 規約はありません。 強いて言えば、ここFSMさんの規約に従っていただければ結構です。 改造・転載も自由です。
編集者: メタボ, 編集日: 8/3 22:16:58, 編集回数: 1
|
|
|
 |
| メタボ |
題名: Re: 召喚
投稿日時: 2010年 8月 4日 (水) 3:57 |
|
接続元ID: Q9iUNi5Olcc
|
ふとテストしていたら、例のF12エラーで落ちますね…orz 修正して差し換えておきましたので、上の同じところからDLしてください。
|
|
|
 |