Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How to do filteringenabled on shops?

Asked by 5 years ago

I do know for a bit about filteringenabled and the purpose of using it. But is this the best way of using them in terms of securing the shop?

This is the event setup script(serverscript)

-- Services
local theRS = game:GetService("ReplicatedStorage")

-- eventsFolder
local theEventsFolder = theRS:WaitForChild("EventsFolder")

-- remoteevents
local CPurchase = theEventsFolder:WaitForChild("CoinsPurchase")
local GPurchase = theEventsFolder:WaitForChild("GemsPurchase")
local OwnedItem = theEventsFolder:WaitForChild("OwnedItem")
local Affordable = theEventsFolder:WaitForChild("Affordable")

-- ItemOwned Check 
local BItemsFolder = game.ServerStorage.BoughtItems
local SelectedItem = game.StarterGui.Navigations.ShopFrame.ShopPreviewFrame.ItemNameview



-- The coins purchase
CPurchase.OnServerEvent:Connect(function(Player, Value, Amount)
    if Player.leaderstats.Coins.Value >= Amount then
        print("Enough coins for purchase")
        Player.leaderstats.Coins.Value = Player.leaderstats.Coins.Value - Amount
        print(Value)
    else
        print("Insufficient coins! Cannot purchase!")
    end
end)

-- Check if item's owned
OwnedItem.OnServerEvent:Connect(function(Player, Value, Amount)
    if BItemsFolder:FindFirstChild(SelectedItem.Text) then
        print("Item is Owned")
    else
        print("Item isn't owned yet")
    end
end)

-- See if item's affordable or not 
Affordable.OnServerEvent:Connect(function(Player, Value, Amount)
    if Player.leaderstats.Coins.Value >= Amount then
        print("Item's Affordable")
    else
        print("Item's not affordable")
    end
end)

And this is the Client script, here, I fire the events when i press buy. And the events should do as intended

-- Player vars
local Player = game.Players.LocalPlayer
local leaderboard = Player:WaitForChild("leaderstats")

-- Currencies
local Coins = Player.leaderstats.Coins

-- services
local RS = game:GetService("ReplicatedStorage")
local SS = game:GetService("ServerStorage")
local SG = game:GetService("StarterGui")

-- Events 
local EFolder = game.ReplicatedStorage:WaitForChild("EventsFolder")-- Brings the folder
local CPurchase = EFolder:WaitForChild("CoinsPurchase")
local OweItem = EFolder:WaitForChild("OwnedItem")
local Affordable = EFolder:WaitForChild("OwnedItem")


-- Buttons and item data
local button = script.Parent
local price = script.Parent.Parent.Price
local thisName = script.Parent.Parent.ItemNameview
local SelectedName = script.Parent.Parent.ItemName

-- More Buttons
local ItemPurchase = script.Parent
local targetPrice = script.Parent.Parent.Parent.WeaponsScrollingFrame.Item.ItemCoinsPrize

-- CheckItemsOwned folder 
local ItemsOwnedFolder = RS.WhereItemsROwned

-- Purchased 
local PFrame = script.Parent.Parent.PurchasedLabel
-- Mischellanious shop 
local WaponsFrame = SG.Navigations.EquipmentFrame.WeaponsScroller


-- Purchase
button.MouseButton1Click:Connect(function()
    CPurchase.FireServer() -- Coins purchase 
    OweItem.Fireserver() -- See if item is owned
    Affordable.FireServer() -- See if items affordable


    if leaderboard.Coins.Value >= price.Value then
        leaderboard.Coins.Value = leaderboard.Coins.Value - price.Value
        local RSItem = RS:WaitForChild(thisName.Text)
        if RSItem then 
            if PFrame.Visible == false then
                PFrame.Visible = true

            else 
                PFrame.Visible = false
            end

        end
        RSItem:Clone().Parent = ItemsOwnedFolder
        local RSAsset = RS.Assets:WaitForChild(thisName.Text)
        RSAsset:Clone().Parent = WaponsFrame
        RSAsset:Clone().Position = UDim2.new({0.028, 0},{0.011, 0})

    end

    if leaderboard.Coins.Value < price.Value then
        script.Parent.Parent.Parent.InsufficientDisplay.Visible = true
    end




end)

And I'm also struggling to figure out how to move an imagebutton(Item button With all its Properties) into an Equipment GUI frame where items that youve bought are shown. How do I move it there and be able to show it in the Equipment?

1
The client cannot access the descendants of ServerStorage. User#24403 69 — 5y
0
^ only the server can User#23365 30 — 5y
0
@sjr04Alt is it exactly how it should be, the way you said it? Stormtech6 2 — 5y

Answer this question