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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: a84501571
打印 上一主题 下一主题

[已经解决] 求个限制等级携带武器和限制等级使用物品。

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2009-8-4
帖子
109
11
 楼主| 发表于 2009-8-12 19:38:53 | 只看该作者
因为它那脚本完全没显示一个新插入的脚本

本人极菜,

求解
菜.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
帖子
533
12
发表于 2009-8-12 21:00:23 | 只看该作者
本帖最后由 传说中di 于 2009-8-12 21:31 编辑
  1. #---------------------------------------------------------------------------------
  2. #需要能力值才能装备 改编自到达一定等级才能装备的武器和防具 By凌冰
  3. #界面美化By yzlsym
  4. #用法:在武器、防具的说明里添加LV等级(后面的等级写个数字)STR力量(后面的力量写个数字)
  5. #DEX灵巧(后面的灵巧写个数字)AGI速度(后面的速度写个数字)INT魔力(后面的魔力写个数字)
  6. #可以空缺,空缺项默认为1
  7. #建议和升级加点脚本配合使用
  8. #---------------------------------------------------------------------------------
  9. module RPG
  10.   class Weapon
  11.     def level
  12.      return 1 if @name.split(/W/)[1] == nil
  13.      return @name.split(/W/)[1]
  14.    end
  15.    def str
  16.      return 1 if @name.split(/W/)[2] == nil
  17.      return @name.split(/W/)[2]
  18.    end
  19.    def dex
  20.      return 1 if @name.split(/W/)[3] == nil
  21.      return @name.split(/W/)[3]
  22.    end
  23.    def agi
  24.      return 1 if @name.split(/W/)[4] == nil
  25.      return @name.split(/W/)[4]
  26.    end
  27.    def int
  28.      return 1 if @name.split(/W/)[5] == nil
  29.      return @name.split(/W/)[5]
  30.    end
  31. end
  32. class Armor
  33.     def level
  34.      return 1 if @name.split(/A/)[1] == nil
  35.      return @name.split(/A/)[1]
  36.    end
  37.    def str
  38.      return 1 if @name.split(/A/)[2] == nil
  39.      return @name.split(/A/)[2]
  40.    end
  41.    def dex
  42.      return 1 if @name.split(/A/)[3] == nil
  43.      return @name.split(/A/)[3]
  44.    end
  45.    def agi
  46.      return 1 if @name.split(/A/)[4] == nil
  47.      return @name.split(/A/)[4]
  48.    end
  49.    def int
  50.      return 1 if @name.split(/A/)[5] == nil
  51.      return @name.split(/A/)[5]
  52.    end
  53.   end
  54. end

  55. class Game_Actor < Game_Battler
  56. #--------------------------------------------------------------------------
  57. # ● 可以装备判定
  58. #     item : 物品
  59. #--------------------------------------------------------------------------
  60. def equipable?(item)
  61.    # 武器的情况
  62.    if item.is_a?(RPG::Weapon)
  63.      # 包含当前的职业可以装备武器的场合
  64.      if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level
  65.        if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
  66.        return true
  67.        end
  68.      end
  69.    end
  70.    # 防具的情况
  71.    if item.is_a?(RPG::Armor)
  72.      # 包含当前的职业可以装备防具的场合
  73.      if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<=level
  74.        if item.str.to_i<= str and item.dex.to_i<= dex and item.agi.to_i<= agi and item.int.to_i<= int
  75.        return true
  76.        end
  77.      end
  78.    end
  79.    return false
  80. end
  81. end
  82. #==============================================================================
  83. # ■ Window_EquipItem
  84. #------------------------------------------------------------------------------
  85. #  装备画面、显示浏览变更装备的候补物品的窗口。
  86. #==============================================================================

  87. class Window_EquipItem < Window_Selectable
  88.   #--------------------------------------------------------------------------
  89.   # ● 项目的描绘
  90.   #     index : 项目符号
  91.   #--------------------------------------------------------------------------
  92.   def draw_item(index)
  93.     item = @data[index]
  94.    x = 4 + index % 2 * (288 + 32)
  95.    y = index / 2 * 32
  96.     case item
  97.     when RPG::Weapon
  98.       number = $game_party.weapon_number(item.id)
  99. #----------------------------------#
  100.     if @actor.equipable?($data_weapons[item.id])
  101.       self.contents.font.color = text_color(item.name_color)
  102.     else
  103.       self.contents.font.color = disabled_color
  104.     end
  105. #----------------------------------#
  106.     when RPG::Armor
  107.       number = $game_party.armor_number(item.id)
  108. #----------------------------------#
  109.     if @actor.equipable?($data_armors[item.id])
  110.       self.contents.font.color = text_color(item.name_color)
  111.     else
  112.       self.contents.font.color = disabled_color
  113.     end
  114. #----------------------------------#
  115.     end
  116.     bitmap = RPG::Cache.icon(item.icon_name)
  117.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  118.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  119.     self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
  120.     self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  121.   end
  122. end
  123. class Scene_Equip
  124.   #--------------------------------------------------------------------------
  125.   # ● 刷新画面 (物品窗口被激活的情况下)
  126.   #--------------------------------------------------------------------------
  127.   def update_item
  128.     # 按下 B 键的情况下
  129.     if Input.trigger?(Input::B)
  130.       # 演奏取消 SE
  131.       $game_system.se_play($data_system.cancel_se)
  132.       # 激活右侧窗口
  133.       @right_window.active = true
  134.       @item_window.active = false
  135.       @item_window.index = -1
  136.       return
  137.     end
  138.     # 按下 C 键的情况下
  139.     if Input.trigger?(Input::C)
  140.       # 获取物品窗口现在选择的装备数据
  141.       item = @item_window.item
  142. #----------------------------------#
  143.       unless item.nil?
  144.         unless @actor.equipable?($data_weapons[item.id])
  145.           # 演奏冻结 SE
  146.           $game_system.se_play($data_system.buzzer_se)
  147.           return
  148.         end
  149.         unless @actor.equipable?($data_armors[item.id])
  150.           # 演奏冻结 SE
  151.           $game_system.se_play($data_system.buzzer_se)
  152.           return
  153.         end
  154.       end
  155. #----------------------------------#
  156.       # 演奏装备 SE
  157.       $game_system.se_play($data_system.equip_se)
  158.       # 变更装备
  159.       @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  160.       # 再生成右侧窗口、物品窗口的内容
  161.       @right_window.refresh
  162.       @item_window.refresh
  163.       @item_window.index = -1
  164.       # 激活右侧窗口
  165.       @right_window.active = true
  166.       @item_window.active = false
  167.       return
  168.     end
  169.   end
  170. end
复制代码
在装备说明后面w100#等级
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2009-8-4
帖子
109
13
 楼主| 发表于 2009-8-12 21:21:48 | 只看该作者
不行啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2009-8-4
帖子
109
14
 楼主| 发表于 2009-8-12 21:23:49 | 只看该作者
按照你说的装备后w100#等级
菜.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
帖子
533
15
发表于 2009-8-12 21:24:15 | 只看该作者
本帖最后由 传说中di 于 2009-8-12 21:36 编辑

在说明里加
  1. =begin
  2. by Ultra
  3. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  4. Item>>
  5. i=>item.description\0/1..11
  6. to i/1..11
  7. i=jhp>回复HP
  8. 2i=jhpb>回复HP(%)
  9. 3i=jsp>回复SP
  10. 4i=jspb>回复SP(%)
  11. 5i=ultra>增加能力值
  12. 6i=sx>属性
  13. 7i=fstate>附加状态
  14. 8i=jstate>解除状态
  15. 9i=xg>效果范围
  16. 10i=q>价格
  17. 11i=self>说明
  18. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  19. Weapon>>
  20. w=>weapon.description\0/1..12
  21. to w/1..12
  22. w=atk>攻击力
  23. 2w=def>防御力
  24. 3w=mdef>魔法防御力
  25. 4w=sx>属性
  26. 5w=fstate>附加状态
  27. 6w=jstate>解除状态
  28. 7w=str>力量
  29. 8w=dex>灵巧
  30. 9w=agi>速度
  31. 10w=int>魔力
  32. 11w=q>价格
  33. 12w=self>说明
  34. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  35. Armor>>
  36. a=>armor.description\0/1..10
  37. to a/1..10
  38. a=def>物理防御
  39. 2a=mdef>魔法防御
  40. 3a=sxdef>属性防御
  41. 4a=statedef>状态防御
  42. 5a=str>力量
  43. 6a=dex>灵巧
  44. 7a=agi>速度
  45. 8a=int>魔力
  46. 9a=q>价格
  47. 10a=self>说明
  48. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  49. Skill>>
  50. s=>skill.description\0/1..8
  51. to s/1..8
  52. s=fw>范围
  53. 2s=wl>威力
  54. 3s=jsp>消耗SP
  55. 4s=mzl>命中率
  56. 5s=sx>属性
  57. 6s=fstate>附加状态
  58. 7s=jstate>解除状态
  59. 8s=self>说明
  60. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  61. Weapon_s>>
  62. to W/1..5
  63. W=levels>等级
  64. 2W=strs>力量
  65. 3W=dex>灵巧
  66. 4W=agi>速度
  67. 5W=int>魔力
  68. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  69. Armor_s>>
  70. to A/1..5
  71. A=levels>等级
  72. 2A=strs>力量
  73. 3A=dex>灵巧
  74. 4A=agi>速度
  75. 5A=int>魔力
  76. ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  77. =end
  78. module RPG
  79.   class Item
  80.     def description
  81.       description = @description.split(/i/)[0]
  82.       return description != nil ? description : ''
  83.     end
  84.     def item_jhp_color
  85.       description_color = @description.split(/i/)[1]
  86.       return description_color != nil ? description_color.to_i : 0
  87.     end
  88.     def item_jhpb_color
  89.       description_color = @description.split(/i/)[2]
  90.       return description_color != nil ? description_color.to_i : 0
  91.     end
  92.     def item_jsp_color
  93.       description_color = @description.split(/i/)[3]
  94.       return description_color != nil ? description_color.to_i : 0
  95.     end
  96.     def item_jspb_color
  97.       description_color = @description.split(/i/)[4]
  98.       return description_color != nil ? description_color.to_i : 0
  99.     end
  100.     def item_ultra_color
  101.       description_color = @description.split(/i/)[5]
  102.       return description_color != nil ? description_color.to_i : 0
  103.     end
  104.     def item_sx_color
  105.       description_color = @description.split(/i/)[6]
  106.       return description_color != nil ? description_color.to_i : 0
  107.     end
  108.     def item_fstate_color
  109.       description_color = @description.split(/i/)[7]
  110.       return description_color != nil ? description_color.to_i : 0
  111.     end
  112.     def item_jstate_color
  113.       description_color = @description.split(/i/)[8]
  114.       return description_color != nil ? description_color.to_i : 0
  115.     end
  116.     def item_xg_color
  117.       description_color = @description.split(/i/)[9]
  118.       return description_color != nil ? description_color.to_i : 0
  119.     end
  120.     def item_q_color
  121.       description_color = @description.split(/i/)[10]
  122.       return description_color != nil ? description_color.to_i : 0
  123.     end
  124.     def item_self_color
  125.       description_color = @description.split(/i/)[11]
  126.       return description_color != nil ? description_color.to_i : 0
  127.     end
  128.   end
  129.   class Weapon
  130.     def description
  131.       description = @description.split(/w/)[0]
  132.       return description != nil ? description : ''
  133.     end
  134.     def weapon_atk_color
  135.       description_color = @description.split(/w/)[1]
  136.       return description_color != nil ? description_color.to_i : 0
  137.     end
  138.     def weapon_def_color
  139.       description_color = @description.split(/w/)[2]
  140.       return description_color != nil ? description_color.to_i : 0
  141.     end
  142.     def weapon_mdef_color
  143.       description_color = @description.split(/w/)[3]
  144.       return description_color != nil ? description_color.to_i : 0
  145.     end
  146.     def weapon_sx_color
  147.       description_color = @description.split(/w/)[4]
  148.       return description_color != nil ? description_color.to_i : 0
  149.     end
  150.     def weapon_fstate_color
  151.       description_color = @description.split(/w/)[5]
  152.       return description_color != nil ? description_color.to_i : 0
  153.     end
  154.     def weapon_jstate_color
  155.       description_color = @description.split(/w/)[6]
  156.       return description_color != nil ? description_color.to_i : 0
  157.     end
  158.     def weapon_str_color
  159.       description_color = @description.split(/w/)[7]
  160.       return description_color != nil ? description_color.to_i : 0
  161.     end
  162.     def weapon_dex_color
  163.       description_color = @description.split(/w/)[8]
  164.       return description_color != nil ? description_color.to_i : 0
  165.     end
  166.     def weapon_agi_color
  167.       description_color = @description.split(/w/)[9]
  168.       return description_color != nil ? description_color.to_i : 0
  169.     end
  170.     def weapon_int_color
  171.       description_color = @description.split(/w/)[10]
  172.       return description_color != nil ? description_color.to_i : 0
  173.     end
  174.     def weapon_q_color
  175.       description_color = @description.split(/w/)[11]
  176.       return description_color != nil ? description_color.to_i : 0
  177.     end
  178.     def weapon_self_color
  179.       description_color = @description.split(/w/)[12]
  180.       return description_color != nil ? description_color.to_i : 0
  181.     end
  182.   end
  183.   class Armor
  184.     def description
  185.       description = @description.split(/a/)[0]
  186.       return description != nil ? description : ''
  187.     end
  188.     def armor_def_color
  189.       description_color = @description.split(/a/)[1]
  190.       return description_color != nil ? description_color.to_i : 0
  191.     end
  192.     def armor_mdef_color
  193.       description_color = @description.split(/a/)[2]
  194.       return description_color != nil ? description_color.to_i : 0
  195.     end
  196.     def armor_sxdef_color
  197.       description_color = @description.split(/a/)[3]
  198.       return description_color != nil ? description_color.to_i : 0
  199.     end
  200.     def armor_statedef_color
  201.       description_color = @description.split(/a/)[4]
  202.       return description_color != nil ? description_color.to_i : 0
  203.     end
  204.     def armor_str_color
  205.       description_color = @description.split(/a/)[5]
  206.       return description_color != nil ? description_color.to_i : 0
  207.     end
  208.     def armor_dex_color
  209.       description_color = @description.split(/a/)[6]
  210.       return description_color != nil ? description_color.to_i : 0
  211.     end
  212.     def armor_agi_color
  213.       description_color = @description.split(/a/)[7]
  214.       return description_color != nil ? description_color.to_i : 0
  215.     end
  216.     def armor_int_color
  217.       description_color = @description.split(/a/)[8]
  218.       return description_color != nil ? description_color.to_i : 0
  219.     end
  220.     def armor_q_color
  221.       description_color = @description.split(/a/)[9]
  222.       return description_color != nil ? description_color.to_i : 0
  223.     end
  224.     def armor_self_color
  225.       description_color = @description.split(/a/)[10]
  226.       return description_color != nil ? description_color.to_i : 0
  227.     end
  228.   end
  229.   class Skill
  230.     def description
  231.       description = @description.split(/s/)[0]
  232.       return description != nil ? description : ''
  233.     end
  234.     def skill_fw_color
  235.       description_color = @description.split(/s/)[1]
  236.       return description_color != nil ? description_color.to_i : 0
  237.     end
  238.     def skill_wl_color
  239.       description_color = @description.split(/s/)[2]
  240.       return description_color != nil ? description_color.to_i : 0
  241.     end
  242.     def skill_jsp_color
  243.       description_color = @description.split(/s/)[3]
  244.       return description_color != nil ? description_color.to_i : 0
  245.     end
  246.     def skill_mzl_color
  247.       description_color = @description.split(/s/)[4]
  248.       return description_color != nil ? description_color.to_i : 0
  249.     end
  250.     def skill_sx_color
  251.       description_color = @description.split(/s/)[5]
  252.       return description_color != nil ? description_color.to_i : 0
  253.     end
  254.     def skill_fstate_color
  255.       description_color = @description.split(/s/)[6]
  256.       return description_color != nil ? description_color.to_i : 0
  257.     end
  258.     def skill_jstate_color
  259.       description_color = @description.split(/s/)[7]
  260.       return description_color != nil ? description_color.to_i : 0
  261.     end
  262.     def skill_self_color
  263.       description_color = @description.split(/s/)[8]
  264.       return description_color != nil ? description_color.to_i : 0
  265.     end
  266.   end
  267. end
  268. module RPG
  269.   class Weapon
  270.      def levels
  271.       return  @name.split(/W/)[1].to_s
  272.     end
  273.     def strs
  274.       return  @name.split(/W/)[2].to_s
  275.     end
  276.     def dexs
  277.       return  @name.split(/W/)[3].to_s
  278.     end
  279.     def agis
  280.       return  @name.split(/W/)[4].to_s
  281.     end
  282.     def ints
  283.       return  @name.split(/W/)[5].to_s
  284.     end
  285. end
  286. class Armor
  287.     def levels
  288.       return  @name.split(/A/)[1].to_s
  289.     end
  290.     def strs
  291.       return  @name.split(/A/)[2].to_s
  292.     end
  293.     def dexs
  294.       return  @name.split(/A/)[3].to_s
  295.     end
  296.     def agis
  297.       return  @name.split(/A/)[4].to_s
  298.     end
  299.     def ints
  300.       return  @name.split(/A/)[5].to_s
  301.     end
  302. end
  303. end
复制代码
忘记放上这脚本了
上面跟这个一起使用
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
16
发表于 2009-8-12 22:22:02 | 只看该作者
  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.    if item.is_a?(RPG::Weapon)
  29.      # 包含当前的职业可以装备武器的场合
  30.      if $data_classes[@class_id].weapon_set.include?(item.id) and item.level.to_i<=@level
  31.        return true
  32.      end
  33.    end
  34.    # 防具的情况
  35.    if item.is_a?(RPG::Armor)
  36.      # 不包含当前的职业可以装备武器的场合
  37.      if $data_classes[@class_id].armor_set.include?(item.id) and item.level.to_i<=@level
  38.        return true
  39.      end
  40.    end
  41.    return false
  42. end
  43. end
  44. #==============================================================================
  45. # ■ Window_EquipItem
  46. #------------------------------------------------------------------------------
  47. #  装备画面、显示浏览变更装备的候补物品的窗口。
  48. #==============================================================================

  49. class Window_EquipItem < Window_Selectable
  50.   #--------------------------------------------------------------------------
  51.   # ● 刷新
  52.   #--------------------------------------------------------------------------
  53.   def refresh
  54.     if self.contents != nil
  55.       self.contents.dispose
  56.       self.contents = nil
  57.     end
  58.     @data = []
  59.     # 添加可以装备的武器
  60.     if @equip_type == 0
  61.       weapon_set = $data_classes[@actor.class_id].weapon_set
  62.       for i in 1...$data_weapons.size
  63.         if $game_party.weapon_number(i) > 0 and weapon_set.include?(i) and @actor.equipable?($data_weapons[i])
  64.           @data.push($data_weapons[i])
  65.         end
  66.       end
  67.     end
  68.     # 添加可以装备的防具
  69.     if @equip_type != 0
  70.       armor_set = $data_classes[@actor.class_id].armor_set
  71.       for i in 1...$data_armors.size
  72.         if $game_party.armor_number(i) > 0 and armor_set.include?(i) and @actor.equipable?($data_armors[i])
  73.           if $data_armors[i].kind == @equip_type-1
  74.             @data.push($data_armors[i])
  75.           end
  76.         end
  77.       end
  78.     end
  79.     # 添加空白
  80.     @data.push(nil)
  81.     # 生成位图、描绘全部项目
  82.     @item_max = @data.size
  83.     self.contents = Bitmap.new(width - 32, row_max * 32)
  84.     for i in 0...@item_max-1
  85.       draw_item(i)
  86.     end
  87.   end
  88. end
复制代码
在数据库 武器描述 后面加 ★10
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2009-8-4
帖子
109
17
 楼主| 发表于 2009-8-12 22:37:43 | 只看该作者
蚂蚁卡卡的那个怎么使用?
菜.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2009-8-4
帖子
109
18
 楼主| 发表于 2009-8-12 22:46:32 | 只看该作者
麻烦传说中di.
为什么全部插入都没用呢?
你能给个工程我么?谢了!
菜.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
帖子
533
19
发表于 2009-8-12 23:02:45 | 只看该作者
嗯!!留言里...加Q我传你
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 00:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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