Jump to content
Korean Random
abdullah

Как из мода засечь начало отсчета перед боем?

Recommended Posts

собственно subj, кто знает, какая функция при этом вызывается или какое генерится событие?

 

Share this post


Link to post

Short link
Share on other sites

import BigWorld
from constants import ARENA_PERIOD

BigWorld.player().arena.onPeriodChange += свояФункция

свояФункция(period, *args):
    if period == ARENA_PERIOD.PREBATTLE:
        делаем что надо.

class ARENA_PERIOD:

    IDLE = 0

    WAITING = 1 

    PREBATTLE = 2

    BATTLE = 3

    AFTERBATTLE = 4

 

 

 

g_playerEvents.onAvatarReady

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

Edited by Armagomen_dev
  • Upvote 1

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

>Не Саня, промазал, засекание будет не верным когда загрузка законяится до момента начала отсчета :)

Отсчет начинается именно после этого.

 

Александр а как можно отловить событие когда собственный танк уничтожен?

Пробовал вот так

def hook_onVehicleDeath(self, isDeadStarted=False):
	result = hooked_onVehicleDeath(self, isDeadStarted=False)
	print('DeadVehicle')
	return result
hooked_onVehicleDeath = Vehicle._Vehicle__onVehicleDeath
Vehicle._Vehicle__onVehicleDeath = hook_onVehicleDeath

Но в этом случае принтит в лог уничтожение любого танка ..

 

Кстати ты прав таймер перед боем срабатывает именно по 

def hookTimer():
    hookedTimer()
    print('RunTimer')
    return
hookedTimer = g_playerEvents.onAvatarReady
g_playerEvents.onAvatarReady=hookTimer
Edited by Serfer_78

Share this post


Link to post

Short link
Share on other sites

Пробовал вот так

[ ... ]

Но в этом случае принтит в лог уничтожение любого танка ..

А если так?

def hook_onVehicleDeath(self, isDeadStarted=False):
    if self.id == BigWorld.player().playerVehicleID:
        print('DeadVehicle')
    return hooked_onVehicleDeath(self, isDeadStarted)
hooked_onVehicleDeath = Vehicle._Vehicle__onVehicleDeath
Vehicle._Vehicle__onVehicleDeath = hook_onVehicleDeath

Или попробуй вместо

if self.id == BigWorld.player().playerVehicleID:

поставить такую строку:

if self.isPlayerVehicle:

Edited by MakcT40
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

А если так?

def hook_onVehicleDeath(self, isDeadStarted=False):
    if self.id == BigWorld.player().playerVehicleID:
        print('DeadVehicle')
    return hooked_onVehicleDeath(self, isDeadStarted)
hooked_onVehicleDeath = Vehicle._Vehicle__onVehicleDeath
Vehicle._Vehicle__onVehicleDeath = hook_onVehicleDeath

Или попробуй вместо

if self.id == BigWorld.player().playerVehicleID:

поставить такую строку:

if self.isPlayerVehicle:

 

Кстати пробовал ставить условие if BigWorld.player ... но т.к еще толком не освоил питон не смог правильно его сформулировать..

Попробую твой вариант , отпишусь.

 

MakcT40 от души!!! Прям в яблочко, хук сразу как надо отработал..

 

Просто я там нагородил типа...

player = BigWorld.player()
if not player.isActiveVehicle
print('DeadVehicle').....и т.д )))
Edited by Serfer_78

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.

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