Скрипты для начинающих - Страница 22 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

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

Ответ
Страница 22 из 24
 
Опции темы
#316
Старый 17.10.2022, 20:45
  #316
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

АзгалорBlueHeavenHero, не знаю кто тут дизлайки лепит, но как я уже написал выше: проверь чтобы всё было правильно, и как верно подметил Хоттабыч - не забудь добавить отключение стандартного боя(если ещё не прописал), а после проверяй скрипты в игре. Ждём ответа по результату.
Всё понял, спасибо за помощь.
Так как "Падший Рыцарь" - моя первая работа, я хочу, чтобы все было сделано качественно и сценарий был интересен
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#317
Старый 17.10.2022, 21:02
  #317
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 183
Регистрация: 24.04.2016
Сообщения: 183
По умолчанию
Re: Скрипты для начинающих

AstralLeinКто лепит дизлайки можно увидеть в Панели управления
О, спасибо) Буду знать 😊 
Азгалор вне форума
Ответить с цитированием
#318
Старый 01.11.2022, 08:37
  #318
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

Всем привет. Недавно узнал, что возможно с помощью скриптов контролировать армию врага в зависимости от уровня сложности. Как именно это можно сделать? 
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#319
Старый 01.11.2022, 11:23
  #319
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 183
Регистрация: 24.04.2016
Сообщения: 183
По умолчанию
Re: Скрипты для начинающих

BlueHeavenHeroВсем привет. Недавно узнал, что возможно с помощью скриптов контролировать армию врага в зависимости от уровня сложности. Как именно это можно сделать? 

Ну, например так: 

function HeroesBuff()
       local heroes = {"Duncan", "Biara"};
       local diff = GetDifficulty();
       for h,hero in heroes do   
               for creatureID = 1, CREATURES_COUNT - 1 do
                      if GetObjectCreatures( hero, creatureID) >= 1 then
                            HeroSetUp = GetObjectCreatures( hero, creatureID );
                            RemoveObjectCreatures( hero, creatureID, HeroSetUp );
                            AddObjectCreatures( hero, creatureID, HeroSetUp + ( HeroSetUp / 100 * 10) * diff );
                     end;
	      end;
       end;
end;
Азгалор вне форума
Ответить с цитированием
#320
Старый 03.11.2022, 19:26
  #320
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

Всём привет) Не хочу спойлерить, но оочень нужна помощь по скрипту. Хочу сделать так, чтобы во время финального боя босс кастовал особое заклинание - призыв ангелов. На арене должны будут появлятся ангелы с сопровождающим эффектов лучей от Божественной силы. Как это сделать? 

Добавлено через 3 часа 9 минут
И ещё - у меня давно были проблемы со скриптом StartCombat smile05. Может ли кто подробно разьяснить этот скрипт? (желательно с примерами)
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#321
Старый 03.11.2022, 22:22
  #321
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
По умолчанию
Re: Скрипты для начинающих

StartCombat("имяНашегоГероя", "ИмяВрагаИлиNil, числоОтрядов, айди1, кол-во1, ..., айдиN, кол-воN, скрипт, коллбэк, арена, автобой)

Если какой-то параметр смущает или не нужен — пишете nil. Например, бой без героя с отрядом латников + лучников описывается так:

StartCombat("Герой", nil, 2, CREATURE_SWORDSMAN, 10, CREATURE_ARCHER, 17)
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#322
Старый 04.11.2022, 08:04
  #322
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

}{0TT@6bI4StartCombat("имяНашегоГероя", "ИмяВрагаИлиNil, числоОтрядов, айди1, кол-во1, ..., айдиN, кол-воN, скрипт, коллбэк, арена, автобой)

Если какой-то параметр смущает или не нужен — пишете nil. Например, бой без героя с отрядом латников + лучников описывается так:

StartCombat("Герой", nil, 2, CREATURE_SWORDSMAN, 10, CREATURE_ARCHER, 17)
Сейчас разъясню, в чем дело. 
После захвата определённого города запускается ролик. После начинается заскриптованный бой на кастомной арене. После боя запускается ещё один ролик. Это я реализовал так:
function CaptureTown() 
RazeTown("Haven") 
sleep(2) 
StartDialogScene("DialogScenes/S9/DialogScene.xdb#xpointer(/DialogScene)") 
sleep(2)
StartCombat("HafadNecro", "Melhior", 4, 13, 22, 14, 22, 13, 22, 14, 22, МойСкрипт, nil, МояАрена, ВыклАвтобой) 



Добавлено через 3 минуты
Но вот как запустить бой на моей арене, с моим боевым скриптом и выключенным автобоем? 
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#323
Старый 04.11.2022, 10:08
  #323
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
По умолчанию
Re: Скрипты для начинающих

Вместо мояАрена прописать путь к xdb-файлу AdventureFlybyScene арены, а вместо Мойскрипт — путь к xdb файлу скрипта
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#324
Старый 04.11.2022, 13:47
  #324
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

}{0TT@6bI4Вместо мояАрена прописать путь к xdb-файлу AdventureFlybyScene арены, а вместо Мойскрипт — путь к xdb файлу скрипта
То есть так?:
function CaptureMainHaven()
RazeTown("Boss")
sleep(1)
StartDialogScenee("\DialogScenes\FallenKnight\Final\DialogScene.xdb#x              pointer(\DialogScene)")
sleep(3)
StartCombat(heroname, "MelhiorFinal", 5, 14, 22, 13, 22, 14, 22, 13, 22, 14, 22, "\Maps\SingleMissions\FallenKnight\FinalCombat.xdb#    xpointer(\Script)", nil, "\Scenes\CombatArenas\FinalCombat.xdb#xpointer(\Adv    entureFlybyScene)", nil)
end;

__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#325
Старый 04.11.2022, 15:33
  #325
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
По умолчанию
Re: Скрипты для начинающих

Похоже на правду, только в старткомбате heroname не определён, только если вы не объявили его до этого глобальным
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#326
Старый 04.11.2022, 21:45
  #326
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

}{0TT@6bI4Похоже на правду, только в старткомбате heroname не определён, только если вы не объявили его до этого глобальным
То есть пути я прописал верно? 
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#327
Старый 04.11.2022, 22:00
  #327
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1782
Выставка наград
По умолчанию
Re: Скрипты для начинающих

Мне откуда знать) Разве что слеши в (/Script) и (/AdventureFlyByscene) точно прямые, а не обратные
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#328
Старый 05.11.2022, 08:26
  #328
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

}{0TT@6bI4Мне откуда знать) Разве что слеши в (/Script) и (/AdventureFlyByscene) точно прямые, а не обратные
Так-с, скрипт я дописал полностью, ролики сделал, щас буду тестировать. Сомневаюсь, что всё будет работать, но если будут неполадки, обращусь в эту или другую тему про Скрипты. 
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#329
Старый 06.11.2022, 10:49
  #329
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 196
По умолчанию
Re: Скрипты для начинающих

Азгалор

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

NowNecromancer = 0 --Условие, которое выдадим когда героя сделаем некромантом


function prim_save_gg( heroName ) --название функции по этому квесту можешь сделать другим) Это так, чтобы было понятней
      if ( heroName == Duncan ) and NowNecromancer ~= 1 then --Duncan взят для примера. Вставишь сюда скриптовое имя своего героя
           SetObjectiveState("скриптовое имя квеста", OBJECTIVE_FAILED) --фейлим квест на сохранение главного героя
           sleep(10) --дадим время чтобы игрок увидел провал квеста и осознал что он потерял главного героя
           Loose() --фейлим миссию, ведь наш герой погиб до того как стал некромантом
      elseif ( heroName == Duncan ) and NowNecromancer == 1 then --теряем героя с полученным условие что мы теперь некромант и от этого не проигрываем
           print("Всё окей, условие есть. Помер и помер, с кем ни бывает? Теперь я некромант, пойду что ли черепами закуплюсь")
      end
      if ( heroName == DuncanNecro ) and NowNecromancer == 1 then --наш герой - некромант, условие что мы его сделали некромантом выполнено
            SetObjectiveState("скриптовое имя квеста", OBJECTIVE_FAILED) --фейлим квест на сохранение главного героя
            sleep(10) --дадим время чтобы игрок увидел провал квеста и осознал что он потерял главного героя
            Loose() --фейлим миссию, ведь наш герой погиб уже после того как стал некромантом
      end
end   

function TransformToNecromancer() --тут пропишем что именно произойдёт после чего ГГ станет некромантом. Откуда она будет вызываться - это уже тоже тебе решать)
--всякая всячина автора, ктож знает какие у него условия?
      NowNecromancer = 1 --выдадим условие чтобы игра не зафейлилась после удаления гг
      sleep(2) --на всякий случай, дадим игре переварить полученную информацию
      DeployReserveHero("DuncanNecro", x, y, GROUND/UNDERGROUND) --ставим нового гг чтобы игра не зафейлилась если вдруг у игрока ток один герой и нет замка с таверной
      sleep(2) --тоже на всякий случай, дадим игре всё обработать
      RemoveObject("Duncan") --безболезненно удаляем гг
end

Trigger(PLAYER_REMOVE_HERO_TRIGGER, PLAYER_1, "prim_save_gg") --триггер на отслеживание потерь героев игроком PLAYER_1

Пробуй)

Так-с, товарищ Азгалор, я протестировал скрипт и принёс безрадостные вести - скрипт не работает. Если в начале скрипта я пишу NowNecromanser = 0, остальной скрипт не работает
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.

BlueHeavenHero вне форума
Ответить с цитированием
#330
Старый 06.11.2022, 21:27
  #330
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 183
Регистрация: 24.04.2016
Сообщения: 183
По умолчанию
Re: Скрипты для начинающих

BlueHeavenHeroТак-с, товарищ Азгалор, я протестировал скрипт и принёс безрадостные вести - скрипт не работает. Если в начале скрипта я пишу NowNecromanser = 0, остальной скрипт не работает
Консоль на что жалуется?
Азгалор вне форума
Ответить с цитированием
Ответ
Страница 22 из 24


Опции темы



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


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

Яндекс цитирование    Top.Mail.Ru