You are not logged in.
Pages: 1
Вот интересный клео скрипт, который учит педов плавать. Многие, наверное, его знают)) Ну так вот, скрипт супер, но после его установки у CJ появляется бесконечный кислород.. У всех такое?)) Как это пофиксить, чтобы CJ вёл себя под водой как раньше?)
{$CLEO} // {$E}
{ ----------------------------------
| -=PED SWIM FIX CLEO SCRIPT=- |
| (C) Alexander Blade 2008 |
| www.Alexander.SannyBuilder.com |
| - - - - - - - - - - - - - - - |
| Script is using cutted version |
| of Interceptor , original made |
| by PLPynton & Seemann |
---------------------------------- }
Thread "PED_SWIM_FIX"
Gosub @SETUP_SWIM_HOOK
While True
wait 0
if $ONMISSION == 1
then
Continue
end
Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
3@ = 50.0
gosub @AIC_GETACTOR
if 9@ == -1 // if all actors are n/a
then // then goto begin
Continue
end
if or
Actor.Driving(9@)
84AD: not actor 9@ in_water
then
Continue
end
Actor.StorePos(9@, 0@, 1@, 2@)
02C0: store_to 0@ 1@ 2@ ped_path_coords_closest_to 3@ 4@ 5@
//02C1: store_to 0@ 1@ 2@ car_path_coords_closest_to 3@ 4@ 5@
0819: 6@ = actor 9@ distance_from_ground
0092: 6@ = float 6@ to_integer
if 6@ > 0
then
07E1: actor 9@ swim_to 0@ 1@ 2@
else
05DC: actor 9@ run_away_from_point 3@ 4@ 5@ stop_at_radius 10.0 timelimit 5000
end
end // While
:SETUP_SWIM_HOOK // it's the main thing of all this code :)
0A8C: write_memory 0x5E82F7 size 1 value 0 virtual_protect 1
return
:AIC_GETACTOR
0006: 16@ = 305868
0006: 20@ = 1988
:AIC_STARTSEARCH
0085: 4@ = 16@ // (int)
008B: 4@ = &0(4@,1i) // (int)
0085: 19@ = 4@ // (int)
000E: 19@ -= 10787160
0016: 19@ /= 4
008B: 19@ = &0(19@,1i) // (int)
000E: 4@ -= 10787168
0016: 4@ /= 4
008B: 4@ = &0(4@,1i) // (int)
0006: 9@ = -1
0085: 11@ = 4@ // (int)
0006: 10@ = 0
:AIC_SEARCHLOOPMAIN
000A: 4@ += 20
0050: gosub @AIC_READ4B
0085: 4@ = 5@ // (int)
8039: not 4@ == 0
004D: jf @AIC_SEARCHLOOPNEXT
000A: 4@ += 48
0050: gosub @AIC_READ4B
0085: 12@ = 5@ // (int)
000A: 4@ += 4
0050: gosub @AIC_READ4B
0085: 13@ = 5@ // (int)
000A: 4@ += 4
0050: gosub @AIC_READ4B
0085: 14@ = 5@ // (int)
050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@
0025: 3@ > 15@ // (float)
004D: jf @AIC_SEARCHLOOPNEXT
0085: 9@ = 10@ // (int)
0085: 4@ = 16@ // (int)
008B: 4@ = &0(4@,1i) //
000A: 4@ += 4 //
0050: gosub @AIC_READ4B
0085: 4@ = 5@ // (int)
005A: 4@ += 9@ // (int)
0050: gosub @AIC_READ1B
0012: 9@ *= 256
005A: 9@ += 5@ // (int)
:AIC_TESTACTORHANDLE
056D: actor 9@ defined
004D: jf @AIC_NOHANDLE
00D6: if or
003C: $PLAYER_ACTOR == 9@ // (int)
0118: actor 9@ dead
004D: jf @AIC_NEWSEARCHRADIUS
:AIC_NOHANDLE
0006: 9@ = -1
jump @AIC_SEARCHLOOPNEXT
:AIC_NEWSEARCHRADIUS
0085: 3@ = 15@ // (int)
:AIC_SEARCHLOOPNEXT
005A: 11@ += 20@ // (int)
0085: 4@ = 11@ // (int)
000A: 10@ += 1
002D: 10@ >= 19@ // (int)
004D: jf @AIC_SEARCHLOOPMAIN
return
:AIC_READ1B
0A8D: 5@ = read_memory 4@ size 1 virtual_protect 0
return
:AIC_READ4B
0A8D: 5@ = read_memory 4@ size 4 virtual_protect 0
return
Offline
В скрипте никакого бага нет. Воздух у СиДжея кончается. Проверяй свои другие скрипты, может возникает какой-нибудь конфликт адресов. Или может быть ты просто включил трейнер, а там бесконечный воздух стоит по умолчанию. Так что проблема кроется вне этого скрипта.
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
Нашёл, скрипт нормально работает в начале игры до первого сохранения. После - шкала с кислородом замораживается. Я на чистой игре пробовал 
Offline
Pages: 1