跑跑車首頁

當(dāng)前位置:首頁補(bǔ)丁工具游戲工具 → 圣安地列斯cleo編輯器(Sanny Builder) v3.04漢化版

圣安地列斯cleo編輯器(Sanny Builder)v3.04漢化版

補(bǔ)丁大。4.2M 補(bǔ)丁語言:簡體

補(bǔ)丁類型:游戲工具 更新時(shí)間:2012/12/5

補(bǔ)丁版本:v3.04漢化版

補(bǔ)丁標(biāo)簽:

圣安地列斯cleo編輯器3.14漢化中文版,這個(gè)俠盜獵車圣安地列斯的cleo編輯器是很強(qiáng)大的一個(gè)工具(下面有很詳細(xì)的說明),跑跑車為您提供的是csol編輯器Sanny Builder v3.14的版本,同時(shí)為您整合了簡繁的漢化補(bǔ)丁。

安裝方法

下載完成后先解壓縮,打開“CLEO編輯器”文件夾,運(yùn)行“SannyBuilder-v3.04.exe”安裝好

再點(diǎn)開“Sanny Builder 漢化補(bǔ)丁”這個(gè)文件夾,里面有一個(gè)簡體,一個(gè)繁體2種語言,下面是使用方法:
將簡體、繁體文件夾,復(fù)制到X:\Sanny Builder 3\lang 下
打開軟件->菜單欄->找TOOLS(工具) 下->Options(設(shè)置) 選項(xiàng)->Language (語言) 選擇->簡體/繁體,即可。

cleo編輯器界面 cleo編輯器簡、繁體效果展示

使用說明

下面是cleo的使用方法的簡單介紹,文字很多,下載包內(nèi)有詳細(xì)的說明。

怎么讓CLEO橫向發(fā)展,舉幾個(gè)例子就知道了:

1、先舉一個(gè)最簡單的:你想在四龍賭場門前停一輛NRG500摩托車,每次打開存檔都能看到它,怎么實(shí)現(xiàn)呢?

有一個(gè)“軍警車輛”CLEO,作用是把爆爆工廠里停了各種各樣的警車及軍車。
用Sanny Builder軟件打開軍警車輛CLEO的Poli_Arm_Cars.cs文件,可以看到有一大段這樣的語句:
$PC006 = init_parked_car_generator #BARRACKS color -1 -1 1 alarm 0 door_lock 0 0 10000 at -2141.971 -102.694 36.419 angle 270.0
這是計(jì)算機(jī)語言,翻譯成人話就是:在(-2141.971,-102.694,36.419)這個(gè)點(diǎn)上產(chǎn)生一輛警笛關(guān)閉的默認(rèn)顏色的車頭朝東的沒鎖門的運(yùn)兵車。

“BARRACKS”是車名,想增加哪個(gè)車停放點(diǎn)就改成相應(yīng)車名,改成NRG500就變成停放NRG500摩托了。在刷車工具里有各種車輛的中英文名稱和圖片的對照。
“color -1 -1 1”表示車的顏色,這個(gè)如果不會(huì)改就不要改。
“alarm 0”表示報(bào)警器關(guān)閉,不知道有什么用。
“door_lock 0”表示沒鎖門,也不要改。
10000可能是生命值吧,沒改過。
“at”后面的三個(gè)數(shù)字就是車輛停放點(diǎn)的坐標(biāo),先跑到四龍賭場門前測一下坐標(biāo)然后把坐標(biāo)值改一下,這樣就在四龍賭場增加了NRG500停車點(diǎn)。GTASA瘋狂作弊器能測坐標(biāo)。Z坐標(biāo)不要直接套用,采用“進(jìn)一法”,要比站著的坐標(biāo)高出0.5米左右,不要讓車輪鉆地下去了。
“angle”后面的數(shù)字是車頭方向,數(shù)值在0~359.9999度之間,正北為0度,正西為90度,正南為180度,正東為270度,就這樣轉(zhuǎn)。

改完了不要點(diǎn)保存,那只是保存為一個(gè)txt文檔,要按F6編譯,這就保存到cs文件里了。
在四龍賭場門前就增加了一個(gè)NRG500摩托車的停放點(diǎn)了。

上面說的只是純修改的方法,若想在原有的cs文件的基礎(chǔ)上再增加一輛車,那就不僅要把這一行復(fù)制了排到后面,還要把它后面緊跟的這一行:014C: set_parked_car_generator $PC006 cars_to_generate_to 101
也復(fù)制到后面去,因?yàn)樗熊嚩际莾尚,需要修改的是只是第一行。自己想加車就要和上面的格式統(tǒng)一。
不行的話,那就試試看“比賽隨意選車”里面的ZAZ_PICKUP_SAVE.cs(這個(gè)也有增車的功能),普通車輛和警車的格式好像不太一樣,上面舉的例子只是一個(gè)大致的思路,我自己并不是按照軍警車輛來改的,我是用比賽隨意選車那個(gè)改出來的,在黑白旗的地方弄些車,正好可以玩各種比賽。
增車的cs文件有很多,“新增停車點(diǎn)”里面就有N多、“老家有裝備”這里面也有停車點(diǎn)、“汽車展廳增車”等等這些都有增加刷車點(diǎn)的功能,皆可拿來參考,放一起比較就知道該怎么增車了。

改了cs文件之后并非當(dāng)場生效,要重新打開存檔。還有一點(diǎn)要特別注意:一定要用原生態(tài)的存檔(沒有使用過CLEO補(bǔ)丁的),用CLEO保存過的存檔可能看不到修改cs文件的效果,包括下面這些修改。

2、你想在沙漠機(jī)場的空地上增加一些武器,怎么實(shí)現(xiàn)呢?

有一個(gè)“老家有裝備”CLEO(感謝jiangao0627提供的這個(gè)CLEO),在MoreWeapons.cs文件里面有一大段這樣的語句:
032B: $3139 = create_weapon_pickup #AK47 group 15 ammo 9999 at 2483.6 -1689.0 13.5
這個(gè)翻譯成人話就是:在(2483.6,-1689.0,13.5)這個(gè)點(diǎn)上增加一個(gè)子彈數(shù)為9999的AK47沖鋒槍的拾取點(diǎn)。
其中肉搏類的武器沒有子彈數(shù),格式不太一樣,往下拉可以看到關(guān)于武士刀的語句:
$3212 = Pickup.Create(#KATANA, 15, 2476.8, -1701.0, 13.5)
KATANA就是武士刀,15不知道干什么的,后面的三個(gè)數(shù)字是坐標(biāo);ǘ洹⒄袷幤鬟@些跟肉搏類武器的格式一樣。

各種裝備的名稱在data文件夾里的weapon.dat里就有,武器欄每行第一項(xiàng)就是,肉搏類的武器在melee.dat里。

跑到沙漠機(jī)場測一下坐標(biāo)填到里面去,再把槍名改了,按F6就好了,以后在沙漠機(jī)場都能看到這個(gè)武器了。

3、有些CLEO你覺得按鍵不方便,想把按鍵改了,怎么做?

先把按鍵的編碼發(fā)上來吧

凡是看到這樣的語句“key_pressed”,后面所跟的數(shù)字就是按鍵(一般都用的是十進(jìn)制的編碼)

①、固定按鍵(每一行的第一個(gè)表示按鍵名稱,第二個(gè)是鍵盤的十進(jìn)制編碼,第三個(gè)是十六進(jìn)制編碼)

鼠標(biāo)左鍵 1 1
鼠標(biāo)右鍵 2 2
鼠標(biāo)中鍵 4 4
退格鍵 8 8
Tab 9 9
回車鍵 13 D
Shift (兩邊一樣) 16 10
Ctrl (兩邊一樣) 17 11
Alt (兩邊一樣) 18 12
Pause 19 13
Caps Lock 20 14
Esc 27 1B
空格鍵 32 20
Page Up 33 21
Page Down 34 22
End 35 23
Home 36 24
方向鍵左 37 25
方向鍵上 38 26
方向鍵右 39 27
方向鍵下 40 28
Insert 45 2D
Delete 46 2E

0 48 30
1 49 31
2 50 32
3 51 33
4 52 34
5 53 35
6 54 36
7 55 37
8 56 38
9 57 39

A 65 41
B 66 42
C 67 43
D 68 44
E 69 45
F 70 46
G 71 47
H 72 48
I 73 49
J 74 4A
K 75 4B
L 76 4C
M 77 4D
N 78 4E
O 79 4F
P 80 50
Q 81 51
R 82 52
S 83 53
T 84 54
U 85 55
V 86 56
W 87 57
X 88 58
Y 89 59
Z 90 5A
左Windows鍵 91 5B
右Windows鍵 92 5C
屬性鍵(右Windows和右Ctrl之間那個(gè)) 93 5D


小鍵盤0 96 60
小鍵盤1 97 61
小鍵盤2 98 62
小鍵盤3 99 63
小鍵盤4 100 64
小鍵盤5 101 65
小鍵盤6 102 66
小鍵盤7 103 67
小鍵盤8 104 68
小鍵盤9 105 69
小鍵盤* 106 6A
小鍵盤+ 107 6B
小鍵盤- 109 6D
小鍵盤. 110 6E
小鍵盤/ 111 6F

F1 112 70
F2 113 71
F3 114 72
F4 115 73
F5 116 74
F6 117 75
F7 118 76
F8 119 77
F9 120 78
F10 121 79
F11 122 7A(一般別用,這鍵是中英文切換)
F12 123 7B
Num Lock 144 90
Scroll Lock 145 91

; 186 BA
= 187 BB
, 188 BC
- 189 BD
. 190 BE
/ 191 BF
` 192 C0
[ 219 DB
\ 220 DC
] 221 DD
' 222 DE

②、游戲中的功能鍵

1、步行時(shí)

0 向左、向右
1 向前、向后
2 Q、E
3 未知
4 行動(dòng)(接電話、買房)
5 鼠標(biāo)滾輪向上
6 武器瞄準(zhǔn)
7 鼠標(biāo)滾輪向下
8 團(tuán)隊(duì)控制前進(jìn)
9 團(tuán)隊(duì)控制后退
10 否定回答
11 肯定回答
12 不存在此編碼
13 走靜步
14 跳躍
15 開車
16 快跑
17 開槍、搏斗
18 蹲下
19 向后看

開車時(shí):

0 左轉(zhuǎn)、右轉(zhuǎn)
1 前進(jìn)
2 特殊控制左、右
3 特殊控制上、下
4 次級武器
5 開車向左看
6 手動(dòng)剎車
7 開車向右看
8 下一個(gè)電臺
9 上一個(gè)電臺
10 否定回答
11 肯定回答
12 不存在此編碼
13 切換視角
14 倒車
15 跳車
16 未知
17 主武器
18 喇叭
19 次級任務(wù)

比如你覺得“隨時(shí)隨地改車”的快捷鍵是T,和汽車轉(zhuǎn)向燈CLEO有沖突,想改,怎么辦?
打開transfender.cs,有這一句:
0AB0: key_pressed 84
凡是看到key_pressed,后面跟的數(shù)字就是鍵盤編碼,84表示T,改成66就成了按B改車。

如果是雙鍵齊按的CLEO,肯定有兩句key_pressed連在一起,都改了就行了。
雙鍵齊按的,在兩個(gè)key_pressed的上面還有一個(gè)if and,這個(gè)一定要注意,if是指的單鍵,if and就是雙鍵。
比如潛艇的代碼是按Ctrl+S,它的編碼就是:
if and
0AB0: key_pressed 17 (17就是Ctrl)
0AB0: key_pressed 83 (83就是S)
而導(dǎo)彈補(bǔ)丁是按退格鍵發(fā)導(dǎo)彈,它的編碼是:
if
0AB0: key_pressed 8 (8就是退格鍵)

在車上用的CLEO,按鍵格式是player 0 pressed_key 11(11要和開車時(shí)的功能鍵對應(yīng)),徒步使用的好像也是這種格式,規(guī)律我沒記,但全都是key和press連在一起后面跟個(gè)數(shù)字。若都是車輛CLEO或步行CLEO,把按鍵代碼一改就行了,要想把CLEO從“車上用”轉(zhuǎn)換成“走路用”,改按鍵時(shí)可從同類CLEO復(fù)制過來改。
固定按鍵就是說不管游戲中鍵盤怎么設(shè)置,CLEO的按鍵都不變,編輯CLEO時(shí)用如果用的是第二大類(游戲中的功能鍵)那就會(huì)隨著鍵盤設(shè)置而變化。固定按鍵對于開車或走路都是通用的。
如果想把某項(xiàng)功能“如果按什么鍵就如何”給去掉而又不知道該刪哪一段,就把按鍵改成五百多(一個(gè)不存在的鍵),這項(xiàng)功能就被去掉了,因?yàn)楦静豢赡馨吹侥莻(gè)鍵。

4、有個(gè)“武裝越野車”CLEO,開一輛沙灘越野車BF Inject時(shí)配備一把隱形的機(jī)槍。如果你開別的車也想有隱形機(jī)槍怎么做呢?
“按K武裝汽車”就不必說了,武器不是隱形,有些制作精美的MOD裝了武器就不好看了,裝個(gè)隱形的最理想了。
把武裝越野車的cs文件打開,有這么一句:
Actor.DrivingVehicleType($PLAYER_ACTOR, #BFINJECT)
不用去琢磨怎么把車加上機(jī)槍,只要看到BFINJECT那就知道這一句的意思肯定是限制車型,要怎么改那就很明顯了。
每輛的車的高度不一樣,想改變子彈發(fā)射的位置怎么辦呢?
往下拉有這么一段:
0407: store_coords_to 6@ 7@ 8@ from_car 0@ with_offset 0.33 0.7 1.08
06BC: create_M4_shoot_from 6@ 7@ 8@ target 3@ 4@ 5@ energy 100
09F1: play_audio_at_actor $PLAYER_ACTOR event 1157
066C: 9@ = attach_particle "GUNFLASH" to_car 0@ with_offset 0.33 0.7 1.08 rotation 0.0 1.0 0.0 flag 1

凡是看到offset這個(gè)詞(offset是偏移的意思),后面跟的就是相對坐標(biāo)值,是相對于車輛中心的位置。X正表示左、負(fù)表示右,Y正表示前、負(fù)表示后,Z正表示上、負(fù)表示下。
有兩個(gè)這樣的語句,如果不知道哪個(gè)是,就先把第二個(gè)offset后面那個(gè)的X值改成0,進(jìn)游戲一看,子彈仍然是從右邊射出的,而發(fā)射時(shí)所噴的火焰卻在車的正中間,這樣就知道后面那個(gè)offset是火焰的位置,前面那個(gè)肯定就是子彈的位置,試著改了下,果然是。
這些都是自己琢磨的,沒有統(tǒng)一的固定模式。自己多改改就知道了。

凡是包含車名的CLEO都能以一當(dāng)百。

5、大家想必都見過這個(gè)MOD:尾翼能升降的布加迪威龍,我所發(fā)的“尾翼升降”CLEO正是從這個(gè)MOD里提取出來的:開一輛子彈頭賽車Bullet時(shí)能升降尾翼。
如果開別的車時(shí)也想升降尾翼,如何做呢?
打開veyron.cs,里面關(guān)于車名的部分就不再說了,改個(gè)名字就完了。
下面還有更關(guān)鍵的內(nèi)容:改成別的車名,開車之后尾翼可能不在尾部而是在車的中間,或是在車的后面懸空放置。
那這就需要改尾翼的位置了,往下拉必然會(huì)有尾翼的坐標(biāo)。
里面先是有這么一句:
0681: attach_object 2@ to_car 5@ with_offset 0.0 -1.83 0.011 rotation 28.0 0.0 0.0
這一句表示剛開車時(shí)尾翼所在的位置。
offset后面的三個(gè)數(shù)字的含義和上面的武裝越野車一樣,該改成多少,要由車的形狀而定,先改一下進(jìn)游戲看看,不行再調(diào)整,這個(gè)不太可能一次就成功的。
rotation后面的三個(gè)數(shù)字分別表示對X、Y、Z軸的轉(zhuǎn)角,這個(gè)不要改,尾翼都是設(shè)計(jì)好了的。

在“0AB0: key_pressed 73”的后面有一大段這樣的語句不斷重復(fù):
0682: detach_object 2@ 0.0 0.0 0.0 collision_detection 0
0681: attach_object 2@ to_car 5@ with_offset 0.0 -1.82 0.013 rotation 28.0 0.0 0.0
wait 100
0682: detach_object 2@ 0.0 0.0 0.0 collision_detection 0
0681: attach_object 2@ to_car 5@ with_offset 0.0 -1.81 0.015 rotation 28.0 0.0 0.0
wait 100
0682: detach_object 2@ 0.0 0.0 0.0 collision_detection 0
0681: attach_object 2@ to_car 5@ with_offset 0.0 -1.81 0.02 rotation 28.0 0.0 0.0
…………………………………………

這段話是一個(gè)動(dòng)畫片的編碼,表示按下字母I之后升起尾翼
73就是字母I的編碼,后面的一大段就是尾翼在各個(gè)時(shí)刻不同的位置,可以看到Z坐標(biāo)不斷升高。其中“wait 100”表示“等100毫秒后”,這個(gè)數(shù)字改小了那么尾翼升的速度就快了。
這一段的最后一句就是完全升起時(shí)所在位置,如果改了尾翼的位置,那么這一大段的坐標(biāo)也要跟著平移過來。

在“0AB0: key_pressed 75”的后面還有一大段這種語句不斷重復(fù),這個(gè)表示按K收回尾翼。最后一句是完全降下時(shí)所在位置,和尾翼的初始位置要盡可能一致,就算不一致也要接近,免得畫面不連續(xù)。

6、想在雷達(dá)圖上增加一個(gè)圖標(biāo),怎么做?
在“比賽隨意選車”CLEO里,秋名山山頂也有比賽點(diǎn),但是雷達(dá)圖上卻只顯示在山腳下的游樂場有黑白旗任務(wù)點(diǎn)。
這個(gè)CLEO有個(gè)功能:在洛杉磯西南游樂場新增一個(gè)汽車錦標(biāo)賽,既然有這個(gè)功能那么cs文件中必然會(huì)有描述。打開Race_and_Tuning_Starter.cs之后看到有這么一句:
0570: 1@ = create_asset_radar_marker_with_icon 53 at -1643.1 1288.6 7.1
如果有一定英語基礎(chǔ),一見radar就知道這是雷達(dá),marker是標(biāo)記,icon是圖標(biāo),那么增加任務(wù)點(diǎn)的圖標(biāo)肯定就是這一句了,跑不了了。
icon 53肯定就是說黑白旗任務(wù)標(biāo)志的編號是53(骷髏點(diǎn)的編號可參考“黑手黨任務(wù)”,問號點(diǎn)可參考“黑社會(huì)任務(wù)”,其它就不知道了)。
飛到秋名山頂走進(jìn)紅圈測得坐標(biāo)是-20.69,-2430.016,324.256
那這就好辦了,把原來那一句復(fù)制一下緊跟著它粘貼到下一行,坐標(biāo)一改。進(jìn)游戲果然在秋名山頂?shù)牡胤嚼走_(dá)圖上顯示有個(gè)汽車錦標(biāo)賽。

至于如何在某地增加一個(gè)存檔點(diǎn)方法也類似,“比賽隨意選車”CLEO里有一個(gè)ZAZ_PICKUP_SAVE.cs,它能增加存檔點(diǎn),可參考此文件。
這只是增加圖標(biāo)的方法,如果想在地圖上增加一個(gè)紅圈圈的話,可以看看這個(gè):直線賽道。它在地圖上增了個(gè)任務(wù)點(diǎn)。新版收費(fèi)站CLEO就是這樣弄出來的,按此方法在收費(fèi)站里加了四個(gè)紅圈。

7、你想在做了某一件事之后增加個(gè)警星,怎么辦?
可參考“恐怖襲擊”,有這一句:爆炸過后得到六星通緝
既然有此功能那么cs文件里肯定就有增加警星的語句。
如果知道wantedlevle就是警星,那就很容易找了,這一句就是增加警星的:
Player.WantedLevel($PLAYER_CHAR) = 6

“警星調(diào)整”CLEO就是根據(jù)“時(shí)鐘控制”的CLEO改出來的,把設(shè)置時(shí)間的語句改成警星,按鍵再一改就行了。(警星調(diào)整CLEO已更新,現(xiàn)在用的不是下面這種循環(huán)方式了,不過下面這一段仍然可以說明問題)

改這類CLEO(如果按××就……,如果按××就……,幾個(gè)并列),還有一個(gè)很重要的問題:循環(huán)封閉。

前面是計(jì)算機(jī)語言,后面是翻譯的人話

:NONAME_2 循環(huán)2(只是個(gè)編號,改成幾都行)
wait 0 等待0秒
if and 如果(if and 是指下面的條件全都要滿足才會(huì)啟動(dòng)后續(xù)的內(nèi)容)
0AB0: key_pressed 46 按下Delete
0AB0: key_pressed 48 按下0
jf @NONAME_39 要不然就直接跳轉(zhuǎn)到循環(huán)39
Player.WantedLevel($PLAYER_CHAR) = 0 那么警星數(shù)是0 (接住if語句)
jump @NONAME_39 跳轉(zhuǎn)到循環(huán)39

:NONAME_39 循環(huán)39
wait 0 等待0秒
if and 如果
0AB0: key_pressed 46 按下Delete
0AB0: key_pressed 49 按下1
jf @NONAME_76 要不然就直接跳轉(zhuǎn)到循環(huán)76
Player.WantedLevel($PLAYER_CHAR) = 1 那么警星數(shù)是1
jump @NONAME_76 跳轉(zhuǎn)到循環(huán)76

接下來的“循環(huán)76”,就是關(guān)于設(shè)置二星級的語句了,如此循環(huán),最后六星級的完了之后一定要跳轉(zhuǎn)到開頭,不然按F6肯定會(huì)出現(xiàn)錯(cuò)誤,編譯不了。
六星級的那一段:

:NONAME_224 循環(huán)224
wait 0 等待0毫秒
if and 如果
0AB0: key_pressed 46 按下Delete
0AB0: key_pressed 54 按下6
jf @NONAME_2 要不然就直接跳轉(zhuǎn)到循環(huán)2
Player.WantedLevel($PLAYER_CHAR) = 6 那么警星變?yōu)?
jump @NONAME_2 跳轉(zhuǎn)到循環(huán)2

最后跳轉(zhuǎn)到了循環(huán)2,這就沒有語法問題了。什么都不按的話這樣循環(huán)一圈之后又回到出發(fā)點(diǎn)了,也就是游戲里沒有發(fā)生任何變化。
每一段循環(huán)都是@加一串字母開頭,這是因?yàn)橐婚_始在main這一行下面有個(gè)thread '×××',循環(huán)語句都要和此名稱保持一致,不然編譯不了,如果沒有就默認(rèn)為@NONAME。

8、有些CLEO你想改里面刷出的人物和他的武器,怎么實(shí)現(xiàn)?
先把武器的代碼和名稱發(fā)上來吧:

武器代號 中文名稱 dff和txd文件名
0 拳頭
1 指節(jié)套環(huán) brassknuckle
2 高爾夫球桿 golfclub
3 警棍 nitestick
4 小刀 knifecur
5 棒球棒 bat
6 鐵鏟 shovel
7 桌球棍 poolcue
8 武士刀 katana
9 電鋸 chnsaw
10 紫色橡膠棒 gun_dildo1
11 銀色振蕩器 gun_dildo2
12 仿真陽具1 gun_vibe1
13 仿真陽具2 gun_vibe2
14 花 flowera
15 拐杖 gun_cane
16 手榴彈 grenade
17 催淚瓦斯(煙霧彈) teargas
18 燃燒彈 molotov
22 9mm警用手槍 colt45
23 9mm消音手槍 silenced
24 沙漠之鷹手槍 desert_eagle
25 長管散彈槍 chromegun
26 短管散彈槍(雙截散彈槍) sawnoff
27 連發(fā)散彈槍 shotgspa
28 Micro SMG微型沖鋒槍[UZI(烏茲)] micro_uzi
29 SMG輕型沖鋒槍(MP5) mp5lng
30 AK-47突擊步槍 ak47
31 M4卡賓槍 m4
32 TEC-9型步槍 tec9
33 打獵步槍(來復(fù)步槍) cuntgun
34 狙擊槍 sniper
35 火箭筒(RPG-1) rocketla
36 跟蹤式火箭筒(AT-4) heatseek
37 火焰噴射器 flame
38 轉(zhuǎn)輪機(jī)槍 minigun
39 遙控炸彈(C4炸彈) satchel
40 遙控器 bomb
41 噴漆罐 spraycan
42 滅火器 fire_ex
43 照相機(jī) camera
44 微光夜視鏡
45 紅外夜視鏡
46 降落傘 gun_para

呼叫軍人小弟CLEO是改的呼叫警察小弟。
呼叫警察小弟,叫的警察是拿的沙漠之鷹手槍,在cs文件里用查找替換命令把desert_eagle全替換成minigun,改了槍的名稱之后不要忘了改這句:
01B2: give_actor 11@ weapon 24 ammo 9999 // Load the weapon model before using this
給某人24號武器,彈藥數(shù)9999,要把weapon 24(這指的是24號武器沙漠之鷹)替換成weapon 38
這樣武器就改好了,剩下的就是把警車改悍馬、警察改軍人了。改車的方法在前面已經(jīng)列舉過,那就只剩改人了,人物的名稱在data文件夾下的ped.ide里有,每行數(shù)字后第一項(xiàng)就是,由于不是所有的人物我都能把模樣和名稱對應(yīng)起來,所以這個(gè)不好弄。不過只要下載過軍隊(duì)MOD那肯定就知道軍人叫army,在ped.ide的最后面單獨(dú)列出了警察、軍人,所以cs文件里一看LAPD1就知道是警察,于是就把LAPD1替換為army,這就改成了呼叫軍人拿著轉(zhuǎn)輪機(jī)槍開著悍馬過來了。

9、有些CLEO限制了車型,如果想改成很多車都能用,怎么辦?
飛機(jī)特技CLEO,開鷂式戰(zhàn)斗機(jī)按X放煙,如果想開別的飛機(jī)也放煙,復(fù)制幾份cs文件然后全都改車名再把幾個(gè)文件合用也行,不過有個(gè)更節(jié)省資源的方法:
打開之后有這一句:
if
Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
它的意思是“如果開鷂式戰(zhàn)機(jī)”(下文肯定就是關(guān)于放煙的了)
如果改成開運(yùn)輸機(jī)也能放煙,那就是幾個(gè)條件選一個(gè)了,要用if or語句,if or 和if and 正好相反,if and是幾個(gè)條件同時(shí)成立,if or的意思是“如果……,或……”
把這句改成
if or
Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA)
Actor.DrivingVehicleType($PLAYER_ACTOR, #adrom)
這就成了“如果開鷂式戰(zhàn)機(jī)或開運(yùn)輸機(jī)”
那么這樣就改成了。
if or 這種語句有限制,最多九個(gè)條件并列,但是如果想改成開任何飛機(jī)都能放煙,怎么辦?游戲里的飛機(jī)可不止九種,省事的辦法就是復(fù)制cs文件,再設(shè)定九種交通工具然后合用。但這個(gè)也有更節(jié)省資源的方法:
在武裝飛機(jī)CLEO里有限制CJ開飛機(jī)的語句,把它搬過來:
04C8: actor $PLAYER_ACTOR driving_flying_vehicle
用這一句替換限定鷂式戰(zhàn)斗機(jī)那一句,這樣一改,就變成了“如果CJ開飛機(jī)”
那么所有雙翼飛機(jī)都能用了。如果想把直升機(jī)包括進(jìn)來,可以去找限定直升機(jī)的CLEO:武裝直升機(jī)。
CJ開直升的語句:
04A9: actor $PLAYER_ACTOR driving_heli
在武裝摩托車、武裝汽車這一系列CLEO中都能找到這些語句:
騎摩托:
047A: actor $PLAYER_ACTOR driving_bike
開所有交通工具:
0449: actor $PLAYER_ACTOR in_a_car
開船:
04A7: actor $PLAYER_ACTOR driving_boat
開火車:
09AE: actor $PLAYER_ACTOR driving_train

都可以用來替換那一句,地獄導(dǎo)彈CLEO一開始只能在鷂式戰(zhàn)斗機(jī)上用,我就是用此方法把地獄導(dǎo)彈改成了無論什么飛機(jī)都能用,比飛機(jī)投彈補(bǔ)丁要好得多。
曾經(jīng)有人發(fā)了個(gè)汽車煙霧CLEO,有好多個(gè)cs文件,每個(gè)文件都對應(yīng)一種車,里面都有這句:“如果CJ開××車”(就按哪個(gè)鍵放煙),
用if or語句就可以將它們合并成一個(gè)文件,“如果CJ開××車,或××車,或××車……”,這樣就合并了。

10、有些CLEO一進(jìn)游戲就啟動(dòng)或者一開車就啟動(dòng),如果想改成按一個(gè)鍵來啟動(dòng),怎么改?
武裝飛機(jī)CLEO一上飛機(jī)就啟動(dòng),如果想改成在飛機(jī)上按個(gè)鍵啟動(dòng),怎么辦?
一開頭是這樣:
:AFW_12 循環(huán)12
wait 0 等待0毫秒
if 如果
Player.Defined($PLAYER_CHAR) CJ被定義了(也就是CJ開始活動(dòng),游戲開始了)
else_jump @AFW_12 不然就跳到開頭(也就是如果游戲沒開始就不啟動(dòng))
if 如果
04C8: actor $PLAYER_ACTOR driving_flying_vehicle CJ開飛機(jī)

有幾句是廢話:如果游戲啟動(dòng)就如何如何,這三行完全可以不要,有些CLEO里就沒有。
就從這句來改:“如果CJ開飛機(jī)就如何”
從別處找一個(gè)按鍵的句子復(fù)制過來加到后面,再把if變成if and:
if and
04C8: actor $PLAYER_ACTOR driving_flying_vehicle
0AB0: key_pressed 36
這就變成了“如果CJ開飛機(jī)而且按了Home鍵”,這樣就改成了開飛機(jī)按Home鍵來啟動(dòng)此CLEO了。
有人提出要把仇家追殺改成按一個(gè)鍵來啟動(dòng),就可以用此方法來改。
if
Player.Defined($PLAYER_CHAR)
else_jump @AFW_12
如果CJ開始活動(dòng)(就如何如何),要不然就跳轉(zhuǎn)回去
改成
if and
Player.Defined($PLAYER_CHAR)
0AB0: key_pressed 36
else_jump @AFW_12 (這個(gè)名稱不一定是AFW,數(shù)字也不一定是12,要看開頭是什么,總之這個(gè)是要跳到開頭的)
這就改成了進(jìn)游戲按End鍵來啟動(dòng)了。
要是沒找到Player.Defined這樣的句子,就自己添一個(gè)key pressed句子,用if(不是if and了),效果一樣的。
如果把按鍵盤的句子改成限制開車的句子那么就把一個(gè)CLEO從按鍵啟動(dòng)改成了開車啟動(dòng)了。
相應(yīng)的語句都能在別的CLEO中找出來,復(fù)制粘貼就可以了。
有些CLEO是以警星數(shù)來啟動(dòng)的,超級六星通緝:如果CJ達(dá)到六星通緝,就%$&%^%^$%$#%%&^&%^$
這個(gè)CLEO里就有這樣的句子:
if 如果
Player.WantedLevel($PLAYER_CHAR) > 5 通緝度大于5顆星
else_jump @LV6_2503 不然就跳轉(zhuǎn)到循環(huán)2503
想要哪個(gè)功能的語句,就先想想哪個(gè)CLEO有這個(gè)功能,那就去里面找,肯定能找得到。都可以改成各種各樣的啟動(dòng)方式,也沒有一個(gè)固定模式。常見的啟動(dòng)方式除了游戲一開始就啟動(dòng)、按鍵啟動(dòng)、開車啟動(dòng)(以及它們的任意組合)之外,還有這些:

如果CJ接近某點(diǎn)就如何 (參見骷髏士兵CLEO)
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -1317.184 2525.606 87.5162 radius 50.0 50.0 50.0
jf @SKELETON_THREAD_19 sphere是球,后面三個(gè)數(shù)字是球心坐標(biāo),radius后面三個(gè)數(shù)分別是X、Y、Z方向的半徑

如果時(shí)間達(dá)到幾點(diǎn)就如何 ( 骷髏士兵CLEO里也有這個(gè))
if and 如果
00BF: 29@ = current_time_hours, 30@ = current_time_minutes 這是定義29@和30@,29@是小時(shí),30@是分鐘
29@ >= 2 小時(shí)數(shù)大于或等于2
20 > 29@ 20大于小時(shí)數(shù)(這兩句就是說在晚上8點(diǎn)和凌晨2點(diǎn)之間)
jf @SKELETON_THREAD_145 要不然就跳轉(zhuǎn)到循環(huán)145

凡是具有限定作用的句子都可用來作為CLEO的啟動(dòng)條件,像閃電球CLEO,就有“如果CJ拿著SMG按右鍵,再按中鍵”。這種有很多,舉都舉不完,要自己慢慢去發(fā)現(xiàn)。那個(gè)烈火戰(zhàn)車以前只是騎摩托能冒火,我就是用這種方法把它改成了任何交通工具都冒火。

11、有些CLEO刷出來的敵人太厲害了,想把他改得笨一點(diǎn),或者想把某些CLEO中刷的小弟或車改成無敵,怎么改?
由于人物和車輛的定義都是一大段,所以如果把某個(gè)句子單獨(dú)挑出來的話不好作說明,下面以一個(gè)具體的例子來說明,殺手補(bǔ)丁(千年山照相的小木屋里有殺手那個(gè))的cs程序全文及翻譯如下:
// 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--------------- 這一行以及它之前的部分是限定此文件編譯出來之后它的后綴名為.cs,這個(gè)不要改
thread 'KILLER' 這一行是定義名稱,下面每段都要以此名稱開頭,這一行不要也沒關(guān)系,名稱會(huì)默認(rèn)為NONAME

:KILLER_11 循環(huán)11
wait 0 等待0毫秒
00BF: 20@ = current_time_hours, 21@ = current_time_minutes 定義20@為當(dāng)前的小時(shí)數(shù)、21@為當(dāng)前的分鐘數(shù)
if or 如果(if or表示下列條件只要滿足一個(gè)就啟動(dòng)后續(xù)的方案)
20@ > 23 小時(shí)數(shù)大于23(也就是過了晚上11點(diǎn)鐘)
not 20@ >= 5 小時(shí)數(shù)不大于5(也就是早上5點(diǎn)鐘之前)
else_jump @KILLER_11 如果上述條件不滿足,就跳回開頭去(也就是不在這個(gè)時(shí)段就不會(huì)啟動(dòng)后續(xù)的方案)
if 如果
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -2815.76 -1523.98 140.84 radius 80.0 100.0 60.0 玩家接近 -2815.76 -1523.98 140.84 這個(gè)點(diǎn)的橫向80米內(nèi)、縱向100米內(nèi)、垂向60米內(nèi)的范圍(這個(gè)坐標(biāo)就是千年山那個(gè)小木屋)
else_jump @KILLER_11 如果上述條件不滿足,就跳回開頭去(也就是如果CJ沒有接近這個(gè)點(diǎn)就不會(huì)啟動(dòng)后續(xù)的方案)
Model.Load(#DWMOLC2) 加載DWMOLC2這個(gè)人物模型(這一句至關(guān)重要,如果沒有,調(diào)出此人物時(shí)會(huì)死機(jī))
Model.Load(#HEATSEEK) 加載跟蹤式火箭筒HEATSEEK的模型(這一句也重要,如果沒有,調(diào)出此武器時(shí)會(huì)死機(jī))
038B: load_requested_models 加載相應(yīng)的一切需要的模型(這個(gè)主要是開槍時(shí)的火花、人死時(shí)的尸體、血跡等)

:KILLER_107 循環(huán)107
if and 如果(if and表示下面條件全都要滿足,不然不會(huì)啟動(dòng)后續(xù)的方案)
Model.Available(#DWMOLC2) DWMOLC2這個(gè)人物模型可用
Model.Available(#HEATSEEK) 跟蹤式火箭筒HEATSEEK的模型可用
else_jump @KILLER_107 如果上述條件不滿足,就跳回到循環(huán)107(就是重新開始這一段)
04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 把從CJ偏移0.0 0.0 0.0的坐標(biāo)位置儲(chǔ)存為3@ 4@ 5@
0@ = Actor.Create(Gang1, #DWMOLC2, -2815.76, -1523.98, 140.84) 在-2815.76, -1523.98, 140.84這個(gè)點(diǎn)上創(chuàng)建一個(gè)人物DWMOLC2,并把他定義為0@,Gang1可能表示敵人吧(刷小弟的好像是Gang2,我沒記,刷敵人的CLEO我都是從刷敵人CLEO來改的,刷小弟的就是用刷小弟CLEO改的,這個(gè)Gang1從來沒動(dòng)過)
01B2: give_actor 0@ weapon 36 ammo 9999 // Load the weapon model before using this 給人物0@一把彈藥數(shù)9999的36號武器(36號武器就是跟蹤式火箭筒),兩個(gè)斜杠后面的內(nèi)容是作者的注釋,編譯時(shí)自動(dòng)忽略掉,只是方便自己看程序之用
081A: set_actor 0@ weapon_skill_to 0 把人物0@的武器技能設(shè)置為0(可能匪徒級別和殺手級別是1和2吧)
Actor.Angle(0@) = 90.0 人物0@的方位角是90度(90就是朝西)
Actor.Health(0@) = 6000 人物0@的生命值是6000(這一句可以用來改生命值)
Actor.Armour(0@) = 4000 人物0@的防彈衣是4000(這一句可以用來改防彈衣)
0446: set_actor 0@ immune_to_headshots 1 人物0@對爆頭免疫(數(shù)字1表示肯定,改成0就是否定,對爆頭不免疫)
04D8: set_actor 0@ drowns_in_water 1 人物0@下水不死(0和1分別表示淹死和不淹死)

:KILLER_237 循環(huán)237
wait 0 等待0毫秒
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR 讓人物0@追著CJ打
if 如果
84AD: not actor 0@ in_water 人物0@沒有落水
else_jump @KILLER_307 如果不滿足上述條件,就跳到循環(huán)307(循環(huán)307在下面)
if 如果
not Actor.Dead(0@) 人物0@沒有死
else_jump @KILLER_288 如果不滿足就跳到循環(huán)288(也在下面)
jump @KILLER_237 如果全都滿足了,跳到循環(huán)237,繼續(xù)

:KILLER_288 循環(huán)288
Actor.RemoveReferences(0@) 把人物0@拿走(也就是消失)
wait 60000 等待60000毫秒
jump @KILLER_11 跳轉(zhuǎn)到循環(huán)11

:KILLER_307 循環(huán)307
0A28: set_actor 0@ swimming_speed_to 2.3 人物0@游泳速度為2.3
07E1: AS_actor 0@ swim_to 3@ 4@ 5@ 讓人物0@朝著3@ 4@ 5@這一點(diǎn)游(這個(gè)點(diǎn)在前面定義過了,就是CJ當(dāng)前位置)
jump @KILLER_237 跳到循環(huán)237

凡是刷出人物的CLEO一般都會(huì)有這樣的句子:
Actor.Health(0@) = 6000
Actor.Armour(0@) = 4000
Health是生命值,Armour是防彈衣,最大值是1E38(這個(gè)表示1乘以10的38次方)
如果是車的話,會(huì)是這樣的語句:
Car.Health(0@) = 1500 只是把Actor變成了Car
把數(shù)字改得再大也只是說明人或車的血很多,從嚴(yán)格意義上來講并不是無敵,想無敵怎么辦?
在核污染畸形人(或叫巫師CLEO)的Samara.cs里面有這樣的語句:
Actor.SetImmunities(6@, 1, 1, 1, 0, 1)
Immunitites是免疫能力,Set是設(shè)置,Actor是人物,6@是人物的代號(肯定是人物在創(chuàng)建時(shí)被定義為6@),后面的五個(gè)數(shù)字表示防彈、防火、防爆、防撞、防砸,0表示否定,1表示肯定,所以 “1,1,1,0,1”就表示除了怕車撞,其它什么都不怕,有些網(wǎng)上對這個(gè)CLEO的說明就有這么一句:看到之后不要去打,最好開車撞,因?yàn)樗揪痛虿凰馈?br />防彈就是不怕槍、防火就是不怕燒、防爆就是不怕炸、防撞就是不怕車撞、防砸就是用肉搏類武器打不死。
想讓車無敵,僅僅把血弄得很多是不行的,血再多也只能保證永遠(yuǎn)不爆,但撞了會(huì)壞、變形。
造無敵車的語句和人無敵的格式一樣:
Car.SetImmunities(6@, 1, 1, 1, 1, 1)
如果想讓CLEO刷出的車無敵,就在有關(guān)車輛定義的段落里插上這一句。
車輛被創(chuàng)建后會(huì)有一大段限制語句緊挨著:
有些會(huì)設(shè)置方位角:
Car.Angle(0@) = 90.0(可以不要,系統(tǒng)將默認(rèn)朝北)
門鎖是開著的:
Car.DoorStatus(0@) = 0(可以不要,系統(tǒng)將默認(rèn)鎖門)

創(chuàng)建的車輛都會(huì)有這樣的句子
0@ = Car.Create(#DODO, 1@, 2@, 3@) 在某點(diǎn)創(chuàng)建一個(gè)車,定義為0@
想讓車無敵就在這一行下面粘上這一行:
Car.SetImmunities(0@, 1, 1, 1, 1, 1)
如果車不是創(chuàng)建的而是CJ所開的車,怎么弄成無敵呢?
CJ所開的車在前面也會(huì)有個(gè)定義,彈射CLEO里就有這樣的句子:
03C0: 1@ = actor $PLAYER_ACTOR car 把CJ所開的車定義為1@
車輛一鍵無敵CLEO就是這樣改出來的。

車輛、人物、物品的格式都是一樣的,車是Car,人物是Actor,物品是Object,創(chuàng)建物品是這樣:
0@ = Object.Create(1219, 1@, 2@, 3@) (這是搭天梯CLEO里的,1219是木板的ID代碼)

CLEO常用語句集錦(這些語句都可以改,包含數(shù)值的改了數(shù)值就成新的CLEO了,包含車名的可以改車名,包含人物的改人名,包含物品ID的就改ID)
這些全都不用記,只要會(huì)復(fù)制粘貼就行。
首先,每個(gè)CLEO都有一個(gè)啟動(dòng)條件,格式是這樣:
if
Player.Defined($PLAYER_CHAR)
else_jump @ARMRHINO_12

如果CJ被定義了(游戲開始了)就繼續(xù)下面的程序,要不然就跳到循環(huán)12(12肯定是開頭那個(gè)數(shù)字)
這個(gè)啟動(dòng)條件是說如果游戲開始了就怎么怎么樣,要不然就跳轉(zhuǎn)回去,這個(gè)完全是廢話,有些CLEO里就沒有這個(gè)。下面這些句子都可以用作CLEO的啟動(dòng)條件(如果……就如何如何),格式就是上面所說的那種if語句,替換playerdefine那一行:

Player.Controllable($PLAYER_CHAR) CJ可操控(沒落水,沒穿火箭飛行器,也不是下降狀態(tài))
0965: actor $PLAYER_ACTOR swimming CJ在游泳
0449: actor $PLAYER_ACTOR in_a_car CJ處于駕駛狀態(tài)
04A9: actor $PLAYER_ACTOR driving_heli CJ開直升機(jī)
04C8: actor $PLAYER_ACTOR driving_flying_vehicle CJ開雙翼飛機(jī)
047A: actor $PLAYER_ACTOR driving_bike CJ開摩托車、自行車
04A7: actor $PLAYER_ACTOR driving_boat CJ開船
09AE: actor $PLAYER_ACTOR driving_train CJ開火車
Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA) CJ開的是hydra(這樣的只要把車名一改就變成在別的車上啟動(dòng)了)
Actor.Driving($PLAYER_ACTOR) CJ處于駕駛狀態(tài)
Actor.DrivingPlane($PLAYER_ACTOR) CJ開雙翼飛機(jī)
0AB0: key_pressed 36 按下Home鍵(把數(shù)字一改就改成按別的鍵啟動(dòng)了)
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2494.794 -1675.745 13.3359 radius 100.0 50.0 25.0 CJ接近2494.794,-1675.745,13.3359這個(gè)坐標(biāo)位置橫向100米、縱向50米、垂向25米的范圍內(nèi)
00EC: actor $PLAYER_ACTOR 0 near_point 1477.351 1746.59 radius 150.0 150.0 這個(gè)是二維的,意思和上面的一樣,只是不限Z坐標(biāo)
Actor.Dead(1@) 人物1@死了
Model.Available(#MINIGUN) 武器模型MINIGUN可用
Model.Available(#TAXI) 車輛模型TAXI可用
Model.Available(#ARMY) 人物模型ARMY可用
Model.Available(1219) 物品模型1219可用
8965: not actor $PLAYER_ACTOR swimming CJ沒有游泳
8449: not actor $PLAYER_ACTOR in_a_car CJ沒開車
84A9: not actor $PLAYER_ACTOR driving_heli CJ沒開直升機(jī)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle CJ沒開雙翼飛機(jī)
847A: not actor $PLAYER_ACTOR driving_bike CJ沒開摩托車、自行車
84A7: not actor $PLAYER_ACTOR driving_boat CJ沒開船
89AE: not actor $PLAYER_ACTOR driving_train CJ沒開火車
not Actor.DrivingVehicleType($PLAYER_ACTOR, #HYDRA) CJ開的不是hydra(這樣的只要把車名一改就變成在別的車上啟動(dòng)了)
not Actor.Driving($PLAYER_ACTOR) CJ沒開車
not Actor.DrivingPlane($PLAYER_ACTOR) CJ沒開雙翼飛機(jī)
8AB0: not key_pressed 36 沒按Home鍵
not Actor.Dead(1@) 人物1@沒死
Player.WantedLevel($PLAYER_CHAR) > 5 警星數(shù)大于5

當(dāng)有兩句或兩句以上并列的條件時(shí),若需要全部條件都滿足(如果……并且……并且……),就要用if and 語句,若只需滿足其中的一個(gè)條件(如果……或……或……),要用if or 語句。

上面全都是很顯著的條件類語句,有時(shí)候條件類和結(jié)果類的沒有明顯界限,比如警星數(shù)的設(shè)置就既可以作條件(如果警星達(dá)到6就如何如何),又可以作為結(jié)果(如果怎么怎么樣就把警星調(diào)整為6),下面就直接列出句子:

Model.Load(#WMYBMX) 加載人物WMYBMX的模型(data\ped.ide里有各種人物的名稱,下面每行第二項(xiàng),或者用NPC查看器)
Model.Load(#M4) 加載武器M4的模型(data\weapon.dat里有各種武器的名稱,武器欄每行第一項(xiàng))
Model.Load(#TAXI) 加載車輛TAXI的模型(這個(gè)很容易對應(yīng)起來,凡是用過刷車工具的應(yīng)該很熟悉吧)
Model.Load(1219) 加載物品1219的模型(1219對應(yīng)的是木板,ID和物品的形狀可以用超級刷物CLEO來找,地圖編輯器也可以)
038B: load_requested_models 加載一切需要的模型(不包括上面幾種模型,主要指開槍時(shí)的火焰及煙霧、尸體、血跡等)
Player.WantedLevel($PLAYER_CHAR) = 1 警星數(shù)是1(數(shù)字為0~6這七個(gè)整數(shù))
0407: store_coords_to 9@ 10@ 11@ from_car 0@ with_offset -4.8 50.0 -1.0 把從車輛0@偏移-4.8 50.0 -1.0的位置坐標(biāo)值儲(chǔ)存為9@ 10@ 11@(X正表示左、負(fù)表示右,Y正表示前、負(fù)表示后,Z正表示上、負(fù)表示下)
set_weather 9 把天氣設(shè)置為9(9是一個(gè)天氣代碼,哪個(gè)數(shù)字對應(yīng)哪種天氣我沒注意,在天氣控制器的cs文件打開會(huì)看到)
04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 把從CJ偏移0.0 0.0 0.0的位置坐標(biāo)值儲(chǔ)存為7@ 8@ 9@(X正表示左、負(fù)表示右,Y正表示前、負(fù)表示后,Z正表示上、負(fù)表示下)
02CE: 12@ = ground_z_at 17@ 18@ 19@ 把17@ 18@ 19@這個(gè)點(diǎn)在地上的投影點(diǎn)的高度儲(chǔ)存為12@
0AB6: store_target_marker_coords_to 0@ 1@ 2@ 把地圖標(biāo)記處的地面坐標(biāo)值儲(chǔ)存為0@ 1@ 2@
Actor.StorePos($PLAYER_ACTOR, 20@, 21@, 22@) 把CJ當(dāng)前坐標(biāo)位置儲(chǔ)存為20@, 21@, 22@
1@ = Actor.Create(Gang1, #WMYBMX, 1477.351, 1746.59, 10.8125) 在1477.351, 1746.59, 10.8125坐標(biāo)點(diǎn)上創(chuàng)建WMYBMX這個(gè)人物,定義為1@
2@ = Object.Create(11111, 21@, 22@, 23@) 在21@, 22@, 23@這一點(diǎn)創(chuàng)建物品11111,定義為2@
5@ = Car.Create(#HYDRA, 1@, 2@, 3@) 在1@, 2@, 3@這一點(diǎn)上創(chuàng)建車輛hydra,定義為5@
Actor.Health(1@) = 1000 人物1@生命值是1000(數(shù)字隨便改,最大值為1E38)
Car.Health(1@) = 1500 車輛1@生命值是1500(注釋同上)
Actor.SetImmunities(9@, 1, 1, 1, 1, 1) 人物9@全防無敵(5個(gè)1分別表示防彈、防火、防爆、防撞、防砸,改成0就不防了)
Car.SetImmunities(9@, 1, 1, 1, 1, 1) 車輛9@全防無敵(注釋同上)
0446: set_actor 3@ immune_to_headshots 1 人物3@對爆頭免疫(改成0就可以爆頭)
02E0: actor 1@ aggressive 人物1@具有攻擊性
01B2: give_actor 1@ weapon 38 ammo 9999 給人物1@一把彈藥數(shù)為9999的38號武器(38是轉(zhuǎn)輪機(jī)槍)
wait 800 等待800毫秒(數(shù)字隨便改,可以用來控制各個(gè)步驟的節(jié)奏)
0850: AS_actor 0@ follow_actor $PLAYER_ACTOR 人物0@跟著CJ走($PLAYER_ACTOR指的就是CJ)
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR 人物1@攻擊CJ
05E2: AS_actor 0@ kill_actor 4@ 人物0@攻擊人物4@
Actor.RemoveReferences(0@) 把人物0@模型拿掉
Car.RemoveReferences(0@) 把人物0@模型拿掉
Object.RemoveReferences(0@) 把物品0@模型拿掉
4@ = Actor.Angle($PLAYER_ACTOR) 把CJ的方位角儲(chǔ)存為4@
Car.Angle(2@) = 0.0 車輛2@的方位角為0.0(也可以使用像4@這樣的變化值,@變量最多可以設(shè)定到33@)
Actor.Angle(2@) = 0.0 人物2@的方位角為0.0(注釋同上)
Object.Angle(2@) = 0.0 物品2@的方位角為0.0(注釋同上)
0453: set_object 6@ XY_rotation 80.0 0.0 angle 0.0 物品6@對X、Y軸轉(zhuǎn)角分別為80.0、0.0,方位角為0.0
08D2: object 2@ scale_model 1.5 把物品2@的尺寸變成1.5倍
Car.PutAt(20@, 1@, 2@, 3@) 把車輛20@瞬移到1@, 2@, 3@這一點(diǎn)(也可以使用具體的數(shù)字)
Actor.PutAt(2@, 1@, 2@, 3@) 把人物2@瞬移到1@, 2@, 3@這一點(diǎn)(也可以使用具體的數(shù)字)
Object.PutAt(6@, 528.4479, -1752.545, 14.4) 把物品6@瞬移到528.4479, -1752.545, 14.4這一點(diǎn)(也可以使用變量)
1@ = Player.Money($PLAYER_CHAR) 把CJ的金錢數(shù)儲(chǔ)存為1@
18@ += 3.0 把18@加上3.0之后的數(shù)值重新儲(chǔ)存為18@(18@必須是一個(gè)代表數(shù)字的變量,比如生命、護(hù)甲、金錢、等,不能是車、人、物這些)
18@ -= 3.0 把18@減去3.0之后的數(shù)值重新儲(chǔ)存為18@ (注釋同上)
020C: create_explosion_with_radius 7 at 15@ 16@ 17@ 在15@ 16@ 17@這個(gè)點(diǎn)上創(chuàng)建一個(gè)半徑為7的爆炸(半徑越大威力及火光越小,要適中)
03BC: 3@ = create_sphere_at 298.145 -32.269 1001.515 radius 2.0 在298.145 -32.269 1001.515這一點(diǎn)創(chuàng)建一個(gè)紅圈,半徑為2.0,紅圈定義為3@
0A40: 1@ = create_entrance_marker_at 528.4741 -1760.358 14.9769 color 3 在528.4741 -1760.358 14.9769這一點(diǎn)上創(chuàng)建一個(gè)進(jìn)門的箭頭,顏色為3,箭頭定義為1@(不清楚顏色和數(shù)字的對應(yīng)關(guān)系是什么)
09C7: change_player $PLAYER_CHAR model_to #WMYRO 把CJ變成WMYRO這個(gè)人物模型
0A41: destroy_entrance_marker 1@ 把進(jìn)門的箭頭1@拿掉
03FE: set_actor 6@ money 10000 把人物6@的金錢數(shù)設(shè)置為10000
0681: attach_object 2@ to_car 6@ with_offset -1.0 4.0 2.0 rotation 0.0 0.0 90.0 把物品2@粘在車輛6@上,相對車的位置為-1.0 4.0 2.0,相對于三個(gè)坐標(biāo)軸的轉(zhuǎn)角分別為0.0 0.0 90.0(這個(gè)也可以把物品粘到物品上、車粘到車上,格式一樣,object、car分別代表物、車)
01B9: set_actor 7@ armed_weapon_to 35 讓人物7@手上拿著35號武器
0337: set_actor 7@ visibility 0 人物7@不可見(1為可見)
0337: set_car 7@ visibility 0 車輛7@不可見(1為可見)
06D5: 29@ = create_racing_checkpoint_at 17@ 18@ 19@ point_to 17@ 18@ 19@ type 2 radius 6.0 在17@ 18@ 19@這個(gè)點(diǎn)上創(chuàng)建一個(gè)汽車錦標(biāo)賽的高高的紅色光柱,半徑為6,形態(tài)為2,光柱定義為29@
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 CJ打電話
0729: AS_actor $PLAYER_ACTOR hold_cellphone 0 CJ掛電話
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 3@ 4@ 5@ 把CJ從車?yán)锞境鰜矸诺?@ 4@ 5@這一點(diǎn)
072A: put_actor $PLAYER_ACTOR into_car 6@ driverseat 把CJ塞進(jìn)車輛6@的駕駛座
0129: 10@ = create_actor_pedtype 38 model #ARMY in_car 4@ driverseat 在車輛4@的駕駛座上創(chuàng)建一個(gè)人物army,定義為10@
01C8: 11@ = create_actor_pedtype 38 model #ARMY in_car 4@ passenger_seat 0 在車輛4@的副駕駛座創(chuàng)建一個(gè)人物army,定義為11@
01C8: 12@ = create_actor_pedtype 38 model #ARMY in_car 4@ passenger_seat 1 在車輛4@的左后座上創(chuàng)建一個(gè)人物army,定義為12@
01C8: 13@ = create_actor_pedtype 38 model #ARMY in_car 4@ passenger_seat 2 在車輛4@的右后座上創(chuàng)建一個(gè)人物army,定義為13@
05CD: AS_actor 11@ exit_car 4@ 讓人物11@從車輛4@里下來
01C1: car 0@ stopped 車輛0@停下
Car.LockInCurrentPosition(0@) = True 車輛0@不能動(dòng)(True改成False就可以動(dòng)了)
Car.SetSpeedInstantly(5@, 30.0) 設(shè)定車輛5@的速度為30.0
Actor.LockInCurrentPosition($PLAYER_ACTOR) = False CJ可以動(dòng)(False改成True就不能動(dòng)了)
00C0: set_current_time_hours_to 3 minutes_to 0 把時(shí)間設(shè)置為3點(diǎn)0分
00BF: 29@ = current_time_hours, 30@ = current_time_minutes 把當(dāng)前小時(shí)數(shù)儲(chǔ)存為29@,分鐘數(shù)儲(chǔ)存為30@
0788: enable_heli 0@ magnet 1 直升機(jī)0@的電磁鐵放出來
0788: enable_heli 0@ magnet 0 直升機(jī)0@的電磁換扔掉
0724: heli 1@ follow_and_attack_player $PLAYER_ACTOR radius 80.0 直升機(jī)1@追著CJ炸,跟蹤半徑為80米
07A7: put_jetpack_on_actor $PLAYER_ACTOR CJ得到火箭飛行器
0464: put_actor 3@ into_turret_on_car 1@ at_car_offset 0.0 0.0 1.6 position 1 shooting_angle_limit 360.0 with_weapon 31 把人物3@放到車輛1@上,相對于車偏移0.0 0.0 1.6,用31號武器向360度范圍內(nèi)射擊
03C0: 1@ = actor $PLAYER_ACTOR car 把CJ當(dāng)前開的車定義為1@
015D: set_gamespeed 0.3 把游戲速度調(diào)整為0.3倍
Car.ToggleHydraulics(9@) = True 把車輛9@加上液壓(True改成False就是去掉液壓)
09E9: car 9@ add_single_nitro 給車輛9@加上液氮加速器
0A30: repair_car 9@ 把車輛9@修好
0503: create_actor_on_rope_with_pedtype 27 model 285 at 21@ 22@ 23@ handle_as 11@ 在21@ 22@ 23@這一點(diǎn)上創(chuàng)建一個(gè)285號人物(285是特警)爬繩子下來,定義為11@
Player.Money($PLAYER_CHAR) += 10000000 把CJ的金錢數(shù)增加一千萬
02E3: 1@ = car 0@ speed 把車輛0@的速度定義為1@

這些語句可以在CLEO之間來回移植,就像搭積木一樣,沒有固定套路,修改CLEO最好是找一個(gè)現(xiàn)有的模板,在里面改、復(fù)制粘貼,有很多CLEO都很相似,就是這個(gè)原因。這些命令是用來在原有的CLEO基礎(chǔ)上改裝的,在實(shí)際操作中所遇到的情景遠(yuǎn)不止上面列出的11種情況,但思路都是一樣的:想做什么CLEO,就先去找一個(gè)最接近的CLEO作為模板來修改。
這些語句如果你想作為條件來使用,就放到 if (有時(shí)候是if or,有時(shí)候是if and)的后面,或者干脆把原先的條件替換掉。
如果是關(guān)于人物的句子,就放到創(chuàng)建人物的后面,給人物加上此屬性。
如果是關(guān)于車輛的句子,就放到創(chuàng)建車輛的后面,給車輛加上此屬性。
cs文件如果從頭看到尾的話,可以看出它就是一個(gè)故事,事件全都是按照那些命令出現(xiàn)的先后順序來發(fā)生。只有出現(xiàn)if語句的時(shí)候要注意了,if是“如果”,else是“要不然”(jf 和else的意思一樣)
有if語句就會(huì)出現(xiàn)一個(gè)分支:如果……就繼續(xù),如果不滿足就就跳轉(zhuǎn)到循環(huán)××(再去看看循環(huán)××是什么內(nèi)容就知道要發(fā)生什么了)。每一段后面都有個(gè)jump,jump就是定義下一步跳轉(zhuǎn)到哪一段,段落結(jié)尾要是沒有jump,那就默認(rèn)為跳到下一段。


常見的模板
1、如果……就……、如果……就……、如果……就……(省略號的內(nèi)容可以是按鍵或開車、警星數(shù)、時(shí)間、接近某地等)。
超時(shí)空轉(zhuǎn)換就是這個(gè)模式:如果走到×點(diǎn),就傳送到×點(diǎn);如果走到×點(diǎn),就傳送到×點(diǎn);如果走到×點(diǎn),就傳送到×點(diǎn)………………

注意:要是循環(huán)的個(gè)數(shù)非常多就用這一個(gè)模板:定點(diǎn)傳送、刷任意車輛(刷任意車輛就是用定點(diǎn)傳送改的,只不過把傳送的語句改成了刷車的語句)。循環(huán)太多的話用上面那個(gè)模板會(huì)有一個(gè)很長的反應(yīng)時(shí)間。

2、刷個(gè)能幫自己打架的人。
刷幫派小弟、影子小弟、召喚戰(zhàn)士、召喚骷髏,都可以拿來利用。

3、叫幫手開著車過來。
呼叫小弟、呼叫警察小弟、呼叫軍人小弟,都是這種模式。

4、到某個(gè)地方后會(huì)有幾個(gè)很厲害的人來追打CJ。
海盜船長、骷髏士兵、殺手補(bǔ)丁全是這種模式的,都可以利用。

5、到某個(gè)地方會(huì)看到有個(gè)NPC打另外一個(gè)NPC,多個(gè)打一個(gè)。
水怪就是。

6、到某個(gè)地方會(huì)看到有兩幫NPC發(fā)生對壘,都是一對一地打。
黑社會(huì)任務(wù)CLEO可以拿來作模板。

7、開某車時(shí)想按某個(gè)鍵讓車發(fā)子彈或開炮。
武裝噴水車可以借鑒,斗牛車也一樣,這種對武器模型沒有要求,哪怕弄個(gè)照相機(jī)在車?yán)镆残,最重要的是定義哪種武器開火。

8、想在車上安一個(gè)東西。
斗牛車、大公雞、飛碟、萬噸巨輪全是這種套路。如果這個(gè)物品較大,而且把車隱藏掉的話,“在車上安一個(gè)東西”就變成了“利用××車把××物品給開走”,地圖最北邊那個(gè)最大的公雞就是這樣開走的,還有那個(gè)峴港偷渡船也是這樣開走的,凡是在游戲里見過的東西,就沒有開不走的。

9、開車時(shí)想讓車上站些人拿著槍保護(hù)CJ。
裝甲車射擊手、特警掩護(hù)、空軍掩護(hù)、鐵道游擊隊(duì)、海岸警衛(wèi)隊(duì)全都是這種模式。

10、想讓旁邊出現(xiàn)一些車輛跟著,而且上面站著人保護(hù)CJ。
汽車護(hù)衛(wèi)、直升機(jī)護(hù)衛(wèi)、悍馬突擊組、鋼鐵洪流都是這樣的。

11、想在車上安一個(gè)東西,按某鍵就移動(dòng)到車的另一個(gè)位置。
可以參考汽車尾翼升降,我做那個(gè)在車上安個(gè)大導(dǎo)彈按I豎起來、按K放下去的CLEO,就是改的尾翼升降CLEO。

改裝CLEO沒有固定的思維,方法就像搭積木,你的想像力有多豐富,你改出來的CLEO就有多精彩!
上面說的全是根據(jù)現(xiàn)有的CLEO依次類推的方法,要想無中生有、新造出一個(gè)來,很難很難,是個(gè)專門的學(xué)科,計(jì)算機(jī)專業(yè)的定會(huì)覺得易如反掌吧。
很多語句都能在CLEO之間來回移植,這就需要慢慢摸索了,改的時(shí)候大致框架不變,還是在原有的cs文件里面做。蘑菇云CLEO(已添加到原版的核彈CLEO里,合二為一)就是把其它CLEO里的爆炸場面移植出來做的,在多處同時(shí)創(chuàng)建爆炸,它們的圖案拼起來組成了一個(gè)蘑菇云。
這樣的修改是隨意發(fā)揮想像,各人玩法都不同,有個(gè)人就用“叫外賣”CLEO改出來了一個(gè)“按C+F叫一輛BULLET”,這有無數(shù)種玩法,隨心所欲。如果有一定英語基礎(chǔ),多用Sanny Builder打開各種CLEO來對照著此CLEO的中文說明書看看,就能看得懂里面絕大部分語句,看得懂改起來就好改了。

補(bǔ)丁截圖
下載地址

圣安地列斯cleo編輯器(Sanny Builder) v3.04漢化版

相關(guān)合集
玩家評論
我要點(diǎn)評

網(wǎng)名 注:您的評論需要經(jīng)過審核才會(huì)顯示出來。

已有 0 位玩家參與點(diǎn)評