Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3
  1. #1
    Аватар для MassonNN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±

    Подгрузка JPG, PNG и прочих изображений как TextDraw [с client-side]

    Добрый день. С развитием сампа в сторону создания собственных лаунчеров понимаю, что актуальность данной темы будет возрастать. Способ, который я покажу Вам очень прост, а главное не требует спец навыков в моддинге или скриптинге.

    Итак. Я покажу способ подгружать собственные изображения форматов JPG, PNG и т.д. как текстдрав на ваш сервер с лаунчером или собственной сборкой для проекта.


    Шаг 1. Установка необходимого софта.

    Скачиваем Magic.TXD
    Устанавливаем его (тут все как обычно).

    Шаг 2. Конвертация в TXD.

    Заходим в Magic.TXD и нажимаем на файл - новый.

      Открыть/закрыть


    Далее создаем новый проект как показано на скриншоте

      Открыть/закрыть



    Добавляем необходимые нам изображения через Правка - Добавить

      Открыть/закрыть



    Можете поиграться с настройками, а можете, как я, ничего не делать. Нажимаем "Добавить".

    Вы можете добавить сразу несколько изображений в один TXD архив, по аналогии с этим.

      Открыть/закрыть



    Я добавлю свой форумный аватар. Теперь нажимаем Файл - Сохранить как.
    Указываем следующую директорию:

    Ваша папка с гта/models/txd


    и нажимаем сохранить.


    Шаг 3. Вызов текстдрава.

    Теперь переходим к вызову этого текстдрава в игре. Для этого мы, например, будем вызывать наш текстдрав, когда игрок заходит в игру.

    Создаем переменные, желательно в начале после всех include:

    1. new Text:avatar; // в моем случае будет только одна переменная



    Теперь создаем текстдрав. Делать я это буду в OnGamemodeInit, Вам тоже советую.
    1. avatar = TextDrawCreate(241.222534, 185.499969, "avatar:pocket_tv");
    2. // где avatar - название библиотеки TXD, а pocket_tv - название конкретного изображения
    3. TextDrawTextSize(avatar, 177.569564, 96.833297);
    4. TextDrawAlignment(avatar, 1);
    5. TextDrawColor(avatar, -1);
    6. TextDrawSetShadow(avatar, 248);
    7. TextDrawSetOutline(avatar, 0);
    8. TextDrawFont(avatar, 4); // Обязательно указываем 4 шрифт,
    9. //остальные параметры необязательны и под ваш вкус и цвет



    Ну и где хотим показываем игроку текстдрав, как я уже сказал, я буду это делать при подключении к серверу:

    1. TextDrawShowForPlayer(playerid, avatar);



    Шаг 4. Результат.


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


      Открыть/закрыть



    Автор: MassonNN (Nestyreff)

    - - - Добавлено - - -

    К слову. Данные текстдравы не нагружают ваш сервер больше, чем обычные спрайты. Данные текстдравы в зависимости от уровня текстуринга могут давать разное качество. Если у Вас есть directx 9 (а он есть у многих), то можно подгружать даже HD изображения. С кликабельностью проблем пока не было.

    Если у игрока нет текстдрава в папке с игрой, то он просто не покажется. Не крашит.

  2. #2
    Аватар для geneff
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.07.2017
    Сообщений
    44
    Репутация:
    5 ±
    Вау, больше спасибо за мануал. Как раз начал интересоватся как это все работает

  3. #3
    Аватар для Fallen A.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Адрес
    Минск, БССР
    Сообщений
    236
    Репутация:
    19 ±
    Особенно с помощью реализации лончера это будет актуально. Жаль, что движок GTA SA уже слишком устарел.

 

 

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

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

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

Ваши права

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