Advertisement
Disseya

Bow and arrow

Nov 3rd, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.90 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152. wait()
  153. player = game.Players.LocalPlayer
  154. char = player.Character
  155. mouse = player:GetMouse()
  156.  
  157. print("WHAT UP")
  158.  
  159. armed = false
  160. canfire = false
  161. enabled = true
  162. equipped = false
  163.  
  164. mouse.Icon = "rbxassetid://311756275"
  165.  
  166. rightshoulder = char.Torso["Right Shoulder"]:Clone()
  167. leftshoulder = char.Torso["Left Shoulder"]:Clone()
  168. torso = char.HumanoidRootPart.RootJoint:Clone()
  169.  
  170. hed = Instance.new("Weld", char.Torso)
  171. hed.Part0 = char.Torso
  172. hed.Part1 = char.Head
  173. hed.C0 = CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 0, 0)
  174.  
  175. -- the bow stuff
  176.  
  177. bow = Instance.new("Model")
  178. bow.Parent = game.Workspace
  179. bow.Name = "bow"
  180.  
  181. handle = Instance.new("Part")
  182. handle.CFrame = CFrame.new(Vector3.new(-48.1999893, 2.79998732, -58.2000122)) * CFrame.Angles(-3.1415927410126, 0, -0)
  183. handle.Size = Vector3.new(0.200000003, 1.20000005, 0.200000003)
  184. handle.BrickColor = BrickColor.new("Pine Cone")
  185. handle.Friction = 0.30000001192093
  186. handle.Shape = Enum.PartType.Block
  187. handle.Name = "Handle"
  188. handle.Parent = bow
  189. handle.CanCollide = false
  190.  
  191. leg2 = Instance.new("Part")
  192. leg2.CFrame = CFrame.new(Vector3.new(-48.1999931, 1.25002313, -58.2000008)) * CFrame.Angles(-3.1415927410126, 0, -0)
  193. leg2.Size = Vector3.new(0.200000003, 1.90000021, 0.200000003)
  194. leg2.BrickColor = BrickColor.new("Pine Cone")
  195. leg2.Friction = 0.30000001192093
  196. leg2.Shape = Enum.PartType.Block
  197. leg2.Name = "Leg2"
  198. leg2.Parent = bow
  199. leg2.CanCollide = false
  200.  
  201. cap2 = Instance.new("Part")
  202. cap2.CFrame = CFrame.new(Vector3.new(-48.2000046, 0.300019979, -58.2000008)) * CFrame.Angles(1.5707963705063, 0, -0)
  203. cap2.TopSurface = Enum.SurfaceType.Smooth
  204. cap2.BottomSurface = Enum.SurfaceType.Smooth
  205. cap2.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  206. cap2.BrickColor = BrickColor.new("Pine Cone")
  207. cap2.Friction = 0.30000001192093
  208. cap2.Shape = Enum.PartType.Cylinder
  209. cap2.Name = "Cap2"
  210. cap2.Parent = bow
  211. cap2.CanCollide = false
  212.  
  213. joint2 = Instance.new("Part")
  214. joint2.CFrame = CFrame.new(Vector3.new(-48.1999893, 2.19999003, -58.2000237)) * CFrame.Angles(1.5707963705063, 0, -0)
  215. joint2.TopSurface = Enum.SurfaceType.Smooth
  216. joint2.BottomSurface = Enum.SurfaceType.Smooth
  217. joint2.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  218. joint2.BrickColor = BrickColor.new("Pine Cone")
  219. joint2.Friction = 0.30000001192093
  220. joint2.Shape = Enum.PartType.Cylinder
  221. joint2.Name = "Joint2"
  222. joint2.Parent = bow
  223. joint2.CanCollide = false
  224.  
  225. joint1 = Instance.new("Part")
  226. joint1.CFrame = CFrame.new(Vector3.new(-48.2000008, 3.39998126, -58.2000275)) * CFrame.Angles(1.5707963705063, 0, -0)
  227. joint1.TopSurface = Enum.SurfaceType.Smooth
  228. joint1.BottomSurface = Enum.SurfaceType.Smooth
  229. joint1.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  230. joint1.BrickColor = BrickColor.new("Pine Cone")
  231. joint1.Friction = 0.30000001192093
  232. joint1.Shape = Enum.PartType.Cylinder
  233. joint1.Name = "Joint1"
  234. joint1.Parent = bow
  235. joint1.CanCollide = false
  236.  
  237. leg1 = Instance.new("Part")
  238. leg1.CFrame = CFrame.new(Vector3.new(-48.1999931, 4.35000753, -58.2000122)) * CFrame.Angles(-3.1415927410126, 0, -0)
  239. leg1.Size = Vector3.new(0.200000003, 1.90000021, 0.200000003)
  240. leg1.BrickColor = BrickColor.new("Pine Cone")
  241. leg1.Friction = 0.30000001192093
  242. leg1.Shape = Enum.PartType.Block
  243. leg1.Name = "Leg1"
  244. leg1.Parent = bow
  245. leg1.CanCollide = false
  246.  
  247. cap1 = Instance.new("Part")
  248. cap1.CFrame = CFrame.new(Vector3.new(-48.2000046, 5.29999113, -58.2000122)) * CFrame.Angles(1.5707963705063, 0, -0)
  249. cap1.TopSurface = Enum.SurfaceType.Smooth
  250. cap1.BottomSurface = Enum.SurfaceType.Smooth
  251. cap1.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  252. cap1.BrickColor = BrickColor.new("Pine Cone")
  253. cap1.Friction = 0.30000001192093
  254. cap1.Shape = Enum.PartType.Cylinder
  255. cap1.Name = "Cap1"
  256. cap1.Parent = bow
  257. cap1.CanCollide = false
  258.  
  259. stringpart = Instance.new("Part")
  260. stringpart.CFrame = CFrame.new(Vector3.new(-48.2000046, 5.29999113, -58.2000122)) * CFrame.Angles(1.5707963705063, 0, -0)
  261. stringpart.TopSurface = Enum.SurfaceType.Smooth
  262. stringpart.BottomSurface = Enum.SurfaceType.Smooth
  263. stringpart.Size = Vector3.new(0.1, 0.1, 0.1)
  264. stringpart.Transparency = 1
  265. stringpart.BrickColor = BrickColor.new("Mid grey")
  266. stringpart.Friction = 0.30000001192093
  267. stringpart.Shape = Enum.PartType.Cylinder
  268. stringpart.Name = "StringAttachment"
  269. stringpart.Parent = bow
  270. stringpart.CanCollide = false
  271.  
  272. arrow = Instance.new("Model")
  273. arrow.Parent = game.Workspace
  274. arrow.Name = "arrow"
  275.  
  276. feather1 = Instance.new("WedgePart")
  277. feather1.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.90000844, -56.1500168)) * CFrame.Angles(-0, 0, -0)
  278. feather1.TopSurface = Enum.SurfaceType.Smooth
  279. feather1.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
  280. feather1.BrickColor = BrickColor.new("Crimson")
  281. feather1.Friction = 0.30000001192093
  282. feather1.Name = "Feather"
  283. feather1.Parent = arrow
  284. feather1.CanCollide = false
  285. feather1.Transparency = 1
  286.  
  287. feather2 = Instance.new("WedgePart")
  288. feather2.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.50003171, -56.1500168)) * CFrame.Angles(-0, 0, -3.1415927410126)
  289. feather2.TopSurface = Enum.SurfaceType.Smooth
  290. feather2.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
  291. feather2.BrickColor = BrickColor.new("Crimson")
  292. feather2.Friction = 0.30000001192093
  293. feather2.Name = "Feather"
  294. feather2.Parent = arrow
  295. feather2.CanCollide = false
  296. feather2.Transparency = 1
  297.  
  298. arrowhead = Instance.new("WedgePart")
  299. arrowhead.CFrame = CFrame.new(Vector3.new(-48.2999992, 2.80002427, -59.4500008)) * CFrame.Angles(-0, 0, -0)
  300. arrowhead.TopSurface = Enum.SurfaceType.Smooth
  301. arrowhead.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
  302. arrowhead.Friction = 0.30000001192093
  303. arrowhead.Name = "Arrowhead"
  304. arrowhead.Parent = arrow
  305. arrowhead.CanCollide = false
  306. arrowhead.Transparency = 1
  307.  
  308. arrowcap = Instance.new("Part")
  309. arrowcap.CFrame = CFrame.new(Vector3.new(-48.2000046, 5.29999113, -58.2000122)) * CFrame.Angles(1.5707963705063, 0, -0)
  310. arrowcap.TopSurface = Enum.SurfaceType.Smooth
  311. arrowcap.BottomSurface = Enum.SurfaceType.Smooth
  312. arrowcap.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  313. arrowcap.BrickColor = BrickColor.new("Dirt brown")
  314. arrowcap.Friction = 0.30000001192093
  315. arrowcap.Shape = Enum.PartType.Cylinder
  316. arrowcap.Name = "ArrowCap"
  317. arrowcap.Parent = arrow
  318. arrowcap.CanCollide = false
  319. arrowcap.Transparency = 1
  320.  
  321. arrowbody = Instance.new("Part")
  322. arrowbody.CFrame = CFrame.new(Vector3.new(0, 3, 0)) * CFrame.Angles(-0, 0, -0)
  323. arrowbody.Size = Vector3.new(0.200000003, 0.200000003, 3.60000014)
  324. arrowbody.BrickColor = BrickColor.new("Dirt brown")
  325. arrowbody.Friction = 0.30000001192093
  326. arrowbody.Shape = Enum.PartType.Block
  327. arrowbody.Name = "ArrowBody"
  328. arrowbody.Parent = arrow
  329. arrowbody.CanCollide = false
  330. arrowbody.Transparency = 1
  331.  
  332. feather3 = Instance.new("WedgePart")
  333. feather3.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.50004983, -55.9500198)) * CFrame.Angles(-0, 0, -3.1415927410126)
  334. feather3.TopSurface = Enum.SurfaceType.Smooth
  335. feather3.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
  336. feather3.BrickColor = BrickColor.new("Crimson")
  337. feather3.Friction = 0.30000001192093
  338. feather3.Name = "Feather"
  339. feather3.Parent = arrow
  340. feather3.CanCollide = false
  341. feather3.Transparency = 1
  342.  
  343. feather4 = Instance.new("WedgePart")
  344. feather4.CFrame = CFrame.new(Vector3.new(-48.3000031, 2.90003037, -55.9500198)) * CFrame.Angles(-0, 0, -0)
  345. feather4.TopSurface = Enum.SurfaceType.Smooth
  346. feather4.Size = Vector3.new(0.200000003, 0.200000003, 0.299999952)
  347. feather4.BrickColor = BrickColor.new("Crimson")
  348. feather4.Friction = 0.30000001192093
  349. feather4.Name = "Feather"
  350. feather4.Parent = arrow
  351. feather4.CanCollide = false
  352. feather4.Transparency = 1
  353.  
  354. -- the welds
  355.  
  356. whandle = Instance.new("Weld", char["Left Arm"])
  357. whandle.Part0 = char.Torso
  358. whandle.Part1 = handle
  359. whandle.C0 = CFrame.new(0, 0, 0.6) * CFrame.Angles(0, 0, math.rad(45))
  360.  
  361. wstringpart = Instance.new("Weld", handle)
  362. wstringpart.Part0 = handle
  363. wstringpart.Part1 = stringpart
  364. wstringpart.C0 = CFrame.new(0, -0.3, -0.3) * CFrame.new(0, 0, 0)
  365.  
  366. wjoint1 = Instance.new("Weld", handle)
  367. wjoint1.Part0 = handle
  368. wjoint1.Part1 = joint1
  369. wjoint1.C0 = CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0)
  370.  
  371. wjoint2 = Instance.new("Weld", handle)
  372. wjoint2.Part0 = handle
  373. wjoint2.Part1 = joint2
  374. wjoint2.C0 = CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0)
  375.  
  376. wleg1 = Instance.new("Weld", joint1)
  377. wleg1.Part0 = joint1
  378. wleg1.Part1 = leg1
  379. wleg1.C0 = CFrame.new(0, 0.95, 0) * CFrame.Angles(0, 0, 0)
  380.  
  381. wleg2 = Instance.new("Weld", joint2)
  382. wleg2.Part0 = joint2
  383. wleg2.Part1 = leg2
  384. wleg2.C0 = CFrame.new(0, -0.95, 0) * CFrame.Angles(0, 0, 0)
  385.  
  386. wcap1 = Instance.new("Weld", leg1)
  387. wcap1.Part0 = leg1
  388. wcap1.Part1 = cap1
  389. wcap1.C0 = CFrame.new(0, 0.95, 0) * CFrame.Angles(0, 0, 0)
  390.  
  391. wcap2 = Instance.new("Weld", leg2)
  392. wcap2.Part0 = leg2
  393. wcap2.Part1 = cap2
  394. wcap2.C0 = CFrame.new(0, -0.95, 0) * CFrame.Angles(0, 0, 0)
  395.  
  396. cap1att = Instance.new("Attachment", cap1)
  397. cap1att.Position = Vector3.new(0, 0, -0.05)
  398. cap2att = Instance.new("Attachment", cap2)
  399. cap2att.Position = Vector3.new(0, 0, -0.05)
  400. stringatt = Instance.new("Attachment", stringpart)
  401. stringp1 = Instance.new("RodConstraint", stringpart)
  402. stringp1.Color = BrickColor.new("Mid grey")
  403. stringp1.Visible = true
  404. stringp1.Attachment0 = stringatt
  405. stringp1.Attachment1 = cap1att
  406. stringp2 = Instance.new("RodConstraint", stringpart)
  407. stringp2.Color = BrickColor.new("Mid grey")
  408. stringp2.Visible = true
  409. stringp2.Attachment0 = stringatt
  410. stringp2.Attachment1 = cap2att
  411.  
  412. warrowhead1 = Instance.new("Weld", arrowbody)
  413. warrowhead1.Part0 = arrowbody
  414. warrowhead1.Part1 = arrowhead
  415. warrowhead1.C0 = CFrame.new(0, 0, -1.95)
  416.  
  417. wfeather1 = Instance.new("Weld", arrowbody)
  418. wfeather1.Part0 = arrowbody
  419. wfeather1.Part1 = feather1
  420. wfeather1.C0 = CFrame.new(0, 0.2, 1.45)
  421.  
  422. wfeather2 = Instance.new("Weld", arrowbody)
  423. wfeather2.Part0 = arrowbody
  424. wfeather2.Part1 = feather2
  425. wfeather2.C0 = CFrame.new(0, 0.2, 1.4)
  426.  
  427. wfeather3 = Instance.new("Weld", arrowbody)
  428. wfeather3.Part0 = arrowbody
  429. wfeather3.Part1 = feather3
  430. wfeather3.C0 = CFrame.new(0, -0.2, 1.45) * CFrame.Angles(0, 0, 3.15)
  431.  
  432. wfeather4 = Instance.new("Weld", arrowbody)
  433. wfeather4.Part0 = arrowbody
  434. wfeather4.Part1 = feather4
  435. wfeather4.C0 = CFrame.new(0, -0.2, 1.4) * CFrame.Angles(0, 0, 3.15)
  436.  
  437. warrow = Instance.new("Weld", char.Torso)
  438. warrow.Part0 = char.Torso
  439. warrow.Part1 = arrowbody
  440. warrow.C0 = CFrame.new(0, 0, 0.5) * CFrame.Angles(-1.575, 0, 1.575)
  441.  
  442. warrowcap = Instance.new("Weld", arrowbody)
  443. warrowcap.Part0 = arrowbody
  444. warrowcap.Part1 = arrowcap
  445. warrowcap.C0 = CFrame.new(0, 0, 1.8)
  446.  
  447. -- sounds
  448.  
  449. pullbacksound = Instance.new("Sound", handle)
  450. pullbacksound.SoundId = "rbxassetid://609348868"
  451.  
  452. firesound = Instance.new("Sound", handle)
  453. firesound.SoundId = "rbxassetid://609348009"
  454. firesound.PlaybackSpeed = 1.05
  455.  
  456. function velocity(v)
  457. print("killvel")
  458. vel = coroutine.wrap(function()
  459. wait(0.05)
  460. v:Remove()
  461. end)
  462. vel()
  463. end
  464.  
  465. function killz(playa,hitz,kneef)
  466. local heyy = hitz
  467. if hitz == "Right Arm" then
  468. local Limb = playa:FindFirstChild("Right Arm")
  469. local ters = playa:FindFirstChild('Torso')
  470. if Limb and ters then
  471. if ters:FindFirstChild('Right Shoulder') then ters["Right Shoulder"]:Destroy() end
  472. for i,v in pairs(Limb:GetChildren()) do
  473. if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
  474. v:Destroy()
  475. end
  476. end
  477. Limb.CFrame = ters.CFrame * CFrame.new(1.5, 0, 0)
  478. local Joint = Instance.new("Glue")
  479. Joint.Name = "RightShoulder"
  480. Joint.Part0 = ters
  481. Joint.Part1 = Limb
  482. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  483. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  484. Joint.Parent = ters
  485.  
  486. local B = Instance.new("Part")
  487. B.TopSurface = 0
  488. B.BottomSurface = 0
  489. B.formFactor = "Symmetric"
  490. B.Size = Vector3.new(1, 1, 1)
  491. B.Transparency = 1
  492. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  493. B.Parent = playa
  494. local W = Instance.new("Weld")
  495. W.Part0 = Limb
  496. W.Part1 = B
  497. W.C0 = CFrame.new(0, -0.5, 0)
  498. W.Parent = Limb
  499. local coru = coroutine.wrap(function()
  500. local uno = Instance.new('Part',workspace)
  501. local dos = Instance.new('Part',workspace)
  502. uno.CFrame = playa:FindFirstChild(hitz).CFrame
  503. dos.CFrame = kneef.CFrame
  504. local weld = Instance.new('Weld',kneef)
  505. weld.Part0 = playa:FindFirstChild(hitz)
  506. weld.Part1 = kneef
  507. weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
  508. uno:Destroy()
  509. dos:Destroy()
  510. end)
  511. coru()
  512. end
  513. elseif hitz == "Left Arm" then
  514. local Limb = playa:FindFirstChild("Left Arm")
  515. local ters = playa:FindFirstChild('Torso')
  516. if Limb and ters then
  517. if ters:FindFirstChild('Left Shoulder') then ters["Left Shoulder"]:Destroy() end
  518. for i,v in pairs(Limb:GetChildren()) do
  519. if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
  520. v:Destroy()
  521. end
  522. end
  523. Limb.CFrame = ters.CFrame * CFrame.new(-1.5, 0, 0)
  524. local Joint = Instance.new("Glue")
  525. Joint.Name = "LeftShoulder"
  526. Joint.Part0 = ters
  527. Joint.Part1 = Limb
  528. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  529. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  530. Joint.Parent = ters
  531.  
  532. local B = Instance.new("Part")
  533. B.TopSurface = 0
  534. B.BottomSurface = 0
  535. B.formFactor = "Symmetric"
  536. B.Size = Vector3.new(1, 1, 1)
  537. B.Transparency = 1
  538. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  539. B.Parent = playa
  540. local W = Instance.new("Weld")
  541. W.Part0 = ters
  542. W.Part1 = B
  543. W.C0 = CFrame.new(0, -0.5, 0)
  544. W.Parent = Limb
  545. local coru = coroutine.wrap(function()
  546. local uno = Instance.new('Part',workspace)
  547. local dos = Instance.new('Part',workspace)
  548. uno.CFrame = playa:FindFirstChild(hitz).CFrame
  549. dos.CFrame = kneef.CFrame
  550. local weld = Instance.new('Weld',kneef)
  551. weld.Part0 = playa:FindFirstChild(hitz)
  552. weld.Part1 = kneef
  553. weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
  554. uno:Destroy()
  555. dos:Destroy()
  556. end)
  557. coru()
  558. end
  559. elseif hitz == "Right Leg" then
  560. local Limb = playa:FindFirstChild("Right Leg")
  561. local ters = playa:FindFirstChild('Torso')
  562. if Limb and ters then
  563. if ters:FindFirstChild('Right Hip') then ters["Right Hip"]:Destroy() end
  564. for i,v in pairs(Limb:GetChildren()) do
  565. if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
  566. v:Destroy()
  567. end
  568. end
  569. Limb.CFrame = ters.CFrame * CFrame.new(0.5, -2, 0)
  570. local Joint = Instance.new("Glue")
  571. Joint.Name = "Right Hip"
  572. Joint.Part0 = ters
  573. Joint.Part1 = Limb
  574. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  575. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  576. Joint.Parent = ters
  577. local B = Instance.new("Part")
  578. B.TopSurface = 0
  579. B.BottomSurface = 0
  580. B.formFactor = "Symmetric"
  581. B.Size = Vector3.new(1, 1, 1)
  582. B.Transparency = 1
  583. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  584. B.Parent = playa
  585. local W = Instance.new("Weld")
  586. W.Part0 = Limb
  587. W.Part1 = B
  588. W.C0 = CFrame.new(0, -0.5, 0)
  589. W.Parent = Limb
  590. local coru = coroutine.wrap(function()
  591. local uno = Instance.new('Part',workspace)
  592. local dos = Instance.new('Part',workspace)
  593. uno.CFrame = playa:FindFirstChild(hitz).CFrame
  594. dos.CFrame = kneef.CFrame
  595. local weld = Instance.new('Weld',kneef)
  596. weld.Part0 = playa:FindFirstChild(hitz)
  597. weld.Part1 = kneef
  598. weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
  599. uno:Destroy()
  600. dos:Destroy()
  601. if playa:FindFirstChild('HumanoidRootPart') then
  602. if playa.HumanoidRootPart:FindFirstChild('RootJoint') then
  603. playa.HumanoidRootPart:FindFirstChild('RootJoint'):Destroy()
  604. wait()
  605. end
  606. while playa.HumanoidRootPart:FindFirstChild('RootJoint') do
  607. wait()
  608. end
  609. playa:FindFirstChild('HumanoidRootPart'):Destroy()
  610. end
  611. end)
  612. coru()
  613. end
  614. elseif hitz == "Left Leg" then
  615. local Limb = playa:FindFirstChild("Left Leg")
  616. local ters = playa:FindFirstChild('Torso')
  617. if Limb and ters then
  618. if ters:FindFirstChild('Left Hip') then ters["Left Hip"]:Destroy() end
  619. for i,v in pairs(Limb:GetChildren()) do
  620. if v:IsA('Weld') or v:IsA('Motor6D') or v:IsA('Glue') then
  621. v:Destroy()
  622. end
  623. end
  624. Limb.CFrame = ters.CFrame * CFrame.new(0.5, -2, 0)
  625. Limb.CFrame = ters.CFrame * CFrame.new(-0.5, -2, 0)
  626. local Joint = Instance.new("Glue")
  627. Joint.Name = "LeftHip"
  628. Joint.Part0 = ters
  629. Joint.Part1 = Limb
  630. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  631. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  632. Joint.Parent = ters
  633.  
  634. local B = Instance.new("Part")
  635. B.TopSurface = 0
  636. B.BottomSurface = 0
  637. B.formFactor = "Symmetric"
  638. B.Size = Vector3.new(1, 1, 1)
  639. B.Transparency = 1
  640. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  641. B.Parent = playa
  642. local W = Instance.new("Weld")
  643. W.Part0 = Limb
  644. W.Part1 = B
  645. W.C0 = CFrame.new(0, -0.5, 0)
  646. W.Parent = Limb
  647. Limb.CanCollide = false
  648. local coru = coroutine.wrap(function()
  649. local uno = Instance.new('Part',workspace)
  650. local dos = Instance.new('Part',workspace)
  651. uno.CFrame = playa:FindFirstChild(hitz).CFrame
  652. dos.CFrame = kneef.CFrame
  653. local weld = Instance.new('Weld',kneef)
  654. weld.Part0 = playa:FindFirstChild(hitz)
  655. weld.Part1 = kneef
  656. weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
  657. uno:Destroy()
  658. dos:Destroy()
  659. if playa:FindFirstChild('HumanoidRootPart') then
  660. if playa.HumanoidRootPart:FindFirstChild('RootJoint') then
  661. playa.HumanoidRootPart:FindFirstChild('RootJoint'):Destroy()
  662. end
  663. while playa.HumanoidRootPart:FindFirstChild('RootJoint') do
  664. wait()
  665. end
  666. playa:FindFirstChild('HumanoidRootPart'):Destroy()
  667. end
  668. end)
  669. coru()
  670. end
  671. else
  672. local playa2 = playa
  673. playa.Archivable = true
  674. local playa = playa:Clone()
  675. playa.Archivable = false
  676. playa2:Destroy()
  677. playa.Parent = workspace
  678. local Gibs = game.Workspace
  679. local Torso = playa.Torso
  680. local Head = playa:FindFirstChild("Head")
  681. local function Scan(ch)
  682. local e
  683. for e = 1,#ch do
  684. Scan(ch[e]:GetChildren())
  685. if (ch[e].ClassName == "Weld" and ch[e].Part1.Name ~= 'Projectile') or ch[e].ClassName == "Motor6D" then
  686. ch[e]:remove()
  687. end
  688. end
  689. end
  690. Scan(playa:GetChildren())
  691. if playa:FindFirstChild('HumanoidRootPart') then
  692. playa:FindFirstChild('HumanoidRootPart'):Destroy()
  693. end
  694. local hum2 = playa:FindFirstChildOfClass("Humanoid")
  695.  
  696.  
  697. if hum2 ~= nil then
  698. hum2.Name = "Humanoid2"
  699. hum2.PlatformStand = true
  700. hum2.Health = 0
  701. end
  702. local ch = playa:GetChildren()
  703. local i
  704. for i = 1,#ch do
  705. if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  706. ch[i]:remove()
  707. end
  708. end
  709.  
  710. if Head then
  711. local Neck = Instance.new("Weld")
  712. Neck.Name = "Neck"
  713. Neck.Part0 = Torso
  714. Neck.Part1 = Head
  715. Neck.C0 = CFrame.new(0, 1.5, 0)
  716. Neck.C1 = CFrame.new()
  717. Neck.Parent = Torso
  718. end
  719. local Limb = playa:FindFirstChild("Right Arm")
  720. if Limb then
  721.  
  722. Limb.CFrame = Torso.CFrame * CFrame.new(1.5, 0, 0)
  723. local Joint = Instance.new("Glue")
  724. Joint.Name = "RightShoulder"
  725. Joint.Part0 = Torso
  726. Joint.Part1 = Limb
  727. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  728. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  729. Joint.Parent = Torso
  730.  
  731. local B = Instance.new("Part")
  732. B.TopSurface = 0
  733. B.BottomSurface = 0
  734. B.formFactor = "Symmetric"
  735. B.Size = Vector3.new(1, 1, 1)
  736. B.Transparency = 1
  737. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  738. B.Parent = playa
  739. local W = Instance.new("Weld")
  740. W.Part0 = Limb
  741. W.Part1 = B
  742. W.C0 = CFrame.new(0, -0.5, 0)
  743. W.Parent = Limb
  744. end
  745. local Limb = playa:FindFirstChild("Left Arm")
  746. if Limb then
  747.  
  748. Limb.CFrame = Torso.CFrame * CFrame.new(-1.5, 0, 0)
  749. local Joint = Instance.new("Glue")
  750. Joint.Name = "LeftShoulder"
  751. Joint.Part0 = Torso
  752. Joint.Part1 = Limb
  753. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  754. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  755. Joint.Parent = Torso
  756.  
  757. local B = Instance.new("Part")
  758. B.TopSurface = 0
  759. B.BottomSurface = 0
  760. B.formFactor = "Symmetric"
  761. B.Size = Vector3.new(1, 1, 1)
  762. B.Transparency = 1
  763. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  764. B.Parent = playa
  765. local W = Instance.new("Weld")
  766. W.Part0 = Limb
  767. W.Part1 = B
  768. W.C0 = CFrame.new(0, -0.5, 0)
  769. W.Parent = Limb
  770. end
  771. local Limb = playa:FindFirstChild("Right Leg")
  772. if Limb then
  773.  
  774. Limb.CFrame = Torso.CFrame * CFrame.new(0.5, -2, 0)
  775. local Joint = Instance.new("Glue")
  776. Joint.Name = "RightHip"
  777. Joint.Part0 = Torso
  778. Joint.Part1 = Limb
  779. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  780. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  781. Joint.Parent = Torso
  782.  
  783. local B = Instance.new("Part")
  784. B.TopSurface = 0
  785. B.BottomSurface = 0
  786. B.formFactor = "Symmetric"
  787. B.Size = Vector3.new(1, 1, 1)
  788. B.Transparency = 1
  789. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  790. B.Parent = playa
  791. local W = Instance.new("Weld")
  792. W.Part0 = Limb
  793. W.Part1 = B
  794. W.C0 = CFrame.new(0, -0.5, 0)
  795. W.Parent = Limb
  796. end
  797. local Limb = playa:FindFirstChild("Left Leg")
  798. if Limb then
  799.  
  800. Limb.CFrame = Torso.CFrame * CFrame.new(-0.5, -2, 0)
  801. local Joint = Instance.new("Glue")
  802. Joint.Name = "LeftHip"
  803. Joint.Part0 = Torso
  804. Joint.Part1 = Limb
  805. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  806. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  807. Joint.Parent = Torso
  808.  
  809. local B = Instance.new("Part")
  810. B.TopSurface = 0
  811. B.BottomSurface = 0
  812. B.formFactor = "Symmetric"
  813. B.Size = Vector3.new(1, 1, 1)
  814. B.Transparency = 1
  815. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  816. B.Parent = playa
  817. local W = Instance.new("Weld")
  818. W.Part0 = Limb
  819. W.Part1 = B
  820. W.C0 = CFrame.new(0, -0.5, 0)
  821. W.Parent = Limb
  822. end
  823. --[
  824. local Bar = Instance.new("Part")
  825. Bar.TopSurface = 0
  826. Bar.BottomSurface = 0
  827. Bar.formFactor = "Symmetric"
  828. Bar.Size = Vector3.new(1, 1, 1)
  829. Bar.Transparency = 1
  830. Bar.CFrame = Torso.CFrame * CFrame.new(0, 0.5, 0)
  831. Bar.Parent = playa
  832. local Weld = Instance.new("Weld")
  833. Weld.Part0 = Torso
  834. Weld.Part1 = Bar
  835. Weld.C0 = CFrame.new(0, 0.5, 0)
  836. Weld.Parent = Torso
  837. --]]
  838. playa.Parent = Gibs
  839. local coru = coroutine.wrap(function()
  840. print(hitz.Name)
  841. local uno = Instance.new('Part',workspace)
  842. local dos = Instance.new('Part',workspace)
  843. uno.CFrame = playa:FindFirstChild(heyy).CFrame
  844. dos.CFrame = kneef.CFrame
  845. local weld = Instance.new('Weld',kneef)
  846. weld.Part0 = playa:FindFirstChild(heyy)
  847. weld.Part1 = kneef
  848. weld.C0 = uno.CFrame:toObjectSpace(dos.CFrame)
  849. uno:Destroy()
  850. dos:Destroy()
  851. end)
  852. coru()
  853. game.Debris:AddItem(playa, 15)
  854. end
  855. end
  856.  
  857. function checkarms()
  858. check = coroutine.wrap(function()
  859. rshould = char.Torso:FindFirstChild("Right Shoulder")
  860. lshould = char.Torso:FindFirstChild("Left Shoulder")
  861.  
  862. if rshould == nil then
  863. rightshoulder:Clone().Parent = char.Torso
  864. end
  865. if lshould == nil then
  866. rightshoulder:Clone().Parent = char.Torso
  867. end
  868. end)
  869. check()
  870. end
  871.  
  872. mouse.KeyDown:connect(function(k)
  873. key = k:lower()
  874.  
  875. if key == "e" and enabled == true and equipped == true then
  876. if armed == false then
  877. tors = Instance.new("Weld", char.HumanoidRootPart)
  878. tors.Part0 = char.HumanoidRootPart
  879. tors.Part1 = char.Torso
  880. tors.C0 = CFrame.new(0, 0, 0) * CFrame.new(0, 0, 0)
  881.  
  882. crarm = Instance.new("Weld", char.Torso)
  883. crarm.Part0 = char.Torso
  884. crarm.Part1 = char["Right Arm"]
  885. crarm.C0 = CFrame.Angles(0, 0, 0) * CFrame.new(1.5, 0, 0)
  886.  
  887. clarm = Instance.new("Weld", char.Torso)
  888. clarm.Part0 = char.Torso
  889. clarm.Part1 = char["Left Arm"]
  890. clarm.C0 = CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0)
  891.  
  892. enabled = false
  893. for i = 0, 1, 0.1 do
  894. crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 1.5, 0) * CFrame.Angles(3.14, 0, 0), i)
  895. wait()
  896. end
  897. for i, v in pairs(arrow:GetChildren()) do
  898. v.Transparency = 0
  899. end
  900. feather1.Transparency = 0.25
  901. feather2.Transparency = 0.25
  902. feather3.Transparency = 0.25
  903. feather4.Transparency = 0.25
  904.  
  905. warrow.Part0 = char["Right Arm"]
  906. warrow.C0 = CFrame.new(-0.5, -2.7, -0.2) * CFrame.Angles(-1.575, 0.075, -0.5)
  907.  
  908. for i = 0, 1, 0.05 do
  909. tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, -1.5, 0), i)
  910. whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, -0.05, 0), i)
  911. clarm.C0 = clarm.C0:lerp(CFrame.new(-1.6, 0.45, -0.10) * CFrame.Angles(1.2, 0, -1.575), i)
  912. crarm.C0 = crarm.C0:lerp(CFrame.new(-1.35, 0.6, -1) * CFrame.Angles(1.575, 0, -1.575), i)
  913. wjoint1.C0 = wjoint1.C0:lerp(CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0), i)
  914. wjoint2.C0 = wjoint2.C0:lerp(CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0), i)
  915. wstringpart.C0 = wstringpart.C0:lerp(CFrame.new(0, -0.5, -0.3) * CFrame.new(0, 0, 0), i)
  916. hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 1.5, 0), i)
  917. wait()
  918. end
  919. pullbacksound:Play()
  920. warrow.Part0 = stringpart
  921. warrow.C0 = CFrame.new(-0.1, 0, 1.9) * CFrame.Angles(3.15, 0.04, 0)
  922. for i = 0, 1, 0.025 do
  923. tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, -1.5, 0), i)
  924. whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, -0.05, 0), i)
  925. clarm.C0 = clarm.C0:lerp(CFrame.new(-1.95, 0.45, -0.10) * CFrame.Angles(1.2, 0, -1.575), i)
  926. crarm.C0 = crarm.C0:lerp(CFrame.new(1, 0.6, -1) * CFrame.Angles(1.575, 0, -1.575), i)
  927. wjoint1.C0 = wjoint1.C0:lerp(CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.4, 0, 0), i)
  928. wjoint2.C0 = wjoint2.C0:lerp(CFrame.new(0, -0.6, 0) * CFrame.Angles(0.4, 0, 0), i)
  929. wstringpart.C0 = wstringpart.C0:lerp(CFrame.new(0, -0.5, -3) * CFrame.new(0, 0, 0), i)
  930. hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, -0.1) * CFrame.Angles(0, 1.5, -0.25), i)
  931. wait()
  932. end
  933. armed = true
  934. enabled = true
  935. elseif armed == true and equipped == true then
  936. enabled = false
  937. for i = 0,1,0.05 do
  938. clarm.C0 = clarm.C0:lerp(CFrame.new(-1.6, 0.45, -0.10) * CFrame.Angles(1.2, 0, -1.575), i)
  939. crarm.C0 = crarm.C0:lerp(CFrame.new(-1.3, 0.4, -1) * CFrame.Angles(1.575, 0.1, -1.575), i)
  940. wjoint1.C0 = wjoint1.C0:lerp(CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0), i)
  941. wjoint2.C0 = wjoint2.C0:lerp(CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0), i)
  942. wstringpart.C0 = wstringpart.C0:lerp(CFrame.new(0, -0.5, -0.3) * CFrame.new(0, 0, 0), i)
  943. wait()
  944. end
  945. warrow.Part0 = char["Right Arm"]
  946. warrow.C0 = CFrame.new(-0.5, -2.65, -0.2) * CFrame.Angles(-1.575, 0.075, -0.4)
  947. for i = 0,1,0.05 do
  948. crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 1.5, 0) * CFrame.Angles(3.14, 0, 0), i)
  949. tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), i)
  950. whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0), i)
  951. clarm.C0 = clarm.C0:lerp(CFrame.new(-1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
  952. crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
  953. hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 0, 0), i)
  954. wait()
  955. end
  956.  
  957. for i, v in pairs(arrow:GetChildren()) do
  958. v.Transparency = 1
  959. end
  960. warrow.Part0 = char.Torso
  961. warrow.C0 = CFrame.new(0, 0, 0.5) * CFrame.Angles(-1.575, 0, 1.575)
  962.  
  963. for i = 0, 1, 0.1 do
  964. crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
  965. wait()
  966. end
  967. armed = false
  968. enabled = true
  969. clarm:Remove()
  970. crarm:Remove()
  971. tors:Remove()
  972. rightshoulder:Clone().Parent = char.Torso
  973. leftshoulder:Clone().Parent = char.Torso
  974. torso:Clone().Parent = char.HumanoidRootPart
  975. checkarms()
  976. end
  977. elseif key == "z" then
  978. if armed == true or enabled == false then return end
  979. clarm = Instance.new("Weld", char.Torso)
  980. clarm.Part0 = char.Torso
  981. clarm.Part1 = char["Left Arm"]
  982. clarm.C0 = CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0)
  983. if equipped == false then
  984. enabled = false
  985. for i = 0, 1, 0.075 do
  986. clarm.C0 = clarm.C0:lerp(CFrame.new(-0.5, 0, 0.25) * CFrame.Angles(math.rad(-90), 0, math.rad(75)), i)
  987. wait()
  988. end
  989. whandle.C0 = CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0)
  990. whandle.Part0 = char["Left Arm"]
  991. for i = 0, 1, 0.075 do
  992. clarm.C0 = clarm.C0:lerp(CFrame.new(-2, 0.6, 0) * CFrame.Angles(0, 0, math.rad(-90)), i)
  993. wait()
  994. end
  995. for i = 0, 1, 0.075 do
  996. clarm.C0 = clarm.C0:lerp(CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0), i)
  997. wait()
  998. end
  999. enabled = true
  1000. equipped = true
  1001. elseif equipped == true then
  1002. if armed == true or enabled == false then return end
  1003. enabled = false
  1004. for i = 0, 1, 0.075 do
  1005. clarm.C0 = clarm.C0:lerp(CFrame.new(-2, 0.6, 0) * CFrame.Angles(0, 0, math.rad(-90)), i)
  1006. wait()
  1007. end
  1008. for i = 0, 1, 0.075 do
  1009. clarm.C0 = clarm.C0:lerp(CFrame.new(-0.5, 0, 0.25) * CFrame.Angles(math.rad(-90), 0, math.rad(75)), i)
  1010. whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0), i)
  1011. wait()
  1012. end
  1013. whandle.C0 = CFrame.new(0, 0, 0.6) * CFrame.Angles(0, 0, math.rad(45))
  1014. whandle.Part0 = char.Torso
  1015. for i = 0, 1, 0.075 do
  1016. clarm.C0 = clarm.C0:lerp(CFrame.Angles(0, 0, 0) * CFrame.new(-1.5, 0, 0), i)
  1017. wait()
  1018. end
  1019. equipped = false
  1020. enabled = true
  1021. end
  1022. clarm:Remove()
  1023. leftshoulder:Clone().Parent = char.Torso
  1024. end
  1025. end)
  1026.  
  1027. mouse.Button1Down:connect(function()
  1028. if armed == false or enabled == false or equipped == false then return end
  1029. firesound:Play()
  1030. enabled = false
  1031. armed = false
  1032. wjoint1.C0 = CFrame.new(0, 0.6, 0) * CFrame.Angles(-0.1, 0, 0)
  1033. wjoint2.C0 = CFrame.new(0, -0.6, 0) * CFrame.Angles(0.1, 0, 0)
  1034. wstringpart.C0 = CFrame.new(0, -0.5, -0.3) * CFrame.new(0, 0, 0)
  1035. crarm.C0 = CFrame.new(1.2, 0.6, -1) * CFrame.Angles(1.575, 0, -1.575)
  1036. newarrow = arrow:Clone()
  1037. newarrow.Parent = game.Workspace
  1038. newarrow.Name = "flyingarrow"
  1039. newarrow.ArrowBody.CFrame = CFrame.new(newarrow.ArrowBody.CFrame.p, mouse.Hit.p)*CFrame.Angles(0,0,math.pi/1.15)
  1040. char.HumanoidRootPart.CFrame = CFrame.new(char.HumanoidRootPart.CFrame.p, mouse.Hit.p)*CFrame.Angles(0,math.pi/100,0)
  1041. local fly = Instance.new('BodyVelocity',newarrow.ArrowBody)
  1042. fly.Velocity = (newarrow.ArrowBody.CFrame*CFrame.Angles(0,0,math.pi/2)).lookVector*200
  1043. newarrow.Arrowhead.Touched:connect(function(hit)
  1044. if hit.Parent and hit.Parent:FindFirstChildOfClass('Humanoid') and hit.Transparency < 1 and newarrow.Arrowhead.CanCollide == false and hit.Parent:FindFirstChildOfClass('Humanoid').Health > 0 and hit.Parent ~= char then
  1045. velocity(fly)
  1046. newarrow.Arrowhead.CanCollide = true
  1047. game:GetService('Debris'):AddItem(newarrow.Arrowhead,15)
  1048. tone = math.random(1, 3)
  1049. local sound = Instance.new('Sound',newarrow.Arrowhead)
  1050. if tone == 1 then sound.SoundId = "rbxassetid://220833967" end
  1051. if tone == 2 then sound.SoundId = "rbxassetid://220833976" end
  1052. if tone == 3 then sound.SoundId = "rbxassetid://220834000" end
  1053. sound.PlaybackSpeed = 1
  1054. sound:Play()
  1055. newarrow.Arrowhead.Anchored = true
  1056. hit.Anchored = true
  1057. if hit.Parent:FindFirstChildOfClass('Humanoid') and hit.Name == "Torso" or hit.Name == "Head" then
  1058. hit.Parent:FindFirstChildOfClass('Humanoid').Health = 0
  1059. end
  1060. wait()
  1061. hit.Anchored = false
  1062. newarrow.Arrowhead.Anchored = false
  1063. killz(hit.Parent,hit.Name,newarrow.Arrowhead)
  1064. elseif hit.Parent and hit.Parent.Parent:FindFirstChildOfClass('Humanoid') and hit.Transparency < 1 and newarrow.Arrowhead.CanCollide == false and hit.Parent.Parent:FindFirstChildOfClass('Humanoid').Health > 0 and hit.Parent.Parent ~= char and hit.Parent.Parent:FindFirstChild('Head') then
  1065. velocity(fly)
  1066. game:GetService('Debris'):AddItem(newarrow.Arrowhead,15)
  1067. newarrow.Arrowhead.CanCollide = true
  1068. tone = math.random(1, 3)
  1069. local sound = Instance.new('Sound',newarrow.Arrowhead)
  1070. if tone == 1 then sound.SoundId = "rbxassetid://220833967" end
  1071. if tone == 2 then sound.SoundId = "rbxassetid://220833976" end
  1072. if tone == 3 then sound.SoundId = "rbxassetid://220834000" end
  1073. sound.PlaybackSpeed = 1
  1074. sound:Play()
  1075. newarrow.Arrowhead.Anchored = true
  1076. hit.Anchored = true
  1077. if hit.Parent.Parent:FindFirstChildOfClass('Humanoid') then
  1078. hit.Parent.Parent:FindFirstChildOfClass('Humanoid').Health = 0
  1079. end
  1080. wait()
  1081. newarrow.Arrowhead.Anchored = false
  1082. hit.Anchored = false
  1083. killz(hit.Parent.Parent,hit.Name,newarrow.Arrowhead)
  1084. elseif hit.Parent and hit.Parent ~= char and hit.Parent.Parent ~= char and hit.Transparency < 1 and newarrow.Arrowhead.CanCollide == false then
  1085. velocity(fly)
  1086. game:GetService('Debris'):AddItem(newarrow.Arrowhead,15)
  1087. newarrow.Arrowhead.CanCollide = true
  1088. local sound = Instance.new('Sound',newarrow.Arrowhead)
  1089. sound.SoundId = 'rbxassetid://267585646'
  1090. sound:Play()
  1091. end
  1092. end)
  1093.  
  1094. for i, v in pairs(arrow:GetChildren()) do
  1095. v.Transparency = 1
  1096. end
  1097. warrow.Part0 = char.Torso
  1098. warrow.C0 = CFrame.new(0, 0, 0.5) * CFrame.Angles(-1.575, 0, 1.575)
  1099. wait(0.5)
  1100. for i = 0, 1, 0.05 do
  1101. tors.C0 = tors.C0:lerp(CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), i)
  1102. whandle.C0 = whandle.C0:lerp(CFrame.new(0.4, -1, 0) * CFrame.Angles(1.575, 0, 0), i)
  1103. clarm.C0 = clarm.C0:lerp(CFrame.new(-1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
  1104. crarm.C0 = crarm.C0:lerp(CFrame.new(1.5, 0, 0) * CFrame.Angles(0, 0, 0), i)
  1105. hed.C0 = hed.C0:lerp(CFrame.new(0, 1.55, 0) * CFrame.Angles(0, 0, 0), i)
  1106. wait()
  1107. end
  1108. clarm:Remove()
  1109. crarm:Remove()
  1110. tors:Remove()
  1111. rightshoulder:Clone().Parent = char.Torso
  1112. leftshoulder:Clone().Parent = char.Torso
  1113. torso:Clone().Parent = char.HumanoidRootPart
  1114. checkarms()
  1115. enabled = true
  1116. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement