Project1

标题: 物品等级限制脚本 [打印本页]

作者: 985064351    时间: 2011-6-7 16:47
标题: 物品等级限制脚本
本帖最后由 985064351 于 2011-6-7 16:49 编辑

我找过物品等级限制 为什么只有装备和防具的   有没有物品的 找不着 求个

用于限制药品的

DAREJA)XC))2M8K5~XOU_1G.jpg (18.12 KB, 下载次数: 12)

DAREJA)XC))2M8K5~XOU_1G.jpg

作者: 985064351    时间: 2011-6-7 17:00
你是说发限制装备等级的脚本吗  ==   我想要个就是没到特定的等级就不能使用特定物品的脚本
作者: 985064351    时间: 2011-6-7 17:06
本帖最后由 985064351 于 2011-6-7 17:09 编辑

#####################################################################
                                                转载来至66RPG
#################################################################
module RPG
  class Weapon
    def level
     return 1 if @description.split(/★/)[1] == nil
     return @description.split(/★/)[1]
    end
    def description      
      return @description.split(/★/)[0]
    end
  end
end

class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 可以装备判定
#     item : 物品
#--------------------------------------------------------------------------
def equipable?(item)
   # 武器的情况
   if item.is_a?(RPG::Weapon)
     # 包含当前的职业可以装备武器的场合
     if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<@level
       return true
     end
   end
   # 防具的情况
   if item.is_a?(RPG::Armor)
     # 不包含当前的职业可以装备武器的场合
     if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<@level
       return true
     end
   end
   return false
end
end
#==============================================================================
# ■ Window_EquipItem
#------------------------------------------------------------------------------
#  装备画面、显示浏览变更装备的候补物品的窗口。
#==============================================================================

class Window_EquipItem < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  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) and @actor.equipable?($data_weapons)
          @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) and @actor.equipable?($data_armors)
          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
end



装备防具的  不是物品的
作者: zx16589042    时间: 2011-6-7 17:40
本帖最后由 zx16589042 于 2011-6-7 17:54 编辑

楼主真悲剧。。。他们都没懂还是????
  算了我帮你写写....下次发你。。。。至于你懂些脚本的话那你请参考下我发的《装备能力限制.rar 》包括等级限制 http://rpg.blue/thread-179712-1-1.html
我想你一定不会想:没有达到等级的药品不在物品栏中显示吧,毕竟我玩过彩虹岛,你只想没到等级的无法使用吧。。。呵呵我懂的
明天或许发给你



新建 文本文档.rar (1.09 KB, 下载次数: 94)

不懂下次给你范例

作者: 985064351    时间: 2011-6-7 17:46
zx16589042 发表于 2011-6-7 17:40
楼主真悲剧。。。他们都没懂还是????
  算了我帮你写写....下次发你。。。。至于你懂些脚本的 ...

谢谢   知音啊    我在做单机彩虹岛  但有太多不会的了  很悲剧
作者: 985064351    时间: 2011-6-7 17:50
zx16589042 发表于 2011-6-7 17:40
楼主真悲剧。。。他们都没懂还是????
  算了我帮你写写....下次发你。。。。至于你懂些脚本的 ...

你的那个脚本 我没搜索到啊   现在你发个传送门过来我才拿到   太谢谢了
作者: zx16589042    时间: 2011-6-7 17:51
请把 “#”框起来的部分复制到scene_item中
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
的下面
####################################################################
  #--------------------------------------------------------------------------
  # 作者:太阳下的阴影
  #--------------------------------------------------------------------------
      # 装备能否使用判断
      # 获取物品窗口现在选择的装备数据
      item = @item_window.item
      # 装备不等于无时
      if item != nil
        # 当设定的某项能力大于角色的某项能力时无法装备
        # 需要哪个限制请去掉那一行脚本的注释(注意167行最后的那个 and )
        if item.等级.to_i > @actor.level or   # 等级 限制
          item.力量.to_i > @actor.str or      # 力量 限制
          item.灵巧.to_i > @actor.dex or      # 灵巧 限制
          item.速度.to_i > @actor.agi or      # 速度 限制
          item.魔力.to_i > @actor.int         # 魔力 限制
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
      end
####################################################################
#============================================================================
# ●陌生人 交流QQ1035213222 添加时请回复   RPG
#============================================================================
#  装备能力限制
#   如果不想显示文字请在需要隐藏的说明前加 # 号
#   如范例中盾的使用。
#============================================================================
module RPG
  #============================================================================
  # ■ Game_Weapon
  #----------------------------------------------------------------------------
  #  武器的名字和说明。
  #============================================================================
  class Weapon
    #--------------------------------------------------------------------------
    # ● 注释说明
    #--------------------------------------------------------------------------
    def description
      description = @description.split(/#/)[0]
      return description != nil ? description : ""
    end
    #--------------------------------------------------------------------------
    # ● 获取说明
    #--------------------------------------------------------------------------
    def 等级
      return 1 if @description.split(/等级/)[1] == nil
      return @description.split(/等级/)[1]
    end
    def 力量
      return 1 if @description.split(/力量/)[1] == nil
      return @description.split(/力量/)[1]
    end
    def 灵巧
      return 1 if @description.split(/灵巧/)[1] == nil
      return @description.split(/灵巧/)[1]
    end
    def 速度
      return 1 if @description.split(/速度/)[1] == nil
      return @description.split(/速度/)[1]
    end
    def 魔力
      return 1 if @description.split(/魔力/)[1] == nil
      return @description.split(/魔力/)[1]
    end
  end
  #============================================================================
  # ■ Game_Armor
  #----------------------------------------------------------------------------
  #  防具说明的类。
  #============================================================================
  class Armor
    #--------------------------------------------------------------------------
    # ● 注释说明
    #--------------------------------------------------------------------------
    def description
      description = @description.split(/#/)[0]
      return description != nil ? description : ""
    end
    #--------------------------------------------------------------------------
    # ● 获取说明
    #--------------------------------------------------------------------------
    def 等级
      return 1 if @description.split(/等级/)[1] == nil
      return @description.split(/等级/)[1]
    end
    def 力量
      return 1 if @description.split(/力量/)[1] == nil
      return @description.split(/力量/)[1]
    end
    def 灵巧
      return 1 if @description.split(/灵巧/)[1] == nil
      return @description.split(/灵巧/)[1]
    end
    def 速度
      return 1 if @description.split(/速度/)[1] == nil
      return @description.split(/速度/)[1]
    end
    def 魔力
      return 1 if @description.split(/魔力/)[1] == nil
      return @description.split(/魔力/)[1]
    end
  end
  #============================================================================
  # ■ Game_Item
  #----------------------------------------------------------------------------
  #  防具说明的类。
  #============================================================================
  class Item
    #--------------------------------------------------------------------------
    # ● 注释说明
    #--------------------------------------------------------------------------
    def description
      description = @description.split(/#/)[0]
      return description != nil ? description : ""
    end
    #--------------------------------------------------------------------------
    # ● 获取说明
    #--------------------------------------------------------------------------
    def 等级
      return 1 if @description.split(/等级/)[1] == nil
      return @description.split(/等级/)[1]
    end
    def 力量
      return 1 if @description.split(/力量/)[1] == nil
      return @description.split(/力量/)[1]
    end
    def 灵巧
      return 1 if @description.split(/灵巧/)[1] == nil
      return @description.split(/灵巧/)[1]
    end
    def 速度
      return 1 if @description.split(/速度/)[1] == nil
      return @description.split(/速度/)[1]
    end
    def 魔力
      return 1 if @description.split(/魔力/)[1] == nil
      return @description.split(/魔力/)[1]
    end
  end
end
不知道插哪下我帮你。。。。其实和那<装备能力限制>没变什么只是由class Scene_Equip改到class Scene_Item里面都是    # 按下 C 键的情况下if Input.trigger?(Input::C) 脚本下
作者: 絀神入化    时间: 2011-6-7 18:57
我认为纯事件也行的啊= =只是比较麻烦
作者: 985064351    时间: 2011-6-8 15:59
说清楚点  楼上

作者: Tony3500    时间: 2011-6-11 11:47
脚本?额! 我还是新手,不咋懂,汗啊!!!





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