#1 18-07-2009 16:17

DrugsFan
Registered: 17-07-2009
Posts: 8

Ped swim fix

Вот интересный клео скрипт, который учит педов плавать. Многие, наверное, его знают)) Ну так вот, скрипт супер, но после его установки у 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

#2 18-07-2009 17:25

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

Re: Ped swim fix

В скрипте никакого бага нет. Воздух у СиДжея кончается. Проверяй свои другие скрипты, может возникает какой-нибудь конфликт адресов. Или может быть ты просто включил трейнер, а там бесконечный воздух стоит по умолчанию. Так что проблема кроется вне этого скрипта.


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#3 18-07-2009 18:17

DrugsFan
Registered: 17-07-2009
Posts: 8

Re: Ped swim fix

Нашёл, скрипт нормально работает в начале игры до первого сохранения. После - шкала с кислородом замораживается. Я на чистой игре пробовал smile

Offline

Board footer

Powered by FluxBB