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

Project1

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

[已经解决] 装备画面,以及随机属性的问题!

[复制链接]

Lv1.梦旅人

饕餮

梦石
0
星屑
222
在线时间
677 小时
注册时间
2011-5-9
帖子
486
跳转到指定楼层
1
发表于 2012-1-21 20:27:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 526832541 于 2012-1-21 21:18 编辑

30VIP在一夜之间花完了,没有积分了。。。希望能有好心人帮帮我!

问题如下:

    关于“复杂装备系统之随机属性by 沉影不器”该脚本给装备带来随机属性,
    但VX默认的装备界面只显示  攻击力  防御力 精神力  敏捷 这4个属性,可以显示
“复杂装备系统”附加的属性,也就是隐藏了那些 比如“额外经验” “极品爆率” “会心一击”   等等属性 都没显示在
装备界面里的属性框里。
    于是我就在“ Window_EquipStatus”装备画面、显示角色能力值变化的窗口 脚本里进行了修改,
   把没有显示的属性都加了进去
   看下图:


(这不是OK了吗?)NO  ~   这只是假象而已,问题就出在这!上图仔细看了吧?
如果是正常模式下 当光标移动到该装备的位置上  左边的属性数值是会看到 “提升”  或者 “减少下降”。
当然,按了确定之后属性没有提高,也就是这属性没效果。有时候原本属性是攻击+5  然后反而+了5点敏捷??
我整了下午了。。。本人脚本菜鸟 各位高手 好心人 版主  看在我VIP花完 当起伸手党 了  。。你们能否伸出你们
的援助之手 拉我一把呢?遇到这种困难 也只能依靠66的朋友们了  希望大家帮帮我  我会很感激的!谢谢啦

以下就是问题的范例:
求助范例.rar (255.19 KB, 下载次数: 67)

随便帮我弄下候补装备的排版  谢谢


实在不行的话 帮忙弄下装备候补的排版也可以的  我一样给分!


──526832541于2012-1-21 21:19补充以上内容

点评

改色done  发表于 2012-1-22 20:10

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

2
发表于 2012-1-21 23:43:06 | 只看该作者
本帖最后由 orzfly 于 2012-1-22 20:10 编辑

暂时只改了排版。
那个系统我觉得可能是先天性bug,物品的部分属性无法生效?
Window_Equip
  1. #==============================================================================
  2. # ■ Window_Equip
  3. #------------------------------------------------------------------------------
  4. #  装备画面、显示角色现在装备的物品的窗口。
  5. #==============================================================================

  6. class Window_Equip < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对象
  9.   #     x     : 窗口的 X 坐标
  10.   #     y     : 窗口的 Y 坐标
  11.   #     actor : 角色
  12.   #--------------------------------------------------------------------------
  13.   def initialize(x, y, actor)
  14.     #super(x, y, 336, WLH * 5 + 32)
  15.     super(x-60, y-56, 264+60, WLH * 5 + 32) #orzFly
  16.     @actor = actor
  17.     refresh
  18.     self.index = 0
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 获取物品
  22.   #--------------------------------------------------------------------------
  23.   def item
  24.     return @data[self.index]
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # ● 刷新
  28.   #--------------------------------------------------------------------------
  29.   def refresh
  30.     self.contents.clear
  31.     @data = []
  32.     for item in @actor.equips do @data.push(item) end
  33.     @item_max = @data.size
  34.     self.contents.font.color = system_color
  35.     if @actor.two_swords_style
  36.       self.contents.draw_text(4, WLH * 0, 25, WLH, Vocab::weapon1)
  37.       self.contents.draw_text(4, WLH * 1, 25, WLH, Vocab::weapon2)
  38.     else
  39.       self.contents.draw_text(4, WLH * 0, 25, WLH, Vocab::weapon)
  40.       self.contents.draw_text(4, WLH * 1, 25, WLH, Vocab::armor1)
  41.     end
  42.     self.contents.draw_text(4, WLH * 2, 25, WLH, Vocab::armor2)
  43.     self.contents.draw_text(4, WLH * 3, 25, WLH, Vocab::armor3)
  44.     self.contents.draw_text(4, WLH * 4, 25, WLH, Vocab::armor4)
  45.     draw_item_name(@data[0], 30, WLH * 0)
  46.     draw_item_name(@data[1], 30, WLH * 1)
  47.     draw_item_name(@data[2], 30, WLH * 2)
  48.     draw_item_name(@data[3], 30, WLH * 3)
  49.     draw_item_name(@data[4], 30, WLH * 4)
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 更新帮助文本
  53.   #--------------------------------------------------------------------------
  54.   def update_help
  55.     @help_window.set_text(item == nil ? "" : item.description)
  56.   end
  57. end
复制代码
Window_EquipItem
  1. #==============================================================================
  2. # ■ Window_EquipItem
  3. #------------------------------------------------------------------------------
  4. #  装备画面、显示变更装备时候补物品列表的窗口。
  5. #==============================================================================

  6. class Window_EquipItem < Window_Item
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对象
  9.   #     x          : 窗口的 X 坐标
  10.   #     y          : 窗口的 Y 坐标
  11.   #     width      : 窗口的宽
  12.   #     height     : 窗口的高
  13.   #     actor      : 角色
  14.   #     equip_type : 装备部位 (0~4)
  15.   #--------------------------------------------------------------------------
  16.   def initialize(x, y, width, height, actor, equip_type)
  17.     @actor = actor
  18.     if equip_type == 1 and actor.two_swords_style     # 二刀流
  19.       equip_type = 0                                  # 将盾更改为武器
  20.     end
  21.     @equip_type = equip_type
  22.     super(x-60, y, width+60, height) #orzFly
  23.     @column_max = 1 #orzFly
  24.     refresh #orzFly
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # ● 列表中包含的物品
  28.   #     item : 物品
  29.   #--------------------------------------------------------------------------
  30.   def include?(item)
  31.     return true if item == nil
  32.     if @equip_type == 0
  33.       return false unless item.is_a?(RPG::Weapon)
  34.     else
  35.       return false unless item.is_a?(RPG::Armor)
  36.       return false unless item.kind == @equip_type - 1
  37.     end
  38.     return @actor.equippable?(item)
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 是否可以使用物品
  42.   #     item : 物品
  43.   #--------------------------------------------------------------------------
  44.   def enable?(item)
  45.     return true
  46.   end
  47. end
复制代码
Window_EquipStatus【改】
  1. #==============================================================================
  2. # ■ Window_EquipStatus
  3. #------------------------------------------------------------------------------
  4. #  装备画面、显示角色能力值变化的窗口。
  5. #==============================================================================

  6. class Window_EquipStatus < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对象
  9.   #     x     : 窗口的 X 坐标
  10.   #     y     : 窗口的 Y 坐标
  11.   #     actor : 角色
  12.   #--------------------------------------------------------------------------
  13.   def initialize(x, y, actor)
  14.     #super(x, y, 208, WLH * 5 + 32)
  15.     super(x, y-56, 280-60, 417) #orzFly4
  16.     @actor = actor
  17.     refresh
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 刷新
  21.   #--------------------------------------------------------------------------
  22. #~   def refresh
  23. #~     self.contents.clear
  24.   def refresh
  25.     d=12.1
  26.     self.contents.clear
  27.     self.contents.font.size = 20
  28.     draw_actor_name(@actor, 4, 0)
  29.     self.contents.draw_text(4, 350, 145, 20, "(按<Q>或<W>切换)",2)
  30.     draw_actor_level(@actor, x, y + WLH * 13)
  31.     draw_actor_state(@actor, x, y + WLH * 1)
  32.    
  33.     self.contents.font.size = 16
  34.     draw_parameter(0, WLH * 1, 0)
  35.     draw_parameter(0, WLH * 2, 1)
  36.     draw_parameter(0, WLH * 3, 2)
  37.     draw_parameter(0, WLH * 4, 3)
  38.     draw_parameter(0, WLH * 5, 4)
  39.     draw_parameter(0, WLH * 6, 5)
  40.     draw_parameter(0, WLH * 7, 6)
  41.     draw_parameter(0, WLH * 8, 7)
  42.     draw_parameter(0, WLH * 9, 8)
  43.     draw_parameter(0, WLH * 10, 9)
  44.     draw_parameter(0, WLH * 11, 10)
  45.    
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 设置装备变更后的能力值
  49.   #     new_atk : 装备变更后的攻击力
  50.   #     new_def : 装备变更后的防御力
  51.   #     new_spi : 装备变更后的精神力
  52.   #     new_agi : 装备变更后的敏捷性
  53.   #--------------------------------------------------------------------------
  54.   def set_new_parameters(new_atk, new_def, new_spi, new_agi, new_eva, new_hit, new_cri, new_upexp, new_equip_chance, new_maxhp, new_maxmp)
  55.     if @new_atk != new_atk or @new_def != new_def or
  56.        @new_spi != new_spi or @new_agi != new_agi or @new_eva != new_eva or @new_hit != new_hit or @new_cri != new_cri or
  57.        @new_upexp !=new_upexp or @new_equip_chance !=new_equip_chance or @new_maxhp !=new_maxhp or @new_maxmp !=new_maxmp
  58.       @new_atk = new_atk
  59.       @new_def = new_def
  60.       @new_spi = new_spi
  61.       @new_agi = new_agi
  62.       @new_eva = new_eva
  63.       @new_hit = new_hit
  64.       @new_cri = new_cri
  65.       @new_upexp = new_upexp
  66.       @new_equip_chance = new_equip_chance
  67.       @new_maxhp = new_maxhp
  68.       @new_maxmp = new_maxmp
  69.       refresh
  70.     end
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 获取装备变更后的能力值描绘色
  74.   #     old_value : 装備変更前の能力値
  75.   #     new_value : 装備変更後の能力値
  76.   #--------------------------------------------------------------------------
  77.   def new_parameter_color(old_value, new_value)
  78.     if new_value > old_value      # 变强
  79.       return power_up_color
  80.     elsif new_value == old_value  # 没有变化
  81.       return normal_color
  82.     else                          # 变弱
  83.       return power_down_color
  84.     end
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● 描绘能力值
  88.   #     x    : 描绘目标 X 坐标
  89.   #     y    : 描绘目标 Y 坐标
  90.   #     type : 能力值种类 (0~3)
  91.   #--------------------------------------------------------------------------
  92.   def draw_parameter(x, y, type)
  93.     self.contents.font.color = system_color#orzFly
  94.     case type
  95.     when 0
  96.       name = Vocab::atk
  97.       value = @actor.atk
  98.       new_value = @new_atk
  99.     when 1
  100.       name = Vocab::def
  101.       value = @actor.def
  102.       new_value = @new_def
  103.     when 2
  104.       name = Vocab::spi
  105.       value = @actor.spi
  106.       new_value = @new_spi
  107.     when 3
  108.       name = Vocab::agi
  109.       value = @actor.agi
  110.       new_value = @new_agi
  111.     when 4
  112.       name = "闪躲"
  113.       value = @actor.eva
  114.       new_value = @new_eva
  115.     when 5
  116.       name = "命中"
  117.       value = @actor.hit
  118.       new_value = @new_hit
  119.     when 6
  120.       name = "会心一击%"
  121.       value = @actor.cri
  122.       new_value = @new_cri
  123.     when 7
  124.       name = "额外经验%"
  125.       value = @actor.exp_added-100
  126.       new_value = @new_upexp
  127.     when 8
  128.       name = "极品爆率%"
  129.       value = @actor.equip_chance
  130.       new_value = @new_equip_chance
  131.     when 9
  132.       name = "最大HP"
  133.       value = @actor.maxhp
  134.       new_value = @new_maxhp
  135.       self.contents.font.color = Color.new(255,0,0) #RGB 改颜色
  136.     when 10
  137.       name = "最大MP"
  138.       value = @actor.maxmp
  139.       new_value = @new_maxmp
  140.       self.contents.font.color = text_color(15) #改颜色
  141.     end

  142.     self.contents.draw_text(x + 4, y, 80, WLH, name)
  143.     self.contents.font.color = normal_color
  144.     self.contents.draw_text(x + 90, y, 30, WLH, value, 2)
  145.     self.contents.font.color = system_color
  146.     self.contents.draw_text(x + 122, y, 20, WLH, "→", 1)
  147.     if new_value != nil
  148.       self.contents.font.color = new_parameter_color(value, new_value)
  149.       self.contents.draw_text(x + 142, y, 30, WLH, new_value, 2)
  150.     end
  151.   end
  152. end
复制代码
搜索#orzFly可以看到改动处 这个很简单很简单。

搜索 改颜色 可以看到改颜色的方法 应该已经通俗易懂了吧。

点评

跟上次一样的问题 就是我脑子比较苯 就这个了 解决了就给分了!  发表于 2012-1-22 12:22
还是谢谢你!是的 感觉就是脚本本身的问题,既然如此就算了 我们都不操那心了 还有一点问题,再帮忙弄下 怎么把属性字体的颜色弄成其他颜色  发表于 2012-1-22 12:22
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-28 08:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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