Клиентские модификации

ClientMod и установка GPK через клиентский интерфейс Toolbox.

ClientMod

Клиентская модификация привязана к клиентскому интерфейсу, а не к конкретному игровому соединению. Экспортируйте класс ClientMod; сетевые хуки и mod.game используйте в NetworkMod.

Установка GPK

При установке менеджер вызывает install(installer) экземпляра. installer.gpk(fromPath, filename = null) разрешает исходный путь относительно папки модуля и передает GPK клиентскому интерфейсу. Второй аргумент позволяет задать имя файла назначения.

module.exports.ClientMod = class ResourceMod {
    constructor(mod) {
        this.mod = mod;
    }

    install(installer) {
        installer.gpk('resources/example.gpk');
    }
};

Пример предполагает наличие совместимого resources/example.gpk внутри модуля. Установка идет через механизм Toolbox; не копируйте файл поверх оригинальных ресурсов игры вручную из конструктора. Метод install может быть асинхронным: менеджер ожидает его завершения и логирует ошибку установки.

Другие возможности

Инсталлятор также предоставляет dll(filename), который передает локальную библиотеку клиентскому механизму загрузки DLL. Это нативный код и требует совместимой архитектуры и API; для обычных изменений ресурсов достаточно GPK. Сам ClientMod может обращаться к queryData и данным клиента, а mod.globalMod дает доступ к собственной общей части, если она экспортирована.

Источники: bin/mod.js (ClientModInterface._install), node_modules/tera-client-interface/index.js.