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

Вернуться   Форум HeroesWorld-а > Все о игре Герои 5. All about Heroes 5 > Герои Меча и Магии 5 - Картостроительство (Редактор карт)
Регистрация Справка Пользователи Календарь Все разделы прочитаны
Быстрая навигация по основным разделам форума:
Турниры КАРТЫ 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
Хомячок 3000 - уровень боевого духа
По умолчанию
Несколько вопросов о скриптах

В общем, я тут решил сделать несколько скриптов, и у меня возникло несколько вопросов, хотя мануалы я и штудировал долго.
1. Банальный MessageBox. Ну создал я txt файл, какой мне путь-то до него в скрипте указывать? Какая папка начальная, нужно ли писать расширение файла?
2. Вопрос не совсем о скриптах, но всё же. Как сделать задание, целью которого будет захват множества одинаковых крестьянских хижин (как в первой карте Владык Севера)?
3. Как сделать, чтобы при пересечении региона, вражеский герой бежал из одного места в другое, при этом камера следовала за ним, не давая управления игроку?
4. Как сделать некоторые места на карте изначально открытыми?
Хомячок 3000 вне форума   Ответить с цитированием
#2
Старый 23.08.2019, 21:18
  #2
Gerter
 
Аватар для Gerter
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 698
Gerter - уровень боевого духа Gerter - уровень боевого духа
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. советую читать мануалы повнимательнее, вопросы максимально банальные и раскрываются в любых гайдах
__________________
Сценарий для HoMM V:
Сердце ночи v 1.4

Кампания за Академию/ТЭ - 4/5

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

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

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

ну если файл правильно расположен, то надо еще слэш добавить:
Код:
MessageBox("/Maps/SingleMissions/Revolution vol2/exroadmsg.txt");
а лучше всего, как я раньше писал:
Код:
MessageBox(GetMapDataPath().."exroadmsg.txt");
__________________
Сценарий для HoMM V:
Сердце ночи v 1.4

Кампания за Академию/ТЭ - 4/5

MCCS:
мод, добавляющий новые механики и контент в мультиплеер(v. 0.071)
Gerter вне форума   Ответить с цитированием
#5
Старый 25.08.2019, 06:04
  #5
Хомячок 3000
 
Аватар для Хомячок 3000
Регистрация: 26.06.2017
Сообщения: 13
Хомячок 3000 - уровень боевого духа
По умолчанию
Re: Несколько вопросов о скриптах

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

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


Опции темы



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


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

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