Перейти к содержанию

Сообщения от Скрипты

В ответ пользователю Годрикова впадина
Аватар пользователя
Годрикова впадина
Просто мне надо задание что бы при прикосновению к одному замку выполнялось это задание и появилось другое. Это в идеале, но если это реализовать тяжело то тогда просто героя возле замка поставить и с ним задание на прикосновение сделать

Добавлено через 2 минуты
И остаться в живых это задание OBDJECTIVE_KIND_HERO_MUST_SURVIVE
Не используй стандартные обжективы, они тупы и не работают как надо. Я все квесты делаю через OBJECTIVE_KIND_MANUAL а это значит, что квест полностью скриптовый. Завтра напишу полный скрипт как надо
...И справедливость я несу
На острие меча.


Кампания "Искупление" - 15%



О кампании

"Искупление" - это мой амбициозный проект. Давняя мечта. С детства играя в героев, я восхищался персонажами и ландшафтами, сюжетом и стилем оригинальной трилогии, я мечтал привнести что-то свое в эту игру,  и наконец, более-менее освоив нелегкий труд картостроителя, взялся за воплощение мечты. Кампания расскажет о будущем выживших рыцарей Кровавой Стали, о пути, который они избрали, и о том, куда этот путь их приведет. К слову, мне нужен тестер-оценщик. Если хочешь принять участие в создании и есть определенный опыт, то - добро пожаловать!



В ответ пользователю Годрикова впадина
Аватар пользователя
Годрикова впадина
Благодарю надеюсь разберусь
Начну с тебя - скрипт попроще.
Сначала возьмем массив имен
Town1 - город при касании которого должен запускаться скрипт
Objective_1 - задание которое должно выполняться

Пишем триггер для города - единственный способ
TRIGGER(OBJECT_TOUCH_TRIGGER, 'Town1, 'TownF') - здесь мы указали имя объекта и дали имя функции (где townF ты можешь писать что угодно)

Теперь пишем саму функцию

function TownF()
TRIGGER(OBJECT_TOUCH_TRIGGER, 'Town1' , nil)
sleep(5)
SetObjectiveState('Objective_1', OBJECTIVE_COMPLETED)
sleep(10)
SetObjectiveState('Objective_2', OBJECTIVE_ACTIVE)
end;

Добавлено через 11 часов 2 минуты
User01322342
Всем привет, есть пара вопросов:
1) Как изменить специализацию героя
2) Как убрать панельку хода игроков
3) Есть задание на победу демонов. Это задание выполняется через скрипт. Суть задания заключается в победе над двумя отрядами демонов, т.е один демон будет расположен в одном месте и другой демон в другом месте. После того как демоны будут побеждены, задача будет обновлена: нужно будет вернуться за наградой. Как можно сделать подобный квест?
Вернуться куда? В хижину провидца или к существу на карте? Тогда два разных скрипта.
А сам скрипт с демонами будет как то так :
Сначала вводим константу
deamons = 0;

Теперь вешаем триггеры на демонов (если у тебя герои то используй их скриптовые имена, если существа - то те, которые ты дал им)
TRIGGER(OBJECT_TOUCH_TRIGGER, 'Grol', 'CheckF')
TRIGGER(OBJECT_TOUCH_TRIGGER, 'Nimus', 'CheckF')

Пишем функцию которая проверит стоят ли на карте демоны и если нет то даст одну единицу нашей константе
function CheckF()
sleep(5)
If IsObjectExists('Grol', false)
then
deamons = deamons + 1;
sleep(5)
If IsObjectExists('Nimus', false)
then
deamons = deamons + 1;
sleep(5)
If deamons = 2
then
Set_Objective_State('Objective_1' , OBJECTIVE_COMPLETED)
sleep(5)
end;

НО! Скрипт не из легких, и пока в игре не проверю за его работоспособность я не ручаюсь!
...И справедливость я несу
На острие меча.


Кампания "Искупление" - 15%



О кампании

"Искупление" - это мой амбициозный проект. Давняя мечта. С детства играя в героев, я восхищался персонажами и ландшафтами, сюжетом и стилем оригинальной трилогии, я мечтал привнести что-то свое в эту игру,  и наконец, более-менее освоив нелегкий труд картостроителя, взялся за воплощение мечты. Кампания расскажет о будущем выживших рыцарей Кровавой Стали, о пути, который они избрали, и о том, куда этот путь их приведет. К слову, мне нужен тестер-оценщик. Если хочешь принять участие в создании и есть определенный опыт, то - добро пожаловать!



В ответ пользователю Jack_of_shadows
Аватар пользователя
Самое удобное событие наверное - триггер результатов битвы:
Trigger(COMBAT_RESULTS_TRIGGER, 'CombatResult');

function CombatResult(id)
если квест активен и оба демона не существуют обновить квест
end
Плюс ещё не забыть нестандартные варианты, к примеру при выдаче квеста проверять не убил ли их игрок заранее.[/QUOTE]

Спасибо:) А если не затруднит, что именно должно быть в id где function CombatResult. Поискал в мануале, как работает Trigger(COMBAT_RESULTS_TRIGGER) не нашёл ничего про эту функцию ( возможно плохо искал) . Может есть другие мануалы? Половину функций, которых я нашёл на этом сайте нет в документах в папке с игрой.

Добавлено через 1 минуту
Спасибо;)
Аватар пользователя
Поискал в мануале, как работает Trigger(COMBAT_RESULTS_TRIGGER) не нашёл ничего про эту функцию
Это вы не тот мануал открывали. Вот такие должны быть:
HOMM5_A2_Script_Functions.pdf
HOMM5_A2_IDs_for_Scripts.pdf
А2 указывает что второй аддон, то есть "Повелители орды". В нём была куча функций добавлена.
что именно должно быть в id где function CombatResult
Это идентификатор битвы, по нему можно запрашивать у игры различную статистику битвы - кто участвовал, кто погиб.
В ответ пользователю Ment
С этим спасибо, но вопрос остаётся тот же-в чем разница между обычным и расширенным.

Добавлено через 1 минуту
Просто сегодня читал ветку по роликам и там говорится о расширенном редакторе он заинтересовал
Аватар пользователя
В расширенном слева внизу появляется удобная панель, в которой отображаются ресурсы. Плюс, меняется меню вверху экрана -- появляются кое-какие приятные опции, вроде подключения ресурсов-карт и так далее.
 

К А
Стикеры GBF в Telegram
Аватар пользователя
Делал карту, возник вопрос такого хар-тера:
Мосты строить нельзя?

делал в два способа:
1. через CreateStatic
2. расставлял с уже вбитой ориентацией на месте где он должен быть, потом убирал в резерв (угол карты) и функцией SetObjectPosition расставлял когда мне нужно

способы не дают возможность использовать мост, это просто объект сквозь который проходит герой[/QUOTE]
кто-то знает как реализовать создание моста?
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
В ответ пользователю KioM
Что в скрипте не так? SetObjectOwner('CHELA1',PLAYER_5);. CHELA1 это имя которое я прописал, суть скрипта что бы герой стал нейтральным и просто стоял на одном месте.
Аватар пользователя
К героям так не обращаются. Скриптовое имя героя задано игрой, в соответствующем поле можете посмотреть.
Хотя даже так не уверен, что заработает. Но что-то такое в игре было со сменой владельца героев, в оригинальных кампаниях...
 

К А
Стикеры GBF в Telegram
В ответ пользователю Ment
Я уже два варианта пробовал и сам имя делал и игровое выставлял раздницы нет

Добавлено через 1 минуту
Это было и в оригинальных кампания и в кампании империя единорога в 4ой миссии

Добавлено через 5 минут
Тут же триггер не нужен?

Статистика

Приветствуем новейшего участника: Вязов Анатолий Аркадьевич