Jump to content
Korean Random

STREJlA

User
  • Content Count

    18
  • Joined

  • Last visited

Posts posted by STREJlA


  1. Типичный пример кода на костылях. Список участников боя берется из арены, но перехват события осуществляется в GUI.

    Это в стиле "подождем очередь в булочной, но закупаться пойдем в мясную лавку". Если информация берется из арены, то и хук надо ставить там же, на отработку получения этой самой информации.

    Либо вообще на более высокий уровень идти, там приходят уже распределенные ивенты (например, g_sessionProvider). Арена - это достаточно низкий уровень. Но на высоких уровнях требуется классовая организация кода. В частности, через g_sessionProvider добавляется листенер-объект/класс, уже не помню, через который можно получать события на арене.

    Выделяешь ли ты свой код в функцию - это особого значения не имеет. Многие подходы сами по себе дикие костыли.

    Что означает приставка g_ в названиях ивентов?


  2.  

    Спасибо!

    Нагуглил такой код. Немного подправил - работает. В данном примере, как я понял, помимо вызова стандартного обработчика происходит вызов "левой" функции.

    Такой подход есть смысл использовать?

     

    from gui.Scaleform.battle_entry import BattleEntry

     

    def MYM1():

        #мой код

       

    def new_BattleEntry_afterCreate(self):

        MYM1()

        old_BattleEntry_afterCreate(self)

       

    old_BattleEntry_afterCreate = BattleEntry.afterCreate

    BattleEntry.afterCreate=new_BattleEntry_afterCreate


  3. Про моды писать - это не гайд по паблик АПИ) Это ТИТАНИЧЕСКИЙ труд)

     

    Гайдов много, но сколько ни пиши - всё равно найдётся тот, кому мало. Потому что тема огромная и задачи у всех разные.

     

    Так что лучше писать, а не жаловаться, будто другие не пишут). Другие тоже пишут, когда могут)

     

     

    Так задавай вопросы! Для этого и существует форум) Чем точнее вопрос тем больше шансов, что получишь инфу)

    Как выполнить созданную мной функцию X при начале боя?

    другими словами - повесить коллбек на событие.

     

    P.S. Без XFW


  4. Тут моды обновлять хрен успеваешь, так еще и доки фиксить? Апи оно стейбл, а тут нихрена не стейбл, даже близко никогда не было.

    Было б так просто, написал один раз и забыл на десятка полтора патчей. Ан нет, почти каждый патч приходится что-то править.

    Я не говорю, что все плохо и все плохие.

    Я давно знал, что рано или поздно мне придется делать моды самостоятельно, но опасался, что это будет сложно.

    Это сложно для новичка. Для новичка всегда и все сложно. Возникает множество негативных эмоций.

    Я понимаю, что в каждой обнове меняют всё что можно. Я понимаю, что доки мододелов очень быстро устареют.

    Но блин! Найти хоть какую то крупицу инфы адски сложно.

    Даже мало-мальского список внутри-игровых событий нет.

     

    Ладно. Не будем оффтопить. Это лишь мои впечатления за 4 дня. Я только начал разбираться и многого еще не читал/искал/пробовал.

    Посмотрим как пойдет.


  5. От тебя идет очень паршивый посыл - никто мне бедненькому помочь не хочет. И на этом педалируемом чувстве вины у других ты хочешь решить свои проблемы чужими руками.

     

    Теперь по сути. 

    Модами (конкретно под WoT) занимается относительно узкий круг людей. Занимаются они ими, в подавляющем числе случаев, как хобби (то есть интереса ради). Подумай, это очень интересно копаться в коде ради ЧУЖОГО интереса. Вот если это станет им интересно - они могу копать день и ночь. Если это не заинтересовало, тогда будет ответ в РАМКАХ имеющихся знаний. Упрощенно - если знают, то скажут. А если не знают - не скажут.

    А по поводу гайдов и доков. Если ты будешь регулярно это делать - тебя будут хвалить и возносить (иногда). ТЫ БУДЕШЬ ДЕЛАТЬ ГАЙДЫ И ДОКИ? (опять же банальщина - люди любящие ковыряться в коде не любят такую нудную и скучную работу как написание гайдов и доков).

    Я шарю в вебе. Гайды и доки по WG P API писал. Сам разбирался в методах и по ходу дела статьи писал. Здесь такого не наблюдаю.


  6. О. Я уже школьник неадекват =)

     

    Не делятся в том плане, что сообщество мододелов очень небольшое. Нет толковых гайдов и доков.

    Инфа разбросана по всему инету. И не смотря на то, что на данном форуме её наибольшая концентрация - разобраться самостоятельно и сделать свой первый мод крайне трудно.

    Я понимаю, что это не вина сообщества. Но сообщество не заинтересованно менять сложившуюся ситуацию, поскольку в таких условиях проще зарабатывать.


  7. Сам являюсь веб разработчиком, делаю сервисы связанный с танками.

    Учусь делать моды. В первой теме, которую прочитал на данном форуме есть задача, на решение которой потратил 3 дня.

    Узнал много нового, но изначальную задачу не решил.

     

    Готов скинуть на яндекс деньги 500 рублей за код который в орионе создаст окно чата с игроком X и отправит ему сообщение Y

    Для переписки используйте ЛС

     

     

    по состоянию на 14.10.16 23:15 МСК - Не актуально


  8. Ну это нормально. Мы тоже хотели сначала чат после боя сделать, а получился XVM... ;-)

    Смешно. Еще смешнее будет, когда я найду нужный метод и пойму, насколько все было элементарно.

     

    А по факту спасайте - я уже реально всё, что можно попробовал.


  9. Не, все через питон ходит все равно. В AS лезть смысла нет, если ты интерфейсы пилить не собираешься. А вот в обработчики заглянуть стоит.

    Добрался до \res\scripts\client\messenger\gui\Scaleform\channels

    Может в этих дебрях чего найду...


  10. Абсолютно не там ищешь, если тебе нужно окно. Этот модуль отвечает за низкоуровневую обработку информации, а окно - это высокий уровень уже.

    Это намек на то, что двигаться нужно в направление gui?

    Или же с actions script разбираться?


  11. День потратил, облазил ClientChat и кучу других исходников.

    Так и не получилось вызвать окно чата, такое как создается при вызове контекстного меню -> отправить сообщение

    Единственное что получилось найти - BigWorld.player().createPrivate() Однако это не то, что нужно.

    И в орионе уже все, что можно изучил. Не понимаю где можно еще искать.

    Подскажите плз.


  12. 1. Поиск по слову "messenger" в декомпилированных исходниках, и дальнейшее изучение того, как это реализовано.

    Довольно быстро находится класс ClientChat, в котором есть необходимые методы.

     

    2. К entrypoint это никак не относится, тут точка входа должна быть по окончании боя. Тут уже есть несколько вариантов, надо для начала определить что нам нужно:

      1. выход в ангар после завершения боя

      2. выход в ангар до завершения боя

      3. окончание боя, после выхода в ангар до завершения боя

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

    Здорово. Спасибо!

    И немного оффтопный вопрос. Реально ли настроить (переделать) XMQP под свой AMQP (RabbitMQ) сервер? В какую сторону копать?


  13. Это питон, там рулят импорты, эвенты и хуки. Достаточно изучить исходники в репозитарии на предметов, какие модули можно импортировать и что в них есть. К каким эвентам можно цепляться. И какие полезные методы можно хукать.

    А как же быть если в примерах никто нужный мне метод не юзал?

     

    Спасибо. Инфу по обеим ссылкам уже детально изучил. Но так и не нашел ответ на свой вопрос.

     

    Возьмем задачу которую описал ТС. Где искать модуль который отвечает за работу чата?

    • Upvote 1
×
×
  • Create New...