Jump to content
Korean Random

kharlashkin

User
  • Posts

    829
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by kharlashkin

  1. Отыграли сегодня 3 боя с сыном, все хорошо, кроме управления камерой (стрелками) - очень плохо и не удобно. Так как на стрелки в скрипте назначены стики - было бы хорошо придумать что-то типа коэфициентов, например возьмем дополнительные стрелки на цифровой клавиатуре и запилить следующий алгоритм стрелка обычная коэфициент 0,5, стрелка на цифровом блоке коэфициент 1 и нажатые одновременно стрелки и там и там, коэфициент 2,5. Я в AHK смогу так назначить на стики отправку нажатий кнопок. Подскажет кто - это реально?
  2. Попробовал поиграться параметрами... Сыпет кучу ошибок, бой не загружается... Может кто разъяснить что делает вот это: def makeVehicleMovementCommandByKeys(self, forceFlags = 204, forceMask = 0): cmdMap = CommandMapping.g_instance flags = 0 if self.__stopUntilFire: return flags if cmdMap.isActiveList((CommandMapping.CMD_MOVE_FORWARD, CommandMapping.CMD_MOVE_FORWARD_SPEC)): flags = 1 elif cmdMap.isActive(CommandMapping.CMD_MOVE_BACKWARD): flags = 2 else: if self.__cruiseControlMode >= _CRUISE_CONTROL_MODE.FWD25: flags = 1 elif self.__cruiseControlMode <= _CRUISE_CONTROL_MODE.BCKW50: flags = 2 isOn = self.__cruiseControlMode == _CRUISE_CONTROL_MODE.FWD50 or self.__cruiseControlMode == _CRUISE_CONTROL_MODE.BCKW50 if isOn: flags |= 16 elif self.__cruiseControlMode == _CRUISE_CONTROL_MODE.FWD25: flags |= 32 rotateLeftFlag = 4 rotateRightFlag = 8 if self.invRotationOnBackMovement and flags & 2 != 0: rotateLeftFlag, rotateRightFlag = rotateRightFlag, rotateLeftFlag if cmdMap.isActive(CommandMapping.CMD_ROTATE_LEFT): flags |= rotateLeftFlag if cmdMap.isActive(CommandMapping.CMD_ROTATE_RIGHT): flags |= rotateRightFlag flags |= forceMask & forceFlags flags &= ~forceMask | forceFlags return flags
  3. Вы знали это и молчали? class _CRUISE_CONTROL_MODE(): NONE = 0 FWD25 = 1 FWD50 = 2 FWD100 = 3 BCKW50 = -1 BCKW100 = -2
  4. Так это то что надо! Значит надо искать, потому как я не попадал на неё в скриптах и именно поэтому и спрашивал на форуме - реально ли?
  5. Прошу прощения, не изменил настройки после редактора...
  6. Итак, есть чем похвастаться ;) Обновленный скрипт: 'TestSplitScreen.ahk' Видео геймплея:
  7. По моему мнению, это не то чтобы "не простой", а "кривой" метод ;) Но спасибо за идею!
  8. Вопрос по прежнему актуален. Неужели ни у кого нет никаких идей? Можно конечно написать алгоритм на AutoHotKey... Надо поразмышлять над этим.
  9. Спасибо за поддержку! Но ещё пилить и пилить скрипт, но начало положено ;)
  10. Проблема оказалась в новой версии VDM, если устанавливаешь новую версию, то после перезагрузки ПК (и ноута тоже) сыпятся ошибки. Установил старую версию найденную на торрентах 2.7 - все работает и на ноуте и на ПК. В целях эксперимента запустил 2 клиента на ПК - при минимальных настройках в обоих окнах более от 50 до 70 фпс - что есть хорошо.
  11. Пришла беда откуда не ждали :( Сегодня днем тестировал режим "разделенного экрана" на ноуте. Разделил с помощью VDM экран на две части, запустил два клиента, разместил их как положено, запустил скрипт AHK, убрал рамки, и откатали один бой (я на геймпаде со скриптом выше, товарищ на клаве/мыше). Настройки в минимум - оба клиента держали около 8-13 фпс. Обрадовался, думал приду домой на более мощном железе получу играбельный SplitScreen. Но блин падает "песочница" на домашнем ПК - при чем выдает такие ошибки каких нет на оф страничке. SBIE2336 Error in GUI server: [67 / 000000AA] SBIE2336 Error in GUI server: [22 / 77000001] SBIE2335 Initialization failed for process Start.exe [88 / 0] SBIE2337 Failed to start program: [55 / 1067] Пичалька... Снёс VDM, песочница завелась - теперь боюсь ставить обратно эту утилиту.
  12. Да, сможет. Окно танков в песочнице имеет системное имя [#] WoT Client [#], геймпады также имеют свой системный номер, для определения есть специальный скрипт. P.S. Мое 100-е сообщение было написано случайно с телефона. Вот он какой - научный прогресс ;)
  13. Вчера копался в скриптах AHK, получилось пока вот это: 'gamepad.ahk' Скрипт позволяет ездить левым стиком, крутить башней правым, есть так же снайперский режим и выстрел. Это все в неактивном окне игры:) Что нужно ещё добавить - нет смешивания клавиш (т.е. я не могу ехать вперед и поворачивать или крутить камеру вверх и вправо), стики надо разнести отдельно, так как при езде и повороте башни танк останавливается или поворот башни и езда перестает крутить онной. Доработал скрипт: 'gamepad.ahk'
  14. Довольно давно видел этот эмулятор, насколько я понимаю, он предоставляет любой геймпад/джойстик как геймпад мелкомягких. Данная фича для игр понимающих геймпад. Танки же не видят геймпад никакой. Вернее даже не так, с помощью отдельного мода, отображающего нажатия кнопок в игре было вычислено что все таки некоторые нажатия кнопок игра воспринимает, об этом есть в этом сообщении. Почему я так зацепился за AotoHotKey - утилита может выступать эмулятором т.е. принимать нажатия кнопок/отклонения стиков и отправлять в игру непосредственно как нажатия клавиш клавиатуры/мыши (интересно с движениями мыши получиться ли). К сожалению времени катастрофически мало досконально все изучить и попробовать, но я не теряю надежду :) К тому же отправка нажатий в неактивный экран танчиков получилась именно в тот момент, когда я в третий раз решил "забить" на это дело.
  15. Вроде вчера ночью получилось у меня отправлять нажатия клавиш в неактивное окно WoT. Скрипт отправляет стрелки, WASD и пробел (переназначить на выстрел в игре) в неактивное окно. Для тестирования так же прилагаю скомпилированный скрипт. 'test.ahk'
  16. Нигде в скриптах не нашел сходу... Может не там искал или же данные команды обрабатываются не python, а самим worldoftanks.exe. Пичалька :( Нет ни у кого никаких мыслей?
  17. Как известно, управление в игре (а именно круиз-контроль), реализованы следующим образом - разделение максимального движения вперед/назад на части (равные или нет - другой вопрос). Реально ли корректировать эти значения, например "первая скорость" - 20%, вторая - 70%? Можно ли попробовать добавить пару промежуточных скоростей, например 1-я 25%, 2-я 50%, 3-я 75% и 4-я 100%?
  18. Мне кажется, что мою темку специально игнорируют из-за возможного использования данного функционала для "подставных боев"... Может кто подсказать какие скрипты отвечают за оконный режим игры?
  19. Спасибо за поддержку словом, иногда этого так не хватает! Я уже два раза думал бросить всерьез это дело (разделенный экран), но каждый раз вроде нахожу что-то, что может помочь в это деле. На следующей неделе вернусь с свою квартиру (сейчас ремонт и живу на съемной), хочу снять видео Split Screen WoT с виртуальными машинками. Так сказать для популяризации идеи ;) AutoHotkey меня приблизил как нельзя сильно к реализации. Во-первых понимает безо всяких проблем геймпады, во вторых умеет отправлять нажатия клавиш в неактивные окна (ну WoT под большим вопросам), но большой проблемой является то, что сама игра не корректно принимает эмуляцию нажатий клавиш от AHK. Идея какова - просто скрипт на AHK, который одновременно является и эмулятором (вместо Xpadder) и отправщиком команд в игру, дело только в том чтобы сделать мод который бы корректно принимал данные только от AHK в неактивном окне. На официальном форуме, в моей темке, хоть голосование и очень вялотекущее, но пока большинство голосовавших уже играют в "пыщь-пыщь" на геймпадах.
  20. Нагуглил вот такой скрипт, но почему то он у меня на завелся, думаю может из-за битности ОС (стоит Win7 Prof 64). Скрипт вроде должен отправлять нажатия клавиш в неактивное окно. Может кто кто рассказать что к чему? Разобрался, нужно было установить Python for Windows extensions, но пока не могу понять что он делает...
  21. 110 000 k если я правильно понимаю - 110 миллионов пользователей? :-0
  22. Только "вибромод" (тут и тут можно почитать).
  23. С помощью AutoHotkey написан простенький скрипт (просьба тапками не кидать), который пробует отправлять в клиент WASD: #SingleInstance #InstallKeybdHook SetControlDelay -1 w:: WinGet, wot, PID, WoT Client ControlSend,, {sc11 Down}, ahk_pid %wot% KeyWait, w ControlSend,, {sc11 Up}, ahk_pid %wot% Return a:: WinGet, wot, PID, WoT Client ControlSend,, {sc1E Down}, ahk_pid %wot% KeyWait, a ControlSend,, {sc1E Up}, ahk_pid %wot% Return s:: WinGet, wot, PID, WoT Client ControlSend,, {sc1F Down}, ahk_pid %wot% KeyWait, s ControlSend,, {sc1F Up}, ahk_pid %wot% Return d:: WinGet, wot, PID, WoT Client ControlSend,, {sc20 Down}, ahk_pid %wot% KeyWait, d ControlSend,, {sc20 Up}, ahk_pid %wot% Return Результат работы скрипта: 1. В активном окне все отрабатывается как надо; 2. В неактивном ангаре жмакая по клавиатуре, нажатия принимаются все сразу, как только окно станет активным; 3. Если первый запуск скрипта и игры, в ангаре выбирается танк, нажимается "В бой!", и переключится в другое окно во время экрана загрузки боя, то после загрузки боя, танк ездит, т.е. игра принимает отправленную эмуляцию нажатий клавиш от утилиты в неактивном окне. 4. Переключаясь между окнами после первого боя, клиент танков перестает принимать эмуляцию от AutoHotkey.
  24. Может кто прояснить, как принимает игра нажатия от клавиатуры?
  25. Вроде прояснилась работа скрипта. Запускаю скрипт, запускаю игру, захожу ангар, выбираю танк, нажимаю "в бой!". При экране загрузки боя выхожу из окна, в бою скрипт работает в неактивном окне. Второй бой, перезапуск скрипта, любый другие действия - скрипт не работает. Даже не так, скрипт то работает - игра не принимает нажатия. Буду пробовать ещё, больше информации - лучше. 'test2.ahk'
×
×
  • Create New...