网站地图
zenghuilan.com
生活小窍门 解释生活中的一切名词
Sanny Builder 发布于:

Sanny Builder是一个专为GTA 3D系列游戏(GTA3GTAVCGTA SAGTA LCSGTA VCS部分任务功能)设计的一个快速而有力的工具。


  

它包含一个反编译器,允许用户快速地反编译游戏脚本文件(MAIN.SCM)和外部脚本(SCRIPT.IMG)。Sanny Builder提供了一个非常方便的编辑器。这个编辑器包含了大量实用的功能和工具,有语法高亮、错误检查、快速跳转、高级搜索工具、玩家位置读取工具等,并且可以添加自己的外部工具。Sanny Builder提供一种类似于现代编程语言的高级代码语法。这种语法包含可改变的类、关键字和高级语句。

Sanny Builder的另外一个主要功能是编写和修改CLEO脚本

Sanny Builder的最新版本是v3.2.2,更新日期为2014年7月5日。由百度罪恶都市贴吧提供中文翻译。

反编译

编译

GTA3

+

+

GTAVC

+

+

GTA SA

+

+

GTA LCS

+

-

GTA VCS

+

-

运行自动安装程序。在安装过程中,你可以选择安装路径,是否关联.SCM文件以及是否安装CLEO 3。所有的这些设置都可以在运行时从选项中设置。

执行目录下的 unins000.exe 即可进行卸载。

Sanny Builder的最新版本总能在Sanny Builder官网 中找到。

第一次使用Sanny Builder需要设置游戏目录。方法:单击菜单栏Tools(工具)->Options...(选项),打开Options(选项)对话框,在General(通用)选项卡中,单击第一个编辑框右侧的"..."按钮,在弹出的对话框中选择游戏目录,然后点OK(确定)即可。

注意:对于每一个游戏,需要单独设置目录。

Sanny Builder支持多款游戏,使用时需要设置正确的游戏模式。方法:在主界面右下角找到游戏图标,单击它,在弹出的菜单中选择所需的游戏即可。

有多种方法可以完成这一操作:

单击工具栏上的decompile(反编译)按钮,或按F5,在弹出的“打开”对话框中找到需要反编译的文件,并按“打开”;

单击菜单栏中的Run(运行)->Decompile...(反编译),同样的找到需要反编译的文件,打开;

最快捷的方法,直接将需要反编译的文件拖入Sanny Builder,即可。

另外,如果关联了.SCM文件,那么在Windows资源管理器中双击.SCM文件,会自动打开Sanny Builder并反编译打开的文件。

编写或修改完成后,单击工具栏中的Compile(编译)按钮或通过菜单栏Run(运行)->Compile(编译)再或者直接按F6,就可以将修改完的文件编译成相应的游戏脚本文件。另外一个有用的功能是“编译并复制”,它的作用是编译文件,并将编译成的脚本文件复制到游戏目录中。类似的,可以通过单击工具栏的Compile + copy(编译并复制)或者通过菜单栏Run(运行)->Compile + copy(编译并复制)再或者按F7,来使用这个功能。

单击工具栏上的Run(运行)按钮就可以运行游戏来测试脚本,同样的,可以通过菜单或快捷键来运行。

如果运行的是GTA SA,可以通过设置跳过开头画面。方法:从菜单中打开Options(选项)对话框,在General(通用)选项卡中,找到Quick game loading(快速加载游戏)复选框,并勾选它,然后确定。

更多的使用说明,可以在Sanny Builder附带的帮助文档中找到,或者可以到百度SannyBuilder贴吧 讨论。

Sanny Builder可以非常快速的编译和反编译游戏脚本。即使在单核CPU的电脑上,反编译整个圣安地列斯的游戏脚本也只需要不到5秒时间。这是其他同类软件所达不到的。

Sanny Builder提供了语法高亮的功能,以使得代码更清晰。并且每个语法组成部分的颜色和样式可以在Options(选项)对话框的Highlighter(高亮)选项卡中设置,如右图所示。

Sanny Builder提供了一种类似于高级语言的语法,这大大简化了脚本编写的难度。尤其是在CLEO脚本中,经常会使用到这种语法。

比如,以下是一个简单的CLEO脚本,功能是锁血和免疫。如果不使用高级语法,它是这样的:

{$CLEO}

0000: nop

:NONAME_2

0001: wait 0 ms

00D6: if

0256: player $player_char defined

004D: jump_if_false @NONAME_2

:NONAME_22

0223: set_actor $player_actor health_to 100

02AB: set_actor $player_actor immunities 1 1 1 1 1

0001: wait 0 ms

0002: jump @NONAME_22

如果使用了高级语法,它是这样的:

{$CLEO}

0000: nop

repeat

wait 0

until if Player.Defined($player_char)

while true

Actor.Health($player_actor) = 100

02AB: set_actor $player_actor immunities 1 1 1 1 1

wait 0

end

可以看到,这样的代码显然更容易理解。

在游戏启动的情况下,在Sanny Builder界面按下Ctrl+Alt+1,即可打开坐标取读界面。

第一栏是x y z坐标组

第二栏是x坐标

第三栏是y坐标

第四栏是z坐标

第五栏(Angle)是角度,自v3.1.0之后就可以使用了。

此工具可以复制坐标、取读坐标、填写坐标(相当于瞬移)

在Sanny Builder界面下,按下Ctrl+Alt+2,可以打开代码表

在上面“Search”栏中,可以搜索代码,关键字和编号都可以

“Search”栏右边是当前代码数量

注:

Opcode Search Tool的代码列表文件是 X:\Sanny Builder 3\data\vc的opcodes.txt文件


相关文章推荐:
GTA | GTA3 | GTAVC | GTA SA | 编译器 | 脚本文件 | 脚本 | 编辑器 | 编辑器 | 语法高亮 | 高级搜索 | 编程语言 | CLEO | 脚本 | GTA3 | GTAVC | GTA SA | 语法高亮 |