Jump to content
Korean Random

GPCracker

User
  • Content Count

    2,827
  • Joined

  • Last visited

  • Days Won

    61

Everything posted by GPCracker

  1. Чет заглянул в новый consumablesPanel... там где снаряды, ремка, аптечка... такой [мат] в плане кода развели, как будто индусы прогали и оплачивали им едой за количество строк... черт ногу сломит в иерархии кода... А мы все удивляемся, почему с каждым патчем ФПС падает... Потому что вещи, которые можно написать в 5 строк описывают в 500 строках ненужных взаимно-обратных преобразований.
  2. Подробно опиши какие модули используешь, что и как вызываешь. Upd. Нашел твою команду... ИД чата напрямую запросом не возвращается, значит его надо запрашивать (искать по критерию)... Upd2. def new_ChatCommandsController_sendChatCommand(self, command): #this method is called without calling original method, this method sends a message! No double message! from messenger import MessengerEntry from messenger.proto.bw.find_criteria import BWPrbChannelFindCriteria, BWBattleTeamChannelFindCriteria from constants import PREBATTLE_TYPE controls = MessengerEntry.g_instance.gui.channelsCtrl criteria = BWPrbChannelFindCriteria(PREBATTLE_TYPE.SQUAD) if _config_['modActivated'] else BWBattleTeamChannelFindCriteria() controller = controls.getControllerByCriteria(criteria) if controller is not None: controller.sendCommand(command) returnЭтот кусок кода из разработки "Взводные команды" Файлы для изучения: scripts/client/messenger/m_constants.py scripts/client/messenger/proto/bw/find_criteria.py scripts/common/chat_shared.py scripts/client/ChatManager.py scripts/client/messenger/gui/Scaleform/channels/bw/factories.py Upd3. Еще до кучи туда же scripts/client/messenger/gui/Scaleform/view/SimpleChannelWindow.py scripts/client/messenger/gui/Scaleform/view/LobbyChannelWindow.py scripts/client/messenger/gui/Scaleform/data/ChannelsCarouselHandler.py Тут инфа по участникам чата есть.. scripts/client/messenger/gui/Scaleform/channels/_layout.py Сюда она наследуется... scripts/client/messenger/gui/Scaleform/channels/bw_chat2/lobby_controllers.py а там... class UnitChannelController... интуиция подсказывает, что scripts/common/constants.py -> PREBATTLE_TYPE.UNIT И из вариантов PREBATTLE_TYPE больше ничего не подходит... Данные по составлению критерия брать здесь scripts/client/messenger/proto/bw/find_criteria.py scripts/client/messenger/proto/bw_chat2/find_criteria.py Не забыть, что PROTO_TYPE.BW_CHAT2 или PROTO_TYPE.BW Типа чат версии 2 как я понял... Тут класс, объект которого возвращается MessengerEntry.g_instance.gui.channelsCtrl scripts/client/messenger/gui/Scaleform/channels/__init__.py В принципе, достаточно получить контроллер чата по схеме выше (скрипт), и вызвать команду типа sendMessage У контроллера должна быть подобная команда. Копай дальше сам)
  3. В работе... Там нужный модуль куда-то дели, ищу куда...
  4. Если в логе пусто и функциональность не нарушается - значит мод работает нормально. Спасибо за информацию.
  5. Упс... что-то серьезно они питон перекопали, судя по тексту целый модуль похерили...
  6. Ну да, просто я объяснил чуваку, что это за хрень и как это понимать) Ну еще дописать первые 8 байт и можно в файл гнать)
  7. Понятное дело, для встречного боя база больше, ведь она на 2 команды одна.)
  8. знакомая замута) выполняешь () == () смотришь результат, заменяешь на результат _ = <res>, _ - это переменная (WTF?), где ее встречаешь, заменяешь на ее значение. Notepad++ вполне справляется. Это типа зашифровано так)
  9. Вот выйдет, там посмотрим. В любом случае в конфиге есть специальный параметр для отключения проверки версии. В разработке захват цели рентгеном, идет тестирование и отладка. Возможно, будет в 0.0.6.
  10. Маркер базы совпадает с положением флага (вроде как, кто проверит - молодец) А радиус этого круга разрабы выбирают от балды (из балансных типа соображений) (скорее всего). Кроме того, маркеры на миникарте - это изображения, у них есть точка привязки и все. И павнятся они по этой точке. Регулировка масштаба - это к разрабам XVM, штатными средствами питона сделать вряд ли получится (по крайней мере при добавлении маркеров баз ни миникарту я видел только позиции маркеров, параметров типа scale я не видел.).
  11. Классная штука, для контроля версий и резервной копии самое то) То, что доктор прописал) Надо pull сделать)
  12. На*** напрягать нормальных игроков, не проще для оленей сделать отдельную очередь балансировщика и все будут довольны? Высота танка = вектор от земли под днищем, если я не ошибаюсь, до крыши башни, всегда перпендикулярен днищу. Исходя из того, что "танка снизу больше чем сверху" (корпус больше башни) множитель высоты эффективнее ставить меньше 0.5, т.е. таким образом, чтобы больше точек силуэта танка было ближе к точке прицеливания. При разных траекториях стрельбы эффективный множитель разный, поэтому его нужно подбирать вручную. Вообще данную функцию имеет смысл использовать только для точной артиллерии (которая попадает в танк, а не кидает только сплешами) и при правильном упреждении иначе возможен нехилый перелет. На ГВТП вырубаю, точность вообще никакая, хоть и немец... На арте вообще в последнее время не играю почти, достала эта лотерея (попал-непопал-без урона) с кд по 40сек. Ваншоты конечно радуют, но 50% точность с учетом сплеша это как-то слишком мало, подъехать ближе на бумажном сарае - не вариант, и бои в последнее время настолько короткие стали, что не то что на арте, вообще играть становится неинтересно. Для арты нужны длинные бои, а не турбосливы за 3-5 мин. Либо союзники сливаются, либо противники. Достало.
  13. 1. Поддерживаются только встроенные шрифты 2. М.б. соответствующий параметр появится в конфиге в след. патче. Неплохо бы для начала оценить его эффективность (см. п.1) Мне кажется, что с каждым патчем потихоньку нерфят точность у всех танков... Натыкался на мнения разрабов по поводу избыточности точности... Не забывай, что большую часть параметров и формул разрабы не публикуют...
  14. #call original code first def new_<className>_<classMethod>(*args, **kwargs): result = old_<className>_<classMethod>(*args, **kwargs) <new code> return result #call hook code first def new_<className>_<classMethod>(*args, **kwargs): <new code> return old_<className>_<classMethod>(*args, **kwargs) #inject code from <module> import <class> old_<className>_<classMethod> = <class>.<classMethod> <class>.<classMethod> = new_<className>_<classMethod>Двойное подчеркивание перед именем переменных в питоне - служебный символ. Обозначает private свойство/метод класса. Для обозначения оригинала/хука лучше использовать префиксы типа old_/new_ или orig_/hook_. В твоем случае: def new_ConsumablesPanel_expandEquipmentSlot(self, idx, tagName, entityStates): if set(entityStates.values()) & set(['destroyed', 'critical']): old_ConsumablesPanel_expandEquipmentSlot(self, idx, tagName, entityStates) return from gui.Scaleform.Battle import ConsumablesPanel old_ConsumablesPanel_expandEquipmentSlot = ConsumablesPanel.expandEquipmentSlot ConsumablesPanel.expandEquipmentSlot = new_ConsumablesPanel_expandEquipmentSlot Компилируешь этот код в *.pyc и закидываешь в папку с модами (scripts/client/mods).CP.zip С ремкой норм работает.
  15. Все ошибки и так выводятся в лог, тут проблема походу в другом... Поскольку маркеры орудий исчезают после N боев, походу здесь переполнение индексов... надо проверить работу деструктора класса zIndexManager, времени пока немного, курсач еще делать надо потихоньку (привет Altium Designer)... Upd. Проверил работу деструктора zIndexManager. Всё нормально. Даже не знаю, в чем может быть причина...
  16. Так - да. Попробую сделать. Версия без GUI. Настройка вручную через *.xml конфиг. Игру при редактировании конфига закрывать необязательно. Камуфляж меняется при смене техники. HangarCamo.zip
  17. Скорее всего переполнение zIndexManager. Будет время - проверю.
  18. То есть в начале какого-то боя они просто не появляются и в послед. боях их тоже нет, пока клиент не перезапустишь?
×
×
  • Create New...