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

Project1

 找回密码
 注册会员
搜索
查看: 3024|回复: 4

[讨论] RMXP的bug继续

[复制链接]

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
22385
在线时间
2335 小时
注册时间
2005-10-15
帖子
1160

开拓者

发表于 2021-2-20 19:53:14 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 SailCat 于 2021-2-20 19:58 编辑

防具自动状态是RMXP独有的内建功能,VA等后续版本都不支持
但是这个状态,除了之前发现的错误卸除bug之外,现在又发现了一个bug:切换自动状态时HP SP不满
bug复现方法:
1 定义两个同一位置的装备,分别带有两个不同的自动状态
2 两个自动状态的maxhp和maxsp比例都大于100%,可以一样也可以不同
3 装备其中一个,将hp和sp补满
4 用装备菜单或事件指令将装备更改为另外一个
5 结果:HP和SP不满,变为100%的数值
造成这个bug的原因是,更新自动状态的方法update_auto_state是先做remove再做add,每做一次都要修正HP和SP
修改方法:由于update_auto_state只在装备功能中调用,而remove和add会在很多地方调用,所以修改update_auto_state,进行HP和SP的保存恢复即可
简易修正
RUBY 代码复制
  1. alias update_auto_state_1 update_auto_state
  2. def update_auto_state(old_armor, new_armor)
  3.   last_hp = @hp
  4.   last_sp = @sp
  5.   update_auto_state_1(old_armor, new_armor)
  6.   self.hp = last_hp
  7.   self.sp = last_sp
  8. end

我会在即将更新的SEP Core系列插件中修复这个bug

VA等后续版本中,武器和防具可以直接对mhp mmp进行加成,所以在equip方法中有对hp和mp的处理
但是XP里武器和防具不能直接对mhp和mmp加成,所以在equip方法中默认没有相关处理,设计者没有想到用户可以通过自动状态的方式来变相实现mhp mmp加成。

评分

参与人数 1+1 收起 理由
89444640 + 1 塞糖

查看全部评分

SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。

Lv5.捕梦者

梦石
0
星屑
33038
在线时间
10469 小时
注册时间
2009-3-15
帖子
4756
发表于 2021-2-27 23:15:22 | 显示全部楼层
本帖最后由 soulsaga 于 2021-2-27 23:21 编辑

猫大救命
我写了个运行时创建一个暂时用的PNG文件並修改了调色板可是读取位图时卻报CRC错误.有没解法?
如何可以跳过CRC错误
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
22385
在线时间
2335 小时
注册时间
2005-10-15
帖子
1160

开拓者

 楼主| 发表于 2021-3-1 12:36:59 手机端发表。 | 显示全部楼层
PNG32哪来的调色板?

点评

可不可以强行改写class Bitmap跳过CRC验证?  发表于 2021-3-2 12:37
索引了啊..是PNG8  发表于 2021-3-1 13:51
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 01:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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