#1 03-06-2010 19:06

WinuX
Registered: 06-03-2009
Posts: 138

Броня актёра

Добрый день, а точнее вечер smile Возник вопрос.

{$CLEO}
0000:

while true
    wait 0
    if and
        0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
        0AB0:8
    then
        035F: actor 0@ armour += 10 
    end
end

Добавляем 10 брони. Не добавляется, если значение равно стам.
Пробуем так:

while true
    wait 0
    if and
        0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
        0AB0:8
    then
        055F: set_player 0@ max_armour += 10 
        035F: actor 0@ armour += 10 
    end
end

Вылет. В чём вся соль? Как добавить, например, 1000 брони?

Offline

#2 03-06-2010 20:13

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Броня актёра

WinuX wrote:

Добрый день, а точнее вечер smile Возник вопрос.

{$CLEO}
0000:

while true
    wait 0
    if and
        0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
        0AB0:8
    then
        035F: actor 0@ armour += 10 
    end
end

Добавляем 10 брони. Не добавляется, если значение равно стам.
Пробуем так:

while true
    wait 0
    if and
        0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
        0AB0:8
    then
        055F: set_player 0@ max_armour += 10 
        035F: actor 0@ armour += 10 
    end
end

Вылет. В чём вся соль? Как добавить, например, 1000 брони?

Не знаю в чём соль, но всё добавляется. Если ты имел в виду что полосочка не становится больше, то здесь увеличивается только значение в памяти, а если имел в виду что-то другое, то не знаю.

Offline

#3 03-06-2010 20:37

WinuX
Registered: 06-03-2009
Posts: 138

Re: Броня актёра

Добавляться-то добавляется, но только до сотни.
Например, 1000 брони педу добаить не получится.
вот:

{$CLEO}
0000:

while true
    wait 0
    if and
        0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
        0AB0:8
    then
        035F: actor 0@ armour += 1000 
    end
    if
        0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
    then
        04DD: 5@ = actor 0@ armour
        03F0: enable_text_draw 1 
        045A: draw_text_1number 320.0 155.333 GXT 'NUMBER' number 5@  // ALL RACES WON!~n~~w~$~1~
    end
end

отображается 100, хотя добавиться должно 1000. Отображаемое и реальное значение соответствует - стрельните из оружия. Скорее всего, тут как-то надо с памятью возиться, crazy trainer как-то же добавляет 1000 брони?

Last edited by WinuX (03-06-2010 20:42)

Offline

#4 04-06-2010 01:00

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

Re: Броня актёра

Попробуй записать память: CPed +0x548 = [float] Броня

Offline

#5 04-06-2010 07:52

WinuX
Registered: 06-03-2009
Posts: 138

Re: Броня актёра

0A8D: 1@ = read_memory 0xB6F5F0 size 4 virtual_protect 0
        1@ += 0x548
        0A8C: write_memory 1@ size 4 value 50.0 virtual_protect 0

устанавливает броню ГГ.  А нужно как-то нацеленного педа взять

Offline

#6 04-06-2010 10:12

GTASA
Registered: 13-09-2008
Posts: 476

Re: Броня актёра

Брони в SA может быть 300, это еще от прокачки игрока зависит.

Offline

#7 04-06-2010 13:19

WinuX
Registered: 06-03-2009
Posts: 138

Re: Броня актёра

да я блин не про $PLAYER_ACTOR, а про любого другого актёра. И больше 150 без модов, скриптов и читов у гг брони быть не может.

Offline

#8 04-06-2010 15:37

Sanchez
Registered: 18-08-2006
Posts: 280

Re: Броня актёра

@WinuX - и в чем проблемы?

0A96: 1@ = actor 0@ struct
1@ += 0x548
0A8C: write_memory 1@ size 4 value 99999.0 virtual_protect 0

Опкод 035F проверяет что значение лежит в пределах [0.0;100.0]

Offline

#9 04-06-2010 16:49

WinuX
Registered: 06-03-2009
Posts: 138

Re: Броня актёра

Блин. Точно. Спасибо.

Offline

Board footer

Powered by FluxBB