H5gg光遇一键任务


光遇一键任务

声明:本文仅供学习参考,请勿用于任何游戏修改,切记切记切记

原理

目前,光遇有337个任务。我们只需修改这些任务的任务量,就能完成任务,所以,我们要知道任务列表在内存里的排列

一、任务列表排列

任务列表在内存中的排列如下:

1
2
3
4
5
6
7
1     -- 第一个任务
166 -- 第一个任务的任务量
2 -- 第二个任务
166 -- 第二个任务的任务量
....
337 -- 第三百三十七个任务
166 -- 第三百三十七个任务的任务量

这166是我随便打的,所有号的任务量不同
附上内存图一张
任务列表
我们只需要修改这337个任务的任务量,在原来的基础上增加60

比如原来是166,修改成166+60=226
以此类推,修改每一个任务量

1
2
3
4
5
6
7
1     -- 第一个任务
226 -- 第一个任务的任务量
2 -- 第二个任务
226 -- 第二个任务的任务量
....
337 -- 第三百三十七个任务
226 -- 第三百三十七个任务的任务量

二、确认任务

接下来是确认任务,在337任务的任务量下面,从1开始递增到337,即:

1
2
3
4
5
6
7
8
9
10
11
12
1     -- 第一个任务
226 -- 第一个任务的任务量
2 -- 第二个任务
226 -- 第二个任务的任务量
....
337 -- 第三百三十七个任务
226 -- 第三百三十七个任务的任务量
1 --第一个确定任务
2
3
...
337

内存图
确定任务

三、提交任务

在确认任务的末尾间隔三行再添加四行337,即

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1     -- 第一个任务
226 -- 第一个任务的任务量
2 -- 第二个任务
226 -- 第二个任务的任务量
....
337 -- 第三百三十七个任务
226 -- 第三百三十七个任务的任务量
1 --第一个确定任务
2
3
...
337 --确定任务的最后一个
0
0
0 --隔开三行
337 --提交任务
337 --提交任务
337 --提交任务
337 --提交任务

内存图
提交任务

代码

以下是js代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function addrjump(addr){
return Number(h5gg.getValue(addr,"I64"));
}

var mk=Number(h5gg.getRangesList(0)[0].start);
//设置模块头

sjdz=addrjump(mk+0x396FF98);
//设置一个世界地址

yjrw=addrjump(sjdz+0x2B8)+0x20;
//设置第一个任务的地址为变量

//第一个循环,从第一个任务的任务量,开始修改
for(i=0;i<337;i++){

a=(Number(yjrw+4)+8*i).toString();

let rwsl=Number(h5gg.getValue(a,'F32'));

h5gg.setValue(a,rwsl+60.0,'F32');
//在原来的基础上修改,增加60
}

//第二个循环,从第337个任务的任务量下面开始修改
for(j=0;j<337;j++){

b=(Number(yjrw+0xA88)+4*j).toString();

h5gg.setValue(b,j+1,'I32');

}

//确定任务,也就是连续修改四个337
h5gg.setValue(yjrw+0xFD8,337,'I32');
h5gg.setValue(yjrw+0xFD8+0x4,337,'I32');
h5gg.setValue(yjrw+0xFD8+0x8,337,'I32');
h5gg.setValue(yjrw+0xFD8+0xC,337,'I32');
}


0xFD8(十进制4056)就是第一个任务,加上4056偏移,这个4056从何而来?
首先337个任务,加上337个对应的任务量,再加上337个确定任务,再加上间隔三行(需要乘以4就是偏移数量,等于
337+337+337=1011,这个1011是行数,需要乘以4才是偏移量,也就是1011x4=4044,算上间隔的三行,就是4044+3x4=4056

那么为什么要再+0x4,0x8,0xC?
也就是4056,+上0x4的十进制,即为4056+4=4060,以此类推,每次增加4

到此

一键任务就完成了,再次提示,本文教学仅供学习参考和代码共享,请勿转载本文,请勿用于游戏内存修改,切记切记切记

调侃

看了眼我写的,我自己都看不懂,真是滑天下之大稽,各位大佬看个乐即可