1. Внимание!
    Объявились мошенники, которые представляются администрацией форума и обманывают покупателей. У них есть своя группа ВКонтакте, копирующая нашу, и несколько аккаунтов, маскирующихся под аккаунты администраторов и гарантов форума.
    При проведении любых сделок с администраторами, гарантами и пользователями BlastHack настойчиво требуйте у них написать вам личное сообщение на форуме и ни в коем случае не продолжайте сделку при отказе выполнять это требование или если сообщение не было получено.

Гайд Изменяем клавиши активации

Тема в разделе "CLEO", создана пользователем WEB, 23 апр 2013.

  1. WEB

    WEB
    Проверенный

    Регистрация:
    16.04.13
    Сообщения:
    237
    Лайки:
    39
    Репутация:
    20
    Видел много тем с просьбами изменить клавиши активации в Cleo скриптах.
    Нам понадобиться:
    SannyBuilder , его можно взять тут: http://www.sannybuilder.com/?lang=ru (Офф. сайт)
    Открываем SannyBuilder => Выбираем ''Запуск => Декомпилировать'' теперь выбираем скрипт.
    Находим такую строку:

    Код (Text):
    Выделить всё двойным кликом
    0AB0: key_pressed 67
    0AB0: key_pressed 80
    Цифры после ''key_pressed'' это и есть коды клавиш, узнаемм код клавиши который вам нужен и заменяем.
    Узнать код клавиш можно тут: Открываем SannyBuilder => Выбираем ''Справка" =>Помощь=>CLEO 3 code library=>Список значений кнопок для 0AB0.
     
    Последние данные очков репутации:
    MarTineZ: 1 Очко (sps как раз то, что мне нужно) 30 апр 2013
    Bodya_bb: 1 Очко (1) 16 фев 2014
    #1
    apsent921 нравится это.
  2. #Metodon

    #Metodon Пользователь

    Регистрация:
    30.04.13
    Сообщения:
    17
    Лайки:
    3
    Репутация:
    11
    Через KeyV удобней, но SannyBuilder незаменим в клео)
     
    #2
  3. WEB

    WEB
    Проверенный

    Регистрация:
    16.04.13
    Сообщения:
    237
    Лайки:
    39
    Репутация:
    20
    Ето точно ))
     
    #3
  4. Charlatan

    Друг

    Регистрация:
    12.04.13
    Сообщения:
    296
    Лайки:
    14
    Репутация:
    33
    А может лишь потому что через него они делаются? Из-за этого и не заменим? оО
     
    #4
  5. »Lawrence

    »Lawrence Новичок

    Регистрация:
    24.06.13
    Сообщения:
    4
    Лайки:
    0
    Репутация:
    0
    Он наверно имел ввиду Key Changer :)
    Так то да им куда быстрее и удобнее, но не все скрипты им можно переделать
     
    #5
  6. Urri

    Urri Пользователь

    Регистрация:
    19.03.13
    Сообщения:
    8
    Лайки:
    0
    Репутация:
    0
    У меня пишет "Неизвестный опкод" ;D
     
    #6
  7. JackHall

    JackHall Новичок

    Регистрация:
    31.10.13
    Сообщения:
    1
    Лайки:
    0
    Репутация:
    0
    Как сделать комбинацию активации, к примеру чтобы активировать скрипт нужно нажать Z+X?
     
    #7
  8. Qooooooo

    Qooooooo Известный пользователь

    Регистрация:
    29.06.13
    Сообщения:
    166
    Лайки:
    18
    Репутация:
    10

    Код (PHP):
    Выделить всё двойным кликом
    if and
    0AB0:  key_pressed твояклавиша1
    0AB0:  key_pressed твояклавиша2
     
    #8
  9. Bodya_bb

    Bodya_bb Активный пользователь

    Регистрация:
    06.09.13
    Сообщения:
    29
    Лайки:
    3
    Репутация:
    1
    Хоть и знал. Но не знал где id клавиш взять
     
    #9
  10. By_Vasiliy

    By_Vasiliy Известный пользователь

    Регистрация:
    24.01.14
    Сообщения:
    53
    Лайки:
    5
    Репутация:
    2
    Прям в программе SannyBuilder в верху есть справка:
    Справка --> CLEO 3 Code Library --> Список значений кнопок для 0AB0
     
    #10
    Bluzer нравится это.
  11. ilyha112

    ilyha112 Пользователь

    Регистрация:
    20.04.14
    Сообщения:
    6
    Лайки:
    0
    Репутация:
    0
    Вылазиет ошибка при открытии клео которое хотел изменить, что делать??
     
    #11
  12. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.519
    Лайки:
    1.493
    Репутация:
    410
    напиши свое клео с блекджеком и шлюхами
     
    #12
  13. NegaTiV_TV

    NegaTiV_TV Новичок

    Регистрация:
    30.12.14
    Сообщения:
    1
    Лайки:
    0
    Репутация:
    0
    Что мне делать мне пишет Неверный символ в идентификаторе #AFFECT_30.Подскажите.
     
    #13
  14. #Cross.

    #Cross. Новичок

    Регистрация:
    28.10.14
    Сообщения:
    2
    Лайки:
    0
    Репутация:
    0
    Ребят помогите нету кода 0AB0:
    CLEO CarHack хотел CNTRL + C поменять на CNTRL + +, а CNTRL + V на CNTRL + -
     
    #14
  15. Pusok

    Pusok Новичок

    Регистрация:
    23.12.14
    Сообщения:
    3
    Лайки:
    0
    Репутация:
    0
    Тоже не знал
     
    #15
  16. Oleg_Samsonov

    Oleg_Samsonov Пользователь

    Регистрация:
    23.05.15
    Сообщения:
    6
    Лайки:
    1
    Репутация:
    0
    Хотел поменять клавишу в скрипте а вылезает вот это
    [​IMG]
    Можете декомпилировать и заменить клавиши на "Ctrl" + "+ не на нумпаде"
    http://rghost.ru/7b2j4tcg9
     
    #16
  17. jdm17

    jdm17 Известный пользователь

    Регистрация:
    13.07.14
    Сообщения:
    292
    Лайки:
    48
    Репутация:
    23
    http://pion.rghost.net/7H9SNR4f4
    Код открыт
     
    #17
  18. Stan

    Stan Новичок

    Регистрация:
    24.06.16
    Сообщения:
    1
    Лайки:
    0
    Репутация:
    0
    Как поменять клавишу в скрипте, W-то есть ходьба, нужно сменить на F4 ребят помогите.
     
    #18
  19. BlackKnigga

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    454
    Лайки:
    103
    Репутация:
    55
    В условии меняешь W на F4. Ну или хотя бы код кинь.
     
    #19
  20. VasiliyF

    VasiliyF Новичок

    Регистрация:
    08.01.17
    Сообщения:
    1
    Лайки:
    0
    Репутация:
    0
    Если пишет, что ошибка при открытии клео, значит что он скрыт и там стиллер?
     
    #20
  21. BlackKnigga

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    454
    Лайки:
    103
    Репутация:
    55
    Необязательно
     
    #21
  22. 7eveNka

    7eveNka Известный пользователь

    Регистрация:
    18.01.16
    Сообщения:
    246
    Лайки:
    29
    Репутация:
    9
    1. Поставь Ignore Unknown
    2. Поставить Skip SCM Header ( как-то так )
     
    #22
  23. stfbee22

    stfbee22 Активный пользователь

    Регистрация:
    22.04.16
    Сообщения:
    35
    Лайки:
    0
    Репутация:
    0
    Меняю активацию, при входе в игру крашит

    Код (CLEO):
    Выделить всё двойным кликом
    // This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
    {$CLEO .cs}

    //-------------MAIN---------------
    0000: NOP

    :NONAME_2
    wait 0
       SAMP.Available
    else_jump @NONAME_2
    call @NONAME_2480 0 29@ 27@ 26@ 25@ 24@ 23@
    0B34: samp register_client_command "11" to_label @NONAME_84
    0B34: samp register_client_command "111" to_label @NONAME_170
    0BE2: raknet setup_outcoming_packet_hook -1757

    :NONAME_73
    wait 0
    jump @NONAME_73

    :NONAME_84
    if
       SAMP.IsLocalPlayerSpawned
    else_jump @NONAME_168
    if
      30@ == 0
    else_jump @NONAME_140
    print "~y~11118798" 2000
    jump @NONAME_158

    :NONAME_140
    print "~y~00008735" 2000

    :NONAME_158
    0B12: 30@ = 30@ XOR 1

    :NONAME_168
    SAMP.CmdRet

    :NONAME_170
    if
       SAMP.IsLocalPlayerSpawned
    else_jump @NONAME_738
    alloc 2@ 20
       SAMP.IsCommandTyped(2@)
    0AD4: 3@ = scan_string 2@ format "%d %d" 4@ 5@  
    if
      3@ == 2
    else_jump @NONAME_733
    if
      4@ == 1
    else_jump @NONAME_331
    0085: 28@ = 5@ // (int)
    0093: 29@ = integer 28@ to_float
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "TargetHookDistance"

    :NONAME_331
    if
      4@ == 2
    else_jump @NONAME_407
    0085: 27@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "Detour"

    :NONAME_407
    if
      4@ == 3
    else_jump @NONAME_489
    0085: 26@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "CorrectAngle"

    :NONAME_489
    if
      4@ == 4
    else_jump @NONAME_572
    0085: 25@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "GiveDamageRPC"

    :NONAME_572
    if
      4@ == 5
    else_jump @NONAME_652
    0085: 24@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "RandomShot"

    :NONAME_652
    if
      4@ == 6
    else_jump @NONAME_733
    0085: 23@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "ClistFilter"

    :NONAME_733
    free 2@

    :NONAME_738
    SAMP.CmdRet

    :NONAME_740
    wait 0
    0A96: 2@ = actor $PLAYER_ACTOR struct
    2@ += 1836
    0A8D: 2@ = read_memory 2@ size 1 virtual_protect 0
    0470: 0@ = actor $PLAYER_ACTOR current_weapon
    0085: 1@ = 0@ // (int)
    if
      2@ == 2
    else_jump @NONAME_813
    1@ += 25

    :NONAME_813
    if
      2@ == 3
    else_jump @NONAME_838
    1@ += 36

    :NONAME_838
    1@ *= 112
    1@ += 13150904
    1@ += 34
    0A8D: 1@ = read_memory 1@ size 2 virtual_protect 0
    0093: 1@ = integer 1@ to_float
    if and
      0@ >= 22
       not 0@ == 25
       not 0@ == 26
       not 0@ == 27
       not 0@ > 34
    else_jump @NONAME_938
    1@ /= 3.043478

    :NONAME_938
    ret 1 1@

    :NONAME_946
    wait 0
    4@ = RakNet.NewBitStream()
    BitStream.Write(4@, 0, BS_TYPE_BOOL, 1)
    BitStream.Write(4@, 0@, BS_TYPE_SHORT, 2)
    BitStream.Write(4@, 1@, BS_TYPE_FLOAT, 4)
    BitStream.Write(4@, 2@, BS_TYPE_INT, 4)
    BitStream.Write(4@, 3, BS_TYPE_INT, 4)
    RakNet.LiteRPC(115, 4@)
    RakNet.DeleteBitStream(4@)
    ret 0

    :NONAME_1030
    wait 0
    call @NONAME_740 0 13@
    call @NONAME_946 3 0@ 13@ 1@
    ret 0

    :NONAME_1071
    wait 0
    Actor.StorePos(0@, 1@, 2@, 3@)
    0604: get_Z_angle_for_point 1@ 2@ store_to 17@
    8@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
    alloc 4@ 68
    0BBA: samp store_player 8@ onfoot_data 4@
    0C0D: struct 4@ offset 30 size 4 = 17@
    BitStream.Write(5@, 207, BS_TYPE_BYTE, 1)
    BitStream.Write(5@, 4@, BS_TYPE_ARRAY, 68)
    RakNet.LiteSend(5@)
    RakNet.DeleteBitStream(5@)
    free 4@
    ret 0

    :NONAME_1179
    wait 0
    0470: 3@ = actor $PLAYER_ACTOR current_weapon
    Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
    8@ = SAMP.GetSAMPPlayerIDByActorHandle(0@)
    Actor.StorePos(0@, 9@, 10@, 11@)
    alloc 2@ 40
    0C0D: struct 2@ offset 0 size 1 = 1
    0C0D: struct 2@ offset 1 size 2 = 8@
    0C0D: struct 2@ offset 3 size 4 = 4@
    0C0D: struct 2@ offset 7 size 4 = 5@
    0C0D: struct 2@ offset 11 size 4 = 6@
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0209: 21@ = random_int_in_ranges 0 1
    if
      21@ == 1
    else_jump @NONAME_1340
    005B: 9@ += 22@ // (float)
    jump @NONAME_1348

    :NONAME_1340
    005B: 9@ += 22@ // (float)

    :NONAME_1348
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0209: 21@ = random_int_in_ranges 0 1
    if
      21@ == 1
    else_jump @NONAME_1395
    005B: 10@ += 22@ // (float)
    jump @NONAME_1403

    :NONAME_1395
    005B: 10@ += 22@ // (float)

    :NONAME_1403
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0209: 21@ = random_int_in_ranges 0 1
    if
      21@ == 1
    else_jump @NONAME_1450
    005B: 1@ += 22@ // (float)
    jump @NONAME_1458

    :NONAME_1450
    005B: 1@ += 22@ // (float)

    :NONAME_1458
    0C0D: struct 2@ offset 15 size 4 = 9@
    0C0D: struct 2@ offset 19 size 4 = 10@
    0C0D: struct 2@ offset 23 size 4 = 11@
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0098: 23@ = random_float_in_ranges_0.0_to_1.0
    0098: 24@ = random_float_in_ranges_0.0_to_1.0
    0C0D: struct 2@ offset 27 size 4 = 22@
    0C0D: struct 2@ offset 31 size 4 = 23@
    0C0D: struct 2@ offset 35 size 4 = 24@
    0C0D: struct 2@ offset 39 size 1 = 3@
    12@ = RakNet.NewBitStream()
    BitStream.Write(12@, 206, BS_TYPE_BYTE, 1)
    BitStream.Write(12@, 2@, BS_TYPE_ARRAY, 40)
    RakNet.LiteSend(12@)
    RakNet.DeleteBitStream(12@)
    free 2@
    ret 2 8@ 3@

    :NONAME_1612
    wait 0
    if
      0@ == 1
    else_jump @NONAME_1692
    22@ = SAMP.GetSAMPPlayerIDByActorHandle(1@)
    21@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
    20@ = SAMP.GetPlayerColor(22@)
    19@ = SAMP.GetPlayerColor(21@)
    if
    0085: 20@ = 19@ // (int)
    else_jump @NONAME_1692
    18@ = 1

    :NONAME_1692
    if and
      0@ == 1
      18@ == 0
    else_jump @NONAME_1724
    17@ = 1

    :NONAME_1724
    if
      0@ == 0
    else_jump @NONAME_1749
    17@ = 1

    :NONAME_1749
    ret 1 17@
    wait 0
    0BE5: raknet 2@ = get_hook_param 0
    0BE5: raknet 3@ = get_hook_param 1
    if
      3@ == 206
    else_jump @NONAME_2079
    if
      30@ == 1
    else_jump @NONAME_2079
    call @NONAME_2083 1 29@ 7@
    if
       not 7@ == -1
    else_jump @NONAME_2079
    call @NONAME_1612 2 23@ 7@ 17@
    if
      17@ == 1
    else_jump @NONAME_2079
    if
      27@ == 1
    else_jump @NONAME_1932
    if
      26@ == 1
    else_jump @NONAME_1932
    call @NONAME_1071 1 7@

    :NONAME_1932
    if
      24@ == 0
    else_jump @NONAME_1976
    call @NONAME_1179 1 7@ 0@ 1@
    jump @NONAME_2023

    :NONAME_1976
    0209: 31@ = random_int_in_ranges 0 10
    if
    002D:   31@ >= 24@ // (int)
    else_jump @NONAME_2023
    call @NONAME_1179 1 7@ 0@ 1@

    :NONAME_2023
    if
      27@ == 1
    else_jump @NONAME_2075
    if
      25@ == 1
    else_jump @NONAME_2075
    call @NONAME_1030 2 0@ 1@

    :NONAME_2075
    0BE0: raknet hook_ret 0

    :NONAME_2079
    0BE0: raknet hook_ret 1

    :NONAME_2083
    wait 0
    28@ = 0.0

    :NONAME_2097
    0A8D: 29@ = read_memory 12010640 size 4 virtual_protect 0
    29@ += 4
    0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
    30@ = 0

    :NONAME_2137
    0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
    29@ += 1
    if and
      31@ >= 0
      128 > 31@
    else_jump @NONAME_2423
    005A: 31@ += 30@ // (int)
    if
    056D:   actor 31@ defined
    else_jump @NONAME_2423
    if
    803C:   not $PLAYER_ACTOR == 31@ // (int)
    else_jump @NONAME_2423
    04C4: store_coords_to 27@ 26@ 25@ from_actor 31@ with_offset 0.0 0.0 0.0
    068D: get_camera_position_to 24@ 23@ 22@
    if and
    06BD:   no_obstacles_between 27@ 26@ 25@ and 24@ 23@ 22@ solid 1 car 1 actor 0 object 1 particle 0
       not Actor.Driving(31@)
       not Actor.Dead(31@)
    02CB:   actor 31@ bounding_sphere_visible
    else_jump @NONAME_2423
    04C4: store_coords_to 10@ 11@ 12@ from_actor 31@ with_offset 0.0 0.0 0.0
    call @NONAME_3273 3 10@ 11@ 12@ 13@ 14@
    0509: 15@ = distance_between_XY 339.1 179.1 and_XY 13@ 14@
    if
    0035:   28@ >= 15@ // (float)
    else_jump @NONAME_2423
    ret 1 31@

    :NONAME_2423
    30@ += 256
      30@ > 35584
    else_jump @NONAME_2137
    28@ += 8.0
    001D:   28@ > 0@ // (int)
    else_jump @NONAME_2097
    ret 1 -1

    :NONAME_2480
    wait 0
    if
    0AAB:   file_exists "models\grass\grass3_5.dff"
    else_jump @NONAME_2875
    0AF0: 28@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "TargetHookDistance"
    0AF0: 27@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "Detour"
    0AF0: 26@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "QuatCorrector"
    0AF0: 25@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "GiveDamageRPC"
    0AF0: 24@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "RandomShot"
    0AF0: 23@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "FriendlyFire"
    0093: 29@ = integer 28@ to_float
    jump @NONAME_3250

    :NONAME_2875
    0AF1: write_int 40 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "TargetHookDistance"
    0AF1: write_int 1 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "Detour"
    0AF1: write_int 1 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "QuatCorrector"
    0AF1: write_int 1 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "GiveDamageRPC"
    0AF1: write_int 0 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "RandomShot"
    0AF1: write_int 0 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "FriendlyFire"
    29@ = 40.0
    27@ = 1
    26@ = 1
    25@ = 1
    24@ = 0
    23@ = 0

    :NONAME_3250
    ret 6 29@ 27@ 26@ 25@ 24@ 23@

    :NONAME_3273
    wait 0
    0AC7: 14@ = var 0@ offset
    0AC7: 15@ = var 3@ offset
    0AC7: 16@ = var 6@ offset
    0AC7: 17@ = var 9@ offset
    0AA5: call 7392816 num_params 6 pop 6 0 0 17@ 16@ 15@ 14@  
    12@ = 640.0
    13@ = 448.0
    0A8D: 14@ = read_memory 12677188 size 4 virtual_protect 0
    0A8D: 15@ = read_memory 12677192 size 4 virtual_protect 0
    0093: 14@ = integer 14@ to_float
    0093: 15@ = integer 15@ to_float
    0073: 12@ /= 14@ // (float)
    0073: 13@ /= 15@ // (float)
    006B: 3@ *= 12@ // (float)
    006B: 4@ *= 13@ // (float)
    ret 2 3@ 4@
     
    #23
  24. stfbee22

    stfbee22 Активный пользователь

    Регистрация:
    22.04.16
    Сообщения:
    35
    Лайки:
    0
    Репутация:
    0
    Ребят, помогите))
     
    #24
  25. Ded_Fedot

    Ded_Fedot КГБ

    Регистрация:
    20.04.13
    Сообщения:
    940
    Лайки:
    817
    Репутация:
    153
     

    Вложения:

    • 228.cs
      Размер файла:
      3,4 КБ
      Просмотров:
      4
    #25
  26. stfbee22

    stfbee22 Активный пользователь

    Регистрация:
    22.04.16
    Сообщения:
    35
    Лайки:
    0
    Репутация:
    0
    Мен, все равно при входе в игру крашит если меняю активацию в коде.

    Может переделаешь активацию не через /, а как в сингле?)
    К примеру провожу FEDOT и клео активируется)
     
    #26
  27. Ded_Fedot

    Ded_Fedot КГБ

    Регистрация:
    20.04.13
    Сообщения:
    940
    Лайки:
    817
    Репутация:
    153
    Вот тебе код, и опкод 0ADC: test_cheat "Активация" Дальше сам.
    Код (CLEO):
    Выделить всё двойным кликом
    // This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
    {$CLEO .cs}

    //-------------MAIN---------------
    0000: NOP

    :NONAME_2
    wait 0
       SAMP.Available
    else_jump @NONAME_2
    call @NONAME_2480 0 29@ 27@ 26@ 25@ 24@ 23@
    0B34: samp register_client_command "11" to_label @NONAME_84
    0B34: samp register_client_command "111" to_label @NONAME_170
    0BE2: raknet setup_outcoming_packet_hook -1757

    :NONAME_73
    wait 0
    jump @NONAME_73

    :NONAME_84
    if
       SAMP.IsLocalPlayerSpawned
    else_jump @NONAME_168
    if
      30@ == 0
    else_jump @NONAME_140
    print "~y~11118798" 2000
    jump @NONAME_158

    :NONAME_140
    print "~y~00008735" 2000

    :NONAME_158
    0B12: 30@ = 30@ XOR 1

    :NONAME_168
    SAMP.CmdRet

    :NONAME_170
    if
       SAMP.IsLocalPlayerSpawned
    else_jump @NONAME_738
    alloc 2@ 20
       SAMP.IsCommandTyped(2@)
    0AD4: 3@ = scan_string 2@ format "%d %d" 4@ 5@
    if
      3@ == 2
    else_jump @NONAME_733
    if
      4@ == 1
    else_jump @NONAME_331
    0085: 28@ = 5@ // (int)
    0093: 29@ = integer 28@ to_float
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "TargetHookDistance"

    :NONAME_331
    if
      4@ == 2
    else_jump @NONAME_407
    0085: 27@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "Detour"

    :NONAME_407
    if
      4@ == 3
    else_jump @NONAME_489
    0085: 26@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "CorrectAngle"

    :NONAME_489
    if
      4@ == 4
    else_jump @NONAME_572
    0085: 25@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "GiveDamageRPC"

    :NONAME_572
    if
      4@ == 5
    else_jump @NONAME_652
    0085: 24@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "RandomShot"

    :NONAME_652
    if
      4@ == 6
    else_jump @NONAME_733
    0085: 23@ = 5@ // (int)
    0AF1: write_int 5@ to_ini_file "models\grass\grass3_5.dff" section "Settings" key "ClistFilter"

    :NONAME_733
    free 2@

    :NONAME_738
    SAMP.CmdRet

    :NONAME_740
    wait 0
    0A96: 2@ = actor $PLAYER_ACTOR struct
    2@ += 1836
    0A8D: 2@ = read_memory 2@ size 1 virtual_protect 0
    0470: 0@ = actor $PLAYER_ACTOR current_weapon
    0085: 1@ = 0@ // (int)
    if
      2@ == 2
    else_jump @NONAME_813
    1@ += 25

    :NONAME_813
    if
      2@ == 3
    else_jump @NONAME_838
    1@ += 36

    :NONAME_838
    1@ *= 112
    1@ += 13150904
    1@ += 34
    0A8D: 1@ = read_memory 1@ size 2 virtual_protect 0
    0093: 1@ = integer 1@ to_float
    if and
      0@ >= 22
       not 0@ == 25
       not 0@ == 26
       not 0@ == 27
       not 0@ > 34
    else_jump @NONAME_938
    1@ /= 3.043478

    :NONAME_938
    ret 1 1@

    :NONAME_946
    wait 0
    4@ = RakNet.NewBitStream()
    BitStream.Write(4@, 0, BS_TYPE_BOOL, 1)
    BitStream.Write(4@, 0@, BS_TYPE_SHORT, 2)
    BitStream.Write(4@, 1@, BS_TYPE_FLOAT, 4)
    BitStream.Write(4@, 2@, BS_TYPE_INT, 4)
    BitStream.Write(4@, 3, BS_TYPE_INT, 4)
    RakNet.LiteRPC(115, 4@)
    RakNet.DeleteBitStream(4@)
    ret 0

    :NONAME_1030
    wait 0
    call @NONAME_740 0 13@
    call @NONAME_946 3 0@ 13@ 1@
    ret 0

    :NONAME_1071
    wait 0
    Actor.StorePos(0@, 1@, 2@, 3@)
    0604: get_Z_angle_for_point 1@ 2@ store_to 17@
    8@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
    alloc 4@ 68
    0BBA: samp store_player 8@ onfoot_data 4@
    0C0D: struct 4@ offset 30 size 4 = 17@
    BitStream.Write(5@, 207, BS_TYPE_BYTE, 1)
    BitStream.Write(5@, 4@, BS_TYPE_ARRAY, 68)
    RakNet.LiteSend(5@)
    RakNet.DeleteBitStream(5@)
    free 4@
    ret 0

    :NONAME_1179
    wait 0
    0470: 3@ = actor $PLAYER_ACTOR current_weapon
    Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
    8@ = SAMP.GetSAMPPlayerIDByActorHandle(0@)
    Actor.StorePos(0@, 9@, 10@, 11@)
    alloc 2@ 40
    0C0D: struct 2@ offset 0 size 1 = 1
    0C0D: struct 2@ offset 1 size 2 = 8@
    0C0D: struct 2@ offset 3 size 4 = 4@
    0C0D: struct 2@ offset 7 size 4 = 5@
    0C0D: struct 2@ offset 11 size 4 = 6@
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0209: 21@ = random_int_in_ranges 0 1
    if
      21@ == 1
    else_jump @NONAME_1340
    005B: 9@ += 22@ // (float)
    jump @NONAME_1348

    :NONAME_1340
    005B: 9@ += 22@ // (float)

    :NONAME_1348
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0209: 21@ = random_int_in_ranges 0 1
    if
      21@ == 1
    else_jump @NONAME_1395
    005B: 10@ += 22@ // (float)
    jump @NONAME_1403

    :NONAME_1395
    005B: 10@ += 22@ // (float)

    :NONAME_1403
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0209: 21@ = random_int_in_ranges 0 1
    if
      21@ == 1
    else_jump @NONAME_1450
    005B: 1@ += 22@ // (float)
    jump @NONAME_1458

    :NONAME_1450
    005B: 1@ += 22@ // (float)

    :NONAME_1458
    0C0D: struct 2@ offset 15 size 4 = 9@
    0C0D: struct 2@ offset 19 size 4 = 10@
    0C0D: struct 2@ offset 23 size 4 = 11@
    0098: 22@ = random_float_in_ranges_0.0_to_1.0
    0098: 23@ = random_float_in_ranges_0.0_to_1.0
    0098: 24@ = random_float_in_ranges_0.0_to_1.0
    0C0D: struct 2@ offset 27 size 4 = 22@
    0C0D: struct 2@ offset 31 size 4 = 23@
    0C0D: struct 2@ offset 35 size 4 = 24@
    0C0D: struct 2@ offset 39 size 1 = 3@
    12@ = RakNet.NewBitStream()
    BitStream.Write(12@, 206, BS_TYPE_BYTE, 1)
    BitStream.Write(12@, 2@, BS_TYPE_ARRAY, 40)
    RakNet.LiteSend(12@)
    RakNet.DeleteBitStream(12@)
    free 2@
    ret 2 8@ 3@

    :NONAME_1612
    wait 0
    if
      0@ == 1
    else_jump @NONAME_1692
    22@ = SAMP.GetSAMPPlayerIDByActorHandle(1@)
    21@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
    20@ = SAMP.GetPlayerColor(22@)
    19@ = SAMP.GetPlayerColor(21@)
    if
    0085: 20@ = 19@ // (int)
    else_jump @NONAME_1692
    18@ = 1

    :NONAME_1692
    if and
      0@ == 1
      18@ == 0
    else_jump @NONAME_1724
    17@ = 1

    :NONAME_1724
    if
      0@ == 0
    else_jump @NONAME_1749
    17@ = 1

    :NONAME_1749
    ret 1 17@
    wait 0
    0BE5: raknet 2@ = get_hook_param 0
    0BE5: raknet 3@ = get_hook_param 1
    if
      3@ == 206
    else_jump @NONAME_2079
    if
      30@ == 1
    else_jump @NONAME_2079
    call @NONAME_2083 1 29@ 7@
    if
       not 7@ == -1
    else_jump @NONAME_2079
    call @NONAME_1612 2 23@ 7@ 17@
    if
      17@ == 1
    else_jump @NONAME_2079
    if
      27@ == 1
    else_jump @NONAME_1932
    if
      26@ == 1
    else_jump @NONAME_1932
    call @NONAME_1071 1 7@

    :NONAME_1932
    if
      24@ == 0
    else_jump @NONAME_1976
    call @NONAME_1179 1 7@ 0@ 1@
    jump @NONAME_2023

    :NONAME_1976
    0209: 31@ = random_int_in_ranges 0 10
    if
    002D:   31@ >= 24@ // (int)
    else_jump @NONAME_2023
    call @NONAME_1179 1 7@ 0@ 1@

    :NONAME_2023
    if
      27@ == 1
    else_jump @NONAME_2075
    if
      25@ == 1
    else_jump @NONAME_2075
    call @NONAME_1030 2 0@ 1@

    :NONAME_2075
    0BE0: raknet hook_ret 0

    :NONAME_2079
    0BE0: raknet hook_ret 1

    :NONAME_2083
    wait 0
    28@ = 0.0

    :NONAME_2097
    0A8D: 29@ = read_memory 12010640 size 4 virtual_protect 0
    29@ += 4
    0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
    30@ = 0

    :NONAME_2137
    0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
    29@ += 1
    if and
      31@ >= 0
      128 > 31@
    else_jump @NONAME_2423
    005A: 31@ += 30@ // (int)
    if
    056D:   actor 31@ defined
    else_jump @NONAME_2423
    if
    803C:   not $PLAYER_ACTOR == 31@ // (int)
    else_jump @NONAME_2423
    04C4: store_coords_to 27@ 26@ 25@ from_actor 31@ with_offset 0.0 0.0 0.0
    068D: get_camera_position_to 24@ 23@ 22@
    if and
    06BD:   no_obstacles_between 27@ 26@ 25@ and 24@ 23@ 22@ solid 1 car 1 actor 0 object 1 particle 0
       not Actor.Driving(31@)
       not Actor.Dead(31@)
    02CB:   actor 31@ bounding_sphere_visible
    else_jump @NONAME_2423
    04C4: store_coords_to 10@ 11@ 12@ from_actor 31@ with_offset 0.0 0.0 0.0
    call @NONAME_3273 3 10@ 11@ 12@ 13@ 14@
    0509: 15@ = distance_between_XY 339.1 179.1 and_XY 13@ 14@
    if
    0035:   28@ >= 15@ // (float)
    else_jump @NONAME_2423
    ret 1 31@

    :NONAME_2423
    30@ += 256
      30@ > 35584
    else_jump @NONAME_2137
    28@ += 8.0
    001D:   28@ > 0@ // (int)
    else_jump @NONAME_2097
    ret 1 -1

    :NONAME_2480
    wait 0
    if
    0AAB:   file_exists "models\grass\grass3_5.dff"
    else_jump @NONAME_2875
    0AF0: 28@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "TargetHookDistance"
    0AF0: 27@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "Detour"
    0AF0: 26@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "QuatCorrector"
    0AF0: 25@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "GiveDamageRPC"
    0AF0: 24@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "RandomShot"
    0AF0: 23@ = get_int_from_ini_file "models\grass\grass3_5.dff" section "Settings" key "FriendlyFire"
    0093: 29@ = integer 28@ to_float
    jump @NONAME_3250

    :NONAME_2875
    0AF1: write_int 40 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "TargetHookDistance"
    0AF1: write_int 1 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "Detour"
    0AF1: write_int 1 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "QuatCorrector"
    0AF1: write_int 1 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "GiveDamageRPC"
    0AF1: write_int 0 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "RandomShot"
    0AF1: write_int 0 to_ini_file "models\grass\grass3_5.dff" section "Settings" key "FriendlyFire"
    29@ = 40.0
    27@ = 1
    26@ = 1
    25@ = 1
    24@ = 0
    23@ = 0

    :NONAME_3250
    ret 6 29@ 27@ 26@ 25@ 24@ 23@

    :NONAME_3273
    wait 0
    0AC7: 14@ = var 0@ offset
    0AC7: 15@ = var 3@ offset
    0AC7: 16@ = var 6@ offset
    0AC7: 17@ = var 9@ offset
    0AA5: call 7392816 num_params 6 pop 6 0 0 17@ 16@ 15@ 14@
    12@ = 640.0
    13@ = 448.0
    0A8D: 14@ = read_memory 12677188 size 4 virtual_protect 0
    0A8D: 15@ = read_memory 12677192 size 4 virtual_protect 0
    0093: 14@ = integer 14@ to_float
    0093: 15@ = integer 15@ to_float
    0073: 12@ /= 14@ // (float)
    0073: 13@ /= 15@ // (float)
    006B: 3@ *= 12@ // (float)
    006B: 4@ *= 13@ // (float)
    ret 2 3@ 4@
     
    #27