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

OtherWeather

Новичок
39
2
Как на примере этого кода сделать скрипт, который при обнаружении строки в чате сразу же выполняет нужное действие?
PHP:
{$CLEO .cs}
 
0000:NOP
 
:start_1
wait 0
while 8AFA:
wait 0
end
 
:RPCUFF
wait 0
while true
wait 0
    0ac8: 0@ = 64
    0ac8: 2@ = 256
    0ac8: 3@ = 0
    0B75: samp get_chat_string 98 text_to 2@ prefix_to 3@ color_to 4@ prefix_color_to 5@
wait 0
if 0C18: 0@ strstr string1 2@ string2 "Вы надели наручники"
then
    wait 300
    0AF9: samp say_msg "/do На поясе у Карла висит одна пара наручников."
    wait 1500
    0AF9: samp say_msg "/me выхватив наручники с пояса, производит задержание нарушителя."
end
    0ac9: 0@
    0ac9: 2@
    0ac9: 3@
end
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,742
Как на примере этого кода сделать скрипт, который при обнаружении строки в чате сразу же выполняет нужное действие?
PHP:
{$CLEO .cs}
 
0000:NOP
 
:start_1
wait 0
while 8AFA:
wait 0
end
 
:RPCUFF
wait 0
while true
wait 0
    0ac8: 0@ = 64
    0ac8: 2@ = 256
    0ac8: 3@ = 0
    0B75: samp get_chat_string 98 text_to 2@ prefix_to 3@ color_to 4@ prefix_color_to 5@
wait 0
if 0C18: 0@ strstr string1 2@ string2 "Вы надели наручники"
then
    wait 300
    0AF9: samp say_msg "/do На поясе у Карла висит одна пара наручников."
    wait 1500
    0AF9: samp say_msg "/me выхватив наручники с пояса, производит задержание нарушителя."
end
    0ac9: 0@
    0ac9: 2@
    0ac9: 3@
end
Ты где взял этот пример?
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,742
Не подскажешь как сделать сравнение?
Получаешь текст текстдрава в переменную, в условии пишешь опкод strcmр (это опкод сравнения двух строк), сравниваешь переменную с текстом текстдрава со своим текстом, если текст совпадает, то дальше уже понятно
 

kemperrr

Известный
104
2
Получаешь текст текстдрава в переменную, в условии пишешь опкод strcmр (это опкод сравнения двух строк), сравниваешь переменную с текстом текстдрава со своим текстом, если текст совпадает, то дальше уже понятно

Типо ?
PHP:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
 
//-------------MAIN---------------
wait 2000
0B34: samp register_client_command "blod" to_label @Noname_218
 
:Noname_54
wait 0
if
  0@ == 1 
jf @Noname_211
0C5A: samp textdraw 2264 get_string_to 1@
if
0C14: strcmp string1 1@ string2 "Press Y"
jf @Noname_157
0DBF:  emul_key_press 89 is_up 1
wait 500
0DBF:  emul_key_press 89 is_up 0
 
:Noname_157
if
0C14: strcmp string1 1@ string2 "Press N"
jf @Noname_206
0B56: set_game_key 0@ state 1@
wait 500
0DBF:  emul_key_press 78 is_up 0
 
:Noname_206
wait 1000
 
:Noname_211
goto @Noname_54
 
:Noname_218
if
  0@ == 0
jf @Noname_280
chatmsg "Âêëþ÷èë" 393127
goto @Noname_319
 
:Noname_280
chatmsg "ÂÈÊËÞ×ÈË?!" 393127
 
:Noname_319
0B12: 0@ = 0@ XOR 1
SAMP.CmdRet
Если да , то не пашет чет
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,260
1,742
Как взять ид ближайшего игрока в зоне стрима?
Как вариант > перебрать всех игроков в стриме, сравнивая дистанцию между каждым и вернуть ид того, кто является ближайшим
 

Dark_Knight

Me, me and me.
Друг
4,067
2,081
Как вариант > перебрать всех игроков в стриме, сравнивая дистанцию между каждым и вернуть ид того, кто является ближайшим

Ты шо наебнулся? Опкод же есть. 0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
 

Frixen

Известный
131
8
Есть строка в чате "Вы перенесли уголь.{ffffff} 62$ добавлено к вашей зарплате. Заработано:{FF0000} 1090$"
Как мне записать число 1090 в переменную 3@
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Есть строка в чате "Вы перенесли уголь.{ffffff} 62$ добавлено к вашей зарплате. Заработано:{FF0000} 1090$"
Как мне записать число 1090 в переменную 3@

Код:
if 0C18: 1@ = strstr string1 0@ string2 "{FF0000}"
then
    1@ += 8 // {FF0000}
    1@++ // space
    
    0C2F: 3@ = strtol 1@ radix 10 store_end_to 0
end
 

XyJluraH_J

Потрачен
116
26
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Типо ?
PHP:
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
 
//-------------MAIN---------------
wait 2000
0B34: samp register_client_command "blod" to_label @Noname_218
 
:Noname_54
wait 0
if
  0@ == 1
jf @Noname_211
0C5A: samp textdraw 2264 get_string_to 1@
if
0C14: strcmp string1 1@ string2 "Press Y"
jf @Noname_157
0DBF:  emul_key_press 89 is_up 1
wait 500
0DBF:  emul_key_press 89 is_up 0
 
:Noname_157
if
0C14: strcmp string1 1@ string2 "Press N"
jf @Noname_206
0B56: set_game_key 0@ state 1@
wait 500
0DBF:  emul_key_press 78 is_up 0
 
:Noname_206
wait 1000
 
:Noname_211
goto @Noname_54
 
:Noname_218
if
  0@ == 0
jf @Noname_280
chatmsg "Âêëþ÷èë" 393127
goto @Noname_319
 
:Noname_280
chatmsg "ÂÈÊËÞ×ÈË?!" 393127
 
:Noname_319
0B12: 0@ = 0@ XOR 1
SAMP.CmdRet
Если да , то не пашет чет
 

1337coder

Новичок
27
0
отрывок кода. заебался я уже в переменную 2@ пытаться записать метку ..
Может кто знает как туда записать?
В 1@ = цифра для прыжка на метку
Тоесть чтобы в переменной хранилась метка на @2 , @3 после проверки и так далее.

PHP:
0B34: samp register_client_command "dom" to_label "proverka"
 
while true
wait 0
0B35: samp 1@ = get_last_command_params
    for 2@ = 0 to 37
    if 
    003B: 1@ == 2@
    then
    break
end
end
 
:test
jump 2@
 
:2
код
samp.cmdret
:3 
код
samp.cmdret
[php]