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

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вышел говнокод, но я старался..
CLEO:
0AA2: 25@ = load_library "Wininet.dll"
0AA4: 26@ = get_proc_address "InternetOpenUrlA" library 25@
alloc 1@ 128
format 1@ "https:%c/pastebin.com/raw/FDBNLi6x" 47
0AA7: call_function 26@ num_params 6 pop 0 1@ 0 0 0 0 0 2@
free 1@
0AA4: 27@ = get_proc_address "InternetReadFile" library 25@
alloc 3@ 1024
0AA7: call_function 27@ num_params 4 pop 0 2@ 3@ 0 0 20@
chatmsg "%s" -1 3@
free 3@
0AA3: free_library 25@

В переменную 3@ возвращает долбаёб по арабски
25@ - библиотека WinInet.dll
26@ - адрес процесса InternetOpenUrlA
1@ - адрес страницы
2@ - как по мне, должно вернуть хендл страницы, но чует мое чутье скриптера, что это не так
27@ - адрес процесса InternetReadFile
3@ - буфер(переменная) для хранения исходного текста страницы(походу:))
20@ - True/False процесса InternetReadFile
Подскажите мне, холопу, что я сделал не так, и если лишние 60 секунд, напишите как должно быть :)
Интересная получается картина...
Щас в лс кину исходный код клео стилера, там все на этих функциях потроено
 
  • Нравится
Реакции: romanblinov2013

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В 20@ возвращаемое значение
 
  • Нравится
Реакции: romanblinov2013

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
0AA4: 3@ = get_proc_address "InternetReadFile" library 1@
alloc 8@ 64 // msg
10@v = 0 // msg len
0AA5: call_function 3@ num_params 4 pop 0 params 10@v 64 8@ 6@
log "{FFCC00}* [MGP] {FFFFFF}Ответ:%c%s" 0xA 8@

я так юзал
Ну это то правильно, но тк функция булевая, в 20@ пойдет результат, ток хз зачем он ему там
 
  • Нравится
Реакции: romanblinov2013

Clarence

Известный
75
5
Кароч
Пишу скрипт
Все хорошо, сама структура рабочая
Но

Суть во в чем

CLEO:
// кусок скрипта

0AC8: 15@ = allocate_memory_size 128
0AC8: 12@ = allocate_memory_size 64                                                     
0AC8: 13@ = allocate_memory_size 64 
0AC8: 14@ = allocate_memory_size 64

:1
wait 0
0B75: samp get_chat_string 99 text_to 15@ prefix_to 12@ color_to 13@ prefix_color_to 14@

:0
wait 0
IF
0C21: stricmp string1 15@ string2 "У вас нет маски!"

Jump @дальше уже рабочая часть



так вот, строки не сравниваются
То есть если сервер пишет "У вас нет маски!" то никаких действий
А если я в чат эту фразу напишу, скрипт работает
В чем прикол?

Сразу скажу, перепробовал кучу опкодов со сравнениями. И регистром, и без, и частями, и тд

Помогите, в чем проблема?
 
  • Нравится
Реакции: romanblinov2013

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Кароч
Пишу скрипт
Все хорошо, сама структура рабочая
Но

Суть во в чем

CLEO:
// кусок скрипта

0AC8: 15@ = allocate_memory_size 128
0AC8: 12@ = allocate_memory_size 64                                                   
0AC8: 13@ = allocate_memory_size 64
0AC8: 14@ = allocate_memory_size 64

:1
wait 0
0B75: samp get_chat_string 99 text_to 15@ prefix_to 12@ color_to 13@ prefix_color_to 14@

:0
wait 0
IF
0C21: stricmp string1 15@ string2 "У вас нет маски!"

Jump @дальше уже рабочая часть



так вот, строки не сравниваются
То есть если сервер пишет "У вас нет маски!" то никаких действий
А если я в чат эту фразу напишу, скрипт работает
В чем прикол?

Сразу скажу, перепробовал кучу опкодов со сравнениями. И регистром, и без, и частями, и тд

Помогите, в чем проблема?
как-то не очень ты делаешь, лучше ставь хук на появление сообщения, и там бери текст
 
Последнее редактирование модератором:
  • Нравится
Реакции: romanblinov2013

BlackKnigga

Известный
BH Team
922
444
Кароч
Пишу скрипт
Все хорошо, сама структура рабочая
Но

Суть во в чем

CLEO:
// кусок скрипта

0AC8: 15@ = allocate_memory_size 128
0AC8: 12@ = allocate_memory_size 64                                                   
0AC8: 13@ = allocate_memory_size 64
0AC8: 14@ = allocate_memory_size 64

:1
wait 0
0B75: samp get_chat_string 99 text_to 15@ prefix_to 12@ color_to 13@ prefix_color_to 14@

:0
wait 0
IF
0C21: stricmp string1 15@ string2 "У вас нет маски!"

Jump @дальше уже рабочая часть



так вот, строки не сравниваются
То есть если сервер пишет "У вас нет маски!" то никаких действий
А если я в чат эту фразу напишу, скрипт работает
В чем прикол?

Сразу скажу, перепробовал кучу опкодов со сравнениями. И регистром, и без, и частями, и тд

Помогите, в чем проблема?
Возможно в тексте есть цветовой код {rrggbb} и сравнение не проходит. Пробуй функцию выше
 
Последнее редактирование модератором:

noob213

Известный
33
2
мне нужна помощь
То, что я хочу достичь, это записать более 16 байтов текста в файле конфигурации, как я могу это сделать?

:cmd
0B35: samp 0@ = get_last_command_params
if
0AD4: 0@ = scan_string 0@ format "18+49 %s" format 3@v
then
0AF1: write_int 18 to_ini_file "cleo\config.ini" section "Settings" key "intkey"
0AF1: write_int 49 to_ini_file "cleo\config.ini" section "Settings" key "intkey2"
0AF5: write_string 3@v to_ini_file "cleo\config.ini" section "Settings" key "Text" // // write the scanned text %s in the configuration file
end
0B43: samp cmd_ret