# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Bonbon's fun classes v_2.2 # # Requires: # # # # 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 # # GODJones (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.2" 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 = {} enabled_classes = ('!zombie', '!ghost', '!homer', '!kitty', '!assassin', '!wizard', '!chameleon', '!error', '!satan', '!engineer', '!chemist', '!android', '!gordon', '!bomber', '!smuggler', '!bush') ''' 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 ''' To Add: To annouce: Fixed errors with two of the bombs Evened out the bush class Fixed the smoke problem ''' bclasses = None jump_multiplier = 1.5 def load(): bclasses = popuplib.easymenu('example_menu', None, classes_choice) bclasses.settitle("|-Bonbon's Classes-|") classes = ('Zombie', 'Ghost', 'Homer', 'Kitty Kat', 'Assassin', 'Wizard', 'Vampire', 'Chameleon', 'Error', 'Satan', 'Engineer', 'Chemist', 'Android', 'Gordon', 'Bomber', 'Smuggler', 'bush') for taco in classes: bclasses.addoption (taco, taco) es.msg('#multi', '#green[#lightgreenBClasses#green]: Loaded') def unload(): es.msg('#multi', '#green[#lightgreenBClasses#green]: Unloaded') def player_connect(event_var): userid = event_var['userid'] random_class = random.randint(1, 17) player_classes[userid] = random_class player_specials[userid] = 2 def player_disconnect(event_var): userid = event_var['userid'] if player_classes.has_key(userid): del player_classes[userid] def player_spawn(event_var): player = playerlib.getPlayer(event_var['userid']) userid = str(event_var['userid']) es.tell(event_var['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] = 2 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] = 2 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] = 2 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'%userid) es.server.queuecmd('est_setgravity %s 1'%event_var['userid']) player_specials[userid] = 2 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] = 2 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] = 2 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] = 2 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] = 2 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] = 2 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] = 2 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] = 1 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] = 5 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] = 2 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] = 2 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] == 2 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] = 2 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] = 2 else: random_class = random.randint(1, 17) player_classes[userid] = random_class def heal(userid): player = playerlib.getPlayer(userid) health = player.attributes['health'] gamethread.delayedname(3.5, 'heal_%s'%userid, heal, args=(userid)) if player_classes[userid] == 6: if health < 200: new_health = health + 3 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') 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') random_1 = random.randint(25, 250) random_2 = random.randint(25, 250) random_3 = random.randint(25, 250) random_4 = random.randint(25, 250) random_5 = random.randint(25, 250) random_6 = random.randint(25, 250) random_7 = random.randint(25, 250) random_8 = random.randint(25, 250) x_view_2 = x_view + random_1 y_view_2 = y_view + random_2 x_view_3 = x_view - random_3 y_view_3 = y_view - random_4 x_view_4 = x_view + random_5 y_view_4 = y_view + random_6 x_view_5 = x_view - random_7 x_view_6 = y_view - random_7 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 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 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') 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', event_var['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 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)) 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') def player_jump(event_var): 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)])) 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): userid = event_var['userid'] if choice == 'Zombie': player_classes[userid] = 1 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 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 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 450"'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iRadiusOverride 900"'%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.3'%(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.3'%(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.15'%(x,y,z)) def es_client_command(event_var): 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') random_1 = random.randint(25, 250) random_2 = random.randint(25, 250) random_3 = random.randint(25, 250) random_4 = random.randint(25, 250) random_5 = random.randint(25, 250) random_6 = random.randint(25, 250) random_7 = random.randint(25, 250) random_8 = random.randint(25, 250) random_9 = random.randint(25, 250) random_10 = random.randint(25, 250) random_11 = random.randint(25, 250) random_12 = random.randint(25, 300) random_13 = random.randint(25, 350) random_14 = random.randint(25, 350) random_15 = random.randint(25, 400) random_16 = random.randint(25, 400) random_17 = random.randint(25, 450) random_18 = random.randint(25, 450) x_view_2 = x_view + random_1 y_view_2 = y_view + random_2 x_view_3 = x_view - random_3 y_view_3 = y_view - random_4 x_view_4 = x_view + random_5 y_view_4 = y_view + random_6 x_view_5 = x_view - random_7 y_view_5 = y_view - random_8 x_view_6 = x_view - random_9 y_view_6 = y_view + random_10 x_view_7 = x_view + random_11 y_view_7 = y_view - random_12 x_view_8 = x_view - random_13 y_view_8 = y_view + random_14 x_view_9 = x_view + random_15 y_view_9 = y_view - random_16 x_view_10 = x_view - random_17 y_view_10 = y_view - random_18 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) 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] == 7: 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.cmd('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.cmd('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: es.server.queuecmd('est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view, y_view, z_view)) gamethread.delayed(0.2, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_2, y_view_2, z_view)) gamethread.delayed(0.4, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_3, y_view_3, z_view)) gamethread.delayed(0.6, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_4, y_view_4, z_view)) gamethread.delayed(0.8, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_5, y_view_5, z_view)) gamethread.delayed(1.0, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_6, y_view_6, z_view)) gamethread.delayed(1.2, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_7, y_view_7, z_view)) gamethread.delayed(1.2, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_8, y_view_8, z_view)) gamethread.delayed(1.4, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_9, y_view_9, z_view)) gamethread.delayed(1.6, es.server.queuecmd, 'est_effect_31 %s 0 materials/sprites/smoke.vmt "%s %s %s" 1000 1'%(userid, x_view_10, y_view_10, z_view)) 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.cmd('est_near bomb_victim #ct 500 %s "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.cmd('est_near bomb_victim #t 500 %s "es est_burn 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: es.server.queuecmd('es_entcreate %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 650"'%userid) gamethread.delayed(3.5, es.server.queuecmd, 'es_xfire %s env_explosion explode'%userid) gamethread.delayed(4.1, es.server.queuecmd, 'es_xfire %s env_xplosion kill'%userid) gamethread.delayed(3.5, es.server.queuecmd, 'es_emitsound entity server_var(eventscripts_lastgive) ambient/explosions/explode_4.wav 1 0') es.emitsound('entity', int(es.ServerVar('eventscripts_lastgive')), 'ambient/machines/aircraft_distant_flyby1.wav', '0.8', '0') es.msg('#multi', '#green[#lightgreenBClasses#green]: #lightgreen%s #green called an airstrike!'%event_var['es_username']) gamethread.delayed(4.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(4.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(4.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(4.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)) 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')