Exemplo n.º 1
0
    def listener_on_entity_spawned(self, index, base_entity):
        if base_entity.classname != 'flashbang_projectile':
            return

        entity = Entity(index)

        if entity.owner_handle not in (self.prisoner.inthandle,
                                       self.guard.inthandle):

            return

        temp_entity = TempEntity('BeamFollow')
        temp_entity.entity_index = index
        temp_entity.model_index = BEAM_MODEL.index
        temp_entity.halo_index = BEAM_MODEL.index
        temp_entity.life_time = 1
        temp_entity.start_width = 3
        temp_entity.end_width = 3
        temp_entity.fade_length = 1
        temp_entity.red = 255
        temp_entity.green = 255
        temp_entity.blue = 255
        temp_entity.alpha = 150

        temp_entity.create(RecipientFilter())
    def listener_on_entity_spawned(self, base_entity):
        if base_entity.classname != 'flashbang_projectile':
            return

        index = base_entity.index
        entity = Entity(index)

        for player in self._players:
            if player.inthandle == entity.owner_handle:
                break
        else:
            return

        temp_entity = TempEntity('BeamFollow')
        temp_entity.entity_index = index
        temp_entity.model_index = BEAM_MODEL.index
        temp_entity.halo_index = BEAM_MODEL.index
        temp_entity.life_time = 1
        temp_entity.start_width = 3
        temp_entity.end_width = 3
        temp_entity.fade_length = 1
        temp_entity.red = 255
        temp_entity.green = 255
        temp_entity.blue = 255
        temp_entity.alpha = 150

        temp_entity.create(RecipientFilter())
    def listener_on_entity_spawned(self, base_entity):
        if base_entity.classname != 'flashbang_projectile':
            return

        index = base_entity.index
        entity = Entity(index)

        for player in self._players:
            if player.inthandle == entity.owner_handle:
                break
        else:
            return

        temp_entity = TempEntity('BeamFollow')
        temp_entity.entity_index = index
        temp_entity.model_index = BEAM_MODEL.index
        temp_entity.halo_index = BEAM_MODEL.index
        temp_entity.life_time = 1
        temp_entity.start_width = 3
        temp_entity.end_width = 3
        temp_entity.fade_length = 1
        temp_entity.red = 255
        temp_entity.green = 255
        temp_entity.blue = 255
        temp_entity.alpha = 150

        temp_entity.create(RecipientFilter())
Exemplo n.º 4
0
def effect128(position, player_index, entity_index):
    """
    est_effect_28 <player filter> <delay> <position x y z> <playerindex> <entity>
    """
    if not isinstance(position, Vector):
        position = Vector(*position)

    te = TempEntity('Player Decal')
    te.origin = position
    te.player_index = player_index
    te.entity_index = entity_index

    return te
Exemplo n.º 5
0
def effect121(model, index, density, current):
    """
    est_effect_21 <player filter> <delay> <model> <entity> <density> <current>
    """
    if not isinstance(model, Model):
        model = Model(model)

    te = TempEntity('Fizz')
    te.model = model
    te.entity_index = index
    te.density = density
    te.current = current

    return te
Exemplo n.º 6
0
def give_trail(ent, team):
    if team == 2:
        color = Color(255, 0, 0)
    if team == 3:
        color = Color(0, 0, 255)
    entity = TempEntity('BeamFollow')
    entity.start_width = 3
    entity.end_width = 3
    entity.color = color
    entity.model = beam_model
    entity.halo = beam_model
    entity.entity_index = ent.index
    entity.life_time = 2
    entity.create()
Exemplo n.º 7
0
def est_effect_04(command):
    #est_Effect_04 <player Filter> <delay> <model> <Follow ent> <life> <start width> <end width> <fade distance> <R> <G> <B> <A>
    te = TempEntity('BeamFollow')
    te.alpha = int(command[12])
    te.blue = int(command[11])
    te.green = int(command[10])
    te.end_width = int(command[7])
    te.life_time = float(command[5])
    te.start_width = int(command[6])
    te.entity_index = Player.from_userid(int(command[4])).index
    te.fade_length = int(command[8])
    te.halo_index = Model(str(command[3])).index
    te.model_index = Model(str(command[3])).index
    te.red = int(command[9])
    te.create(delay=float(command[2]))
Exemplo n.º 8
0
def effect113(decal, origin, index):
    """
    est_effect_13 <player filter> <delay> <decal> <origin x y z> <target entity index>
    """
    if not isinstance(decal, Decal):
        decal = Decal(decal)

    if not isinstance(origin, Vector):
        origin = Vector(*origin)

    te = TempEntity('BSP Decal')
    te.decal = decal
    te.origin = origin
    te.entity_index = index

    return te
Exemplo n.º 9
0
def effect116(decal, position, start, index, hitbox):
    """
    est_effect_16 <player filter> <delay> <model> <position x y z> <start x y z> <entity index> <hitbox>
    """
    if not isinstance(decal, Decal):
        decal = Decal(decal)

    if not isinstance(position, Vector):
        position = Vector(*position)

    if not isinstance(start, Vector):
        start = Vector(*start)

    te = TempEntity('Entity Decal')
    te.decal = decal
    te.origin = position
    te.start = start
    te.entity_index = index
    te.hitbox = hitbox

    return te
Exemplo n.º 10
0
def effect104(model, entity_index, life_time, start_width, end_width,
              fade_length, red, green, blue, alpha):
    """
    est_effect_04 <player filter> <delay> <model> <follow entity> <life> <start width> <end width> <fade distance> <red> <green> <blue> <alpha>
    """
    if not isinstance(model, Model):
        model = Model(model)

    te = TempEntity('BeamFollow')
    te.model = model
    te.halo = model
    te.entity_index = entity_index
    te.life_time = life_time
    te.start_width = start_width
    te.end_width = end_width
    te.fade_length = fade_length
    te.red = red
    te.green = green
    te.blue = blue
    te.alpha = alpha

    return te
Exemplo n.º 11
0
def effect4(model, userid, life_time, start_width, end_width, fade_length, red,
            green, blue, alpha):
    """
    est_effect 4 <player filter> <delay> <model> <userid> <life> <width> <end width> <time to fade> <red> <green> <blue> <alpha>
    """
    if not isinstance(model, Model):
        model = Model(model)

    te = TempEntity('BeamFollow')
    te.model = model
    te.halo = model
    te.entity_index = index_from_userid(userid)
    te.life_time = life_time
    te.start_width = start_width
    te.end_width = end_width
    te.fade_length = fade_length
    te.red = red
    te.green = green
    te.blue = blue
    te.alpha = alpha

    return te
Exemplo n.º 12
0
    def create_trail(self):
        """Create the beam trail for the given entity."""
        # Get the values for the beam color
        rgb = str(self.convars['beam_color'])

        # Use try/except to split the color values
        try:
            color = Color(*map(int, rgb.split(',')))

        # Otherwise, set the colors to a default value
        except ValueError:
            color = Color(127, 127, 127)

        # Create the beam effect
        entity = TempEntity('BeamFollow')
        entity.start_width = 6
        entity.end_width = 6
        entity.color = color
        entity.model = _model
        entity.halo = _model
        entity.entity_index = self.entity.index
        entity.life_time = 2
        self.create_temp_entity(entity)
Exemplo n.º 13
0
def _est_effect(command):
    todo = str(command[1])
    filter = str(command[2])
    delay = float(command[3])
    if todo == "1":
        te = TempEntity('Armor Ricochet')
        te.position = Vector(float(command[4]), float(command[5]),
                             float(command[6]))
        te.direction = Vector(float(command[7]), float(command[8]),
                              float(command[9]))
        te.create()
    if todo == "2":
        te = TempEntity('BeamEntPoint')
        te.alpha = int(command[13])
        te.blue = int(command[12])
        te.green = int(command[11])
        te.end_width = float(command[9])
        te.life_time = float(command[7])
        te.start_width = float(command[8])
        te.end_entity_index = Player.from_userid(int(command[6])).index
        te.halo_index = Model(str(command[4])).index
        te.model_index = Model(str(command[4])).index
        te.start_entity_index = Player.from_userid(int(command[5])).index
        te.red = int(command[11])
        te.create()
    if todo == "3":
        te = TempEntity('BeamPoints')
        model = Model(str(command[4]))
        x1 = float(command[5])
        y1 = float(command[6])
        z1 = float(command[7])
        x2 = float(command[8])
        y2 = float(command[9])
        z2 = float(command[10])
        life = float(command[11])
        width = int(command[12])
        end_width = int(command[13])
        red = int(command[14])
        green = int(command[15])
        blue = int(command[16])
        alpha = int(command[17])
        te.alpha = alpha
        te.green = green
        te.blue = blue
        te.red = red
        te.end_width = end_width
        te.life_time = life
        te.start_width = width
        te.halo_index = model.index
        te.model_index = model.index
        te.end_point = Vector(x1, y1, z1)
        te.start_point = Vector(x2, y2, z2)
        te.create()
    if todo == "4":
        te = TempEntity('BeamFollow')
        te.alpha = int(command[13])
        te.blue = int(command[12])
        te.green = int(command[11])
        te.end_width = int(command[8])
        te.life_time = float(command[6])
        te.start_width = int(command[7])
        te.entity_index = Player.from_userid(int(command[5])).index
        te.fade_length = int(command[9])
        te.halo_index = Model(str(command[4])).index
        te.model_index = Model(str(command[4])).index
        te.red = int(command[10])
        te.create()
    if todo == "5":
        te = TempEntity('BeamRing')
        te.alpha = int(command[14])
        te.blue = int(command[13])
        te.green = int(command[12])
        te.amplitude = float(command[10])
        te.end_width = int(command[8])
        te.life_time = float(command[7])
        te.start_width = int(command[8])
        te.end_entity_index = int(command[6])
        te.halo_index = Model(str(command[4])).index
        te.model_index = Model(str(command[4])).index
        te.speed = int(command[15])
        te.start_entity_index = Player.from_userid(int(command[5])).index
        te.red = int(command[11])
    #est_effect [BeamRing] <player Filter> <delay> <model> <userid> <end index> <life> <width> <spread> <amplitude> <Red> <Green> <Blue> <Alpha> <speed>
    if todo == "6":
        te = TempEntity('Large Funnel')
        te.model_index = Model(str(command[4])).index
        te.reversed = int(command[8])
        te.origin = Vector(float(command[5]), float(command[6]),
                           float(command[7]))
        te.create()
        #est_effect [LargeFunnel] <player Filter> <delay> <model> <x> <y> <z> <reversed>
    if todo == "7":
        te = TempEntity('Smoke')
        te.scale = float(command[8])
        te.frame_rate = int(command[9])
        te.model_index = Model(str(command[4])).index
        te.model = Model(str(command[4]))
        te.origin = Vector(float(command[5]), float(command[6]),
                           float(command[7]))
        te.create()
    if todo == "8":
        te = TempEntity('Metal Sparks')
        te.direction = Vector(float(command[8]), float(command[9]),
                              float(command[10]))
        te.position = Vector(float(command[5]), float(command[6]),
                             float(command[7]))
        te.create()
        #est_effect [MetalSparks] <player Filter> <delay> <model> <x> <y> <z> (towards <x> <y> <z>) +
    if todo == "9":
        te = TempEntity('GaussExplosion')
        te.type = int(command[11])
        te.direction = Vector(float(command[8]), float(command[9]),
                              float(command[10]))
        te.origin = Vector(float(command[5]), float(command[6]),
                           float(command[7]))
        te.create()
        #est_effect [GaussExplosion] <player Filter> <delay> <model> <x> <y> <z> (towards <x> <y> <z>) <type>
    if todo == "10":
        te = TempEntity('BeamRingPoint')
        te.alpha = int(command[17])
        te.blue = int(command[16])
        te.green = int(command[15])
        te.amplitude = float(command[13])
        te.end_width = float(command[11])
        te.life_time = float(command[10])
        te.start_width = float(command[11])
        te.end_radius = float(command[9])
        te.start_radius = float(command[8])
        te.fade_length = int(command[12])
        te.halo_index = Model(str(command[4])).index
        te.model_index = Model(str(command[4])).index
        te.speed = int(command[18])
        te.center = Vector(float(command[5]), float(command[6]),
                           float(command[7]))
        te.red = int(command[14])
        te.create()
    if todo == "11":
        te = TempEntity('GlowSprite')
        te.life_time = float(command[8])
        te.scale = float(command[9])
        te.brightness = int(command[10])
        te.model_index = Model(str(command[4])).index
        te.origin = Vector(float(command[5]), float(command[6]),
                           float(command[7]))
        te.create()