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

1,417
1,035
в этом-то как раз проблема...
ставь хук на присылаемый текст и добавляй строку в чат

почему крашит?
Код:
{$CLEO}
0000:

0B34: samp register_client_command "aosk" to_label @RP

0BDE: pause_thread 0

:RP
0B35: samp 0@ = get_last_command_params
0AD4: 3@ = scan_string 0@ format "%d" 1@
0AF9: samp process_chat_input "/ban 30 %d Читы." 1@
0B43: samp cmd_ret
опкод 0AF9: отправляет сообщение без ввода в чат(не остается в истории и не надо нажимать enter), поэтому опкод 0AD4 можно заменить на
CLEO:
0C1A: 0@ = atoi 0@
CLEO:
{$CLEO}
0000:

0B34: samp register_client_command "aosk" to_label @RP

0BDE: pause_thread 0

:RP
0B35: samp 0@ = get_last_command_params
0C1A: 0@ = atoi 0@
0AF9: samp say_msg "/ban 30 %d Читы." 0@
0B43: samp cmd_ret
 
Последнее редактирование:

_RosE_

Новичок
26
0
Всмысле? /test будет отправляться на сервер.
Либо я не понимаю чего он хочет
Смотри, если я пропишу /test будет только то, что у меня в коде, а серверная команда которая есть на сервере отключится, мне нужно так, чтобы стандартную команду не пришлось писать в тело CLEO команды
 

LUCHARE

Известный
Друг
545
701
а серверная команда которая есть на сервере отключится
Почему ты такой сложный
Вот тебе пример, подумай
CLEO:
{$CLEO}
0000:

repeat
wait 0
until SAMP.Available()

0B34: samp register_client_command "nhs" to_label @cmd
0BDE: 0 // pause thread

:cmd
0B35: samp 0@ = get_last_command_params
if 0AD4: 1@ = scan_string 0@ format "%d" 2@
then
    if 0B23:  samp is_player_connected 2@
    then
    alloc 3@ 25
    0B36: samp 3@ = get_player_nickname 2@
    say "/nhistory %s" 3@
    free 3@
    end
end
SAMP.CmdRet()
 
Последнее редактирование:

BlackKnigga

Известный
BH Team
922
448
Смотри, если я пропишу /test будет только то, что у меня в коде, а серверная команда которая есть на сервере отключится, мне нужно так, чтобы стандартную команду не пришлось писать в тело CLEO команды
Всмымле отключится? Я в том же блоке добавил отправку на сервер
 

Jeemmi

Новичок
8
1
ставь хук на присылаемый текст и добавляй строку в чат


опкод 0AF9: отправляет сообщение без ввода в чат(не остается в истории и не надо нажимать enter), поэтому опкод 0AD4 можно заменить на
CLEO:
0C1A: 0@ = atoi 0@
CLEO:
{$CLEO}
0000:

0B34: samp register_client_command "aosk" to_label @RP

0BDE: pause_thread 0

:RP
0B35: samp 0@ = get_last_command_params
0C1A: 0@ = atoi 0@
0AF9: samp say_msg "/ban 30 %d Читы." 0@
0B43: samp cmd_ret
все равно
 

LUCHARE

Известный
Друг
545
701
Как сделать цикл который будет все время работать на фоне?
Создаешь новый поток и в нем цикл
CLEO:
{$CLEO}
0000:

repeat
wait 0
until SAMP.Available()

0C6A: 1@ = create_custom_thread_at_label @thread

while true
wait 0
0661: NOP "main(0) thread"
end

:thread
while true
wait 0
0C6D: 0@ = get_thread 0 local_var 1@ // or 0A9F: 0@ = current_thread_pointer
0661: NOP "thread %d" 0@
end