Last active
July 15, 2025 07:46
-
-
Save depthso/134e1b8a78e0248f0c1a9e03e5329e26 to your computer and use it in GitHub Desktop.
Shrimp game method
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --[[ | |
| @author depso (depthso) | |
| @description Shrimp game troll script | |
| https://www.roblox.com/games/7606564092/Shrimp-Game | |
| ]] | |
| local ReGui = loadstring(game:HttpGet('https://raw.githubusercontent.com/depthso/Dear-ReGui/refs/heads/main/ReGui.lua'))() | |
| local WindowConfig = { | |
| Title = "Shrimp game method | By: depso", | |
| Size = UDim2.fromOffset(350, 300), | |
| } | |
| --// Lobby check | |
| if game.PlaceId == 7606564092 then | |
| ReGui:Window(WindowConfig):Center():Label({ | |
| Text = "Please join a match!" | |
| }) | |
| return | |
| end | |
| --// Services | |
| local ReplicatedStorage = game:GetService("ReplicatedStorage") | |
| local Players = game:GetService("Players") | |
| --// Remotes | |
| local Remotes = ReplicatedStorage.Shared.Common.Remotes | |
| local Events = Remotes.Events | |
| local SpawnReference = workspace.SpawnReference | |
| local Camera = workspace.CurrentCamera | |
| local LocalPlayer = Players.LocalPlayer | |
| local PlayerScripts = LocalPlayer.PlayerScripts | |
| local Character = nil | |
| local Humanoid = nil | |
| local Controller = PlayerScripts.Controller | |
| local EffectsEvent = Events.EffectsEvent | |
| function ViewMe() | |
| Camera.CameraSubject = Character | |
| end | |
| --// Create Window | |
| local Window = ReGui:Window(WindowConfig):Center() | |
| --// Debug | |
| local Debug = Window:TreeNode({Title="Debug"}) | |
| local Console = Debug:Console({ | |
| ReadOnly = true, | |
| AutoScroll = true, | |
| MaxLines = 50 | |
| }) | |
| --// Games | |
| local Games = Window:TreeNode({Title="Games"}) | |
| local SkipGames = Games:Checkbox({ | |
| Value = true, | |
| Label = "Skip Games" | |
| }) | |
| --// Player | |
| local Player = Window:TreeNode({Title="Player"}) | |
| local NoFreze = Player:Checkbox({ | |
| Value = false, | |
| Label = "No freze" | |
| }) | |
| local TheMethod = Player:Checkbox({ | |
| Value = false, | |
| Label = "The method π€«" | |
| }) | |
| local WalkSpeed = Player:SliderInt({ | |
| Label = "Slider", | |
| Value = 18, | |
| Minium = 18, | |
| Maxium = 200 | |
| }) | |
| --// Spectator | |
| local Spectator = Window:TreeNode({Title="Spectator"}) | |
| Spectator:Button({ | |
| Text = "Become spectator", | |
| Callback = function() | |
| Humanoid.Health = 0 | |
| end | |
| }) | |
| local ViewConnection | |
| Spectator:Button({ | |
| Text = "View me", | |
| Callback = function() | |
| ViewMe() | |
| --// Connect CameraSubject change | |
| if ViewConnection then return end | |
| ViewConnection = Camera:GetPropertyChangedSignal("CameraSubject"):Connect(ViewMe) | |
| end | |
| }) | |
| local Row = Spectator:Row() | |
| Row:Button({ | |
| Text = "Teleport to random player", | |
| Callback = function() | |
| if not TeleportToRandomPlayer then return end | |
| TeleportToRandomPlayer() | |
| end | |
| }) | |
| local AutoTeleport = Row:Checkbox({ | |
| Value = false, | |
| Label = "Auto?" | |
| }) | |
| --// Spectator | |
| local Cutscenes = Window:TreeNode({Title="Cutscenes"}) | |
| local AnnoyCamera = Cutscenes:Checkbox({ | |
| Value = false, | |
| Label = "Annoy camera", | |
| Callback = function(self, Value) | |
| if Value then return end | |
| if not SetCameraAnnoyEnabled then return end | |
| SetCameraAnnoyEnabled(Value) | |
| end | |
| }) | |
| local CutscenesDisabled = Cutscenes:Checkbox({ | |
| Value = false, | |
| Label = "Cutscenes disabled", | |
| }) | |
| --// Emotes | |
| local Emotes = Window:TreeNode({Title="Emotes"}) | |
| local Dance = Emotes:Combo({ | |
| Selected = "Floss", | |
| Label = "Dance", | |
| Items = { | |
| ["Floss"] = 10714340543, | |
| ["Backflip"] = 15693621070, | |
| ["Samba"] = 16270690701, | |
| ["Flare"] = 10214311282, | |
| ["Body Builder"] = 10713990381, | |
| ["Mean Girls"] = 15963314052, | |
| ["Fashionable"] = 10714091938, | |
| ["HOT TO GO"] = 85267023718407, | |
| ["Dance"] = 13749312543, | |
| } | |
| }) | |
| Emotes:Checkbox({ | |
| Value = false, | |
| Label = "Dance", | |
| Callback = function(self, Value) | |
| if not SetDance then return end | |
| if not Value then | |
| SetDance(nil) | |
| return | |
| end | |
| SetDance(Dance.Value) | |
| end, | |
| }) | |
| --// Emotes | |
| local Teleports = Window:TreeNode({Title="Teleports"}) | |
| Teleports:Combo({ | |
| Label = "Location", | |
| Items = SpawnReference:GetChildren(), | |
| Callback = function(self, Folder) | |
| local Part = Folder:FindFirstChildWhichIsA("BasePart", true) | |
| local Pivot = Part:GetPivot() | |
| Character:PivotTo(Pivot) | |
| end | |
| }) | |
| --// Console communication | |
| local Event = Instance.new("BindableEvent") | |
| Event.Event:Connect(function(...) | |
| Console:AppendText(...) | |
| end) | |
| function WriteLog(...) | |
| print(...) | |
| Event:Fire(...) | |
| end | |
| function SetFrozen(Frozen: boolean) | |
| LocalPlayer:SetAttribute("MovementOverride", Frozen) | |
| end | |
| function GetPlayerNumberTag(Player: Player) | |
| return Player:GetAttribute("Tag") | |
| end | |
| function IsEliminated(Player: Player) | |
| return Player:GetAttribute("Eliminated") | |
| end | |
| function GetPlayers(FilterEliminated: boolean) | |
| local Response = {} | |
| for _, Player in next, Players:GetPlayers() do | |
| --// Check if player is eliminated | |
| local Eliminated = IsEliminated(Player) | |
| if FilterEliminated and Eliminated then continue end | |
| table.insert(Response, Player) | |
| end | |
| return Response | |
| end | |
| function TeleportToRandomPlayer() | |
| local Players = GetPlayers(true) | |
| local Player = Players[math.random(1, #Players)] | |
| local Pivot = Player.Character:GetPivot() | |
| Character:PivotTo(Pivot) | |
| end | |
| function UpdateWalkSpeed() | |
| --// Walkspeed | |
| if TheMethod.Value then | |
| Humanoid.WalkSpeed = 1200 | |
| else | |
| Humanoid.WalkSpeed = WalkSpeed.Value | |
| end | |
| end | |
| function ClearAnimations() | |
| for _, Track in Humanoid:GetPlayingAnimationTracks() do | |
| Track:Stop() | |
| end | |
| end | |
| function ResetVelocity() | |
| local Root = Humanoid.RootPart | |
| local Velocity = Root.Velocity | |
| Root.Velocity = Vector3.new(0, Velocity.Y < 0 and math.abs(Velocity.Y) or 0.5,0) | |
| end | |
| local AnnoyLoop = false | |
| function SetCameraAnnoyEnabled(Enabled) | |
| --// Check if already enabled | |
| if AnnoyLoop and Enabled then return end | |
| AnnoyLoop = Enabled | |
| local Rotation = CFrame.Angles(0,math.rad(180),0) | |
| local Offset = CFrame.new(0,-1.5,-3) | |
| Humanoid.PlatformStand = true | |
| --// Annoy camera | |
| while AnnoyLoop do | |
| ResetVelocity() | |
| --ClearAnimations() | |
| --// Pivot character to camera | |
| local Pivot = Camera:GetRenderCFrame() * Offset * Rotation | |
| Character:PivotTo(Pivot) | |
| task.wait() | |
| end | |
| Humanoid.PlatformStand = false | |
| end | |
| function CharacterAdded(New: Model) | |
| if not New then return end | |
| Character = New | |
| Humanoid = New:WaitForChild("Humanoid") | |
| --// Connect walkspeed change | |
| Humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(UpdateWalkSpeed) | |
| if AutoTeleport.Value then | |
| TeleportToRandomPlayer() | |
| end | |
| --// Disable AntiCheat | |
| local AntiCheat = Character:WaitForChild("AnimationHandler") | |
| AntiCheat.Disabled = true | |
| --AntiCheat:Destroy() | |
| WriteLog("Anti-Cheat removed") | |
| end | |
| function FireTouchPart(Part: BasePart) | |
| local TouchTransmitter = Part:FindFirstChildOfClass("TouchTransmitter") | |
| if not TouchTransmitter then return end | |
| --// Teleport to part instead since most exploits have a broken FireTouchTransmitter | |
| Character:PivotTo(Part:GetPivot()) | |
| end | |
| local DanceTrack = nil | |
| function SetDance(AnimationId) | |
| --// Clear current dance | |
| if DanceTrack then | |
| DanceTrack:Stop() | |
| DanceTrack:Destroy() | |
| end | |
| if not AnimationId then return end | |
| --// Create animation | |
| local Animation = Instance.new("Animation") | |
| Animation.AnimationId = `rbxassetid://{AnimationId}` | |
| --// Load animation into humanoid | |
| DanceTrack = Humanoid:LoadAnimation(Animation) | |
| DanceTrack.Looped = true | |
| DanceTrack:Play() | |
| end | |
| --// States | |
| local PentathlonSkip = false | |
| local MingleTeleport = true | |
| local SkippedLightGame = false | |
| function SkipPentathlon() | |
| local PacketsOrder = { | |
| {"Start Minigame", 1}, | |
| {"Throw Envelope", 99}, | |
| {"Minigame Complete", "Ddakji"}, | |
| {"Start Minigame", 2}, | |
| {"Throw Stone", 60}, | |
| {"Minigame Complete", "Biseokchigi"}, | |
| {"Start Minigame", 3}, | |
| {"Minigame Complete", "Gonggi"}, | |
| {"Start Minigame", 4}, | |
| {"Throw Spinning Top", 60}, | |
| {"Minigame Complete", "Paengi"}, | |
| {"Start Minigame", 5}, | |
| {"Minigame Complete", "Jegi"}, | |
| {"Pentathlon Complete"} | |
| } | |
| PentathlonSkip = true | |
| while wait(1) and PentathlonSkip do | |
| for _, Packet in PacketsOrder do | |
| EffectsEvent:FireServer(unpack(Packet)) | |
| wait(.5) | |
| end | |
| end | |
| end | |
| local EventHooks = { | |
| ["LightGame"] = function(Action, Args) | |
| if Action ~= "Green" then return end | |
| if SkippedLightGame then return end | |
| SkippedLightGame = true | |
| local Victory = workspace.LightGameBlocker | |
| FireTouchPart(Victory) | |
| WriteLog("LightGame Skipped") | |
| end, | |
| ["Honeycomb"] = function(Action, Args) | |
| if Action ~= "Play" then return end | |
| EffectsEvent:FireServer("Success", true) | |
| ClearAnimations() | |
| WriteLog("Honeycomb Skipped") | |
| return true | |
| end, | |
| ["Pentathlon"] = function(Action, Args) | |
| if Action == "Start Game" then | |
| SkipPentathlon() | |
| return true | |
| elseif Action == "Stop Game" then | |
| PentathlonSkip = false | |
| WriteLog("Pentathlon completed") | |
| ClearAnimations() | |
| elseif Action == "Update Minigame" then | |
| return true | |
| end | |
| end, | |
| ["Mingle"] = function(Action, Args) | |
| if Action == "TurnOnDoorLights" then | |
| if not MingleTeleport then return end | |
| MingleTeleport = false | |
| --// Teleport to room | |
| local RoomPivot = Args[3].BoundingBox.CFrame | |
| Character:PivotTo(RoomPivot) | |
| WriteLog("Teleported to Mingle Room") | |
| end | |
| if Action == "TurnOffDoorLights" then | |
| MingleTeleport = true | |
| end | |
| end | |
| } | |
| function NewEffectsEvent(Old, ...) | |
| local Args = {...} | |
| local EventName = Args[1] | |
| local Action = Args[2] | |
| local Hook = EventHooks[EventName] | |
| local Eliminated = IsEliminated(LocalPlayer) | |
| --// Check if hook exists | |
| if not Eliminated and Hook and SkipGames.Value then | |
| --// Check if the the call should be intercepted | |
| local Intercept = Hook(Action, Args) | |
| if Intercept then return end | |
| end | |
| --// Detect cutscenes | |
| if Action == "Cutscene" or Action == "Start Cutscene" then | |
| WriteLog("Cutscene detected") | |
| if CutscenesDisabled.Value then return end | |
| end | |
| --// Prevent invisibility | |
| -- if Action:find("Invisibility") then | |
| -- WriteLog("Invisibility detected") | |
| -- if InvisibilityDisabled.Value then return end | |
| -- end | |
| return Old(unpack(Args)) | |
| end | |
| --// Hook EffectsEvent | |
| while true do | |
| local Connections = getconnections(EffectsEvent.OnClientEvent) | |
| --// Hook the function | |
| for _, Signal in next, Connections do | |
| local Func = Signal.Function | |
| if not islclosure(Func) then continue end | |
| --// Hook the function | |
| local Old | |
| Old = hookfunction(Func, function(...) | |
| return NewEffectsEvent(Old, ...) | |
| end) | |
| WriteLog("Hooked EffectsEvent") | |
| end | |
| --// Check if connections have laoded | |
| if #Connections > 0 then break end | |
| wait() | |
| end | |
| --// Load character | |
| CharacterAdded(LocalPlayer.Character) | |
| --// Connect events | |
| LocalPlayer.CharacterAdded:Connect(CharacterAdded) | |
| LocalPlayer.AttributeChanged:Connect(function(Name: string) | |
| if Name == "MovementOverride" and NoFreze.Value then | |
| SetFrozen(false) | |
| end | |
| end) | |
| Controller.AttributeChanged:Connect(function(Name: string) | |
| local Value = Controller:GetAttribute(Name) | |
| if Name == "CameraEnabled" and AnnoyCamera.Value then | |
| WriteLog("Annoy camera:", not Value) | |
| SetCameraAnnoyEnabled(not Value) | |
| end | |
| end) | |
| Players.AttributeChanged:Connect(function(Name: string) | |
| if Name == "Status" and AutoTeleport.Value then | |
| TeleportToRandomPlayer() | |
| end | |
| end) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
DETECTED fix ur trash script depso so bad
Dead game anyways πππ