Перейти к содержимому
Для публикации в этом разделе необходимо провести 1 боёв.
MedvedevTD

[ModAPI] Документация

В этой теме 14 комментариев

Рекомендуемые комментарии

16 853
Разработчик
6 959 публикаций
8 238 боёв
16 853
Разработчик
6 959 публикаций
8 238 боёв

 

PythonAPI - Battle 

Работа с методами "battle" возможна только после входа в бой (срабатывания события, см. методы "events"), в противном случае методы ничего не возвращают, т.к. информация которую они обрабатывают есть только в бою. Для обработки событий необходимо использовать "events.onSFMEvent" (см. описание ниже в методах "events"), возвращаемые параметры этого события: "eventName" - название события, "eventData" - dict с параметрами события.

 

Доступные методы:

battle

  • getPlayersInfo()
  • getPlayerInfo(playerId)
  • getSelfPlayerInfo()
  • getPlayerInfoByName(name)
  • getPlayerShipInfo(playerId)
  • getPlayerByVehicleId(shipID)
  • getAmmoParams(ammoID)
  • isVehicleBurning(shipID)
  • isVehicleFlooding(shipID)
  • isBattleStarted()

battle.getPlayersInfo()

Данная функция возвращает dict, где ключами являются "playerID", а значениями - dict "PlayerInfo" с различной информацией об игроке.

Для просмотра результата можно вывести через "print" в "Korabli\profile\python.log" файл, либо записать в отдельный файл "open('filename', 'w')".

 

battle_getPlayersInfo_ru.pngbattle_getPlayersInfo_log.png


battle.getPlayerInfo(playerID)

Данная функция возвращает объект с информацией об игроке.

Входной параметр: playerId - идентификатор игрока. Возвращаемое значение: PlayerInfo.


battle.getSelfPlayerInfo()

Данная функция возвращает объект с информацией о нашем игроке. Возвращаемое значение: PlayerInfo.


battle.getPlayerInfoByName(name)

Данная функция возвращает объект с информацией об игроке.

Входной параметр: name - никнэйм игрока. Возвращаемое значение: PlayerInfo.


battle.getPlayerShipInfo(playerID)

Данная функция возвращает объект с информацией о корабле игрока.

Входной параметр: playerId - идентификатор игрока. Возвращаемое значение: ShipInfo.


battle.getPlayerByVehicleId(shipID)

Данная функция возвращает объект с информацией об игроке.

Входной параметр: shipId - идентификатор корабля. Возвращаемое значение: PlayerInfo.


battle.getAmmoParams(ammoID)

Данная функция возвращает объект с информацией о снаряде.

Входной параметр: ammoId - идентификатор снаряда, этот параметр можно получить в функции-обработчике события "events.onReceiveShellInfo(func)" (см. описание в методах "events").


battle.isVehicleBurning(shipID)

Данная функция возвращает True если корабль горит, или False если нет, например можно использовать в функции-обработчике события "events.onReceiveShellInfo(func)" (см. описание в методах "events").

Входной параметр - ID идентификатор корабля.


battle.isVehicleFlooding(shipID)

Данная функция возвращает True если попадание снаряда в корабль вызвало затопление, или False если нет, рекомендация к использованию аналогично "isVehicleBurning".

Входной параметр - ID идентификатор корабля.


battle.isBattleStarted()

Данная функция возвращает True если бой начался.

Рассказать о публикации


Ссылка на публикацию
16 853
Разработчик
6 959 публикаций
8 238 боёв

 

PythonAPI - Callbacks

Методы "callbacks" предназначены для многократного вызова функций.

 

Доступные методы: 

callbacks

  • callbacks.perTick(func)
  • callbacks.callback(dt, func, *args, **kw)
  • callbacks.cancel(handle) 

callbacks.perTick(func)

Данная функция вызывает пользовательскую функцию, переданную в качестве параметра каждый тик игры (несколько раз в секунду!)*.

Входной параметр: пользовательская функция "func", которая будет вызываться этим методом каждый тик игры.

Возвращаемое значение: handle - уникальный идентификатор метода, используемый для остановки вызова функции по тику.

 

callbacks_perTick_ru.png

 

*Предупреждение!!!

Т.к. данный метод вызывает функцию несколько раз в секунду, то это может приводить к снижению производительности клиента игры. Будьте внимательны при использовании данного метода.

 


callbacks.callback(delaytime, func, *args, **kwargs)

Данная функция так же принимает в качестве параметра пользовательскую функцию "func", которая будет вызываться каждый раз (повторно, снова и снова) с установленной задержкой (интервалом в секундах).

Входные параметры:

  • delaytime - задержка в секундах, через которое вызовется функция func
  • func - функция, которая вызовется
  • *args - позиционные аргументы, которые передадутся в функцию func
  • **kwargs - именованные аргументы, которые передадутся в функцию func

Возвращаемое значение: handle - уникальный идентификатор, используемый для остановки вызова функции по тику.

 

callbacks_callback.png

 


callbacks.cancel(handle)

Данная функция завершает работу метода, ранее вызывавшего функцию каждый тик или с установленным интервалом.

Входной аргумент - уникальный идентификатор метода handle, возвращаемый функциями perTick и callback.

 

Рассказать о публикации


Ссылка на публикацию
16 853
Разработчик
6 959 публикаций
8 238 боёв

 

PythonAPI - CustomPorts

Методы "customPorts" позволяют добавить собственный порт.

 

Доступные методы:

customPorts

  • customPorts.addCustomPort(portName, portDisplayName = DEFAULT_NAME, bargePos = None, shipPosition = None)
  • customPorts.removeCustomPort(portName)

customPorts.addCustomPort(portName, portDisplayName = DEFAULT_NAME, bargePos = None, shipPosition = None)

Данный метод добавляет в меню выбора порта новый порт.

Параметры функции:

  • portName - имя, идентификатор порта, должен совпадать с именем space'a и png-иконки порта
  • portDisplayName = 'Персональный' - отображаемое имя порта
  • bargePos - расположение баржи в порту
  • shipPosition - расположение коробля в порту

customPorts.removeCustomPort(portName)

Данный метод удаляет из меню выбора порта новый порт.

Входной аргумент: portName - имя, идентификатор загруженного порта.

 

Рассказать о публикации


Ссылка на публикацию
16 853
Разработчик
6 959 публикаций
8 238 боёв

 

PythonAPI - Events

Методы "events" позволяют работать с различными событиями в клиенте игры (открытие окна, нажатие на кнопку меню, нажатие кнопки на клавиатуре, вход в бой и др.).

 

Доступные методы:

events

  • events.onFlashReady(func)
  • events.onSFMEvent(func)
  • events.onReceiveShellInfo(func)
  • events.onBattleStart(func)
  • events.onBattleEnd(func)
  • events.onBattleQuit(func)
  • events.onKeyEvent(func)
  • events.onMouseEvent(func)
  • events.onGotRibbon(func)
  • events.onAchievementEarned(func)
  • events.onBattleStatsReceived(func)

 

Эвенты вызываются извне и передают различные параметры в функции, которые на данные эвенты подписаны. Пример подписи на эвент: events.eventName(myEventHandlerFunc)

 

events.onFlashReady(func)

Данный эвент срабатывает сразу после загрузки и инициализации Flash-части мода "Main.swf" (при её наличии).

Входной параметр: func - функция-обработчик события (def func(modName):), получает в качестве входного аргумента modName - имя мода, Flash-часть которого была загружена.


events.onSFMEvent(func)

Данный метод позволяет работать с различными событиями SFM-машины, такими как: показ и скрытие различных окон, нажатия на некоторые кнопки, нажатие кнопки на клавиатуре или мышке, вход в бой и т.д и т.п.

Входной параметр "func" - функция-обработчик событий, которая принимает от SFM-машины два параметра: eventName - название события, eventData - dict с параметрами события.

 

events_onSFMEvent.png

 


events.onReceiveShellInfo(func)

Данный эвент срабатывает при нанесении/получении урона противнику/от противника снарядами/торпедами.

Функция-обработчик события "func(*args, **kwargs)", обрабатывающая событие, получает следующие параметры:

  • victimID - идентификатор shipID атакованного
  • shooterID - идентификатор shipID атакующего
  • ammoId - тип снаряда
  • matID - тип материала, в который было попадание
  • shotID - идентификатор ID выстрела
  • booleans - тип повреждений после попадания (это значение имеет битовую маску):
  1. урон получил наш корабль
  2. пробитие брони
  3. повреждение под водой
  4. корабль уничтожен
  5. снаряд прошел сквозь корабль
  6. рикошет от брони
  7. урон от сплэша
  8. орудия главного калибра уничтожены
  9. торпедные установки уничтожены
  10. ПМК уничтожены
  • damage - количество нанесенного урона
  • shotPosition - tuple с координатами точки попадания
  • yaw - yaw снаряда, угол попадания снаряда
  • hlinfo - tuple с информацией о выстреле (list с информацией о повреждениях, ID залпового выстрела или № залпа)

 

events_onReceiveShellInfo.png

 


events.onBattleStart(func)

Данный эвент срабатывает при начале боя, после окончания отсчета таймера перед боем.


events.onBattleEnd(func)

Данный эвент срабатывает при окончании боя.


events.onBattleQuit(func)

Данный эвент срабатывает при выходе из боя и/или выходе из игры.
Принимает в качестве аргумента - "func" функцию-обработчик, функция получает при обработке события один аргумент - "True".


events.onKeyEvent(func)

Данный метод срабатывает при нажатии кнопок на клавиатуре или мышке после входа в игру (загрузке порта).
Принимает в качестве аргумента - "func" функцию-обработчик события, функция получает объект события с различной информацией о нажатии на клавиатуре/мышке.
Прим.: def func(event), где "event" - объект события, имеет следующие свойства:
  - event.key - код нажатой клавиши на клавиатуре (import Keys - дает доступ к константам клавиатуры: Keys.KEY_F1 - клавиша "F1", Keys.KEY_Q - клавиша Q и т.д.)
  - event.isKeyDown() - функция проверяет нажата ли какая нибудь клавиша и возвращает "True" или "False"
  - event.isKeyUp() - функция проверяет была ли отжата клавиша после нажатия и возвращает "True" или "False"
  - event.isShiftDown() - проверяет нажат ли "Shift", возвращает "True" или "False"
  - event.isCtrlDown() - проверяет нажат ли "Ctrl", возвращает "True" или "False"
  - event.isAltDown() - проверяет нажат ли "Alt", возвращает "True" или "False"


events.onMouseEvent(func)

Данный метод обрабатывает перемещение курсора мышки.
Принимает в качестве аргумента - "func" функцию-обработчик события, функция получает объект события "event" с различной информацией для обработки.
"event" - объект события, имеет следующие свойства:
  - event.dx - delta изменение хоординаты по оси "X"
  - event.dy - delta изменение хоординаты по оси "Y"
  - event.dz - значение всегда 0


events.onGotRibbon(func)

Данный эвент срабатывает при получении боевой ленты (Ribbon).
Принимает в качестве аргумента - "func" функцию-обработчик, входные параметры функции: *args, **kwargs.
Аргумент "args" получает значение константы боевой ленты.


events.onAchievementEarned(func)

Данный эвент срабатывает при получении достижения (ачивки)
Принимает в качестве аргумента - "func" функцию обработчик, входные параметры функции: *args, **kwargs.


events.onBattleStatsRecived(func)

Данный эвент срабатывает при получении пост боевой информации
Принимает в качестве аргумента - "func" функцию обработчик, входные параметры функции: arg.

Рассказать о публикации


Ссылка на публикацию
16 853
Разработчик
6 959 публикаций
8 238 боёв

 

PythonAPI - Flash

Методы "Flash" предназначены для работы с Flash-частью мода (Main.swf файлом)

 

Доступные методы:

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()
  • flash.setUbMarkup( xml_url, swf_url, rootElement )
  • flash.setUbData(data)

 


flash.call(name, args)

Данный метод вызывает коллбек, который позволяет вызвать функцию в Flash файле мода.

Принимает аргументы:

  • name - имя, ключ коллбека, на который должна быть подписана функция во Flash части
  • args - list содержащий передаваемые параметры (или пустой, без параметров), который будет передан вызываемой функции для дальнейшей обработки

 

falsh_call.png

 


falsh.addExternalCallback(name, func)

Данный метод добавляет коллбэк, который подписывает и вызывает функцию обработчик "func" в Python части мода, эта функция принимает вызов из Flash части мода аналогично предыдущему методу.

Входные аргументы:

  • name - имя, ключ коллбека
  • func - функция-обработчик коллбека

 

falsh_addExternalCallback.png

 


flash.removeExternalCallback(name, func)

Данный метод удаляет коллбэк с идентификатором "name" для функции-обработчика "func".

Входные параметры функции:

  • name - имя, ключ коллбека
  • func - функция-обработчик коллбека

Примечание: При вызове данной функции без параметров будет полностью очищен список функций-обработчиков для текущего мода.

 


flash.loadFlashMod(modName)

Данный метод загружает Flash-часть мода, если она не была загружена ранее, либо была выгружена.

Входной аргумент "modName" - название мода (название папки с модом).

 


flash.loadPyMod(modName)

Данный метод загружает Python-часть мода, если она не была загружена ранее, либо была выгружена. Данный метод так же загрузит Flash-часть мода.

Входной аргумент modName - название мода.

 


flash.reloadMod(modName, needToReloadPy)

Данный метод перезагружает мод.

Входные аргументы:

  • modName - имя, идентификатор мода
  • needToReloadPy - требуется ли перезагружать Python-часть мода (False - предустановленное базовое значение аргумента)

 

falsh_reloadMod.png

 


flash.unloadMod(modName, needToUnloadPy)

Данный метод выгружает (отключает) мод.

Входные аргументы функции:

  • modName - имя, название мода
  • needToUnloadPy - требуется ли выгрузить Python-часть мода (False - базовое значение аргумента)

 


flash.getModsStatus()

Данный метод возвращает dict, в котором ключи - названия модов, значения - их статусы загрузки (True/False)

 

falsh_getModsStatus.png

 


flash.setUbMarkup(xml_url, swf_url, rootElement)

Данный метод загружает пользовательский *.xml файл с разметкой unbound.

Входные аргументы метода:

  • xml_url <type 'str'> - пуьт к *.xml файлу с разметкой
  • swf_url <type 'str'> - пуьт к *.swf файлу с скомпилированными выражениями
  • rootElement <type 'str'> - название root элемента для загрузки

 


flash.detUbData(data)

Данный метод передает данные в скоуп элемента.

Входные аргументы метода:

  • data <type 'dict'> - словарь, в котором ключ - название переменной, значение - значение переменной
    Для получения данных в scoup необходимо объявить контроллер "lesta.api.UbModController" в *.xml файле с разметкой

 

  • Плюс 2

Рассказать о публикации


Ссылка на публикацию
16 853
Разработчик
6 959 публикаций
8 238 боёв

 

PythonAPI - Utils

Методы "Utils" позволяют работать с различными дополнительными функциями.

 

Доступные методы:

utils

  • utils.getGameVersion()
  • utils.getModDir()
  • utils.stat(path)
  • utils.walk(top, topdown, followlinks)
  • utils.isFile(path)
  • utils.isDir(path)
  • utils.isPathExists(path)
  • utils.timeNowUTC()
  • utils.timeNow()
  • utils.jsonEncode(obj, skipkeys, ensure_ascii, check_circular, allow_nan, indent, separators, encoding, default, sort_keys)
  • utils.jsonDecode(s, encoding, parse_float, parse_int, parse_constant)
  • utils.logInfo(message='', *args, **kwargs)

utils.getGameVersion()

Данная функция возвращает версию игры.

Возвращаемое значение: версия игры, строка: 0, 5, 15, 123456


utils.getModDir()

Данная функция возвращает абсолютный путь до папки с текущим модом.


utils.stat(path)

Метод возвращает объект, атрибуты которого соответствуют атрибутам "os.stat(path)".
Входной аргумент - "path" путь к файлу.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....os.html#os.stat


utils.walk(top, topdown=True, followlinks=False)

Метод аналогичен "os.walk(top, topdown=True, onerror=None, followlinks=False)", где:
  - "top" - директроия в папке с модом (если такая существует), в которой метод будет делать проход (прим. "C:\Games\Korabli\res_mods\0.7.9.1\PnFMods\TestMod\testDir"),
  - "topdown" - способ прохождения "True" сверху вниз (базовое значение), "False" - снизу вверх
 генерирует имена файлов, находящиеся в дереве каталогов, проходя по дереву сверху вниз или наоборот; для каждого каталога в дереве, закрепляется в верхней часте каталога включая сам верх и возвращает следующие параметры:
  - "dirpath" - string, путь к каталогу
  - "dirnames" - list, список имен подкаталогов в этом каталоге "dirpath"
  - "filenames" - list, список имен файлов в этом каталоге

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....os.html#os.walk


utils.isFile(path)

Метод идентичен "os.path.isfile(path)", возвращает "True", если файл по указанному пути "path" существует.
Входной аргумент - "path" путь к файлу.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....#os.path.isfile


utils.isDir(path)

Метод идентичен "os.path.isDir(path)", возвращает "True", если каталог по указанному пути "path" существует.
Входной аргумент - "path" путь к каталогу.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....l#os.path.isdir


utils.isPathExists(path)

Метод идентичен "os.path.exists(path)", возвращает "True", если существует указанный путь "path".
Входной аргумент - "path" путь к файлу/директории.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....#os.path.exists


utils.timeNowUTC()

Метод идентичен "datetime.datetime.utcnow()", возвращает текущее универсальное время и дату UTC.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....datetime.utcnow


utils.timeNow()

Метод идентичен "datetime.datetime.now()", возвращает текущее время и дату.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....me.datetime.now


utils.jsonEncode(obj)

Метод аналогичен "json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False)" с соответствующими базовыми значениями.
Метод сериализует объект "obj" в строку формата "JSON".

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....html#json.dumps


utils.jsonDncode(s)

Метод аналогичен "json.loads(s)", десериализует строку формата "JSON" в объект Python.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....html#json.loads


utils.logInfo(message='', *args, **kwargs)

Метод выводит ниформацию в файл "python.log", где:

 - "message" - сообщение в лог файл

 - " *args" - позиционные аргументы

 - " **kwargs" - именнованные аргументы

 

Рассказать о публикации


Ссылка на публикацию
16 853
Разработчик
6 959 публикаций
8 238 боёв

 

PythonAPI - Web

Методы "Web" позволяют работать с web ресурсами.

 

Доступные методы:

web

  • web.getAllowedUrls()
  • web.addAllowedUrl(encodedUrl)
  • web.openUrl(url)
  • web.urlEncode(query, doseq=0)
  • web.urlQuote(s, safe='/')
  • web.openUrlAsync(url, callback, data = None)


web.getAllowedUrls()

Данная функция возвращает list, список разрешенных к использованию URL-ов.


web.addAllowedUrl(encodedUrl)

Данная функция добавляет специально закодированный URL в список разрешенных URL'ов. Запросить специально подготовленный URL можно у  @MatroseFuchs обратившись к нему в ЛС на официальном форуме игры.

Входной аргумент: encodedUrl - специально закодированный URL.


web.openUrl(url)

Метод аналогичен "urllib2.urlopen(url, data=None)", позволяет открыть URL из списка разрешенных URL-ов.
Входной аргумент - разрешенный URL.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....urllib2.urlopen


web.urlEncode(query)

Метод аналогичен "urllib.urlencode(query, doseq=0)", используется для кодирования строки в вид, удовлетворяющий правилам данных в запросах.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....rllib.urlencode


web.urlQuote(s, safe='/')

Метод анологичен "urllib.quote(string, safe)", заменяет все специальные симолы последовательностями "%nn". Цифры, английские буквы и символы подчеркивания, точки и дефис не кодируются. Пробелы преобразуются в последовательность "%20".
Входной аргумент - "s" строка в которой производятся замены, "safe" - символы, которые преобразовывать нельзя.

Полная документация по данной функции доступна на официальном сайте Python здесь: https://docs.python....ml#urllib.quote       


web.openUrlAsync(url, callback, data=None)

Метод аналогичен "threading.Thread(url, callback, data = None).start()", используется для запуска нескольких процессов одновременно .

Рассказать о публикации


Ссылка на публикацию
5 070
[LESTA]
Разработчик
1 321 публикация
7 377 боёв

PythonAPI - UserMusic

Методы "UserMusic" позволяют работать с аудиофайлами в формате ".mp3".

   - базовый путь для папки с аудиофайлами - "Korabli\res_mods\<game_version>\userMusic", базовая папка "userMusic" создается вручную, название папки должно быть таким как указано, в противном случае (если путь или название папки отлично от базового) путь устанавливается методом "userMusic.setPath" (описание ниже)

 

userMusic_baseFolder.png

 

   - при формировании списка воспроизведения, все файлы (tuples) в списке перемешиваются автоматически
   - воспроизведение происходит по замкнутому кругу, по окончанию списка треков проигрыватель возвращается в начало списка продолжая воспроизведение
   - вариантом для остановки воспроизведения списка может быть следующий способ: в функции обработчике "SetOnPlayTrackCallback" (описание ниже) используйте "userMusic.clearPlaylist()" (описание ниже), произойдет очистка списка воспроизведения и полсле проигрывания текущего трека проигрыватель остановится
   - для использования собственных звуковых файлов в настройках звука установите флаг в чекбоксе "Использовать свою музыку", иначе при наложении пользовательских звуковых файлов на музыку в игре возможны конфликты и падение клиента игры

 

userMusic_soundCheckBox.png

 

Доступные методы:

userMusic

  • events.onPlayTrack(SetOnPlayTrackCallback)
  • userMusic.setPath(path)
  • userMusic.getPlaylist()
  • userMusic.getMediaFileList(path)
  • userMusic.addFiles(filelist)
  • userMusic.removeFiles(idsList)
  • userMusic.clearPlaylist()
  • userMusic.playNext()
  • userMusic.playPrevious()
  • userMusic.play(id)
  • userMusic.activate(state)


events.onPlayTrack(SetOnPlayTrackCallback)

Данный event срабатывает на воспроизведение аудиофайла.
Метод принимает функцию обработчик "SetOnPlayTrackCallback", которая получает от проигрывателя вкачестве входного аргумента "arg" № индекса проигрываемого трека в списке воспроизведения.


userMusic.setPath(path)

Метод устанавливает путь к каталогу с аудиофайлами отличный от базового.
При наличии базового каталога "Korabli\res_mods\<game_version>\userMusic", новый путь к каталогу "path" добавляется к базовому для поиска аудиофайлов для воспроизведения, добавляемые аудиофайлы перемешиваются.
Входной аргумент - "path" путь к каталогу с аудиофайлами.


userMusic.getPlaylist()

Метод возвращает список "list" кортежей "tuples" с различной информацией об аудиофайлах с расширением "*.mp3" (путь к файлу, название композиции, исполнитель и др.), которые будут воспроизводиться, где индекс кортежа в списке воспроизведения - индекс аудиофайла для проигрывателя.


userMusic.getMediaFileList(path)

Метод возвращает список "list" с путями к аудиофайлам с расширением "*.mp3".
Входной аргумент - "path" путь к каталогу с аудиофайлами.


userMusic.addFiles(filelist)

Метод добавляет "list" с путями к аудиофайлам с расширением "*.mp3" в основной список воспроизведения аудиофайлов.
Входной аргумент "filelist" - list с path-ами к аудиофайлам.


userMusic.removeFiles(idsList)

Данный метод удаляет выбранные аудиофайлы из списка воспроизведения (userMusic.getPlaylist).
Возвращает "True/False" если файл был найден/не найден в списке.
Входной арагумент "idsList" - "list" с ID индексами файлов в списке проигрывателя (начиная с 0).


userMusic.clearPlaylist()

Метод очищает список воспроизведения аудиофайлов (getPlaylist).


userMusic.playNext()

Воспроизвести следующий трек из списка воспроизведения.
Может начать воспроизведение треков со 2-го трека в списке воспроизведения если не вызван метод "userMusic.play(id)", тогда базовым индексом "id" принимается id = 1.


userMusic.playPrevious()

Воспроизвести предыдущий трек из списка воспроизведения.
Может начать воспроизведение треков с 0-го трека если не вызван метод "userMusic.play(id)", тогда базовым индексом "id" принимается id = 1.


userMusic.play(id)

Метод позволяет воспроизвести выбранный трек из списка воспроизведения.
Входной аргумент "id" - индекс трека (tuple в списке проигрывателя), воспроизводится следующий трек из списка, т.е. если выбран id = 0, воспроизводится id = 1 при наличии трека с таким индексом, если в списке воспроизведения не менее двух файлов и указанный индекс отсутствует, то воспроизводится файл id = 1.

 

userMusic_play_ru.png

 


userMusic.activate(state)

Метод активирует/деактивирует роигрыватель аудиофайлов
Входной агрумент "state" - принимает "True/False" (False - базовое значение), переключение в False не останавливает воспроизведение.

Рассказать о публикации


Ссылка на публикацию
5 070
[LESTA]
Разработчик
1 321 публикация
7 377 боёв

PythonAPI - Dock

Методы "Dock" позволяют получить дополнительную игровую информацию в порту.

 

Доступные методы:

dock

  • dock.getActiveShipId()
  • dock.getShipInfoById(shipID)
  • dock.getProfileInfo()

 

dock.getActiveShipId()

Данная функция возвращает ID выбранного корабля.


dock.getShipInfoById(shipID)

Данная функция возвращает объект с информацией о корабле.
Входной параметр shipID - идентификатор ID выбранного корабля.


dock.getProfileInfo()

Данная функция возвращает объект с информацией профиля игрока. Объект содержит статистику (% побед) по кораблям игрока.

 

Рассказать о публикации


Ссылка на публикацию
5 070
[LESTA]
Разработчик
1 321 публикация
7 377 боёв

PythonAPI - Devmenu

Методы "devmenu" дают возможность использовать меню разработчика.

Меню имеет две кнопки:

  • "Constants" - открывает/скрывает список некоторых игровых констант: типы лутбоксов, наград, боевых лент и урона
  • "Reload Mod" - перезагружает мод

 

devMod_ru.png

 

Доступные методы:

devmenu

  • devmenu.enable()
  • constants

 

devmenu.enable()

После входа в порт позволяет вызвать меню разработчика.

Показать/скрыть меню с помощью комбинацией клавиш "Ctrl" + "F1".

Кнопка "Reload Mod" перезагружает мод, который осуществляет вызов меню.

При вызове меню из нескольких модов, кнопка "Reload Mod" перезагрузит последний загруженный мод, который вызывает это меню.


constants

Дает доступ к значению константы.
Получение значения конкретной константы (например кредиты), осуществляется следующим способом: constants.LootboxType.CREDITS.

Возвращает значение типа int().

Рассказать о публикации


Ссылка на публикацию
5 070
[LESTA]
Разработчик
1 321 публикация
7 377 боёв

FlashAPI

Для создания Flash части мода нам потребуется редактор под ActionScript 3, подойдут такие как "FlashDevelop", "Adobe Flash Professional", "Adobe Flash Builder" и др.

Создадим новый AS3 проект, главный файл назавем "Main", он будет иметь расширение "*.as", и в зависимости от выбранной IDE (редактора) добавим к проекту внешнюю SWC-библиотеку, актуальную версию которой можно будет взять из наших ресурсов.

 

FlashAPI_swc_library.png

(пример добавления в Flash Builder)

 

Далее в созданном проекте в файле "Main.as" доработаем скрипт для заготовки под наш мод.

 

FlashAPI_ModBase.png

 

Теперь мы можем создать Flash часть мода. Как мы видим, наш главный класс имеет базовый класс "ModBase", который содержится в добавленной библиотеке, без этого класса наш Flash файл мода работать не будет.

Рассказать о публикации


Ссылка на публикацию
5 070
[LESTA]
Разработчик
1 321 публикация
7 377 боёв

FlashAPI - DataBridgeModule

Методы "Data Bridge Module" позволяют моду передавать или получать данные в/из Python части мода.

 

Доступные методы:

gameAPI.data

  • gameAPI.data.call(methodName:String, params:Array):void
  • gameAPI.data.addCallBack(methodName:String, func:Function):void
  • gameAPI.data.removeCallBack(methodName:String = null, callBack:Function = null):void


gameAPI.data.call(methodName:String, params:Array)

Метод позволяет передать информацию в Python часть мода.
Входные параметры:

  • "methodName" - имя, ключ коллбэка, на который подписана функция в Python (в Python - falsh.addExternalCallback(name, func), где "name" соответствует "methodName")
  • "params" - список (Array) передаваемых параметров.

gameAPI.data.addCallBack(methodName:String, func:Function)

Метод добавляет коллбэк для получения информации из Python'a (в Python - flash.call(name, args)), на который подписана функция во Flash.
Входные параметры:

  • "methodName" - имя, ключ коллбэка, на который подписана функция во Flash части мода (Main.swf-файл)
  • "func" - функция-обработчик коллбэка

gameAPI.data.removeCallBack(methodName:String = null, callBack:Function = null)

Метод удаляет коллбэк, на который подписана функция во Flash.
Входные параметры:

  • "methodName" - имя, ключ коллбэка, на который подписана функция во Flash части мода (Main.swf-файл)
  • "callBack" - функция-обработчик коллбэка

Рассказать о публикации


Ссылка на публикацию
5 070
[LESTA]
Разработчик
1 321 публикация
7 377 боёв

FlashAPI - StageModule

Методы "StageModule" предоставляют возможность работать со сценой "Stage".

 

Доступные методы:

gameAPI.stage

  • gameAPI.stage.addChild(child:displayObject)
  • gameAPI.stage.addChildAt(child:displayObject, index:int)
  • gameAPI.stage.removeChild(child:displayObject)
  • gameAPI.stage.removeChildAt(index:int)
  • gameAPI.stage.width()
  • gameAPI.stage.height()


gameAPI.stage.addChild(child:displayObject)

Работает аналогично методу "addChild", добавляет экземпляр "displayObject" на сцену "Stage" для визуализации объекта.
Входной аргумент "child" - создаваемый графический объект Flash-а.


gameAPI.stage.addChildAt(child:displayObject, index:int)

Аналогично методу "addChildAt", добавляет DispalyObject на определенный слой Stage'a.
Входные аргументы: "child" - создаваемый графический объект Flash-а; index - порядковый номер слоя, на который должен быть добавлен DisplayObject.


gameAPI.stage.removeChild(child:displayObject)

Метод удаляет DispalyObject со Stage.
Входной аргумент "child" - DisplayObject, который должен быть удален со Stage.


gameAPI.stage.removeChildAt(index:int)

Метод удаляет выбранный слой со Stage.
Входной аргумент "index" - порядковый номер слоя, с которого должен быть удален DisplayObject.


gameAPI.stage.width()

Метод возвращает ширину сцены Stage.
Возвращаемое значение имеет тип данных "Number".


gameAPI.stage.height()

Метод возвращает высоту Stage
Возвращаемое значение имеет тип данных "Number".

Рассказать о публикации


Ссылка на публикацию
Гость
Эта тема закрыта для публикации новых ответов.

×