Jump to content
Korean Random

Модлоадер в 9.10


IzeBerg

Recommended Posts

Просто оставлю это тут. Теперь можно избавится от модлоадера CameraNode.

 

В 9.10 добавили модлоадер, Чтобы моды запустились досаточно поместить мод в папку scripts/client/gui/mods и название файла должно начинаться с mod_.

 

Если поставить в constants флаг IS_DEVELOPMENT на True, то будут грузится некомпилированные моды (*.py) с той-же маской имени.

 

Появилось некоторые методы, которые клиент вызывает у мода, например: init, fini, onAccountShowGUI... И в таком духе, найти их можно поиском в исходниках слова guiModsSendEvent или sendEvent. Чтобы они вызывались достаточно создать метод с соответствующим названием в моде.

Edited by IzeBerg
  • Upvote 7
  • Downvote 1
Link to comment
Short link
Share on other sites

CameraNode наше всё.. Тоже работает :gg:

 

Выше на начало тотального контроля смахивает... Хотя в некоторых моментах это и хорошо что вызовы есть, защита от запуска не из игры хоть будет хоть какая..

Edited by KACTET
  • Upvote 1
  • Downvote 6
Link to comment
Short link
Share on other sites

Спустя 5 лет это что мертвому припарки.


 

 

Выше на начало тотального контроля смахивает... Хотя в некоторых моментах это и хорошо что вызовы есть, защита от запуска не из игры хоть будет хоть какая..

 

Сам то понял что написал фигню? 

Link to comment
Short link
Share on other sites

вопрос, почему вылет клиента если я заменяю в модлоадере 

def _isValidMOD(scriptName):
    return scriptName.startswith('mod_') and scriptName.endswith(_MOD_NAME_POSTFIX)

на

def _isValidMOD(scriptName):
    return scriptName.startswith('') and scriptName.endswith(_MOD_NAME_POSTFIX)

а если ставить 

def _isValidMOD(scriptName):
    return scriptName.startswith(_MOD_NAME_POSTFIX) and scriptName.endswith('')

то ваще моды не видит

Link to comment
Short link
Share on other sites

 

 

А так?

def _isValidMOD(scriptName):
    return False if '__init__' in scriptName else True

скрипт грузит, а путь к конфигу найти не может

WARNING: [WARNING] (__init__, 51): There is problem while import gui mod ('gui.mods', 'Spam_message.json')
ERROR: [EXCEPTION] (__init__, 52):
Traceback (most recent call last):
  File "__init__", line 48, in _findValidMODs
  File "scripts/common/Lib/importlib/__init__.py", line 37, in import_module
ImportError: No module named Spam_message.json
Link to comment
Short link
Share on other sites

Спустя 5 лет это что мертвому припарки.

Ну мне из всего больше методы эти понравились. Не красиво это, делать "подмену" методов, а тут просто создал и клиент сам вызовет. Не хватает только handleKeyEvent/handleMouseEvent.

Link to comment
Short link
Share on other sites

 

Но ведь хуки не являются подменой...

 

Я не знаю точных определений, потому и в кавычках. Новичок же)

Но все-равно, не красиво.

Edited by IzeBerg
Link to comment
Short link
Share on other sites

Запилили не для нас, но убирать не будут. Можно использовать.

 

Про тотальный контроль он похоже прав.

Нет, не прав.

 

вопрос, почему вылет клиента если я заменяю в модлоадере то ваще моды не видит

Используй дальше CameraNode зачем менять то что не должно менятся?

 

А по сути, в название добавить "mod_" и внутри чтото такое: клик это не слишком большие ограничения.

Главное теперь ненадо таскать CameraNode и __init__

Edited by POLIROID
Link to comment
Short link
Share on other sites

Спустя 5 лет это что мертвому припарки.

 

Сам то понял что написал фигню?

Да я всегда же как не программист фигню пишу в понимании программиста :heh:

 

Скажи пожалуйста ты проверял? Этот лоадер нормально работает с обфусцированным и наложенным протектором от Ориона на мод?

ERROR: ImportError: No module named xfw_loader

Ещё буду разбираться..

Edited by KACTET
Link to comment
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...