Пример #1
0
def dissolveRagdoll(userid):
    # Get dissolver effect
    effect = int(gg_dissolver)

    # Just remove the ragdoll?
    if effect == 1:
        es.delayed(2, 'es_xfire %s cs_ragdoll Kill' % userid)

        return

    # Check to see what effect to use and set up the command
    if effect == 6:
        cmd = (
            'es_xfire %s env_entity_dissolver AddOutput "dissolvetype %s"' %
            (userid, random.randint(0, 3)))
    else:
        cmd = (
            'es_xfire %s env_entity_dissolver AddOutput "dissolvetype %s"' %
            (userid, int(effect) - 2))

    # Run the command
    es.server.queuecmd(cmd)

    # Dissolve the ragdoll then kill the dissolver
    es.delayed('0.01', 'es_xfire %s env_entity_dissolver Dissolve' % userid)
Пример #2
0
def es_map_start(event_var):
    '''Method to be ran on es_map_start event'''

    # Make the sounds downloadable
    make_downloadable()

    # Load custom GunGame events
    gg_resource_file.load()

    # Execute GunGame's server.cfg file
    es.delayed(1, 'exec gungame51/gg_server.cfg')

    # Reset all players
    reset_players()

    # Reset current leaders
    LeaderManager().reset()

    # Prune the Database
    prune_winners_db()

    # Loop through all human players
    for userid in getUseridList('#human'):

        # Update players in winner's database
        Player(userid).database_update()

    # Is the weapon order sort type set to #random?
    if str(gg_weapon_order_sort_type) == '#random':

        # Re-randomize the weapon order
        get_weapon_order().randomize()

    # Check to see if gg_start needs fired after everything is loaded
    delayed(2, check_gg_start)
Пример #3
0
    def give(self, entity_classname):
        """Give the player an entity by it's classname.

        Arguments:
        entity_classname - the full keyvalue name of the weapon as it appears
        in es.createentityindexlist.

        """
        es.delayed(0, "es_xgive %s %s" % (self.user_ID, entity_classname))
Пример #4
0
    def give(self, entity_classname):
        """Give the player an entity by it's classname.

        Arguments:
        entity_classname - the full keyvalue name of the weapon as it appears
        in es.createentityindexlist.

        """
        es.delayed(0, "es_xgive %s %s" %(self.user_ID, entity_classname))
def spendskills_handler(userid, choice, popupname):
    if es.exists("key", "wcsuserdata", userid):
        allowed = 0
        race = es.keygetvalue("wcsuserdata", userid, "race")
        unused = int(es.keygetvalue("wcsuserdata", userid, "unused"))
        level = int(es.keygetvalue("wcsuserdata", userid, "level"))
        ultimatelevel = es.getInt("wcs_ultimatelevel")
        numoflevels = int(es.keygetvalue("wcsraces", race, "numberoflevels"))
        numofskills = int(es.keygetvalue("wcsraces", race, "numberofskills"))
        skillnames = es.keygetvalue("wcsraces", race, "skillnames").split("|")
        if choice != 10:
            if unused > 0:
                if choice <= numofskills:
                    skill = "skill_%s" % choice
                    skilllevel = int(
                        es.keygetvalue("wcsuserdata", userid, skill))
                    if skilllevel < numoflevels:
                        if choice == numofskills:
                            if level >= ultimatelevel:
                                allowed = 1
                        else:
                            allowed = 1
                    if allowed == 1:
                        skilllevel += 1
                        unused -= 1
                        es.keysetvalue("wcsuserdata", userid, skill,
                                       skilllevel)
                        es.keysetvalue("wcsuserdata", userid, "unused", unused)
                        skillname = skillnames[choice - 1]
                        if skilllevel == 1:
                            es.tell(
                                userid, "#multi",
                                "#lightgreenCongratulations, your new skill#green %s#lightgreen, is now level#green %s#lightgreen. Some skills are activated#green next round."
                                % (skillname, skilllevel))
                        else:
                            es.tell(
                                userid, "#multi",
                                "#lightgreenYour skill#green %s#lightgreen, is now level#green %s#lightgreen."
                                % (skillname, skilllevel))
                    es.keysetvalue("wcsuserdata", userid, "skillcheck", 1)
            else:
                es.tell(userid, "#multi",
                        "#lightgreenYou have no free#green Skill Points")
        if unused > 0:
            es.delayed(0.1, "wcs_spendskillsmenu %s" % userid)
Пример #6
0
def giveObject(adminid, userid):
    command = admins[adminid]['command']
    if command.startswith(('health_', 'cash_')):
        prop   = 'CBasePlayer.m_iHealth' if command.startswith('health_') else 'CCSPlayer.m_iAccount'
        amount = int(command.replace('health_', '').replace('cash_', ''))
        currentAmount  = es.getplayerprop(userid, prop)
        es.setplayerprop(userid, prop, currentAmount + amount)
        # issue #70 :: value formatting error
        strInt = str(amount)
        thousands = []
        while strInt:
            thousands.append(strInt[-3:])
            strInt = strInt[:-3]
        formattedAmount = ",".join(reversed(thousands))
        tokens = {}
        tokens['admin'] = es.getplayername(adminid)
        tokens['user']  = es.getplayername(userid)
        tokens['item']  =  '#green%s #lightgreen%s' % (formattedAmount, 'cash' if command.startswith('cash_') else 'health')
        for tellplayer in playerlib.getPlayerList('#human'):
            es.tell(int(tellplayer), '#multi', xalanguage('admin give', tokens, tellplayer.get("lang")))
        xaadmingive.logging.log("has given player %s %s" % (tokens['user'], tokens['item']), adminid, True) 
    else:
        weaponName = _remove_prefix(command)
        fullName   = _prepend_prefix(command)
        if int(admingive_stripfirst) == 1:
            if fullName in weaponlib.getWeaponNameList('#secondary'):
                weapon = playerlib.getPlayer(userid).get('secondary')
            else:
                weapon = playerlib.getPlayer(userid).get('primary')
            if weapon:
                _remove_weapon(userid, weapon)
        es.delayed(0.1, 'es_xgive %s %s' % (userid, fullName))
        if str(admingive_anonymous) == '0':
            tokens = {}
            tokens['admin'] = es.getplayername(adminid)
            tokens['user']  = es.getplayername(userid)
            for tellplayer in playerlib.getPlayerList('#human'):
                tokens['item'] = '#greena #lightgreen%s' % weaponName
                es.tell(int(tellplayer), '#multi', xalanguage('admin give', tokens, tellplayer.get("lang")))
        xaadmingive.logging.log("has given player %s %s" % (tokens['user'], tokens['item']), adminid, True)            
Пример #7
0
def dissolveRagdoll(userid):
    # Get dissolver effect
    effect = int(gg_dissolver)

    # Just remove the ragdoll?
    if effect == 1:
        es.delayed(2, 'es_xfire %s cs_ragdoll Kill' % userid)

        return

    # Check to see what effect to use and set up the command
    if effect == 6:
        cmd = ('es_xfire %s env_entity_dissolver AddOutput "dissolvetype %s"' %
               (userid, random.randint(0, 3)))
    else:
        cmd = ('es_xfire %s env_entity_dissolver AddOutput "dissolvetype %s"' %
               (userid, int(effect) - 2))

    # Run the command
    es.server.queuecmd(cmd)

    # Dissolve the ragdoll then kill the dissolver
    es.delayed('0.01', 'es_xfire %s env_entity_dissolver Dissolve' % userid)
Пример #8
0
def setfx(args):
	if len(args) == 5:
		type = args[0]
		if not type in 'freeze|jetpack|god|noblock|burn|speed|health|armor|cash|gravity|ulti_immunity|disguiser|1stclip|2ndclip|longjump|lj|invisp|location|blind|evade':
			logging.log('wcs_setfx: '+type+' is not a valid type.')
			type = 0
		uid = args[1]
		op = args[2]
		if not op in '=|+|-':
			op = "="
		value = float(args[3])
		time = float(args[4])
		player = playerlib.getPlayer(uid)
		if type == 'freeze':
			if op == '=':
				speed = float(player.getSpeed())
				wcsgroup.setUser(uid, 'speed', speed)
				if value >= 1:
					player.setSpeed(0)
				if time > 0:
					gamethread.delayed(time, player.setSpeed, speed, 0)
			else:
				logging.log('wcs_setfx: '+type+' can only use values 1 or 0.')
			
		if type == 'god':
			if op == '=':
				player.godmode(int(value))
				if time > 0:
					gamethread.delayed(time, player.godmode, 0, 0)
			else:
				logging.log('wcs_setfx: '+type+' can only use values 1 or 0.')
				
		if type == 'ulti_immunity':
			if op == '=':
				wcsgroup.setUser(uid, 'ulti_immunity', value)
				if time > 0:
					if value == 1:
						value = 0
					if value == 0:
						value = 1
					wcsgroup.setUser(uid, 'ulti_immunity', value)
			else:
				logging.log('wcs_setfx: '+type+' can only use values 1 or 0.')
		
		if type == 'jetpack':
			if op == '=':
				player.jetpack(int(value))
				if time > 0:
					gamethread.delayed(time, player.jetpack, 0, 0)
			else:
				logging.log('wcs_setfx: '+type+' can only use values 1 or 0.')
				
		if type == 'noblock':
			if op == '=':
				player.noblock(int(value))
				if time > 0:
					gamethread.delayed(time, player.noblock, 0, 0)
			else:
				logging.log('wcs_setfx: '+type+' can only use values 1 or 0.')
				
		if type == 'burn':
			if op == '=':
				if value == 1:
					es.set('wcs_uid', uid)
					es.set('wcs_time', time)
					es.server.queuecmd('es wcs fire server_var(wcs_uid) server_var(wcs_time)')
					es.delayed(time, 'es wcs extinguish server_var(wcs_uid)')
				if value == 0:
					es.set('wcs_uid', uid)
					es.server.queuecmd('es wcs extinguish server_var(wcs_uid)')
			else:
				logging.log('wcs_setfx: '+type+' can only use values 1 or 0.')	
				
		if type == 'speed':
			speed = float(player.getSpeed())
			if op == '=':
				player.setSpeed(value)
				if time > 0:
					gamethread.delayed(time, player.setSpeed, speed, 0)
			if op == '+': 
				player.setSpeed(value+speed)
				if time > 0:
					gamethread.delayed(time, player.setSpeed, speed, 0)
			if op == '-':
				player.setSpeed(speed-value)
				if time > 0:
					gamethread.delayed(time, player.setSpeed, speed, 0)
			
		if type == 'health':
			health = float(player.getHealth())
			if op == '=':
				player.setHealth(value)
				if time > 0:
					gamethread.delayed(time, player.setHealth, health, 0)
			if op == '+': 
				player.setHealth(value+health)
				if time > 0:
					gamethread.delayed(time, player.setHealth, health, 0)
			if op == '-':
				player.setHealth(health-value)
				if time > 0:
					gamethread.delayed(time, player.setHealth, health, 0)
		
		if type == 'armor':
			armor = float(player.getArmor())
			if op == '=':
				player.setArmor(value)
				if time > 0:
					gamethread.delayed(time, player.setArmor, armor, 0)
			if op == '+': 
				player.setArmor(value+armor)
				if time > 0:
					gamethread.delayed(time, player.setArmor, armor, 0)
			if op == '-':
				player.setArmor(armor-value)
				if time > 0:
					gamethread.delayed(time, player.setArmor, armor, 0)
					
		if type == 'cash':
			cash = float(player.getCash())
			if op == '=':
				player.setCash(value)
				if time > 0:
					gamethread.delayed(time, player.setCash, cash, 0)
			if op == '+': 
				player.setCash(value+cash)
				if time > 0:
					gamethread.delayed(time, player.setCash, cash, 0)
			if op == '-':
				player.setCash(cash-value)
				if time > 0:
					gamethread.delayed(time, player.setCash, cash, 0)
					
		if type == 'disguiser':
			team = player.teamid()
			if team == 2:
				if es.ServerVar('wcs_game') == cstrike:
					player.setModel('player/ct_urban')
					if time > 0:
						gamethread.delayed(time, player.setModel, 'player/t_pheonix', 0)
				if es.ServerVar('wcs_game') == dod:
					player.setModel('player/american_assault')
					if time > 0:
						gamethread.delayed(time, player.setModel, 'player/american_assault', 0)
			if team == 3:
				if es.ServerVar('wcs_game') == cstrike:
					player.setModel('player/t_phoenix')
					if time > 0:
						gamethread.delayed(time, player.setModel, 'player/ct_urban', 0)
				if es.ServerVar('wcs_game') == dod:
					player.setModel('player/german_assault')
					if es.ServerVar('wcs_game') == dod:
						player.setModel('player/american_assault')
						if time > 0:
							gamethread.delayed(time, player.setModel, 'player/german_assault', 0)
			
		if type == '1stclip':
			weapon = player.getPrimary()
			clip = float(player.getClip(weapon))
			if op == '=':
				player.setClip(weapon, value)
				if time > 0:
					gamethread.delayed(time, player.setClip, (weapon,clip), 0)
			if op == '+': 
				player.setClip(weapon, value+clip)
				if time > 0:
					gamethread.delayed(time, player.setClip, (weapon,clip), 0)
			if op == '-':
				player.setClip(weapon, clip-value)
				if time > 0:
					gamethread.delayed(time, player.setClip, (weapon,clip), 0)
					
		if type == '2ndclip':
			weapon = player.getSecondary()
			clip = float(player.getClip(weapon))
			if op == '=':
				player.setClip(weapon, value)
				if time > 0:
					gamethread.delayed(time, player.setClip, (weapon,clip), 0)
			if op == '+': 
				player.setClip(weapon, value+clip)
				if time > 0:
					gamethread.delayed(time, player.setClip, (weapon,clip), 0)
			if op == '-':
				player.setClip(weapon, clip-value)
				if time > 0:
					gamethread.delayed(time, player.setClip, (weapon,clip), 0)
		
		if type == 'gravity':
			if wcsgroup.getUser(uid, 'gravity') != None:
				gravity = float(wcsgroup.getUser(uid, 'gravity'))
			else:
				gravity = 1.0
			if op == '=':
				expand.gravity(uid, value)
				wcsgroup.setUser(uid, 'gravity', value)
				if time > 0:
					gamethread.delayed(time, expand.gravity, (uid, gravity), 0)
			if op == '+':
				expand.gravity(uid, value+gravity)
				wcsgroup.setUser(uid, 'gravity', value+gravity)
				if time > 0:
					gamethread.delayed(time, expand.gravity, (uid, gravity), 0)
			if op == '-':
				expand.gravity(uid, gravity-value)
				wcsgroup.setUser(uid, 'gravity', gravity-value)
				if time > 0:
					gamethread.delayed(time, expand.gravity, (uid, gravity), 0)
					
		if type == 'invisp':
			try:
				invisp = int(wcsgroup.getUser(uid, 'invisp'))
			except:
				invisp = 255
			if value > 100:
				value = 100
			value2 = ((value - 100) * -2.55)
			if op == '=':
				player.setColor(255, 255, 255, value2)
				wcsgroup.setUser(uid, 'invisp', value2)
				if time > 0:
					gamethread.delayed(time, player.setColor, (255, 255, 255, invisp), 0)
			if op == '+':
				player.setColor(255, 255, 255, value2+invisp)
				wcsgroup.setUser(uid, 'invisp', value2+invisp)
				if time > 0:
					gamethread.delayed(time, player.setColor, (255, 255, 255, invisp), 0)
			if op == '-':
				player.setColor(255, 255, 255, invisp-value2)
				wcsgroup.setUser(uid, 'invisp', invisp-value2)
				if time > 0:
					gamethread.delayed(time, player.setColor, (255, 255, 255, invisp), 0)
					
		if type == 'longjump':
			longjump = float(wcsgroup.getUser(uid, 'longjump'))
			if op == '=':
				wcsgroup.setUser(uid, 'longjump', value)
				if time > 0:
					gamethread.delayed(time, wcsgroup.setUser, (uid, 'longjump', longjump), 0)
			if op == '+':
				wcsgroup.setUser(uid, 'longjump', value+longjump)
				if time > 0:
					gamethread.delayed(time, wcsgroup.setUser, (uid, 'longjump', longjump), 0)
			if op == '-':
				wcsgroup.setUser(uid, 'longjump', longjump-value)
				if time > 0:
					gamethread.delayed(time, wcsgroup.setUser, (uid, 'longjump', longjump), 0)
		
		if type == 'location':
			location = float(player.getLocation())
			vector = es.createvectorstring(location)
			if op != '=':
				logging.log('wcs_setfx: Location uses = only as an operator.')
			if op == '=':
				player.setLocation(value)
				if time > 0:
					gamethread.delayed(time, player.setLocation, vector)
		
		if type == 'blind':
			if value > 100:
				value = 100
			value2 = ((value - 100) * -2.55)
			if op == '=':
				player.blind(value2, time)
			else:
				logging.log('wcs_setfx: Blind uses = only as an operator.')

		if type == 'evade':
			evade = float(wcsgroup.getUser(uid, 'evade'))
			if op == '=':
				wcsgroup.setUser(uid, 'evade', value)
				if time > 0:
					gamethread.delayed(time, wcsgroup.setUser, (uid, 'evade', evade), 0)
			if op == '+':
				wcsgroup.setUser(uid, 'evade', value+evade)
				if time > 0:
					gamethread.delayed(time, wcsgroup.setUser, (uid, 'evade', evade), 0)
			if op == '-':
				wcsgroup.setUser(uid, 'evade', evade-value)
				if time > 0:
					gamethread.delayed(time, wcsgroup.setUser, (uid, 'evade', evade), 0)
Пример #9
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')
Пример #10
0
def startLoop():
    deadPlayerList = playerlib.getPlayerList('#dead')
    for deadPlayer in deadPlayerList:
        drawGhost(deadPlayer)
        es.delayed(0.2, 'es_xdoblock ip_spirits/startLoop')
Пример #11
0
def wum_playerinfo_handler(userid,choice,popupid):
	if choice == 8: 
		checkPop(popupid)
		es.delayed(0.0001, "es wcs_usersmenu %s"%userid)
	elif choice == 10: 
		checkPop(popupid)
Пример #12
0
 def strip(self):
     """Strip the player of all their weapons."""
     strip_entity = "player_weaponstrip"
     self.give(strip_entity)
     es.delayed(0, "es_xfire %s %s strip" % (self.user_ID, strip_entity))
Пример #13
0
 def strip(self):
     """Strip the player of all their weapons."""
     strip_entity = "player_weaponstrip"
     self.give(strip_entity)
     es.delayed(0, "es_xfire %s %s strip" %(self.user_ID, strip_entity))
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')