Jump to content
Korean Random
Kotyarko_O

[Bug] Задержка (delay) в сниппетах

Recommended Posts

Есть elements.xc с содержимым:

{
  "elements": [
    {
      "$delay": 100,
      "playersPanel": {
        "listLeft": { "y": 25 },
        "listRight": { "y": 25 }
      }
    },
    {
      "$delay": 100,
      "debugPanel": { "y": -3 }
    }
  ]
}

При этом, применяется только второй сниппет (в данном случае - debugPanel).
Меняем их местами - снова работает только второй (в этот раз - playersPanel).
Убираем какой-то из них - оставшийся работает.

 

Теперь убираем задержку запуска ("$delay") у какого-то из них - работают оба.

Что-то здесь не так. И попутно возникает вопрос: актуально ли использование задержки с боевым AS3?

Share this post


Link to post

Short link
Share on other sites

Есть elements.xc с содержимым:

При этом, применяется только второй сниппет (в данном случае - debugPanel).

Меняем их местами - снова работает только второй (в этот раз - playersPanel).

Убираем какой-то из них - оставшийся работает.

Теперь убираем задержку запуска ("$delay") у какого-то из них - работают оба.

Исправил, но не проверял. 

актуально ли использование задержки с боевым AS3?

Надо пробовать, где-то не нужно, где-то нужно.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Исправил, но не проверял.

Работает, спасибо.

Share this post


Link to post

Short link
Share on other sites

6254. Подтверждаю.

Еще почему-то слетел "основной калибр" из ру-макросов (от слова совсем, даже картинку не показывает)

'код'

##########################################
# Главный калибр
# neLeax + Ekspoint edited

import BigWorld
from Avatar import PlayerAvatar
from Vehicle import Vehicle
from gui.Scaleform.Battle import Battle
from xfw import *

class Battle_Info(object):

    def __init__(self):
        self.damage = 0
        self.enemy_hp = {}
        self.start_enemy_hp = 0
        self.actual_arenaUniqueID = None

battle_info = Battle_Info()

@registerEvent(Battle, 'beforeDelete')
def beforeDelete(self):
    battle_info.damage = 0
    battle_info.enemy_hp.clear()
    battle_info.start_enemy_hp = 0
    battle_info.actual_arenaUniqueID = None


def IsLive(vehicleID):
    player = BigWorld.player()
    vehicles = player.arena.vehicles
    return vehicles[vehicleID]['isAlive'] if player is not None else None

def IsFriendly(vehicleID):
    player = BigWorld.player()
    vehicles = player.arena.vehicles
    return vehicles[player.playerVehicleID]['team'] == vehicles[vehicleID]['team'] if player is not None else None

def getVehicleHealth():
    for vehicleID in BigWorld.entities.values():
        if type(vehicleID) is Vehicle:
            if IsLive(vehicleID.id) and not IsFriendly(vehicleID.id):
                battle_info.enemy_hp[vehicleID.id] = vehicleID.health

def New_onEnterWorld(self, vehicle):
    Old_onEnterWorld(self, vehicle)
    getVehicleHealth()

Old_onEnterWorld = PlayerAvatar.vehicle_onEnterWorld
PlayerAvatar.vehicle_onEnterWorld = New_onEnterWorld

@registerEvent(Vehicle, 'onHealthChanged')        
def onHealthChanged(self, newHealth, attackerID, attackReasonID):
    if self.id in battle_info.enemy_hp.keys():
        if attackerID == BigWorld.player().playerVehicleID:
            battle_info.damage += battle_info.enemy_hp[self.id] - newHealth
        battle_info.enemy_hp[self.id] = newHealth
    getVehicleHealth()
    return battle_info.damage
    BigWorld.callback(0.5, lambda: onHealthChanged()) 

@xvm.export('main_gun_text', deterministic=False)
def mainGunText():
    arenaUniqueID = BigWorld.player().arenaUniqueID
    if battle_info.actual_arenaUniqueID != arenaUniqueID:
        battle_info.actual_arenaUniqueID = arenaUniqueID
        battle_info.start_enemy_hp = panel.teams_totalhp[1]
    battletype = BigWorld.player().arena.guiType
    if battletype != 1:
        return 
    else:
        result = int(max(round(battle_info.start_enemy_hp * 0.2), 1000)) - battle_info.damage
        if result <= 0:
            result = "<font face='xvm' color='#80d580' size='21'>x</font>"
    return "<img src='img://gui/maps/icons/achievement/32x32/mainGun.png' vspace='-12'>%s" % (result)

Share this post


Link to post

Short link
Share on other sites

исправил


Еще почему-то слетел "основной калибр" из ру-макросов (от слова совсем, даже картинку не показывает)

Нужно оформить отдельно, с логами. Желательно указать билд, после которого поломалось.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

исправил

Нужно оформить отдельно, с логами. Желательно указать билд, после которого поломалось.

нашел, мой косяк :((   (после коммита с выравниванием totalHp удалил свой аналогичный ру-файл, в т.ч. снес импорт fragCorrelationPanel)

6260 все нормально отображает

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