共找到3條詞條名為Cleo的結果 展開

Cleo

單機遊戲《俠盜獵車手》插件

CLEO是應用於RockstarGames出品的單機遊戲《俠盜獵車手》的插件,在遊戲中擴展編碼的可能性。最新版本為CLEO4.3,官方更新於2014年3月。

CLEO的腳本是一些擴展名為.cs的sannybuilder編寫腳本。

CLEO已經全面支持第三代俠盜獵車手(GTA3、VC、SA)最新版本為GTA3v1.0.1.7,VCv1.1.1.7,SAv4.3.16。

操作指南


產品簡介

它們(用於GTA的)都是動態鏈接庫,換了個擴展名。換言之可以使用任何編寫動態鏈接庫的方法。要編寫asi,建立一個dll工程,修改遊戲的代碼寫在DllMain函數內。
1
2
3
4
5
6
7
8
9
10
#include
BOOLAPIENTRYDllMain(HANDLEhDllHandle,DWORDdwReason,LPVOIDlpreserved)
{
if(dwReason==DLL_PROCESS_ATTACH)//不要改條件
{
//修改遊戲的代碼
}
returnTRUE;
}
這是C++的寫法
要寫出實用的asi插件,要學習彙編,逆向分析,一門編程語言。--熟悉遊戲引擎和DirectX編程是成為大神的必經之路。
GTA3和VC自身就能載入asi,GTASA需要安裝載入器。
Cleo
Cleo

安裝方法

您也可以下載獨立的存檔或自動安裝程序。安裝CLEO非常簡單,只需解壓縮到遊戲根目錄或運行安裝程序,並按照其指示進行。
您還可以安裝SannyBuilder。運行SannyBuilder,選擇好遊戲文件夾。您將會看到CLEO這個詞在狀態欄顯示為紅色。閱讀許可協議並按下'安裝'按鈕。

教程說明

引言:CLEO的環境和基本說明
通過CLEO可以實現很多以前根本不敢想的功能(但不是CLEO的功勞),比如讓遊戲主角在天上飛,海里的鯊魚會吃人,像蜘蛛俠一樣爬到牆上,發射六脈神劍等等,可以說是其樂無窮的一種MOD。
想在遊戲中使用CLEO功能,首先需要安裝CLEO環境,去CLEO的主頁下載最新的cleo4,下載后安裝到你的遊戲目錄下,這時打開遊戲目錄,你會發現多了一個CLEO文件夾。以後你在網上下載的CLEO就可以放在這個文件夾下了。注意只有擴展名為.cs或.cm的文件才能放在CLEO目錄,.fxt文件要放在CLEO_TEXT目錄下。遊戲運行時載入所有cs文件,玩家可以使用全部功能。
CLEO功能主文件的擴展名是cs(CLEOScript),一些任務類CLEO還有擴展名為cm(custommission)的任務文件,放在CLEO文件夾下;此外還可能有擴展名為fxt的文件,是CLEO中所需要的文本描述,可以用記事本編輯,放在CLEO\CLEO_TEXT文件夾下;如果還有擴展名為txd的,放在遊戲目錄下的models\txd文件夾或models文件夾下。若還有其餘文件請參考該MOD的說明。
在遊戲中使用CLEO功能,需要詳細閱讀幫助文件,知道其功能,使用功能的方法(快捷鍵或作弊碼),使用功能所需要的條件(步行或乘車),以及一些可能導致遊戲錯誤的BUG的說明,盡量避免在這些情況下使用CLEO,這是很重要的,免得你在沒存檔之前錯誤退出而捶胸頓足。
CLEO的修改和製作需要一款軟體:SannyBuilder(簡稱SB),在其官網上可以免費下載,安裝完成以後就可以使用了。如果出錯需要在Tools-Options里設置遊戲的安裝路徑。
SB可以打開main.scm文件,.cs文件,.cm文件以及所有的文本文件。在打開文本文件的時候就是一個純粹的文本編輯器;在打開CLEO文件和MAIN文件時先自動反編譯出源代碼存為txt放在當前目錄,再打開該txt,我們做好修改以後,需要按下F7鍵,程序完成三個步驟:保存當前文檔(txt),編譯成CLEO的cs文件或main.scm文件,複製該文件到遊戲目錄(如果不在原始目錄的話),cs和cm放到CLEO下,main.scm放到Script下,總之各歸各位。大概就是這麼一個流程。
Cleo
Cleo

範例講解

這是一個代碼很簡單的CLEO,主文件名是repair.cs,主要功能是在車上的時候,按Y鍵可以把車修好,就不用去噴漆處了。
以下是該CLEO源碼:
//ThisfilewasdecompiledusingSASCM.INIpublishedbySeemann(files/SASCM.rar)on13.10.2007
{$VERSION3.1.0027}
{$CLEO.cs}
//-------------MAIN---------------
//注意以上代碼不可缺少,它標誌著這是一個CLEO文件,而不是main.scm文件
thread'ENGINE'//引號里的是CLEO的名稱,必須保證不會和已有的CLEO重名
:ENGINE_11//這是標籤,為語句跳轉所設
wait10//等待10毫秒
if//如果,條件判斷
Player.Defined($PLAYER_CHAR)//玩家是否定義?真正含義不解,沒有這個判斷也行
jf@ENGINE_11//如果條件不滿足的話跳轉到ENGINE_11,滿足的話繼續執行
ifand//多條件必須同時滿足,表示與的關係
0449:actor$PLAYER_ACTORin_a_car//主角是否在車裡
00E1:player0pressed_key11//是否按下了功能鍵11(遊戲默認是Y鍵)
jf@ENGINE_11//如果以上條件不滿足就跳轉到標籤11
03C0:$CAR_REP=actor$PLAYER_ACTORcar//定義主角所乘車輛的句柄變數,把主角乘坐的車定義為$CAR_REP
0A30:repair_car$CAR_REP//修復自定義車輛$CAR_REP
jump@ENGINE_11//無條件跳轉
0A93:end_custom_thread//結束01B2:give_actor2@weapon28ammo60//Loadtheweaponmodelbeforeusingthis//給對方設置武器01B9:set_actor2@armed_weapon_to0//武器最大彈藥數量

編寫過程

當玩家在製作一個CLEO的cs腳本的時候,需要注意一些細節,比如:
1、使用循環時,不能直接jf到條件判斷上,會導致遊戲卡住(沒有提示),請在if之前加等待命令
1
2
3
4
5
:thread
wait0
if
condition
jf@thread//freeze
2、並不是創作一個很好的功能就必須使用大量的變數和各種高端代碼,這是一個誤區,opcode語句就像積木一樣,並非需要把積木用雕刻刀雕琢的活靈活現才能做出好CLEO,積木的更大亮點在於拼接,利用各種語句和循環技巧進行組裝調用,從而獲得更多新的靈感和功能,這才是正規發展方向,然後才是高端技巧的掌握和學習,簡單講,就是CLEO需要創意大於技巧。
3、玩家要隨時注意更新自己的OPCODE語句庫,因為原版的sannybuilder並沒有搜集齊所有的OPCODE指令,這就需要玩家在網上各地尋找自己需要的資源並加以整合了。
4、學會使用障眼法,例如一個汽車發射炮彈的cleo,原理可以是在汽車上面創建一個人物,給人物武器,然後讓人物開炮,最後隱藏人物,以此就達成了汽車開炮的目的。學會“高端技巧”之後,直接調用遊戲製造導彈的方法。
5、不要在cleo里使用全局變數,會把main.scm里的變數覆蓋,主角等唯一物體除外。

主要功能


opcodes
CLEO為腳本編寫者提供了許多有用的opcode(GTA3、VC各27個,SA100個),注意不能在main.scm里用。
腳本
CLEO的腳本是一些擴展名為.cs(customscript)的文件。用sannybuilder編寫。開始運行遊戲的時候,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插件也是動態鏈接庫。