Перейти к содержимому

Фото

Прицел (без сведения) средствами XVM


  • Чтобы отвечать, сперва войдите на форум
512 ответов в теме

#1 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 24 Январь 2017 - 16:50

*
Популярное сообщение!

С помощью данных макросов можно создать свой прицел (без сведения).
Описание макросов:
{{py:sight.cameraMode}} - возвращает 'arc' - в аркадном , 'sn' - в снайперском, 'str' - в стратегическом (артиллерийском) режиме прицела;
{{py:sight.leftTime(norm)}} - если параметр 'norm' не задан, то возвращается время оставшееся до конца перезарядки (в секундах). Иначе возвращается нормализованное значение;
{{py:sight.reloadPercent}} - время оставшееся до конца перезарядки (в процентах, без знака %);
{{py:sight.reloadTime}} - время перезарядки (в секундах);

{{py:sight.reloadTimeClip}} - время перезарядки между снарядами в барабане (в секундах);
{{py:sight.sight_y(shift)}} - координата y, в зависимости от режима прицела, параметр 'shift' задает смещение от центра прицела;
{{py:sight.quantityShells}} - количество оставшихся снарядов;
{{py:sight.quantityInClipShells}} - количество оставшихся снарядов в барабане;

{{py:sight.quantityInClipShellsMax}} - максимальное количество снарядов в барабане;

{{py:sight.burst}} - количество снарядов, выстреливаемых за одну очередь;
{{py:sight.health(norm)}} - если параметр norm не задан, то возвращает количество оставшихся очков прочности. Иначе возвращает нормализованное значение очков прочности;

{{py:sight.distance}} - дальность полета снаряда (в метрах);

{{py:sight.timeFlight}} - время полета снарядов (в секундах);

{{py:sight.timeAIM}} - время до полного сведения (в секундах), отображает данные только для неподвижной техники;

{{py:sight.nameTarget}} - никнейм игрока находящегося в прицеле;

{{py:sight.vehicleTarget}} - название техники находящейся в прицеле;

{{py:sight.vtypeTarget}} - тип техники находящейся в прицеле (текстовые подстановки из секции vtype файла texts.xc);

{{py:sight.reloadTarget}} - время перезарядки техники находящейся в прицеле;

{{py:sight.visionRadiusTarget}} - обзор техники находящейся в прицеле;

{{py:sight.piercingActual}} - пробивающая способность снаряда при подлете к цели;

{{py:sight.shellType}} - тип заряженного снаряда;

{{py:sight.goldShell}} - возвращает 'gold' если снаряд можно купить за золото, иначе - пусто;

{{py:sight.shellSpeed}} - скорость полета снаряда;

{{py:sight.distanceTarget}} - расстояние до цели,

{{py:sight.autoAimName}} - никнейм игрока находящегося в автоприцеле,

{{py:sight.autoAimVehicle}} - название техники находящейся в автоприцеле,

{{py:sight.autoAimHealth}} - количество очков прочности техники находящейся в автоприцеле,

{{py:sight.cameraHeight}} - высота камеры относительно точки прицеливания.

 

Макросы плавного перехода цветов:

{{sight.dynamic_colorRGB(color_100, color_0, percent, maximum)}}
{{sight.dynamic_colorRBG(color_100, color_0, percent, maximum)}}
{{sight.dynamic_colorGRB(color_100, color_0, percent, maximum)}}
{{sight.dynamic_colorGBR(color_100, color_0, percent, maximum)}}
{{sight.dynamic_colorBRG(color_100, color_0, percent, maximum)}}
{{sight.dynamic_colorBGR(color_100, color_0, percent, maximum)}}

Если параметр maximum не задан, то считается что он равен 100.

Программа для облегчения выбора нужного вам макроса: Прикрепленный файл  Color.rar   903,51 Кб   18 раз скачано

 

Описание событий (в скобках перечислены макросы обновляемые по данному событию):

PY(ON_CAMERA_MODE) - срабатывает при смене режима прицела ({{py:sight.cameraMode}}, {{py:sight.sight_y}});

PY(ON_RELOAD) -  пока орудие перезаряжается срабатывает с частотой 10 раз в секунду ({{py:sight.leftTime}}, {{py:sight.reloadTime}}, {{py:sight.reloadTimeClip}}, {{py:sight.reloadPercent}});

PY(ON_PLAYER_HEALTH) - срабатывает при изменении очков прочности ({{py:sight.health(norm)}});

PY(ON_AMMO_CHANGED) - срабатывает при смене слота снарядов или при изменении количества снарядов в активном слоте ({{py:sight.goldShell}}, {{py:sight.shellType}}, {{py:sight.quantityShells}}, {{py:sight.quantityInClipShells}}, {{py:sight.shellSpeed}});

PY(ON_MARKER_POSITION) - по данному событию обновляются макросы {{py:sight.distance}}{{py:sight.timeFlight}}, {{py:sight.timeAIM}}, {{py:sight.cameraHeight}};

PY(ON_TARGET) - срабатывает при наведении на цель ({{py:sight.nameTarget}}, {{py:sight.vehicleTarget}}, {{py:sight.vtypeTarget}}, {{py:sight.visionRadiusTarget}}, {{py:sight.piercingActual}}).

PY(ON_AUTO_AIM) - срабатывает при зазвате техники в автоприцел ({{py:sight.autoAimName}}, {{py:sight.autoAimVehicle}}, {{py:sight.autoAimHealth}}).

 

Пример использования (у меня хватило сил сделать только аркадный режим))):


 

Скачать:

Скрипт: 0.9.19.1.1 Прикрепленный файл  sight.rar   6,41 Кб   22 раз скачано

              0.9.20_СТ Прикрепленный файл  sight.rar   6,4 Кб   4 раз скачано

Файл конфига: Прикрепленный файл  sight.xc   2,68 Кб   33 раз скачано


Параметр:

    // true - не отображать количество снарядов
    "removeQuantityShells": true, 

работает только с модифицированным файлом battleCrosshairsApp.swf, который необходимо скопировать в \res_mods\Х.Х.Х.Х\gui\flash\

Файл Прикрепленный файл  battleCrosshairsApp.rar   33,15 Кб   28 раз скачано .


P.S. Если ко-то решится сделать свой прицел, пишите какие еще макросы нужны.

 

 

Конфигурация прицела от fgcwsxjegcbk2014.

Конфигурация прицела от WarDogs_Alex.


Изменено: ktulho, 05 Август 2017 - 15:23

  • 25

#2 Kotyarko_O

Kotyarko_O

    =P

  • Premium Member
  • 5 654 сообщений
  • Nick:Kotyarko_O
  • WoT Server:RU (Русский), EU (European)
  • Город: Одесса

Опубликовано 24 Январь 2017 - 16:55

ktulho, я вот начинал делать то же самое =)


  • 0

#3 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 24 Январь 2017 - 17:02

ktulho, я вот начинал делать то же самое =)

:gawi:


  • 0

#4 Slava7572

Slava7572
  • Premium Member
  • 5 219 сообщений
  • Nick:Slava7572
  • WoT Server:RU (Русский)
  • Город: Мариуполь,Украина

Опубликовано 24 Январь 2017 - 17:10

Воистину ХВМ становится глобальным модом,практически все есть))))


  • 0

#5 KL1SK

KL1SK
  • Пользователь
  • 49 сообщений
  • Nick:KL1SK
  • WoT Server:RU (Русский)

Опубликовано 24 Январь 2017 - 21:55

В идеале нужно скрестить с этим. И то и это фишки для прицела.

Нужно добавить: дистанцию до цели, при отсутствии цели - дистанция до точки сведения. максимальное количество снарядов в барабане, динамический цвет для перезарядки и хп.

Скрытие стандартных элементов: снаряды и дистанция до цели.

И да, вещь очень полезная, не нужно искать себе прицел по душе. Поставил, настроил, забыл.


Изменено: KL1SK, 24 Январь 2017 - 23:35

  • 1

#6 Kapany3uk

Kapany3uk

    07.10.15 Родилась внучка!

  • Пользователь
  • 2 954 сообщений
  • Nick:Kapany3uk
  • WoT Server:RU (Русский)
  • Город: дер. Осеченки

Опубликовано 25 Январь 2017 - 05:30

какие еще макросы нужны

вот тут писал :)) 

 

еще хотелки:

- для настройки хотелось бы работоспособность в реплеях (посмотрел только время перезарядки, показывает нули), если возможно...

- по окончании перезарядки в "leftTime" хотелось бы увидеть надпись типа "готов" (поскольку полное время перезарядки можно выводить через "reloadTime") - как настроить?

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


Изменено: Kapany3uk, 25 Январь 2017 - 06:26

  • 2

#7 napeHb_u3_npeucnogHeu

napeHb_u3_npeucnogHeu
  • Пользователь
  • 7 сообщений

Опубликовано 25 Январь 2017 - 07:22

пишите какие еще макросы нужны.

 

Время подлета боеприпаса к цели (для арт. прицела)


  • 0

#8 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 25 Январь 2017 - 18:51

- для настройки хотелось бы работоспособность в реплеях (посмотрел только время перезарядки, показывает нули), если возможно...

, работает в риплеях.

 

- по окончании перезарядки в "leftTime" хотелось бы увидеть надпись типа "готов" (поскольку полное время перезарядки можно выводить через "reloadTime") - как настроить?

, как обычно

{{py:sight.leftTime>0?{{py:sight.leftTime%3.1f}}|Готов}} 
- в стандартном прицеле показывает время перезарядки между снарядами в барабане - такой макрос нужен отдельно, чтобы одновременно смотреть и полную перезарядку и в барабане...

, типа reloadTimeClip?

 

- круг разлета осколков (для классического арт-прицела, для БА - не уверен) текущего фугаса
, не представляю как это сделать графически.

Изменено: ktulho, 25 Январь 2017 - 18:53

  • 0

#9 Kapany3uk

Kapany3uk

    07.10.15 Родилась внучка!

  • Пользователь
  • 2 954 сообщений
  • Nick:Kapany3uk
  • WoT Server:RU (Русский)
  • Город: дер. Осеченки

Опубликовано 26 Январь 2017 - 03:39

, работает в риплеях.

показывает нули, а хотелось бы таймеры...

, типа reloadTimeClip?

Да. И чтобы reloadTime всегда показывал только полную перезарядку, а reloadTimeClip только между снарядами в барабане...
  • 0

#10 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 05:12

показывает нули, а хотелось бы таймеры...

,  0 показывает до начала боя (исправлю), а потом нормально.

Прикрепленный файл  shot_066.jpg   94,03 Кб   3 раз скачано


  • 0

#11 ЛОМ

ЛОМ
  • Пользователь
  • 459 сообщений
  • Nick:ЛОМ
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 08:43

мда... скоро прицелы вовсе ненужны будут))) и самое главное красиво же получается))) и функционально конечно же)))


  • 0

#12 demon2597

demon2597

    конфигОратор

  • Premium Member
  • 14 612 сообщений
  • Nick:demon2597
  • WoT Server:RU (Русский)
  • Город: Иваново

Опубликовано 26 Январь 2017 - 09:45

пишите какие еще макросы нужны

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

отпадная тема, большое спасибо! теперь осталось найти время это попробовать:)

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


Изменено: demon2597, 26 Январь 2017 - 09:47

  • 1

#13 vlad_cs_sr

vlad_cs_sr

    [aka leecher88]

  • Premium Member
  • 6 551 сообщений
  • Nick:vlad_cs_sr
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 10:29

, не представляю как это сделать графически.
в смысле, нарисовать круг определённого диаметра вокруг центрального маркера не получится?
  • 0

#14 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 10:55

в смысле, нарисовать круг определённого диаметра вокруг центрального маркера не получится?

А как менять размер? Менять масштаб? Или менять ширину и высоту?


  • 0

#15 Kapany3uk

Kapany3uk

    07.10.15 Родилась внучка!

  • Пользователь
  • 2 954 сообщений
  • Nick:Kapany3uk
  • WoT Server:RU (Русский)
  • Город: дер. Осеченки

Опубликовано 26 Январь 2017 - 11:18

А как менять размер? Менять масштаб? Или менять ширину и высоту?

м.б. размером картинки? изначально использовать картинку максимального размера с вписанным кругом (300х300 к примеру), а в процессе "подгонки" под конкретный танк размер будет пропорционально уменьшаться (клиент вроде ресайзит без искажений)

 

ktulho, тут проблема, по-видимому зависит от разрешения экрана:

Прикрепленный файл  shot_402.jpg   52,27 Кб   1 раз скачано

зеленый - клиентский таймер, белый - из аддона

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

Как поправить?


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


Изменено: Kapany3uk, 26 Январь 2017 - 11:15

  • 0

#16 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 11:33

Kapany3uk В аддоне, с помощью макроса sight_y, выравнивается относительно центрального маркера. С помощью макроса cameraMode определяй режим прицела,  и размещай где захочешь в соответствующем режиме. 


Изменено: ktulho, 26 Январь 2017 - 11:36

  • 2

#17 vlad_cs_sr

vlad_cs_sr

    [aka leecher88]

  • Premium Member
  • 6 551 сообщений
  • Nick:vlad_cs_sr
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 12:58

А как менять размер? Менять масштаб? Или менять ширину и высоту?

эм, ну не знаю.. смотреть на зум в прицеле (в принципе, это тока для арт-режима нужно ж), и как-то масштабировать от него?.. а как это делается во флеш-прицелах?


  • 0

#18 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 13:12

Мне кажется, изображение будет "мылиться". И при увеличении изображения , линия круга будет утолщаться, а при уменьшении становиться тоньше. 


  • 0

#19 Kapany3uk

Kapany3uk

    07.10.15 Родилась внучка!

  • Пользователь
  • 2 954 сообщений
  • Nick:Kapany3uk
  • WoT Server:RU (Русский)
  • Город: дер. Осеченки

Опубликовано 26 Январь 2017 - 16:55

Мне кажется, изображение будет "мылиться". И при увеличении изображения , линия круга будет утолщаться, а при уменьшении становиться тоньше. 

а если взять максимально используемый размер как основу? тогда все остальные случаи - это уменьшение базовой картинки, и если при этом толщину круга в основе сделать 1рх, то даже при самом сильном уменьшении останется эта же толщина (меньше, чем 1рх комп не умеет :)) 

конечно "мыло" останется, но, КМК, будет уже не так сильно различаться в крайних случаях...


  • 0

#20 ktulho

ktulho
  • Premium Member
  • 4 437 сообщений
  • WoT Server:RU (Русский)

Опубликовано 26 Январь 2017 - 22:15

а если взять максимально используемый размер как основу? тогда все остальные случаи - это уменьшение базовой картинки, и если при этом толщину круга в основе сделать 1рх, то даже при самом сильном уменьшении останется эта же толщина (меньше, чем 1рх комп не умеет :)) 

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

 

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

 

Нарисовал круг диаметром 1000 вывел как 200 на 200 (уменьшил в пять раз). Результат:

 

Прикрепленный файл  shot_067.jpg   11,86 Кб   1 раз скачано


Добавил:

{{py:sight.distance}} - дальность полета снаряда (в метрах);
{{py:sight.timeFlight}} - время полета снарядов (в секундах).

PY(ON_MARKER_POSITION) - по данному событию обновляются макросы {{py:sight.distance}} и {{py:sight.timeFlight}}.

  • 3





0 пользователей читают эту тему

0 зарегистрированных, 0 гостей, 0 невидимых

© Mr 13