Авторизация



Задай мне вопрос

Голосования

Вы любите, когда вам чешут спинку? ;)
 

ГлавнаяПроектыДинамические юзербары → Создаем свой юзербар используя сервис динамических юзербаров
Создаем свой юзербар используя сервис динамических юзербаров E-mail
User Rating: / 5
PoorBest 
Written by xternalx   
Tuesday, 28 July 2009 15:50
Article Index
Создаем свой юзербар используя сервис динамических юзербаров
Краткий обзор пользовательского интерфейса
Доступные команды(макросы)
Примеры юзербаров
All Pages
За все время работы моего сервиса(история возникновения), в нем зарегистрировалось около 200 человек. Маловато. Хотя с другой стороны, я его почти нигде не рекламировал, а просто вставлял ссылку к себе в подпись на форумах. Люди регистрируются, смотрят что это из себя представляет, пугаются и уходят. И вот сегодня мне захотелось наконец таки сделать небольшой обзор своего сервиса, а так же, написать парочку примеров использования :)
Итак, начнем... 


 

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

Free Image Hosting at www.ImageShack.us

 

На приведенном выше скриншоте отмечены основные элементы пользовательского интерфейса:

1 - главное меню

2 - предпросмотр юзербара

3 - поле в котором указывается фон юзербара

4 - поле в котором можно указать имя файла, который будет придавать юзербару выпуклый, или стеклянный эффект

5 - панель выбора, предпросмотра, и загрузки шрифтов

6 - редактор кода юзербара 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

В окне предпросмотра отображается Ваш юзербар на текущем этапе редактирования. Предпросмотр обновляется автоматически после каждого раза, как Вы нажмете кнопку "Сохранить".

 

В поле фона юзербара необходимо указать имя файла, который будет взят за основу юзербара, т.е. будет являться фоном.  Здесь есть небольшая хитрушка. Если в файловом менеджере Вы выбираете какую то картинку для предпросмотра, ее имя автоматически сохраняется в памяти интерфейса. Для того, чтобы не пришлось вручную указывать имя файла в качестве фона, достаточно нажать крестик рядом с соответствующим полем :)

 

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

 

В панели предпросмотра шрифтов можно увидеть список доступных в сервисе шрифтов, которыми можно наносить надписи на юзербар. Если имени файла Вам не достаточно для того, чтобы оценить шрифт, можете нажать кнопку "Просмотр", и увидете примерно следущее:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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


Команды, или макросы(чаще всего я их называю именно макросами) нужны для того, чтобы формировать изображение юзербара. Кроме макросов есть еще xtCodes - это аналог форумных bb-кодов. Они используются только для замены каких то стандартных данных, которые в процессе использования сервиса могут измениться.

 

Хотелось бы отметить, что имена файлов, а так же шрифтов, которые Вы хотите нарисовать, можно писать как с их расширением - так и без него 

 

Доступные xtCodes:  

  1. [icq] - этот код будет заменен на Ваш номер icq
  2. [email] - этот код будет заменен на Ваш адрес e-mail
  3. [todaydate] - этот код будет заменен на текущую дату с учетом часового пояса владельца юзербара
  4. [datenow] - аналог [todaydate]
  5. [timenow] - этот код будет заменен на текущее время с учетом часового пояса владельца юзербара
  6. [userip] - этот код будет заменен на ip адрес открывшего страницу 
  7. [userhost] - этот код будет заменен на имя хоста открывшего страницу
Кроме того, существуют дополнительные xtCodes, доступные посредством плагинов, используемых сервисом динамических юзербаров. В частности, имеются xtCodes для отображения игровой статистики из игры Enemy Territory - Quake Wars. Данные коды можно увидеть уже непосредственно в справочной системе динамических юзербаров. 
 

Доступные макросы:

 

  • img(LeftTopFileName) - рисование картинки:
    Left - расстояние в пикселях от крайней левой стороны
    Top - расстояние в пикселях от крайней верхней стороны
    FileName - имя графического файла, который Вы хотите нарисовать

  • str(Left, Top, FontSize, Angle, FontName, ColorInHex, TextToDraw) - рисование текста.
    Left - Расстояние в пикселях от левой стороны юзербара до левой стороны текста
    Top - Расстояние в пикселях от верхней стороны юзербара до левой нижней стороны текста
    FontSize - Размер шрифта в пикселях
    Angle - угол наклона текста
    FontName - название шрифта, которым будет производиться рисование(стили начертания шрифтов можно увидеть в просмотрщике шрифтов)
    ColorInHex - цвет текста в HEX. Формат такой, к примеру: c0c0c0, т.е. никаких решеток вначале кода
    TextToDraw - текст, который хотите нарисовать. Здесь возможно использование xtCodes
     
  • rimg(LeftTopFileName, FileName1|FileName2|FileName3) - рисование случайной картинки из списка доступных картинок
  • Left - Расстояние в пикселях от левой стороны юзербара до левой стороны текста
    Top - Расстояние в пикселях от верхней стороны юзербара до левой нижней стороны текста
    FileName1\:FileName2\:FileName3 - Список файлов, которые можно рисовать. Т.е. мы сообщили макросу что случайным образом можно нарисовать либо картинку с именем FileName1, либо FileName2, либо FileName3
     
  •  rstr(LeftTopFontSizeAngleFontNameColorInHexTextToDraw1|TextToDraw2|TextToDraw3) - рисование случайно выбранного текста из представленного списка.
  • Left - Расстояние в пикселях от левой стороны юзербара до левой стороны текста
    Top - Расстояние в пикселях от верхней стороны юзербара до левой нижней стороны текста
    FontSize - Размер шрифта в пикселях
    Angle - угол наклона текста
    FontName - название шрифта, которым будет производиться рисование(стили начертания шрифтов можно увидеть в просмотрщике шрифтов)
    ColorInHex - цвет текста в HEX. Формат такой, к примеру: c0c0c0, т.е. никаких решеток вначале кода
    TextToDraw1|TextToDraw2|TextToDraw - текст, который хотите нарисовать. Здесь возможно использование xtCodes. Синтаксис данного списка аналогичен макросу rimg()
     
    Перейдем к вещам поинтереснее :) 
    Представленные дальше макросы позволяют рисовать текст и графику на юзербаре в зависимости от времени :) Не забудьте в настройках Вашего профиля указать Ваш часовой пояс :) 
     
  • timg(LeftTopTimeToBeginDrawTimeDrawPeriodFileName) - рисование картинки в зависимости от времени суток
  • Left - Расстояние в пикселях от левой стороны юзербара до левой стороны текста
    Top - Расстояние в пикселях от верхней стороны юзербара до левой нижней стороны текста
    TimeToBeginDraw - Время в формате чч-мм, когда необходимо начинать рисовать изображение
    TimeDrawPeriod - Длительность отображения картинки в формате чч-мм, т.е. Просто указываем, сколько часов, или минут хотим чтобы данная картинка рисовалась на юзербаре спустя время, прошедшее с  TimeToBeginDraw
    FileName - имя графического файла, который Вы хотите нарисовать
     
  •  tstr(LeftTopFontSizeAngleFontNameColorInHexTimeToBeginDrawTimeDrawPeriod, TextToDraw1) - рисование случайно выбранного текста из представленного списка.
  • Left - Расстояние в пикселях от левой стороны юзербара до левой стороны текста
    Top - Расстояние в пикселях от верхней стороны юзербара до левой нижней стороны текста
    FontSize - Размер шрифта в пикселях
    Angle - угол наклона текста
    FontName - название шрифта, которым будет производиться рисование(стили начертания шрифтов можно увидеть в просмотрщике шрифтов)
    ColorInHex - цвет текста в HEX. Формат такой, к примеру: c0c0c0, т.е. никаких решеток вначале кода
    TimeToBeginDraw - Время в формате чч-мм, когда необходимо начинать рисовать изображение
    TimeDrawPeriod - Длительность отображения картинки в формате чч-мм, т.е. Просто указываем, сколько часов, или минут хотим чтобы данная картинка рисовалась на юзербаре спустя время, прошедшее с  TimeToBeginDraw 
    TextToDraw - текст, который хотите нарисовать. Здесь возможно использование xtCodes
     
     
     Хотелось бы отметить, что представленный ниже код у Вас может формировать представление юзербара отличное от того, что будет представлено здесь на скриншотах.
     
    Здесь будут приведены примеры кода юзербаров и конечный результат в виде скриншота без каких либо комментариев. Если Вы внимательно читали предыдущую страницу, у Вас не должно возникнуть никаких проблем :)
     
    Итак, поехали
     Задача: Хочу чтобы на юзербаре текст и графика рисовались в зависимости от времени суток
    Конечный результат

    Код юзербара

    timg(5,4,2-0,5-0,status.sleep)

    timg(5,4,7-0,3-0,status.aftersleep)

    timg(5,4,10-0,5-0,status.working)

    timg(5,4,15-0,3-0,status.evil)

    timg(5,4,18-0,2-0,status.tired)

    timg(5,4,20-0,4-0,status.beer)

    timg(5,4,0-0,2-0,status.sex)

     

    tstr(23,6,10,0,Eur_e_bo,ffffff,2-0,5-0,Сплю..... zzZZzzz.....)

    tstr(6,23,7,0,Eur_e_bo,fffff0,2-0,5-0,Не беспокойте меня пожалуйста)

     

    tstr(23,6,10,0,Eur_e_bo,ffffff,7-0,3-0,Проснулся, на работу...)

    tstr(6,23,7,0,Eur_e_bo,fffff0,7-0,3-0,Опять эти долбаные абоненты будут моск выносить....)

     

    tstr(23,6,10,0,Eur_e_bo,ffffff,10-0,5-0,Работаю...)

    tstr(6,23,7,0,Eur_e_bo,fffff0,10-0,5-0,Ну, держите меня семеро! Вика, держись!!)

     

    tstr(23,16,10,0,Eur_e_bo,ffffff,15-0,3-0,Да сколько можно то!?)

    tstr(6,23,7,0,Eur_e_bo,fffff0,15-0,3-0,Когда ж вы блять все кончитесь!? продам hands.dll)

     

    tstr(23,6,10,0,Eur_e_bo,ffffff,18-0,2-0,Устал...)

    tstr(6,23,7,0,Eur_e_bo,fffff0,18-0,2-0,Скоро домой! Холодненькое пиво ждет.... :))

     

    tstr(23,6,10,0,Eur_e_bo,ffffff,20-0,4-0,А теперь по пиву!)

    tstr(6,23,7,0,Eur_e_bo,fffff0,20-0,4-0,Бархатное разливное, или Крюгер... мммм...! :))

     

    tstr(23,6,10,0,Eur_e_bo,ffffff,0-0,2-0,Трах-трах!) 

    tstr(6,23,7,0,Eur_e_bo,fffff0,0-0,2-0,Милая, я тебя так люблю! готов ласкать тебя вечно!)


     
     Задача: хочу чтобы на моем юзербаре рисовались как статические данные - так и динамические, включая случайным образом выбранный текст
    Конечный результат

     

    Код юзербара

    str(5,15,14,0,Eur_e_bo,ab2e2e,[etqwUserName])

    str(6,14,14,0,Eur_e_bo,ff9e9e,[etqwUserName])

    rstr(95,14,10,0,Eur_e_bo,ffffff,Время Krsk [timenow]|[etqwMilitaryRank]|icq: 462-321-666|mobile: +7-923-285-03-02)

    str(275,24,6,0,Eur_e_bo,ffffff,T: [etqwTimePlayed]hrs)

     

    img(75,1,[etqwRankImageSmall])

     

    str(5,24,7,0,Eur_e_bo,ffffff,Ranking: [etqwRank])

    str(5,34,6,0,Eur_e_bo,ffffff,XP: [etqwTotalXP])

    str(100,24,6,0,Eur_e_bo,ffffff,Kills: [etqwKills])

    str(100,34,6,0,Eur_e_bo,ffffff,Deaths: [etqwDeaths])

    str(185,24,6,0,Eur_e_bo,ffffff,Ratio: [etqwKillDeathRatio])

    str(185,34,6,0,Eur_e_bo,ffffff,Accuracy: [etqwAccuracy]%)

     

    str(170,120,6,0,Eur_e_bo,ffffff,Favorite Class: [etqwFavoriteClass])

     

    rimg(333,1,ta|rnq|ptoshop|utorrent|foobar|firefox|gmail16x16|ero16х16|cs)

     
    Если у Вас возникли какие то проблемы, или вопросы, или идеи, или пожелания - пишите их в комментариях  :)

    Last Updated on Sunday, 23 August 2009 14:34
     

    Comments  

     
    0 # Рома 2009-07-29 07:16
    Ипатькопать скокаж ты всё это писал?!?!?!
    Reply | Reply with quote | Quote
     
     
    0 # Синий как 2009-07-29 22:52
    Молодец, все хорошо, идея хорошая, реализация хорошая, наверное, :) но бля все сложно.
    Что нужно добавить чтобы все это привлекло нубов (большинство), коими являются большинство игроков в подобные игры: 1. Программа минимум: Хотя бы визард, который дает четкое представление, что ты хочешь добавить в юзербар-- а) выбираешь игру, переменные которой хочешь использовать (здесь подключаются плагины или как их там...) б) определяешь галочками что хочешь использовать (хочу чтобы был рейтинг, какой я аххуенный персонаж, длина письки, количество ХР и тд.), в) выбираешь другие параметры (имейл, время, мое имя, аська, и прочие личные данные), г) тычешь создать, появляется код для юзер бара и сам юзер бар. - далее человек сам будет указывать параметры каждой составляющей (цвет, XY, собирать параметры в рандомные пачки).
    Reply | Reply with quote | Quote
     
     
    0 # Синий как 2009-07-29 23:00
    Программа Норма: сделать все выше описанное еще визуально редактируемым, чтобы можно было все мышкой на тыкать (хотя бы цвет и позиция). думаю для обычного человека знать, что такое RGB не обязательно, да и вряд ли он это знает:)

    Программа Максимум: наХчуя вообще использовать формат, который ты предложил? используй XML, он как раз тут кстати. Юзер использует только мышь, клаву по минимуму.
    Юзер может создавать свои уникальные пачки (временные/рандомные), сохранять и потом использовать их, вствляя их в свои юзер бары.
    Все сохраняется в XML и так же хранится на сервере.

    Делов куча.

    а так - хорошо! садись, пять! :)

    Капча вапче ибанная:( :Е
    Reply | Reply with quote | Quote
     
     
    0 # xternalx 2009-07-30 01:27
    про визард я задумался совсем недавно :)

    Про XML давно уже мечтаю. Перейду на него, как только напишу визуальный редактор(болт знает, когда это случится :D). Хотя, в принципе, на XML структуру гораздо проще и нагляднее описать... :)

    В блимжайшее время планирую переписать механизм регистрации. Если его переделаю, то и все-таки, на xml переведу редактор :)

    Кстати, в планах на будущее дать возможность пользователям добавлять свои юзербары в шаблоны для юзербаров, чтобы другие пользователи могли просматривать их, и если им что то нравится - оставляли себе, или же как то модифицировали потом :) Так же планирую сделать такую штуковину, которая позволила бы под одним аккаунтом держать любое количество юзербаров. А то сейчас для создания нового юзербара нужно регистрировать очередной аккаунт.
    Reply | Reply with quote | Quote
     

    Add comment


    Security code
    Refresh