Ñêðèïòû - Ñòðàíèöà 9 - Ôîðóì HeroesWorld-à

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

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

Îòâåò
Ñòðàíèöà 9 èç 261
 
Îïöèè òåìû
#121
Ñòàðûé 06.09.2010, 10:04
  #121
^
Êâàíò
 
Àâàòàð äëÿ Êâàíò
📖
Ðåãèñòðàöèÿ: 23.12.2009
Àäðåñ: Òþìåíü
Ñîîáùåíèÿ: 312
Îòïðàâèòü ñîîáùåíèå äëÿ  Êâàíò ñ ïîìîùüþ ICQ
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 23.12.2009
Àäðåñ: Òþìåíü
Ñîîáùåíèÿ: 312
Îòïðàâèòü ñîîáùåíèå äëÿ  Êâàíò ñ ïîìîùüþ ICQ
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

SetAIHeroAttractor("DangeonTown", "Oddrema", 2);

Указываешь город, героя и приоритет. 2 - наивысший (то бишь захватывать будет невзирая на опасность умереть).

Выглядит хорошо, но не всегда работает как надо.
но факт что работает проверено лично мною в карте "Астралия"
Êâàíò âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#122
Ñòàðûé 06.09.2010, 10:17
  #122
^
Ser9K
 
Àâàòàð äëÿ Ser9K
📖
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.07.2007
Àäðåñ: Â äàëåêîì çàáûòîì ëåñó
Ñîîáùåíèÿ: 103
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

после ролика мне необходимо ещё телепортировать "Enabledнутого" героя на другую позицию
SetObjectPosition эта функция переноса.

И с аттрактором: он у меня должен примениться на отключенных героев. Они на следующем ходу пойдут, или их надо как-то включить?
Ну так в этом триггире их и включи. В ход игрока они все равно ни куда не денутся. А со следующего хода двинутся к городу.
Ser9K âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#123
Ñòàðûé 06.09.2010, 13:14
  #123
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ðàäîñòü
Re: Ñêðèïòû

КвантНо факт что работает проверено лично мною в карте "Астралия"
Не знаю, как там у тебя в Астралии, но я такую вещь делал в Гномании. В 90% случаев работало, но в 10% комп направлялся в противоположную сторону. Пришлось поставить функцию MoveHero. Такие дела.
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#124
Ñòàðûé 06.09.2010, 19:16
  #124
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Так, из первой порции сработало всё, кроме Ai аттрактора. Бегут куда хотят. Нет другого способа? И, перед тем как начинается битва чтобы выскакивало сообщение?

Часть два. Мне необходимо ещё такое: подбегаешь к отряду, выскакивает сообщение, отряд с карты исчезает, а в армию добавляются войска. Герой конкретный. Второе: побеждаешь монстра и выскакивает сообщение.

И наконец, последнее: задания. Первое смысловой нагрузки не несёт и звучит так: добраться до дороги на Аль-Сафир. Просто чтобы появлялось и считалось выполненным после триггера с роликом в предыдущей части. Ещё два: главное - убить вражеского героя и второстепенная - собрать кучки существ с карты (к этому относятся и предыдущие скрипты с добавлением в армию). Как это можно сделать? Пожалуйста помогите!
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#125
Ñòàðûé 08.09.2010, 21:57
  #125
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ГильраенТак, из первой порции сработало всё, кроме Ai аттрактора. Бегут куда хотят.
Это было предсказуемо. Если есть возможность, надо заменить на MoveHero(hero,x,y);
ГильраенИ, перед тем как начинается битва чтобы выскакивало сообщение?
Я бы поставил регион "town" такой, чтобы его надо было пересечь, прежде, чем напасть на город. Далее
function show_mes(hero)
if hero=="EnemyHero" then
MessageBox(GetMapDataPath().."mes.txt");
end;
end;
Trigger(REGION_ENTER_WITHOUT_STOP_TRIGGER,"town","show_mes");
ГильраенМне необходимо ещё такое: подбегаешь к отряду, выскакивает сообщение, отряд с карты исчезает, а в армию добавляются войска.+собрать кучки существ с карты
function Add(hero)
if hero=="YourHero" then
MessageBox(GetMapDataPath().."mes2.txt");
AddHeroCreatures("YourHero",CR_ID,QUANTITY);
k=k+1;
if k==n then --кол-во существ для сбора
SetObjectiveState("Obj",OBJECTIVE_COMPLETED);
end;
end;
end;
SetObjectEnabled("monster",nil);
Trigger(OBJECT_TOUCH_TRIGGER,"monster","Add");
ГильраенВторое: побеждаешь монстра и выскакивает сообщение.
Тут можно просто написать скрипт в свойствах монстра, вкладка скрипт. Пишешь там MessageBox и всё.
ГильраенПросто чтобы появлялось и считалось выполненным после триггера с роликом в предыдущей части.
SetObjectiveState("PrimObj0",OBJECTIVE_COMPLETED);--выполнение
SetObjectiveState("PrimObj0",OBJECTIVE_ACTIVE);--появление
Гильраенубить вражеского героя
Там есть стандартное задание -- Defeat Hero.
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#126
Ñòàðûé 09.09.2010, 07:23
  #126
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Спасибо, вечером буду пытаться. Только немного не понял с добавлением существ, что есть переменная k, n и, как выглядит CREATURE_ID?
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#127
Ñòàðûé 09.09.2010, 07:47
  #127
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

k -- количество присоединившихся отрядов. n -- кол-во, необходимое для выполнения задания.
CREATURE_ID -- номер существа (можно узнать в файле ID's_for_script.pdf или как-то так)
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#128
Ñòàðûé 09.09.2010, 07:59
  #128
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Так-с. По поводу SetObjectEnabled - от этого же отряд не исчезает, а мне нужно, чтобы исчез (герой воскресил мёртвых воинов и они присоединились к нему). Задание такое: две воскресших кучки и три собранных. Воскресшие: громовержцы, маги; присоединяющиеся: големы, маги, громовержцы. Разве можно объединить их в одну переменную? А DefeatHero - где его найти?

Задания. Для SetObjectiveState не нужна функция? Оно работает просто так? А как добавить к заданию описание?
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#129
Ñòàðûé 09.09.2010, 09:03
  #129
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Да, забыл... RemoveObject('monster');--убрать объект. Насчёт воскрешения--поподробнее, пожалуйста.
DefeatHero-- в дереве свойств карты, objectives, objective kind.
SetObjectiveState работает так.
Описание задания--objectives, objective description.
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#130
Ñòàðûé 09.09.2010, 16:59
  #130
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

По поводу воскрешения - это сюжетный момент. Но вот что мне ещё надо. Move Hero: а можно сделать так, чтобы оно работало на ход противника, или на следующий день после получения? Как сделать, чтобы у героев игрока не было пунктов хода? Ну и задание по сбору: выполнено, когда сработали триггеры на сообщение и присоединение: как это написать?

Ух, и столько работы для карты крошечного размера! Надо хоть как-то её разнообразить? И спасибо, Ment, Ser9K.
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#131
Ñòàðûé 09.09.2010, 17:14
  #131
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ГильраенMove Hero: а можно сделать так, чтобы оно работало на ход противника, или на следующий день после получения?
MoveHero всегда работает на ход противника. Не путай с MoveHeroRealTime
ГильраенКак сделать, чтобы у героев игрока не было пунктов хода?
x=-GetHeroStat("EnemyHero",STAT_MOVE_POINTS);
ChangeHeroStat("EnemyHero",STAT_MOVE_POINTS,x);
ГильраенНу и задание по сбору: выполнено, когда сработали триггеры на сообщение и присоединение: как это написать?
Если я правильно понял, то это уже написано, смотри ранее. Там проверяется, равно ли k и n. Если равны, то задание "Obj" выполнено.
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#132
Ñòàðûé 13.09.2010, 21:26
  #132
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Что-то у меня MessageBox не работает. Ладно, буду ещё разбираться!

Так можно максимально подробно описать, как поставить задание? Обычное, без смысла, просто зайти в регион, где написать для него текст? А DefeatHero как настроить: описание, запуск и чтобы по выполнению проигрывался ролик и кончалась миссия?

Теперь по другим картам. Вот интересно, как работает "Призыв Ильм-Хиджры" из Повелителей? Это перемещение обджектов?

А как забирать войска у героя? Просто хочу подготовить особенную карту к ноябрю этого года (вопрос на засыпку: что будет в ноябре?), а основная часть в ней также должна быть заскриптована. Причём то, что я сказал - самое важное. Помогите, а?
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#133
Ñòàðûé 13.09.2010, 22:41
  #133
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30707
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ГильраенЧто-то у меня MessageBox не работает.
Я тоже с ним долго разбирался. Проблема была в том, что я сообщения печатал в блокноте, а он автоматом не тот формат выбирает. Короче, посмотри эту тему, тут всё про MessageBox написано, что можно.
ГильраенТак можно максимально подробно описать, как поставить задание?
В смысле, включая название, описание задания? Или я не понял? Потому что скриптовая часть исчерпывается функцией SetObjectiveState. Ну можно ещё иногда применять SetObjectiveProgress.
ГильраенDefeatHero как настроить: описание, запуск и чтобы по выполнению проигрывался ролик и кончалась миссия?
Значит так(+скриншот):
	
function P0_end()
  StartDialogScene("bla-bla");
  Win(1);
end;

function P0_start()
  SetObjectiveState("P0",OBJECTIVE_ACTIVE);
  Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER,"P0","P0_end");
end;

Trigger(Тип триггера,parametrs,"P0_start");

ГильраенВот интересно, как работает "Призыв Ильм-Хиджры" из Повелителей? Это перемещение обджектов?
Да, похоже, это скриптовое заклинание, перемещающее объект. Хотя я там в скрипте не рылся.
ГильраенА как забирать войска у героя?
МануальчикRemoveHeroCreatures(heroname, creatureID, quantity);
Советую почаще заглядывать в вышеприведённый источник. Вообще классная штука -- не понимаю, почему народ ей пренебрегает
Ìèíèàòþðû
Íàæìèòå íà èçîáðàæåíèå äëÿ óâåëè÷åíèÿ
Íàçâàíèå:  scrsh.jpg
Ïðîñìîòðîâ: 289
Ðàçìåð:	196.6 Êáàéò
ID:	20166  
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#134
Ñòàðûé 18.09.2010, 09:02
  #134
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

О Господи! Это MoveHero тоже не работает!! Я могу понять этих двух героев- на смерть идти не хочется, но со скриптами они же должны работать!!! У меня герои врага либо желают что хотят (пока я не посавил блоки) или просто стоят (как в последних трёх случаях). Я их уже и. MoveHero зову, и AiAttractorom тоже приманиваю, но нет же - упёрлись рогом!
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#135
Ñòàðûé 18.09.2010, 11:39
  #135
^
Nikitatigr
 
Àâàòàð äëÿ Nikitatigr
📖
Ðåãèñòðàöèÿ: 08.08.2010
Ñîîáùåíèÿ: 99
Ðåãèñòðàöèÿ: 08.08.2010
Ñîîáùåíèÿ: 99
Ñîîáùåíèå
Re: Ñêðèïòû

ГильраенО Господи! Это MoveHero тоже не работает!! Я могу понять этих двух героев- на смерть идти не хочется, но со скриптами они же должны работать!!! У меня герои врага либо желают что хотят (пока я не посавил блоки) или просто стоят (как в последних трёх случаях). Я их уже и. MoveHero зову, и AiAttractorom тоже приманиваю, но нет же - упёрлись рогом!
Из фанатского руководства по скриптам:
если вы хотите, чтобы
компьютерный игрок стремглав мчался к какому-то объекту на карте и только по
определённому пути, заблокируйте ему другие и повесьте наибольший приоритет на тот
объект. Однако не забудьте снять приоритет, как только игрок до него дотронется, иначе АИ
до конца своих дней будет в него самым непристойным образом тыкаться.
Nikitatigr âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 9 èç 261


Îïöèè òåìû



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


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

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