Skip to content

Instantly share code, notes, and snippets.

@RobertCodez
Created April 14, 2023 14:16
Show Gist options
  • Save RobertCodez/4bd269393a37959b4577b9ef170281e7 to your computer and use it in GitHub Desktop.
Save RobertCodez/4bd269393a37959b4577b9ef170281e7 to your computer and use it in GitHub Desktop.
Grid Upgrader Script
for _,v in pairs(game.Workspace.Grid:GetChildren()) do
v.ClickDetector.MouseClick:Connect(function(player)
if v:GetAttribute("Occupied") == "YES" then
local BuildingToUpgrade
for _,building in pairs(game.Workspace.Buildings:GetChildren()) do
if tonumber(building:GetAttribute("CorrespondingGridNumber")) == tonumber(v.Name) then
print("Corresponding building found")
BuildingToUpgrade = building
end
end
local BuildingName = v:GetAttribute("BuildingName")
local Upgrades = v:GetAttribute("Upgrades")
local Util = v:GetAttribute("Util")
if not BuildingToUpgrade then return end
local BuildingPrice = BuildingToUpgrade:FindFirstChild("Price").Value
print(v.Name)
game.ReplicatedStorage.Events.ShowUpgradeUI:FireClient(player,BuildingName,Upgrades, BuildingPrice,v.Name)
end
end)
end
game.ReplicatedStorage.Events.UpdateUpgrade.OnServerEvent:Connect(function(player,UpgradeItem,Number)
local Tile = game.Workspace.Grid[tostring(Number)]
local splits = string.split(Tile:GetAttribute("Upgrades"),"|")
local IncomeUpgrade = splits[1]
local ResidentsUpdgrade = splits[2]
if UpgradeItem == 'Income' then
Tile:SetAttribute("Upgrades", tostring(tonumber(IncomeUpgrade) + 1).."|"..tostring(ResidentsUpdgrade))
elseif UpgradeItem == 'Residents' then
Tile:SetAttribute("Upgrades", tostring(IncomeUpgrade).."|"..tostring(tonumber(ResidentsUpdgrade) + 1))
end
local BuildingToUpgrade
for _,building in pairs(game.Workspace.Buildings:GetChildren()) do
if tonumber(building:GetAttribute("CorrespondingGridNumber")) == tonumber(Number) then
print("Corresponding building found")
BuildingToUpgrade = building
end
end
local price = BuildingToUpgrade:FindFirstChild("Price").Value
game.ReplicatedStorage.Events.UpdateUpgradeGUI:FireClient(player, Tile:GetAttribute("Upgrades"), price)
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment