Как сделать круглый текстдрав

Тема: Создание БАР’a с минимальным кол-вом TextDraw’ов

Опции темы
Отображение

Создание БАР’a с минимальным кол-вом TextDraw’ов

Тема посвящается исключительно построению БАР’ов.

Что толкнуло меня на написание урока!?

никаких ников и ссылок на работы, не хочу никого обидеть/унизить

В примере рассмотрим бар из 6 ТД:
Многие сейчас подумают что бар из 6 ТД наглядно выглядит так:

онлайн 1 игрок = 6 текстдравов
онлайн 500 игроков = 3000 текстдравов

Да, цифры не маленькие. даже при онлайне 50 чел. (300 ТД), но можно с легкостью добиться таких результатов:

1 игрок = 6 текстдравов
500 игроков = 6 текстдравов

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

начнем «построение» такого бара.

Обращаюсь к тру оптимизаторам! Это лишь показательный код, построен как можно проще для лучшего усвоения.

ВАЖНО:
Тотуриал для тех кто хоть какое-то представление имеет о следующих вещах:
— как создать текстдрав
— как cоздать бар из текстдравов
— как узнать координаты «пустого»/»полного» бара

повтаряюсь: Тема посвещается исключительно построению БАР’ов.

Думаю обьяснение как создавать текстдравы здесь не умесно. Если Вы совершенно не умеете работать с ТД, ищите, подходящую для Вас, обучающую статью.

ШАГ 1:
Создаем бар, на вкус и цвет естественно, я использовал данный редактор TextDraw Editor by Zamaroht (Support Textures by Maku) и у меня получился вот бар и код.

Как сделать круглый текстдрав

текстдравы созданы, глубоко вдохнем и движемся далее

ШАГ 2:
Определение границ бара.
под определение границ я имею в виду координаты пустой бар/заполненний бар, в моем случае min = 496.0 max = 603.0
расказывать откуда я взял эти числа (496/603) не буду, тк выше написано

Теперь давайте подумаем для чего мы будем его использовать и как? Ничего в голову не приходит поэтому.
для примера я создам переменную для каждого игрока (box_size [MAX_PLAYERS])
и в паблике OnPlayerUpdate (playerid) буду прибавлять к ней playerid+1(+1 что бы у игрока с идом 0 бокс «заполнялся»)
как только box_size [playerid] будет более 200 сбросим значение на 0, тем самым бар будет «заполняться» от минимума к максимуму и автоматически «опустошаться»

будет как вы поняли:
box_size [playerid] = 0 пустой бар
box_size [playerid] = 200 максимально заполненный бар

степень заполненности бара будем высчитывать путем умножения и сложения

почему же все именно так. обьясняю:
тк я сразу решил что box_size [playerid] не будет превышать 200, можно всего раз узнать и установить значение переменной
limit_size при создании текстдрава. Как это сделать!? Очень просто!

Теперь вся суть темы.

перейдем к паблику OnPlayerUpdate (playerid) в котором будем заполнять бар

box_size [playerid] += playerid+1 для того чтобы убедить Вас что все работает правильно, зайдите на сервер с другом и проверьте.
Вы думаете что если на сервере 2 и более игрока ТД будет «прыгать»!? Нет, не будет. Я это уже доказывал в небольшом споре и гарантирую безупречную работу.

Вот так мы получили бар в 6 ТД для любого онлайна.

Вот полный код в виде FS

Надеюсь свою мысль до Вас сумел донести.
Знаю о инклуде CreateBar(точно не помню название ибо никогда не пользовался и видел всего один раз)
смотрел код инклуда, хотел написать «облегченный» инклуд для создания баров не только горизонтальных, а еще и вертикальных, но. лень же=)

Всем спасибо, удачи.
— простите за возможные ошибки.
— моя первая тема данного рода.

Источник

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

Опции темы
Поиск по теме

Как сделать круглый текстдрав

Как сделать круглый текстдрав

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

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

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

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

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

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

Как сделать круглый текстдрав

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

Как сделать круглый текстдрав

Как сделать круглый текстдрав

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

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

Как сделать круглый текстдрав

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

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

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

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

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

Теперь создаем текстдрав. Делать я это буду в OnGamemodeInit, Вам тоже советую.

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

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

Как сделать круглый текстдрав

Автор: MassonNN (Nestyreff)

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *