Pretty simple actually. First, have a table with all existing markers, have a function to load the markers GUI, loop through the markers in the table and create a frame in the GUI with the marker.
This is just some very basic explanation, if u have questions, LMK.
Could you dumb this down a bit, and maybe show a script example of what you mean? Im not a very good scripter and dont understand much of what you said.
local badge_service = game:GetService("BadgeService")
local badges = {
[1] = {
["name"] = "greenapple", -- marker name here
['id'] = 2125216832 -- badge id here
}
}
while true do
for _, badge in ipairs(badges) do
local name = badge.name
local id = badge.id
if badge_service:UserHasBadgeAsync(game.Players.LocalPlayer.UserId, id) then
local ui = game.Players.LocalPlayer.PlayerGui.Markers:FindFirstChild(name) -- path to ui
if ui then
ui:FindFirstChild("owned").Visible = true
end
end
end
task.wait(1)
end
Basically, add a new table for each badge with the badge id + the name of the ui image.
local badge_service = game:GetService("BadgeService")
local badges = {
[1] = {
["name"] = "greenapple", -- marker name here
['id'] = 2125216832 -- badge id here
}
}
while true do
for _, badge in ipairs(badges) do
local name = badge.name
local id = badge.id
if badge_service:UserHasBadgeAsync(game.Players.LocalPlayer, id) then
local ui = game.Players.LocalPlayer.PlayerGui.Markers:FindFirstChild(name) -- path to ui
if ui then
ui:FindFirstChild("owned").Visible = true
end
end
end
task.wait(1)
end
local badge_service = game:GetService("BadgeService")
local badges = {
[1] = {
["name"] = "greenapple", -- marker name here
['id'] = 2125216832 -- badge id here
}
}
while true do
for _, badge in ipairs(badges) do
local name = badge.name
local id = badge.id
if badge_service:UserHasBadgeAsync(game.Players.LocalPlayer.UserId, id) then
local ui = game.Players.LocalPlayer.PlayerGui.Markers:FindFirstChild(name) -- path to ui
if ui then
ui:FindFirstChild("owned").Visible = true
end
end
end
task.wait(1)
end