Of Steamworks and Magick Obscura
АРКАНУМ
арканум
arcanum

Читальный зал

arcanum

Поддержи Клуб!

arcanum

Проекты

arcanum
Файловый архив
Архивы

Мастерская

arcanum

Моддинг игр

arcanum
Arcanum
Главная | Форумы | О проекте | Новости | Графика | Мануалы | Моддинг | Поиск | Контакты

Создание модов для игры Арканум: мануал, уроки, советы, рекомендации

Руководство по написанию скрипта телепортации и его привязке к объекту в игре Арканум

Арканум

Как привязать к объекту (к входу в пещеру) переход на другую локацию, т.е пещеру? Или: Как сделать возможным перемещение путем кораблеплавания или паровоза (например) в новую точку на карте? Или может с помощью телепорта? Мануал по написанию скрипта и его привязке к объекту «телепорт»: вход в пещеру, люк, лестница, паровоз, кольцо телепортации (а в общем-то любой предмет, кликнув (или наступив) на который можно переместиться в другую локацию или в точку с конкретными координатами).

Данный вопрос не единожды возникал на форумах Arcanum, но продолжает возникать вновь и вновь. Ответ Zammy довольно понятный, но не слишком подробный. Попробую дополнить и пояснить. Для начала я его просто процитирую. Потом& дополню.


При решении поставленной задачи Вам потребуется следующий инструментарий.

Программы:

  • DatBuilder 1.0 (скачивайте по ссылке 259 Кб)
  • Любой текстовый редактор (типа «Блокнот»)
  • Редакторы WorldEd и ScrMaker (они есть в самой игре)

Для начала — вот что (давным-давно) написал Zammy на форуме Arcanum-City в FAQ.

Q: Как привязать к объекту (к входу в пещеру) переход на другую локацию, т. е. пещеру?

A: Первый шаг — у этого объекта нужно снять флажок «Click through» (в редакторе WorldEd, в диалоге Edit, Flags). Если это вход в пещеру — т. е. не объект, а просто картинка на земле, то надо сделать объект, который выглядит точно так же, как и Ваш вход. (в редакторе эти проходы в разделе с названием что-то типа «Passage»). Теперь при наведении на него курсора в игре, объект будет подсвечиваться. Второй шаг — пишем скрипт перехода на другую карту. Не забывайте, что в скрипте последняя строка должна быть или ’Return & skip default’, или ’Return & run default’. Третий и последний шаг — присоединяем этот скрипт в точку ’USE’ нашего прохода. Теперь при нажатии в игре на этот объект, вызывается скрипт перехода. Всё. В принципе можно пойти другим путём. Понаставить вокруг прохода — TS (Тайл скриптов), и привязать к ним этот же скрипт. Теперь при наступании на землю рядом с проходом Вы, также, будете телепортироваться. Таким же образом делаются лестницы, люки и т.п.

Дополнение: Теперь попробуем всё еще раз поподробней. Сразу — все .dat файлы должны быть распакованы и лежать где-то (НЕ В ИГРЕ!) в том виде, как вы их распаковали. У Вас будет четыре папки-каталога: Arcanum1.dat, Arcanum2.dat, Arcanum3.dat, Arcanum.dat (типа скрин Рис.2). Из каталога Arcanum.dat копируем и перемещаем в каталог с игрой необходимые вам папки с картами (карты — в папке maps). Карта (карты), с которой Вы будете работать должны находиться в папке Arcanum/modules/Arcanum/maps (первый Arcanum — каталог Вашей игры, здесь и везде). Типа — таким образом: Рис.1. (для увеличения изображения — щёлкни по скриншоту). Надеюсь, что пока всё понятно (здесь написано слишком подробно, но эти «мелочи» — основы, без них ничего не получится. То, что кажется очевидным и банальным (на первый взгляд) может представлять значительную проблему).

ArcanumArcanum
Рис.1Рис.2

Теперь открываем редактор WorldEd и находим нужную Вам карту (допустим — основную, Arcanum1-024-fixed). Я уже писал, как её открывать в предыдущем мануале. Повторюсь. Если в редакторе WorldEd Вы увидели (ну и открыли) карту arcanum1-024-fixed — Ура! и можно продолжать. Но. Частая ошибка. — Открыв редактор и выбрав модуль (Arcanum) — вы не видите карты. Зайдите в головное меню и выберете Open (а не open modules) — рис4–5. Пустячок. Но бывает. И часто. Выбрав нужную карту — открываем…

Важно: В этой папке maps после игры появляется масса временных файлов. Если Вы редактируете карту — удаляйте их. Появляются они всегда, так что и удалять их надо так же. Всегда. Иначе в игре Вы своих изменений не увидите. Файлы эти легко узнать, кроме них и папок с картами в /maps больше ничего и нет см. Рис.6. Не выкиньте по ошибке папки с картами. Удалять — только файлы, НЕ ПАПКИ! Если чего не получается — спрашивайте, не стесняйтесь. В первый раз — всё трудно и непонятно. На Форум.

ArcanumArcanumArcanum
Рис.4Рис.5Рис.6

Писать еще подробней уже не могу (по открытию карты). И идём далее. Попутно отвечаем на вопросик:

Q: Как перемещаться по карте, кроме «+» и «-» сверху?

Zammy: Надо зажечь NumLock и циферками на NumPad’e станет можно перемещаться. Есть ещё способ: над картой есть две ячейки для координат, вписываешь туда X Y ;и нажимаешь ’Set’. Кнопка Home переносит в начало карты.

Разумно и понятно. Добавлю. Координаты всех локаций находятся в файле gamearea.mes по адресу Arcanum/modules/Arcanum/mes/gamearea.mes При перемещении по карте в редакторе из Таранта в Каладон (к примеру) — вбиваете в окошко координат нужные — жмёте «Set». На будущее, найдите этот файл в распакованном архиве Arcanum.dat (адрес аналогичный) и скопируйте его в каталог с игрой.

Наконец добираемся до сути вопроса. Рассмотрим его на примере, чтоб было понятней. Открываем редактор и устанавливаем координаты 92960,82592 — место катастрофы — Рис.7. Фиолетовым — отмечено окошко с координатами и будущий портал — люк (а может он быть могилой, сундуком, паровозом, дверью и т.п. — да, конечно). Расписывать — как поставить предмет на карту — здесь не будем — см.Рис.8, всё в три щелчка. Картинки там во весь экран — не забудьте развернуть… Итак, этот люк — портал, при нажатии на него в игре Вы перенесетесь в указанную Вами точку. Как его сделать. Наводим курсор на люк (см. Рис.9), жмём правую кнопку. В открывшемся меню нажимаем ’edit’.

ArcanumArcanumArcanum
Рис.7Рис.8Рис.9

Попадаем в другое меню — Рис.10. Там много всего. Важное сейчас отмечены разными цветами — расстановка флажков (песня отдельная и сами разберетесь) — пока просто скопируйте — как у меня. Внешний вид (в нашем случае — люк). Если Вы научились ставить на поверхность предметы, то всё ОК, нужный Вам уже стоит, но в данном окошке можно изменить его рисунок. (Сами, опять же поймете — как, не сложно). И самое главное — кнопка ’skripts’. Если флаги Вы расставили — жмите её. Попадаем в очередное меню — рис.11. Как понятно из картинки, в игре присутствует бешеное количество скриптов самого различного назначения. При телепортации задействован скрипт, реализуемый командой ’Use’, кнопку которой мы и жмём — рис.12.

ArcanumArcanumArcanum
Рис.10Рис.11Рис.12

Тут, на этой картинке, немного задержимся. Объяснять подробно про скрипты не буду, никакого места не хватит. Но из этого рисунка ясно, что на всех предметах (и NPC) «висят» какие-то скрипты. Если Вас интересует — какие — данная метода спокойно позволит Вам узнать номер его, найти скрипт и понять принцип его работы. Или просто «клонировать» скрипт, т. е. сделать свой, для своих надобностей «по образу и подобию». Но с пониманием, как данный скрипт работает. «Тупого» клонирования не получится, надо хотя б понимать, что происходит… Что я здесь и делаю. Сначала определимся с папкой и адресом. Все скрипты в игре лежат по адресу Arcanum/data/scr И эта папка у Вас есть уже в игре. Теперь посмотрим распакованный dat-каталог Arcanum2.dat — папку «scr». Это весь скрипт игры. Отвечающие за телепорт — (к примеру — 01261Bates Mansion-to-Tunnel_TEL.scr) с индексом _TEL в конце названия. Их там много, за прототип можно брать почти любой. В своих скриптах рекомендую индексы тоже ставить, чтобы не запутаться. Хорошо, скрипт телепортации найден. НОМЕР СКРИПТА НЕ ДОЛЖЕН ПОВТОРЯТЬСЯ В ИГРЕ! Посмотрите последний в своих каталогах скрипта и присвойте оригинальный (в моём случае на рис. 12 — стоит 8000. Такого в игре нет. Дальше будет 8001 и т.д.) Можно сначала написать скрипт, а потом ставить номер на портал или сперва дать любой (оригинальный) и написать сам скрипт позднее, не важно. Поэтому ставим смело (для примера) 8000, жмём ОК. Всё, несуществующий пока скрипт «висит» на люке. В моём моде он называется 08000Proba_TEL.scr Название не важно, важен — номер. Теперь определимся — а куда ведёт портал. Для этого надо определить:

1. Номер карты, на которую надо попасть. В распакованном dat — архиве находим файл Arcanum.dat/Rules/MapList.mes Копируем его и вставляем в игру — Arcanum/modules/Arcanum/Rules/MapList.mes. Открываем его (текстовым редактором) и смотрим. Выглядит так…{5000}{Arcanum1-024-fixed, 92958,82592, Type: START_MAP, WorldMap: 0}

  • {5001}{BessieToonesMine-fixed, 96, 126, WorldMap: 0, Area: 1}
  • {5002}{PSchuylers Lev 1-fixed, 96, 126, WorldMap: 0, Area: 21}
  • {5003}{PSchuylers Lev 2-fixed, 96, 126, WorldMap: 0, Area: 21}
  • {5004}{PSchuylers Lev 3-fixed, 96, 126, WorldMap: 0, Area: 21}
  • {5005}{BMC, 672,124, WorldMap: 0, Area: 7}
  • {5006}{Wheel Clan,696,96, WorldMap: 0, Area: 9}
  • {5007}{Void, 1055, 1055}
  • {5008}{Caladons Sewers, 100, 100, WorldMap: 0, Area: 4}

 и т. д. и т. п. Первый номер (5000 для главной карты) — искомый.

2. Координаты точки телепорта. Указав курсором на искомое место на карте в окошке координат (рис.7) видим нужные нам координаты.

Записываем редактированную карту и закрываем редактор. Возвращаемся к скрипту.

Для того, чтоб спокойно его открыть, из распакованного архива копируем и вставляем в игру скрипт образец (потом его лучше удалить). Теперь откроем его редактором скрипта ScrMaker (он в корне игры. Выберете в меню ’fale’ пункт ’open’). Смотрим Рис.13. Очевидно, что данный скрипт посылает нас на карту 5000 в координаты X … и Y… Но это готовый скрипт, нам нужен свой. Сохраняем прототип как… 8000_proba_tel.scr и начинаем его редактировать. В меню ’line’ выбираем первую строчку — ’action’. В выпавшем меню (рис.14) находим строчку ’ teleport…’ — ОК, ’Trigger’ — ОК, ’Number’ — ’5000’ (вводим номер карты) — ОК, ’number’ — ’6750’ (координаты по Х) — ОК, ’number’ — ’4320’ (вводим координаты по Y) — ОК. Появилась Ваша строчка скрипта. Теперь выберите старую «лишнюю» (со старыми координатами) и через то же меню ’line’ удалите ее ’delete’. Получился двухстрочный (не вздумайте удалить вторую строку ’Return &…’) рабочий скрипт телепорта. Сохраняйтесь. Всё. Аналогично делается любой другой скрипт телепортации. Надеюсь, что что-то прояснилось. Осталось проверить портал. Запускайте игру — и удачи. (Не забывайте чистить папку ’maps’ после каждого запуска игры, как я писал выше).

ArcanumArcanum
Рис. 13Рис. 14

Прописав и этот мануал подумал о нелегком труде писателей. Устал. Заканчиваю. Для начала — вполне достаточно, вопросы — на Форум. Если они появятся — продолжу.

И еще «к слову». Возможно я прописал слишком подробно, рассчитывая всё ж на не слишком продвинутых модеров. Но в данном случае — мелочи решают всё.

Ещё. Если Вы вдумчиво прочитали и разобрались с этим конкретным скриптом — Вы можете клонировать и любой другой, скриптовый язык не сложный и, более-менее понятный. Экспериментируйте.

Вопросы, замечания и предложения по поводу прочитанного можно высказать на форуме.

Оглавление раздела   ВКонтакте   Форум   На Главную


Arcanum
Arcanum жив!
Рекомендуем
Новости проекта

Все новости

Арканум Клуб: Фэнтези, RPG, творчество. Нарисуй свой Арканум!

Arcanum: Of Steamworks and Magick Obscura

© 2005–2022 Арканум-Клуб