设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2092|回复: 6
打印 上一主题 下一主题

[已经解决] 【RMVA装备扩展】跪求此脚本的调用方法,大神来帮帮我吧。

[复制链接]

Lv2.观梦者

梦石
0
星屑
686
在线时间
218 小时
注册时间
2016-5-10
帖子
99
跳转到指定楼层
1
发表于 2016-5-17 11:23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
请问这个脚本如何调用,是我想要的脚本,可是下载下来忘了看调用法了。
还请大神多多帮助,实在是找不到那个页面了,所以在这里拜托各位了。

想要解决的问题:
1.如何调用 装备的扩展 例:饰品1 饰品2 (饰品3=宝物),设置成宝物类型的饰品。
现在遇到问题:装备所需类型增多了,但是不知道如何在物品上面调用代码来改变装备的类型。
2.因为不懂脚本,想知道这个本子能在次扩展数量吗,例如现在有7个装备栏,我要扩展到8个。
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - Ace Equip Engine v1.05
  4. # -- Last Updated: 2012.01.22
  5. # -- Level: Normal, Hard
  6. # -- Requires: n/a
  7. #
  8. #==============================================================================

  9. $imported = {} if $imported.nil?
  10. $imported["YEA-AceEquipEngine"] = true

  11. #==============================================================================
  12. # ▼ Updates
  13. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  14. # 2012.01.22 - Bug Fixed: <equip slot> notetags updated to factor in spaces.
  15. # 2012.01.05 - Compatibility Update: Equip Dynamic Stats
  16. # 2011.12.30 - Bug Fixed: Stats didn't update.
  17. # 2011.12.23 - Script efficiency optimized.
  18. # 2011.12.18 - Script efficiency optimized.
  19. # 2011.12.13 - Started Script and Finished.
  20. #
  21. #==============================================================================
  22. # ▼ Introduction
  23. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  24. # The default equipment system in RPG Maker VX is the standard equipment system
  25. # seen in all of the previous iterations, which consists of weapon, shield,
  26. # headgear, bodygear, and accessory. To break free of that norm, this script
  27. # allows users access to giving actors and/or classes dynamic equipment setups
  28. # (including having multiples of the same categories). In addition to having
  29. # different equip slot setups, newer equipment types can be made to allow for
  30. # more diversity in armour types.
  31. #
  32. #==============================================================================
  33. # ▼ Instructions
  34. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  35. # To install this script, open up your script editor and copy/paste this script
  36. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  37. #
  38. # -----------------------------------------------------------------------------
  39. # Actor Notetags - These notetags go in the actors notebox in the database.
  40. # -----------------------------------------------------------------------------
  41. # <equip slots>
  42. #  string
  43. #  string
  44. # </equip slots>
  45. # This sets the actor's default slots to whatever is listed in between the two
  46. # notetags. An actor's custom equip slots will take priority over a class's
  47. # custom equip slots, which will take priority over the default equip slots.
  48. # Replace "string" with the proper equipment type name or when in doubt, use
  49. # "equip type: x" with x as the equipment type.
  50. #
  51. # <starting gear: x>
  52. # <starting gear: x, x>
  53. # Adds armour x to the actor's list of starting gear. This is used primarily
  54. # for the newer pieces of gear that can't be added through the starting set of
  55. # equipment through the RPG Maker VX Ace editor by default. Insert multiple of
  56. # these notetags to add more pieces of starting gear if so desired.
  57. #
  58. # <fixed equip: x>
  59. # <fixed equip: x, x>
  60. # This will fix the equip type x. Fixed equip slots mean that the equipment
  61. # already on it are unable to be exchanged in or out by the player. This tag
  62. # has been made so that equip types can be fixed for equip type 5 and above.
  63. # Use multiple of these notetags to add more fixed equipment restrictions.
  64. #
  65. # <sealed equip: x>
  66. # <sealed equip: x, x>
  67. # This will seal the equip type x. Sealed equip slots mean that no equipment
  68. # can be equipped onto that equip type slot. This tag has been made so that
  69. # equip types can be sealed for equip type 5 and above. Use multiple of these
  70. # notetags to add more sealed equipment restrictions.
  71. #
  72. # -----------------------------------------------------------------------------
  73. # Class Notetags - These notetags go in the class notebox in the database.
  74. # -----------------------------------------------------------------------------
  75. # <equip slots>
  76. #  string
  77. #  string
  78. # </equip slots>
  79. # This sets the class's default slots to whatever is listed in between the two
  80. # notetags. An actor's custom equip slots will take priority over a class's
  81. # custom equip slots, which will take priority over the default equip slots.
  82. # Replace "string" with the proper equipment type name or when in doubt, use
  83. # "equip type: x" with x as the equipment type.
  84. #
  85. # <fixed equip: x>
  86. # <fixed equip: x, x>
  87. # This will fix the equip type x. Fixed equip slots mean that the equipment
  88. # already on it are unable to be exchanged in or out by the player. This tag
  89. # has been made so that equip types can be fixed for equip type 5 and above.
  90. # Use multiple of these notetags to add more fixed equipment restrictions.
  91. #
  92. # <sealed equip: x>
  93. # <sealed equip: x, x>
  94. # This will seal the equip type x. Sealed equip slots mean that no equipment
  95. # can be equipped onto that equip type slot. This tag has been made so that
  96. # equip types can be sealed for equip type 5 and above. Use multiple of these
  97. # notetags to add more sealed equipment restrictions.
  98. #
  99. # -----------------------------------------------------------------------------
  100. # Weapon Notetags - These notetags go in the weapons notebox in the database.
  101. # -----------------------------------------------------------------------------
  102. # <fixed equip: x>
  103. # <fixed equip: x, x>
  104. # This will fix the equip type x. Fixed equip slots mean that the equipment
  105. # already on it are unable to be exchanged in or out by the player. This tag
  106. # has been made so that equip types can be fixed for equip type 5 and above.
  107. # Use multiple of these notetags to add more fixed equipment restrictions.
  108. #
  109. # <sealed equip: x>
  110. # <sealed equip: x, x>
  111. # This will seal the equip type x. Sealed equip slots mean that no equipment
  112. # can be equipped onto that equip type slot. This tag has been made so that
  113. # equip types can be sealed for equip type 5 and above. Use multiple of these
  114. # notetags to add more sealed equipment restrictions.
  115. #
  116. # -----------------------------------------------------------------------------
  117. # Armour Notetags - These notetags go in the armour notebox in the database.
  118. # -----------------------------------------------------------------------------
  119. # <equip type: x>
  120. # <equip type: string>
  121. # For the newer equip types, replace x or string with the equip type ID or the
  122. # name of the equip type respectively. This will set that armour to that
  123. # particular equip type.
  124. #
  125. # <fixed equip: x>
  126. # <fixed equip: x, x>
  127. # This will fix the equip type x. Fixed equip slots mean that the equipment
  128. # already on it are unable to be exchanged in or out by the player. This tag
  129. # has been made so that equip types can be fixed for equip type 5 and above.
  130. # Use multiple of these notetags to add more fixed equipment restrictions.
  131. #
  132. # <sealed equip: x>
  133. # <sealed equip: x, x>
  134. # This will seal the equip type x. Sealed equip slots mean that no equipment
  135. # can be equipped onto that equip type slot. This tag has been made so that
  136. # equip types can be sealed for equip type 5 and above. Use multiple of these
  137. # notetags to add more sealed equipment restrictions.
  138. #
  139. # -----------------------------------------------------------------------------
  140. # State Notetags - These notetags go in the states notebox in the database.
  141. # -----------------------------------------------------------------------------
  142. # <fixed equip: x>
  143. # <fixed equip: x, x>
  144. # This will fix the equip type x. Fixed equip slots mean that the equipment
  145. # already on it are unable to be exchanged in or out by the player. This tag
  146. # has been made so that equip types can be fixed for equip type 5 and above.
  147. # Use multiple of these notetags to add more fixed equipment restrictions.
  148. #
  149. # <sealed equip: x>
  150. # <sealed equip: x, x>
  151. # This will seal the equip type x. Sealed equip slots mean that no equipment
  152. # can be equipped onto that equip type slot. This tag has been made so that
  153. # equip types can be sealed for equip type 5 and above. Use multiple of these
  154. # notetags to add more sealed equipment restrictions.
  155. #
  156. #==============================================================================
  157. # ▼ Compatibility
  158. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  159. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  160. # it will run with RPG Maker VX without adjusting.
  161. #
  162. #==============================================================================

  163. module YEA
  164.   module EQUIP

  165.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  166.     # - General Equip Settings -
  167.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  168.     # This adjusts the default equip configuration. While actors can have their
  169.     # own unique equipment configurations, it's recommended to not change too
  170.     # much as things get really hairy when it comes to proper eventing.
  171.     #
  172.     # ID   Equip Type
  173.     # ---  ------------
  174.     #  0   Weapon
  175.     #  1   Shield
  176.     #  2   Headgear
  177.     #  3   Bodygear
  178.     #  4   Accessory
  179.     #
  180.     # Whatever you set the below slots to, the dual wield setup will be exactly
  181.     # identical except that the second slot will be changed to a weapon (0).
  182.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  183.     # Adjust this array to set the default slots used for all of your actors
  184.     # and classes if they do not have a custom equipment slot setup.
  185.     DEFAULT_BASE_SLOTS = [ 0, 1, 2, 3, 5, 7, 6, 4, 4]  #此处为默认装备栏列表

  186.     # This hash adjusts the new equip types (past 4+). Adjust them to match
  187.     # their names properly. You can choose to allow certain types of equipment
  188.     # be removable or not, or whether or not optimize will affect them.
  189.     TYPES ={
  190.     # TypeID => ["Type Name", Removable?, Optimize?],
  191.            0 => [ "武器",       true,      true],
  192.            1 => [ "盾牌",       true,      true],
  193.            2 => [ "帽子",       true,      true],
  194.            3 => [ "盔甲",       true,      true],
  195.            4 => [ "戒指",       true,      true],
  196.            5 => [ "鞋子",       true,      true],
  197.            6 => [ "项链",       true,      true],
  198.            7 => [ "腰带",       true,      true],
  199.     } # Do not remove this.

  200.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  201.     # - Equip Command List -
  202.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  203.     # Here, you can adjust the order at which the commands appear (or even
  204.     # remove commands as you see fit). Here's a list of which does what:
  205.     #
  206.     # -------------------------------------------------------------------------
  207.     # :command         Description
  208.     # -------------------------------------------------------------------------
  209.     # :equip           Activates the manual equip window. Default.
  210.     # :optimize        Optimizes equipment for the actor. Default.
  211.     # :clear           Clears all equipment from the actor. Default
  212.     #
  213.     # And that's all of the currently available commands. This list will be
  214.     # updated as more scripts become available.
  215.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  216.     # This array arranges the order of which the commands appear in the Equip
  217.     # Command window in the Equip Scene.
  218.     COMMAND_LIST =[
  219.       :equip,
  220.       :optimize,
  221.       :clear,
  222.     # :custom1,
  223.     # :custom2,
  224.     ] # Do not remove this.

  225.     #--------------------------------------------------------------------------
  226.     # - Equip Custom Commands -
  227.     # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  228.     # For those who use scripts to that may produce unique effects for
  229.     # equipping, use this hash to manage the custom commands for the Equip
  230.     # Command Window. You can disable certain commands or prevent them from
  231.     # appearing by using switches. If you don't wish to bind them to a switch,
  232.     # set the proper switch to 0 for it to have no impact.
  233.     #--------------------------------------------------------------------------
  234.     CUSTOM_EQUIP_COMMANDS ={
  235.     # :command => ["Display Name", EnableSwitch, ShowSwitch, Handler Method],
  236.       :custom1 => [ "Custom Name",            0,          0, :command_name1],
  237.       :custom2 => [ "Custom Text",           13,          0, :command_name2],
  238.     } # Do not remove this.

  239.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  240.     # - Misc Window Settings -
  241.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  242.     # This section adjusts the minor visuals that you see inside of the newly
  243.     # organized Equip Scene. Adjust the settings as you see fit.
  244.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  245.     # This sets the font size used for the status window in the lower right
  246.     # corner of the screen (which shows stats and comparisons).
  247.     STATUS_FONT_SIZE = 20

  248.     # This sets the remove equip command in the item window.
  249.     REMOVE_EQUIP_ICON = 185
  250.     REMOVE_EQUIP_TEXT = "<卸下>"

  251.     # This sets the no-equipment text in the slot window.
  252.     NOTHING_ICON = 185
  253.     NOTHING_TEXT = "< 空 >"


  254.   end # EQUIP
  255. end # YEA

  256. #==============================================================================
  257. # ▼ Editting anything past this point may potentially result in causing
  258. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  259. # halitosis so edit at your own risk.
  260. #==============================================================================

  261. module YEA
  262.   module REGEXP
  263.   module BASEITEM

  264.     EQUIP_SLOTS_ON  = /<(?:EQUIP_SLOTS|equip slots)>/i
  265.     EQUIP_SLOTS_OFF = /<\/(?:EQUIP_SLOTS|equip slots)>/i

  266.     EQUIP_TYPE_INT = /<(?:EQUIP_TYPE|equip type):[ ]*(\d+)>/i
  267.     EQUIP_TYPE_STR = /<(?:EQUIP_TYPE|equip type):[ ]*(.*)>/i

  268.     STARTING_GEAR = /<(?:STARTING_GEAR|starting gear):[ ](\d+(?:\s*,\s*\d+)*)>/i

  269.     FIXED_EQUIP = /<(?:FIXED_EQUIP|fixed equip):[ ](\d+(?:\s*,\s*\d+)*)>/i
  270.     SEALED_EQUIP = /<(?:SEALED_EQUIP|sealed equip):[ ](\d+(?:\s*,\s*\d+)*)>/i

  271.   end # BASEITEM
  272.   end # REGEXP
  273. end # YEA

  274. #==============================================================================
  275. # ■ Vocab
  276. #==============================================================================

  277. module Vocab

  278.   #--------------------------------------------------------------------------
  279.   # overwrite method: self.etype
  280.   #--------------------------------------------------------------------------
  281.   def self.etype(etype)
  282.     return $data_system.terms.etypes[etype] if [0,1,2,3,4].include?(etype)
  283.     return YEA::EQUIP::TYPES[etype][0] if YEA::EQUIP::TYPES.include?(etype)
  284.     return ""
  285.   end

  286. end # Vocab

  287. #==============================================================================
  288. # ■ Icon
  289. #==============================================================================

  290. module Icon

  291.   #--------------------------------------------------------------------------
  292.   # self.remove_equip
  293.   #--------------------------------------------------------------------------
  294.   def self.remove_equip; return YEA::EQUIP::REMOVE_EQUIP_ICON; end

  295.   #--------------------------------------------------------------------------
  296.   # self.nothing_equip
  297.   #--------------------------------------------------------------------------
  298.   def self.nothing_equip; return YEA::EQUIP::NOTHING_ICON; end

  299. end # Icon

  300. #==============================================================================
  301. # ■ Numeric
  302. #==============================================================================

  303. class Numeric

  304.   #--------------------------------------------------------------------------
  305.   # new method: group_digits
  306.   #--------------------------------------------------------------------------
  307.   unless $imported["YEA-CoreEngine"]
  308.   def group; return self.to_s; end
  309.   end # $imported["YEA-CoreEngine"]

  310. end # Numeric

  311. #==============================================================================
  312. # ■ DataManager
  313. #==============================================================================

  314. module DataManager

  315.   #--------------------------------------------------------------------------
  316.   # alias method: load_database
  317.   #--------------------------------------------------------------------------
  318.   class <<self; alias load_database_aee load_database; end
  319.   def self.load_database
  320.     load_database_aee
  321.     load_notetags_aee
  322.   end

  323.   #--------------------------------------------------------------------------
  324.   # new method: load_notetags_aee
  325.   #--------------------------------------------------------------------------
  326.   def self.load_notetags_aee
  327.     groups = [$data_actors, $data_classes, $data_weapons, $data_armors,
  328.       $data_states]
  329.     for group in groups
  330.       for obj in group
  331.         next if obj.nil?
  332.         obj.load_notetags_aee
  333.       end
  334.     end
  335.   end

  336. end # DataManager

  337. #==============================================================================
  338. # ■ RPG::BaseItem
  339. #==============================================================================

  340. class RPG::BaseItem

  341.   #--------------------------------------------------------------------------
  342.   # public instance variables
  343.   #--------------------------------------------------------------------------
  344.   attr_accessor :base_equip_slots
  345.   attr_accessor :fixed_equip_type
  346.   attr_accessor :sealed_equip_type
  347.   attr_accessor :extra_starting_equips

  348.   #--------------------------------------------------------------------------
  349.   # common cache: load_notetags_aee
  350.   #--------------------------------------------------------------------------
  351.   def load_notetags_aee
  352.     @base_equip_slots = []
  353.     @equip_slots_on = false
  354.     @fixed_equip_type = []
  355.     @sealed_equip_type = []
  356.     @extra_starting_equips = []
  357.     #---
  358.     self.note.split(/[\r\n]+/).each { |line|
  359.       case line
  360.       #---
  361.       when YEA::REGEXP::BASEITEM::EQUIP_SLOTS_ON
  362.         next unless self.is_a?(RPG::Actor) ||self.is_a?(RPG::Class)
  363.         @equip_slots_on = true
  364.       when YEA::REGEXP::BASEITEM::EQUIP_SLOTS_OFF
  365.         next unless self.is_a?(RPG::Actor) ||self.is_a?(RPG::Class)
  366.         @equip_slots_on = false
  367.       #---
  368.       when YEA::REGEXP::BASEITEM::STARTING_GEAR
  369.         next unless self.is_a?(RPG::Actor)
  370.         $1.scan(/\d+/).each { |num|
  371.         @extra_starting_equips.push(num.to_i) if num.to_i > 0 }
  372.       when YEA::REGEXP::BASEITEM::FIXED_EQUIP
  373.         $1.scan(/\d+/).each { |num|
  374.         @fixed_equip_type.push(num.to_i) if num.to_i > 0 }
  375.       when YEA::REGEXP::BASEITEM::SEALED_EQUIP
  376.         $1.scan(/\d+/).each { |num|
  377.         @sealed_equip_type.push(num.to_i) if num.to_i > 0 }
  378.       #---
  379.       when YEA::REGEXP::BASEITEM::EQUIP_TYPE_INT
  380.         next unless self.is_a?(RPG::Armor)
  381.         @etype_id = [1, $1.to_i].max
  382.       when YEA::REGEXP::BASEITEM::EQUIP_TYPE_STR
  383.         next unless self.is_a?(RPG::Armor)
  384.         for key in YEA::EQUIP::TYPES
  385.           id = key[0]
  386.           next if YEA::EQUIP::TYPES[id][0].upcase != $1.to_s.upcase
  387.           @etype_id = [1, id].max
  388.           break
  389.         end
  390.       #---
  391.       else
  392.         if @equip_slots_on
  393.           case line.upcase
  394.           when /EQUIP TYPE[ ](\d+)/i, /EQUIP TYPE:[ ](\d+)/i
  395.             id = $1.to_i
  396.             @base_equip_slots.push(id) if [0,1,2,3,4].include?(id)
  397.             @base_equip_slots.push(id) if YEA::EQUIP::TYPES.include?(id)
  398.           when /WEAPON/i
  399.             @base_equip_slots.push(0)
  400.           when /SHIELD/i
  401.             @base_equip_slots.push(1)
  402.           when /HEAD/i
  403.             @base_equip_slots.push(2)
  404.           when /BODY/i, /ARMOR/i, /ARMOUR/i
  405.             @base_equip_slots.push(3)
  406.           when /ETC/i, /OTHER/i, /ACCESSOR/i
  407.             @base_equip_slots.push(4)
  408.           else
  409.             text = line.upcase.delete(" ")
  410.             for key in YEA::EQUIP::TYPES
  411.               id = key[0]
  412.               next if YEA::EQUIP::TYPES[id][0].upcase.delete(" ")!= text
  413.               @base_equip_slots.push(id)
  414.               break
  415.             end
  416.           end
  417.         end
  418.       end
  419.     } # self.note.split
  420.     #---
  421.     return unless self.is_a?(RPG::Class)
  422.     if @base_equip_slots.empty?
  423.       @base_equip_slots = YEA::EQUIP::DEFAULT_BASE_SLOTS.clone
  424.     end
  425.   end

  426. end # RPG::BaseItem

  427. #==============================================================================
  428. # ■ Game_Temp
  429. #==============================================================================

  430. class Game_Temp

  431.   #--------------------------------------------------------------------------
  432.   # public instance variables
  433.   #--------------------------------------------------------------------------
  434.   attr_accessor :eds_actor
  435.   attr_accessor :scene_equip_index
  436.   attr_accessor :scene_equip_oy

  437. end # Game_Temp

  438. #==============================================================================
  439. # ■ Game_BaseItem
  440. #==============================================================================

  441. class Game_BaseItem

  442.   #--------------------------------------------------------------------------
  443.   # public instance variables
  444.   #--------------------------------------------------------------------------
  445.   attr_accessor :item_id

  446. end # Game_BaseItem

  447. #==============================================================================
  448. # ■ Game_BattlerBase
  449. #==============================================================================

  450. class Game_BattlerBase

  451.   #--------------------------------------------------------------------------
  452.   # alias method: equip_type_fixed?
  453.   #--------------------------------------------------------------------------
  454.   alias game_battlerbase_equip_type_fixed_aee equip_type_fixed?
  455.   def equip_type_fixed?(etype_id)
  456.     return true if fixed_etypes.include?(etype_id) if actor?
  457.     return game_battlerbase_equip_type_fixed_aee(etype_id)
  458.   end

  459.   #--------------------------------------------------------------------------
  460.   # alias method: equip_type_sealed?
  461.   #--------------------------------------------------------------------------
  462.   alias game_battlerbase_equip_type_sealed_aee equip_type_sealed?
  463.   def equip_type_sealed?(etype_id)
  464.     return true if sealed_etypes.include?(etype_id) if actor?
  465.     return game_battlerbase_equip_type_sealed_aee(etype_id)
  466.   end

  467. end # Game_BattlerBase

  468. #==============================================================================
  469. # ■ Game_Actor
  470. #==============================================================================

  471. class Game_Actor < Game_Battler

  472.   #--------------------------------------------------------------------------
  473.   # alias method: init_equips
  474.   #--------------------------------------------------------------------------
  475.   alias game_actor_init_equips_aee init_equips
  476.   def init_equips(equips)
  477.     game_actor_init_equips_aee(equips)
  478.     equip_extra_starting_equips
  479.   end

  480.   #--------------------------------------------------------------------------
  481.   # new method: equip_extra_starting_equips
  482.   #--------------------------------------------------------------------------
  483.   def equip_extra_starting_equips
  484.     for equip_id in actor.extra_starting_equips
  485.       armour = $data_armors[equip_id]
  486.       next if armour.nil?
  487.       etype_id = armour.etype_id
  488.       next unless equip_slots.include?(etype_id)
  489.       slot_id = empty_slot(etype_id)
  490.       @equips[slot_id].set_equip(etype_id == 0, armour.id)
  491.     end
  492.     refresh
  493.   end

  494.   #--------------------------------------------------------------------------
  495.   # overwrite method: equip_slots
  496.   #--------------------------------------------------------------------------
  497.   def equip_slots
  498.     return equip_slots_dual if dual_wield?
  499.     return equip_slots_normal
  500.   end

  501.   #--------------------------------------------------------------------------
  502.   # new method: equip_slots_normal
  503.   #--------------------------------------------------------------------------
  504.   def equip_slots_normal
  505.     return self.actor.base_equip_slots if self.actor.base_equip_slots != []
  506.     return self.class.base_equip_slots
  507.   end

  508.   #--------------------------------------------------------------------------
  509.   # new method: equip_slots_dual
  510.   #--------------------------------------------------------------------------
  511.   def equip_slots_dual
  512.     array = equip_slots_normal.clone
  513.     array[1] = 0 if array.size >= 2
  514.     return array
  515.   end

  516.   #--------------------------------------------------------------------------
  517.   # new method: fixed_etypes
  518.   #--------------------------------------------------------------------------
  519.   def fixed_etypes
  520.     array = []
  521.     array |= self.actor.fixed_equip_type
  522.     array |= self.class.fixed_equip_type
  523.     for equip in equips
  524.       next if equip.nil?
  525.       array |= equip.fixed_equip_type
  526.     end
  527.     for state in states
  528.       next if state.nil?
  529.       array |= state.fixed_equip_type
  530.     end
  531.     return array
  532.   end

  533.   #--------------------------------------------------------------------------
  534.   # new method: sealed_etypes
  535.   #--------------------------------------------------------------------------
  536.   def sealed_etypes
  537.     array = []
  538.     array |= self.actor.sealed_equip_type
  539.     array |= self.class.sealed_equip_type
  540.     for equip in equips
  541.       next if equip.nil?
  542.       array |= equip.sealed_equip_type
  543.     end
  544.     for state in states
  545.       next if state.nil?
  546.       array |= state.sealed_equip_type
  547.     end
  548.     return array
  549.   end

  550.   #--------------------------------------------------------------------------
  551.   # alias method: change_equip
  552.   #--------------------------------------------------------------------------
  553.   alias game_actor_change_equip_aee change_equip
  554.   def change_equip(slot_id, item)
  555.     if item.nil? && !@optimize_clear
  556.       etype_id = equip_slots[slot_id]
  557.       return unless YEA::EQUIP::TYPES[etype_id][1]
  558.     elsif item.nil? && @optimize_clear
  559.       etype_id = equip_slots[slot_id]
  560.       return unless YEA::EQUIP::TYPES[etype_id][2]
  561.     end
  562.     game_actor_change_equip_aee(slot_id, item)
  563.   end

  564.   #--------------------------------------------------------------------------
  565.   # overwrite method: optimize_equipments
  566.   #--------------------------------------------------------------------------
  567.   def optimize_equipments
  568.     $game_temp.eds_actor = self
  569.     @optimize_clear = true
  570.     clear_equipments
  571.     @optimize_clear = false
  572.     equip_slots.size.times do |i|
  573.       next if !equip_change_ok?(i)
  574.       next unless can_optimize?(i)
  575.       items = $game_party.equip_items.select do |item|
  576.         item.etype_id == equip_slots[i] &&
  577.         equippable?(item) && item.performance >= 0
  578.       end
  579.       change_equip(i, items.max_by {|item| item.performance })
  580.     end
  581.     $game_temp.eds_actor = nil
  582.   end

  583.   #--------------------------------------------------------------------------
  584.   # new method: can_optimize?
  585.   #--------------------------------------------------------------------------
  586.   def can_optimize?(slot_id)
  587.     etype_id = equip_slots[slot_id]
  588.     return YEA::EQUIP::TYPES[etype_id][2]
  589.   end

  590. end # Game_Actor

  591. #==============================================================================
  592. # ■ Game_Interpreter
  593. #==============================================================================

  594. class Game_Interpreter

  595.   #--------------------------------------------------------------------------
  596.   # overwrite method: change equip
  597.   #--------------------------------------------------------------------------
  598.   def command_319
  599.     actor = $game_actors[@params[0]]
  600.     return if actor.nil?
  601.     if @params[1] == 0 && @params[2] != 0
  602.       item = $data_weapons[@params[2]]
  603.       return unless actor.equip_slots.include?(0)
  604.       slot_id = actor.empty_slot(0)
  605.     elsif @params[2] != 0
  606.       item = $data_armors[@params[2]]
  607.       return unless actor.equip_slots.include?(item.etype_id)
  608.       slot_id = actor.empty_slot(item.etype_id)
  609.     else
  610.       slot_id = @params[1]
  611.     end
  612.     actor.change_equip_by_id(slot_id, @params[2])
  613.   end

  614. end # Game_Interpreter

  615. #==============================================================================
  616. # ■ Window_EquipStatus
  617. #==============================================================================

  618. class Window_EquipStatus < Window_Base

  619.   #--------------------------------------------------------------------------
  620.   # overwrite method: initialize
  621.   #--------------------------------------------------------------------------
  622.   def initialize(dx, dy)
  623.     super(dx, dy, window_width, Graphics.height - dy)
  624.     @actor = nil
  625.     @temp_actor = nil
  626.     refresh
  627.   end

  628.   #--------------------------------------------------------------------------
  629.   # overwrite method: window_width
  630.   #--------------------------------------------------------------------------
  631.   def window_width; return Graphics.width * 2 / 5; end

  632.   #--------------------------------------------------------------------------
  633.   # overwrite method: refresh
  634.   #--------------------------------------------------------------------------
  635.   def refresh
  636.     contents.clear
  637.     8.times {|i| draw_item(0, line_height * i, i) }
  638.   end

  639.   #--------------------------------------------------------------------------
  640.   # overwrite method: draw_item
  641.   #--------------------------------------------------------------------------
  642.   def draw_item(dx, dy, param_id)
  643.     draw_background_colour(dx, dy)
  644.     draw_param_name(dx + 4, dy, param_id)
  645.     draw_current_param(dx + 4, dy, param_id) if @actor
  646.     drx = (contents.width + 22) / 2
  647.     draw_right_arrow(drx, dy)
  648.     draw_new_param(drx + 22, dy, param_id) if @temp_actor
  649.     reset_font_settings
  650.   end

  651.   #--------------------------------------------------------------------------
  652.   # new method: draw_background_colour
  653.   #--------------------------------------------------------------------------
  654.   def draw_background_colour(dx, dy)
  655.     colour = Color.new(0, 0, 0, translucent_alpha/2)
  656.     rect = Rect.new(dx+1, dy+1, contents.width - 2, line_height - 2)
  657.     contents.fill_rect(rect, colour)
  658.   end

  659.   #--------------------------------------------------------------------------
  660.   # overwrite method: draw_param_name
  661.   #--------------------------------------------------------------------------
  662.   def draw_param_name(dx, dy, param_id)
  663.     contents.font.size = YEA::EQUIP::STATUS_FONT_SIZE
  664.     change_color(system_color)
  665.     draw_text(dx, dy, contents.width, line_height, Vocab::param(param_id))
  666.   end

  667.   #--------------------------------------------------------------------------
  668.   # overwrite method: draw_current_param
  669.   #--------------------------------------------------------------------------
  670.   def draw_current_param(dx, dy, param_id)
  671.     change_color(normal_color)
  672.     dw = (contents.width + 22) / 2
  673.     draw_text(0, dy, dw, line_height, @actor.param(param_id).group, 2)
  674.     reset_font_settings
  675.   end

  676.   #--------------------------------------------------------------------------
  677.   # overwrite method: draw_new_param
  678.   #--------------------------------------------------------------------------
  679.   def draw_new_param(dx, dy, param_id)
  680.     contents.font.size = YEA::EQUIP::STATUS_FONT_SIZE
  681.     new_value = @temp_actor.param(param_id)
  682.     change_color(param_change_color(new_value - @actor.param(param_id)))
  683.     draw_text(0, dy, contents.width-4, line_height, new_value.group, 2)
  684.     reset_font_settings
  685.   end

  686. end # Window_EquipStatus

  687. #==============================================================================
  688. # ■ Window_EquipCommand
  689. #==============================================================================

  690. class Window_EquipCommand < Window_HorzCommand

  691.   #--------------------------------------------------------------------------
  692.   # overwrite method: make_command_list
  693.   #--------------------------------------------------------------------------
  694.   def make_command_list
  695.     for command in YEA::EQUIP::COMMAND_LIST
  696.       case command
  697.       when :equip
  698.         add_command(Vocab::equip2, :equip)
  699.       when :optimize
  700.         add_command(Vocab::optimize, :optimize)
  701.       when :clear
  702.         add_command(Vocab::clear, :clear)
  703.       else
  704.         process_custom_command(command)
  705.       end
  706.     end
  707.   end

  708.   #--------------------------------------------------------------------------
  709.   # process_ok
  710.   #--------------------------------------------------------------------------
  711.   def process_ok
  712.     $game_temp.scene_equip_index = index
  713.     $game_temp.scene_equip_oy = self.oy
  714.     super
  715.   end

  716.   #--------------------------------------------------------------------------
  717.   # new method: process_custom_command
  718.   #--------------------------------------------------------------------------
  719.   def process_custom_command(command)
  720.     return unless YEA::EQUIP::CUSTOM_EQUIP_COMMANDS.include?(command)
  721.     show = YEA::EQUIP::CUSTOM_EQUIP_COMMANDS[command][2]
  722.     continue = show <= 0 ? true : $game_switches[show]
  723.     return unless continue
  724.     text = YEA::EQUIP::CUSTOM_EQUIP_COMMANDS[command][0]
  725.     switch = YEA::EQUIP::CUSTOM_EQUIP_COMMANDS[command][1]
  726.     enabled = switch <= 0 ? true : $game_switches[switch]
  727.     add_command(text, command, enabled)
  728.   end

  729.   #--------------------------------------------------------------------------
  730.   # overwrite method: window_width
  731.   #--------------------------------------------------------------------------
  732.   def window_width; return 160; end

  733.   #--------------------------------------------------------------------------
  734.   # overwrite method: contents_width
  735.   #--------------------------------------------------------------------------
  736.   def contents_width; return width - standard_padding * 2; end

  737.   #--------------------------------------------------------------------------
  738.   # overwrite method: contents_height
  739.   #--------------------------------------------------------------------------
  740.   def contents_height
  741.     ch = height - standard_padding * 2
  742.     return [ch - ch % item_height, row_max * item_height].max
  743.   end

  744.   #--------------------------------------------------------------------------
  745.   # overwrite method: visible_line_number
  746.   #--------------------------------------------------------------------------
  747.   def visible_line_number; return 4; end

  748.   #--------------------------------------------------------------------------
  749.   # overwrite method: col_max
  750.   #--------------------------------------------------------------------------
  751.   def col_max; return 1; end

  752.   #--------------------------------------------------------------------------
  753.   # overwrite method: item_rect
  754.   #--------------------------------------------------------------------------
  755.   def item_rect(index)
  756.     rect = Rect.new
  757.     rect.width = item_width
  758.     rect.height = item_height
  759.     rect.x = index % col_max * (item_width + spacing)
  760.     rect.y = index / col_max * item_height
  761.     rect
  762.   end

  763.   #--------------------------------------------------------------------------
  764.   # overwrite method: ensure_cursor_visible
  765.   #--------------------------------------------------------------------------
  766.   def ensure_cursor_visible
  767.     self.top_row = row if row < top_row
  768.     self.bottom_row = row if row > bottom_row
  769.   end

  770.   #--------------------------------------------------------------------------
  771.   # overwrite method: cursor_down
  772.   #--------------------------------------------------------------------------
  773.   def cursor_down(wrap = false)
  774.     if index < item_max - col_max || (wrap && col_max == 1)
  775.       select((index + col_max) % item_max)
  776.     end
  777.   end

  778.   #--------------------------------------------------------------------------
  779.   # overwrite method: cursor_up
  780.   #--------------------------------------------------------------------------
  781.   def cursor_up(wrap = false)
  782.     if index >= col_max || (wrap && col_max == 1)
  783.       select((index - col_max + item_max) % item_max)
  784.     end
  785.   end

  786.   #--------------------------------------------------------------------------
  787.   # overwrite method: process_pageup
  788.   #--------------------------------------------------------------------------
  789.   def process_pageup
  790.     Sound.play_cursor
  791.     Input.update
  792.     deactivate
  793.     call_handler(:pageup)
  794.   end

  795.   #--------------------------------------------------------------------------
  796.   # overwrite method: process_pagedown
  797.   #--------------------------------------------------------------------------
  798.   def process_pagedown
  799.     Sound.play_cursor
  800.     Input.update
  801.     deactivate
  802.     call_handler(:pagedown)
  803.   end

  804. end # Window_EquipCommand

  805. #==============================================================================
  806. # ■ Window_EquipSlot
  807. #==============================================================================

  808. class Window_EquipSlot < Window_Selectable

  809.   #--------------------------------------------------------------------------
  810.   # overwrite method: initialize
  811.   #--------------------------------------------------------------------------
  812.   def initialize(dx, dy, dw)
  813.     super(dx, dy, dw, Graphics.height - dy)
  814.     @actor = nil
  815.     refresh
  816.   end

  817.   #--------------------------------------------------------------------------
  818.   # overwrite method: window_height
  819.   #--------------------------------------------------------------------------
  820.   def window_height; return self.height; end

  821.   #--------------------------------------------------------------------------
  822.   # overwrite method: visible_line_number
  823.   #--------------------------------------------------------------------------
  824.   def visible_line_number; return item_max; end

  825.   #--------------------------------------------------------------------------
  826.   # overwrite method: refresh
  827.   #--------------------------------------------------------------------------
  828.   def refresh
  829.     create_contents
  830.     super
  831.   end

  832.   #--------------------------------------------------------------------------
  833.   # overwrite method: draw_item
  834.   #--------------------------------------------------------------------------
  835.   def draw_item(index)
  836.     return unless @actor
  837.     rect = item_rect_for_text(index)
  838.     change_color(system_color, enable?(index))
  839.     draw_text(rect.x, rect.y, 92, line_height, slot_name(index))
  840.     item = @actor.equips[index]
  841.     dx = rect.x + 92
  842.     dw = contents.width - dx - 24
  843.     if item.nil?
  844.       draw_nothing_equip(dx, rect.y, false, dw)
  845.     else
  846.       draw_item_name(item, dx, rect.y, enable?(index), dw)
  847.     end
  848.   end

  849.   #--------------------------------------------------------------------------
  850.   # new method: draw_nothing_equip
  851.   #--------------------------------------------------------------------------
  852.   def draw_nothing_equip(dx, dy, enabled, dw)
  853.     change_color(normal_color, enabled)
  854.     draw_icon(Icon.nothing_equip, dx, dy, enabled)
  855.     text = YEA::EQUIP::NOTHING_TEXT
  856.     draw_text(dx + 24, dy, dw - 24, line_height, text)
  857.   end

  858. end # Window_EquipSlot

  859. #==============================================================================
  860. # ■ Window_EquipItem
  861. #==============================================================================

  862. class Window_EquipItem < Window_ItemList

  863.   #--------------------------------------------------------------------------
  864.   # overwrite method: col_max
  865.   #--------------------------------------------------------------------------
  866.   def col_max; return 1; end

  867.   #--------------------------------------------------------------------------
  868.   # overwrite method: slot_id=
  869.   #--------------------------------------------------------------------------
  870.   def slot_id=(slot_id)
  871.     return if @slot_id == slot_id
  872.     @slot_id = slot_id
  873.     @last_item = nil
  874.     self.oy = 0
  875.   end

  876.   #--------------------------------------------------------------------------
  877.   # overwrite method: draw_item
  878.   #--------------------------------------------------------------------------
  879.   def draw_item(index)
  880.     item = @data[index]
  881.     rect = item_rect(index)
  882.     rect.width -= 4
  883.     if item.nil?
  884.       draw_remove_equip(rect)
  885.       return
  886.     end
  887.     dw = contents.width - rect.x - 24
  888.     draw_item_name(item, rect.x, rect.y, enable?(item), dw)
  889.     draw_item_number(rect, item)
  890.   end

  891.   #--------------------------------------------------------------------------
  892.   # new method: draw_remove_equip
  893.   #--------------------------------------------------------------------------
  894.   def draw_remove_equip(rect)
  895.     draw_icon(Icon.remove_equip, rect.x, rect.y)
  896.     text = YEA::EQUIP::REMOVE_EQUIP_TEXT
  897.     rect.x += 24
  898.     rect.width -= 24
  899.     draw_text(rect, text)
  900.   end

  901.   #--------------------------------------------------------------------------
  902.   # overwrite method: include?
  903.   #--------------------------------------------------------------------------
  904.   def include?(item)
  905.     if item.nil? && [email protected]?
  906.       etype_id = @actor.equip_slots[@slot_id]
  907.       return YEA::EQUIP::TYPES[etype_id][1]
  908.     end
  909.     return true if item.nil?
  910.     return false unless item.is_a?(RPG::EquipItem)
  911.     return false if @slot_id < 0
  912.     return false if item.etype_id != @actor.equip_slots[@slot_id]
  913.     return @actor.equippable?(item)
  914.   end

  915.   #--------------------------------------------------------------------------
  916.   # overwrite method: enable?
  917.   #--------------------------------------------------------------------------
  918.   def enable?(item)
  919.     if item.nil? && [email protected]?
  920.       etype_id = @actor.equip_slots[@slot_id]
  921.       return YEA::EQUIP::TYPES[etype_id][1]
  922.     end
  923.     return @actor.equippable?(item)
  924.   end

  925.   #--------------------------------------------------------------------------
  926.   # new method: show
  927.   #--------------------------------------------------------------------------
  928.   def show
  929.     @last_item = 0
  930.     update_help
  931.     super
  932.   end

  933.   #--------------------------------------------------------------------------
  934.   # overwrite method: update_help
  935.   #--------------------------------------------------------------------------
  936.   def update_help
  937.     super
  938.     return if @actor.nil?
  939.     return if @status_window.nil?
  940.     return if @last_item == item
  941.     @last_item = item
  942.     temp_actor = Marshal.load(Marshal.dump(@actor))
  943.     temp_actor.force_change_equip(@slot_id, item)
  944.     @status_window.set_temp_actor(temp_actor)
  945.   end

  946. end # Window_EquipItem

  947. #==============================================================================
  948. # ■ Window_EquipActor
  949. #==============================================================================

  950. class Window_EquipActor < Window_Base

  951.   #--------------------------------------------------------------------------
  952.   # initialize
  953.   #--------------------------------------------------------------------------
  954.   def initialize(dx, dy)
  955.     super(dx, dy, window_width, fitting_height(4))
  956.     @actor = nil
  957.   end

  958.   #--------------------------------------------------------------------------
  959.   # window_width
  960.   #--------------------------------------------------------------------------
  961.   def window_width; return Graphics.width - 160; end

  962.   #--------------------------------------------------------------------------
  963.   # actor=
  964.   #--------------------------------------------------------------------------
  965.   def actor=(actor)
  966.     return if @actor == actor
  967.     @actor = actor
  968.     refresh
  969.   end

  970.   #--------------------------------------------------------------------------
  971.   # refresh
  972.   #--------------------------------------------------------------------------
  973.   def refresh
  974.     contents.clear
  975.     return unless @actor
  976.     draw_actor_face(@actor, 0, 0)
  977.     draw_actor_simple_status(@actor, 108, line_height / 2)
  978.   end

  979. end # Window_EquipActor

  980. #==============================================================================
  981. # ■ Scene_Equip
  982. #==============================================================================

  983. class Scene_Equip < Scene_MenuBase

  984.   #--------------------------------------------------------------------------
  985.   # overwrite method: create_status_window
  986.   #--------------------------------------------------------------------------
  987.   def create_status_window
  988.     wx = Graphics.width - (Graphics.width * 2 / 5)
  989.     wy = @help_window.height + 120
  990.     @status_window = Window_EquipStatus.new(wx, wy)
  991.     @status_window.viewport = @viewport
  992.     @status_window.actor = @actor
  993.   end

  994.   #--------------------------------------------------------------------------
  995.   # overwrite method: create_command_window
  996.   #--------------------------------------------------------------------------
  997.   def create_command_window

  998.     wx = 0
  999.     wy = @help_window.height
  1000.     ww = 160
  1001.     @command_window = Window_EquipCommand.new(wx, wy, ww)
  1002.     @command_window.viewport = @viewport
  1003.     @command_window.help_window = @help_window
  1004.     if !$game_temp.scene_equip_index.nil?
  1005.       @command_window.select($game_temp.scene_equip_index)
  1006.       @command_window.oy = $game_temp.scene_equip_oy
  1007.     end
  1008.     $game_temp.scene_equip_index = nil
  1009.     $game_temp.scene_equip_oy = nil
  1010.     @command_window.set_handler(:equip,    method(:command_equip))
  1011.     @command_window.set_handler(:optimize, method(:command_optimize))
  1012.     @command_window.set_handler(:clear,    method(:command_clear))
  1013.     @command_window.set_handler(:cancel,   method(:return_scene))
  1014.     @command_window.set_handler(:pagedown, method(:next_actor))
  1015.     @command_window.set_handler(:pageup,   method(:prev_actor))
  1016.     process_custom_equip_commands
  1017.     create_actor_window
  1018.   end

  1019.   #--------------------------------------------------------------------------
  1020.   # new method: create_actor_window
  1021.   #--------------------------------------------------------------------------
  1022.   def create_actor_window
  1023.     wy = @help_window.height
  1024.     @actor_window = Window_EquipActor.new(@command_window.width, wy)
  1025.     @actor_window.viewport = @viewport
  1026.     @actor_window.actor = @actor
  1027.   end

  1028.   #--------------------------------------------------------------------------
  1029.   # new method: process_custom_equip_commands
  1030.   #--------------------------------------------------------------------------
  1031.   def process_custom_equip_commands
  1032.     for command in YEA::EQUIP::COMMAND_LIST
  1033.       next unless YEA::EQUIP::CUSTOM_EQUIP_COMMANDS.include?(command)
  1034.       called_method = YEA::EQUIP::CUSTOM_EQUIP_COMMANDS[command][3]
  1035.       @command_window.set_handler(command, method(called_method))
  1036.     end
  1037.   end

  1038.   #--------------------------------------------------------------------------
  1039.   # overwrite method: create_slot_window
  1040.   #--------------------------------------------------------------------------
  1041.   def create_slot_window
  1042.     wx = 0
  1043.     wy = @command_window.y + @command_window.height
  1044.     ww = Graphics.width - @status_window.width
  1045.     @slot_window = Window_EquipSlot.new(wx, wy, ww)
  1046.     @slot_window.viewport = @viewport
  1047.     @slot_window.help_window = @help_window
  1048.     @slot_window.status_window = @status_window
  1049.     @slot_window.actor = @actor
  1050.     @slot_window.set_handler(:ok,       method(:on_slot_ok))
  1051.     @slot_window.set_handler(:cancel,   method(:on_slot_cancel))
  1052.   end

  1053.   #--------------------------------------------------------------------------
  1054.   # overwrite method: create_item_window
  1055.   #--------------------------------------------------------------------------
  1056.   def create_item_window
  1057.     wx = @slot_window.x
  1058.     wy = @slot_window.y
  1059.     ww = @slot_window.width
  1060.     wh = @slot_window.height
  1061.     @item_window = Window_EquipItem.new(wx, wy, ww, wh)
  1062.     @item_window.viewport = @viewport
  1063.     @item_window.help_window = @help_window
  1064.     @item_window.status_window = @status_window
  1065.     @item_window.actor = @actor
  1066.     @item_window.set_handler(:ok,     method(:on_item_ok))
  1067.     @item_window.set_handler(:cancel, method(:on_item_cancel))
  1068.     @slot_window.item_window = @item_window
  1069.     @item_window.hide
  1070.   end

  1071.   #--------------------------------------------------------------------------
  1072.   # alias method: command_optimize
  1073.   #--------------------------------------------------------------------------
  1074.   alias scene_equip_command_optimize_aee command_optimize
  1075.   def command_optimize
  1076.     scene_equip_command_optimize_aee
  1077.     @actor_window.refresh
  1078.   end

  1079.   #--------------------------------------------------------------------------
  1080.   # alias method: command_clear
  1081.   #--------------------------------------------------------------------------
  1082.   alias scene_equip_command_clear_aee command_clear
  1083.   def command_clear
  1084.     scene_equip_command_clear_aee
  1085.     @actor_window.refresh
  1086.   end

  1087.   #--------------------------------------------------------------------------
  1088.   # alias method: on_slot_ok
  1089.   #--------------------------------------------------------------------------
  1090.   alias scene_equip_on_slot_ok_aee on_slot_ok
  1091.   def on_slot_ok
  1092.     scene_equip_on_slot_ok_aee
  1093.     @slot_window.hide
  1094.     @item_window.refresh
  1095.     @item_window.show
  1096.   end

  1097.   #--------------------------------------------------------------------------
  1098.   # alias method: on_item_ok
  1099.   #--------------------------------------------------------------------------
  1100.   alias scene_equip_on_item_ok_aee on_item_ok
  1101.   def on_item_ok
  1102.     scene_equip_on_item_ok_aee
  1103.     @actor_window.refresh
  1104.     @slot_window.show
  1105.     @item_window.hide
  1106.   end

  1107.   #--------------------------------------------------------------------------
  1108.   # alias method: on_item_cancel
  1109.   #--------------------------------------------------------------------------
  1110.   alias scene_equip_on_item_cancel_aee on_item_cancel
  1111.   def on_item_cancel
  1112.     scene_equip_on_item_cancel_aee
  1113.     @slot_window.show
  1114.     @item_window.hide
  1115.   end

  1116.   #--------------------------------------------------------------------------
  1117.   # alias method: on_actor_change
  1118.   #--------------------------------------------------------------------------
  1119.   alias scene_equip_on_actor_change_aee on_actor_change
  1120.   def on_actor_change
  1121.     scene_equip_on_actor_change_aee
  1122.     @actor_window.actor = @actor
  1123.   end

  1124.   #--------------------------------------------------------------------------
  1125.   # new method: command_name1
  1126.   #--------------------------------------------------------------------------
  1127.   def command_name1
  1128.     # Do nothing.
  1129.   end

  1130.   #--------------------------------------------------------------------------
  1131.   # new method: command_name2
  1132.   #--------------------------------------------------------------------------
  1133.   def command_name2
  1134.     # Do nothing.
  1135.   end

  1136. end # Scene_Equip

  1137. #==============================================================================
  1138. #
  1139. # ▼ End of File
  1140. #
  1141. #==============================================================================
复制代码

Lv4.逐梦者 (版主)

漾夕☽星化残月☾

梦石
0
星屑
8596
在线时间
3857 小时
注册时间
2015-5-12
帖子
2077

剧作品鉴家

2
发表于 2016-5-17 12:09:25 | 只看该作者
本帖最后由 御曹司 于 2016-5-17 12:11 编辑

189行改为
DEFAULT_BASE_SLOTS = [ 0, 1, 2, 3, 5, 7, 6, 7 ,8]  #此处为默认装备栏列表

204行加一行

8 => [ "嗷嗷",       true,      true],


先试试这样、不行的话再看看吧》

点评

巧了,我当初用的就是这个,不过后来因为不晓得如何用这个设置初始装备就放弃了。  发表于 2016-5-17 12:38

评分

参与人数 1星屑 +100 收起 理由
丿梁丶小柒 + 100 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
686
在线时间
218 小时
注册时间
2016-5-10
帖子
99
3
 楼主| 发表于 2016-5-17 12:45:04 | 只看该作者
御曹司 发表于 2016-5-17 12:09
189行改为
DEFAULT_BASE_SLOTS = [ 0, 1, 2, 3, 5, 7, 6, 7 ,8]  #此处为默认装备栏列表

这个是添加栏位,这个我会了。
现在就是不知道 备注设置什么命令。
添加 - 腰带类
使用后 穿着在 腰带栏位上。
现在就是不知道如何把饰品添加成腰带类。
额,有点说不清了,请问可以加你qq吗?

点评

@御曹司 抱歉啊,还是看不懂,总之谢谢你的帮助,我在找找看有别的没,主要还是喜欢这个 界面,界面的布局很简洁。  发表于 2016-5-17 14:11
我也是个渣渣,正好路过而已...手头暂时不方便试...  发表于 2016-5-17 13:45
@御曹司 我刚才翻译了,也试了好几十种备注码了,可是都没用。  发表于 2016-5-17 13:27
你看看范例、而且机译一下那些注释、在那样试试吧,,,  发表于 2016-5-17 13:21
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
686
在线时间
218 小时
注册时间
2016-5-10
帖子
99
4
 楼主| 发表于 2016-5-17 13:23:06 | 只看该作者
@御曹司 大神求帮忙呀
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
686
在线时间
218 小时
注册时间
2016-5-10
帖子
99
5
 楼主| 发表于 2016-5-17 15:27:35 | 只看该作者
有没有好心人教教我怎么使用这个脚本,虽然没错误,可是不会调用。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1150
在线时间
245 小时
注册时间
2016-2-3
帖子
178

开拓者

6
发表于 2016-5-17 19:20:35 | 只看该作者
a422740205 发表于 2016-5-17 15:27
有没有好心人教教我怎么使用这个脚本,虽然没错误,可是不会调用。 ...

<equip type: x>  好像是这个。

评分

参与人数 1星屑 +150 收起 理由
丿梁丶小柒 + 150 我很赞同

查看全部评分

究极半吊子
《重生学校》同人作:https://rpg.blue/thread-493882-1-1.html
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
686
在线时间
218 小时
注册时间
2016-5-10
帖子
99
7
 楼主| 发表于 2016-5-17 19:29:39 | 只看该作者
饿啊 发表于 2016-5-17 19:20
好像是这个。

你简直就是我心目中的神,我等了一天了,竟然就少了一个空格。。。我少了一个空格就没去尝试这个代码了。。{:4_113:}请受我一拜。。

点评

所以你可以初步体会到RGSS3中细节的重要性...  发表于 2016-5-25 19:41
。。。  发表于 2016-5-17 20:29
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 12:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表