Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SetScope(weapon)
- {
- self endon("death");
- self endon("disconnect");
- scopecam = spawn("script_model",self getcursorpos());
- scopecam.angles = self.angles;
- self thread KillThing(scopecam);
- overlay = undefined;
- while(1)
- {
- if(scopecam.origin != self getcursorpos())
- {
- scopecam setorigin(self gettagorigin("tag_weapon_right")+anglestoforward(self getplayerangles())*2000);
- scopecam.origin = (self gettagorigin("tag_weapon_right")+anglestoforward(self getplayerangles())*2000);
- }
- if(scopecam.angles != self.angles)
- scopecam.angles = self.angles;
- if(self getcurrentweapon() != weapon)
- continue;
- if(self adsbuttonpressed())
- {
- self cameralinkto(scopecam,"tag_origin");
- if(!isdefined(overlay))
- overlay = self CreateOverlay("scope_overlay_m40a3",1,undefined);
- self thread KillHudElem(overlay);
- }
- else
- {
- self cameraunlink();
- if(isdefined(overlay))
- overlay destroy();
- }
- wait 0.08;
- }
- }
- KillHudElem(elem)
- {
- self waittill_any("disconnect","death","spawned_player");
- if(isdefined(elem))
- elem destroy();
- }
- KillThing(thing)
- {
- self waittill_any("disconnect","death","spawned_player");
- if(isdefined(thing))
- thing delete();
- }
- CreateOverlay( shader_name, start_alpha, color )
- {
- overlay = newHudElem();
- overlay.x = 0;
- overlay.y = 0;
- overlay setshader( shader_name, 640, 480 );
- overlay.alignX = "left";
- overlay.alignY = "top";
- overlay.sort = 1;
- overlay.color = color;
- overlay.horzAlign = "fullscreen";
- overlay.vertAlign = "fullscreen";
- overlay.alpha = start_alpha;
- overlay.foreground = true;
- return overlay;
- }
- vector_scal(vec,scale)
- {
- vec = (vec[0]*scale,vec[1]*scale,vec[2]*scale);
- return vec;
- }
- getcursorpos()
- {
- forward = self getTagOrigin("tag_weapon_right");
- end = self thread vector_Scal(self getTagOrigin("tag_weapon_right")+anglestoforward(self getPlayerAngles()),5000);
- location = BulletTrace(forward,end,false,self)["position"];
- return location;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement