ReferenceWML

Материал из Wesnoth Life Wiki
(перенаправлено с «WML»)
Перейти к: навигация, поиск

< Перевод данного справочника еще не завершен. Английскую версию можно почитать на офф-вики >

Содержание

Язык разметки "Веснота"

Формат WML (Wesnoth Markup Language) используется в большинстве элементов игры, включая сценарии, бойцов, сейвы и разметку интерфейса. WML-файлы представляют из себя обычные текстовые файлы с синтаксисом, родственным XML и INI, и чаще всего имеют расширение .cfg. Главной особенностью языка являются макросы (на замену функциям), позволяющие избежать лишних копи-пастов, и вообще сильно облегчающие жизнь :) На уровне исходников WML-движок реализован преимущественно в классе config (ну и еще в simple_wml для wesnothd).

На этой странице расположены ссылки на некоторые основные WML-структуры. Краткий алфавитный список тегов находится в AlphabeticalWML. Более подробный, с атрибутами — в BuildingScenariosIndex.

Если вам нужно руководство, а не справочник, то смотрите статьи BuildingScenarios, BuildingCampaigns и BuildingUnits.


Примечание: данные статьи могут содержать некоторые неточности, пробелы в тегах и атрибутах, устаревший синтаксис. Если среди них вы не найдете ответа, как что-либо реализовать, то можно поискать его в рабочих конфигах дистрибутива и аддонов игры (а также по форумам и исходникам самого "Веснота"). Исправление и дополнение справочника приветствуется ;)

Основы языка

  • SyntaxWML — синтаксис языка и работа с переменными
  • PreprocessorRef — синтаксис препроцессора

Теги верхнего уровня

  • GameConfigWML the top level [game_config] tag
  • UnitsWML the top level [units] tag
  • CampaignWML — кампании, тег [campaign]
  • ScenarioWML — сценарии, теги [scenario], [multiplayer], [test], и [tutorial]
    • EventWML — обработка событий
    • SideWML — параметры игровых сторон
    • MapGeneratorWML — генератор случайных карт
    • TimeWML — время суток
    • IntroWML — экран заставки
  • SavefileWML — формат файлов сохранений
  • PblWML a description of the format of server-uploadable campaigns
  • EraWML - эры, тег [era]
  • TerrainWML the top level [terrain_type] tag
  • TerrainGraphicsWML, the top level [terrain_graphics] tag
  • ThemeWML — темы разметки интерфейса, тег [theme]
  • LanguageWML - особые строки движка, тег [language]
  • LocaleWML — языки переводов, тег [locale]
  • HelpWML — игровой справочник, тег [help]
  • BinaryPathWML — папки ресурсов, тег [binary_path]
  • FontsWML — используемые шрифты, тег [fonts]

Прочие теги

  • EventWML — создание игровых событий
    • FilterWML — фильтрация объектов
    • ActionWML — действия, происходящие при вызове события
      • ConditionalActionsWML — условные операции и фильтры условий
      • DirectActionsWML — операции, прямо связанные с геймплеем (например, создание бойцов)
        • SingleUnitWML — содание отдельных бойцов, тег [unit]
        • EffectWML — управляемые модификации бойцов, тег [effect]
      • InternalActionsWML — внутренние операции (например, работа с переменными)
      • InterfaceActionsWML — операции, не влияющие на геймплей напрямую (например, диалоги)
      • LuaWML — использование скриптов на Lua
  • AiWML — параметры искусственного интеллекта
  • AbilitiesWML a list of the different abilities a unit or weapon can have
  • DescriptionWML the structure of WML coded menus like the difficulty chooser of campaigns
  • EditorWML tags controlling the post-1.4 editor's behavior

Предопределенные макросы

«Веснот» поставляется с библиотекой предопределенных макросов, которые будут небесполезны и при создании собственного WML-кода. Их полный список с описаниями находится здесь (англ.).

Другое

  • ReferenceWMLSyntax how this wiki and the pages it links to should be formatted
  • ConventionsWML how to make your WML more readable
  • UsefulWMLFragments Various pieces of WML for various purposes. If you have some WML you're proud of that you think others can use, add it here.
  • Maintenance tools for wmlindent, wmllint, wmlscope
  • CommandMode commands are not strictly speaking part of WML, these could be a little hard to find so there's a link here.
  • MultiplayerServerWML is used when communicating with the multiplayer server.
  • CampaignServerWML is used when managing contributed campaigns on the campaign server.
  • ImagePathFunctionWML is used when applying the team-color function to images.
  • BinaryWML how WML is sent over the network

Смотрите также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты