Jump to content
Korean Random
goodman

Динамические макросы в Python

Recommended Posts

а питон?

так я по привычке заблокировал его запись :)  если без него никак, то придётся разрешить и тогда смогу скинуть... сорри

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

//  "updateEvent":"?????????"

 

если прикрепить к другому доступному, тогда щёлкает, но хотелось родной интервал 0.1 задать..

 

UPD python.log

Edited by goodman

Share this post


Link to post

Short link
Share on other sites

так я по привычке заблокировал его запись :)  если без него никак, то придётся разрешить и тогда смогу скинуть... сорри

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

//  "updateEvent":"?????????"

 

если прикрепить к другому доступному, тогда щёлкает, но хотелось родной интервал 0.1 задать..

так я в самом коде интервал обновления прописал (хотя и так должны были меняться значения)

питон лог нужен

Edited by Ekspoint

Share this post


Link to post

Short link
Share on other sites

хм, все чисто

не работает смена значений или что?

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 Ekspoint

Share this post


Link to post

Short link
Share on other sites

это какое?

скрин?

@xvm.export('DebugInfo', deterministic=False)
def DebugInfo():
    fps = update_debug.fps_update()
    ping = update_debug.ping_update()
    fpsRep = update_debug.fpsRep_update()
    return fps
		{//dbg
		"enabled":true,
//		"updateEvent":"?????????",
		"x":0,"y":100,"width":200,"height":20,
		"currentFieldDefaultStyle":{"name":"GF","size":12,"align":"center"},
		"autoSize":"none","align":"center",
		"format":"{{py:DebugInfo()}}"
			},

пока что на оформление смотреть не нужно, отладка

'скрин'

post-10271-0-68761000-1464983605_thumb.png

Share this post


Link to post

Short link
Share on other sites

import BigWorld
from gui.Scaleform.Battle import DebugPanel
from gui.Scaleform.Battle import Battle
from xfw import *

class Battle_Info(object):

def __init__(self):
self.fps = 0
self.fpsRep = 0
self.ping = 0


battle_info = Battle_Info()

def updateDebugInfo(self, ping, fps, lag, fpsReplay = -1):
self.flashObject.visible = False # standart panel off
def update():
battle_info.fpsRep = fpsReplay if fpsReplay != 0 and fpsReplay != -1 else ''
battle_info.fps = '({fps})'.format(fps=fps) if fpsReplay != 0 and fpsReplay != -1 else fps
battle_info.ping = ping
BigWorld.callback(0, lambda: update())
update()


DebugPanel.updateDebugInfo = updateDebugInfo

class Update_Debug(object):

def fps_update(self):
return battle_info.fps
BigWorld.callback(0, lambda: fps_update())

def fpsRep_update(self):
return battle_info.fpsRep
BigWorld.callback(0, lambda: fpsRep_update())

def ping_update(self):
return battle_info.ping
BigWorld.callback(0, lambda: ping_update())


update_debug = Update_Debug()

@xvm.export('DebugInfo', deterministic=False)
def DebugInfo():
fps = update_debug.fps_update()
ping = update_debug.ping_update()
fpsRep = update_debug.fpsRep_update()

@registerEvent(Battle, 'beforeDelete')
def beforeDelete(self):
battle_info.fps = 0
battle_info.fpsRep = 0
battle_info.ping = 0

Share this post


Link to post

Short link
Share on other sites

@Ekspoint,я отнял у тебя кучу времени.. он обновление так и не работает :(
я с трудом сдерживая эмоции не могу понять- неужели, что бы вытащить четыре параметра в другое поле, нужно столько кода?... я только вчера предположил что начал вникать)) но тут... ппц 

Share this post


Link to post

Short link
Share on other sites

а так

import BigWorld
from gui.Scaleform.Battle import DebugPanel
from gui.Scaleform.Battle import Battle
from xfw import *

class Battle_Info(object):
 
    def __init__(self):
        self.fps = 0
        self.fpsRep = 0
        self.ping = 0

     
battle_info = Battle_Info()

@overrideMethod(DebugPanel, 'updateDebugInfo')            
def updateDebugInfo(base, self, ping, fps, lag, fpsReplay = -1):
    self.flashObject.visible = False # standart panel off
    battle_info.fpsRep = fpsReplay if fpsReplay != 0 and fpsReplay != -1 else ''
    battle_info.fps = '({fps})'.format(fps=fps) if fpsReplay != 0 and fpsReplay != -1 else fps
    battle_info.ping = ping


class Update_Debug(object):
 
    def fps_update(self):
        return battle_info.fps
        BigWorld.callback(0, lambda: fps_update())

    def fpsRep_update(self):
        return battle_info.fpsRep
        BigWorld.callback(0, lambda: fpsRep_update())
   
    def ping_update(self):
        return battle_info.ping
        BigWorld.callback(0, lambda: ping_update())
   
   
update_debug = Update_Debug()

@xvm.export('DebugInfo', deterministic=False)
def DebugInfo():
    fps = update_debug.fps_update()
    ping = update_debug.ping_update()
    fpsRep = update_debug.fpsRep_update()
  
@registerEvent(Battle, 'beforeDelete')
def beforeDelete(self):
    battle_info.fps = 0
    battle_info.fpsRep = 0
    battle_info.ping = 0

Share this post


Link to post

Short link
Share on other sites
а так

 нет, не работает..

я вчера до 4х утра не спал!!потрошил флешки и питон клиента, смотрел связи, имена, но так и не добился ничего((

 

подозреваю, что не хватает кода в самом XVM

Edited by goodman

Share this post


Link to post

Short link
Share on other sites

ну я хз уже

@overrideMethod(DebugPanel, 'updateDebugInfo')            
def updateDebugInfo(base, self, ping, fps, lag, fpsReplay = -1):
    self.flashObject.visible = False # standart panel off
    battle_info.fpsRep = fpsReplay if fpsReplay != 0 and fpsReplay != -1 else ''
    battle_info.fps = '({fps})'.format(fps=fps) if fpsReplay != 0 and fpsReplay != -1 else fps
    battle_info.ping = ping
    print 'fps %s' % battle_info.fps

включи питон лог и глянь потом

Share this post


Link to post

Short link
Share on other sites

 

 

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

Share this post


Link to post

Short link
Share on other sites

бля, я болда


import BigWorld
from gui.Scaleform.Battle import DebugPanel
from gui.Scaleform.Battle import Battle
from xfw import *

class Battle_Info(object):
 
    def __init__(self):
        self.fps = 0
        self.fpsRep = 0
        self.ping = 0

     
battle_info = Battle_Info()

@overrideMethod(DebugPanel, 'updateDebugInfo')            
def updateDebugInfo(base, self, ping, fps, lag, fpsReplay = -1):
    self.flashObject.visible = False # standart panel off
    battle_info.fpsRep = fpsReplay if fpsReplay != 0 and fpsReplay != -1 else ''
    battle_info.fps = '({fps})'.format(fps=fps) if fpsReplay != 0 and fpsReplay != -1 else fps
    battle_info.ping = ping


class Update_Debug(object):
 
    def fps_update(self):
        return battle_info.fps
        BigWorld.callback(0, lambda: self.fps_update())

    def fpsRep_update(self):
        return battle_info.fpsRep
        BigWorld.callback(0, lambda: self.fpsRep_update())
   
    def ping_update(self):
        return battle_info.ping
        BigWorld.callback(0, lambda: self.ping_update())
   
   
update_debug = Update_Debug()

@xvm.export('DebugInfo', deterministic=False)
def DebugInfo():
    fps = update_debug.fps_update()
    ping = update_debug.ping_update()
    fpsRep = update_debug.fpsRep_update()
  
@registerEvent(Battle, 'beforeDelete')
def beforeDelete(self):
    battle_info.fps = 0
    battle_info.fpsRep = 0
    battle_info.ping = 0
Edited by Ekspoint

Share this post


Link to post

Short link
Share on other sites

 

 

я Голда
не увидел разницы в коде, обновления вывода нет.. 

Share this post


Link to post

Short link
Share on other sites

не увидел разницы в коде, обновления вывода нет.. 

а так

def fps_update():
    return battle_info.fps
    BigWorld.callback(0, lambda: fps_update())

@xvm.export('DebugInfo', deterministic=False)
def DebugInfo():
    fps = fps_update()

еще сткпил

import BigWorld
from gui.Scaleform.Battle import DebugPanel
from gui.Scaleform.Battle import Battle
from xfw import *

class Battle_Info(object):
 
    def __init__(self):
        self.fps = 0
        self.fpsRep = 0
        self.ping = 0

     
battle_info = Battle_Info()

@overrideMethod(DebugPanel, 'updateDebugInfo')            
def updateDebugInfo(base, self, ping, fps, lag, fpsReplay = -1):
    self.flashObject.visible = False # standart panel off
    battle_info.fpsRep = fpsReplay if fpsReplay != 0 and fpsReplay != -1 else ''
    battle_info.fps = '({fps})'.format(fps=fps) if fpsReplay != 0 and fpsReplay != -1 else fps
    battle_info.ping = ping


class Update_Debug(object):
 
    def fps_update(self):
        BigWorld.callback(0, lambda: self.fps_update())
        return battle_info.fps

    def fpsRep_update(self):
        BigWorld.callback(0, lambda: self.fpsRep_update())
        return battle_info.fpsRep
   
    def ping_update(self):
        BigWorld.callback(0, lambda: self.ping_update())
        return battle_info.ping
   
   
update_debug = Update_Debug()

@xvm.export('DebugInfo', deterministic=False)
def DebugInfo():
    fps = update_debug.fps_update()
    ping = update_debug.ping_update()
    fpsRep = update_debug.fpsRep_update()
  
@registerEvent(Battle, 'beforeDelete')
def beforeDelete(self):
    battle_info.fps = 0
    battle_info.fpsRep = 0
    battle_info.ping = 0


Share this post


Link to post

Short link
Share on other sites

:sob:


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

Edited by goodman

Share this post


Link to post

Short link
Share on other sites

еще сткпил

м.б. это поможет:

 

когда ты сделал свою Расширенная настройка DebugPanel еще для 0.9.14.1, то у меня "не пошло", вот пост

 

чет не фурычит :(( замирает в начале боя на одном значении (фпс 118, пинг 1) и все...

похожая картина, да? :))  

 

сейчас проверял все, что выложил тут - то же, что и у @goodman, причем логи пустые

 

полез в твою тему и скачал свежую панель для 0.9.15  - все работает :))

'логи'

 

и, кстати, вот это никак не повлияло? (проверяем то все на реплеях!)

Ekspoint, on 29 May 2016 - 17:35, said:

Обновлено:

исправлена работа пинга в реплеях

Edited by Kapany3uk

Share this post


Link to post

Short link
Share on other sites

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


@overrideMethod(DebugPanel, 'updateDebugInfo')            
def updateDebugInfo(base, self, ping, fps, lag, fpsReplay = -1):
    self.flashObject.visible = False # standart panel off
    battle_info.fpsRep = fpsReplay if fpsReplay != 0 and fpsReplay != -1 else ''
    battle_info.fps = '({fps})'.format(fps=fps) if fpsReplay != 0 and fpsReplay != -1 else fps
    battle_info.ping = ping
    @xvm.export('DebugInfo', deterministic=False)
    def DebugInfo():
        return fps

так наверно нельзя :)

Edited by Ekspoint

Share this post


Link to post

Short link
Share on other sites
Да, если не сложно. Можно примерно такие, как в этом моде

добавил палку в шрифт. символ 115 будет

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