import es, playerlib, popuplib, gamethread, random admins = ('STEAM_0:0:11228704', 'STEAM_0:0:15965938', 'STEAM_ID_LAN', 'STEAM_0:0:11089864', 'STEAM_0:1:5774407') # Admins here def load(): if not es.exists('saycommand', '!sm'): es.regsaycmd('!sm', 'sm/showmenu', 'I\'m too lazy') smmm = popuplib.easymenu('mainmenu', '_popup_choice', smmm_menuselect) bhm = popuplib.easymenu('blackholemenu', '_popup_choice', bhm_menuselect) rm = popuplib.easymenu('rocketmenu', '_popup_choice', rm_menuselect) swm = popuplib.easymenu('stripweapmenu', '_popup_choice', swm_menuselect) pm = popuplib.easymenu('plantmenu', '_popup_choice', pm_menuselect) sm = popuplib.easymenu('shakemenu', '_popup_choice', sm_menuselect) dm = popuplib.easymenu('drugmenu', '_popup_choice', dm_menuselect) em = popuplib.easymenu('explosionmenu', '_popup_choice', em_menuselect) bm = popuplib.easymenu('burnmenu', '_popup_choice', bm_menuselect) fm = popuplib.easymenu('freezemenu', '_popup_choice', fm_menuselect) mm = popuplib.easymenu('minemenu', '_popup_choice', mm_menuselect) slm = popuplib.easymenu('slapmenu', '_popup_choice', slm_menuselect) eem = popuplib.easymenu('entityexplosionmenu', '_popup_choice', eem_menuselect) pem = popuplib.easymenu('playerexplosionmenu', '_popup_choice', pem_menuselect) pum = popuplib.easymenu('pushmenu', '_popup_choice', pum_menuselect) pdm = popuplib.easymenu('propdestroymenu', '_popup_choice', pdm_menuselect) ssm = popuplib.easymenu('superslap', '_popup_choice', ss_menuselect) dp = popuplib.easymenu('destroyprop', '_popup_choice', dp_menuselect) smmm.settitle('Main Menu') bhm.settitle('Black Hole') rm.settitle('Rocket') swm.settitle('Strip Player') pm.settitle('Plant') sm.settitle('Shake') dm.settitle('Drug') em.settitle('Explode') bm.settitle('Burn') fm.settitle('Freeze') mm.settitle('Mine') slm.settitle('Slap') eem.settitle('Entity Explosion') pem.settitle('Player Explosion') smmm.addoption('blackholemenu', 'Black Hole') smmm.addoption('rocketmenu', 'Rocket') smmm.addoption('stripweapmenu', 'Strip Player') smmm.addoption('plantmenu', 'Plant') smmm.addoption('shakemenu', 'Shake') smmm.addoption('drugmenu', 'Drug') smmm.addoption('explosionmenu', 'Explosion') smmm.addoption('burnmenu', 'Burn') smmm.addoption('freezemenu', 'Freeze') smmm.addoption('minemenu', 'Mine') smmm.addoption('slapmenu', 'Slap') smmm.addoption('entityexplosionmenu', 'Entity Explosion') smmm.addoption('playerexplosionmenu', 'Player Explosion') smmm.addoption('pushmenu', 'Push Player') smmm.addoption('propdestroymenu', 'Prop Destroy') smmm.addoption('superslap', 'Super Slap') smmm.addoption('destroyprop', 'Destroy All Props') em.addoption('point', 'Point and Boom') em.addoption('loc', 'Boom at your feet') mm.addoption('mine', 'Create a mine') eem.addoption('point', 'Point and Boom') eem.addoption('loc', 'Boom at your feet') dp.addoption('continue', 'Destroy All Props') pdm.addoption('destroy', 'Point and Destroy') def unload(): if es.exists('saycommand', '!sm'): es.unregsaycmd('!sm') popuplib.delete('mainmenu') popuplib.delete('blackholemenu') popuplib.delete('rocketmenu') popuplib.delete('stripweapmenu') popuplib.delete('plantmenu') popuplib.delete('shakemenu') popuplib.delete('drugmenu') popuplib.delete('explosionmenu') popuplib.delete('burnmenu') popuplib.delete('freezemenu') popuplib.delete('minemenu') popuplib.delete('slapmenu') popuplib.delete('entityexplosionmenu') popuplib.delete('playerexplosionmenu') popuplib.delete('pushmenu') popuplib.delete('propdestroymenu') def showmenu(): userid = es.getcmduserid() if playerlib.getPlayer(userid).attributes['steamid'] in admins: popuplib.send('mainmenu', userid) else: es.tell(userid, '#multi', '#green[SuperMods]:#default Sorry, you are not authorized to run this command!') def smmm_menuselect(userid, choice, popupid): popuplib.delete('blackholemenu') popuplib.delete('rocketmenu') popuplib.delete('stripweapmenu') popuplib.delete('plantmenu') popuplib.delete('shakemenu') popuplib.delete('drugmenu') popuplib.delete('burnmenu') popuplib.delete('freezemenu') popuplib.delete('slapmenu') popuplib.delete('playerexplosionmenu') popuplib.delete('pushmenu') popuplib.delete('superslap') bhm = popuplib.easymenu('blackholemenu', '_popup_choice', bhm_menuselect) rm = popuplib.easymenu('rocketmenu', '_popup_choice', rm_menuselect) swm = popuplib.easymenu('stripweapmenu', '_popup_choice', swm_menuselect) pm = popuplib.easymenu('plantmenu', '_popup_choice', pm_menuselect) sm = popuplib.easymenu('shakemenu', '_popup_choice', sm_menuselect) dm = popuplib.easymenu('drugmenu', '_popup_choice', dm_menuselect) bm = popuplib.easymenu('burnmenu', '_popup_choice', bm_menuselect) fm = popuplib.easymenu('freezemenu', '_popup_choice', fm_menuselect) slm = popuplib.easymenu('slapmenu', '_popup_choice', slm_menuselect) pum = popuplib.easymenu('pushmenu', '_popup_choice', pum_menuselect) pem = popuplib.easymenu('playerexplosionmenu', '_popup_choice', pem_menuselect) ssm = popuplib.easymenu('superslap', '_popup_choice', ss_menuselect) for player in playerlib.getPlayerList(): p_userid = int(player) p_name = player.get('name') bhm.addoption(p_userid, p_name) rm.addoption(p_userid, p_name) swm.addoption(p_userid, p_name) pm.addoption(p_userid, p_name) sm.addoption(p_userid, p_name) dm.addoption(p_userid, p_name) bm.addoption(p_userid, p_name) fm.addoption(p_userid, p_name) slm.addoption(p_userid, p_name) pem.addoption(p_userid, p_name) pum.addoption(p_userid, p_name) ssm.addoption(p_userid, p_name) popuplib.send(choice, userid) def bhm_menuselect(userid, choice, popupid): (x, y, z) = es.getplayerlocation(choice) es.server.queuecmd('est_blackhole %s %s %s 5'%(x, y, z)) es.tell(userid, '#multi', '#green[SuperMods]:#default You have turned %s into a blackhole!'%playerlib.getPlayer(choice).get('name')) def rm_menuselect(userid, choice, popupid): es.server.queuecmd('est_rocket %s'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have rocketed %s'%playerlib.getPlayer(choice).get('name')) popuplib.send('rocketmenu', userid) def swm_menuselect(userid, choice, popupid): es.server.queuecmd('est_stripplayer %s 1'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have stripped %s\'s weapons!'%playerlib.getPlayer(choice).get('name')) popuplib.send('stripweapmenu', userid) def pm_menuselect(userid, choice, popupid): player = playerlib.getPlayer(choice) if player.get('freeze') == '0': player.set('model', 'props/cs_office/plant01') es.server.queuecmd('est_stripplayer %s 1'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have plantified %s'%playerlib.getPlayer(choice).get('name')) player.set('freeze', '1') else: player.set('freeze', 0) es.server.queuecmd('est_give %s weapon_m4a1'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have un-plantified %s'%playerlib.getPlayer(choice).get('name')) popuplib.send('plantmenu', userid) def sm_menuselect(userid, choice, popupid): es.server.queuecmd('est_shake %s 10 10 5'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have shaked %s\'s screen'%playerlib.getPlayer(choice).get('name')) popuplib.send('shakemenu', userid) def dm_menuselect(userid, choice, popupid): es.server.queuecmd('est_drug %s 5'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have drugged %s'%playerlib.getPlayer(choice).get('name')) popuplib.send('drugmenu', userid) def em_menuselect(userid, choice, popupid): es.tell(userid, '#multi', '#green[SuperMods]:#default You have created an explosion!') if choice == 'point': es.server.queuecmd('es_entcreate %s env_explosion'%userid) gamethread.delayed(0.1, explode, args=(userid)) elif choice == 'loc': es.server.queuecmd('es_give %s env_explosion'%userid) gamethread.delayed(0.1, explode, args=(userid)) popuplib.send('explosionmenu', userid) def explode(userid): waffles = es.createentitylist('env_explosion') 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 400"'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iRadiusoverride 500"'%userid) es.server.queuecmd('es_xfire %s env_explosion explode'%userid) def bm_menuselect(userid, choice, popupid): es.server.queuecmd('est_burn %s 10'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have burned %s'%playerlib.getPlayer(choice).get('name')) popuplib.send('burnmenu', userid) def fm_menuselect(userid, choice, popupid): playerlib.getPlayer(choice).set('freeze', '1') es.tell(userid, '#multi', '#green[SuperMods]:#default You have frozen %s'%playerlib.getPlayer(choice).get('name')) gamethread.delayed(15, playerlib.getPlayer(choice).set, 'freeze', 0) popuplib.send('freezemenu', userid) def mm_menuselect(userid, choice, popupid): (x, y, z) = es.getplayerlocation(userid) es.tell(userid, '#multi', '#green[SuperMods]:#default You have made a mine! Better move fast!') es.server.queuecmd('es_give %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 400"'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iRadiusoverride 500"'%userid) es.ServerVar('exploded').set(0) es.ServerVar('notneeded').set(0) gamethread.delayed(5, mine_explode, args=(userid, x, y, z)) popuplib.send('minemenu', userid) def slm_menuselect(userid, choice, popupid): es.tell(userid, '#multi', '#green[SuperMods]:#default You have slapped %s'%playerlib.getPlayer(choice).get('name')) es.server.queuecmd('est_physpush %s %s %s %s'%(choice, random.randint(0, 300), random.randint(0, 300), random.randint(0, 300))) popuplib.send('slapmenu', userid) def mine_explode(userid, x, y, z): if es.ServerVar('exploded') == 0: es.server.queuecmd('nearcoord notneeded #all %s %s %s 100 100 100 "es_fire %s env_explosion explode;es_xset exploded 1"'%(x, y, z, userid)) gamethread.delayed(0.1, mine_explode, args=(userid, x, y, z)) def eem_menuselect(userid, choice, popupid): if choice == 'point': es.server.queuecmd('es_entcreate %s env_physexplosion'%userid) es.server.queuecmd('es_fire %s env_physexplosion addoutput "magnitude 100"'%userid) es.server.queuecmd('es_fire %s env_physexplosion addoutput "radius 100"'%userid) es.server.queuecmd('es_fire %s env_physexplosion explode'%userid) elif choice == 'loc': es.server.queuecmd('es_give %s env_physexplosion'%userid) es.server.queuecmd('es_fire %s env_physexplosion addoutput "magnitude 100"'%userid) es.server.queuecmd('es_fire %s env_physexplosion addoutput "radius 100"'%userid) es.server.queuecmd('es_fire %s env_physexplosion explode'%userid) popuplib.send('entityexplosionmenu', userid) def pem_menuselect(userid, choice, popupid): es.server.queuecmd('es_give %s env_explosion'%choice) es.server.queuecmd('es_xfire %s env_explosion setparent !activator'%choice) es.server.queuecmd('es_xfire %s env_explosion addoutput "iMagnitude 400"'%choice) es.server.queuecmd('es_xfire %s env_explosion addoutput "iRadiusoverride 200"'%choice) es.server.queuecmd('es_xfire %s env_explosion explode'%choice) es.tell(userid, '#multi', '#green[SuperMods]:#default You have exploded %s'%playerlib.getPlayer(choice).get('name')) popuplib.send('playerexplosionmenu', userid) def pum_menuselect(userid, choice, popupid): (x, y, z) = es.getplayerlocation(userid) (x2, y2, z2) = es.getplayerlocation(choice) vector1 = es.createvectorstring(x, y, z) vector2 = es.createvectorstring(x2, y2, z2) pointvector = es.createvectorfrompoints(vector1, vector2) (x, y, z) = es.splitvectorstring(pointvector) x = x * 50 y = y * 50 es.setplayerprop(choice, 'CCSPlayer.baseclass.localdata.m_vecBaseVelocity', '%s,%s,%s'%(x, y, z)) es.tell(userid, '#multi', '#green[SuperMods]:#default You have pushed %s'%playerlib.getPlayer(choice).get('name')) popuplib.send('pushmenu', userid) def pdm_menuselect(userid, choice, popupid): es.tell(userid, '#multi', '#green[SuperMods]: #defaultPlease, be very careful with this command, as it has crashed many servers. Only use it on moving objects such as boats!') es.ServerVar('prop').set(0) es.server.cmd('est_getviewprop %s prop'%userid) prop = es.ServerVar('prop') es.msg(prop) for a in es.createentitylist(): if prop == a: es.server.queuecmd('es_remove %s'%prop) popuplib.send('propdestroymenu', userid) def ss_menuselect(userid, choice, popupid): slap_time = 0 gamethread.delayedname(0.1, 'mega_slap_%s'%choice, mega_slap_loop, args=(choice, slap_time)) popuplib.send('superslap', userid) def mega_slap_loop(choice, slap_time): if slap_time <= 5: es.setplayerprop(choice, 'CBasePlayer.localdata.m_vecBaseVelocity', '%s,%s,%s'%(random.randint(-155, 155), random.randint(-155, 155), random.randint(0, 200))) slap_time += 0.1 gamethread.delayedname(0.1, 'mega_slap_%s'%choice, mega_slap_loop, args=(choice, slap_time)) def dp_menuselect(userid, choice, popupid): for a in es.createentitylist('prop_physics_multiplayer'): if a != 0: es.server.queuecmd('es_xremove %s'%a) for b in es.createentitylist('prop_physics'): if b != 0: es.server.queuecmd('es_xremove %s'%b)