Advertisement
HowToRoblox

CashClient

Mar 15th, 2023
1,400
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.06 KB | None | 1 0
  1. local devProducts = require(game:GetService("ReplicatedStorage"):WaitForChild("DeveloperProducts"))
  2.  
  3. local mps = game:GetService("MarketplaceService")
  4.  
  5. local gui = script.Parent
  6. local cashDisplay = gui:WaitForChild("CashDisplayFrame")
  7. local cashShop = gui:WaitForChild("CashShopFrame");cashShop.Visible = false
  8.  
  9. local plr = game.Players.LocalPlayer
  10. local plrCash = plr:WaitForChild("leaderstats"):WaitForChild("Cash")
  11.  
  12.  
  13. function updateDisplay()
  14.    
  15.     local newCash = tostring(plrCash.Value)
  16.     local nSubs = 0
  17.    
  18.     while true do
  19.         newCash, nSubs = string.gsub(newCash, "^(-?%d+)(%d%d%d)", "%1,%2")
  20.        
  21.         if nSubs == 0 then
  22.             break
  23.         end
  24.     end
  25.    
  26.     cashDisplay.CashAmount.Text = "$" .. newCash
  27. end
  28.  
  29. function createDevProductFrame(productId:number)
  30.    
  31.     local newFrame = script:WaitForChild("DevProductFrame"):Clone()
  32.    
  33.     local productInfo = mps:GetProductInfo(productId, Enum.InfoType.Product)
  34.     newFrame.DevProductCash.Text = devProducts[productId].Cash .. " Cash"
  35.     newFrame.DevProductPrice.Text = productInfo.PriceInRobux .. "R$"
  36.     newFrame.DevProductImage.Image = "rbxassetid://" .. productInfo.IconImageAssetId
  37.    
  38.     newFrame.BuyButton.MouseButton1Click:Connect(function()
  39.         mps:PromptProductPurchase(plr, productId)
  40.     end)
  41.        
  42.     return newFrame
  43. end
  44.  
  45. function createScrollingFrame()
  46.    
  47.     local devProductFrames = {}
  48.    
  49.     for productId, cash in pairs(devProducts) do
  50.         table.insert(devProductFrames, {cash.Cash, createDevProductFrame(productId)})
  51.     end
  52.    
  53.     table.sort(devProductFrames, function(a, b)
  54.         return a[1] < b[1]
  55.     end)
  56.    
  57.     for _, frame in pairs(devProductFrames) do
  58.         frame[2].Parent = cashShop.DevProductSrollingFrame
  59.     end
  60. end
  61.  
  62. function openShop()
  63.     cashShop.Visible = true
  64. end
  65.  
  66. function closeShop()
  67.     cashShop.Visible = false
  68. end
  69.  
  70.  
  71. updateDisplay()
  72. plrCash:GetPropertyChangedSignal("Value"):Connect(updateDisplay)
  73.  
  74. createScrollingFrame()
  75.  
  76. cashDisplay.OpenShopButton.MouseButton1Click:Connect(function()
  77.     if cashShop.Visible == false then
  78.         openShop()
  79.     else
  80.         closeShop()
  81.     end
  82. end)
  83. cashShop.CloseShopButton.MouseButton1Click:Connect(closeShop)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement