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

Project1

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

[已经解决] 装备等级限制脚本的使用问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
201 小时
注册时间
2011-1-9
帖子
142
跳转到指定楼层
1
发表于 2011-7-23 21:22:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚看到这个脚本,很好奇,
module RPG
class Weapon
    def level
     return 1 if @description.split(/LV/)[1] == nil
     return @description.split(/LV/)[1]
   end
   def str
     return 1 if @description.split(/STR/)[1] == nil
     return @description.split(/STR/)[1]
   end
   def dex
     return 1 if @description.split(/DEX/)[1] == nil
     return @description.split(/DEX/)[1]
   end
   def agi
     return 1 if @description.split(/AGI/)[1] == nil
     return @description.split(/AGI/)[1]
   end
   def int
     return 1 if @description.split(/INT/)[1] == nil
     return @description.split(/INT/)[1]
   end
#    def description      
#      return @description.split(/LV/)[0] + "{装备等级" + level + "}"
#    end
end
class Armor
    def level
     return 1 if @description.split(/LV/)[1] == nil
     return @description.split(/LV/)[1]
   end
   def str
     return 1 if @description.split(/STR/)[1] == nil
     return @description.split(/STR/)[1]
   end
   def dex
     return 1 if @description.split(/DEX/)[1] == nil
     return @description.split(/DEX/)[1]
   end
   def agi
     return 1 if @description.split(/AGI/)[1] == nil
     return @description.split(/AGI/)[1]
   end
   def int
     return 1 if @description.split(/INT/)[1] == nil
     return @description.split(/INT/)[1]
   end
#    def description      
#      return @description.split(/LV/)[0] + "{装备等级" + level + "}"
#    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
       if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
       return true
       end
     end
   end
   # 防具的情况
   if item.is_a?(RPG::Armor)
     # 不包含当前的职业可以装备武器的场合
     if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<=@level
       if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
       return true
       end
     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
有人能不能告诉我怎么用这个啊???

哎,我又回来了,66rpg。

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
2
发表于 2011-7-23 21:34:56 | 只看该作者
在装备/防具的说明中写上限制就可以了
例如说明是LV15那么就要15级才能装备

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
201 小时
注册时间
2011-1-9
帖子
142
3
 楼主| 发表于 2011-7-23 21:54:25 | 只看该作者
Wind2010 发表于 2011-7-23 21:34
在装备/防具的说明中写上限制就可以了
例如说明是LV15那么就要15级才能装备 ...

必须这么写?那准备说明就没有了?
哎,我又回来了,66rpg。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 18:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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