CheatMaker 论坛

首页 » 修改器版块 » CheatMaker综合讨论 » 1.80 svn 72 BUG收集帖
银河漫步 - 2014/12/1 11:29:48
BUG整理:
1.GridList里的列使用列表时,依然不能有同名数据(当有同名列表数据时,系统默认读取和保存第一个,感觉还是匹配的文本,而非匹配内存数值)
2.TextBox启用“调节按钮”时,相关隐藏的脚本只能隐藏TextBox,而调节按钮无法被脚本隐藏

更新感想:
1.GridList的结束标识很有用,有了这个我可以大大精简那个三国志4的编辑器
2.新的内存机制很有用,之前提到的PPSSPP基地址偏移问题完美解决,可以解决很多模拟器内指针问题
3.Msgbox文本可换行了比较人性化
4.Lnk模式可以提高cmf的兼容性,不过目前似乎对cme帮助不大
银河漫步 - 2014/12/1 11:43:40
继续整理下期待的更新(非BUG):

1.能支持10进制的负数显示,这个用插件或者附加数据解决也可以
2.表格控件能支持首列文本定义,这样显示在表格左侧第一列,该列可以固化,无需如其他列那样可以拖动交换位置,首列文本可留空
3.表格控件可以做到按列排序索引
4.文本搜索功能可以优化,可以支持“全匹配”,无需再必须左匹配相关文本,如果能支持表格控件的全表格文本搜索则更完美4.Splider控件能增加拖动后的脚本支持,这样可以在拖动后,执行Call.SaveData(My);Call.ReadData(TextBox);来实现和TextBox数值反应的互动
5.支持文本超链接或者是按钮的超链接
6.插件版本升级,能够让插件接管【数值列表】(接管后经过计算处理返回一个处理后的数值列表)这样可以实现ListBox、ComboBox的列表动态化
7.脚本的判断运算符号能够更多元化,支持>、<、!=这种逻辑判断符
8.对于多个IF判断类脚本,希望有种更便捷的格式,比如C语言的switch case表达式
9.条件锁定功能,即当满足某条件时,锁定某地址的数值成立,未满足该条件,则不执行相关锁定功能
10.CheckBox使用数据集合时,在集合列表增加取消值属性,这样取消该集合的CheckBox,也能做到数据还原的效果
11.支持程序列表能支持"模块地址+偏移地址"的模式,如果可能的话,附加数据"9"也能使用"模块地址+偏移地址"则更好
12.简化一下Disabled、Visible的脚本书写机制,可以单行脚本批量指定多个控件的这两种属性,而不用逐行处理单个控件
13.表格控件可以双击某行触发新建窗体的功能,并且新建的窗体与所双击行的相关数据做出控件关联
银河漫步 - 2014/12/1 16:20:36
发现个新BUG
ListBox、ComboBox在用于控制地址功能时
如果选择控制范围为Frame,会连着自己一起控制
以至于不得不加一个GroupBox来圈定控制范围
(SVN 68已经解决)
天枫十一郎 - 2014/12/2 17:07:19
发现个新BUG
ListBox、ComboBox在用于控制地址功能时
如果选择控制范围为Frame,会连着自己一起控制
以至于不得不加一个GroupBox来圈定控制范围
银河漫步 发表于 12/1/2014 4:20:36 PM
这个问题将会修复.
ListStep设置后会有效果.只是要另外手动选择一次.你可以试下.
Doi_Doi - 2014/12/2 19:43:51
由于控制地址Bug而又懒得加GroupBox测试,所以控制数值列表功能不知修复没有?
GridList结束符类型的符号怎么用?

期待地址控件ListBox、ComboBox、GridList增加首地址,只需动态改变首地址就能改变整个数值列表,无需用长篇ValueList脚本。
希望文本栏编辑用字符串集合编辑器更方便。
天枫十一郎 - 2014/12/3 10:26:55
由于控制地址Bug而又懒得加GroupBox测试,所以控制数值列表功能不知修复没有?
GridList结束符类型的符号怎么用?

期待地址控件ListBox、ComboBox、GridList增加首地址,只需动态改变首地址就能改变整个数值列表,无需用长篇ValueList脚本。
希望文本栏编辑用字符串集合编辑器更方便。
Doi_Doi 发表于 12/2/2014 7:43:51 PM
可以的.你可以参考Demo.New.cmf中的功能列表.三个控件连动控制.
GridList结束符是判断GridList取多少数据的标准.当首个地址遇到匹配的这个十六进制串时就停止读取了.
银河漫步 - 2014/12/3 10:49:11
由于控制地址Bug而又懒得加GroupBox测试,所以控制数值列表功能不知修复没有?
GridList结束符类型的符号怎么用?

期待地址控件ListBox、ComboBox、GridList增加首地址,只需动态改变首地址就能改变整个数值列表,无需用长篇ValueList脚本。
希望文本栏编辑用字符串集合编辑器更方便。
Doi_Doi 发表于 12/2/2014 7:43:51 PM
控制数值列表的功能我试过了确实修复了
目前【控制数值】的功能即替代了原【控制数值列表】的功能
银河漫步 - 2014/12/3 10:58:43
[quote]发现个新BUG
ListBox、ComboBox在用于控制地址功能时
如果选择控制范围为Frame,会连着自己一起控制
以至于不得不加一个GroupBox来圈定控制范围
银河漫步 发表于 12/1/2014 4:20:36 PM [url=http://forum.cheatmaker.org/showtopic.aspx?to
天枫十一郎 发表于 12/2/2014 5:07:19 PM

不懂这个手动选择一次的意思
圣火徽章3 - 纹章之迷.rar (, 下载次数:1159)

以上是在Ver 1.72Ex中能正常运行的cmf
但是我尝试替换ListTrueValEx的脚本以下两种替换方式均无法生效
------------------------------------------------------------------------------------------------------------------------------
SelChanged
{
My.ValueList = 0-&20-&40-&60-;
My.Bound = GroupBox3&GroupBox4;
Call.CtrlData;

My.ValueList = 0-&10-&20-&30-;
My.Bound = GroupBox5&GroupBox6;
Call.CtrlData;
}
------------------------------------------------------------------------------------------------------------------------------
SelChanged
{
My.ListStep = 20;
My.Bound = GroupBox3&GroupBox4;
Call.CtrlData;

My.ListStep = 10;
My.Bound = GroupBox5&GroupBox6;
Call.CtrlData;
}
------------------------------------------------------------------------------------------------------------------------------
天枫十一郎 - 2014/12/3 13:02:50
[quote][quote]发现个新BUG
ListBox、ComboBox在用于控制地址功能时
如果选择控制范围为Frame,会连着自己一起控制
以至于不得不加一个GroupBox来圈定控制范围
银河漫步 发表于 12/1/2014 4:20:36 PM [url=http://forum.cheatmaker.org/showtopic.
银河漫步 发表于 12/3/2014 10:58:43 AM
报歉未指明Call.CtrlData在新版本中已经更改.它是必需要有一个参数的.之前只能是呼叫自己控制数值.但现在必需要加参数来控控制某个控件.如果要触发自己的话可以用My参数.
Call.CtrlData(My);
Call.CtrlData(TextBox1);
如此即可.你的两种脚本方式都会有效果的.
银河漫步 - 2014/12/3 15:24:50
[quote][quote][quote]发现个新BUG
ListBox、ComboBox在用于控制地址功能时
如果选择控制范围为Frame,会连着自己一起控制
以至于不得不加一个GroupBox来圈定控制范围
银河漫步 发表于 12/1/2014 4:20:36 PM [url=http://forum.cheatmaker.org/sho
天枫十一郎 发表于 12/3/2014 1:02:50 PM
Call.CtrlData(My);我已经试过了的
无效果
天枫十一郎 - 2014/12/3 16:29:08
回复 10楼银河漫步的帖子

因为还要修正"控制地址"的新问题.
已经发布新版本了.这些问题修正了 请试用下看.
银河漫步 - 2014/12/3 16:44:58
功能上确实可以用了
但是随之而来的有一个不知道算不算BUG的问题

ListBox每点击一次
就会被自我刷新一次
可以明显看到ListBox的刷新闪烁
在1.72中不会有这个现象
天枫十一郎 - 2014/12/3 17:12:57
回复 12楼银河漫步的帖子

我知道了.可能是由于重建列表时数据量太多造成的.如果数据量少就不会.我看看能不能降低闪烁.

但你说是自已点自己闪烁还是点了自己后其它列表控件闪烁?
银河漫步 - 2014/12/3 22:23:51
回复 12楼银河漫步的帖子

我知道了.可能是由于重建列表时数据量太多造成的.如果数据量少......
天枫十一郎 发表于 12/3/2014 5:12:57 PM
自己闪烁,是那种列表被刷新的感觉
Doi_Doi - 2014/12/4 0:09:03
有100多项的ListBox也没闪烁。

建议文本换行加点行距不然太密。
天枫十一郎 - 2014/12/4 8:56:31
回复 14楼银河漫步的帖子

你用的是My.ListStep自己重建列表自己闪烁.我看看不能能改成不重建的.
但My.ValueList肯定要重建一定会有一下闪烁没办法.
Doi_Doi - 2014/12/4 19:16:36
GridList列表同名文本还是需要的,例如梦幻模拟战有同名职业、佣兵、角色,现在只能手动添字加以区分。

还是期待CheckListBox的全选和全取消功能。
银河漫步 - 2014/12/4 21:18:07
GridList列表同名文本还是需要的,例如梦幻模拟战有同名职业、佣兵、角色,现在只能手动添字加以区分。

还是期待CheckListBox的全选和全取消功能。
Doi_Doi 发表于 12/4/2014 7:16:36 PM
我倒是觉得CheckListBox以及CheckBox的集合数据能逐行定义取消值的话
全选和全消就能水到渠成
天枫十一郎 - 2014/12/4 22:07:27
设置CheckListBox的单选事件已在计划中.到时自然就能做到全选与全取消
银河漫步 - 2014/12/5 12:49:47
新的内存搜索机制有问题

1.没有自动识别支撑程序列表的对应该程序的地址范围,始终默认了0-80000000
不过经过测试,后台的搜索实际执行了支撑程序列表的地址范围,但是搜索界面没跟着改变

2.以前的自适应搜索数据的大小变成了默认4字节搜索,没有以前的人性化
Doi_Doi - 2014/12/5 20:15:24
换行Bug:\r\n在文本栏变成不显示的符号,运行后换行符后的文字也不显示,重启设计器后换行符后的文字也消失了。
MsgBox没此问题。

期待GridList单列禁用和对齐功能。
天枫十一郎 - 2014/12/5 20:41:21
回复 20楼银河漫步的帖子

CML范围是不好确定的.特别是设定多个支持地址时.只能确定所搜索的长度大小.以前版本就是设定长度.
新版本修改为范围而不是长度更为精确.所以界面上给出程序全地址范围.

去掉自动计算是为了防止不是很了解的字节长度的人搜索非对应字节长度的数据导致搜索不到.后期再观察是否恢复.
银河漫步 - 2014/12/5 20:54:21
回复 20楼银河漫步的帖子

CML范围是不好确定的.特别是设定多个支持地址时.只能确定所搜索......
天枫十一郎 发表于 12/5/2014 8:41:21 PM

不知道是不是Win7特有
Win7下运行CMF数据正常
程序支持已经添加好
但是搜索还是全范围搜索
而且搜索不到正确的地址

但是在内存编辑界面对应的数据和地址又是正常的
天枫十一郎 - 2014/12/5 21:08:05
回复 23楼银河漫步的帖子

不知你依照什么认为是全搜索的? CML不会全范围搜索的.会按照你设定的(基址)~(基址+长度)这个范围搜索的.除非你长度设置的很长感觉全搜索了.

搜索不到正确地址到是个问题.可以告诉我详细信息我尝试下吗?另外搜索加入了"对齐长度"这个重要参数.如果搜索不到数据请设置这个参数为1再尝试.然后还可以在"选项"设置中开启了全部内存类型搜索再尝试.
银河漫步 - 2014/12/6 0:49:33
回复 23楼银河漫步的帖子

不知你依照什么认为是全搜索的? CML不会全范围搜索的.会按照你设......
天枫十一郎 发表于 12/5/2014 9:08:05 PM


比如PPSSPP模拟器
搜索时全范围搜索了
因为初始搜索找到了很多地址
地址跨度明显超过了我设定的1800000的范围

你可以就拿上次那个风来西林4来试验
基地址用的是我整理帖里的那个cml
内存编辑模式下的数据和地址都是正常的
银河漫步 - 2014/12/8 16:33:41
ListStep可以了,完全替代了Ver1.72中的ListTrueValEx

但是事实上Ver1.72的ListTrueVal脚本也有着无法被取代的地位

ListBox1.ListTrueVal = 0&36&6c&a2&d8&10e&144&17a&1b0&1e6&21c&252&288&2be&2f4&32a&360&396&3cc&402&438&46e&4a4;
ListBox1.Bound = GroupBox2;
Call.CtrlData;

在1.72中,这样定义的脚本
并不会导致列表重建
而是改变了列表中的实际值
列表的文本依然被保留

这类脚本并无法完全被ValueList取代
因为ValueList重写的不仅仅是列表中逐行的实际值
还需要重建列表的文本
Doi_Doi - 2014/12/8 18:40:22
点击属性栏左侧隐藏后不能再调出来,要重启程序才行。
GridList的EndMark是16进制,如果TextBox是10进制,则GridList.EndMark=TextBox.Text也识别为16进制。

ListTrueVal还是有用的,如果加上ListTrueText、SelectVal更好。
天枫十一郎 - 2014/12/8 20:46:08
回复 26楼银河漫步的帖子

正因为ListTrueVal是不正确的.如果设置的值与显示的值不匹配将会是有问题的.而ValueList重建列表只是闪烁一下.实际上是应该重建的.当一个控件改变了自己的列表数据时本身时就应该重建.闪烁只是系统造成的影响.
脚本里自己控制自己的写法是不好的.这样才导致点击一次控件就闪烁一次.可以写成另外控件来控制自己.那么只会在需要改变时才重建而不是每操作一次都重建.
银河漫步 - 2014/12/8 20:59:53
好在ListTrueVal用得不多,影响不大
绝大多数的情况ListStep足够了

我还是觉得GridList需要一个左侧文本栏
可以用【数值列表】的属性给出就好了
这样可以列表使用解说文本或者给出行号
这个很有用
Doi_Doi - 2014/12/8 21:30:50
原来是视图的属性栏,那么编辑的属性Alt+Enter有何用?

GridList.EndMark=TextBox.Text,TextBox存放每关部队数,现在只能把TextBox设成16进制,建议EndMark可以设置进制或自动识别其他控件的进制。
12
查看完整版本: 1.80 svn 72 BUG收集帖