-
Notifications
You must be signed in to change notification settings - Fork 0
/
Ghost Sim-Uni.lua
393 lines (322 loc) · 13.4 KB
/
Ghost Sim-Uni.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
repeat wait() until game:IsLoaded()
if game:GetService("Workspace"):FindFirstChild('Ghosts') then
game:GetService("Players").LocalPlayer.Idled:connect(function()
game:GetService("VirtualUser"):Button2Down(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
task.wait(1)
game:GetService("VirtualUser"):Button2Up(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
end
)
local version = 0.1
local repo = 'https://raw.githubusercontent.com/wally-rblx/LinoriaLib/main/'
local Library = loadstring(game:HttpGet(repo .. 'Library.lua'))()
local ThemeManager = loadstring(game:HttpGet(repo .. 'addons/ThemeManager.lua'))()
local NotificationHolder = loadstring(game:HttpGet("https://raw.githubusercontent.com/BocusLuke/UI/main/STX/Module.Lua"))()
local Notification = loadstring(game:HttpGet("https://raw.githubusercontent.com/BocusLuke/UI/main/STX/Client.Lua"))()
local function notif(title, des, time)
Notification:Notify(
{Title = title, Description = des},
{OutlineColor = Color3.fromRGB(0, 255, 139),Time = time, Type = "default"}
)
end
local function nwarn(why, solve)
Notification:Notify(
{Title = why, Description = solve},
{OutlineColor = Color3.fromRGB(0, 255, 139),Time = 5, Type = "image"},
{Image = "http://www.roblox.com/asset/?id=6023426923", ImageColor = Color3.fromRGB(255, 166, 0)}
)
end
local function nerror(why)
Notification:Notify(
{Title = "ERROR", Description = why},
{OutlineColor = Color3.fromRGB(0, 255, 139),Time = 5, Type = "image"},
{Image = "http://www.roblox.com/asset/?id=6023426923", ImageColor = Color3.fromRGB(255, 0, 0)}
)
end
local player = game.Players.LocalPlayer
local Window = Library:CreateWindow({
-- Set Center to true if you want the menu to appear in the center
-- Set AutoShow to true if you want the menu to appear when it is created
-- Position and Size are also valid options here
-- but you do not need to define them unless you are changing them :)
Title = 'Ghost Sim (Uni) | FallAngle Hub | https://discord.gg/rq5fXGKWQY',
Center = true,
AutoShow = true,
})
local Tabs = {
-- Creates a new tab titled Main
mainTab = Window:AddTab('Main'),
['UI Settings'] = Window:AddTab('UI Settings'),
}
function get_ghost_list()
local list = {}
local ghost_folder = game:GetService("Workspace").Ghosts
for i, ghost in pairs(ghost_folder:GetChildren()) do
if not table.find(list, ghost.Name) then
table.insert(list, ghost.Name)
end
end
if #list > 0 then
return list
else
return {'Not found'}
end
end
function get_npc_list()
local list = {}
local npc_folder = game:GetService("Workspace").ScriptParts.NPCs
for i, npc in pairs(npc_folder:GetChildren()) do
if not table.find(list, npc.Name) and npc:IsA('Part') then
table.insert(list, npc.Name)
end
end
if #list > 0 then
return list
else
return {'Not found'}
end
end
function get_FindParts()
local list = {}
local folder = game:GetService("Workspace").ScriptParts.FindParts
for i, item in pairs(folder:GetChildren()) do
if item:IsA('Part') then
table.insert(list, item.Name)
end
end
if #list > 0 then
return list
else
return {'Not found'}
end
end
function get_chests()
local list = {}
local folder = game:GetService("Workspace").ScriptParts.Chests
for i, chest in pairs(folder:GetChildren()) do
if chest:IsA('Part') then
table.insert(list, chest.Name)
end
end
if #list > 0 then
return list
else
return {'Not found'}
end
end
function check_vac()
if player.PlayerGui.UI.MainGui.VacuumBoardStatus.VacuumIcon.Light.ImageColor3 == Color3.fromRGB(255, 0, 0) then
local Event = game:GetService("ReplicatedStorage").Network.ToServer.Requests.StartUseVacuum
Event:FireServer()
elseif player.PlayerGui.UI.MainGui.VacuumBoardStatus.VacuumIcon.Light.ImageColor3 == Color3.fromRGB(0, 255, 0) then
end
return
end
function sell()
for i, folder in pairs(game:GetService("Workspace").ScriptParts:GetChildren()) do
if folder.Name:match('Converters') or folder.Name:match('Chargers') then
for i, part in pairs(folder:GetChildren()) do
if part:IsA('Part') then
firetouchinterest(player.Character.Head, part, 1)
firetouchinterest(player.Character.Head, part, 0)
end
end
end
end
end
local lists = Tabs.mainTab:AddLeftGroupbox('Lists')
lists:AddDropdown('ghostlist', {
Values = get_ghost_list(),
Default = 1, -- number index of the value / string
Multi = true, -- true / false, allows multiple choices to be selected
Text = 'Ghost list',
Tooltip = 'List of ghosts, if ghost not there but you see it then please reexecute the script.', -- Information shown when you hover over the textbox
})
lists:AddDropdown('npclist', {
Values = get_npc_list(),
Default = 1, -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'NPC list',
Tooltip = 'List of npcs', -- Information shown when you hover over the textbox
})
lists:AddDropdown('findpartslist', {
Values = get_FindParts(),
Default = 1, -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'FindParts list',
Tooltip = 'list of parts needed', -- Information shown when you hover over the textbox
})
lists:AddDropdown('chestlist', {
Values = get_chests(),
Default = 1, -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Chests',
Tooltip = 'all the chests', -- Information shown when you hover over the textbox
})
local options = Tabs.mainTab:AddRightGroupbox('Options')
local selghost = {}
Options.ghostlist:OnChanged(function()
selghost = {}
for key, value in next, Options.ghostlist.Value do
table.insert(selghost, key)
end
end)
options:AddToggle('autofarm', {
Text = 'Farm selected ghosts',
Default = false, -- Default value (true / false)
Tooltip = 'This is a tooltip', -- Information shown when you hover over the toggle
})
Toggles.autofarm:OnChanged(function()
if Toggles.autofarm.Value == true then
local Event = game:GetService("ReplicatedStorage").Network.ToServer.Requests.StartUseVacuum
Event:FireServer()
elseif Toggles.autofarm.Value == false then
local Event = game:GetService("ReplicatedStorage").Network.ToServer.Requests.StopUseVacuum
Event:FireServer()
end
spawn(function()
while task.wait() and Toggles.autofarm.Value do
for i, ghost in pairs(game:GetService("Workspace").Ghosts:GetChildren()) do
if table.find(selghost, ghost.Name) then
if ghost:FindFirstChild("HumanoidRootPart") and ghost:FindFirstChild("Health") and player.Character then
repeat
check_vac()
player.Character.HumanoidRootPart.CFrame =
ghost.HumanoidRootPart.CFrame * CFrame.new(0, 0, 5)
game:GetService("ReplicatedStorage").Network.ToServer.Requests.VacuumEnemy:FireServer(ghost)
task.wait()
until ghost.Health.Value <= 0.1 or Toggles.autofarm.Value == false
end
end
end
end
end)
end)
options:AddButton('NPC TP', function()
if not Options.npclist.Value ~= 'Not found' then
player.Character.HumanoidRootPart.CFrame = game:GetService("Workspace").ScriptParts.NPCs:FindFirstChild(Options.npclist.Value).CFrame
else
nerror('Not there')
end
end)
options:AddButton('FindPart TP', function()
if not Options.findpartslist.Value ~= 'Not found' then
player.Character.HumanoidRootPart.CFrame = game:GetService("Workspace").ScriptParts.FindParts:FindFirstChild(Options.findpartslist.Value).CFrame
else
nerror('Not there')
end
end)
options:AddButton('Chest TP', function()
if Options.chestlist.Value ~= 'Not found' then
player.Character.HumanoidRootPart.CFrame = game:GetService("Workspace").ScriptParts.Chests:FindFirstChild(Options.chestlist.Value).CFrame
else
nerror('Not there')
end
end)
options:AddDivider()
options:AddToggle('autosell', {
Text = 'Auto Sell',
Default = false, -- Default value (true / false)
Tooltip = 'sells for you', -- Information shown when you hover over the toggle
})
options:AddToggle('autokill', {
Text = 'Auto kill closest',
Default = false, -- Default value (true / false)
Tooltip = 'Kills every ghost near you', -- Information shown when you hover over the toggle
})
Toggles.autokill:OnChanged(function()
spawn(
function()
local player = game.Players.LocalPlayer
local distance = player.Stats.VacuumRange.Value
while Toggles.autokill.Value == true do
for i, v in pairs(workspace.Ghosts:GetChildren()) do
if v:FindFirstChild("HumanoidRootPart") then
local magnitude =
(player.Character.HumanoidRootPart.Position - v.HumanoidRootPart.Position).magnitude
if magnitude > 50 and magnitude < distance then
local args = {[1] = workspace.Ghosts:FindFirstChild(v)}
game:GetService("ReplicatedStorage").Network.ToServer.Requests.VacuumFireHit:FireServer(
unpack(args)
)
elseif magnitude < distance then
game:GetService("ReplicatedStorage").Network.ToServer.Requests.VacuumEnemy:FireServer(v)
end
end
end
task.wait()
end
end
)
end)
options:AddButton('Get all buffs', function()
game.Players.LocalPlayer.Stats.BoardsUnlocked.Value = true
game.Players.LocalPlayer.Stats.ParachuteUnlocked.Value = true
game.Players.LocalPlayer.Stats.JetpackUnlocked.Value = true
game.Players.LocalPlayer.Stats.HeavyArmorUnlocked.Value = true
game.Players.LocalPlayer.Stats.MagnetismUnlocked.Value = true
game.Players.LocalPlayer.Stats.TurbochargerUnlocked.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleRems.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleTokens.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.Agility.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleRange.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleBossDrops.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleItems.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleGems.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleLuck.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.QuickUnbox.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.AutoUnbox.Value = true
game.Players.LocalPlayer.Stats.AppliedPasses.DoubleSouls.Value = true
game:GetService("ReplicatedStorage").Data.ServerDoubleDrops.Value = true
game:GetService("ReplicatedStorage").Data.ServerDoubleEvent.Value = true
game:GetService("ReplicatedStorage").Data.ServerDoubleGems.Value = true
game:GetService("ReplicatedStorage").Data.ServerDoubleLuck.Value = true
end)
Toggles.autosell:OnChanged(function()
spawn(function()
while task.wait() and Toggles.autosell.Value do
sell()
end
end)
end)
if #game:GetService("Workspace").ScriptParts.MegaBossArenas:GetChildren() > 0 then
local bossbox = Tabs.mainTab:AddLeftGroupbox('MegaBoss')
for i, boss in pairs(game:GetService("Workspace").ScriptParts.MegaBossArenas:GetChildren()) do
local function get_parts()
local list = {}
for i, part in pairs(boss:GetChildren()) do
if part:IsA('Part') then
table.insert(list, part.Name)
end
end
return list
end
bossbox:AddDropdown('partlist', {
Values = get_parts(),
Default = 1, -- number index of the value / string
Multi = false, -- true / false, allows multiple choices to be selected
Text = 'Part list',
Tooltip = 'All the parts in the mega boss area', -- Information shown when you hover over the textbox
})
bossbox:AddButton('TP to part', function()
player.Character.HumanoidRootPart.CFrame = boss:FindFirstChild(Options.partlist.Value).CFrame
end)
local anticorr = bossbox:AddButton('Anti Corruption', function()
local plr = game:GetService("Players").LocalPlayer
workspace[plr.Name].Corruption.Value = math.huge
end)
anticorr:AddTooltip('God mode ;)')
end
else
local boss = Tabs.mainTab:AddLeftGroupbox('MegaBoss')
boss:AddButton('No MegaBoss here', function()
end)
end
local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu')
Library:SetWatermarkVisibility(false)
MenuGroup:AddButton('Unload', function() Library:Unload() end)
Library:SetWatermarkVisibility(false)
ThemeManager:SetLibrary(Library)
ThemeManager:SetFolder('FallAngelHub')
ThemeManager:ApplyToTab(Tabs['UI Settings'])
ThemeManager:ApplyTheme('Green')
end