def player_hurt(ev):
    armor = int(ev['es_userarmor'])
    if armor < 150 and armor + int(ev['dmg_armor']) >= 150:
        player = getPlayer(ev['userid'])
        gamethread.cancelDelayed(delayname % player)
        gamethread.delayedname(FUEL_REGEN_DELAY, delayname % player,
                               fuel_regen, player)
Example #2
0
def server_cvar(event_var):
    value = event_var['cvarvalue']
    name = event_var['cvarname']

    if name == "mp_timelimit" and startTime is not None and int(
            time_before_end_of_map_vote):
        gamethread.cancelDelayed('votemap_timer')
        timeLimit = int(value) * 60
        if timeLimit:
            delay = timeLimit - int(time_before_end_of_map_vote) - (
                time.time() - startTime)
            if delay:
                gamethread.delayedname(delay, 'votemap_timer', EndOfMapVote,
                                       "mp_timelimit changing")
            else:
                EndOfMapVote('mp_timelimit changing')

    if name == "mp_maxrounds" and int(rounds_before_mp_maxrounds):
        maxRounds = int(value)
        if maxRounds:
            maxrounds = maxRounds - int(rounds_before_mp_maxrounds)
            if round_count['round_counting'] >= maxrounds:
                EndOfMapVote('mp_maxrounds')

    if name == "mp_winlimit" and int(rounds_before_mp_winlimit):
        winlimit = int(value)
        if winlimit:
            winlimit = winlimit - int(rounds_before_mp_winlimit)
            maxwins = max(round_count['t_wins'], round_count['c_wins'])
            if maxwins >= winlimit:
                EndOfMapVote('mp_winlimit')
Example #3
0
def player_hurt(ev):
    userid = int(ev['userid'])
    if userid in teleporting:
        gamethread.cancelDelayed('rpg_teleport_%s' % (userid))
        es.setplayerprop(userid, 'CBaseEntity.movetype', 2)
        teleporting.remove(userid)
        tell(userid, 'Teleport aborted')
Example #4
0
def player_hurt(ev):
    attacker = ev['attacker']
    player = playerlist[ev['attacker']]
    # If damage is not NULL
    if ev['damage'].isdigit():
        damage = int(ev['damage'])
    elif ev['dmg_health'].isdigit():
        damage = int(ev['dmg_health'])
    player = playerlist[ev['userid']]
    userid = player.userid  
    # If Attacker and Victim are not frozen: 
    if ev['weapon'] == 'knife':
        if attacker and int(attacker) in frozen:
            quit()
        if damage >= 35:
            player = playerlist[ev['attacker']]
            level = player.GetSkillLevel(skillname)
            if level:
                if userid not in frozen:
                    frozen.append(userid)
                # Freeze the player
                gamethread.cancelDelayed('rpg_%s_%s' % (skillname, userid))
                es.emitsound('player', userid, 'physics/glass/glass_impact_bullet%s.wav' % random.randint(1,4), '1.0', '0.5')
                player = playerlib.getPlayer(userid)
                player.freeze(True)
                player.setColor(0, 0, 255)
                # Delay
                delayname = 'rpg_%s_%s' %(skillname, userid)
                gamethread.cancelDelayed(delayname)
                gamethread.delayedname(0.42 * level, delayname, rpg_unfreeze, (player.userid))   
    if ev['weapon'] != 'knife':
        if userid in frozen:
            player = playerlib.getPlayer(userid)
            player.health += int(damage / 100 * 98)
Example #5
0
def DelayTimer():
    gamethread.cancelDelayed('votemap_timer')
    timeLimit = int(es.ServerVar('mp_timelimit')) * 60
    if timeLimit:
        delay = timeLimit - int(time_before_end_of_map_vote) - 10
        gamethread.delayedname(delay, 'votemap_timer', EndOfMapVote,
                               "timelimit")
Example #6
0
    def check_spawn(self):
        '''Used to check if a player should be
            spawned when joining a round late'''

        # Should players be spawned during the mid round?
        if not int(gg_elimination_spawn):

            # If not, return
            return

        # Is the round active?
        if not ActiveInfo.round:

            # If not, return
            return

        # Is the player on a team?
        if getplayerteam(self.userid) < 2:

            # If not, return
            return

        if self.reconnect:

            # If they are reconnecting, return
            return

        # Cancel the current delay (if it exists)
        cancelDelayed('gg_elimination_respawn_%s' % self.userid)

        # Add the player to the respawn list in 3 seconds
        delayedname(3, 'gg_elimination_respawn_%s' % self.userid,
                    respawn_players.append, [self.userid])
Example #7
0
def player_disconnect(event_var):
    userid = int(event_var['userid'])

    # Remove from protected list
    if userid in protectedList:
        gamethread.cancelDelayed('ggSpawnProtect%s' % userid)
        protectedList.remove(userid)
Example #8
0
 def clearList(self):
     """
     Loop through all the players, reset their gravity to 1, delete the gravity
     list then unregister the tick listener.
     """
     self.gravityList.clear()
     gamethread.cancelDelayed('gravity_check')
Example #9
0
    def check_spawn(self):
        '''Used to check if a player should be
            spawned when joining a round late'''

        # Should players be spawned during the mid round?
        if not int(gg_elimination_spawn):

            # If not, return
            return

        # Is the round active?
        if not ActiveInfo.round:

            # If not, return
            return

        # Is the player on a team?
        if getplayerteam(self.userid) < 2:

            # If not, return
            return

        if self.reconnect:

            # If they are reconnecting, return
            return

        # Cancel the current delay (if it exists)
        cancelDelayed('gg_elimination_respawn_%s' % self.userid)

        # Add the player to the respawn list in 3 seconds
        delayedname(3,
            'gg_elimination_respawn_%s' % self.userid,
            respawn_players.append, [self.userid])
Example #10
0
 def clearList(self):
     """
     Loop through all the players, reset their gravity to 1, delete the gravity
     list then unregister the tick listener.
     """
     self.gravityList.clear()
     gamethread.cancelDelayed('gravity_check')
Example #11
0
def es_map_start(event_var):
    global map_list
    global startTime
    global change_map
    change_map = None
    gameDir = str(es.ServerVar('eventscripts_gamedir')).replace('\\',
                                                                '/') + '/'
    mapfilename = gameDir + str(vote_map_file)
    if os.path.exists(mapfilename):
        map_file = open(mapfilename, 'r')
        map_lines = map(lambda x: x.strip(), map_file.readlines())
        map_file.close()
        map_lines = filter(lambda x: not x.startswith('//') and len(x),
                           map_lines)
        map_list = filter(
            lambda x: os.path.isfile(gameDir + 'maps/%s.bsp' % x), map_lines)
    else:
        es.dbgmsg(
            0,
            "xavote.py: Note: Cannot find maplist file '" + mapfilename + "'")

    gamethread.cancelDelayed('votemap_timer')
    round_count.clear()
    round_count['round_counting'] = 0
    round_count['t_wins'] = 0
    round_count['c_wins'] = 0
    round_count['frag_kills'] = 0
    startTime = time.time()
    if int(time_before_end_of_map_vote):
        gamethread.delayed(10, DelayTimer)
    previousMaps.append(event_var['mapname'])
    if len(previousMaps) and len(previousMaps) > int(ignore_last_map_amount):
        previousMaps.remove(previousMaps[0])
Example #12
0
def unload():
    es.unregsaycmd(scfg.say_command_prefix + scfg.command_help)
    for userid in pending:
        gamethread.cancelDelayed('xs_delayed_%s' % userid) 
    for addon in addonsunloaders:
        addon()
    unloadCommands()
Example #13
0
def player_hurt(event_var):
    """
    When a player is damaged, check for team attacks, then if the weapon is
    a secondary weapon then freeze the player
    
    @PARAM event_var - an automatically passed event instance
    """
    userid   = event_var['userid']
    attacker = event_var['attacker']
    if int(attacker):
        """ The attacker did not hurt themselves """
        player = sourcerpg.players[attacker]
        level  = player[skillName]
        if level:
            """ The player has at least level 1 in this skill """
            if event_var['es_userteam'] <> event_var['es_attackerteam']:
                """ It was not a team kill """
                if event_var['weapon'] in map(lambda x: x.split('_')[-1], weaponlib.getWeaponNameList('#secondary')):
                    victim = sourcerpg.players[userid]
                    speed  = victim['maxSpeed']
                    if not victim['slowed']:
                        """ If they're frozen, there's no point (i,e Ice Stab) """
                        playerlibInstance = playerlib.getPlayer(userid)
                        if not playerlibInstance.getFreeze():
                            """ Ensure that they're only slowed once """
                            victim['slowed'] = True
                            speed /= 2.0
                            victim['maxSpeed'] = speed
                            playerlibInstance.speed = speed
                            playerlibInstance.setColor(0, 0, 255)
                            gamethread.delayedname(float(freezeTime) * level, 'sourcerpg_slow_user%s' % userid, speedUp, (userid, speed * 2.0))
                    else:
                        gamethread.cancelDelayed("sourcerpg_slow_user%s" % userid)
                        gamethread.delayedname(float(freezeTime) * level, 'sourcerpg_slow_user%s' % userid, speedUp, (userid, speed * 2.0))
Example #14
0
def round_end(ev):
    global teleportingAllowed
    teleportingAllowed = False
    for i in teleporting:
        gamethread.cancelDelayed('rpg_teleport_%s' % (i))
        es.setplayerprop(i, 'CBaseEntity.movetype', 2)
    teleporting.clear()
def unload():
    gamethread.cancelDelayed('advertDelay')
    cmdlib.unregisterServerCommand('dump_colors')
    es.msg(
        '#multi',
        '\x07FF8D00[\x0703B0FFSimple Adverts\x07FF8D00] \x0703B0FF%s \x07FF8D00successfully unloaded!'
        % info.version)
Example #16
0
def unload():
    gamethread.cancelDelayed("advertDelay")
    cmdlib.unregisterServerCommand("dump_colors")
    es.msg(
        "#multi",
        "\x07FF8D00[\x0703B0FFSimple Adverts\x07FF8D00] \x0703B0FF%s \x07FF8D00successfully unloaded!" % info.version,
    )
Example #17
0
def Check_Runboost(userid):
    location = es.getplayerlocation(userid)
    steamid = es.getplayersteamid(userid)
    velocity = int(
        round(
            vector(
                (float(
                    es.getplayerprop(
                        userid, 'CBasePlayer.localdata.m_vecVelocity[0]')),
                 float(
                     es.getplayerprop(
                         userid, 'CBasePlayer.localdata.m_vecVelocity[1]')),
                 float(
                     es.getplayerprop(
                         userid,
                         'CBasePlayer.localdata.m_vecVelocity[2]')))).length(),
            2))
    gamethread.cancelDelayed("Check_Ground_%s" % userid)
    if playerOnTop(userid)[0] == "True":
        client[steamid]['loc'] = location
        client[steamid]['time'] = 0
        client[steamid]['avs'] = []
        client[steamid]['pre'] = velocity
    else:
        gamethread.cancelDelayed("Check_Ground_%s" % userid)
        Check_When_Grounded(userid, False, True)
        return

    gamethread.delayedname(0.001,
                           'Check_Runboost_%s' % userid,
                           Check_Runboost,
                           args=(userid))
Example #18
0
def player_disconnect(event_var):
    userid = int(event_var['userid'])

    # Remove from protected list
    if userid in protectedList:
        gamethread.cancelDelayed('ggSpawnProtect%s' % userid)
        protectedList.remove(userid)
Example #19
0
    def pause(self):
        '''
        Pauses the beacon.
        '''

        gamethread.cancelDelayed(self.__name)
        self.__stopped = True
Example #20
0
def player_say(ev):
    userid = ev['userid']
    text = ev['text']
    plyinst = playerlib.getPlayer(userid)
    if text == '!block' or text == '!unghost':
        if int(es.ServerVar('noblock_allow_block')) >= 1:
            if not plyinst.isdead and plyinst.teamid != 1 and plyinst.teamid != 0:
                try:
                    if not players[userid]['queued']:
                        plyinst.noblock(0)
                        gamethread.delayedname(float(es.ServerVar('noblock_block_time')), userid, noblock, userid)
                        players[userid]['queued'] = True
                        es.tell(userid, '#multi', '#green[NoBlock]#default You are now solid for ' + float(es.ServerVar('noblock_block_time')) + ' seconds')
                    else:
                        es.tell(userid, '#multi', '#green[NoBlock]#default You are already blocking')
                except KeyError:
                    es.msg('#green', 'Error in keys')
                    for k, v in players.items():
                        es.msg('#green', str(k) + '=' + str(v))
            else:
                es.tell(userid, '#multi', '#green[NoBlock]#default You cannot block when you are dead or not on a team')
        else:
            es.tell(userid, '#multi', '#green[NoBlock]#default Blocking is not allowed on this server')
    if text == '!noblock' or text == '!unblock' or text == '!ghost':
        if int(es.ServerVar('noblock_allow_block')) >= 1:
            if not plyinst.isdead and plyinst.teamid != 1 and plyinst.teamid != 0:
                if players[userid]['queued']:
                    gamethread.cancelDelayed(userid)
                    plyinst.noblock(1)
                    es.tell(userid, '#multi', '#green[NoBlock]#default You are no longer solid')
                else:
                    es.tell(userid, '#multi', '#green[NoBlock]#default You are not blocking')
            else: es.tell(userid, '#multi', '#green[NoBlock]#default You cannot unblock when dead or not on a team')
        else:
            es.tell(userid, '#multi', '#green[NoBlock]#default Cannot unblock because blocking is not allowed')
Example #21
0
    def clear(self):
        '''Clears the list and stops any active delay'''

        # Cancel the delay (if one exists)
        cancelDelayed('gg_elimination_respawn')

        # Clear the list
        self[:] = list()
def check_nade(userid):
    userid = str(userid)
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        if int(es.getplayerprop(userid, "CBasePlayer.localdata.m_iAmmo.011")) != 1:
            gamethread.delayed(0.1, es.server.cmd, 'es_xgive %s weapon_hegrenade' % userid)
        gamethread.cancelDelayed(delayname % player)
        gamethread.delayedname(GOBHE_DELAY, delayname % player, check_nade, player)
Example #23
0
def es_map_start(event_var):
    """Cancels outstanding delays and clears list_delays"""
    global list_delays

    for int_userid in list_delays:
       gamethread.cancelDelayed('xaredirect_%s' % int_userid)

    list_delays[:] = []
def unload():
	es.addons.unregisterSayFilter(TeamChat)
	es.addons.unregisterClientCommandFilter(CommandFilter)
	gamethread.cancelDelayed("Grace")
	gamethread.cancelDelayed("Deplete_Infected_Ammo")
	gamethread.cancelDelayed("Request_RoundType_Update")
	gamethread.cancelDelayed("LastMan")
	gamethread.cancelDelayed("clock")
def player_spawn(ev):
    global gusers
    userid = ev['userid']
    gusers[userid] = {}
    if not superhero.hasHero(userid,'Invisible Man'):
        return
    gamethread.cancelDelayed(delayname % ev['userid'])
    check_moving(userid)
Example #26
0
def server_cvar(event_var):
    if event_var['cvarname'] == "mp_timelimit" and startTime is not None and int(time_before_end_of_map_vote):
        gamethread.cancelDelayed('votemap_timer')
        delay = es.ServerVar('mp_timelimit') * 60 - int(time_before_end_of_map_vote) - (time.time() - startTime)
        if delay:
            gamethread.delayedname(delay, 'votemap_timer', EndOfMapVote)
        else:
            EndOfMapVote()
def es_map_start(event_var):
    """Cancels outstanding delays and clears list_delays"""
    global list_delays

    for int_userid in list_delays:
        gamethread.cancelDelayed('xaredirect_%s' % int_userid)

    list_delays[:] = []
Example #28
0
def player_death(event_var):
    """
    Executed when a player dies - ensure that they are unfrozen so we don't
    create an error
    
    @PARAM event_var - an automatically passed event instance
    """
    gamethread.cancelDelayed('sourcerpg_slow_user%s' % event_var['userid'])
Example #29
0
    def clear(self):
        '''Clears the list and stops any active delay'''

        # Cancel the delay (if one exists)
        cancelDelayed('gg_elimination_respawn')

        # Clear the list
        self[:] = list()
Example #30
0
def player_death(event_var):
    """
    Executed when a player dies - ensure that they are unfrozen so we don't
    create an error
    
    @PARAM event_var - an automatically passed event instance
    """
    gamethread.cancelDelayed('sourcerpg_slow_user%s' % event_var['userid'])
Example #31
0
def player_spawn(ev):
    global gusers
    userid = ev['userid']
    gusers[userid] = {}
    if not superhero.hasHero(userid, 'Invisible Man'):
        return
    gamethread.cancelDelayed(delayname % ev['userid'])
    check_moving(userid)
Example #32
0
def player_disconnect(event_var):
    """Cancels the delay if the client was redirected"""
    global list_delays

    int_userid = int(event_var['userid'])
    if int_userid in list_delays:
        gamethread.cancelDelayed('xaredirect_%s' % int_userid)
        list_delays.remove(int_userid)
def player_disconnect(event_var):
    """Cancels the delay if the client was redirected"""
    global list_delays

    int_userid = int(event_var['userid'])
    if int_userid in list_delays:
        gamethread.cancelDelayed('xaredirect_%s' % int_userid)
        list_delays.remove(int_userid)
Example #34
0
def load():
    es.set('eventscripts_noisy', 1)
    global client
    gamethread.cancelDelayed("antispam")
    antispam()
    load_client_pref()

    chat.hook("window.chat", None)

    """ Trikz menu """
    chat.registerHiddenCommand("!t", trikz_menu, True, True)
    chat.registerHiddenCommand("/t", trikz_menu, True, True)
    chat.registerHiddenCommand("t", trikz_menu, True, True)
    chat.registerHiddenCommand("!trikz", trikz_menu, True, True)

    """ TP menu """
    # TODO: startswith
    chat.registerPublicCommand("!tp ", tp_menu, True, True, startswith=True)
    chat.registerPublicCommand("!tp", tp_menu, True, True, startswith=False)
    chat.registerPublicCommand("!tpto", tp_menu, True, True, startswith=True)
    chat.registerHiddenCommand("/tp ", tp_menu, True, True, startswith=True)
    chat.registerHiddenCommand("/tp", tp_menu, True, True, startswith=False)
    chat.registerHiddenCommand("/tptp", tp_menu, True, True, startswith=True)

    """ TP accept """
    chat.registerPublicCommand("!y", tp_accept, False, True, startswith=True)
    chat.registerHiddenCommand("/y", tp_accept, False, True, startswith=True)

    """ Commands menu"""
    chat.registerPublicCommand("!commands", commands, True, True)
    chat.registerHiddenCommand("/commands", commands, True, True)

    """ Get weapon_glock command"""
    chat.registerPublicCommand("!glock", get_glock, False, True)
    chat.registerHiddenCommand("/glock", get_glock, False, True)

    """ Get weapon_usp command"""
    chat.registerPublicCommand("!usp", get_usp, False, True)
    chat.registerHiddenCommand("/usp", get_usp, False, True)

    """ Toggle block command """
    chat.registerPublicCommand("!b", toggle, True, True)
    chat.registerPublicCommand("!block", toggle, True, True)
    chat.registerHiddenCommand("/b", toggle, True, True)
    chat.registerHiddenCommand("/block", toggle, True, True)

    """ Set player spectate command """
    # TODO: Choose target (startswith method)
    chat.registerPublicCommand("!spec", change_spec, True, True)
    chat.registerPublicCommand("!spectate", change_spec, True, True)
    chat.registerHiddenCommand("/spec", change_spec, True, True)
    chat.registerHiddenCommand("/spectate", change_spec, True, True)

    # TODO: Choose target (startswith method)
    chat.registerPublicCommand("!cp", cp_menu, True, True)
    chat.registerPublicCommand("!checkpoint", cp_menu, True, True)
    chat.registerHiddenCommand("/cp", cp_menu, True, True)
    chat.registerHiddenCommand("/checkpoint", cp_menu, True, True)
Example #35
0
    def start(self):
        global started, changed
        self.useridList = es.getUseridList()
        
        for userid in self.useridList:
            player = playerlib.getPlayer(userid)
            if player.team < 2 or player.isdead:
                self.useridList.remove(userid)        
        
        if len(self.useridList) < 3:
            es.centermsg("You have to have more than 3 players to play the Assassin mod!")
            return None
        
        if self.useridList:
            ultilib.removeMapObjective()
            
            if self.manualAssassinID:
                self.assassinID = self.manualAssassinID
                self.useridList.remove(self.assassinID)
            else:
                self.assassinID = self._selectOneUserid()
                
            if self.manualVipID:
                self.vipID = self.manualVipID
                self.useridList.remove(self.vipID)
            else:
                self.vipID = self._selectOneUserid()        
            
            self.vip = VIP(self.vipID)
            self.assassin = Assassin(self.assassinID)

            self.guards = {}
            for userid in self.useridList:
                self.guards[userid] = Guard(userid)

            self.vip.prepare(self)
            self.assassin.prepare(self)
            for userid in self.guards.keys():
                self.guards[userid].prepare(self)

            self.aInvisibilityInfo = {"userid": None, "weapon": None, "color": None}
            
            if not changed:

                es.set("mp_limitteams", 20)
                es.set("mp_friendlyfire", 1)
                es.set("mp_autoteambalance", 0)
                es.set("sv_alltalk", 1)
                changed = True
            started = True
            roundtime = int(float(es.ServerVar("mp_roundtime")) * 60.0)
            roundtime += int(float(es.ServerVar("mp_freezetime")) * 60.0)
            gamethread.cancelDelayed("vipwins")
            gamethread.delayedname(roundtime,"vipwins", self.vipWins)
            es.msg("#multi", "#green[UltiAssassin 1.1]#defaultYou're playing the UltiAssassin!")
            
        self.started = True
Example #36
0
def player_disconnect(event_var):
    """
    An event which occurs when a player disconnects from the game. Cancel the
    delay.
    
    @PARAM event_var - an automatically passed event instance
    """
    userid = event_var['userid']
    gamethread.cancelDelayed('sourcerpg_adrenaline_user%s' % userid)
Example #37
0
def player_disconnect(event_var):
    """
    An event which occurs when a player disconnects from the game. Cancel the
    delay.
    
    @PARAM event_var - an automatically passed event instance
    """
    userid = event_var['userid']
    gamethread.cancelDelayed('sourcerpg_adrenaline_user%s' % userid)
Example #38
0
def player_spawn(ev):
    global gusers
    userid = int(ev['userid'])
    if not superhero.hasHero(userid, 'Goku'):
        return
    gamethread.cancelDelayed(delayname % ev['userid'])
    player = playerlib.getPlayer(userid)
    player.armor = 100
    KI_regen(userid)
Example #39
0
def player_spawn(ev):
    global gusers
    userid = int(ev['userid'])
    if not superhero.hasHero(userid,'Goku'):
        return
    gamethread.cancelDelayed(delayname % ev['userid'])
    player = playerlib.getPlayer(userid)
    player.armor = 100
    KI_regen(userid)
Example #40
0
def unload():
	del started[:]
	players.clear()
	fileStream = open(dictPath, 'w')
	cPickle.dump(mapDicts, fileStream)
	fileStream.close()
	gamethread.cancelDelayed('surftime_checkloop')
	gamethread.cancelDelayed('surftimer_hudloop')
	if playerList:
		playerList.delete()
Example #41
0
def unload():
    del started[:]
    players.clear()
    fileStream = open(dictPath, 'w')
    cPickle.dump(mapDicts, fileStream)
    fileStream.close()
    gamethread.cancelDelayed('surftime_checkloop')
    gamethread.cancelDelayed('surftimer_hudloop')
    if playerList:
        playerList.delete()
Example #42
0
def player_death(event_var):
    """
    An event which occurs when a player dies. Ensure that their adrenaline
    delay is canceled
    
    @PARAM event_var - an automatically passed event instance
    """
    userid = event_var['userid']
    gamethread.cancelDelayed('sourcerpg_adrenaline_user%s' % userid)
    sourcerpg.players[userid]['adrenalined'] = False
def poweroff():
    global hero
    userid = es.getcmduserid()
    heroB = {}
    heroB['target'] = {}
    for t in hero['target']:
        if not t == userid:
            heroB['target'][t] = hero['target'][t]
    hero['target'] = heroB['target']
    gamethread.cancelDelayed(hero['delay_name'] % (userid))
 def unregisterMute(self):
     if self.currentStatus == self.ENABLED:
         if self.tickStatus == self.REGISTERED:
             es.addons.unregisterTickListener(self._tickListener)
         xaextendedpunishments.xapunishments.unregisterPunishment("mute")
         self.currentStatus = self.DISABLED
         self.muted.clear()
         for steamid in self.steamids:
             gamethread.cancelDelayed('unmute_%s' % steamid)
         self.steamids.clear()
Example #45
0
def player_disconnect(event_var):
    '''
    Remove the players kick delays (cos it will cause errors!) if they leave
     - thx to SD's xaredirect for the idea
    '''
    global kick_delays
    userid = int(event_var['userid'])
    if userid in kick_delays:
        gamethread.cancelDelayed('res_redirect_%s' % userid)
        kick_delays.remove(userid)
def player_disconnect(event_var):
    '''
    Remove the players kick delays (cos it will cause errors!) if they leave
     - thx to SD's xaredirect for the idea
    '''
    global kick_delays
    userid = int(event_var['userid'])
    if userid in kick_delays:
        gamethread.cancelDelayed('res_redirect_%s' % userid)
        kick_delays.remove(userid)
 def unregisterMute(self):
     if self.currentStatus == self.ENABLED:
         if self.tickStatus == self.REGISTERED:
             es.addons.unregisterTickListener(self._tickListener)
         xaextendedpunishments.xapunishments.unregisterPunishment("mute")
         self.currentStatus = self.DISABLED
         self.muted.clear()
         for steamid in self.steamids:
             gamethread.cancelDelayed('unmute_%s' % steamid)
         self.steamids.clear()
Example #48
0
def player_death(event_var):
    """
    An event which occurs when a player dies. Ensure that their adrenaline
    delay is canceled
    
    @PARAM event_var - an automatically passed event instance
    """
    userid = event_var['userid']
    gamethread.cancelDelayed('sourcerpg_adrenaline_user%s' % userid)
    sourcerpg.players[userid]['adrenalined'] = False
def poweroff():
    global hero
    userid = es.getcmduserid()
    heroB = {}
    heroB['target'] = {}
    for t in hero['target']:
        if not t == userid:
            heroB['target'][t] = hero['target'][t]
    hero['target'] = heroB['target']
    gamethread.cancelDelayed(hero['delay_name'] % (userid))
Example #50
0
def cancel_delays():
    """
    Cancels delays for dead players
    Unregisters client command filter
    """
    for userid in delays:
        gamethread.cancelDelayed('xaobserve_%s' % userid)

    if dead_players:
        es.addons.unregisterClientCommandFilter(client_command_filter)
        dead_players.clear()
Example #51
0
def unload():
    # Unregister the drop command
    es.addons.unregisterClientCommandFilter(drop_filter)

    #Stop the idle weapon removal loop
    gamethread.cancelDelayed('gg_removeIdleLoop')

    # Make sure that all weapons can be picked up
    for userid in es.getUseridList():
        for weapon in spe.getWeaponDict(userid):
            set_spawn_flags(userid, weapon[7:], 0)
Example #52
0
def unload():
    # Unregister the drop command
    es.addons.unregisterClientCommandFilter(drop_filter)

    #Stop the idle weapon removal loop
    gamethread.cancelDelayed('gg_removeIdleLoop')

    # Make sure that all weapons can be picked up
    for userid in es.getUseridList():
        for weapon in spe.getWeaponDict(userid):
            set_spawn_flags(userid, weapon[7:], 0)
Example #53
0
def es_map_start(event_var):
    # For all players
    for userid in currentMultiLevel:
        # Cancel the gamethread
        gamethread.cancelDelayed("%i_multilevel" % userid)

        # Remove them from the gravity class
        gravity.removeGravityChange(userid)

    # Clear the list of players currently multi-leveling
    currentMultiLevel.clear()
Example #54
0
    def deleteGravityList(self):
        '''
        Loop through all the players, reset their gravity to 1, delete the
        gravity list then unregister the tick listener.
        '''
        for player in self.gravityList:
            _resetGravity(player, 1.0)

        del self.gravityList

        gamethread.cancelDelayed('gravity_check')
Example #55
0
def cancel_delays():
    """
    Cancels delays for dead players
    Unregisters client command filter
    """
    for userid in delays:
        gamethread.cancelDelayed('xaobserve_%s' % userid)

    if dead_players:
        es.addons.unregisterClientCommandFilter(client_command_filter)
        dead_players.clear()
def check_nade(userid):
    userid = str(userid)
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        if int(es.getplayerprop(userid,
                                "CBasePlayer.localdata.m_iAmmo.011")) != 1:
            gamethread.delayed(0.1, es.server.cmd,
                               'es_xgive %s weapon_hegrenade' % userid)
        gamethread.cancelDelayed(delayname % player)
        gamethread.delayedname(GOBHE_DELAY, delayname % player, check_nade,
                               player)
def unload():
    for userid in es.getUseridList():
        gamethread.cancelDelayed('burn_%s' % userid)
    for punishment in punishment_method:
        xapunishments.unregisterPunishment(punishment)
    popuplib.delete("xapunishmentmenu")
    popuplib.delete("xapunishtargetmenu")
    popuplib.delete("xapunishsuremenu")
    for page in punishment_pmenus:
        punishment_pmenus[page].delete()
    xapunishments.unregister()
Example #58
0
def unload():
    for userid in es.getUseridList():
        gamethread.cancelDelayed('burn_%s'%userid)
    for punishment in punishment_method:
        xapunishments.unregisterPunishment(punishment)
    popuplib.delete("xapunishmentmenu")
    popuplib.delete("xapunishtargetmenu")
    popuplib.delete("xapunishsuremenu")
    for page in punishment_pmenus:
        page.delete()
    xapunishments.unregister()
Example #59
0
    def deleteGravityList(self):
        '''
        Loop through all the players, reset their gravity to 1, delete the
        gravity list then unregister the tick listener.
        '''
        for player in self.gravityList:
            _resetGravity(player, 1.0)

        del self.gravityList

        gamethread.cancelDelayed('gravity_check')
Example #60
0
def es_map_start(event_var):
    # For all players
    for userid in currentMultiLevel:
        # Cancel the gamethread
        gamethread.cancelDelayed("%i_multilevel" % userid)

        # Remove them from the gravity class
        gravity.removeGravityChange(userid)

    # Clear the list of players currently multi-leveling
    currentMultiLevel.clear()