Exemplo n.º 1
0
def wcs_ulti_roots():
	userid = int(es.ServerVar('wcs_userid'))
	count = 0

	if es.getplayerteam(userid) >= 2:
		if playerlib.getUseridList('#alive'):
			usermsg.fade(userid, 0, 1, 1, 10, 55, 5, 200)
			x,y,z = es.getplayerlocation(userid)
			radius = float(es.ServerVar('wcs_radius'))
			time = float(es.ServerVar('wcs_freezetime'))

			for user in playerlib.getUseridList('#alive,#'+['ct','t'][es.getplayerteam(userid)-2]):
				x1,y1,z1 = es.getplayerlocation(user)

				if ((x1 - x) ** 2 + (y1 - y) ** 2 + (z1 - z) ** 2) ** 0.5 <= radius:
					#check for wall between...

					if not tools.wcsgroup.wcsgroup.getUser(user, 'ulti_immunity'):
						playerlib.getPlayer(user).freeze = 1
						gamethread.delayed(time, reset, (user, 'freeze', 0))
						count += 1

					else:
						es.tell(user, '#multi', '#lightgreenYour ultimate was blocked, the enemy is #greenimmune.')
						es.tell(userid, '#multi', '#lightgreenYou #greenblocked #lightgreenan ultimate skill.')

	if count:
		es.centertell('Entangling Roots: %s' % (count))
	else:
		es.tell(userid, '#multi','#lightgreenEntangling Roots #greenfailed#lightgreen, because no enemy is close enough.')
		es.server.queuecmd('es wcs_reset_cooldown %s' % (userid))
Exemplo n.º 2
0
def wcs_ulti_chain():
	userid = int(es.ServerVar('wcs_userid'))
	count = 0

	if es.getplayerteam(userid) >= 2:
		if playerlib.getUseridList('#alive'):
			usermsg.fade(userid, 0, 2, 1, 240, 240, 240, 100)
			x,y,z = es.getplayerlocation(userid)
			radius = float(es.ServerVar('wcs_radius'))
			es.ServerVar('vector1').set(','.join(map(str, (x,y,z))))

			for user in playerlib.getUseridList('#alive,#'+['ct','t'][es.getplayerteam(userid)-2]):
				x1,y1,z1 = es.getplayerlocation(user)

				if ((x1 - x) ** 2 + (y1 - y) ** 2 + (z1 - z) ** 2) ** 0.5 <= radius:
					#check for wall between...

					if not tools.wcsgroup.wcsgroup.getUser(user, 'ulti_immunity'):
						tools.expand.expand.damage(user, 32, userid)
						count += 1

						if es.ServerVar('wcs_cfg_graphicfx'):
							es.server.insertcmd('es_xset vector2 '+','.join(map(str, (x1,y1,z1)))+';es_xdoblock wcs/addons/effect/ChainLightning')

					else:
						es.tell(user, '#multi', '#lightgreenYour ultimate was blocked, the enemy is #greenimmune.')
						es.tell(userid, '#multi', '#lightgreenYou #greenblocked #lightgreenan ultimate skill.')

	if count:
		es.centertell('Chain Lightning: %s players damaged' % (count))
	else:
		es.tell(userid, '#multi', '#lightgreenChain Lightning #greenfailed#lightgreen, because no enemy is close enough to be damaged.')
		es.server.queuecmd('es wcs_reset_cooldown %s' % (userid))
Exemplo n.º 3
0
def register_center(args):
    if len(args) >= 2:
        userid = str(args[0])
        text = str(args[1])

        if userid.startswith('#'):
            userid = getPlayerList(userid)

        if not hasattr(userid, '__iter__'):
            if not exists('userid', userid):
                return

            userid = (getPlayer(userid), )

        hmm = []
        if len(args) >= 4:
            hmm = args[2:]

        tokens = {}
        for x in range(0, len(hmm), 2):
            try:
                tokens[hmm[x]] = hmm[x + 1]
            except IndexError:
                return

        for user in userid:
            if exists('userid', int(user)):
                player = Player.from_userid(int(userid))
                if not player.is_bot():
                    centertell(
                        user,
                        strings(text, tokens,
                                langlib.getLangAbbreviation(player.language)))
def player_connect(event_var):
    """ Announces the connecting player's country """
    if event_var['networkid'] == 'BOT':
        return

    tokens = {
        'name': event_var['name'],
        'location': iptocountry.get_country(event_var['address'])[0]
    }
    chat = int(cvar_announce_chat)
    center = int(cvar_announce_center)
    hud = int(cvar_announce_hud)

    es.dbgmsg(0, remove_tags(lang_text('connect', tokens)))

    for userid in es.getUseridList():
        text = lang_text('connect', tokens,
                         playerlib.getPlayer(userid).get('lang'))

        if chat:
            if chat == 2:
                es.tell(userid, '#multi', text)
            else:
                usermsg.echo(userid, remove_tags(text))
        if center:
            es.centertell(userid, remove_tags(text))
        if hud:
            usermsg.hudhint(userid, remove_tags(text))
def power():
    userid = str(es.getcmduserid())
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        if int(time.time()) >= int(gusers[userid]['nc_cooldown']):
            es.server.queuecmd('es_xsetplayerprop %s "CBaseEntity.movetype" 8' % userid)
            if not 'speed' in gusers[userid]: 
                gusers[userid]['speed'] = 1.0
            player.set("speed", 1.0)
            gusers[userid]['nc_cooldown'] = int(time.time()) + 10
            es.centertell(userid,'Noclip activated, do not get Stuck!')
            es.tell(userid,'#multi','#green[SH]#lightgreen Nightcrawler is partially blinded. You now are aswell.')
            gusers[userid]['crawl'] = 1
            fade(userid, 1, 0.5, 2.8, 0, 0, 0, 254)
            speed_set(userid)
            #es.server.cmd('ezrestrict %s #all' % userid)
            #es.server.cmd('ezrestrict_removeidle #all')
            #es.server.cmd('ezunrestrict %s knife' % userid)
            gamethread.delayed(0.1, es.server.queuecmd, 'es_xgive %s weapon_knife' % userid)
            es.delayed(1,'es_centertell %s 6 seconds left...' % userid)
            es.delayed(2,'es_centertell %s 5 seconds left...' % userid)
            es.delayed(3,'es_centertell %s 4 seconds left...' % userid)
            es.delayed(4,'es_centertell %s 3 seconds left...' % userid)
            es.delayed(5,'es_centertell %s 2 seconds left...' % userid)
            es.delayed(6,'es_centertell %s 1 seconds left...' % userid)
            gamethread.delayed(7,undo,(player))
        else:
            es.tell(userid,'#multi','#green[SH]#lightgreen Cannot activate Nightcrawler #green',int(gusers[userid]['nc_cooldown'])-int(time.time()),'#lightgreenseconds left')
Exemplo n.º 6
0
 def assassinWins(self):
     """Executes when the assassin wins"""
     global started
     for userid in self.guards.keys():
         self.guards[userid].suicide()
         es.centertell(userid, "You have failed your mission!")
     started = False
Exemplo n.º 7
0
def wcs_ulti_roots():
    userid = int(es.ServerVar('wcs_userid'))
    player = Player.from_userid(userid)
    if player.team >= 2:
        count = 0
        wcs_commands.fade(userid, 10, 55, 5, 200, 1)
        radius = float(es.ServerVar('wcs_radius'))
        time = float(es.ServerVar('wcs_duration'))
        atk_origin = player.origin
        for play in PlayerIter('alive'):
            if play.team != player.team:
                vic_origin = play.origin
                if vic_origin.get_distance(atk_origin) <= radius:
                    if not wcsgroup.getUser(play.userid, 'ulti_immunity'):
                        play.move_type = MoveType.NONE
                        count += 1
                        Delay(time, remove_freeze, (play, ))
                        es.emitsound('player', play.userid, 'wcs/root.wav',
                                     1.0, 0.6)
                        queue_command_string(
                            'es est_effect_06 #a 0 sprites/laser.vmt "%s,%s,%s" "%s,%s,%s" 10 1 5 5 10 4 0 160 0 155 2'
                            %
                            (atk_origin[0], atk_origin[1], atk_origin[2] + 35,
                             vic_origin[0], vic_origin[1], vic_origin[2] + 35))
                        queue_command_string(
                            'es est_effect_06 #a 0 sprites/laser.vmt "%s,%s,%s" "%s,%s,%s" 10 1 4 4 10 2 0 108 0 180 2'
                            %
                            (atk_origin[0], atk_origin[1], atk_origin[2] + 35,
                             vic_origin[0], vic_origin[1], vic_origin[2] + 35))
                        queue_command_string(
                            'es est_effect_06 #a 0 sprites/laser.vmt "%s,%s,%s" "%s,%s,%s" 10 1 5 5 10 4 0 80 0 190 2'
                            %
                            (atk_origin[0], atk_origin[1], atk_origin[2] + 35,
                             vic_origin[0], vic_origin[1], vic_origin[2] + 35))
                        queue_command_string(
                            'es est_effect 10 #a 0 sprites/laser.vmt %s %s %s 60 20 1 3 3 5 0 80 0 155 0 255 2'
                            %
                            (vic_origin[0], vic_origin[1], vic_origin[2] + 10))
                        queue_command_string(
                            'es est_effect 10 #a 0 sprites/laser.vmt %s %s %s 75 35 1 3 3 6 0 108 0 190 0 255 2'
                            %
                            (vic_origin[0], vic_origin[1], vic_origin[2] + 25))
                    else:
                        es.tell(
                            player.userid, '#multi',
                            '#lightgreenYour ultimate was blocked, the enemy is #greenimmune.'
                        )
                        es.tell(
                            play.userid, '#multi',
                            '#lightgreenYou #greenblocked #lightgreenan ultimate skill.'
                        )
    if count > 0:
        es.centertell(userid, 'Entangling Roots: %s' % (count))
    else:
        es.tell(
            userid, '#multi',
            '#lightgreenEntangling Roots #greenfailed#lightgreen, because no enemy is close enough.'
        )
        cancel(userid, 'player_ultimate')
Exemplo n.º 8
0
def player_hurt(ev):
    if ip_trainingserver_enable > 0:
        
        victim   = playerlib.getPlayer(ev['userid'])
        attacker = playerlib.getPlayer(ev['attacker'])
        
        if training_report_damage > 0:
            es.centertell(ev['attacker'], "Hurt %s for %s " % (victim.name, ev['dmg_health']))
def weapon_fire(ev):
    userid = ev['userid']
    if not superhero.hasHero(userid,'Invisible Man'):
        return
    player = playerlib.getPlayer(userid)
    r,g,b,a = player.getColor() 
    player.set("color", [r, g, b, 255])
    if a != 255:
        es.centertell(userid,"You are not cloaked anymore!")
Exemplo n.º 10
0
def weapon_fire(ev):
    userid = ev['userid']
    if not superhero.hasHero(userid, 'Invisible Man'):
        return
    player = playerlib.getPlayer(userid)
    r, g, b, a = player.getColor()
    player.set("color", [r, g, b, 255])
    if a != 255:
        es.centertell(userid, "You are not cloaked anymore!")
Exemplo n.º 11
0
 def announce(self, userid):
     global active
     if es.getlivingplayercount(3) <= cts:
         if len(bombsitesNum) >= 1:
             active = 1
             if playerlib.getPlayer(userid).attributes['teamid'] == 2:
                 es.tell(
                     userid, '#multi',
                     '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly plant at site #green%s#lightgreen!'
                     % self.defaultSiteLetter)
                 gamethread.delayed(1, es.tell, (
                     userid, '#multi',
                     '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly plant at site #green%s#lightgreen!'
                     % self.defaultSiteLetter))
                 es.centertell(
                     userid, 'You must only plant at %s site!' %
                     self.defaultSiteLetter)
                 gamethread.delayed(
                     1, es.centertell,
                     (userid, 'You must only plant at %s site!' %
                      self.defaultSiteLetter))
                 gamethread.delayed(
                     2, es.centertell,
                     (userid, 'You must only plant at %s site!' %
                      self.defaultSiteLetter))
                 gamethread.delayed(
                     3, es.centertell,
                     (userid, 'You must only plant at %s site!' %
                      self.defaultSiteLetter))
             elif playerlib.getPlayer(userid).attributes['teamid'] == 3:
                 es.tell(
                     userid, '#multi',
                     '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly protect site #green%s#lightgreen!'
                     % self.defaultSiteLetter)
                 gamethread.delayed(1, es.tell, (
                     userid, '#multi',
                     '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly protect site #green%s#lightgreen!'
                     % self.defaultSiteLetter))
                 es.centertell(
                     userid, 'You must only protect %s site!' %
                     self.defaultSiteLetter)
                 gamethread.delayed(
                     1, es.centertell,
                     (userid, 'You must only protect %s site!' %
                      self.defaultSiteLetter))
                 gamethread.delayed(
                     2, es.centertell,
                     (userid, 'You must only protect %s site!' %
                      self.defaultSiteLetter))
                 gamethread.delayed(
                     3, es.centertell,
                     (userid, 'You must only protect %s site!' %
                      self.defaultSiteLetter))
     else:
         active = 0
Exemplo n.º 12
0
def _admin_say_center(userid, message, teamonly): 
    tokens = {} 
    tokens['username'] = es.getplayername(userid) 
    tokens['message']  = message 
    if not teamonly: 
        for player in filter(lambda x: not es.getplayersteamid(x) == "BOT", es.getUseridList()): 
            es.centertell(player, xalanguage('center message', tokens, playerlib.getPlayer(player).get("lang"))) 
    else: 
        for player in playerlib.getPlayerList('#admin_say'): 
            es.centertell(int(player), xalanguage('admin only center message', tokens, player.get("lang"))) 
    return (0,'',0)
def player_footstep(ev):
    global gusers
    userid = ev['userid']
    if not superhero.hasHero(userid,'Invisible Man'):
        return
    player = playerlib.getPlayer(userid)
    r,g,b,a = player.getColor() 
    player.set("color", [r, g, b, 255])
    gusers[userid]['oldpos'] = es.getplayerlocation(userid)
    if a != 255:
        es.centertell(userid,"You are not cloaked anymore!")
Exemplo n.º 14
0
def player_footstep(ev):
    global gusers
    userid = ev['userid']
    if not superhero.hasHero(userid, 'Invisible Man'):
        return
    player = playerlib.getPlayer(userid)
    r, g, b, a = player.getColor()
    player.set("color", [r, g, b, 255])
    gusers[userid]['oldpos'] = es.getplayerlocation(userid)
    if a != 255:
        es.centertell(userid, "You are not cloaked anymore!")
Exemplo n.º 15
0
 def plant(self, userid, site, mapname):
     if active:
         if site != bombsitesNum[self.defaultSiteLetter]:
             if es.getplayersteamid(userid) != 'BOT':
                 playerlib.getPlayer(userid).set("push", (0, 300, 1))
                 es.tell(userid, '#multi', '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly plant at site #green%s#lightgreen!'%self.defaultSiteLetter)
                 es.centertell(userid, 'You must only plant at %s site!'%self.defaultSiteLetter)
                 gamethread.delayed(1, es.centertell, (userid, 'You must only plant at %s site!'%self.defaultSiteLetter))
             else:
                 x, y, z = random.choice(coords)
                 es.server.queuecmd('es_xsetpos %s %s %s %s'%(userid, x, y, z))
                 es.msg('#multi','#green[#lightgreenBombsite#green-#lightgreenLimiter#green]#lightgreen %s #defaultwas teleported for planting at the wrong bombsite and being a bot!' % es.getplayername(userid))
Exemplo n.º 16
0
 def prepare(self, match):
     """ prepares the player for a match """
     self.switchTeam(int(es.ServerVar("uam_vipteam")))
     self.removePrimary()
     self.replaceSecondaryWeapon("weapon_deagle")
     ultilib.WeaponSelectionMenu(self.userid, GuardWeapons)
     self.resetColor()
     es.give(self.userid, "item_assaultsuit")
     self.health = es.ServerVar("uam_guardhealth")
     self.nightvision = 1
     self.giveSmoke(1)
     self.giveFlash(2)
     self.giveHE(1)
     es.centertell(self.userid, "You're a guard! Protect %s! Kill %s!" % (match.vip.name, match.assassin.name))
Exemplo n.º 17
0
def undo(player):
    userid = str(es.getcmduserid())
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        es.centertell(player.userid,'Noclip deactivated')
        gusers[str(player.userid)]['crawl'] = 0
        if not 'speed' in gusers[str(player.userid)]: 
            gusers[str(player.userid)]['speed'] = 1.0
        player.set("speed", float(gusers[str(player.userid)]['speed']))
        es.server.queuecmd('es_xsetplayerprop %s "CBaseEntity.movetype" 1' % player.userid)
        gusers[str(player.userid)]['nc_cooldown'] = int(time.time()) + 10
        gusers[str(player.userid)]['on_ground'] = 0
        #es.server.cmd('ezunrestrict %s #all' % player.userid)
        gamethread.delayed(0.5,check_stuck,(player))
Exemplo n.º 18
0
def player_hurt(ev):
    userid = ev['userid']
    attacker = ev['attacker']
    damage = int(ev['dmg_health'])
    chance = 25
    dice = random.randint(1, 100)
    if dice <= chance:
        if not superhero.hasHero(attacker, 'Dracula'):
            return
        drain = 0.5
        health = int(damage * drain)
        player = playerlib.getPlayer(attacker)
        player.health = player.health + health
        es.centertell(attacker, 'Drained', health, 'Health')
Exemplo n.º 19
0
def player_hurt(ev):
    userid = ev['userid']
    attacker = ev['attacker']
    damage = int(ev['dmg_health'])
    chance = 25
    dice = random.randint(1,100)
    if dice <= chance:
        if not superhero.hasHero(attacker,'Dracula'):
            return
        drain = 0.5
        health = int(damage*drain)
        player = playerlib.getPlayer(attacker)
        player.health = player.health + health
        es.centertell(attacker,'Drained',health,'Health')
Exemplo n.º 20
0
def wcs_ulti_chain():
    userid = int(es.ServerVar('wcs_userid'))
    player = Player.from_userid(userid)
    if player.team >= 2:
        count = 0
        wcs_commands.fade(userid, 10, 55, 5, 200, 1)
        radius = float(es.ServerVar('wcs_radius'))
        atk_origin = player.origin
        for play in PlayerIter('alive'):
            if play.team != player.team:
                vic_origin = play.origin
                if vic_origin.get_distance(atk_origin) <= radius:
                    if not wcsgroup.getUser(play.userid, 'ulti_immunity'):
                        wcs_commands.damage(play.userid, 32, userid, solo=1)
                        count += 1
                        es.emitsound('player', play.userid,
                                     'wcs/lightning.wav', 1.0, 0.6)
                        queue_command_string(
                            'es est_effect_06 #a 0 sprites/lgtning.vmt "%s,%s,%s" "%s,%s,%s" 10 .2 10 1 1 13 160 160 230 255 11'
                            %
                            (atk_origin[0], atk_origin[1], atk_origin[2] + 35,
                             vic_origin[0], vic_origin[1], vic_origin[2] + 35))
                        queue_command_string(
                            'es est_effect_06 #a 0 sprites/lgtning.vmt "%s,%s,%s" "%s,%s,%s" 10 .2 10 2 2 12 150 150 255 220 8'
                            %
                            (atk_origin[0], atk_origin[1], atk_origin[2] + 35,
                             vic_origin[0], vic_origin[1], vic_origin[2] + 35))
                        queue_command_string(
                            'es est_effect_06 #a 0 sprites/lgtning.vmt "%s,%s,%s" "%s,%s,%s" 10 .2 10 1 1 14 200 200 255 235 10'
                            %
                            (atk_origin[0], atk_origin[1], atk_origin[2] + 35,
                             vic_origin[0], vic_origin[1], vic_origin[2] + 35))
                    else:
                        es.tell(
                            userid, '#multi',
                            '#lightgreenYour ultimate was blocked, the enemy is #greenimmune.'
                        )
                        es.tell(
                            play.userid, '#multi',
                            '#lightgreenYou #greenblocked #lightgreenan ultimate skill.'
                        )
    if count > 0:
        es.centertell(userid, 'Chain Lightning: %s players damaged' % (count))
    else:
        es.tell(
            userid, '#multi',
            '#lightgreenChain Lightning #greenfailed#lightgreen, because no enemy is close enough to be damaged.'
        )
        cancel(userid, 'player_ultimate')
Exemplo n.º 21
0
def undo(player):
    userid = str(es.getcmduserid())
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        es.centertell(player.userid, 'Noclip deactivated')
        gusers[str(player.userid)]['crawl'] = 0
        if not 'speed' in gusers[str(player.userid)]:
            gusers[str(player.userid)]['speed'] = 1.0
        player.set("speed", float(gusers[str(player.userid)]['speed']))
        es.server.queuecmd('es_xsetplayerprop %s "CBaseEntity.movetype" 1' %
                           player.userid)
        gusers[str(player.userid)]['nc_cooldown'] = int(time.time()) + 10
        gusers[str(player.userid)]['on_ground'] = 0
        #es.server.cmd('ezunrestrict %s #all' % player.userid)
        gamethread.delayed(0.5, check_stuck, (player))
Exemplo n.º 22
0
def check_stuck(player):
    userid = str(es.getcmduserid())
    if not es.exists('userid',userid):
        return
    global gusers
    on_ground = int(gusers[str(player.userid)]['on_ground'])
    if on_ground != 8:
        if player.onground != 1:
            es.centertell(player.userid,'You are not on the ground, probably stuck, will slay you soon!')
            gusers[str(player.userid)]['on_ground'] = on_ground + 1
            gamethread.delayed(0.5,check_stuck,(player))
        else:
            return
    else:
        es.server.queuecmd('damage %s 999 1024' % player.userid)
Exemplo n.º 23
0
 def prepare(self, match):
     """ prepares the player for a match """
     self.switchTeam(int(es.ServerVar("uam_vipteam")))
     self.removePrimary()
     self.setColor(0, 255, 255, 255)
     self.replaceSecondaryWeapon("weapon_deagle")
     es.give(self.userid, "item_assaultsuit")
     self.armor = 150
     self.health = es.ServerVar("uam_viphealth")
     self.nightvision = 1
     self.giveSmoke(1)
     self.giveFlash(0)
     self.giveHE(0)
     self.setSpeed(1.2)
     es.centertell(self.userid, "You're the VIP. Survive at all cost. The assassin is %s." % match.assassin.name)
     es.dbgmsg(0, "The VIP id is %s" % self.userid)
Exemplo n.º 24
0
def _admin_say_tell(adminid, message, teamonly):
    position = 0 
    tokens = {}
    username = ''
    messagetokens = message.split()
    if not messagetokens:
        return
    if messagetokens[0].startswith('"') and message.count('"') >= 2:
        for part in messagetokens:
            position += 1
            username += ' '+part.strip('"')
            if part.endswith('"'):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    elif messagetokens[0].startswith("'") and message.count("'") >= 2:
        for part in messagetokens:
            position += 1
            username += ' '+part.strip("'")
            if part.endswith("'"):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    else:
        username = messagetokens[0]
        message = ' '.join(messagetokens[1:])
    username = username.lstrip()
    userid = es.getuserid(username)
    if userid: 
        tokens['adminname'] = es.getplayername(adminid) 
        tokens['username']  = es.getplayername(userid) 
        tokens['message']   = message
        if not teamonly: 
            es.tell(userid , '#multi', xalanguage('admin to player', tokens, playerlib.getPlayer(userid).get("lang"))) 
            es.tell(adminid, '#multi', xalanguage('admin to player', tokens, playerlib.getPlayer(adminid).get("lang"))) 
        else: 
            es.centertell(userid , xalanguage('admin center to player', tokens, playerlib.getPlayer(userid).get("lang"))) 
            es.centertell(adminid, xalanguage('admin center to player', tokens, playerlib.getPlayer(adminid).get("lang"))) 
    else: 
        tokens['username'] = username
        es.tell(adminid, '#multi', xalanguage('no player found', tokens, playerlib.getPlayer(adminid).get("lang"))) 
    return (0,'',0)
Exemplo n.º 25
0
 def prepare(self, match):
     """ prepares the player for a match """
     self.switchTeam(int(es.ServerVar("uam_assassinteam")))
     self.removePrimary()
     self.setColor(0, 0, 0, AssassinAlpha)
     self.replaceSecondaryWeapon("weapon_deagle")
     es.give(self.userid, "item_assaultsuit")
     self.armor = 150
     self.health = es.ServerVar("uam_assassinhealth")
     self.nightvision = 1
     self.giveSmoke(2)
     self.giveFlash(3)
     self.giveHE(2)
     self.setSpeed(0.8)
     ultilib.WeaponSelectionMenu(self.userid, AssassinWeapons)
     es.centertell(self.userid, "You're the Assassin. Kill %s!" % match.vip.name)
     es.dbgmsg(0, "The Assassin id is %s" % self.userid)
Exemplo n.º 26
0
def check_stuck(player):
    userid = str(es.getcmduserid())
    if not es.exists('userid', userid):
        return
    global gusers
    on_ground = int(gusers[str(player.userid)]['on_ground'])
    if on_ground != 8:
        if player.onground != 1:
            es.centertell(
                player.userid,
                'You are not on the ground, probably stuck, will slay you soon!'
            )
            gusers[str(player.userid)]['on_ground'] = on_ground + 1
            gamethread.delayed(0.5, check_stuck, (player))
        else:
            return
    else:
        es.server.queuecmd('damage %s 999 1024' % player.userid)
Exemplo n.º 27
0
def _admin_say_center(userid, message, teamonly):
    tokens = {}
    tokens['username'] = es.getplayername(userid)
    tokens['message'] = message
    if not teamonly:
        for player in filter(lambda x: not es.getplayersteamid(x) == "BOT",
                             es.getUseridList()):
            es.centertell(
                player,
                xalanguage('center message', tokens,
                           playerlib.getPlayer(player).get("lang")))
    else:
        for player in playerlib.getPlayerList('#admin_say'):
            es.centertell(
                int(player),
                xalanguage('admin only center message', tokens,
                           player.get("lang")))
    return (0, '', 0)
Exemplo n.º 28
0
def player_hurt(ev):
	if ip_scoutag_enable > 0 and ev['weapon'] == "scout":
		
		victim = playerlib.getPlayer(ev['userid'])
		attacker = playerlib.getPlayer(ev['attacker'])
		
		es.centertell(ev['attacker'], 'TaG')
		
		if int(ev["hitgroup"]) == 1:
			if ip_scoutag_announce_headshot > 0:
				es.msg("#multi", "#green [Scout Tag] : #default %s just #lightgreen HEADSHOT #default %s with the scout!" % (attacker.name, victim.name))
			else:
				es.tell(attacker, "#multi", "#green [Scout Tag] : #default You just HEADSHOT %s for %s damage" % (victim.name, ev["dmg_health"]))
				es.tell(victim, "#multi", "#green [Scout Tag] : #default %s just HEADSHOT you!" % attacker.name)
            attackercash = attacker.get("cash")
            attacker.set("cash", attackercash + 500)
		elif int(ev["hitgroup"]) == 2:
			es.tell(attacker, "#multi", "#green [Scout Tag] : #default You just shot %s in the #lightgreen CHEST #default" % (victim.name))
			es.tell(victim, "#multi", "#green [Scout Tag] : #default %s just shot your in the #lightgreen CHEST #default for #lightgreen %s #default damage" % (attacker.name, ev["dmg_health"]))
def check_moving(userid):
    userid = str(userid)
    if not superhero.hasHero(userid,'Invisible Man'):
        return
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        if not 'oldpos' in gusers[userid]: gusers[userid]['oldpos'] = 0
        newpos = es.getplayerlocation(userid)
        oldpos = gusers[userid]['oldpos']
        if str(newpos) == str(oldpos):
            r,g,b,a = player.getColor() 
            if a >= 15:
                a -= 15
            invis = a
            invis = invis * 100 / 255
            invis = 100-invis
            es.centertell(userid,invis,'% Cloaked')
            player.set("color", [r, g, b, a])                       
        gusers[userid]['oldpos'] = newpos   
        gamethread.delayedname(INVIS_DELAY, delayname % player, check_moving, player)
Exemplo n.º 30
0
def check_moving(userid):
    userid = str(userid)
    if not superhero.hasHero(userid, 'Invisible Man'):
        return
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        if not 'oldpos' in gusers[userid]: gusers[userid]['oldpos'] = 0
        newpos = es.getplayerlocation(userid)
        oldpos = gusers[userid]['oldpos']
        if str(newpos) == str(oldpos):
            r, g, b, a = player.getColor()
            if a >= 15:
                a -= 15
            invis = a
            invis = invis * 100 / 255
            invis = 100 - invis
            es.centertell(userid, invis, '% Cloaked')
            player.set("color", [r, g, b, a])
        gusers[userid]['oldpos'] = newpos
        gamethread.delayedname(INVIS_DELAY, delayname % player, check_moving,
                               player)
Exemplo n.º 31
0
 def announce(self, userid):
     global active
     if es.getlivingplayercount(3) <= cts:
         if len(bombsitesNum) >= 1:
             active = 1
             if playerlib.getPlayer(userid).attributes['teamid'] == 2:
                 es.tell(userid, '#multi', '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly plant at site #green%s#lightgreen!'%self.defaultSiteLetter)
                 gamethread.delayed(1, es.tell, (userid, '#multi', '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly plant at site #green%s#lightgreen!'%self.defaultSiteLetter))
                 es.centertell(userid, 'You must only plant at %s site!'%self.defaultSiteLetter)
                 gamethread.delayed(1, es.centertell, (userid, 'You must only plant at %s site!'%self.defaultSiteLetter))
                 gamethread.delayed(2, es.centertell, (userid, 'You must only plant at %s site!'%self.defaultSiteLetter))
                 gamethread.delayed(3, es.centertell, (userid, 'You must only plant at %s site!'%self.defaultSiteLetter))
             elif playerlib.getPlayer(userid).attributes['teamid'] == 3:
                 es.tell(userid, '#multi', '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly protect site #green%s#lightgreen!'%self.defaultSiteLetter)
                 gamethread.delayed(1, es.tell, (userid, '#multi', '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly protect site #green%s#lightgreen!'%self.defaultSiteLetter))
                 es.centertell(userid, 'You must only protect %s site!'%self.defaultSiteLetter)
                 gamethread.delayed(1, es.centertell, (userid, 'You must only protect %s site!'%self.defaultSiteLetter))
                 gamethread.delayed(2, es.centertell, (userid, 'You must only protect %s site!'%self.defaultSiteLetter))
                 gamethread.delayed(3, es.centertell, (userid, 'You must only protect %s site!'%self.defaultSiteLetter))
     else:
         active = 0
Exemplo n.º 32
0
def player_hurt(event_var):
   victim_id = int(event_var['userid'])
   damage = int(event_var['dmg_health'])
   attacker_id = int(event_var['attacker'])
   victim_name = event_var['es_username']
   attacker_name = event_var['es_attackername']
   if victim_id not in (0, attacker_id):
      display_areas_split = str(DISPLAY_DAMAGE_DISPLAY).strip().split(';')
      show_dmg = '-%sHP' %damage
      show_maxlen = max(len(victim_name), len(show_dmg))
      if int(DISPLAY_DAMAGE_NAME):
         show_msg = '%s\n%s' %(victim_name.center(show_maxlen), show_dmg.center(show_maxlen))
      else:
         show_msg = show_dmg
      if 'chat' in display_areas_split:
         es.tell(attacker_id, '#multi', '#green[DMG] #lightgreen%s' %show_msg)
      if 'hudhint' in display_areas_split:
         usermsg.hudhint(attacker_id, show_msg)
      if 'keyhint' in display_areas_split:
         usermsg.keyhint(attacker_id, show_msg)
      if 'center' in display_areas_split:
         es.centertell(attacker_id, show_msg)
Exemplo n.º 33
0
def power():
    userid = str(es.getcmduserid())
    player = playerlib.getPlayer(userid)
    if not playerlib.getPlayer(userid).isdead:
        if int(time.time()) >= int(gusers[userid]['nc_cooldown']):
            es.server.queuecmd(
                'es_xsetplayerprop %s "CBaseEntity.movetype" 8' % userid)
            if not 'speed' in gusers[userid]:
                gusers[userid]['speed'] = 1.0
            player.set("speed", 1.0)
            gusers[userid]['nc_cooldown'] = int(time.time()) + 10
            es.centertell(userid, 'Noclip activated, do not get Stuck!')
            es.tell(
                userid, '#multi',
                '#green[SH]#lightgreen Nightcrawler is partially blinded. You now are aswell.'
            )
            gusers[userid]['crawl'] = 1
            fade(userid, 1, 0.5, 2.8, 0, 0, 0, 254)
            speed_set(userid)
            #es.server.cmd('ezrestrict %s #all' % userid)
            #es.server.cmd('ezrestrict_removeidle #all')
            #es.server.cmd('ezunrestrict %s knife' % userid)
            gamethread.delayed(0.1, es.server.queuecmd,
                               'es_xgive %s weapon_knife' % userid)
            es.delayed(1, 'es_centertell %s 6 seconds left...' % userid)
            es.delayed(2, 'es_centertell %s 5 seconds left...' % userid)
            es.delayed(3, 'es_centertell %s 4 seconds left...' % userid)
            es.delayed(4, 'es_centertell %s 3 seconds left...' % userid)
            es.delayed(5, 'es_centertell %s 2 seconds left...' % userid)
            es.delayed(6, 'es_centertell %s 1 seconds left...' % userid)
            gamethread.delayed(7, undo, (player))
        else:
            es.tell(
                userid, '#multi',
                '#green[SH]#lightgreen Cannot activate Nightcrawler #green',
                int(gusers[userid]['nc_cooldown']) - int(time.time()),
                '#lightgreenseconds left')
Exemplo n.º 34
0
def player_connect(event_var):
   """ Announces the connecting player's country """
   if event_var['networkid'] == 'BOT':
      return

   tokens = {'name': event_var['name'], 'location': iptocountry.get_country(event_var['address'])[0]}
   chat   = int(cvar_announce_chat)
   center = int(cvar_announce_center)
   hud    = int(cvar_announce_hud)

   es.dbgmsg(0, remove_tags(lang_text('connect', tokens)))

   for userid in es.getUseridList():
      text = lang_text('connect', tokens, playerlib.getPlayer(userid).get('lang'))

      if chat:
         if chat == 2:
            es.tell(userid, '#multi', text)
         else:
            usermsg.echo(userid, remove_tags(text))
      if center:
         es.centertell(userid, remove_tags(text))
      if hud:
         usermsg.hudhint(userid, remove_tags(text))
Exemplo n.º 35
0
 def plant(self, userid, site, mapname):
     if active:
         if site != bombsitesNum[self.defaultSiteLetter]:
             if es.getplayersteamid(userid) != 'BOT':
                 playerlib.getPlayer(userid).set("push", (0, 300, 1))
                 es.tell(
                     userid, '#multi',
                     '#green[#lightgreenBombsite#green-#lightgreenLimiter#lightgreen]#default Due to the low number of CT\'s this round, you must #lightgreenonly plant at site #green%s#lightgreen!'
                     % self.defaultSiteLetter)
                 es.centertell(
                     userid, 'You must only plant at %s site!' %
                     self.defaultSiteLetter)
                 gamethread.delayed(
                     1, es.centertell,
                     (userid, 'You must only plant at %s site!' %
                      self.defaultSiteLetter))
             else:
                 x, y, z = random.choice(coords)
                 es.server.queuecmd('es_xsetpos %s %s %s %s' %
                                    (userid, x, y, z))
                 es.msg(
                     '#multi',
                     '#green[#lightgreenBombsite#green-#lightgreenLimiter#green]#lightgreen %s #defaultwas teleported for planting at the wrong bombsite and being a bot!'
                     % es.getplayername(userid))
Exemplo n.º 36
0
def player_hurt(ev):
    if started:
        userid = int(ev["userid"])
        if userid == theMatch.vipID:
            if theMatch.vip.health / VIPHealth < 0.2 and not ev["es_userdead"]:
                es.centertell(theMatch.vipID, "Your health is critically low! Take cover!")
        elif userid == theMatch.assassinID and not ev["es_userdead"]:
            if theMatch.assassin.health / AssassinHealth < 0.2:
                es.centertell(theMatch.assassinID, "Your health is critically low! Take cover!")

        if ev["es_attackerteam"] == ev["es_userteam"] and not ev["userid"] == ev["attacker"]:
            es.centertell(ev["attacker"], "You just shot a friend!")
Exemplo n.º 37
0
def player_spawn(ev):
    if started:
        es.sexec(ev["userid"], "kill")
        es.centertell(ev["userid"], "You may join the game next round!")
Exemplo n.º 38
0
def auto_stuck(userid):
    # Player X-X width = 64.0625 units
    # Player Y-Y width = 64.2360839844
    # Player height = 62.03125 units
    if es.exists("userid", userid):
        if not es.isbot(userid):
            steamid = es.getplayersteamid(userid)
            player = playerlib.getPlayer(userid)
            if not player.isdead:
                if client[steamid]["auto_flash"] == "On":
                    if player.getFB() == 0:
                        es.server.queuecmd('es_give %s weapon_flashbang' % userid)
                        es.server.queuecmd('es_give %s weapon_flashbang' % userid)
                        # player.setFB(100)

            if client[steamid]['auto_stuck'] == "On":
                alive = es.getlivingplayercount()
                if alive > 1 and time.time() - client[steamid]["time"] > 1.5:
                    player = playerlib.getPlayer(userid)
                    steamid = es.getplayersteamid(userid)

                    target = playerlib.getPlayer(player.getClosestPlayer(team=None)[1])

                    player_target = playerlib.getPlayer(target)
                    target_steamid = player_target.steamid

                    target_pos = es.getplayerlocation(player.getClosestPlayer(team=None)[1])  # Tuple
                    player_pos = es.getplayerlocation(userid)

                    target_x = float(target_pos[0])
                    target_y = float(target_pos[1])
                    target_z = float(target_pos[2])

                    player_x = float(player_pos[0])
                    player_y = float(player_pos[1])
                    player_z = float(player_pos[2])

                    if not player.isdead:
                        if not es.isbot(target):
                            if abs(-target_z - (-player_z)) < 61 and abs(-target_z - (-player_z)) >= 0 and abs(
                                            -target_x - (-player_x)) < 32 and abs(-target_y - (
                            -player_y)) < 32 and not player_target.isDucked() and not player.isDucked():
                                player.noblock(1)
                                player_target.noblock(1)
                                player.setColor(255, 255, 255, 100)
                                player_target.setColor(255, 255, 255, 100)
                                es.centertell(userid, 'Anti-Stuck')

                            elif abs(-target_z - (-player_z)) < 45 and abs(-target_z - (-player_z)) >= 0 and abs(
                                            -target_x - (-player_x)) < 32 and abs(-target_y - (
                            -player_y)) < 32 and player_target.isDucked() and not player.isDucked():
                                player.noblock(1)
                                player_target.noblock(1)
                                player.setColor(255, 255, 255, 100)
                                player_target.setColor(255, 255, 255, 100)
                                es.centertell(userid, 'Anti-Stuck')

                            elif abs(-target_z - (-player_z)) < 45 and abs(-target_z - (-player_z)) >= 0 and abs(
                                            -target_x - (-player_x)) < 32 and abs(-target_y - (
                            -player_y)) < 32 and not player_target.isDucked() and player.isDucked():

                                player.noblock(1)
                                player_target.noblock(1)
                                player.setColor(255, 255, 255, 100)
                                player_target.setColor(255, 255, 255, 100)
                                es.centertell(userid, 'Anti-Stuck')

                            elif abs(-target_z - (-player_z)) < 45 and abs(-target_z - (-player_z)) >= 0 and abs(
                                            -target_x - (-player_x)) < 32 and abs(-target_y - (
                            -player_y)) < 32 and player_target.isDucked() and player.isDucked():
                                player.noblock(1)
                                player_target.noblock(1)
                                player.setColor(255, 255, 255, 100)
                                player_target.setColor(255, 255, 255, 100)
                                es.centertell(userid, 'Anti-Stuck')



                            elif abs(-target_z - (-player_z)) < 61 and abs(-target_z - (-player_z)) >= 0 and abs(
                                            -target_x - (-player_x)) < 32 and abs(-target_y - (
                            -player_y)) < 32 and not player_target.isDucked() and player.isDucked():
                                if target_z < player_z:
                                    player.noblock(1)
                                    player_target.noblock(1)
                                    player.setColor(255, 255, 255, 100)
                                    player_target.setColor(255, 255, 255, 100)
                                    es.centertell(userid, 'Anti-Stuck 1')

                            elif abs(-target_z - (-player_z)) < 61 and abs(-target_z - (-player_z)) >= 0 and abs(
                                            -target_x - (-player_x)) < 32 and abs(-target_y - (
                            -player_y)) < 32 and player_target.isDucked() and not player.isDucked():
                                if target_z > player_z:
                                    player.noblock(1)
                                    player_target.noblock(1)
                                    player.setColor(255, 255, 255, 100)
                                    player_target.setColor(255, 255, 255, 100)
                                    es.centertell(userid, 'Anti-Stuck 2')

                            else:
                                if client[steamid]["player_state"] == "Block" and client[target_steamid][
                                    "player_state"] == "Block":
                                    player.setColor(255, 255, 255, 255)
                                    player.noblock(0)
                                    player_target.noblock(0)
                                    player_target.setColor(255, 255, 255, 255)



                    else:
                        gamethread.cancelDelayed("auto_stuck_%s" % userid)
                        return

    gamethread.delayedname(0.1, 'auto_stuck_%s' % userid, auto_stuck, args=(userid))
Exemplo n.º 39
0
def _admin_say_tell(adminid, message, teamonly):
    position = 0 
    tokens = {}
    username = ''
    messagetokens = message.split()
    if not messagetokens:
        return
    if messagetokens[0].startswith('"') and message.count('"') >= 2:
        for part in messagetokens:
            position += 1
            username += ' '+part.strip('"')
            if part.endswith('"'):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    elif messagetokens[0].startswith("'") and message.count("'") >= 2:
        for part in messagetokens:
            position += 1
            username += ' '+part.strip("'")
            if part.endswith("'"):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    else:
        username = messagetokens[0]
        message = ' '.join(messagetokens[1:])
    
    tokens['message']   = message
    tokens['adminname'] = es.getplayername(adminid)
    
    if username.startswith('#'):
        tokens['username']  = username
        pl = playerlib.getPlayerList(username)
        if pl:
            for player in pl:
                if not teamonly: 
                    es.tell(int(player) , '#multi', xalanguage('admin to player', tokens, player.get("lang")))
                else:
                    es.centertell(int(player) , xalanguage('admin center to player', tokens, player.get("lang")))
            if not teamonly:
                es.tell(adminid, '#multi', xalanguage('admin to player', tokens, playerlib.getPlayer(adminid).get("lang")))
            else:
                es.centertell(adminid, xalanguage('admin center to player', tokens, playerlib.getPlayer(adminid).get("lang")))
            xaextendedsay.logging.log("has said '%s' to group %s" % (message, username), adminid, True )
        else:
            xaextendedsay.logging.log("has said '%s' to %s, but no group existed" % (message, username), adminid, True )  
    else:
        username = username.lstrip()
        userid = es.getuserid(username)
        if userid:  
            tokens['username']  = es.getplayername(userid) 
            if not teamonly: 
                es.tell(userid , '#multi', xalanguage('admin to player', tokens, playerlib.getPlayer(userid).get("lang"))) 
                es.tell(adminid, '#multi', xalanguage('admin to player', tokens, playerlib.getPlayer(adminid).get("lang")))
                xaextendedsay.logging.log("has said '%s' to user %s [%s]" % (message, tokens['username'], es.getplayersteamid(userid) ), adminid, True ) 
            else: 
                es.centertell(userid , xalanguage('admin center to player', tokens, playerlib.getPlayer(userid).get("lang"))) 
                es.centertell(adminid, xalanguage('admin center to player', tokens, playerlib.getPlayer(adminid).get("lang")))
                xaextendedsay.logging.log("has said '%s' to user %s [%s]" % (message, tokens['username'], es.getplayersteamid(userid) ), adminid, True )  
        else: 
            tokens['username'] = username
            es.tell(adminid, '#multi', xalanguage('no player found', tokens, playerlib.getPlayer(adminid).get("lang"))) 
    return (0,'',0)
Exemplo n.º 40
0
def _admin_say_tell(adminid, message, teamonly):
    position = 0
    tokens = {}
    username = ''
    messagetokens = message.split()
    if not messagetokens:
        return
    if messagetokens[0].startswith('"') and message.count('"') >= 2:
        for part in messagetokens:
            position += 1
            username += ' ' + part.strip('"')
            if part.endswith('"'):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    elif messagetokens[0].startswith("'") and message.count("'") >= 2:
        for part in messagetokens:
            position += 1
            username += ' ' + part.strip("'")
            if part.endswith("'"):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    else:
        username = messagetokens[0]
        message = ' '.join(messagetokens[1:])

    tokens['message'] = message
    tokens['adminname'] = es.getplayername(adminid)

    if username.startswith('#'):
        tokens['username'] = username
        pl = playerlib.getPlayerList(username)
        if pl:
            for player in pl:
                if not teamonly:
                    es.tell(
                        int(player), '#multi',
                        xalanguage('admin to player', tokens,
                                   player.get("lang")))
                else:
                    es.centertell(
                        int(player),
                        xalanguage('admin center to player', tokens,
                                   player.get("lang")))
            if not teamonly:
                es.tell(
                    adminid, '#multi',
                    xalanguage('admin to player', tokens,
                               playerlib.getPlayer(adminid).get("lang")))
            else:
                es.centertell(
                    adminid,
                    xalanguage('admin center to player', tokens,
                               playerlib.getPlayer(adminid).get("lang")))
            xaextendedsay.logging.log(
                "has said '%s' to group %s" % (message, username), adminid,
                True)
        else:
            xaextendedsay.logging.log(
                "has said '%s' to %s, but no group existed" %
                (message, username), adminid, True)
    else:
        username = username.lstrip()
        userid = es.getuserid(username)
        if userid:
            tokens['username'] = es.getplayername(userid)
            if not teamonly:
                es.tell(
                    userid, '#multi',
                    xalanguage('admin to player', tokens,
                               playerlib.getPlayer(userid).get("lang")))
                es.tell(
                    adminid, '#multi',
                    xalanguage('admin to player', tokens,
                               playerlib.getPlayer(adminid).get("lang")))
                xaextendedsay.logging.log(
                    "has said '%s' to user %s [%s]" %
                    (message, tokens['username'], es.getplayersteamid(userid)),
                    adminid, True)
            else:
                es.centertell(
                    userid,
                    xalanguage('admin center to player', tokens,
                               playerlib.getPlayer(userid).get("lang")))
                es.centertell(
                    adminid,
                    xalanguage('admin center to player', tokens,
                               playerlib.getPlayer(adminid).get("lang")))
                xaextendedsay.logging.log(
                    "has said '%s' to user %s [%s]" %
                    (message, tokens['username'], es.getplayersteamid(userid)),
                    adminid, True)
        else:
            tokens['username'] = username
            es.tell(
                adminid, '#multi',
                xalanguage('no player found', tokens,
                           playerlib.getPlayer(adminid).get("lang")))
    return (0, '', 0)
Exemplo n.º 41
0
def before_player_hurt(ev):
    if ev["weapon"] != "flashbang":
        ultilib.EasyPlayer(ev["userid"]).health = 1
        es.centertell(ev["attacker"], "USE FLASHBANG ONLY!")
Exemplo n.º 42
0
def centertell(argv):
  es.centertell(*argv)
Exemplo n.º 43
0
def centertell(argv):
    es.centertell(*argv)
Exemplo n.º 44
0
def _admin_say_tell(adminid, message, teamonly):
    position = 0
    tokens = {}
    username = ''
    messagetokens = message.split()
    if not messagetokens:
        return
    if messagetokens[0].startswith('"') and message.count('"') >= 2:
        for part in messagetokens:
            position += 1
            username += ' ' + part.strip('"')
            if part.endswith('"'):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    elif messagetokens[0].startswith("'") and message.count("'") >= 2:
        for part in messagetokens:
            position += 1
            username += ' ' + part.strip("'")
            if part.endswith("'"):
                break
        try:
            message = ' '.join(messagetokens[position:])
        except:
            message = ''
    else:
        username = messagetokens[0]
        message = ' '.join(messagetokens[1:])
    username = username.lstrip()
    userid = es.getuserid(username)
    if userid:
        tokens['adminname'] = es.getplayername(adminid)
        tokens['username'] = es.getplayername(userid)
        tokens['message'] = message
        if not teamonly:
            es.tell(
                userid, '#multi',
                xalanguage('admin to player', tokens,
                           playerlib.getPlayer(userid).get("lang")))
            es.tell(
                adminid, '#multi',
                xalanguage('admin to player', tokens,
                           playerlib.getPlayer(adminid).get("lang")))
        else:
            es.centertell(
                userid,
                xalanguage('admin center to player', tokens,
                           playerlib.getPlayer(userid).get("lang")))
            es.centertell(
                adminid,
                xalanguage('admin center to player', tokens,
                           playerlib.getPlayer(adminid).get("lang")))
    else:
        tokens['username'] = username
        es.tell(
            adminid, '#multi',
            xalanguage('no player found', tokens,
                       playerlib.getPlayer(adminid).get("lang")))
    return (0, '', 0)