Sign in to follow this  
Followers 0
Guest stibs

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

1 post in this topic

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

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

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


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

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

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

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

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

#include <global-textdraws>

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

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

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

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


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

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

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

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

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


На этом все! 

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • pawlo
      By 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
      By 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
    • Guest
    • RASTAMAN
      By RASTAMAN


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