import es, playerlib, usermsg, gamethread, random, math, effectlib, os.path, popuplib info = es.AddonInfo() info.name = 'JScript' info.version = '0.1' info.url = 'http://addons.eventscripts.com/addons/view/jscript' info.basename = 'jscript' info.author = 'James Rhodes' active_game = None game_tt_time = 0 game_tt_maxtime = 60 game_tt_target_terrorist = -1 game_tt_needreset = False game_killoff = False def load(): if not es.exists('clientcommand', 'jscript_asplode'): es.regclientcmd('jscript_asplode', 'jscript/asplode', 'Cause an asplosion.') if not es.exists('clientcommand', 'jscript_rasplode'): es.regclientcmd('jscript_rasplode', 'jscript/rasplode', 'Cause an random asplosion.') if not es.exists('clientcommand', 'jscript_tasplode'): es.regclientcmd('jscript_tasplode', 'jscript/tasplode', 'Cause an random repeating asplosion.') if not es.exists('clientcommand', 'jscript_game_target_terrorist'): es.regclientcmd('jscript_game_target_terrorist', 'jscript/game_target_terrorist', 'Play a game of target terrorist.') es.msg("#multi", "#green[JScript]#default is running. Created by #lightgreenJames Rhodes") def asplode(): #es.msg("#multi", "#green[JScript]#default Asplosion stage 1.") userid = es.getargs().split(' ')[0]; #es.msg("#multi", "#green[JScript]#default Asplosion stage 2.") mag = es.getargs().split(' ')[1]; es.msg("#multi", "#green[JScript]#default Asplosion occuring on user #lightgreen%s#default with magnitude #lightgreen%s#default."%(userid, mag)) es.server.queuecmd('es_give %s env_explosion'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iMagnitude %s"'%(userid, mag)) es.server.queuecmd('es_xfire %s env_explosion explode'%userid) def rasplode(): try: userid = random.choice(playerlib.getUseridList('#alive')) mag = es.getargs().split(' ')[0]; es.msg("#multi", "#green[JScript]#default Random asplosion occuring on user #lightgreen%s#default with magnitude #lightgreen%s#default."%(userid, mag)) es.server.queuecmd('es_give %s env_explosion'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iMagnitude %s"'%(userid, mag)) es.server.queuecmd('es_xfire %s env_explosion explode'%userid) except IndexError: es.msg("#multi", "#green[JScript]#default Can't asplode anyone, because everyone is dead!") def tasplode(): try: mag = 200; p = random.choice(playerlib.getPlayerList('#alive')) userid = p.userid es.msg("#multi", "#green[JScript]#default Random timed asplosion (instant death) occuring for #lightgreen%s#default."%(p.attributes["name"])) es.server.queuecmd('es_give %s env_explosion'%userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iMagnitude %s"'%(userid, 2000)) es.server.queuecmd('es_xfire %s env_explosion addoutput "iRadiusOverride %s"'%(userid, 200)) es.server.queuecmd('es_xfire %s env_explosion explode'%userid) gamethread.delayedname(2, 'jscript_tasplode', tasplode) except IndexError: es.msg("#multi", "#green[JScript]#default Can't asplode anyone, because everyone is dead!") def game_target_terrorist(): global game_tt_time, game_killoff, game_tt_target_terrorist, active_game, game_tt_maxtime if (active_game == "target_terrorist"): # Delete settings es.msg("#multi", "#green[JScript]#default A game of Target Terrorist has stopped.") active_game = None else: # check time if es.getargs() != None: arg = es.getargs().split(' '); if (len(arg)>0): game_tt_maxtime = int(arg[0]); else: game_tt_maxtime = 60; else: game_tt_maxtime = 60; # a game where you have to kill the master terrorist game_tt_target_terrorist = random.choice(playerlib.getPlayerList('#alive,#t')) game_tt_time = game_tt_maxtime game_killoff = False active_game = "target_terrorist" es.msg("#multi", "#green[JScript]#default A game of Target Terrorist is starting. All CTs will die in %s seconds if #lightgreen%s#default doesn't die!"%(str(game_tt_maxtime),game_tt_target_terrorist.attributes['name'])) gamethread.delayed(1, game_target_terrorist_update) def game_target_terrorist_update(): global game_tt_time, game_killoff, game_tt_target_terrorist, active_game, game_tt_needreset if (game_tt_time < 1): game_killoff = True for player in playerlib.getPlayerList('#alive,#ct'): pid = player.userid es.server.queuecmd('damage %s %s'%(pid, player.get('health') + 1)) es.centermsg("Goodbye CTs!") #es.msg("#multi", "#green[JScript]#default Goodbye.") game_tt_needreset = True else: if (game_killoff == False): game_tt_time -= 1 es.centermsg("%s (%s)"%(game_tt_time+1,game_tt_target_terrorist.attributes['name'])) #es.msg("#multi", "#green[JScript]#default #lightgreen%s#default seconds remaining (target: %s)."%(game_tt_time,game_tt_target_terrorist.attributes['name'])) if (active_game): gamethread.delayed(1, game_target_terrorist_update) def round_start(event_var): global game_tt_time, game_killoff, game_tt_target_terrorist, active_game, game_tt_needreset, game_tt_maxtime if (active_game == "target_terrorist"): game_tt_time = game_tt_maxtime game_killoff = False game_tt_target_terrorist = random.choice(playerlib.getPlayerList('#alive,#t')) es.msg("#multi", "#green[JScript]#default A game of Target Terrorist is starting. All CTs will die in %s seconds if #lightgreen%s#default doesn't die!"%(str(game_tt_maxtime),game_tt_target_terrorist.attributes['name'])) if (game_tt_needreset == True): gamethread.delayed(1, game_target_terrorist_update) game_tt_needreset = False def player_death(event_var): global game_tt_time, game_killoff, game_tt_target_terrorist, active_game if (active_game == "target_terrorist"): if (game_killoff == False): if (es.getuserid(event_var['es_username']) == game_tt_target_terrorist.userid): game_killoff = True for player in playerlib.getPlayerList('#alive,#t'): pid = player.userid es.server.queuecmd('damage %s %s'%(pid, player.get('health') + 1)) es.centermsg("CTs win!") #es.msg("#multi", "#green[JScript]#default CTs win Target Terrorist!"%(game_tt_target_terrorist.attributes['name']))