Project1

标题: 谁有VX的多人队伍啊... [打印本页]

作者: 神秘来客    时间: 2014-10-6 16:50
标题: 谁有VX的多人队伍啊...
如题...谁有VX的多人队伍...要20人的队伍...可以自由选择人物出战..
出战只有4人...最好有工程

作者: 上贺茂润    时间: 2014-10-6 17:31
搜索 群战系统 然后把你的字号缩小
作者: 乱剑穿空    时间: 2014-10-6 20:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: 双叶GL    时间: 2014-10-6 20:43
本帖最后由 双叶GL 于 2014-10-6 20:57 编辑

啊好像发错版本了,这是RGSS3的脚本不要用!!!

这里是设定,可以修改参数

RUBY 代码复制
  1. #==============================================================================
  2. # ■ RGSS3 アクター預かり所 ver 1.00 初期設定
  3. #------------------------------------------------------------------------------
  4. #  配布元:
  5. #     白の魔 [url=http://izumiwhite.web.fc2.com/]http://izumiwhite.web.fc2.com/[/url]
  6. #
  7. #  利用規約:
  8. #     RPGツクールVX Aceの正規の登録者のみご利用になれます。
  9. #     利用報告・著作権表示とかは必要ありません。
  10. #     改造もご自由にどうぞ。
  11. #     何か問題が発生しても責任は持ちません。
  12. #==============================================================================
  13.  
  14.  
  15. #--------------------------------------------------------------------------
  16. # ★ 初期設定。
  17. #    メンバーの加入条件、ソート機能等の設定
  18. #--------------------------------------------------------------------------
  19. module WD_memberchange_ini
  20.   Initial_switch = 102 #编号从X开关开始计算
  21.                       # 例如,改成101,那么第101号开关开启后才能第一个角色替换
  22.                       # 而开关102开启104开启105开起,那么第2个人就直接跳过
  23.  
  24.   Remove_only = true #falseにすると交代のみ
  25.                      #trueの場合は、一番下の空白を選択することで
  26.                      #アクターを外すだけという処理が可能
  27.  
  28.   Party_max = 4 #パーティ最大人数。
  29.  
  30.   Sort_use = false       #ソート切り替え機能を使用するか
  31.   Sort_variable = 10    #ソート用格納変数の番号
  32.                         #注:ソート切り替え機能をOFFにしても指定すること。
  33.                         #    ソート切り替え機能がOFFの場合でも
  34.                         #    並び順は変数で指定しているソートを使用する。
  35.                         #    但し、メニュー上で切り替えはできない。
  36.                         #    (イベントコマンドで直接変数を書き換えれば可。)
  37.   Sort_indexini = true  #trueの場合、ソート切り替え時カーソルを一番上へ移動
  38.  
  39.   Sort_frontcommand = false #外すアクターを選択する場合にも
  40.                             #ソート用コマンドを受け付ける場合はtrue
  41.  
  42.   Sort_series = [0,1,2,3,4,5,6,7,8,9,10] #どのソート機能を使用するか
  43.                                        #ソート切り替え機能をOFFにしても
  44.                                        #指定すること
  45.   # 0:ID順        1:指定ソート  2:レベル順    3:最大HP順  4:最大MP順
  46.   # 5:攻撃力順    6:防御力順    7:魔法力順    8:魔法防御順  9:敏捷性順
  47.   #10:運順       11:職業ID順
  48.  
  49.   Sort_names =
  50.   ["ID順","レベル順","HP順","MP順",  #各ソートの名称
  51.    "攻撃力順","防御力順","魔法力順","魔法防御順",   #上の配列と同じ順番で指定
  52.    "敏捷性順","運順"]
  53.  
  54.   Assignsort_array = [9,1,2,4,7,6,3,5,8,10] #指定ソート、
  55.                                             #アクターのID順に優先度を指定
  56.                                             #使わない場合は指定しなくてよい。
  57.                                             #この場合ラルフは7番、ウルリカは3番...
  58.                                             #間違えやすいので注意。
  59.  
  60.   Eliminate_use = false  #アクター除籍機能を使う場合はtrue
  61.                         #除籍:各アクターの加入条件スイッチをOFFにすること。
  62.                         #もう一度ONにすれば、再び編成画面に加わります。
  63.   Eliminate_command1 = "除籍"       #除籍確認用コマンド1
  64.   Eliminate_command2 = "キャンセル" #除籍確認用コマンド2
  65.  
  66.  
  67.   Fix_switch1 = []  #この行は消さないこと
  68.   Fix_switch2 = []  #この行は消さないこと
  69.  
  70.   #特定のメンバーを固定するためのスイッチ指定
  71.   Fix_switch1[1] = 102 #3番のスイッチがONの時1番のアクターは入れ替え不可
  72.   #Fix_switch1[6] = 4 #4番のスイッチがONの時6番のアクターは入れ替え不可
  73.  
  74.   #特定のアクターを除籍できなくするスイッチ
  75.   Fix_switch2[1] = 7 #7番のスイッチがONの時2番のアクターは除籍不可
  76.   Fix_switch2[4] = 8 #8番のスイッチがONの時4番のアクターは除籍不可
  77.  
  78.   Remove_equip1 = false  #入れ替え時に装備を外す場合はtrue
  79.   Remove_equip2 = true   #除籍時に装備を外す場合はtrue
  80.  
  81.   Txtwindow1_use = true                #テキストウィンドウ1を使用するか
  82.   Txtwindow1_text = "パーティメンバー" #テキストウィンドウ1に表示させる文章("\n"で改行)
  83.   Txtwindow1_timing = 1                #テキストウィンドウ1の表示タイミング
  84.                                        #1⇒常時、#2⇒外すアクター選択中、3⇒加えるアクター選択中
  85.   Txtwindow2_use = true                #テキストウィンドウ2を使用するか
  86.   Txtwindow2_text = "待機メンバー"     #テキストウィンドウ2に表示させる文章("\n"で改行)
  87.   Txtwindow2_timing = 1                #テキストウィンドウ1の表示タイミング
  88.                                        #1⇒常時、#2⇒外すアクター選択中、3⇒加えるアクター選択中
  89.   Txtwindow3_use = false                #テキストウィンドウ3を使用するか
  90.   Txtwindow3_text = " " #テキストウィンドウ3に表示させる文章("\n"で改行)
  91.   Txtwindow3_timing = 3                #テキストウィンドウ1の表示タイミング
  92.                                        #1⇒常時、#2⇒外すアクター選択中、3⇒加えるアクター選択中
  93. end
  94. #--------------------------------------------------------------------------
  95. # ★ 初期設定おわり
  96. #--------------------------------------------------------------------------
  97.  
  98.  
  99. #--------------------------------------------------------------------------
  100. # ■ レイアウト設定。
  101. #    各ウィンドウのレイアウトを指定
  102. #--------------------------------------------------------------------------
  103.  
  104. #--------------------------------------------------------------------------
  105. # ★ パーティから外すアクターを選択するウィンドウのレイアウトの設定
  106. #--------------------------------------------------------------------------
  107. module WD_memberchange_front_layout
  108.  
  109.   #ウィンドウの設定
  110.   Window_x = 0
  111.   Window_y = 48
  112.   Window_width = 196
  113.   Window_height = 106 - 44
  114.   Window_col = 4
  115.  
  116.   #カーソルの設定
  117.   Rect_spacing = 12
  118.   Rect_interval = 12
  119.   Rect_width = 34
  120.   Rect_height = 34
  121.  
  122.   #顔グラフィックの表示
  123.   Faceview = false
  124.   Faceview_x = 0
  125.   Faceview_y = 0
  126.  
  127.   #歩行グラィックの表示
  128.   Charaview = true
  129.   Charaview_x = 16
  130.   Charaview_y = 32
  131.  
  132.   #ステートの表示
  133.   Stateview = false
  134.   Stateview_x = 0
  135.   Stateview_y = 0
  136.   Stateview_width = 96
  137.  
  138.   #名前の表示
  139.   Nameview = false
  140.   Nameview_x = 0
  141.   Nameview_y = 0
  142.   Nameview_width = 112
  143.  
  144.   #職業の表示
  145.   Classview = false
  146.   Classview_x = 0
  147.   Classview_y = 0
  148.   Classview_width = 112
  149.  
  150.   #レベルの表示
  151.   Lvview = false
  152.   Lvview_x = 0
  153.   Lvview_y = 0
  154.   Lvview_width = 56  
  155.  
  156.   #二つ名の表示
  157.   Nicknameview = false
  158.   Nicknameview_x = 0
  159.   Nicknameview_y = 0
  160.   Nicknameview_width = 180
  161.  
  162.   #HPゲージの表示
  163.   Hpgaugeview = false
  164.   Hpgaugeview_x = 0
  165.   Hpgaugeview_y = 0
  166.   Hpgaugeview_width = 124
  167.  
  168.   #MPゲージの表示
  169.   Mpgaugeview = false
  170.   Mpgaugeview_x = 0
  171.   Mpgaugeview_y = 0
  172.   Mpgaugeview_width = 124
  173.  
  174.   #TPの表示
  175.   Tpview = false
  176.   Tpview_x = 0
  177.   Tpview_y = 0
  178.   Tpview_width = 124
  179.  
  180.   #最大HPの表示
  181.   Parameterview0 = false
  182.   Parameterview0_x = 0
  183.   Parameterview0_y = 0
  184.   Parameterview0_width = 156
  185.  
  186.   #最大MPの表示
  187.   Parameterview1 = false
  188.   Parameterview1_x = 0
  189.   Parameterview1_y = 0
  190.   Parameterview1_width = 156
  191.  
  192.   #攻撃力の表示
  193.   Parameterview2 = false
  194.   Parameterview2_x = 0
  195.   Parameterview2_y = 0
  196.   Parameterview2_width = 156
  197.  
  198.   #防御力の表示
  199.   Parameterview3 = false
  200.   Parameterview3_x = 0
  201.   Parameterview3_y = 0
  202.   Parameterview3_width = 156
  203.  
  204.   #魔法力の表示
  205.   Parameterview4 = false
  206.   Parameterview4_x = 0
  207.   Parameterview4_y = 0
  208.   Parameterview4_width = 156
  209.  
  210.   #魔法防御の表示
  211.   Parameterview5 = false
  212.   Parameterview5_x = 0
  213.   Parameterview5_y = 0
  214.   Parameterview5_width = 156
  215.  
  216.   #敏捷性の表示
  217.   Parameterview6 = false
  218.   Parameterview6_x = 0
  219.   Parameterview6_y = 0
  220.   Parameterview6_width = 156
  221.  
  222.   #運の表示
  223.   Parameterview7 = false
  224.   Parameterview7_x = 0
  225.   Parameterview7_y = 0
  226.   Parameterview7_width = 156
  227.  
  228. end
  229.  
  230.  
  231. #--------------------------------------------------------------------------
  232. # ★ パーティに加えるアクターを選択するウィンドウのレイアウトの設定
  233. #--------------------------------------------------------------------------
  234. module WD_memberchange_back_layout
  235.  
  236.   #ウィンドウの設定
  237.   Window_x = 0
  238.   Window_y = 202 - 44
  239.   Window_width = 196
  240.   Window_height = 166 + 46
  241.   Window_col = 4
  242.  
  243.   #カーソルの設定
  244.   Rect_spacing = 12
  245.   Rect_interval = 12
  246.   Rect_width = 34
  247.   Rect_height = 34
  248.  
  249.   #顔グラフィックの表示
  250.   Faceview = false
  251.   Faceview_x = 0
  252.   Faceview_y = 0
  253.  
  254.   #歩行グラィックの表示
  255.   Charaview = true
  256.   Charaview_x = 16
  257.   Charaview_y = 32
  258.  
  259.   #ステートの表示
  260.   Stateview = false
  261.   Stateview_x = 0
  262.   Stateview_y = 0
  263.   Stateview_width = 96
  264.  
  265.   #名前の表示
  266.   Nameview = false
  267.   Nameview_x = 0
  268.   Nameview_y = 0
  269.   Nameview_width = 112
  270.  
  271.   #職業の表示
  272.   Classview = false
  273.   Classview_x = 0
  274.   Classview_y = 0
  275.   Classview_width = 112
  276.  
  277.   #二つ名の表示
  278.   Nicknameview = false
  279.   Nicknameview_x = 0
  280.   Nicknameview_y = 0
  281.   Nicknameview_width = 180
  282.  
  283.   #レベルの表示
  284.   Lvview = false
  285.   Lvview_x = 0
  286.   Lvview_y = 0
  287.   Lvview_width = 56
  288.  
  289.   #HPゲージの表示
  290.   Hpgaugeview = false
  291.   Hpgaugeview_x = 0
  292.   Hpgaugeview_y = 0
  293.   Hpgaugeview_width = 124
  294.  
  295.   #MPゲージの表示
  296.   Mpgaugeview = false
  297.   Mpgaugeview_x = 0
  298.   Mpgaugeview_y = 0
  299.   Mpgaugeview_width = 124
  300.  
  301.   #TPの表示
  302.   Tpview = false
  303.   Tpview_x = 0
  304.   Tpview_y = 0
  305.   Tpview_width = 124
  306.  
  307.   #最大HPの表示
  308.   Parameterview0 = false
  309.   Parameterview0_x = 0
  310.   Parameterview0_y = 0
  311.   Parameterview0_width = 156
  312.  
  313.   #最大MPの表示
  314.   Parameterview1 = false
  315.   Parameterview1_x = 0
  316.   Parameterview1_y = 0
  317.   Parameterview1_width = 156
  318.  
  319.   #攻撃力の表示
  320.   Parameterview2 = false
  321.   Parameterview2_x = 0
  322.   Parameterview2_y = 0
  323.   Parameterview2_width = 156
  324.  
  325.   #防御力の表示
  326.   Parameterview3 = false
  327.   Parameterview3_x = 0
  328.   Parameterview3_y = 0
  329.   Parameterview3_width = 156
  330.  
  331.   #魔法力の表示
  332.   Parameterview4 = false
  333.   Parameterview4_x = 0
  334.   Parameterview4_y = 0
  335.   Parameterview4_width = 156
  336.  
  337.   #魔法防御の表示
  338.   Parameterview5 = false
  339.   Parameterview5_x = 0
  340.   Parameterview5_y = 0
  341.   Parameterview5_width = 156
  342.  
  343.   #敏捷性の表示
  344.   Parameterview6 = false
  345.   Parameterview6_x = 0
  346.   Parameterview6_y = 0
  347.   Parameterview6_width = 156
  348.  
  349.   #運の表示
  350.   Parameterview7 = false
  351.   Parameterview7_x = 0
  352.   Parameterview7_y = 0
  353.   Parameterview7_width = 156
  354.  
  355. end
  356.  
  357.  
  358. #--------------------------------------------------------------------------
  359. # ★ アクターのステータスを表示するウィンドウのレイアウトの設定
  360. #--------------------------------------------------------------------------
  361. module WD_memberchange_status_layout
  362.  
  363.   #ウィンドウの設定
  364.   Window_x = 196
  365.   Window_y = 0
  366.   Window_width = 348
  367.   Window_height = 416
  368.  
  369.   #顔グラフィックの表示
  370.   Faceview = true
  371.   Faceview_x = 2
  372.   Faceview_y = 26
  373.  
  374.   #歩行グラィックの表示
  375.   Charaview = true
  376.   Charaview_x = 122
  377.   Charaview_y = 120
  378.  
  379.   #ステートの表示
  380.   Stateview = true
  381.   Stateview_x = 2
  382.   Stateview_y = 128
  383.   Stateview_width = 96
  384.  
  385.   #名前の表示
  386.   Nameview = true
  387.   Nameview_x = 0
  388.   Nameview_y = 0
  389.   Nameview_width = 112
  390.  
  391.   #職業の表示
  392.   Classview = true
  393.   Classview_x = 156
  394.   Classview_y = 0
  395.   Classview_width = 112
  396.  
  397.   #二つ名の表示
  398.   Nicknameview = true
  399.   Nicknameview_x = 156
  400.   Nicknameview_y = 36
  401.   Nicknameview_width = 180
  402.  
  403.   #レベルの表示
  404.   Lvview = true
  405.   Lvview_x = 156
  406.   Lvview_y = 72
  407.   Lvview_width = 56
  408.  
  409.   #HPゲージの表示
  410.   Hpgaugeview = true
  411.   Hpgaugeview_x = 156
  412.   Hpgaugeview_y = 96
  413.   Hpgaugeview_width = 124
  414.  
  415.   #MPゲージの表示
  416.   Mpgaugeview = true
  417.   Mpgaugeview_x = 156
  418.   Mpgaugeview_y = 120
  419.   Mpgaugeview_width = 124
  420.  
  421.   #TPの表示
  422.   Tpview = false
  423.   Tpview_x = 0
  424.   Tpview_y = 0
  425.   Tpview_width = 124
  426.  
  427.   #最大HPの表示
  428.   Parameterview0 = false
  429.   Parameterview0_x = 0
  430.   Parameterview0_y = 0
  431.   Parameterview0_width = 125
  432.  
  433.   #最大MPの表示
  434.   Parameterview1 = false
  435.   Parameterview1_x = 0
  436.   Parameterview1_y = 0
  437.   Parameterview1_width = 125
  438.  
  439.   #攻撃力の表示
  440.   Parameterview2 = true
  441.   Parameterview2_x = 2
  442.   Parameterview2_y = 156
  443.   Parameterview2_width = 125
  444.  
  445.   #防御力の表示
  446.   Parameterview3 = true
  447.   Parameterview3_x = 160
  448.   Parameterview3_y = 156
  449.   Parameterview3_width = 125
  450.  
  451.   #魔法力の表示
  452.   Parameterview4 = true
  453.   Parameterview4_x = 2
  454.   Parameterview4_y = 180
  455.   Parameterview4_width = 125
  456.  
  457.   #魔法防御の表示
  458.   Parameterview5 = true
  459.   Parameterview5_x = 160
  460.   Parameterview5_y = 180
  461.   Parameterview5_width = 125
  462.  
  463.   #敏捷性の表示
  464.   Parameterview6 = true
  465.   Parameterview6_x = 2
  466.   Parameterview6_y = 204
  467.   Parameterview6_width = 125
  468.  
  469.   #運の表示
  470.   Parameterview7 = true
  471.   Parameterview7_x = 160
  472.   Parameterview7_y = 204
  473.   Parameterview7_width = 125
  474.  
  475.   #武器の表示
  476.   Equipview0 = true
  477.   Equipview0_x = 2
  478.   Equipview0_y = 240
  479.   Equipview0_width = 264
  480.  
  481.   #盾(or武器2)の表示
  482.   Equipview1 = true
  483.   Equipview1_x = 2
  484.   Equipview1_y = 240 + 24
  485.   Equipview1_width = 264
  486.  
  487.   #頭の表示
  488.   Equipview2 = true
  489.   Equipview2_x = 2
  490.   Equipview2_y = 240 + 24 * 2
  491.   Equipview2_width = 264
  492.  
  493.   #身体の表示
  494.   Equipview3 = true
  495.   Equipview3_x = 2
  496.   Equipview3_y = 240 + 24 * 3
  497.   Equipview3_width = 264
  498.  
  499.   #装飾品の表示
  500.   Equipview4 = true
  501.   Equipview4_x = 2
  502.   Equipview4_y = 240 + 24 * 4
  503.   Equipview4_width = 264
  504.  
  505.   #トータル経験値の表示
  506.   Expview1 = false
  507.   Expview1_x = 2
  508.   Expview1_y = 240
  509.   Expview1_width = 274
  510.  
  511.   #次のレベルまでの経験値の表示
  512.   Expview2 = false
  513.   Expview2_x = 2
  514.   Expview2_y = 264
  515.   Expview2_width = 274
  516.  
  517. end
  518.  
  519.  
  520.  
  521. #--------------------------------------------------------------------------
  522. # ★ 現在選択中のソートを表示するウィンドウのレイアウトの設定
  523. #--------------------------------------------------------------------------
  524. module WD_memberchange_sort_layout
  525.  
  526.   #ウィンドウの設定
  527.   Window_x = 0
  528.   Window_y = 368
  529.   Window_width = 196
  530.   Window_height = 48
  531.  
  532. end
  533.  
  534. #--------------------------------------------------------------------------
  535. # ★ アクター除籍の確認用ウィンドウのレイアウトの設定
  536. #--------------------------------------------------------------------------
  537. module WD_memberchange_eliminate_layout
  538.  
  539.   #ウィンドウの設定
  540.   Window_x = 420
  541.   Window_y = 48
  542.   Window_width = 124
  543.   Window_height = 72
  544.   Window_col = 1 #コマンドの列数(1 or 2)
  545.  
  546. end
  547.  
  548. #--------------------------------------------------------------------------
  549. # ★ テキストウィンドウ1のレイアウトの設定
  550. #--------------------------------------------------------------------------
  551. module WD_memberchange_text1_layout
  552.  
  553.   #ウィンドウの設定
  554.   Window_x = 0
  555.   Window_y = 0
  556.   Window_width = 196
  557.   Window_height = 48
  558.  
  559.   #テキストの設定
  560.   Text_align = 1  #テキストの位置(0 ⇒ 左揃え、1 ⇒ 中央揃え、 2 ⇒ 右揃え)
  561.  
  562. end
  563.  
  564. #--------------------------------------------------------------------------
  565. # ★ テキストウィンドウ2のレイアウトの設定
  566. #--------------------------------------------------------------------------
  567. module WD_memberchange_text2_layout
  568.  
  569.   #ウィンドウの設定
  570.   Window_x = 0
  571.   Window_y = 154 - 44
  572.   Window_width = 196
  573.   Window_height = 48
  574.  
  575.   #テキストの設定
  576.   Text_align = 1  #テキストの位置(0 ⇒ 左揃え、1 ⇒ 中央揃え、 2 ⇒ 右揃え)
  577.  
  578. end
  579.  
  580. #--------------------------------------------------------------------------
  581. # ★ テキストウィンドウ3のレイアウトの設定
  582. #--------------------------------------------------------------------------
  583. module WD_memberchange_text3_layout
  584.  
  585.   #ウィンドウの設定
  586.   Window_x = 444
  587.   Window_y = 344
  588.   Window_width = 100
  589.   Window_height = 72
  590.  
  591.   #テキストの設定
  592.   Text_align = 0  #テキストの位置(0 ⇒ 左揃え、1 ⇒ 中央揃え、 2 ⇒ 右揃え)
  593.  
  594. end


第二部分,主要内容
RUBY 代码复制
  1. #==============================================================================
  2. # ■ RGSS3 アクター預かり所 ver 1.00 本体プログラム
  3. #------------------------------------------------------------------------------
  4. #  配布元:
  5. #     白の魔 [url]http://izumiwhite.web.fc2.com/[/url]
  6. #
  7. #  利用規約:
  8. #     RPGツクールVX Aceの正規の登録者のみご利用になれます。
  9. #     利用報告・著作権表示とかは必要ありません。
  10. #     改造もご自由にどうぞ。
  11. #     何か問題が発生しても責任は持ちません。
  12. #==============================================================================
  13.  
  14.  
  15. #==============================================================================
  16. # ■ WD_memberchange_commonmethod
  17. #------------------------------------------------------------------------------
  18. #  アクター預かり所用の共通メソッドです。
  19. #==============================================================================
  20.  
  21. module WD_memberchange_commonmethod
  22.   #--------------------------------------------------------------------------
  23.   # ● 歩行グラフィックの描画
  24.   #--------------------------------------------------------------------------
  25.   def draw_character(character_name, character_index, x, y, enabled = true)
  26.     return unless character_name
  27.     bitmap = Cache.character(character_name)
  28.     sign = character_name[/^[\!\$]./]
  29.     if sign && sign.include?('$')
  30.       cw = bitmap.width / 3
  31.       ch = bitmap.height / 4
  32.     else
  33.       cw = bitmap.width / 12
  34.       ch = bitmap.height / 8
  35.     end
  36.     n = character_index
  37.     src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
  38.     if enabled
  39.       contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  40.     else
  41.       contents.blt(x - cw / 2, y - ch, bitmap, src_rect, 128)      
  42.     end
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● ステートおよび強化/弱体のアイコンを描画
  46.   #--------------------------------------------------------------------------
  47.   def draw_actor_icons(actor, x, y, width = 96, enabled = true)
  48.     icons = (actor.state_icons + actor.buff_icons)[0, width / 24]
  49.     icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y, enabled) }
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 名前の描画
  53.   #--------------------------------------------------------------------------
  54.   def draw_actor_name(actor, x, y, width = 112, enabled = true)
  55.     change_color(hp_color(actor), enabled)  
  56.     draw_text(x, y, width, line_height, actor.name)
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 職業の描画
  60.   #--------------------------------------------------------------------------
  61.   def draw_actor_class(actor, x, y, width = 112, enabled = true)
  62.     change_color(normal_color, enabled)
  63.     draw_text(x, y, width, line_height, actor.class.name)
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 二つ名の描画
  67.   #--------------------------------------------------------------------------
  68.   def draw_actor_nickname(actor, x, y, width = 180, enabled = true)
  69.     change_color(normal_color, enabled)
  70.     draw_text(x, y, width, line_height, actor.nickname)
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● レベルの描画
  74.   #--------------------------------------------------------------------------
  75.   def draw_actor_level(actor, x, y, width = 56, enabled = true)
  76.     change_color(system_color, enabled)
  77.     draw_text(x, y, width-24, line_height, Vocab::level_a)
  78.     change_color(normal_color, enabled)
  79.     draw_text(x + 32, y, 24, line_height, actor.level, 2)
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● HP の描画
  83.   #--------------------------------------------------------------------------
  84.   def draw_actor_hp(actor, x, y, width = 124, enabled = true)
  85.     draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  86.     change_color(system_color, enabled)
  87.     draw_text(x, y, 30, line_height, Vocab::hp_a)
  88.     draw_current_and_max_values(x, y, width, actor.hp, actor.mhp,
  89.       hp_color(actor), normal_color, enabled)
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● MP の描画
  93.   #--------------------------------------------------------------------------
  94.   def draw_actor_mp(actor, x, y, width = 124, enabled = true)
  95.     draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
  96.     change_color(system_color, enabled)
  97.     draw_text(x, y, 30, line_height, Vocab::mp_a)
  98.     draw_current_and_max_values(x, y, width, actor.mp, actor.mmp,
  99.       mp_color(actor), normal_color, enabled)
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● TP の描画
  103.   #--------------------------------------------------------------------------
  104.   def draw_actor_tp(actor, x, y, width = 124, enabled = true)
  105.     draw_gauge(x, y, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
  106.     change_color(system_color, enabled)
  107.     draw_text(x, y, 30, line_height, Vocab::tp_a)
  108.     change_color(tp_color(actor), enabled)
  109.     draw_text(x + width - 42, y, 42, line_height, actor.tp.to_i, 2)
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 現在値/最大値を分数形式で描画
  113.   #     current : 現在値
  114.   #     max     : 最大値
  115.   #     color1  : 現在値の色
  116.   #     color2  : 最大値の色
  117.   #--------------------------------------------------------------------------
  118.   def draw_current_and_max_values(x, y, width, current, max, color1, color2, enabled = true)
  119.     change_color(color1, enabled)
  120.     xr = x + width
  121.     if width < 96
  122.       draw_text(xr - 40, y, 42, line_height, current, 2)
  123.     else
  124.       draw_text(xr - 92, y, 42, line_height, current, 2)
  125.       change_color(color2, enabled)
  126.       draw_text(xr - 52, y, 12, line_height, "/", 2)
  127.       draw_text(xr - 42, y, 42, line_height, max, 2)
  128.     end
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● 能力値の描画
  132.   #--------------------------------------------------------------------------
  133.   def draw_actor_param(actor, x, y, param_id, width = 156, enabled = true)
  134.     change_color(system_color, enabled)
  135.     draw_text(x, y, width-36, line_height, Vocab::param(param_id))
  136.     change_color(normal_color, enabled)
  137.     draw_text(x + width-36, y, 36, line_height, actor.param(param_id), 2)
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 項目の描画
  141.   #--------------------------------------------------------------------------
  142.   def draw_equip_item(actor, x, y, slot_index, width = 264, enabled = true)
  143.     change_color(system_color, enabled)
  144.     draw_text(x, y, 92, line_height, slot_name(actor, slot_index))
  145.     draw_item_name(actor.equips[slot_index], x + 92, y, enabled, width-92)
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # ● 装備スロットの名前を取得
  149.   #--------------------------------------------------------------------------
  150.   def slot_name(actor, slot_index)
  151.     @actor ? Vocab::etype(actor.equip_slots[slot_index]) : ""
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 経験値情報の描画
  155.   #--------------------------------------------------------------------------
  156.   def draw_exp_info1(actor, x, y, width = 180, enabled = true)
  157.     s1 = actor.max_level? ? "-------" : actor.exp
  158.     change_color(system_color, enabled)
  159.     draw_text(x, y, width, line_height, Vocab::ExpTotal)
  160.     change_color(normal_color, enabled)
  161.     draw_text(x, y, width, line_height, s1, 2)
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 経験値情報の描画
  165.   #--------------------------------------------------------------------------
  166.   def draw_exp_info2(actor, x, y, width = 180, enabled = true)
  167.     s2 = actor.max_level? ? "-------" : actor.next_level_exp - actor.exp
  168.     s_next = sprintf(Vocab::ExpNext, Vocab::level)
  169.     change_color(system_color, enabled)
  170.     draw_text(x, y, width, line_height, s_next)
  171.     change_color(normal_color, enabled)
  172.     draw_text(x, y, width, line_height, s2, 2)
  173.   end
  174. end
  175.  
  176.  
  177. #==============================================================================
  178. # ■ Scene_MemberChange
  179. #------------------------------------------------------------------------------
  180. #  アクター預かり所の処理を行うクラスです。
  181. #==============================================================================
  182.  
  183. class Scene_MemberChange < Scene_ItemBase
  184.   #--------------------------------------------------------------------------
  185.   # ● 開始処理
  186.   #--------------------------------------------------------------------------
  187.   def start
  188.     super
  189.     create_status_window
  190.     create_front_window
  191.     create_back_window
  192.     create_sort_window if WD_memberchange_ini::Sort_use
  193.     create_eliminate_window if WD_memberchange_ini::Eliminate_use
  194.     create_text_window
  195.   end
  196.   #--------------------------------------------------------------------------
  197.   # ● パーティから外すアクターを選択するウィンドウの作成
  198.   #--------------------------------------------------------------------------
  199.   def create_front_window
  200.     @front_window = Window_FrontMember.new
  201.     @front_window.viewport = @viewport
  202.     @front_window.status_window = @status_window
  203.     @front_window.set_handler(:ok, method(:determine_member1))
  204.     @front_window.set_handler(:cancel, method(:return_scene))
  205.     if WD_memberchange_ini::Sort_use and WD_memberchange_ini::Sort_frontcommand
  206.       @front_window.set_handler(:sort, method(:change_sort))
  207.     end
  208.     @front_window.update_help
  209.   end
  210.   #--------------------------------------------------------------------------
  211.   # ● パーティに加えるアクターを選択するウィンドウの作成
  212.   #--------------------------------------------------------------------------
  213.   def create_back_window
  214.     @back_window = Window_BackMember.new
  215.     @back_window.viewport = @viewport
  216.     @back_window.status_window = @status_window
  217.     @back_window.set_handler(:ok, method(:determine_member2))
  218.     @back_window.set_handler(:cancel, method(:cancel_member1))
  219.     if WD_memberchange_ini::Sort_use
  220.       @back_window.set_handler(:sort, method(:change_sort))
  221.     end
  222.     if WD_memberchange_ini::Eliminate_use
  223.       @back_window.set_handler(:eliminate, method(:select_eliminate))
  224.     end
  225.   end
  226.   #--------------------------------------------------------------------------
  227.   # ● アクターのステータスウィンドウの作成
  228.   #--------------------------------------------------------------------------
  229.   def create_status_window
  230.     @front_window = Window_FrontMember.new
  231.     @status_window = Window_MemberChangeStatus.new
  232.     @status_window.viewport = @viewport
  233.   end
  234.   #--------------------------------------------------------------------------
  235.   # ● ソート表示ウィンドウの作成
  236.   #--------------------------------------------------------------------------
  237.   def create_sort_window
  238.     @sort_window = Window_MemberChangeSort.new
  239.     @sort_window.viewport = @viewport
  240.   end
  241.   #--------------------------------------------------------------------------
  242.   # ● 除籍確認ウィンドウの作成
  243.   #--------------------------------------------------------------------------
  244.   def create_eliminate_window
  245.     @eliminate_window = Window_MemberChangeEliminate.new
  246.     @eliminate_window.viewport = @viewport
  247.     @eliminate_window.set_handler(:ok,     method(:ok_eliminate))
  248.     @eliminate_window.set_handler(:cancel, method(:cancel_eliminate))
  249.     @eliminate_window.visible = false
  250.   end
  251.   #--------------------------------------------------------------------------
  252.   # ● テキストウィンドウの作成
  253.   #--------------------------------------------------------------------------
  254.   def create_text_window
  255.     if WD_memberchange_ini::Txtwindow1_use
  256.       x = WD_memberchange_text1_layout::Window_x
  257.       y = WD_memberchange_text1_layout::Window_y
  258.       width = WD_memberchange_text1_layout::Window_width
  259.       height = WD_memberchange_text1_layout::Window_height
  260.       text = WD_memberchange_ini::Txtwindow1_text
  261.       align = WD_memberchange_text1_layout::Text_align
  262.       @text1_window = Window_MemberChangeText.new(x, y, width, height, text, align)
  263.       @text1_window.viewport = @viewport
  264.     end
  265.     if WD_memberchange_ini::Txtwindow2_use
  266.       x = WD_memberchange_text2_layout::Window_x
  267.       y = WD_memberchange_text2_layout::Window_y
  268.       width = WD_memberchange_text2_layout::Window_width
  269.       height = WD_memberchange_text2_layout::Window_height
  270.       text = WD_memberchange_ini::Txtwindow2_text
  271.       align = WD_memberchange_text2_layout::Text_align
  272.       @text2_window = Window_MemberChangeText.new(x, y, width, height, text, align)
  273.       @text2_window.viewport = @viewport
  274.     end
  275.     if WD_memberchange_ini::Txtwindow3_use
  276.       x = WD_memberchange_text3_layout::Window_x
  277.       y = WD_memberchange_text3_layout::Window_y
  278.       width = WD_memberchange_text3_layout::Window_width
  279.       height = WD_memberchange_text3_layout::Window_height
  280.       text = WD_memberchange_ini::Txtwindow3_text
  281.       align = WD_memberchange_text3_layout::Text_align
  282.       @text3_window = Window_MemberChangeText.new(x, y, width, height, text, align)
  283.       @text3_window.viewport = @viewport
  284.     end
  285.     textwindow_visualize(3)
  286.   end
  287.   #--------------------------------------------------------------------------
  288.   # ● パーティから外すメンバーの選択
  289.   #--------------------------------------------------------------------------
  290.   def determine_member1
  291.     @back_window.activate
  292.     textwindow_visualize(2)
  293.   end
  294.   #--------------------------------------------------------------------------
  295.   # ● パーティから外すメンバーのキャンセル
  296.   #--------------------------------------------------------------------------
  297.   def cancel_member1
  298.     @front_window.activate
  299.     textwindow_visualize(3)
  300.   end
  301.   #--------------------------------------------------------------------------
  302.   # ● パーティに加えるメンバーの選択
  303.   #--------------------------------------------------------------------------
  304.   def determine_member2
  305.     actor1 = @front_window.data[@front_window.index]
  306.     actor2 = @back_window.data[@back_window.index]
  307.  
  308.     remove_equip(actor1) if WD_memberchange_ini::Remove_equip1
  309.     remove_actorid = []
  310.     membersize = $game_party.members.size
  311.     for i in @front_window.index..membersize - 1
  312.       remove_actorid.push($game_party.members[@front_window.index].id)
  313.       $game_party.remove_actor($game_party.members[@front_window.index].id)
  314.     end
  315.  
  316.     if actor2
  317.       $game_party.add_actor(actor2.id)
  318.     end
  319.     for i in 1..remove_actorid.size - 1
  320.       $game_party.add_actor(remove_actorid[i])
  321.     end
  322.  
  323.     @front_window.refresh
  324.     @back_window.refresh
  325.  
  326.     @front_window.activate
  327.     textwindow_visualize(3)
  328.   end
  329.   #--------------------------------------------------------------------------
  330.   # ● ソート切り替え
  331.   #--------------------------------------------------------------------------
  332.   def change_sort
  333.       $game_variables[WD_memberchange_ini::Sort_variable] += 1
  334.       if $game_variables[WD_memberchange_ini::Sort_variable] >=
  335.                          WD_memberchange_ini::Sort_series.size
  336.         $game_variables[WD_memberchange_ini::Sort_variable] = 0
  337.       end
  338.       @back_window.refresh
  339.       @status_window.refresh
  340.       @sort_window.refresh
  341.       @back_window.select(0) if WD_memberchange_ini::Sort_indexini
  342.   end
  343.   #--------------------------------------------------------------------------
  344.   # ● 除籍の選択
  345.   #--------------------------------------------------------------------------
  346.   def select_eliminate
  347.     @eliminate_window.visible = true
  348.     @eliminate_window.select(1)
  349.     @eliminate_window.activate
  350.   end
  351.   #--------------------------------------------------------------------------
  352.   # ● 除籍の決定
  353.   #--------------------------------------------------------------------------
  354.   def ok_eliminate
  355.     if @eliminate_window.index == 0
  356.       actor = @back_window.data[@back_window.index]
  357.       $game_switches[WD_memberchange_ini::Initial_switch + actor.id - 1] = false
  358.       remove_equip(actor) if WD_memberchange_ini::Remove_equip2
  359.       @back_window.refresh      
  360.     end
  361.     @back_window.activate
  362.     @eliminate_window.visible = false
  363.   end
  364.   #--------------------------------------------------------------------------
  365.   # ● 除籍のキャンセル
  366.   #--------------------------------------------------------------------------
  367.   def cancel_eliminate
  368.     @back_window.activate
  369.     @eliminate_window.visible = false
  370.   end
  371.   #--------------------------------------------------------------------------
  372.   # ● 装備を外す
  373.   #--------------------------------------------------------------------------
  374.   def remove_equip(actor)
  375.     if actor
  376.       actor.change_equip_by_id(0, 0)
  377.       actor.change_equip_by_id(1, 0)
  378.       actor.change_equip_by_id(2, 0)
  379.       actor.change_equip_by_id(3, 0)
  380.       actor.change_equip_by_id(4, 0)
  381.     end
  382.   end
  383.   #--------------------------------------------------------------------------
  384.   # ● テキストウィンドウの表示切替
  385.   #--------------------------------------------------------------------------
  386.   def textwindow_visualize(timing)
  387.     if WD_memberchange_ini::Txtwindow1_use
  388.         if WD_memberchange_ini::Txtwindow1_timing == timing
  389.           @text1_window.visible = false
  390.         else
  391.           @text1_window.visible = true
  392.        end
  393.     end
  394.     if WD_memberchange_ini::Txtwindow2_use
  395.       if WD_memberchange_ini::Txtwindow2_timing == timing
  396.         @text2_window.visible = false
  397.       else
  398.         @text2_window.visible = true
  399.       end
  400.     end
  401.     if WD_memberchange_ini::Txtwindow3_use
  402.       if WD_memberchange_ini::Txtwindow3_timing == timing
  403.         @text3_window.visible = false
  404.       else
  405.         @text3_window.visible = true
  406.       end
  407.     end
  408.   end
  409. end
  410.  
  411.  
  412. #==============================================================================
  413. # ■ Window_MemberChangeList
  414. #------------------------------------------------------------------------------
  415. #  アクターを選択するための共通ウィンドウクラスです。
  416. #==============================================================================
  417.  
  418. class Window_MemberChangeList < Window_Selectable
  419.   include WD_memberchange_commonmethod
  420.   #--------------------------------------------------------------------------
  421.   # ● 公開インスタンス変数
  422.   #--------------------------------------------------------------------------
  423.   attr_reader   :data                 # アクターデータ
  424.   #--------------------------------------------------------------------------
  425.   # ● オブジェクト初期化
  426.   #--------------------------------------------------------------------------
  427.   def initialize(x, y, width, height)
  428.     super(x, y, width, height)
  429.   end  
  430.   #--------------------------------------------------------------------------
  431.   # ● 項目数の取得
  432.   #--------------------------------------------------------------------------
  433.   def item_max
  434.     @data ? @data.size : 1
  435.   end
  436.   #--------------------------------------------------------------------------
  437.   # ● アイテムの取得
  438.   #--------------------------------------------------------------------------
  439.   def item
  440.     @data && index >= 0 ? @data[index] : nil
  441.   end
  442.   #--------------------------------------------------------------------------
  443.   # ● ヘルプウィンドウ更新メソッドの呼び出し
  444.   #--------------------------------------------------------------------------
  445.   def call_update_help
  446.     update_help if active
  447.   end
  448.   #--------------------------------------------------------------------------
  449.   # ● ヘルプテキスト更新
  450.   #--------------------------------------------------------------------------
  451.   def update_help
  452.     if @status_window
  453.       @status_window.set_item(item)
  454.     end
  455.   end  
  456.   #--------------------------------------------------------------------------
  457.   # ● リフレッシュ
  458.   #--------------------------------------------------------------------------
  459.   def refresh
  460.     make_item_list
  461.     create_contents
  462.     draw_all_items
  463.   end
  464.   #--------------------------------------------------------------------------
  465.   # ● ステータスウィンドウの設定
  466.   #--------------------------------------------------------------------------
  467.   def status_window=(status_window)
  468.     @status_window = status_window
  469.   end
  470.   #--------------------------------------------------------------------------
  471.   # ● 下端パディングの更新
  472.   #--------------------------------------------------------------------------
  473.   def update_padding_bottom
  474.     self.padding_bottom = padding
  475.   end
  476.   #--------------------------------------------------------------------------
  477.   # ● X ボタン(Sort)が押されたときの処理
  478.   #--------------------------------------------------------------------------
  479.   def process_sort
  480.     Sound.play_cursor
  481.     Input.update
  482.     call_handler(:sort)
  483.   end
  484.   #--------------------------------------------------------------------------
  485.   # ● Y ボタン(除籍)が押されたときの処理
  486.   #--------------------------------------------------------------------------
  487.   def process_eliminate
  488.     actor = @data[index]
  489.     if actor == nil
  490.       Sound.play_buzzer
  491.     elsif $game_party.members.include?(actor)
  492.       Sound.play_buzzer
  493.     elsif WD_memberchange_ini::Fix_switch2[actor.id] != nil and
  494.           $game_switches[WD_memberchange_ini::Fix_switch2[actor.id]] == true
  495.       Sound.play_buzzer
  496.     else
  497.       Sound.play_ok
  498.       Input.update
  499.       deactivate
  500.       call_handler(:eliminate)
  501.     end
  502.   end
  503.   #--------------------------------------------------------------------------
  504.   # ● 決定やキャンセルなどのハンドリング処理
  505.   #--------------------------------------------------------------------------
  506.   def process_handling
  507.     super
  508.     if active
  509.       return process_sort   if handle?(:sort)   && Input.trigger?(:X)
  510.       return process_eliminate  if handle?(:eliminate)   && Input.trigger?(:Y)
  511.     end
  512.   end
  513.   #--------------------------------------------------------------------------
  514.   # ● 選択項目の有効状態を取得
  515.   #--------------------------------------------------------------------------
  516.   def current_item_enabled?
  517.     if @enabled[index]
  518.       return true
  519.     else
  520.       return false
  521.     end
  522.   end
  523. end
  524.  
  525.  
  526. #==============================================================================
  527. # ■ Window_FrontMember
  528. #------------------------------------------------------------------------------
  529. #  パーティから外すアクターを選択するウィンドウです。
  530. #==============================================================================
  531.  
  532. class Window_FrontMember < Window_MemberChangeList
  533.   include WD_memberchange_commonmethod
  534.   #--------------------------------------------------------------------------
  535.   # ● オブジェクト初期化
  536.   #--------------------------------------------------------------------------
  537.   def initialize
  538.     x = WD_memberchange_front_layout::Window_x
  539.     y = WD_memberchange_front_layout::Window_y
  540.     width = WD_memberchange_front_layout::Window_width
  541.     height = WD_memberchange_front_layout::Window_height
  542.     super(x, y, width, height)
  543.     @data = []
  544.     refresh
  545.     activate
  546.     select(0)
  547.   end
  548.   #--------------------------------------------------------------------------
  549.   # ● 桁数の取得
  550.   #--------------------------------------------------------------------------
  551.   def col_max
  552.     return WD_memberchange_front_layout::Window_col
  553.   end  
  554.   #--------------------------------------------------------------------------
  555.   # ● アクターリストの作成
  556.   #--------------------------------------------------------------------------
  557.   def make_item_list
  558.     @data = []
  559.     $game_party.members.each do |actor|
  560.       @data.push(actor)
  561.     end
  562.  
  563.     @enabled = []
  564.     @data.each do |actor|
  565.       if WD_memberchange_ini::Fix_switch1[actor.id] != nil and
  566.          $game_switches[WD_memberchange_ini::Fix_switch1[actor.id]]
  567.         @enabled.push(false)
  568.       else
  569.         @enabled.push(true)
  570.       end
  571.     end
  572.  
  573.     if @data.size < WD_memberchange_ini::Party_max
  574.       @data.push(nil)
  575.       @enabled.push(true)
  576.     end
  577.   end
  578.   #--------------------------------------------------------------------------
  579.   # ● 項目の描画
  580.   #--------------------------------------------------------------------------
  581.   def draw_item(index)
  582.     actor = @data[index]
  583.     if actor
  584.       rect = item_rect(index)
  585.       rect.width -= 4
  586.  
  587.       x0 = rect.x
  588.       y0 = rect.y
  589.       enabled = @enabled[index]
  590.  
  591.       if WD_memberchange_front_layout::Faceview
  592.         x = x0 + WD_memberchange_front_layout::Faceview_x
  593.         y = y0 + WD_memberchange_front_layout::Faceview_y
  594.         draw_actor_face(actor, x, y, enabled)
  595.       end
  596.       if WD_memberchange_front_layout::Charaview
  597.         x = x0 + WD_memberchange_front_layout::Charaview_x
  598.         y = y0 + WD_memberchange_front_layout::Charaview_y
  599.         draw_character(actor.character_name, actor.character_index, x, y, enabled)
  600.       end
  601.       if WD_memberchange_front_layout::Stateview == true
  602.         x = x0 + WD_memberchange_front_layout::Stateview_x
  603.         y = y0 + WD_memberchange_front_layout::Stateview_y
  604.         width = WD_memberchange_front_layout::Stateview_width
  605.         draw_actor_icons(actor, x, y, width, enabled)
  606.       end
  607.       if WD_memberchange_front_layout::Nameview == true
  608.         x = x0 + WD_memberchange_front_layout::Nameview_x
  609.         y = y0 + WD_memberchange_front_layout::Nameview_y
  610.         width = WD_memberchange_front_layout::Nameview_width
  611.         draw_actor_name(actor, x, y, width, enabled)
  612.       end
  613.       if WD_memberchange_front_layout::Classview == true
  614.         x = x0 + WD_memberchange_front_layout::Classview_x
  615.         y = y0 + WD_memberchange_front_layout::Classview_y
  616.         width = WD_memberchange_front_layout::Classview_width
  617.         draw_actor_class(actor, x, y, width, enabled)
  618.       end
  619.        if WD_memberchange_front_layout::Nicknameview == true
  620.         x = x0 + WD_memberchange_front_layout::Nicknameview_x
  621.         y = y0 + WD_memberchange_front_layout::Nicknameview_y
  622.         width = WD_memberchange_front_layout::Nicknameview_width
  623.         draw_actor_nickname(actor, x, y, width, enabled)
  624.       end
  625.       if WD_memberchange_front_layout::Lvview == true
  626.         x = x0 + WD_memberchange_front_layout::Lvview_x
  627.         y = y0 + WD_memberchange_front_layout::Lvview_y
  628.         width = WD_memberchange_front_layout::Lvview_width
  629.         draw_actor_level(actor, x, y, width, enabled)
  630.       end
  631.       if WD_memberchange_front_layout::Hpgaugeview == true
  632.         x = x0 + WD_memberchange_front_layout::Hpgaugeview_x
  633.         y = y0 + WD_memberchange_front_layout::Hpgaugeview_y
  634.         width = WD_memberchange_front_layout::Hpgaugeview_width
  635.         draw_actor_hp(actor, x, y, width, enabled)
  636.       end
  637.       if WD_memberchange_front_layout::Mpgaugeview == true
  638.         x = x0 + WD_memberchange_front_layout::Mpgaugeview_x
  639.         y = y0 + WD_memberchange_front_layout::Mpgaugeview_y
  640.         width = WD_memberchange_front_layout::Mpgaugeview_width
  641.         draw_actor_mp(actor, x, y, width, enabled)
  642.       end
  643.       if WD_memberchange_front_layout::Tpview == true
  644.         x = x0 + WD_memberchange_front_layout::Tpview_x
  645.         y = y0 + WD_memberchange_front_layout::Tpview_y
  646.         width = WD_memberchange_front_layout::Tpview_width
  647.         draw_actor_tp(actor, x, y, width, enabled)
  648.       end
  649.       if WD_memberchange_front_layout::Parameterview0 == true
  650.         x = x0 + WD_memberchange_front_layout::Parameterview0_x
  651.         y = y0 + WD_memberchange_front_layout::Parameterview0_y
  652.         width = WD_memberchange_front_layout::Parameterview0_width
  653.         draw_actor_param(actor, x, y, 0, width, enabled)
  654.       end
  655.       if WD_memberchange_front_layout::Parameterview1 == true
  656.         x = x0 + WD_memberchange_front_layout::Parameterview1_x
  657.         y = y0 + WD_memberchange_front_layout::Parameterview1_y
  658.         width = WD_memberchange_front_layout::Parameterview1_width
  659.         draw_actor_param(actor, x, y, 1, width, enabled)
  660.       end
  661.       if WD_memberchange_front_layout::Parameterview2 == true
  662.         x = x0 + WD_memberchange_front_layout::Parameterview2_x
  663.         y = y0 + WD_memberchange_front_layout::Parameterview2_y
  664.         width = WD_memberchange_front_layout::Parameterview2_width
  665.         draw_actor_param(actor, x, y, 2, width, enabled)
  666.       end
  667.       if WD_memberchange_front_layout::Parameterview3 == true
  668.         x = x0 + WD_memberchange_front_layout::Parameterview3_x
  669.         y = y0 + WD_memberchange_front_layout::Parameterview3_y
  670.         width = WD_memberchange_front_layout::Parameterview3_width
  671.         draw_actor_param(actor, x, y, 3, width, enabled)
  672.       end
  673.       if WD_memberchange_front_layout::Parameterview4 == true
  674.         x = x0 + WD_memberchange_front_layout::Parameterview4_x
  675.         y = y0 + WD_memberchange_front_layout::Parameterview4_y
  676.         width = WD_memberchange_front_layout::Parameterview4_width
  677.         draw_actor_param(actor, x, y, 4, width, enabled)
  678.       end
  679.       if WD_memberchange_front_layout::Parameterview5 == true
  680.         x = x0 + WD_memberchange_front_layout::Parameterview5_x
  681.         y = y0 + WD_memberchange_front_layout::Parameterview5_y
  682.         width = WD_memberchange_front_layout::Parameterview5_width
  683.         draw_actor_param(actor, x, y, 5, width, enabled)
  684.       end
  685.       if WD_memberchange_front_layout::Parameterview6 == true
  686.         x = x0 + WD_memberchange_front_layout::Parameterview6_x
  687.         y = y0 + WD_memberchange_front_layout::Parameterview6_y
  688.         width = WD_memberchange_front_layout::Parameterview6_width
  689.         draw_actor_param(actor, x, y, 6, width, enabled)
  690.       end
  691.       if WD_memberchange_front_layout::Parameterview7 == true
  692.         x = x0 + WD_memberchange_front_layout::Parameterview7_x
  693.         y = y0 + WD_memberchange_front_layout::Parameterview7_y
  694.         width = WD_memberchange_front_layout::Parameterview7_width
  695.         draw_actor_param(actor, x, y, 7, width, enabled)
  696.       end
  697.  
  698.     end
  699.   end
  700.   #--------------------------------------------------------------------------
  701.   # ● ウィンドウ内容の作成
  702.   #--------------------------------------------------------------------------
  703.   def create_contents
  704.     contents.dispose
  705.     if contents_width > 0 && contents_height > 0
  706.       self.contents = Bitmap.new(contents_width,
  707.       [contents_height-999, row_max * (
  708.     WD_memberchange_front_layout::Rect_height +
  709.     WD_memberchange_front_layout::Rect_interval) -
  710.     WD_memberchange_front_layout::Rect_interval].max)
  711.     else
  712.       self.contents = Bitmap.new(1, 1)
  713.     end
  714.   end
  715.   #--------------------------------------------------------------------------
  716.   # ● 先頭の行の取得
  717.   #--------------------------------------------------------------------------
  718.   def top_row
  719.     oy / (WD_memberchange_front_layout::Rect_height +
  720.           WD_memberchange_front_layout::Rect_interval)
  721.   end
  722.   #--------------------------------------------------------------------------
  723.   # ● 先頭の行の設定
  724.   #--------------------------------------------------------------------------
  725.   def top_row=(row)
  726.     row = 0 if row < 0
  727.     row = row_max - 1 if row > row_max - 1
  728.     self.oy = row * (WD_memberchange_front_layout::Rect_height +
  729.                      WD_memberchange_front_layout::Rect_interval)
  730.   end
  731.   #--------------------------------------------------------------------------
  732.   # ● 1 ページに表示できる行数の取得
  733.   #--------------------------------------------------------------------------
  734.   def page_row_max
  735.     return (height - padding*2 + WD_memberchange_front_layout::Rect_interval) /
  736.     (WD_memberchange_front_layout::Rect_height +
  737.      WD_memberchange_front_layout::Rect_interval)
  738.   end
  739.   #--------------------------------------------------------------------------
  740.   # ● 項目を描画する矩形の取得
  741.   #--------------------------------------------------------------------------
  742.   def item_rect(index)
  743.     rect = Rect.new
  744.     rect.width = WD_memberchange_front_layout::Rect_width
  745.     rect.height = WD_memberchange_front_layout::Rect_height
  746.     rect.x = index % col_max *
  747.              (rect.width + WD_memberchange_front_layout::Rect_spacing)
  748.     rect.y = index / col_max *
  749.              (rect.height + WD_memberchange_front_layout::Rect_interval)
  750.     rect
  751.   end
  752.   #--------------------------------------------------------------------------
  753.   # ● キャンセルボタンが押されたときの処理
  754.   #--------------------------------------------------------------------------
  755.   def process_cancel
  756.     if $game_party.members.size > 0
  757.       Sound.play_cancel
  758.       Input.update
  759.       deactivate
  760.       call_cancel_handler
  761.     else
  762.       Sound.play_buzzer
  763.     end
  764.   end
  765. end
  766.  
  767. #==============================================================================
  768. # ■ Window_BackMember
  769. #------------------------------------------------------------------------------
  770. #  パーティに加えるアクターを選択するウィンドウです。
  771. #==============================================================================
  772.  
  773. class Window_BackMember < Window_MemberChangeList
  774.   include WD_memberchange_commonmethod
  775.   #--------------------------------------------------------------------------
  776.   # ● オブジェクト初期化
  777.   #--------------------------------------------------------------------------
  778.   def initialize
  779.     x = WD_memberchange_back_layout::Window_x
  780.     y = WD_memberchange_back_layout::Window_y
  781.     width = WD_memberchange_back_layout::Window_width
  782.     height = WD_memberchange_back_layout::Window_height
  783.     super(x, y, width, height + 46)
  784.     @data = []
  785.     refresh
  786.     select(0)
  787.   end
  788.   #--------------------------------------------------------------------------
  789.   # ● 桁数の取得
  790.   #--------------------------------------------------------------------------
  791.   def col_max
  792.     return WD_memberchange_back_layout::Window_col
  793.   end  
  794.   #--------------------------------------------------------------------------
  795.   # ● アクターリストの作成
  796.   #--------------------------------------------------------------------------
  797.   def make_item_list
  798.     data_buf = []
  799.     $data_actors.each do |actor|
  800.       if actor
  801.         if $game_switches[WD_memberchange_ini::Initial_switch+actor.id-1]
  802.           data_buf.push($game_actors[actor.id])
  803.         end
  804.       end
  805.     end
  806.     case WD_memberchange_ini::Sort_series[
  807.          $game_variables[WD_memberchange_ini::Sort_variable]]
  808.     when 0
  809.       @data = data_buf.sort_by{
  810.                |actor| actor.id}
  811.     when 1
  812.       @data = data_buf.sort_by{
  813.                |actor| WD_memberchange_ini::Assignsort_array[actor.id-1]}
  814.     when 2
  815.       @data = data_buf.sort_by{
  816.                |actor| -actor.level*10000+actor.id}
  817.     when 3
  818.       @data = data_buf.sort_by{
  819.                |actor| -actor.mhp*10000+actor.id}
  820.     when 4
  821.       @data = data_buf.sort_by{
  822.                |actor| -actor.mmp*10000+actor.id}
  823.     when 5
  824.       @data = data_buf.sort_by{
  825.                |actor| -actor.atk*10000+actor.id}
  826.     when 6
  827.       @data = data_buf.sort_by{
  828.                |actor| -actor.def*10000+actor.id}
  829.     when 7
  830.       @data = data_buf.sort_by{
  831.                |actor| -actor.mat*10000+actor.id}
  832.     when 8
  833.       @data = data_buf.sort_by{
  834.                |actor| -actor.mdf*10000+actor.id}
  835.     when 9
  836.       @data = data_buf.sort_by{
  837.                |actor| -actor.agi*10000+actor.id}
  838.     when 10
  839.       @data = data_buf.sort_by{
  840.                |actor| -actor.luk*10000+actor.id}
  841.     when 11
  842.       @data = data_buf.sort_by{
  843.                |actor| actor.class_id*10000+actor.id}
  844.     end
  845.  
  846.  
  847.     @enabled = []
  848.     @data.each do |actor|
  849.       if $game_party.members.include?(actor)
  850.         @enabled.push(false)
  851.       else     
  852.         @enabled.push(true)
  853.       end
  854.     end
  855.  
  856.     if WD_memberchange_ini::Remove_only
  857.       @data.push(nil)
  858.       @enabled.push(true)
  859.     end
  860.   end
  861.   #--------------------------------------------------------------------------
  862.   # ● 項目の描画
  863.   #--------------------------------------------------------------------------
  864.   def draw_item(index)
  865.     actor = @data[index]
  866.     if actor
  867.       rect = item_rect(index)
  868.       rect.width -= 4
  869.  
  870.       x0 = rect.x
  871.       y0 = rect.y
  872.       enabled = @enabled[index]
  873.  
  874.       if WD_memberchange_back_layout::Faceview
  875.         x = x0 + WD_memberchange_back_layout::Faceview_x
  876.         y = y0 + WD_memberchange_back_layout::Faceview_y
  877.         draw_actor_face(actor, x, y, enabled)
  878.       end
  879.       if WD_memberchange_back_layout::Charaview
  880.         x = x0 + WD_memberchange_back_layout::Charaview_x
  881.         y = y0 + WD_memberchange_back_layout::Charaview_y
  882.         draw_character(actor.character_name, actor.character_index, x, y, enabled)
  883.       end
  884.       if WD_memberchange_back_layout::Stateview == true
  885.         x = x0 + WD_memberchange_back_layout::Stateview_x
  886.         y = y0 + WD_memberchange_back_layout::Stateview_y
  887.         width = WD_memberchange_back_layout::Stateview_width
  888.         draw_actor_icons(actor, x, y, width, enabled)
  889.       end
  890.       if WD_memberchange_back_layout::Nameview == true
  891.         x = x0 + WD_memberchange_back_layout::Nameview_x
  892.         y = y0 + WD_memberchange_back_layout::Nameview_y
  893.         width = WD_memberchange_back_layout::Nameview_width
  894.         draw_actor_name(actor, x, y, width, enabled)
  895.       end
  896.       if WD_memberchange_back_layout::Classview == true
  897.         x = x0 + WD_memberchange_back_layout::Classview_x
  898.         y = y0 + WD_memberchange_back_layout::Classview_y
  899.         width = WD_memberchange_back_layout::Classview_width
  900.         draw_actor_class(actor, x, y, width, enabled)
  901.       end
  902.        if WD_memberchange_back_layout::Nicknameview == true
  903.         x = x0 + WD_memberchange_back_layout::Nicknameview_x
  904.         y = y0 + WD_memberchange_back_layout::Nicknameview_y
  905.         width = WD_memberchange_back_layout::Nicknameview_width
  906.         draw_actor_nickname(actor, x, y, width, enabled)
  907.       end
  908.       if WD_memberchange_back_layout::Lvview == true
  909.         x = x0 + WD_memberchange_back_layout::Lvview_x
  910.         y = y0 + WD_memberchange_back_layout::Lvview_y
  911.         width = WD_memberchange_back_layout::Lvview_width
  912.         draw_actor_level(actor, x, y, width, enabled)
  913.       end
  914.       if WD_memberchange_back_layout::Hpgaugeview == true
  915.         x = x0 + WD_memberchange_back_layout::Hpgaugeview_x
  916.         y = y0 + WD_memberchange_back_layout::Hpgaugeview_y
  917.         width = WD_memberchange_back_layout::Hpgaugeview_width
  918.         draw_actor_hp(actor, x, y, width, enabled)
  919.       end
  920.       if WD_memberchange_back_layout::Mpgaugeview == true
  921.         x = x0 + WD_memberchange_back_layout::Mpgaugeview_x
  922.         y = y0 + WD_memberchange_back_layout::Mpgaugeview_y
  923.         width = WD_memberchange_back_layout::Mpgaugeview_width
  924.         draw_actor_mp(actor, x, y, width, enabled)
  925.       end
  926.       if WD_memberchange_back_layout::Tpview == true
  927.         x = x0 + WD_memberchange_back_layout::Tpview_x
  928.         y = y0 + WD_memberchange_back_layout::Tpview_y
  929.         width = WD_memberchange_back_layout::Tpview_width
  930.         draw_actor_tp(actor, x, y, width, enabled)
  931.       end
  932.       if WD_memberchange_back_layout::Parameterview0 == true
  933.         x = x0 + WD_memberchange_back_layout::Parameterview0_x
  934.         y = y0 + WD_memberchange_back_layout::Parameterview0_y
  935.         width = WD_memberchange_back_layout::Parameterview0_width
  936.         draw_actor_param(actor, x, y, 0, width, enabled)
  937.       end
  938.       if WD_memberchange_back_layout::Parameterview1 == true
  939.         x = x0 + WD_memberchange_back_layout::Parameterview1_x
  940.         y = y0 + WD_memberchange_back_layout::Parameterview1_y
  941.         width = WD_memberchange_back_layout::Parameterview1_width
  942.         draw_actor_param(actor, x, y, 1, width, enabled)
  943.       end
  944.       if WD_memberchange_back_layout::Parameterview2 == true
  945.         x = x0 + WD_memberchange_back_layout::Parameterview2_x
  946.         y = y0 + WD_memberchange_back_layout::Parameterview2_y
  947.         width = WD_memberchange_back_layout::Parameterview2_width
  948.         draw_actor_param(actor, x, y, 2, width, enabled)
  949.       end
  950.       if WD_memberchange_back_layout::Parameterview3 == true
  951.         x = x0 + WD_memberchange_back_layout::Parameterview3_x
  952.         y = y0 + WD_memberchange_back_layout::Parameterview3_y
  953.         width = WD_memberchange_back_layout::Parameterview3_width
  954.         draw_actor_param(actor, x, y, 3, width, enabled)
  955.       end
  956.       if WD_memberchange_back_layout::Parameterview4 == true
  957.         x = x0 + WD_memberchange_back_layout::Parameterview4_x
  958.         y = y0 + WD_memberchange_back_layout::Parameterview4_y
  959.         width = WD_memberchange_back_layout::Parameterview4_width
  960.         draw_actor_param(actor, x, y, 4, width, enabled)
  961.       end
  962.       if WD_memberchange_back_layout::Parameterview5 == true
  963.         x = x0 + WD_memberchange_back_layout::Parameterview5_x
  964.         y = y0 + WD_memberchange_back_layout::Parameterview5_y
  965.         width = WD_memberchange_back_layout::Parameterview5_width
  966.         draw_actor_param(actor, x, y, 5, width, enabled)
  967.       end
  968.       if WD_memberchange_back_layout::Parameterview6 == true
  969.         x = x0 + WD_memberchange_back_layout::Parameterview6_x
  970.         y = y0 + WD_memberchange_back_layout::Parameterview6_y
  971.         width = WD_memberchange_back_layout::Parameterview6_width
  972.         draw_actor_param(actor, x, y, 6, width, enabled)
  973.       end
  974.       if WD_memberchange_back_layout::Parameterview7 == true
  975.         x = x0 + WD_memberchange_back_layout::Parameterview7_x
  976.         y = y0 + WD_memberchange_back_layout::Parameterview7_y
  977.         width = WD_memberchange_back_layout::Parameterview7_width
  978.         draw_actor_param(actor, x, y, 7, width, enabled)
  979.       end
  980.  
  981.     end
  982.   end
  983.   #--------------------------------------------------------------------------
  984.   # ● ウィンドウ内容の作成
  985.   #--------------------------------------------------------------------------
  986.   def create_contents
  987.     contents.dispose
  988.     if contents_width > 0 && contents_height > 0
  989.       self.contents = Bitmap.new(contents_width,
  990.       [contents_height-999, row_max * (
  991.     WD_memberchange_back_layout::Rect_height +
  992.     WD_memberchange_back_layout::Rect_interval) -
  993.     WD_memberchange_back_layout::Rect_interval].max)
  994.     else
  995.       self.contents = Bitmap.new(1, 1)
  996.     end
  997.   end
  998.   #--------------------------------------------------------------------------
  999.   # ● 先頭の行の取得
  1000.   #--------------------------------------------------------------------------
  1001.   def top_row
  1002.     oy / (WD_memberchange_back_layout::Rect_height +
  1003.           WD_memberchange_back_layout::Rect_interval)
  1004.   end
  1005.   #--------------------------------------------------------------------------
  1006.   # ● 先頭の行の設定
  1007.   #--------------------------------------------------------------------------
  1008.   def top_row=(row)
  1009.     row = 0 if row < 0
  1010.     row = row_max - 1 if row > row_max - 1
  1011.     self.oy = row * (WD_memberchange_back_layout::Rect_height +
  1012.                      WD_memberchange_back_layout::Rect_interval)
  1013.   end
  1014.   #--------------------------------------------------------------------------
  1015.   # ● 1 ページに表示できる行数の取得
  1016.   #--------------------------------------------------------------------------
  1017.   def page_row_max
  1018.     return (height - padding*2 + WD_memberchange_back_layout::Rect_interval) /
  1019.     (WD_memberchange_back_layout::Rect_height +
  1020.      WD_memberchange_back_layout::Rect_interval)
  1021.   end
  1022.   #--------------------------------------------------------------------------
  1023.   # ● 項目を描画する矩形の取得
  1024.   #--------------------------------------------------------------------------
  1025.   def item_rect(index)
  1026.     rect = Rect.new
  1027.     rect.width = WD_memberchange_back_layout::Rect_width
  1028.     rect.height = WD_memberchange_back_layout::Rect_height
  1029.     rect.x = index % col_max *
  1030.              (rect.width + WD_memberchange_back_layout::Rect_spacing)
  1031.     rect.y = index / col_max *
  1032.              (rect.height + WD_memberchange_back_layout::Rect_interval)
  1033.     rect
  1034.   end
  1035.  
  1036. end
  1037.  
  1038.  
  1039. #==============================================================================
  1040. # ■ Window_MemberChangeStatus
  1041. #------------------------------------------------------------------------------
  1042. #  アクターのステータスを表示するウィンドウです。
  1043. #==============================================================================
  1044.  
  1045. class Window_MemberChangeStatus < Window_Base
  1046.   include WD_memberchange_commonmethod
  1047.   #--------------------------------------------------------------------------
  1048.   # ● オブジェクト初期化
  1049.   #--------------------------------------------------------------------------
  1050.   def initialize
  1051.     x = WD_memberchange_status_layout::Window_x
  1052.     y = WD_memberchange_status_layout::Window_y
  1053.     width = WD_memberchange_status_layout::Window_width
  1054.     height = WD_memberchange_status_layout::Window_height
  1055.     super(x, y, width, height)
  1056.     @actor = nil
  1057.     refresh
  1058.   end
  1059.   #--------------------------------------------------------------------------
  1060.   # ● アクターの設定
  1061.   #--------------------------------------------------------------------------
  1062.   def set_item(actor)
  1063.     return if @actor == actor
  1064.     @actor = actor
  1065.     refresh
  1066.   end
  1067.   #--------------------------------------------------------------------------
  1068.   # ● リフレッシュ
  1069.   #--------------------------------------------------------------------------
  1070.   def refresh
  1071.     contents.clear
  1072.     contents.font.size = 24
  1073.  
  1074.     if @actor != nil
  1075.  
  1076.       x0 = 0
  1077.       y0 = 0
  1078.       enabled = true
  1079.       actor = @actor
  1080.  
  1081.       if WD_memberchange_status_layout::Faceview
  1082.         x = x0 + WD_memberchange_status_layout::Faceview_x
  1083.         y = y0 + WD_memberchange_status_layout::Faceview_y
  1084.         draw_actor_face(actor, x, y, enabled)
  1085.       end
  1086.       if WD_memberchange_status_layout::Charaview
  1087.         x = x0 + WD_memberchange_status_layout::Charaview_x
  1088.         y = y0 + WD_memberchange_status_layout::Charaview_y
  1089.         draw_character(actor.character_name, actor.character_index, x, y, enabled)
  1090.       end
  1091.       if WD_memberchange_status_layout::Stateview == true
  1092.         x = x0 + WD_memberchange_status_layout::Stateview_x
  1093.         y = y0 + WD_memberchange_status_layout::Stateview_y
  1094.         width = WD_memberchange_status_layout::Stateview_width
  1095.         draw_actor_icons(actor, x, y, width, enabled)
  1096.       end
  1097.       if WD_memberchange_status_layout::Nameview == true
  1098.         x = x0 + WD_memberchange_status_layout::Nameview_x
  1099.         y = y0 + WD_memberchange_status_layout::Nameview_y
  1100.         width = WD_memberchange_status_layout::Nameview_width
  1101.         draw_actor_name(actor, x, y, width, enabled)
  1102.       end
  1103.       if WD_memberchange_status_layout::Classview == true
  1104.         x = x0 + WD_memberchange_status_layout::Classview_x
  1105.         y = y0 + WD_memberchange_status_layout::Classview_y
  1106.         width = WD_memberchange_status_layout::Classview_width
  1107.         draw_actor_class(actor, x, y, width, enabled)
  1108.       end
  1109.        if WD_memberchange_status_layout::Nicknameview == true
  1110.         x = x0 + WD_memberchange_status_layout::Nicknameview_x
  1111.         y = y0 + WD_memberchange_status_layout::Nicknameview_y
  1112.         width = WD_memberchange_status_layout::Nicknameview_width
  1113.         draw_actor_nickname(actor, x, y, width, enabled)
  1114.       end
  1115.       if WD_memberchange_status_layout::Lvview == true
  1116.         x = x0 + WD_memberchange_status_layout::Lvview_x
  1117.         y = y0 + WD_memberchange_status_layout::Lvview_y
  1118.         width = WD_memberchange_status_layout::Lvview_width
  1119.         draw_actor_level(actor, x, y, width, enabled)
  1120.       end
  1121.       if WD_memberchange_status_layout::Hpgaugeview == true
  1122.         x = x0 + WD_memberchange_status_layout::Hpgaugeview_x
  1123.         y = y0 + WD_memberchange_status_layout::Hpgaugeview_y
  1124.         width = WD_memberchange_status_layout::Hpgaugeview_width
  1125.         draw_actor_hp(actor, x, y, width, enabled)
  1126.       end
  1127.       if WD_memberchange_status_layout::Mpgaugeview == true
  1128.         x = x0 + WD_memberchange_status_layout::Mpgaugeview_x
  1129.         y = y0 + WD_memberchange_status_layout::Mpgaugeview_y
  1130.         width = WD_memberchange_status_layout::Mpgaugeview_width
  1131.         draw_actor_mp(actor, x, y, width, enabled)
  1132.       end
  1133.       if WD_memberchange_status_layout::Tpview == true
  1134.         x = x0 + WD_memberchange_status_layout::Tpview_x
  1135.         y = y0 + WD_memberchange_status_layout::Tpview_y
  1136.         width = WD_memberchange_status_layout::Tpview_width
  1137.         draw_actor_tp(actor, x, y, width, enabled)
  1138.       end
  1139.       if WD_memberchange_status_layout::Parameterview0 == true
  1140.         x = x0 + WD_memberchange_status_layout::Parameterview0_x
  1141.         y = y0 + WD_memberchange_status_layout::Parameterview0_y
  1142.         width = WD_memberchange_status_layout::Parameterview0_width
  1143.         draw_actor_param(actor, x, y, 0, width, enabled)
  1144.       end
  1145.       if WD_memberchange_status_layout::Parameterview1 == true
  1146.         x = x0 + WD_memberchange_status_layout::Parameterview1_x
  1147.         y = y0 + WD_memberchange_status_layout::Parameterview1_y
  1148.         width = WD_memberchange_status_layout::Parameterview1_width
  1149.         draw_actor_param(actor, x, y, 1, width, enabled)
  1150.       end
  1151.       if WD_memberchange_status_layout::Parameterview2 == true
  1152.         x = x0 + WD_memberchange_status_layout::Parameterview2_x
  1153.         y = y0 + WD_memberchange_status_layout::Parameterview2_y
  1154.         width = WD_memberchange_status_layout::Parameterview2_width
  1155.         draw_actor_param(actor, x, y, 2, width, enabled)
  1156.       end
  1157.       if WD_memberchange_status_layout::Parameterview3 == true
  1158.         x = x0 + WD_memberchange_status_layout::Parameterview3_x
  1159.         y = y0 + WD_memberchange_status_layout::Parameterview3_y
  1160.         width = WD_memberchange_status_layout::Parameterview3_width
  1161.         draw_actor_param(actor, x, y, 3, width, enabled)
  1162.       end
  1163.       if WD_memberchange_status_layout::Parameterview4 == true
  1164.         x = x0 + WD_memberchange_status_layout::Parameterview4_x
  1165.         y = y0 + WD_memberchange_status_layout::Parameterview4_y
  1166.         width = WD_memberchange_status_layout::Parameterview4_width
  1167.         draw_actor_param(actor, x, y, 4, width, enabled)
  1168.       end
  1169.       if WD_memberchange_status_layout::Parameterview5 == true
  1170.         x = x0 + WD_memberchange_status_layout::Parameterview5_x
  1171.         y = y0 + WD_memberchange_status_layout::Parameterview5_y
  1172.         width = WD_memberchange_status_layout::Parameterview5_width
  1173.         draw_actor_param(actor, x, y, 5, width, enabled)
  1174.       end
  1175.       if WD_memberchange_status_layout::Parameterview6 == true
  1176.         x = x0 + WD_memberchange_status_layout::Parameterview6_x
  1177.         y = y0 + WD_memberchange_status_layout::Parameterview6_y
  1178.         width = WD_memberchange_status_layout::Parameterview6_width
  1179.         draw_actor_param(actor, x, y, 6, width, enabled)
  1180.       end
  1181.       if WD_memberchange_status_layout::Parameterview7 == true
  1182.         x = x0 + WD_memberchange_status_layout::Parameterview7_x
  1183.         y = y0 + WD_memberchange_status_layout::Parameterview7_y
  1184.         width = WD_memberchange_status_layout::Parameterview7_width
  1185.         draw_actor_param(actor, x, y, 7, width, enabled)
  1186.       end
  1187.       if WD_memberchange_status_layout::Equipview0 == true
  1188.         x = x0 + WD_memberchange_status_layout::Equipview0_x
  1189.         y = y0 + WD_memberchange_status_layout::Equipview0_y
  1190.         width = WD_memberchange_status_layout::Equipview0_width
  1191.         draw_equip_item(actor, x, y, 0, width, enabled)
  1192.       end
  1193.       if WD_memberchange_status_layout::Equipview1 == true
  1194.         x = x0 + WD_memberchange_status_layout::Equipview1_x
  1195.         y = y0 + WD_memberchange_status_layout::Equipview1_y
  1196.         width = WD_memberchange_status_layout::Equipview1_width
  1197.         draw_equip_item(actor, x, y, 1, width, enabled)
  1198.       end
  1199.       if WD_memberchange_status_layout::Equipview2 == true
  1200.         x = x0 + WD_memberchange_status_layout::Equipview2_x
  1201.         y = y0 + WD_memberchange_status_layout::Equipview2_y
  1202.         width = WD_memberchange_status_layout::Equipview2_width
  1203.         draw_equip_item(actor, x, y, 2, width, enabled)
  1204.       end
  1205.       if WD_memberchange_status_layout::Equipview3 == true
  1206.         x = x0 + WD_memberchange_status_layout::Equipview3_x
  1207.         y = y0 + WD_memberchange_status_layout::Equipview3_y
  1208.         width = WD_memberchange_status_layout::Equipview3_width
  1209.         draw_equip_item(actor, x, y, 3, width, enabled)
  1210.       end
  1211.       if WD_memberchange_status_layout::Equipview4 == true
  1212.         x = x0 + WD_memberchange_status_layout::Equipview4_x
  1213.         y = y0 + WD_memberchange_status_layout::Equipview4_y
  1214.         width = WD_memberchange_status_layout::Equipview4_width
  1215.         draw_equip_item(actor, x, y, 4, width, enabled)
  1216.       end
  1217.       if WD_memberchange_status_layout::Expview1 == true
  1218.         x = x0 + WD_memberchange_status_layout::Expview1_x
  1219.         y = y0 + WD_memberchange_status_layout::Expview1_y
  1220.         width = WD_memberchange_status_layout::Expview1_width
  1221.         draw_exp_info1(actor, x, y, width, enabled)
  1222.       end
  1223.       if WD_memberchange_status_layout::Expview2 == true
  1224.         x = x0 + WD_memberchange_status_layout::Expview2_x
  1225.         y = y0 + WD_memberchange_status_layout::Expview2_y
  1226.         width = WD_memberchange_status_layout::Expview2_width
  1227.         draw_exp_info2(actor, x, y, width, enabled)
  1228.       end
  1229.  
  1230.  
  1231.     end   
  1232.  
  1233.   end
  1234. end
  1235.  
  1236. class Window_MemberChangeSort < Window_Base
  1237.   #--------------------------------------------------------------------------
  1238.   # ● オブジェクト初期化
  1239.   #--------------------------------------------------------------------------
  1240.   def initialize
  1241.     x = WD_memberchange_sort_layout::Window_x
  1242.     y = WD_memberchange_sort_layout::Window_y
  1243.     width = WD_memberchange_sort_layout::Window_width
  1244.     height = WD_memberchange_sort_layout::Window_height
  1245.     super(x, y, width, height)
  1246.     refresh
  1247.   end
  1248.   #--------------------------------------------------------------------------
  1249.   # ● リフレッシュ
  1250.   #--------------------------------------------------------------------------
  1251.   def refresh
  1252.     contents.clear
  1253.     contents.font.size = 24
  1254.  
  1255.     sortname = WD_memberchange_ini::Sort_names[
  1256.                $game_variables[WD_memberchange_ini::Sort_variable]]
  1257.     draw_text(0, 0, contents_width, line_height, sortname, 1)
  1258.  
  1259.   end
  1260. end
  1261.  
  1262. #==============================================================================
  1263. # ■ Window_MemberChangeEliminate
  1264. #------------------------------------------------------------------------------
  1265. #  アクター除籍の確認用ウィンドウです。
  1266. #==============================================================================
  1267.  
  1268. class Window_MemberChangeEliminate < Window_Selectable
  1269.   #--------------------------------------------------------------------------
  1270.   # ● オブジェクト初期化
  1271.   #--------------------------------------------------------------------------
  1272.   def initialize
  1273.     x = WD_memberchange_eliminate_layout::Window_x
  1274.     y = WD_memberchange_eliminate_layout::Window_y
  1275.     width = WD_memberchange_eliminate_layout::Window_width
  1276.     height = WD_memberchange_eliminate_layout::Window_height
  1277.     super(x, y, width, height)
  1278.     @data = [WD_memberchange_ini::Eliminate_command1,
  1279.              WD_memberchange_ini::Eliminate_command2]
  1280.     refresh
  1281.     select(1)
  1282.   end
  1283.   #--------------------------------------------------------------------------
  1284.   # ● 桁数の取得
  1285.   #--------------------------------------------------------------------------
  1286.   def col_max
  1287.     return WD_memberchange_eliminate_layout::Window_col
  1288.   end
  1289.   #--------------------------------------------------------------------------
  1290.   # ● 項目数の取得
  1291.   #--------------------------------------------------------------------------
  1292.   def item_max
  1293.     return 2
  1294.   end
  1295.   #--------------------------------------------------------------------------
  1296.   # ● 項目の描画
  1297.   #--------------------------------------------------------------------------
  1298.   def draw_item(index)
  1299.     rect = item_rect_for_text(index)
  1300.     draw_text(rect.x, rect.y, contents_width, line_height, @data[index])
  1301.   end
  1302.   #--------------------------------------------------------------------------
  1303.   # ● リフレッシュ
  1304.   #--------------------------------------------------------------------------
  1305.   def refresh
  1306.     create_contents
  1307.     draw_all_items
  1308.   end
  1309.   #--------------------------------------------------------------------------
  1310.   # ● 決定ボタンが押されたときの処理
  1311.   #--------------------------------------------------------------------------
  1312.   def process_ok
  1313.     Input.update
  1314.     deactivate
  1315.     if index == 0
  1316.       Sound.play_ok
  1317.       call_ok_handler
  1318.     else
  1319.       Sound.play_cancel
  1320.       call_cancel_handler
  1321.     end
  1322.   end
  1323. end
  1324.  
  1325. #==============================================================================
  1326. # ■ Window_MemberChangeText
  1327. #------------------------------------------------------------------------------
  1328. #  テキストを表示するウィンドウです。
  1329. #==============================================================================
  1330.  
  1331. class Window_MemberChangeText < Window_Base
  1332.   #--------------------------------------------------------------------------
  1333.   # ● オブジェクト初期化
  1334.   #--------------------------------------------------------------------------
  1335.   def initialize(x, y, width, height, text, align)
  1336.     @text = text
  1337.     @align = align
  1338.     super(x, y, width, height)
  1339.     refresh
  1340.   end
  1341.   #--------------------------------------------------------------------------
  1342.   # ● リフレッシュ
  1343.   #--------------------------------------------------------------------------
  1344.   def refresh
  1345.     contents.clear
  1346.     contents.font.size = 24
  1347.     text = (@text).split(/\n/)
  1348.     for i in 0...text.size
  1349.       draw_text(0, line_height*i, contents_width, line_height, text[i], @align)
  1350.     end
  1351.   end
  1352. end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1