易语言植物大战僵尸修改器代码哪里错了

.版本 2

.程序集 窗口程序集1
.程序集变量 进程ID

.子程序 __启动窗口_创建完毕

进程ID = 进程_名取ID (“PlantsVsZombies.exe”)
.判断开始 (进程ID ≠ 0)
标签1.标题 = “游戏已开启”
.默认
标签1.标题 = “游戏未打开”

.判断结束

.子程序 _按钮1_被单击
.局部变量 阳光1, 整数型
.局部变量 阳光2, 整数型
.局部变量 阳光, 整数型

阳光1 = 内存_读整数型 (进程ID, 进制_十六到十 (“007794F8”))
阳光2 = 内存_读整数型 (进程ID, 阳光1 + 进制_十六到十 (“868”))
阳光 = 内存_读整数型 (进程ID, 阳光2 + 进制_十六到十 (“5578”))
内存_写整数型 (进程ID, 阳光2, 10000, )
那个我把内存_写整数型 (进程ID, 阳光2, 10000, )改了
变成内存_写整数型 (进程ID, 阳光, 10000, )
还有前面阳光1 = 内存_读整数型 (进程ID, 进制_十六到十 (“007794F8”))
改成阳光1 = 进制_十六到十 (“007794F8”)
还是不行。

第1个回答  2012-01-04
PlantsVsZombies.exe 版本1.0.0.1051
如果你的游戏版本与我的相同,也就是说你的基址和偏移都是错误的~~!

你的方法============================
.版本 2

.子程序 _按钮1_被单击
.局部变量 阳光1, 整数型
.局部变量 阳光2, 整数型
.局部变量 阳光, 整数型

阳光1 = 内存_读整数型 (进程ID, 进制_十六到十 (“6A9EC0”))
阳光2 = 内存_读整数型 (进程ID, 阳光1 + 进制_十六到十 (“768”))
阳光 = 内存_读整数型 (进程ID, 阳光2 + 进制_十六到十 (“5560”))
内存_写整数型 (进程ID, 阳光, 10000, )

我的方法====================================
.版本 2

.子程序 _按钮1_被单击
.局部变量 一级地址, 整数型
.局部变量 二级地址, 整数型

一级地址 = 内存类.内存读整数 (进程ID, 6987456, ) + 1896
二级地址 = 内存类.内存读整数 (进程ID, 一级地址, ) + 21856
内存类.内存写整数 (进程ID, 二级地址, 到数值 (编辑框1.内容))

=============================
顺便说下,下面的代码似乎没用,因为无论该进程是否存在返回的都不是0(我用的模块是这样的)

.判断开始 (进程ID ≠ 0)
标签1.标题 = “游戏已开启”
.默认
标签1.标题 = “游戏未打开”

.判断结束追问

基址没有错,阳光 = 内存_读整数型 (进程ID, 阳光2 + 进制_十六到十 (“5560”))
错在这句代码了,该成阳光=阳光2+进制十六到十“5578”就可以了。

第2个回答  2012-01-03
写法肯定没错
内存_写整数型 (进程ID, 阳光2, 10000, ) 这个怎么会多一个参数? 不知道你是什么模块
内存_写整数型 (进程ID, 阳光2, 10000, ) 改成内存_写整数型 (进程ID, 阳光, 10000, ) 其他的1 2 别改
就是这样.子程序 _按钮1_被单击
.局部变量 阳光1, 整数型
.局部变量 阳光2, 整数型
.局部变量 阳光, 整数型

阳光1 = 内存_读整数型 (进程ID, 进制_十六到十 (“007794F8”))
阳光2 = 内存_读整数型 (进程ID, 阳光1 + 进制_十六到十 (“868”))
阳光 = 内存_读整数型 (进程ID, 阳光2 + 进制_十六到十 (“5578”))
内存_写整数型 (进程ID, 阳光, 10000, )
我建议你别在窗口创建的时候取进程id
那样 必须先开游戏才可以
你可以在按钮1那判断 这样会好很多
实在不行就调试输出个个数据看看有没有取到值追问

还是不行哦,在CE里是可以的,易语言写出来的一直点按钮1一点反映都没有,而且老是会让游戏自动关闭。

本回答被提问者采纳
第3个回答  2012-01-04
.版本 2

.程序集 窗口程序集1
.程序集变量 进程ID, 整数型

.子程序 __启动窗口_创建完毕

进程ID = 进程_名取ID (“PlantsVsZombies.exe”)
.判断开始 (进程ID ≠ 0)
标签1.标题 = “游戏已开启”
.默认
标签1.标题 = “游戏未打开”

.判断结束

.子程序 _按钮1_被单击
.局部变量 阳光1, 整数型
.局部变量 阳光2, 整数型
.局部变量 阳光, 整数型

阳光1 = 内存_读整数型 (进程ID, 进制_十六到十 (“007794F8”))
阳光2 = 内存_读整数型 (进程ID, 阳光1 + 868)
阳光 = 内存_读整数型 (进程ID, 阳光2 + 5578)
内存_写整数型 (进程ID, 阳光, 10000, )

易语言植物大战僵尸修改器代码哪里错了
PlantsVsZombies.exe 版本1.0.0.1051 如果你的游戏版本与我的相同,也就是说你的基址和偏移都是错误的~~!你的方法=== .版本 2 .子程序 _按钮1_被单击 .局部变量 阳光1, 整数型 .局部变量 阳光2, 整数型 .局部变量 阳光, 整数型 阳光1 = 内存_读整数型 (进程ID, 进制_十六到十 (“...

易语言我这个植物大战僵尸的阳光源码那里写错了·??为什么不好使啊_百 ...
地址 = 十六到十 (基址) + 十六到十 (第一次偏移) + 十六到十 (第二次偏移)上面这句错得离谱,并不是直接加起来就行,因为基址和偏移是不会变的,而阳光的地址每次游戏都会改变,阳光的地址就在基址+偏移里,那么就要读出该阳光地址后再写到读出的阳光地址!!看下面的 一级地址 = 内存读...

易语言植物大战僵尸修改器代码哪里出问题了吗?求高手指教!
.程序集 窗口程序集1 .程序集变量 进程取ID, 整数型 .程序集变量 窗口进程ID, 整数型 .子程序 __启动窗口_创建完毕 窗口进程ID = 取窗口进程ID (取句柄2 (“plantsvsZombies.exe”, , “植物大战僵尸中文版”))阳光.时钟周期 = 1000 .子程序 _阳光_周期事件 .局部变量 阳光数, 整数型 ...

关于易语言修改植物大战僵尸阳光内存问题
基址是中文年度版的,没有错.如果编辑框1可以正确读出数值.下面的代码就应该是这样写:.版本 2 基址 = 读内存整数型 (进程, 十六到十 (“007794F8”))偏移 = 读内存整数型 (进程, 基址 + 十六到十 (“868”), )偏移1 = 读内存整数型 (进程, 偏移 + 十六到十 (“5578”))编辑框1....

易语言写挂写好了在游戏里用了下就卡掉游戏怎么回事?
最后一句代码错误。最后一句代码 应该是 :写内存整数型 (ID, 一 + 十六到十 (“5578”), 到数值 (编辑框1.内容))

易语言修改植物大战僵尸阳光,编程这样对不对?
.参数 十六进制文本, 文本型, , 待转换的十六进制文本 .局部变量 中间文本, 文本型 .局部变量 结果, 长整数型 .局部变量 计次, 整数型 .变量循环首 (1, 取文本长度 (十六进制文本), 1, 计次)中间文本 = 取文本中间 (十六进制文本, 计次, 1)结果 = (寻找文本 (“0123456789ABCDEF”, ...

用易语言写植物大战僵尸年度中文版阳光修改器,点击修改后游戏里阳光没...
这么写:游戏进程 = 进程取ID (“PlantsVsZombies.exe”)基址 = 读内存整数型 (进程ID, 十六到十 (“0077959c”), )偏移 = 读内存整数型 (进程ID, 基址 + 十六到十 (“868”), )写内存整数型 (进程ID, 偏移 + 十六到十 (“5578”), 9999)'''这是修改阳光为9999 ...

易语言 植物大战僵尸的内存辅助 ,哪里错了获取不到我刚学 是 独立团6....
易语言源码问题请尽量截图源码和出错提示,方便解答。窗口句柄 = 窗口_取窗体句柄 (, “植物大战僵尸中文版”)是不是上面这句的问题,按F1查看一下窗口_取窗体句柄 ()的帮助,参数二是不是 “植物大战僵尸中文版” 这个样子 或 ”植物大战僵尸中文版.exe”这个样子 ...

用易语言编辑植物大战僵尸阳光修改器为什么做出来不能用?如下图_百度...
y2不要读内存啊,你现在y2是内存的值,你还往y2写什么内存呢 应该为y2 = y1 + 转换十六到十(“5560”)这是才是写入的地址 然后写进y2

易语言写植物大战僵尸无限阳光!
.版本 2 游戏进程 = 进程取ID (“PlantsVsZombies.exe”, 假)窗口句柄=取窗口句柄(“”,“”)’没有进程ID和窗口句柄你怎么控制这个窗口 静态地址改为 基址 第一次偏移 改为一级基址 偏移没用易语言没有这个支持库 第二次偏移 改为二级基址 写内存整数型 (游戏进程ID, 十六到十 (“第二...

相似回答