Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты для начинающих
Показать сообщение отдельно
#392
Старый 22.03.2024, 16:42
  #392
^
FataLisT
 
Аватар для FataLisT
📖
Регистрация: 22.03.2024
Сообщения: 25
Регистрация: 22.03.2024
Сообщения: 25
По умолчанию
Re: Скрипты для начинающих

Всем доброго времени суток!

Пути поиска ответов привели и на форум, был в группе ВК, нашёл руководство по командам битвы. Условно понятно что с хуками делать. Пока затык чтоб понять, запустился ли вообще этот скрипт. Подозреваю, что до него не доходит, ибо указанный просто в файлике print не выводится в консоли.

Кратко опишу цель: Карта планируется для более быстрых противостояний. Но начала обрастать деталями, например выбирает первый игрок через диалоговые окна стадию игры, но их переделаю, в инструкциях нашёл что можно ввести с большим количеством ответов) И потом обшаривает карту, что дропнулось одевается. подкачивается. И в финале сходятся в битве на специальной арене. Вписывается небольшой сюжет. Хочу на карту вкрутить пару пасхалок и ловушек. Вот есть место, где позарившись на совкровища как бы не охраняемые , игрок должен пойти туда. по тригеру входа в область запускается скрипт, где на него нападает Властелин, либо сами драконы, пока не нашёл как сделать чтобы на одно карте было 2 игрока человека, и нейтрально создавался герой нападающий на одного или второго. Читал про резерв, с ним тоже некоторый затык использования. Но конкретно на это пока только вечер ушёл, а вот с боевым скриптом вопросики. Есть простая команда "StartCombat" , она отрабатывает начало битвы. Можно обойтись и ей, если просто вкрутить нападение драконов. Но задумка дальше. Я хочу чтобы либо напавший герой, либо герой попадает под управление ИИ (наш который попал в ловушку герой) и кастует 2-3 раза армагедон, против чёрных драконов. И потом противник сдаётся. Или там команда после завершения есть кому засчитывается победа. Тоже пытался углубиться в тему, ответы не нашёл, ну или плохо искал. В общем пока могу реализовывать только так с текстовым всплывающим, что вот ты расхититель поплатишься и всё. С горем пополам разобрался как добавляется файл скрипта в игре, поломав параллельно чисто случайно привязку мапскрипта к карте, починил через открытые блокнотом нужного файлика и возвращением упоминания нужного скрипта мапы. По крайней мере команда перестала ругаться, что не видит скрипт по указанному пути. Но не запускается ни в какую. Что я делаю не так, не могу понять. Упёрся в творческий тупик. 

Прошу на пальцах объяснить, как правильно работает. Прикладываю свою заготовку карты. Там местами закомментирована логика, т.к. проверял со старта сразу битву (начинается от взаимодействия со скелетом у стартового замка). Т.е. нужен совет, как правильно прописать взаимодействие чтоб через StartCombat запускался скрипт битвы, в котором хочу прописать каст по площади заклинания и потом отступление атакующих. Может я не в том месте, не в том файле что-то не так пишу, или файл скрипта недоделан как-то. на вид он идентичен файлу MapCsript. В общем ощущение белого пространства знаний на лицо. Пробовал выдать Властелина сразу игроку3 под управлением компа, но скрипт его не видел как противника никаким образом тоже. даже в обычную битву что бы засунуть без дополнительных скриптов на именно касты заклинаний. Когда создавал доп.файл скрипта, print из DragonCombat.lua запускался. т.е. по идее карта до него достучаться может. Но вот механика дополнительного его подключения пока мной не освоена ( Ищу ответ, что не хватает.

Отдельное спасибо ранее всем за выложенные в сеть инструкции, карту ждут масштабные переделки. Существ местами втыкал во имя проверки баланса... ещё все правиться и правиться будет неоднократно. Веду запись версионности, строк там тьма) Сейчас в файле DragonCombat.lua только набросок как хотел. эксперементировал и отлаживал на ходу. За сутки не разобрался, пошёл спрашивать совет) до этого карту ваял пару недель вечерами, только смотрел как у вас тут что было) На карте по чьему-то тут сообщению реализован параллельный бесконечный ход. по задумке всё происходить должно за один день. Да и не раз ещё приду сюда ощущаю... Задумок на основе новых полученных данных по возможностям стало больше и из простенькой дуэльной она может стать вполне себе с некоторыми интересными отсылками, Привет могиле в подземелье и далее сделаю мост (прочитал как) ну и битву с существом)) и ещё что-то попадётся, около пирамид например тоже прикручу. 

Заранее благодарю!

p.s. ещё вспомнил вопрос, промучался пару дней и поисков на форуме, не нашёл способ нормальный как добавить для выбора сразу в создани карты на ряду с Маркелом, Джованни и Орнеллой Арантира. В настройках карты включил всех героев из сюжета. Арантир доступен добавлением на карту, но именно при создании как сразу основной игровой что-то никак. Из мыслей вот его в запас закинуть (в чём пока не разобрался как правильно, чтоб работало) и вызывать в диалоге по типу подошёл к тюрьме или там ещё каким-то взаимодействием. Тут придумаю, чем обыграть. 

23.03.2024 01:20 upd: Попробовал сделать, как нашёл вот в этом сообщении https://forum.heroesworld.ru/showthread.php?p=1225989#post1225989
Один в один по шагам, отличие только в названии файла ( Это ж не обязательно, все файлы скриптов боевых в карте не могут быть одноимённые? О_о ). Вместо CombatScript  у меня DragonCombat. Из отличий заметил, что в настройках карты указывался полный путь до скрипт файла, а не как у меня ранее просто название, без пути. Воодушевлённый пошёл тестить и снова принт не отображал запуск скрипта никаким образом( Из успехов, нашёл как добавить 3 игроку доступных героев для выбора и то там не было Властелина. Но хотяб героя получилось вытаскивать из резерва, перемещать рядом и активировать битву с ним. Заметил, что армия героя не появляется, только те существа, что я прописал при вызове StartCombat. но ни через установку скрипта герою и игрока и компа, ни через указание скрипта в запуске битвы не отображается несчастный принт, что игра зашла в этот скрипт

  DeployReserveHero("Inagost", 115, 290, 0);
  ChangeHeroStat("Inagost", 0, 90000);
  --SetHeroCombatScript('Inagost', pathScript.."DragonCombat.xdb#xpointer(/Script)");
  --SetHeroCombatScript(p1heroname[0], pathScript.."DragonCombat.xdb#xpointer(/Script)");
  StartCombat(p1heroname[0], "Inagost", 1, 84, 10, pathScript.."DragonCombat.xdb#xpointer(/Script)", nil, nil, nil);

пробовал вот таким образом вызывать скрипт, комментил 3- строки попеременно и совсем без них, и в StartCombat ставил nil и оставлял путь до скрипта. Не хочет работать. Актуальную карту перезагрузил в приложение. Так же теряюсь в догадках, где недочёт. Чтоб двигаться дальше в доработке идей свох

Вложения
Тип файла: h5m Grand_Duel.h5m (444.4 Кбайт, 1 просмотров)
__________________
Ещё только учусь =)
Ещё только учусь =)
FataLisT вне форума
Ответить с цитированием