# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Bonbon's fun classes v_2.6 # # Requires: # # es_tools 0.420 # # es_tools 0.420 # # Eventscripts 2.0 # # # # add the line es_load bclasses to your autoexec.cfg # # # # Thank you to: # # Mattie who made the Quad mod (for glow) # # SD who made the jump multiplier, pickle thread and # # helped with a WHOLE WHOLE lot of other stuff # # GODJonez (who else to point out my mistakes) # # JoeyT2008 and his shenanigans # # # # And the beta testers: # # {F.U.B.A.R} Angel Of Death # # Zellers Security # # { [GSN] } Griff92 # # # # If you have any questions e-mail me at: # # drunkenmousehide@hotmail.com # # or use the PMS on the eventscripts formums # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # import es, playerlib, popuplib, gamethread, usermsg, random info = es.AddonInfo() info['name'] = "BClasses" info['version'] = "2.6" info['author'] = "Bonbon AKA: Bonbon367" info['url'] = "http://forums.mattie.info/cs/forums/viewtopic.php?p=182754" info['description'] = "Very fun class mod each with their own abilities - New York Times" player_classes = {} player_specials = {} ############ ###Start Editing## ############ enabled_classes = ('!zombie', '!ghost', '!homer', '!kitty', '!assassin', '!wizard', '!chameleon', '!error', '!satan', '!engineer', '!chemist', '!android', '!gordon', '!bomber', '!smuggler', '!bush', '!noob', '!mole', '!hacker') ''' Take out the classes that you want to be disabled in there, make sure to remove the ''s and the ,s! (ie ('!zombie', '!homer') not ('!zombie', '', '!homer')) ''' admin_classes = () # Add all admin classes that you want in here, seperate with a , classes are the same as in enabled_classes bclasses_admins = ('STEAM_0:0:9850694', 'STEAM_0:0:11089864') # Add all admins that you want in here, put in quotes and seperate with ,s there are two examples there #-------Specials------# ''' This is where you specify how many times each class my use their special ''' zombie_special = 0 # None, contact me if you have an idea for one ghost_special = 0 # None, contact me if you have an idea for one0 homer_special = 2 # Coffee gives him speed kitty_special = 2 # Freeze bomb assassin_special = 4 # High jump wizard_special = 1 # Revive random team mate vampire_special = 0 # None, contact me if you have an idea for one chameleon_special = 1 # Turn random team mate into a vending machine error_special = 2 # Recieves random help from god satan_special = 1 # Fire Bomb engineer_special = 1 # Takes away random enemies weapons chemist_special = 4 # Smoke Storm android_special = 0 # None, contact me if you have an idea for one gordon_special = 0 # None, contact me if you have an idea for one bomber_special = 1 # Explodes only damages enemies near him/her smuggler_special = 1 # Gives their team either m4a1 or ak47 bush_special = 2 # Calls Airstrike noob_special = 1 # Press other peoples "!special" binds mole_special = 2 # Secretly deals damage to enemies within range hacker_special = 3 # Speed hack takes 2 points, random shot takes 1 ############ ###Stop Editing##c ############ ''' To Add: Hacker: Speed hack special ''' jump_multiplier = 1.5 def load(): bc = popuplib.easymenu('bclasses', '_popup_choice', classes_choice) bc.settitle("|-Bonbon's Classes-|") classes = ('Zombie', 'Ghost', 'Homer', 'Kitty Kat', 'Assassin', 'Wizard', 'Vampire', 'Chameleon', 'Error', 'Satan', 'Engineer', 'Chemist', 'Android', 'Gordon', 'Bomber', 'Smuggler', 'Bush', 'Noob', 'Mole', 'Hacker') for taco in classes: bc.addoption(taco, taco) es.msg('#multi', '#green[#lightgreenBClasses#green]: Loaded') if not es.exists('clientcommand' '+attack3'): es.regclientcmd('+attack3', 'bclasses/hack', 'Type +attack3 to do a little h4ck4ge!') ''' helpers_to_lick = ('SuperDave', 'JoeyT2008', 'GODJonez', 'Mattie') for tasty in helpers_to_lick: es.server.queuecmd('/me licks %s'%tasty) ''' def unload(): es.msg('#multi', '#green[#lightgreenBClasses#green]: Unloaded') if es.exists('clientcommand', '+attack3'): es.unregclientcmd('+attack3') def player_activate(event_var): global player_classes global player_specials userid = event_var['userid'] random_class = random.randint(1, 20) player_classes[userid] = random_class player_specials[userid] = random_class def player_disconnect(event_var): userid = event_var['userid'] if player_classes.has_key(userid): del player_classes[userid] def player_spawn(event_var): global player_classes global player_specials userid = event_var['userid'] player = playerlib.getPlayer(userid) # es.msg(str(type(player.get('health')))) es.tell(userid, '#multi', "#green[#lightgreenBClasses#green]: #lightgreenBonbon Classes#green are active. Type #lightgreen!bclass #greenor #lightgreen!bhelp #greento chose your class") if player_classes.has_key(userid): if player_classes[userid] == 1: # Zombie player.set('speed', '0.8') player.set('health', '350') es.tell(event_var['userid'], '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenZombie, #greenYou are slow, but you do have extra health!') es.server.queuecmd('est_setgravity %s 1'%event_var['userid']) player_specials[userid] = zombie_special elif player_classes[userid] == 2: # Ghost es.tell(event_var['userid'], '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenghost,#green You have invisibility, speed and low gravity. Be careful though, You do glow!') es.server.queuecmd('es_xgive %s point_spotlight'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "angles -90 0 0"'%userid) es.server.queuecmd('es_xfire %s point_spotlight setparent !activator'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "spotlightlength 250"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "spotlightwidth 250"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "rendercolor 100 100 100"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "angles -90 0 0"'%userid) es.server.queuecmd('es_xfire %s point_spotlight lighton'%userid) player.set('speed', '1.4') es.server.queuecmd('est_setplayercolor %s 255 255 255 6'%userid) player.set('health', '69') es.server.queuecmd('est_setgravity %s 1'%event_var['userid']) player_specials[userid] = ghost_special elif player_classes[userid] == 3: # Homer es.tell(event_var['userid'], '#multi', '#green[#lightgreenBClasses#green]: You are now #lightgreenHomer Simpson,#green You are slow, but your fat protects you. But certain events make you drunk.') player.set('speed', '0.7') es.server.queuecmd('est_setgravity %s 1'%event_var['userid']) player.set('health', '500') player_specials[userid] = homer_special elif player_classes[userid] == 4: # Kitty es.tell(event_var['userid'], '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenKitty Kat, #greenYou have special jumping powers, can go fast and can stun other people.') player.set('speed', '1.2') es.server.queuecmd('est_setplayercolor %s 255 163 177 255'%userid) es.server.queuecmd('est_setgravity %s 1'%event_var['userid']) player_specials[userid] =kitty_special elif player_classes[userid] == 5: # Assassin es.tell(event_var['userid'], '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenAssassin, #greenAs long as you do not talk, people may not see you. So do not talk!') player.set('model', 'shells/shell_9mm') es.server.queuecmd('est_setgravity %s 1'%event_var['userid']) player.set('health', '150') player_specials[userid] = assassin_special elif player_classes[userid] == 6: # Wizard es.tell(event_var['userid'], '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenWizard, #greenTo see more info about your class, type #lightgreen!binfo') es.server.queuecmd('est_setgravity %s 0.6'%event_var['userid']) es.server.queuecmd('est_give %s weapon_m4a1'%userid) heal(userid) player_specials[userid] = wizard_special elif player_classes[userid] == 7: # Vampire: es.tell(event_var['userid'], '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenVampire, #greenYou can leech other players health and are partially invisible') es.server.queuecmd('est_setplayercolor %s 255 255 255 100'%userid) player_specials[userid] = vampire_special elif player_classes[userid] == 8: # Chameleon es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenChameleon, #greenYou can morph into objects, type !morph_help for more info') random_player_models = ('props/cs_office/vending_machine', 'props/cs_office/sofa', 'props/cs_havana/bookcase_large', 'props/cs_office/file_cabinet1', 'props/de_train/barrel') random_model_chosen = random.choice(random_player_models) player.set('model', random_model_chosen) player_specials[userid] = chameleon_special elif player_classes[userid] == 9: # Error es.tell(userid, '#multi', '#green[#lightgreenBClasses#green] You are now an #lightgreenERROR, #greenYou fail at shooting and walking, but since god feels bad for you, you have high health') player.set('model', 'error') player.set('speed', '0.6') player.set('health', '600') player_specials[userid] = error_special elif player_classes[userid] == 10: # Satan es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now #lightgreenSatan, #greenTo see more info about your class, type #lightgreen!binfo') player.set('health', '666') es.server.queuecmd('est_setplayercolor %s 255 0 0 255'%userid) player_specials[userid] = satan_special elif player_classes[userid] == 11: # Engineer es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenEngineer, #greenYou have modded most of your equipment! To see more info, type #lightgreen!binfo') player.set('speed', '1.2') player.set('health', '150') player_specials[userid] = engineer_special elif player_classes[userid] == 12: # Chemist es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenChemist, #greentype #lightgreen!binfo #green for more info') player_specials[userid] = chemist_special elif player_classes[userid] == 13: # Android es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenAndroid, #greenOnly headshots effect you, you can only use a m249 and have high HP but are slow') player.set('speed', '0.7') player.set('health', '250') es.server.queuecmd('est_give %s weapon_m249'%userid) player.set('cash', '0') player_specials[userid] = android_special elif player_classes[userid] == 14: # Gordon es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now #lightgreenGordon, #greenYou may only use knife, but you have a lot of health, speed and knife damage') player.set('health', '800') player.set('speed', '1.4') es.server.queuecmd('est_setplayercolor %s 255 255 255 125'%userid) player_specials[userid] = gordon_special elif player_classes[userid] == 15: # Bomber es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenBomber, #greenwhen you die, you explode, you have an ak47 and allah gives you health') player.set('health', '200') es.server.queuecmd('est_give %s weapon_ak47'%userid) player_specials[userid] == bomber_special elif player_classes[userid] == 16: # Smuggler es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenSmuggler, #greenYou can get any weapon by typing #lightgreen!give #greenand you have more ammo!') player.set('speed', '1.1') player.set('health', '125') player_specials[userid] = smuggler_special elif player_classes[userid] == 17: # Bush es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now #lightgreenGeorge Bush, #greenYou are a slow American, and can only use pistols for more information type #lightgreen!binfo') player.set('speed', '0.9') player_specials[userid] = bush_special elif player_classes[userid] == 18: # Noob player_specials[userid] = noob_special es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now #lightgreenNoob #greenYou take your teammates health, and press peoples binds type #lightgreen!binfo #green for more info') if player.attributes['teamid'] == 2: # T t_players_amount = es.getplayercount(2) t_players = playerlib.getUseridList('#t') new_person_health = t_players_amount * 15 new_person_real_health = player.get('health') + new_person_health player.set('health', new_person_real_health) for waffles in t_players: waffle = playerlib.getPlayer(waffles) waffle_health = waffle.get('health') new_waffle_health = waffle_health - 15 waffle.set('health', new_waffle_health) elif player.attributes['teamid'] == 3: ct_players_amount = es.getplayercount(3) ct_players = playerlib.getUseridList('#ct') new_person_health = ct_players_amount * 15 new_person_real_health = player.get('health') + new_person_health player.set('health', new_person_real_health) for waffles in ct_players: waffle = playerlib.getPlayer(waffles) waffle_health = waffle.get('health') new_waffle_health = waffle_health - 15 waffle.set('health', new_waffle_health) elif player_classes[userid] == 19: # Mole player_specials[userid] = mole_special es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenMole, #greenYou will teleport to the enemy base soon, so buy your weapons!') if player.attributes['teamid'] == 2: # T es.server.queuecmd('est_give %s weapon_m4a1'%userid) ct_players_mole = playerlib.getUseridList('#ct') random_mole_loc = random.choice(ct_players_mole) (mole_x, mole_y, mole_z) = es.getplayerlocation(random_mole_loc) gamethread.delayed(5, es.setpos, (userid, mole_x, mole_y, mole_z)) player.set('model', 'player/ct_urban') elif player.attributes['teamid'] == 3: # CT t_players_mole = playerlib.getUseridList('#t') random_mole_loc = random.choice(t_players_mole) (mole_x, mole_y, mole_z) = es.getplayerlocation(random_mole_loc) gamethread.delayed(5, es.setpos, (userid, mole_x, mole_y, mole_z)) es.server.queuecmd('est_give %s weapon_ak47'%userid) player.set('model', 'player/t_arctic') elif player_classes[userid] == 20: # Hacker player_specials[userid] = hacker_special player.set('health', '125') es.server.queuecmd('es_give %s weapon_awp'%userid) es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenHacker, #greenyou have speed and headshot hacks! Type #lightgreen!binfo #greenfor more info') else: random_class = random.randint(1, 19) player_classes[userid] = random_class def heal(userid): player = playerlib.getPlayer(userid) health = player.attributes['health'] gamethread.delayednamedelayedname(3.5, 'heal_%s'%userid, heal, args=(userid)) if player_classes[userid] == 6: if health < 200: new_health = health + 3.5 player.set('health', new_health) def player_say(event_var): all_classes = ('Zombie', 'Ghost', 'Homer', 'Kitty Kat', 'Assassin', 'Wizard', 'Vampire', 'Chameleon', 'Error', 'Satan', 'Engineer', 'Chemist', 'Android', 'Gordon', 'Bomber', 'Smuggler', 'Bush', 'Noob', 'Mole', 'Hacker') userid = event_var['userid'] player = playerlib.getPlayer(userid) player_is_dead = player.get('isdead') weapons_to_give = ('!give glock', '!give usp', '!give p228', '!give deagle', '!give fiveseven', '!give elite', '!give scout', '!give awp', '!give g3sg1', '!give sg550', '!give m3', '!give xm1014', '!give mac10', '!give tmp', '!give mp5navy', '!give p90', '!give ump45', '!give ak47', '!give m4a1', '!give galil', '!give famas', '!give sg552', '!give aug', '!give m249', '!give hegrenade', '!give flashbang', '!give smokegrenade') # If you don't want someone to be able to spawn a weapon, take it out of the list if event_var['text'] in enabled_classes: if player_is_dead == 1: if event_var['text'] == '!zombie': player_classes[userid] = 1 elif event_var['text'] == '!ghost': player_classes[userid] = 2 elif event_var['text'] == '!homer': player_classes[userid] = 3 elif event_var['text'] == '!kitty': player_classes[userid] = 4 elif event_var['text'] == '!assassin': player_classes[userid] = 5 elif event_var['text'] == '!wizard': player_classes[userid] = 6 elif event_var['text'] == '!vampire': player_classes[userid] = 7 elif event_var['text'] == '!chameleon': player_classes[userid] = 8 elif event_var['text'] == '!error': player_classes[userid] = 9 elif event_var['text'] == '!satan': player_classes[userid] = 10 elif event_var['text'] == '!engineer': player_classes[userid] = 11 elif event_var['text'] == '!chemist': player_classes[userid] = 12 elif event_var['text'] == '!android': player_classes[userid] = 13 elif event_var['text'] == '!gordon': player_classes[userid] = 14 elif event_var['text'] == '!bomber': player_classes[userid] = 15 elif event_var['text'] == '!smuggler': player_classes[userid] = 16 elif event_var['text'] == '!bush': player_classes[userid] = 17 elif event_var['text'] == '!noob': player_classes[userid] = 18 elif event_var['text'] == '!mole': player_classes[userid] = 19 elif event_var['text'] == '!hacker': player_classes[userid] = 20 else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you may only change your class while dead') elif event_var['text'] in all_classes and event_var['text'] not in admin_classes: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, that class is disabled') elif event_var['text'] in admin_classes: if event_var['es_steamid'] in bclasses_admins: if player_is_dead == 1: if event_var['text'] == '!zombie': player_classes[userid] = 1 elif event_var['text'] == '!ghost': player_classes[userid] = 2 elif event_var['text'] == '!homer': player_classes[userid] = 3 elif event_var['text'] == '!kitty': player_classes[userid] = 4 elif event_var['text'] == '!assassin': player_classes[userid] = 5 elif event_var['text'] == '!wizard': player_classes[userid] = 6 elif event_var['text'] == '!vampire': player_classes[userid] = 7 elif event_var['text'] == '!chameleon': player_classes[userid] = 8 elif event_var['text'] == '!error': player_classes[userid] = 9 elif event_var['text'] == '!satan': player_classes[userid] = 10 elif event_var['text'] == '!engineer': player_classes[userid] = 11 elif event_var['text'] == '!chemist': player_classes[userid] = 12 elif event_var['text'] == '!android': player_classes[userid] = 13 elif event_var['text'] == '!gordon': player_classes[userid] = 14 elif event_var['text'] == '!bomber': player_classes[userid] = 15 elif event_var['text'] == '!smuggler': player_classes[userid] = 16 elif event_var['text'] == '!bush': player_classes[userid] = 17 elif event_var['text'] == '!noob': player_classes[userid] = 18 elif event_var['text'] == '!mole': player_classes[userid] = 19 elif event_var['text'] == '!hacker': player_classes[userid] = 20 else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you may only change your class while dead') else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, that is an admin only class') elif event_var['text'] == '!bhelp': es.tell(userid, '#multi', "#green[#lightgreenBClasses#green]: To change your class type: #lightgreen!zombie, !ghost, !homer, !assassin, !wizard, !vampire,") es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen!engineer, !satan, !chemist, !chameleon, !error, !android, !gordon, !kitty, !bomber,') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen!smuggler, !bush, !noob, !hacker, !mole') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: To use your special, type #lightgreen!special #greenin chat or console') elif event_var['text'] == '!bclass': if player_is_dead == 1: popuplib.send('bclasses', userid) else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you must be dead to use this feature') elif player_classes[userid] == 5: es.tell(event_var['userid'], '#multi', '#greenI told you not to talk...') es.server.queuecmd('es_xgive %s point_spotlight'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "angles -90 0 0"'%userid) es.server.queuecmd('es_xfire %s point_spotlight setparent !activator'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "spotlightlength 250"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "spotlightwidth 250"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "rendercolor 255 0 0"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "angles -90 0 0"'%userid) es.server.queuecmd('es_xfire %s point_spotlight lighton'%userid) es.emitsound('player', event_var['userid'], 'hl1/ambience/alien_powernode.wav', '0.5', '0.20') elif event_var['text'] == '!respawn': if player_classes[userid] == 6: if player_is_dead == 1: es.tell(userid, '#multi', '#greenYou will respawn in #lightgreen15 #greenseconds') gamethread.delayed(15, es.server.cmd, 'est_spawn %s'%userid) gamethread.canceldelayed(heal) else: es.tell(userid, '#multi', '#greenYou may only spawn if you are dead!') else: es.tell(userid, '#multi', '#greenYou may only respawn as a #lightgreenWizard!') elif event_var['text'] == '!morph_help': es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You can morph into objects by typing #lightgreen!sofa, !barrel, !vend, !file or !book') elif player_classes[userid] == 8: if event_var['text'] == '!sofa': player.set('model', 'props/cs_office/sofa') elif event_var['text'] == '!barrel': player.set('model', 'props/de_train/barrel') elif event_var['text'] == '!vend': player.set('model', 'props/cs_office/vending_machine') elif event_var['text'] == '!file': player.set('model', 'props/cs_office/file_cabinet1') elif event_var['text'] == '!book': player.set('model', 'props/cs_havana/bookcase_large') elif event_var['text'] == '!jetpack': if player_classes[userid] == 12: es.server.queuecmd('est_jetpack %s 1'%userid) gamethread.delayed(3, es.server.queuecmd, 'est_jetpack %s 0'%userid) else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you must be a #lightgreenChemist #greento use this feature') elif event_var['text'] == '!binfo': es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Get your version at #lightgreenhttp://forums.mattie.info/cs/forums/viewtopic.php?t=20630') if player_classes[userid] == 6: # Wizard es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You can respawn in 15 seconds by typing !respawn, levitate, regenerate health and flash people. You always spawn with a m4a1') elif player_classes[userid] == 10: # Satan es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You have 666 health, but everyone hates you and makes life very hard for you. You will be slapped and burned when shot') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You cannot pick up: #lightgreenawp, g3sg1, m249, sg550, mp5navy, deagle, flashbang, xm1014') elif player_classes[userid] == 11: # Engineer es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: #lightgreenm4a1#green: Extra armor #lightgreenak47#green: Extra cash #lightgreenBoots of speed#green: You walk faster #lightgreenEnergy Shield#green: Extra health #lightgreenAwp#green: 5 seconds of god mode') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: #lightgreenm249#green: Drug bullets #lightgreenHE Grenade#green: Fire Grenade') elif player_classes[userid] == 12: # Chemist es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: #lightgreenSnipers#green: Double Damage #lightgreenm249#green: Vision Imparing Bullets #lightgreenSMGs#green: Shake Bullets #lightgreenPistols#green: Slap Bullets') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: #lightgreenRifles#green: Headshots rocket victims, Red fading crotch shots, Flash bullets #lightgreenShotguns#green: Slow bullets') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: #lightgreenKnife#green: Freeze knife #lightgreenJetpack#green: Type #lightgreen!jetpack #greento enable') elif player_classes[userid] == 17: # Bush es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You can call an airstrike by typing #lightgreen!special') elif player_classes[userid] == 18: # Noob es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: To zoom in type #lightgreen!zoom #green in console, to zoomout type #lightgreen!zoomout #green in console, To change the color of objects/people type #lightgreen!color') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: In console while looking at a player/object') elif player_classes[userid] == 20: # Hacker es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Type #lightgreen+attack3 #greenin console to "shoot" at a random person!') elif event_var['text'] in weapons_to_give: if player_classes[userid] == 16: new_weapon_to_give = event_var['text'].replace('!give ', 'weapon_') es.server.queuecmd('est_give %s %s'%(userid, new_weapon_to_give)) es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Remember to cut down on spam by typing #lightgreen!give #green in console') else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you must be a #lightgreenSmuggler #greento use this feature') else: pass if event_var['text'] == '!special': es.cexec(userid, '!special') es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Remember to cut down on spam by typing #lightgreen!special #green in console instead of chat') def player_jump(event_var): # Jump Multiplier made by SuperDave /me licks SuperDave userid = event_var['userid'] temp_multiplier = jump_multiplier - 1 if player_classes.has_key(userid): if player_classes[userid] == 2: es.setplayerprop(userid, 'CBasePlayer.localdata.m_vecBaseVelocity', '%s,%s,%s' % tuple([es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[%s]' % x) * temp_multiplier for x in range(3)])) # Setting the extra jump elif player_classes[userid] == 4: es.setplayerprop(userid, 'CBasePlayer.localdata.m_vecBaseVelocity', '%s,%s,%s' % tuple([es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[%s]' % x) * temp_multiplier for x in range(3)])) elif player_classes[userid] == 3: es.server.queuecmd('est_drunk %s 1'%event_var['userid']) def classes_choice(userid, choice, popupname): global player_classes if choice == 'Zombie': player_classes[userid] = 1 es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You are now a #lightgreenZombie') elif choice == 'Ghost': player_classes[userid] = 2 elif choice == 'Homer': player_classes[userid] = 3 elif choice == 'Kitty Kat': player_classes[userid] = 4 elif choice == 'Assassin' : player_classes[userid] = 5 elif choice == 'Wizard': player_classes[userid] = 6 elif choice == 'Vampire': player_classes[userid] = 7 elif choice == 'Chameleon': player_classes[userid] = 8 elif choice == 'Error': player_classes[userid] = 9 elif choice == 'Satan': player_classes[userid] = 10 elif choice == 'Engineer': player_classes[userid] = 11 elif choice == 'Chemist': player_classes[userid] = 12 elif choice == 'Android': player_classes[userid] = 13 elif choice == 'Gordon': player_classes[userid] = 14 elif choice == 'Bomber': player_classes[userid] = 15 elif choice == 'Smuggler': player_classes[userid] = 16 elif choice == 'Bush': player_classes[userid] = 17 elif choice == 'Noob': player_classes[userid] = 18 elif choice == 'Mole': player_classes[userid] = 19 elif choice == 'Hacker': player_classes[userid] = 20 def player_hurt(event_var): pistols = ('weapon_glock', 'weapon_deagle', 'weapon_fiveseven', 'weapon_p228', 'weapon_usp', 'weapon_elite') sniper_rifles = ('weapon_awp', 'weapon_sg550', 'weapon_g3sg1', 'weapon_scout') smgs = ('weapon_mac10', 'weapon_p90', 'weapon_mp5navy', 'weapon_tmp', 'weapon_ump45') rifles = ('weapon_ak47', 'weapon_m4a1', 'weapon_famas', 'weapon_sg552', 'weapon_aug', 'weapon_galil') shotguns = ('weapon_m3', 'weapon_xm1014') vampire_victim = playerlib.getPlayer(event_var['userid']) vampire_attacker = playerlib.getPlayer(event_var['attacker']) userid = event_var['userid'] attacker = event_var['attacker'] damage_done = int(event_var['dmg_health']) attacker_health = int(event_var['es_attackerhealth']) victim_health = int(event_var['es_userhealth']) victim_armor = int(event_var['es_userarmor']) attacker_armor = int(event_var['es_attackerarmor']) attacker_cash = int(vampire_attacker.get('cash')) victim_cash = int(vampire_victim.get('cash')) player_new_x_look = random.randint(1, 1000) player_new_y_look = random.randint(1, 1000) player_new_z_look = random.randint(1, 1000) if player_classes[userid] == 3: es.server.queuecmd('est_drunk %s 0.1'%event_var['userid']) elif player_classes[userid] == 10: es.server.queuecmd('est_burn %s 0.3'%userid) player_new_x = random.randint(1, 75) player_new_y = random.randint(1, 75) player_new_z = random.randint(1, 75) es.server.queuecmd('est_physpush %s %s %s %s'%(userid, player_new_x, player_new_y, player_new_z)) elif player_classes[userid] == 13: if event_var['hitgroup'] != '1': old_victim_health = damage_done + victim_health * 1.05 vampire_victim.set('health', old_victim_health) else: pass if event_var['weapon'] == 'weapon_knife': old_victim_health = damage_done + victim_health * 0.75 vampire_victim.set('health', old_victim_health) elif player_classes[userid] == 18: if event_var['hitgroup'] == '1': es.sexec(userid, 'say OMG WTF H4X!') es.msg('#greenShut up #lightgreen%s#green, no one likes you'%event_var['es_username']) es.server.queuecmd('est_slay %s'%userid) else: pass if player_classes[attacker] == 9: reduced_damage = damage_done / 2 new_error_victim_health = victim_health + reduced_damage vampire_victim.set('health', str(new_error_victim_health)) elif player_classes[attacker] == 4: vampire_victim.set('freeze', '1') es.delayed(0.4, 'playerset freeze %s 0'%event_var['userid']) elif player_classes[attacker] == 6: vampire_victim.set('flash', ['255 255 255 255', '0.3']) elif player_classes[attacker] == 7: damage_rewarded = damage_done / 3 new_attacker_health = damage_rewarded + attacker_health new_victim_health = victim_health - damage_rewarded vampire_victim.set('health', str(new_victim_health)) vampire_attacker.set('health', str(new_attacker_health)) usermsg.centermsg(attacker, 'You have leeched %s health from %s' % (damage_rewarded, event_var['es_username'])) usermsg.centermsg(userid, '%s stole %s health from you' % (event_var['es_attackername'], damage_rewarded)) usermsg.hudhint(attacker, 'You have leeched %s health from %s' % (damage_rewarded, event_var['es_username'])) usermsg.hudhint(userid, '%s stole %s health from you' % (event_var['es_attackername'], damage_rewarded)) elif player_classes[attacker] == 11: if event_var['es_attackerweapon'] == 'weapon_m4a1': armor_rewarded = victim_armor / 5 new_attacker_armor = armor_rewarded + attacker_armor new_victim_armor = victim_armor - armor_rewarded vampire_attacker.set('armor', str(new_attacker_armor)) vampire_victim.set('armor', str(new_victim_armor)) elif event_var['es_attackerweapon'] == 'weapon_ak47': cash_rewarded = victim_cash / 1000 * damage_done new_attacker_cash = attacker_cash + cash_rewarded new_victim_cash = victim_cash - cash_rewarded vampire_victim.set('cash', str(new_victim_cash)) vampire_attacker.set('cash', str(new_attacker_cash)) elif event_var['es_attackerweapon'] == 'weapon_mp5navy': damage_rewarded = damage_done / 3.5 new_attacker_health = damage_rewarded + attacker_health new_victim_health = victim_health - damage_rewarded vampire_victim.set('health', str(new_victim_health)) vampire_attacker.set('health', str(new_attacker_health)) elif event_var['es_attackerweapon'] == 'weapon_m249': es.server.queuecmd('est_drug %s 0.15'%userid) elif event_var['es_attackerweapon'] == 'weapon_awp': es.server.queuecmd('est_god %s 3'%attacker) elif event_var['es_attackerweapon'] == 'weapon_hegrenade': es.server.queuecmd('est_burn %s 4'%userid) elif event_var['es_attackerweapon'] == 'weapon_flashbang': vampire_victim.set('freeze', '1') gamethread.delayed(2, 'playerset freeze %s 0'%userid) elif player_classes[attacker] == 12: if event_var['es_attackerweapon'] in sniper_rifles: es.server.queuecmd('est_damage %s %s %s'%(event_var['attacker'], event_var['userid'], damage_done)) elif event_var['es_attackerweapon'] == 'weapon_m249': vampire_victim.set('viewcoord', '%s %s %s'%(player_new_x_look, player_new_y_look, player_new_z_look)) elif event_var['es_attackerweapon'] in smgs: es.server.queuecmd('est_shake %s %s %s'%(userid, player_new_x_look, player_new_y_look)) elif event_var['es_attackerweapon'] in pistols: player_new_x = random.randint(1, 100) player_new_y = random.randint(1, 100) player_new_z = random.randint(100, 200) es.server.queuecmd('est_physpush %s %s %s %s'%(userid, player_new_x, player_new_y, player_new_z)) elif event_var['es_attackerweapon'] in rifles: if event_var['hitgroup'] == '1': es.msg('#multi', '#lightgreen%s #greengot a headshot on #lightgreen%s'%(event_var['es_attackername'], event_var['es_username'])) es.server.queuecmd('est_rocket %s'%userid) elif event_var['hitgroup'] == '3': es.tell(userid, '#multi', '#lightgreen%s #greenhit you in the #lightgreencrotch, OUCH!'%event_var['es_attackername']) es.server.queuecmd('est_fade %s 2 2.5 2.5 255 0 0 100'%userid) else: vampire_victim.set('flash', '255 0.2') elif event_var['es_attackerweapon'] in shotguns: vampire_victim.set('speed', '0.5') gamethread.delayed(2, es.server.cmd, 'playerset speed %s 1'%userid) elif event_var['es_attackerweapon'] == 'weapon_knife': vampire_victim.set('freeze', '1') gamethread.delayed(3, es.server.cmd, 'playerset freeze %s 0'%userid) elif event_var['es_attackerweapon'] == 'weapon_hegrenade': es.server.queuecmd('est_burn %s 3'%userid) elif player_classes[attacker] == 14: knife_damage_rewarded = damage_done * 2.5 new_knife_victim_health = victim_health - knife_damage_rewarded vampire_victim.set('health', new_knife_victim_health) def bomb_beginplant(event_var): userid = event_var['userid'] if player_classes.has_key(userid): if player_classes[userid] == 3: es.server.queuecmd('est_drunk %s 2'%event_var['userid']) es.tell(event_var['userid'], '#multi', '#greenYour Team is awarding your for starting to plant the bomb by giving you more beer!') def bomb_begindefuse(event_var): userid = event_var['userid'] if player_classes.has_key(userid): if player_classes[userid] == 3: es.server.queuecmd('est_drunk %s 2'%event_var['userid']) es.tell(event_var['userid'], '#multi', '#greenYour Team is awarding you for starting to defuse the bomb by giving you more beer!') elif player_classes[userid] == 10: player_new_x = random.randint(1, 100) player_new_y = random.randint(1, 100) player_new_z = random.randint(100, 200) es.server.queuecmd('est_physpush %s %s %s %s'%(userid, player_new_x, player_new_y, player_new_z)) def item_pickup(event_var): pistols = ('glock', 'usp', 'deagle', 'fiveseven', 'p228', 'elite') userid = event_var['userid'] player = playerlib.getPlayer(userid) if player_classes.has_key(userid): if player_classes[userid] == 3: es.tell(userid, '#multi', '#greenYou should not bend over, it gives you a major headache') es.server.queuecmd('est_drunk %s 0.5'%userid) elif player_classes[userid] == 10: cant_pick_up = ('awp', 'g3sg1', 'm249', 'sg550', 'mp5navy', 'flashbang', 'xm1014') if event_var['item'] in cant_pick_up: es.cexec(userid, 'drop') es.tell(userid, '#multi', '#greenSorry, the makers of this weapon are extreme catholics, no#lightgreen %s #greenfor you!'%event_var['item']) elif player_classes[userid] == 13: if event_var['item'] != 'm249': es.server.queuecmd('est_stripplayer %s'%userid) es.server.queuecmd('est_give %s weapon_m249'%userid) elif player_classes[userid] == 14: if event_var['item'] != 'knife': es.server.queuecmd('est_stripplayer %s'%userid) es.server.queuecmd('est_give %s weapon_knife'%userid) elif player_classes[userid] == 16: old_player_clip = int(player.get('clip', 'weapon_%s'%event_var['item'])) new_player_clip = old_player_clip * 1.5 player.set('clip', ['weapon_%s'%event_var['item'], new_player_clip]) elif player_classes[userid] == 17: if event_var['item'] not in pistols: es.cexec(userid, 'drop') def player_radio(event_var): userid = event_var['userid'] if player_classes.has_key(userid): if player_classes[userid] == 5: es.tell(userid, '#multi', '#greenIf you can not talk, what makes you think you may use the radio?') es.server.queuecmd('es_xgive %s point_spotlight'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "angles -90 0 0"'%userid) es.server.queuecmd('es_xfire %s point_spotlight setparent !activator'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "spotlightlength 200"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "spotlightwidth 200"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "rendercolor 100 100 100"'%userid) es.server.queuecmd('es_xfire %s point_spotlight addoutput "angles -90 0 0"'%userid) es.server.queuecmd('es_xfire %s point_spotlight lighton'%userid) es.emitsound('player', event_var['userid'], 'hl1/ambience/alien_powernode.wav', '0.5', '0.20') def player_death(event_var): userid = event_var['userid'] if player_classes[userid] == 6: gamethread.cancelDelayed('heal_%s'%userid) elif player_classes[userid] == 12: (x, y, z) = es.getplayerlocation(userid) es.server.queuecmd('est_blackhole %s %s %s 1'%(x, y, z)) elif player_classes[userid] == 5 or player_classes[userid] == 2: es.server.queuecmd('es_xfire %s point_spotlight lightoff'%userid) elif player_classes[userid] == 15: es.msg('#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s #green Exploded!'%event_var['es_username']) es.server.queuecmd('es_xgive %s env_explosion'%userid) es.server.queuecmd('es_xfire %s env_explosion setparent !activator'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iMagnitude 550"'%userid) es.server.queuecmd('es_xfire %s env_explosion explode'%userid) def hegrenade_detonate(event_var): userid = event_var['userid'] if player_classes[userid] == 16: x = event_var['x'] y = event_var['y'] z = event_var['z'] es.server.queuecmd('est_blackhole %s %s %s 0.35'%(x, y, z)) def flashbang_detonate(event_var): userid = event_var['userid'] if player_classes[userid] == 16: x = event_var['x'] y = event_var['y'] z = event_var['z'] es.server.queuecmd('est_blackhole %s %s %s 0.35'%(x, y, z)) def grenade_bounce(event_var): userid = event_var['userid'] if player_classes[userid] == 16: x = event_var['x'] y = event_var['y'] z = event_var['z'] es.server.queuecmd('est_blackhole %s %s %s 0.19'%(x,y,z)) def es_client_command(event_var): weapons_to_give = ('!give glock', '!give usp', '!give p228', '!give deagle', '!give fiveseven', '!give elite', '!give scout', '!give awp', '!give g3sg1', '!give sg550', '!give m3', '!give xm1014', '!give mac10', '!give tmp', '!give mp5navy', '!give p90', '!give ump45', '!give ak47', '!give m4a1', '!give galil', '!give famas', '!give sg552', '!give aug', '!give m249', '!give hegrenade', '!give flashbang', '!give smokegrenade') # If you don't want someone to be able to spawn a weapon, take it out of the list userid = event_var['userid'] player = playerlib.getPlayer(userid) player_is_dead = player.get('isdead') (x, y, z) = es.getplayerlocation(userid) es.ServerVar('player_view_x').set(0) es.ServerVar('player_view_y').set(0) es.ServerVar('player_view_z').set(0) es.server.cmd('est_GetViewCoord %s player_view_x player_view_y player_view_z'%userid) x_view = int(es.ServerVar('player_view_x')) y_view = int(es.ServerVar('player_view_y')) z_view = es.ServerVar('player_view_z') x_view_2 = x_view + random.randint(25, 250) y_view_2 = y_view + random.randint(25, 250) x_view_3 = x_view - random.randint(25, 250) y_view_3 = y_view - random.randint(25, 250) x_view_4 = x_view + random.randint(25, 250) y_view_4 = y_view + random.randint(25, 250) x_view_5 = x_view - random.randint(25, 250) y_view_5 = y_view - random.randint(25, 250) if event_var['command'] == '!special': if player_specials[userid] != 0: if player_is_dead == 0: player_specials[userid] -= 1 if player_classes[userid] == 1: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, You do not have a special') elif player_classes[userid] == 2: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, You do not have a special') elif player_classes[userid] == 3: player.set('speed', '1.2') gamethread.delayed(7, es.server.queuecmd, 'playerset speed %s 0.7'%userid) es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You drank some #lightgreenCoffee #green and gained some #lightgreenSpeed!') elif player_classes[userid] == 4: if player.attributes['teamid'] == 2: # T es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Your FreezeBomb exploded!') es.ServerVar('freezebomb_victim').set(0) es.server.cmd('est_near freezebomb_victim #ct 350 %s "es est_freeze server_var(freezebomb_victim) 1"'%userid) gamethread.delayed(6, es.server.queuecmd, 'es est_freeze server_var(freezebomb_victim) 0') elif player.attributes['teamid'] == 3: # CT es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Your FreezeBomb exploded!') es.ServerVar('freezebomb_victim').set(0) es.server.cmd('est_near freezebomb_victim #t 350 %s "es est_freeze server_var(freezebomb_victim) 1"'%userid) gamethread.delayed(6, es.server.queuecmd, 'es est_freeze server_var(freezebomb_victim) 0') elif player_classes[userid] == 5: temp_multiplier = 1.2 es.server.queuecmd('est_physpush %s 0 0 600'%userid) es.setplayerprop(userid, 'CBasePlayer.localdata.m_vecBaseVelocity', '%s,%s,%s' % tuple([es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[%s]' % x) * temp_multiplier for x in range(3)])) es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Activated #lightgreenSuper Jump') elif player_classes[userid] == 6: if player.attributes['teamid'] == 2: # T es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Reviving random person...') damon = playerlib.getUseridList('#t,#dead') random_player = random.choice(damon) # Get a random player es.server.queuecmd('est_spawn %s'%random_player) es.tell(random_player, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s Revived you!'%event_var['es_username']) elif player.attributes['teamid'] == 3: # CT es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Reviving random person...') damon = playerlib.getUseridList('#ct,#dead') random_player = random.choice(damon) es.server.queuecmd('est_spawn %s'%random_player) es.tell(random_player, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s Revived you!'%event_var['es_username']) elif player_classes[userid] == 8: if player.attributes['teamid'] == 2: # T es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Disguising random person...') damon = playerlib.getUseridList('#t,#dead') random_player = random.choice(damon) es.server.queuecmd('playerset model %s models/cs_office/vending_machine'%random_player) es.tell(random_player, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s Disguised you!'%event_var['es_username']) elif player.attributes['teamid'] == 3: # CT es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Disguising random person...') damon = playerlib.getUseridList('#ct,#dead') random_player = random.choice(damon) es.server.queuecmd('playerset model %s models/cs_office/vending_machine'%random_player) es.tell(random_player, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s Disguised you!'%event_var['es_username']) elif player_classes[userid] == 8: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, You do not have a special') elif player_classes[userid] == 9: random_help = random.randint(1, 4) if random_help == 1: es.server.queuecmd('est_health %s + 100'%userid) es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You pray for help from god and have recieved #lightgreenHealth') elif random_help == 2: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You pray for help from god and have recieved #lightgreenSpeed') player.set('speed', '0.8') elif random_help == 3: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You pray for help from god but he ignores you') elif random_help == 4: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You pray for help from god but he ignores you') elif player_classes[userid] == 10: if player.attributes['teamid'] == 2: # T es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Your FireBomb exploded!') es.ServerVar('firebomb_victim').set(0) es.server.queuecmd('est_near firebomb_victim #ct 600 %s "es est_burn server_var(firebomb_victim) 5"'%userid) elif player.attributes['teamid'] == 3: # CT es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Your FireBomb exploded!') es.ServerVar('firebomb_victim').set(0) es.server.queuecmd('est_near firebomb_victim #t 600 %s "es est_burn server_var(firebomb_victim) 5"'%userid) elif player_classes[userid] == 11: if player.attributes['teamid'] == 2: # T damon = playerlib.getUseridList('#ct,#alive') random_player = random.choice(damon) es.server.queuecmd('est_stripplayer %s'%random_player) es.tell(random_player, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s Stripped your weapon!'%event_var['es_username']) elif player.attributes['teamid'] == 3: # CT damon = playerlib.getUseridList('#t,#alive') random_player = random.choice(damon) es.server.queuecmd('est_stripplayer %s'%random_player) es.tell(random_player, '#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s Stripped your weapon!'%event_var['es_username']) elif player_classes[userid] == 12: time = 0 gamethread.delayed(0.2, smoke, args=(userid, x_view, y_view, z_view, time)) elif player_classes[userid] == 13: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, You do not have a special') elif player_classes[userid] == 14: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, You do not have a special') elif player_classes[userid] == 15: if player.attributes['teamid'] == 2: # T es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You exploded!') es.ServerVar('bomb_victim').set(0) es.server.queuecmd('est_near bomb_victim #ct 500 %s "es est_damage %s server_var(bomb_victim) 100"'%(userid, userid)) elif player.attributes['teamid'] == 3: # CT es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You exploded!') es.ServerVar('bomb_victim').set(0) es.server.queuecmd('est_near bomb_victim #t 500 %s "es est_damage %s server_var(bomb_victim) 100"'%(userid, userid)) elif player_classes[userid] == 16: if player.attributes['teamid'] == 2: # T damon = playerlib.getUseridList('#t,#alive') for matt in damon: es.server.queuecmd('est_give %s weapon_ak47'%matt) elif player.attributes['teamid'] == 3: # CT damon = playerlib.getUseridList('#ct,#alive') for matt in damon: es.server.queuecmd('est_give %s weapon_m4a1'%matt) elif player_classes[userid] == 17: # Air strike es.server.queuecmd('es_entcreate %s env_explosion'%userid) es.emitsound('entity', int(es.ServerVar('eventscripts_lastgive')), 'ambient/machines/aircraft_distant_flyby1.wav', '0.8', '0') gamethread.delayed(3.5, explode, (userid, x_view_2, y_view_2, z_view, x_view_3, y_view_3, x_view_4, y_view_4, x_view_5, y_view_5)) es.msg('#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s #green called an airstrike!'%event_var['es_username']) elif player_classes[userid] == 18: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You Pressed another players special bind!') es.ServerVar('noob_victim').set(0) es.server.queuecmd('est_near noob_victim #human 500 %s "es_cexec server_var(noob_victim) !special"'%userid) elif player_classes[userid] == 19: if player.attributes['teamid'] == 2: # T es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You secretly damaged your enemies!') es.ServerVar('mole_victim').set(0) es.server.queuecmd('est_near mole_victim #ct 600 %s "est_damage %s %s 25"'%(userid, userid)) if player.attributes['teamid'] == 3: # CT es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You secretly damaged your enemies!') es.ServerVar('mole_victim').set(0) es.server.queuecmd('est_near mole_victim #t 600 %s "est_damage %s %s 25"'%(userid, userid)) elif player_classes[userid] == 20: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: You have turned on your speedhacks') player.set('speed', '1.01') speed(userid) player_specials[userid] -= 1 else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you may only use this while alive') else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you do not have enough specials left') elif event_var['command'] == '!zoom': es.setplayerprop(userid, 'CCSPlayer.baseclass.m_iFOV', '50') elif event_var['command'] == '!zoomout': es.setplayerprop(userid, 'CCSPlayer.baseclass.m_iFOV', '90') elif event_var['command'] in weapons_to_give: if player_classes[userid] == 16: new_weapon_to_give = event_var['command'].replace('!give ', 'weapon_') es.server.queuecmd('est_give %s %s'%(userid, new_weapon_to_give)) else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you must be a #lightgreenSmuggler #greento use this feature') elif event_var['command'] == '!color': r = random.randint(0, 255) g = random.randint(0, 255) b = random.randint(0, 255) es.server.queuecmd('es_fire %s !picker color "%s %s %s"'%(userid, r, g, b)) def explode(userid, x_view_2, y_view_2, z_view, x_view_3, y_view_3, x_view_4, y_view_4, x_view_5, y_view_5): waffles = es.createentitylist('env_explosion') player = playerlib.getPlayer(userid) for syrup in waffles: es.setindexprop(syrup, "CBaseEntity.m_hOwnerEntity", es.getplayerhandle(userid)) es.server.queuecmd('es_xfire %s env_explosion setparent !activator'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iMagnitude 550"'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iRadius 850"'%userid) es.server.queuecmd('es_xfire %s env_explosion explode'%userid) es.server.queuecmd('es_xfire %s env_xplosion kill'%userid) es.emitsound('entity', int(es.ServerVar('eventscripts_lastgive')), 'ambient/explosions/explode_4.wav', '0.8', '0') gamethread.delayed(0.2, es.server.queuecmd, 'est_effect_20 %s 0 materials/sprites/flame01.vmt "%s %s %s" 1000 0 0 500 500'%(userid, x_view_2, y_view_2, z_view)) gamethread.delayed(0.4, es.server.queuecmd, 'est_effect_20 %s 0 materials/sprites/flame01.vmt "%s %s %s" 1000 0 0 500 500'%(userid, x_view_3, y_view_3, z_view)) gamethread.delayed(0.6, es.server.queuecmd, 'est_effect_20 %s 0 materials/sprites/flame01.vmt "%s %s %s" 1000 0 0 500 500'%(userid, x_view_4, y_view_4, z_view)) gamethread.delayed(0.8, es.server.queuecmd, 'est_effect_20 %s 0 materials/sprites/flame01.vmt "%s %s %s" 1000 0 0 500 500'%(userid, x_view_5, y_view_5, z_view)) def smoke(userid, x_view, y_view, z_view, time): r1 = random.randint(-255, 255) r2 = random.randint(-255, 255) time += 0.2 new_x = x_view + r1 new_y = y_view + r2 if time <= 3.4: gamethread.delayed(time, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, new_x, new_y, z_view)) gamethread.delayed(0.2, smoke, args=(userid, x_view, y_view, z_view, time)) def speed(userid): player = playerlib.getPlayer(userid) if player_classes[userid] == 20: if player.get('speed') == 1.01: player.set('speed', '3') gamethread.delayedname(0.8, 'speed_%s'%userid, speed, args=(userid)) elif player.get('speed') == 1: player.set('speed', '1.01') else: speed = player.get('speed') new_speed = speed - 0.2 player.set('speed', new_speed) gamethread.delayedname(0.8, 'speed_%s'%userid, speed, args=(userid)) def hack(): userid = es.getcmduserid() global player_specials if player_specials[userid] != 0: player_specials -= 1 if playerlib.getPlayer(userid).attributes['teamid'] == 2: # T es.server.queuecmd('est_damage %s %s %s'%(userid, random.choice(playerlib.getUseridList('#ct,#alive')), random.randint(1, 75))) elif playerlib.getPlayer(userid).attributes['teamid'] == 3: # CT es.server.queuecmd('est_damage %s %s %s'%(userid, random.choice(playerlib.getUseridList('#t,#alive')), random.randint(1, 75))) else: es.tell(userid, '#multi', '#green[#lightgreenBClasses#green]: Sorry, you do not have enough specials left!')