Code:
local era = require('era/era')
era.on('OnHeroScreenMouseClick', function (event)
era.erm('HE-1:C0/0/9/100; UN:R3/-1')
end)
Пишу скрипты на Lua. Из плюсов:
- загрузка при OnBeforeWoG
- поддержка всех событий плагинов и ЕРМ
- доступ к ЕРМ-памяти
- jit-компиляция
- низкоуровневые АПИ через встроенное расширение ffi
- удобные переходники Эры для доступа к произвольной памяти, например mem.i32(0x887668, 70) — изменили v1 на 70 как целое знаковое 32-битное
- автосохранение и загрузка данных из глобальной таблицы (серилизатор bitser, подписка на события OnSaveGameWrite, OnSaveGameRead + Read/WriteSavegameSection)
- WinAPI, API Эры, огромная библиотека в сети
- запрет на создание глобальных переменных вне явного блока accessGlobals
- скрипты не сохраняются в сохранёнках и грузятся один раз