Перейти к содержимому
Для публикации в этом разделе необходимо провести 30 боёв.
Do6pblu_6aHaH

Как работают юзербары

В этой теме 9 комментариев

Рекомендуемые комментарии

Участник
14 публикаций
5 боёв

Как работают динамические юзербары?

 

Привет, сегодня расскажу о том, как работают динамические юзербары, т.е в которых обновляется какая-либо информация о ваших игровых достижения или еще о чем-то. Все работает на PHP.

После прочтения этого поста, вы сможете сделать свой сервис для создания юзербаров, если могете в PHP.


Итак, что нам надо?

  • Фотошоп;
  • Notepad++ или любой другой текстовый редактор;
  • Руки.


Начнем, сначала надо понять, как же оно работает, построем схему:

38LMWpZRPT8.jpg

Вот как-то так, иногда информация о игроке хранится в базе провайдера юзербаров, но бывает, что получают инфу на прямую через WGAPI. (или из чужой БД :D)


Затем нарисуем в фотошопе самый простой бар, например:

 

3KOVMI_TvSY.jpg


Отлично, теперь надо найти координаты (x, y) начала динамической информации, которую будет рисовать наш скрипт. Берем инструмент “Линейка” и тыкаем в тот пиксель, в котором начинается отрисовка. Делать так нужно для каждой надписи.

Совет: чтобы надписи были ровненькими, не меняйте X, смотрите только на новый Y.

xptl0_cvugI.jpg

Не забудьте скрыть слои с текстом, который должен рисовать скрипт.


К сожалению специального тега для подсветки кода я не нашел, поэтому пришлось выделить хоть так, страдайте.

Славно, нашли нужные нам координаты, можем приступать к написанию скрипта:
1) 
Добавляем нужный нам класс для рисования на изображении, теперь все его функции будут доступны и в нашем скрипте. Конечно сторонние классы использовать совсем не обязательно, но они значительно сократят ваш код и помогут вам не запутаться в нем.

require_once 'ttftext.php';

 

2) Создаем объект, с которым будем работать, параметром задаем путь к файлу заготовки

$img = new ttfText('image.png');

 

 

3) Устанавливаем нужный нам шрифт.

$img->setFont('air_mitalic.ttf', 24, "#b0ef84", 10);

 

4) Пишем текст

$img->writeText(80, 40, $data['battles']);

 

5) Выводим картинку в браузер

header("Content-type: image/png");

$img->output('png');

 

 

И да, я не говорю, что везде все устроенно именно так. Но вообще-то примерно так и есть.


D0z4BiVnINY.jpg

 

Вообще, рисовалка PHP сильно нагружает процессор, поэтому картинки надо кэшировать.

Изменено пользователем Do6pblu_6aHaH

Рассказать о публикации


Ссылка на публикацию
Участник
2 647 публикаций

Сами писали?

 

То что получилось нужно запускать на веб сервере.

 

В приложенном архиве можно найти все исходники и шрифты.

 

И архив неприложили. Просто интересно как вы достаете статистику о игроке, доступа напрямую к ВГшным базам нет.

 

 

добавил ссылку на архив, писал сам.
В WG API есть метод account/info

 

Ок.

Изменено пользователем anonym_CW9Ah05fSfxr

Рассказать о публикации


Ссылка на публикацию
Участник
14 публикаций
5 боёв

Сами писали?

 

То что получилось нужно запускать на веб сервере.

 

 

И архив неприложили. Просто интересно как вы достаете статистику о игроке, доступа напрямую к ВГшным базам нет.

 

добавил ссылку на архив, писал сам.

В WG API есть метод account/info

Рассказать о публикации


Ссылка на публикацию
Участник
1 публикация
5 боёв

balatskiy скинь скрипт или ссылку в ЛС, так как в первом посте ссылка битая.

Заранее благодарен

Изменено пользователем mgnw0rm

Рассказать о публикации


Ссылка на публикацию
4
[YAP]
Участник
3 публикации
4 187 боёв

А скрипт еще актуален? Если да можете скинуть.

Рассказать о публикации


Ссылка на публикацию

×