Jump to content
Korean Random
vlad_cs_sr

Предложения по стандартному конфигу / Suggestions for default config

Recommended Posts

Так то можно обыграть отображение дроби:

"format": "{{xvm-stat?{{chancesStatic}}{{chancesStatic? / |}}{{chancesLive}}}}"

ок

 

Но особого смысла в отображении статичного шанса на победу я не вижу, как и отмечал ранее @seriych.

по-моему, голую цифру в интерфейсе оставлять тоже не надо

Share this post


Link to post

Short link
Share on other sites

по-моему, голую цифру в интерфейсе оставлять тоже не надо

 

Ну что тут думать, с дробью разобрались теперь добавлю подпись:

"format": "{{xvm-stat?{{l10n:Chance to win}}: {{chancesStatic}}{{chancesStatic? / |}}{{chancesLive}}}}"

'Только одно но'

 

Все таки не до конца удалось дробь отформатировать.

 


При галках в ЛК:

 

"Шанс на победу: В бою"

"Шанс на победу: В бою (динамический)"

 

Вид:

 

50% / 45%

 


При галках в ЛК:

 

"Шанс на победу: В бою (динамический)"

 

Вид:

 

45%

 


При галках в ЛК:

 

"Шанс на победу: В бою"

 

Вид:

 

50% /

 

Edited by night_dragon_on
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Имхо, подпись будет только загромождать интерфейс, нужность только дин.шанса - спорно, мне, например, интересен больше стат.шанс в сравнении с дин.

Проще отключить по-умолчанию поле, оставив два макроса, а подпись - добавляется на усмотрение пользователя, если он хочет видеть только шанс одного типа

Edited by wotunion

Share this post


Link to post

Short link
Share on other sites
Проще отключить по-умолчанию поле, оставив два макроса

 

Сейчас так и сделано

    "winChance": {
      "enabled": false,
      "updateEvent": "ON_VEHICLE_DESTROYED",
      "x": 230,
      "y": 2,
      "width": 50,
      "height": 20,
      "autoSize": "left",
      "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 },
      "currentFieldDefaultStyle": { "color": "0xF4EFE8", "size": 15 },
      "format": "{{xvm-stat?{{l10n:Chance to win}}: {{chancesStatic}}{{chancesStatic? / |}}{{chancesLive}}}}"
    },

Edited by night_dragon_on

Share this post


Link to post

Short link
Share on other sites

Сделано с подписью

 

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

 

Когда цифр две - аналогично шансам при загрузке (и там есть пояснения , что это "шансы"), а если одна, то надо прописать, наверно, что это.
по-моему, голую цифру в интерфейсе оставлять тоже не надо
Edited by night_dragon_on

Share this post


Link to post

Short link
Share on other sites
мне, например, интересен больше стат.шанс в сравнении с дин.

мне тоже (хотя в целом мне шансов по ТАВ хватает, в боевом окне не нужны)

PS ты про альфу теней в полях ушей и миникарты не забыл? жду с нетерпением)

Edited by demon2597

Share this post


Link to post

Short link
Share on other sites

 

 

PS ты про альфу теней в полях ушей и миникарты не забыл? жду с нетерпением)
 

Нет, не забыл) Где-то через недельку приступлю, времени нет


Мне показалось, или в релизной версии 6.2.2 обновление полей сломалось? (смотрю дин.шанс)

Share this post


Link to post

Short link
Share on other sites

 

 

Мне показалось, или в релизной версии 6.2.2 обновление полей сломалось? (смотрю дин.шанс)
Не сломалось вроде, всё обновляется.

Share this post


Link to post

Short link
Share on other sites

Не сломалось вроде, всё обновляется.

 

@sirmax,

Я нашел,

если "allowSpottedStatus": false, то не обновляется, так раньше не было (и если "allowHpInPanelsAndMinimap": false, частично тоже)

 

В одном из коммитов был убран диспатчер ивента E_PLAYER_DEAD из PlayersPanel.as, а отсюда (BattleMain.as):

 

public function as_xvm_onBattleStateChanged(targets:Number, playerName:String, clanAbbrev:String, playerId:Number, vehId:Number,

        team:Number, squad:Number, dead:Boolean, curHealth:Number, maxHealth:Number, marksOnGun:Number, spotted:String):Void

    {

        try

        {

            //Logger.addObject(arguments);

            var data:Object = { };

            if (playerName != null)

                data["playerName"] = playerName;

            if (clanAbbrev != null)

                data["clanAbbrev"] = clanAbbrev;

            if (!isNaN(playerId))

                data["playerId"] = playerId;

            if (!isNaN(vehId))

                data["vehId"] = vehId;

            if (!isNaN(team))

                data["team"] = team;

            if (!isNaN(squad))

                data["squad"] = squad;

            data["dead"] = dead;

            if (Config.config.battle.allowHpInPanelsAndMinimap && !isNaN(curHealth))

            {

                data["curHealth"] = curHealth;

            }

            if (Config.config.battle.allowHpInPanelsAndMinimap && !isNaN(maxHealth))

                data["maxHealth"] = maxHealth;

            if ((Config.config.battle.allowHpInPanelsAndMinimap || Config.config.battle.allowMarksOnGunInPanelsAndMinimap) && !isNaN(marksOnGun))

                data["marksOnGun"] = marksOnGun;

            if (Config.config.battle.allowSpottedStatus && spotted != null)

                data["spotted"] = spotted;

            //Logger.addObject(data);

            var updated:Boolean = BattleState.update(playerId, data);

            if (updated)

            {

                //Logger.add("updated: " + playerName);

                GlobalEventDispatcher.dispatchEvent(new EBattleStateChanged(playerId));

                if (dead)

                {

                    GlobalEventDispatcher.dispatchEvent( { type: Events.E_PLAYER_DEAD, value: playerId } );

                }

            }

        }

        catch (ex:Error)

        {

            Logger.add("onBattleStateChanged: [" + ex.name + "] " + ex.message);

        }

    }

 

ивент вроде не генерируется при вышеуказанных условиях

Edited by wotunion

Share this post


Link to post

Short link
Share on other sites

@sirmax,

Я нашел,

если "allowSpottedStatus": false, то не обновляется, так раньше не было

В одном из коммитов был убран диспатчер ивента E_PLAYER_DEAD из PlayersPanel.as, а отсюда (BattleMain.as) ивент вроде не генерируется

Да, похоже на то. Наверно лучше всего убрать "allowSpottedStatus", сейчас производительность не должна уже на этом падать, по крайней мере не сильно.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Наверно лучше всего убрать "allowSpottedStatus"

Не совсем понял, выставить ему дефолтный "зашитый" True?

А если 

if (dead)
                {
                    GlobalEventDispatcher.dispatchEvent( { type: Events.E_PLAYER_DEAD, value: playerId } );
                }

выставить перед

if (updated)

Так:

data["dead"] = dead;
if (dead)
                {
                    GlobalEventDispatcher.dispatchEvent( { type: Events.E_PLAYER_DEAD, value: playerId } );
                }

...

if (updated)

Максимум 30 генераций за бой, spotted больше будет

Edited by wotunion

Share this post


Link to post

Short link
Share on other sites

А если 

if (dead)
                {
                    GlobalEventDispatcher.dispatchEvent( { type: Events.E_PLAYER_DEAD, value: playerId } );
                }

выставить перед

if (updated)

да, можно. только лучше после. я закоммичу

хотя нет, тут другая ситуация. если игрок умер, то dead поменяется на true и updated будет равно true. Так что причина другая. Скорей всего as_xvm_onBattleStateChanged не вызывается.

data["dead"] = dead;
if (dead)
                {
                    GlobalEventDispatcher.dispatchEvent( { type: Events.E_PLAYER_DEAD, value: playerId } );
                }

...

if (updated)

Максимум 30 генераций за бой, spotted больше будет

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

Edited by sirmax

Share this post


Link to post

Short link
Share on other sites

 

 

если игрок умер, то dead поменяется на true и updated будет равно true
 

as_xvm_onBattleStateChanged вызывается, потому что dead по факту изменяется на true, иначе GlobalEventDispatcher.dispatchEvent( { type: Events.E_PLAYER_DEAD, value: playerId } ); никогда бы не генерировалось, а оно генерируется, если allowSpottedStatus=false

var updated:Boolean = BattleState.update(playerId, data);
            if (updated)
            {
                //Logger.add("updated: " + playerName);
                GlobalEventDispatcher.dispatchEvent(new EBattleStateChanged(playerId));
                if (dead)
                {
                    GlobalEventDispatcher.dispatchEvent( { type: Events.E_PLAYER_DEAD, value: playerId } );
                }
            }

Что-то или в BattleState.update или dead всегда True


 

 

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

Да, точно 

Share this post


Link to post

Short link
Share on other sites

Что-то или в BattleState.update или dead всегда True

Тут проблема в том, что в PP тоже меняется battleState:

                var obj:BattleStateData = BattleState.get(uid);
                obj.frags = frags || NaN;
                //Logger.addObject(item);
                obj.ready = (vehicleState & net.wargaming.ingame.VehicleStateInBattle.IS_AVATAR_READY) != 0 && !Boolean(item.isOffline);
                obj.dead = (vehicleState & net.wargaming.ingame.VehicleStateInBattle.IS_ALIVE) == 0;
                if (obj.dead == true && (!isNaN(obj.curHealth) && obj.curHealth > 0))
                    obj.curHealth = 0;

наверно не надо в ушах dead ставить

да и вообще в ушах battleState менять не стоит, надо будет отрефакторить это все.

попробуй пока закомментировать "obj.dead = ...", если поможет, закоммитим пока так

изменения нужно делать только в ветке default, для 0.9.14 это не критично

Edited by sirmax

Share this post


Link to post

Short link
Share on other sites
Тут проблема в том, что в PP тоже меняется battleState:

 

Ну, или вернуть диспатчер в PP

 

да, логами подтверждается, что в

 

if (ud != data) в public static function update(playerId:Number, data:Object):Boolean

 

ud и data будут равны всегда для dead, по вышеназванной причине

 

Вот кусочек:

 

 

"playerId": 000000000,

  "team": 1,

  "squad": 0,

  "clanAbbrev": "",

  "vehId": 6465,

  "playerName": "playername",

  "dead": true

}

2016-05-09 00:26:09: [b:2052] Data input data

2016-05-09 00:26:09: [b:2053] [obj]: 0000000

2016-05-09 00:26:09: [b:2054] ud is

2016-05-09 00:26:09: [b:2055] [obj]: 0000000

2016-05-09 00:26:09: [b:2056] Data input data

2016-05-09 00:26:09: [b:2057] [obj]: 1

2016-05-09 00:26:09: [b:2058] ud is

2016-05-09 00:26:09: [b:2059] [obj]: 1

2016-05-09 00:26:09: [b:2060] Data input data

2016-05-09 00:26:09: [b:2061] [obj]: 0

2016-05-09 00:26:09: [b:2062] ud is

2016-05-09 00:26:09: [b:2063] [obj]: 0

2016-05-09 00:26:09: [b:2064] Data input data

2016-05-09 00:26:09: [b:2065] [obj]: ""

2016-05-09 00:26:09: [b:2066] ud is

2016-05-09 00:26:09: [b:2067] [obj]: ""

2016-05-09 00:26:09: [b:2068] Data input data

2016-05-09 00:26:09: [b:2069] [obj]: 6465

2016-05-09 00:26:09: [b:2070] ud is

2016-05-09 00:26:09: [b:2071] [obj]: 6465

2016-05-09 00:26:09: [b:2072] Data input data

2016-05-09 00:26:09: [b:2073] [obj]: "playername"

2016-05-09 00:26:09: [b:2074] ud is

2016-05-09 00:26:09: [b:2075] [obj]: "playername"

2016-05-09 00:26:09: [b:2076] Data input data

2016-05-09 00:26:09: [b:2077] [obj]: true

2016-05-09 00:26:09: [b:2078] ud is

2016-05-09 00:26:09: [b:2079] [obj]: true

2016-05-09 00:26:10: FlashBeforeDelete: VehicleMarkersManager.swf

2016-05-09 00:26:10: FlashBeforeDelete: battle.swf

2016-05-09 00:26:11: FlashBeforeDelete: lobby.swf

 

 

 

попробуй пока закомментировать "obj.dead = ...", если поможет, закоммитим пока так
 

Сейчас попробую

Edited by wotunion

Share this post


Link to post

Short link
Share on other sites

Ну, или вернуть диспатчер в PP

нельзя, не место ему там

Share this post


Link to post

Short link
Share on other sites

 

 

попробуй пока закомментировать "obj.dead = ...", если поможет, закоммитим пока так
 

Да, так работает, сейчас запуллю

Share this post


Link to post

Short link
Share on other sites

Лампу не надо в уши.

Если индикатор в уши впихнули, то лучше уж с лампой. Может так?

"bgColor": "{{x-sense-on?{{x-spotted?0xFFBB00|{{.colors.system.ally_alive}}}}|0xD9D9D9}}"
Если без xmqp - ничего. Если с xmqp и лампа не прокачана -серый. Если прокачана - зеленый (точнее цвет союзников). Если загорается - цвет xmqp (может его куда-то в colors.xc вынести?) Edited by seriych

Share this post


Link to post

Short link
Share on other sites
Если индикатор в уши впихнули, то лучше уж с лампой

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

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

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

Edited by demon2597

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