忍者ブログ

しいたけサイクロン

主にRPGツクールVXAceを扱うブログです。 ここに公開してあるスクリプトは全部自由に使用してもらってかまいません。 改造なり何なりして好きに使ってください。

アイテム・スキルの整列スクリプト

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

アイテム・スキルの整列スクリプト

新しいスキルやアイテムを追加したとき、選択画面において一番下に置かれるのが嫌で
作ってみました。

・仕様
アイテム、武器、防具、スキルのウィンドウに表示される順番を設定できます。

・テストゲーム
ダウンロード

・スクリプト
DataManager


RPG::BaseItem
Game_Actor
Game_Party

上の3つをまとめたもの
composed_scripts

・導入法
DataManagerのself.init内のcreate_game_objectsの下の辺りにload_normal_databasetakoitem_order
を挿入します。


・使い方

新しく導入したDataManager内のload_normal_databasetakoitem_orderにおいて
$item_order_item_type_switchを1にすると武器の武器タイプや防具の装備タイプによってブロックに分かれます。0にすると無効です。
$data_items[id].order_group = グループ名(文字列、""でくくること、例 "pendant")でid番目アイテムの所属するグループを決めます。
グループごとにブロックを作ります。
$order_group_type[グループ名] = aaの値が大きいほどグループ全体が後ろに配置されます。
グループに所属していないアイテムのグループは0となります。
$data_items[id].order_priority = aaの値が大きいほどid番目アイテムはグループ内の後ろに配置されます。デフォルトは0です。
武器は$data_weapons[id].order_group、$data_weapons[id].order_priority
防具は$data_armors[id].order_group、$data_armors[id].order_priority
スキルは$data_armors[id].order_group、$data_armors[id].order_priorityで同様に定められます。

order_priorityやorder_groupによる値が等しい場合はアイテムidの順となります。

影響の大きさはorder_group > order_priority > idとなります。

order_priority や$order_group_typeは常識的な範囲内だと問題ないのですが
絶対値があまりにも大きい場合はうまくいかなくなります。

ちなみに計算式はaをアイテムor武器or防具orスキルとして
$order_group_type[a.order_group] * 100000 + a.order_priority * 1000 + a.id 
の小さい順に並べます。

・使用例
新しくスキルにダイヤモンドダストというスキルを追加します。


そうすると最後に置かれるのでサンダーより後ろになってしまいます。


そこで
    $order_group_type["ice"] = 2
    $order_group_type["thunder"] = 3

    $data_skills[55].order_group = "ice"    
    $data_skills[56].order_group = "ice"  
    $data_skills[57].order_group = "ice"
    $data_skills[59].order_group = "thunder"        
    $data_skills[127].order_group = "ice"
とすると

となります。
さらに今回のダイヤモンドダストは単体魔法なのでアイス2の後ろの配置したいので
    $data_skills[57].order_priority = 1
とすると(57はブリザードのid)

のようにブリザードがアイスの中で一番最後になります。
PR

コメント

プロフィール

HN:
tentako
性別:
非公開

P R

フリーエリア