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

astap_

Известный
Всефорумный модератор
625
593
Как пользоваться опкодом 0C14: ? А то мне здесь в теме писали, что он нужен для сравнения двух переменных типа string, а спустя три дня или где-то так, я разобраться все не могу...
а что там разбираться? есть два параметра - строка#1 и строка#2, используется только в условии.
 

Royan_Millans

Известный
145
182
Код:
{$CLEO}
0000: NOP
while true
wait 0
    if 0ADC:   test_cheat "GG"
    then
        0AB1: call_scm_func @movefile 0
    end
end


:movefile
0AA2: 0@ = load_library "Kernel32.dll"
0AA4: 1@ = get_proc_address "MoveFileA" library 0@
alloc 10@ 512
alloc 11@ 512
0AD3: 10@ = format "C:\avaforum.jpg"
0AD3: 11@ = format "C:\WebServers\avaforum.jpg"
0AC7: 10@ = var 10@ offset
0AC7: 11@ = var 11@ offset
0AA7: call_function 1@ num_params 2 pop 0 11@ 10@ 5@
0AA3: free_library 0@
0AB2: ret 0

При попытке вызова - ничего не происходит
Документация по библиотеке и функции: *тык*
 
Последнее редактирование:

Carrentine

Потрачен
570
460
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
что делать если два клео не работают вместе(краш)? Как исправить
я сомневаюсь что клео могут не работать вместе

Как сделать клео что бы после команды писался текст например /d to занял гос.волну потом дальше /gov
CLEO:
{$CLEO} // Начинаем скрипт.

0B34: samp register_client_command "yourcmd" to_label @Restore // yourcmd - Команда для активации.

repeat // Начало цикла repeat.
    wait 0  // Нулевая задержка.
until SAMP.Available() // Выполняется пока SAMP загружен.

while true // Начало цикла while.
    wait 0 // Нулевая задержка.
    if 0@ == true // Проверка, введена команда для активации или нет.
    then // Если условие верно, тогда выполнит ниже указанные действия.
        say "/do Text" // Вместо Text свое сообщение.
        wait 1000 // Задержка, на каждом сервере по разному.
        say "/gov Text" // Вместо Text свое сообщение.
    end // Конец конструкции if.
    0@ = false // Restore команды.
end // Конец цикла while.

:Restore // Название Label'a.
0@ = true // Если команда введена, присвоит переменной 0@ верное значение, тем самым выполнится конструкция if в цикле while.
cmdret // Retail команды.
 

D[a]Ni

Участник
63
3
я сомневаюсь что клео могут не работать вместе


CLEO:
{$CLEO} // Начинаем скрипт.

0B34: samp register_client_command "yourcmd" to_label @Restore // yourcmd - Команда для активации.

repeat // Начало цикла repeat.
    wait 0  // Нулевая задержка.
until SAMP.Available() // Выполняется пока SAMP загружен.

while true // Начало цикла while.
    wait 0 // Нулевая задержка.
    if 0@ == true // Проверка, введена команда для активации или нет.
    then // Если условие верно, тогда выполнит ниже указанные действия.
        say "/do Text" // Вместо Text свое сообщение.
        wait 1000 // Задержка, на каждом сервере по разному.
        say "/gov Text" // Вместо Text свое сообщение.
    end // Конец конструкции if.
    0@ = false // Restore команды.
end // Конец цикла while.

:Restore // Название Label'a.
0@ = true // Если команда введена, присвоит переменной 0@ верное значение, тем самым выполнится конструкция if в цикле while.
cmdret // Retail команды.
если 1 клео вытащить, то 2 работает, а если вернуть крашит при активации
 

Royan_Millans

Известный
145
182
Как можно проверить, стоит ли игрок в определенном СЕКТОРЕ.(корды которого я укажу)
 
Последнее редактирование:

Marcelzocker

Известный
294
87
Подскажите опкод для проверки на наличие строки в чате. Например, надо, что бы скрипт активировался, ести в чате появляется строка "Вам СМС от:"
 

MISHAAAAAA4

Потрачен
109
48
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Подскажите опкод для проверки на наличие строки в чате. Например, надо, что бы скрипт активировался, ести в чате появляется строка "Вам СМС от:"
возвращаешь указатель на последнюю строку в чате, сканируешь и ищешь совпадения
CLEO:
alloc 0@ 128
0B75: samp get_chat_string 0@ text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
0C18: 1@ = strstr string1 0@ string2 "Вам СМС от:"
 
  • Нравится
Реакции: Marcelzocker

astap_

Известный
Всефорумный модератор
625
593
возвращаешь указатель на последнюю строку в чате, сканируешь и ищешь совпадения
CLEO:
alloc 0@ 128
0B75: samp get_chat_string 0@ text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
0C18: 1@ = strstr string1 0@ string2 "Вам СМС от:"
строка из чата записывается в 1@, а 0@ это входящий параметр, туда нужно записать номер строки (последняя = 99).
соответственно сравнивать и выделять память нужно для 1@
и лучше делать это хуком, либо сравнивать цвет строки тоже. иначе могут быть ложные срабатывания
Как можно проверить, стоит ли игрок в определенном СЕКТОРЕ.(корды которого я укажу)
второй параметр это видимая или невидимая сфера . а остальные и так понятно думаю.
CLEO:
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 658.0068 -1866.313 4.4537 radius 15.0 15.0 15.0
 
Последнее редактирование:

The Spark

Известный
654
666
CLEO:
0AD3: 0@ = format "Egor[512]"
0AA5: call 0x8220AD num_params 4 pop 4 params 2@v 1@ "%s[%d]" 0@
Почему не работает?
 

AXE_CAMERON

Участник
66
0
У меня есть в чате строка с одинаковыми символами: АААААААААА, могу ли я как то посчитать кол-во этих одинаковых символов?
 

D[a]Ni

Участник
63
3
Добавил авто обнову в скрипт вроде всё норм, потом поставил что бы качалось несколько файлов - неполучилось вернул всё обратно и не работает, а у других работает, а если им тоже несколько ссылок добавить, то не будет работать) И теперь опкодом вообще нечего не качает