分享到新浪微博 分享到QQ空间 打印

[疑问] 菜鸟脚本问题

菜鸟脚本问题

#org 0x1DB9B6
lockall
applymovement 0x8 0x1DB9E6
waitmovement 0x0
releaseall
end



#org 0x1DB9B6
lockall
applymovement 0x8 0x81DB9E6
waitmovement 0x0
releaseall
end
这两个脚本,2者唯一区别是在applymovement 0x8 0x81DB9E6上,前者的偏移量比后者0x1DB9E6的1DB9E6前面少了个8,这就使得前者不能成功运行而后者则可以,貌似所有脚本在第一段中的表示位置的偏移量前都要加8才能成功运行,请问是不是这样?如果哪位有时间能不能帮我解释下这个8是怎么回事。

TOP

我想知道这两个脚本是你自己写的吗?

applymovement后的指针参数你是调用游戏中已经存在的吗?

08意味着指针,是在原来的地址基础上加上0x08000000后形成的

如果你是用的动态地址,一般不会出现这个问题的

TOP

8在ROM中的意义仅仅就是指针。在写入ROM的时候,可以不要这个8,因为ROM中实际根本不可能包含这么庞大的地址(极限为0xFFFFFF)。即使写入了,XSE也会把他当作指针来处理,不会造成什么麻烦的。


想死你们了!

TOP

引用:
原帖由 roywillow 于 2009-7-4 17:20 发表
我想知道这两个脚本是你自己写的吗?

applymovement后的指针参数你是调用游戏中已经存在的吗?

08意味着指针,是在原来的地址基础上加上0x08000000后形成的

如果你是用的动态地址,一般不会出现这个问题的
两个脚本是我实验的时候直接用游戏里的脚本改的,如果我自己找一个脚本空位写是不是也不会有这个问题呢?

TOP

引用:
原帖由 学习者 于 2009-7-4 17:53 发表

两个脚本是我实验的时候直接用游戏里的脚本改的,如果我自己找一个脚本空位写是不是也不会有这个问题呢?
建议您阅读下XSE的基础教程,里面有提到如何把自己的脚本写进ROM并实际运行于游戏中。


想死你们了!

TOP

那个8,最好加上吧

如果修改的话,在确认不会超出原来脚本长度的情况下可以直接修改
否则建议将反汇编中某个选项打上勾(花子……俺忘了,您给补充上吧……这机器没XSE)
然后设定动态起始地址

TOP

引用:
原帖由 liuyanghejerry 于 2009-7-4 17:56 发表

建议您阅读下XSE的基础教程,里面有提到如何把自己的脚本写进ROM并实际运行于游戏中。
那个我读了很多遍了,运用我已经会了,我是在运行中出现的问题,只要加上8就可以正常运行,而且我反汇编出了第一段脚本中貌似是带有指向性的地方偏移量之前都有8,我已经大概明白这个指针的用法谢谢roy和liuyanghejerry的解答 ,请把问题关闭吧。

TOP

我想最好还是用指针的形式……

XSE可能还做不到那么完美的智能

TOP

引用:
原帖由 roywillow 于 2009-7-4 18:16 发表
我想最好还是用指针的形式……

XSE可能还做不到那么完美的智能
谢谢提醒,我会注意的,还想问一句是不是更新过的XSE读出的中文代码是乱码

[ 本帖最后由 学习者 于 2009-7-4 18:29 编辑 ]

TOP

XSE没法正确读取中文的

不知道为什么,我的机器只要读取到中文文本就会停止读取……害得我得用PKSV读取

但是XSE能够以hex形式写入中文的

TOP