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

Alexkrat

Новичок
14
1
Хотел бы уточнить как вы в темах создаете таблицы
upload_2017-11-4_1-1-52.png
 

Alexkrat

Новичок
14
1
Хотел бы узнать откуда брать или как понять что за что отвечает вот как тут
Код:
0B3D: raknet 1@ = new_bit_stream 
0B40: raknet bit_stream 1@ write 100 type BS_TYPE_SHORT size 2 //DialogID 
0B40: raknet bit_stream 1@ write 1 type BS_TYPE_BYTE size 1 // button (левый 1, правый 0) 
0B40: raknet bit_stream 1@ write 65535 type BS_TYPE_SHORT size 1//listitem, если это диалог без list, то 65535 
0B40: raknet bit_stream 1@ write 3@ type BS_TYPE_BYTE size 1 //размер текста 
0B40: raknet bit_stream 1@ write 0@ type BS_TYPE_STRING size 3@ //текст, если это list_dialog, то название пункта 
0B8A: raknet send_rpc RPC_DIALOGRESPONSE bit_stream 1@ 
0B3E: raknet delete_bit_stream 1@
 
1,417
1,030
Хотел бы узнать откуда брать или как понять что за что отвечает вот как тут
Код:
0B3D: raknet 1@ = new_bit_stream
0B40: raknet bit_stream 1@ write 100 type BS_TYPE_SHORT size 2 //DialogID
0B40: raknet bit_stream 1@ write 1 type BS_TYPE_BYTE size 1 // button (левый 1, правый 0)
0B40: raknet bit_stream 1@ write 65535 type BS_TYPE_SHORT size 1//listitem, если это диалог без list, то 65535
0B40: raknet bit_stream 1@ write 3@ type BS_TYPE_BYTE size 1 //размер текста
0B40: raknet bit_stream 1@ write 0@ type BS_TYPE_STRING size 3@ //текст, если это list_dialog, то название пункта
0B8A: raknet send_rpc RPC_DIALOGRESPONSE bit_stream 1@
0B3E: raknet delete_bit_stream 1@
Гайд - RakNet Hook'и в плагине SAMPFuncs(https://blast.hk/threads/14356/) посмотри уроки
 

LUCHARE

Известный
Друг
545
688
SB->Сервис->Настройки->Форматирование->Регистр букв->Как есть.
 

Azller Lollison

я узбек
Друг
1,343
2,271
CLEO:
WHILE TRUE
wait 0
    IF 0B3C: samp is_dialog_responded id 1 button 1@ list_item 3@ input_text 0 // Ëîããèðóåì íàæàòèå êíîïêè äèàëîãà è âûáðàííîãî ýëåìåíòà èç ñïèñêà äèàëîãà 47
    THEN
        if 1@ == 1 // Áûëà íàæàòà ïåðâàÿ êíîïêà
        then
              log "Áûëà íàæàòà ïåðâàÿ êíîïêà: {ffff00}Óðÿ" -1
              log "Áûë âûáðàí ýëåìåíò íîìåð: {ffff00}%d" -1 3@
              if 3@ == 0
              then
                      alloc 6@ 128
                      alloc 4@ 128
                      0AF1: write_int 1 to_ini_file "cleo\at.ini" section "Ans" key "Test"
                      0AF0: 5@ = get_int_from_ini_file "cleo\at.ini" section "Ans" key "AnsPoint"
                      0AF4: 6@ = read_string_from_ini_file "cleo\at.ini" section "Ans" key "AnsStr"
                      0AD4: 2@ = scan_string 6@ format "%d %s" 3@ 4@
                      0ac8: alloc 0@ size 128 // Âûäåëÿåì ïàìÿòü ïîä ñïèñîê ýëåìåíòîâ(êîë-âî òåêñòà äîëæíî áûòü íå áîëüøå 64 ñèìâîëîâ(ïðîáåëû è ïåðåõîäû íà íîâóþ ñòðîêó òîæå ðàâíû 1 ñèìâîëó)
                      0ad3: format_stirng 0@ = "Êîë-âî îòâåòîâ:%d %c Ïîñëåäíèé îòâåò:%s %c Êàêîìó ID áûë îòâåò:%d" 5@ 0xA 4@ 0xA 3@
                      0B3B: samp show_dialog id 314 caption "{FBBC3C}AT by Azller v1.0a | Ans Stats" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
              end
 
              if 3@ == 1
              then
                      0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Âòîðîé ïóíêò" -1
              end
 
              if 3@ == 2
              then
                      0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Òðåòèé ïóíêò" -1
              end
        else
            // Èíà÷å âòîðîé êíîïêîé èëè æå ïðîñòî çàêðûò(esc'îì, íàïðèìåð) / 1@ == 0
            0af8: chat "Áûëà íàæàòà âòîðàÿ êíîïêà: {ffff00}Çàêðûòü" -1
        end
    END
END

:dialog
0ac8: alloc 0@ size 64 // Âûäåëÿåì ïàìÿòü ïîä ñïèñîê ýëåìåíòîâ(êîë-âî òåêñòà äîëæíî áûòü íå áîëüøå 64 ñèìâîëîâ(ïðîáåëû è ïåðåõîäû íà íîâóþ ñòðîêó òîæå ðàâíû 1 ñèìâîëó)
0ad3: format_stirng 0@ = "Èíôîðìàöèÿ îá îòâåòàõ%cÈíôîðìàöèÿ îá ìóòàõ%cÈíôîðìàöèÿ îá êèêàõ%cÈíôîðìàöèÿ îá jail%cÈíôîðìàöèÿ îá âàðíàõ%cÈíôîðìàöèÿ îá áàíàõ" 0xA 0xA 0xA 0xA 0xA
0B3B: samp show_dialog id 1 caption "{FBBC3C}Admin Tools by Azller v1.0a" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
SAMP.CmdRet()
и в случае с диалогами, лучше вместо форматирования использовать hex конструкции

Попробовал так, все равно второй диалог не появляется. И ничего не логируется в консоль..
Пробовал даже не форматировать строку, все равно не появляется и в логе пусто.
 
1,417
1,030
Попробовал так, все равно второй диалог не появляется. И ничего не логируется в консоль..
Пробовал даже не форматировать строку, все равно не появляется и в логе пусто.
у log убери -1 и выделение памяти для переменной 0 в цикле убери
 
1,417
1,030
Все равно не получается.
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:
repeat
wait 0
until 0AFA:

cmd "dlg" @dialog

0AF1: write_int 55 to_ini_file "cleo\at.ini" section "Ans" key "AnsPoint"
0AF5: write_string "45 ïðèâåò" to_ini_file "cleo\at.ini" section "Ans" key "AnsStr"


WHILE TRUE
wait 0
    IF 0B3C: samp is_dialog_responded id 5 button 1@ list_item 3@ input_text 0
    THEN
        if 1@ == 1
        then
              msg "îòêðûëñÿ" -1
              msg "%d" -1 3@
              if 3@ == 0
              then
                      alloc 6@ 128
                      alloc 4@ 128
                      0AF1: write_int 1 to_ini_file "cleo\at.ini" section "Ans" key "Test"
                      0AF0: 5@ = get_int_from_ini_file "cleo\at.ini" section "Ans" key "AnsPoint"
                      0AF4: 6@ = read_string_from_ini_file "cleo\at.ini" section "Ans" key "AnsStr"
                      0AA5: call 0x8220AD num_params 4 pop 4 params 4@ 3@v "%d %s" 6@
                      0ad3: format_stirng 0@ = "Êîë-âî îòâåòîâ:%d %cÏîñëåäíèé îòâåò:%s %cÊàêîìó ID áûë îòâåò:%d%c" 5@ 0xA 4@ 0xA 3@ 0x0
                      0B3B: samp show_dialog id 314 caption "{FBBC3C}AT by Azller v1.0a | Ans Stats" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
              end
              if 3@ == 1
              then
                      0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Âòîðîé ïóíêò" -1
              end
              if 3@ == 2
              then
                      0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Òðåòèé ïóíêò" -1
              end
        else

            0af8: chat "Áûëà íàæàòà âòîðàÿ êíîïêà: {ffff00}Çàêðûòü" -1
        end
    END
END

:dialog
0ac8: alloc 0@ size 128
0AC6: 30@ = label @hex offset
0B3B: samp show_dialog id 5 caption "{FBBC3C}Admin Tools by Azller v1.0a" text 30@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
SAMP.CmdRet()

:hex
hex
"Èíôîðìàöèÿ îá îòâåòàõ\n"
"Èíôîðìàöèÿ îá ìóòàõ\n"
"Èíôîðìàöèÿ îá êèêàõ\n"
"Èíôîðìàöèÿ îá jail\n"
"Èíôîðìàöèÿ îá âàðíàõ\n"
"Èíôîðìàöèÿ îá áàíàõ\0"
end
 

Azller Lollison

я узбек
Друг
1,343
2,271
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:
repeat
wait 0
until 0AFA:

cmd "dlg" @dialog

0AF1: write_int 55 to_ini_file "cleo\at.ini" section "Ans" key "AnsPoint"
0AF5: write_string "45 ïðèâåò" to_ini_file "cleo\at.ini" section "Ans" key "AnsStr"


WHILE TRUE
wait 0
    IF 0B3C: samp is_dialog_responded id 5 button 1@ list_item 3@ input_text 0
    THEN
        if 1@ == 1
        then
              msg "îòêðûëñÿ" -1
              msg "%d" -1 3@
              if 3@ == 0
              then
                      alloc 6@ 128
                      alloc 4@ 128
                      0AF1: write_int 1 to_ini_file "cleo\at.ini" section "Ans" key "Test"
                      0AF0: 5@ = get_int_from_ini_file "cleo\at.ini" section "Ans" key "AnsPoint"
                      0AF4: 6@ = read_string_from_ini_file "cleo\at.ini" section "Ans" key "AnsStr"
                      0AA5: call 0x8220AD num_params 4 pop 4 params 4@ 3@v "%d %s" 6@
                      0ad3: format_stirng 0@ = "Êîë-âî îòâåòîâ:%d %cÏîñëåäíèé îòâåò:%s %cÊàêîìó ID áûë îòâåò:%d%c" 5@ 0xA 4@ 0xA 3@ 0x0
                      0B3B: samp show_dialog id 314 caption "{FBBC3C}AT by Azller v1.0a | Ans Stats" text 0@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
              end
              if 3@ == 1
              then
                      0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Âòîðîé ïóíêò" -1
              end
              if 3@ == 2
              then
                      0af8: chat "Áûë âûáðàí ýëåìåíò: {ffff00}Òðåòèé ïóíêò" -1
              end
        else

            0af8: chat "Áûëà íàæàòà âòîðàÿ êíîïêà: {ffff00}Çàêðûòü" -1
        end
    END
END

:dialog
0ac8: alloc 0@ size 128
0AC6: 30@ = label @hex offset
0B3B: samp show_dialog id 5 caption "{FBBC3C}Admin Tools by Azller v1.0a" text 30@ button_1 "Âûáðàòü" button_2 "Çàêðûòü" style DIALOG_STYLE_LIST
SAMP.CmdRet()

:hex
hex
"Èíôîðìàöèÿ îá îòâåòàõ\n"
"Èíôîðìàöèÿ îá ìóòàõ\n"
"Èíôîðìàöèÿ îá êèêàõ\n"
"Èíôîðìàöèÿ îá jail\n"
"Èíôîðìàöèÿ îá âàðíàõ\n"
"Èíôîðìàöèÿ îá áàíàõ\0"
end
Ты меня не правильно понял) Первый диалог с "Информация..." показывается но когда я выбираю 1 пункт (на него есть диалог) то ничего не происходит. Старый диалог закрывается, а нового нет..
 
1,417
1,030
Ты меня не правильно понял) Первый диалог с "Информация..." показывается но когда я выбираю 1 пункт (на него есть диалог) то ничего не происходит. Старый диалог закрывается, а нового нет..
в этом скрипте все нормально показывается
 

Azller Lollison

я узбек
Друг
1,343
2,271
в этом скрипте все нормально показывается
Попробую тогда замутить многопоточность и просто вставлю твой скрипт) Спасиб)

в этом скрипте все нормально показывается
Решил не париться и сделать это в отдельном клео, т.к все равно значения берутся из ини, вставил код, мигает черный экран + время игры заторможено, + второй диалог все равно не появляется..
 
Последнее редактирование модератором:

ShadowBroker

Известный
110
27
Рпц хук крашит со временем, это может быть как в первые 10 минут после захода так и в последующие.. Код правильный, сравнил с многими примерами на форуме. Кто-нибудь сталкивался?
 

BlackKnigga

Известный
BH Team
922
445
Рпц хук крашит со временем, это может быть как в первые 10 минут после захода так и в последующие.. Код правильный, сравнил с многими примерами на форуме. Кто-нибудь сталкивался?
Нет, никто. Давай код