def effectLoop(userid, start, red=0, green=255, blue=0): """ A method to loop the effects """ effectlib.drawBox(start, es.getplayerlocation(userid), red=red, green=green, blue=blue, seconds=0.1) gamethread.delayedname(0.1, 'surftimer_effects', effectLoop, (userid, start, red, green, blue))
def drawbox(userid, loop_number, start_point, type, end_point=None): if not end_point: effectlib.drawBox(start_point, es.getplayerlocation(userid), 'materials/sprites/laser.vmt', 'materials/sprites/laser.vmt', 2, '3', '3', 255, 255, 255, '255', '10', '0', '0', '0', '0') else: if type == "end": effectlib.drawBox(start_point, end_point, 'materials/sprites/laser.vmt', 'materials/sprites/laser.vmt', 2, '3', '3', 255, 0, 0, '255', '10', '0', '0', '0', '0') elif type == "extra": effectlib.drawBox(start_point, end_point, 'materials/sprites/laser.vmt', 'materials/sprites/laser.vmt', 0.1, '3', '3', 255, 0, 0, '255', '10', '0', '0', '0', '0') else: effectlib.drawBox(start_point, end_point, 'materials/sprites/laser.vmt', 'materials/sprites/laser.vmt', 0.1, '3', '3', 0, 255, 0, '255', '10', '0', '0', '0', '0')
def IronManLoop(player): armor = player.armor if player.armor <= 1: es.tell( player, '#multi', '#green[SH]#lightgreen Not enough fuel, wait until it regens.') return # Stop this loop player.armor = armor - 2 player.set("push", (0, 145, True)) loc = player.location drawBox(loc, [loc[0] + 10, loc[1] + 10, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 255, 0, 0, 255, 10, 0, 0, 0, 0) drawBox(loc, [loc[0] - 10, loc[1] - 10, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 255, 128, 0, 255, 10, 0, 0, 0, 0) drawBox([loc[0] - 5, loc[1] - 5, loc[2]], [loc[0] + 5, loc[1] + 5, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 0, 0, 255, 255, 10, 0, 0, 0, 0) es.emitsound('player', player, 'ambient/explosions/exp4.wav', 0.3, 0.4) gamethread.delayedname(0.1, delayname % player, IronManLoop, player)
def rocketEffectLoop(userid, time): """ A command to make some neat effects and push a player vertically... Made by bonbon <3 """ if time >= 0: time -= 0.1 loc = es.getplayerlocation(userid) if time < 2.5: effectlib.drawBox(loc, [loc[0] + 10, loc[1] + 10, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 255, 0, 0, 255, 10, 0, 0, 0, 0) effectlib.drawBox(loc, [loc[0] - 10, loc[1] - 10, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 255, 128, 0, 255, 10, 0, 0, 0, 0) effectlib.drawBox([loc[0] - 5, loc[1] - 5, loc[2]], [loc[0] + 5, loc[1] + 5, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 0, 0, 255, 255, 10, 0, 0, 0, 0) if (time * 10) % 2: #es.setplayerprop(userid, 'CBasePlayer.localdata.m_vecBaseVelocity', '0,0,145') if es.exists('userid', userid): # stops the playerlib error if the player doesn't exist playerlib.getPlayer(userid).set("push", (0, 145, True) ) else: return gamethread.delayed(0.1, rocketEffectLoop, (userid, time) ) else: es.server.queuecmd('es_give %s env_explosion' % userid) es.server.queuecmd('es_xfire %s env_explosion addoutput "iMagnitude 100"' % userid) es.server.queuecmd('es_xfire %s env_explosion explode' % userid) es.server.queuecmd('damage %s %s' % (userid, es.getplayerprop(userid, 'CBasePlayer.m_iHealth') ) ) es.emitsound('player', userid, 'ambient/explosions/exp3.wav', '1.0', '0.4')
def rocketEffectLoop(userid, time): """ A command to make some neat effects and push a player vertically... Made by bonbon <3 """ if time >= 0: time -= 0.1 loc = es.getplayerlocation(userid) if time < 2.5: effectlib.drawBox(loc, [loc[0] + 10, loc[1] + 10, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 255, 0, 0, 255, 10, 0, 0, 0, 0) effectlib.drawBox(loc, [loc[0] - 10, loc[1] - 10, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 255, 128, 0, 255, 10, 0, 0, 0, 0) effectlib.drawBox([loc[0] - 5, loc[1] - 5, loc[2]], [loc[0] + 5, loc[1] + 5, loc[2]], "materials/sprites/laser.vmt", "materials/sprites/halo01.vmt", 0.2, 20, 20, 0, 0, 255, 255, 10, 0, 0, 0, 0) if (time * 10) % 2: #es.setplayerprop(userid, 'CBasePlayer.localdata.m_vecBaseVelocity', '0,0,145') if es.exists( 'userid', userid ): # stops the playerlib error if the player doesn't exist playerlib.getPlayer(userid).set("push", (0, 145, True)) else: return gamethread.delayed(0.1, rocketEffectLoop, (userid, time)) else: es.server.queuecmd('es_give %s env_explosion' % userid) es.server.queuecmd( 'es_xfire %s env_explosion addoutput "iMagnitude 100"' % userid) es.server.queuecmd('es_xfire %s env_explosion explode' % userid) es.server.queuecmd( 'damage %s %s' % (userid, es.getplayerprop(userid, 'CBasePlayer.m_iHealth'))) es.emitsound('player', userid, 'ambient/explosions/exp3.wav', '1.0', '0.4')
def effectLoop(userid, start, red = 0, green = 255, blue = 0): """ A method to loop the effects """ effectlib.drawBox(start, es.getplayerlocation(userid), red=red, green=green, blue=blue, seconds=0.1) gamethread.delayedname(0.1, 'surftimer_effects', effectLoop, (userid, start, red, green, blue) )