CLEO是应用于单机游戏《侠盗猎车:圣安地列斯》的插件,在游戏中扩展编码的可能性。最新版本为CLEO 3 library.
特征●opcodes
CLEO3内置了50个有用的opcode,如文件管理,游戏内存处理,可以随意调用更多的exe函数。第三版本增加了一些新的opcode,比如调用SCM函数,基于指定文件的代码建立新的策略或增加新的任务。第三版本增加了诸如opcodes呼叫的供应链管理的功能,创建一个线程或从外部文件开始任务等。利用所有这些opcode,需要安装CLEO 3 library的最新版。
●插件
CLEO的插件是一些扩展名为.CLEO的动态链接库文件。开始运行游戏的时候,CLEO会检测GTASACLEO文件夹下的所有该类型的文件并加载。成功后,插件就开始执行其各自的功能了。
插件的安装非常简单:只需复制所有文件到GTASACLEO目录即可。卸载为其反操作。
你可以在http://cleo.sannybuilder.com/下载到你所需的插件。
●自定义脚本
CLEO3允许添加自定义脚本。使用软件Sanny Builder,不需要启动游戏就可以进行CLEO代码的编写。写好一个脚本后,将其放置在CLEO文件夹下,运行游戏(可以读存档)。
CLEO3支持SA的两个版本1.0和1.01(在US1.0和EUR1.01中测试通过)。CLEO无法运行在其他版本下。
CLEO3在2.00及更高版本下不起作用。成功安装需要一个降级修补程序(EXE文件最好是1.0版)。
安装您也可以下载独立的存档或自动安装程序。安装CLEO3非常简单,只需解压缩到游戏根目录或运行安装程序,并按照其指示进行。
您还可以安装编辑制作CLEO的Sanny Builder 3。运行SB3,您将会看到CLEO这个词在状态栏显示为红色。阅读许可协议并按下'安装'按钮。
CLEO3正常工作需使用3个文件:vorbisFile.dll,vorbishooked.dll,cleo.asi。前两个是ASI加载器。你总能在这里找到这些文件的最新版本。
教程引言:CLEO的环境和基本说明
《侠盗猎车:圣安地列斯》,英文名GTA:SA,是一款集第三人称射击、赛车竞速、角色扮演、恋爱养成等元素为一体的经典游戏,更可喜的是游戏给各位喜爱DIY的玩家多方面的接口,大家可以从不同角度去修改游戏使其个性化,CLEO即是基于GTA:SA的一种功能MOD,通过它可以实现很多根本不敢想的功能,比如让游戏主角在天上飞,海里的鲨鱼会吃人,像蜘蛛侠一样爬到墙上,发射六脉神剑等等,可以说是其乐无穷的一种MOD。
想在游戏中使用CLEO功能,首先需要安装CLEO环境,去CLEO的主页下载最新的cleo3,地址:http://cleo.sannybuilder.com/ 左上角有两个链接,第一个是自动安装程序。下载后安装到你的游戏目录下,这时打开游戏目录,你会发现多了一个CLEO文件夹。以后你在网上下载的CLEO就可以放在这个文件夹下了。注意只有扩展名为.cs或.cm的文件才能放在CLEO目录,.fxt文件要放在CLEO_TEXT目录下。游戏运行时加载所有cs文件,玩家可以使用全部功能。
CLEO功能主文件的扩展名是cs(CLEO Script),一些任务类CLEO还有扩展名为cm(CLEO Mission)的任务文件,放在CLEO文件夹根目录下;此外还可能有扩展名为fxt的文件,是CLEO中所需要的文本描述,可以用记事本编辑,放在CLEOCLEO_TEXT文件夹下;如果还有扩展名为txd的,放在游戏目录下的modelsxd文件夹下。若还有其余文件请参考该MOD的说明。
在游戏中使用CLEO功能,需要详细阅读帮助文件,知道其功能,使用功能的方法(快捷键或作弊码),使用功能所需要的条件(步行或乘车),以及一些可能导致游戏错误的BUG的说明,尽量避免在这些情况下使用CLEO,这是很重要的,免得你在没存档之前错误退出而捶胸顿足。
CLEO的修改和制作需要一款软件:SannyBuilder(简称SB),在其官网上可以免费下载(http://www.sannybuilder.com/ ),安装完成以后就可以使用了。如果出错需要在Tools-Options里设置SA的安装路径。
SB可以打开main.scm文件,.cs文件,.cm文件以及所有的文本文件。在打开文本文件的时候就是一个纯粹的文本编辑器;在打开CLEO文件和MAIN文件时先自动反编译出源代码存为txt放在当前目录,再打开该txt,我们做好修改以后,需要按下F7键,程序完成三个步骤:保存当前文档(txt),编译成CLEO的cs文件或main.scm文件,复制该文件到游戏目录(如果不在原始目录的话),cs和cm放到CLEO下,main.scm放到Script下,总之各归各位。大概就是这么一个流程。
范例这是一个代码很简单的CLEO,主文件名是repair.cs,主要功能是在车上的时候,按Y键可以把车修好,就不用去喷漆处了。
以下是该CLEO源码:
// This file was decompiled using SASCM.INI published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
//-------------MAIN---------------
//注意以上代码不可缺少,它标志着这是一个CLEO文件,而不是main.scm文件
thread 'ENGINE' //引号里的是CLEO的名称,必须保证不会和已有的CLEO重名
:ENGINE_11 //这是标签,为语句跳转所设
wait 10 //等待10毫秒
if //如果,条件判断
Player.Defined($PLAYER_CHAR) //玩家是否定义?真正含义不解,没有这个判断也行
jf @ENGINE_11 //如果条件不满足的话跳转到ENGINE_11,满足的话继续执行
if and //多条件必须同时满足,表示与的关系
0449: actor $PLAYER_ACTOR in_a_car //主角是否在车里
00E1: player 0 pressed_key 11 //是否按下了功能键11(游戏默认是Y键)
jf @ENGINE_11
03C0: $CAR_REP = actor $PLAYER_ACTOR car //定义主角所乘车辆的句柄变量
0A30: repair_car $CAR_REP //修车
jump @ENGINE_11 //无条件跳转
0A93: end_custom_thread //结束标记