#1 11-04-2010 18:13

~AquaZ~
Registered: 01-03-2010
Posts: 726

Пул автомобилей

Как его перерыть? Sanchez ответил, спасибо, но я не совсем понял, где обращаться к авто. Мне нужно перерыть все авто, и если это ментовская тачка, то сделать некоторые действия.

Offline

#2 11-04-2010 20:31

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Пул автомобилей

@~AquaZ~ -

{$CLEO}
0000:
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
        0A8D: 0@ = read_memory 0xB74494 size 4 virtual_protect 0
        0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
        0@ += 8
        0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0
        2@ -= 1
        for 3@ = 0 to 2@
            0085: 4@ = 3@ // (int) 
            4@ *= 0xA18
            005A: 4@ += 1@ // (int) 
            ///
            0085: 5@ = 4@ // (int) 
            5@ += 0x22
            0A8D: 6@ = read_memory 4@ size 2 virtual_protect 0
            if
                6@ > 0
            then
                0AA8: call_function_method 0x6D2370 struct 4@ num_params 0 pop 0 7@
                if
                    7@ == 1
                then
                    0AEB: 8@ = car_struct 4@ handle
                    ///
                    Car.Health(8@) = 249;
                end
            end
        end    
    end
end

Функция:

0AA8: call_function_method 0x6D2370 struct 4@ num_params 0 pop 0 7@

проверяет что тачка ментовская. В 4@ - начало структуры автомобиля текущего элемента пула, в 8@ - Handle. Дальше делаешь что хочешь.

Адреса для версии 1.0

Offline

#3 11-04-2010 20:34

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Фигасе! Спасибо!
Адреса 1-ой версии подходят к облегчённой?
___
Билдер ругается - неизвестный опкод 0AEB!

Last edited by ~AquaZ~ (11-04-2010 20:37)

Offline

#4 11-04-2010 20:44

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Пул автомобилей

это опкод клео 4

Offline

#5 11-04-2010 20:52

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Пул автомобилей

@~AquaZ~ -

Адреса 1-ой версии подходят к облегчённой?

Да.
___
Кстати в опкоде:

056C:   actor $PLAYER_ACTOR driving_police_car

#PREDATOR не считается ментовсой тачкой.

Offline

#6 11-04-2010 21:03

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Чо за тачка #PREDATOR?

Last edited by ~AquaZ~ (11-04-2010 21:05)

Offline

#7 11-04-2010 21:11

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Пул автомобилей

@~AquaZ~ - Полицейский катер.
_http://gta.ag.ru/sa/vehicles/boats/

Offline

#8 11-04-2010 21:30

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Почему этот код вылетает?

{$CLEO}
thread 'NormCops'
:NormCops
wait 1000
if and
  Player.Defined($PLAYER_CHAR)
  010F: player $PLAYER_CHAR wanted_level > 0
Jf @NormCops

0A8D: 0@ = read_memory 0xB74494 size 4 virtual_protect 0
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
0@ += 8
0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0
2@ -= 1
for 3@ = 0 to 2@
  0085: 4@ = 3@ // (int) 
  4@ *= 0xA18
  005A: 4@ += 1@ // (int) 
  ///
  0085: 5@ = 4@ // (int) 
  5@ += 0x22
  0A8D: 6@ = read_memory 4@ size 2 virtual_protect 0
  if
    6@ > 0
  then
    0AA8: call_function_method 0x6D2370 struct 4@ num_params 0 pop 0 7@
    if
      7@ == 1
    then
      0AEB: 8@ = car_struct 4@ handle
      020B: explode_car 8@
    end
  end
end   

wait 2500
jump @NormCops

Offline

#9 12-04-2010 18:53

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Вы чо тут все подохли что ли? Ни одного поста за сегодня!

Offline

#10 12-04-2010 21:51

Alien
Registered: 12-10-2008
Posts: 564

Re: Пул автомобилей

В CLEO 4 можно перерыть пулы с 0AE1...0AE3. Нужна версия CLEO 4.0.1.30 или выше (сегодня обновил).

{$CLEO}
0000:
while true
    wait 0
    if
        0AE2: 0@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 0 pass_wrecked 1 //IF and SET
    then
        repeat
            020B: explode_car 0@
        until  8AE2: not 0@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 1 pass_wrecked 1 //IF and SET    
    end
    if
        0AE1: 0@ = random_actor_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 0 pass_deads 1 //IF and SET
    then
        repeat
            0321: kill_actor 0@ 
        until  8AE1: not 0@ = random_actor_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 1 pass_deads 1 //IF and SET
    end
    if
        0AE3: 0@ = random_object_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 0 //IF and SET
    then
        repeat
            05A1: set_object 0@ rotation_velocity_about_an_axis 0.0 0.0 0.1 through_center_of_body 
        until  8AE3: not 0@ = random_object_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 1 //IF and SET
    end
        
end

Код устраивает хаос - тачки взрываются, у людей отшибает головы, динамические объекты вращаются...

Offline

#11 13-04-2010 05:23

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Ничёсе! У меня код

if
  0AE2: 0@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 0 pass_wrecked 1
then
  repeat
    020B: explode_car 0@
  until  8AE2: not 0@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 1 pass_wrecked 1 //IF and SET    
end

на 4.0.1.25 ничего не делает...
___
Нет, что-то делает. Взрывов не видно, и авто тоже. Вот только проблемка: копов это, как всегда, не касается. А мне надо, чтоб касалось (только) копов.

Last edited by ~AquaZ~ (13-04-2010 05:32)

Offline

#12 13-04-2010 06:17

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Пул автомобилей

@~AquaZ~ -

{$CLEO}
0000:
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
            0AE2: 0@ = random_vehicle_near_point 0 0 0 in_radius 100000.0 find_next 0 pass_wrecked 1 //IF and SET
        then
            repeat
                0A97: 1@ = car 0@ struct
                0AA8: call_function_method 0x6D2370 struct 1@ num_params 0 pop 0 1@
                if
                    1@ == 1
                then
                    020B: explode_car 0@ // versionA
                    Player.Money($PLAYER_CHAR) += 1 
                end
            until  8AE2: not 0@ = random_vehicle_near_point 0 0 0 in_radius 100000.0 find_next 1 pass_wrecked 1 //IF and SET   
        end
    end
end

Offline

#13 13-04-2010 20:45

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Спасибо!

Offline

#14 14-04-2010 04:04

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Копы не взрываются, деньги не капают.

{$CLEO}
thread 'NormCops'

:NormCops
wait 500
if and
  Player.Defined($PLAYER_CHAR)
  010F: player $PLAYER_CHAR wanted_level > 0
Jf @NormCops

if
  0AE2: 0@ = random_vehicle_near_point 0 0 0 in_radius 100000.0 find_next 0 pass_wrecked 1 //IF and SET
then
  repeat
    0A97: 1@ = car 0@ struct
    0AA8: call_function_method 0x6D2370 struct 1@ num_params 0 pop 0 1@
    if
      1@ == 1
    then
      wait 1000
      020B: explode_car 0@
      Player.Money($PLAYER_CHAR) += 1 
    end
  until  8AE2: not 0@ = random_vehicle_near_point 0 0 0 in_radius 100000.0 find_next 1 pass_wrecked 1 //IF and SET   
end
wait 10000

jump @NormCops

Предыдущий код, взрывающий всех, оставлял копские тачки, этот, соответственно, тоже.

Offline

#15 14-04-2010 20:17

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Мне кажется есть типа отдельный пул копов - он-то мне и нужен...

Offline

#16 14-04-2010 20:37

listener
From: Vice City
Registered: 09-11-2006
Posts: 616
Website

Re: Пул автомобилей

Нету такого пула. Список пулов выкладывался несколько раз.

Offline

#17 14-04-2010 20:48

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Где? Где тогда найти коповозы?

Offline

#18 15-04-2010 08:39

Alien
Registered: 12-10-2008
Posts: 564

Re: Пул автомобилей

код без проблем ищет копские тачки.
Скрин:
dfa54dc1dd02t.jpg

Last edited by Alien (15-04-2010 08:41)

Offline

#19 15-04-2010 13:12

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Пул автомобилей

Какой я тупой! Поставил новый клео - работает! Вот только этот код вылетает время от времени...

{$CLEO}
thread 'NormCops'

:NormCops
wait 500
if and
  Player.Defined($PLAYER_CHAR)
  010F: player $PLAYER_CHAR wanted_level > 0
Jf @NormCops

if
  0AE2: 0@ = random_vehicle_near_point 0 0 0 in_radius 100000.0 find_next 0 pass_wrecked 1
then
  repeat
    if or
      0137: car 0@ model == #COPCARLA
      0137: car 0@ model == #COPCARRU
      0137: car 0@ model == #COPCARSF
      0137: car 0@ model == #COPCARVG
      0137: car 0@ model == #FBIRANCH
      0137: car 0@ model == #FBITRUCK
    then
      Car.SetDriverBehaviour(0@, DriveToPlayer)
      2@ = 0
      while true
        if
          8431: not car 0@ passenger_seat_free 2@
        then
          Break
        end
        0432: 1@ = get_actor_handle_from_car 0@ passenger_seat 2@
        0713: actor 1@ driveby_actor $PLAYER_ACTOR car -1 point 0 0 0 radius 360.0 4 1 firing_rate 100
        2@ += 1
      end
    end
  until 8AE2: not 0@ = random_vehicle_near_point 0 0 0 in_radius 100000.0 find_next 1 pass_wrecked 1    
end

jump @NormCops

Last edited by ~AquaZ~ (15-04-2010 14:48)

Offline

Board footer

Powered by FluxBB