Вопросы по CLEO-скриптингу

D3F4LT

Новичок
7
0
Немного оффтопа, Ребзя кто шарит в клео, как вывести на экран числом запас спринта игрока?
 

san0

Известный
Друг
411
268

D3.Pheonix

🎹
Модератор
2,865
1,649
Немного оффтопа, Ребзя кто шарит в клео, как вывести на экран числом запас спринта игрока?
Код готов к компиляции, осталось поменять координаты на свои:
CLEO:
{$CLEO}
0000:

repeat
wait 0
until SAMP.Available()
0@ = Render.CreateFont("Arial", {height}10, {flags}5)
alloc 2@ 24

while true
wait 0
    if and
        SAMP.IsLocalPlayerSpawned()
        8BD5:  samp is_scoreboard_opened
        not ACTOR.Driving($PLAYER_ACTOR)
    then
        {h}0A8D: 1@ = read_memory 0xB7CDB4 size 4 virtual_protect 0
        {n}1@ /= 31.47
        {s}1@ += 4.0
        {y}1@ *= 0.9615384
        format 2@ "%.0f" 1@
        Render.DrawText(0@ 2@ {X}300 {Y}300 {color}-1) // X Y Координаты на экране в пикселях
    end
end
 

NookieONE

Участник
128
1
CLEO:
{$CLEO}
{$I SF}

0000:

const
TOGGLE      = 10@
TOGGLE_MOVE = 11@
BUF         = 12@
end

const
hFONT    = 13@
TEXT     = 14@
SX       = 15@
SY       = 16@
NickName = 17@
end 

SX    = 178
SY    = 756
                                                                                         
const
YELLOW = 0xFFFF5000
end

alloc NickName 20
0AF4: NickName = read_string_from_ini_file "cleo\confing.ini" section "NickName" key ":"

0AC6: BUF = label @buffer offset

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
while not SAMP.Available()
wait 100
end

0B6D: render hFONT = create_font "IMPACT" height 10 flags 4
0BE3: raknet setup_incoming_rpc_hook @hook
0B34: samp register_client_command "sreset" to_label @sreset
0B34: samp register_client_command "en" to_label @toggle
0B34: samp register_client_command "move" to_label @move

while true
    wait 0
    if TOGGLE == false
    then
        call @get_values 1 buff BUF returns TEXT
        0B6F: render font hFONT draw_text TEXT pos SX SY color YELLOW
    end
    while TOGGLE_MOVE == true
        wait 0
        0B5E: get_cursor_pos SX SY
        call @get_values 1 buff BUF returns TEXT
        0B6F: render font hFONT draw_text TEXT pos SX SY color YELLOW
        if key_down 1
        then
            TOGGLE_MOVE = false
        end
    end
end

:hook
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == RPC_SCRCLIENTMESSAGE
THEN
    0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
    0BE7: raknet 1@ = bit_stream_read 0@ type BS_TYPE_INT
    0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT
    alloc 3@ 125
    0BE8: raknet bit_stream 0@ read_array 3@ size 2@
    0C1E: struct 3@ offset 2@ size 1 = 0
    IF 0c18: 33@ = 3@ NickName  // ТУТ ВОТ ОН ПРОВЕРЯЕТ, ЕСЛИ ЕСТЬ В СТРОКЕ НИК, ТО ОН ИДЕТ ДАЛЬШЕ
    THEN
        IF OR
        0C18: 33@ = strstr string1 3@ string2 "ТЕКСТ NICK"  // ПОИСК ТЕКСТА
        0C18: 33@ = strstr string1 3@ string2 "ТЕКСТ1 NICK" // ПОИСК ТЕКСТА1
        THEN
            0AF0: 4@ = get_int_from_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
            000A: 4@ += 1
            0AF1: write_int 4@ to_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
        END
   
        IF 0C18: 33@ = strstr string1 3@ string2 "ДРУГОЙ NICK ТЕКСТ" // ПОИСК ТЕКСТА
        THEN
            0AF0: 4@ = get_int_from_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
            000A: 4@ += 1
            0AF1: write_int 4@ to_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
        END
    END
    free 3@
END
0BE0: raknet hook_ret TRUE

:sreset
chatmsg "Счётчик обнулен!" -1
0AF1: write_int 0 to_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
0AF1: write_int 0 to_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
SAMP.CmdRet()

:toggle
0B12: TOGGLE = TOGGLE XOR 1
SAMP.CmdRet()

:move
0B12: TOGGLE_MOVE = TOGGLE_MOVE XOR 1
SAMP.CmdRet()

:get_values
0AF0: 1@ = get_int_from_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
0AF0: 2@ = get_int_from_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
0AD3: 0@ = format "{ec0000}ПЕРВОЕ: {FFFFFF}%d  {ec0000}ВТОРОЕ: {FFFFFF}%d" 1@ 2@
ret 1 0@

:buffer
hex
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0
end
 

BiggySmolz

Новичок
19
2
Ребят, можно ли сделать фейк PIN для АРП ??? Типо я уже ввел все данные и при следующем заходе у меня выдавался фейк ввод пинкода )
Пример:
upload_2018-1-24_16-59-5.png
 

NookieONE

Участник
128
1
CLEO:
{$CLEO}
{$I SF}

0000:

const
TOGGLE      = 10@
TOGGLE_MOVE = 11@
BUF         = 12@
end

const
hFONT    = 13@
TEXT     = 14@
SX       = 15@
SY       = 16@
NickName = 17@
end

SX    = 178
SY    = 756
                                                                                        
const
YELLOW = 0xFFFF5000
end

alloc NickName 20
0AF4: NickName = read_string_from_ini_file "cleo\confing.ini" section "NickName" key ":"

0AC6: BUF = label @buffer offset

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
while not SAMP.Available()
wait 100
end

0B6D: render hFONT = create_font "IMPACT" height 10 flags 4
0BE3: raknet setup_incoming_rpc_hook @hook
0B34: samp register_client_command "sreset" to_label @sreset
0B34: samp register_client_command "en" to_label @toggle
0B34: samp register_client_command "move" to_label @move

while true
    wait 0
    if TOGGLE == false
    then
        call @get_values 1 buff BUF returns TEXT
        0B6F: render font hFONT draw_text TEXT pos SX SY color YELLOW
    end
    while TOGGLE_MOVE == true
        wait 0
        0B5E: get_cursor_pos SX SY
        call @get_values 1 buff BUF returns TEXT
        0B6F: render font hFONT draw_text TEXT pos SX SY color YELLOW
        if key_down 1
        then
            TOGGLE_MOVE = false
        end
    end
end

:hook
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
IF 0@ == RPC_SCRCLIENTMESSAGE
THEN
    0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM
    0BE7: raknet 1@ = bit_stream_read 0@ type BS_TYPE_INT
    0BE7: raknet 2@ = bit_stream_read 0@ type BS_TYPE_INT
    alloc 3@ 125
    0BE8: raknet bit_stream 0@ read_array 3@ size 2@
    0C1E: struct 3@ offset 2@ size 1 = 0
    IF 0c18: 33@ = 3@ NickName  // ТУТ ВОТ ОН ПРОВЕРЯЕТ, ЕСЛИ ЕСТЬ В СТРОКЕ НИК, ТО ОН ИДЕТ ДАЛЬШЕ
    THEN
        IF OR
        0C18: 33@ = strstr string1 3@ string2 "ТЕКСТ NICK"  // ПОИСК ТЕКСТА
        0C18: 33@ = strstr string1 3@ string2 "ТЕКСТ1 NICK" // ПОИСК ТЕКСТА1
        THEN
            0AF0: 4@ = get_int_from_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
            000A: 4@ += 1
            0AF1: write_int 4@ to_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
        END
  
        IF 0C18: 33@ = strstr string1 3@ string2 "ДРУГОЙ NICK ТЕКСТ" // ПОИСК ТЕКСТА
        THEN
            0AF0: 4@ = get_int_from_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
            000A: 4@ += 1
            0AF1: write_int 4@ to_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
        END
    END
    free 3@
END
0BE0: raknet hook_ret TRUE

:sreset
chatmsg "Счётчик обнулен!" -1
0AF1: write_int 0 to_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
0AF1: write_int 0 to_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
SAMP.CmdRet()

:toggle
0B12: TOGGLE = TOGGLE XOR 1
SAMP.CmdRet()

:move
0B12: TOGGLE_MOVE = TOGGLE_MOVE XOR 1
SAMP.CmdRet()

:get_values
0AF0: 1@ = get_int_from_ini_file "cleo\confing.ini" section "ПЕРВОЕ" key "Количество"
0AF0: 2@ = get_int_from_ini_file "cleo\confing.ini" section "ВТОРОЕ" key "Количество"
0AD3: 0@ = format "{ec0000}ПЕРВОЕ: {FFFFFF}%d  {ec0000}ВТОРОЕ: {FFFFFF}%d" 1@ 2@
ret 1 0@

:buffer
hex
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0
end
Игра вылетает после 10 минут игры. ХЕЛП
 

Kristyan

Известный
165
16
Eсли считается только последняя строка, 99, скрипт работает.
CLEO:
31@ = 0
0B34: samp register_client_command "fvrr" to_label @fvrespawn_411
WHILE TRUE
WAIT 0
    IF 31@ == 1
    THEN
    0AC8: 2@ = allocate_memory_size 260
    0AC8: 28@ = allocate_memory_size 50
    0AC8: 29@ = allocate_memory_size 35
    0AC8: 30@ = allocate_memory_size 0
    0B75: samp get_chat_string 99 text_to 2@ prefix_to 28@ color_to 29@ prefix_color_to 30@
            if
                0C18: 17@ = strstr string1 2@ string2 "test"
            then
            chatmsg "Someone else type it!" -1
              else
                say "test 5sec" 
                wait 5000
                say "test"
         END
    31@ = 0
END
    0AC9: free_allocated_memory 2@
    0AC9: free_allocated_memory 28@
    0AC9: free_allocated_memory 29@
    0AC9: free_allocated_memory 30@
end
SAMP.CmdRet()
                                                                            
:fvrespawn_411
0B12: 31@ = 31@ XOR 1
samp.CmdRet()

НО, если я хочу cделать по больше строк с for, то скрипт после активации спамит "say". Даже если в те строки есть "test".

CLEO:
31@ = 0
0B34: samp register_client_command "fvrr" to_label @fvrespawn_411
WHILE TRUE
WAIT 0
    IF 31@ == 1
    THEN
   for 0@ = 94 to 99
    0AC8: 2@ = allocate_memory_size 260
    0AC8: 28@ = allocate_memory_size 50
    0AC8: 29@ = allocate_memory_size 35
    0AC8: 30@ = allocate_memory_size 0
    0B75: samp get_chat_string 0@ text_to 2@ prefix_to 28@ color_to 29@ prefix_color_to 30@
            if
                0C18: 17@ = strstr string1 2@ string2 "FVR in 5 seconds"
            then
            chatmsg "Someone else type it!" -1
              else
                say "LOH 5sec"
                wait 5000
                say "LOH"
         END
    31@ = 0
END
    0AC9: free_allocated_memory 2@
    0AC9: free_allocated_memory 28@
    0AC9: free_allocated_memory 29@
    0AC9: free_allocated_memory 30@
end
end
SAMP.CmdRet()
                                                                            
:fvrespawn_411
0B12: 31@ = 31@ XOR 1
samp.CmdRet()