1 | Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/vKhonshu/intro2/main/ui2"))() |
2 | local NotifyLib = loadstring(game:HttpGet("https://raw.githubusercontent.com/vKhonshu/intro/main/ui"))() |
3 | NotifyLib.prompt('Rainbow Sunshine', 'kredits to TheRealX_ORA', 5) |
4 | local UserInputService = game:GetService("UserInputService") |
5 | local RunService = game:GetService("RunService") |
6 | local VirtualInputManager = game:service("VirtualInputManager") |
7 | |
8 | local isTouchEnabled = UserInputService.TouchEnabled |
9 | local isMouseEnabled = UserInputService.MouseEnabled |
10 | local isKeyboardEnabled = UserInputService.KeyboardEnabled |
11 | local isGamepadEnabled = UserInputService.GamepadEnabled |
12 | |
13 | if isTouchEnabled then |
14 | NotifyLib.prompt('Mobile Devixe Detekted', 'Loading V Tool..', 5) |
15 | getgenv().keytoclick = "V" |
16 | local tool = Instance.new("Tool") |
17 | tool.RequiresHandle = false |
18 | tool.Name = "sunshine" |
19 | tool.Activated:connect(function() |
20 | VirtualInputManager:SendKeyEvent(true, keytoclick, false, game) |
21 | end) |
22 | tool.Parent = game:GetService("Players").LocalPlayer:WaitForChild("Backpack") |
23 | local player = game:GetService("Players").LocalPlayer |
24 | player.CharacterRemoving:Connect(function() |
25 | tool.Parent = player.Backpack |
26 | end) |
27 | NotifyLib.prompt('Mobile V Tool', 'V Tool Has Successfully Loaded!', 5) |
28 | elseif isMouseEnabled and isMouseEnabled then |
29 | NotifyLib.prompt('💻 Devixe Detekted', 'Smite them with V!', 5) |
30 | elseif isGamepadEnabled and isTouchEnabled then |
31 | NotifyLib.prompt('Kontroller And Mobile Device Detected', 'Loading V Tool..', 5) |
32 | getgenv().keytoclick = "V" |
33 | local tool = Instance.new("Tool") |
34 | tool.RequiresHandle = false |
35 | tool.Name = "sunshine" |
36 | tool.Activated:connect(function() |
37 | VirtualInputManager:SendKeyEvent(true, keytoclick, false, game) |
38 | end) |
39 | tool.Parent = game:GetService("Players").LocalPlayer:WaitForChild("Backpack") |
40 | local player = game:GetService("Players").LocalPlayer |
41 | player.CharacterRemoving:Connect(function() |
42 | tool.Parent = player.Backpack |
43 | end) |
44 | NotifyLib.prompt('Kontroller And Mobile V Tool', 'V Tool Has Suxxessfully Loaded!', 5) |
45 | elseif isMouseEnabled and isMouseEnabled and isTouchEnabled then |
46 | NotifyLib.prompt('Hybird Mobile Devixe Detekted', 'Loading V Tool..', 5) |
47 | getgenv().keytoclick = "V" |
48 | local tool = Instance.new("Tool") |
49 | tool.RequiresHandle = false |
50 | tool.Name = "Smite" |
51 | tool.Activated:connect(function() |
52 | VirtualInputManager:SendKeyEvent(true, keytoclick, false, game) |
53 | end) |
54 | tool.Parent = game:GetService("Players").LocalPlayer:WaitForChild("Backpack") |
55 | local player = game:GetService("Players").LocalPlayer |
56 | player.CharacterRemoving:Connect(function() |
57 | tool.Parent = player.Backpack |
58 | end) |
59 | NotifyLib.prompt('Hybird Mobile V Tool', 'V Tool Has Successfully Loaded!', 5) |
60 | end |
61 | |
62 | Settings = { |
63 | rewrittenmain = { |
64 | Enabled = true, |
65 | Key = "v", |
66 | DOT = true, |
67 | AIRSHOT = true, |
68 | NOTIF = true, |
69 | AUTOPRED = true, |
70 | FOV = math.huge, |
71 | } |
72 | } |
73 | |
74 | local SelectedPart = "HumanoidRootPart" |
75 | local Prediction = true |
76 | local PredictionValue = 0.1357363 |
77 | |
78 | local CC = game:GetService("Workspace").CurrentCamera |
79 | local Plr; |
80 | local enabled = false |
81 | local accomidationfactor = 0.136 |
82 | local mouse = game.Players.LocalPlayer:GetMouse() |
83 | local data = game.Players:GetPlayers() |
84 | |
85 | local placemarker = Instance.new("Part", game.Workspace) |
86 | placemarker.Material = Enum.Material.ForceField |
87 | placemarker.Reflectance = 0 |
88 | placemarker.Shape = Enum.PartType.Ball |
89 | placemarker.TopSurface = Enum.SurfaceType.Smooth |
90 | placemarker.BottomSurface = Enum.SurfaceType.Smooth |
91 | placemarker.FrontSurface = Enum.SurfaceType.Smooth |
92 | placemarker.BackSurface = Enum.SurfaceType.Smooth |
93 | placemarker.LeftSurface = Enum.SurfaceType.Smooth |
94 | placemarker.RightSurface = Enum.SurfaceType.Smooth |
95 | |
96 | local hue = 0 |
97 | |
98 | |
99 | RunService.Heartbeat:Connect(function(deltaTime) |
100 | hue = (hue + deltaTime * 0.1) % 1 |
101 | local color = Color3.fromHSV(hue, 1, 1) |
102 | placemarker.Color = color |
103 | end) |
104 | |
105 | function makemarker(Parent, Adornee, Color, Size, Size2) |
106 | local e = Instance.new("BillboardGui", Parent) |
107 | e.Name = "PP" |
108 | e.Adornee = Adornee |
109 | e.Size = UDim2.new(Size, Size2, Size, Size2) |
110 | e.AlwaysOnTop = Settings.rewrittenmain.DOT |
111 | local a = Instance.new("Frame", e) |
112 | if Settings.rewrittenmain.DOT == true then |
113 | a.Size = UDim2.new(2, 0, 2, 0) |
114 | else |
115 | a.Size = UDim2.new(0, 0, 0, 0) |
116 | end |
117 | if Settings.rewrittenmain.DOT == true then |
118 | a.Transparency = 0 |
119 | a.BackgroundTransparency = 0 |
120 | else |
121 | a.Transparency = 1 |
122 | a.BackgroundTransparency = 1 |
123 | end |
124 | a.BackgroundColor3 = Color |
125 | local hue = 0 |
126 | RunService.Heartbeat:Connect(function(deltaTime) |
127 | hue = (hue + deltaTime * 0.1) % 1 |
128 | local color = Color3.fromHSV(hue, 1, 1) |
129 | a.BackgroundColor3 = color |
130 | end) |
131 | local g = Instance.new("UICorner", a) |
132 | if Settings.rewrittenmain.DOT == false then |
133 | g.CornerRadius = UDim.new(0, 0) |
134 | else |
135 | g.CornerRadius = UDim.new(1, 1) |
136 | end |
137 | return(e) |
138 | end |
139 | |
140 | function noob(player) |
141 | local character |
142 | repeat wait() until player.Character |
143 | local handler = makemarker(guimain, player.Character:WaitForChild(SelectedPart), Color3.fromRGB(0, 0, 0), 0.3, 3) |
144 | handler.Name = player.Name |
145 | player.CharacterAdded:connect(function(Char) handler.Adornee = Char:WaitForChild(SelectedPart) end) |
146 | |
147 | spawn(function() |
148 | while wait() do |
149 | if player.Character then |
150 | end |
151 | end |
152 | end) |
153 | end |
154 | |
155 | for i = 1, #data do |
156 | if data[i] ~= game.Players.LocalPlayer then |
157 | noob(data[i]) |
158 | end |
159 | end |
160 | |
161 | game.Players.PlayerAdded:connect(function(Player) |
162 | noob(Player) |
163 | end) |
164 | |
165 | spawn(function() |
166 | placemarker.Anchored = true |
167 | placemarker.CanCollide = false |
168 | |
169 | if Settings.rewrittenmain.DOT == true then |
170 | placemarker.Size = Vector3.new(8, 8, 8) |
171 | else |
172 | placemarker.Size = Vector3.new(0, 0, 0) |
173 | end |
174 | |
175 | placemarker.Transparency = 0.50 |
176 | |
177 | if Settings.rewrittenmain.DOT then |
178 | makemarker(placemarker, placemarker, Color3.fromRGB(255, 0, 0), 0.40, 0) |
179 | end |
180 | end) |
181 | |
182 | game.Players.LocalPlayer:GetMouse().KeyDown:Connect(function(k) |
183 | if k == Settings.rewrittenmain.Key and Settings.rewrittenmain.Enabled then |
184 | if enabled == true then |
185 | enabled = false |
186 | |
187 | if Settings.rewrittenmain.NOTIF == true then |
188 | Plr = getClosestPlayerToCursor() |
189 | game.StarterGui:SetCore("SendNotification", { |
190 | Title = "Unlocked", |
191 | Text = "Spared: "..tostring(Plr.Character.Humanoid.DisplayName), |
192 | Duration = 1.5 |
193 | }) |
194 | end |
195 | else |
196 | Plr = getClosestPlayerToCursor() |
197 | enabled = true |
198 | if Settings.rewrittenmain.NOTIF == true then |
199 | game.StarterGui:SetCore("SendNotification", { |
200 | Title = "Locked", |
201 | Text = "Victim: "..tostring(Plr.Character.Humanoid.DisplayName), |
202 | Duration = 2.5 |
203 | }) |
204 | end |
205 | end |
206 | end |
207 | end) |
208 | |
209 | function getClosestPlayerToCursor() |
210 | local closestPlayer |
211 | local shortestDistance = Settings.rewrittenmain.FOV |
212 | |
213 | for i, v in pairs(game.Players:GetPlayers()) do |
214 | if v ~= game.Players.LocalPlayer and v.Character and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health ~= 0 and v.Character:FindFirstChild("HumanoidRootPart") then |
215 | |
216 | local pos = CC:WorldToViewportPoint(v.Character.PrimaryPart.Position) |
217 | local magnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude |
218 | |
219 | if magnitude < shortestDistance then |
220 | closestPlayer = v |
221 | shortestDistance = magnitude |
222 | end |
223 | end |
224 | end |
225 | return closestPlayer |
226 | end |
227 | |
228 | local lastNotificationTime = 0 |
229 | local pingvalue = nil; |
230 | local split = nil; |
231 | local ping = nil; |
232 | |
233 | local function generatePredictionValue(ping) |
234 | local baseValues = { |
235 | {maxPing = 10, base = 0.1}, |
236 | {maxPing = 30, base = 0.11}, |
237 | {maxPing = 50, base = 0.12}, |
238 | {maxPing = 70, base = 0.13}, |
239 | {maxPing = 90, base = 0.14}, |
240 | {maxPing = 110, base = 0.15}, |
241 | {maxPing = 130, base = 0.16}, |
242 | {maxPing = 150, base = 0.17}, |
243 | {maxPing = 170, base = 0.18}, |
244 | {maxPing = 190, base = 0.19}, |
245 | {maxPing = 210, base = 0.20}, |
246 | {maxPing = 230, base = 0.21}, |
247 | {maxPing = 250, base = 0.22}, |
248 | |
249 | } |
250 | |
251 | local predictionGenerator = 0.235 |
252 | for _, range in ipairs(baseValues) do |
253 | if ping <= range.maxPing then |
254 | predictionGenerator = range.base |
255 | break |
256 | end |
257 | end |
258 | |
259 | local numberOfDigits = math.random(12, 15) |
260 | predictionGenerator = tostring(predictionGenerator) |
261 | for _ = 1, numberOfDigits do |
262 | local randomDigit = tostring(math.random(0, 9)) |
263 | predictionGenerator = predictionGenerator .. randomDigit |
264 | end |
265 | |
266 | return predictionGenerator |
267 | end |
268 | |
269 | local lastNotificationTime = 0 |
270 | game:GetService("RunService").Stepped:connect(function() |
271 | if enabled and Plr.Character ~= nil and Plr.Character:FindFirstChild("HumanoidRootPart") then |
272 | placemarker.CFrame = CFrame.new(Plr.Character.HumanoidRootPart.Position + (Plr.Character.HumanoidRootPart.Velocity * accomidationfactor)) |
273 | else |
274 | placemarker.CFrame = CFrame.new(0, 9999, 0) |
275 | end |
276 | if Settings.rewrittenmain.AUTOPRED == true then |
277 | local pingvalue = game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValueString() |
278 | local split = string.split(pingvalue, '(') |
279 | local ping = tonumber(split[1]) |
280 | |
281 | local predictionValue = generatePredictionValue(ping) |
282 | end |
283 | end) |
284 | |
285 | local mt = getrawmetatable(game) |
286 | local old = mt.__namecall |
287 | |
288 | setreadonly(mt, false) |
289 | mt.__namecall = newcclosure(function(...) |
290 | local args = {...} |
291 | if enabled and getnamecallmethod() == "FireServer" and Settings.rewrittenmain.Enabled and Plr.Character ~= nil then |
292 | if args[2] == "UpdateMousePos" then |
293 | |
294 | if Prediction == true then |
295 | if type(args[3]) == "table" then |
296 | args[3] = { |
297 | Plr.Character[SelectedPart].Position + (Plr.Character[SelectedPart].Velocity * PredictionValue) |
298 | } |
299 | elseif type(args[3]) ~= "table" then |
300 | args[3] = Plr.Character[SelectedPart].Position + (Plr.Character[SelectedPart].Velocity * PredictionValue) |
301 | end |
302 | |
303 | else |
304 | if type(args[3]) == "table" then |
305 | args[3] = { |
306 | Plr.Character[SelectedPart].Position |
307 | } |
308 | elseif type(args[3]) ~= "table" then |
309 | args[3] = Plr.Character[SelectedPart].Position |
310 | end |
311 | end |
312 | |
313 | elseif args[2] == "MOUSE" then |
314 | |
315 | if Prediction == true then |
316 | if type(args[3]) == "table" then |
317 | args[3] = { |
318 | Plr.Character[SelectedPart].Position + (Plr.Character[SelectedPart].Velocity * PredictionValue) |
319 | } |
320 | elseif type(args[3]) ~= "table" then |
321 | args[3] = Plr.Character[SelectedPart].Position + (Plr.Character[SelectedPart].Velocity * PredictionValue) |
322 | end |
323 | |
324 | else |
325 | if type(args[3]) == "table" then |
326 | args[3] = { |
327 | Plr.Character[SelectedPart].Position |
328 | } |
329 | elseif type(args[3]) ~= "table" then |
330 | args[3] = Plr.Character[SelectedPart].Position |
331 | end |
332 | end |
333 | |
334 | elseif args[2] == "MousePos" then |
335 | if Prediction == true then |
336 | if type(args[3]) == "table" then |
337 | args[3] = { |
338 | Plr.Character[SelectedPart].Position + (Plr.Character[SelectedPart].Velocity * PredictionValue) |
339 | } |
340 | elseif type(args[3]) ~= "table" then |
341 | args[3] = Plr.Character[SelectedPart].Position + (Plr.Character[SelectedPart].Velocity * PredictionValue) |
342 | end |
343 | |
344 | else |
345 | if type(args[3]) == "table" then |
346 | args[3] = { |
347 | Plr.Character[SelectedPart].Position |
348 | } |
349 | elseif type(args[3]) ~= "table" then |
350 | args[3] = Plr.Character[SelectedPart].Position |
351 | end |
352 | end |
353 | end |
354 | return old(unpack(args)) |
355 | end |
356 | return old(...) |
357 | end) |
358 | |
359 | NotifyLib.prompt('TheRealX_ORA', 'Loaded Rainbow Sunshine Loxk!', 5) |