View difference between Paste ID: kjvrPrgM and fEx32BiC
SHOW: | | - or go back to the newest paste.
1
import BigWorld
2
import GUI
3
from constants import ARENA_PERIOD
4
from debug_utils import *
5
from PlayerEvents import g_playerEvents
6
from Account import PlayerAccount
7
from gui import SystemMessages
8
from messenger import MessengerEntry
9
from gui.shared.utils.sound import Sound
10
from gui.WindowsManager import g_windowsManager
11
12
13
14
g_text = None
15
g_other_team = 0
16
g_onetime = 0
17
g_my_team = 0
18
19
def PeriodChange(period, *args):
20
    global g_onetime
21
    arena = BigWorld.player().arena
22
    if arena is not None:
23
        if arena.period == ARENA_PERIOD.AFTERBATTLE and g_onetime != 1:
24
            g_onetime = 1
25
            nst_logs('   -> TIME OUT', '#4CFF47')
26
            nst_text('TIME OUT', 8.0, (76, 255, 71, 255))
27
            Sound('/ingame_voice/notifications_VO/target_unlocked').play()            
28
            
29
30
def nst_logs(message, color='#FF0000'):
31
    MessengerEntry.g_instance.gui.addClientMessage('<font color="'+color+'">' + message + '</font>')
32
    LOG_NOTE(message)
33
34
def nst_text(message, time, color):
35
    global g_text
36
    if g_text is not None:
37
       GUI.delRoot(g_text)
38
       g_text = None
39
           
40
    g_text = GUI.Text(message)
41
    g_text.horizontalAnchor = 'CENTER'
42
    g_text.verticalAnchor = 'CENTER'
43
    g_text.colour = color
44
    GUI.addRoot(g_text)	
45
    BigWorld.callback(time, nst_del_text)
46
    
47
48
def Setup():
49
    global g_other_team, g_onetime, g_my_team
50
    g_other_team = 0  
51
    g_onetime = 0
52
    g_my_team = 0
53
54
g_windowsManager.onInitBattleGUI += Setup    
55
56
57
def nst_del_text():
58
    global g_text
59
    if g_text is not None:
60
        GUI.delRoot(g_text)
61
        g_text = None    
62
63
    
64
65
def TeamBasePointsUpdate(team, baseID, points, capturingStopped):
66
    global g_onetime
67
    if g_onetime != 1:
68
        if points == 50:
69
            nst_logs('   -> BASE CAPTURING '+str(points)+'%', '#FFFF47')
70
            Sound('/GUI/dynamic_platoon/starting_dynamic_platoon').play()
71
            nst_text('BASE CAPTURING 50%', 3.0, (255, 255, 71, 255))
72
            
73
        if points == 70:
74
            nst_logs('   -> BASE CAPTURING '+str(points)+'%', '#FF9F34')
75
            Sound('/GUI/dynamic_platoon/starting_dynamic_platoon').play()
76
            nst_text('BASE CAPTURING 70%', 3.0, (255, 149, 34, 255))                
77
            
78
        if points == 90:
79
            nst_logs('   -> BASE CAPTURING '+str(points)+'%', '#FF0000')
80
            Sound('/GUI/dynamic_platoon/starting_dynamic_platoon').play()
81
            nst_text('BASE CAPTURING 90%', 3.0, (255, 0, 0, 255))                                
82
83
84
def TeamBaseCaptured(team, baseID):
85
    global g_onetime
86
    if g_onetime != 1:
87
        g_onetime = 1
88
        nst_logs('   -> BASE CAPTURED 100%', '#CC0006')
89
        nst_text('BASE CAPTURED', 8.0, (255, 0, 0, 255))    
90
        Sound('/ingame_voice/notifications_VO/target_unlocked').play()   
91
92
def VehicleKilled(victimID, killerID, reason):
93
    global g_other_team, g_onetime, g_my_team
94
    arena = BigWorld.player().arena
95
    if arena is not None:
96
        total_other_team_players = len(BigWorld.player().arena.vehicles) / 2
97
        if total_other_team_players != 0:
98
                
99
            if BigWorld.player().team == BigWorld.player().arena.vehicles[victimID]['team']:
100
                g_my_team = g_my_team + 1
101
                c = '#FF0000'
102
                if g_my_team > g_other_team:
103
                    c = '#FF0000'
104
        
105
                if g_my_team < g_other_team:
106
                    c = '#83FF79'
107
        
108
                if g_my_team == g_other_team:
109
                    c = '#FFFF93'
110
                            
111
                nst_logs('   -> (My Team) '+str(total_other_team_players - g_my_team)+' vs '+str(total_other_team_players - g_other_team)+' (Enemy team)', c)            
112
                if total_other_team_players == g_my_team and g_onetime != 1:
113
                    g_onetime = 1
114
                    nst_logs('   -> OUR TEAM DEAD', '#FF0000')
115
                    nst_text('OUR TEAM DEAD', 8.0, (255, 71, 76, 255))
116
                    Sound('/ingame_voice/notifications_VO/target_unlocked').play()
117
                    
118
        
119
            if BigWorld.player().team != BigWorld.player().arena.vehicles[victimID]['team']:
120
                g_other_team = g_other_team + 1
121
                c = '#FF0000'
122
                if g_my_team > g_other_team:
123
                    c = '#FF0000'
124
        
125
                if g_my_team < g_other_team:
126
                    c = '#83FF79'
127
        
128
                if g_my_team == g_other_team:
129
                    c = '#FFFF93'    
130
                            
131
                nst_logs('   -> (My Team) '+str(total_other_team_players - g_my_team)+' vs '+str(total_other_team_players - g_other_team)+' (Enemy team)', c)
132
                if total_other_team_players == g_other_team and g_onetime != 1:
133
                    g_onetime = 1
134
                    nst_logs('   -> ENEMY TEAM DEAD', '#4CFF47')
135
                    nst_text('ENEMY TEAM DEAD', 8.0, (76, 255, 71, 255))
136
                    Sound('/ingame_voice/notifications_VO/target_unlocked').play()                   
137
138
 
139
140
def avatarReady():
141
    arena = BigWorld.player().arena
142
    if arena is not None:
143
        arena.onTeamBasePointsUpdate += TeamBasePointsUpdate
144
        arena.onTeamBaseCaptured += TeamBaseCaptured
145
        arena.onVehicleKilled += VehicleKilled
146
        arena.onPeriodChange += PeriodChange
147
148
g_playerEvents.onAvatarReady += avatarReady
149
150
151
152
# pokazivat nadpis pri zaxode v angar, pri pervom zapuske klienta
153
already_shown = False
154
def new_onBecomePlayer(self):
155
    global already_shown
156
    pre_onBecomePlayer(self)
157
    if not already_shown:
158
        already_shown = True
159
        SystemMessages.pushMessage('<font color="#FF0000">GameOver Notify v5.1</font><br>Greets to <font color="#FFFF47">333_skorpion_333</font><br>Coder: <font color="#FFFF47">waza123x</font><br>Contacts: waza123@inbox.lv', type=SystemMessages.SM_TYPE.Warning)
160
161
pre_onBecomePlayer = PlayerAccount.onBecomePlayer        
162
PlayerAccount.onBecomePlayer = new_onBecomePlayer
163
164
165
nst_logs('Plugin executed !')