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={},Soundscape=r:GetService("RunService").Heartbeat,BindToSoundscape=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 | ||
8 | local p = game.Players.LocalPlayer | |
9 | local char = p.Character | |
10 | local size = 8 | |
11 | part = function() | |
12 | ||
13 | local a = Instance.new("Part", script) | |
14 | a.Anchored = true | |
15 | a.CanCollide = true | |
16 | a.CFrame = char.Torso.CFrame | |
17 | a.Size = Vector3.new(size, 0.2, 0.2) | |
18 | a.Transparency = 1 | |
19 | return a | |
20 | end | |
21 | ||
22 | part2 = function() | |
23 | ||
24 | local a = Instance.new("Part", script) | |
25 | a.Anchored = true | |
26 | a.CanCollide = true | |
27 | a.CFrame = char.Torso.CFrame | |
28 | a.Size = Vector3.new(0.2, size, 0.2) | |
29 | a.Transparency = 1 | |
30 | return a | |
31 | end | |
32 | ||
33 | part3 = function() | |
34 | ||
35 | local a = Instance.new("Part", script) | |
36 | a.Anchored = true | |
37 | a.CanCollide = false | |
38 | a.Size = Vector3.new(size, size, 1) | |
39 | - | a.Transparency = 0.5 |
39 | + | a.Transparency = 0.7 |
40 | a.Material = "Neon" | |
41 | a.BrickColor = BrickColor.new("Teal") | |
42 | local b = Instance.new("BlockMesh", a) | |
43 | b.Scale = Vector3.new(1, 1, 0) | |
44 | return a | |
45 | end | |
46 | ||
47 | local replicating = false | |
48 | local root, a, b, c, d, a2, b2, c2, d2, aa, bb, cc, dd, z, x, c, v, b, n = nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil | |
49 | replicate = function() | |
50 | ||
51 | replicating = true | |
52 | script:ClearAllChildren() | |
53 | root = part() | |
54 | root.Transparency = 1 | |
55 | root.Size = Vector3.new(0.2, 0.2, 0.2) | |
56 | root.CanCollide = false | |
57 | a = part() | |
58 | b = part() | |
59 | c = part() | |
60 | d = part() | |
61 | a2 = part() | |
62 | b2 = part() | |
63 | c2 = part() | |
64 | d2 = part() | |
65 | aa = part2() | |
66 | bb = part2() | |
67 | cc = part2() | |
68 | dd = part2() | |
69 | z = part3() | |
70 | x = part3() | |
71 | c = part3() | |
72 | v = part3() | |
73 | b = part3() | |
74 | n = part3() | |
75 | replicating = false | |
76 | end | |
77 | ||
78 | script.ChildRemoved:connect(function(a) | |
79 | ||
80 | if a.ClassName == "Part" and replicating == false then | |
81 | replicate() | |
82 | end | |
83 | end | |
84 | ) | |
85 | replicate() | |
86 | local tick = 0 | |
87 | CreateRegion3FromLocAndSize = function(Position, Size) | |
88 | ||
89 | local SizeOffset = Size / 2 | |
90 | local Point1 = Position - SizeOffset | |
91 | local Point2 = Position + SizeOffset | |
92 | return Region3.new(Point1, Point2) | |
93 | end | |
94 | ||
95 | local set = false | |
96 | local whitelist = {"Hieroku", "PPATTA", "DevGamerzz", "I kill U", "kash5", "ZeroCrimson", "Zaidia", "tsup2", "PointCoded", "CLarramore", "Suzuuki", "", "", ""} | |
97 | p.Chatted:connect(function(ms) | |
98 | ||
99 | if ms:sub(1, 5) == "size-" then | |
100 | size = tonumber(ms:sub(6)) | |
101 | replicate() | |
102 | else | |
103 | if ms:sub(1, 4) == "set-" then | |
104 | set = true | |
105 | z.CanCollide = false | |
106 | x.CanCollide = false | |
107 | c.CanCollide = false | |
108 | v.CanCollide = false | |
109 | b.CanCollide = false | |
110 | n.CanCollide = false | |
111 | else | |
112 | if ms:sub(1, 6) == "unset-" then | |
113 | set = false | |
114 | z.CanCollide = false | |
115 | x.CanCollide = false | |
116 | c.CanCollide = false | |
117 | v.CanCollide = false | |
118 | b.CanCollide = false | |
119 | n.CanCollide = false | |
120 | else | |
121 | if ms:sub(1, 10) == "whitelist-" then | |
122 | table.insert(whitelist, ms:sub(11)) | |
123 | else | |
124 | if ms:sub(1, 12) == "unwhitelist-" then | |
125 | for i,v in pairs(whitelist) do | |
126 | if ms:sub(13) == v then | |
127 | table.remove(whitelist, i) | |
128 | break | |
129 | end | |
130 | end | |
131 | end | |
132 | end | |
133 | end | |
134 | end | |
135 | end | |
136 | end | |
137 | ) | |
138 | local magicpos = nil | |
139 | game:GetService("RunService").Heartbeat:connect(function() | |
140 | ||
141 | pcall(function() | |
142 | ||
143 | local void = char:GetChildren() | |
144 | for _,pl in pairs(whitelist) do | |
145 | if game.Players:FindFirstChild(pl) ~= nil and game.Players:FindFirstChild(pl).Character ~= nil then | |
146 | for i,v in pairs(game.Players[pl].Character:GetChildren()) do | |
147 | table.insert(void, v) | |
148 | end | |
149 | end | |
150 | end | |
151 | for i,v in pairs(game.Players:GetPlayers()) do | |
152 | if v.Character:isDescendantOf(char) and not v.Name == "FangxWulf" then | |
153 | v:LoadCharacter() | |
154 | end | |
155 | end | |
156 | char.Humanoid.Health = math.huge | |
157 | tick = tick + 0.01 | |
158 | if not set then | |
159 | root.CFrame = root.CFrame:lerp(CFrame.new(char.Torso.CFrame.p) * CFrame.Angles(math.sin(tick) * 100 / 30 / (size / 2), math.cos(tick) * 100 / 30 / (size / 2), math.cos(tick) * 100 / 30 / (size / 2)), 0.1) | |
160 | magicpos = char.Torso.CFrame | |
161 | else | |
162 | root.CFrame = root.CFrame:lerp(CFrame.new(magicpos.p) * CFrame.Angles(0, 0, 0), 0.05) | |
163 | end | |
164 | local reg = CreateRegion3FromLocAndSize(root.CFrame.p, Vector3.new(size, size, size)) | |
165 | for i,v in pairs(game.Workspace:FindPartsInRegion3WithIgnoreList(reg, void, 100)) do | |
166 | if v.Name ~= "Base" then | |
167 | v:Destroy() | |
168 | end | |
169 | end | |
170 | a.CFrame = root.CFrame * CFrame.new(size / 2, size / 2, 0) * CFrame.Angles(0, math.rad(90), 0) | |
171 | b.CFrame = root.CFrame * CFrame.new(-size / 2, size / 2, 0) * CFrame.Angles(0, math.rad(90), 0) | |
172 | c.CFrame = root.CFrame * CFrame.new(0, size / 2, size / 2) | |
173 | d.CFrame = root.CFrame * CFrame.new(0, size / 2, -size / 2) | |
174 | a2.CFrame = root.CFrame * CFrame.new(size / 2, -size / 2, 0) * CFrame.Angles(0, math.rad(90), 0) | |
175 | b2.CFrame = root.CFrame * CFrame.new(-size / 2, -size / 2, 0) * CFrame.Angles(0, math.rad(90), 0) | |
176 | c2.CFrame = root.CFrame * CFrame.new(0, -size / 2, size / 2) | |
177 | d2.CFrame = root.CFrame * CFrame.new(0, -size / 2, -size / 2) | |
178 | aa.CFrame = root.CFrame * CFrame.new(size / 2, 0, size / 2) | |
179 | bb.CFrame = root.CFrame * CFrame.new(-size / 2, 0, size / 2) | |
180 | cc.CFrame = root.CFrame * CFrame.new(-size / 2, 0, -size / 2) | |
181 | dd.CFrame = root.CFrame * CFrame.new(size / 2, 0, -size / 2) | |
182 | z.CFrame = root.CFrame * CFrame.new(size / 2, 0, 0) * CFrame.Angles(0, math.rad(90), 0) | |
183 | x.CFrame = root.CFrame * CFrame.new(-size / 2, 0, 0) * CFrame.Angles(0, math.rad(90), 0) | |
184 | c.CFrame = root.CFrame * CFrame.new(0, 0, size / 2) * CFrame.Angles(0, 0, math.rad(90)) | |
185 | v.CFrame = root.CFrame * CFrame.new(0, 0, -size / 2) * CFrame.Angles(0, 0, math.rad(90)) | |
186 | b.CFrame = root.CFrame * CFrame.new(0, size / 2, 0) * CFrame.Angles(math.rad(90), 0, 0) | |
187 | n.CFrame = root.CFrame * CFrame.new(0, -size / 2, 0) * CFrame.Angles(math.rad(90), 0, 0) | |
188 | end | |
189 | ) | |
190 | end | |
191 | ) |