Jump to content
Korean Random

Улучшенная система прицеливания / Advanced Aiming System


GPCracker

Recommended Posts

Хмм... Подумаю, насколько такое реализуемо... Прикол в том, что расстояние нужно считать не до центра танка, а до его краев. Всмысле краев его проекции на плоскость монитора.

 

Ну там же есть всякие операции проецирования. Ты то лучше меня в ихнем матричном модуле Math этом разбираешься.

Link to comment
Short link
Share on other sites

Ну там же есть всякие операции проецирования. Ты то лучше меня в ихнем матричном модуле Math этом разбираешься.

1. Операции проецирования есть. Только не в модуле Math, а написаны на питоне как матричные вычисления в файле scripts/client/AvatarInputHandler/cameras.py

2. Проблема с проецированием контура. Хотя думаю вполне возможно заюзать BoundingBox, прямоугольник вокруг объекта (для тех, кто в танке). Надо будет посмотреть, можно ли определить координаты углов.

В любом случае, алгоритм получается весьма и весьма непростой.

Link to comment
Short link
Share on other sites

Другими словами "Я тебя пну", даже если ты за камнем ))))  

 

Краткость - сестра таланта! Теперь понял, о чем речь... Вот же туплю временами....

  • Upvote 1
Link to comment
Short link
Share on other sites

Люди , человеки ! Подскажите как немного опустить надпись "Высотомер зафиксирован" ? Находится по координатам  0 0.25 1.0 . А то у меня наложение идёт на другие цифры от другого мода. Там уже некуда поднимать , и так высоковато.... Нигде не могу найти более менее понятного объяснения как это сделать...

ЗЫ И где можно увидеть таблицу цветов ? 

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

Хмм... Подумаю, насколько такое реализуемо... Прикол в том, что расстояние нужно считать не до центра танка, а до его краев. Всмысле краев его проекции на плоскость монитора.

Собственно говоря давно рабочий мод от поляка живет себе тут на форуме евросервере.

Исходные тексты он правда в репозитарии перестал обновлять где-то с конца 2014 года, но то что это реализуемо прямое тому доказательство.

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

Находится по координатам  0 0.25 1.0

-1;+1 +0;+1 +1;+1

-1;+0 +0;+0 +1;+0

-1;-1 +0;-1 +1;-1

Последняя координата - уровень слоя (передний план/задний план), ЕМНИП.

Первая Х, вторая У

Цвет в формате RGBA (Red-Green-Blue-Alpha)

  • Upvote 1
Link to comment
Short link
Share on other sites

-1;+1 +0;+1 +1;+1

-1;+0 +0;+0 +1;+0

-1;-1 +0;-1 +1;-1

Последняя координата - уровень слоя (передний план/задний план), ЕМНИП.

Первая Х, вторая У

Цвет в формате RGBA (Red-Green-Blue-Alpha)

C цветами разобрался , СПС. По координатам,немного понять не могу - цифры должны быть кратными 0.5 ?  и отсчёт откуда идёт ? От маркера (то есть от центра) ?

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

По координатам,немного понять не могу - цифры должны быть кратными 0.5 ?  и отсчёт откуда идёт ? От маркера (то есть от центра) ?

Отсчет от центра, числа любые, в диапазоне от -1 до 1. Табличка показывает координаты углов и середины экрана. Координаты от центра экрана. НЕ от маркера, а от геометрического центра монитора. Первое число 0 означает что по горизонтали надпись по центру. Второе число 0,25 показывает, что надпись чуть выше центра по вертикали на 1/4 половины (1/8) высоты монитора. Координаты правого верхнего угла монитора +1;+1, левого нижнего -1;-1.
  • Upvote 2
Link to comment
Short link
Share on other sites

Отсчет от центра, числа любые, в диапазоне от -1 до 1. Табличка показывает координаты углов и середины экрана. Координаты от центра экрана. НЕ от маркера, а от геометрического центра монитора. Первое число 0 означает что по горизонтали надпись по центру. Второе число 0,25 показывает, что надпись чуть выше центра по вертикали на 1/4 половины (1/8) высоты монитора. Координаты правого верхнего угла монитора +1;+1, левого нижнего -1;-1.

Понял , большое спасибо за пояснения , Понятно и коротко.

Link to comment
Short link
Share on other sites

Hello GPCracker!
 
First, many thanks for yours mods (AASMX and also EDMX).
I use AASMX together with auto_aim. AASMX aims the target and follows it; auto_aim is adjusted (no pre-aim) to only allow me during the game to shot at the turret, the body or the lower part of the tank.
 
I read with great interest your work on https://bitbucket.org/GPCracker/advancedaimingsystem and on this blog, yours reflections and all the comments.
 
I have translated for me the messages in AdvancedAimingSystem.xml file (my mother tongue is Frensch). I compile usually your mod with its last commits.
I have allowed myself to write a little modification in your code for a more complete translation of the safeshot messages.
Maybe, this modification might interest others players.

 

--- Code modifications ---

  • In AdvancedAimingSystem.xml file:

In the 3 subsets <commonAS><safeShot><teamShot>|<deadShot>|<wasteShot>, 3 lines added:

...
+     <blockShotReason> My teamShot | deadShot | wasteShot translation </blockShotReason>
...
  • In config.py file, in defaultConfig() function:

In the 3 subsets 'commonAS'/'safeShot'/'teamShot'|'deadShot'|'wasteShot', 3 lines added.
 

...
+     'blockShotReason' : ('WideString', u'teamShot'|'deadShot'|'wasteShot'),
...
  • In Hook-PlayerAvatar.py file, in new_PlayerAvatar_shoot(self, isRepeat = False) function:

3 lines added and 4 lines replaced:

...
blockTeamShot = _config_['commonAS']['safeShot']['teamShot']['blockShot']
+ teamShotReason = _config_['commonAS']['safeShot']['teamShot']['blockShotReason']
blockBlueShot = _config_['commonAS']['safeShot']['teamShot']['blockBlueShot']
sendChatMessage = _config_['commonAS']['safeShot']['teamShot']['sendChatMessage']
chatMessage = _config_['commonAS']['safeShot']['teamShot']['chatMessage']
blockDeadShot = _config_['commonAS']['safeShot']['deadShot']['blockShot']
+ deadShotReason = _config_['commonAS']['safeShot']['deadShot']['blockShotReason']
blockTimeout = _config_['commonAS']['safeShot']['deadShot']['blockTimeout']
blockWasteShot = _config_['commonAS']['safeShot']['wasteShot']['blockShot']
+ wasteShotReason = _config_['commonAS']['safeShot']['wasteShot']['blockShotReason']
...
if blockWasteShot and BigWorld.player().inputHandler.aim.mode is 'arcade' and getGunMarkerData()[3] is None:
-  shotBlockReason = 'wasteShot'
+  shotBlockReason = wasteShotReason
elif blockTeamShot and target is not None and isVehicleAlly(target.id) and (blockBlueShot or not isVehicleTeamKiller(target.id)):
-  shotBlockReason = 'teamShot'
+  shotBlockReason = teamShotReason
elif blockDeadShot and target is not None and isVehicleEnemy(target.id) and not isVehicleAlive(target.id) and target.id in vehiclesDeathTime and vehiclesDeathTime[target.id] + blockTimeout > BigWorld.time():
-  shotBlockReason = 'deadShot'
+  shotBlockReason = deadShotReason
if shotBlockReason is not None:
  showMessageOnPanel('VehicleErrorsPanel', shotBlockReason, formatMessage(shotBlockMessage, shotBlockReason = shotBlockReason), 'red')
-  if shotBlockReason is 'teamShot':
+  if shotBlockReason is teamShotReason:
   teamChannel = getBattleChatControllers()['team'] if sendChatMessage else None
...
  • Upvote 1
Link to comment
Short link
Share on other sites

Thanks for the reply.

I have allowed myself to write a little modification in your code for a more complete translation of the safeshot messages.

You could just left a new function request here, and if function is useful and implementable, it will come soon as an update. All bugs could also be reported in this topic, in accordance with bug report rules. Here are not many users who understand python language, so you could use spoilers or PM, because it's useless information for most of topic visitors. Any way, they will wait for an update.

Your suggestion will be applied soon.

Link to comment
Short link
Share on other sites

А тем временем обратка на евросервере, создателю мода поступило предложение использовать код нашего ТС в его моде и вот он отвечает

EdgeDetect can be configured for AutoAim vehicle so I guess one can you snapping + EdgeDetect (I will give it a try) - any sense of moving it here? Frankly, I see none

 

Link to comment
Short link
Share on other sites

Hello GPCracker!

 

Thanks for the hints to write here. I did'nt understand to what were of use some tools of the editor (and I do'nt speak Russian. Thanks nevertheless for fast but rough Google's translations!).

 

Certainly sorry if I am wrong but, in the last commit ("XRay for RadialMenu added" on https://bitbucket.org/GPCracker/advancedaimingsystem), in "buildIt.cfg" file, there is made a reference to "AdvancedAimingSystem-M/Hook-RadialMenu.py" and I find nowhere such a "Hook-RadialMenu.py" file, neither in "AdvancedAimingSystem-M" directory of Source, nor in the current Download repository zipfile, nor somewhere else. Would it be a forgetting?

Edited by TinySoft
  • Upvote 1
Link to comment
Short link
Share on other sites

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

-Изменена логика работы SafeShot, исправлена блокировка стрельбы по трупу союзника, добавлена функция отслеживания наведения орудия для блокировки дружественного огня.

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

-Частично исправлена проблема с триггерным режимом кнопки сброса автоприцела.

-Добавлена возможность выхода из снайперского прицела на артиллерии, по той же кнопке, что и вход в режим.

-Добавлен случайно забытый в коммите 20932e5 файл "AdvancedAimingSystem-M/Hook-RadialMenu.py" (в собранной версии коммита все ОК, проблема только с репозиторием).

79a129f.zip

Would it be a forgetting?

Yeah. I've forgot to add (stage) a new file to a commit. Fixed. Thanks.

I did'nt understand to what were of use some tools of the editor

You could change language of interface at the top of a page in left corner.
Edited by GPCracker
  • Upvote 2
Link to comment
Short link
Share on other sites

Hello GPCracker!

 

 

 

You could change language of interface at the top of a page in left corner.

 

Thanks! Thanks! Thanks! It's far better already so! Oh my god, I feel so stupid not to have thought of clicking these little flags!

Link to comment
Short link
Share on other sites

Большое спасибо за обнову.

 

Плиз, добавьте параметр расстояние в блок блокировки промахов в аркадном режиме.

Т.к. блокировка нужна в основном при стрельбе с ходу по близко расположенной цели.

Расстояние ближе которого начинает работать блокировка  промаха в аркадном режиме 50

 

И проясните что учитывается при блокировке?

Интересует: простреливаемые объекты, препятствия, нехватка углов наведения, тип снаряда

Link to comment
Short link
Share on other sites

И проясните что учитывается при блокировке?

Если маркер орудия (сведение) находится на на текстурах в аркадном режиме, то выстрелы блокируются. Простреливаемость не учитывается.

В установке расстояния смысла нет.

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

Если маркер орудия (сведение) находится на на текстурах в аркадном режиме, то выстрелы блокируются. Простреливаемость не учитывается.

В установке расстояния смысла нет.

Смысл есть, если стрелять с упреждением по дальней цели в аркадном режиме. :)

А про какие текстуры идет речь? Вражеского танка?

 

Простреливаемость не учитывается.

Если противник за домом, но орудие наведено на его контур,  выстрел будет?

Т.е. блокируется выстрел когда орудие не наведено на противника как явный промах?

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

А про какие текстуры идет речь? Вражеского танка?

Текстуры окружения.

Смысл есть, если стрелять с упреждением по дальней цели в аркадном режиме. :)

Для этого есть снайперский режим.

Т.е. блокируется выстрел когда орудие не наведено на противника как явный промах?

Блокируется, когда в сведении не показана толщина брони. Т.е. между игроком и противником есть препятствия.
  • Upvote 1
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...