Ñêðèïòû äëÿ íà÷èíàþùèõ - Ñòðàíèöà 15 - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Ãåðîè Ìå÷à è Ìàãèè 5 - Êàðòîñòðîèòåëüñòâî (Ðåäàêòîð êàðò)  ýòîì ðàçäåëå ìîæíî îáñóæäàòü âñå ÷òî êàñàåòñÿ ðåäàêòîðà êàðò äëÿ Heroes of Might and Magic V. Òàê æå çäåñü îáñóæäàåì êàðòîñòðîèòåëüñòâî.

Îòâåò
Ñòðàíèöà 15 èç 28
 
Îïöèè òåìû
#211
Ñòàðûé 15.06.2019, 11:27
  #211
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

А. Ну, то есть замечание номер 3 всё же сыграло, похоже. Боюсь, придётся усложнять скрипт -- задание gaz сделать во вкладке objectives, общим, но поначалу невидимым. Выдавать по OBJECT_TOUCH_TRIGGER с домиком, а домику стандартные функции отключить (сначала выдавать сообщение, потом -- задание).
Но сначала надо проверить -- если прописать gaz общим и доступным с самого начала, будет ли работать.
Ment ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#212
Ñòàðûé 30.06.2019, 20:15
  #212
^
Dimaks
📖
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Всем доброго времени суток. Тупой вопрос по MessageBox. Куда положить надо текстовый файл?
Dimaks âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#213
Ñòàðûé 30.06.2019, 20:27
  #213
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Куда-нибудь в архив с картой. Путь к текстовому файлу в архиве с картой = тот путь, что Вы пишете в скриптах.
Обычно кладут туда, где лежат map.xdb, terrain.bin и прочее, что связано с данной конкретной картой.
Ment ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#214
Ñòàðûé 30.06.2019, 20:34
  #214
^
Dimaks
📖
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Я вот просто туплю, где этот архив. У меня в каталоге Maps лежит просто сама карта
Dimaks âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#215
Ñòàðûé 30.06.2019, 20:57
  #215
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Это оно и есть. При старте редактора карт этот архив (который на самом деле zip, пусть и написано у него иначе) распаковывается, после закрытия редактора все изменения туда запаковываются.
Ment ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#216
Ñòàðûé 30.06.2019, 21:41
  #216
^
Dimaks
📖
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

То есть когда я открываю карту в редакторе, в каталог Maps нужно засунуть текстовый файл?
Dimaks âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#217
Ñòàðûé 30.06.2019, 21:44
  #217
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Не, там какой-то другой каталог... Не помню точно, вроде Editor -> H5mMods -> папка с названием карты
Но, чтобы не опростоволоситься, лучше закрыть редактор и открыть архив с картой с помощью WinRAR. И туда уже засунуть.
Ment ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#218
Ñòàðûé 03.07.2019, 17:46
  #218
^
Dimaks
📖
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Доброго времени суток, я вернулся к героям. И все еще не разобрался с MessageBox. Как zip файл открываться не хочет. Можете приложить пару скринов или снова разложить все по полочкам?
Dimaks âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#219
Ñòàðûé 04.07.2019, 02:25
  #219
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30705
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Файл с расширением .h5m открываете же, верно?
Ment ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#220
Ñòàðûé 05.07.2019, 19:24
  #220
^
Dimaks
📖
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ðåãèñòðàöèÿ: 30.06.2019
Ñîîáùåíèÿ: 5
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Да, я пытаюсь разархивировать название_карты.h5m . Но это чисто не выходит. Не могли бы вы описать другой способ подробнее?
Dimaks âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#221
Ñòàðûé 14.07.2019, 22:26
  #221
^
Vladislav A-V
 
Àâàòàð äëÿ Vladislav A-V
📖
Ðåãèñòðàöèÿ: 23.10.2016
Àäðåñ: Ðîññèéñêàÿ Ôåäåðàöèÿ, Òàòàðñòàí.
Ñîîáùåíèÿ: 12
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 23.10.2016
Àäðåñ: Ðîññèéñêàÿ Ôåäåðàöèÿ, Òàòàðñòàí.
Ñîîáùåíèÿ: 12
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
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 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#222
Ñòàðûé 15.07.2019, 06:09
  #222
^
32MeTpa
 
Àâàòàð äëÿ 32MeTpa
📖
Ðåãèñòðàöèÿ: 06.08.2011
Ñîîáùåíèÿ: 178
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 06.08.2011
Ñîîáùåíèÿ: 178
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
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 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#223
Ñòàðûé 18.07.2019, 23:41
  #223
^
Vladislav A-V
 
Àâàòàð äëÿ Vladislav A-V
📖
Ðåãèñòðàöèÿ: 23.10.2016
Àäðåñ: Ðîññèéñêàÿ Ôåäåðàöèÿ, Òàòàðñòàí.
Ñîîáùåíèÿ: 12
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 23.10.2016
Àäðåñ: Ðîññèéñêàÿ Ôåäåðàöèÿ, Òàòàðñòàí.
Ñîîáùåíèÿ: 12
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
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 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#224
Ñòàðûé 19.07.2019, 05:41
  #224
^
32MeTpa
 
Àâàòàð äëÿ 32MeTpa
📖
Ðåãèñòðàöèÿ: 06.08.2011
Ñîîáùåíèÿ: 178
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 06.08.2011
Ñîîáùåíèÿ: 178
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
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 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#225
Ñòàðûé 19.07.2019, 19:56
  #225
^
Vladislav A-V
 
Àâàòàð äëÿ Vladislav A-V
📖
Ðåãèñòðàöèÿ: 23.10.2016
Àäðåñ: Ðîññèéñêàÿ Ôåäåðàöèÿ, Òàòàðñòàí.
Ñîîáùåíèÿ: 12
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 23.10.2016
Àäðåñ: Ðîññèéñêàÿ Ôåäåðàöèÿ, Òàòàðñòàí.
Ñîîáùåíèÿ: 12
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Спасибо вам большое,основное условие прекрасно работает,эх, теперь искать дальше теперь этот скрипт с разблокировкой здания,такое встречал во второй миссии за некромантов в кампании ToE, что то связанное с вампирами.
Vladislav A-V âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 15 èç 28


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 19:59.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru