帐号
注册
密码
登录
关闭
安全选项
找回密码
记住我
我的中心
登录或注册新用户,开通自己的个人中心
切换到窄版
论坛
标签
帮助
登录
CheatMaker 论坛
»
修改器版块
»
修改技术讨论
»
PC_AA 63的[BEFORE WRITE]相当于自带锁定数据?
修改器版块
CheatMaker综合讨论
修改技术讨论
修改器发布
游戏相关版块
游戏综合讨论
游戏工具及相关
游戏资源发布
其它版块
五颜六色
资源分享
站务管理
返回列表
查看:
11556
|
回复:
5
PC_AA 63的[BEFORE WRITE]相当于自带锁定数据?
[复制链接]
发送短消息
UID
9361
积分
25
查看公共资料
搜索主题
搜索帖子
Rozen
组别
注册会员
帖子
22
精华
0
积分
25
威望
0
金币
137 元
来自
注册时间
2016-01-20
1
#
字体大小:
t
T
发表于
2016-02-26 16:13
|
只看楼主
内存中物品代码为4xx至7xx,游戏通过对高位也就是4、5、6、7进行加4操作来表示数量,即4AA表示1个,8AA表示2个,5AA表示1个,9AA表示2个,所以我用ComboBox
63(
[AFTER READ]
value = (value-6)/4
[BEFORE WRITE]
value = value*4+6
)
数值0表示1个(以此类推),暂时对6XX系列物品进行数量操作……
然后问题来了,这个高位的数值被锁定了,永远都是我所选择的数量06、0A一类的,导致我还是AA显示还是6AA。分析了下应该是这个ComboBox只要被调用过一次后,任何写入操作前都触发了[BEFORE WRITE]导致无论输入什么数字都强制变成63运算后的数值列表里的数值。求帮助,有更好的实现方法最好,我只能想出IF,但是失败了……
分享
转发
TOP
发送短消息
UID
2
积分
3051
查看公共资料
搜索主题
搜索帖子
天枫十一郎
天枫十一郎
组别
超级版主
帖子
555
精华
1
积分
3051
威望
120
金币
4238 元
来自
幻想的世界
注册时间
2012-09-05
2
#
字体大小:
t
T
发表于
2016-02-26 20:50
|
只看该用户
然后问题来了,这个高位的数值被锁定了,永远都是我所选择的数量06、0A一类的,导致我还是AA显示还是6AA。
这句没听懂. 但好像使用If是能解决.但为什么失败?是If不起效果?看起来你还在用老的IF大写语法.
不知道使用附加值20,21,22等是否也能解决你的问题.
希望CheatMaker帶給你樂趣
TOP
发送短消息
UID
9361
积分
25
查看公共资料
搜索主题
搜索帖子
Rozen
组别
注册会员
帖子
22
精华
0
积分
25
威望
0
金币
137 元
来自
注册时间
2016-01-20
3
#
字体大小:
t
T
发表于
2016-02-26 21:25
|
只看楼主
就是我用ComboBox1写入6AA的物品,然后用那个63附加的ComboBox2选择数量为2,触发[BEFORE WRITE]经过计算6AA的6变成了1*4+6=A,最终数值AAA;然后我用ComboBox1写入7AA的物品,在点下并保存时,又触发了ComboBox2的[BEFORE WRITE],本来是7的那个数值还是采用的1*4+6=A。
我想用if来判断我ComboBox1写入的是4xx还是5xx、6xx,大概是
63(if(高位地址的值=4)
[AFTER READ]
value = (value-4)/4
[BEFORE WRITE]
value = value*4+4
endif;
if (高位地址的值=5)
[AFTER READ]
value = (value-5)/4
[BEFORE WRITE]
value = value*4+5
……endif;)
那个高位地址的值怎么表达我不知道,这语法对不对我也拿不准。
Rozen 最后编辑于 2016-02-26 21:36:19
TOP
发送短消息
UID
9361
积分
25
查看公共资料
搜索主题
搜索帖子
Rozen
组别
注册会员
帖子
22
精华
0
积分
25
威望
0
金币
137 元
来自
注册时间
2016-01-20
4
#
字体大小:
t
T
发表于
2016-02-26 21:34
|
只看楼主
哦,我想通了,我的CB1call了savedata,但是没加范围……然后问题就剩1个了
TOP
发送短消息
UID
9361
积分
25
查看公共资料
搜索主题
搜索帖子
Rozen
组别
注册会员
帖子
22
精华
0
积分
25
威望
0
金币
137 元
来自
注册时间
2016-01-20
5
#
字体大小:
t
T
发表于
2016-02-26 22:30
|
只看楼主
我现在换了个思路,将高位地址的值赋予TextBox1.Text,然后
63(if(TextBox1.Text=6)
[AFTER READ]
value = (value-6)/4
[BEFORE WRITE]
value = value*4+6;
else
[AFTER READ]
value = (value-7)/4
[BEFORE WRITE]
value = value*4+7
endif;)
现在问题是一切入这个Frame就提示Error2:if(textbox1.text=6),目测后续脚本就中断了,值写入没经过运算的0(表示1个)或1(表示2个)
TOP
发送短消息
UID
9361
积分
25
查看公共资料
搜索主题
搜索帖子
Rozen
组别
注册会员
帖子
22
精华
0
积分
25
威望
0
金币
137 元
来自
注册时间
2016-01-20
6
#
字体大小:
t
T
发表于
2016-02-27 10:32
|
只看楼主
早上起来想了下,既然高位地址的值赋予TextBox1.Text了,那怎样才能实现
63(
[AFTER READ]
value = (value-TextBox1.Text)/4
[BEFORE WRITE]
value = value*4+TextBox1.Text
)
TOP
上一主题
|
下一主题
返回列表
高级编辑器
B
Color
Image
Link
Quote
Code
Smilies
默认表情
你需要登录后才可以发帖
登录
|
注册
发表回复
查看背景广告
隐藏
发新主题
修改器版块
CheatMaker综合讨论
修改技术讨论
修改器发布
游戏相关版块
游戏综合讨论
游戏工具及相关
游戏资源发布
其它版块
五颜六色
资源分享
站务管理
浏览过的版块
游戏资源发布
修改器发布
资源分享
游戏综合讨论
CheatMaker综合讨论
CML基址发布
TOP
设置头像
个人资料
更改密码
用户组
收藏夹
积分
Default