SSTheEditer

(Coke | Converted)

Feb 10th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
  2. print("FE Compatibility code by Mokiros")
  3. InternalData = {}
  4. do
  5. script.Parent = owner.Character
  6. local Event = Instance.new("RemoteEvent")
  7. Event.Name = "UserInput"
  8. local function NewFakeEvent()
  9. local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
  10. return Fake
  11. end
  12. local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  13. local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  14. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  15. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  16. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  17. local function TriggerEvent(self,Event,...)
  18. local Trigger = Mouse[Event]
  19. if Trigger and Trigger.fakeEvent and Trigger.Function then
  20. Trigger.Function(...)
  21. end
  22. end
  23. Mouse.TrigEvent = TriggerEvent
  24. UserInputService.TrigEvent = TriggerEvent
  25. Event.OnServerEvent:Connect(function(FiredBy,Input)
  26. if FiredBy.Name ~= owner.Name then end
  27. if Input.MouseEvent then
  28. Mouse.Target = Input.Target
  29. Mouse.Hit = Input.Hit
  30. else
  31. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  32. if Input.UserInputType == Enum.UserInputType.MouseButton1 then
  33. return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
  34. end
  35. for _,Action in pairs(ContextActionService.Actions) do
  36. for _,Key in pairs(Action.Keys) do
  37. if Key==Input.KeyCode then
  38. Action.Function(Action.Name,Input.UserInputState,Input)
  39. end
  40. end
  41. end
  42. Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  43. UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  44. end
  45. end)
  46. InternalData["Mouse"] = Mouse
  47. InternalData["ContextActionService"] = ContextActionService
  48. InternalData["UserInputService"] = UserInputService
  49. Event.Parent = NLS([[
  50. local Player = owner
  51. local Event = script:WaitForChild("UserInput")
  52. local UserInputService = game:GetService("UserInputService")
  53. local Mouse = Player:GetMouse()
  54. local Input = function(Input,gameProcessedEvent)
  55. if gameProcessedEvent then return end
  56. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  57. end
  58. UserInputService.InputBegan:Connect(Input)
  59. UserInputService.InputEnded:Connect(Input)
  60. local Hit,Target
  61. while wait(1/30) do
  62. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  63. Hit,Target = Mouse.Hit,Mouse.Target
  64. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  65. end
  66. end
  67. ]],owner.Character)
  68. end
  69. RealGame = game;game = setmetatable({},{
  70. __index = function (self,Index)
  71. local Sandbox = function (Thing)
  72. if Thing:IsA("Player") then
  73. local RealPlayer = Thing
  74. return setmetatable({},{
  75. __index = function (self,Index)
  76. local Type = type(RealPlayer[Index])
  77. if Type == "function" then
  78. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  79. return function (self)
  80. return InternalData["Mouse"]
  81. end
  82. end
  83. return function (self,...)
  84. return RealPlayer[Index](RealPlayer,...)
  85. end
  86. else
  87. if Index == "PlrObj" then
  88. return RealPlayer
  89. end
  90. return RealPlayer[Index]
  91. end
  92. end;
  93. __tostring = function(self)
  94. return RealPlayer.Name
  95. end
  96. })
  97. end
  98. end
  99. if RealGame[Index] then
  100. local Type = type(RealGame[Index])
  101. if Type == "function" then
  102. if Index:lower() == "getservice" or Index:lower() == "service" then
  103. return function (self,Service)
  104. if Service:lower() == "players" then
  105. return setmetatable({},{
  106. __index = function (self2,Index2)
  107. local RealService = RealGame:GetService(Service)
  108. local Type2 = type(Index2)
  109. if Type2 == "function" then
  110. return function (self,...)
  111. return RealService[Index2](RealService,...)
  112. end
  113. else
  114. if Index2:lower() == "localplayer" then
  115. return Sandbox(owner)
  116. end
  117. return RealService[Index2]
  118. end
  119. end;
  120. __tostring = function(self)
  121. return RealGame:GetService(Service).Name
  122. end
  123. })
  124. elseif Service:lower() == "contextactionservice" then
  125. return InternalData["ContextActionService"]
  126. elseif Service:lower() == "contextactionservice" then
  127. return InternalData["UserInputService"]
  128. elseif Service:lower() == "runservice" then
  129. return setmetatable({},{
  130. __index = function(self2,Index2)
  131. local RealService = RealGame:GetService(Service)
  132. local Type2 = type(Index2)
  133. if Type2 == "function" then
  134. return function (self,...)
  135. return RealService[Index2](RealService,...)
  136. end
  137. else
  138. if Index2:lower() == "bindtorenderstep" then
  139. return function (self,Name,Priority,Function)
  140. return RealGame:GetService("RunService").Stepped:Connect(Function)
  141. end
  142. end
  143. if Index2:lower() == "renderstepped" then
  144. return RealService["Stepped"]
  145. end
  146. return RealService[Index2]
  147. end
  148. end
  149. })
  150. else
  151. return RealGame:GetService(Service)
  152. end
  153. end
  154. end
  155. return function (self,...)
  156. return RealGame[Index](RealGame,...)
  157. end
  158. else
  159. if game:GetService(Index) then
  160. return game:GetService(Index)
  161. end
  162. return RealGame[Index]
  163. end
  164. else
  165. return nil
  166. end
  167. end
  168. });Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
  169. print("Complete! Running...")
  170.  
  171.  
  172. --//Paste script below this line.
  173.  
  174. local plr = game:service'Players'.LocalPlayer
  175. local mouse = plr:GetMouse()
  176. local char = plr.Character
  177. local torso = char:findFirstChild("Torso")
  178. local head = char.Head
  179. local ra = char:findFirstChild("Right Arm")
  180. local la = char:findFirstChild("Left Arm")
  181. local rl = char:findFirstChild("Right Leg")
  182. local ll = char:findFirstChild("Left Leg")
  183. local rs = torso:findFirstChild("Right Shoulder")
  184. local ls = torso:findFirstChild("Left Shoulder")
  185.  
  186. local debounce = false
  187.  
  188. function part(parent, size, formfactor, color, collide, transparency)
  189. local p=Instance.new("Part", parent)
  190. p.FormFactor=formfactor
  191. p.CanCollide=false
  192. p.Size=size
  193. p.Locked=true
  194. p.Transparency=transparency
  195. p.Position=torso.Position
  196. p.BrickColor=color
  197. p.FrontSurface="SmoothNoOutlines"
  198. p.BackSurface="SmoothNoOutlines"
  199. p.LeftSurface="SmoothNoOutlines"
  200. p.BottomSurface="SmoothNoOutlines"
  201. p.TopSurface="SmoothNoOutlines"
  202. p.RightSurface="SmoothNoOutlines"
  203. return p
  204. end
  205. function weld(c0, c1, part1, part0)
  206. local wel=Instance.new("Weld", main)
  207. wel.Part0 = part0
  208. wel.Part1 = part1
  209. wel.C0 = c0
  210. wel.C1 = c1
  211. return wel
  212. end
  213. function specialmesh(parent, meshType, scale, meshId, texture)
  214. local mesh = Instance.new("SpecialMesh", parent)
  215. mesh.Scale = scale
  216. mesh.MeshType = meshType
  217. mesh.MeshId = meshId
  218. mesh.TextureId = texture
  219. return mesh
  220. end
  221.  
  222. tool = Instance.new("Tool", plr.Backpack)
  223. tool.Name = "Coke"
  224. tool.GripForward = Vector3.new(-0.976, 0, -0.217)
  225. tool.GripPos = Vector3.new(0.03, 0, 0)
  226. tool.GripRight = Vector3.new(0.217, 0, -0.976)
  227. tool.GripUp = Vector3.new(0, 1, 0)
  228.  
  229. local p = part(tool, Vector3.new(1, 1.2, 1), "Custom", BrickColor.new("Mid gray"), false, 0)
  230. p.Name = "Handle"
  231. local m = specialmesh(p, "FileMesh", Vector3.new(1.2, 1.2, 1.2), "http://www.roblox.com/asset/?id=10470609", "http://www.roblox.com/asset/?id=10470600")
  232.  
  233.  
  234. tool.Equipped:connect(function(mouse)
  235. ar = Instance.new("Part", char)
  236. ar.FormFactor = "Custom"
  237. ar.Size = Vector3.new(1, 1, 1)
  238. ar.Transparency = 1
  239. ar.CanCollide = false
  240. ar.Locked = true
  241. ar:breakJoints()
  242.  
  243.  
  244. local fakel = Instance.new("Weld", char)
  245. fakel.Part0 = char.Torso
  246. fakel.Part1 = ar
  247. fakel.C0 = CFrame.new(1.5, 0.45, 0)
  248. welditbro = Instance.new("Weld", char)
  249. welditbro.C0 = CFrame.new(0, 0.45, 0)
  250. welditbro.Part0 = ra
  251. welditbro.Part1 = ar
  252.  
  253. for i = 0, 90, 30 do
  254. fakel.C0 = CFrame.new(1.5, 0.45, 0) * CFrame.Angles(math.rad(i), 0, 0)
  255. wait()
  256. end
  257.  
  258. mouse.Button1Down:connect(function(mouse)
  259. if debounce then return end
  260. debounce = true
  261. for i = 90, 120, 10 do
  262. fakel.C0 = CFrame.new(1.5, 0.45, 0) * CFrame.Angles(math.rad(i/2), math.rad(i), math.rad(i/2))
  263. wait()
  264. end
  265. wait(1)
  266. for i = 120, 90, -10 do
  267. fakel.C0 = CFrame.new(1.5, 0.45, 0) * CFrame.Angles(math.rad(i/2), math.rad(i), math.rad(i/2))
  268. wait()
  269. end
  270. fakel.C0 = CFrame.new(1.5, 0.45, 0) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
  271. local flood = part(workspace, workspace:findFirstChild("Base").Size, "Custom", BrickColor.new("Brown"), false, 0)
  272. flood.Anchored = true
  273. flood.Touched:connect(function(hit)
  274. if hit.Parent:FindFirstChild("Humanoid") ~= nil and hit.Parent.Name ~= char.Name then
  275. hit.Parent:BreakJoints()
  276. end
  277. end)
  278. flood.CFrame = workspace:FindFirstChild("Base").CFrame * CFrame.new(0, -2, 0)
  279. for _ = 0, 6, 0.1 do
  280. flood.CFrame = flood.CFrame * CFrame.new(0, 0.1, 0)
  281. wait()
  282. end
  283. flood:Destroy()
  284.  
  285. debounce = false
  286. end)
  287.  
  288.  
  289. end)
  290.  
  291. tool.Unequipped:connect(function(mouse)
  292. pcall(function()
  293. ar:Destroy()
  294. fakel:Destroy()
  295. welditbro:Destroy()
  296. end)
  297. end)
Add Comment
Please, Sign In to add comment