Скрипты для начинающих - Страница 15 - Форум 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. Так же здесь обсуждаем картостроительство.

Ответ
 
Опции темы
Старый 15.06.2019, 11:27   #211
Ment
 
Аватар для Ment
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 22332
Ment - уровень боевого духа Ment - уровень боевого духа Ment - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

А. Ну, то есть замечание номер 3 всё же сыграло, похоже. Боюсь, придётся усложнять скрипт -- задание gaz сделать во вкладке objectives, общим, но поначалу невидимым. Выдавать по OBJECT_TOUCH_TRIGGER с домиком, а домику стандартные функции отключить (сначала выдавать сообщение, потом -- задание).
Но сначала надо проверить -- если прописать gaz общим и доступным с самого начала, будет ли работать.
__________________
"Ок."




Ment вне форума   Ответить с цитированием
Старый 30.06.2019, 20:15   #212
Dimaks
Регистрация: 30.06.2019
Сообщения: 5
Dimaks - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Всем доброго времени суток. Тупой вопрос по MessageBox. Куда положить надо текстовый файл?
Dimaks вне форума   Ответить с цитированием
Старый 30.06.2019, 20:27   #213
Ment
 
Аватар для Ment
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 22332
Ment - уровень боевого духа Ment - уровень боевого духа Ment - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Куда-нибудь в архив с картой. Путь к текстовому файлу в архиве с картой = тот путь, что Вы пишете в скриптах.
Обычно кладут туда, где лежат map.xdb, terrain.bin и прочее, что связано с данной конкретной картой.
__________________
"Ок."




Ment вне форума   Ответить с цитированием
Старый 30.06.2019, 20:34   #214
Dimaks
Регистрация: 30.06.2019
Сообщения: 5
Dimaks - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Я вот просто туплю, где этот архив. У меня в каталоге Maps лежит просто сама карта
Dimaks вне форума   Ответить с цитированием
Старый 30.06.2019, 20:57   #215
Ment
 
Аватар для Ment
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 22332
Ment - уровень боевого духа Ment - уровень боевого духа Ment - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Это оно и есть. При старте редактора карт этот архив (который на самом деле zip, пусть и написано у него иначе) распаковывается, после закрытия редактора все изменения туда запаковываются.
__________________
"Ок."




Ment вне форума   Ответить с цитированием
Старый 30.06.2019, 21:41   #216
Dimaks
Регистрация: 30.06.2019
Сообщения: 5
Dimaks - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

То есть когда я открываю карту в редакторе, в каталог Maps нужно засунуть текстовый файл?
Dimaks вне форума   Ответить с цитированием
Старый 30.06.2019, 21:44   #217
Ment
 
Аватар для Ment
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 22332
Ment - уровень боевого духа Ment - уровень боевого духа Ment - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Не, там какой-то другой каталог... Не помню точно, вроде Editor -> H5mMods -> папка с названием карты
Но, чтобы не опростоволоситься, лучше закрыть редактор и открыть архив с картой с помощью WinRAR. И туда уже засунуть.
__________________
"Ок."




Ment вне форума   Ответить с цитированием
Старый 03.07.2019, 17:46   #218
Dimaks
Регистрация: 30.06.2019
Сообщения: 5
Dimaks - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Доброго времени суток, я вернулся к героям. И все еще не разобрался с MessageBox. Как zip файл открываться не хочет. Можете приложить пару скринов или снова разложить все по полочкам?
Dimaks вне форума   Ответить с цитированием
Старый 04.07.2019, 02:25   #219
Ment
 
Аватар для Ment
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 22332
Ment - уровень боевого духа Ment - уровень боевого духа Ment - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Файл с расширением .h5m открываете же, верно?
__________________
"Ок."




Ment вне форума   Ответить с цитированием
Старый 05.07.2019, 19:24   #220
Dimaks
Регистрация: 30.06.2019
Сообщения: 5
Dimaks - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Да, я пытаюсь разархивировать название_карты.h5m . Но это чисто не выходит. Не могли бы вы описать другой способ подробнее?
Dimaks вне форума   Ответить с цитированием
Старый 14.07.2019, 22:26   #221
Vladislav A-V
 
Аватар для Vladislav A-V
Регистрация: 23.10.2016
Адрес: Российская Федерация, Татарстан.
Сообщения: 7
Vladislav A-V - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Здравствуйте,можно,пожалуйста,получить совет:у меня на карте есть строение, в котором хочу нанимать войска с помощью скриптовых функций,так вот, как сделать так,чтобы эти функции выполнялись последовательно,не перебивая друг-друга,вроде, согласно руководству, должно быть условие if во второй функции,но какое...
Вот функции:
--Начало--
--Naim1--
function Naim1(hero)
Naim1_hero = hero
MessageBox("/Maps/SingleMissions/Time of Troubles1/Naim1MB.txt")
QuestionBox("/Maps/SingleMissions/Time of Troubles1/Naim1QB.txt", "Naim1_ok");
end
function Naim1_ok()
local gold = GetPlayerResource(PLAYER_1, GOLD)
if gold >= 3000 then
Trigger(OBJECT_TOUCH_TRIGGER, "Tavern", nil)
SetPlayerResource(PLAYER_1, GOLD, gold - 3000)
AddHeroCreatures(Naim1_hero, 4, 30)
else
MessageBox("/Maps/SingleMissions/Time of Troubles1/Naim2MB.txt")
end
end
Trigger(OBJECT_TOUCH_TRIGGER, "Tavern", "Naim1")
--Naim2--
function Naim2(hero)
Naim2_hero = hero
MessageBox("/Maps/SingleMissions/Time of Troubles1/Naim3MB.txt")
QuestionBox("/Maps/SingleMissions/Time of Troubles1/Naim2QB.txt", "Naim2_ok");
end
function Naim2_ok()
local gold = GetPlayerResource(PLAYER_1, GOLD)
if gold >= 7000 then
Trigger(OBJECT_TOUCH_TRIGGER, "Tavern", nil)
SetPlayerResource(PLAYER_1, GOLD, gold - 7000)
AddHeroCreatures(Naim1_hero, 11, 3)
else
MessageBox("/Maps/SingleMissions/Time of Troubles1/Naim4MB.txt")
end
end
Trigger(OBJECT_TOUCH_TRIGGER, "Tavern", "Naim2")
--Конец--
Vladislav A-V вне форума   Ответить с цитированием
Старый 15.07.2019, 06:09   #222
32MeTpa
 
Аватар для 32MeTpa
Регистрация: 06.08.2011
Сообщения: 178
32MeTpa - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Если нужно, чтобы вторая функция выполнялась только после того, как первые существа были наняты, то соответственно можно под условием "if gold >= 3000 then" заменить в триггере nil на "Naim2". Тогда так получится:
Код:
... if gold >= 3000 then Trigger(OBJECT_TOUCH_TRIGGER, "Tavern", "Naim2") SetPlayerResource(PLAYER_1, GOLD, gold - 3000) AddHeroCreatures(Naim1_hero, 4, 30) else ...
А Trigger(OBJECT_TOUCH_TRIGGER, "Tavern", "Naim2") в самом конце убрать.
В таком случае в начале активируется триггер на "Naim1", после найма он заменится на "Naim2", а после найма вторых существ обнулится.
32MeTpa вне форума   Ответить с цитированием
Старый 18.07.2019, 23:41   #223
Vladislav A-V
 
Аватар для Vladislav A-V
Регистрация: 23.10.2016
Адрес: Российская Федерация, Татарстан.
Сообщения: 7
Vladislav A-V - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Спасибо,большое,помогло.Можно ли,пожалуйста,ещё совет? Как реализовать такую задумку:изначально нельзя отстроить в городе определённое здание,но его можно разблокировать и улучшить,выполнив второстепенный квест. Первоначальное диалоговое окно с NPC, я сделал,задание тоже настроил(уничтожение отряда нейтралов),Но возникли вопросы - как при выполнении задания,вернувшись к NPC заблокировать первоначальную функцию с диалогом №1,и запустить функцию с диалогом №2 в том же регионе,и разблокировать здание в качестве награды?
----
Функция вступление, с диалогом №1
----
function Barracks_build(hero)
Barracks_hero = hero
MessageBox("/Maps/SingleMissions/Time of Troubles1/Barracks_building.txt",nil)
QuestionBox("/Maps/SingleMissions/Time of Troubles1/Barracks_buildingQB.txt", "Barracks_build_ok",nil);
end
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "QuestSword", "Barracks_build",nil)
----
Функция согласия, с диалогом №2
----
function Barracks_build_ok()
MessageBox("/Maps/SingleMissions/Time of Troubles1/Barracks_building1.txt");
SetObjectiveState("zadanie1", OBJECTIVE_ACTIVE,1);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "QuestSword", "Barracks_build",nil)
end
----
Vladislav A-V вне форума   Ответить с цитированием
Старый 19.07.2019, 05:41   #224
32MeTpa
 
Аватар для 32MeTpa
Регистрация: 06.08.2011
Сообщения: 178
32MeTpa - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Как вариант, в функции Barracks_build_ok можно написать:
Код:
function Barracks_build_ok() MessageBox("/Maps/SingleMissions/Time of Troubles1/Barracks_building1.txt"); SetObjectiveState("zadanie1", OBJECTIVE_ACTIVE,1); Trigger(REGION_ENTER_AND_STOP_TRIGGER, "QuestSword", nil) startThread( _Barracks_build_mob_monitor); end
И сама функция _Barracks_build_mob_monitor:
Код:
function _Barracks_build_mob_monitor () while 1 do sleep(2); if not Exists("Neutral") then Trigger(REGION_ENTER_AND_STOP_TRIGGER, "QuestSword", "Barracks_build_2"); break end; end; end;

Она в отдельном потоке проверяет, существует ли отряд 'Neutal' (Exists("Neutral")). Если в какой-то момент его победили, то триггер на регион меняется на "Barracks_build_2" - функция с диалогом №2.
Выполнение квеста зависит от того, какой у него тип (kind) стоит. Если OBJECTIVE_KIND_MANUAL, то его можно завершить строчкой:
Код:
SetObjectiveState('zadanie1', OBJECTIVE_COMPLETED);
Поставить его надо под условие if not Exists("Neutral") then до триггера.
Если не OBJECTIVE_KIND_MANUAL, а настроенный на уничтожение отряда, то должен сам засчитаться.
С разблокировкой зданий не сталкивался, но тут скорее всего поможет SetTownBuildingLimitLevel.
32MeTpa вне форума   Ответить с цитированием
Старый 19.07.2019, 19:56   #225
Vladislav A-V
 
Аватар для Vladislav A-V
Регистрация: 23.10.2016
Адрес: Российская Федерация, Татарстан.
Сообщения: 7
Vladislav A-V - уровень боевого духа
По умолчанию Re: Скрипты для начинающих

Спасибо вам большое,основное условие прекрасно работает,эх, теперь искать дальше теперь этот скрипт с разблокировкой здания,такое встречал во второй миссии за некромантов в кампании ToE, что то связанное с вампирами.
Vladislav A-V вне форума   Ответить с цитированием
Ответ


Опции темы

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

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


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


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