Текущие вопросы и ответы по редактору карт - Страница 391 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 391 из 392
 
Опции темы
#5851
Старый 23.03.2025, 01:27
  #5851
^
IchGViji
 
Аватар для IchGViji
📖
Регистрация: 23.08.2022
Сообщения: 173
Регистрация: 23.08.2022
Сообщения: 173
Сообщение
Re: Текущие вопросы и ответы по редактору карт

GerterМожно иметь сотни потоков одновременно и игра будет нормально это воспринимать. Не стоит только некоторые отдельные вещи в бесконечном потоке чекать, например, проверять стоимость пути в мувах соотв. функцией - вот это убивает игру даже одним потоком.

Что-ж, то, что низкого ограничения на количество открываемых потоков нет, это радует!

А вот касательно вещей, которые не стоит проверять в бесконечное потоке: у меня в скрипте следующие проверки используются, полагаю такие допускаются?

1) проверка, что через n-ое кол-во дней наступает событие (например - разблокировка региона, апдейт квеста), eventDay - глобальная переменная
function waitForEvent()
   while (1) do
      sleep(10)
      local currentDay = GetDate(DAY)
      if ((currentDay - eventDay) == 5) then
         --some code
         break
      end
      sleep(10)
   end
end

2) проверка, что у игрока нет городов и активных героев
function checkGoalCompletion()
   while (1) do
      sleep(10)
      local heroes = GetPlayerHeroes(id)
      local townsNumber = 0;
      for i, town in TOWNS do
         if (GetObjectOwner(town) == id) then
            townsNumber = townsNumber + 1
         end
      end
      if (heroes == 0 and townsNumber == 0) then
         --some code
         break
      end
      sleep(10)
   end
end

3) в гарнизоне города есть требуемое количество существ
function checkTownCreatures()
   while (1) do
      sleep(10)
      local creatures = GetObjectCreatures(obj, id)
      if (creatures >= NEEDED) then
         --some code
         break
      end
      sleep(10)
   end
end
IchGViji вне форума
Ответить с цитированием
#5852
Старый 23.03.2025, 19:41
  #5852
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 863
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 863
pegn0ly#9113
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Да, все это будет без проблем работать.
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#5853
Старый 08.04.2025, 01:37
  #5853
^
Vaklik1
📖
Регистрация: 28.10.2020
Сообщения: 2
Регистрация: 28.10.2020
Сообщения: 2
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Всем привет! Нужна помощь. Не совсем понимаю, как работают все эти архивы в файлах игры...

Ситуация:
Я скачал мод на Повелители Орды, который добавляет кампании их Оригинала и Владык Севера. Я хочу именно в этом моде (т.е. в Повелителях Орды) отредактировать карты из данного мода.

Короче, отредактировать карты кампаний Оригинала/Владык Севера в моде на Повелители Орды... Как это сделать?

Vaklik1 вне форума
Ответить с цитированием
#5854
Старый 10.04.2025, 09:15
  #5854
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 109
Регистрация: 23.04.2019
Сообщения: 109
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Vaklik1

Всем привет! Нужна помощь. Не совсем понимаю, как работают все эти архивы в файлах игры...

Ситуация:
Я скачал мод на Повелители Орды, который добавляет кампании их Оригинала и Владык Севера. Я хочу именно в этом моде (т.е. в Повелителях Орды) отредактировать карты из данного мода.

Короче, отредактировать карты кампаний Оригинала/Владык Севера в моде на Повелители Орды... Как это сделать?

/
Открыть архив любым архиватором, например winrar. Перейти в Maps/Scenario/код_миссии (например A2C2M5). Внутри обратить внимание на 2 файла: map.xdb и GroundTerrain.bin. В редакторе создать пустую карту, сохранить и опять открыть архиватором. Заменить в карте файлы map.xdb и GroundTerrain.bin на те из мода. Новосозданная карта поменяется на нужную из кампании. После завершения всех изменений засунуть обновлённые map.xdb и GroundTerrain.bin обратно в Maps/Scenario/код_миссии мода
Долгий вне форума
Ответить с цитированием
#5855
Старый 10.04.2025, 18:38
  #5855
^
Vaklik1
📖
Регистрация: 28.10.2020
Сообщения: 2
Регистрация: 28.10.2020
Сообщения: 2
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Долгий/
Открыть архив любым архиватором, например winrar. Перейти в Maps/Scenario/код_миссии (например A2C2M5). Внутри обратить внимание на 2 файла: map.xdb и GroundTerrain.bin. В редакторе создать пустую карту, сохранить и опять открыть архиватором. Заменить в карте файлы map.xdb и GroundTerrain.bin на те из мода. Новосозданная карта поменяется на нужную из кампании. После завершения всех изменений засунуть обновлённые map.xdb и GroundTerrain.bin обратно в Maps/Scenario/код_миссии мода

Чудесно! Спасибо большое за помощь! Очень  помогло, много чего перепробовал, только так получилось! Еди единственное, что при замене только этих 2 файлов в новой карте, редактирования их там и последующего возвращения в папку карты из мода карта ломалась... Скрипты не работали, хз.  Но я просто копировал не только эти 2 файла, а просто все файлы миссии, это помогало! Спасибо большое ещё раз!
Vaklik1 вне форума
Ответить с цитированием
#5856
Старый 17.06.2025, 10:21
  #5856
^
IchGViji
 
Аватар для IchGViji
📖
Регистрация: 23.08.2022
Сообщения: 173
Регистрация: 23.08.2022
Сообщения: 173
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Приветствую!
В ходе разработки боевого скрипта возникла странная проблема. Суть в следующем - пытаюсь выполнить простое действие - получение глобальной переменной через GetGameVar(), чтобы в зависимости от её значения скрипт вёл себя немного по-разному. 
Знаю, что по дефолту возвращается строковое значение, поэтому прибавляю 0. В итоге в консоли ошибка, что я пытаюсь произвести арифметическое действие над строкой, остальной скрипт падает. Аналогично, если умножаю эту переменную на 1.
Решил потом проверить, может я в скрипте глобальной карты как-то по-иному назвал переменную, но нет, все верно. Причём затем решил продолжить бой, вызвать тот же самый код в режиме дебагга и в этот раз переменная после прибавления 0 в действительности стала числом.
Может кто-то знает, в чем дело и как с этим бороться? Ставил sleep-ы, увы, не помогло.
IchGViji вне форума
Ответить с цитированием
#5857
Старый 17.06.2025, 20:33
  #5857
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 551
Выставка наград
Регистрация: 08.09.2013
Сообщения: 551
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

IchGViji, чисто как предположение, если вызываешь GetGameVar() напрямую в скрипте, попробуй переместить её в функцию Start().
__________________
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием
#5858
Старый 18.06.2025, 23:56
  #5858
^
IchGViji
 
Аватар для IchGViji
📖
Регистрация: 23.08.2022
Сообщения: 173
Регистрация: 23.08.2022
Сообщения: 173
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Jack_of_shadows, даже переместив этот код в функцию Start(),  переменные не приводятся к числу. Пробовал переместить в функцию Prepare(), там тоже ошибку выдаёт. Потом решил скомбинировать - добавил считывание глобальных переменных и в функции Prepare(), и в функции Start() - думаю, не успеет считаться в Prepare() (там никакого друго кода не всталял), высчитает в Start(). Но тоже не помогло...
IchGViji вне форума
Ответить с цитированием
#5859
Старый 20.06.2025, 14:46
  #5859
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

А что выводит GetGameVar для этой переменной? Если там "1", то ошибки не будет, но вдруг у вас туда закралось "HappyBirthday"?
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#5860
Старый 20.06.2025, 16:37
  #5860
^
IchGViji
 
Аватар для IchGViji
📖
Регистрация: 23.08.2022
Сообщения: 173
Регистрация: 23.08.2022
Сообщения: 173
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

}{0TT@6bI4А что выводит GetGameVar для этой переменной? Если там "1", то ошибки не будет, но вдруг у вас туда закралось "HappyBirthday"?

Это именно что число, а конкретно - уровень героя:

kasparLevel = GetGameVar("kasparLevel") + 0;

Добавлено через 3 минуты
И выводит именно уровень героя при дебагге
IchGViji вне форума
Ответить с цитированием
#5861
Старый 21.06.2025, 14:42
  #5861
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

local var = -(-GetGameVar("..."))

Попробуйте преобразовать так:
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#5862
Старый 22.06.2025, 23:37
  #5862
^
IchGViji
 
Аватар для IchGViji
📖
Регистрация: 23.08.2022
Сообщения: 173
Регистрация: 23.08.2022
Сообщения: 173
Сообщение
Re: Текущие вопросы и ответы по редактору карт

}{0TT@6bI4
local var = -(-GetGameVar("..."))

Попробуйте преобразовать так:

Хоттабыч, увы, нужного результата не дало...
IchGViji вне форума
Ответить с цитированием
#5863
Старый 23.06.2025, 08:55
  #5863
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Хорошо, ещё вариант:
local var = GetGameVar("...")
var = var + 0
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#5864
Старый 26.06.2025, 22:17
  #5864
^
IchGViji
 
Аватар для IchGViji
📖
Регистрация: 23.08.2022
Сообщения: 173
Регистрация: 23.08.2022
Сообщения: 173
Сообщение
Re: Текущие вопросы и ответы по редактору карт

}{0TT@6bI4Хорошо, ещё вариант:
local var = GetGameVar("...")
var = var + 0
 Хоттабыч, благодарю, этот вариант сработал!
IchGViji вне форума
Ответить с цитированием
#5865
Старый 18.08.2025, 12:55
  #5865
^
temnyrizar
 
Аватар для temnyrizar
📖
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
По умолчанию
Re: Текущие вопросы и ответы по редактору карт

Как сделать диалоговую сцену в подземелье? На карте есть подземелье, но в окне DialogScene его открыть невозможно - функция ShowUnderground заблокирована
__________________
Модификация "New Era": 3,7%
Модификация "New Era": 3,7%
temnyrizar вне форума
Ответить с цитированием
Ответ
Страница 391 из 392


Опции темы



Часовой пояс GMT +4, время: 22:34.


vBulletin v3.5.0, Copyright ©2000-2026, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru