Advertisement
megaluxe

knife

Aug 24th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.58 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility by WaverlyCole");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};
  2. do
  3. script.Parent = InternalData.RealOwner.Character
  4. local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event
  5. local function createObject (connections, index)
  6. local proxy = newproxy (true);local meta = getmetatable (proxy);
  7. local runbind = function (self, i, ...) connections[i]:Fire (...); end;
  8. while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end;
  9. meta.__index = function (self, i)
  10. if (i == 'TriggerEvent') then return runbind end;
  11. return connections[i] and connections[i].Event or index[i];
  12. end;
  13. meta.__newindex = index;meta.__metatable = false;return proxy
  14. end;
  15. local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up","Move","Button2Down","Button2Up"},{["Target"] = nil;["Hit"] = CFrame.new()})
  16. local UserInputService = createObject({"InputBegan","InputEnded"},{})
  17. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  18. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  19. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  20. Event.OnServerEvent:Connect(function(FiredBy,Input)
  21. if FiredBy ~= InternalData.RealOwner then return end
  22. if Input.MouseEvent then
  23. Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  24. Mouse:TriggerEvent("Move")
  25. elseif Input.Sound then
  26. if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end
  27. else
  28. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  29. if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end
  30. if Input.UserInputType == Enum.UserInputType.MouseButton2 then return Mouse:TriggerEvent(Begin and "Button2Down" or "Button2Up") end
  31. for _,Action in pairs(ContextActionService.Actions) do
  32. for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  33. end
  34. Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  35. end
  36. end)
  37. InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  38. Event.Parent = NLS([[
  39. local Player = owner;
  40. local Sounds = {};
  41. local Event = script:WaitForChild("UserInput");
  42. local UserInputService = game:GetService("UserInputService");
  43. local Mouse = Player:GetMouse();
  44. local Input = function(Input,gameProcessedEvent)
  45. if gameProcessedEvent then return end
  46. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  47. end
  48. Event.OnClientEvent:connect(function(Args)
  49. if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end
  50. end)
  51. UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  52. local Hit,Target
  53. while wait(1/30) do
  54. for x,Sound in pairs(Sounds) do
  55. if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end
  56. end
  57. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  58. Hit = Mouse.Hit;Target = Mouse.Target;
  59. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  60. end
  61. end
  62. ]],InternalData.RealOwner.Character)
  63. end
  64. InternalData.NewOwner = setmetatable({},{
  65. __index = function (self,Index)
  66. local Type = type(InternalData.RealOwner[Index])
  67. if Type == "function" then
  68. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  69. return function (self)return InternalData["Mouse"] end
  70. end
  71. return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end
  72. elseif Index == "FakePlayer" then
  73. return true
  74. end
  75. return InternalData.RealOwner[Index]
  76. end;
  77. __tostring = function(self) return tostring(InternalData.RealOwner) end
  78. })
  79. InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library)
  80. if Library == "RbxUtility" then
  81. return setmetatable({},{
  82. __tostring = function() return "RbxUtility" end;
  83. __index = function(self, Index)
  84. if Index:lower() == "create" then
  85. return function(Type)
  86. return function(Data)
  87. Data = Data or {}
  88. local Inst = Instance.new(Type)
  89. for x,y in pairs(Data) do
  90. if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end
  91. if y == owner then y = InternalData.RealOwner end
  92. Inst[x] = y
  93. end
  94. return Inst
  95. end
  96. end
  97. end
  98. return InternalData.LoadLibrary(Library)[Index]
  99. end
  100. })
  101. end
  102. return InternalData.LoadLibrary(Library)
  103. end
  104. InternalData.RealInstance = Instance;Instance = setmetatable({},{
  105. __index = function (self,Index)
  106. if Index:lower() == 'new' then
  107. return function (Type, Parent)
  108. if Parent == owner then Parent = InternalData.RealOwner end
  109. if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end
  110. local Real = InternalData.RealInstance.new(Type,Parent)
  111. if not Type then return end
  112. if Type == "BillboardGui" then
  113. local ToReturn = setmetatable({},{
  114. __index = function (self,Index)
  115. if type(Real[Index]) == "function" then
  116. if Index:lower() == "clone" then
  117. return function (self)
  118. local Real = Real:Clone()
  119. local ToReturn = setmetatable({RealObject = Real},{
  120. __index = function (self,Index)
  121. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  122. return Real[Index]
  123. end;
  124. __newindex = function (self,Index,Value)
  125. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  126. if Value == owner then Value = InternalData.RealOwner end
  127. Real[Index] = Value
  128. end;
  129. __tostring = function(self) return tostring(Real) end;
  130. })
  131. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  132. end
  133. end
  134. return function (self,...) return Real[Index](Real,...)end
  135. end
  136. return Real[Index]
  137. end;
  138. __newindex = function (self,Index,Value)
  139. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  140. if Value == owner then Value = InternalData.RealOwner end
  141. Real[Index] = Value
  142. end;
  143. __tostring = function(self) return tostring(Real) end;
  144. })
  145. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  146. elseif Type:lower() == "sound" then
  147. Real.Parent = owner.Character;
  148. local ToReturn = setmetatable({RealObject = Real},{
  149. __index = function (self,Index)
  150. if Index:lower() == "playbackloudness" then
  151. return InternalData.SoundLoudness[Real] or 0
  152. elseif type(Real[Index]) == "function" then
  153. if Index:lower() == "clone" then
  154. return function (self)
  155. local Real = Real:Clone()
  156. local ToReturn = setmetatable({},{
  157. __index = function (self,Index)
  158. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  159. return Real[Index]
  160. end;
  161. __newindex = function (self,Index,Value)
  162. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  163. if Value == owner then Value = InternalData.RealOwner end
  164. Real[Index] = Value
  165. end;
  166. __tostring = function(self) return tostring(Real) end;
  167. })
  168. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  169. end
  170. end
  171. return function (self,...) return Real[Index](Real,...)end
  172. end
  173. return Real[Index]
  174. end;
  175. __newindex = function (self,Index,Value)
  176. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  177. if Value == owner then Value = InternalData.RealOwner end
  178. Real[Index] = Value
  179. end;
  180. __tostring = function(self) return tostring(Real) end;
  181. })
  182. InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn;
  183. else
  184. local ToReturn = setmetatable({RealObject = Real},{
  185. __index = function (self,Index)
  186. if type(Real[Index]) == "function" then
  187. if Index:lower() == "clone" then
  188. return function (self)
  189. local Real = Real:Clone()
  190. local ToReturn = setmetatable({},{
  191. __index = function (self,Index)
  192. if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end
  193. return Real[Index]
  194. end;
  195. __newindex = function (self,Index,Value)
  196. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  197. if Value == owner then Value = InternalData.RealOwner end
  198. Real[Index] = Value
  199. end;
  200. __tostring = function(self) return tostring(Real) end;
  201. })
  202. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  203. end
  204. end
  205. return function (self,...) return Real[Index](Real,...)end
  206. end
  207. return Real[Index]
  208. end;
  209. __newindex = function (self,Index,Value)
  210. if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end
  211. if Value == owner then Value = InternalData.RealOwner end
  212. Real[Index] = Value
  213. end;
  214. __tostring = function(self) return tostring(Real) end;
  215. })
  216. InternalData.RealObjs[ToReturn] = Real;return ToReturn;
  217. end
  218. end
  219. end
  220. return InternalData.RealInstance[Index]
  221. end;
  222. __tostring = function(self) return tostring(InternalData.RealInstance) end;
  223. });
  224. InternalData.RealGame = game;game = setmetatable({},{
  225. __index = function (self,Index)
  226. if InternalData.RealGame[Index] then
  227. local Type = type(InternalData.RealGame[Index])
  228. if Type == "function" then
  229. if Index:lower() == "getservice" or Index:lower() == "service" then
  230. return function (self,Service)
  231. local FakeServices = {
  232. ["players"] = function()
  233. return setmetatable({},{
  234. __index = function (self2,Index2)
  235. local RealService = InternalData.RealGame:GetService(Service)
  236. local Type2 = type(RealService[Index2])
  237. if Type2 == "function" then
  238. return function (self,...) return RealService[Index2](RealService,...)end
  239. else
  240. if Index2:lower() == "localplayer" then return InternalData.NewOwner end
  241. return RealService[Index2]
  242. end
  243. end;
  244. __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end
  245. })
  246. end;
  247. ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  248. ["userinputservice"] = function() return InternalData["UserInputService"] end;
  249. ["debris"] = function()
  250. return setmetatable({},{
  251. __index = function(self2,Index2)
  252. local RealService = InternalData.RealGame:GetService(Service)
  253. local Type2 = type(RealService[Index2])
  254. if Type2 == "function" then
  255. if Index2:lower() == "additem" then
  256. return function (self,Item,Time)
  257. if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end
  258. return RealService:AddItem(Item,Time)
  259. end
  260. end
  261. return function (self,...) return RealService[Index2](RealService,...) end
  262. end
  263. return RealService[Index2]
  264. end;
  265. __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end
  266. })
  267. end;
  268. ["runservice"] = function()
  269. return setmetatable({},{
  270. __index = function(self2,Index2)
  271. local RealService = InternalData.RealGame:GetService(Service)
  272. local Type2 = type(RealService[Index2])
  273. if Type2 == "function" then
  274. return function (self,...) return RealService[Index2](RealService,...) end
  275. else
  276. local RunServices = {
  277. ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  278. ["renderstepped"] = function() return RealService["Stepped"] end
  279. }
  280. if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  281. return RealService[Index2]
  282. end
  283. end;
  284. __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end
  285. })
  286. end
  287. }
  288. if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  289. return InternalData.RealGame:GetService(Service)
  290. end
  291. end
  292. return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end
  293. else
  294. if game:GetService(Index) then return game:GetService(Index) end
  295. return InternalData.RealGame[Index]
  296. end
  297. end
  298. return nil
  299. end;
  300. __tostring = function(self) return tostring(InternalData.game) end
  301. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!")
  302.  
  303. --//Paste script below this line.
  304. --==Made by LuisPambid==--
  305.  
  306.  
  307. local player=game.Players.LocalPlayer
  308. local char=player.Character
  309. repeat wait() until player and char
  310. local torso=char.Torso
  311. local head=char.Head
  312. local human=char.Humanoid
  313. local arm={Left=char["Left Arm"], Right=char["Right Arm"]}
  314. local leg={Left=char["Left Leg"], Right=char["Right Leg"]}
  315. local c=function(f) coroutine.resume(coroutine.create(f)) end
  316. local p=function(f) pcall(f) end
  317. local add = {
  318. Part=function(par, a, c, col, t, s, cf, ms)
  319. local p=Instance.new("Part", par) pcall(function() p.TopSurface="Smooth" p.BottomSurface="Smooth" p.formFactor="Custom" p.Anchored=a p.CanCollide=c p.BrickColor=BrickColor.new(col) p.Transparency=t p.Size=s p.CFrame=cf or CFrame.new() end)
  320. local m=Instance.new("BlockMesh", p) pcall(function() m.Scale=ms or Vector3.new(1, 1, 1) end)
  321. return p
  322. end,
  323. Wedge=function(par, a, c, col, t, s, cf, ms)
  324. local p=Instance.new("WedgePart", par) pcall(function() p.TopSurface="Smooth" p.BottomSurface="Smooth" p.formFactor="Custom" p.Anchored=a p.CanCollide=c p.BrickColor=BrickColor.new(col) p.Transparency=t p.Size=s p.CFrame=cf or CFrame.new() end)
  325. local m=Instance.new("SpecialMesh", p) pcall(function() m.Scale=ms or Vector3.new(1, 1, 1) m.MeshType="Wedge" end)
  326. return p
  327. end,
  328. Gui=function(ins, par, bc, bg, tc, fs, text, t, s, pos)
  329. local g=Instance.new(ins, par) pcall(function() g.BorderColor=BridckColor.new(bc) g.BackgroundColor=BrickColor.new(bg) g.TextColor=BrickColor.new(tc) g.FontSize=fs g.Font="ArialBold" g.Text=text g.Transparency=t g.Size=s g.Position=pos end)
  330. return g
  331. end,
  332. Weld=function(par, p1, cf)
  333. local w=Instance.new("Weld", par) pcall(function() w.Part0=w.Parent or par w.Part1=p1 w.C1=cf or CFrame.new() end)
  334. return w
  335. end,
  336. Mesh=function(ins, par, s, of, t)
  337. local m=Instance.new(ins, par) pcall(function() m.Scale=s or Vector3.new() m.Offset=of or Vector3.new() m.MeshType=t end)
  338. return m
  339. end,
  340. Sound=function(parent, id, volume, pitch)
  341. local s=Instance.new("Sound", parent) pcall(function() s.SoundId=id s.Volume=volume s.Pitch=pitch end)
  342. return s
  343. end,
  344. }
  345. local scriptname="Spy" --Name here
  346. pcall(function() player.Backpack[scriptname]:remove() char[scriptname]:remove() char["Objects"]:remove() player.PlayerGui[scriptname]:remove() end)
  347. local model=Instance.new("Model", char) model.Name="Objects"
  348. local modelB=Instance.new("Model", char) modelB.Name=scriptname
  349. local gui=Instance.new("ScreenGui", player.PlayerGui) gui.Name=scriptname
  350. local bin=Instance.new("HopperBin", player.Backpack) bin.Name=scriptname
  351. local skincolor="Really black"
  352. local body={}
  353. local animate={}
  354. local obj={}
  355. function createParts()
  356. --==PARTS==--
  357. body.Torso=add.Part(model, false, false, skincolor, 1, Vector3.new(2, 2, 1), nil)
  358. body.ArmLeft, body.ArmRight=add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil), add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil)
  359. body.LegLeft, body.LegRight=add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil), add.Part(model, false, false, skincolor, 1, Vector3.new(1, 1, 1), nil)
  360. --==WELDS==--
  361. body.TorsoW=add.Weld(body.Torso, torso, nil)
  362. body.ArmLeftW, body.ArmRightW=add.Weld(body.ArmLeft, body.Torso, CFrame.new(-1.5, .5, 0)), add.Weld(body.ArmRight, body.Torso, CFrame.new(1.5, .5, 0))
  363. body.LegLeftW, body.LegRightW=add.Weld(body.LegLeft, body.Torso, CFrame.new(-.5, -1.5, 0)), add.Weld(body.LegRight, body.Torso, CFrame.new(.5, -1.5, 0))
  364. --==MESHES==--
  365. add.Weld(arm.Left, body.ArmLeft, CFrame.new(0, -.5, 0))
  366. add.Weld(arm.Right, body.ArmRight, CFrame.new(0, -.5, 0))
  367. torso["Left Hip"].Part0=body.Torso
  368. torso["Right Hip"].Part0=body.Torso
  369. ---------------------------------------------------------------------------------------
  370. animate={
  371. ["Torso"]=function(cf) body.Torso.Transparency=0 torso.Transparency=1
  372. body.TorsoW.C1=cf
  373. end;
  374. ["ArmLeft"]=function(cf)
  375. body.ArmLeftW.C1=CFrame.new(-1.5, .5, 0)*cf
  376. end;
  377. ["ArmRight"]=function(cf)
  378. body.ArmRightW.C1=CFrame.new(1.5, .5, 0)*cf
  379. end;
  380. ["LegLeft"]=function(cf)
  381. body.LegLeftW.C1=CFrame.new(-.5, -1.5, 0)*cf
  382. end;
  383. ["LegRight"]=function(cf)
  384. body.LegRightW.C1=CFrame.new(.5, -1.5, 0)*cf
  385. end;
  386. }
  387. --==Objects==--
  388. obj.HandleBack=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.2, 1, .2), nil)
  389. obj.HandleBackW=add.Weld(obj.HandleBack, body.ArmRight, CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, 0))
  390. obj.EdgeBot=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.2, .2, .2), nil)
  391. obj.EdgeBotM=add.Mesh("CylinderMesh", obj.EdgeBot, Vector3.new(1, 1, 1), nil, nil)
  392. obj.EdgeBotW=add.Weld(obj.EdgeBot, obj.HandleBack, CFrame.new(0, -.5, 0)*CFrame.Angles(math.rad(90), 0, math.rad(90)))
  393. obj.EdgeTopR=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.2, .2, .2), nil)
  394. obj.EdgeTopRM=add.Mesh("CylinderMesh", obj.EdgeTopR, Vector3.new(1, 1, 1), nil, nil)
  395. obj.EdgeTopRW=add.Weld(obj.EdgeTopR, obj.HandleBack, CFrame.new(0, .5, 0)*CFrame.Angles(math.rad(90), 0, math.rad(90)))
  396.  
  397. obj.Blade=add.Part(modelB, false, false, "Gold", 0, Vector3.new(.2, .8, .2), nil)
  398. obj.BladeM=add.Mesh("BlockMesh", obj.Blade, Vector3.new(.5, 1, 1), nil, nil)
  399. obj.BladeW=add.Weld(obj.Blade, obj.EdgeTopR, CFrame.new(-.1, 0, -.4)*CFrame.Angles(-math.rad(90), math.rad(90), 0))
  400. obj.Point=add.Part(modelB, false, false, "Gold", 0, Vector3.new(.2, .4, .2), nil)
  401. obj.PointM=add.Mesh("SpecialMesh", obj.Point, Vector3.new(.5, 1, .5), nil, "Wedge")
  402. obj.PointW=add.Weld(obj.Point, obj.Blade, CFrame.new(0, .6, .05)*CFrame.Angles(0, math.rad(180), 0))
  403. obj.Point2=add.Part(modelB, false, false, "Gold", 0, Vector3.new(.2, .4, .2), nil)
  404. obj.Point2M=add.Mesh("SpecialMesh", obj.Point2, Vector3.new(.5, 1, .5), nil, "Wedge")
  405. obj.Point2W=add.Weld(obj.Point2, obj.Blade, CFrame.new(0, .6, -.05))
  406.  
  407. obj.Joints=add.Part(modelB, false, false, "Gold", 0, Vector3.new(.2, .25, .2), nil)
  408. obj.JointsM=add.Mesh("CylinderMesh", obj.Joints, Vector3.new(.5, 1, .5), nil, nil)
  409. obj.JointsW=add.Weld(obj.Joints, obj.EdgeBot, nil)
  410. obj.Joints=add.Part(modelB, false, false, "Gold", 0, Vector3.new(.2, .25, .2), nil)
  411. obj.JointsM=add.Mesh("CylinderMesh", obj.Joints, Vector3.new(.5, 1, .5), nil, nil)
  412. obj.JointsW=add.Weld(obj.Joints, obj.EdgeTopR, nil)
  413.  
  414. obj.EdgeTopR2=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.2, .2, .2), nil)
  415. obj.EdgeTopR2M=add.Mesh("CylinderMesh", obj.EdgeTopR2, Vector3.new(1, 1, 1), nil, nil)
  416. obj.EdgeTopR2W=add.Weld(obj.EdgeTopR2, obj.Blade, CFrame.new(0, -.4, -.1)*CFrame.Angles(math.rad(90), 0, math.rad(90)))
  417. obj.HandleFor=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.2, 1, .2), nil)
  418. obj.HandleForW=add.Weld(obj.HandleFor, obj.EdgeTopR2, CFrame.new(0, 0, .5)*CFrame.Angles(-math.rad(90), -math.rad(90), 0))
  419. obj.EdgeBot=add.Part(modelB, false, false, "Really black", 0, Vector3.new(.2, .2, .2), nil)
  420. obj.EdgeBotM=add.Mesh("CylinderMesh", obj.EdgeBot, Vector3.new(1, 1, 1), nil, nil)
  421. obj.EdgeBotW=add.Weld(obj.EdgeBot, obj.HandleFor, CFrame.new(0, -.5, 0)*CFrame.Angles(math.rad(90), 0, math.rad(90)))
  422. obj.Joints=add.Part(modelB, false, false, "Gold", 0, Vector3.new(.2, .25, .2), nil)
  423. obj.JointsM=add.Mesh("CylinderMesh", obj.Joints, Vector3.new(.5, 1, .5), nil, nil)
  424. obj.JointsW=add.Weld(obj.Joints, obj.EdgeBot, nil)
  425. obj.Joints=add.Part(modelB, false, false, "Gold", 0, Vector3.new(.2, .25, .2), nil)
  426. obj.JointsM=add.Mesh("CylinderMesh", obj.Joints, Vector3.new(.5, 1, .5), nil, nil)
  427. obj.JointsW=add.Weld(obj.Joints, obj.EdgeTopR2, nil)
  428. end
  429. function removeParts()
  430. p(function()
  431. if torso then
  432. torso["Left Hip"].Part0=torso
  433. torso["Right Hip"].Part0=torso
  434. end
  435. for i, v in pairs(model:children()) do v:remove() end for i, v in pairs(modelB:children()) do v:remove() end for i, v in pairs(char:children()) do v.Transparency=0 end
  436. end)
  437. end
  438. --Variables--
  439. local trailDeb=false
  440. local using=false
  441. local combo=1
  442. local onStab=false
  443. local keyDeb=false
  444. local switch=false
  445. local switch2=false
  446. local keyDeb2=false
  447. local hitDeb=false
  448. local dmg=math.random(5, 10)
  449. local speed=20
  450. local pitch=.8
  451. local Slash=add.Sound(torso, "rbxasset://sounds//swordslash.wav", 2, pitch)
  452. local Hit=add.Sound(torso, "http://www.roblox.com/asset/?id=30715280", 2, 2)
  453. local Abscond=add.Sound(torso, "http://www.roblox.com/asset/?id=2767090", 2, 2)
  454. local Equip=add.Sound(torso, "http://www.roblox.com/asset/?id=13510737", 2, 2)
  455. local attackLabel=add.Gui("TextLabel", gui, "Gold", "Gold", "Gold", "Size18", "Invisible(Q)", 0, UDim2.new(0, 150, 0, 50), UDim2.new(0, 0, 0, 150))
  456. local attackLabel2=add.Gui("TextLabel", attackLabel, "Gold", "Gold", "Gold", "Size18", "Disguise(E)", 0, UDim2.new(1, 0, 1, 0), UDim2.new(0, 0, 1, 0))
  457.  
  458. function lightningGen(startPos, endPos)
  459. local magnitude=(startPos-endPos).magnitude
  460. local distance=(startPos+endPos)/2
  461. local pattern=add.Part(workspace, true, false, "Gold", 1, Vector3.new(.2, .2, magnitude), CFrame.new(distance, startPos))
  462. local startPosProx=startPos
  463. for i=1, 9 do
  464. local startPosProx2=startPosProx
  465. local random=Vector3.new(math.random(-1, 1), math.random(-1, 1), math.random(-1, 1))
  466. local findSize=pattern.Size.z/10
  467. local findOffSet=pattern.CFrame.lookVector*-1
  468. local compute=i*findSize*findOffSet
  469. local newStartPos=startPos
  470. local newEndPos=CFrame.new(random+compute+newStartPos).p
  471. local magnitude=(startPosProx2-newEndPos).magnitude
  472. local distance=(startPosProx2+newEndPos)/2
  473. local lightning=add.Part(workspace, true, false, "Bright yellow", 0, Vector3.new(.2, .2, magnitude), CFrame.new(distance, startPosProx2))
  474. c(function()
  475. for i=0, 1, .1 do wait()
  476. lightning.Transparency=i
  477. end
  478. lightning:remove()
  479. end)
  480. startPosProx=newEndPos
  481. end
  482. pattern:remove()
  483. end
  484. function computePos(pos, pos2)
  485. local pos3=Vector3.new(pos2.x, pos.y, pos2.z)
  486. torso.CFrame=CFrame.new(pos, pos3)
  487. return pos3
  488. end
  489. function nearTorso(pos, dis)
  490. local temp
  491. local distance=dis
  492. for i, v in pairs(workspace:children()) do
  493. if v:isA("Model") then
  494. temp=v:findFirstChild("Torso")
  495. local humanoid=v:findFirstChild("Humanoid")
  496. if temp and humanoid and v~=char and (temp.CFrame.p-pos).magnitude<distance then
  497. distance=(temp.CFrame.p-pos).magnitude
  498. return temp
  499. end
  500. end
  501. end
  502. end
  503. function trail(pos, cf, col)
  504. c(function()
  505. local old=(pos.CFrame*cf).p
  506. while trailDeb==true do
  507. wait()
  508. local new=(pos.CFrame*cf).p
  509. local mag=(old-new).magnitude
  510. local dis=(old+new)/2
  511. local trail=add.Part(workspace, true, false, col, 0, Vector3.new(.2, mag, .2), CFrame.new(dis, new)*CFrame.Angles(math.pi/2, 0, 0)) trail.Name="Trail"
  512. local tMesh=add.Mesh("CylinderMesh", trail, Vector3.new(.5, 1, .5), nil, nil)
  513. old=new
  514. c(function()
  515. for i=1, 0, -.1 do
  516. wait()
  517. tMesh.Scale=tMesh.Scale*Vector3.new(i, 1, i)
  518. end
  519. trail:remove()
  520. end)
  521. c(function()
  522. for i=0, 1, .1 do
  523. wait()
  524. trail.Transparency=i
  525. end
  526. end)
  527. end
  528. end)
  529. end
  530.  
  531. function running()
  532. animate.ArmLeft(CFrame.Angles(-math.rad(45), 0, -math.rad(15)))
  533. animate.ArmRight(CFrame.Angles(math.rad(45), 0, math.rad(15)))
  534. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, 0)
  535. end
  536.  
  537. function hit(h)
  538. if using==true then
  539. if switch==false then
  540. if onStab==false and h.Parent:findFirstChild("Humanoid") and h.Parent~=char and hitDeb==false then hitDeb=true print("ErrorUnNamed") Hit:play()
  541. local hHuman=h.Parent:findFirstChild("Humanoid")
  542. hHuman.Health=hHuman.Health-dmg
  543. local fakeM=Instance.new("Model", workspace) fakeM.Name=-dmg
  544. local fakeH=Instance.new("Humanoid", fakeM) fakeH.MaxHealth=0 fakeH.Health=0
  545. local effect=add.Part(fakeM, false, false, "Gold", 0, Vector3.new(1, 1, 1), h.CFrame) effect.Name="Head"
  546. local fakeMesh=add.Mesh("CylinderMesh", effect, Vector3.new(1, .5, 1), nil, nil)
  547. local bp=Instance.new("BodyPosition", effect) bp.maxForce=Vector3.new(math.huge, math.huge, math.huge) bp.position=h.Position+Vector3.new(0, 4, 0)
  548. game.Debris:addItem(fakeM, 2)
  549. wait(1)
  550. hitDeb=false
  551. end
  552. if onStab==true and h.Parent~=char and h.Parent:findFirstChild("Humanoid") and hitDeb==false then hitDeb=true print("Error") Hit:play()
  553. h.Parent:breakJoints()
  554. local fakeM=Instance.new("Model", workspace) fakeM.Name="Tr1st4bb3d"
  555. local fakeH=Instance.new("Humanoid", fakeM) fakeH.MaxHealth=0 fakeH.Health=0
  556. local effect=add.Part(fakeM, false, false, "Bright red", 0, Vector3.new(1, 1, 1), h.CFrame) effect.Name="Head"
  557. local fakeMesh=add.Mesh("CylinderMesh", effect, Vector3.new(1, .5, 1), nil, nil)
  558. local bp=Instance.new("BodyPosition", effect) bp.maxForce=Vector3.new(math.huge, math.huge, math.huge) bp.position=h.Position+Vector3.new(0, 4, 0)
  559. game.Debris:addItem(fakeM, 2)
  560. wait(1)
  561. hitDeb=false
  562. end
  563. end
  564. end
  565. end
  566.  
  567. function findStab()
  568. while using==false do wait()
  569. --pcall(function()
  570. local nTorso=nearTorso(torso.CFrame.p, 3)
  571. if nTorso then
  572. local offSet=nTorso.CFrame:toObjectSpace(torso.CFrame)
  573. if offSet.z>0 then
  574. onStab=true
  575. animate.ArmRight(CFrame.Angles(math.rad(135), 0, 0))
  576. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(math.rad(90), 0, 0)
  577. else
  578. onStab=false
  579. running()
  580. end
  581. else
  582. onStab=false
  583. running()
  584. end
  585. --end)
  586. end
  587. end
  588.  
  589. function attack() combo=combo+1
  590. if using==false then using=true for i, v in pairs(modelB:children()) do v.Touched:connect(hit) end
  591. if combo==1 and onStab==false then Slash:play()
  592. --[[trailDeb=true
  593. trail(obj.Blade, CFrame.new(0, 1, 0), "Gold")]]
  594. for i=0, 1, .2 do wait()
  595. animate.Torso(CFrame.Angles(0, math.rad(45)*i, 0))
  596. animate.ArmRight(CFrame.Angles(math.rad(90)*i, 0, 0))
  597. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(45)*i)
  598. end
  599. for i=1, 0, -.2 do wait()
  600. animate.Torso(CFrame.Angles(0, math.rad(45)*i, 0))
  601. animate.ArmRight(CFrame.Angles(math.rad(90)*i, 0, 0))
  602. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), 0, math.rad(45)*i)
  603. end
  604. if combo>1 and onStab==false then combo=2 Slash:play()
  605. for i=0, 1, .2 do wait()
  606. animate.Torso(CFrame.Angles(0, math.rad(45)*i, 0))
  607. animate.ArmRight(CFrame.Angles(math.rad(90)*i, 0, math.rad(45)*i))
  608. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90+(90*i)), 0, 0)
  609. end
  610. for i=1, 0, -.2 do wait()
  611. animate.Torso(CFrame.Angles(0, math.rad(45)*i, 0))
  612. animate.ArmRight(CFrame.Angles(math.rad(90)*i, 0, math.rad(45)*i))
  613. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90+(90*i)), 0, 0)
  614. end
  615. end
  616. end
  617. if onStab==true then
  618. for i=0, 1, .2 do wait()
  619. animate.ArmRight(CFrame.Angles(math.rad(135-(45*i)), 0, 0))
  620. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(math.rad(90), 0, 0)
  621. end
  622. onStab=false
  623. end
  624. using=false
  625. --trailDeb=false
  626. combo=0
  627. body.Torso.Transparency=1 torso.Transparency=0
  628. running()
  629. findStab()
  630. end
  631. end
  632.  
  633. bin.Selected:connect(function(mouse) createParts()
  634. human.WalkSpeed=speed
  635. running()
  636. using=true
  637. Equip:play()
  638. for i=1, 0, -.1 do wait()
  639. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), math.rad(180)*i, 0)
  640. obj.EdgeTopRW.C1=CFrame.new(0, .5, 0)*CFrame.Angles(math.rad(90)+math.rad(180)*i, 0, math.rad(90))
  641. obj.EdgeTopR2W.C1=CFrame.new(0, -.4, -.1)*CFrame.Angles(math.rad(90)+math.rad(180)*i, 0, math.rad(90))
  642. end
  643. using=false
  644. mouse.Button1Down:connect(attack)
  645. mouse.KeyDown:connect(function(key)
  646. local key=key:lower()
  647. --INVISBLE--
  648. if key=="q" and keyDeb==false and switch==false and using==false then keyDeb=true switch=true using=true
  649. attackLabel.Text="Visible(Q)" print("1") Abscond:play()
  650. pcall(function() char.Sound.Disabled=true end)
  651. for i, v in pairs(char:children()) do
  652. c(function()
  653. for i=0, 1, .2 do wait()
  654. pcall(function()
  655. c(function() if v.Head~=nil then head.Transparency=1 end end)
  656. v.Transparency=i
  657. end)
  658. pcall(function() v.Handle.Transparency=i end)
  659. pcall(function() v.face.Transparency=i end)
  660. pcall(function() v.roblox.Transparency=i end)
  661. pcall(function() v.Head.Transparency=i end)
  662. end
  663. end)
  664. end
  665. for i, v in pairs(modelB:children()) do
  666. c(function()
  667. for i=0, 1, .2 do wait()
  668. pcall(function()
  669. v.Transparency=i
  670. end)
  671. pcall(function() v.Handle.Transparency=i end)
  672. pcall(function() v.face.Transparency=i end)
  673. end
  674. end)
  675. end
  676. wait(.5)
  677. local fakeModel=Instance.new("Model", workspace.CurrentCamera) fakeModel.Name="Spy"
  678. local fakeHumanoid=Instance.new("Humanoid", fakeModel) fakeHumanoid.Health=0 fakeHumanoid.MaxHealth=0
  679. local fakeHead=add.Part(fakeModel, false, false, "Really black", 0, Vector3.new(1, 1, 1), nil) fakeHead.Name="Head"
  680. local fakeHeadM=add.Mesh("SpecialMesh", fakeHead, Vector3.new(1, 1.5, 1), nil, "File")
  681. fakeHeadM.MeshId="http://www.roblox.com/Asset/?id=9756362"
  682. local fakeHeadW=add.Weld(fakeHead, torso, CFrame.new(0, 1.5, 0))
  683. modelB.Parent=workspace.CurrentCamera
  684. for i, v in pairs(modelB:children()) do
  685. c(function()
  686. for i=0, 1, .2 do wait()
  687. pcall(function()
  688. v.Transparency=.5
  689. end)
  690. pcall(function() v.Handle.Transparency=.5 end)
  691. pcall(function() v.face.Transparency=.5 end)
  692. end
  693. end)
  694. end
  695. keyDeb=false
  696. elseif key=="q" and keyDeb==false and switch==true and using==true then keyDeb=true switch=false using=false
  697. attackLabel.Text="Invisible(Q)" print("2") Abscond:play()
  698. pcall(function() char.Sound.Disabled=false end)
  699. modelB.Parent=char
  700. for i, v in pairs(char:children()) do
  701. c(function()
  702. for i=1, 0, -.2 do wait()
  703. pcall(function()
  704. c(function() if v.Head~=nil then head.Transparency=1 end end)
  705. v.Transparency=i
  706. end)
  707. pcall(function() v.Handle.Transparency=i end)
  708. pcall(function() v.face.Transparency=i end)
  709. pcall(function() v.roblox.Transparency=i end)
  710. pcall(function() v.Head.Transparency=i end)
  711. end
  712. end)
  713. end
  714. for i, v in pairs(modelB:children()) do
  715. c(function()
  716. for i=1, 0, -.2 do wait()
  717. pcall(function()
  718. v.Transparency=i
  719. end)
  720. pcall(function() v.Handle.Transparency=i end)
  721. pcall(function() v.face.Transparency=i end)
  722. end
  723. end)
  724. end
  725. for i, v in pairs(workspace.CurrentCamera:children()) do pcall(function() v:remove() end) end
  726. wait(.5)
  727. keyDeb=false
  728. findStab()
  729. end
  730. --DISGUISE MENU--
  731. local xSpace=0
  732. if key=="e" and keyDeb2==false and switch2==false then keyDeb2=true switch2=true
  733. attackLabel2.Text="Menu:"
  734. for i, v in pairs(game.Players:children()) do
  735. if v~=player then xSpace=xSpace+1
  736. local playersLabel=add.Gui("TextButton", attackLabel2, "Gold", "Gold", "Gold", "Size18", v.Name, 0, UDim2.new(1, 0, 1, 0), UDim2.new(xSpace, 0, 0, 0))
  737. playersLabel.MouseButton1Click:connect(function() Abscond:play()
  738. pcall(function()
  739. for i, v in pairs(char:children()) do
  740. pcall(function() v.face:remove() end)
  741. pcall(function() v.roblox:remove() end)
  742. pcall(function() v.Head:remove() end)
  743. if v:IsA("BodyColors") then v:remove() end
  744. if v:IsA("Hat") then v:remove() end
  745. if v:IsA("ShirtGraphic") then v:remove() end
  746. if v:IsA("Pants") then v:remove() end
  747. if v:IsA("Shirt") then v:remove() end
  748. if v:IsA("CharacterMesh") then v:remove() end
  749. if v:IsA("BodyColors") then v:remove() end
  750. end
  751. for i, v in pairs(game.Players[playersLabel.Text].Character:children()) do
  752. pcall(function() local cloned=v.face:clone() cloned.Parent=head if switch==true then pcall(function() cloned.Transparency=1 end) end end)
  753. pcall(function() v.roblox:clone().Parent=torso end)
  754. if v:IsA("BodyColors") then v:clone().Parent=char end
  755. if v:IsA("Hat") then local cloned=v:clone() cloned.Parent=char if switch==true then pcall(function() cloned.Handle.Transparency=1 end) end end
  756. if v:IsA("ShirtGraphic") then v:clone().Parent=char end
  757. if v:IsA("Pants") then v:clone().Parent=char end
  758. if v:IsA("Shirt") then v:clone().Parent=char end
  759. if v:IsA("CharacterMesh") then v:clone().Parent=char end
  760. if v:IsA("BodyColors") then v:clone().Parent=char end
  761. end
  762. head.Transparency=1
  763. local fakeModel=Instance.new("Model", char) fakeModel.Name=playersLabel.Text
  764. local fakeHumanoid=Instance.new("Humanoid", fakeModel) fakeHumanoid.Health=125 fakeHumanoid.MaxHealth=125
  765. local fakeHead=add.Part(fakeModel, false, false, game.Players[playersLabel.Text].Character.Head.Color, 0, Vector3.new(1, 1, 1), nil) fakeHead.Name="Head"
  766. if switch==true then fakeHead.Transparency=1 end
  767. local fakeHeadM=add.Mesh("SpecialMesh", fakeHead, Vector3.new(1.25, 1.25, 1.25), nil, "Head")
  768. local fakeHeadW=add.Weld(fakeHead, torso, CFrame.new(0, 1.5, 0))
  769. end)
  770. end)
  771. end
  772. end
  773. keyDeb2=false
  774. elseif key=="e" and keyDeb2==false and switch2==true then keyDeb2=true switch2=false
  775. attackLabel2.Text="Disguise(E)"
  776. for i, v in pairs(attackLabel2:children()) do
  777. pcall(function()v:remove()end)
  778. end
  779. keyDeb2=false
  780. end
  781. end)
  782. findStab()
  783. end)
  784. bin.Deselected:connect(function()
  785. Equip:play()
  786. for i=0, 1, .1 do wait()
  787. obj.HandleBackW.C1=CFrame.new(0, -1.5, 0)*CFrame.Angles(-math.rad(90), math.rad(180)*i, 0)
  788. obj.EdgeTopRW.C1=CFrame.new(0, .5, 0)*CFrame.Angles(math.rad(90)+math.rad(180)*i, 0, math.rad(90))
  789. obj.EdgeTopR2W.C1=CFrame.new(0, -.4, -.1)*CFrame.Angles(math.rad(90)+math.rad(180)*i, 0, math.rad(90))
  790. end
  791. switch2=false using=false for i, v in pairs(attackLabel2:children()) do pcall(function()v:remove()end) end removeParts() end)--mediafire
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement