CLEO是套用于Rockstar Games出品的单机游戏《侠盗猎车手》的外挂程式,在游戏中扩展编码的可能性。CLEO已经全面支持第三代侠盗猎车手(GTA3、VC、SA)最新版本为GTA3 v1.0.1.7,VC v1.1.1.7, SA v4.3.16 。
基本介绍
- 中文名Cleo
- 类型单机游戏《侠盗猎车手》外挂程式
- 作用在游戏中扩展编码的可能性
- 支持第三代侠盗猎车手(GTA3、VC、SA)
- 首发套用者Just_Humor
基本信息
它们(用于GTA的)都是动态程式库,换了个扩展名。换言之可以使用任何编写动态程式库的方法。要编写asi,建立一个dll工程,修改游戏的代码写在DllMain函式内。
#include<windows.h>BOOLAPIENTRYDllMain(HANDLEhDllHandle,DWORDdwReason,LPVOIDlpreserved){ if(dwReason==DLL_PROCESS_ATTACH)//不要改条件 { //修改游戏的代码 } returnTRUE;}
这是C++的写法
要写出实用的asi外挂程式,要学习彙编,逆向分析,一门程式语言。--熟悉游戏引擎和DirectX编程是成为大神的必经之路。
GTA3和VC自身就能载入asi,GTASA需要安装载入器
功能
opcodes
CLEO为脚本编写者提供了许多有用的opcode(GTA3、VC各27个,SA100个,2016年已经扩展到近2000个),注意不能在main.scm里用(2014年起,main.scm的编写已经可以进行)。
脚本
CLEO的脚本是一些扩展名为.cs(custom script)的档案。用sanny builder编写。开始运行游戏的时候,CLEO会检测cleo资料夹下的所有该类型的档案并载入。成功后,脚本就开始执行其各自的功能了。避免了直接修改main.scm产生的存档不能用的问题。一般cleo脚本的安装非常简单只需複製所有档案到cleo资料夹即可。删除对应的档案,你就卸载了这些脚本。你可以在网上各种网站或者论坛下载到你所需的外挂程式。目前国内作者已知製作的脚本多达700-800个。
还有更多的扩展脚本,比如套用于副本的.cm档案,或者是.s/.nmt(由NMT团队使用)的子程式档案,通常此类档案,即使是放在cleo资料夹下也无法被直接载入,需要其他的.cs档案去引导并载入,通常称主程式(.cs/.scm)与子程式(.cm/.s/.nmt等)。
外挂程式
cleo4提供了SDK让用户编写新opcode,扩展名为.cleo,放在cleo资料夹内即可生效,cleo外挂程式也是动态程式库。
安装
您也可以下载独立的存档或自动安装程式。安装CLEO非常简单,只需解压缩到游戏根目录或运行安装程式,并按照其指示进行。
您还可以安装Sanny Builder。运行Sanny Builder,选择好游戏资料夹。您将会看到CLEO这个词在状态栏显示为红色。阅读许可协定并按下'安装'按钮。
教程
引言CLEO的环境和基本说明
通过CLEO可以实现很多以前根本不敢想的功能(但不是CLEO的功劳),比如让游戏主角在天上飞,海里的鲨鱼会吃人,像蜘蛛侠一样爬到墙上,发射六脉神剑等等,可以说是其乐无穷的一种MOD。
想在游戏中使用CLEO功能,需要安装CLEO环境,去CLEO的主页下载最新的cleo4,下载后安装到你的游戏目录下,这时打开游戏目录,你会发现多了一个CLEO资料夹。以后你在网上下载的CLEO就可以放在这个资料夹下了。注意只有扩展名为.cs或.cm的档案才能放在CLEO目录(2013年已经解除,许许多多的档案都可放在CLEO目录,亦或者是写下代码的txt文档,或是上面提到的子程式,他们无法被直接运行,只能通过主程式来来引导并运行),.fxt档案要放在CLEO_TEXT目录下。游戏运行时载入所有cs档案,玩家可以使用全部功能。
CLEO功能主档案的扩展名是cs(CLEO Script),一些任务类CLEO还有扩展名为cm(custom mission)的任务档案,放在CLEO资料夹下;还可能有扩展名为fxt的档案,是CLEO中所需要的文本描述,可以用记事本编辑,放在CLEO\CLEO_TEXT资料夹下;如果还有扩展名为txd的,放在游戏目录下的models\txd资料夹或models资料夹下。若还有其余档案请参考该MOD的说明。
在游戏中使用CLEO功能,需要详细阅读帮助档案,知道其功能,使用功能的方法(快捷键或作弊码),使用功能所需要的条件(步行或乘车),以及一些可能导致游戏错误的BUG的说明,儘量避免在这些情况下使用CLEO,这是很重要的,免得你在没存档之前错误退出而捶胸顿足。
CLEO的修改和製作需要一款软体SannyBuilder(简称S.B),在其官网上可以免费下载,安装完成以后就可以使用了。如果出错需要在Tools-Options里设定游戏的安装路径。
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 (files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027} //无关紧要的内容,自己编写不会出现这些
{$CLEO .cs} //它标誌着这是一个CLEO档案,编译档案的扩展名是cs
//-------------MAIN---------------
thread 'ENGINE' //命名执行绪,可有可无,起个名字让其他cleo能找到你
:ENGINE_11 //这是标籤,为语句跳转所设
wait 10 //等待10毫秒
if //如果,条件判断
Player.Defined($PLAYER_CHAR) //条件玩家是否定义?死了就是false
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 //如果以上条件不满足就跳转到标籤11
03C0: $CAR_REP = actor $PLAYER_ACTOR car // $CAR_REP就代表主角坐着的车了
0A30: repair_car $CAR_REP //修复自定义车辆$CAR_REP
jump @ENGINE_11 //无条件跳到开头
注不同游戏的opcode不同
阅读Sanny Builder的帮助文档学习基本知识,所以英语必须会。
CLEO编写
当玩家在製作一个CLEO的cs脚本的时候,需要注意一些细节,比如
1、使用循环时,不能直接jf到条件判断上,会导致游戏卡住(没有提示),请在if之前加等待命令
:threadwait0ifconditionjf@thread//freeze
2、并不是创作一个很好的功能就必须使用大量的变数和各种高端代码,这是一个误区,opcode语句就像积木一样,并非需要把积木用雕刻刀雕琢的活灵活现才能做出好CLEO,积木的更大亮点在于拼接,利用各种语句和循环技巧进行组装调用,从而获得更多新的灵感和功能,这才是正规发展方向,然后才是高端技巧的掌握和学习,简单讲,就是CLEO需要创意大于技巧。
3、玩家要随时注意更新自己的OPCODE语句库,因为原版的sanny builder并没有蒐集齐所有的OPCODE指令,这就需要玩家在网上各地寻找自己需要的资源并加以整合了。
4、学会使用障眼法,例如一个汽车发射炮弹的cleo,原理可以是在汽车上面创建一个人物,给人物武器,然后让人物开炮,隐藏人物,以此就达成了汽车开炮的目的。学会“高端技巧”之后,直接调用游戏製造飞弹的方法。
5、不要在cleo里使用全局变数,会把main.scm里的变数覆盖,主角等唯一物体除外
玩法
安卓圣安地列斯游戏
把cleo当玩具的使用法则
不要直接点击选单,上下左右如图操作,点击中区确定。
DISMISS取消功能不明。
空战
得到飞机后,想空战只要加星。找到航母还可以非法降落。
过关
旧金山蓝色骷髅任务
T-Bone Mendez
选择铁板牛排门德斯
就是Mike Toreno任务
Mike被困,于是CJ和他们一起行动前去救援。由于Mike也不清楚身在何处,会不断用电话描述听到的声音,由此判断他的位置。必须在5分半钟内找到他,分别到工地、海滨,一路找到机场。这时要利用探测装置判断货车的位置,找到后消灭所有劫匪救出Mike。逃离现场后将汽车改漆,回到夜总会交差。
用cleo得到飞机,节约时间更容易过关。
侦察
选择A Home in the Hills山中别墅
手机软体攻略前往海军基地盗取战斗机去炸间谍船。驾驶摩托艇来到东方不远的海军基地,要游进航母才不会被发现,等守卫离开后,暗杀掉工人上楼梯(其实硬拼的问题也不大),潜入控制室关闭SAM飞弹发射系统,然后到甲板夺战斗机。起飞后会有3架战斗机追逐,将它们全部击落后飞往水湾,不用管多远,不管能不能看到,这飞弹好象是远距离攻击的。在那里炸毁4艘间谍船,这时接到Toreno的电话,将飞机开往私人机场并停放到机库里。
名称vertical bird直升之鸟
解释
用飞机炸毁四艘间谍船就看不清船了,先在西边降落(鹄式战斗机可垂直降落)后用炸药包炸它们即可 ,但飞机还是要用飞机打下来的才能过关。
找路
李然法吃麵,CJ要去机场拿车,地下车库如同迷宫,没有地图。
这是旧金山W点李然法任务,选择山云帮 进入。