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

LokoLoyKoo

Новичок
103
8
CLEO:
{$CLEO .cs}

0000: NOP

:Noname_2222
0001: wait 400 ms
0AFA:  is_samp_available
004D: jump_if_false @Noname_2222
0001: wait 0 ms
0AF8: samp add_message_to_chat "{ADFF2F}Ðóêîâäîòñâî ïî ìåðîïðèÿòèÿì è ðóáðèêàì..{7DB5C6} Àâòîð{C71585} modnik {ffffff}(v. 1)" color 16777215 
0AF8: samp add_message_to_chat "{ADFF2F}Äëÿ ïðîñìîòðà êîìàíä ââåäèòå {FF0000} /mphelp" color 16777215 

0B34: samp register_client_command "boi" to_label @mp_boi
0BDE: pause_thread 0

:mp_boi
WHILE TRUE
0001: wait 500 ms
IF 0039: 22@ == TRUE
THEN
0AF9: samp say_msg "/s M1"
wait 1000 ms
0AF9: samp say_msg "/s M2"
wait 1000 ms
0AF9: samp say_msg "/s M3"
wait 1000 ms
0AF9: samp say_msg "/s M4"
wait 1000 ms
0AF9: samp say_msg "/s M5"
wait 1000 ms
0AF9: samp say_msg "/s M6"
wait 1000 ms
0AF9: samp say_msg "/s M7"
wait 1000 ms
0AF9: samp say_msg "/s M8"
wait 1000 ms
0AF9: samp say_msg "/s M9"
0006: 22@ = FALSE
END
END

:MQ_BOI
0006: 22@ = TRUE
0B43: samp cmd_ret

Игра зависает, в чем проблема?
 

LokoLoyKoo

Новичок
103
8
1. Запаузил цикл. pause_thread 0 убери
2. Засунул цикл в лабел профит. Перед WHILE TRUE убери :mp_boi.
3. Регай команду на лабел :mq_boi. Тогда будет работать.
Работает, спасибо.

Почему работает только первое?
CLEO:
{$CLEO .cs}

0000: NOP

:Noname_2222
0001: wait 400 ms
0AFA:  is_samp_available
004D: jump_if_false @Noname_2222
0001: wait 0 ms
0AF8: samp add_message_to_chat "{ff00ff}Ðóêîâäîòñâî ïî ìåðîïðèÿòèÿì è ðóáðèêàì..{7DB5C6} Àâò" color 16777215
0AF8: samp add_message_to_chat "{ff00ff}Äëÿ ïðîñìîòðà êîìàíä ââåäèòå {FF0000} /mphelp" color 16777215
0B34: samp register_client_command "boi" to_label @Mp_BOI
0B34: samp register_client_command "stena" to_label @Mp_stenka

WHILE TRUE
0001: wait 500 ms
IF 0039: 1@ == TRUE
THEN
0AF9: samp say_msg "/s Èòàê, äðóçüÿ, îáúÿñíÿþ ïðàâèëà äàííîãî ìåðîïðèÿòèÿ. "
wait 2000 ms
0AF9: samp say_msg "/s ß âûçûâàþ äâóõ èãðîêîâ íà ñâîé âûáîð, è îíè íà÷èíàþò ..."
wait 2000 ms
0AF9: samp say_msg "/s ... äðàòüñÿ. Êòî ïîáåäèò âêëþ÷àåò /cvet 3 è âñòàåò â ..."
wait 2000 ms
0AF9: samp say_msg "/s ... â äðóãîé ñòðîé, è òàê äî òåõ ïîð, ïîêà íå îñòàíåòñÿ ..."
wait 2000 ms
0AF9: samp say_msg "/s ... îäèí èãðîê, îí è åñòü ïîáåäèòåëü ìåðîïðèÿòèÿ."
wait 2000 ms
0AF9: samp say_msg "/s À òåïåðü î òîì, ÷òî çàïðåùåíî: ..."
wait 2000 ms
0af9: samp say_msg "/s ...Ñòðåëüáà èç ëþáîãî îðóæèÿ, íàëè÷èå áîëåå 100 õï, ..."
wait 2000 ms
0AF9: samp say_msg "/s ... íàäåâàòü øëåìû è êàñòåòû, à òàêæå èõ íàëè÷èå."
wait 2000 ms
0AF9: samp say_msg "/s Âñå ïîíÿòíî? Áóäóò âîïðîñ, ïèøèì ìíå â ËÑ."
0006: 1@ = FALSE
END
END

:Mp_BOI
0006: 1@ = TRUE
0B43: samp cmd_ret

WHILE TRUE
0001: wait 500 ms
IF 0039: 2@ == TRUE
THEN
0AF9: samp say_msg "/s Èòàê, äðóçüÿ, îáúÿñíÿþ ïðàâèëà äàííîãî ìåðîïðèÿòèÿ. "
wait 2000 ms
0AF9: samp say_msg "/s ß âûáèðàþ äâóõ êàïèòàíîâ íà ñâîé âûáîð, è îíè íà÷èíàþò ..."
wait 2000 ms
0AF9: samp say_msg "/s ... íàáèðàòü ñåáå êîìàíäó. Êîãî âûáåðóò, òîò âñòàåò â ..."
wait 2000 ms
0AF9: samp say_msg "/s ... ñòðîé ïî ñåðåäèíå àðåíû íà ïðîòèâ ïðîòèâíèêà, ..."
wait 2000 ms
0AF9: samp say_msg "/s ... ïîñëå ñòàðòà âû íà÷èíàåòå ñðàæàòüñÿ."
wait 2000 ms
0AF9: samp say_msg "/s À òåïåðü î òîì, ÷òî çàïðåùåíî:"
wait 2000 ms
0af9: samp say_msg "/s Çàïðåùåíî èñïîëüçîâàòü íàðêîòèêè/ðûáó/äðóãèå ñïîñîáû ïîïîëíåíèÿ çäîðîâüÿ."
wait 2000 ms
0AF9: samp say_msg "/s Çàïðåùåíî èñïîëüçîâàòü ëþáûå ïðåäìåòû/îðóæèå â äðàêå."
wait 2000 ms
0AF9: samp say_msg "/s Ïîñëå ñòàðòà çàïðåùåíî áåãàòü ïî âñåé òåððèòîðèè ñòàäèîíà, òîëüêî ..."
wait 2000 ms
0AF9: samp say_msg "/s ... ïðÿìà íàâñòðå÷ó ïðîòèâíèêó. Âñå âñåì ïîíÿòíî?"
wait 2000 ms
0AF9: samp say_msg "/s Ïî âîïðîñàì îáðàùàòüñÿ ìíå â ëè÷íûå ñîîáùåíèÿ. Íà÷íåì."
0006: 2@ = FALSE
END
END

:Mp_stenka
0006: 1@ = TRUE
0B43: samp cmd_ret
 
Последнее редактирование модератором:

BlackKnigga

Известный
BH Team
922
445
CLEO:
{$CLEO .cs}
1337: make_script_private true // 0000:

:Noname_2222
0001: wait 400 ms
0AFA:  is_samp_available
004D: jump_if_false @Noname_2222
0001: wait 0 ms
0AF8: samp add_message_to_chat "{ff00ff}Ðóêîâäîòñâî ïî ìåðîïðèÿòèÿì è ðóáðèêàì..{7DB5C6} Àâò" color 16777215
0AF8: samp add_message_to_chat "{ff00ff}Äëÿ ïðîñìîòðà êîìàíä ââåäèòå {FF0000} /mphelp" color 16777215
0B34: samp register_client_command "boi" to_label @Mp_BOI
0B34: samp register_client_command "stena" to_label @Mp_stenka
0B34: samp register_client_command "mphelp" to_label @Mphelp // ты случаем не забыл про /mphelp?

WHILE TRUE
0001: wait 500 ms
IF 0039: 1@ == TRUE
THEN
0AF9: samp say_msg "/s Èòàê, äðóçüÿ, îáúÿñíÿþ ïðàâèëà äàííîãî ìåðîïðèÿòèÿ. "
wait 2000 ms
0AF9: samp say_msg "/s ß âûçûâàþ äâóõ èãðîêîâ íà ñâîé âûáîð, è îíè íà÷èíàþò ..."
wait 2000 ms
0AF9: samp say_msg "/s ... äðàòüñÿ. Êòî ïîáåäèò âêëþ÷àåò /cvet 3 è âñòàåò â ..."
wait 2000 ms
0AF9: samp say_msg "/s ... â äðóãîé ñòðîé, è òàê äî òåõ ïîð, ïîêà íå îñòàíåòñÿ ..."
wait 2000 ms
0AF9: samp say_msg "/s ... îäèí èãðîê, îí è åñòü ïîáåäèòåëü ìåðîïðèÿòèÿ."
wait 2000 ms
0AF9: samp say_msg "/s À òåïåðü î òîì, ÷òî çàïðåùåíî: ..."
wait 2000 ms
0af9: samp say_msg "/s ...Ñòðåëüáà èç ëþáîãî îðóæèÿ, íàëè÷èå áîëåå 100 õï, ..."
wait 2000 ms
0AF9: samp say_msg "/s ... íàäåâàòü øëåìû è êàñòåòû, à òàêæå èõ íàëè÷èå."
wait 2000 ms
0AF9: samp say_msg "/s Âñå ïîíÿòíî? Áóäóò âîïðîñ, ïèøèì ìíå â ËÑ."
0006: 1@ = FALSE
END  // END от 1@

IF 0039: 2@ == TRUE
THEN
0AF9: samp say_msg "/s Èòàê, äðóçüÿ, îáúÿñíÿþ ïðàâèëà äàííîãî ìåðîïðèÿòèÿ. "
wait 2000 ms
0AF9: samp say_msg "/s ß âûáèðàþ äâóõ êàïèòàíîâ íà ñâîé âûáîð, è îíè íà÷èíàþò ..."
wait 2000 ms
0AF9: samp say_msg "/s ... íàáèðàòü ñåáå êîìàíäó. Êîãî âûáåðóò, òîò âñòàåò â ..."
wait 2000 ms
0AF9: samp say_msg "/s ... ñòðîé ïî ñåðåäèíå àðåíû íà ïðîòèâ ïðîòèâíèêà, ..."
wait 2000 ms
0AF9: samp say_msg "/s ... ïîñëå ñòàðòà âû íà÷èíàåòå ñðàæàòüñÿ."
wait 2000 ms
0AF9: samp say_msg "/s À òåïåðü î òîì, ÷òî çàïðåùåíî:"
wait 2000 ms
0af9: samp say_msg "/s Çàïðåùåíî èñïîëüçîâàòü íàðêîòèêè/ðûáó/äðóãèå ñïîñîáû ïîïîëíåíèÿ çäîðîâüÿ."
wait 2000 ms
0AF9: samp say_msg "/s Çàïðåùåíî èñïîëüçîâàòü ëþáûå ïðåäìåòû/îðóæèå â äðàêå."
wait 2000 ms
0AF9: samp say_msg "/s Ïîñëå ñòàðòà çàïðåùåíî áåãàòü ïî âñåé òåððèòîðèè ñòàäèîíà, òîëüêî ..."
wait 2000 ms
0AF9: samp say_msg "/s ... ïðÿìà íàâñòðå÷ó ïðîòèâíèêó. Âñå âñåì ïîíÿòíî?"
wait 2000 ms
0AF9: samp say_msg "/s Ïî âîïðîñàì îáðàùàòüñÿ ìíå â ëè÷íûå ñîîáùåíèÿ. Íà÷íåì."
0006: 2@ = FALSE
END // END от 2@

// IF 0039: 3@ == TRUE
// THEN
// CODE
// END

END // END от WHILE TRUE

:Mp_BOI
0006: 1@ = TRUE
0B43: samp cmd_ret

:Mp_stenka
0006: 1@ = TRUE
0B43: samp cmd_ret
Посмотри внимательнее на блоки команд
 

Boyenerji

Известный
97
1
Ребят, для того чтобы сделать автоответчик админам достаточно сканить строки на слово "администратор" или есть альтернатива?
 

Boyenerji

Известный
97
1
Можно попробовать, но через хуки будет лучше.Вот пример хука.
CLEO:
пример дать, смотрел видосы у DarkP1xel. Но он очень умно говорит
{$CLEO}
{$INCLUDE SF}

0000:

repeat
wait 0
until Samp.Available()
0BE3: raknet setup_incoming_rpc_hook @hook
0BDE: pause_thread 0


:hook
0BE5: raknet 10@ = get_hook_param PARAM_PACKETID
if 10@ == RPC_SCRCLIENTMESSAGE
then
0BE5: raknet 11@ = get_hook_param PARAM_BITSTREAM
0BE7: raknet 12@ = bit_stream_read 11@ type BS_TYPE_INT
0BE7: raknet 13@ = bit_stream_read 11@ type BS_TYPE_INT
0AC8: 14@ = allocate_memory_size 256
0BE8: raknet bit_stream 11@ read_array 14@ size 13@
0C0D: struct 14@ offset 13@ size 1 = 0
if and
0C29: 15@ = stristr string1 14@ string2 " удалил вас из списка розыскиваемых"
12@ == 0x6AB1FFAA
then
0B28: samp disconnect_with_reason 0
end
end
0BE0: raknet hook_ret true

Хуками слишком много кода.

А что будет, если я выделяю память и потом ее не освобождаю?

Скрипт без освобождения памяти работает на ура.
 
Последнее редактирование модератором:

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,463
Хуками слишком много кода.
Тебе ли не всё равно?

А что будет, если я выделяю память и потом ее не освобождаю?
Можешь скомпилировать этот код, открыть диспетчер задач, поставить высокую скорость обновления и смотреть как ведет себя выделение памяти.
Только учти, что это только твой скрипт, автор которого забил на освобождение выделенной памяти.
CLEO:
{$CLEO}

0000:

while true
    for 0@ = 0 to 1024
        alloc 1@ 1024
    end
    wait 500
end
 
  • Нравится
Реакции: Boyenerji

Boyenerji

Известный
97
1
Тебе ли не всё равно?


Можешь скомпилировать этот код, открыть диспетчер задач, поставить высокую скорость обновления и смотреть как ведет себя выделение памяти.
Только учти, что это только твой скрипт, автор которого забил на освобождение выделенной памяти.
CLEO:
{$CLEO}

0000:

while true
    for 0@ = 0 to 1024
        alloc 1@ 1024
    end
    wait 500
end

Даж боюсь такое запускать

Я просто постоянно сканирую чат на искомое слово и память не освобождаю, а теперь вот буду)
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Подскажите почему крашит
Код:
:188
0001: wait 0 ms
00D6: if
0039:   0@ == 1
004D: jump_if_false @188

:1644
0006: 0@ = 0

:1651
00D6: if
0C5D: samp textdraw 0@ is_exists
jf @1672
0BCA: samp send_click_textdraw 0@

:1672
000A: 0@ += 1
0019:   0@ > 50000
jf @1651
0AB2: ret 0
 

mkrn

Известный
67
61
Вот клавиша "ALT" в значении HEX = "0x12".
Как в integer перевести её, для клео опкода 0C72???

компилятору похуй 0x12 там или же число в привычной тебе сис-ме исчисления, в данном случае 18

ну если тебе принципиально, можешь нажать на центр 0x12 левой кнопкой мышки (чтобы там был курсор) и заюзать ctrl + h
 

mkrn

Известный
67
61
Подскажите почему крашит
Код:
:188
0001: wait 0 ms
00D6: if
0039:   0@ == 1
004D: jump_if_false @188

:1644
0006: 0@ = 0

:1651
00D6: if
0C5D: samp textdraw 0@ is_exists
jf @1672
0BCA: samp send_click_textdraw 0@

:1672
000A: 0@ += 1
0019:   0@ > 50000
jf @1651
0AB2: ret 0

0AB2: ret - это завершение call scm функции. У тебя там, по видимому, её нет. Просто прыгай на :188
 

LUCHARE

Известный
Друг
545
688
Как сделать шоб игрок из машины тпшнулся на ноги?
----
Уже понял как
 
Последнее редактирование:

Quit

Известный
207
52
Объясните, как сделать деактивацию, она тут есть, но её невозможно включить, т.к. флудит кнопка N из-за этого чит код не получается написать )
CLEO:
:flon
0001: wait 0 ms
00D6: if
0ADC:   test_cheat "flood"
004D: jump_if_false @flon
0ACD: show_text_highpriority "Flood: on" time 1000
0002: jump @floop

:floop
0001: wait 0 ms
8ADC:   test_cheat "flood"
004D: jump_if_false @floff
0C72: set_virtual_key 78 down 1
0001: wait 30 ms
0C72: set_virtual_key 78 down 0
0002: jump @floop


:floff
0001: wait 0 ms
0ACD: show_text_highpriority "Flood: OFF" time 1000
0002: jump @flon
 

serhiyrubin

Известный
396
106
Помогите, не работает взятие строки из ini файла
Строка в INI > FONT=Segoe UI
А это у меня в начале кода для создания шрифта
Код:
0AF4: 1@v = read_string_from_ini_file "cleo\Checker Criminal.ini" section "Settings" key "FONT"
0AF0: 2@ = get_int_from_ini_file "cleo\Checker Criminal.ini" section "Settings" key "HEIGHT"
0AF0: 3@ = get_int_from_ini_file "cleo\Checker Criminal.ini" section "Settings" key "FLAGS"
0B6D: render 11@ = create_font 1@v height 2@ flags 3@
И память выделать пытался и на 1@s пытался
Segoe UI не ставится через INIк