Jump to content
Korean Random
SV43

Как отловить сообщения над миникартой

Recommended Posts

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

Подскажите где искать?

 

Share this post


Link to post

Short link
Share on other sites

Это через ХУМ, но я так понимаю нужно в питоне реализовать?

 

elements.xc

// Kill-log
        // Килл-лог (лог убитых)
        {
            "$delay": 100,
            // Kill-log
            // Килл-лог (лог убитых)
            "playerMessangersPanel": {
                "_alpha": 0
            }
        },
Edited by Yusha
  • Upvote 1
  • Downvote 3

Share this post


Link to post

Short link
Share on other sites

Начинай копать с gui.battle_control.battle_msgs_ctrl

 

К примеру уничтожение танка: BattleMessagesPlayer.showVehicleKilledMessage

Share this post


Link to post

Short link
Share on other sites

Это через ХУМ, но я так понимаю нужно в питоне реализовать?

 

elements.xc

// Kill-log
        // Килл-лог (лог убитых)
        {
            "$delay": 100,
            // Kill-log
            // Килл-лог (лог убитых)
            "playerMessangersPanel": {
                "_alpha": 0
            }
        },

 

слушай, а их можно сдвинуть через xvm например по центру в низу поставить

Share this post


Link to post

Short link
Share on other sites

слушай, а их можно сдвинуть через xvm например по центру в низу поставить

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

Share this post


Link to post

Short link
Share on other sites

слушай, а их можно сдвинуть через xvm например по центру в низу поставить

Можно. Параметры "_x" и "_y" соответственно.

Share this post


Link to post

Short link
Share on other sites

 

Это через ХУМ, но я так понимаю нужно в питоне реализовать?

 

elements.xc

// Kill-log
        // Килл-лог (лог убитых)
        {
            "$delay": 100,
            // Kill-log
            // Килл-лог (лог убитых)
            "playerMessangersPanel": {
                "_alpha": 0
            }
        },

Суть такова, что их вообще убрать нужно, понятно что надо будет ковырять в питоне а не в xvm

Начинай копать с gui.battle_control.battle_msgs_ctrl

 

К примеру уничтожение танка: BattleMessagesPlayer.showVehicleKilledMessage

Поиск не дал результатов. Или я походу не там смотрю.

Share this post


Link to post

Short link
Share on other sites

Share this post


Link to post

Short link
Share on other sites

Чтобы корректно "вырезать" текстовые сообщения достаточно убрать вызов onShowPlayerMessageByCode в showVehicleKilledMessage

Если тупо в лоб, то:
def showVehicleKilledMessage(self, avatar, targetID, attackerID, equipmentID, reason):
       return

Но тогда отвалится голосовое уведомление при уничтожении тобою противника ;-)

Edited by ShuraBB
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Чтобы корректно "вырезать" текстовые сообщения достаточно убрать вызов onShowPlayerMessageByCode в showVehicleKilledMessage

 

Если тупо в лоб, то:

def showVehicleKilledMessage(self, avatar, targetID, attackerID, equipmentID, reason):

return

 

Но тогда отвалится голосовое уведомление при уничтожении тобою противника ;-)

это же все легко делается

Вообще тогда еще проще захукать onShowPlayerMessageByCode

Edited by Ekspoint
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

>Вообще тогда еще проще захукать onShowPlayerMessageByCode
В принципе да, но его-же использует и showVehicleDamageInfo, так что тоже могут всплыть грабли если в лоб ;-)

Share this post


Link to post

Short link
Share on other sites

это же все легко делается

Вообще тогда еще проще захукать onShowPlayerMessageByCode

Спасибо, так и сделал. Вроде работает. Буду дальше тестировать.

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 showVehicleKilledMessage(self, avatar, targetID, attackerID, equipmentID, reason):
        try:
            playerVehicleID = avatar.playerVehicleID
        except AttributeError:
            return

        isMyVehicle = targetID == playerVehicleID
        isObservedVehicle = not avatar.isVehicleAlive and targetID == avatar.inputHandler.ctrl.curVehicleID
        if isMyVehicle or isObservedVehicle:
            return
        elif targetID == attackerID and self.__battleCtx.isObserver(targetID):
            return
        else:
            code, postfix, sound = self.__getKillInfo(avatar, targetID, attackerID, equipmentID, reason)
            if sound is not None:
                avatar.soundNotifications.play(sound)

            self.onShowPlayerMessageByCode(code, postfix, targetID, attackerID, equipmentID)
            return

По сути закоментил эту строку self.onShowPlayerMessageByCode(code, postfix, targetID, attackerID, equipmentID)

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

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