Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- doRaygun()
- {
- self endon("disconnect");
- self endon("death");
- self endon("game_ended");
- self.textRayGunVal = spawnstruct();
- self.textRayGunVal = self createFontString( "default", 2.0 );
- self.textRayGunVal setPoint( "TOPRIGHT", "TOPRIGHT", -20, 40);
- self thread zmod\mp\_OtherFunctions::DestroyOnDeath(self.textRayGunVal);
- texta = spawnstruct();
- texta.text = "^1to far";
- for(self.ammoclipray = 120; self.ammoclipray > -1; self.ammoclipray--)
- {
- self waittill("weapon_fired");
- iWeap = self GetCurrentWeapon();
- if(iWeap == "pp2000_silencer_mp")
- {
- startB = GetCursorPos();
- RadiusDamage( startB, 101, 520, 507, self );
- startA = self getTagOrigin("tag_weapon_left");
- xD = distance(startA, startB);
- //We will have to do a limit of range, or else error 'no free dobjs'
- if(xD < 855)
- {
- pointe = roundUp(xD/13.5);
- self.textRayGunVal setValue(self.ammoclipray);
- self.textRayGunVal.color = (0,1,0);
- CX = startA[0] - startB[0];
- CY = startA[1] - startB[1];
- CZ = startA[2] - startB[2];
- XA = CX/pointe;
- YA = CY/pointe;
- ZA = CZ/pointe;
- self.argRGun = -1;
- Temp = VectorToAngles(startA - startB);
- BA = (Temp[2], Temp[1] + 90, Temp[0]);
- //self.playingfxatm = playfx(level.spawnGlow["enemy"], startB);
- for(b = pointe; b > -1; b--)
- {
- self.pointRGW[self.argRGun] = spawn( "script_model", (startB + ((XA, YA, ZA) * b)) );
- self.pointRGW[self.argRGun] setModel("projectile_m67fraggrenade_bombsquad");
- self.pointRGW[self.argRGun].angles = BA;
- self thread removeRayGunShotEffect(self.pointRGW[self.argRGun]);
- }
- } else {
- self iPrintLnBold(texta.text);
- }
- }
- if(self.ammoclipray == 0)
- {
- self.textRayGunVal.color = (1,0,0);
- }
- }
- }
- removeRayGunShotEffect(DObj)
- {
- wait 0.3;
- DObj delete();
- }
- GetCursorPos()
- {
- forward = self getTagOrigin("tag_eye");
- end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
- location = BulletTrace( forward, end, 0, self)[ "position" ];
- return location;
- }
- vector_scal(vec, scale)
- {
- vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
- return vec;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement