[ModsAPI_v2.0] User manual
Дата: 12.05.2021 12:36:19
MatroseFuchs: Организационная часть Разработка мода Все модификации API_v2
разрабатываются на специально выделенном аккаунте и выданным ключом
разработчика мода. Для получения аккаунта и ключа разработчика мода
необходимо подать заявку личным сообщением куратору Мододелов -
MatroseFuchs. Публикация мода
Прототип мода должен быть передан куратору для проверки до его
публикации. После проверки и одобрения на публикацию мода, куратор
передает разработчику мода скомпилированный и подписанный мод,
который не должен быть изменен, а опубликован в том виде, котором
получил от куратора. Переданный мод будет действовать 30 дней с
момента передачи разработчику мода. При необходимости срок действия
мода может быть продлен, для этого необходимо обратиться к куратору
Мододелов. Техническая часть 1. Ресурсы. Для модов API_v2 доступен
импорт модулей клиента игры, использование необфусциронных
объектов, методов движка игры и модулей/библиотек Python,
используемых клиентом. Так же для удобства добавлены методы
аналогично API_v1.0: 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.onMarkupLoaded(func) Все остальные методы доступны обычным
импортом из ModsShell. 2. Подготовка Каталог загрузки мода:
World_of_Warships\\bin\\\\res_mods\\PnFMods\\ Main.py
Основной файл мода должен содержать константу " API_VERSION =
'API_v2.0' " и индивидуальную подпись разработчика мода (будет
выдана с аккаунтом разработчика мода). import os import ModsShell
API_VERSION = 'API_v2.0' SIGNATURE =
'pNfJDPyi4&79_uiwpjeJwBKQHW/nt0CwAAAGNpcGhlcl90ZXh0cwABAABD/...'
3. Разработка мода. Мод разрабатывается используя доступные
ресурсы клиента Скрытый текст import os import BigWorld import
ModsShell from ModsShell.API_v_1_0.flashGate import gFlashAPICtrl
try: import TestModule print '[ModAPI 2.0] TestModule imported'
except: print '[ModAPI 2.0] TestModule importe exception'
API_VERSION = 'API_v2.0' SIGNATURE =
'pNfJDPyi4&79_uiwpjeJwBKQHW/...' print '[ModAPI 2.0] Main
script loaded' def onFlashReady(modName): if modName == 'TestMod1':
gFlashAPICtrl.callExternal('TestMod1', 'ModsAPI_2.setText', ['Hello
ModsAPI_2.0']) pas = os.getcwd() print 'pas:', pas print 'BigWorld
includes:', dir(BigWorld) print 'ModsShell modules:',
dir(ModsShell) events.onFlashReady(onFlashReady)
Main.swf Без изменений, работает как в API_v1.0. Тестовый
мод прикреплен: TestMod1.zip Внимание! Данный мануал будет
актуален начиная с версии 0.10.4, но заявки подать можно уже
сейчас.
[ModsAPI_v2.0] User manual














