Приветствую, господа. Подскажите, а как через MPQEditor добраться до цветов команды? Раньше было все просто (приложил картинку).
Потом нашел статью xgm.guru/p/wc3/270165 и тут тоже вроде все просто. Вот что там писали:
Принятый ответ
Replaceable ID это текстура, которая уже есть в варкрафте и он сам её подгружает. Вот пути, если интересно:
war3.mpq / ReplaceableTextures / TeamColor => папка со всеми цветами для Replaceable ID 1
war3.mpq / ReplaceableTextures / TeamGlow => папка со всеми цветами для Replaceable ID 2
Однако сейчас при распаковке незащищенной карты я вижу... Нихрена там нету короче. Ни единого слова Color. Приложил изображение. Это из-за новой версии вара или у меня руки из задницы? Подскажите пожалуйста!

Короче я разобрался. Это жесть какая-то. С этой задачей справится InitCustomPlayerSlots, с вызовом SetPlayerColor, но редактор не позволит использовать эту функцию (жассхелпер ругается). А она из тех, что срабатывает до старта игры, в лобби. Да и вообще жассхелпер непозволит никак залезть в другие подобные предзагрузочные функции, вроде InitCustomPlayerSlots, так как все это якобы должно выполняться в жестко загодированный свойствах игрока.
Единственный способ обойти это = вставить код в отдельный файл и добавить в карту без компиляции. Тогда цвета поменяются. Если с компиляцией (игнорируя ошибку синтаксиса), то игра будет считать карту поломанной. В шоке.
`
ОЖИДАНИЕ РЕКЛАМЫ...
15
Их и нет в карте, они лежат в архиве war3.mpq, что и написано в том ответе. Этот архив и открыт на первом приложенном тобою скриншоте. Заменить их локально для карты, насколько знаю, нельзя, так что добавлять их в карту смысла нет.
1
fenathesnake, первый скриншот это со старого варика. С нового я сделал сам второй скриншот, и там совсем другая картина и даже нет ничего связанного с колором. Мне нужно это найти... Есть крутой гайд как это инкрустировать обратно, но я не могу найти.
15
Wing, Повторяю, на первом скриншоте открыт war3.mpq, на втором открыта какая-то карта. Ты открыл разные файлы, поэтому и видишь разные вещи. Открой war3.mpq что лежит в папке с варкрафтом и увидишь все что есть на первом скриншоте (в т.ч. тимколоры)
1
war3.mpq
war3.mpq нет ни в одной в папке с варкрафтом. Там я через поиск не нашёл вообще ни одного файла mpq, хотя по логике вещейони там должны быть. Так что без понятия, что делать.
И в варкрафт тоже закидывал этот редактор и открывал = ничего.
15
Wing, если рефорж то там по-другому вроде, не шарю, подожди компетентных в вопросе
26
war3.mpq нет ни в одной в папке с варкрафтом.
Ну это один из основных файлов с ресурсами игры. Ты уверен что его у тебя нет? Как тогда без него игра вообще работает?
26
Wing, можно было уделить одну минуту, чтобы погуглить и узнать в каком формате теперь находятся игровые архивы, и каким софтом их можно открыть и извлечь файлы. Всяко перспективнее, чем пытаться искать игровые ассеты в какой-то рандомной карте.
1
Makeba, www.zezula.net/en/casc/main.html тут красиво написано, но суть остается таковой, что когда я захожу в ТТВ карту, там у 6ти компьютеров повторяются цвета (вот эти прямоугольники закрашенные в лобби, до старта карты), а значит, где-то внутри карты редактировать это можно, но мне никто не может сказать, как именно. Раньше было проще - это я уже понял.
26
Wing, ну так бы и объяснил сразу, а то архивы какие-то, текстуры.
Если в редакторе цвет нельзя настроить, то мне кажется, что тут кастомная функция config, а точнее InitCustomPlayerSlots, где можно задать цвет игрока нативкой SetPlayerColor. Просто как идея, не знаю работает ли это
1
SetPlayerColor
SetPlayerColor работает только в самой игре. Перекрасить те прямоугольники можно только через внутренние загрузочные конфигурации, но какие и как до них добраться... Раньше реально было проще.
1
Принятый ответ
Короче я разобрался. Это жесть какая-то. С этой задачей справится InitCustomPlayerSlots, с вызовом SetPlayerColor, но редактор не позволит использовать эту функцию (жассхелпер ругается). А она из тех, что срабатывает до старта игры, в лобби. Да и вообще жассхелпер непозволит никак залезть в другие подобные предзагрузочные функции, вроде InitCustomPlayerSlots, так как все это якобы должно выполняться в жестко загодированный свойствах игрока.
Единственный способ обойти это = вставить код в отдельный файл и добавить в карту без компиляции. Тогда цвета поменяются. Если с компиляцией (игнорируя ошибку синтаксиса), то игра будет считать карту поломанной. В шоке.
26
Wing, какая-то альтернативная реальность...
В джассе инжект в config делается вроде бы так xgm.guru/p/wc3/203652

На lua могу показать живой пример
-- меняем цвет у 9 ИИ игроков, достаточно просто вставить скрипт в карту
local function configInject(func)
    local mt = getmetatable(_G) or {}
    if not getmetatable(_G) then
        setmetatable(_G, mt)
    end

    local originalConfig
    local injected

    mt.__newindex = function(tbl, key, val)
        if key == "config" then
            originalConfig = val
            rawset(tbl, key, function(...)
                originalConfig(...)
                func(...)
            end)
            injected = true
        else
            rawset(tbl, key, val)
        end

        if injected then
            mt.__newindex = nil
        end
    end
end

local function setCustomColors()
    for i = 1, 9 do
        SetPlayerColor(Player(i), PLAYER_COLOR_GREEN)
    end
end

configInject(setCustomColors)
Результат:

Да, хардкорный вариант с извлечением war3map.j / war3map.lua из собранной карты, вписыванием туда нужного кода и засовыванием обратно тоже возможен.

И если очень хочется, тупая замена тимколорных текстур через импорт в карту, скорее всего, тоже сработает, они лежат в папке replaceabletextures\teamcolor\
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.