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

Вернуться   Форум HeroesWorld-а > Все о игре Герои 5. All about Heroes 5 > Герои Меча и Магии 5 - Картостроительство (Редактор карт)
Имя
Пароль
Карта сайта Регистрация Справка Пользователи Календарь Все разделы прочитаны
Быстрая навигация по основным разделам форума:
Кланы HW Турниры на HW КАРТЫ и Картостроительство Heroes 6 Heroes 5 Heroes 4 Heroes 3 Heroes 2 Heroes 1 Might&Magic

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

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

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

Кампания за Академию/ТЭ - в активной разработке

I heard your voice through a photograph
I thought it up it brought up the past
Once you know you can never go back
I’ve got to take it on the otherside
Gerter вне форума   Ответить с цитированием
Старый 24.08.2019, 19:40   #3
Хомячок 3000
 
Аватар для Хомячок 3000
Регистрация: 26.06.2017
Сообщения: 13
Хомячок 3000 - уровень боевого духа
По умолчанию Re: Несколько вопросов о скриптах

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

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

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

Кампания за Академию/ТЭ - в активной разработке

I heard your voice through a photograph
I thought it up it brought up the past
Once you know you can never go back
I’ve got to take it on the otherside
Gerter вне форума   Ответить с цитированием
Старый 25.08.2019, 06:04   #5
Хомячок 3000
 
Аватар для Хомячок 3000
Регистрация: 26.06.2017
Сообщения: 13
Хомячок 3000 - уровень боевого духа
По умолчанию Re: Несколько вопросов о скриптах

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

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


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.
Быстрый переход


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


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

Яндекс цитирование  Rambler\'s Top100   Рейтинг@Mail.ru

Авторские права - Copyright © 2002-2018 www.HeroesWorld.ru All rights reserved (new server)


На правах рекламы:123123