Полезные сниппеты и SCM-функции

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

  1. Opcode.eXe

    Opcode.eXe Известный пользователь

    Регистрация:
    11.04.13
    Сообщения:
    86
    Лайки:
    90
    Репутация:
    51
    Input:
    TargetPosition *@ *@ *@
    TargetAimbotAnglesRadian X *@ Y *@
    Output: float DynamicFieldOfView

    used for gta sa aimbot to get fieldofview including distance fix.


    Код (CLEO):
    0AB1: @GET_REAL_FOV 5 POSITION 29@ 28@ 27@ TARGETXY 23@ 24@ _TO 0@
    :GET_REAL_FOV
    068D: get_camera_position_to 9@ 10@ 11@
    050A: 12@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 9@ 10@ 11@
    0AB1: @GetYXCameraAngle 0 X 26@ Y 25@ // >Snippet also posted in this thread<
    0063: 3@ -= 26@  // (float)
    0063: 4@ -= 25@  // (float)
    0C03: math 3@ = sine 3@ // (float)
    0C03: math 4@ = sine 4@ // (float)
    006B: 3@ *= 12@  // (float)
    006B: 4@ *= 12@  // (float)
    0C09: math 3@ = power_1337 3@ 2.0
    0C09: math 4@ = power_1337 4@ 2.0
    005B: 3@ += 4@  // (float)
    01FB: 3@ = square_root 3@
    0AB2: 1 3@
     
    #121
    orJIenoK_iT нравится это.
  2. MelomanCool

    Проверенный

    Регистрация:
    19.03.13
    Сообщения:
    63
    Лайки:
    39
    Репутация:
    20
    Описание: оператор стрелка "->"
    Использование: см. пример
    Последним параметром обязательно должен быть "-1"!

    Код:
    Код (CLEO):
    :Arrow
    {
      Example: 0AB1: @Arrow 5 0@ -> stSAMPPools -> stPlayerPool -> szLocalPlayerName -1 ret 1@
      In: 0@ .. 30@ - params (0@ - structure pointer)
      Out: 0@ - structure field address
    }

    var
    1@: array 30 of Integer
    end

    for 31@ = 0 to 29
      if 1@[31@] <> -1
      jf break
      0A8D: 0@ = read_memory 0@ size 4 virtual_protect 1
      005A: 0@ += 1@[31@]
    end
    0AB2: ret 1 0@
    Пример:
    Код (CLEO):
    {$CLEO .cs}
    0000:

    while not Player.Defined($PLAYER_ACTOR)
      wait 1000
    end

    // single-player check
    0AA2: 30@ = load_library "kernel32.dll"
    0AA4: 31@ = get_proc_address "GetModuleHandleA" library 30@
    0AA7: call_function 31@ num_params 1 pop 0 "samp.dll" 31@
    0AA3: free_library 30@
    if 31@ == 0
    then
      0A93: end_custom_thread
    end

    while not Samp.Available()
      wait 150
    end

    const
      stSAMPInfo = 0x21A0F8

      // stSAMPInfo
      stSAMPPools = 0x3CD

      // stSAMPPools
      stPlayerPool = 0x18

      // PlayerPool
      szLocalPlayerName = 0xA
    end

    while true
      wait 0
      0AA2: 0@ = "samp.dll" offset
      0@ += stSAMPInfo
      0AB1: @Arrow 5 0@ -> stSAMPPools -> stPlayerPool -> szLocalPlayerName -1 ret 1@
      0AD1: show_formatted_text_highpriority "%s" time 0 1@
    end

    :Arrow
    {
      Example: 0AB1: @Arrow 5 0@ -> stSAMPPools -> stPlayerPool -> szLocalPlayerName -1 ret 1@
      In: 0@ .. 30@ - params (0@ - structure pointer)
      Out: 0@ - structure field address
    }

    var
    1@: array 30 of Integer
    end

    for 31@ = 0 to 29
      if 1@[31@] <> -1
      jf break
      0A8D: 0@ = read_memory 0@ size 4 virtual_protect 1
      005A: 0@ += 1@[31@]
    end
    0AB2: ret 1 0@
     
    Последние данные очков репутации:
    Dark_Knight: 3 Очки (Вполне, вполне) 25 июн 2016
    woksonal: 2 Очки (+) 28 июн 2016
    #122
    Последнее редактирование: 25 июн 2016
    SR_team и FYP нравится это.