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

iTz_WEEZY

Известный
297
84
Как в этом скрипте сделать так, чтобы на нажатие клавиши давалось 5 секунд, если не нажимаешь, то отправляет скрипт в начало. Уже сделал, всё)
у таира есть видео "Отрицательные опкоды"
CLEO:
if
wait 5000
8AB0: key_pressed 228 //-Если не нажата клавиша
then 
jump //-Куда-то
Наверное так
 

iTz_WEEZY

Известный
297
84
почему игнорит пробелы? выдает весь текст слитно без пробелов
CLEO:
:help_210
wait 0
0AC6: 33@ = label @help_211 offset
0B3B: samp show_dialog id 1 caption "Статистика игрового аккаунта" text 33@ button_1 "Ок" button_2 "" style 0        
0B43: samp cmd_ret

:help_211

hex
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Имя:                    {9ACD32}Ueban" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Уровень:                3" A
7B "FFFFFF" 7D "{ffffff}Exp:                    12/{FF6347}16" A
7B "FFFFFF" 7D "{ffffff}Часов в игре:                32" A
7B "FFFFFF" 7D "{ffffff}Пол:                    Мужчина" A
7B "FFFFFF" 7D "{ffffff}Статус в штате:                Новичёк" A
7B "FFFFFF" 7D "{ffffff}Статус {FFFF00}VIP{ffffff}:                НЕТ" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Донат:                    0" A
7B "FFFFFF" 7D "{ffffff}Законопослушность:            80" A
7B "FFFFFF" 7D "{ffffff}Арестов:                0" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Варн(ов):                0/{FF6347}3" A
7B "FFFFFF" 7D "{ffffff}Уровень Преступлений:            0/{FF6347}6" A
7B "FFFFFF" 7D "{ffffff}Смертей в розыске:            0" A
7B "FFFFFF" 7D "{ffffff}Наркозависимость:            0" A
7B "FFFFFF" 7D "{ffffff}нарко при себе:            0/{FF6347}150" A
7B "FFFFFF" 7D "{ffffff}Материалы при себе:            0/{FF6347}1500" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Работа:                    Инкассатор" A
7B "FFFFFF" 7D "{ffffff}Безработица:                0 час." A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Денег:                    2818{FFFF00} $" A
7B "FFFFFF" 7D "{ffffff}В банке:                59857{FFFF00} $" A
7B "FFFFFF" 7D "{ffffff}Телефон:                2005641" A
7B "FFFFFF" 7D "{ffffff}Баланс на телефоне:            6560{FFFF00} $" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
end
да и еще в самом конце списка приписываются какие то символы
 

BlackKnigga

Известный
BH Team
922
449
почему игнорит пробелы? выдает весь текст слитно без пробелов
CLEO:
:help_210
wait 0
0AC6: 33@ = label @help_211 offset
0B3B: samp show_dialog id 1 caption "Статистика игрового аккаунта" text 33@ button_1 "Ок" button_2 "" style 0       
0B43: samp cmd_ret

:help_211

hex
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Имя:                    {9ACD32}Ueban" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Уровень:                3" A
7B "FFFFFF" 7D "{ffffff}Exp:                    12/{FF6347}16" A
7B "FFFFFF" 7D "{ffffff}Часов в игре:                32" A
7B "FFFFFF" 7D "{ffffff}Пол:                    Мужчина" A
7B "FFFFFF" 7D "{ffffff}Статус в штате:                Новичёк" A
7B "FFFFFF" 7D "{ffffff}Статус {FFFF00}VIP{ffffff}:                НЕТ" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Донат:                    0" A
7B "FFFFFF" 7D "{ffffff}Законопослушность:            80" A
7B "FFFFFF" 7D "{ffffff}Арестов:                0" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Варн(ов):                0/{FF6347}3" A
7B "FFFFFF" 7D "{ffffff}Уровень Преступлений:            0/{FF6347}6" A
7B "FFFFFF" 7D "{ffffff}Смертей в розыске:            0" A
7B "FFFFFF" 7D "{ffffff}Наркозависимость:            0" A
7B "FFFFFF" 7D "{ffffff}нарко при себе:            0/{FF6347}150" A
7B "FFFFFF" 7D "{ffffff}Материалы при себе:            0/{FF6347}1500" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Работа:                    Инкассатор" A
7B "FFFFFF" 7D "{ffffff}Безработица:                0 час." A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{ffffff}Денег:                    2818{FFFF00} $" A
7B "FFFFFF" 7D "{ffffff}В банке:                59857{FFFF00} $" A
7B "FFFFFF" 7D "{ffffff}Телефон:                2005641" A
7B "FFFFFF" 7D "{ffffff}Баланс на телефоне:            6560{FFFF00} $" A
7B "FFFFFF" 7D " " A
7B "FFFFFF" 7D "{00FF04}__________________________________________________" A
7B "FFFFFF" 7D " " A
end
да и еще в самом конце списка приписываются какие то символы
Заменяй пробелы табуляцией(0x09) и в самом конце добавь нуль.
 

kraft1k

Вынь х*й из головы и все получится © hnnssy
Друг
1,482
1,171
Всё сработало, но всё записывает в одну строку(да пох) и вылет после записи

просто вместо .ini написть .txd ?


CLEO:
{$CLEO}

const
DIALOG_STYLE_LIST = 2 // Ñî ñïèñêîì
end

0000:
0662: "by Dominic"
0662: "Dominic - binder for MZ"

while not SAMP.Available()
wait 400
end

while true
wait 0
if 0ab0: key_down 66
then
while 0ab0: key_down 66
wait 0
if 0ab0: key_down 51
then
0ac8: alloc 0@ size 256
0ad3: format_stirng 0@ = "Ïåðâûé ïóíêò%cÂòîðîé ïóíêò%cÒðåòèé ïóíêò%c×åòâ¸ðòûé ïóíêò%cÏÿòûé ïóíêò" 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 47 caption "Òðåòèé äèàëîã" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
0ac9: free 0@
break
end
end

while 0ab0: key_down 66
wait 0
end
end

// DIALOG_STYLE_LIST
if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 5@ input_text 0 // Ëîããèðóåì íàæàòèå êíîïêè äèàëîãà è âûáðàííîãî ýëåìåíòà èç ñïèñêà äèàëîãà 47
then
if 1@ == 1 // Áûëà íàæàòà ïåðâàÿ êíîïêà
then
0af8: chat "Áûëà íàæàòà ïåðâàÿ êíîïêà: {ffff00}Óðÿ" -1
0af8: chat "Áûë âûáðàí ýëåìåíò íîìåð: {ffff00}%d" -1 5@
if 5@ == 0
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïåðâûé ïóíêò" -1
end

if 5@ == 1
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Âòîðîé ïóíêò" -1
end

if 5@ == 2
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Òðåòèé ïóíêò" -1
end

if 5@ == 3
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}×åòâ¸ðòûé ïóíêò" -1
end

if 5@ == 4
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïÿòûé ïóíêò" -1
end
end
0ac9: free 2@
end
{$CLEO}

const
DIALOG_STYLE_LIST = 2 // Ñî ñïèñêîì
end

0000:
0662: "by Dominic"
0662: "Dominic - binder for MZ"

while not SAMP.Available()
wait 400
end

while true
wait 0
if 0ab0: key_down 66
then
while 0ab0: key_down 66
wait 0
if 0ab0: key_down 51
then
0ac8: alloc 0@ size 256
0ad3: format_stirng 0@ = "Ïåðâûé ïóíêò%cÂòîðîé ïóíêò%cÒðåòèé ïóíêò%c×åòâ¸ðòûé ïóíêò%cÏÿòûé ïóíêò" 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 47 caption "Òðåòèé äèàëîã" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
0ac9: free 0@
break
end
end

while 0ab0: key_down 66
wait 0
end
end

// DIALOG_STYLE_LIST
if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 5@ input_text 0 // Ëîããèðóåì íàæàòèå êíîïêè äèàëîãà è âûáðàííîãî ýëåìåíòà èç ñïèñêà äèàëîãà 47
then
if 1@ == 1 // Áûëà íàæàòà ïåðâàÿ êíîïêà
then
0af8: chat "Áûëà íàæàòà ïåðâàÿ êíîïêà: {ffff00}Óðÿ" -1
0af8: chat "Áûë âûáðàí ýëåìåíò íîìåð: {ffff00}%d" -1 5@
if 5@ == 0
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïåðâûé ïóíêò" -1
end

if 5@ == 1
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Âòîðîé ïóíêò" -1
end

if 5@ == 2
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Òðåòèé ïóíêò" -1
end

if 5@ == 3
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}×åòâ¸ðòûé ïóíêò" -1
end

if 5@ == 4
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïÿòûé ïóíêò" -1
end
end
0ac9: free 2@
end
Нет,создаёшь name.txt , дальше выделяешь память и записываешь в name.txt , потом читаешь из name.txt ( если нужно )
Запись:

CLEO:
alloc 0@ 1024
alloc 2@ 1024
alloc 3@ 1024
  memset 0@ 0x0 1024
  0BD7: samp get_dialog_text 0@
  0A9A: 1@ = openfile "CLEO\dialogtext.txt" mode "wt"
  0AD8: write_string_to_file 1@ from 0@
  0A9B: closefile 1@
 
  • Нравится
Реакции: iTz_WEEZY

Cerberus

Режим чтения
13
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Есть ли опкод который узнает FPS?
 

Cerberus

Режим чтения
13
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо) А можете еще сказать опкод, который узнает дату и время?

----------------------------------------------------------------------------------------

Как сделать, чтобы одна переменная обновлялась раз в секунду, а все остальные как обычно?
 
Последнее редактирование:

Kolya_Kortez

Участник
49
3
Всё сработало, но всё записывает в одну строку(да пох) и вылет после записи

просто вместо .ini написть .txd ?


CLEO:
{$CLEO}

const
DIALOG_STYLE_LIST = 2 // Ñî ñïèñêîì
end

0000:
0662: "by Dominic"
0662: "Dominic - binder for MZ"

while not SAMP.Available()
wait 400
end

while true
wait 0
if 0ab0: key_down 66
then
while 0ab0: key_down 66
wait 0
if 0ab0: key_down 51
then
0ac8: alloc 0@ size 256
0ad3: format_stirng 0@ = "Ïåðâûé ïóíêò%cÂòîðîé ïóíêò%cÒðåòèé ïóíêò%c×åòâ¸ðòûé ïóíêò%cÏÿòûé ïóíêò" 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 47 caption "Òðåòèé äèàëîã" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
0ac9: free 0@
break
end
end

while 0ab0: key_down 66
wait 0
end
end

// DIALOG_STYLE_LIST
if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 5@ input_text 0 // Ëîããèðóåì íàæàòèå êíîïêè äèàëîãà è âûáðàííîãî ýëåìåíòà èç ñïèñêà äèàëîãà 47
then
if 1@ == 1 // Áûëà íàæàòà ïåðâàÿ êíîïêà
then
0af8: chat "Áûëà íàæàòà ïåðâàÿ êíîïêà: {ffff00}Óðÿ" -1
0af8: chat "Áûë âûáðàí ýëåìåíò íîìåð: {ffff00}%d" -1 5@
if 5@ == 0
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïåðâûé ïóíêò" -1
end

if 5@ == 1
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Âòîðîé ïóíêò" -1
end

if 5@ == 2
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Òðåòèé ïóíêò" -1
end

if 5@ == 3
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}×åòâ¸ðòûé ïóíêò" -1
end

if 5@ == 4
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïÿòûé ïóíêò" -1
end
end
0ac9: free 2@
end
{$CLEO}

const
DIALOG_STYLE_LIST = 2 // Ñî ñïèñêîì
end

0000:
0662: "by Dominic"
0662: "Dominic - binder for MZ"

while not SAMP.Available()
wait 400
end

while true
wait 0
if 0ab0: key_down 66
then
while 0ab0: key_down 66
wait 0
if 0ab0: key_down 51
then
0ac8: alloc 0@ size 256
0ad3: format_stirng 0@ = "Ïåðâûé ïóíêò%cÂòîðîé ïóíêò%cÒðåòèé ïóíêò%c×åòâ¸ðòûé ïóíêò%cÏÿòûé ïóíêò" 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 47 caption "Òðåòèé äèàëîã" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
0ac9: free 0@
break
end
end

while 0ab0: key_down 66
wait 0
end
end

// DIALOG_STYLE_LIST
if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 5@ input_text 0 // Ëîããèðóåì íàæàòèå êíîïêè äèàëîãà è âûáðàííîãî ýëåìåíòà èç ñïèñêà äèàëîãà 47
then
if 1@ == 1 // Áûëà íàæàòà ïåðâàÿ êíîïêà
then
0af8: chat "Áûëà íàæàòà ïåðâàÿ êíîïêà: {ffff00}Óðÿ" -1
0af8: chat "Áûë âûáðàí ýëåìåíò íîìåð: {ffff00}%d" -1 5@
if 5@ == 0
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïåðâûé ïóíêò" -1
end

if 5@ == 1
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Âòîðîé ïóíêò" -1
end

if 5@ == 2
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Òðåòèé ïóíêò" -1
end

if 5@ == 3
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}×åòâ¸ðòûé ïóíêò" -1
end

if 5@ == 4
then
0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Ïÿòûé ïóíêò" -1
end
end
0ac9: free 2@
end
что изменил? -_-
 

Cerberus

Режим чтения
13
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Что делать, когда закончились переменные? (Их уже 29)
 

DarkP1xel

Ухожу в армию... Вернусь через год.
BH Team
3,637
5,060
Что делать, когда закончились переменные? (Их уже 29)
CLEO:
0AC8: 0@ = allocate_memory_size 512
0C11: memset destination 0@ value 0x0 size 512

0AB1: call_scm_func @CallBuffer Params 4 {ID Ячейки}0 {Указатель на Buffer}0@ {Тип функции}1 {Число}420 || {Result}1@

:CallBuffer
// 0@ - ID Ячейки.
// 1@ - Указатель на Buffer .
// 2@ - Тип функции {1 - Write, Other - Read}.
// 3@ - Число для записи.
0012: 0@ *= 4 // Получаем смещение на указанную ячейку.
005A: 0@ += 1@ // Получаем указатель на ячейку.
IF 0039:   2@ == 1 // Проверяем тип вызова.
THEN 0A8C: write_memory 0@ size 4 value 3@ virtual_protect TRUE // Запись данных в ячейку.
ELSE 0A8D: 25@ = read_memory 0@ size 4 virtual_protect TRUE // Считывание данных.
END
0AB2: RET_ 1 {Result}25@