gamemode-> cl_init.lua ======================================================================== function GM:CalcView( ply, origin, angles, fov ) if ply:Team() == 2 then local a = ply:GetAngles() a.pitch = 0 ply:SetAngles(a) return self.BaseClass:CalcView(ply, origin, angles, fov) end end gamemode-> init.lua ======================================================================== function GM:PlayerSpawn(ply) local camera = ents.Create("ws_camera") --Create our fancy camera entity, Courtsey of Andy Vincent. camera:Spawn() camera:GetTable():SetPlayer( ply ) ply:GetTable().Camera = camera ply:SetViewEntity(camera) end entities\ws_camera->cl_init.lua ======================================================================== ENT.Spawnable = false ENT.AdminSpawnable = false function ENT:Initialize() end function ENT:Draw() end function ENT:Think() self.TrackEnt = self.Entity:GetNetworkedEntity( "Player" ) self:TrackEntity( self.TrackEnt ) self.Entity:NextThink( CurTime() ) end include('shared.lua') entities\ws_camera-> init.lua ======================================================================== AddCSLuaFile( "cl_init.lua" ) AddCSLuaFile( "shared.lua" ) include('shared.lua') util.PrecacheModel("models/Items/AR2_Grenade.mdl") function ENT:Initialize() self.Entity:DrawShadow(false) self.Entity:SetModel( "models/Items/AR2_Grenade.mdl" ) self.Entity:SetMoveType( MOVETYPE_NOCLIP ) self.Entity:SetSolid(SOLID_NONE) self.Entity:SetCollisionGroup(COLLISION_GROUP_NONE) end function ENT:SetPlayer( Ply ) self.Entity:SetNetworkedEntity( "Player", Ply ) self.Entity:NextThink( CurTime() ) self.TrackEnt = Ply end function ENT:Think() self.TrackEnt = self.Entity:GetNetworkedEntity( "Player" ) self:TrackEntity( self.TrackEnt ) self.Entity:NextThink( CurTime() ) end function ENT:OnTakeDamage( dmginfo ) end function ENT:OnRemove() end entities\ws_camera-> shared.lua ======================================================================== ENT.Type = "anim" ENT.PrintName = "" ENT.Author = "" ENT.Contact = "" ENT.Purpose = "" ENT.Instructions = "" function ENT:TrackEntity( ent ) if ( !ent || !ent:IsValid() ) then return end self.Entity:SetPos( ent:GetPos() - ( ent:GetForward() * 128 ) + Vector( 0, 0, 64 )) local Ang = ent:GetAngles() self.Entity:SetAngles( Ang ) end