Jump to content
Korean Random
Mermaid

В поиске гайдов для начинающих мододелов

Recommended Posts

Всем привет! Решил недавно сделать мод, которому нужна сессионная статистика, гуглил, смотрел этот форум, но всё равно не нашёл ничего про "азы". Видел исходники xvm, но остаются открытыми например следующие вопросы:

  • Насколько я понял, моды используют скрипты игры, которые можно посмотреть тут, но есть ли способ их подключения к PyCharm-у, кроме как писать мод в root папке? Как будут работать пути импортов в таком случае? В xvm есть import BigWorld,откуда он импортится и можно ли почитать его api?
  • Тестирование мода возможно только итеративным процессом? А-ля дописал скрипт - скомпилировал - закинул в /mods/version - перезапустил игру?
  • Куда пойдут логи модов и как можно их потом прочитать?
  • Как итоговый .py скрипт нужно компилировать в .wotmod? Можно ли подключить мод как .py?

 

В общем вопросы уровня как сделать hello world в этой всей системе инструментов, а дальше можно уже копипастить существующий код. Буду очень рад увидеть ссылки на подобные гайды (если я их просто не нашёл) или же ответы на вопросы выше. Заранее всем спасибо!

Share this post


Link to post

Short link
Share on other sites
1 час назад, Mermaid сказал:

В общем вопросы уровня как сделать hello world в этой всей системе инструментов, а дальше можно уже копипастить существующий код.

Например есть такой Hello World: https://gitlab.com/xvm/xfw/xfw-example-actionscript 

Полезный, потому что основан на XFW и по сути это готовый способ стартануть быстрее всего, не набивая шишки от незнания куда податься.

Дока лежит тут: https://gitlab.com/xvm/xfw/xfw-documentation (самая свежая, но немного не удобочитаемая).

И тут: https://xfw.readthedocs.io/ru/latest/ она же, но не уверен насчёт свежести.

 

И немножко по практике можно почитать тут:

Про некоторые остальные вопросы можно поскрести информацию тут:

 

И ещё есть такой пример Hello World в ангарном окошке:

 

 

1 час назад, Mermaid сказал:
  • Куда пойдут логи модов и как можно их потом прочитать?

Логи питона идут в python.log в папке с игрой. Ещё можно научить мод писать свой лог куда надо, как XVM пишет свой xvm.log

 

  

1 час назад, Mermaid сказал:
  • Как итоговый .py скрипт нужно компилировать в .wotmod?

.wotmod - это просто .zip архив. Т.е. в него нужно положить готовый мод с сохранением путей. Во время разработки не обязательно каждый раз всё ложить в .wotmod, можно держать файлики в res_mods.
 

Цитата
  • Можно ли подключить мод как .py?

Да, в https://xfw.readthedocs.io/ru/latest/2.getting_started/index.html#id4 смотри информацию про структуру простейшего мода и далее по тексту.

Edited by yepev

Share this post


Link to post

Short link
Share on other sites
59 минут назад, Mermaid сказал:

А-ля дописал скрипт - скомпилировал - закинул в /mods/version - перезапустил игру?

я тот еще специалист,но кажется в орионе есть подобный функционал(помимо непосредственно компила/декомпила,раскодировки и пр.)

Цитата
  • Работа с запущенным WOT-клиентом напрямую:
    • разработан специальный пакет WOT-Transmission (wottransmission.zip) для обмена данными с клиентом игры через файловые буферы
    • реализованы функции консольного обмена данными со средой клиента, импорта, перезагрузки, удаления модулей и др.

(с) из описания

1 час назад, Mermaid сказал:

Можно ли подключить мод как .py?

по моему только через хвм(\res_mods\configs\xvm\py_macro\ ) без сторонних...не уверен

Цитата

Как итоговый .py скрипт нужно компилировать в .wotmod?

зачем именно .wotmod,проще по старому пути,но все равно придется компилировать в .рус(тем же орионом,кажется еще приставка mod_ нужна),а особой разницы через модс\ или рес_модс\ нет,единственное рес_модс имеет приоритет выше,насколько я помню,ну и не нужно архивировать в пакет.

 

Share this post


Link to post

Short link
Share on other sites
8 минут назад, Slava7572 сказал:

через хвм(\res_mods\configs\xvm\py_macro\ )

Кстати, да! Спасибо, что напомнил. Написание py_macro для XVM - это ж один из самых простых способов сделать мод, которому к тому же сразу доступна сила XVM.
 

Есть целый раздел с большим количеством готовых примеров py_macro и с информацией по теме: https://koreanrandom.com/forum/forum/54-компоненты-xvm-и-дополнения-py_macro/

 

Там @ktulho много всего прикольного наделал, рекомендую!

Share this post


Link to post

Short link
Share on other sites

Спасибо большое за ответы! Только один вопрос остался: для использования XFW нужен установленный XVM? Будет ли простенький мод работать на чистом клиенте, или только в дополнении к XVM?

Share this post


Link to post

Short link
Share on other sites
20 минут назад, Mermaid сказал:

для использования XFW нужен установленный XVM? Будет ли простенький мод работать на чистом клиенте, или только в дополнении к XVM?

Для использования XFW нужен установленный XFW, можно без XVM. А вот для py_macro нужен полный XVM.

Share this post


Link to post

Short link
Share on other sites

Не рекомендую писать отдельный мод, используя XVM, т.к те из игроков, кто его не используют, не смогут или не станут юзать и ваш мод. А вот если вы хотите написать мод как дополнение к XVM, то тогда как раз имеет смысл реализовать его через тот же py_macro.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Спрашиваю еще про hello world)

В офф. примере (https://gitlab.com/xvm/xfw/xfw-example-actionscript) не понятно как и чем компилировать, написано только куда положить результат + только as3

В этом примере (

, первый ответ) есть и питон и as3 и написано чем компилить, но появляются следующие вопросы:

  • В примере подключают wg.swf, но в примере XFW есть только другие файлы https://gitlab.com/xvm/xfw/xfw-example-actionscript/-/tree/master/swc. Это библиотека изменилась, или wg.swf надо брать где-то в другом месте?
  • В примере используют FlashDevelop, это логично для as3 файлов, но не для py, особенно если в моде только py файлы. Это FlashDeveloper без проблем компилит и python тоже или с ним что-то отдельно нужно делать?
  • В доке описана структура проекта (https://gitlab.com/xvm/xfw/xfw-documentation/-/blob/master/2.getting_started/index.rst), но совершенно не понятно где брать скелетон или хотя бы файлы самого xfw, которые используются как это всё компилить. Единственное, что похоже на xfw либу это https://gitlab.com/xvm/xfw/xfw-buildscript-library, но тут просто пара неизвестных файлов.

Как вообще вы пишете свои моды? Где берете скелетон, как компилируете и тестируете? Как-то даже странно, что за столько лет существования форума нет (наверное) ни одного полноценного текстового примера или видоса про создание мода от установки нужных инструментов до проверки результата. Даже по установке модов наверное видосы есть)

Share this post


Link to post

Short link
Share on other sites
4 минуты назад, Mermaid сказал:

Как вообще вы пишете свои моды? Где берете скелетон, как компилируете и тестируете? Как-то даже странно, что за столько лет существования форума нет (наверное) ни одного полноценного текстового примера или видоса про создание мода от установки нужных инструментов до проверки результата. Даже по установке модов наверное видосы есть)

 

Флэшки никто не делает свои, ибо это муторно и нет смысла. Есть готовая флэшка для боя - тыц. Ее хватает за глаза. Писать развернутые гайды никто не будет - это пустая трата времени. По wotmod-пакетам и пайтону - все легко гуглится по сайту.

Share this post


Link to post

Short link
Share on other sites
38 минут назад, StranikS_Scan сказал:

 

Флэшки никто не делает свои, ибо это муторно и нет смысла. Есть готовая флэшка для боя - тыц. Ее хватает за глаза. 

Флэшки - это готовые flash-компоненты, чтобы проще было делать gui? 

38 минут назад, StranikS_Scan сказал:

По wotmod-пакетам и пайтону - все легко гуглится по сайту.

Ну вот как-то до сих пор не нашёл, хотя весь день тут сижу) В том числе в ссылке только пример пайтон скрипта, но не написано что с ним делать чтобы он начал использоваться. В той же теме с примером hello world последнее сообщение как раз про пайтон остается не отвеченным уже больше года..

Edited by Mermaid

Share this post


Link to post

Short link
Share on other sites
1 hour ago, Mermaid said:

wg.swf надо брать где-то в другом месте?

WG начали поставлять их вместе с клиентом уже давно, а раньше их я брал из XVM

https://gitlab.com/xvm/xvm/-/merge_requests/313/diffs вроде XVM тоже переключились на них

 

image.png

image.png

 

1 hour ago, Mermaid said:

Как вообще вы пишете свои моды?

только так, а как еще: https://ru.wikipedia.org/wiki/Обратная_разработка

Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites

Привет всем еще раз! Наверное надоел уже, так что простите) Для меня всегда самым сложным было настроить среду разработки и конфиги, когда чем-то новым начинаешь заниматься и ничего не понятно как-то невесело неделю разбираться во всём чтобы написать хоть что-то

Так что я до сих пор пытаюсь запустить под танками хоть какой-то код, и до сих пор безуспешно. Сформулировал еще несколько вопросов, буду рад если кто-то ответит:

  • Старый hello world с форума закидываю в res_mods (со всеми папками) и происходит ничего. Понимаю что за 5 лет многое должно было измениться, возможно у кого-то есть актуальная версия?
  • Есть ли вообще примеры готовых модов (чем меньше, тем лучше), кроме xvm, в .wotmod или структуре для закидывания в /res_mods, которые можно посмотреть? Пробовал с помощью ориона декомпилировать моды которыми раньше пользовался - все не работают.
  • По поводу XFW так и не понял, он давно добавлен в клиент игры и можно уже писать код с его использованием, или нужно скачивать и компилировать вместе с ним? И если второе, то откуда же его можно скачать и какие именно файлы нужны.
  • Нашел доку про .wotmod, там написано что минимум должно быть /package.wotmod/res /scripts /client /gui /mods /mod_example.pyс. Если этого достаточно, знает ли кто-то пример минимального .py файла, который можно скомпилировать в .pyc или наоборот, который можно так закинуть в .wotmod, чтобы что-то работало?

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

  1. Написать в mod_example.py print("Hello")
  2. Скомпилировать один файл в .pyc 
  3. Закинуть этот файл в /res_mods/0.x.x.x/scripts/client/gui/mods
  4. После запуска игры в python.log появится сам текст

Сижу, пытаюсь что-то найти, куда-то закинуть файл что-бы что-то работало, но не могу сделать то, что делается 2 минуты, потому что понятия не имею как эти базовые шаги надо делать

Share this post


Link to post

Short link
Share on other sites
47 minutes ago, Mermaid said:
  • Написать в mod_example.py print("Hello")
  • Скомпилировать один файл в .pyc 
  • Закинуть этот файл в /res_mods/0.x.x.x/scripts/client/gui/mods
  • После запуска игры в python.log появится сам текст

так я не понял, в чем тут проблема?

скидывай res_mods архивированный что-ли

47 minutes ago, Mermaid said:

По поводу XFW так и не понял, он давно добавлен в клиент игры и можно уже писать код с его использованием, или нужно скачивать и компилировать вместе с ним? И если второе, то откуда же его можно скачать и какие именно файлы нужны.

XFW расположен внутри XVM, отдельно его публиковать перестали за невостребованностью

или не перестали ? ссылка вникуда anyway

image.png.1847f7fd7cecb969d1581ccfa8cc36f5.png

 

Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites
10 минут назад, SkepticalFox сказал:

ссылка вникуда anyway

Кажется, пора тегнуть @Mixaill. Он должен знать, в чём дело. И на вопросы про XFW, скорее всего сможет ответить.

Share this post


Link to post

Short link
Share on other sites
21 минуту назад, SkepticalFox сказал:

так я не понял, в чем тут проблема?

скидывай res_mods архивированный что-ли

На самом деле сейчас попробовал сделать как сам написал и увидел результат в логах, прошу прощения за тупой вопрос тогда) Правда старый гайд (окно по F10) выдает ошибку 

2021-07-04 17:48:42.752: ERROR: [EXCEPTION] (scripts/client/gui/mods/__init__.py, 74):
Traceback (most recent call last):
  File "scripts/client/gui/mods/__init__.py", line 67, in _findValidMODs
  File "scripts/common/Lib/importlib/__init__.py", line 37, in import_module
  File "mod_TestWindow", line 2, in <module>
ImportError: cannot import name ViewTypes

, прикрепляю его res_mods. Получается теперь всё, кроме xfw работает, спасибо большое!

26 минут назад, SkepticalFox сказал:

XFW расположен внутри XVM

Видел в /xvm папки xfw_actionscript, xfw_packages, xfw_swf, но там куча всего и непонятно что из этого нужно и как с ним работать.

res_mods_mod_TestWindow.rar

Share this post


Link to post

Short link
Share on other sites
1 minute ago, Mermaid said:

На самом деле сейчас попробовал сделать как сам написал и увидел результат в логах, прошу прощения за тупой вопрос тогда) Правда старый гайд (окно по F10) выдает ошибку 

потому что он старый /0/

могу попробовать обновить, конечно

Share this post


Link to post

Short link
Share on other sites
1 минуту назад, SkepticalFox сказал:

потому что он старый /0/

могу попробовать обновить, конечно

Было бы полезно наверное, если кто-то кроме меня еще будет начинать мододельством заниматься в 2021) Такое и закрепить полезно.

 

А вы используете XFW в своих проектах? Просто если он не так уж и сильно нужен, наверное проще без него начинать.

Share this post


Link to post

Short link
Share on other sites
7 minutes ago, Mermaid said:

А вы используете XFW в своих проектах? Просто если он не так уж и сильно нужен, наверное проще без него начинать.

наверное никто не использует xfw здесь (ну почти), лично я моды не делаю, только небольшой research иногда провожу

Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites
16 минут назад, SkepticalFox сказал:

наверное никто не использует xfw здесь (ну почти), лично я моды не делаю, только небольшой research иногда провожу

 

Да, тоже думаю, что только Паша. Я юзал, но только апи сервера.

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...