Man, I didn’t think it would be so hard to create an in-game currency shop for my game…
FullShop might be for you!
FullShop is a model that allows you to easily create models for you to buy with an automatically generated in-game currency. Simply place your item in ReplicatedStorage or any folder and add a new ObjectModule to add the item to the shop!
I recommend getting the 1.0NoDataStore or the 2.1 version of FullShop if you want to test this model. These versions are currently the most stable.
For more details that are version-specific, view the versions:
FullShop 1.x series
The original instalment of FullShop included a simple grid layout of items you could buy. In addition, it included customizable currency names. You could assign a specific item a specific currency. It would show you if you could buy an item or not with glowing red outlines. Not only that, but it would also save your inventory automatically. Something you bought would stay in your backpack (if it was a tool) if you rejoined the game.
1.0
FullShop V1.0 was the second installment of FullShop implemented (first installment was lost… team create version history permissions…).
This version had some downsides being so old. First of all, the coding wasn’t that well-made, and some spelling errors or potential DataStore errors could occur. Second of all, this version of FullShop uses notifications using a quite outdated version of the NotificationModule I made two years ago.
Here’s a screenshot of FullShop 1:
Two versions were associated with this version of FullShop. One of them didn’t require datastores while the other did.
You can download them both:
FullShop1.0.rbxm (16.8 KB)
FullShop1.0NoDatastore.rbxm (16.9 KB)
(Version without datastore was modified to make the grid size larger. The original version didn’t include this.)
1.1
This version of FullShop is intended to be a fixed-up version of 1.0. There is no planned release date yet.
FullShop 2.x series
FullShop 2 was created in July of 2020. It featured a viewport to preview the item, showed tips for buttons, and also had no load delays or memory leaks (unlike version 1.0).
2.0
Version 2.0 was one of the buggiest versions of FullShop you could get. It’s slow, it doesn’t work, and I don’t know why you’re here. Move on to 2.1 already!
FullShop version 2.0 had quite a refined design when it was first created. Buttons were compact, requiring the use of mouse hover “ToolTip” like things when you hover over a buy button. It included a viewport to preview items, and also included inventory saving, but inventory saving had a bug where it saved for all users and not the current user. This was fixed in 2.1.
FullShop 2.0 also required a DataStore to run.
If you really want to see if it works for your game, try it out. I’m providing the file via .RBXM right here:
FullShop2.0.rbxm (11.7 KB)
2.1
Think of this as FullShop 2.0 2022 edition. I came back to the project after I rediscovered the original FullShop I made two years ago. Includes improvements and bugfixes to 2.0, such as:
- When zoomed into the shop, the shop button will now tell you to press the ‘o’ key to zoom out.
- Fixed a bug where inventory saving would save an item for all users.
- FullShop now runs without datastore availability being a requirement.
- Removed 2nd parameter to all
Instance.new
functions. - FullShop will now clone the object instead of putting it directly into the viewport and then cloning it later.
- FullShop’s viewport is managed on the client.
- Replaced
wait
withtask.wait
. - …Many more!
The UI remains the same and it still only supports one currency value, but it works!
FullShop2.1.rbxm (15.7 KB)
FullShop 3.x series
Probably coming next year. I don’t plan for this to be the final version of FullShop though. The updated version of the NotificationModule will probably be used this time!
If you have any suggestions for this version, please include them in your reply if you thought of any.
Will include:
- Support for multiple currencies
- An inventory GUI
- Support for adding items to the inventory (for events)
- Clicking on an item will bring you to a details pane/page that will give you a description of the item.
- Better feature customizability
To use FullShop, you will need to be familiar with the documentation.
Documentation
FullShop 1.x series documentation:
Documentation for the FullShop 1.x system is quite simple.
--This is a virtual shop item, that can be configured.
--Duplicate this to add more items.
local item = {} --Table to hold configuration values
item.Name="minigun" --The name of the item that will be displayed in the shop.
item.Cost=0 --The amount of currency required to use the item.
item.Currency="coins" --The name of the currency. If this is not specified in
item.Object=game.ReplicatedStorage.XM214 --The location of the object to give to the Backpack once done.
return item
No documentation is needed for ShopRunner
.
FullShop 2.x series documentation
Adder
script:
- currencyName: The name of the currency to add to the leaderstats folder.
- saveInventory: Determines if the inventory should be added back to the original location after rejoining the game (deprecated for FullShop 2.0)
ObjectModule:
local module = {} --Table to store data about the item.
module.Price=0 --Cost that will be subtracted from the player after performing a transaction.
module.Object=script --Functions the same as ShopItem.Object (for backwards compatibility purposes)
module.Name="Configure Me" --The name of the item to be displayed in the shop.
return module
If there are any bugs for FullShop 1.0 (No datastore) and FullShop 2.1, please let me know. FullShop 2.0 and FullShop 1.0 are no longer supported.
Additionally, if you have any questions about FullShop’s features, please ask away and I can provide you with answers.