Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AddonManagerHook(es.AddonManager):
- def triggerEvent(self, eventname):
- if not self.EventListeners.has_key(eventname):
- return
- for listener in self.EventListeners[eventname]:
- if not listener.__dict__.has_key('disable') or not listener.disabled:
- addonName = listener.__name__
- if addonName !!!!!!IS_A_WCS_RACE!!!!!!!:
- player = None
- if es.event_var['attacker']:
- player = int(es.event_var['attacker'])
- elif es.event_var['userid']:
- player = int(es.event_var['userid'])
- if player is not None:
- """ There is a userid / attacker on the event, so we can test for player's race """
- if !!!!!PLAYERS_RACE_IS!!!!! != addonName:
- """ Return, this is not the player's current active race :( """
- return
- try:
- self.EventListeners[eventname][listener](event_var)
- except:
- sys.excepthook(*sys.exc_info())
- """ Save the instance of the current addons """
- oldAddonsManager = es.addons
- """ Create a new instance of our hook """
- addonsHook = AddonManagerHook()
- """ Ensure our hook contains the same listeners as the old event manager """
- addonsHook = oldAddonsManager.AddonList
- addonsHook = oldAddonsManager.EventListeners
- addonsHook = oldAddonsManager.Blocks
- addonsHook = oldAddonsManager.TickListeners
- addonsHook = oldAddonsManager.SayListeners
- addonsHook = oldAddonsManager.ClientCommandFilters
- """ Ah the beautiful hook assignment :D """
- es.addons = addonsHook
- def unload():
- """ On unload, reassign the addon manager back to it's predecessor """
- es.addons = oldAddonsManager
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement