Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

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

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

2 comments

0

They can exploit Items the are replicated to their client so you should RemoteEvents instead.

0

That are Replicated*

2 answers

✓ Accepted answer

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.

1 comment

0

Do you know any way I can store my shop information without it being exploited.

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.

This discussion is preserved as it was. New answers, comments, and votes are closed.