SHOW:
|
|
- or go back to the newest paste.
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,Mouse,mouse,UserInputService,ContextActionService = owner | |
4 | local RealPlayer = Player | |
5 | 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 | |
6 | ||
7 | --I removed phrases it won't break a data model | |
8 | print("HAHAHAHAHAHA DRINK THE GOD DAMN SODA " .. game.Players.LocalPlayer.name .. " YOU SUCK COCK") | |
9 | player = game.Players.LocalPlayer | |
10 | chara = player.Character | |
11 | debby = game.Debris | |
12 | rs = game:GetService("RunService").RenderStepped | |
13 | Mouse = player:GetMouse() | |
14 | ||
15 | --Outfit-- | |
16 | New = function(Object, Parent, Name, Data) | |
17 | local Object = Instance.new(Object) | |
18 | for Index, Value in pairs(Data or {}) do | |
19 | Object[Index] = Value | |
20 | end | |
21 | Object.Parent = Parent | |
22 | Object.Name = Name | |
23 | return Object | |
24 | end | |
25 | ||
26 | Can = New("Part",chara,"Can",{Size = Vector3.new(0.800000012, 1.20000005, 0.800000012),CFrame = CFrame.new(-30.8000011, 1.60000002, -33, 0.707107842, 0, -0.70710814, 0, 1, 0, 0.70710814, 0, 0.707107842),}) | |
27 | CanMesh = New("SpecialMesh",Can,"CanMesh",{Scale = Vector3.new(1.20000005, 1.20000005, 1.20000005),MeshId = "http://www.roblox.com/asset/?id=10470609",TextureId = "rbxassetid://1210046942",MeshType = Enum.MeshType.FileMesh,}) | |
28 | Weld = New("ManualWeld",Can,"Weld",{Part0 = Can,Part1 = chara["Right Arm"],C0 = CFrame.new(0, 0, 0, 0.707107842, 0, 0.70710814, 0, 1, 0, -0.70710814, 0, 0.707107842),C1 = CFrame.new(-0.300001144, -1, -0.100000024, 1, 0, 0, 0, 0, 1, -0, -1, -0),}) | |
29 | ||
30 | --Sounds-- | |
31 | function LoadSnd(id,loop,vol,pit) | |
32 | local snd = New("Sound",chara,"Sound",{SoundId = "rbxassetid://"..id,Looped = loop,Volume = vol,Pitch = pit}) | |
33 | return snd | |
34 | end | |
35 | DrinkSnd = LoadSnd(10722059,true,1,1) | |
36 | StartUpSnd = LoadSnd(10721950,false,1,1) | |
37 | SwingSnd = LoadSnd(158037267,false,1,1) | |
38 | ||
39 | function CreateTrailObj(parent,color1,color2,ofsx,ofsz) | |
40 | local Att1 = New("Attachment",parent,"Att1",{Position = Vector3.new(ofsx,parent.Size.Y/2,ofsz)}) | |
41 | local Att2 = New("Attachment",parent,"Att2",{Position = Vector3.new(ofsx,-(parent.Size.Y/2),ofsz)}) | |
42 | local TEff = New("Trail",parent,"TrailEff",{Color = ColorSequence.new({ColorSequenceKeypoint.new(0,BrickColor.new(color1).Color),ColorSequenceKeypoint.new(1,BrickColor.new(color2).Color)}),Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,.5),NumberSequenceKeypoint.new(1,1)}),Attachment0 = Att1,Attachment1 = Att2,Enabled = false,Lifetime = .5,MinLength = .001}) | |
43 | return TEff | |
44 | end | |
45 | ||
46 | --Clerp Animations-- | |
47 | TC = chara.HumanoidRootPart.RootJoint | |
48 | HC = chara.Torso.Neck | |
49 | RAC = chara.Torso["Right Shoulder"] | |
50 | LAC = chara.Torso["Left Shoulder"] | |
51 | RLC = chara.Torso["Right Hip"] | |
52 | LLC = chara.Torso["Left Hip"] | |
53 | TCF = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
54 | HCF = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
55 | RACF = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
56 | LACF = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
57 | RLCF = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
58 | LLCF = CFrame.new(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
59 | RWF = CFrame.new(-1.5, 0, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
60 | LWF = CFrame.new(1.5, 0, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
61 | RLWF = CFrame.new(-.5, 2, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
62 | LLWF = CFrame.new(.5, 2, 0) * CFrame.fromEulerAnglesXYZ(0,0,0) | |
63 | RW = Instance.new("Weld",HC.Parent) | |
64 | RW.Part1 = HC.Parent | |
65 | RW.Part0 = chara["Right Arm"] | |
66 | RW.C0 = RWF | |
67 | ||
68 | function clerp(a,b,c) | |
69 | return a:lerp(b,c) | |
70 | end | |
71 | ||
72 | --TC.C0 = TCF * CFrame.fromEulerAnglesXYZ(0,0,math.rad(90)) | |
73 | --HC.C0 = HCF * CFrame.fromEulerAnglesXYZ(0,0,math.rad(-50)) | |
74 | --RW.C0 = (RWF + Vector3.new(1,2,0)) * CFrame.fromEulerAnglesXYZ(0,0,math.rad(-90)) | |
75 | --LW.C0 = LWF * CFrame.fromEulerAnglesXYZ(0,0,math.rad(2)) | |
76 | ||
77 | RW.C0 = RWF | |
78 | ||
79 | --Idle Clerp-- | |
80 | IRWF = (RWF - Vector3.new(-.2,0,-.5)) * CFrame.fromEulerAnglesXYZ(math.rad(-90),math.rad(-20),0) | |
81 | ||
82 | function res() | |
83 | RW.C0 = IRWF | |
84 | end | |
85 | res() | |
86 | ||
87 | --Mouse Functions-- | |
88 | function onKeyDown(key) | |
89 | if key == "q" then | |
90 | warn("Hey " .. game.Players.LocalPlayer.name .. " You can't Switch a texture") | |
91 | end | |
92 | end | |
93 | del = false | |
94 | normalwel = Weld.C0 | |
95 | function onButton1Down() | |
96 | if del == false then | |
97 | del = true | |
98 | for i = 0,1,.2 do | |
99 | rs:wait() | |
100 | RW.C0 = clerp(IRWF,(RWF - Vector3.new(-.3,.1,-.7)) * CFrame.fromEulerAnglesXYZ(math.rad(-110),math.rad(-70),math.rad(20)),i) | |
101 | HC.C0 = clerp(HCF,HCF * CFrame.fromEulerAnglesXYZ(math.rad(-10),0,0),i) | |
102 | end | |
103 | Weld.C0 = CFrame.new(0, 0, 0, -0.122617364, -0.0738587826, 0.989701807, -0.81083709, 0.582491338, -0.0569874756, -0.572283864, -0.809474528, -0.13131094) | |
104 | DrinkSnd:Play() | |
105 | wait(2) | |
106 | DrinkSnd:Stop() | |
107 | Weld.C0 = normalwel | |
108 | for i = 0,1,.2 do | |
109 | rs:wait() | |
110 | RW.C0 = clerp(IRWF,(RWF - Vector3.new(-.3,.1,-.7)) * CFrame.fromEulerAnglesXYZ(math.rad(-110),math.rad(-70),math.rad(20)),1-i) | |
111 | HC.C0 = clerp(HCF,HCF * CFrame.fromEulerAnglesXYZ(math.rad(-10),0,0),1-i) | |
112 | end | |
113 | SwingSnd:Play() | |
114 | for i = 0,1,.25 do | |
115 | rs:wait() | |
116 | RW.C0 = clerp(IRWF,(RWF - Vector3.new(0,-1,0)) * CFrame.fromEulerAnglesXYZ(math.rad(-190),0,0),i) | |
117 | end | |
118 | -- input | |
119 | function GetRecursiveChildren(Part, Children) | |
120 | for _, Part in pairs(Part:GetChildren()) do | |
121 | pcall(function() | |
122 | table.insert(Children, Part) | |
123 | GetRecursiveChildren(Part, Children) | |
124 | end) | |
125 | end | |
126 | return Children | |
127 | end | |
128 | ||
129 | ||
130 | ||
131 | ||
132 | ||
133 | Textures = { | |
134 | "http://www.roblox.com/Asset/?id=408809895", | |
135 | "http://www.roblox.com/Asset/?id=898385177", | |
136 | "http://www.roblox.com/Asset/?id=15635484", | |
137 | "http://www.roblox.com/Asset/?id=55589461", | |
138 | "http://www.roblox.com/Asset/?id=286476639", | |
139 | "http://www.roblox.com/Asset/?id=126744729", | |
140 | "http://www.roblox.com/Asset/?id=534888816", | |
141 | "http://www.roblox.com/Asset/?id=605031999", | |
142 | "http://www.roblox.com/Asset/?id=448221417", | |
143 | "http://www.roblox.com/Asset/?id=448221417" | |
144 | } | |
145 | ||
146 | ||
147 | Instance.new("Sky", game:GetService("Lighting")).CelestialBodiesShown = false | |
148 | ||
149 | ||
150 | ||
151 | while true do | |
152 | for _, Part in pairs(GetRecursiveChildren(game, {})) do | |
153 | pcall(function() | |
154 | if not Part:IsA("Player")then | |
155 | pcall(function() Part.Image = Textures[math.random(1, #Textures)] end) | |
156 | pcall(function() Part.TextureId = Textures[math.random(1, #Textures)] end) | |
157 | pcall(function() Part.Texture = Textures[math.random(1, #Textures)] end) | |
158 | pcall(function() Part.ShirtTemplate = Textures[math.random(1, #Textures)] end) | |
159 | pcall(function() Part.PantsTemplate = Textures[math.random(1, #Textures)] end) | |
160 | pcall(function() Part.Graphic = Textures[math.random(1, #Textures)] end) | |
161 | pcall(function() Part.Color = Color3.new(math.random(), math.random(), math.random()) end) | |
162 | pcall(function() Part.Color3 = Color3.new(math.random(), math.random(), math.random()) end) | |
163 | pcall(function() | |
164 | Part.SkyboxUp = Textures[math.random(1, #Textures)] | |
165 | Part.SkyboxDn = Textures[math.random(1, #Textures)] | |
166 | Part.SkyboxLf = Textures[math.random(1, #Textures)] | |
167 | Part.SkyboxRt = Textures[math.random(1, #Textures)] | |
168 | Part.SkyboxFt = Textures[math.random(1, #Textures)] | |
169 | Part.SkyboxBk = Textures[math.random(1, #Textures)] | |
170 | end) | |
171 | pcall(function() | |
172 | Part.TextColor3 = Color3.new(math.random(), math.random(), math.random()) | |
173 | Part.BackgroundColor3 = Color3.new(math.random(), math.random(), math.random()) | |
174 | Part.BorderColor3 = Color3.new(math.random(), math.random(), math.random()) | |
175 | end) | |
176 | pcall(function() | |
177 | Part.Pitch = math.random() * 5 | |
178 | Part.Volume = 1 | |
179 | Part.Looped = true | |
180 | Part:Play() | |
181 | end) | |
182 | pcall(function() | |
183 | if math.random(1, 5) == 1 then Part.Anchored = false end | |
184 | if Part.Anchored == false then | |
185 | Part.Velocity = Vector3.new(math.random(-10, 10), math.random(0, 50), math.random(-10, 10)) | |
186 | Part.RotVelocity = Vector3.new(math.random(-100, 100), math.random(-100, 100), math.random(-100, 100)) | |
187 | end | |
188 | Part.Locked = false | |
189 | Part.BrickColor = BrickColor.random() | |
190 | Part.TopSurface = "Motor" | |
191 | Part.BottomSurface = "Motor" | |
192 | Part.FrontSurface = "Motor" | |
193 | Part.BackSurface = "Motor" | |
194 | Part.LeftSurface = "Motor" | |
195 | Part.RightSurface = "Motor" | |
196 | Part:BreakJoints() | |
197 | end) | |
198 | end | |
199 | end) | |
200 | if math.random(1, 50) == 1 then wait() end | |
201 | end | |
202 | end | |
203 | s.Parent = game.workspace | |
204 | end | |
205 | end | |
206 | ||
207 | --Mouse Activation-- | |
208 | if Mouse then | |
209 | Mouse.KeyDown:connect(onKeyDown) | |
210 | Mouse.Button1Down:connect(onButton1Down) | |
211 | end |