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

[ModAPI_v2.0] Руководство

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

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

4 906
[LESTA]
Разработчик
1 220 публикаций
6 910 боёв

Организационная часть

Разработка мода

Все модификации 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\<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, но заявки подать можно уже сейчас.

  • Плюс 3
  • Круто 3

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


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

×