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

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

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

Добавлено через 1 минуту
Скиньте полностью функцию, а то может там где нибудь косяк.
8 лет назад
Да, по задумке при попадании в определенную локацию компьютер должен получать слезу или её здание. Есть какие то другие варианты вручить 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
8 лет назад
Ещё как вариант можно высчитать клетку главного вражеского героя и перед ним поставить эту слезу.

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

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

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

Добавлено через 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? Это надо нажать на город и в левой части экрана или где? Как я понимаю это отвечает за то что бы убрать город, тогда возникает следующий вопрос: как мне на тоже самое место поставить разрушенный город людей? Думаю есть знающие люди. Заранее спасибо!
Аватар пользователя
8 лет назад
как это работает GetObjectPosition(objectname)
в конструкции if если он выдает мне ошибку из-за 3-х значений
Аватар пользователя
8 лет назад
DarkLordax,
local x, y, f = GetObjectPosition(objectname);
if ((x == ТРЕБУЕМЫЙ_X) and (y == ТРЕБУЕМЫЙ_Y) and (f == ТРЕБУЕМЫЙ_ЭТАЖ)) then
ВАШ КОД
end

Статистика

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

Сейчас на сайте 1 пользователей 1294 гостей