Difference between revisions of "User:AVS/Scripting"
From VCMI Project Wiki
< User:AVS
(→WoG) |
(→Features) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | = Configuration = | ||
+ | |||
+ | <syntaxhighlight lang="javascript"> | ||
+ | { | ||
+ | //general purpose script, Lua or ERM, runs on server | ||
+ | "myScript": | ||
+ | { | ||
+ | "source":"path/to/script/with/ext", | ||
+ | "implements":"ANYTHING" | ||
+ | }, | ||
+ | |||
+ | |||
+ | //custom battle spell effect, Lua only, runs on both client and server | ||
+ | //script ID will be used as effect 'type' (with mod prefix) | ||
+ | "mySpellEffect": | ||
+ | { | ||
+ | "source":"path/to/script/with/ext", | ||
+ | "implements":"BATTLE_EFFECT" | ||
+ | }, | ||
+ | |||
+ | //TODO: object|building type | ||
+ | //custom map object or building, Lua only, runs on both client and server | ||
+ | //script ID will be used as 'handler' (with mod prefix) | ||
+ | "myObjectType": | ||
+ | { | ||
+ | "source":"path/to/script/with/ext", | ||
+ | "implements":"MAP_OBJECT" | ||
+ | }, | ||
+ | //TODO: server query | ||
+ | //TODO: client query | ||
+ | |||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | = Lua = | ||
+ | = ERM = | ||
+ | == Features == | ||
+ | * {{todo}} semi compare | ||
+ | * {{todo}} macros | ||
+ | == Bugs == | ||
+ | * {{todo}} Broken XOR support (clashes with `X` option) | ||
+ | |||
== Triggers == | == Triggers == | ||
− | * {{todo}} !?AE при одевании и снятии артефактов | + | * {{todo}} '''!?AE''' при одевании и снятии артефактов |
− | * {{wip}}!?BA в начале и конце битвы | + | * {{wip}} '''!?BA''' в начале и конце битвы |
− | * {{wip}}!?BF при проработке поля боя (препятствия и т.п.) | + | * {{wip}} '''!?BF''' при проработке поля боя (препятствия и т.п.) |
− | * {{todo}}!?BG при любом действии стека или героя в битве | + | * {{todo}} '''!?BG''' при любом действии стека или героя в битве |
− | * {{todo}}!?BR в начале каждого раунда битвы | + | * {{todo}} '''!?BR''' в начале каждого раунда битвы |
− | * {{todo}}!?CM при клике мышкой | + | * {{todo}} '''!?CM''' при клике мышкой |
− | * {{todo}}!?CO при действиях с командиром | + | * {{todo}} '''!?CO''' при действиях с командиром |
− | * {{todo}}!?DL при действиях с диалогом пользователя (только TE или выше) | + | * {{todo}} '''!?DL''' при действиях с диалогом пользователя (только TE или выше) |
− | * {{ | + | * {{done}} '''!?FU''' Содержит код функции |
− | * {{todo}}!?GE при появлении определенного глобального события | + | * {{todo}} '''!?GE''' при появлении определенного глобального события |
− | * {{todo}}!?GM при загрузке и сохранении игры | + | * {{todo}} '''!?GM''' при загрузке и сохранении игры |
− | * {{todo}}!?HE при атаке или обмене (союз.) с определенным героем | + | * {{todo}} '''!?HE''' при атаке или обмене (союз.) с определенным героем |
− | * {{todo}}!?HL при получении героем уровня | + | * {{todo}} '''!?HL''' при получении героем уровня |
− | * {{todo}}!?HM при каждом шаге героя | + | * {{todo}} '''!?HM''' при каждом шаге героя |
− | * {{todo}}!?IP поддерживает мультиплеер | + | * {{todo}} '''!?IP''' поддерживает мультиплеер |
− | * {{todo}}!?LE (!$LE) при (после) посещения локального события | + | * {{todo}} '''!?LE''' (!$LE) при (после) посещения локального события |
− | * {{ | + | * {{wip}} '''!?MF''' при каждом нанесении физ. урона в битве |
− | * {{todo}}!?MG при наложении заклинаний на карте | + | * {{todo}} '''!?MG''' при наложении заклинаний на карте |
− | * | + | * ''!?MM при появлении подсказок (в битве, окне города, т.п.)'' |
− | * {{todo}}!?MR при сопротивляемости существа заклинанию в битве | + | * {{todo}} '''!?MR''' при сопротивляемости существа заклинанию в битве |
− | * {{todo}}!?MW для Бродячих монстров | + | * {{todo}} '''!?MW''' для Бродячих монстров |
− | * {{wip}}!?OB (!$OB) при или после посещения объекта(ов) | + | * {{wip}} '''!?OB''' (!$OB) при или после посещения объекта(ов) |
− | * {{ | + | * {{done}} '''!?PI''' пост-инструкция |
− | * {{todo}}!?SN при попытке игры воспроизвести любой звук | + | * {{todo}} '''!?SN''' при попытке игры воспроизвести любой звук |
− | * | + | * ''!?TH при входе и выходе в городской холл'' |
− | * {{todo}}!?TL таймер реального времени (только ТЕ или выше) | + | * {{todo}} '''!?TL''' таймер реального времени (только ТЕ или выше) |
− | * {{todo}}!?TM Содержит код таймера | + | * {{todo}} '''!?TM''' Содержит код таймера |
== Receivers == | == Receivers == | ||
Line 71: | Line 113: | ||
* {{todo}} !!PM Пирамиды или новые объекты | * {{todo}} !!PM Пирамиды или новые объекты | ||
* {{todo}} !!PO Информация квадрата карты | * {{todo}} !!PO Информация квадрата карты | ||
− | * {{todo}} !!QW Журнала | + | * {{todo}} (???) !!QW Журнала |
* {{todo}} !!SN Проигрываемые звуков | * {{todo}} !!SN Проигрываемые звуков | ||
* {{todo}} !!SS Настройка заклинаний (только ТЕ или выше) | * {{todo}} !!SS Настройка заклинаний (только ТЕ или выше) | ||
Line 78: | Line 120: | ||
* {{todo}} !!TR Квадрата карты (почва, проходимость, т.п.) | * {{todo}} !!TR Квадрата карты (почва, проходимость, т.п.) | ||
* {{todo}} !!UN Универсальная команда | * {{todo}} !!UN Универсальная команда | ||
− | * | + | * ''!#VC Контроль переменных'' |
* {{wip}} !!VR Установка переменных | * {{wip}} !!VR Установка переменных | ||
== Persistence == | == Persistence == |
Revision as of 17:41, 11 July 2019
Contents
Configuration
{
//general purpose script, Lua or ERM, runs on server
"myScript":
{
"source":"path/to/script/with/ext",
"implements":"ANYTHING"
},
//custom battle spell effect, Lua only, runs on both client and server
//script ID will be used as effect 'type' (with mod prefix)
"mySpellEffect":
{
"source":"path/to/script/with/ext",
"implements":"BATTLE_EFFECT"
},
//TODO: object|building type
//custom map object or building, Lua only, runs on both client and server
//script ID will be used as 'handler' (with mod prefix)
"myObjectType":
{
"source":"path/to/script/with/ext",
"implements":"MAP_OBJECT"
},
//TODO: server query
//TODO: client query
}
Lua
ERM
Features
- [Todo] semi compare
- [Todo] macros
Bugs
- [Todo] Broken XOR support (clashes with `X` option)
Triggers
- [Todo] !?AE при одевании и снятии артефактов
- [WiP] !?BA в начале и конце битвы
- [WiP] !?BF при проработке поля боя (препятствия и т.п.)
- [Todo] !?BG при любом действии стека или героя в битве
- [Todo] !?BR в начале каждого раунда битвы
- [Todo] !?CM при клике мышкой
- [Todo] !?CO при действиях с командиром
- [Todo] !?DL при действиях с диалогом пользователя (только TE или выше)
- [Done] !?FU Содержит код функции
- [Todo] !?GE при появлении определенного глобального события
- [Todo] !?GM при загрузке и сохранении игры
- [Todo] !?HE при атаке или обмене (союз.) с определенным героем
- [Todo] !?HL при получении героем уровня
- [Todo] !?HM при каждом шаге героя
- [Todo] !?IP поддерживает мультиплеер
- [Todo] !?LE (!$LE) при (после) посещения локального события
- [WiP] !?MF при каждом нанесении физ. урона в битве
- [Todo] !?MG при наложении заклинаний на карте
- !?MM при появлении подсказок (в битве, окне города, т.п.)
- [Todo] !?MR при сопротивляемости существа заклинанию в битве
- [Todo] !?MW для Бродячих монстров
- [WiP] !?OB (!$OB) при или после посещения объекта(ов)
- [Done] !?PI пост-инструкция
- [Todo] !?SN при попытке игры воспроизвести любой звук
- !?TH при входе и выходе в городской холл
- [Todo] !?TL таймер реального времени (только ТЕ или выше)
- [Todo] !?TM Содержит код таймера
Receivers
VCMI
- [Todo] Identifier resolver
- [Todo] Bonus system
WoG
- [Todo] !!AR Артефакт (ресурс) в определенной позиции
- [Todo] !!BA Битва
- !!BA:A$ return 1 for battle evaluation
- [Todo] !!BF Препятствия на поле боя
- [Todo] !!BG Действий монстров в бою
- [Todo] !!BH Действия героя в бою
- [Todo] !!BM Монстр в битве
- [Todo] !!BU Универсальные параметры битвы
- [Todo] !!CA Замок
- [Todo] !!CD Разрушения замков
- [Todo] !!CE События в замке
- [Todo] !!CM Клика мышью
- [Todo] !!DL Нестандартный диалог (только ТЕ или выше)
- [Todo] !!CO Командиры
- [WiP] !!DO Многократный вызов функции
- [Todo] !!EA Бонусы опыта существ
- [Todo] !!EX Опыт стека
- [Todo] !!FU Однократный вызов функции
- [Todo] !!GE Глобальное событие
- [WiP] !!HE Герой
- [Todo] !!HL Новый уровень героя
- [Todo] !!HO Взаимодействия героев
- [Todo] !!HT Подсказки по правому клику
- [WiP] !!IF Диалоги и флагов
- [Todo] !!IP Сетевой сервис битвы
- [Todo] !!LE Локальное события
- [WiP] !!MA Общие параметры монстров
- [Todo] !!MC Макросы
- [Todo] !!MF Получение физ. урона в бою
- [Todo] !!MM Текст в битве
- [WiP] !!MO Монстр в определенной позиции
- [Todo] !!MP Контроль MP3
- [Todo] !!MR Сопротивления магии
- [Todo] !!MW Бродячих монстров
- [WiP] !!OB Объект в определенной позиции
- [Todo] !!OW Параметры игрока
- [Todo] !!PM Пирамиды или новые объекты
- [Todo] !!PO Информация квадрата карты
- [Todo] (???) !!QW Журнала
- [Todo] !!SN Проигрываемые звуков
- [Todo] !!SS Настройка заклинаний (только ТЕ или выше)
- [Todo] !!TL Контроль времени хода (только ТЕ или выше)
- [Todo] !!TM Временный таймер
- [Todo] !!TR Квадрата карты (почва, проходимость, т.п.)
- [Todo] !!UN Универсальная команда
- !#VC Контроль переменных
- [WiP] !!VR Установка переменных