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

Qsany

Потрачен
464
147
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
CLEO:
{$CLEO .cs}

0000: NOP

:Noname_2
0001: wait 0 ms
00D6: if and
0ADC:   test_cheat "OO"
0AFA:  is_samp_available
8B21:   not samp is_chat_opened
004D: jump_if_false @Noname_2
0AF8: samp add_message_to_chat "{009fff}Чат {fff400}выключен" color -1 
0B2E: 3@ = read_samp_memory offset 408992 size 2
0B2D: write_samp_memory offset 408992 value 50064 size 2

:Noname_91
0001: wait 0 ms
0ADC:   test_cheat "OO"
004D: jump_if_false @Noname_91
0B2D: write_samp_memory offset 408992 value 3@ size 2
0AF8: samp add_message_to_chat "{009fff}Чат {fff400}включен" color -1

Че не так? (Лагает при первой активации)
 
  • Нравится
Реакции: Eugene!

NookieONE

Участник
128
1
Помогите. Тпхает все время в воздухе. Можно что-то сделать?
Код:
{$CLEO .cs}
thread "GG"

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
while not SAMP.Available()
wait 100
end

0B34: samp register_client_command "tp" to_label @tp
          
while true
    wait 0
end

:tp
0AB6: store_target_marker_coords_to 0@ 1@ 2@
Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@)
SAMP.CmdRet
 

Nakamura

Известный
36
0
Хочу сделать скрипт, который будет вводить определенную команду в чат в том случае, когда в чате появляется определенное сообщение. Как можно это осуществить?
 

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
Хочу сделать скрипт, который будет вводить определенную команду в чат в том случае, когда в чате появляется определенное сообщение. Как можно это осуществить?
сканишь стрингу, потом проверяешь ее и если верно, то пишешь say "/команда"
 

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
опкод этого скана можно?
CLEO:
alloc 31@ 256 // выделяем память под переменнную
0B75: samp get_chat_string 99 text_to 31@ prefix_to 0 color_to 0 prefix_color_to 0 // запись последней строки в переменную 31@
if
0C18: 0 = strstr string1 31@ string2 "строчка, которую надо засканить"
then
0AF9: samp say_msg "команда"
 
  • Нравится
Реакции: Nakamura

Nakamura

Известный
36
0
Еще такой вопрос, а что если я к примеру поставлю в скан сообщение и дальше, в этой же строчке будет сообщение которое я не забивал в скан? То есть типо "Nickname получил блокировку чата", где Nickname каждый раз будет другой. Эта проверка будет работать?
 

hnnssy

Известный
Друг
2,684
2,750
Помогите. Тпхает все время в воздухе. Можно что-то сделать?
Код:
{$CLEO .cs}
thread "GG"

if not 0@ = SAMP.Base()
then 0A93: end_custom_thread
end
while not SAMP.Available()
wait 100
end

0B34: samp register_client_command "tp" to_label @tp
         
while true
    wait 0
end

:tp
0AB6: store_target_marker_coords_to 0@ 1@ 2@
Actor.PutAt($PLAYER_ACTOR, 0@, 1@, 2@)
SAMP.CmdRet
02CE: 16@ = ground_z_at 2@ 3@ 4@
Еще такой вопрос, а что если я к примеру поставлю в скан сообщение и дальше, в этой же строчке будет сообщение которое я не забивал в скан? То есть типо "Nickname получил блокировку чата", где Nickname каждый раз будет другой. Эта проверка будет работать?
если будешь искать "получил блокировку чата", то да
 
  • Нравится
Реакции: Nakamura

Cesar Ballard

Участник
81
5
Пацаны, как сделать клео которое бы чекало таб и определяло по клистах типа есть ли члены опр. ОПГ\госки онлайн? Можно и что бы по команде выводило, а можно и что бы постоянно висело где-то сбоку, как вам проще будет. Ну типа как менюшка некоторых собов.
Заранее спасибо.
 

hnnssy

Известный
Друг
2,684
2,750
как вам проще будет
да лан, оба принципа опишу, не сложно, это ведь не тема для заказов, верно?
циклом фор пробегаешься по всем подключённым игрокам сервера, получаешь их цвет, опкодик есть, и при совпадении с нужным тебе выводишь в чат / рендеришь на экран
 
  • Нравится
Реакции: Cesar Ballard
У

Удалённый пользователь 126082

Гость
Почему лимит на скорость не ставится?
CLEO:
{$CLEO .cs}

0000: NOP

:AV
0001: wait 0 ms
0AFA:  is_samp_available
004D: jump_if_false @AV
0B34: samp register_client_command "limit" to_label @1
0B34: samp register_client_command "Limit off" to_label @2
0BDE: pause_thread 0

:1
0001: wait 0 ms
0B35: samp 0@ = get_last_command_params
00D6: if and
0AD4: 1@ = scan_string 0@ format "%d" 2@ 
00DF:   actor $PLAYER_ACTOR driving
004D: jump_if_false @1
0811: 1@ = actor $PLAYER_ACTOR used_car
00AD: set_car 1@ max_speed_to 2@
0ACD: show_text_highpriority "~g~Limit seted" time 2000
0B43: samp cmd_ret

:2
0001: wait 0 ms
00AD: set_car 1@ max_speed_to 100000
0B43: samp cmd_ret
 

grandpafromghetto

НАСТАЯЩИЙ ДАГИСТАНИЦ
Проверенный
335
119
вернее, правильная ли это функция для поворота кара?
CLEO:
:drive_to
00AA: store_car 22@ position_to 2@ 3@ 4@
0063: 0@ -= 2@ // (float)
0063: 1@ -= 3@ // (float)
0604: get_Z_angle_for_point 0@ 1@ store_to 5@
0175: set_car 22@ Z_angle_to 5@
0AB2: ret 0