5 150 [LESTA] MatroseFuchs Разработчик 1 373 публикации 7 558 боёв Жалоба #1 Опубликовано: 12 май 2021, 09:36:19 Организационная часть Разработка мода Все модификации 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. Подготовка Каталог загрузки мода: Korabli\bin\<last version>\res_mods\PnFMods\<Mod_name> 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, но заявки подать можно уже сейчас. 4 3 Рассказать о публикации Ссылка на публикацию