Создание карты в World of Warcraft¶
Создание карты в World of Warcraft (сокращённо «вб-карта») — это пользовательская модификация (аддон) для онлайн-игры World of Warcraft, которая заменяет стандартную игровую карту на расширенную версию с дополнительной информацией: точками интереса, маршрутами, разметкой ресурсов и подсказками по прохождению. Аддоны для World of Warcraft пишутся на встроенном в игру языке программирования Lua и размещаются на специализированных платформах распространения.
¶Общие сведения
World of Warcraft поддерживает систему модификаций с момента выхода игры в 2004 году. Игроки могут устанавливать аддоны, которые изменяют интерфейс, добавляют новые окна, индикаторы и элементы карты. Стандартная карта игры показывает локацию, транспортные узлы и открытые подземелья, но не отображает расположение ресурсов, заданий и игровых объектов.
Вб-карты решают эту задачу, накладывая на карту слои с дополнительными данными. Наиболее известные картографические аддоны:
| Аддон | Особенности |
|---|---|
| Cartographer | Легковесная карта с записью открытых игроком зон |
| Gatherer | Отметки мест добычи трав, руды и сфер |
| Routes | Автоматическая прокладка оптимальных маршрутов сбора |
| Questie | Подсказки по заданиям и их локализация на карте |
| HandyNotes | Система пользовательских меток на карте |
| TomTom | Навигационная стрелка и координаты |
¶Техническая основа
¶Язык Lua и API игры
Все аддоны World of Warcraft написаны на Lua — скриптовом языке, встроенном в игровой клиент. Игра предоставляет API (набор функций) для работы с картой: отображение иконок, получение координат игрока, отслеживание событий. Основные функции картографического API включают:
WorldMapFrame— объект окна карты;SetMapToCurrentZone()— переключение карты на текущую зону;GetPlayerMapPosition()— получение позиции игрока;CreateFrame()— создание элементов интерфейса, включая иконки на карте.
¶Структура аддона
Каждый аддон представляет собой папку в директории Interface/AddOns/ папки игры. Обязательные файлы:
- Название.toc — файл-манифест с метаданными: название, версия, автор, список загружаемых Lua-файлов;
- Основные .lua файлы — код модификации;
- Папка с ресурсами — иконки, изображения.
Пример минимального манифеста:
```
¶Interface: 110200
¶Title: MyMap
¶Author: Player
MyMap.lua ```
¶Пошаговое создание карты
¶Шаг 1. Подготовка окружения
Для разработки аддонов используются любой текстовый редактор с подсветкой синтаксиса Lua (Visual Studio Code, Sublime Text, Notepad++). Установка игры не требуется для написания кода, но необходима для тестирования.
¶Шаг 2. Создание структуры папок
В директории игры создаётся папка будущего аддона, например MyMap, внутри которой размещаются файлы манифеста и скриптов.
¶Шаг 3. Базовый код
Минимальный аддон, выводящий координаты игрока на карту, выглядит следующим образом:
``lua local frame = CreateFrame("Frame", "MyMapFrame") frame:RegisterEvent("PLAYER_LOGIN") frame:SetScript("OnEvent", function(self, event) print("MyMap загружен") end) ``
¶Шаг 4. Добавление меток на карту
Для отображения иконок используется функция создания фреймов с текстурой. Данные о расположении объектов хранятся в виде таблиц Lua с координатами в нормализованной системе (от 0 до 1).
¶Шаг 5. Тестирование
Папка аддона помещается в Interface/AddOns/, после чего в логин-скрине игры появляется чекбокс для его включения. Перезапуск клиента подгружает модификацию.
¶Источники данных
Картографические аддоны используют несколько источников информации:
- Пользовательские данные — аддон записывает открытые игроком точки и метки в локальные файлы SavedVariables;
- Внешние базы — сообщества собирают данные о расположении объектов и встраивают их в аддон;
- Плагины — такие как HandyNotes, позволяют сторонним разработчикам публиковать пакеты точек без создания отдельного аддона.
¶Особенности для разных версий игры
API карты меняется с каждым крупным обновлением World of Warcraft. Аддоны, написанные для классической версии (Classic), не всегда работают в актуальном дополнении и наоборот. Манифест .toc содержит номер версии интерфейса, по которому клиент определяет совместимость.
¶Распространение
Готовые аддоны публикуются на специализированных платформах, крупнейшие из которых CurseForge, WowInterface и GitHub. Установка вручную сводится к распаковке архива в папку Interface/AddOns/, после чего аддон активируется в меню загрузки при входе в игру.
