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

Сообщения от Текущие вопросы и ответы по редактору карт

Аватар пользователя
Годрикова впадина, обелиск отключается так же как любой другой объект. Ваш код пока что это бессмысленное нагромождение функций. Попробуйте чётко осознать 2 момента: код который должен выполняться при старте карты должен быть записан ВНЕ функций, код который должен выполняться при наступлении какого-то события должен быть записан ВНУТРИ функции, вызываемой по этому событию. Сформулируйте свой алгоритм в виде простых действий, наподобие:
1) Обелиск никогда не должен работать стандартным образом, значит его надо отключить при старте карты
2) При касании обелиска должна стартовать битва, значит за ним нужно закрепить триггер касания при старте карты.
и т.д.
Затем просто найдите подходящие функции для каждого шага.
РПГ-сценарий для HoMM5: Путь героя
ЧаВо по созданию карт для HoMM5: ЧаВо
В ответ пользователю Ment
Аватар пользователя
Ment
Тупой ответ: включить свет.
Большое спасибо, помогло
У меча предназначения два острия, одно из них ты.

Заинтересованный занимается написанием прохождений
Прохождения]
НЕКРОМАНТ

2,3,4,5
Заинтересованный планирует создать серию мультиплеерных карт "Фантазия безумного картострителей".
Миссия 1 - Фктиф-Зобар готова на 11,5%
Доброго дня. Прошу помогите мне с проблемой.
Хочу сделать сделать так чтобы в определенный момент у компа появилась Слеза Асхи(здание или арт - без разницы).
Пробовал добавлять через скрипт:
GiveArtefact("Eruina", 53);
Грааль в инверторе у AI не появляется, более того он не появляется даже если напрямую поставить галочку слезы у героя при создании карты. С героем игрока в тоже время - всё работает.
Обычный вариант с нахождением через обелиски в данном случае мне не подходит.
Автопереведено
ОБЛАСТЬ_ВХОД_И_ОСТАНОВКА
В ответ пользователю am-wrag
А почему именно этот триггер? Или так и задумано что при вхождении в какой то регион давалась слеза?

Добавлено через 1 минуту
Скиньте полностью функцию, а то может там где нибудь косяк.
Да, по задумке при попадании в определенную локацию компьютер должен получать слезу или её здание. Есть какие то другие варианты вручить AI оное?

Добавлено через 3 минуты
Годрикова впадина
А почему именно этот триггер? Или так и задумано что при вхождении в какой то регион давалась слеза?

Добавлено через 1 минуту
Скиньте полностью функцию, а то может там где нибудь косяк.

Скрипт не работает только со слезой, и только с AI. C другими артам, а так же в случае если герой будет под управлением игрока - всё норм.
function AshaTest()
GiveArtefact("Pelt", 53);
GiveArtefact("Pelt", 47);
MessageBox(GetMapDataPath().."AshaText.txt");
end;

function AshaTest2()
GiveArtefact("Eruina", 53);
GiveArtefact("Eruina", 48);
end;

Trigger(REGION_ENTER_AND_STOP_TRIGGER, "GiveArtTestReg", "AshaTest");
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "test1", "AshaTest2");
В ответ пользователю am-wrag
Ещё как вариант можно высчитать клетку главного вражеского героя и перед ним поставить эту слезу.

Добавлено через 1 минуту
Может я что то не понимаю, но зачем вам 2 триггера? Может из за этого и происходит ошибка.

Добавлено через 47 секунд
Всё понял.

Добавлено через 2 минуты
У меня есть только 2 варианта: заставить вражеского героя идти в определённую точку и копать слезу, просто дать поставить слезу перед героем. С последним неуверен так как слеза это невидимый артефакт. Может не работать.
Разве можно в 5х героях разместить слезу как простой, видимый артефакт?. Мне казалось, что как объект на карте её можно лишь закопать, притом выкопать можно только первую из размещенных если их несколько.
В ответ пользователю am-wrag
Ну вот я про это и говорю что врядли сработает, думаю ваш вариан это заставить героя врага пойти и откопать слезу.

Добавлено через 1 минуту
Или можно дать слезу каком нибудь герою, он будет стоять с слезой с самого начала, а потом заставить идти в замок.

Добавлено через 19 часов 7 минут
Нужна помощь в достаточно непростом скрипте:
function halk()
QuestionBox("Maps\SingleMissions\Revenge of the\tsrhsad.txt", "Transform")
end
function Transform()
local gold, wood, ore, mercury, crystal, sulfur, gem = GetPlayerResource(1, GOLD, WOOD, ORE, MERCURY, CRYSTAL, SULFUR, GEM)
if gold >= 15000 then
if wood >= 5 then
if ore >= 5 then
if mercury >= 5 then
if crystal >= 5 then
if sulfur >= 25 then
if gem >= 5 then
SetPlayerResource(1, GOLD, gold - 15000, WOOD, wood - 5, ORE, ore - 5, MERCURY, mercury - 5, CRYSTAL, crystal - 5, SULFUR, sulfur - 25, GEM, gem - 5)

RazeTown("tone1")
else
MessageBox("Maps\SingleMissions\Revenge of the\xfh.txt")
end
end
end
end
end
end
end
end
Trigger(OBJECT_TOUCH_TRIGGER, "tone1", "halk")
Это основной кусок скрипта, вопрос в том где мне настроить IsRemovable? Это надо нажать на город и в левой части экрана или где? Как я понимаю это отвечает за то что бы убрать город, тогда возникает следующий вопрос: как мне на тоже самое место поставить разрушенный город людей? Думаю есть знающие люди. Заранее спасибо!
Аватар пользователя
как это работает GetObjectPosition(objectname)
в конструкции if если он выдает мне ошибку из-за 3-х значений
Аватар пользователя
DarkLordax,
local x, y, f = GetObjectPosition(objectname);
if ((x == ТРЕБУЕМЫЙ_X) and (y == ТРЕБУЕМЫЙ_Y) and (f == ТРЕБУЕМЫЙ_ЭТАЖ)) then
ВАШ КОД
end
РПГ-сценарий для HoMM5: Путь героя
ЧаВо по созданию карт для HoMM5: ЧаВо

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 8 пользователей 1208 гостей