FullShop - An In-game Currency Shop

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 with task.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.

3 Likes

speedran into devforum opon new post
This just seems unneeded

and also
what the hell is this formatting im having to dig through a maze of collapsables to find info that is not
This version is not out yet

That might be true, but it’s a model I intend to be open sourced for anyone interested in use cases for it.

basically a nice way of saying “maybe other people want it”

Did you use ProfileService? Also I think the model could be put where someone doesnt have to scroll and tap to get it

I assume this is used with tools, can it be used for trails?

Not yet. Remember this was created before I even knew it existed.

FullShop 2.1 is compatible with Models, tools, and other items. You can essentially buy a trail in the shop, and it will equip to your character if that’s what you meant.

this could’ve worked if the structure was intuitive.
there’s also no documentation, this is essentially an open sourced, proprietary software.

this isn’t maintainable by other developers, or expandable. but its ok.

There is very little documentation for it, so I forgot to include it into the post. I’m currently editing the post to add a documentation section, thank you for reminding me.