Skip to content

Instantly share code, notes, and snippets.

@wupsbr
Created April 8, 2024 05:45
Show Gist options
  • Save wupsbr/aafbeec0c89d719bf450a29f4368a2c2 to your computer and use it in GitHub Desktop.
Save wupsbr/aafbeec0c89d719bf450a29f4368a2c2 to your computer and use it in GitHub Desktop.
Dev2Blox - ColorChangeAPI
local HttpService = game:GetService("HttpService")
local Module = {}
-- Lista dos nomes de sinais permitidos para atualização
local allowedSignals = {
objSinal1 = true,
objSinal2 = true,
objSinal3 = true,
objSinal4 = true
}
-- Função para converter cores de Hex para Color3
local function HexToColor3(hex)
hex = hex:gsub("#", "")
if string.len(hex) == 6 then
local r, g, b = tonumber("0x" .. hex:sub(1, 2)) / 255, tonumber("0x" .. hex:sub(3, 4)) / 255, tonumber("0x" .. hex:sub(5, 6)) / 255
return Color3.new(r, g, b)
else
return Color3.new(0, 0, 0) -- Retorna preto se o formato estiver errado
end
end
-- Função para atualizar a cor de um sinal específico, com verificação de segurança
local function UpdateSignalColor(signalData)
-- Verifica se o sinal está na lista de permitidos
if allowedSignals[signalData.sinal] then
local signalObj = workspace:FindFirstChild(signalData.sinal)
if signalObj then
signalObj.Color = HexToColor3(signalData.cor)
else
warn("Objeto '" .. signalData.sinal .. "' não encontrado.")
end
else
warn("Tentativa de atualizar objeto não permitido: '" .. signalData.sinal .. "'.")
end
end
-- Função para consultar a API e atualizar as cores dos sinais
function Module.CheckAPIAndChangeColor()
local url = "https://XXXXX.supabase.co/rest/v1/sinais?select=*" -- Trocar ztrqwipeqodmsrhnxcxt pelo seu ID de organização
local headers = {
["apikey"] = "XXXXX" -- Trocar XXXXX pela sua chave de API
}
local success, response = pcall(function()
return HttpService:RequestAsync({
Url = url,
Method = "GET",
Headers = headers
})
end)
if success and response.StatusCode == 200 then -- Verifica se a solicitação foi bem-sucedida
local data = HttpService:JSONDecode(response.Body)
-- Itera sobre cada sinal retornado pela API e atualiza sua cor, após verificação
for _, signalData in pairs(data) do
UpdateSignalColor(signalData)
end
else
warn("Falha ao fazer a chamada de API. StatusCode: " .. (response and response.StatusCode or "Desconhecido"))
end
end
return Module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment