I was so stupid, I had 0 instead of false on line 17
model = script.Parent.Parent.Parent.Model -- Filepath of model to be built
purchasePrice = 150 -- How much money this costs to purchase
moneyIncrease = 0 -- How much MORE money they earn after purchase
moneyInterval = 0 -- How much SHORTER the interval is between income after purchase
buildMethod = "Appear" --[[
Appear:
Parts appear at the same time in their original position
Fade:
Parts fade (1 by 1) from completely transparent to their original transparency.
Fall:
Parts fall (1 by 1) from the sky to their original position.
--]]
-------------------------------------------------------------------------------------------------
modelBackup = model:Clone()
modelName = modelBackup.Name
model:remove()
db = false -- I had 0 here :l
parts = {}
function checkForParts(v)
if v:IsA("BasePart") then
table.insert(parts,v)
else
checkForParts(v)
end
end
script.Parent.Touched:connect(function(hit)
if db == false then
db = true
if game.Players:FindFirstChild(hit.Parent.Name) ~= nil and hit.Parent.Name == script.Parent.Parent.Parent.OwnerName.Value then
stats = game.Players:FindFirstChild(hit.Parent.Name):FindFirstChild("leaderstats")
if stats ~= nil then
money = stats:FindFirstChild(game.Workspace.Leaderboard.MoneyName.Value)
if money.Value >= purchasePrice then
money.Value = money.Value-purchasePrice
script.Parent.Parent.Parent.MoneyIncrease.Value = script.Parent.Parent.Parent.MoneyIncrease.Value+moneyIncrease
script.Parent.Parent.Parent.MoneyInterval.Value = script.Parent.Parent.Parent.MoneyInterval.Value-moneyInterval
modelBackup.Parent = script.Parent.Parent.Parent
script.Parent.Parent.Name = "Building..."
if modelBackup:IsA("BasePart") then
table.insert(parts,modelBackup)
for i,v in pairs(modelBackup:GetChildren()) do
checkForParts(v)
end
model = parts[modelBackup]
else
for i,v in pairs(modelBackup:GetChildren()) do
checkForParts(v)
end
model = Instance.new("Model",script.Parent.Parent.Parent)
model.Name = modelName
end
if buildMethod ~= "Appear" and buildMethod ~= "Fade" and buildMethod ~= "Fall" then
buildMethod = "Appear"
end
if buildMethod == "Appear" then
for i = 1,#parts do
parts[i].Parent = model
end
elseif buildMethod == "Fade" then
for i = 1,#parts do
transparency = parts[i].Transparency
parts[i].Parent = model
repeat
parts[i].Transparency = parts[i].Transparency-0.05
wait()
until parts[i].Transparency >= transparency-0.05 and parts[i].Transparency <= transparency+0.05
parts[i].Transparency = transparency
end
elseif buildMethod == "Fall" then
for i = 1,#parts do
parts[i].Parent = model
end
end
script.Parent.Parent:remove()
else
oldName = script.Parent.Parent.Name
script.Parent.Parent.Name = "You need "..purchasePrice-money.Value.." more "..game.Workspace.Leaderboard.MoneyName.Value.." to buy this!"
wait(3)
script.Parent.Parent.Name = oldName
end
end
end
db = false
end
end)
