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

BlackKnigga

Известный
BH Team
922
445
Возможно у кого-то есть функция хука определенного текста из чата(что-то типа поиска текста из чата, только на хуке). Именно хука, так как вроде хук работает быстрее, чем через обычный поиск текста в чате ? Или нет ?
Хукается пакет со строкой в тот момент, как она приходит. Ты не сможешь хукнуть строку которая уже пришла. А разницы в скорости особо заметной нет, если не учитывать то что при хуке ты работаешь со строкой еще до того как она отобразилась в чат.
 
  • Нравится
Реакции: 01EG

Clopster

Известный
143
96
слово "TEST" не выводится в чат при первом вводе команды, а вводится при втором, третьем и так далее.
При этом, само слово идет перед строчкой, которую ищет скрипт, а не после, как планировалось.
Как быть?

Код:
{$CLEO}
0000:nop

:Start
0001: wait 500 ms
0AFA: is_samp_available
004D: jump_if_false @Start
0B34: samp register_client_command "suk" to_label @su1
0BDE: pause_thread 0

:su1
0B35: samp 20@ = get_last_command_params
0AD4: 25@ = scan_string 20@ format "%d %i" 2@ 3@
alloc 4@ 70
alloc 5@ 70
alloc 10@ 512
if 3@ == 1  
then
0AF4: 4@ = read_string_from_ini_file "cleo\suk.ini" section "suu1" key "stars"
0AF4: 5@ = read_string_from_ini_file "cleo\suk.ini" section "suu1" key "reason"
0AF9: samp say_msg "/su %d %s %s" 2@ 4@ 5@
0B75: samp get_chat_string 99 text_to 10@ prefix_to 0 color_to 0 prefix_color_to 0
if
0C18: 31@ = strstr string1 10@ string2 "Сейчас у игрока 1 уровень розыска. Вы можете его увеличить на 5"
then
0AF8: samp add_message_to_chat "TEST"  0xF8F8FF
end
end
0B43: cmd_ret
 
Последнее редактирование:

hnnssy

Известный
Друг
2,684
2,750
слово "TEST" не выводится в чат при первом вводе команды, а вводится при втором, третьем и так далее.
При этом, само слово идет перед строчкой, которую ищет скрипт, а не после, как планировалось.
Как быть?

Код:
{$CLEO}
0000:nop

:Start
0001: wait 500 ms
0AFA: is_samp_available
004D: jump_if_false @Start
0B34: samp register_client_command "suk" to_label @su1
0BDE: pause_thread 0

:su1
0B35: samp 20@ = get_last_command_params
0AD4: 25@ = scan_string 20@ format "%d %i" 2@ 3@
alloc 4@ 70
alloc 5@ 70
alloc 10@ 512
if 3@ == 1 
then
0AF4: 4@ = read_string_from_ini_file "cleo\suk.ini" section "suu1" key "stars"
0AF4: 5@ = read_string_from_ini_file "cleo\suk.ini" section "suu1" key "reason"
0AF9: samp say_msg "/su %d %s %s" 2@ 4@ 5@
0B75: samp get_chat_string 99 text_to 10@ prefix_to 0 color_to 0 prefix_color_to 0
if
0C18: 31@ = strstr string1 10@ string2 "Сейчас у игрока 1 уровень розыска. Вы можете его увеличить на 5"
then
0AF8: samp add_message_to_chat "TEST"  0xF8F8FF
end
end
0B43: cmd_ret
0AF9: samp say_msg "/su %d %s %s" 2@ 4@ 5@
0B75: samp get_chat_string 99 text_to 10@ prefix_to 0 color_to 0 prefix_color_to 0
ответ сервера не успевает появиться в чате до того, как ты проверяешь строку
 

iTz_WEEZY

Известный
298
85
у меня вопрос..
напр.. я сделал сокращенную команду "sg"
и отправка в чат с 3мя парамеnрами:

/sellgun [id] [цена] [кол.во патр]

как мне это прописать? меня интересует только "say"
say "/sellgun %d %s %s"
или
say "/sellgun %s %s %s"
 

Lightkiller

Известный
Всефорумный модератор
557
397
у меня вопрос..
напр.. я сделал сокращенную команду "sg"
и отправка в чат с 3мя парамеnрами:

/sellgun [id] [цена] [кол.во патр]

как мне это прописать? меня интересует только "say"
say "/sellgun %d %s %s"
или
say "/sellgun %s %s %s"
%d %d %d
 

iTz_WEEZY

Известный
298
85
вообще никогда не интересовался в чем разница между %d и %s и еще чето там
 

Lightkiller

Известный
Всефорумный модератор
557
397
вообще никогда не интересовался в чем разница между %d и %s и еще чето там
1Usz27t.png
 

Clopster

Известный
143
96
ответ сервера не успевает появиться в чате до того, как ты проверяешь строку
я это подозревал, но и экспериментировал с задержкой, ставил даже 5 секунд и выносил часть с текстом на вторую часть скрипта (не помню как называется абзац этот, начинающийся с ":lalala" :D ) И все то же самое выходит.
 

zikekazil

Новичок
7
0
При попощи ссканфа попробовал тут из диалога некую инфу извлечь, ну, к примеру диалог такой "Ник: Vasya_Pupkin Lvl: 11", ник и лвл, соответсвенно, могут быть разными, мне же нужно извлечь только Lvl, тогда как проигнорить один параметр?
 

SR_team

like pancake
BH Team
4,720
6,373
Ты не сможешь хукнуть строку которая уже пришла.
с чего это ты взял? Там очень легко хук ставится.

я это подозревал, но и экспериментировал с задержкой, ставил даже 5 секунд и выносил часть с текстом на вторую часть скрипта (не помню как называется абзац этот, начинающийся с ":lalala" :D ) И все то же самое выходит.
в командах нельзя использовать задержки
 
Последнее редактирование модератором:

Nold

Известный
29
2
Парни, а как-то можно перезагружать .ini скриптов не выходя из игры?