查看: 1715|回复: 4

精灵使者_CP整合脚本的一个小Bug,以及简单的处理

  [复制链接]
梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
回帖
26
发表于 2009-4-12 06:03:27 | 显示全部楼层 |阅读模式

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

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

×
近日在论坛上下载了精灵使者_CP整合公共版这个脚本,膜拜之余,巧合之下,发现了一个小
Bug。就是在队伍中有人没有装备武器的时候,脚本会报错。原因是脚本Sideview 3内,CP条更新的地方用于显示CP角色小图标的地方,会读取该角色的weapon_id。

原代码如下:

  1.   #--------------------------------------------------------------------------
  2.   # ● CP条更新
  3.   #--------------------------------------------------------------------------
  4.   def refresh_cp
  5.     @blank_window.x = 128 - @info_viewport.ox   
  6.     @basepic.x = 144 - @info_viewport.ox   
  7.     for iii in $game_party.members + $game_troop.members
  8.       if iii.is_a?(Game_Actor)
  9.         icon_index = $data_weapons[iii.weapon_id].icon_index
  10.         @cppic[iii].src_rect.set(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  11.       else
  12.         @cppic[iii].src_rect.set(312, 216, 24, 24)
  13.       end
  14.       if iii.hp > 0
  15.         @cppic[iii].visible = $CP可见
  16.       else
  17.         @cppic[iii].visible = false
  18.       end
  19.       @cppic[iii].x = 132 + (iii.cp * 384 / 5000).to_i - @info_viewport.ox
  20.     end
  21.   end
复制代码


我还是脚本新手,简单的处理了一下(其实就是加了一个判断)

  1.   #--------------------------------------------------------------------------
  2.   # ● CP条更新
  3.   #--------------------------------------------------------------------------
  4.   def refresh_cp
  5.     @blank_window.x = 128 - @info_viewport.ox   
  6.     @basepic.x = 144 - @info_viewport.ox   
  7.     for iii in $game_party.members + $game_troop.members
  8.       if iii.is_a?(Game_Actor)
  9.         #改动在这里,当空手时,以1号武器的图标作为角色的图标
  10.         if iii.weapon_id != 0
  11.           icon_index = $data_weapons[iii.weapon_id].icon_index
  12.         else
  13.           icon_index = $data_weapons[1].icon_index
  14.         end
  15.         @cppic[iii].src_rect.set(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  16.       else
  17.         @cppic[iii].src_rect.set(312, 216, 24, 24)
  18.       end
  19.       if iii.hp > 0
  20.         @cppic[iii].visible = $CP可见
  21.       else
  22.         @cppic[iii].visible = false
  23.       end
  24.       @cppic[iii].x = 132 + (iii.cp * 384 / 5000).to_i - @info_viewport.ox
  25.     end
  26.   end
复制代码


不知道这个Bug是否已经被改进了,有无更好的办法?
我也想把那个“VX半即时战斗系统1.03b版(拉尔夫战记的产物)”中的CP条效果搬过来,不过不知道这样的工作量会有多少。
目前还是新手,但迟早不是
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-4-8
回帖
30
发表于 2009-4-12 06:10:42 | 显示全部楼层
刚好我也因这个BUG郁闷呢,刚才刚在原帖回了帖.
有改进就好了,先收藏之,看看有没有更好的办法.
回复

使用道具 举报

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2009-4-12 06:12:40 | 显示全部楼层
没错,原版的sideview确实要使用weapon_id的图标,不止是这样,这个图标还要不断变换——其实用个空白的武器图标也好。
不只是这里的问题。
如果没有武器图标的话——估计整个sideview也有可能出错。
可以这样改:
iii.weapon_id != 0 ? icon_index = $data_weapons[iii.weapon_id].icon_index
 : icon_index = $data_weapons[1].icon_index
直接一个问号运算符更加彻底些……有机会我再将其更新
建议可以让角色装备“空手”,教程参考此教程
使角色装备“空手”
来完美的解决这个问题(空手的攻防能力,动画,图标等都可以自设)
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
回帖
41
发表于 2009-4-13 00:59:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2009-4-13 05:30:57 | 显示全部楼层
战斗以后cp条无法消除应该有一个window控制的cp条消除,只要那个dispose就行了……
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部