Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

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

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Стандартизация цветов классов в АО


DarkMaster

Рекомендуемые сообщения

Вот таблица цветов для классов и типов дамага, после корректировки:

Code:

--------------------------------------------------------------------------------

-- Class colors

--------------------------------------------------------------------------------

Global("ClassColors", {

  ["WARRIOR"]    = { r = 0.78; g = 0.61; b = 0.43; a = 1.0 },

  ["PALADIN"]     = { r = 0.96; g = 0.55; b = 0.73; a = 1.0 },

  ["MAGE"]    ={ r = 0.41; g = 0.8; b = 0.94; a = 1.0 },

  ["DRUID"]    = { r = 1.0; g = 0.49; b = 0.04; a = 1.0 },

  ["PSIONIC"]    =  { r = 1.0; g = 0.96; b = 0.41; a = 1.0 },

  ["STALKER"]    = { r = 0.67; g = 0.83; b = 0.45; a = 1.0 },

  ["PRIEST"]    = { r = 1.0; g = 1.0; b = 1.0; a = 1.0 },

  ["NECROMANCER"]    = { r = 0.58; g = 0.51; b = 0.79; a = 1.0 }

})

--------------------------------------------------------------------------------

-- Damage types colors

--------------------------------------------------------------------------------

Global("DamageTypeColors", {

  ["ENUM_SubElement_PHYSICAL"]    = { r = 0.6; g = 0.4; b = 0.2; a = 1.0 },

  ["ENUM_SubElement_FIRE"]     = { r = 1.0; g = 0.0; b = 0.0; a = 1.0 },

  ["ENUM_SubElement_COLD"]    = {r = 0.5; g = 0.5; b = 1.0; a = 1.0 },

  ["ENUM_SubElement_LIGHTNING"]    = {r = 0.8; g = 0.8; b = 1.0; a = 1.0 },

  ["ENUM_SubElement_HOLY"]    =  {r = 1.0; g = 1.0; b = 0.5; a = 1.0 },

  ["ENUM_SubElement_SHADOW"]    = { r = 0.5; g = 0.1; b = 0.7; a = 1.0 },

  ["ENUM_SubElement_ASTRAL"]    = { r = 1.0; g = 1.0; b = 1.0; a = 1.0 },

  ["ENUM_SubElement_POISON"]    = { r = 0.5; g = 1.0; b = 0.5; a = 1.0 },

  ["ENUM_SubElement_DISEASE"]    = { r = 0.7; g = 0.7; b = 0.4; a = 1.0 },

  ["ENUM_SubElement_ACID"]    = { r = 1.0; g = 1.0; b = 0.0; a = 1.0 }

})

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

Прошу сделать тему прикрепленной. Можно создать отдельный аддон в котором просто будут наборы вот таких стандартизированных обьявлений и функций назвав его типа - AOAddonsDevelopmentKit или сокрашенно AOADK *))))))

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Согласен на все 100.

П.С. скинь картинку со всеми типами классов и дамагов, посмотрю как они согласуются с моим видением цветов классов и дамагов :) Самому лень все смотреть.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

ну что, вполне годится как отдельная либа. точнее как начало для большой и красивой либы :)

Ссылка на комментарий
Поделиться на другие сайты

Либе быть! :) Стандартизацию цветов взял на заметку.

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

Ссылка на комментарий
Поделиться на другие сайты

Закончу ДПС метер выложу свои наработки по либе. У меня уже в аддоне есть отдельный фалйик там полезности собираю типа таких:

Печатает таблицу в лог файл - очень удобно для разбора парамс что предали и зачем.

Code:

function PrintData( data )

LogInfo( "---------------------------------------------------------------------------------------------")

for i, dataValue in data do

LogInfo( i, " = ", dataValue ) 

end 

LogInfo( "---------------------------------------------------------------------------------------------")

end

Функции для работы с таблицей - ну из названия думаю понятно

Code:

function GetDataFieldByIndex( data, index )

if (index > GetTableSize(data)) or (index < 0 ) then

return nil

end

local i = 0 

for j, field in data do

if (i == index) then 

return field

end

i = i + 1

end

return nil

end

--------------------------------------------------------------------------------

function FindFieldInData( data, key_name )

for i, field in data do

if common.IsWString( i ) and common.IsWString( key_name ) then

local result = common.CompareWString( i, key_name )

if result == 0 then 

return field

end

else

if i == key_name then

return field

end

end

end

return nil

end

--------------------------------------------------------------------------------

function RemoveFieldFromData( data, key_name )

if ( data [ key_name ]  ) then

data [ key_name ]  = nil

end

end

Фалй DarkDPSMeterData.lua тамже примеры типовой инициализации таблиц. Нужен мне новый елемент таблицы - я не пишу кучу когда а вызываю 1 функцию *) ну и цвета ессно уже там. Но это я пока так наработки потом больше и луше сделать нужно *)

Ссылка на комментарий
Поделиться на другие сайты

Я знаю, почти у всех программистов проблемы с этим, именно поэтому, сделаю коллекцию прототипов интерфейсов, т.к. графика - как раз в моей компетенции :)

Ссылка на комментарий
Поделиться на другие сайты

  • 6 месяцев спустя...

Комрады,

Пришло время апнуть эту старую тему.

Иконки

Как всем нам известно, с некоторых пор, в игре существуют стандартные цвета ИКОНОК классов. Имею ввиду те цвета, в которые окрашиваются иконки классов. Если открыть Interface.pak в AoTextureViewer, и посмотреть на них в папке Interface/Ingame/ContextRelatedTextures/PlayerClasses/ то видно, что все эти иконки белого цвета, и они окрашиваются Lua-скриптами, функцией SetBackgroundColor(). Так вот, эти 8 цветов (со 100% аккуратностью) я выдрал из игры, вот они (эти цвета подобрали сами разработчики игры):

ВАЖНО: Это цвета ИКОНОК классов. Про цвета самих классов читайте ниже.

Code:
Global("ClassColorsIcons", {

 ["WARRIOR"]  = { r = 143/255; g = 119/255; b = 075/255; a = 1 },

 ["PALADIN"]  = { r = 207/255; g = 220/255; b = 155/255; a = 1 },

 ["MAGE"]  = { r = 126/255; g = 159/255; b = 255/255; a = 1 },

 ["DRUID"]  = { r = 255/255; g = 118/255; b = 060/255; a = 1 },

 ["PSIONIC"]  = { r = 221/255; g = 123/255; b = 245/255; a = 1 },

 ["STALKER"]  = { r = 150/255; g = 204/255; b = 086/255; a = 1 },

 ["PRIEST"]  = { r = 255/255; g = 207/255; b = 123/255; a = 1 },

 ["NECROMANCER"]  = { r = 208/255; g = 069/255; b = 075/255; a = 1 }

})

2iu8b9c.png

Но, как оказалось, эти цвета ИКОНОК, скажем, НЕ подходят для окраски баров в дпс-метрах и агро-метрах, потому, что некоторые цвета здесь имеют схожие оттенки, кроме того, они выглядят слишком блеклыми, если наложить на них тёмный прогрессбар (как в DarkDPSMeter и RealAgroM) или сделать их полупрозрачными (как в LightDPS). Поэтому, пришлось разработать более универсальный набор цветов:

Классы

На создание этого набора цветов у меня ушло больше трёх часов, при том, что я профессиональный графический дизайнер. За основу, конечно, были взяты оригинальные цвета иконок, но здесь цвета пришлось сделать насыщеннее, а также, немного поменять яркость и оттенки. Это оказалось не так просто, как я ожидал, потому, что пришлось соблюдать несколько трудно совместимых требований:

1) Каждый цвет должен быть легко узнаваем, и не похож ни на какой другой.

2) Все цвета должны иметь примерно одинаковую яркость.

3) При наложении тёмного прогрессбара (или прозрачности), ни один цвет не должен сильно блекнуть, или становиться резко темнее остальных цветов.

При выполнении первого пункта, пришлось перекрасить цвет Паладина из серо-буро-зелёного (какой является его иконка), такого похожего на цвета Священника, Воина и Лучника, в другой "зелёный" оттенок - цвет морской волны. Это было необходимо, иначе бы не вышло получить такую универсальную таблицу цветов, которую можно было бы использовать везде - в аддонах, в HTML'е, и т.д. и т.п... В общем, вот таблица:

Code:
Global("ClassColors", {

 ["WARRIOR"]  = { r = 0.65; g = 0.54; b = 0.34; a = 1 },

 ["PALADIN"]  = { r = 0.00; g = 0.88; b = 0.78; a = 1 },

 ["MAGE"]  = { r = 0.18; g = 0.57; b = 1.00; a = 1 },

 ["DRUID"]  = { r = 1.00; g = 0.50; b = 0.00; a = 1 },

 ["PSIONIC"]  = { r = 1.00; g = 0.50; b = 1.00; a = 1 },

 ["STALKER"]  = { r = 0.00; g = 0.78; b = 0.00; a = 1 },

 ["PRIEST"]  = { r = 1.00; g = 1.00; b = 0.31; a = 1 },

 ["NECROMANCER"]  = { r = 0.95; g = 0.17; b = 0.28; a = 1 }

})

Вот как это выглядит в HTML'е:

1552f6q.png

Вот как это выглядит в аддонах (слева - на тёмном прогрессбаре, справа - чистый цвет "как есть"):

23ixnnt.png

На случай, если эти иллюстрации пропадут из онлайн-хранилища, прицепляю их аттачментом:

А также, в аттачменте лежат файлы AOClassColors.lua для аддонов и AOClassColors.css для интернета:

Ссылка на комментарий
Поделиться на другие сайты

Просто здорово :)

Делать так до конца.... мог бы ты еще определить цвета элементов заклинаний и цвета рас существ?

Типы урона (действия заклинаний или атаки). (У DarkMaster`а они в таблице "DamageTypeColors")

"ENUM_SubElement_PHYSICAL"

"ENUM_SubElement_FIRE"

"ENUM_SubElement_COLD"

"ENUM_SubElement_LIGHTNING"

"ENUM_SubElement_HOLY"

"ENUM_SubElement_SHADOW"

"ENUM_SubElement_ASTRAL"

"ENUM_SubElement_POISON"

"ENUM_SubElement_DISEASE"

"ENUM_SubElement_ACID"

А с расами проще: их ровно столько же, сколько и классов персонажей, можно просто присвоить существующие цвета классов

Текстовый enum для представления рас существ в игре.

"ENUM_HUMANOID"

"ENUM_BEAST

"ENUM_UNDEAD"

"ENUM_GIANT"

"ENUM_DRAGON"

"ENUM_ELEMENTAL"

"ENUM_DEMON"

"ENUM_ABERRATION"

Ммм... а какой цвет текста будет хорошо виден на всех цветах фона? Желтый уже, похоже, не подходит. Белый?

Можно было бы его менять так же легко как и цвет фона....

Ссылка на комментарий
Поделиться на другие сайты

Quote:
мог бы ты еще определить цвета элементов заклинаний и цвета рас существ?

ОК, переделаю. Но не сегодня, т.к. сегодня я в ударе, и собираюсь сделать один мега-аддон :)

Quote:
А с расами проще: их ровно столько же, сколько и классов персонажей, можно просто присвоить существующие цвета классов

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

Quote:
Ммм... а какой цвет текста будет хорошо виден на всех цветах фона? Желтый уже, похоже, не подходит. Белый?

Поджодит любой цвет, и белый, и жёлтый, нужно лишь сделать ему чёрную "обводку" (outline). Сами разработчики именно это и делают, например, на ярко-зелёных плашках членов рейда - белый текст в чёрной обводке. Outline делается вот так:

Code:
<body color="0xFFFFFFFF" alignx="center" fontsize="12" outline="1"><r name="value"/></body>

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

В связи с вводом нового класса «бардов» надо пересмотреть цвета баров для классов.

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

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

Собственно вариант раскраски баров:

KPp50Qjy.png

LUA код для баров:

Code:
Global("ClassColors", {

  ["WARRIOR"]   = { r = 165/255; g = 138/255; b = 087/255; a = 1 },

  ["PALADIN"]   = { r = 182/255; g = 247/255; b = 126/255; a = 1 },

  ["MAGE"]   = { r = 047/255; g = 145/255; b = 255/255; a = 1 },

  ["DRUID"]   = { r = 255/255; g = 128/255; b = 000/255; a = 1 },

  ["PSIONIC"]   = { r = 255/255; g = 128/255; b = 255/255; a = 1 },

  ["STALKER"]   = { r = 001/255; g = 188/255; b = 064/255; a = 1 },

  ["PRIEST"]   = { r = 255/255; g = 227/255; b = 048/255; a = 1 },

  ["NECROMANCER"]   = { r = 241/255; g = 043/255; b = 071/255; a = 1 },

  ["BARD"]   = { r = 000/255; g = 255/255; b = 200/255; a = 1 }

})

CSS стили для сайтов:

Code:
/* AO Class Colors */

.cc-warrior, .cc-warrior a { color: #A58A57; }

.cc-paladin, .cc-paladin a { color: #B6F77E; }

.cc-mage, .cc-mage a { color: #2F91FF; }

.cc-druid, .cc-druid a { color: #FF8000; }

.cc-psionic, .cc-psionic a { color: #FF80FF; }

.cc-stalker, .cc-stalker a { color: #01BC40; }

.cc-priest, .cc-priest a { color: #FFE330; }

.cc-necromancer, .cc-necromancer a { color: #F12B47; }

.cc-bard, .cc-bard a { color: #00E1C8; }

Ссылка на комментарий
Поделиться на другие сайты

А может просто 1 к 1 перенести игровую палитру?

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

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

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

еще бы библиотеку с иконками классов - чтобы не надо было хранить их в каждом аддоне

Ссылка на комментарий
Поделиться на другие сайты

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования