Люди, нужна помощь: Как сделать так, чтобы у героя, допустим при входе в регион, кол-во всех его существ уменьшилось в 2 раза? Заранее спасибо.
ну самое банальное повесить на регион что-то такое:
for slot = 0, 6 do local creature, count = GetObjectArmySlotCreature(hero, slot) if not (creature == 0 or count == 0) then RemoveHeroCreatures(hero, creature, count/2) end end
Нет войне.
Sverhrazum
Всем привет! Помогите, как увеличить количество очков хода для героя?
Valkar
Известно, что через "RazeTown" можно уничтожить город. А наоборот можно? Допустим, изначально на карте руины, а при выполнении определенного условия руины заменяются действующим городом.
Лишь тот в советах – солнце, в битвах – лев, кто разумом смирять умеет гнев.
Мне надо чтобы зарезервированный герой появлялся в начале недели второго месяца, но при ещё должно вызываться задание, задание вызывается, а вот герой (как я уже сказал) не появляется
function Blue () SetObjectiveState("blue", OBJECTIVE_ACTIVE); local MONTH=GetDate (2) if day == 0 then DeployReserveHero ("Maeve", 66, 3, 0, 0) sleep (5) MoveCamera (66, 3, 0, 50, 0, 0, 1, 1) end ; end;
Gerter
Есть ли возможность через код включать/выключать подсветку объектов(которая при зажатии альта)? Скрипта точно нет, но может консольная команда есть?
Есть ли возможность через код включать/выключать подсветку объектов(которая при зажатии альта)? Скрипта точно нет, но может консольная команда есть?
Если бы такой чит был, мы бы уже о нём давно знали бы, да и, честно говоря, это необходимое зло в такой игре как Герои, в 3дшной её итерации.
А вот у меня, кстати, такой момент - пытаюсь реализовать квест с выполнением оного двумя путями: один через выплату золотом и ожидание н-ого кол-ва дней, а другой через нахождение нужного существа и его уничтожение. И вот с моментом ожидания какая-то беда, никак не хочет отрабатывать скрипт, как я только его там не крутил, причём никаких ошибок в консоли нет. Скрипт:
function Centaurquesttrader() if GetCurrentPlayer()==1 and centavr == 1 and trader == 1 then QuestionBox("Maps/SingleMissions/orcs2/centtext5.txt", "Traderyes", "Traderno"); end; end;
function Traderyes() if GetPlayerResource(PLAYER_1, GOLD) >= 10000 then dealtime = GetDate(ABSOLUTE_DAY); SetPlayerResource(PLAYER_1, GOLD, GetPlayerResource(PLAYER_1, GOLD) - 10000 ); sleep(1); trader = 2; RemoveObject("thief"); sleep(1); elseif GetPlayerResource(PLAYER_1, GOLD) < 10000 then MessageBox("Maps/SingleMissions/orcs2/ubivectext6.txt"); end; end;
Trigger(NEW_DAY_TRIGGER, 'TradeDay'); function TradeDay() if ((GetDate(ABSOLUTE_DAY) - dealtime) == 4) then MessageBox("Maps/SingleMissions/orcs2/centtext8.txt"); GiveArtifact("главныйгерой", 17); trader = 3; end; end;
function Traderno() MessageBox("Maps/SingleMissions/orcs2/centtext7.txt"); end;
function Thiefdead() while 1 do sleep(10); if IsObjectExists ("thief") == nil and trader == 0 then MessageBox("Maps/SingleMissions/orcs2/centtext9.txt"); trader = 3; break; elseif IsObjectExists ("thief") == nil and trader == 1 then MessageBox("Maps/SingleMissions/orcs2/centtext9.txt"); trader = 3; break; elseif IsObjectExists ("thief") == nil and trader == 2 then MessageBox("Maps/SingleMissions/orcs2/centtext6.txt"); break; end; end; end;
startThread( Thiefdead );
Jack_of_shadows
Grigoriy, не очень хорошая затея выкладывать сто строк кода и просить искать в них ошибку. Для начала просто поставьте принты в каждой функции и внутри каждого if'а.
РПГ-сценарий для HoMM5: Путь героя ЧаВо по созданию карт для HoMM5: ЧаВо
Grigoriy, не очень хорошая затея выкладывать сто строк кода и просить искать в них ошибку. Для начала просто поставьте принты в каждой функции и внутри каждого if'а.
Я учту это на будущее, спасибо. Тем временем скрипт заработал как надо, стоило мне поставить триггер нового дня после функции, а не перед. Даже интересно
thenekoor
Приветик, помните в последней миссии за Арантира были города где можно сделать только один грейд существ. У меня три вопроса. 1. Как это сделать? 2. Можно ли это сделать другим расам? 3. Можно ли сделать только 1ый, а не 2ой грейд.
Приветик, помните в последней миссии за Арантира были города где можно сделать только один грейд существ. У меня три вопроса. 1. Как это сделать? 2. Можно ли это сделать другим расам? 3. Можно ли сделать только 1ый, а не 2ой грейд.
В редакторе выделите город, слева в дереве свойств найдите CreaturesUpgradesFilter, разверните. Чтобы запретить 1ый грейд добавляйте в ForbiddenBasicUpgradeTiers (ПКМ - Add) строки, в них записывайте уровень нужного существа. Соответственно, чтобы запретить всю ветку, нужно добавить 7 элементов и в них указать уровни от 1 до 7. ForbiddenAlterUpgradeTiers - все то же самое, только для запрета 2го грейда. Их, кстати, можно комбинировать.
Добавлено через 23 часа 32 минуты Может кто сталкивался с таким или есть идеи? Вылетает игра при использовании MoveHeroRealTime или даже при CalcHeroMoveCost на соседнюю, пустую клетку. Вылетает не с начала карты, но во второй половине, ближе к концу.
могу предположить, что игра плохо справляется с большим количеством функций типа талкбокса. И по моим наблюдениям, функции, связанные с просчитыванием хода тоже игру неслабо грузят - если, скажем, запустить CalcHeroMoveCost в бесконечном потоке, игра начнет ощутимо лагать. И если в начале игра еще справляется, то как раз ближе к концу карты, ей возможно перестает хватать ресурсов, отсюда и вылеты. Но это только предположения, точно не могу сказать
Нет войне.
Jack_of_shadows
Так а какие условия использования? Может там добавление значений в таблицу и память утекает? Талкбокса я бы бояться не стал. Работает как часы.
РПГ-сценарий для HoMM5: Путь героя ЧаВо по созданию карт для HoMM5: ЧаВо
Так а какие условия использования? Может там добавление значений в таблицу и память утекает?
Если конкретно CalcHeroMoveCost - то можно просто в консоль ее написать, вылетит. На счет прошедшего куска карты сложно сказать, там очень много всего. Пытался повторить баг дважды, пройдя до момента вылета с теми же условиями, и все сработало нормально. Gerter
И по моим наблюдениям, функции, связанные с просчитыванием хода тоже игру неслабо грузят - если, скажем, запустить CalcHeroMoveCost в бесконечном потоке, игра начнет ощутимо лагать. И если в начале игра еще справляется, то как раз ближе к концу карты, ей возможно перестает хватать ресурсов, отсюда и вылеты.
Звучит здраво, попробую в начале и в середине карты позапускать побольше MoveHeroRealTime, может что выйдет.
Добавлено через 1 час 49 минут Нет, сколько не пытался, вручную вылет вызвать не получилось.
Есть ли возможность через код включать/выключать подсветку объектов(которая при зажатии альта)? Скрипта точно нет, но может консольная команда есть?
Если еще актуально: команда ui_adventure_hilight_radius 0 отключает подсветку, чтобы ее включить обратно вместо 0 ставим значение больше. Лучше, если то, что было изначально задано.
Если еще актуально: команда ui_adventure_hilight_radius 0 отключает подсветку, чтобы ее включить обратно вместо 0 ставим значение больше. Лучше, если то, что было изначально задано.
эту команду я пробовал, но это не то, к сожалению. меня интересовала возможность именно включить эффект подсветки в игре, ну т.е. имитировать нажатие альта, но это похоже невозможно