Форум HeroesWorld-а - Показать сообщение отдельно - Все вопросы по ГСК
Показать сообщение отдельно
#52
Старый 23.04.2017, 12:25
  #52
^
Dusty
 
Аватар для Dusty
📖
Регистрация: 29.10.2016
Сообщения: 12
Регистрация: 29.10.2016
Сообщения: 12
Хорошо
Создание союзов для сетевой игры на карте ГСК Heroes 5.

Тема с редактированием карты, созданной в ГСК Heroes of Might and Magic V (v 3.1), с целью добавить союзы/команды (для сетевой игры), актуальна. Спасибо форуму за решение.

Итак, кратко о проблеме:
Сразу напишу, что игра расположена в "M:\G\Heroes of Might and Magic V - Tribes of the East\", карта имеет название литиницей + можно цифры.
Это важно.

После создания карты в ГСК отправляемся в редактор карт. Настраиваем союзы, сохраняем карту, редактор выдаёт сообщение: "As you've changed this map, rmg marker will be lost and multiplayer regeneration won't work."



Если зайти в сетевую игру, то мы обнаружим настроенные союзы на этой карте + 2 игрока которых мы не ставили (например карта создавалась на 4-х игроков, в итоге их будет 6. Если на 8-х - будет 10 ), они будут иметь команду под номером "6684705". При попытке взаимодействовать с ними игра крашится.



Решение:
MentНа самом деле это не совсем верно. Другие редакторы есть и в данном случае нам сгодится, например, WinRAR. Файл с картой на самом деле можно вскрыть архиватором, внутри будет файл map.xdb (хотя там есть еще один с похожим названием, может быть нужен он, не помню), надо открыть его блокнотом, внутри файла надо найти слово team и отредактировать теги, идущие за ним.
А именно:
Сразу после создания карты в ГСК открываем её не в редакторе карт, а с помощью WinRAR. Находим внутри файл "map.xdb", открываем блокнотом. Ищем слово "team". Найдёт нам первое совпадение здесь:
	
...
        <RandomMoons>true</RandomMoons>
        <HeroMaxLevel>0</HeroMaxLevel>
  (!!!) <CustomTeams>false</CustomTeams> (!!!)
        <players>
        <Item>
         ... 


Вместо false значение должно быть true.
После этого дальше ищем слово "team". Следующее совпадение будет:
	
...
       <Item>
            <MainTown/>
            <MainHero/>
            <ActivePlayer>true</ActivePlayer>
      (!!!) <Team>0</Team> (!!!)
            <CanBeHumanPlayer>true</CanBeHumanPlayer>
            <CanBeComputerPlayer>true</CanBeComputerPlayer>
            <Behaviour>PB_RANDOM</Behaviour>
            <CaptureAbility>0</CaptureAbility>
            <StartHero/>
            <HeroInTown>true</HeroInTown>
            <ReserveHeroes/>
            <AddHeroTrigger>
                <Action>
                    <FunctionName/>
                </Action>
            </AddHeroTrigger>
            <RemoveHeroTrigger>
                <Action>
                    <FunctionName/>
                </Action>
            </RemoveHeroTrigger>
            <VictoryMessageRef href=""/>
            <DefeatMessageRef href=""/>
            <Race>TOWN_NO_TYPE</Race>
            <Colour>PCOLOR_NEUTRAL</Colour>
            <CanBeDisabled>true</CanBeDisabled>
            <Attractors/>
            <DefaultBonus>PLAYER_BONUS_RANDOM</DefaultBonus>
            <CanChangeBonus>true</CanChangeBonus>
            <TavernFilter>
                <BannedHeroesRaces/>
                <BannedHeroes/>
                <AllowedHeroes/>
            </TavernFilter>
            <DenyFogOfWarForAllies/>
        </Item>
            ... 


Этот участок кода будет повторятся 8 раз (для 8-ми игроков: первый - красный; второй - синий; и т.д.). Цифра означает № команды союза. Ставим "1", "2" и т.п. Сохраняем, архив обновляем (сам попросит). Играем

Проверено лично! Спасибо откликнувшимся, вы мега-люди!
Dusty вне форума
Ответить с цитированием