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

MAHEKEH

Известный
1,523
321
Кто знает, как вывести ник из чата?

Делал скрипт, который будет что-то делать, если кто-то напишет "привет", но если выводить строчку через SAMP.GetChatString(99, 23@, 0, 0, 0) ник не пишется. Что делать?

на пару страниц выше пытался выводить ид игрока с чата, получалось выводить только ник игрока с чата 😅
К слову забил. Можешь опробовать тот метод..
 
  • Влюблен
Реакции: Bili Djin

Bili Djin

Новичок
29
22
на пару страниц выше пытался выводить ид игрока с чата, получалось выводить только ник игрока с чата 😅
К слову забил. Можешь опробовать тот метод..
Получилось вывести ИД, спасибо большое что подсказал
 
  • Нравится
Реакции: MAHEKEH

Bili Djin

Новичок
29
22
скинь код с выводом ида если не сложно, законсервирую на будущее, мб пригодиться.
CLEO:
:potock_5
wait 0
alloc 23@ 512
SAMP.GetChatString(99, 23@, 0, 0, 0)
8C29:   not 24@ = stristr string1 23@ string2 "Привет" 
jf @5_1
jump @potock_5

:5_1
wait 0
0C2C: 22@ = strrchr 23@ char 0x5B
0C11: memset destination 22@ value 0x0 size 1
22@++
0C1A: 10@ = atoi 22@
0B36: samp 22@ = get_player_nickname 10@
 
  • Нравится
Реакции: MAHEKEH

D3.Pheonix

Всефорумный нагибатор
Модератор
2,102
1,008
скинь код с выводом ида если не сложно, законсервирую на будущее, мб пригодиться.
пздц я тебе давно ссылку дал
 

astap_

Известный
Модератор
586
526
Как заблокировать отправку данных нажатой клавиши ( Y и N ) на некоторое время?
Лучше использовать таймеры (переменные 32@ и 33@ всегда хранят в себе время в мс с момента запуска игры. Либо опкод 01BD, тоже подойдет). Но если wait в мейн цикле не помешает работе твоего скрипта, то можно и так.
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:

29@ = 5000

while not SAMP.Available()
    wait 0
end
0b34: "cmdd" @cmd
0BE2: raknet setup_outcoming_packet_hook @hook

while true
    wait 0
    if 1@ == true
    then              
        wait 29@
        1@ = false
        log "Отправка Y/N разблокирована"
    end        
end

:cmd
0B12: 1@ = 1@ XOR 1
if 1@ == true
then log "Отправка Y/N заблокирована на %d ms" 29@
else log "Отправка Y/N разблокирована"
end
cmdret

:hook
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if 0@ == PACKET_PLAYER_SYNC
then
    0BE5: raknet 0@ = get_hook_param PARAM_BITSTREAM     
    0BF3: raknet 0@ = bit_stream 0@ get_data_ptr
  
    if 1@ == true
    then  
        0C0C: 2@ = struct 0@ offset 37 size 1 // uint8_t byteCurrentWeapon;
      
        if 2@ >= 128 // N
        then
            2@ -= 128
            0C0D: struct 0@ offset 37 size 1 = 2@
        end
      
        if 2@ >= 64  // Y
        then
            2@ -= 64
            0C0D: struct 0@ offset 37 size 1 = 2@ 
        end
    end
end
0BE0: raknet hook_ret true
 
  • Влюблен
Реакции: Bili Djin

SATURNi

Новичок
3
0
Привет! Файл походу оч сильно защищён автором, но я не собираюсь его вообще куда-либо выкладывать, я просто играю в одиночку и хочу поменять клавиши с Q и E на Z и C. Автор вообще тупо выставил не просто на сами кнопки Q и E, а именно на поворот влево и вправо, от этого игрок постоянно дёргается и пропадает возможность вообще смотреть влево и вправо.
Короче, помогите пожалуйста поменять key_pressed 5 на 67 и key_pressed 7 на 90, если сможете обойти защиту.
Я что-то смотрел как ставить и снимать защиту, но спустя два дня попыток у меня ничего не вышло, там много ошибок выдаёт при компиляции.
 

Вложения

  • turret3.cs
    18.9 KB · Просмотры: 5

astap_

Известный
Модератор
586
526
Привет! Файл походу оч сильно защищён автором, но я не собираюсь его вообще куда-либо выкладывать, я просто играю в одиночку и хочу поменять клавиши с Q и E на Z и C. Автор вообще тупо выставил не просто на сами кнопки Q и E, а именно на поворот влево и вправо, от этого игрок постоянно дёргается и пропадает возможность вообще смотреть влево и вправо.
Короче, помогите пожалуйста поменять key_pressed 5 на 67 и key_pressed 7 на 90, если сможете обойти защиту.
Я что-то смотрел как ставить и снимать защиту, но спустя два дня попыток у меня ничего не вышло, там много ошибок выдаёт при компиляции.
теперь компилируется. меняй сам, на что тебе нужно
 

Вложения

  • turret3.txt
    8 KB · Просмотры: 11
  • Нравится
Реакции: rvng

MAHEKEH

Известный
1,523
321
Короче рассказываю, перешел с 7 винды на 10 и перестала работать вот эта параша
( понятия не имею как это связано )
сама функция камеры и мыши перестала давать какой либо результат

Код:
:UP                                                                    
0AA2: 31@ = load_library "user32.dll"                                  
0AA4: 30@ = get_proc_address "mouse_event" library 31@                  
0AA5: call 30@ num_params 5 pop 0 0 0 0 3@ 0                            
return

короче нужна аналогичная функция эмулирования поворота мыши или камеры
или совет как чинить говно выше
 

hnnssy

knowname
Друг
2,627
2,443
Короче рассказываю, перешел с 7 винды на 10 и перестала работать вот эта параша
( понятия не имею как это связано )
сама функция камеры и мыши перестала давать какой либо результат

Код:
:UP                                                                   
0AA2: 31@ = load_library "user32.dll"                                 
0AA4: 30@ = get_proc_address "mouse_event" library 31@                 
0AA5: call 30@ num_params 5 pop 0 0 0 0 3@ 0                           
return

короче нужна аналогичная функция эмулирования поворота мыши или камеры
или совет как чинить говно выше
перестала работать параша с видео или твоя параша? это разные параши, в них слегка иначе функция используется
вообще пишут, что в виндовс 10 не работает MOUSEEVENTF_LEFTDOWN иногда, попробуй up/down
"( понятия не имею как это связано )" - user32.dll - библиотека виндовса, а не игры, вот так и связано
 

MAHEKEH

Известный
1,523
321
перестала работать параша с видео или твоя параша? это разные параши, в них слегка иначе функция используется
вообще пишут, что в виндовс 10 не работает MOUSEEVENTF_LEFTDOWN иногда, попробуй up/down
"( понятия не имею как это связано )" - user32.dll - библиотека виндовса, а не игры, вот так и связано

да по сути одна и та же параша, я просто gosub юзаю заместо call
Код:
0AB1: @MouseMOVE_DOWN 0

:MouseMOVE_DOWN
0AA2: 31@ = load_library "user32.dll"
0AA4: 30@ = get_proc_address "mouse_event" library 31@
0AA5: call 30@ num_params 5 pop 0 0 0 -1 0 0
0AA3: free_library 31@
0AB2: 0

Код:
gosub @UP

:UP                                                                   
0AA2: 31@ = load_library "user32.dll"                                 
0AA4: 30@ = get_proc_address "mouse_event" library 31@                 
0AA5: call 30@ num_params 5 pop 0 0 0 0 3@ 0                           
return


- user32.dll - библиотека виндовса, а не игры, вот так и связано

ну ясно ок

что в виндовс 10 не работает MOUSEEVENTF_LEFTDOWN иногда, попробуй up/down

?
там уйма опкодов работы с камерой, но это скорее для съемки
мне её сдвигать над по осям и возвращать на место.
 

hnnssy

knowname
Друг
2,627
2,443
да по сути одна и та же параша, я просто gosub юзаю заместо call
Код:
0AB1: @MouseMOVE_DOWN 0

:MouseMOVE_DOWN
0AA2: 31@ = load_library "user32.dll"
0AA4: 30@ = get_proc_address "mouse_event" library 31@
0AA5: call 30@ num_params 5 pop 0 0 0 -1 0 0
0AA3: free_library 31@
0AB2: 0

Код:
gosub @UP

:UP                                                                  
0AA2: 31@ = load_library "user32.dll"                                
0AA4: 30@ = get_proc_address "mouse_event" library 31@                
0AA5: call 30@ num_params 5 pop 0 0 0 0 3@ 0                          
return




ну ясно ок



?
там уйма опкодов работы с камерой, но это скорее для съемки
мне её сдвигать над по осям и возвращать на место.
а ты вот юзал ту парашу из видео, именно которую кинул в пример? вот именно 0 0 0 -1 0 0