ModsAPI How-To
Дата: 08.09.2016 19:42:40
MedvedevTD: PythonAPI Доступные методы: callbacks
callbacks.perTick(func) callbacks.callback(dt, func, *args, **kw)
callbacks.cancel(handle) events events.onFlashReady
events.onSFMEvent events.onReceiveShellInfo events.onBattleStarted
events.onBattleQuit flash flash.call(methodName, args = None)
flash.addExternalCallback(command, function)
flash.removeExternalCallback(command = None, function = None)
flash.loadFlashMod(modName) flash.loadPyMod(modName)
flash.reloadMod(modName, needToReloadPy = False)
flash.unloadMod(modName, needToUnloadPy = False)
flash.getModsStatus() customPorts
customPorts.addCustomPort(portName, portDisplayName =
'Персональный', isPremium = False, peculiarities = None)
customPorts.removeCustomPort(portName) contentSDK
contentSDK.registerShipMod(shipName)
contentSDK.extractSources(modName, shipName, callback = None)
callbacks perTick Данная функция вызывает функцию, переданную в
качестве параметра каждый тик. Входные параметры: func -
Python-функция Возвращаемое значение: handle - уникальный
идентификатор, используемый для остановки вызова функции по тику.
callback Данная функция позволяет вызвать другую функцию с
определенной задержкой и параметрами. Входные параметры: dt - время
в милисекундах, через которое вызвоется функция func func -
функция, которая вызовется *args - все non-keyword параметры,
которые передадутся в функцию func **kw - все keyword
параметры, которые передадутся в функцию func Возвращаемое
значение: handle - уникальный идентификатор, используемый для
остановки вызова функции по тику. cancel Данная функция отменяет
действие, которые должны будут выполнить функции выше (вызов
функции каждый тик или вызов функции с задержкой). Входные
параметры: handle - уникальный идентификатор, полученный от
функций perTick или callback. events Эвенты вызываются извне и
передают различные параметры в функции, которые на данные эвенты
подписаны. Пример подписи на
эвент: events.eventName(myEventHandlerFunc) onFlashReady
Данный эвент срабатывает сразу после загрузки и инициализации
Flash-части мода (при её наличии). Параметры эвента: modName - имя
мода, Flash-часть которого была загружена onSFMEvent Данный эвент
срабатывает при возникновении различных событий в SFM-машине.
Например показ и скрытие различных окон, нажатия на некоторые
кнопки и т.д и т.п. Параметры эвента: eventName - имя SFM эвента
eventData - параметры SFM эвента onReceiveShellInfo Данный эвент
срабатывает при получении игроком информации о попадании
(снарядом/торпедой) в чужой корабль. Параметры эвента: victimID -
идентификатор атакованного shooterID - идентификатор атакующего
ammoId - тип снаряда matId - тип материала, в который было
попадание shotID - идентификатор выстрела booleans - пока не
определено damage - кол-во нанесенного урона shotPosition - точки
пападания yaw - пока не определено hlinfo - пока не определено
onBattleStarted Данный эвент срабатывает при начале боя, после
30-секундного отсчета. onBattleQuit Данный эвент срабатывает после
окончания боя. Параметры эвента: arg - зарезервированный аргумент.
На данный момент равен True flash call Данный метод вызывает
коллбек, на который должны быть подписаны функции во Flash.
Параметры функции: methodName - имя, ключ коллбека args = None -
массив аргументов addExternalCallback Данный метод добавляет
функцию обработчик для указанного коллбека. Параметры функции:
methodName - имя, ключ коллбека function - функция-обработчик
коллбека removeExternalCallback Данный метод прекращает работу
функции-обработчика коллбека. Параметры функции: methodName =
None - имя, ключ коллбека function = None - функция-обработчик
коллбека Примечание: При вызове данной функции без параметров будет
полностью очищен список функций-обработчиков для текущего мода.
loadFlashMod Данный метод загружает Flash-часть мода, если она не
была загружена ранее, либо была выгружена. Параметры функции:
modName - имя, идентификатор мода loadPyMod Данный метод загружает
Python-часть мода, если она не была загружена ранее, либо была
выгружена. Данный метод так же загрузит Flash-часть мода. Параметры
функции: modName - имя, идентификатор мода reloadMod Данный метод
перезагружает мод. Параметры функции: modName - имя, идентификатор
мода needToReloadPy = False - нужно ли перезагрузить Python-часть
мода unloadMod Данный метод выгружает мод. Параметры функции:
modName - имя, идентификатор мода needToUnloadPy = False -
нужно ли выгружать Python-часть мода getModsStatus Данный метод
возвращает список модов и их статус. Возвращаемое значение Словарь
(dict) следующего вида: { 'modName':
isLoaded # загружен ли мод } customPorts addCustomPort Данный
метод добавляет в меню выбора порта новый порт. Параметры функции:
portName - имя, идентификатор порта, должен совпадать с именем
space'a и png-иконки порта portDisplayName = 'Персональный' -
отображаемое имя порта isPremium = False - премиумность порта
peculiarities = None - массив особенностей порта (напр.
"peculiarities = [ 'arpeggio' ]") removeCustomPort
Данный метод удаляет из меню выбора порта новый порт. Параметры
функции: portName - имя, идентификатор загруженного порта
ModsAPI How-To














