Существует мнение: раз иконки хранятся в архиве самой игры, то добавить новые и изменить стандартные нельзя. Но посмотрев содержимое MPQ архивов и поразмыслив, я нашел способ, как это сделать.
1. Итак, для начала надо скачать Ladik′s MPQ Editor
2. Открываем с помощью него icons-war3.bni, предварительно переименовав расширение в mpq. Все иконки находятся в папке ui/widgets/battlenet/chaticons/
3. Как и в пункте 7, конвертируем изображение, только сейчас нам надо сделать наоборот - из blp -> tga.
4. С помощью Photoshop открываем подходящую извлеченную из архива текстуру tga.
5. Редактируем её в фотошопе. Для прозрачного фона в закладке Channels помимо RGB (Red, Green, Blue) должен быть Alpha канал, который нужно отредактировать в соответствии с картинкой.
6. Сохраняем изображение с расширением tga, обязательно поставив следующие настройки
7. Теперь с помощью Warcraft 3 Viewer v2.3c надо переконвертировать изображение в blp, для этого там есть кнопочка tga-blp
Или можно воспользоваться консольным BLP↔TGA Converter, с параметрами blpconv.exe [input(tga/blp)] [output(blp/tga)].
8. Добавляем в папку mpq архива ui/widgets/battlenet/chaticons/ только что созданную blp
9. В файл iconindex_exp.txt, находящийся там же, добавляем строчку, соответвующую новой иконке. Например:
ICON * 0x00000000 ui\widgets\battlenet\chaticons\myico.tga
В этом случае в колонке бд mysql w3xp_userselected_icon у игрока нужно будет выставить значение наоборот: NOCI
Иконку у игрока можно выставить прямо из чата игры, командой
/set аккаунт Record\W3XP\userselected_icon NOCI
После этого игрок должен перезайти на сервер, чтобы иконка обновилась.
11. Всё! Переименовываем war3-icons.mpq обратно в bni и кладём в папку pvpgn сервера pvpgn/files/icons-war3.bni
Изменение стандартных иконок
Да! Изменить все стандартные иконки за победы тоже можно! Для этого необходимо добавить в архив bni следующие иконки:tier2x-human.blp
tier2x-human-off.blp
tier2x-nightelf.blp
tier2x-nightelf-off.blp
tier2x-orc.blp
tier2x-orc-off.blp
tier2x-random.blp
tier2x-random-off.blp
tier2x-undead.blp
tier2x-undead-off.blp
tier3x-human.blp
tier3x-human-off.blp
tier3x-nightelf.blp
tier3x-nightelf-off.blp
tier3x-orc.blp
tier3x-orc-off.blp
tier3x-random.blp
tier3x-random-off.blp
tier3x-undead.blp
tier3x-undead-off.blp
tier4x-human.blp
tier4x-human-off.blp
tier4x-nightelf.blp
tier4x-nightelf-off.blp
tier4x-orc.blp
tier4x-orc-off.blp
tier4x-random.blp
tier4x-random-off.blp
tier4x-undead.blp
tier4x-undead-off.blp
tier5x-human.blp
tier5x-human-off.blp
tier5x-nightelf.blp
tier5x-nightelf-off.blp
tier5x-orc.blp
tier5x-orc-off.blp
tier5x-random.blp
tier5x-random-off.blp
tier5x-undead.blp
tier5x-undead-off.blp
tier6x-human.blp
tier6x-human-off.blp
tier6x-nightelf.blp
tier6x-nightelf-off.blp
tier6x-orc.blp
tier6x-orc-off.blp
tier6x-random.blp
tier6x-random-off.blp
tier6x-undead.blp
tier6x-undead-off.blp
В отличие от своих нестандартных иконок, здесь не нужно выставлять код иконки в iconindex_exp.txt
С приставкой -off это деактивированная иконка в портрете, а без неё - цветная иконка в чате Battle.net.
Кстати, все эти файлы хранятся в MPQ архиве игры war3x.mpq по уже знакомому нам пути ui/widgets/battlenet/chaticons/. И если их добавить в icons-war3.bni, то в игре будут подгружаться наши новые иконки.
Если иконка в чате игры не отображается
1. Чел в капюшоне с вопросиком: неверно выставлено iconindex_exp.txt или в w3xp_userselected_icon)
2. Изображение пустое или видна его часть: неверный формат tga, неправильно сделана alpha маска
При каждом новом заходе игроком на сервер war3-icons.bni закачивается ему в папку с игрой, и при изменении всех иконок следует задуматься о его размере.
Для сервера games.utech.ru я изменил все иконки + добавил несколько своих, и этот файл занимал почти 1 мб.
Для того, чтобы избежать добавления лишних килобайтов (как это получается при обновлении иконки в архиве), нужно создавать новый mpq архив.
В MPQ едиторе выберите Operations -> Build MPQ from directory..., далее Hash table size выбираем, например, 0x80, тогда в архив можно будет запаковать 128 файлов, а размер будет гораздо меньше, чем со стандартным хешем 0x8000.
Чтобы посмотреть, как должен выглядеть архив, можете скачать ниже icons-war3.bni с иконками в виде букв.
Вся игровая графика подгружается по порядку из следующих MPQ:
war3.mpq > war3x.mpq > War3xlocal.mpq > War3Patch.mpq > icons-WAR3.bni
Если в каждом последующем MPQ содержится какой-то файл, который есть в предыдущем MPQ, то этот файл заменяется последним.
Таким образом можно изменить графику всей игры (и не только) в icons-WAR3.bni
Чтобы заменить какую-то картинку, качайте warcraft3viewer и просматривайте все MPQ на её наличие. Потом этот файл можно отредактировать и добавить в свой bni.
Присоединенные файлы (вирусов нет):
|