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

Project1

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

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

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
3 小时
注册时间
2009-4-7
帖子
33
跳转到指定楼层
1
发表于 2009-4-12 06:03:27 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
近日在论坛上下载了精灵使者_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条效果搬过来,不过不知道这样的工作量会有多少。
目前还是新手,但迟早不是

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

5
发表于 2009-4-13 05:30:57 | 只看该作者
战斗以后cp条无法消除应该有一个window控制的cp条消除,只要那个dispose就行了……
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-13
帖子
43
4
发表于 2009-4-13 00:59:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

3
发表于 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
直接一个问号运算符更加彻底些……有机会我再将其更新
建议可以让角色装备“空手”,教程参考此教程
使角色装备“空手”
来完美的解决这个问题(空手的攻防能力,动画,图标等都可以自设)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-4-8
帖子
37
2
发表于 2009-4-12 06:10:42 | 只看该作者
刚好我也因这个BUG郁闷呢,刚才刚在原帖回了帖.
有改进就好了,先收藏之,看看有没有更好的办法.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 04:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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