Advertisement
sneakydodge123

guitar

Jul 3rd, 2019
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --//====================================================\\--
  2. --||               CREATED BY SHACKLUSTER
  3. --\\====================================================//--
  4. --https://github.com/Mokiros/roblox-FE-compatibility
  5. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  6. local Player,game,owner = owner,game
  7. local RealPlayer = Player
  8. do print("FE Compatibility code V2 by Mokiros")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
  9.  
  10.  
  11. Class_Name=string.reverse"ihS-ihS yB tidE "
  12.  
  13. wait(0.2)
  14.  
  15.  
  16. Bonniee = Instance.new("ForceField", game.Players.LocalPlayer.Character)
  17. Bonniee.Visible = false
  18. local nel = game.Players.LocalPlayer.Character.Humanoid
  19. nel.MaxHealth = math.huge
  20. Player = game:GetService("Players").LocalPlayer
  21. PlayerGui = Player.PlayerGui
  22. Cam = workspace.CurrentCamera
  23. Backpack = Player.Backpack
  24. Character = Player.Character
  25. Humanoid = Character.Humanoid
  26. Mouse = Player:GetMouse()
  27. RootPart = Character["HumanoidRootPart"]
  28. Torso = Character["Torso"]
  29. Head = Character["Head"]
  30. RightArm = Character["Right Arm"]
  31. LeftArm = Character["Left Arm"]
  32. RightLeg = Character["Right Leg"]
  33. LeftLeg = Character["Left Leg"]
  34. RootJoint = RootPart["RootJoint"]
  35. Neck = Torso["Neck"]
  36. RightShoulder = Torso["Right Shoulder"]
  37. LeftShoulder = Torso["Left Shoulder"]
  38. RightHip = Torso["Right Hip"]
  39. LeftHip = Torso["Left Hip"]
  40.  
  41. IT = Instance.new
  42. CF = CFrame.new
  43. VT = Vector3.new
  44. RAD = math.rad
  45. C3 = Color3.new
  46. UD2 = UDim2.new
  47. BRICKC = BrickColor.new
  48. ANGLES = CFrame.Angles
  49. EULER = CFrame.fromEulerAnglesXYZ
  50. COS = math.cos
  51. ACOS = math.acos
  52. SIN = math.sin
  53. ASIN = math.asin
  54. ABS = math.abs
  55. MRANDOM = math.random
  56. FLOOR = math.floor
  57.  
  58. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  59.     local NEWMESH = IT(MESH)
  60.     if MESH == "SpecialMesh" then
  61.         NEWMESH.MeshType = MESHTYPE
  62.         if MESHID ~= "nil" and MESHID ~= "" then
  63.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  64.         end
  65.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  66.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  67.         end
  68.     end
  69.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  70.     NEWMESH.Scale = SCALE
  71.     NEWMESH.Parent = PARENT
  72.     return NEWMESH
  73. end
  74.  
  75. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  76.     local NEWPART = IT("Part")
  77.     NEWPART.formFactor = FORMFACTOR
  78.     NEWPART.Reflectance = REFLECTANCE
  79.     NEWPART.Transparency = TRANSPARENCY
  80.     NEWPART.CanCollide = false
  81.     NEWPART.Locked = true
  82.     NEWPART.Anchored = true
  83.     if ANCHOR == false then
  84.         NEWPART.Anchored = false
  85.     end
  86.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  87.     NEWPART.Name = NAME
  88.     NEWPART.Size = SIZE
  89.     NEWPART.Position = Torso.Position
  90.     NEWPART.Material = MATERIAL
  91.     NEWPART:BreakJoints()
  92.     NEWPART.Parent = PARENT
  93.     return NEWPART
  94. end
  95.  
  96. --//=================================\\
  97. --||          CUSTOMIZATION
  98. --\\=================================//
  99.  
  100. warn(Class_Name.." #4817")
  101. Player_Size = 1 --Size of the player.
  102. Animation_Speed = 3
  103. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  104.  
  105. local Speed = 16
  106. local Effects2 = {}
  107.  
  108. --//=================================\\
  109. --||      END OF CUSTOMIZATION
  110. --\\=================================//
  111.  
  112.     local function weldBetween(a, b)
  113.         local weldd = Instance.new("ManualWeld")
  114.         weldd.Part0 = a
  115.         weldd.Part1 = b
  116.         weldd.C0 = CFrame.new()
  117.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  118.         weldd.Parent = a
  119.         return weldd
  120.     end
  121.  
  122. --//=================================\\
  123. --||          USEFUL VALUES
  124. --\\=================================//
  125.  
  126. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  127. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  128. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  129. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  130. local CHANGEDEFENSE = 0
  131. local CHANGEDAMAGE = 0
  132. local CHANGEMOVEMENT = 0
  133. local ANIM = "Idle"
  134. local ATTACK = false
  135. local EQUIPPED = false
  136. local HOLD = false
  137. local COMBO = 1
  138. local Rooted = false
  139. local SINE = 0
  140. local KEYHOLD = false
  141. local CHANGE = 2 / Animation_Speed
  142. local WALKINGANIM = false
  143. local WALK = 0
  144. local VALUE1 = false
  145. local VALUE2 = false
  146. local ROBLOXIDLEANIMATION = IT("Animation")
  147. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  148. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  149. --ROBLOXIDLEANIMATION.Parent = Humanoid
  150. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  151. WEAPONGUI.Name = "Weapon GUI"
  152. local Weapon = IT("Model")
  153. Weapon.Name = "Adds"
  154. local Effects = IT("Folder", Weapon)
  155. Effects.Name = "Effects"
  156. local ANIMATOR = Humanoid.Animator
  157. local ANIMATE = Character.Animate
  158. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  159. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  160. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  161. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  162. local UNANCHOR = true
  163.  
  164. local SKILLTEXTCOLOR = C3(0,0,0)
  165.  
  166. local SONGS = {"1113734859","203547439","1343405182","1183179337","946737865","1110421128"}
  167. local SONGPLAYING = false
  168. local SELECTEDSONG = 1
  169.  
  170. --//=================================\\
  171. --\\=================================//
  172.  
  173.  
  174. --//=================================\\
  175. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  176. --\\=================================//
  177.  
  178. ArtificialHB = Instance.new("BindableEvent", script)
  179. ArtificialHB.Name = "ArtificialHB"
  180.  
  181. script:WaitForChild("ArtificialHB")
  182.  
  183. frame = Frame_Speed
  184. tf = 0
  185. allowframeloss = false
  186. tossremainder = false
  187. lastframe = tick()
  188. script.ArtificialHB:Fire()
  189.  
  190. game:GetService("RunService").Heartbeat:connect(function(s, p)
  191.     tf = tf + s
  192.     if tf >= frame then
  193.         if allowframeloss then
  194.             script.ArtificialHB:Fire()
  195.             lastframe = tick()
  196.         else
  197.             for i = 1, math.floor(tf / frame) do
  198.                 script.ArtificialHB:Fire()
  199.             end
  200.         lastframe = tick()
  201.         end
  202.         if tossremainder then
  203.             tf = 0
  204.         else
  205.             tf = tf - frame * math.floor(tf / frame)
  206.         end
  207.     end
  208. end)
  209.  
  210. --//=================================\\
  211. --\\=================================//
  212.  
  213.  
  214.  
  215.  
  216.  
  217. --//=================================\\
  218. --||          SOME FUNCTIONS
  219. --\\=================================//
  220.  
  221. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  222.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  223. end
  224.  
  225. function PositiveAngle(NUMBER)
  226.     if NUMBER >= 0 then
  227.         NUMBER = 0
  228.     end
  229.     return NUMBER
  230. end
  231.  
  232. function NegativeAngle(NUMBER)
  233.     if NUMBER <= 0 then
  234.         NUMBER = 0
  235.     end
  236.     return NUMBER
  237. end
  238.  
  239. function Swait(NUMBER)
  240.     if NUMBER == 0 or NUMBER == nil then
  241.         ArtificialHB.Event:wait()
  242.     else
  243.         for i = 1, NUMBER do
  244.             ArtificialHB.Event:wait()
  245.         end
  246.     end
  247. end
  248.  
  249. function QuaternionFromCFrame(cf)
  250.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  251.     local trace = m00 + m11 + m22
  252.     if trace > 0 then
  253.         local s = math.sqrt(1 + trace)
  254.         local recip = 0.5 / s
  255.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  256.     else
  257.         local i = 0
  258.         if m11 > m00 then
  259.             i = 1
  260.         end
  261.         if m22 > (i == 0 and m00 or m11) then
  262.             i = 2
  263.         end
  264.         if i == 0 then
  265.             local s = math.sqrt(m00 - m11 - m22 + 1)
  266.             local recip = 0.5 / s
  267.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  268.         elseif i == 1 then
  269.             local s = math.sqrt(m11 - m22 - m00 + 1)
  270.             local recip = 0.5 / s
  271.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  272.         elseif i == 2 then
  273.             local s = math.sqrt(m22 - m00 - m11 + 1)
  274.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  275.         end
  276.     end
  277. end
  278.  
  279. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  280.     local xs, ys, zs = x + x, y + y, z + z
  281.     local wx, wy, wz = w * xs, w * ys, w * zs
  282.     local xx = x * xs
  283.     local xy = x * ys
  284.     local xz = x * zs
  285.     local yy = y * ys
  286.     local yz = y * zs
  287.     local zz = z * zs
  288.     return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
  289. end
  290.  
  291. function QuaternionSlerp(a, b, t)
  292.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  293.     local startInterp, finishInterp;
  294.     if cosTheta >= 0.0001 then
  295.         if (1 - cosTheta) > 0.0001 then
  296.             local theta = ACOS(cosTheta)
  297.             local invSinTheta = 1 / SIN(theta)
  298.             startInterp = SIN((1 - t) * theta) * invSinTheta
  299.             finishInterp = SIN(t * theta) * invSinTheta
  300.         else
  301.             startInterp = 1 - t
  302.             finishInterp = t
  303.         end
  304.     else
  305.         if (1 + cosTheta) > 0.0001 then
  306.             local theta = ACOS(-cosTheta)
  307.             local invSinTheta = 1 / SIN(theta)
  308.             startInterp = SIN((t - 1) * theta) * invSinTheta
  309.             finishInterp = SIN(t * theta) * invSinTheta
  310.         else
  311.             startInterp = t - 1
  312.             finishInterp = t
  313.         end
  314.     end
  315.     return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
  316. end
  317.  
  318. function Clerp(a, b, t)
  319.     local qa = {QuaternionFromCFrame(a)}
  320.     local qb = {QuaternionFromCFrame(b)}
  321.     local ax, ay, az = a.x, a.y, a.z
  322.     local bx, by, bz = b.x, b.y, b.z
  323.     local _t = 1 - t
  324.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  325. end
  326.  
  327. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  328.     local frame = IT("Frame")
  329.     frame.BackgroundTransparency = TRANSPARENCY
  330.     frame.BorderSizePixel = BORDERSIZEPIXEL
  331.     frame.Position = POSITION
  332.     frame.Size = SIZE
  333.     frame.BackgroundColor3 = COLOR
  334.     frame.BorderColor3 = BORDERCOLOR
  335.     frame.Name = NAME
  336.     frame.Parent = PARENT
  337.     return frame
  338. end
  339.  
  340. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  341.     local label = IT("TextLabel")
  342.     label.BackgroundTransparency = 1
  343.     label.Size = UD2(1, 0, 1, 0)
  344.     label.Position = UD2(0, 0, 0, 0)
  345.     label.TextColor3 = TEXTCOLOR
  346.     label.TextStrokeTransparency = STROKETRANSPARENCY
  347.     label.TextTransparency = TRANSPARENCY
  348.     label.FontSize = TEXTFONTSIZE
  349.     label.Font = TEXTFONT
  350.     label.BorderSizePixel = BORDERSIZEPIXEL
  351.     label.TextScaled = false
  352.     label.Text = TEXT
  353.     label.Name = NAME
  354.     label.Parent = PARENT
  355.     return label
  356. end
  357.  
  358. function NoOutlines(PART)
  359.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  360. end
  361.  
  362.  
  363. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  364.     local NEWWELD = IT(TYPE)
  365.     NEWWELD.Part0 = PART0
  366.     NEWWELD.Part1 = PART1
  367.     NEWWELD.C0 = C0
  368.     NEWWELD.C1 = C1
  369.     NEWWELD.Parent = PARENT
  370.     return NEWWELD
  371. end
  372.  
  373. function CreateSound(ID, PARENT, VOLUME, PITCH, DEBRISTIME)
  374.     local NEWSOUND = nil
  375.     coroutine.resume(coroutine.create(function()
  376.         NEWSOUND = IT("Sound", PARENT)
  377.         NEWSOUND.Volume = VOLUME
  378.         NEWSOUND.Pitch = PITCH
  379.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  380.         Swait()
  381.         NEWSOUND:play()
  382.         NEWSOUND.Name = "Audio"
  383.         if DEBRISTIME ~= nil then
  384.             game:GetService("Debris"):AddItem(NEWSOUND, DEBRISTIME)
  385.         end
  386.     end))
  387.     return NEWSOUND
  388. end
  389.  
  390. function CFrameFromTopBack(at, top, back)
  391.     local right = top:Cross(back)
  392.     return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  393. end
  394.  
  395. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  396.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  397.     local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  398.     wave.CFrame = CFRAME
  399.     coroutine.resume(coroutine.create(function(PART)
  400.         for i = 1, WAIT do
  401.             Swait()
  402.             mesh.Scale = mesh.Scale + GROW
  403.             wave.Transparency = wave.Transparency + (1/WAIT)
  404.             if wave.Transparency > 0.99 then
  405.                 wave:remove()
  406.             end
  407.         end
  408.     end))
  409. end
  410.  
  411. function MagicBlock(SIZE,WAIT,CFRAME,COLOR,GROW)
  412.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE,SIZE,SIZE), true)
  413.     local mesh = IT("BlockMesh",wave)
  414.     wave.CFrame = CFRAME
  415.     coroutine.resume(coroutine.create(function(PART)
  416.         for i = 1, WAIT do
  417.             Swait()
  418.             mesh.Scale = mesh.Scale + GROW
  419.             wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
  420.             wave.Transparency = wave.Transparency + (1/WAIT)
  421.             if wave.Transparency > 0.99 then
  422.                 wave:remove()
  423.             end
  424.         end
  425.     end))
  426. end
  427.  
  428. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  429.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  430.     local mesh = nil
  431.     if KIND == "Base" then
  432.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  433.     elseif KIND == "Thin" then
  434.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  435.     elseif KIND == "Round" then
  436.         mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  437.     end
  438.     wave.CFrame = CFRAME
  439.     coroutine.resume(coroutine.create(function(PART)
  440.         for i = 1, WAIT do
  441.             Swait()
  442.             mesh.Scale = mesh.Scale + GROW/10
  443.             wave.Transparency = wave.Transparency + (0.5/WAIT)
  444.             if wave.Transparency > 0.99 then
  445.                 wave:remove()
  446.             end
  447.         end
  448.     end))
  449. end
  450.  
  451. function MakeForm(PART,TYPE)
  452.     if TYPE == "Cyl" then
  453.         local MSH = IT("CylinderMesh",PART)
  454.     elseif TYPE == "Ball" then
  455.         local MSH = IT("SpecialMesh",PART)
  456.         MSH.MeshType = "Sphere"
  457.     elseif TYPE == "Wedge" then
  458.         local MSH = IT("SpecialMesh",PART)
  459.         MSH.MeshType = "Wedge"
  460.     end
  461. end
  462.  
  463. function CheckTableForString(Table, String)
  464.     for i, v in pairs(Table) do
  465.         if string.find(string.lower(String), string.lower(v)) then
  466.             return true
  467.         end
  468.     end
  469.     return false
  470. end
  471.  
  472. function CheckIntangible(Hit)
  473.     local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  474.     if Hit and Hit.Parent then
  475.         if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  476.             return true
  477.         end
  478.     end
  479.     return false
  480. end
  481.  
  482. Debris = game:GetService("Debris")
  483.  
  484. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  485.     local Direction = CFrame.new(StartPos, Vec).lookVector
  486.     local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  487.     local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  488.     if RayHit and CheckIntangible(RayHit) then
  489.         if DelayIfHit then
  490.             wait()
  491.         end
  492.         RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  493.     end
  494.     return RayHit, RayPos, RayNormal
  495. end
  496.  
  497. function turnto(position)
  498.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  499. end
  500.  
  501. --//=================================\\
  502. --||         WEAPON CREATION
  503. --\\=================================//
  504.  
  505.  
  506. for _, c in pairs(Weapon:GetChildren()) do
  507.     if c.ClassName == "Part" then
  508.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  509.     end
  510. end
  511.  
  512. local Radio = CreatePart(1, Weapon, "Marble", 0, 0, "Pearl", "RAD-io", VT(.1,0.2,0.1),false)
  513. CreateWeldOrSnapOrMotor("Weld", Radio, Torso, Radio, CF(0, 0, 1) * ANGLES(RAD(0), RAD(180), RAD(45)), CF(0, 0, 0))
  514. local RADIOMESH = CreateMesh("SpecialMesh", Radio, "FileMesh", "1082816", "2766467", VT(1,1,1), VT(0,0,0))
  515.  
  516. Weapon.Parent = Character
  517.  
  518. Humanoid.Died:connect(function()
  519.     ATTACK = true
  520. end)
  521.  
  522. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1 , 2, UD2(0.10, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  523. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.60, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  524. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  525. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  526.  
  527. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] sitt", SKILLTEXTCOLOR, 8, "Cartoon", 0, 2, 1, "Text 1")
  528. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Wut", SKILLTEXTCOLOR, 8, "Cartoon", 0, 2, 1, "Text 2")
  529. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Toggle Radio (Open,off)", SKILLTEXTCOLOR, 8, "Cartoon", 0, 2, 1, "Text 3")
  530. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Change song", SKILLTEXTCOLOR, 8, "Cartoon", 0, 2, 1, "Text 4")
  531.  
  532. local INFOFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  533. local INFOTEXT = CreateLabel(INFOFRAME, "Say 'AddSong:ID' to add da song", SKILLTEXTCOLOR, 6, "SciFi", 0, 2, 1, "Text HA")
  534.  
  535. local INFOFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.1, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  536. local INFOTEXT = CreateLabel(INFOFRAME, "Say 'RSong:Number' to remove da song", SKILLTEXTCOLOR, 6, "SciFi", 0, 2, 1, "Text HA")
  537.  
  538.  
  539. --//=================================\\
  540. --||    ATTACK FUNCTIONS AND STUFF
  541. --\\=================================//
  542.  
  543. function onChatted(msg)
  544.     if msg:sub(1,8) == "AddSong:" then
  545.         local ID = msg:sub(9)
  546.         table.insert(SONGS,ID)
  547.         SELECTEDSONG = #SONGS
  548.     end
  549.     if msg:sub(1,11) == "RemoveSong:" then
  550.         local ID = msg:sub(12)
  551.         if ID <= #SONGS then
  552.             table.remove(SONGS,ID)
  553.         end
  554.     end
  555. end
  556. Player.Chatted:connect(onChatted)
  557. function sitt()
  558.     local SITT = CreateSound("188959311", Torso, 0.8, 1, 30)
  559.     ATTACK = true
  560.     repeat Swait() until SITT.TimePosition > .1
  561.     VALUE1 = true
  562.     ATTACK = false
  563. end
  564.  
  565. function mostworryingindeed()
  566.     ATTACK = true
  567.     VALUE2 = true
  568.     CreateSound("188959311", Torso, 10, 1, 6)
  569.     for i = 1, 35 do
  570.         Swait()
  571.         RightArm.Transparency = RightArm.Transparency + 1/35
  572.         LeftArm.Transparency = LeftArm.Transparency + 1/35
  573.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(150, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  574.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-150, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  575.     end
  576.     for i = 1, 150 do
  577.         Swait()
  578.         RightArm.Transparency = RightArm.Transparency - 1/100
  579.         LeftArm.Transparency = LeftArm.Transparency - 1/100
  580.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.2, 1, -0.1) * ANGLES(RAD(155), RAD(-25), RAD(-12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  581.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2, 1, -0.1) * ANGLES(RAD(155), RAD(25), RAD(12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  582.     end
  583.     RightArm.Transparency = 0
  584.     LeftArm.Transparency = 0
  585.     local SITT = CreateSound("501536185", Torso, 10, 1, 6)
  586.     Swait(2)
  587.     repeat Swait() until SITT.Playing == false
  588.     VALUE2 = false
  589.     ATTACK = false
  590. end
  591.  
  592. --//=================================\\
  593. --||      ASSIGN THINGS TO KEYS
  594. --\\=================================//
  595.  
  596. function MouseDown(Mouse)
  597.     if ATTACK == false then
  598.     end
  599. end
  600.  
  601. function MouseUp(Mouse)
  602. HOLD = false
  603. end
  604.  
  605. function KeyDown(Key)
  606.     KEYHOLD = true
  607.     if Key == "z" and ATTACK == false then
  608.         if VALUE1 == false then
  609.             sitt()
  610.         else
  611.             VALUE1 = false
  612.         end
  613.     end
  614.  
  615.     if Key == "b" and ATTACK == false then
  616.         mostworryingindeed()
  617.     end
  618.  
  619.     if Key == "c" and ATTACK == false then
  620.         if SONGPLAYING == false then
  621.             SONGPLAYING = true
  622.             local SONG = CreateSound(SONGS[SELECTEDSONG], Radio, 10, 1, nil)
  623.             SONG.Looped = true
  624.         else
  625.             if Radio:FindFirstChild("Audio") then
  626.                 Radio.Audio:remove()
  627.             end
  628.             SONGPLAYING = false
  629.         end
  630.     end
  631.  
  632.     if Key == "v" and ATTACK == false then
  633.         SELECTEDSONG = SELECTEDSONG + 1
  634.     end
  635. end
  636.  
  637. function KeyUp(Key)
  638.     KEYHOLD = false
  639. end
  640.  
  641.     Mouse.Button1Down:connect(function(NEWKEY)
  642.         MouseDown(NEWKEY)
  643.     end)
  644.     Mouse.Button1Up:connect(function(NEWKEY)
  645.         MouseUp(NEWKEY)
  646.     end)
  647.     Mouse.KeyDown:connect(function(NEWKEY)
  648.         KeyDown(NEWKEY)
  649.     end)
  650.     Mouse.KeyUp:connect(function(NEWKEY)
  651.         KeyUp(NEWKEY)
  652.     end)
  653.  
  654. --//=================================\\
  655. --\\=================================//
  656.  
  657.  
  658. function unanchor()
  659.     if UNANCHOR == true then
  660.         g = Character:GetChildren()
  661.         for i = 1, #g do
  662.             if g[i].ClassName == "Part" then
  663.                 g[i].Anchored = false
  664.             end
  665.         end
  666.     end
  667. end
  668.  
  669.  
  670. --//=================================\\
  671. --||    WRAP THE WHOLE SCRIPT UP
  672. --\\=================================//
  673.  
  674. Humanoid.Changed:connect(function(Jump)
  675.     if Jump == "Jump" and (Disable_Jump == true) then
  676.         Humanoid.Jump = false
  677.     end
  678. end)
  679.  
  680. while true do
  681.     Swait()
  682.     ANIMATE.Parent = nil
  683.     local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  684.     IDLEANIMATION:Play()
  685.     SINE = SINE + CHANGE
  686.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  687.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  688.     local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  689.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  690.     local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  691.     if VALUE1 == false then
  692.         if VALUE2 == false then
  693.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  694.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  695.         end
  696.         HipHeight = 3
  697.         Rooted = false
  698.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.35 * COS(SINE / 42)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  699.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  700.         RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  701.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-25), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  702.     else
  703.         if VALUE2 == false then
  704.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  705.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  706.         end
  707.         Rooted = true
  708.         HipHeight = 0
  709.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  710.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  711.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(75), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  712.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(75), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1/ Animation_Speed)
  713.     end
  714.     unanchor()
  715.     Humanoid.MaxHealth = "inf"
  716.     Humanoid.Health = "inf"
  717.     if Rooted == false then
  718.         Disable_Jump = false
  719.         Humanoid.WalkSpeed = Speed
  720.     elseif Rooted == true then
  721.         Disable_Jump = true
  722.         Humanoid.WalkSpeed = 0
  723.     end
  724.     if SELECTEDSONG > #SONGS then
  725.         SELECTEDSONG = 1
  726.     end
  727.     if SONGPLAYING == true then
  728.         local SONG = Radio:FindFirstChild("Audio")
  729.         if SONG ~= nil then
  730.             SONG.Playing = true
  731.             if SONG.SoundId ~= "rbxassetid://"..SONGS[SELECTEDSONG] then
  732.                 SONG.SoundId = "rbxassetid://"..SONGS[SELECTEDSONG]
  733.                 SONG:Play()
  734.             end
  735.             RADIOMESH.Scale = VT(3,3,3)+(VT(1,1,1)*SONG.PlaybackLoudness/100)
  736.         end
  737.     else
  738.         RADIOMESH.Scale = VT(3,3,3)
  739.     end
  740. end
  741.  
  742. --//=================================\\
  743. --\\=================================//
  744.  
  745.  
  746.  
  747.  
  748.  
  749. --//====================================================\\--
  750. --||                     END OF SCRIPT
  751. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement