请输入您要查询的百科知识:

 

词条 Sanny Builder
释义

简介

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

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

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

Sanny Builder的最新版本是v3.04。

支持的游戏

反编译 编译

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)是角度,不过目前Sanny Builder的版本不能使用这个功能

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

代码表

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

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

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

注:

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

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/1 12:27:02