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

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

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

Îòâåò
Ñòðàíèöà 25 èç 28
 
Îïöèè òåìû
#361
Ñòàðûé 15.10.2023, 20:14
  #361
^
AngryTapok1337
📖
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

А, и еще такой вопрос, возможно немного не по теме. У меня при входе в регион должен проигрываться ролик. Но почему-то он проигрывается не весь, а только одна часть из 7(sentence). Причем в других случаях все сцены работают нормально, трабл только в этой.(У меня в редакторе он полностью проигрывается и проигрывается правильно)

Скрипт проблемной:

function Region4F()
    
    sleep(3)
    StartDialogScene("/MySceneCustom/DialogScene2/DialogScene.xdb#xpointer(/DialogScene)");
    Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region4",nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region4","Region4F");

Скрипты работающих:

StartDialogScene("/MySceneCustom/StartScene/DialogScene.xdb#xpointer(/DialogScene)");

и

function Region1F ()
    
    sleep(5);
    MessageBox ("/Maps/SingleMissions/MapochkaTEST3/battletext.txt");
    StartCombat ( "RedHeavenHero04", nil, 5, 166, 100, 166, 100, 167, 75, 169, 50, 170, 15, nil);
    StartDialogScene("/MySceneCustom/BattleDialog1Custom/DialogScene.xdb#xpointer(/DialogScene)");
    Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region1",nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region1","Region1F");


И да, спасибо за скрипты с анимациями. Работают отлично!

AngryTapok1337 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#362
Ñòàðûé 15.10.2023, 21:37
  #362
^
BlueHeavenHero
 
Àâàòàð äëÿ BlueHeavenHero
📖
Ðåãèñòðàöèÿ: 20.08.2022
Àäðåñ: Ðîññèéñêàÿ Èìïåðèÿ.
Ñîîáùåíèÿ: 423
Ðåãèñòðàöèÿ: 20.08.2022
Àäðåñ: Ðîññèéñêàÿ Èìïåðèÿ.
Ñîîáùåíèÿ: 423
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

AngryTapok1337

А, и еще такой вопрос, возможно немного не по теме. У меня при входе в регион должен проигрываться ролик. Но почему-то он проигрывается не весь, а только одна часть из 7(sentence). Причем в других случаях все сцены работают нормально, трабл только в этой.(У меня в редакторе он полностью проигрывается и проигрывается правильно)

Скрипт проблемной:

function Region4F()
    
    sleep(3)
    StartDialogScene("/MySceneCustom/DialogScene2/DialogScene.xdb#xpointer(/DialogScene)");
    Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region4",nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region4","Region4F");

Скрипты работающих:

StartDialogScene("/MySceneCustom/StartScene/DialogScene.xdb#xpointer(/DialogScene)");

и

function Region1F ()
    
    sleep(5);
    MessageBox ("/Maps/SingleMissions/MapochkaTEST3/battletext.txt");
    StartCombat ( "RedHeavenHero04", nil, 5, 166, 100, 166, 100, 167, 75, 169, 50, 170, 15, nil);
    StartDialogScene("/MySceneCustom/BattleDialog1Custom/DialogScene.xdb#xpointer(/DialogScene)");
    Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region1",nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region1","Region1F");


И да, спасибо за скрипты с анимациями. Работают отлично!

Хмм, не знаю, в чем может быть проблема ролика. 
За скрипты с анимациями спасибо не мне, а самим разработчикам - этот скрипт используется в одной из миссий за Вульфстена)
__________________
Âñåì ïðèâåò,ÿ BlueHeavenHero, ëþáèòåëü Ãåðîåâ Ìå÷à è Ìàãèè 5, ôàíàò Äðîíîâ-óáèéö è Countryballs, ïèøó ñâîþ êíèãó.
#ÑèíèéÐàéñêèéÃåðîé
by BlueHeavenHero 
- ìîé ÒÃ-êàíàë ñî âñÿêîé åðóíäîé, ñî÷èíåíèÿìè è ðèñóíî÷êàìè.

=======================================
Ìîè
êàðòû:
"Ïàäøèé ðûöàðü"
"Ñåðäöå Õàîñà"
Ìîè ìîäû:

"Ñòðàíñòâóþùèé ðûöàðü"
"Íà¸ìíèêè"
"Ñóùåñòâà â çàìêå íà ãëîáàëüíîé êàðòå"

Âñåì ïðèâåò,ÿ BlueHeavenHero, ëþáèòåëü Ãåðîåâ Ìå÷à è Ìàãèè 5, ôàíàò Äðîíîâ-óáèéö è Countryballs, ïèøó ñâîþ êíèãó.
#ÑèíèéÐàéñêèéÃåðîé
by BlueHeavenHero 
- ìîé ÒÃ-êàíàë ñî âñÿêîé åðóíäîé, ñî÷èíåíèÿìè è ðèñóíî÷êàìè.

=======================================
Ìîè
êàðòû:
"Ïàäøèé ðûöàðü"
"Ñåðäöå Õàîñà"
Ìîè ìîäû:

"Ñòðàíñòâóþùèé ðûöàðü"
"Íà¸ìíèêè"
"Ñóùåñòâà â çàìêå íà ãëîáàëüíîé êàðòå"

BlueHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#363
Ñòàðûé 15.10.2023, 22:28
  #363
^
AngryTapok1337
📖
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

AngryTapok1337

А, и еще такой вопрос, возможно немного не по теме. У меня при входе в регион должен проигрываться ролик. Но почему-то он проигрывается не весь, а только одна часть из 7(sentence). Причем в других случаях все сцены работают нормально, трабл только в этой.(У меня в редакторе он полностью проигрывается и проигрывается правильно)

Скрипт проблемной:

function Region4F()
    
    sleep(3)
    StartDialogScene("/MySceneCustom/DialogScene2/DialogScene.xdb#xpointer(/DialogScene)");
    Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region4",nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region4","Region4F");

Скрипты работающих:

StartDialogScene("/MySceneCustom/StartScene/DialogScene.xdb#xpointer(/DialogScene)");

и

function Region1F ()
    
    sleep(5);
    MessageBox ("/Maps/SingleMissions/MapochkaTEST3/battletext.txt");
    StartCombat ( "RedHeavenHero04", nil, 5, 166, 100, 166, 100, 167, 75, 169, 50, 170, 15, nil);
    StartDialogScene("/MySceneCustom/BattleDialog1Custom/DialogScene.xdb#xpointer(/DialogScene)");
    Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region1",nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"Region1","Region1F");


И да, спасибо за скрипты с анимациями. Работают отлично!

 


 

Отбой с проблемой. Я сейчас открыл диалог в редакторе и там почему-то только одна(!) сцена. Хотя я совершенно точно сохранял и эта фигня даже один раз на карте полностью проигалась. Куда и как делись 6 частей сцены хз

AngryTapok1337 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#364
Ñòàðûé 15.10.2023, 22:32
  #364
^
AstralLein
 
Àâàòàð äëÿ AstralLein
📖
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4062
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4062
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Велком ту герои 5: как только индекс редактора будет перезаписан (например, открыта карта в редакторе), он напрочь забудет про ваши сцены и вы их больше не откроете без танцев с бубном. 
__________________
Îõ ýòî ñëàäîñòíîå, ïîãëîùàþùåå ðàçóì áåçóìèå! 

Ãîòîâûå ïðîåêòû:


Êàðòû äëÿ ãåðîåâ 5:
"Ïëàòà çà ëþáîâü"
"Ïóòü íåêðîìàíòà"
"Òåìíûå ãðàíè"

Êàðòû äëÿ Disciples 3:
"Ïðîòèâîñòîÿíèå"

Ïðîåêòû â ðàçðàáîòêå:

Ìîäû äëÿ Disciples 3:
"Àñòåëüíàèð" - ðàçðàáîòêà âîçîáíîâëåíà â ìàå 2019 ãîä

Êàðòû äëÿ ãåðîåâ 5:
"Ðîê Ãðèìõåéìà" - â àêòèâíîé ðàçðàáîòêå
Îõ ýòî ñëàäîñòíîå, ïîãëîùàþùåå ðàçóì áåçóìèå! 

Ãîòîâûå ïðîåêòû:


Êàðòû äëÿ ãåðîåâ 5:
"Ïëàòà çà ëþáîâü"
"Ïóòü íåêðîìàíòà"
"Òåìíûå ãðàíè"

Êàðòû äëÿ Disciples 3:
"Ïðîòèâîñòîÿíèå"

Ïðîåêòû â ðàçðàáîòêå:

Ìîäû äëÿ Disciples 3:
"Àñòåëüíàèð" - ðàçðàáîòêà âîçîáíîâëåíà â ìàå 2019 ãîä

Êàðòû äëÿ ãåðîåâ 5:
"Ðîê Ãðèìõåéìà" - â àêòèâíîé ðàçðàáîòêå
AstralLein ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#365
Ñòàðûé 16.10.2023, 01:45
  #365
^
AngryTapok1337
📖
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

AstralLeinВелком ту герои 5: как только индекс редактора будет перезаписан (например, открыта карта в редакторе), он напрочь забудет про ваши сцены и вы их больше не откроете без танцев с бубном. 

Спасибо за пояснения по поводу индекса. Но Тапочек не дурак, Тапочек оказывается индекс сохранил в новой папочке)

 

Все заработало короче)

AngryTapok1337 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#366
Ñòàðûé 16.10.2023, 07:24
  #366
^
AstralLein
 
Àâàòàð äëÿ AstralLein
📖
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4062
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4062
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

А Тапочек хорош. Мне это в голову не пришло в свое время(

Впрочем, я про индексы и не знал тогда. 
__________________
Îõ ýòî ñëàäîñòíîå, ïîãëîùàþùåå ðàçóì áåçóìèå! 

Ãîòîâûå ïðîåêòû:


Êàðòû äëÿ ãåðîåâ 5:
"Ïëàòà çà ëþáîâü"
"Ïóòü íåêðîìàíòà"
"Òåìíûå ãðàíè"

Êàðòû äëÿ Disciples 3:
"Ïðîòèâîñòîÿíèå"

Ïðîåêòû â ðàçðàáîòêå:

Ìîäû äëÿ Disciples 3:
"Àñòåëüíàèð" - ðàçðàáîòêà âîçîáíîâëåíà â ìàå 2019 ãîä

Êàðòû äëÿ ãåðîåâ 5:
"Ðîê Ãðèìõåéìà" - â àêòèâíîé ðàçðàáîòêå
Îõ ýòî ñëàäîñòíîå, ïîãëîùàþùåå ðàçóì áåçóìèå! 

Ãîòîâûå ïðîåêòû:


Êàðòû äëÿ ãåðîåâ 5:
"Ïëàòà çà ëþáîâü"
"Ïóòü íåêðîìàíòà"
"Òåìíûå ãðàíè"

Êàðòû äëÿ Disciples 3:
"Ïðîòèâîñòîÿíèå"

Ïðîåêòû â ðàçðàáîòêå:

Ìîäû äëÿ Disciples 3:
"Àñòåëüíàèð" - ðàçðàáîòêà âîçîáíîâëåíà â ìàå 2019 ãîä

Êàðòû äëÿ ãåðîåâ 5:
"Ðîê Ãðèìõåéìà" - â àêòèâíîé ðàçðàáîòêå
AstralLein ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#367
Ñòàðûé 16.10.2023, 10:48
  #367
^
AngryTapok1337
📖
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

AstralLeinА Тапочек хорош. Мне это в голову не пришло в свое время(

Впрочем, я про индексы и не знал тогда. 

Спасибо видеогайду "как сделать мультики в Героях Пятых". Очень там все подробно и понятноsmile01

AngryTapok1337 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#368
Ñòàðûé 16.10.2023, 11:40
  #368
^
AstralLein
 
Àâàòàð äëÿ AstralLein
📖
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4062
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4062
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

А в мои пожилые времена таких гайдов не было. Были отрывочные и не касающиеся данных аспектов. Увы(

Как ни иронично, я до сих пор индексы не сохраняю. Привык делать ролики "за раз". Надо бы переучиться
__________________
Îõ ýòî ñëàäîñòíîå, ïîãëîùàþùåå ðàçóì áåçóìèå! 

Ãîòîâûå ïðîåêòû:


Êàðòû äëÿ ãåðîåâ 5:
"Ïëàòà çà ëþáîâü"
"Ïóòü íåêðîìàíòà"
"Òåìíûå ãðàíè"

Êàðòû äëÿ Disciples 3:
"Ïðîòèâîñòîÿíèå"

Ïðîåêòû â ðàçðàáîòêå:

Ìîäû äëÿ Disciples 3:
"Àñòåëüíàèð" - ðàçðàáîòêà âîçîáíîâëåíà â ìàå 2019 ãîä

Êàðòû äëÿ ãåðîåâ 5:
"Ðîê Ãðèìõåéìà" - â àêòèâíîé ðàçðàáîòêå
Îõ ýòî ñëàäîñòíîå, ïîãëîùàþùåå ðàçóì áåçóìèå! 

Ãîòîâûå ïðîåêòû:


Êàðòû äëÿ ãåðîåâ 5:
"Ïëàòà çà ëþáîâü"
"Ïóòü íåêðîìàíòà"
"Òåìíûå ãðàíè"

Êàðòû äëÿ Disciples 3:
"Ïðîòèâîñòîÿíèå"

Ïðîåêòû â ðàçðàáîòêå:

Ìîäû äëÿ Disciples 3:
"Àñòåëüíàèð" - ðàçðàáîòêà âîçîáíîâëåíà â ìàå 2019 ãîä

Êàðòû äëÿ ãåðîåâ 5:
"Ðîê Ãðèìõåéìà" - â àêòèâíîé ðàçðàáîòêå
AstralLein ñåé÷àñ íà ôîðóìå
Îòâåòèòü ñ öèòèðîâàíèåì
#369
Ñòàðûé 18.10.2023, 19:11
  #369
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 219
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 219
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Граждане, создавайте и храните Dialog Scenes в сберегательной кассе под названием data. Уже сколько редактировал сцены созданные в папке data - ни разу ничего не слетело. А, ну и гайд как правильно запускать редактор Dialog Scene(бывает так что он не сохраняет изменения): открываем редактор, открываем любую карту(не через Open Resource), закрываем карту(просто Close, не закрывая редактор), открываем Dialog Scene через Open Resource. Тогда всё точно будет сохраняться)

Ах да, и главное, самое главное! Всегда держите под рукой открытую папку со сценой, и следите за файлом DialogScene.xdb. Что-то измените на карте, сделайте сейв - если дата последнего изменения обновилась, значит всё окей. Вот, пожалуй это всё)

Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#370
Ñòàðûé 24.10.2023, 23:48
  #370
^
AngryTapok1337
📖
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Снова здравствуйте. Скриптовая нужда опять постучалась в мою дверь и я прошу помощи.

Ситуация следующая - я разделил карту на две части, которые соединяются гарнизоном и установил регион после него, в который запретил заходить ИИ. Хотелось бы чтобы по истечению какого-то времени, регион удалялся и ИИ смог проходить дальше.

 

А и еще если знает кто, то подскажите как можно реализовать появление караванов с войсками каждый месяц и чтобы они ехали прямо к городу. Да, прям как в финальной миссии кампании Арантира.

 

Заранее спасибо.

AngryTapok1337 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#371
Ñòàðûé 26.10.2023, 02:08
  #371
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

AngryTapok1337

Снова здравствуйте. Скриптовая нужда опять постучалась в мою дверь и я прошу помощи.

Ситуация следующая - я разделил карту на две части, которые соединяются гарнизоном и установил регион после него, в который запретил заходить ИИ. Хотелось бы чтобы по истечению какого-то времени, регион удалялся и ИИ смог проходить дальше.

 

А и еще если знает кто, то подскажите как можно реализовать появление караванов с войсками каждый месяц и чтобы они ехали прямо к городу. Да, прям как в финальной миссии кампании Арантира.

 

Заранее спасибо.

Первое - чекай функцию SetRegionBlocked. Второе - CreateCaravan.
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#372
Ñòàðûé 26.10.2023, 02:49
  #372
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 219
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 219
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

AngryTapok1337Хотелось бы чтобы по истечению какого-то времени, регион удалялся и ИИ смог проходить дальше

SetRegionBlocked("название региона", nil, PLAYER_номер игрока для которого нужно разблокировать);

AngryTapok1337Подскажите как можно реализовать появление караванов с войсками каждый месяц и чтобы они ехали прямо к городу

Да собственно взять скрипт из той самой миссии Арантира, скопировать и вставить, убрав всё что не нужно и подставив свои параметры. Важно помнить пару вещей о караване: Спавнится только на пустой точке; доставляет существ только в города(в спавне назначается точка на которой находится город), иначе пиши "обманку" типа едет на какую-то точку рядом с нужным объектом(скажем, гарнизон), удаляется(RemoveObject) и потом объект(в нашем случае гарнизон) наполняется существами через AddObjectCreatures; собственно да, караван спавнится пустым, и удалится когда закончится ход игрока которому принадлежит если не наполнен существами; наполняется и очищается командами взаимодействия с объектами, т.е. AddObjectCreatures/GetObjectCreatures/RemoveObjectCreatures. Так же на него работают проверка на существование объекта IsObjectExists и разворот SetObjectRotation:

CARAVAN = "caravan"; --дадим стартовое название каравану для использования в функции

function respawn_caravan()
	if (GetDate( DAY_OF_WEEK ) == 5) then --день недели в который заспавним караван(можно изменить на другой триггер даты)
		car = CARAVAN..GetDate(DAY); --не могу сказать в чем была фишка именовать караван по игровому дню, возможно без этого переспавн ломался. Оставим как есть, ведь зачем трогать то что итак исправно работает, верно?
		CreateCaravan(car, PLAYER_1, GROUND, 130, 1, GROUND, 136, 14 ); --собственно, сам спавн каравана: имя каравана, кому принадлежит, на земле или под землёй спавнится, x y точки спавна, на земле или под землёй точка куда едет, x y точки назначения. Точка назначения либо пустое место, либо город(больше никуда караван технически существ не доставляет)
		sleep(4);
		SetObjectRotation(car, 180); --развернём караван чтоб смотрел в другую сторону
		AddObjectCreatures(car, CREATURE_BONE_DRAGON, 4); --наполняем караван существами, иначе он удалится в конце хода игрока которому принадлежит
		AddObjectCreatures(car, CREATURE_WIGHT, 8);
		AddObjectCreatures(car, CREATURE_LICH, 12);
		AddObjectCreatures(car, CREATURE_VAMPIRE, 20);
		AddObjectCreatures(car, CREATURE_MANES, 36);
		AddObjectCreatures(car, CREATURE_WALKING_DEAD, 60);
		AddObjectCreatures(car, CREATURE_SKELETON, 80);
		OpenCircleFog(130, 1, 0, 4, 1); --откроем область карты вокруг точки спавна каравана чтобы потом сместить камеру и показать караван
		sleep(4);
		MoveCamera(130, 1, 0, 30, 1, 3.14, 0, 0, 1); --сместим камеру к точке спавна каравана чтобы показать игроку что пришло подкрепление
	end;	
end;

Trigger(NEW_DAY_TRIGGER, "respawn_caravan")
Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#373
Ñòàðûé 26.10.2023, 20:47
  #373
^
AngryTapok1337
📖
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

Азгалор

SetRegionBlocked("название региона", nil, PLAYER_номер игрока для которого нужно разблокировать);

Да собственно взять скрипт из той самой миссии Арантира, скопировать и вставить, убрав всё что не нужно и подставив свои параметры. Важно помнить пару вещей о караване: Спавнится только на пустой точке; доставляет существ только в города(в спавне назначается точка на которой находится город), иначе пиши "обманку" типа едет на какую-то точку рядом с нужным объектом(скажем, гарнизон), удаляется(RemoveObject) и потом объект(в нашем случае гарнизон) наполняется существами через AddObjectCreatures; собственно да, караван спавнится пустым, и удалится когда закончится ход игрока которому принадлежит если не наполнен существами; наполняется и очищается командами взаимодействия с объектами, т.е. AddObjectCreatures/GetObjectCreatures/RemoveObjectCreatures. Так же на него работают проверка на существование объекта IsObjectExists и разворот SetObjectRotation:

CARAVAN = "caravan"; --дадим стартовое название каравану для использования в функции

function respawn_caravan()
	if (GetDate( DAY_OF_WEEK ) == 5) then --день недели в который заспавним караван(можно изменить на другой триггер даты)
		car = CARAVAN..GetDate(DAY); --не могу сказать в чем была фишка именовать караван по игровому дню, возможно без этого переспавн ломался. Оставим как есть, ведь зачем трогать то что итак исправно работает, верно?
		CreateCaravan(car, PLAYER_1, GROUND, 130, 1, GROUND, 136, 14 ); --собственно, сам спавн каравана: имя каравана, кому принадлежит, на земле или под землёй спавнится, x y точки спавна, на земле или под землёй точка куда едет, x y точки назначения. Точка назначения либо пустое место, либо город(больше никуда караван технически существ не доставляет)
		sleep(4);
		SetObjectRotation(car, 180); --развернём караван чтоб смотрел в другую сторону
		AddObjectCreatures(car, CREATURE_BONE_DRAGON, 4); --наполняем караван существами, иначе он удалится в конце хода игрока которому принадлежит
		AddObjectCreatures(car, CREATURE_WIGHT, 8);
		AddObjectCreatures(car, CREATURE_LICH, 12);
		AddObjectCreatures(car, CREATURE_VAMPIRE, 20);
		AddObjectCreatures(car, CREATURE_MANES, 36);
		AddObjectCreatures(car, CREATURE_WALKING_DEAD, 60);
		AddObjectCreatures(car, CREATURE_SKELETON, 80);
		OpenCircleFog(130, 1, 0, 4, 1); --откроем область карты вокруг точки спавна каравана чтобы потом сместить камеру и показать караван
		sleep(4);
		MoveCamera(130, 1, 0, 30, 1, 3.14, 0, 0, 1); --сместим камеру к точке спавна каравана чтобы показать игроку что пришло подкрепление
	end;	
end;

Trigger(NEW_DAY_TRIGGER, "respawn_caravan")


 

 

Спасибо большое за код! Вопрос - а можно ли это реализовать с условием? Т.е, чтобы функция начала выполняться только после выполнения задания?

AngryTapok1337 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#374
Ñòàðûé 26.10.2023, 23:46
  #374
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 219
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 219
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

AngryTapok1337Спасибо большое за код! Вопрос - а можно ли это реализовать с условием? Т.е, чтобы функция начала выполняться только после выполнения задания?
Попробуй такое:
	if ( GetDate( DAY_OF_WEEK ) == 5 ) and ( GetObjectiveState("квест") == OBJECTIVE_COMPLETED ) then
Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#375
Ñòàðûé 27.10.2023, 01:22
  #375
^
AngryTapok1337
📖
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ðåãèñòðàöèÿ: 14.10.2023
Ñîîáùåíèÿ: 16
Ïî óìîë÷àíèþ
Re: Ñêðèïòû äëÿ íà÷èíàþùèõ

В общем код не работает. Допускаю(даже, я бы сказал, уверен), что я, как и положено хлебушку, вписал что-то не то. Получившаяся функция:

 

CARAVAN = "caravan"

function respawn_caravan()
    if GetObjectiveState("NaydiSuhestv1") =~ OBJECTIVE_COMPLETED then
              return
    end
    if (GetDate( DAY_OF_WEEK ) == 5) then
        car = CARAVAN..GetDate(DAY)
        CreateCaravan(car, 1, GROUND, 173, 68, GROUND, 156, 159 )
        sleep(4)
        SetObjectRotation(car, 180)
        AddObjectCreatures(car, CREATURE_BONE_DRAGON, 4)
        AddObjectCreatures(car, CREATURE_WIGHT, 8)
        AddObjectCreatures(car, CREATURE_LICH, 12)
        AddObjectCreatures(car, CREATURE_VAMPIRE, 20)
        AddObjectCreatures(car, CREATURE_MANES, 36)
        AddObjectCreatures(car, CREATURE_WALKING_DEAD, 60)
        AddObjectCreatures(car, CREATURE_SKELETON, 80)
        OpenCircleFog(173, 68, 0, 4, 1)
        sleep(4)
        MoveCamera(173, 68, 0, 30, 1, 3.14, 0, 0, 1)
    end
end

Trigger(NEW_DAY_TRIGGER, "respawn_caravan")

 

Более того, как только я ее вписал в код, весь код перестал работать вообще. Более чем уверен, что человек, разбирающийся в скриптах, уже увидел у меня ошибку. Прошу разъяснить что тут не так.



Добавлено через 32 минуты

Вообще убрал доп. условие и даже так не работает

 

Получилось следующее:

 

CARAVAN = "caravan"

function respawn_caravan()
    if (GetDate( DAY_OF_WEEK ) == 2)  then
        car = CARAVAN..GetDate(DAY)
        CreateCaravan(car, PLAYER_1, GROUND, 173, 68, GROUND, 156, 159 )
        sleep(4)
        SetObjectRotation(car, 180)
        AddObjectCreatures(car, CREATURE_BONE_DRAGON, 4)
        AddObjectCreatures(car, CREATURE_WIGHT, 8)
        AddObjectCreatures(car, CREATURE_LICH, 12)
        AddObjectCreatures(car, CREATURE_VAMPIRE, 20)
        AddObjectCreatures(car, CREATURE_MANES, 36)
        AddObjectCreatures(car, CREATURE_WALKING_DEAD, 60)
        AddObjectCreatures(car, CREATURE_SKELETON, 80)
        sleep(4)
    end
end

Trigger(NEW_DAY_TRIGGER, "respawn_caravan")

 

Возможно дело в том, что караван просто не может доехать до города? Хотя вроде дорога открыта

AngryTapok1337 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 25 èç 28


Îïöèè òåìû



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


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

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