Как можно манипулировать цветами игроков - маленький пример хакинга.
Замечание: вообще говоря, существует несколько программ, которыми можно получить тот же эффект, что и от технологии, описанной в этой статье, причём так же совершенно безболезненно как для Старкрафта, так и для Вас.
Что Вам потребуется. Вам будет нужна программа MPQ2K (для "доставания" файла с расширением CHK), Hex - редактор (для изменения параметров цветов игроков), и карта от StarCraft: Brood War, то есть с расширением scx, так как scm не поддерживает подобных настроек. Вот и всё. Ах, да - немного ручками придётся поработать, но Вы же привыкли, не так ли?
Начнём. После того, как Вы закончили свою карту (она должна быть ПОЛНОСТЬЮ закончена, так как в случае повторного открытия карты в StarEdit файл перепишется и все Ваши настройки пойдут прахом), программой MPQ Viewer достаньте из карты файл scenario.chk. Затем откройте его в Hex-редакторе.
Найдите в ASCII-режиме просмотра в файле строку COLR. Она должна быть где-то в конце файла. После этого тага сразу идёт число (тип - long), то есть 8 байт, которое равно 8. Это значит, что в этой секции файла содержится 8 байт (резонно, не правда ли J ?). После этих 8 байт, идёт ещё 8 байт, которые, собственно, и составляют саму секцию. Они выглядят примерно так: 00 01 02 03 04 05 06 07
Если на каком то из мест присутствует 08, значит на карте есть игрок с зелёным цветом. То есть, каждый байт представляет цвет определённого игрока (от1 до 8 по порядку). Значение байта, как Вы уже, наверное, поняли, определяет цвет игрока. Вот список основных цветов:
00 - красный
01 - синий
02 - салатовый
03 - фиолетовый
04 - оранжевый
05 - коричневый
06 - белый
07 - жёлтый
08 - зелёный
09 - жёлтый бледный
10 - светло-коричневый
11 - морская волна (нейтральный цвет)
12 - зелёный бледный
13 - серо-синий
14 - жёлтый бледный(такой же как 09)
15 - голубой
Замечание: вообще говоря, один и тот же цвет могут использовать несколько игроков.
Замечание: цвета после 12 включительно зависимы от ландшафта, так что цвет будет меняться в зависимости от него. Попробуйте 12 цвет в пустыне или 14 во льдах!
Замечание: существуют и другие цвета с номарами более 15 и они работают, но они не определены, так что необходимо будет напрямую индексировать цвета в главной палитре.
Итак, просто измените необходимые Вам параметры, и ваши цвета будут использоваться на карте во время игры. Просто, не правда ли?
А вот и нет, совсем не просто. Теперь Вам надо произвести обратные операции и запихнуть изменённый файл scenario.chk в scx-файл. Но вы не можете открывать карту в Staredit`е, так как созданные Вами настройки цветов перестанут существовать - Staredit перепишет их на свои. Самый простой способ справится с этим - заменить этот файл в карте, так как карта - это тоже архив MPQ, так что для этого нам и сгодится MPQ2K.
И если присмотреться, можно извлечь из всего вышесказанного некоторую пользу. Вот некоторые примеры:
- юниты после передечи другому игроку не меняют свой цвет на цвет игрока, так что рубилово на карте может быть более впечатляющим и реалистичным.
- можно получить очень классные эффекты при мятежах или революциях.
Вот и всё. Свои мысли, критику - прошу высказываться.
переведено Denver
по материалам Campaign Creations
__________________
ЗЗД - Злобная Зверюга Денверюга, как утверждают некоторые.
onliner.by: Спасибо в постель не положишь... 
Адрес поста | Наябедничать | IP: Logged