Jump to content
Alloder.pro: about Allods with love
Search In
  • More options...
Find results that contain...
Find results in...

New program for writers

We turn from quantity to quality and tell you how we will supplement the Allods Team program with rewards in rubles.

More

The new Updater

Let us to introduce the new addon updater software and to share the details

Read more

Alloder 2.0

We have started the process of project evolve, and this relates not only, and not even primarily of the site's view

Read more

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


DarkMaster
 Share

Recommended Posts

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

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 *))))))

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Guest Valltron

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

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 функцию *) ну и цвета ессно уже там. Но это я пока так наработки потом больше и луше сделать нужно *)

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 6 months later...

Комрады,

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

Иконки

Как всем нам известно, с некоторых пор, в игре существуют стандартные цвета ИКОНОК классов. Имею ввиду те цвета, в которые окрашиваются иконки классов. Если открыть 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 для интернета:

Link to comment
Share on other sites

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

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

Типы урона (действия заклинаний или атаки). (У 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"

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

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

Link to comment
Share on other sites

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

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

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

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

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

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

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

Link to comment
Share on other sites

  • 1 year later...

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

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

Решил, для себя, набросать новую раскладку цветов, за основу брал оригинальную и ту, что подбирал уважаемый 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; }

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using our site you agree to the Terms of Use