Несколько вопросов о скриптах - Форум HeroesWorld-а

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

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

Ответ
 
Опции темы
#1
Старый 23.08.2019, 19:14
  #1
^
Хомячок 3000
 
Аватар для Хомячок 3000
📖
Регистрация: 26.06.2017
Сообщения: 13
Регистрация: 26.06.2017
Сообщения: 13
По умолчанию
Несколько вопросов о скриптах

В общем, я тут решил сделать несколько скриптов, и у меня возникло несколько вопросов, хотя мануалы я и штудировал долго.
1. Банальный MessageBox. Ну создал я txt файл, какой мне путь-то до него в скрипте указывать? Какая папка начальная, нужно ли писать расширение файла?
2. Вопрос не совсем о скриптах, но всё же. Как сделать задание, целью которого будет захват множества одинаковых крестьянских хижин (как в первой карте Владык Севера)?
3. Как сделать, чтобы при пересечении региона, вражеский герой бежал из одного места в другое, при этом камера следовала за ним, не давая управления игроку?
4. Как сделать некоторые места на карте изначально открытыми?
Хомячок 3000 вне форума
Ответить с цитированием
#2
Старый 23.08.2019, 21:18
  #2
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Несколько вопросов о скриптах

1. если txt файл лежит в основной папке карты(т.е. Maps/SingleMissions/имя_карты), то путь к нему можно указать таким образом:
	GetMapDataPath()..'имя_файла.txt'

2. ну самым простым способом будет повесить на все необходимые объекты OBJECT_CAPTURE_TRIGGER и завести переменную, которая будет хранить число захваченных объектов:

	huts = {таблица_скриптовых_имен_объектов}
huts_captured = 0 -- число захваченных объектов

for i, hut in huts do
  Trigger(OBJECT_CAPTURE_TRIGGER, hut, 'CaptureHut')
end

-- функция, срабатывающая при захвате объекта
function CaptureHut(p_owner, n_owner)
  -- новый владелец объекта - игрок?
  if n_owner == PLAYER_1 then
    -- увеличить число захваченных
    huts_captured = huts_captured + 1
    -- если все захвачены и задание активно
    if huts_captured = length(huts) and GetObjectiveState('имя_задания') == OBJECTIVE_ACTIVE then
      -- завершить задание
      SetObjectiveState('имя_задания', OBJECTIVE_COMPLETED)
    end
  else -- если новый владелец - не игрок?
    if p_owner == PLAYER_1 then
      -- уменьшить число захваченных, если игрок был предыдущим владельцем
      huts_captured = huts_captured - 1
    end
  end
end

3. MoveHeroRealTime() в помощь
4. OpenCircleFog() в помощь

p.s. советую читать мануалы повнимательнее, вопросы максимально банальные и раскрываются в любых гайдах
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3
Старый 24.08.2019, 19:40
  #3
^
Хомячок 3000
 
Аватар для Хомячок 3000
📖
Регистрация: 26.06.2017
Сообщения: 13
Регистрация: 26.06.2017
Сообщения: 13
По умолчанию
Re: Несколько вопросов о скриптах

Спасибо. С большей частью проблем разобрался, а вот проклятый MessageBox никак не вылезает. Пути уже все возможные перепробовал. Никак. Например MessageBox я вызываю так. В чём моя ошибка?

	MessageBox("Maps/SingleMissions/Revolution vol2/exroadmsg.txt");
Хомячок 3000 вне форума
Ответить с цитированием
#4
Старый 24.08.2019, 22:45
  #4
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Несколько вопросов о скриптах

ну если файл правильно расположен, то надо еще слэш добавить:
	MessageBox("/Maps/SingleMissions/Revolution vol2/exroadmsg.txt");
а лучше всего, как я раньше писал:
	MessageBox(GetMapDataPath().."exroadmsg.txt");
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#5
Старый 25.08.2019, 06:04
  #5
^
Хомячок 3000
 
Аватар для Хомячок 3000
📖
Регистрация: 26.06.2017
Сообщения: 13
Регистрация: 26.06.2017
Сообщения: 13
По умолчанию
Re: Несколько вопросов о скриптах

Даже со слэшем выдаёт всё ту же ошибку: Empty message text!
Про GetMapDataPath не очень понял.

И ещё, извиняюсь за навязчивость, не могли бы вы подсказать как сделать такую вещь: если герой выполнил квест, то он может пройти к хранителю ключа, а если не выполнил, то при входе в регион выводится сообщение и героя телепортирует назад.
Хомячок 3000 вне форума
Ответить с цитированием
Ответ


Опции темы



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


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

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