查看: 3253|回复: 7

[已经解决] 如何使用脚本制作装备等级

[复制链接]
梦石
0
星屑
50
在线时间
4 小时
注册时间
2009-8-13
回帖
31
发表于 2010-7-28 23:59:59 | 显示全部楼层 |阅读模式

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

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

×
如题,就是人物到一定等级传一定等级的装备
梦石
0
星屑
50
在线时间
111 小时
注册时间
2010-6-26
回帖
76
发表于 2010-7-29 06:44:20 | 显示全部楼层
本帖最后由 额 于 2010-7-29 06:45 编辑
  1. module RPG
  2. class Weapon
  3.   def level
  4.    return 1 if @description.split(/★/)[1] == nil
  5.    return @description.split(/★/)[1]
  6. end
  7.   def description      
  8.     return @description.split(/★/)[0]
  9.   end
  10. end
  11. class Armor
  12.   def level
  13.    return 1 if @description.split(/★/)[1] == nil
  14.    return @description.split(/★/)[1]
  15.   end
  16.   def description      
  17.     return @description.split(/★/)[0]
  18.   end
  19. end
  20. end



  21. class Game_Actor < Game_Battler
  22. #--------------------------------------------------------------------------
  23. # ● 可以装备判定
  24. #     item : 物品
  25. #--------------------------------------------------------------------------
  26. def equipable?(item)
  27.   
  28. # 武器的情况
  29. if item.is_a?(RPG::Weapon)
  30.    # 包含当前的职业可以装备武器的场合
  31.    if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level
  32.      return true
  33.    end
  34. end
  35. # 防具的情况
  36. if item.is_a?(RPG::Armor)
  37.    # 不包含当前的职业可以装备武器的场合
  38.    if $data_classes[@class_id].armor_set.include?(item.id)  and item.level.to_i<=@level
  39.      return true
  40.    end
  41. end
  42. return false
  43. end
  44. end
  45. #==============================================================================
  46. # ■ Window_EquipItem
  47. #------------------------------------------------------------------------------
  48. #  装备画面、显示浏览变更装备的候补物品的窗口。
  49. #==============================================================================

  50. class Window_EquipItem < Window_Selectable
  51. #--------------------------------------------------------------------------
  52. # ● 刷新
  53. #--------------------------------------------------------------------------
  54. def refresh
  55.   if self.contents != nil
  56.     self.contents.dispose
  57.     self.contents = nil
  58.   end
  59.   @data = []
  60.   # 添加可以装备的武器
  61.   if @equip_type == 0
  62.     weapon_set = $data_classes[@actor.class_id].weapon_set
  63.     for i in 1...$data_weapons.size
  64.       if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])
  65.         @data.push($data_weapons[i])
  66.       end
  67.     end
  68.   end
  69.   # 添加可以装备的防具
  70.   if @equip_type != 0
  71.     armor_set = $data_classes[@actor.class_id].armor_set
  72.     for i in 1...$data_armors.size
  73.       if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])
  74.         if $data_armors[i].kind == @equip_type-1
  75.           @data.push($data_armors[i])
  76.         end
  77.       end
  78.     end
  79.   end
  80.   # 添加空白
  81.   @data.push(nil)
  82.   # 生成位图、描绘全部项目
  83.   @item_max = @data.size
  84.   self.contents = Bitmap.new(width - 32, row_max * 32)
  85.   for i in 0...@item_max-1
  86.     draw_item(i)
  87.   end
  88. end
  89. end  
复制代码
用法:复制脚本插入到Main前。在装备的描述最后添加比如★1就是1级才能装备
回复

使用道具 举报

梦石
0
星屑
50
在线时间
4 小时
注册时间
2009-8-13
回帖
31
 楼主| 发表于 2010-7-29 12:18:36 | 显示全部楼层
好像和我的脚本有冲突,我用了装备栏扩展脚本和trab还有装备分类脚本,怎么解决,问题提示WINDOWS_HELP第29行错误
回复

使用道具 举报

宛若

梦石
0
星屑
1888
在线时间
529 小时
注册时间
2007-8-19
回帖
1466

极短24参与开拓者

发表于 2010-7-29 12:21:20 | 显示全部楼层
把你的工程上传……
实在不行上传Scripts.rxdata
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
4 小时
注册时间
2009-8-13
回帖
31
 楼主| 发表于 2010-7-29 12:24:39 | 显示全部楼层
Project1.rar (249.55 KB, 下载次数: 74) 这个就是工程了
回复

使用道具 举报

宛若

梦石
0
星屑
1888
在线时间
529 小时
注册时间
2007-8-19
回帖
1466

极短24参与开拓者

发表于 2010-7-29 12:57:16 | 显示全部楼层
  1. module RPG
  2. class Weapon
  3.   def level
  4.    return 1 if @description.split(/★/)[1] == nil
  5.    return @description.split(/★/)[1]
  6. end
  7.   def description      
  8.     return @description.split(/★/)[0] == nil ? "" : @description.split(/★/)[0]
  9.   end
  10. end
  11. class Armor
  12.   def level
  13.    return 1 if @description.split(/★/)[1] == nil
  14.    return @description.split(/★/)[1]
  15.   end
  16.   def description      
  17.     return @description.split(/★/)[0] == nil ? "" : @description.split(/★/)[0]
  18.   end
  19. end
  20. end



  21. class Game_Actor < Game_Battler
  22. #--------------------------------------------------------------------------
  23. # ● 可以装备判定
  24. #     item : 物品
  25. #--------------------------------------------------------------------------
  26. def equipable?(item)
  27.   
  28. # 武器的情况
  29. if item.is_a?(RPG::Weapon)
  30.    # 包含当前的职业可以装备武器的场合
  31.    if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level
  32.      return true
  33.    end
  34. end
  35. # 防具的情况
  36. if item.is_a?(RPG::Armor)
  37.    # 不包含当前的职业可以装备武器的场合
  38.    if $data_classes[@class_id].armor_set.include?(item.id)  and item.level.to_i<=@level
  39.      return true
  40.    end
  41. end
  42. return false
  43. end
  44. end
  45. #==============================================================================
  46. # ■ Window_EquipItem
  47. #------------------------------------------------------------------------------
  48. #  装备画面、显示浏览变更装备的候补物品的窗口。
  49. #==============================================================================

  50. class Window_EquipItem < Window_Selectable
  51. #--------------------------------------------------------------------------
  52. # ● 刷新
  53. #--------------------------------------------------------------------------
  54. def refresh
  55.   if self.contents != nil
  56.     self.contents.dispose
  57.     self.contents = nil
  58.   end
  59.   @data = []
  60.   # 添加可以装备的武器
  61.   if @equip_type == 0
  62.     weapon_set = $data_classes[@actor.class_id].weapon_set
  63.     for i in 1...$data_weapons.size
  64.       if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])
  65.         @data.push($data_weapons[i])
  66.       end
  67.     end
  68.   end
  69.   # 添加可以装备的防具
  70.   if @equip_type != 0
  71.     armor_set = $data_classes[@actor.class_id].armor_set
  72.     for i in 1...$data_armors.size
  73.       if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])
  74.         if $data_armors[i].kind == @equip_type-1
  75.           @data.push($data_armors[i])
  76.         end
  77.       end
  78.     end
  79.   end
  80.   # 添加空白
  81.   @data.push(nil)
  82.   # 生成位图、描绘全部项目
  83.   @item_max = @data.size
  84.   self.contents = Bitmap.new(width - 32, row_max * 32)
  85.   for i in 0...@item_max-1
  86.     draw_item(i)
  87.   end
  88. end
  89. end  
复制代码

评分

参与人数 1星屑 +500 收起 理由
IamI + 500 认可答案

查看全部评分

[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
4 小时
注册时间
2009-8-13
回帖
31
 楼主| 发表于 2010-7-29 12:58:59 | 显示全部楼层
可以不用★吗 我想用LV代替可以吗?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
111 小时
注册时间
2010-6-26
回帖
76
发表于 2010-7-29 16:38:18 | 显示全部楼层
回复 huxiao999 的帖子

:L
    这个你就发扬一下创新精神咯
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部