Project1

标题: 如何使装备中的"身体"和"装饰品"两位置能够互相装备 [打印本页]

作者: alonescud    时间: 2008-5-2 23:48
标题: 如何使装备中的"身体"和"装饰品"两位置能够互相装备
即: “身体”那一栏也能装备“装饰品”
即: “装饰品“那一栏也能装备“身体”

其它位置不变! [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 凌冰    时间: 2008-5-3 00:21
把Window_EquipItem的51行改成
if ($data_armors.kind < 3 and $data_armors.kind == @equip_type-1) or ($data_armors.kind == 2 and @equip_type == 4)
把Scene_Equip93行下面加入
if @right_window.index ==  4 and @right_window.active
      @item_window.refresh
    end
如果你默认的脚本没改过的话
估计冲突性不小
作者: alonescud    时间: 2008-5-3 01:23
先谢了,我试试看
作者: 凌冰    时间: 2008-5-3 01:44
有的,因为窗口重建了,把轩辕菜单Window_EquipItem_New和Scene_Menu的脚本给我
作者: alonescud    时间: 2008-5-3 03:54
SORRY 冰大大久等了,刚刚有急事  冏


工程直接指到主战轩辕剑菜单的工程地址了。 因为我的工程太大!{/gg} 改哪里希望能注明一下,我到时copy到我的工程里,不胜感激!! {/se}

http://rpg.blue/up_pic/200703/menu.rar

好像sence_menu没有重建。只有 Window_EquipItem

#==============================================================================
# ■ Window_EquipItem
#------------------------------------------------------------------------------
#  装备画面、显示浏览变更装备的候补物品的窗口。
#==============================================================================

class Window_EquipItem_New < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     actor      : 角色
  #     equip_type : 装备部位 (0~3)
  #--------------------------------------------------------------------------
  def initialize(actor, equip_type)
    super(400, 48, 240, 364)
    self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
    self.opacity = 180
    @column_max = 1
    @actor = actor
    @equip_type = equip_type
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # ● 获取物品
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    # 添加可以装备的武器
    if @equip_type == 0
      weapon_set = $data_classes[@actor.class_id].weapon_set
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
          @data.push($data_weapons)
        end
      end
    end
    # 添加可以装备的防具
    if @equip_type != 0
      armor_set = $data_classes[@actor.class_id].armor_set
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 and armor_set.include?(i)
          if $data_armors.kind == @equip_type-1
            @data.push($data_armors)
          end
        end
      end
    end
    # 添加空白
    @data.push(nil)
    # 生成位图、描绘全部项目
    @item_max = @data.size
    self.contents = Bitmap.new(width - 32, row_max * 32)
    for i in 0...@item_max-1
      draw_item(i)
    end
  end
  #--------------------------------------------------------------------------
  # ● 项目的描绘
  #     index : 项目符号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    x = 4
    y = index * 32
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.font.size = 18
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x +  self.width / @column_max - 72, y, 16, 32, ":", 1)
    self.contents.draw_text(x +  self.width / @column_max - 64, y, 24, 32, number.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
end









作者: 凌冰    时间: 2008-5-3 04:47
  轩辕剑美化&加强
第282行插入
if (@equip_right_window.index == 3 or @equip_right_window.index == 4) and
        @equip_right_window.active
        @equip_item_window.refresh
      end
  Window_EquipItem
第53行改成
if (@equip_type < 4 and $data_armors.kind == @equip_type-1) or
            ($data_armors.kind == 2 and @equip_type == 4)
作者: alonescud    时间: 2008-5-3 04:56
以下引用凌冰于2008-5-2 20:47:01的发言:

轩辕剑美化&加强
第282行插入
if (@equip_right_window.index == 3 or @equip_right_window.index == 4) and
       @equip_right_window.active
       @equip_item_window.refresh
     end
Window_EquipItem
第53行改成
if (@equip_type < 4 and $data_armors.kind == @equip_type-1) or
           ($data_armors.kind == 2 and @equip_type == 4)


第282行插入???


作者: 凌冰    时间: 2008-5-3 05:01
对,插入 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: alonescud    时间: 2008-5-3 05:14
以下引用凌冰于2008-5-2 21:01:56的发言:

对,插入



OK了,现在是“装饰品”那一栏也可以装“身体”的装备了。“装饰品”那个类别就可以不用了。

呵呵,多谢冰大大,赞一个! {/se}
作者: alonescud    时间: 2009-6-12 08:00
MS不行,我有用主站的轩辕剑菜单,应该有影响吧```!




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