Jump to content
Korean Random

GPCracker

User
  • Posts

    2,827
  • Joined

  • Last visited

  • Days Won

    62

Everything posted by GPCracker

  1. Вобщем, спросили в личку в конфе разработки, отвечаю всем. Все просто. Когда приходит эвент от клавиатуры, в нем есть 4 параметра. Клавиша, флаги модификаторов (Ctrl, Alt, Shift), флаг нажатия (нажата или отпущена) и флаг повторного вызова при удерживании (ну если в текстовом редакторе кнопку зажать, то символы начинают быстро повторяться). У шортката есть параметры: клавиша, модификаторы, режим (кнопка или переключатель), флаг инверсии, и флаг разрешенности обработки "повтора". Повтор в моде везде игнорируется. Все остальные параметры вынесены в конфиг. Если кнопка находится в режиме "кнопка" (switch = False), то генерируемый хендл (что-то типа функции, на вход приходит начальное состояние, на выходе имеем конечное) меняет любое значение на True, если кнопка была нажата, и False, если была отпущена. Если имеет место инверсия (invert = True), то все происходит наоборот - False при нажатии, True при отпускании. В качестве "входного значения" выступает значение activated соответствующей фичи. Т.е. в режиме "кнопка" фича активируется при нажатии и деактивируется при отпускании (так работает захват дистанции дальномера). Если инверсия - деактивируется при нажатии, и активируется снова при отпускании (так работает SafeShot). Если кнопка находится в режиме переключателя (switch = True), то в режиме (invert = False) хэндл возвращает всегда переданное ему значение без изменений при отпускании, а при нажатии инвертирует его (меняет на противоположное). В режиме invert = True инверсия происходит при отпускании. В режиме свича находятся все кнопки, переключающие что-либо. Например, отключение инфо-панели, переключение в артоснайп (имеется ввиду "по-дефолту"). В текущей дефолтной конфигурации на переключателях инверсия отключена. Ввод этого параметра ликвидировал необходимость использования костылей в SafeShot, так как там в отличие от всех остальных мест необходимо при нажатии наоборот отключать фичу, а не включать ее. Теперь вопрос решается включением инверсии. Хотя параметр не разрабатывался специально для SafeShot, он выплыл сам по себе в процессе разработки унифицированной логики обработчика клавиатуры.
  2. Хммм. Раскопал немного по-подробнее... Да, камуфляжи (текстуры) там есть, но зарыты немного в другом месте. И непонятно зачем добавлены подкрашенные текстуры танкам. Есть желтые, серые, красные даже. Зачем - пока не понимаю. Я так понял, там на танках объявления рекламного характера даже расклеивают)) Вообще хлама там не просто много, а реально до***. Выпилить бы все что можно оттуда, а лучше алгоритм взять (я уже примерно понял, как сие поделие работает), а код весь запилить самому и по-нормальному, чтобы закинул текстуру - и крась ей кого хошь)))
  3. Глянул я обзором... Там не наложением камуфляжа сделано... А заменой текстур самого танка. Не гуд. Пока если честно нет времени особо, м.б. потом придумаю, как кастомные камуфляжи прикручивать грамотно. Кстати, интересно, кто автор сего творения?
  4. А так это чисто камуфляжи поменять мод? А че так дохрена в нем файлов? Там же надо то всего один скрипт и шкурки... Или я чето не понял? И он делает что-то еще? Или @steaxch ошибся темой?
  5. Или я чего-то не понял, или ты в лог явно не вчитывался... или в твоем посте что-то не так написано (возможно очепятка). Причина ошибки тут в другом. Кто-то пытается обратиться к атрибуту '__sendMessage', но все дело в том, что атрибуты, начинающиеся с double-underscore автоматически переименовываются при компиляции в _<Имя-класса>__<Имя-атрибута>. Внутри метода (функции) new_inviteReceived файла "scripts\client\mods\ButtonReplacer.py" нужно поменять <объект>.__sendMessage на <объект>._DynSquadMessagesController__sendMessage. Если бы изначально шло обращение к "_DynSquadMessagesController_sendMessage" - в логе так бы и прописалось.Если конечно это не случай, когда автор намеренно извне создает там такой атрибут именно с таким (__sendMessage) именем. Но что-то я такого не встречал пока. Тогда нужно смотреть, почему обращение к атрибуту идет до его определения:)
  6. Если честно, давно не работал с флешем. Есть такой мод... ModSettingsAPI, глянь у них репо, может там есть какой пример. Ну или кто еще подскажет чего.
  7. Сделай пожалуйста нормальное описание, что за мод, что он делает со скринами и т.д. И перепакуй пожалуйста архив без пароля, реально напрягает немного, когда файлы по одному смотришь. За файлы конечно плюс, но есть некоторые правила оформления тем, как-никак.
  8. Блин, ну хоть читайте тему немного! Писали и не один раз и тут, и в разделе хелпа, а все равно некоторые до сих пор задают подобные вопросы. Я понимаю, ну юзвера читать не умеют, но мододелам надо бы уметь хоть немного - читать тему или пользоваться поиском по теме. WindowsManager в поиск по теме и ответ в одном из постов-результатов. Там даже написано что и на что надо поменять! Гайд не может всегда быть 100% правильным, ибо автор пишет его один раз, а картоха каждый патч что-то меняет. Извиняюсь за некоторого рода флуд, но реально немного подгорает иногда.
  9. Бывает) А что разве traceback и логи нынче не помогают решить проблему?
  10. What you mean about simple message? In lobby you can append text to some other text... sometimes HTML is supported.
  11. Только если посчитать руками. Ну или взять где уже посчитанное. Картоха с сервера отправляет сколько осталось тебе кдшиться в бою, поэтому реального кд в клиенте вряд ли получится найти. Бонусы от оборудования известны. Список оборудования на танке получить тоже можно. Остается только посчитать несложную арифметику. Да, и не забывай, что есть барабанные пушки, и им КД нужно считать с учетом того, сколько в барабане снарядов сейчас.
  12. There is a font problem. Only characters, existing in BW font, could be used. Russian supported on RU client, as well as Latin characters, but umlaut need to be replaced manually. Try to open textures from system/font. Use Flash instead. There is full unicode support, if your font have required characters, of course.
  13. Все просто и понятно. Конкретика будет если конкретно укажешь, с какими параметрами у тебя проблемы. Снайперский для арты включается тут: commonAS/sniperModeSPG Сменить enabled с False на True, при необходимости можно сменить хоткей в той же секции, коды клавиш внизу файла. По умолчанию E. Поддерживаю. За это отвечает блок strategicAS/aimCorrection/relativeMode Все необходимые настройки, связанные с относительным смещением точки прицеливания в артиллерийском режиме делаются там. Если не понятно, что там ставить, опиши подробно что хочешь поменять, скажу какие параметры как выставить. Что касается явно запрещенного функционала в моде. 1. Был маркер упреждения, потом картоха поломала векторную скорость танков, маркер перестал работать, и в новой версии его нет. 2. Что касаемо автоприцела, можно немного изменить параметры захвата (доп. рентген + коробка), за это отвечает отдельный блок конфига (commonAS/autoAim). Что насчет легальности данных вещей, существуют различные трактовки и мнения (срач не разводим!), (хотя в пункте 12 под спойлером явно указано: "Данная модификация меняет поведение автоприцела, меняя как точку прицеливания, так и/или сам алгоритм выбора точки прицеливания."), мод точку прицеливания НЕ ИЗМЕНЯЕТ. Тем не менее, все, кто считает данное читом, может спокойно выставить оба параметра (useXRay, useBBox/enabled) вышеуказанного блока в False и спать спокойно. З.Ы. Данное имеет отношение ТОЛЬКО для RU кластера. З.Ы.Ы. Мод не ориентирован конкретно на RU кластер. Попадались в теме посты и на английском.)) З.Ы.Ы.Ы. В моде через конфиг можно отключить практически все что угодно.
  14. Понятно вобщем. Первое - модифицированный статический коллижн тест. Второе - это у них там своя кухня, я не заморачиваюсь над координатами камеры, а просто изменяю её вектор направления. Ну про третье - хз. Немного поглядел отрисовки трассеров... Зачем-то берут координаты камеры. Зачем - пока не ясно. Тем не менее, эксперимент с максимальным отделением на командирской камере ещё имеет смысл. Если в максимальном отделении трассы видно - значит положение камеры явно учитывается при отрисовки.
  15. У функции loadSwf, определенной в первом фрейме battle.swf, есть в аргументах колобок на загрузку, ЕМНИП. Декомпильни, глянь код. Насчет подкинуть Py функцию - не знаю конечно, но можно попробовать, возможно и покатит. Хотя вряд ли сериализация справится с функцией... DAAPI у них в этом плане немного кривое. Нельзя к примеру получить ссылку DAAPI на AS объект, а потом отдать ее в качестве аргумента AS функции через DAAPI. Там еще кучу косяков найти можно. Вобщем, картоха как всегда, одни дыры, костыли и велосипеды. Но их видно такое вполне устраивает.
  16. Только не говори, что летело в тебя и не долетело)) Кажется, я догоняю в чем прикол. Камера в артоснайпе направлена по траектории снаряда, поэтому снаряд как-бы вылетает из камеры. В нормальном артиллерийском видно ведь...? А от обычного артиллерийского артоснайп отличается только смещенной камерой и модифицированными алгоритмами ее перемещения... Плюс "снайперский" расчет точки прицеливания. В обычном видно, а в артоснайпе нет. Значит прикол в направлении камеры. Ведь по сути в аркадном свой трассер видно, а в снайперском нет? Кстати, в темке BattleAssistant кто-нибудь бывает? Там не попадались случайно отчеты о подобных явлениях? Если и там говорят про ту же петрушку... Значит реально картоха что-то криво намутила c отображением трассеров в зависимости от положения камеры.
  17. Понятно. Так сразу и подумал, что вроде ничего особо не менял... Походу дела они не отображают трассеры, вылетающие "из камеры"... В снайперском (на танке) свой трассер видно?
  18. Надеюсь, собирать свои банки будет не сложнее, чем сейчас.
  19. Да в любом случае я не сяду за AAS раньше, чем закончу с ED. Как раз там будет служебная обнова AAS для совместимости с новой версией некоторых модулей либы. Дело не в сроках, а в том, что мне нужна дополнительная информация, исходя из которой можно установить причину такого неприятного явления. Эффективность моей работы над исправлением багов прямо пропорциональна количеству и качеству информации об этих багах. Самым эффективным баг-репортом, как ни странно для кого-то кажется, является лог питона (конкретно трейсбек), и подробное описание проблемы нередко (70-80% точно) по сравнению с ним нервно курит в сторонке. Потому что трейсбек указывает точные координаты места возникновения исключения (ошибки) в коде (файл, номер строки, имя метода), и что конкретно там произошло (в 70+% случаев этого бывает достаточно). И самые сложные для исправления баги - это такие, которые не инициируют исключения, ибо в таком раскладе сложно понять, "откуда ноги растут". Возможно, это как-то взаимосвязано.... Попробуйте максимальное отдаление камеры ("командирская" в плюс пойдет), возможно удастся увидеть трассер или сплеш.
  20. Блин, я честно не понимаю, в чем может быть причина такого... Вроде как ничего я не менял толком... Только камеру перевел с Matrix на MatrixProvider, чтобы резче работало. Ну и немного структуру кода поменял. Возможно, это просто совпадение. Явно обнаружить причину не получается, да и в логах наверняка пусто. Соответственно четко определить направление раскопок я не могу. Процесс сравнительного анализа кода займет приличное количество времени, поэтому мне нужно быть уверенным, что проблема связана именно с обновленим мода. Насколько я понимаю, проблема чисто визуальная, и на наносимый урон оно никак не влияет. Вобщем, нужно чтобы кто-то завел старую версию на текущем клиенте и провел сравнительный анализ данного вопроса. Сам пока не могу, очень много другой работы.
  21. И тут возникает желание сделать так, чтобы нормальные игроки играли отдельно от ботов и раков))) Это ж надо, какие нынче обидчивые школьники пошли... Как же мы останемся в этой больнице без главврача...
  22. Для разбора подобных случаев и нужен keylogger. Нажимаешь кнопку - светится хоткей.
  23. Разберусь с ED, м.б. обновлю кейлоггер... или прикручу его к WoTScriptTerminal.
  24. 1. Найти в настройках параметр, кнопку переключения режима артиллерийского прицела, перехода в артоснайп. 2. Выяснить название кнопки мыши, которую хочется заюзать, и можно ли ее заюзать вообще. Если ответ неочевиден, используй кейлоггер для WoT, выкладывал раньше, м.б. кто подскажет точнее. 2а. Список всех клавиш есть внизу конфига. 99% кейлоггер не нужен. Оставшийся процент - нестандартные кнопки, геймпад и т.д. Ну или когда нужно проверить, можно ли вообще перехватить такой хоткей. 3. Изменить значение параметра на нужное. Про редакторы написано в шапке - коротко: выкинь виндовый блокнот *****, он ломает конфиг.
  25. Прикольно)) Ну так примерно и подумал - насколько я понял, это наложение текстуры на ландшафт... что-то типа декали? Кстати, не с круга базы случаем срисовывал?)
×
×
  • Create New...