TheProNoob2004

Guitar

Jul 30th, 2016
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Plrs = game:GetService("Players")
  2.  
  3.  
  4.  
  5. GuitarColour = "Lime green"
  6.  
  7.  
  8.  
  9. me = Plrs.LocalPlayer
  10.  
  11. char = me.Character
  12.  
  13. Modelname = "xGuitar"
  14.  
  15. Toolname = "Guitar"
  16.  
  17. Surfaces = {"FrontSurface", "BackSurface", "TopSurface", "BottomSurface", "LeftSurface", "RightSurface"}
  18.  
  19. necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  20.  
  21. selected = false
  22.  
  23. Hurt = false
  24.  
  25. Deb = true
  26.  
  27. Able = true
  28.  
  29. Prop = {Damage = 30}
  30.  
  31. volume = 0.75
  32.  
  33.  
  34.  
  35. ToolIcon = ""
  36.  
  37. MouseIc = ""
  38.  
  39. MouseDo = ""
  40.  
  41.  
  42.  
  43. Add = {
  44.  
  45. Sphere = function(P)
  46.  
  47. local m = Instance.new("SpecialMesh",P)
  48.  
  49. m.MeshType = "Sphere"
  50.  
  51. return m
  52.  
  53. end,
  54.  
  55. BF = function(P)
  56.  
  57. local bf = Instance.new("BodyForce",P)
  58.  
  59. bf.force = Vector3.new(0, P:GetMass()*187, 0)
  60.  
  61. return bf
  62.  
  63. end,
  64.  
  65. BP = function(P)
  66.  
  67. local bp = Instance.new("BodyPosition",P)
  68.  
  69. bp.maxForce = Vector3.new(math.huge, 0, math.huge)
  70.  
  71. bp.P = 14000
  72.  
  73. return bp
  74.  
  75. end,
  76.  
  77. BG = function(P)
  78.  
  79. local bg = Instance.new("BodyGyro",P)
  80.  
  81. bg.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  82.  
  83. bg.P = 14000
  84.  
  85. return bg
  86.  
  87. end,
  88.  
  89. Mesh = function(P, ID, x, y, z)
  90.  
  91. local m = Instance.new("SpecialMesh")
  92.  
  93. m.MeshId = ID
  94.  
  95. m.Scale = Vector3.new(x, y, z)
  96.  
  97. m.Parent = P
  98.  
  99. return m
  100.  
  101. end,
  102.  
  103. Sound = function(P, ID, vol, pitch)
  104.  
  105. local s = Instance.new("Sound")
  106.  
  107. s.SoundId = ID
  108.  
  109. s.Volume = vol
  110.  
  111. s.Pitch = pitch
  112.  
  113. s.Parent = P
  114.  
  115. return s
  116.  
  117. end
  118.  
  119. }
  120.  
  121.  
  122.  
  123. function find(tab, arg)
  124.  
  125. local ah = nil
  126.  
  127. for i,v in pairs(tab) do
  128.  
  129. if v == arg then
  130.  
  131. ah = v
  132.  
  133. end
  134.  
  135. end
  136.  
  137. return ah
  138.  
  139. end
  140.  
  141.  
  142.  
  143. function getAllParts(from)
  144.  
  145. local t = {}
  146.  
  147. function getParts(where)
  148.  
  149. for i, v in pairs(where:children()) do
  150.  
  151. if v:IsA("BasePart") then
  152.  
  153. if v.Parent ~= char and v.Parent.Parent ~= char then
  154.  
  155. table.insert(t, v)
  156.  
  157. end
  158.  
  159. end
  160.  
  161. getParts(v)
  162.  
  163. end
  164.  
  165. end
  166.  
  167. getParts(workspace)
  168.  
  169. return t
  170.  
  171. end
  172.  
  173.  
  174.  
  175. function RayCast(pos1, pos2, maxDist, forward)
  176.  
  177. local list = getAllParts(workspace)
  178.  
  179. local pos0 = pos1
  180.  
  181. for dist = 1, maxDist, forward do
  182.  
  183. pos0 = (CFrame.new(pos1, pos2) * CFrame.new(0, 0, -dist)).p
  184.  
  185. for _, v in pairs(list) do
  186.  
  187. local pos3 = v.CFrame:pointToObjectSpace(pos0)
  188.  
  189. local s = v.Size
  190.  
  191. if pos3.x > -(s.x/2) and pos3.x < (s.x/2) and pos3.y > -(s.y/2) and pos3.y < (s.y/2) and pos3.z > -(s.z/2) and pos3.x < (s.z/2) and v.CanCollide == true then
  192.  
  193. return pos0, v
  194.  
  195. end
  196.  
  197. end
  198.  
  199. end
  200.  
  201. return pos0, nil
  202.  
  203. end
  204.  
  205.  
  206.  
  207. function Part(Parent, Anchor, Collide, Tran, Ref, Color, X, Y, Z, Break)
  208.  
  209. local p = Instance.new("Part")
  210.  
  211. p.formFactor = "Custom"
  212.  
  213. p.Anchored = Anchor
  214.  
  215. p.CanCollide = Collide
  216.  
  217. p.Transparency = Tran
  218.  
  219. p.Reflectance = Ref
  220.  
  221. p.BrickColor = BrickColor.new(Color)
  222.  
  223. for _, Surf in pairs(Surfaces) do
  224.  
  225. p[Surf] = "Smooth"
  226.  
  227. end
  228.  
  229. p.Size = Vector3.new(X, Y, Z)
  230.  
  231. if Break then
  232.  
  233. p:BreakJoints()
  234.  
  235. else p:MakeJoints() end
  236.  
  237. p.Parent = Parent
  238.  
  239. return p
  240.  
  241. end
  242.  
  243.  
  244.  
  245. function Weld(p0, p1, x, y, z, a, b, c)
  246.  
  247. local w = Instance.new("Weld")
  248.  
  249. w.Parent = p0
  250.  
  251. w.Part0 = p0
  252.  
  253. w.Part1 = p1
  254.  
  255. w.C1 = CFrame.new(x,y,z) * CFrame.Angles(a,b,c)
  256.  
  257. return w
  258.  
  259. end
  260.  
  261.  
  262.  
  263. function ComputePos(pos1, pos2)
  264.  
  265. local pos3 = Vector3.new(pos2.x, pos1.y, pos2.z)
  266.  
  267. return CFrame.new(pos1, pos3)
  268.  
  269. end
  270.  
  271.  
  272.  
  273. function getHumanoid(c)
  274.  
  275. local h = nil
  276.  
  277. for i,v in pairs(c:children()) do
  278.  
  279. if v:IsA("Humanoid") and c ~= char then
  280.  
  281. if v.Health > 0 then
  282.  
  283. h = v
  284.  
  285. end
  286.  
  287. end
  288.  
  289. end
  290.  
  291. return h
  292.  
  293. end
  294.  
  295.  
  296.  
  297. for i,v in pairs(char:children()) do
  298.  
  299. if v.Name == Modelname then
  300.  
  301. v:remove()
  302.  
  303. end
  304.  
  305. end
  306.  
  307.  
  308.  
  309. torso = char.Torso
  310.  
  311. neck = torso.Neck
  312.  
  313. hum = char.Humanoid
  314.  
  315. Rarm = char["Right Arm"]
  316.  
  317. Larm = char["Left Arm"]
  318.  
  319. Rleg = char["Right Leg"]
  320.  
  321. Lleg = char["Left Leg"]
  322.  
  323.  
  324.  
  325. hc = Instance.new("Humanoid")
  326.  
  327. hc.Health = 0
  328.  
  329. hc.MaxHealth = 0
  330.  
  331.  
  332.  
  333. slash = Add.Sound(nil, "rbxasset://sounds//swordslash.wav", 0.9, 0.8)
  334.  
  335. hitsound = Add.Sound(nil, "http://www.roblox.com/asset/?id=", 0.7, 0.6)
  336.  
  337. charge = Add.Sound(nil, "http://www.roblox.com/asset/?id=", 0.8, 0.65)
  338.  
  339. boom = Add.Sound(nil, "http://www.roblox.com/asset/?id=", 0.8, 0.3)
  340.  
  341. smashsound = Add.Sound(nil, "http://www.roblox.com/asset/?id=", 0.8, 0.35)
  342.  
  343. boomboom = Add.Sound(nil, "http://www.roblox.com/asset/?id=", 1, 0.18)
  344.  
  345. GSound = Add.Sound(nil, "http://www.roblox.com/asset/?id=", 0.75, 1)
  346.  
  347.  
  348.  
  349. function PlaySound(sound, pitch, vol)
  350.  
  351. local s = sound:clone()
  352.  
  353. if pitch ~= nil then
  354.  
  355. if tonumber(pitch) then
  356.  
  357. s.Pitch = tonumber(pitch)
  358.  
  359. end
  360.  
  361. end
  362.  
  363. if vol ~= nil then
  364.  
  365. if tonumber(vol) then
  366.  
  367. s.Volume = tonumber(vol)
  368.  
  369. end
  370.  
  371. end
  372.  
  373. s.Parent = torso
  374.  
  375. s.PlayOnRemove = true
  376.  
  377. coroutine.resume(coroutine.create(function()
  378.  
  379. wait()
  380.  
  381. s:remove()
  382.  
  383. end))
  384.  
  385. end
  386.  
  387.  
  388.  
  389. Mo = Instance.new("Model")
  390.  
  391. Mo.Name = Modelname
  392.  
  393.  
  394.  
  395. RABrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
  396.  
  397. LABrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
  398.  
  399. RLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
  400.  
  401. LLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
  402.  
  403.  
  404.  
  405. RABW = Weld(torso, RABrick, -1.5, -0.5, 0, 0, 0, 0)
  406.  
  407. LABW = Weld(torso, LABrick, 1.5, -0.5, 0, 0, 0, 0)
  408.  
  409. RLBW = Weld(torso, RLBrick, -0.5, 1.2, 0, 0, 0, 0)
  410.  
  411. LLBW = Weld(torso, LLBrick, 0.5, 1.2, 0, 0, 0, 0)
  412.  
  413.  
  414.  
  415. RAW = Weld(RABrick, nil, 0, 0.5, 0, 0, 0, 0)
  416.  
  417. LAW = Weld(LABrick, nil, 0, 0.5, 0, 0, 0, 0)
  418.  
  419. RLW = Weld(RLBrick, nil, 0, 0.8, 0, 0, 0, 0)
  420.  
  421. LLW = Weld(LLBrick, nil, 0, 0.8, 0, 0, 0, 0)
  422.  
  423.  
  424.  
  425. HB = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
  426.  
  427. HBW = Weld(Rarm, HB, 0, 1, 0, 0, 0, 0)
  428.  
  429. HW = Weld(HB, nil, 0, -1.3, 0, math.pi/2, 0, 0)
  430.  
  431.  
  432.  
  433. TH = Weld(torso, nil, -0.8, 0.4, -0.4, 0, math.pi/2, math.rad(80))
  434.  
  435. THMain = TH.C1
  436.  
  437.  
  438.  
  439. RAWStand, LAWStand, RLWStand, LLWStand, HWStand = nil
  440.  
  441. NeckStand = necko * CFrame.Angles(math.rad(17), 0, math.rad(35))
  442.  
  443.  
  444.  
  445. handle = Part(Mo, false, false, 0, 0, GuitarColour, 0.6, 1.5, 1.5, true)
  446.  
  447. handle.Name = "Handle"
  448.  
  449.  
  450.  
  451. handletip1 = Part(Mo, false, false, 0, 0.2, "Really black", 0.5, 0.5, 0.5, true)
  452.  
  453. local w1 = Weld(handle, handletip1, 0, 1.12, 0, 0, 0, 0)
  454.  
  455. w1.C0 = CFrame.Angles(math.rad(-45), 0, 0)
  456.  
  457. Add.Mesh(handletip1, "http://www.roblox.com/asset/?id=9756362", 0.65, 0.45, 0.65)
  458.  
  459.  
  460.  
  461. handletip2 = Part(Mo, false, false, 0, 0.2, "Dark grey", 0.5, 0.5, 0.5, true)
  462.  
  463. Weld(handletip1, handletip2, 0, 0, 0, 0, math.rad(45), 0)
  464.  
  465. Add.Mesh(handletip2, "http://www.roblox.com/asset/?id=9756362", 0.65, 0.35, 0.65)
  466.  
  467.  
  468.  
  469. for i = 45, 360+45-90, 90 do
  470.  
  471. local p = Part(Mo, false, false, 0, 0, GuitarColour, 0.7, 0.9, 0.6, true)
  472.  
  473. local w = Weld(handle, p, 0, 0, 0, 0, 0, 0)
  474.  
  475. w.C0 = CFrame.Angles(0, math.pi/2, math.rad(i))
  476.  
  477. w.C1 = CFrame.new(-1, 0, 0) * CFrame.Angles(0, 0, math.pi/4)
  478.  
  479. end
  480.  
  481.  
  482.  
  483. for i = 0, 40, 40 do
  484.  
  485. local p = Part(Mo, false, false, 0, 0, "Really black", 0.2, 0.2, 0.2, true)
  486.  
  487. Add.Mesh(p, "http://www.roblox.com/asset/?id=1033714", 0.14, 0.12, 0.14)
  488.  
  489. local w = Weld(handle, p, 0, -0.35, -0.7, 0, 0, math.pi/2)
  490.  
  491. w.C0 = CFrame.Angles(math.rad(i+130), 0, 0)
  492.  
  493. local p2 = Part(Mo, false, false, 0, 0, "Black", 0.2, 0.2, 0.2, true)
  494.  
  495. Instance.new("CylinderMesh",p2).Scale = Vector3.new(1, 0.7, 1)
  496.  
  497. Weld(p, p2, 0, -0.04, 0, 0, 0, 0)
  498.  
  499. end
  500.  
  501.  
  502.  
  503. fretboard = Part(Mo, false, false, 0, 0, "Black", 0.45, 2.6, 0.6, true)
  504.  
  505. Weld(handle, fretboard, -0.1, -1.95, 0, math.pi/4, 0, 0)
  506.  
  507.  
  508.  
  509. for i = 0, 2.48, 2.48/10 do
  510.  
  511. local asd = (1*i)
  512.  
  513. local p = Part(Mo, false, false, 0, 0, "Medium grey", 0.2, 0.55, 0.2, true)
  514.  
  515. Instance.new("CylinderMesh",p).Scale = Vector3.new(0.3, 1, 0.3)
  516.  
  517. Weld(fretboard, p, -0.21, 0, -1.1+asd, math.pi/2, 0, 0)
  518.  
  519. end
  520.  
  521.  
  522.  
  523. Strings = {}
  524.  
  525. for i = -0.24, 0.24, 0.48/6 do
  526.  
  527. local p = Part(Mo, false, false, 0, 0, "Medium grey", 0.2, 3.7, 0.2, true)
  528.  
  529. Instance.new("CylinderMesh",p).Scale = Vector3.new(0.06, 1, 0.06)
  530.  
  531. local w = Weld(fretboard, p, -0.25, 0.75, i+0.04, 0, 0, 0)
  532.  
  533. table.insert(Strings, {p, w})
  534.  
  535. end
  536.  
  537.  
  538.  
  539. for i = -20, 20, 20 do
  540.  
  541. local asd = (20+i)/60
  542.  
  543. local p = Part(Mo, false, false, 0, 0, "White", 0.2, 0.3, 0.6, true)
  544.  
  545. Instance.new("BlockMesh",p).Scale = Vector3.new(1, 0.5, 1)
  546.  
  547. local w = Weld(fretboard, p, 0, 0, 0, 0, 0, 0)
  548.  
  549. w.C0 = CFrame.new(0.11, -1.5-asd, 0)
  550.  
  551. w.C1 = CFrame.Angles(math.rad(i), 0, 0)
  552.  
  553. for x = -0.18, 0.18, 0.18 do
  554.  
  555. local p2 = Part(Mo, false, false, 0, 0, "Medium grey", 0.2, 0.2, 0.2, true)
  556.  
  557. Instance.new("CylinderMesh",p2).Scale = Vector3.new(0.5, 0.3, 0.5)
  558.  
  559. Weld(p, p2, 0, -0.08, x, 0, 0, math.pi/2)
  560.  
  561. end
  562.  
  563. end
  564.  
  565.  
  566.  
  567. stringattach = Part(Mo, false, false, 0, 0, "Medium grey", 0.2, 0.2, 0.8, true)
  568.  
  569. Instance.new("BlockMesh",stringattach)
  570.  
  571. Weld(fretboard, stringattach, -0.13, 2.55, 0, 0, 0, 0)
  572.  
  573.  
  574.  
  575. vibra = Part(Mo, false, false, 0, 0, "Medium grey", 0.2, 0.32, 0.2, true)
  576.  
  577. Instance.new("SpecialMesh",vibra).Scale = Vector3.new(0.35, 1, 0.35)
  578.  
  579. VW = Weld(stringattach, vibra, 0, -0.15, 0, 0, 0, 0)
  580.  
  581. VW.C0 = CFrame.new(0, 0, -0.36) * CFrame.Angles(0, 0, math.rad(-75))
  582.  
  583.  
  584.  
  585. vibra2 = Part(Mo, false, false, 0, 0, "Medium grey", 0.2, 0.62, 0.2, true)
  586.  
  587. Instance.new("SpecialMesh",vibra2).Scale = Vector3.new(0.35, 1, 0.35)
  588.  
  589. vwz = Weld(vibra, vibra2, 0, -0.29, 0, 0, 0, 0)
  590.  
  591. vwz.C0 = CFrame.new(0, 0.15, 0) * CFrame.Angles(0, 0, math.rad(70))
  592.  
  593.  
  594.  
  595. vibra3 = Part(Mo, false, false, 0, 0, GuitarColour, 0.2, 0.3, 0.2, true)
  596.  
  597. Add.Sphere(vibra3).Scale = Vector3.new(0.55, 1, 0.55)
  598.  
  599. Weld(vibra2, vibra3, 0, -0.25, 0, 0, 0, 0)
  600.  
  601.  
  602.  
  603. stringat2 = Part(Mo, false, false, 0, 0, "Dark grey", 0.2, 0.2, 0.7, true)
  604.  
  605. Instance.new("BlockMesh",stringat2).Scale = Vector3.new(1, 0.3, 1)
  606.  
  607. Weld(stringattach, stringat2, -0.02, 0, 0, 0, 0, 0)
  608.  
  609.  
  610.  
  611. for i = -0.2, 0.21, 0.4/5 do
  612.  
  613. local p = Part(Mo, false, false, 0, 0, "Mid gray", 0.2, 0.2, 0.2, true)
  614.  
  615. Instance.new("BlockMesh",p).Scale = Vector3.new(1, 0.8, 0.2)
  616.  
  617. Weld(stringat2, p, -0.01, 0, i, 0, 0, 0)
  618.  
  619. end
  620.  
  621.  
  622.  
  623. stringattach2 = Part(Mo, false, false, 0, 0, GuitarColour, 0.45, 1.2, 0.62, true)
  624.  
  625. local wdz = Weld(fretboard, stringattach2, 0, 0, 0, 0, 0, math.rad(8))
  626.  
  627. wdz.C0 = CFrame.new(0.1, 1.7, 0)
  628.  
  629.  
  630.  
  631. for i = 0, 180, 180 do
  632.  
  633. local p = Part(Mo, false, false, 0, 0, GuitarColour, 0.45, 1.2, 0.62, true)
  634.  
  635. Instance.new("SpecialMesh",p).MeshType = "Wedge"
  636.  
  637. local w = Weld(stringattach2, p, 0, 0, -0.21, math.rad(20), 0, math.pi)
  638.  
  639. w.C0 = CFrame.new(0, 0.4, 0) * CFrame.Angles(0, math.rad(i), 0)
  640.  
  641. for x = -0.4, 0.2, 0.3 do
  642.  
  643. local asd = -0.15 + (i/600)
  644.  
  645. local p2 = Part(Mo, false, false, 0, 0, "Dark grey", 0.2, 0.2, 0.2, true)
  646.  
  647. local w2 = Weld(p, p2, 0, 0, 0, 0, 0, math.pi/2)
  648.  
  649. w2.C0 = CFrame.new(asd, x, 0.15)
  650.  
  651. Instance.new("CylinderMesh",p2)
  652.  
  653. local p3 = Part(Mo, false, false, 0, 0, "Medium grey", 0.2, 0.3, 0.2, true)
  654.  
  655. Instance.new("CylinderMesh",p3).Scale = Vector3.new(0.8, 1, 0.8)
  656.  
  657. Weld(p2, p3, 0, 0, 0, 0, 0, 0)
  658.  
  659. end
  660.  
  661. end
  662.  
  663.  
  664.  
  665. for i = -0.6, 0.61, 1.2 do
  666.  
  667. local p = Part(Mo, false, false, 0, 0, "Really black", 0.5, 2.8, 0.2, true)
  668.  
  669. Weld(torso, p, 0, 0, i, 0, 0, math.rad(-40))
  670.  
  671. local p2 = Part(Mo, false, false, 0, 0, "Really black", 0.5, 0.2, 1.1, true)
  672.  
  673. Weld(torso, p2, -i*1.4, i*1.75, 0, 0, 0, 0)
  674.  
  675.  
  676.  
  677. end
  678.  
  679. Mo.Parent = char
  680.  
  681. TH.Part1 = handle
  682.  
  683.  
  684.  
  685. if script.Parent.className ~= "HopperBin" then
  686.  
  687. h = Instance.new("HopperBin",me.Backpack)
  688.  
  689. h.Name = Toolname
  690.  
  691. h.TextureId = ToolIcon
  692.  
  693. script.Parent = h
  694.  
  695. end
  696.  
  697.  
  698.  
  699. bin = script.Parent
  700.  
  701.  
  702.  
  703. function detach(bool)
  704.  
  705. LLW.C0 = CFrame.new(0, 0, 0)
  706.  
  707. RLW.C0 = CFrame.new(0, 0, 0)
  708.  
  709. LAW.C0 = CFrame.new(0,0,0)
  710.  
  711. RAW.C0 = CFrame.new(0, 0, 0)
  712.  
  713. if bool then
  714.  
  715. LLW.Part1 = nil
  716.  
  717. RLW.Part1 = nil
  718.  
  719. RAW.Part1 = nil
  720.  
  721. LAW.Part1 = nil
  722.  
  723. end
  724.  
  725. end
  726.  
  727.  
  728.  
  729. function attach()
  730.  
  731. RAW.Part1 = Rarm
  732.  
  733. LAW.Part1 = Larm
  734.  
  735. RLW.Part1 = Rleg
  736.  
  737. LLW.Part1 = Lleg
  738.  
  739. end
  740.  
  741.  
  742.  
  743. function normal()
  744.  
  745. neck.C0 = NeckStand
  746.  
  747. RAW.C0 = RAWStand
  748.  
  749. LAW.C0 = LAWStand
  750.  
  751. RLW.C0 = RLWStand
  752.  
  753. LLW.C0 = LLWStand
  754.  
  755. RAW.C1 = CFrame.new(0, 0.5, 0)
  756.  
  757. LAW.C1 = CFrame.new(0, 0.5, 0)
  758.  
  759. RLW.C1 = CFrame.new(0, 0.8, 0)
  760.  
  761. LLW.C1 = CFrame.new(0, 0.8, 0)
  762.  
  763. HW.C0 = HWStand
  764.  
  765. end
  766.  
  767.  
  768.  
  769. function selectanim()
  770.  
  771. RAW.Part1 = Rarm
  772.  
  773. for i = 0.09, 1, 0.09 do
  774.  
  775. TH.C0 = CFrame.Angles(0, math.rad(90*i), 0)
  776.  
  777. TH.C1 = THMain * CFrame.Angles(0, 0, math.rad(-30*i)) * CFrame.new(0, 0.3*i, -0.1*i)
  778.  
  779. RAW.C0 = CFrame.Angles(math.rad(110*i), 0, math.rad(10*i)) * CFrame.new(0, 0, -0.3*i)
  780.  
  781. neck.C0 = necko * CFrame.Angles(math.rad(5*i), 0, math.rad(-35*i))
  782.  
  783. wait()
  784.  
  785. end
  786.  
  787. LAW.Part1 = Larm
  788.  
  789. for i = 0.1, 1, 0.1 do
  790.  
  791. TH.C0 = CFrame.Angles(0, math.rad(90+90*i), 0)
  792.  
  793. TH.C1 = THMain * CFrame.Angles(math.rad(15*i), 0, math.rad(-30-30*i)) * CFrame.new(0, 0.3+0.2*i, -0.1)
  794.  
  795. RAW.C0 = CFrame.Angles(math.rad(110-65*i), 0, math.rad(10-30*i)) * CFrame.new(0, -0.5*i, -0.3-0.2*i)
  796.  
  797. LAW.C0 = CFrame.Angles(math.rad(75*i), math.rad(-15*i), math.rad(-10*i)) * CFrame.new(0, -0.2*i, 0)
  798.  
  799. neck.C0 = necko * CFrame.Angles(math.rad(5+12*i), 0, math.rad(-35+70*i))
  800.  
  801. wait()
  802.  
  803. end
  804.  
  805. if RAWStand == nil then
  806.  
  807. RAWStand = RAW.C0
  808.  
  809. LAWStand = LAW.C0
  810.  
  811. RLWStand = RLW.C0
  812.  
  813. LLWStand = LLW.C0
  814.  
  815. HWStand = HW.C0
  816.  
  817. end
  818.  
  819. normal()
  820.  
  821. end
  822.  
  823.  
  824.  
  825. function deselanim()
  826.  
  827. for i = 0.9, 0, -0.1 do
  828.  
  829. TH.C0 = CFrame.Angles(0, math.rad(90+90*i), 0)
  830.  
  831. TH.C1 = THMain * CFrame.Angles(math.rad(15*i), 0, math.rad(-30-30*i)) * CFrame.new(0, 0.3+0.2*i, -0.1)
  832.  
  833. RAW.C0 = CFrame.Angles(math.rad(110-65*i), 0, math.rad(10-30*i)) * CFrame.new(0, -0.5*i, -0.3-0.2*i)
  834.  
  835. LAW.C0 = CFrame.Angles(math.rad(75*i), math.rad(-15*i), math.rad(-10*i)) * CFrame.new(0, -0.2*i, 0)
  836.  
  837. neck.C0 = necko * CFrame.Angles(math.rad(5+12*i), 0, math.rad(-35+70*i))
  838.  
  839. wait()
  840.  
  841. end
  842.  
  843. LAW.Part1 = nil
  844.  
  845. for i = 0.91, 0, -0.09 do
  846.  
  847. TH.C0 = CFrame.Angles(0, math.rad(90*i), 0)
  848.  
  849. TH.C1 = THMain * CFrame.Angles(0, 0, math.rad(-30*i)) * CFrame.new(0, 0.3*i, -0.1*i)
  850.  
  851. RAW.C0 = CFrame.Angles(math.rad(110*i), 0, math.rad(10*i)) * CFrame.new(0, 0, -0.3*i)
  852.  
  853. neck.C0 = necko * CFrame.Angles(math.rad(5*i), 0, math.rad(-35*i))
  854.  
  855. wait()
  856.  
  857. end
  858.  
  859. neck.C0 = necko
  860.  
  861. detach(true)
  862.  
  863. end
  864.  
  865.  
  866.  
  867. keys = {"r", "t", "y", "u", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m"}
  868.  
  869.  
  870.  
  871. function PlayString(pitch, vol)
  872.  
  873. LAW.C0 = LAWStand * CFrame.new(pitch/7, 0, 0) * CFrame.Angles(0, 0, math.rad(pitch*18))
  874.  
  875. neck.C0 = NeckStand * CFrame.Angles(0, 0, math.rad(-pitch*13))
  876.  
  877. for i = 0, 1, 0.5 do
  878.  
  879. RAW.C0 = RAWStand * CFrame.Angles(math.rad(-5*i), 0, math.rad(-15*i)) * CFrame.new(0, 0.3*i, 0)
  880.  
  881. wait()
  882.  
  883. end
  884.  
  885. PlaySound(GSound, pitch, vol)
  886.  
  887. for i = 0, 1, 0.33 do
  888.  
  889. RAW.C0 = RAWStand * CFrame.Angles(math.rad(-5-10*i), 0, math.rad(-15+35*i)) * CFrame.new(0, 0.3-0.8*i, 0)
  890.  
  891. wait()
  892.  
  893. end
  894.  
  895. local lol = math.floor(pitch*2.5)
  896.  
  897. if lol < 1 then lol = 1 elseif lol > #keys then lol = #keys end
  898.  
  899. coroutine.resume(coroutine.create(function()
  900.  
  901. local vollol = vol*40
  902.  
  903. for i = 1, math.random(vollol/1.8, vollol) do
  904.  
  905. Strings[lol][2].C0 = CFrame.new(0, 0, math.random(-vollol, vollol)/1000)
  906.  
  907. wait()
  908.  
  909. end
  910.  
  911. Strings[lol][2].C0 = CFrame.new()
  912.  
  913. end))
  914.  
  915. for i = 0, 1, 0.25 do
  916.  
  917. RAW.C0 = RAWStand * CFrame.Angles(math.rad(-5-10+15*i), 0, math.rad(20-20*i)) * CFrame.new(0, 0.3-0.8+0.5*i, 0)
  918.  
  919. wait()
  920.  
  921. end
  922.  
  923. RAW.C0 = RAWStand
  924.  
  925. end
  926.  
  927.  
  928.  
  929. function select(mouse)
  930.  
  931. selectanim()
  932.  
  933. selected = true
  934.  
  935. mouse.KeyDown:connect(function(key)
  936.  
  937. key = key:lower()
  938.  
  939. for i, v in pairs(keys) do
  940.  
  941. if key == v then
  942.  
  943. local pitch = 0.3 + (i/7.5)
  944.  
  945. PlayString(pitch, volume)
  946.  
  947. end
  948.  
  949. end
  950.  
  951. end)
  952.  
  953. end
  954.  
  955.  
  956.  
  957. function deselect(mouse)
  958.  
  959. selected = false
  960.  
  961. deselanim()
  962.  
  963. end
  964.  
  965.  
  966.  
  967. bin.Selected:connect(select)
  968.  
  969. bin.Deselected:connect(deselect)
Add Comment
Please, Sign In to add comment