石器时代论坛

 找回密码
 立即注册

QQ登录

查看: 3638|回复: 7
打印 上一主题 下一主题

报告几个关于内挂的bug

[复制链接]

2

主题

91

帖子

56

石币

石器入门

Rank: 2

积分
147
跳转到指定楼层
楼主
发表于 2020-4-6 17:32:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一次试了一下内挂,发现了几个bug如下,望修正。

例1:移动指令无法识别自定义变量

dim @posx,@posy

let @posx,=,@[座标X]
let @posy,=,@[座标Y]

print @posx
print @posy

let @posy,-,2

w @posx,@posy
end

说明:
1. assa和内挂都能正常获取当前坐标。
2. 在assa下自定义变量可以被w指令识别,人物从当前坐标向北移动两步。(目标效果)
3. 内挂的移动指令无法识别自定义变量,指令相当于执行了w 0,0,人物在原地不移动。(实际效果)


例2:封包移动指令错误识别指令中的方向参数

错误1:

w 0,0,e

说明:
1. 在assa下,运行该指令人物会往南移动一步,因为小写的字母代表位移。(目标效果)
2. 内挂中,运行该指令人物只会改变朝向朝南,没有位移。(实际效果)

错误2:

w 0,0,aacc

说明:
1. 在assa下,小写字母移动参数会被分别识别,运行该指令人物会往北移动两步然后往东移动两步。(目标效果)
2. 内挂中,小写字母移动参数不会被分别识别(只识别第一个参数,然后重复n遍),运行该指令人物会往北移动四步。(实际效果)

结论:
当字母参数个数小于2时,会被错误认定为转向大写参数(参照错误1),当字母参数个数大于2时,只有第一个移动字母参数会被识别,然后被重复(参照错误2)。


例3:用户输入变量无法被当做函数标签识别

dim @name
input @name,函数标签
(用户输入"func0")

label strt
call @name
end

label func0
print check!
return

说明:
1. 在assa下,函数func0会被正常执行,游戏系统显示“check!”。
2. 内挂中,输入变量无法被识别成函数标签,脚本中止于call。


4493

主题

1万

帖子

6万

石币

管理员

Rank: 9Rank: 9Rank: 9

积分
82214
沙发
发表于 2020-4-6 18:56:47 | 只看该作者
感谢您的反馈已经记录,多收集些问题提交给我们。内挂的脚本指令兼容。每个月收集后会在下一个月集中处理
SOSE我们的家,大家一起来爱护她。
(客服不解答任务,任务不会做论坛发帖提问)
《石器so》无职业2.5PK模式客服QQ号1520218270客服QQ号756111
《石器se》8.5PK职业客服QQ号2311416291

25

主题

794

帖子

2768

石币

石器元老

Rank: 8Rank: 8

积分
3572

脚本达人

板凳
发表于 2020-4-6 20:29:42 | 只看该作者
内挂不存在移动封包指令,w 0,0,aa 只是走两步的效果 关于第三点  之前我就反馈过了,不知道修正没。好久没测试内挂了,实在是用着累

4493

主题

1万

帖子

6万

石币

管理员

Rank: 9Rank: 9Rank: 9

积分
82214
地板
发表于 2020-4-6 20:41:09 | 只看该作者
kantal 发表于 2020-4-6 20:29
内挂不存在移动封包指令,w 0,0,aa 只是走两步的效果 关于第三点  之前我就反馈过了,不知道修正没。好久没 ...

能不能把
w 0,0,aa  (这里的第三个参数aa的作用,以及所有的这类的指令和作用都列出来,就是把封包类的第三参数写法都列出来)
SOSE我们的家,大家一起来爱护她。
(客服不解答任务,任务不会做论坛发帖提问)
《石器so》无职业2.5PK模式客服QQ号1520218270客服QQ号756111
《石器se》8.5PK职业客服QQ号2311416291

2

主题

91

帖子

56

石币

石器入门

Rank: 2

积分
147
5#
 楼主| 发表于 2020-4-7 03:28:35 | 只看该作者
石器时代so 发表于 2020-4-6 20:41
能不能把
w 0,0,aa  (这里的第三个参数aa的作用,以及所有的这类的指令和作用都列出来,就是把封包类的第 ...

关于外挂中封包移动指令如下:

标准的封包位移指令 w x,y,ee,其中小写的w是行动指令,x,y是目标座标,第三个参数有大写和小写的区别,小写表示附加位移动作,大写表示朝向改变,每一个小写字母(a-h)都表示一个单步附加位移操作,原版的石器支持最长32位附加位移操作。
而内挂中貌似没有真正实现封包位移的方法,所有的 w x,y,zz都相当于 w 0,0,zz,也就是说w这个行动指令被忽略了,沿用了以前二步瞬移的机制,用附加位移指令作为主位移指令,但即便如此,在分析附加位移指令的时候只识别了第一位附加位移指令以及附加指令总长度,导致类似 w 0,0,aceg 的指令最终的效果相当于 w 0,0,aaaa

P.S:我刚来这个服务器,前两天看论坛发现了还有内挂以及重制这个东西,所以好奇过来随便试了一下,整体效果还不错(比如我很喜欢那个新字体以及部分配色。。。),但是脚本细节只能说不尽如人意,另外我很好奇,所谓的重制是指的什么?完全重新写引擎还是说照猫画虎把源代码用另外一种语言重新表达一下?或者是仅仅是重写外挂并集成到了源码里变成了绑定外挂(或者叫内挂。。。)?

2

主题

91

帖子

56

石币

石器入门

Rank: 2

积分
147
6#
 楼主| 发表于 2020-4-7 03:29:33 | 只看该作者
本帖最后由 jxlong840912 于 2020-4-7 04:12 编辑
kantal 发表于 2020-4-6 20:29
内挂不存在移动封包指令,w 0,0,aa 只是走两步的效果 关于第三点  之前我就反馈过了,不知道修正没。好久没 ...

我看了你之前的报告,其中动态变量无法作为函数参数被识别,这个bug好像已经修复了,但是动态变量作为函数本身还是无法被识别,所以就又提交了一次。

2

主题

91

帖子

56

石币

石器入门

Rank: 2

积分
147
7#
 楼主| 发表于 2020-4-7 04:23:18 | 只看该作者
石器时代so 发表于 2020-4-6 18:56
感谢您的反馈已经记录,多收集些问题提交给我们。内挂的脚本指令兼容。每个月收集后会在下一个月集中处理 ...

另外还有一个关于内挂的exception方面的问题想要反馈,人物站在渔村广场中间,运行 walkpos 36,36,这是一个错误指令,因为无论是assa还是内挂都无法正常寻路到达坐标,但是assa在各种纠结卡顿之后会报错walkpos超时,而内挂在几次无效尝试之后会正常运行脚本下一步,并不会报错。我觉得assa这种纠错机制对于failsafe是必要的。

值得肯定的是内挂的寻路机制比assa貌似做得出色很多,无论是速度还是智能度上都胜好几筹,如果其他问题解决了,我个人是非常愿意把内挂作为第一选择并且把脚本都内挂化的,多谢,加油。

4493

主题

1万

帖子

6万

石币

管理员

Rank: 9Rank: 9Rank: 9

积分
82214
8#
发表于 2020-4-7 21:15:44 | 只看该作者
jxlong840912 发表于 2020-4-7 04:23
另外还有一个关于内挂的exception方面的问题想要反馈,人物站在渔村广场中间,运行 walkpos 36,36,这是 ...

无效坐标处理上。由于部分脚本坐标写了错误坐标,或者游戏地形改变,因此目前时将错误坐标忽略,避免脚本无法运行下去。后续我们研究考虑是否和assa相同处理。希望您多测试一些问题多反馈一些。这样我们下个月版本会更好的修复完善。完善到一定程度后。会新增功能。

  目前内挂正在处理组队时人物被飞导致崩溃的问题,近期的新版本会先解决这个。您的脚本问题下个月初的新版本会一起处理,在此期间希望您多提供一些其他的更多各类问题的例子
SOSE我们的家,大家一起来爱护她。
(客服不解答任务,任务不会做论坛发帖提问)
《石器so》无职业2.5PK模式客服QQ号1520218270客服QQ号756111
《石器se》8.5PK职业客服QQ号2311416291
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|石器时代论坛

GMT+8, 2024-5-4 17:24 , Processed in 0.106688 second(s), 31 queries .

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