[CLEO] Фейк сообщения в чат

Статус
В этой теме нельзя размещать новые ответы.

Slayer.

Новичок
Автор темы
14
0
Здарова всем. В общем такая шняга. Хотел сделать фейк сообщения в чат с ником и цифрой, но получается какая-то хрень. Меня либо крашит, либо ник не пишет, но если и пишет, то пишет дерьмо какое-то. С цифрой все нормас. Помогите(

0000: NOP
0AA2: 31@ = load_library "kernel32.dll" // IF and SET
0AA4: 30@ = get_proc_address "GetModuleHandleA" library 31@ // IF and SET
0AA7: call_function 30@ num_params 1 pop 0 "CLEO.asi" 0@
0@ += 274772
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
1@ -= 1
0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0

:Noname_111
wait 100
SAMP.Available
else_jump @Noname_111
0B34: samp register_client_command "test" to_label @cmd
0BDE: pause_thread 0

:cmd
0B35: samp 0@ = get_last_command_params
0AD4: 1@ = scan_string 0@ format "%s %d" 29@ 30@
chatmsg "Здесь типо ник должен быть [%s], а здесь цифра [%d]" color -1 params 29@ 30@
SAMP.CmdRet​
 

SR_team

like pancake
BH Team
4,809
6,487
нельзя сканировать строку на строку этим опкодом
 

unInstance

Новичок
Проверенный
311
224
0000: NOP
0AA2: 31@ = load_library "kernel32.dll" // IF and SET
0AA4: 30@ = get_proc_address "GetModuleHandleA" library 31@ // IF and SET
0AA7: call_function 30@ num_params 1 pop 0 "CLEO.asi" 0@
0@ += 274772
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
1@ -= 1
0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0

:Noname_111
wait 100
SAMP.Available
else_jump @Noname_111
0B34: samp register_client_command "test" to_label @cmd
0BDE: pause_thread 0

:cmd
0B35: samp 0@ = get_last_command_params
0AD4: 1@ = scan_string 0@ format "%s %d" 29@ 30@
chatmsg "Здесь типо ник должен быть [%s], а здесь цифра [%d]" color -1 params 29@ 30@
SAMP.CmdRet


0af8 - try it.
 
  • Нравится
Реакции: kraft1k

Slayer.

Новичок
Автор темы
14
0
нельзя сканировать строку на строку этим опкодом
Вот так сделал. Все работает, но только в конце всего "0" добавляется. Как убрать?

:cmd
0B35: samp 29@ 30@ = get_last_command_params
0AF8: "%s %d" color -1 29@ 30@
SAMP.CmdRet

samp008png_2762473_21548054.png
 
Последнее редактирование:

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,987
:cmd
0B35: samp 0@ = get_last_command_params
0AF8: 0@ color -1
SAMP.CmdRet
 

Сэнд

Известный
Проверенный
436
213
Денис, здарова (если это ты)

CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until SAMP.Available()

0B34: samp register_client_command "mytest" to_label @telo

while true
wait 0
if 0@ == 1
then
0@ = 0
end
end

:telo
0B35: samp 1@ = get_last_command_params // команда принимает параметры
0AC8: 29@ = allocate_memory_size 68 // выделяем память
0AC8: 30@ = allocate_memory_size 68
if 0AD4: 1@ = scan_string 1@ format "%s %d" 2@ 3@ // форматируем и разделяем параметры
then
0af8: "Ник - %s; Цифра - %d" -1 2@ 3@ // выводим в чат
0AC9: free_allocated_memory 2@ // освобождаем память
0AC9: free_allocated_memory 3@
end
0B12: 0@ = 0@ XOR 1
SAMP.CmdRet

Вот так вроде должно работать. Билдера нет под рукой, не могу проверить.
 
Последнее редактирование:

hnnssy

Известный
Друг
2,684
2,764
Денис, здарова (если это ты)

CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until SAMP.Available()

0B34: samp register_client_command "mytest" to_label @cmd

while true
wait 0
if 0@ == 1
then
0@ = 0
end
end

:telo
0B35: samp 1@ = get_last_command_params // команда принимает параметры
0AC8: 29@ = allocate_memory_size 68 // выделяем память
0AC8: 30@ = allocate_memory_size 68
if 0AD4: 1@ = scan_string 1@ format "%s %d" 2@ 3@ // форматируем и разделяем параметры
then
0af8: "Ник - %s; Цифра - %d" -1 2@ 3@ // выводим в чат
0AC9: free_allocated_memory 2@ // освобождаем память
0AC9: free_allocated_memory 3@
end
0B12: 0@ = 0@ XOR 1
SAMP.CmdRet

Вот так вроде должно работать. Билдера нет под рукой, не могу проверить.
Не будет работать.
 

Slayer.

Новичок
Автор темы
14
0
Денис, здарова (если это ты)

CLEO:
{$CLEO .cs}
0000: NOP

repeat
wait 0
until SAMP.Available()

0B34: samp register_client_command "mytest" to_label @telo

while true
wait 0
if 0@ == 1
then
0@ = 0
end
end

:telo
0B35: samp 1@ = get_last_command_params // команда принимает параметры
0AC8: 29@ = allocate_memory_size 68 // выделяем память
0AC8: 30@ = allocate_memory_size 68
if 0AD4: 1@ = scan_string 1@ format "%s %d" 2@ 3@ // форматируем и разделяем параметры
then
0af8: "Ник - %s; Цифра - %d" -1 2@ 3@ // выводим в чат
0AC9: free_allocated_memory 2@ // освобождаем память
0AC9: free_allocated_memory 3@
end
0B12: 0@ = 0@ XOR 1
SAMP.CmdRet

Вот так вроде должно работать. Билдера нет под рукой, не могу проверить.
Приветики. Проверил, и вот что пишется вместо ника "…Аu‹D$‹T$‰A|‰‘€". Ну и все в этом духе
 

Slayer.

Новичок
Автор темы
14
0
Да не, все нормас везде. Только здесь чет не работает
 

BlackKnigga

Известный
BH Team
922
446
Исправил, метка не та :D
BH Wiki написал(а):
Данный опкод(0ad4) не поддерживает сохранения какого-либо просканированного текста в выделенный буфер. Для сохранения используйте локальные переменные(1@s, 1@v), но не забывайте о том, что они имеют лимит(15-16 символов)
А вообще лучше sscanf юзать.
 
Статус
В этой теме нельзя размещать новые ответы.