Jump to content
Korean Random
ktulho

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

Recommended Posts

 добавил макрос:

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

Спасибо, работает.

Share this post


Link to post

Short link
Share on other sites

Спасибо, работает.

Можно Ваши наработки по выводу типа боеприпаса? И ХП тоже =)

Спасибо.

Share this post


Link to post

Short link
Share on other sites

 

 

Приветствую, подскажите, есть ли возможность например в этом коде макросы вывести разным цветом?
, можно, например так:
"textFormat": { "align": "left", "valign": "top", "color": "0xCCCCCC" },
"format": "<font size='16' color='#FF0000'>{{py:sight.shellType}}: <font color='#00FF00'>{{py:sight.quantityShells}}</font></font> шт."

Share this post


Link to post

Short link
Share on other sites

Можно Ваши наработки по выводу типа боеприпаса? И ХП тоже =)

Ну, не совсем мои. Все на основе конфигов fgcwsxjegcbk2014 и ktulho, и советов H_E_K_P_O_M_A_H_T_. Спасибо им.

А так - пожалуйста:

 

///////////////////////////  прицел в аркадном режиме //////////////////////

	// Количество оставшихся очков прочности в ХП.
    "health": {
      "enabled": true,
      "updateEvent": "PY(ON_PLAYER_HEALTH), PY(ON_CAMERA_MODE)",
      "x": 180,
      "y": "{{py:math.sum({{py:sight.sight_y}}, -15)}}",
      "rotation": 0,
      //"borderColor": "0xFF0000", //!!!
      "width": 90,
      "height": 32,
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : "{{py:sight.cameraMode=arc?100|0}}",
      "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "left", "valign": "bottom", "color": "0x{{py:sight.dynamic_colorGRB( 0x00FF00, 0xFF0000,{{py:sight.health(100)}})}}" },	  
      "format": "<font size='22'>{{py:sight.health}}</font><font size='20'></font> хп."
    },
	
    // Количество оставшихся снарядов.
    "shells": {
      "enabled": true,
      "updateEvent": "PY(ON_AMMO_CHANGED), PY(ON_CAMERA_MODE)",
      // "scaleX": -1,
      "x": 180,
      "y": "{{py:math.sum({{py:sight.sight_y}}, 20)}}",
      "rotation": 0,
      //"borderColor": "0xFF0000", //!!!
      "width": 90,
      "height": 32,
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : "{{py:sight.cameraMode=arc?100|0}}",
      "shadow": { "distance": 1, "angle": 315, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "left", "valign": "top", "color": "0x{{py:sight.goldShell=gold?FFCC66|CCCCCC}}" },
      "format": "<font size='16'>{{py:sight.shellType}}: {{py:sight.quantityShells}}</font> шт."
    },

///////////////////////////  прицел в снайперском режиме /////////////////////

    // Количество оставшихся очков прочности в ХП.
    "health_sn": {
      "enabled": true,
      "updateEvent": "PY(ON_PLAYER_HEALTH), PY(ON_CAMERA_MODE)",
      "x": 260,
      "y": "{{py:math.sum({{py:sight.sight_y}}, -15)}}",
      "rotation": 0,
      //"borderColor": "0xFF0000", //!!!
      "width": 90,
      "height": 32,
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : "{{py:sight.cameraMode=sn?100|0}}",
      "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "left", "valign": "bottom", "color": "0x{{py:sight.dynamic_colorGRB( 0x00FF00, 0xFF0000,{{py:sight.health(100)}})}}" },		  
      "format": "<font size='22'>{{py:sight.health}}</font><font size='20'></font> хп."	  
    },

    // Количество оставшихся снарядов.	
    "shells_sn": {
      "enabled": true,
      "updateEvent": "PY(ON_AMMO_CHANGED), PY(ON_CAMERA_MODE)",
      "x": 260,
      "y": "{{py:math.sum({{py:sight.sight_y}}, 20)}}",
      "rotation": 0,
      //"borderColor": "0xFF0000", //!!!
      "width": 90,
      "height": 32,
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : "{{py:sight.cameraMode=sn?100|0}}",
      "shadow": { "distance": 1, "angle": 315, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "left", "valign": "top", "color": "0x{{py:sight.goldShell=gold?FFCC66|CCCCCC}}" },
      "format": "<font size='16'>{{py:sight.shellType}}: {{py:sight.quantityShells}}</font> шт."
    },	

 

Поле кол-ва снарядов целиком меняет цвет золотой/серебрянный. Подумываю перекрашивать цифры в красный, когда снаряды подходят к концу. Но не могу для себя определить: мало - это сколько? То что для Е-25 мало, для FV215b (183) почти полный боекомплект.

 

Цвет ХП совпадает с XVM, но немного не совпадает с ВГ-шным цветом в средней части. Пока не решил, насколько это критично.

 

post-29375-0-59930300-1495004750.jpg post-29375-0-71090000-1495004750.jpg

 

P.S. Народ, весь конфиг прицела выкладывать, когда сочту его законченным? Нужно кому-то?

, можно, например так:

"textFormat": { "align": "left", "valign": "top", "color": "0xCCCCCC" },
"format": "<font size='16' color='#FF0000'>{{py:sight.shellType}}: <font color='#00FF00'>{{py:sight.quantityShells}}</font></font> шт."

Да, спасибо, я не сразу допер, что  в "textFormat"и в "format" код цвета в разных форматах. Поэтому и не работало :)

Edited by WarDogs_Alex
  • Upvote 3

Share this post


Link to post

Short link
Share on other sites

@ktulho, глянь по кд арты снова раньше сработал макрос. 

глянь ещё логи, ошибку пишет

TypeError: CrosshairPanelContainerMeta_as_showHintS() takes exactly 6 arguments (7 given)

 

 

Share this post


Link to post

Short link
Share on other sites

 

 

глянь по кд арты снова раньше сработал макрос. 
, повторяю вопрос:

 

 

H_E_K_P_O_M_A_H_T_, на риплее не воспроизводится? 

Share this post


Link to post

Short link
Share on other sites

я просматривал и на реплее


кд арты  периодически не правильно считает, это был не единственный бой если что.

Share this post


Link to post

Short link
Share on other sites
глянь ещё логи, ошибку пишет

, не воспроизводится.

 

 

кд арты  периодически не правильно считает, это был не единственный бой если что.

, в какой момент времени не правильно считается?

Edited by ktulho

Share this post


Link to post

Short link
Share on other sites

в конце, на сек 10 раньше срабатывает. Вот ещё может покажет.

 


 

Share this post


Link to post

Short link
Share on other sites

в конце, на сек 10 раньше срабатывает.

, вроде все нормально. За секунду до перезарядки:

post-17624-0-08957900-1495052464_thumb.jpg

 

Через секунду:

post-17624-0-69199600-1495052480_thumb.jpg

Share this post


Link to post

Short link
Share on other sites

в арт режиме пробуй -  там срабатывал раньше.

Share this post


Link to post

Short link
Share on other sites

Как-то криво у меня работает макрос {{py:sight.reloadTime}} на барабанной Шкоде 50.

Два боя подряд.

Во время перезарядки честно показывает время перезарядки барабана. Как только барабан заряжен начинает показывать время перезарядки между снарядами в барабане.

На реплее не воспроизводится.

post-29375-0-17522200-1495066185.jpgpost-29375-0-32744100-1495066185.jpg

 

а вот скрин из реплея:

post-29375-0-77150000-1495066223.jpg

 

 

Конфиг:

// Время оставшееся до конца перезарядки (в секундах). Слева.
"timeReload": {
      "enabled": true,
      "updateEvent": "PY(ON_RELOAD), PY(ON_CAMERA_MODE)",
      "x": -160,
      "y": "{{py:math.sum({{py:sight.sight_y}}, -15)}}",
      "rotation": 0,
      "width": 50,
      "height": 32,
      //"borderColor": "0xFF0000", //!!!
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : "{{py:sight.cameraMode=arc?100|0}}",
      "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "right", "valign": "bottom", "color": "0x{{py:sight.leftTime=0?00FF00|FF0000}}" },
      //"format": "<font face='DS-Digital' size='24'>{{py:sight.leftTime=0?{{py:sight.quantityInClipShells>0?{{py:sight.reloadTimeClip%3.2f}}|{{py:sight.reloadTime%3.2f}}}}|{{py:sight.leftTime%3.2f}}}}</font>"
      "format": "<font size='20'>{{py:sight.leftTime=0?{{py:sight.quantityInClipShells>0?{{py:sight.reloadTimeClip%3.1f}}|OK}}|{{py:sight.leftTime%3.1f}}}}</font>"
    },

// Время перезарядки (в секундах). Слева.
    "baseTimeReload": {
      "enabled": true,
      "updateEvent": "PY(ON_RELOAD), PY(ON_CAMERA_MODE)",
      "x": -160,
      "y": "{{py:math.sum({{py:sight.sight_y}}, 20)}}",
      "rotation": 0,
      "width": 50,
      "height": 32,
      //"borderColor": "0xFF0000", //!!!
      "screenHAlign": "center",
      "screenVAlign": "center",
      "alpha" : "{{py:sight.cameraMode=arc?100|0}}",
      "shadow": { "distance": 1, "angle": 90, "alpha": 90, "blur": 5, "strength": 3 },
      "textFormat": { "align": "right", "valign": "top", "color": "0x00FFFF" },
      "format": "<font size='16'>{{py:sight.reloadTime%3.1f}}</font>"
    },

 

 

А на этом скрине из того же боя глюкнул вывод оставшегося времени до перезарядки барабана - должен выводить время перезарядки между снарядами, но на секунду вывел "ОК":

 

post-29375-0-45507100-1495066728.jpg

python.log

xvm.log

Edited by WarDogs_Alex

Share this post


Link to post

Short link
Share on other sites

 

 

весь конфиг прицела выкладывать, когда сочту его законченным? Нужно кому-то?
да, наработки всегда важны.

Share this post


Link to post

Short link
Share on other sites

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

res_mods\configs\xvm\py_macro\xvm

utils.py

utils.pyc

падение  происходит для нижнего предела значений довольно значительно до 15-20 FPS при наличии файлов, если удалить то есть падение не такое значительное правда и прицел пропадает, но если сделать файлы пустыми то отображается

 

 

могут ли на производительность оказывать записи в макросе sight следующие строки?

 

import BigWorld
import Math
import math

import ProjectileMover
import BattleReplay
from projectile_trajectory import computeProjectileTrajectory
from constants import SERVER_TICK_LENGTH, SHELL_TRAJECTORY_EPSILON_CLIENT
from Vehicle import Vehicle
from Avatar import PlayerAvatar
from xfw import *
from xvm_main.python.logger import *
import xvm_main.python.config as config
from xvm import utils
from helpers import dependency
from skeletons.account_helpers.settings_core import ISettingsCore
from AvatarInputHandler.AimingSystems.ArcadeAimingSystem import ArcadeAimingSystem
from AvatarInputHandler.AimingSystems.SniperAimingSystem import SniperAimingSystem
from AvatarInputHandler.AimingSystems.StrategicAimingSystem import StrategicAimingSystem
from AvatarInputHandler import gun_marker_ctrl
from gui.Scaleform.daapi.view.meta.CrosshairPanelContainerMeta import CrosshairPanelContainerMeta
from VehicleGunRotator import VehicleGunRotator
from gui.battle_control.controllers.consumables.ammo_ctrl import AmmoReplayPlayer
from tutorial.control.battle.functional import _StaticObjectMarker3D
import gui.Scaleform.daapi.view.battle.shared.crosshair.plugins as plug

 

 

в чем может быть дело ?

Edited by fgcwsxjegcbk2014
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

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

res_mods\configs\xvm\py_macro\xvm

utils.py

utils.pyc

падение  происходит для нижнего предела значений довольно значительно до 15-20 FPS при наличии файлов, если удалить то есть падение не такое значительное правда и прицел пропадает, но если сделать файлы пустыми то отображается

 

 

могут ли на производительность оказывать записи в макросе sight следующие строки?

 

import BigWorld

import Math

import math

import ProjectileMover

import BattleReplay

from projectile_trajectory import computeProjectileTrajectory

from constants import SERVER_TICK_LENGTH, SHELL_TRAJECTORY_EPSILON_CLIENT

from Vehicle import Vehicle

from Avatar import PlayerAvatar

from xfw import *

from xvm_main.python.logger import *

import xvm_main.python.config as config

from xvm import utils

from helpers import dependency

from skeletons.account_helpers.settings_core import ISettingsCore

from AvatarInputHandler.AimingSystems.ArcadeAimingSystem import ArcadeAimingSystem

from AvatarInputHandler.AimingSystems.SniperAimingSystem import SniperAimingSystem

from AvatarInputHandler.AimingSystems.StrategicAimingSystem import StrategicAimingSystem

from AvatarInputHandler import gun_marker_ctrl

from gui.Scaleform.daapi.view.meta.CrosshairPanelContainerMeta import CrosshairPanelContainerMeta

from VehicleGunRotator import VehicleGunRotator

from gui.battle_control.controllers.consumables.ammo_ctrl import AmmoReplayPlayer

from tutorial.control.battle.functional import _StaticObjectMarker3D

import gui.Scaleform.daapi.view.battle.shared.crosshair.plugins as plug

 

 

в чем может быть дело ?

Модуль utils.py используется в макросах динамической раскраски. Если вы их не используете, то он ни как не должен влиять на производительность. 

То что вы вывели под спойлером, это импорт объектов из других модулей. Удаляя эти строки вы нарушаете функционирование мода.

Share this post


Link to post

Short link
Share on other sites

@ktulho, пару раз в бою на арте ОФ - не показывал (пусто) в обоих режимах. На реплее норм всё. Вот логи после боя сохранил, может что покажут.

Хочу выделить полное сведение так: {{py:sight.timeAIM>0?...|...}} - при перемещении прицела после полного сведения показывает полное сведение  , хотя он расходится. Может нужен отдельный макрос ?

 

Share this post


Link to post

Short link
Share on other sites

Подскажите, какой шрифт используется в полях по умолчанию?

Share this post


Link to post

Short link
Share on other sites

Подскажите, какой шрифт используется в полях по умолчанию?

"font": "$FieldFont",

Share this post


Link to post

Short link
Share on other sites
"font": "$FieldFont",

 

Спасибо.

 

ktulho, попрошу еще один макрос - Скорость полета снаряда. 

Нужен в аркадном и снайперском режиме, чтобы правильно брать упреждение.

Если,конечно эту инфу отдает клиент...

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

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

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

 

 

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

и не надо никаких расчетов "в уме" ))

вот поэтому любопытно, а зачем скорость полета снаряда в прицеле?!

Share this post


Link to post

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...