import BigWorld, Vehicle
from Avatar import PlayerAvatar
BigWorld.entity(vehicleID).publicInfo.team == BigWorld.player().team # определение союзника - по ID
BigWorld.entity(vehicleID).isAlive() # определение на то - живой ли - по ID
BigWorld.entity(vehicleID).isPlayer # определение - игрок ли по ID
##### onEnterWorld, onLeaveWorld
import BigWorld
from Avatar import PlayerAvatar
pre_onEnterWorld_init = PlayerAvatar.onEnterWorld
pre_onLeaveWorld_init = PlayerAvatar.onLeaveWorld
def new_onEnterWorld_init(current, prereqs):
pre_onEnterWorld_init(current, prereqs)
# появление в мире (для врагов - засвет)
def new_onLeaveWorld_init(current):
pre_onLeaveWorld_init(current)
# пропадание (для врагов - уход из засвета)
PlayerAvatar.onEnterWorld = new_onEnterWorld_init
PlayerAvatar.onLeaveWorld = new_onLeaveWorld_init
##### VehicleKilled
import BigWorld
from gui.Scaleform.BattleDamageMessages import BattleDamageMessages
def new_onArenaVehicleKilled_init(current, vehicleID, attackerID, reason):
pre_onArenaVehicleKilled_init(current, vehicleID, attackerID, reason)
# действие при убийстве танка
# vehicleID - ID убитого, attackerID - ID атакующего
pre_onArenaVehicleKilled_init = BattleDamageMessages.onArenaVehicleKilled
BattleDamageMessages.onArenaVehicleKilled = new_onArenaVehicleKilled_init
##### VehicleKilled
import BigWorld
from gui.WindowsManager import g_windowsManager
def __onVehicleKilled(targetID, atackerID, reason):
def __startBattle():
BigWorld.player().arena.onVehicleKilled += __onVehicleKilled
def __stopBattle():
BigWorld.player().arena.onVehicleKilled -= __onVehicleKilled
g_windowsManager.onInitBattleGUI += __startBattle
g_windowsManager.onDestroyBattleGUI += __stopBattle
##### PlayerHandleKey
import BigWorld
from Avatar import PlayerAvatar
import Keys
def new_PlayerHandleKey_init(current, isDown, key, mods):
pre_PlayerHandleKey_init(current, isDown, key, mods)
if key == getattr(Keys, 'KEY_F10', None) and isDown:
# действие при нажатии клавиши F10 (пример)
pre_PlayerHandleKey_init = PlayerAvatar.handleKey
PlayerAvatar.handleKey = new_PlayerHandleKey_init
##### showTracer
import BigWorld
from Avatar import PlayerAvatar
def new_showTracer(current, shooterID, shotID, isRicochet, effectsIndex, refStartPoint, velocity, gravity, maxShotDist):
pre_showTracer(current, shooterID, shotID, isRicochet, effectsIndex, refStartPoint, velocity, gravity, maxShotDist)
# действие при запуске трассера (выстрел танка)
pre_showTracer = PlayerAvatar.showTracer
PlayerAvatar.showTracer = new_showTracer
##### onArenaPeriodChange
import BigWorld
from Avatar import PlayerAvatar
from constants import ARENA_PERIOD
def new_onArenaPeriodChange(current, period, periodEndTime, periodLength, periodAdditionalInfo):
pre_onArenaPeriodChange(current, period, periodEndTime, periodLength, periodAdditionalInfo)
# действие при различных периодах боя
if period == ARENA_PERIOD.PREBATTLE and period > -1:
# действие при начале отсчёта
if period == ARENA_PERIOD.BATTLE and period > -1:
# действие при окончании отсчёта, начале боя
pre_onArenaPeriodChange = PlayerAvatar._PlayerAvatar__onArenaPeriodChange
PlayerAvatar._PlayerAvatar__onArenaPeriodChange = new_onArenaPeriodChange
##### onBecomePlayer
import BigWorld
from Account import PlayerAccount
from messenger import MessengerEntry
def new_onBecomePlayer_init(current):
pre_onBecomePlayer_init(current)
# действие при входе в ангар на старте игры
SystemMessages.pushMessage('<font color="#AA80AA"><B>.....</font>', type = SystemMessages.SM_TYPE.Warning)
pre_onBecomePlayer_init = PlayerAccount.onBecomePlayer
PlayerAccount.onBecomePlayer = new_onBecomePlayer_init
#####