Advertisement
gecksad

Untitled

Dec 25th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --]]
  2. --https://github.com/Mokiros/roblox-FE-compatibility
  3. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  4. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  5. local RealPlayer = Player
  6. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
  7.  
  8. local runDummyScript = function(f,scri)
  9. local oldenv = getfenv(f)
  10. local newenv = setmetatable({}, {
  11. __index = function(_, k)
  12. if k:lower() == 'script' then
  13. return scri
  14. else
  15. return oldenv[k]
  16. end
  17. end
  18. })
  19. setfenv(f, newenv)
  20. ypcall(function() f() end)
  21. end
  22. cors = {}
  23. mas = Instance.new("Model",game:GetService("Lighting"))
  24. mas.Name = "CompiledModel"
  25. o1 = Instance.new("HopperBin")
  26. o2 = Instance.new("LocalScript")
  27. o1.Name = "OPSwords"
  28. o1.Parent = mas
  29. o1.TextureId = "http://www.roblox.com/asset/?id=23722071"
  30. o2.Name = "AnimDeath"
  31. o2.Parent = o1
  32. table.insert(cors,coroutine.create(function()
  33. wait()
  34. runDummyScript(function()
  35. print("Animator Loaded.");
  36.  
  37. --Animation Manager--
  38. local bin = script.Parent;
  39. while (game.Players.LocalPlayer.Character == nil) do
  40.     wait()
  41. end
  42. print("Player found. :)");
  43. local player = game.Players.LocalPlayer.Character;
  44. local human = player.Humanoid;
  45.  
  46. --Tool Variables--
  47. local tselected = false;
  48.  
  49. --Base Part--
  50. local block = Instance.new("Part");
  51. block.FormFactor = "Symmetric";
  52. block.Size = Vector3.new(1, 1, 1);
  53. block.Transparency = 1;
  54. block.CanCollide = false;
  55. block.Locked = true;
  56.  
  57. local sword = Instance.new("Part");
  58. sword.FormFactor = "Plate";
  59. sword.Shape = "Block";
  60. sword.Size = Vector3.new(1, 0.8, 4);
  61. sword.Transparency = 1;
  62. sword.CanCollide = false;
  63. local SlashSound = Instance.new("Sound")
  64. SlashSound.SoundId = "http://www.roblox.com/asset/?id=11998777"
  65. SlashSound.Pitch = 1.4;
  66. SlashSound.Looped = true;
  67. SlashSound.Name = "Voom";
  68. SlashSound.Parent = sword
  69. snd = Instance.new("Sound")
  70. snd.SoundId = "http://www.roblox.com/asset/?id=2233908"
  71. snd.Volume = 1
  72. snd.Name = "Boom"
  73. snd.Parent =  sword
  74. local UnsheathSound = Instance.new("Sound")
  75. UnsheathSound.SoundId = "http://www.roblox.com/asset/?id=11998770"
  76. UnsheathSound.Name = "Go"
  77. UnsheathSound.Volume = 0.5
  78. UnsheathSound.Parent = sword
  79. local mesh = Instance.new("SpecialMesh");
  80. mesh.MeshType = "FileMesh";
  81. mesh.MeshId = "http://www.roblox.com/asset/?id=11996935";
  82. mesh.Scale = Vector3.new(1.4,1.4,1.4);
  83. mesh.TextureId = "http://www.roblox.com/asset/?id=23719291";
  84. mesh.Parent = sword;
  85. local sparkle = Instance.new("Sparkles")
  86. sparkle.SparkleColor = Color3.new(0, 255, 155);
  87. sparkle.Parent = sword;
  88. sparkle.Enabled = false;
  89. local sword2 = sword:Clone();
  90.  
  91. local lsweld = Instance.new("Weld");
  92. local rsweld = Instance.new("Weld");
  93. --Left Arm Positioners and Welders--
  94. local lPosBase = block:Clone();
  95. local lPosWeld = Instance.new("Weld");
  96. local lRotBase = block:Clone();
  97. local lRotWeld = Instance.new("Weld");
  98. local lArmWeld = Instance.new("Weld");
  99.  
  100. --Right Arm Positioners and Welders--
  101. local rPosBase = block:Clone();
  102. local rPosWeld = Instance.new("Weld");
  103. local rRotBase = block:Clone();
  104. local rRotWeld = Instance.new("Weld");
  105. local rArmWeld = Instance.new("Weld");
  106.  
  107. --Head Welder--
  108. local hRotBase = block:Clone();
  109. local hRotWeld = Instance.new("Weld");
  110. local headWeld = Instance.new("Weld");
  111.  
  112. --Bind the base parts to the Torso. Tricky.
  113.  
  114. --Left--
  115. lPosBase.Name = "LPosBase";
  116. lPosWeld.Name = "LPosWeld";
  117. lRotBase.Name = "LRotBase";
  118. lRotWeld.Name = "LRotWeld";
  119. lPosWeld.Part0 = player.Torso;
  120. lPosWeld.Part1 = lPosBase;
  121. lPosWeld.C1 = CFrame.new(1.5, -0.5, 0);
  122. lPosWeld.Parent = player.Torso;
  123. lPosBase.Parent = player;
  124. lRotWeld.Part0 = lPosBase;
  125. lRotWeld.Part1 = lRotBase;
  126. lRotWeld.Parent = player.Torso;
  127. lRotBase.Parent = player;
  128. lArmWeld.Part0 = lRotBase;
  129. lArmWeld.C1 = CFrame.new(0, 0.5, 0);
  130. lArmWeld.Parent = player.Torso;
  131.  
  132. --Right--
  133. rPosBase.Name = "RPosBase";
  134. rPosWeld.Name = "RPosWeld";
  135. rRotBase.Name = "RRotBase";
  136. rRotWeld.Name = "RRotWeld";
  137. rPosWeld.Part0 = player.Torso;
  138. rPosWeld.Part1 = rPosBase;
  139. rPosWeld.C1 = CFrame.new(-1.5, -0.5, 0);
  140. rPosWeld.Parent = player.Torso;
  141. rPosBase.Parent = player;
  142. rRotWeld.Part0 = rPosBase;
  143. rRotWeld.Part1 = rRotBase;
  144. rRotWeld.Parent = player.Torso;
  145. rRotBase.Parent = player;
  146. rArmWeld.Part0 = rRotBase;
  147. rArmWeld.C1 = CFrame.new(0, 0.5, 0);
  148. rArmWeld.Parent = player.Torso;
  149.  
  150. --Head--
  151. hRotBase.Name = "HRotBase";
  152. hRotWeld.Name = "HRotWeld";
  153. headWeld.Name = "HeadWeld";
  154. hRotWeld.Part0 = player.Torso;
  155. hRotWeld.Part1 = hRotBase;
  156. hRotWeld.C1 = CFrame.new(0, -1.5, 0);
  157. hRotWeld.Parent = player.Torso;
  158. hRotBase.Parent = player;
  159. headWeld.Part0 = hRotBase;
  160. headWeld.Parent = player.Torso;
  161.  
  162. --Le Swords--
  163. lsweld.Part0 = lRotBase;
  164. rsweld.Part0 = rRotBase;
  165. lsweld.Part1 = sword;
  166. rsweld.Part1 = sword2;
  167. lsweld.C1 = CFrame.new(0, 0, -3.5)*CFrame.Angles(math.rad(270), math.rad(90), 0);
  168. rsweld.C1 = CFrame.new(0, 0, -3.5)*CFrame.Angles(math.rad(270), math.rad(90), 0);
  169. lsweld.Parent = player.Torso;
  170. rsweld.Parent = player.Torso;
  171. sword.Parent = player;
  172. sword2.Parent = player;
  173. sword.Voom:Stop();
  174. sword2.Voom:Stop();
  175. print("Bases binded.");
  176.  
  177. --Binds the arms and head to the base parts.
  178. function bind()
  179.     lArmWeld.Part1 = player:FindFirstChild("Left Arm");
  180.     rArmWeld.Part1 = player:FindFirstChild("Right Arm");
  181.     headWeld.Part1 = player:FindFirstChild("Head");
  182.     sword.Transparency = 0;
  183.     sword2.Transparency = 0;
  184.     sword.Go:Play();
  185.     sword2.Go:Play();
  186.     sword.Sparkles.Enabled = true;
  187.     sword2.Sparkles.Enabled = true;
  188.     human.WalkSpeed = 28;
  189.     sword.Voom:Play();
  190.     sword2.Voom:Play();
  191. end
  192.  
  193. --Releases the arms and head from the base parts.
  194. function unbind()
  195.     lArmWeld.Part1 = nil;
  196.     rArmWeld.Part1 = nil;
  197.     headWeld.Part1 = nil;
  198.     sword.Transparency = 1;
  199.     sword2.Transparency = 1;
  200.     sword.Sparkles.Enabled = false;
  201.     sword2.Sparkles.Enabled = false;
  202.     human.WalkSpeed = 28;
  203.     sword.Go:Play();
  204.     sword2.Go:Play();
  205.     sword.Voom:Stop();
  206.     sword2.Voom:Stop();
  207. end
  208.  
  209. function boom(part)
  210.     wait();
  211.     if part == nil or tselected == false then return end;
  212.     if part.Anchored then return end;
  213.     if part.Parent == player or part.Parent.Parent == player then return end;
  214.     human:TakeDamage(-1);
  215.     sword.Sparkles:Clone().Parent = part;
  216.     sword.Go:Play();
  217.     sword2.Go:Play();
  218.     wait(0.5)
  219.     part:BreakJoints();
  220.     part.Velocity = Vector3.new(part.Velocity.X+ math.random(10, 20), part.Velocity.Y + math.random(100, 200), part.Velocity.Z+ math.random(10, 20));
  221.     game.Debris:AddItem(part, 10);
  222. end
  223.  
  224. local load = true;
  225.  
  226. function selected(mouse)
  227.     mouse.Icon = "rbxasset://textures\\GunCursor.png"
  228.     bind();
  229.     human.MaxHealth = 9999999;
  230.     if player:FindFirstChild("ForceField") then
  231.         player.ForceField:Destroy();
  232.     end
  233.     tselected = true;
  234.     mouse.Button1Down:connect(function()
  235.         if (load) then
  236.             mouse.Icon = "rbxasset://textures\\GunWaitCursor.png"
  237.             load = false
  238.             sword.Boom:Play();
  239.             sword2.Boom:Play();
  240.             local e = Instance.new("Explosion");
  241.             e.Hit:connect(boom);
  242.             e.Position = player.Torso.Position;
  243.             e.BlastPressure = 0;
  244.             e.BlastRadius = 1000;
  245.             e.Parent = game.Workspace;
  246.             human:TakeDamage(50);
  247.             wait(1)
  248.             mouse.Icon = "rbxasset://textures\\GunCursor.png"
  249.             load = true
  250.         end
  251.     end)
  252.     while tselected do
  253.         lRotWeld.C1 = CFrame.Angles(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)));
  254.         rRotWeld.C1 = CFrame.Angles(math.rad(math.random(0, 360)), math.rad(math.random(0, 360)), math.rad(math.random(0, 360)));
  255.         human:TakeDamage(-0.25);
  256.         wait();
  257.     end
  258. end
  259.  
  260. function deselected()
  261.     tselected = false;
  262.     unbind();
  263.     human.MaxHealth = 9999999;
  264. end
  265.  
  266. --Event Listeners--
  267. sword.Touched:connect(boom);
  268. sword2.Touched:connect(boom);
  269. human.Jumping:connect(function()if tselected == false then return end player.Torso.Velocity = Vector3.new(player.Torso.Velocity.X, player.Torso.Velocity.Y + 40, player.Torso.Velocity.Z)end);
  270. --Tool--
  271. bin.Selected:connect(selected);
  272. bin.Deselected:connect(deselected);
  273. end,o2)
  274. end))
  275. mas.Parent = workspace
  276. mas:MakeJoints()
  277. local mas1 = mas:GetChildren()
  278. for i=1,#mas1 do
  279.     mas1[i].Parent = game:GetService("Players").LocalPlayer.Backpack
  280.     ypcall(function() mas1[i]:MakeJoints() end)
  281. end
  282. mas:Destroy()
  283. for i=1,#cors do
  284. coroutine.resume(cors[i])
  285. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement