View difference between Paste ID: uPtMFZZ0 and NRF7zrvL
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