Всем привет. Решил детство вспомнить, поиграть с редактором героев 5. Ката в закрепе сообщения. Попробовал сделать обновление статуса задания, но почему-то не срабатывает. п.с да, все названия в скрипте принадлежать реальным игровым объектам и файлам карты.
function f() MessageBox ("/Maps/SingleMissions/FunnyFantasy/Rumour.txt"); SetObjectiveState("Q", OBJECTIVE_COMPLETED) end
function f1() MessageBox ("/Maps/SingleMissions/FunnyFantasy/Rumour.txt"); end
Чтобы применить патч к EXE-файлу, скачайте инструмент Deflaktor отсюда: здесь. На этой странице также есть руководство по использованию.
Патч работает как с оригинальным EXE-файлом ToTe, так и с EXE-файлом Quantomas.
Gerter
Автопереведено
О, это просто замечательно! Столько новых идей, которые можно воплотить в жизнь.
Нет войне.
dredknight
Автопереведено
Спасибо, @Gerter,
На самом деле, я тоже начинаю интересоваться написанием скриптов. Я вижу, что сообщество добилось больших успехов! Я хотел узнать, есть ли у вас список функций скриптов для боевых действий?
Некоторые из них есть в файле "Editor Documentation\HOMM5_A2_Script_Functions.pdf", но, судя по тому, что я нашел здесь, существует гораздо больше функций, которые не задокументированы. Буду благодарен за любые советы, уроки и ссылки!
Gerter
I patched my EXE and tested it in hot-seat - it works! So it like a fresh breath for mods like NHF or NAF - we can add so many new features now! Big thanks to you!
@dredknight - there is a good tutorial from Novik - https://yadi.sk/i/9xfu8mh0Acq0kg. It's in russian, but that's best tutorial for combat functions, and it has all functions that avaliable in combat mode
Добавлено через 14 минут but maybe now it time to make a more complex tutorial about combat functions... i use lots of combat scripts in my maps so maybe i can do it, if it'll be useful.
Нет войне.
dredknight
Автопереведено
Спасибо, я посмотрю обучающее видео сегодня вечером.
Я быстро учусь на примерах, так что если у вас есть какие-либо работы, которые я мог бы изучить, это тоже будет полезно!
Всего хорошего!
Gerter
Автопереведено
Я многому научился благодаря сценариям RedHeavenHero, поэтому теперь использую многие его идеи в своих собственных картах. Посмотрите на его работы: /topic/11060/, /topic/13208/ и, возможно, мою карту тоже – /topic/14423/. Также я могу помочь вам в личном сообщении, если захотите
Нет войне.
dredknight
Автопереведено
Спасибо, я обязательно свяжусь с вами позже :).
OrnsteinDragonslayer
Вопрос на миллион душ! Не работают скрипты. Подскажите, где ошибка. Консоль не матерится. Первое: если город эльфов захватил игрок 2, то ты должен проиграть, но игра продолжается.
function CheckAnpossal() if GetObjectOwner ('houseElf') == 2 then sleep(10) SetObjectiveState('q4', OBJECTIVE_FAILED, 1); sleep(10) Loose() end end
startThread (CheckAnpossal)
Второе: в течении игры отслеживается, не умер ли юнит в армии героя. Если у героя его нет - проигрыш. Работает. Но после определённого момента сюжета этот юнит должен быть убран из армии и игра должна продолжиться. Не продолжается - проигрываешь. Консоль опять же вроде не материлась.
отслеживание юнита в армии героя (работает):
function lostDragon() ---- Проверка потери дракона while 1 do sleep ( 10 ); if GetHeroCreatures("Ohtarig", 83) == 0 and dragon == 1 then if SetRegionBlocked('CheckAstrid', false) then SetObjectiveState("q5", OBJECTIVE_FAILED, 1); sleep ( 10 ); Loose(); break end; end; end; end startThread (lostDragon)
Первое: если город эльфов захватил игрок 2, то ты должен проиграть, но игра продолжается.
While забыли, у вас однократная проверка там.
Не продолжается - проигрываешь
А настройки квеста q5 правильные? Может, он сам инициирует проигрыш. Ну и хорошо бы сделать так, чтобы в функции lostDragon выходить из цикла, когда dragon==0, чтобы не было постоянных бессмысленных проверок.
А настройки квеста q5 правильные? Может, он сам инициирует проигрыш. Ну и хорошо бы сделать так, чтобы в функции lostDragon выходить из цикла, когда dragon==0, чтобы не было постоянных бессмысленных проверок.
Во истину, теперь когда город ЛЭ захвачен - и кв проваливается и игра проиграна. Но другую проблему я так и не решил. Задание q5 в редакторе корректное, кайнд_мануал в условиях, не думаю, что корень проблемы там. А как мне остановить цикл этот? Так де немного подредактировал эту фунцкию в надежде на исправление, однако провал. На всякий случай скину еще раз, чтобы не искать.
SetRegionBlocked ('CheckAstrid', true)
function lostDragon() ---- Проверка потери дракона while 1 do sleep ( 10 ); if GetHeroCreatures("Ohtarig", 83) == 0 and dragon == 1 and SetRegionBlocked('CheckAstrid', false) then SetObjectiveState("q5", OBJECTIVE_FAILED, 1); sleep ( 10 ); Loose(); break end; end; end; startThread (lostDragon)
И, собственно момент, когда дракон должен пропасть из армии, квест по его сохранению провалится, но игра должна продолжиться.
настройку задания 'q5' CanUncomplete чекни. Кажется, нужно true, чтобы не было луза при провале.
and SetRegionBlocked('CheckAstrid', false)
не оч понимаю суть этой проверки. здесь всегда будет 1, если регион существует
Действительно, было false, поставил на true. Но бтв это проблему не решило. Вот чо консоль говорит в этот момент (EWA стоит если шо). А про проверку региона - я уж отчаился и какой-то кривой костыль поставил, чтобы вместе с коэфф. менялся, но как-то бесполезно.
Что должен сделать скрипт? 1. При входе на определенную локацию спавнит ласло 2. При входе на определенную локацию показывает месседж бокс в котором написанно о том что вы нашли подкрепление, и камера плавно летит на указанные координаты