Created
April 8, 2024 05:45
-
-
Save wupsbr/aafbeec0c89d719bf450a29f4368a2c2 to your computer and use it in GitHub Desktop.
Dev2Blox - ColorChangeAPI
This file contains 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
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