Weapon cubemap
It is also available in some newer games through mods or natively:
Counter-Strike: Global Offensive: Not natively supported
Left 4 Dead 2: Not natively supported
Portal 2: Does have it in a working condition but needs the model from another game
Portal 2: Community Edition: Implemented natively
Implementation
If your game does not have weapon_cubemap, rifle scopes could be used, such as the hunting rifle in Left 4 Dead 2 or the AWP in
CS:GO, as alternatives.
Community mods have been made to implement weapon_cubemap into games that do not support it natively:
Counter-Strike: Global Offensive: Tutorial by TopHattWaffle and Zool Smith
Left 4 Dead 2: Tutorial by MrFunreal
Entity Description


This entity gives the player a set of spheres models/shadertest/envballs.mdl, each with different reflective surfaces. It is used for checking cubemaps.
The commands to receive the weapon_cubemap (typed into the console) is either impulse 81 or give weapon_cubemap.
These commands are considered cheats, meaning that sv_cheats or developer mode must be enabled for them to work.
You can switch to this weapon (after having received it) by typing use weapon_cubemap.

FGD Code
@PointClass base(Weapon,Targetname, Parentname) studio("models/shadertest/envballs.mdl") = weapon_cubemap : "Cubemap"[]