Как добавить текстдрав в игру?

В теме 1 сообщение

Всем привет! В данной теме мы научимся добавлять текстдравы в игру. 

Итак, для начала разберем, какие же текстдравы бывают. Для этого обратимся к этой теме. 

Прочитали и определили тип своего текстдрава? Тогда приступаем к добавлению! 


У МЕНЯ ГЛОБАЛЬНЫЙ ТЕКСТДРАВ. КАК МНЕ ЕГО ДОБАВИТЬ? 

Автор выложит new (переменные), а также столбики с букафками (само тело текстдрава). 

Итак, new мы по привычке добавляем ко всем глобальным переменным, а вот глобальные текстдравы для удобства я советую хранить в инклуде. 

Окей, я буду хранить в инклуде: 

В таком случае в OnGameModeInit добавим: 

#include <global-textdraws>

Ну и создаем сам инклуд в папке .../pawno/include с содержимым: 

print("Библиотека с текстдравами загружена!");
// коды самих глобальных текстдравов

Нет, я не хочу хранить в инклуде:

Тогда просто коды глобальных текстдравов кидайте в OnGameModeInit; 


У МЕНЯ ПЛЕЕРНЫЙ ТЕКСТДРАВ, КАК МНЕ ЕГО ДОБАВИТЬ? 

Автор также выложит new (переменные) и также столбики с буквами.

new суем в начало мода, а вот тело текстдравов уже суем не в OnGameModeInit. Также можно хранить в инклуде, а можно и в самом моде. 

Нет, я не хочу использовать инклуд: 

Тогда суем в OnPlayerConnect ваши текстдравы.


На этом все! 

Урок подготовлен PAWNO-RUS.RU, при копировании ссылка на источник обязательна! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От pawlo


      Просмотр файла QRCODE ALPHA 1.0

       
       
      Здраствуйте форумчане!
      Я  вот и выкатываю второе по счёту обновление иклуйда QRCODE.inc который позволит вам рисовать QR код в игре с помощью текстдравов.
      У QR кодов огромный потенциал в сфере SAMP. Данный иклуйд разрушает стену межу игроком и окном браузера.
      Как мы знаем в MTA есть возможность показать окно браузера, но в samp - нет.
      Я считаю данный инклуйд частично разрушит стену и позволит разработчикам открыть двери в разработки систем. Вот как я оцениваю потенциал:
      Упрощение процедуры заполнения формы сборов средств;
      Редирект на страницу оплаты или полный отказ формы доната на сайте;
      Система безопасности ( вход по типу http://web.wathsapp.com/ );
      Показывать QR код с ссылкой на ресурс;
      И многое другое!

      Инклуйд теперь использует плагин "TD-Streamer". Ибо раньше при создании QR кода было необходимо удалять все текстдравы перед отображением QR кода.
      Плагин позволит обойти ограничения в создании 256 текстдравов.

      Данный инклуйд работает с поддержкой PHP. PHP генерирует и сжжимает QR код без PHP никуда.

      PHP использует:
      библиотека для генерации QR кода ссылка на GITHUB

      qrcode.inc использует:
      sscanf2 - github.com
      mysql - github.com
      TD-Streamer - github.com
      Во всех FS замените OnPlayerClickPlayerTextDraw на ClickDynamicPlayerTextdraw. Где подключен qrcode.inc там надо. если вдруг перестастанет работать OnPlayerClickPlayerTextDraw. 
       
      Настройка и установка:

      Загружаем структуру базы данных
      в папке MySQL содержится структура базы данных. Установите её.

      Установка и настройка php:
      2. Откройте файл из архива "../php/qr/settings.php";
      3. Настройте mysql. 
      $MYSQL_SERVER = '192.168.0.1'; // ip сервера MySQL $MYSQL_USER = 'root'; // пользователь MySQL $MYSQL_PASS =''; // пароль MySQL $MYSQL_BD = 'qrcode'; // база данных ( по дефолту оставить так )
      4. Загрузить папку "qr" из директории php на сервер с поддержкой PHP;
       
      Установка и настройка инклуйда:
      1. Содержимое папки pawn перенесите в папку с сервером.
      2. Подклчите плагин sscanf mysql TextdrawStreamer
      2. Подключите qrcode.inc
      #include <qrcode.inc>
      3. укажите ссылку на файл "q.php" и "g.php"
      #define QRCODE_HOST     "site.ru/qrcode/q.php" // site.ru - ваш сайт #define QRCODE_LINK     "http:site.ru/qrcode/g.php" // "http:" или "https:" но ставить обаятельно в зависимости есть ли у вас SSL сертификат
      4. Подключитесь к безе данных MySQL:
      public OnGameModeInit() {     if(QRCodeInit("host", "user", "password", "bd (по дефолту (qrcode)"))     {         printf("{QRCODE} = Ошибка подключения");     }     else     {         printf("{QRCODE} = áàçà \"qrcode\" MySQL ïîäêëþ÷åíà");         QRCodeSet(-1, QRCODE_TYPE_REDIRECT, "youtube", "https://www.youtube.com/");             LoadMysqlQRcode("youtube", qrcode);     }     return 1; }  
       
      Функции с примерами:
       
      QRCodeInit(SQL_HOST[], SQL_USER[], SQL_PASS[], SQL_DB[]) /* SQL_HOST[] - ip MySQL SQL_USER[] - логин  SQL_PASS[] - пароль SQL_DB[] - база данных ( по дефолту qrcode ) */ Пример:  public OnGameModeInit() {     if(QRCodeInit("127.0.0.1", "root", "", "qrcode") == 0) // подключаемся к базе данных     {         printf("{QRCODE} = Ошибка подключения");     }     else     {         printf("{QRCODE} = база \"qrcode\" MySQL подключена");     }     return 1; } ShowQRcode(playerid, type, textqr[], Float:qrcode_x, Float:qrcode_y, Float:qrcode_size = 0.0, qrhandle[] = "") /*     playerid - id игрока;     type - тип QR кода;         QRCODE_TYPE_REDIRECT    переход по ссылке ( textqr[] );         QRCODE_TYPE_TEXT        зашифрует текст( textqr[] ) в QR коде;         QRCODE_TYPE_PAGE_TEXT   переход на страницу с текстом ( textqr[] );     textqr[] - текст;     Float:qrcode_x - позиция X (0.0 верх экрана );     Float:qrcode_y - позиция Y (0.0 лево экрана );     Float:qrcode_size = 0.0 - (размер текстдрава QR кода (по стандарту 0 максимум 1. по стандарту 0, оставьте пустым;     qrhandle[] = "" - идентификатор ( QRCODE_TYPE_TEXT идентификатор не нужен. оставьте пустым). */ Пример: CMD:c(playerid, p[]) {     if(MAX_TEXT_QRCODE < strlen(p)) return SendClientMessage(playerid, -1, "[Сгенерировать QR ] - /c [text]");     ShowQRcode(playerid, QRCODE_TYPE_TEXT, p, 250.0, 250.0);     return 1; } stock ShowMysqlQRcode(playerid, qrhandle[], Float:qrcode_x, Float: qrcode_y, Float:qrcode_size = 0.0) /*     qrhandle[] - индентификатор;     Float:qrcode_x - позиция X (0.0 верх экрана );     Float:qrcode_y - позиция Y (0.0 лево экрана );     Float:qrcode_size = 0.0 - (размер текстдрава QR кода (по стандарту 0 максимум 1. по стандарту 0, оставьте пустым. */ Пример: CMD:l(playerid, p[]) {     if(strlen(p) == 0 && strlen(p) < MAX_SIZE_HANDLE) return SendClientMessage(playerid, -1, "[Показать QR код из базы данных] - /l [handle]");     ShowMysqlQRcode(playerid, p, 0.0, 0.0);     return 1; } stock CreatePlayerTextDrawsQrCode(playerid, QRCode:qrcodedata[], Float:qrcode_px, Float:qrcode_py, Float:qrcode_size = 0.0, sizeqr = sizeof(qrcodedata)) /*     playerid - id игрока;     QRCode:qrcodedata[] - массив данных;     Float:qrcode_x - позиция X (0.0 верх экрана );     Float:qrcode_y - позиция Y (0.0 лево экрана );     Float:qrcode_size = 0.0 - (размер текстдрава QR кода (по стандарту 0 максимум 1. по       sizeqr = sizeof(qrcodedata) - оставить пустым. */ stock QRCodeSet(playerid, type, qrhandle[], textqr[]) /*     playerid - id игрока;     type - тип QR кода;      - Работает только с этими типами!         QRCODE_TYPE_REDIRECT    переход по ссылке ( textqr[] );         QRCODE_TYPE_TEXT        зашифрует текст( textqr[] ) в QR коде;     qrhandle[] = "" - идентификатор ( QRCODE_TYPE_TEXT идентификатор не нужен. оставьте пустым).     textqr[] - текст; */ stock LoadMysqlQRcode(qrhandle[], QRCode:qrcodedata[], sizeqrcode = sizeof(qrcodedata)) /*     qrhandle[] - идентификатор     QRCode:qrcodedata[] - массив в который загрузится QR код     sizeqrcode = sizeof(qrcodedata) - оставить пустым     Загружает QR код в массив. */ Пример: new QRCode:qrcode[MAX_SIZE_QRCODE]; public OnFilterScriptInit() {     QRCodeSet(-1, QRCODE_TYPE_REDIRECT, "youtube", "https://www.youtube.com/");     LoadMysqlQRcode("youtube", qrcode); } CMD:youtube(playerid, p[]) {     CreatePlayerTextDrawsQrCode(playerid, qrcode, 200.0, 200.0);     return 1; }  
      Определяем кнопки:
      public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) {     if(QRCancel)     {         return SendClientMessage(playerid, 0x44FF44FF, "Нажата кнопка Cancel!");     }     if(QRDone)     {         return SendClientMessage(playerid, 0x44FF44FF, "Нажата кнопка Done!");     }     return 1; }  
       
       
      Лимиты:
      #define MAX_SIZE_HANDLE         64  #define MAX_TEXT_QRCODE         50 #define MAX_SIZE_QRCODE         750  qrcode alpha 1.0.rar
      Не стесняйтесь задавать вопросы, предлагать улучшения и указывать на ошибки это очень важно, чтобы QR код был намного лучше![/size]
      Я предлагаю услуги скриптинга:
      Исправлении багов;
      Написании каких либо скриптов;
      Рисовании тексдравов;
      Всё что связано в pawn!
      По всем вопросам писать в телеграмм @vawylon

      Автор я: pawlo/vawylon
      Добавил pawlo Добавлено 05.01.2021 Категория Плагины / инклуды Автор /vawylon/pawlo Совместимость с версией мультиплеера    
    • От pawlo

       
       
      Здраствуйте форумчане!
      Я  вот и выкатываю второе по счёту обновление иклуйда QRCODE.inc который позволит вам рисовать QR код в игре с помощью текстдравов.
      У QR кодов огромный потенциал в сфере SAMP. Данный иклуйд разрушает стену межу игроком и окном браузера.
      Как мы знаем в MTA есть возможность показать окно браузера, но в samp - нет.
      Я считаю данный инклуйд частично разрушит стену и позволит разработчикам открыть двери в разработки систем. Вот как я оцениваю потенциал:
      Упрощение процедуры заполнения формы сборов средств;
      Редирект на страницу оплаты или полный отказ формы доната на сайте;
      Система безопасности ( вход по типу http://web.wathsapp.com/ );
      Показывать QR код с ссылкой на ресурс;
      И многое другое!

      Инклуйд теперь использует плагин "TD-Streamer". Ибо раньше при создании QR кода было необходимо удалять все текстдравы перед отображением QR кода.
      Плагин позволит обойти ограничения в создании 256 текстдравов.

      Данный инклуйд работает с поддержкой PHP. PHP генерирует и сжжимает QR код без PHP никуда.

      PHP использует:
      библиотека для генерации QR кода ссылка на GITHUB

      qrcode.inc использует:
      sscanf2 - github.com
      mysql - github.com
      TD-Streamer - github.com
      Во всех FS замените OnPlayerClickPlayerTextDraw на ClickDynamicPlayerTextdraw. Где подключен qrcode.inc там надо. если вдруг перестастанет работать OnPlayerClickPlayerTextDraw. 
       
      Настройка и установка:

      Загружаем структуру базы данных
      в папке MySQL содержится структура базы данных. Установите её.

      Установка и настройка php:
      2. Откройте файл из архива "../php/qr/settings.php";
      3. Настройте mysql. 
      $MYSQL_SERVER = '192.168.0.1'; // ip сервера MySQL $MYSQL_USER = 'root'; // пользователь MySQL $MYSQL_PASS =''; // пароль MySQL $MYSQL_BD = 'qrcode'; // база данных ( по дефолту оставить так )
      4. Загрузить папку "qr" из директории php на сервер с поддержкой PHP;
       
      Установка и настройка инклуйда:
      1. Содержимое папки pawn перенесите в папку с сервером.
      2. Подклчите плагин sscanf mysql TextdrawStreamer
      2. Подключите qrcode.inc
      #include <qrcode.inc>
      3. укажите ссылку на файл "q.php" и "g.php"
      #define QRCODE_HOST     "site.ru/qrcode/q.php" // site.ru - ваш сайт #define QRCODE_LINK     "http:site.ru/qrcode/g.php" // "http:" или "https:" но ставить обаятельно в зависимости есть ли у вас SSL сертификат
      4. Подключитесь к безе данных MySQL:
      public OnGameModeInit() {     if(QRCodeInit("host", "user", "password", "bd (по дефолту (qrcode)"))     {         printf("{QRCODE} = Ошибка подключения");     }     else     {         printf("{QRCODE} = áàçà \"qrcode\" MySQL ïîäêëþ÷åíà");         QRCodeSet(-1, QRCODE_TYPE_REDIRECT, "youtube", "https://www.youtube.com/");             LoadMysqlQRcode("youtube", qrcode);     }     return 1; }  
       
      Функции с примерами:
       
      QRCodeInit(SQL_HOST[], SQL_USER[], SQL_PASS[], SQL_DB[]) /* SQL_HOST[] - ip MySQL SQL_USER[] - логин  SQL_PASS[] - пароль SQL_DB[] - база данных ( по дефолту qrcode ) */ Пример:  public OnGameModeInit() {     if(QRCodeInit("127.0.0.1", "root", "", "qrcode") == 0) // подключаемся к базе данных     {         printf("{QRCODE} = Ошибка подключения");     }     else     {         printf("{QRCODE} = база \"qrcode\" MySQL подключена");     }     return 1; } ShowQRcode(playerid, type, textqr[], Float:qrcode_x, Float:qrcode_y, Float:qrcode_size = 0.0, qrhandle[] = "") /*     playerid - id игрока;     type - тип QR кода;         QRCODE_TYPE_REDIRECT    переход по ссылке ( textqr[] );         QRCODE_TYPE_TEXT        зашифрует текст( textqr[] ) в QR коде;         QRCODE_TYPE_PAGE_TEXT   переход на страницу с текстом ( textqr[] );     textqr[] - текст;     Float:qrcode_x - позиция X (0.0 верх экрана );     Float:qrcode_y - позиция Y (0.0 лево экрана );     Float:qrcode_size = 0.0 - (размер текстдрава QR кода (по стандарту 0 максимум 1. по стандарту 0, оставьте пустым;     qrhandle[] = "" - идентификатор ( QRCODE_TYPE_TEXT идентификатор не нужен. оставьте пустым). */ Пример: CMD:c(playerid, p[]) {     if(MAX_TEXT_QRCODE < strlen(p)) return SendClientMessage(playerid, -1, "[Сгенерировать QR ] - /c [text]");     ShowQRcode(playerid, QRCODE_TYPE_TEXT, p, 250.0, 250.0);     return 1; } stock ShowMysqlQRcode(playerid, qrhandle[], Float:qrcode_x, Float: qrcode_y, Float:qrcode_size = 0.0) /*     qrhandle[] - индентификатор;     Float:qrcode_x - позиция X (0.0 верх экрана );     Float:qrcode_y - позиция Y (0.0 лево экрана );     Float:qrcode_size = 0.0 - (размер текстдрава QR кода (по стандарту 0 максимум 1. по стандарту 0, оставьте пустым. */ Пример: CMD:l(playerid, p[]) {     if(strlen(p) == 0 && strlen(p) < MAX_SIZE_HANDLE) return SendClientMessage(playerid, -1, "[Показать QR код из базы данных] - /l [handle]");     ShowMysqlQRcode(playerid, p, 0.0, 0.0);     return 1; } stock CreatePlayerTextDrawsQrCode(playerid, QRCode:qrcodedata[], Float:qrcode_px, Float:qrcode_py, Float:qrcode_size = 0.0, sizeqr = sizeof(qrcodedata)) /*     playerid - id игрока;     QRCode:qrcodedata[] - массив данных;     Float:qrcode_x - позиция X (0.0 верх экрана );     Float:qrcode_y - позиция Y (0.0 лево экрана );     Float:qrcode_size = 0.0 - (размер текстдрава QR кода (по стандарту 0 максимум 1. по       sizeqr = sizeof(qrcodedata) - оставить пустым. */ stock QRCodeSet(playerid, type, qrhandle[], textqr[]) /*     playerid - id игрока;     type - тип QR кода;      - Работает только с этими типами!         QRCODE_TYPE_REDIRECT    переход по ссылке ( textqr[] );         QRCODE_TYPE_TEXT        зашифрует текст( textqr[] ) в QR коде;     qrhandle[] = "" - идентификатор ( QRCODE_TYPE_TEXT идентификатор не нужен. оставьте пустым).     textqr[] - текст; */ stock LoadMysqlQRcode(qrhandle[], QRCode:qrcodedata[], sizeqrcode = sizeof(qrcodedata)) /*     qrhandle[] - идентификатор     QRCode:qrcodedata[] - массив в который загрузится QR код     sizeqrcode = sizeof(qrcodedata) - оставить пустым     Загружает QR код в массив. */ Пример: new QRCode:qrcode[MAX_SIZE_QRCODE]; public OnFilterScriptInit() {     QRCodeSet(-1, QRCODE_TYPE_REDIRECT, "youtube", "https://www.youtube.com/");     LoadMysqlQRcode("youtube", qrcode); } CMD:youtube(playerid, p[]) {     CreatePlayerTextDrawsQrCode(playerid, qrcode, 200.0, 200.0);     return 1; }  
      Определяем кнопки:
      public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) {     if(QRCancel)     {         return SendClientMessage(playerid, 0x44FF44FF, "Нажата кнопка Cancel!");     }     if(QRDone)     {         return SendClientMessage(playerid, 0x44FF44FF, "Нажата кнопка Done!");     }     return 1; }  
       
       
      Лимиты:
      #define MAX_SIZE_HANDLE         64  #define MAX_TEXT_QRCODE         50 #define MAX_SIZE_QRCODE         750 
      Скачать: ЯндексДиск
      Не стесняйтесь задавать вопросы, предлагать улучшения и указывать на ошибки это очень важно, чтобы QR код был намного лучше![/size]
      Я предлагаю услуги скриптинга:
      Исправлении багов;
      Написании каких либо скриптов;
      Рисовании тексдравов;
      Всё что связано в pawn!
      По всем вопросам писать в телеграмм @vawylon

      Автор я: pawlo/vawylon
    • От Гость
       
    • От RASTAMAN


      Просмотр файла iPLEOMAX's TextDraw Editor
       
      Добавил Daniil Roslyakov Добавлено 30.10.2017 Категория Файлы  
    • От HAPKOMAH
      Сливаю Вам текстдрав "Голод"
      Рисовал лично Я - НАРКОМАН
      P.S. Сливаю только Голод, Логотип не идет 
       
      TD_Golod.pwn