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

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

В ответ пользователю Победитель
15 лет назад
Победитель
Я проверил редактор, у меня список в выборе карт для кампании не пуст, но там далеко не все карты, которые там есть. Возможно, редактору кампаний нужно какое-то условие для того, чтобы карта добавлялась в кампанию.

Как можно играть в мультиплеерные карты, как в сингплеерные? Впрочем, для этого у меня есть один вариант. Находите в папке Maps свою мультиплеерную карту, открываете её архиватором, открываете папку 'Maps', а 'Multiplayer' переименовываете в 'SingleMissions'. Но как оно будет работать...

Так в том и дело что я скачал отдельно синглы и сценариив том числе именно для моей версии героев, орда 3.1.
Скачал все оригинальные + десятка три сделанных и давно обигранных.
И редактор при создании компании не видит ни одной, хотя все лежит в папке мапс.
В ответ пользователю aleksnice
Аватар пользователя
15 лет назад
Я уже примерно понял на примере с присоединением героя и хотел бы углубиться чуть-чуть подальше и чтоб герой не только присоединялся но чтоб ещё , что то сказал например: "За то что ты меня освободил я приложу все усилия и буду союзником тебе в войне с демонами которые устроили засаду и схватили меня".
"За то что ты меня освободил я приложу все усилия и буду союзником тебе в войне с демонами которые устроили засаду и схватили меня".
Как это сделать скриптом????
Я просто хочу чтоб был текст и хочу его научится менять.
Спасибо заранее за ответ Победитель!!!!
15 лет назад
Вопрос: в функции StartCombat(heroname, nil, 5, 74, 6, 74, 4, 81, 4, 74, 4, 74, 6, nil); что обозначает 6, точнее, как правильно поставить число, чтоб работала функция. Например, ID серафима 111, и если заменить первое существо (фурии) на серафимов, функция не работает. Я думаю, что это из-за той шестерки.
Аватар пользователя
15 лет назад
Дункан, для вывода сообщений используется следующая функция:
MessageBox(--путь к текстовому сообщению--);
Текстовое сообщение должно быть в формате Юникод и лежать в карте, т.е., в архиве, в который она открывается. Проще всего это сделать, вытащив из карты существующий txt (например, описание карты), переименовав, написав нужный текст, и вставив обратно. При этом исходный файл не удаляйте!

Его Высокопреосвященство, дело не в последней шестёрке, а в первой пятёрке. Оно означает количество стеков в битве. Если менять остальные параметры, нужно менять и его. Встречный вопрос по StartCombat'у: как правильно оформить битву двух героев?

aleksnice, тогда ничего не могу посоветовать.
В ответ пользователю Победитель
Аватар пользователя
15 лет назад
Победитель можете показать скриншоты вашей работы а то я не понимаю что надо архиватором архивировать и что такое текст содержащий Юникод????
Просто охота сделать классную карту!
Спасибо за ответ Победитель!!!
Аватар пользователя
15 лет назад
Поэтапно.
1. Открываете карту, которая лежит в папке с игрой / Maps архиватором.
2. Перетаскиваем текстовый документ на Рабочий стол.
3. Переименовываем текстовый документ, например, в 'msg'.
4. Вводим в него свой текст.
5. Кладём файл обратно в архив карты.

Теперь, чтобы это сообщение вывело в игре, необходимо ввести код:
MessageBox("/Maps/SingleMissions/--название вашей карты--/--нзвание текстового документа--");
Если ввести этот код без функции, в начале игры будет выведено данное сообщение.
Вложения 5
5 файл(ов) • Общий размер: 881,6 KB
15 лет назад
Я опираюсь на руководство по скриптам от Нивала:
StartCombat("Pelt", "Nemor", 10, 37, вот здесь не знаю, какую цифру поставить - здесь замена шестерки, nil);
Pelt - Влад, ваш герой, некромант.
Nemor - Дейдра, герой противника, некромант
10 - количество существ типа 31 противника
31 - тип существа, кажется, зомби.
nil - значит, нет скриптов.
Если действительная армия Дейдры другая, например, 10 личей, эта армия не вступит в сражение. Если Дейдра победит, у нее останется 10 личей, хотя не советую этого делать, могут возникнуть проблемы. Ведь нужно, чтобы победил ваш герой - Влад. Если Дейдры нет на карте, она вступает в сражение на первом уровне с обычными параметрами (0, 1, 3, 1) с опытом, равном нулю (единице) и с магией Тьмы + Крик Баньши. Если вы хотите, чтобы параметры вражеского героя были другими, то это надо делать скриптами.
В ответ пользователю Его Высокопреосвященство
Аватар пользователя
15 лет назад
А от куда msg.txt я что то не понял????
Или я что то пропустил????

Добавлено через 3 минуты
Уже понял, не прочитал сразу.
Завтра буду разбираться , если что не пойму напишу.
В ответ пользователю Его Высокопреосвященство
Аватар пользователя
15 лет назад
Его Высокопреосвященство
Я опираюсь на руководство по скриптам от Нивала:
StartCombat("Pelt", "Nemor", 10, 37, вот здесь не знаю, какую цифру поставить - здесь замена шестерки, nil);
Не работает. Пишет "hero is not reserved". Имя героя правильное. Вместо шестёрки поставил 1, отряд же один будет, но до этого и дело не доходит :(. Что-то здесь не так. Можно начинать битву с героем, который стоит на карте?
В ответ пользователю Победитель
Аватар пользователя
15 лет назад
Победитель куда вводить это????
Теперь, чтобы это сообщение вывело в игре, необходимо ввести код:
MessageBox("/Maps/SingleMissions/--название вашей карты--/--нзвание текстового документа--");
Если ввести этот код без функции, в начале игры будет выведено данное сообщение.
А то я что то запутался.
И ещё архив надо опять архивировать или просто с него выйти????
Аватар пользователя
15 лет назад
Текстовый документ с новым названием и содержанием необходимо перетащить обратно в архив карты (как на скриншоте).

MessageBox("/Maps/SingleMissions/ExampleMap/msg.txt");
А это нужно писать в Map Properties -> Script ;).
Вложения 1
1 файл • Общий размер: 197,0 KB
В ответ пользователю Победитель
Аватар пользователя
15 лет назад
я долго мучился но у меня не до конца получилось я сделал все правильно вроде и скрипт MessageBox("/Maps/SingleMissions/ExampleMap/msg.txt"); вставил но у меня он выдается как только началась игра а не когда я подошел!!!!Без скрипта вообще работать не хочет!!!
Вот картинка:

Проверьте пожалуйста на работоспособность на своем компьютере!
И скажите работает ли у вас так как не работает у меня????
Если у вас будет работать я скину вам свою карту и вы проверите ок???
Спасибо за ответ Победитель!!!
Аватар пользователя
15 лет назад
Если просто написать MessageBox, то работать он будет в начале миссии. Если вам нужно, чтобы сообщение выводилось, когда вы заходите в регион после гарнизона, то вставьте MessageBox в эту функцию, перед SetObjectOwner.

Т.е., должно быть где-то так:

EnableHeroAI('Duncan',false);
function garrison(hero)
if hero=='Giovanni' then
MessageBox("/Maps/SingleMissions/ExampleMaP/msg.txt");
SetObjectOwner('Duncan',PLAYER_1);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'reg', nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'reg', 'garrison', nil);
В ответ пользователю Победитель
Аватар пользователя
15 лет назад
Спасибо все заработало так как я хотел.
Вопрос примерно похож на предыдущий.
Я хотел бы чтоб перед атакой на нейтральное существо тоже высвечивалось какое то сообщение.Можно ли сделать так????
Спасибо за ответ Победитель!!!!
P.S чтоб не в начале игры а перед самой атакой когда герой заходит в сектор существа!
Аватар пользователя
15 лет назад
М-да. Дункан, прочитайте FAQ по картостроительству, который находится в этом разделе. Ответ на этот вопрос был там:
С помощью скрипта. Чтобы начать ввод скрипта, нужно в верхней панели редактора нажать MapPropreties, перейти во вкладку Script, нажать на Edit. При этом надо заранее дать монстру скриптовое имя: выбрать его, в левой панели редактора найти строку Name и написать там, к примеру, Monster1 (помните, что редактор чувствителен к регистру символов).
Текст скрипта примерно такой:

function fMes1(heroname)
MessageBox('[путь к текстовому файлу в кодировке Юникод]');
SetObjectEnabled('Monster1',true);
sleep(5);
MakeHeroInreractWithObject(heroname,'Monster1');
Trigger(OBJECT_TOUCH_TRIGGER,'Monster1',nil);
end;
SetObjectEnabled('Monster1',nil);
Trigger(OBJECT_TOUCH_TRIGGER,'Monster1','fMes1');
Если что-то непонятно - спрашивайте ;).

Статистика

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

Сейчас на сайте 5 пользователей 1530 гостей