Advertisement
qsenko1

Glock 19 Customize module

Jul 26th, 2022
1,159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 36.20 KB | None | 0 0
  1. --// Services
  2. local ts = game:GetService('TweenService')
  3. local ss = game:GetService('SoundService')
  4.  
  5. --// Module
  6. local module = {
  7.    
  8.     ---------------// Global Settings \\---------------
  9.     --// Ammo Config
  10.     Ammo = 30;
  11.     StoredAmmo = 60;
  12.     MagCount = math.huge;
  13.     RoundType = '5.56x45mm';
  14.    
  15.     --// Aim Config
  16.     AimZoom = 65;
  17.     AltAimZoom = 60;
  18.     AimZoomSpeed = 0.5;
  19.     AimSpeedMult = 10;
  20.    
  21.     --// Firing Config
  22.     BurstNum = 3; -- Number of bullets per burst
  23.     Firerate = 60 / 720; -- 60 = 1 Minute, 700 = Rounds per that 60 seconds. DO NOT TOUCH THE 60!
  24.     FireMode = 2; -- 1 = Semi, 2 = Auto, 3 = Burst, 4 = Bolt Action, 5 = Explosive (Explosive is currently disabled)
  25.     ShotCount = 5; -- Number of pellets per shot round
  26.    
  27.     CanSelectFire = true;
  28.     SemiEnabled = true;
  29.     AutoEnabled = true;
  30.     BurstEnabled = true;
  31.     BoltAction = false;
  32.     ExplosiveEnabled = false;
  33.     ShotEnabled = false;
  34.    
  35.     --// Damage Stats
  36.     Head = 100;
  37.     Base = 40;
  38.     Limbs = 35;
  39.    
  40.     --// Bullet Physics
  41.     ShotSpread = 2; -- Amount of Spread when Shot is Enabled
  42.     AimedShotSpread = 1; -- Amount of spread when shot is enabled and aiming
  43.     BulletSpread = 1; -- Amount of Spread
  44.     AimedBulletSpread = 0.25; -- Amount of Aimed Spread
  45.    
  46.     --// Recoil Configurations
  47.     gunRecoilMin = 20; -- How much the gun recoils backwards when not aiming
  48.     gunRecoilMax = 35; -- How much the gun recoils backwards when not aiming
  49.  
  50.     AimGunRecoilMin = 8; -- How much the gun recoils backwards when aiming
  51.     AimGunRecoilMax = 13; -- How much the gun recoils backwards when aiming
  52.  
  53.     KickbackMin = 3; -- Upward gun rotation when not aiming
  54.     KickbackMax = 4; -- Upward gun rotation when not aiming
  55.  
  56.     AimKickbackMin = 1.5; -- Upward gun rotation when aiming
  57.     AimKickbackMax = 2; -- Upward gun rotation when aiming
  58.  
  59.     SideKickMin = -1;
  60.     SideKickMax = 1;
  61.  
  62.     AimSideKickMin = -0.5;
  63.     AimSideKickMax = 0.5;
  64.  
  65.     camRecoilX = 20;
  66.     camRecoilY = 20;
  67.     camRecoilZ = 20;
  68.     aimCamRecoilX = 8;
  69.     aimCamRecoilY = 8;
  70.     aimCamRecoilZ = 12;
  71.    
  72.     --// Other Configs
  73.     CanBolt = true;
  74.     CanSlideLock = false;
  75.    
  76.     --// Laser Config
  77.     LaserColor = BrickColor.new('Persimmon');
  78.     LaserEmission = 1;
  79.     LaserInfluence = 0;
  80.     LaserTransparency = NumberSequence.new(0.3);
  81.    
  82.     --// Viewport Configs
  83.     HUDPortPos = CFrame.Angles(0,math.rad(-90),0) * CFrame.new(-0.5,0.2,1.5);
  84.     HUDKillPortPos = CFrame.Angles(0,math.rad(-90),0) * CFrame.new(-0.5,0.2,1.5);
  85.    
  86.     ---------------// Third Person Settings \\---------------
  87.    
  88.     ----------// R6 Settings \\----------
  89.     --// Positioning
  90.     R6RightArmPosC0 = CFrame.new(-0.200000763, -0.399999857, 1.69999695, 1, 4.23704588e-33, 2.11852294e-33, 4.23704588e-33, 1, 0, 2.11852294e-33, 0, 1);
  91.     R6RightArmPosC1 = CFrame.new(-0.5, 0.899999976, 0, 0.99999994, 0, 0, 0, -4.37113883e-08, 1, 0, -1, -4.37113883e-08);
  92.     R6LeftArmPosC0 = CFrame.new(-0.633024216, -0.559508562, 0.402908325, 0.8660537, -0.499951005, -1.33365393e-05, -0.129406273, -0.224141717, -0.965926707, 0.482913077, 0.836546123, -0.258815527);
  93.     R6LeftArmPosC1 = CFrame.new(0.5, 0.899999976, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  94.     R6GunPosC0 = CFrame.new(0.900001526, -0.800000429, -1.00000763, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  95.     R6GunPosC1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  96.     R6HolsterPos = CFrame.new(0.141421318, -0.0242638588, -0.599998474, -4.37113883e-08, -0.70710665, 0.707106888, 0, 0.707106829, 0.70710659, -1, 3.09086126e-08, -3.09086268e-08) ;
  97.     R6SprintPos = CFrame.new(-0.144908816, -0.228167713, 0.312184274, 0.388552725, -0.336824059, 0.857657492, 0.196174651, 0.939692616, 0.280166537, -0.900301218, 0.0593911707, 0.431196511);
  98.    
  99.     --/ Customization
  100.     R6HolstPart = 'Torso';
  101.    
  102.     R6SprintWalkIntensity = 0.18;
  103.     R6SprintWalkAnimSpeed = 15;
  104.    
  105.     --// Animations
  106.     R6IdleAnim = function(char,objs)
  107.         ts:Create(objs[1],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R6GunPosC0}):Play()
  108.         ts:Create(objs[1],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R6GunPosC1}):Play()
  109.         ts:Create(objs[2],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R6RightArmPosC0}):Play()
  110.         ts:Create(objs[2],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R6RightArmPosC1}):Play()
  111.         ts:Create(objs[3],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R6LeftArmPosC0}):Play()
  112.         ts:Create(objs[3],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R6LeftArmPosC1}):Play()
  113.         ts:Create(objs[4],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  114.         wait(0.25)
  115.     end;
  116.    
  117.     R6SprintAnim = function(char,objs)
  118.        
  119.     end;
  120.    
  121.     R6AimAnim = function(char,objs)
  122.        
  123.     end;
  124.    
  125.     R6unAimAnim = function(char,objs)
  126.  
  127.     end;
  128.    
  129.     R6FireSelectAnim = function(char,objs)
  130.         ts:Create(objs[1],TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 0.99619472, -0.087155737, 0, 0.087155737, 0.99619472, 0, 0, 0, 1)}):Play()
  131.         ts:Create(objs[2],TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(-0.5, 0.899999976, 0.100000001, 1, 0, 0, 0, 0, 1, 0, -1, 0)}):Play()
  132.         objs[5]:WaitForChild('Grip'):WaitForChild('Click'):Play()
  133.         wait(0.1)
  134.     end;
  135.    
  136.     R6ReloadAnim = function(char,objs)
  137.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, -0.411136597, 0.100000001, 0.965925813, -0.258819044, 0, 0.243210346, 0.907673359, 0.342020124, -0.0885213241, -0.330366075, 0.939692616)}):Play()
  138.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.778897762, 0.677004576, -0.257680714, 0.939692616, 0.342020124, 0, -0.342020124, 0.939692616, 0, 0, 0, 1)}):Play()
  139.         wait(0.5)
  140.         local magC = objs[5]:WaitForChild('Mag'):Clone()
  141.         magC.Parent = objs[5]
  142.         magC.Name = 'MagC'
  143.  
  144.         for _,v in pairs(objs[5]:WaitForChild('Mag'):GetDescendants()) do
  145.             if v and v:IsA('BasePart') then
  146.                 v:SetAttribute('LastTrans', v.Transparency)
  147.                 v.Transparency = 1
  148.             end;
  149.         end;
  150.  
  151.         objs[5]:WaitForChild('Mag').Transparency = 1
  152.         local magCW = Instance.new('WeldConstraint')
  153.         magCW.Parent = magC
  154.         magCW.Part0 = magC
  155.         magCW.Part1 = char:WaitForChild('Left Arm')
  156.         magC.Mag:Destroy()
  157.        
  158.         ss:PlayLocalSound(objs[5]:WaitForChild('Grip'):WaitForChild('MagOut'))
  159.         ts:Create(objs[1],TweenInfo.new(0.15,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, -0.210271925, 0.100000001, 0.965925813, -0.258819044, 0, 0.254886985, 0.951251209, 0.173648372, -0.0449435003, -0.167731434, 0.98480767)}):Play()
  160.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.20000005, -2.01165676e-07, -1.5999999, 1, 0, 0, 0, 0.0871559232, -0.996194661, 0, 0.996194661, 0.0871559232)}):Play()
  161.         wait(0.15)
  162.         ts:Create(objs[1],TweenInfo.new(0.8,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out),{C1 = CFrame.new(0, -0.475943327, 0.100000001, 0.965925813, -0.258819044, 0, 0.243210331, 0.907673299, 0.342020333, -0.0885213688, -0.330366254, 0.939692557)}):Play()
  163.         wait(0.35)
  164.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, -0.578590989, 0.100000001, 0.906990528, -0.420070022, -0.0301537234, 0.404579937, 0.849180579, 0.339422107, -0.116975091, -0.320052207, 0.940150678)}):Play()
  165.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.551335156, 0.657050908, -0.881087601, 0.953947425, 0.270688057, 0.129274964, -0.285736799, 0.951150835, 0.116902903, -0.0913157761, -0.148457721, 0.984693825)}):Play()
  166.         wait(0.1)
  167.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.67829597, 0.738943696, -0.514886916, 0.953947425, 0.270688057, 0.129274964, -0.285736799, 0.951150835, 0.116902903, -0.0913157761, -0.148457721, 0.984693825)}):Play()
  168.         wait(0.25)
  169.         ss:PlayLocalSound(objs[5]:WaitForChild('Grip'):WaitForChild('MagIn'))
  170.         ts:Create(objs[1],TweenInfo.new(0.4,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(-0.113398686, -0.577261984, 0.308594972, 0.943201959, -0.327689976, -0.0546732172, 0.30945456, 0.806719899, 0.503428996, -0.120862633, -0.491754115, 0.862305045)}):Play()
  171.         wait(0.3)
  172.         magC:Destroy()
  173.         objs[5]:WaitForChild('Mag').Transparency = 0
  174.  
  175.         for _,v in pairs(objs[5]:WaitForChild('Mag'):GetDescendants()) do
  176.             if v and v:IsA('BasePart') then
  177.                 v.Transparency = v:GetAttribute('LastTrans')
  178.             end;
  179.         end;
  180.     end;
  181.  
  182.     R6BoltBackAnim = function(char,objs)
  183.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  184.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.24516189, 0.271353781, 0.163031191, 0.087155804, 0, 0.99619472, 0, 1, 0, -0.99619472, 0, 0.087155804)}):Play()
  185.         wait(0.5)
  186.         objs[5]:WaitForChild('Bolt'):WaitForChild('BoltBack'):Play()
  187.         ts:Create(objs[1],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.300000012, 1, 0, 0, 0, 0.939692557, 0.342020124, 0, -0.342020124, 0.939692557)}):Play()
  188.         ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.400000006, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  189.         ts:Create(objs[3],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.24516189, -0.128646225, 0.446238458, 0.087155804, 0, 0.99619472, 0, 1, 0, -0.99619472, 0, 0.087155804)}):Play()
  190.         wait(0.25) 
  191.     end;
  192.  
  193.     R6BoltForwardAnim = function(char,objs)
  194.         objs[5]:WaitForChild('Bolt'):WaitForChild('BoltForward'):Play()
  195.         ts:Create(objs[1],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.600000024, 0.98480773, 0.173648164, 5.175119e-09, -0.173648179, 0.984807611, 2.93495575e-08, 0, -2.98023224e-08, 0.999999881)}):Play()
  196.         ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  197.         ts:Create(objs[3],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.24516189, 0.271353781, 0.246238455, 0.087155804, 0, 0.99619472, 0, 1, 0, -0.99619472, 0, 0.087155804)}):Play()
  198.         wait(0.3)  
  199.     end;
  200.  
  201.     R6ActionBackAnim = function(char,objs)
  202.         if objs[5]:FindFirstChild('Action') then
  203.             ts:Create(objs[5]:WaitForChild('Action'):WaitForChild('Action'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.300000012, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  204.         else
  205.             ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.300000012, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  206.         end;
  207.     end;
  208.  
  209.     R6ActionForwardAnim = function(char,objs)
  210.         if objs[5]:FindFirstChild('Action') then
  211.             ts:Create(objs[5]:WaitForChild('Action'):WaitForChild('Action'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  212.         else
  213.             ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  214.         end;
  215.     end;
  216.    
  217.     ----------// R15 Settings \\----------
  218.     --// Positioning
  219.     R15RightShoulderPosC0 = CFrame.new(-0.199996948, 0, 1.40000153, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  220.     R15RightShoulderPosC1 = CFrame.new(-0.5, 0.5, 0, 1, 0, 0, 0, 0.766044438, 0.642787576, 0, -0.642787576, 0.766044438);
  221.     R15RightElbowPosC0 = CFrame.new(-5.96046448e-07, -0.334165096, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  222.     R15RightElbowPosC1 = CFrame.new(1.1920929e-07, 0.258579493, 0, 1, 0, 0, 0, 0.4226183, 0.906307757, 0, -0.906307757, 0.4226183);
  223.     R15RightWristPosC0 = CFrame.new(1.1920929e-07, -0.5009287, -6.86244753e-18, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  224.     R15RightWristPosC1 = CFrame.new(3.57627869e-07, 0.125045404, 5.96046448e-08, 1, 0, 0, 0, 0.965925813, -0.258819044, 0, 0.258819044, 0.965925813);
  225.     R15LeftShoulderPosC0 = CFrame.new(-0.76171875, -0.691240072, 0.405693054, 0.821578026, -0.465466142, -0.329166889, -0.416224599, -0.095187664, -0.904265642, 0.389572442, 0.879932165, -0.271942616);
  226.     R15LeftShoulderPosC1 = CFrame.new(0.5, 0.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  227.     R15LeftElbowPosC0 = CFrame.new(0.000479221344, -0.334056377, 8.94069672e-08, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  228.     R15LeftElbowPosC1 = CFrame.new(0.000478625298, 0.258688211, 0, 1, 0, 0, 0, 0.906307697, 0.422618449, 0, -0.422618449, 0.906307697);
  229.     R15LeftWristPosC0 = CFrame.new(0.000478625298, -0.5009287, 7.64462551e-20, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  230.     R15LeftWristPosC1 = CFrame.new();
  231.     R15GunPosC0 = CFrame.new(0.900001526, -0.800000429, -1.00000763, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  232.     R15GunPosC1 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  233.     R15HolsterPos = CFrame.new(0.141421318, -0.141421318, -0.599998474, -4.37113883e-08, -0.707106769, 0.707106769, 0, 0.707106709, 0.707106709, -1, 3.09086197e-08, -3.09086197e-08);
  234.     R15SprintPos = CFrame.new(-0.200000107, -0.400000095, 0.600000024, 0.433012605, -0.5, 0.75, 0.249999955, 0.866025388, 0.433012724, -0.866025448, 0, 0.499999911);
  235.    
  236.     --/ Customization
  237.     R15HolstPart = 'UpperTorso';
  238.    
  239.     --// Configurations
  240.     R15SprintWalkIntensity = 0.18;
  241.     R15SprintWalkAnimSpeed = 15;
  242.    
  243.     --// Animations
  244.     R15IdleAnim = function(char,objs)
  245.         print(objs[3].Parent:WaitForChild('LeftElbow').Name)
  246.         ts:Create(objs[1],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R15GunPosC0}):Play()
  247.         ts:Create(objs[1],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R15GunPosC1}):Play()
  248.         ts:Create(objs[2],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R15RightShoulderPosC0}):Play()
  249.         ts:Create(objs[2],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R15RightShoulderPosC1}):Play()
  250.         ts:Create(objs[2].Parent:WaitForChild('RightElbow'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R15RightElbowPosC0}):Play()
  251.         ts:Create(objs[2].Parent:WaitForChild('RightElbow'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R15RightElbowPosC1}):Play()
  252.         ts:Create(objs[2].Parent:WaitForChild('RightWrist'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R15RightWristPosC0}):Play()
  253.         ts:Create(objs[2].Parent:WaitForChild('RightWrist'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R15RightWristPosC1}):Play()
  254.         ts:Create(objs[3],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R15LeftShoulderPosC0}):Play()
  255.         ts:Create(objs[3],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R15LeftShoulderPosC1}):Play()
  256.         ts:Create(objs[3].Parent:WaitForChild('LeftElbow'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R15LeftElbowPosC0}):Play()
  257.         ts:Create(objs[3].Parent:WaitForChild('LeftElbow'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R15LeftElbowPosC1}):Play()
  258.         ts:Create(objs[3].Parent:WaitForChild('LeftWrist'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).R15LeftWristPosC0}):Play()
  259.         ts:Create(objs[3].Parent:WaitForChild('LeftWrist'),TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).R15LeftWristPosC1}):Play()
  260.         ts:Create(objs[4],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  261.         wait(0.25) 
  262.     end;
  263.    
  264.     R15SprintAnim = function(char,objs)
  265.        
  266.     end;
  267.    
  268.     R15AimAnim = function(char,objs)
  269.        
  270.     end;
  271.    
  272.     R15unAimAnim = function(char,objs)
  273.  
  274.     end;
  275.    
  276.     R15FireSelectAnim = function(char,objs)
  277.         ts:Create(objs[1],TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 0.99619472, -0.087155737, 0, 0.087155737, 0.99619472, 0, 0, 0, 1)}):Play()
  278.         ts:Create(objs[4].Parent:WaitForChild('RightElbow'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.1920929e-07, 0.258579493, 0, 1, 0, 0, 0, 0.258819312, 0.965925753, 0, -0.965925753, 0.258819312)}):Play()
  279.         objs[5]:WaitForChild('Grip'):WaitForChild('Click'):Play()
  280.         wait(0.1)
  281.     end;
  282.    
  283.     R15ReloadAnim = function(char,objs)
  284.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0, 0.965925813, -0.258819044, 0, 0.258819044, 0.965925813, 0, 0, 0, 1)}):Play()
  285.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.5, 0.400000006, 0, 0.98480773, 0.157378703, -0.0733868629, -0.173648179, 0.892538965, -0.416197568, 0, 0.422618091, 0.906307817)}):Play()
  286.         ts:Create(objs[3].Parent:WaitForChild('LeftElbow'),TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.000478625298, 0.258688211, 0, 1, 0, 0, 0, 0.64276731, 0.766061425, 0, -0.766061425, 0.64276731)}):Play()
  287.         wait(0.5)
  288.         local magC = objs[5]:WaitForChild('Mag'):Clone()
  289.         magC.Parent = objs[5]
  290.         magC.Name = 'MagC'
  291.  
  292.         for _,v in pairs(objs[5]:WaitForChild('Mag'):GetDescendants()) do
  293.             if v and v:IsA('BasePart') then
  294.                 v:SetAttribute('LastTrans', v.Transparency)
  295.                 v.Transparency = 1
  296.             end;
  297.         end;
  298.  
  299.         objs[5]:WaitForChild('Mag').Transparency = 1
  300.         local magCW = Instance.new('WeldConstraint')
  301.         magCW.Parent = magC
  302.         magCW.Part0 = magC
  303.         magCW.Part1 = char:WaitForChild('LeftHand')
  304.         magC.Mag:Destroy()
  305.        
  306.         ss:PlayLocalSound(objs[5]:WaitForChild('Grip'):WaitForChild('MagOut'))
  307.         ts:Create(objs[1],TweenInfo.new(0.15,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0.300000012, 0, 0.965925813, -0.258819044, 0, 0.254886985, 0.951251209, -0.173648179, 0.0449434556, 0.167731255, 0.98480773)}):Play()
  308.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.10000002, 0.899999976, -0.400000006, 0.98480773, 0.157378703, -0.0733868629, 0.0301536825, -0.57118535, -0.820267081, -0.171010077, 0.805592477, -0.567253292)}):Play()
  309.         ts:Create(objs[3].Parent:WaitForChild('LeftElbow'),TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.000478625298, 0.258688211, 0, 1, 0, 0, 0, 0.98480314, 0.173674047, 0, -0.173674047, 0.98480314)}):Play()
  310.         wait(0.15)
  311.         ts:Create(objs[1],TweenInfo.new(0.8,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out),{C1 = CFrame.new(0, 7.4505806e-09, 0, 0.965925813, -0.258819044, 0, 0.257834136, 0.962250173, 0.087155506, -0.0225575007, -0.0841857642, 0.996194661)}):Play()
  312.         wait(0.35)
  313.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.200000003, 0.200000018, 0, 0.965925813, -0.258819044, 0, 0.258819044, 0.965925813, -2.23517418e-07, 6.14672899e-08, 2.08616257e-07, 0.99999994)}):Play()
  314.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.333106846, 0.860069692, 7.4505806e-09, 0.989095569, -0.00648961961, 0.147131592, 0.0897039324, 0.818875194, -0.566918433, -0.116803318, 0.573934853, 0.8105281)}):Play()
  315.         ts:Create(objs[3].Parent:WaitForChild('LeftElbow'),TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.000478625298, 0.258688211, 0, 1, 0, 0, 0, 0.25879401, 0.965932488, 0, -0.965932488, 0.25879401)}):Play()
  316.         wait(0.1)
  317.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.518853426, 0.388986677, 0.305201918, 0.993104994, 0.114937618, 0.0230629183, -0.0626223385, 0.686450839, -0.724474728, -0.0991009474, 0.718035102, 0.688915431)}):Play()
  318.         wait(0.25)
  319.         ss:PlayLocalSound(objs[5]:WaitForChild('Grip'):WaitForChild('MagIn'))
  320.         ts:Create(objs[1],TweenInfo.new(0.4,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.200000003, 0.131062716, 0, 0.965925813, -0.258819044, 0, 0.257834166, 0.962250173, 0.087155506, -0.0225575026, -0.0841857642, 0.996194661)}):Play()
  321.         wait(0.3)
  322.         magC:Destroy()
  323.         objs[5]:WaitForChild('Mag').Transparency = 0
  324.  
  325.         for _,v in pairs(objs[5]:WaitForChild('Mag'):GetDescendants()) do
  326.             if v and v:IsA('BasePart') then
  327.                 v.Transparency = v:GetAttribute('LastTrans')
  328.             end;
  329.         end;
  330.     end;
  331.  
  332.     R15BoltBackAnim = function(char,objs)
  333.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.625999451, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  334.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.966279447, -0.400367886, -0.316106498, 0.342020124, 0, 0.939692616, 0, 1, 0, -0.939692616, 0, 0.342020124)}):Play()
  335.         wait(0.5)
  336.         objs[5]:WaitForChild('Bolt'):WaitForChild('BoltBack'):Play()
  337.         ts:Create(objs[1],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.425999463, 1, 0, 0, 0, 0.965925813, 0.258819044, 0, -0.258819044, 0.965925813)}):Play()
  338.         ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.300000012, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  339.         ts:Create(objs[3],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.966279447, -0.600367963, -0.216106504, 0.342020124, 0, 0.939692616, 0, 1, 0, -0.939692616, 0, 0.342020124)}):Play()
  340.         ts:Create(objs[3].Parent:WaitForChild('LeftElbow'),TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.000478625298, 0.258688211, 0, 1, 0, 0, 0, 0.866012275, 0.500022769, 0, -0.500022769, 0.866012275)}):Play()
  341.         wait(0.25) 
  342.     end;
  343.  
  344.     R15BoltForwardAnim = function(char,objs)
  345.         objs[5]:WaitForChild('Bolt'):WaitForChild('BoltForward'):Play()
  346.         ts:Create(objs[1],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.800000012, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  347.         ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  348.         ts:Create(objs[3],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.966279447, -0.600367963, -0.216106504, 0.342020124, 0, 0.939692616, 0, 1, 0, -0.939692616, 0, 0.342020124)}):Play()
  349.         ts:Create(objs[3].Parent:WaitForChild('LeftElbow'),TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.000478625298, 0.358688205, 0, 1, 0, 0, 0, 0.965919018, 0.258844435, 0, -0.258844435, 0.965919018)}):Play()
  350.         wait(0.3)  
  351.     end;
  352.  
  353.     R15ActionBackAnim = function(char,objs)
  354.         if objs[5]:FindFirstChild('Action') then
  355.             ts:Create(objs[5]:WaitForChild('Action'):WaitForChild('Action'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.300000012, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  356.         else
  357.             ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.300000012, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  358.         end;
  359.     end;
  360.  
  361.     R15ActionForwardAnim = function(char,objs)
  362.         if objs[5]:FindFirstChild('Action') then
  363.             ts:Create(objs[5]:WaitForChild('Action'):WaitForChild('Action'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  364.         else
  365.             ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  366.         end;
  367.     end;
  368.    
  369.     ----------// Third Person Global Settings \\----------
  370.     TPSRecoilAnim = function(char,objs)
  371.         local result = math.random(1,5)
  372.         local speed = 0.08
  373.  
  374.         if require(script).Firerate/2 < 0.08 then
  375.             speed = require(script).Firerate/2
  376.         end;
  377.  
  378.         if result == 1 then
  379.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, -0.200000003, 1, 0, 0, 0, 0.999662876, 0.0259648059, 0, -0.0259648059, 0.999662876)}):Play()
  380.         elseif result == 2 then
  381.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, -0.300000012, 0.999426246, -0.0338702984, 0, 0.0338464342, 0.998722136, 0.0375300162, -0.00127115287, -0.037508484, 0.999295473)}):Play()
  382.         elseif result == 3 then
  383.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, -0.300000012, 0.99926424, 0.0383533314, 0, -0.0383458771, 0.999070048, 0.0197114106, 0.000755998248, -0.0196969081, 0.999805689)}):Play()
  384.         elseif result == 4 then
  385.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, -0.300000012, 0.999992311, 7.61571137e-05, -0.00391724566, 0, 0.999811053, 0.0194378216, 0.00391798606, -0.0194376726, 0.999803364)}):Play()
  386.         elseif result == 5 then
  387.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, -0.200000003, 0.999907613, -0.000129684398, 0.0135900769, 0, 0.999954462, 0.00954214577, -0.0135906963, -0.0095412638, 0.999862075)}):Play()
  388.         end;
  389.  
  390.         delay(speed,function()
  391.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).GunPosC1}):Play()
  392.         end)
  393.     end;
  394.    
  395.     ---------------// First Person Settings \\---------------
  396.     --// Positioning
  397.     RightArmPosC0 = CFrame.new(-0.200006485, -0.400001287, 2.79998016, 1.00000226, 3.7252903e-09, 4.07453626e-10, -4.07453626e-10, 5.9325248e-07, -1.00000441, -1.86264515e-09, 0.999997854, -6.80796802e-07);
  398.     RightArmPosC1 = CFrame.new(-0.5, 1.39999998, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  399.     LeftArmPosC0 = CFrame.new(-1.49166489, -0.89978838, 0.823638916, 0.819153905, -0.573577762, 0, -0.196175247, -0.280167252, -0.939696968, 0.538984299, 0.769749403, -0.342020035);
  400.     LeftArmPosC1 = CFrame.new(0.5, 1.39999998, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  401.     GunPosC0 = CFrame.new(0.599998474, -1.00000119, -1.19998169, 1.0000006, 0, 0, -5.82076609e-11, 1.00000095, 1.06170774e-07, 0, 1.06170774e-07, 0.999999642);
  402.     GunPosC1 = CFrame.new(0, 0, 0.100000001, 1, 0, 0, 0, 1, 0, 0, 0, 1);
  403.     SprintPos = CFrame.new(0, 0.0433661044, 0, 0.469846278, -0.411645651, 0.780892015, 0.171010047, 0.910301507, 0.37697044, -0.866025448, -0.0435777716, 0.49809733);
  404.    
  405.     --// Configurations
  406.     SprintWalkIntensity = 0.18;
  407.     SprintWalkAnimSpeed = 15;
  408.    
  409.     --// Animations
  410.     IdleAnim = function(char,objs)
  411.         ts:Create(objs[1],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).GunPosC0}):Play()
  412.         ts:Create(objs[1],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).GunPosC1}):Play()
  413.         ts:Create(objs[2],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).RightArmPosC0}):Play()
  414.         ts:Create(objs[2],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).RightArmPosC1}):Play()
  415.         ts:Create(objs[3],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).LeftArmPosC0}):Play()
  416.         ts:Create(objs[3],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).LeftArmPosC1}):Play()
  417.         ts:Create(objs[4],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  418.         wait(0.25) 
  419.     end;
  420.    
  421.     SprintAnim = function(char,objs)
  422.        
  423.     end;
  424.    
  425.     AimAnim = function(char,objs)
  426.         ts:Create(objs[1],TweenInfo.new(0.2,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = CFrame.new(0.600002289, -1.00001955, -1.72389984, 1, 3.70097695e-08, 1.7883815e-07, -3.70093787e-08, 1, -2.17832917e-06, -1.78838221e-07, 2.17832917e-06, 1)}):Play()
  427.     end;
  428.    
  429.     unAimAnim = function(char,objs)
  430.         ts:Create(objs[1],TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C0 = require(script).GunPosC0}):Play()
  431.     end;
  432.    
  433.     FireSelectAnim = function(char,objs)
  434.         ts:Create(objs[1],TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 0.99619472, -0.087155737, 0, 0.087155737, 0.99619472, 0, 0, 0, 1)}):Play()
  435.         ts:Create(objs[2],TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(-0.5, 1.39999998, 0.200000003, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  436.         objs[5]:WaitForChild('Grip'):WaitForChild('Click'):Play()
  437.         wait(0.1)
  438.     end;
  439.    
  440.     RecoilAnim = function(char,objs)
  441.         local result = math.random(1,5)
  442.         local speed = 0.08
  443.        
  444.         if require(script).Firerate/2 < 0.08 then
  445.             speed = require(script).Firerate/2
  446.         end;
  447.        
  448.         if result == 1 then
  449.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 1, 0, 0, 0, 0.999662876, 0.0259648059, 0, -0.0259648059, 0.999662876)}):Play()
  450.         elseif result == 2 then
  451.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 0.999426246, -0.0338702984, 0, 0.0338464342, 0.998722136, 0.0375300162, -0.00127115287, -0.037508484, 0.999295473)}):Play()
  452.         elseif result == 3 then
  453.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 0.99926424, 0.0383533314, 0, -0.0383458771, 0.999070048, 0.0197114106, 0.000755998248, -0.0196969081, 0.999805689)}):Play()
  454.         elseif result == 4 then
  455.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 0.999992311, 7.61571137e-05, -0.00391724566, 0, 0.999811053, 0.0194378216, 0.00391798606, -0.0194376726, 0.999803364)}):Play()
  456.         elseif result == 5 then
  457.             ts:Create(objs[1],TweenInfo.new(0.08,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.100000001, 0.999907613, -0.000129684398, 0.0135900769, 0, 0.999954462, 0.00954214577, -0.0135906963, -0.0095412638, 0.999862075)}):Play()
  458.         end;
  459.            
  460.         delay(speed,function()
  461.             ts:Create(objs[1],TweenInfo.new(0.2,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = require(script).GunPosC1}):Play()
  462.         end)
  463.     end;
  464.    
  465.     ReloadAnim = function(char,objs)
  466.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, -0.411136597, 0.100000001, 0.965925813, -0.258819044, 0, 0.243210346, 0.907673359, 0.342020124, -0.0885213241, -0.330366075, 0.939692616)}):Play()
  467.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.778897762, 0.677004576, -0.257680714, 0.939692616, 0.342020124, 0, -0.342020124, 0.939692616, 0, 0, 0, 1)}):Play()
  468.         wait(0.5)
  469.         local magC = objs[5]:WaitForChild('Mag'):Clone()
  470.         magC.Parent = objs[5]
  471.         magC.Name = 'MagC'
  472.        
  473.         for _,v in pairs(objs[5]:WaitForChild('Mag'):GetDescendants()) do
  474.             if v and v:IsA('BasePart') then
  475.                 v:SetAttribute('LastTrans', v.Transparency)
  476.                 v.Transparency = 1
  477.             end;
  478.         end;
  479.        
  480.         objs[5]:WaitForChild('Mag').Transparency = 1
  481.         local magCW = Instance.new('WeldConstraint')
  482.         magCW.Parent = magC
  483.         magCW.Part0 = magC
  484.         magCW.Part1 = objs[3].Parent.Parent:WaitForChild('Left Arm')
  485.         magC.Mag:Destroy()
  486.        
  487.         ss:PlayLocalSound(objs[5]:WaitForChild('Grip'):WaitForChild('MagOut'))
  488.         ts:Create(objs[1],TweenInfo.new(0.15,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, -0.210271925, 0.100000001, 0.965925813, -0.258819044, 0, 0.254886985, 0.951251209, 0.173648372, -0.0449435003, -0.167731434, 0.98480767)}):Play()
  489.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(-0.112400234, -0.266317219, -1.23102295, 0.996194661, -0.0871557593, 0, -0.0298090354, -0.340718776, -0.939692616, 0.0818996206, 0.936116695, -0.342020273)}):Play()
  490.         wait(0.15)
  491.         ts:Create(objs[1],TweenInfo.new(0.8,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out),{C1 = CFrame.new(0, -0.475943327, 0.100000001, 0.965925813, -0.258819044, 0, 0.243210331, 0.907673299, 0.342020333, -0.0885213688, -0.330366254, 0.939692557)}):Play()
  492.         wait(0.35)
  493.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, -0.578590989, 0.100000001, 0.906990528, -0.420070022, -0.0301537234, 0.404579937, 0.849180579, 0.339422107, -0.116975091, -0.320052207, 0.940150678)}):Play()
  494.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.551335156, 0.657050908, -0.881087601, 0.953947425, 0.270688057, 0.129274964, -0.285736799, 0.951150835, 0.116902903, -0.0913157761, -0.148457721, 0.984693825)}):Play()
  495.         wait(0.1)
  496.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.67829597, 0.738943696, -0.514886916, 0.953947425, 0.270688057, 0.129274964, -0.285736799, 0.951150835, 0.116902903, -0.0913157761, -0.148457721, 0.984693825)}):Play()
  497.         wait(0.25)
  498.        
  499.         ss:PlayLocalSound(objs[5]:WaitForChild('Grip'):WaitForChild('MagIn'))
  500.         ts:Create(objs[1],TweenInfo.new(0.4,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(-0.113398686, -0.577261984, 0.308594972, 0.943201959, -0.327689976, -0.0546732172, 0.30945456, 0.806719899, 0.503428996, -0.120862633, -0.491754115, 0.862305045)}):Play()
  501.         wait(0.3)
  502.         magC:Destroy()
  503.         objs[5]:WaitForChild('Mag').Transparency = 0
  504.        
  505.         for _,v in pairs(objs[5]:WaitForChild('Mag'):GetDescendants()) do
  506.             if v and v:IsA('BasePart') then
  507.                 v.Transparency = v:GetAttribute('LastTrans')
  508.             end;
  509.         end;
  510.     end;
  511.    
  512.     BoltBackAnim = function(char,objs)
  513.         ts:Create(objs[1],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  514.         ts:Create(objs[3],TweenInfo.new(0.5,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.24516189, 0.271353781, 0.163031191, 0.087155804, 0, 0.99619472, 0, 1, 0, -0.99619472, 0, 0.087155804)}):Play()
  515.         wait(0.5)
  516.         objs[5]:WaitForChild('Bolt'):WaitForChild('BoltBack'):Play()
  517.         ts:Create(objs[1],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.300000012, 1, 0, 0, 0, 0.939692557, 0.342020124, 0, -0.342020124, 0.939692557)}):Play()
  518.         ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.400000006, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  519.         ts:Create(objs[3],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.24516189, -0.128646225, 0.446238458, 0.087155804, 0, 0.99619472, 0, 1, 0, -0.99619472, 0, 0.087155804)}):Play()
  520.         wait(0.25)
  521.     end;
  522.    
  523.     BoltForwardAnim = function(char,objs)
  524.         objs[5]:WaitForChild('Bolt'):WaitForChild('BoltForward'):Play()
  525.         ts:Create(objs[1],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0, 0, 0.600000024, 0.98480773, 0.173648164, 5.175119e-09, -0.173648179, 0.984807611, 2.93495575e-08, 0, -2.98023224e-08, 0.999999881)}):Play()
  526.         ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  527.         ts:Create(objs[3],TweenInfo.new(0.3,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(1.24516189, 0.271353781, 0.246238455, 0.087155804, 0, 0.99619472, 0, 1, 0, -0.99619472, 0, 0.087155804)}):Play()
  528.         wait(0.3)  
  529.     end;
  530.    
  531.     ActionBackAnim = function(char,objs)
  532.         if objs[5]:FindFirstChild('Action') then
  533.             ts:Create(objs[5]:WaitForChild('Action'):WaitForChild('Action'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.300000012, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  534.         else
  535.             ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new(0.300000012, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)}):Play()
  536.         end;
  537.     end;
  538.    
  539.     ActionForwardAnim = function(char,objs)
  540.         if objs[5]:FindFirstChild('Action') then
  541.             ts:Create(objs[5]:WaitForChild('Action'):WaitForChild('Action'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  542.         else
  543.             ts:Create(objs[5]:WaitForChild('Bolt'):WaitForChild('Bolt'),TweenInfo.new(0.1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{C1 = CFrame.new()}):Play()
  544.         end;
  545.     end;
  546.    
  547. }
  548.  
  549. return module
  550.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement