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

Is it possible for an exploiter to exploit a module script that contains shop information?

Asked by
0Vyp 14
3 years ago

So I'm making a game and I'm wondering if it's possible for an exploiter to exploit a module script that contains shop information like prices.

This is the current module script, I have a local script that does require the module but just to read it.

local StoreItems = {

    Clicks = {
        [0] = {
            Name = "Default",
            Price = 0,
            Clicks = 1,
            Image = "http://www.roblox.com/asset/?id=6685581620"
        },
        [1] = {
            Name = "Test1",
            Price = 10,
            Clicks = 2,
            Image = "http://www.roblox.com/asset/?id=6689477815"
        },
        [2] = {
            Name = "Test2",
            Price = 100,
            Clicks = 4,
            Image = "http://www.roblox.com/asset/?id=6689478231"
        },
        [3] = {
            Name = "Test3",
            Price = 1000,
            Clicks = 6,
            Image = "http://www.roblox.com/asset/?id=6689478897"
        },
        [4] = {
            Name = "Test4",
            Price = 10000,
            Clicks = 8,
            Image = "http://www.roblox.com/asset/?id=6689479543"
        },
        [5] = {
            Name = "Test5",
            Price = 100000,
            Clicks = 10,
            Image = "http://www.roblox.com/asset/?id=6689481117"
        },
    },

    Backpacks = {},

    Ranks = {}

}
return StoreItems

And this is the local script.

--[ Variables ]--

local RS = game:GetService("RunService")
local replicatedStorage = game:GetService("ReplicatedStorage")
local replicatedData = replicatedStorage:FindFirstChild("replicatedData")

local modules = replicatedStorage:FindFirstChild("Modules")
local storeData = require(modules:FindFirstChild("StoreData"))

local Sample = replicatedStorage:FindFirstChild("Sample")
local Clicks = script.Parent.Background.Clicks.ClicksIcon
local Backpacks = script.Parent.Background.Backpacks.BackpacksIcon
local Ranks = script.Parent.Background.Ranks.RanksIcon
local layout = script.Parent.Background.Items.UIPageLayout
local player = game.Players.LocalPlayer

local Background = script.Parent.Background
local Items = Background.Items
local Equip = Background.Equip

local ItemImage = Background.ItemImage
local ItemName = Background.ItemName
local ItemStats = Background.ItemStats
local ItemStats2 = Background.ItemStats2
local ItemPrice = Background.ItemPrice

local abbreviations = {
    "",
    "K",
    "M",
    "B",
    "T",
    "Qa",
    "Qi",
    "Sx",
    "Sp",
    "Oc",
    "N",
    "d",
    "Ud",
    "Dd",
    "Td",
    "Qad",
    "Qid",
    "Sxd",
}

--[ Functions ]--

local function roundNumber(Amount)
    local Text = tostring(Amount)
    local chosenAbbreviation = nil

    for i = 1, #abbreviations do
        if tonumber(Amount) < 10^(i*3) then
            Text = math.floor(Amount/((10^((i-1)*3))/100))/(100).. abbreviations[i]
            break
        end
    end
    return Text
end

--[ Main ]--

Clicks.MouseButton1Click:Connect(function()
    layout:JumpToIndex(0)
end)

Backpacks.MouseButton1Click:Connect(function()
    layout:JumpToIndex(1)
end)

Ranks.MouseButton1Click:Connect(function()
    layout:JumpToIndex(2)
end)

--// Put items in gui
for i = 1, #storeData.Clicks do
    local ItemClone = Sample:Clone()
    ItemClone.Name = i
    ItemClone.Image = storeData.Clicks[i].Image
    ItemClone.Parent = Items.Clicks
    ItemClone.ItemNumber.Value = i
end

for i,v in pairs(Items.Clicks:GetChildren()) do
    if v:IsA("ImageButton") then
        v.MouseButton1Click:Connect(function()
            local ClickedItem = storeData.Clicks[v.ItemNumber.Value]
            if Background:FindFirstChild("ItemStats2") then
                Background.ItemStats2.Visible = false
            end

            local Price = ClickedItem["Price"]
            local Clicks = ClickedItem["Clicks"]

            ItemImage.Image = ClickedItem["Image"]
            ItemName.Text = ClickedItem["Name"]
            ItemStats.Text = "+" ..roundNumber(Clicks).." Clicks"
            ItemPrice.Text = "$" ..roundNumber(Price).. " Coins"
        end)
    end
end
0
They can exploit Items the are replicated to their client so you should RemoteEvents instead. acediamondn123 147 — 3y
0
That are Replicated* acediamondn123 147 — 3y

2 answers

Log in to vote
0
Answered by
NGC4637 602 Moderation Voter
3 years ago

If the script executor the exploiter is using has a script decompiler (for example, Krnl and Synapse), then yes, unless the ModuleScript is hidden in places like ServerStorage or ServerScriptService, then they can't.

0
Do you know any way I can store my shop information without it being exploited. 0Vyp 14 — 3y
Ad
Log in to vote
1
Answered by 3 years ago

Yes, exploiters can exploit the module script by requiring it and using what is in the module. They can also see what is in module scripts and local scripts.

Answer this question