Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 100руб/мес, Текстовая 50руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: mdialog

  1. #1
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    981
    Репутация:
    665 ±

    mdialog

    mdialog
    GitHub

    Описание
    Библиотека, которая даёт возможность организовать код диалогов в стиле zcmd.

    Функции
    Открыть диалог
    PHP код:
    Dialog_Open(playerid, function[], stylecaption[], info[], button1[], button2[]); 
    Закрыть диалог
    PHP код:
    Dialog_Close(playerid); 
    Статус открытости диалога
    PHP код:
    Dialog_IsOpen(playerid); 
    Открыть специально подготовленный диалог
    PHP код:
    Dialog_Show(playerid, function[]); 
    Открыть диалог сообщения
    PHP код:
    Dialog_Message(playeridcaption[], info[], button1[]); 
    Открыть диалог сообщения с собственным обработчиком нажатия
    PHP код:
    Dialog_MessageEx(playeridresponse[], caption[], info[], button1[], button2[]); 
    Поддержка zlang
    Если перед подключением mdialog задефайнить MDIALOG_ZLANG_MODE то некоторые функции приобретут новый вид.

    Открыть диалог
    PHP код:
    Dialog_Open(playerid, function[], stylecaption[], info[], button1[], button2[], notvar_flags MDIALOG_NOTVAR_NONE, {Float_}:...); 
    Открыть диалог сообщения
    PHP код:
    Dialog_Message(playeridcaption[], info[], button1[], notvar_flags MDIALOG_NOTVAR_NONE, {Float_}:...); 
    Открыть диалог сообщения с собственным обработчиком нажатия
    PHP код:
    Dialog_MessageEx(playeridresponse[], caption[], info[], button1[], button2[], notvar_flags MDIALOG_NOTVAR_NONE, {Float_}:...); 
    Битовые флаги для notvar_flags
    PHP код:
    MDIALOG_NOTVAR_ALL
    MDIALOG_NOTVAR_NONE
    MDIALOG_NOTVAR_CAPTION
    MDIALOG_NOTVAR_INFO
    MDIALOG_NOTVAR_BUTTON1
    MDIALOG_NOTVAR_BUTTON2 
    Поддержка тэгов
    Вы можете использовать теги для стилизации вашего текста:

    Тег
    Описание
    \\c Центрирует текст
    \\r Выравнивает текст по правому краю



    Использование
    Вы можете использовать DialogCreate: и DialogResponse: префиксы:
    PHP код:
    DialogCreate:test(playerid)
    {
        
    Dialog_Open(playeridDialog:testDIALOG_STYLE_MSGBOX,
                    
    "Hello",
                    
    "Are you ok?",
                    
    "Yes""No");
    }

    DialogResponse:test(playeridresponselistiteminputtext[])
    {
        if (!
    response) {
            
    SendClientMessage(playerid, -1"This club only for OK guys!");
            
    Dialog_Show(playeridDialog:test);
            return 
    1;
        }

        
    SendClientMessage(playerid, -1"Welcome to the club");
        return 
    1;

    Использовать DialogCreate: не обязательно, можно напрямую вызывать диалог с помощью Dialog_Open. Использование DialogCreate полностью себя оправдывает при создании вложенных диалогов, где один и тот же диалог приходится вызывать более, чем один раз. Да и в целом код читать удобнее, когда функция создания и функция обработки располагаются рядом.

    Использование в режиме zlang
    Использование библиотеки в режиме zlang немного отличается:
    PHP код:
    #define MDIALOG_ZLANG_MODE
    #include "mdialog"

    DialogCreate:test(playerid)
    {
        
    Dialog_Open(playeridDialog:testDIALOG_STYLE_MSGBOX,
                    
    "Hello",
                    
    "LANG_ARE_YOU_OK",
                    
    "Yes""BUTTON_NO",
                    
    MDIALOG_NOTVAR_CAPTION MDIALOG_NOTVAR_BUTTON1,
                    
    playerid);
    }

    DialogResponse:test(playeridresponselistiteminputtext[])
    {
        if (!
    response) {
            
    SendClientMessage(playerid, -1"This club only for OK guys!");
            
    Dialog_Show(playeridDialog:test);
            return 
    1;
        }

        
    SendClientMessage(playerid, -1"Welcome to the club");
        return 
    1;

    Содержимое языкового файла:
    PHP код:
    LANG_ARE_YOU_OK Hey id %dare you ok?
    BUTTON_NO No 
    Скачать
    Последний раз редактировалось ziggi; 17.09.2017 в 19:28.

  2. 7 пользователя(ей) сказали cпасибо:
    $continue$ (20.09.2016)1lyad (21.09.2016)DeimoS (26.09.2016)Geebrox (08.12.2016)iWors (09.10.2016)Sp1ke (25.09.2016)StevenH (20.09.2016)
  3. #2
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    981
    Репутация:
    665 ±
    mdialog v1.2.0

    Теперь вы можете использовать теги для стилизации вашего текста:

    Тег
    Описание
    \\c Центрирует текст
    \\r Выравнивает текст по правому краю


  4. 5 пользователя(ей) сказали cпасибо:
    $continue$ (17.09.2017)DeimoS (17.09.2017)Mr_LemoneZ (17.09.2017)Osetin (17.09.2017)Sp1ke (17.09.2017)
  5. #3
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    981
    Репутация:
    665 ±
    Забыл написать об отличиях последнего обновления от всем известной Dialog Center Text:
    - Намного более оптимальный алгоритм и чистый код (в 2 раза меньше строк, меньше циклов, вызовов функций, нет goto).
    - Более точные размеры символов (используются Float значения).
    - Поддержка всех символов Windows-1251.
    - Возможность выровнять текст по правой границе.
    - Нет поддержки управления заголовками (может быть потом реализую).

  6. Пользователь сказал cпасибо:
    vasyok28 (18.09.2017)
  7. #4
    Аватар для vasyok28
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.08.2015
    Сообщений
    94
    Репутация:
    7 ±
    Как будет себя вести на разных расширениях мониторов ?

  8. #5
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    981
    Репутация:
    665 ±
    Цитата Сообщение от vasyok28 Посмотреть сообщение
    Как будет себя вести на разных расширениях мониторов ?
    Должно быть одинаково. Проблемы могут возникнуть при изменении шрифта.

  9. #6
    Аватар для vasyok28
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.08.2015
    Сообщений
    94
    Репутация:
    7 ±
    Еще такой вопрос табуляцию пофиксили ?

  10. #7
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    981
    Репутация:
    665 ±
    Цитата Сообщение от vasyok28 Посмотреть сообщение
    Еще такой вопрос табуляцию пофиксили ?
    Ширина табов меняется в зависимости от длины строки, это очень сильно усложняет процесс расчёта длины строки. И я не уверен, возможно ли это реализовать. Если научусь высчитывать длину табов, то реализую.

  11. #8
    Аватар для Mr_LemoneZ
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.12.2016
    Адрес
    Беларусь
    Сообщений
    28
    Репутация:
    0 ±
    При использовании в Linux на чистом сервере возникает ошибка в функции _MDialog_ProcessTags:
      Открыть/закрыть
    PHP код:
    [19:50:01] [debugServer crashed while executing test.amx
    [19:50:01] [debugAMX backtrace:
    [
    19:50:01] [debug#0 native strfind () from samp03svr
    [19:50:01] [debug#1 00000a40 in _MDialog_ProcessTags (info[][email protected] "Test", result_info[][email protected] "Test", size_info=4096) at ../include/mdialog.inc:671
    [19:50:01] [debug#2 00000338 in _Dialog_Open (playerid=0, function[][email protected] "Message", style=0, caption[][email protected] "Test", info[][email protected] "Test", button1[][email protected] "OK", button2[][email protected] "") at ../include/mdialog.inc:382
    [19:50:01] [debug#3 000004a4 in Dialog_Message (playerid=0, caption[][email protected] "Test", info[][email protected] "Test", button1[][email protected] "OK") at ../include/mdialog.inc:517
    [19:50:01] [debug#4 0000158c in public OnPlayerRequestClass (playerid=0, classid=1) at /home/lemonez/Pawn/samp03/gamemodes/test.pwn:9
    [19:50:01] [debugNative backtrace:
    [
    19:50:01] [debug#0 b72da180 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () from plugins/crashdetect.so
    [19:50:01] [debug#1 b72d2064 in _ZN11CrashDetect20PrintNativeBacktraceERSoRKN2os7ContextE () from plugins/crashdetect.so
    [19:50:01] [debug#2 b72d2d64 in _ZN11CrashDetect20PrintNativeBacktraceERKN2os7ContextE () from plugins/crashdetect.so
    [19:50:01] [debug#3 b72d4cdb in _ZN11CrashDetect7OnCrashERKN2os7ContextE () from plugins/crashdetect.so
    [19:50:01] [debug#4 b72d94d5 in ?? () from plugins/crashdetect.so
    [19:50:01] [debug#5 b76dfc20 in ?? ()
    [19:50:01] [debug#6 b76dfc31 in ?? ()
    [19:50:01] [debug#7 b732eea9 in gsignal () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#8 b7330407 in abort () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#9 b7327d07 in ?? () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#10 b7327d8b in ?? () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#11 0809d27f in ?? () from ./samp03svr
    [19:50:01] [debug#12 0809d432 in ?? () from ./samp03svr
    [19:50:01] [debug#13 080950e4 in ?? () from ./samp03svr
    [19:50:01] [debug#14 b72d3ad3 in _ZN11CrashDetect17HandleAMXCallbackEiPiS0_ () from plugins/crashdetect.so
    [19:50:01] [debug#15 00000002 in ?? () from H·i·|µi·ґES    ґES    µGS    ґES    sIS    ґIS    T
    [19:50:01] [debug
    [19:50:01] [debugRegisters:
    [
    19:50:01] [debugEAX00000000 EBX00003261 ECX00003261 EDX00000006
    [19:50:01] [debugESIb76da000 EDIbf9b1ed4 EBPbf9b1fe8 ESPbf9b1e18
    [19:50:01] [debugEIPb76dfc31 EFLAGS00000202
    [19:50:01] [debugStack:
    [
    19:50:01] [debugESP+00000000bf9b1fe8 00000006 00003261 b732eea9
    [19:50:01] [debugESP+0000002000000000 b74b5000 0000004c 0000004d
    [19:50:01] [debugESP+0000004000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+0000006000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+0000008000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000000a000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000000c0bf9b1ef0 08049bfb 00000000 00000004
    [19:50:01] [debugESP+000000e0b7373f00 b7374470 bf9b1e90 b746228c
    [19:50:01] [debugESP+0000010000000010 00000000 b736b1d7 b74b5000
    [19:50:01] [debugESP+00000120b73e5c84 b74b5000 b74b5cc0 b74b5cc0
    [19:50:01] [debugESP+00000140bf9b1fe8 b7327cff b73302b7 b74b5000
    [19:50:01] [debugESP+0000016009393a70 00001000 b74b5000 00000000
    [19:50:01] [debugESP+0000018008158eb9 00000128 08158feb b7462224
    [19:50:01] [debugESP+000001a000000000 0809d27f 08158ef4 08158eb9
    [19:50:01] [debugESP+000001c00952bb5c ffffffff 00000000 09522aac
    [19:50:01] [debugESP+000001e0ffffffff 09520f50 00000004 00000002
    [19:50:01] [debugESP+000002000952bb5c 09520f50 00000050 0951fd70
    [19:50:01] [debugESP+0000022000000000 b72cb14a bf9b2150 00000000
    [19:50:01] [debugESP+00000240bf9b23a8 b72d3ad3 0951fd70 00000007
    [19:50:01] [debugESP+0000026000000000 00000000 2e332e30 00000037
    [19:50:01] [debugESP+0000028000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000002a000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000002c000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000002e000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+0000030000000000 00000000 00000000 00000010
    [19:50:01] [debugESP+0000032000000000 00000004 00000000 00000000
    [19:50:01] [debugESP+0000034000011e88 00000a40 00000007 0951fd70
    [19:50:01] [debugESP+00000360b7372079 b74b5780 b74b5000 00000004
    [19:50:01] [debugESP+0000038000000000 b72feff4 0951fd70 0945aa90
    [19:50:01] [debugESP+000003a0bf9b224c 09534518 00000004 00000000
    [19:50:01] [debugESP+000003c0bf9b2208 0951fd70 0951fd70 09521b50
    [19:50:01] [debugESP+000003e0bf9b224c 09534518 09389bbc 00000008
    [19:50:01] [debugLoaded modules:
    [
    19:50:01] [debug00000000 00187f43 samp03svr
    [19:50:01] [debugb76df000 b76dfd72 
    [19:50:01] [debugb76bf000 b76c1a04 /lib/i386-linux-gnu/libdl.so.2
    [19:50:01] [debugb76a2000 b76bd6ef /lib/i386-linux-gnu/libpthread.so.0
    [19:50:01] [debugb752b000 b76abb4b /usr/lib/i386-linux-gnu/libstdc++.so.6
    [19:50:01] [debugb74d6000 b752a010 /lib/i386-linux-gnu/libm.so.6
    [19:50:01] [debugb74b9000 b74d51e4 /lib/i386-linux-gnu/libgcc_s.so.1
    [19:50:01] [debugb7303000 b74bfb07 /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debugb76e0000 b7703784 /lib/ld-linux.so.2
    [19:50:01] [debugb72bc000 b72feac4 plugins/crashdetect.so
    [19:50:01] [debugb7282000 b72932ec /lib/i386-linux-gnu/libnss_files.so.2 

  12. #9
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    981
    Репутация:
    665 ±
    Цитата Сообщение от Mr_LemoneZ Посмотреть сообщение
    При использовании в Linux на чистом сервере возникает ошибка в функции _MDialog_ProcessTags:
      Открыть/закрыть
    PHP код:
    [19:50:01] [debugServer crashed while executing test.amx
    [19:50:01] [debugAMX backtrace:
    [
    19:50:01] [debug#0 native strfind () from samp03svr
    [19:50:01] [debug#1 00000a40 in _MDialog_ProcessTags (info[][email protected] "Test", result_info[][email protected] "Test", size_info=4096) at ../include/mdialog.inc:671
    [19:50:01] [debug#2 00000338 in _Dialog_Open (playerid=0, function[][email protected] "Message", style=0, caption[][email protected] "Test", info[][email protected] "Test", button1[][email protected] "OK", button2[][email protected] "") at ../include/mdialog.inc:382
    [19:50:01] [debug#3 000004a4 in Dialog_Message (playerid=0, caption[][email protected] "Test", info[][email protected] "Test", button1[][email protected] "OK") at ../include/mdialog.inc:517
    [19:50:01] [debug#4 0000158c in public OnPlayerRequestClass (playerid=0, classid=1) at /home/lemonez/Pawn/samp03/gamemodes/test.pwn:9
    [19:50:01] [debugNative backtrace:
    [
    19:50:01] [debug#0 b72da180 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () from plugins/crashdetect.so
    [19:50:01] [debug#1 b72d2064 in _ZN11CrashDetect20PrintNativeBacktraceERSoRKN2os7ContextE () from plugins/crashdetect.so
    [19:50:01] [debug#2 b72d2d64 in _ZN11CrashDetect20PrintNativeBacktraceERKN2os7ContextE () from plugins/crashdetect.so
    [19:50:01] [debug#3 b72d4cdb in _ZN11CrashDetect7OnCrashERKN2os7ContextE () from plugins/crashdetect.so
    [19:50:01] [debug#4 b72d94d5 in ?? () from plugins/crashdetect.so
    [19:50:01] [debug#5 b76dfc20 in ?? ()
    [19:50:01] [debug#6 b76dfc31 in ?? ()
    [19:50:01] [debug#7 b732eea9 in gsignal () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#8 b7330407 in abort () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#9 b7327d07 in ?? () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#10 b7327d8b in ?? () from /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debug#11 0809d27f in ?? () from ./samp03svr
    [19:50:01] [debug#12 0809d432 in ?? () from ./samp03svr
    [19:50:01] [debug#13 080950e4 in ?? () from ./samp03svr
    [19:50:01] [debug#14 b72d3ad3 in _ZN11CrashDetect17HandleAMXCallbackEiPiS0_ () from plugins/crashdetect.so
    [19:50:01] [debug#15 00000002 in ?? () from H·i·|µi·ґES    ґES    µGS    ґES    sIS    ґIS    T
    [19:50:01] [debug
    [19:50:01] [debugRegisters:
    [
    19:50:01] [debugEAX00000000 EBX00003261 ECX00003261 EDX00000006
    [19:50:01] [debugESIb76da000 EDIbf9b1ed4 EBPbf9b1fe8 ESPbf9b1e18
    [19:50:01] [debugEIPb76dfc31 EFLAGS00000202
    [19:50:01] [debugStack:
    [
    19:50:01] [debugESP+00000000bf9b1fe8 00000006 00003261 b732eea9
    [19:50:01] [debugESP+0000002000000000 b74b5000 0000004c 0000004d
    [19:50:01] [debugESP+0000004000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+0000006000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+0000008000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000000a000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000000c0bf9b1ef0 08049bfb 00000000 00000004
    [19:50:01] [debugESP+000000e0b7373f00 b7374470 bf9b1e90 b746228c
    [19:50:01] [debugESP+0000010000000010 00000000 b736b1d7 b74b5000
    [19:50:01] [debugESP+00000120b73e5c84 b74b5000 b74b5cc0 b74b5cc0
    [19:50:01] [debugESP+00000140bf9b1fe8 b7327cff b73302b7 b74b5000
    [19:50:01] [debugESP+0000016009393a70 00001000 b74b5000 00000000
    [19:50:01] [debugESP+0000018008158eb9 00000128 08158feb b7462224
    [19:50:01] [debugESP+000001a000000000 0809d27f 08158ef4 08158eb9
    [19:50:01] [debugESP+000001c00952bb5c ffffffff 00000000 09522aac
    [19:50:01] [debugESP+000001e0ffffffff 09520f50 00000004 00000002
    [19:50:01] [debugESP+000002000952bb5c 09520f50 00000050 0951fd70
    [19:50:01] [debugESP+0000022000000000 b72cb14a bf9b2150 00000000
    [19:50:01] [debugESP+00000240bf9b23a8 b72d3ad3 0951fd70 00000007
    [19:50:01] [debugESP+0000026000000000 00000000 2e332e30 00000037
    [19:50:01] [debugESP+0000028000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000002a000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000002c000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+000002e000000000 00000000 00000000 00000000
    [19:50:01] [debugESP+0000030000000000 00000000 00000000 00000010
    [19:50:01] [debugESP+0000032000000000 00000004 00000000 00000000
    [19:50:01] [debugESP+0000034000011e88 00000a40 00000007 0951fd70
    [19:50:01] [debugESP+00000360b7372079 b74b5780 b74b5000 00000004
    [19:50:01] [debugESP+0000038000000000 b72feff4 0951fd70 0945aa90
    [19:50:01] [debugESP+000003a0bf9b224c 09534518 00000004 00000000
    [19:50:01] [debugESP+000003c0bf9b2208 0951fd70 0951fd70 09521b50
    [19:50:01] [debugESP+000003e0bf9b224c 09534518 09389bbc 00000008
    [19:50:01] [debugLoaded modules:
    [
    19:50:01] [debug00000000 00187f43 samp03svr
    [19:50:01] [debugb76df000 b76dfd72 
    [19:50:01] [debugb76bf000 b76c1a04 /lib/i386-linux-gnu/libdl.so.2
    [19:50:01] [debugb76a2000 b76bd6ef /lib/i386-linux-gnu/libpthread.so.0
    [19:50:01] [debugb752b000 b76abb4b /usr/lib/i386-linux-gnu/libstdc++.so.6
    [19:50:01] [debugb74d6000 b752a010 /lib/i386-linux-gnu/libm.so.6
    [19:50:01] [debugb74b9000 b74d51e4 /lib/i386-linux-gnu/libgcc_s.so.1
    [19:50:01] [debugb7303000 b74bfb07 /lib/i386-linux-gnu/libc.so.6
    [19:50:01] [debugb76e0000 b7703784 /lib/ld-linux.so.2
    [19:50:01] [debugb72bc000 b72feac4 plugins/crashdetect.so
    [19:50:01] [debugb7282000 b72932ec /lib/i386-linux-gnu/libnss_files.so.2 
    Пример передаваемой строки можно?

  13. #10
    Аватар для Mr_LemoneZ
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.12.2016
    Адрес
    Беларусь
    Сообщений
    28
    Репутация:
    0 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Пример передаваемой строки можно?
    Да тот же «Test».

    Если убрать атрибут static у функции _MDialog_ProcessTags и вызвать её напрямую, то проблем не возникает.
    Хотя нет, если массив, в который будет передаваться обработанный текст объявить не как new, а как static, сервер падает. Соответственно после того, как в функции _Dialog_Open массив info_result я объявил как new, то всё стало ОК. (Правда это ооочень затратно...)

    P. S. В терминале при падении сервера получаю вот это:
    samp03svr: amx/amxstring.c:296: compare: Assertion `c1!=0 && c2!=0' failed.

 

 
Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •