Synapse X STREAM SNIPER FIXED – JULY 2022

Fixed by Zv_yz#0847

Features:

  • FIXED STREAM SNIPER

UNIVERSAL GAMES

SCRIPT:

-- Old Version: https://raw.githubusercontent.com/Acrillis/SynapseX/master/Synapse%20Scripts/StreamSniper.lua
local Screenguini = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local TextLabel = Instance.new("TextLabel")
local TextLabel_2 = Instance.new("TextLabel")
local UsernameBox = Instance.new("TextBox")
local TextLabel_3 = Instance.new("TextLabel")
local PlaceIdBox = Instance.new("TextBox")
local StartButton = Instance.new("TextButton")
local TextLabel_4 = Instance.new("TextLabel")
local UsernameLabel = Instance.new("TextLabel")
local TextLabel_5 = Instance.new("TextLabel")
local UserIdLabel = Instance.new("TextLabel")
local GamerPicture = Instance.new("ImageLabel")

local HttpService = game:GetService("HttpService")
local Players = game:GetService("Players")
local TeleportService = game:GetService("TeleportService")

Screenguini.Name = HttpService:GenerateGUID(false)
Screenguini.Parent = game:GetService("CoreGui")

Frame.Parent = Screenguini
Frame.Active = true
Frame.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
Frame.BorderColor3 = Color3.fromRGB(31, 31, 31)
Frame.Draggable = true
Frame.Size = UDim2.new(0, 400, 0, 260)

TextLabel.Parent = Frame
TextLabel.Active = true
TextLabel.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
TextLabel.BorderColor3 = Color3.fromRGB(31, 31, 40)
TextLabel.Size = UDim2.new(0, 400, 0, 40)
TextLabel.Font = Enum.Font.SourceSansLight
TextLabel.Text = "Synapse X Stream Sniper"
TextLabel.TextSize = 24.000

TextLabel_2.Parent = Frame
TextLabel_2.Active = true
TextLabel_2.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_2.BorderColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_2.Position = UDim2.new(0, 10, 0, 49)
TextLabel_2.Size = UDim2.new(0, 150, 0, 20)
TextLabel_2.Font = Enum.Font.SourceSansLight
TextLabel_2.Text = "Username/UserId:"
TextLabel_2.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_2.TextSize = 16.000

UsernameBox.Name = "UsernameBox"
UsernameBox.Parent = Frame
UsernameBox.BackgroundColor3 = Color3.fromRGB(61, 61, 61)
UsernameBox.BorderColor3 = Color3.fromRGB(31, 31, 31)
UsernameBox.Position = UDim2.new(0, 10, 0, 80)
UsernameBox.Size = UDim2.new(0, 150, 0, 35)
UsernameBox.Font = Enum.Font.SourceSansLight
UsernameBox.PlaceholderColor3 = Color3.fromRGB(255, 255, 255)
UsernameBox.PlaceholderText = "Enter Username Here"
UsernameBox.Text = ""
UsernameBox.TextColor3 = Color3.fromRGB(255, 255, 255)
UsernameBox.TextSize = 18.000

TextLabel_3.Parent = Frame
TextLabel_3.Active = true
TextLabel_3.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_3.BorderColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_3.Position = UDim2.new(0, 10, 0, 130)
TextLabel_3.Size = UDim2.new(0, 150, 0, 20)
TextLabel_3.Font = Enum.Font.SourceSansLight
TextLabel_3.Text = "Place Id:"
TextLabel_3.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_3.TextSize = 16.000

PlaceIdBox.Name = "PlaceIdBox"
PlaceIdBox.Parent = Frame
PlaceIdBox.BackgroundColor3 = Color3.fromRGB(61, 61, 61)
PlaceIdBox.BorderColor3 = Color3.fromRGB(31, 31, 31)
PlaceIdBox.Position = UDim2.new(0, 10, 0, 157)
PlaceIdBox.Size = UDim2.new(0, 150, 0, 35)
PlaceIdBox.Font = Enum.Font.SourceSansLight
PlaceIdBox.PlaceholderColor3 = Color3.fromRGB(255, 255, 255)
PlaceIdBox.PlaceholderText = "Enter PlaceId Here"
PlaceIdBox.Text = ""
PlaceIdBox.TextColor3 = Color3.fromRGB(255, 255, 255)
PlaceIdBox.TextSize = 18.000

StartButton.Name = "StartButton"
StartButton.Parent = Frame
StartButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
StartButton.BorderColor3 = Color3.fromRGB(31, 31, 31)
StartButton.Position = UDim2.new(0, 10, 0, 210)
StartButton.Size = UDim2.new(0, 380, 0, 40)
StartButton.Font = Enum.Font.SourceSansLight
StartButton.Text = "Start"
StartButton.TextColor3 = Color3.fromRGB(255, 255, 255)
StartButton.TextSize = 24.000

TextLabel_4.Parent = Frame
TextLabel_4.Active = true
TextLabel_4.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_4.BackgroundTransparency = 1.000
TextLabel_4.BorderColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_4.Position = UDim2.new(0, 200, 0, 49)
TextLabel_4.Size = UDim2.new(0, 0, 0, 20)
TextLabel_4.AutomaticSize = Enum.AutomaticSize.X
TextLabel_4.Font = Enum.Font.SourceSansBold
TextLabel_4.Text = "Username:"
TextLabel_4.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_4.TextSize = 16.000
TextLabel_4.TextWrapped = true
TextLabel_4.TextXAlignment = Enum.TextXAlignment.Left

UsernameLabel.Name = "UsernameLabel"
UsernameLabel.Parent = TextLabel_4
UsernameLabel.Active = true
UsernameLabel.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
UsernameLabel.BackgroundTransparency = 1.000
UsernameLabel.BorderColor3 = Color3.fromRGB(31, 31, 31)
UsernameLabel.Position = UDim2.new(0.5, 0, 0, 0)
UsernameLabel.Size = UDim2.new(0, 150, 0, 20)
UsernameLabel.Font = Enum.Font.SourceSansLight
UsernameLabel.Text = ""
UsernameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
UsernameLabel.TextSize = 16.000
UsernameLabel.TextXAlignment = Enum.TextXAlignment.Left

TextLabel_5.Parent = Frame
TextLabel_5.Active = true
TextLabel_5.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_5.BackgroundTransparency = 1.000
TextLabel_5.BorderColor3 = Color3.fromRGB(31, 31, 31)
TextLabel_5.Position = UDim2.new(0, 200, 0, 69)
TextLabel_5.Size = UDim2.new(0, 0, 0, 20)
TextLabel_5.AutomaticSize = Enum.AutomaticSize.X
TextLabel_5.Font = Enum.Font.SourceSansBold
TextLabel_5.Text = "UserId:"
TextLabel_5.TextColor3 = Color3.fromRGB(255, 255, 255)
TextLabel_5.TextSize = 16.000
TextLabel_5.TextWrapped = true
TextLabel_5.TextXAlignment = Enum.TextXAlignment.Left

UserIdLabel.Name = "UserIdLabel"
UserIdLabel.Parent = TextLabel_5
UserIdLabel.Active = true
UserIdLabel.BackgroundColor3 = Color3.fromRGB(31, 31, 31)
UserIdLabel.BackgroundTransparency = 1.000
UserIdLabel.BorderColor3 = Color3.fromRGB(31, 31, 31)
UserIdLabel.Position = UDim2.new(0.5, 0, 0, 0)
UserIdLabel.Size = UDim2.new(0, 150, 0, 20)
UserIdLabel.Font = Enum.Font.SourceSansLight
UserIdLabel.Text = ""
UserIdLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
UserIdLabel.TextSize = 16.000
UserIdLabel.TextXAlignment = Enum.TextXAlignment.Left

GamerPicture.Name = "GamerPicture"
GamerPicture.Parent = Frame
GamerPicture.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
GamerPicture.Position = UDim2.new(0, 200, 0, 95)
GamerPicture.Size = UDim2.new(0, 97, 0, 97)
GamerPicture.Image = "rbxasset://textures/ui/GuiImagePlaceholder.png"

if shared.STREAM_SNIPER then
   shared.STREAM_SNIPER:Destroy()
end
shared.STREAM_SNIPER = Screenguini

local searching = false
local confirm = false

local function HttpGet(url)
return pcall(HttpService.JSONDecode, HttpService, game:HttpGet(url))
end

local function Status(text, tout)
StartButton.Text = text

   if tout then
       task.delay(tout, function()
           if StartButton.Text == text then
               searching = false
               StartButton.Text = "Start"    
           end
       end)
   end
end

local function getServers(id, cursor)
   local fullurl = "https://games.roblox.com/v1/games/".. id .."/servers/Public?limit=100"
   if cursor then
       fullurl = "&cursor=".. cursor
   end

   return HttpGet(fullurl)
end

local function fetchThumbs(tokens)
   local payload = {
       Url = "https://thumbnails.roblox.com/v1/batch",
       Headers = {
           ["Content-Type"] = "application/json"
       },
       Method = "POST",

       Body = {}
   }

   for _, token in ipairs(tokens) do
       table.insert(payload.Body, {
           requestId = "0:".. token ..":AvatarHeadshot:150x150:png:regular",
           type = "AvatarHeadShot",
           targetId = 0,
           token = token,
           format = "png",
           size = "150x150"
       })
   end

   payload.Body = HttpService:JSONEncode(payload.Body)
   local result = syn.request(payload)
   local s, data = pcall(HttpService.JSONDecode, HttpService, result.Body)
   return s, data and data.data or data
end

local function teleport(placeId, guid)
   TeleportService:TeleportToPlaceInstance(placeId, guid)
end


local threads = 30

StartButton.MouseButton1Click:Connect(function()
   if confirm then
       confirm = false
       searching = false
       Status("Cancelled")
       return
   end

   if searching then
       confirm = true
       local old = StartButton.Text
       Status("Click again to confirm.")
       task.delay(5, function()
           if "Click again to confirm." == StartButton.Text then
               confirm = false
               StartButton.Text = old
           end
       end)
       return
   end

   searching = true

   -- User ID
   Status("Getting user id...")

   local s, Username, UserId = pcall(function() -- TODO FIX: fix for only numbers players
       local userId = tonumber(UsernameBox.Text) or Players:GetUserIdFromNameAsync(UsernameBox.Text)
       local username = Players:GetNameFromUserIdAsync(userId)

return username, userId
end)

if not s then
return Status("Username or UserId does not exist!", 3)
end

   local s, thumbUrl = pcall(Players.GetUserThumbnailAsync, Players, UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size150x150)

   UsernameLabel.Text = Username
   UserIdLabel.Text = UserId
   GamerPicture.Image = s and thumbUrl or ""

   Status("Getting user's thumbnail...")
   local s, response = HttpGet("https://thumbnails.roblox.com/v1/users/avatar-headshot?userIds=" .. UserId .. "&format=Png&size=150x150&isCircular=false")
   --local s, response = HttpGet("https://www.roblox.com/headshot-thumbnail/json?userId=" .. UserId .. "&width=150&height=150")
   local thumbnail = s and response['data'][1].imageUrl

   Status("Searching for (".. UserId ..")")
   
   -- Place ID
   Status("Getting place id...")
   
   local placeId = tonumber(PlaceIdBox.Text)

   if PlaceIdBox.Text:gsub("%s", "") == "" then
       placeId = game.PlaceId

   elseif not placeId then
       Status("Invalid place id", 3)
       return
   end
   
   Status("Searching...")
   local cursor = nil
   local searched = 0
   local maxSearchs = 0
   local players = 0
   -- Server search
   while searching do
       if not Screenguini or not Screenguini.Parent then
           break
       end
       local s, result = getServers(placeId, cursor)

       if s then
           local servers = result.data
           cursor = result.nextPageCursor
           
           if StartButton.Text:match("Searching") then
               maxSearchs = maxSearchs + #servers
               Status(searched .."/".. maxSearchs .." servers scanned, players found: ".. players)
           end

           -- Search all servers
           for index, server in ipairs(servers) do
               local function fetchServer()
                   local s, thumbs = fetchThumbs(server.playerTokens)
                   if s then
                       players = players + #thumbs
                       for _, playerThumb in ipairs(thumbs) do
                           if playerThumb.imageUrl then
                               if playerThumb.imageUrl == thumbnail then
                                   searching = false
                                   Status("Found player, teleporting...")

                                   teleport(placeId, server.id)
                                   local try = 0
                                   Player.OnTeleport:Connect(function(teleportState)
                                       if teleportState == Enum.TeleportState.Failed then
                                           try = try + 1
                                           Status("Teleport failed, try #".. try)
                                           teleport(placeId, server.id)
                                       end
                                   end)
                               end
                           else
                               Status("token failed, id:", playerThumb.requestId, playerThumb.state, playerThumb.errorMessage)
                               --print("token failed, id:", playerThumb.requestId, playerThumb.state, playerThumb.errorMessage)
                           end
                       end
                   else
                       Status("token failed", s, thumb)
                       --print("token failed", s, thumbs)
                   end
               end
               searched = searched + 1
               if index % threads ~= 0 then
                   task.spawn(fetchServer)
                   task.wait()

               else
                   fetchServer()
               end

               if searching then
                   Status(searched .."/".. maxSearchs .." servers scanned, players found: ".. players)
               end
           end
           
           -- Player not found
           if not cursor then
               break
           end
       else
           return Status("Failed to find servers", 3)
       end

       task.wait()
   end
   
   if searching then
       Status("Failed to find ".. Username ..", maybe in a vip server", 3)
   end
end)

⚠️ Warning: Do not download any extensions or anything other than .txt/.lua file, because script will download only in .txt/.lua format or It will redirect you to a pastebin link.

📋 Notice: If you find any of the scripts patched or not working, please report it to Forever4D through Discord. The script will be removed or marked as patched!