I am TeaAndCopy, currently when playing games, I sometimes would like to donate to the creator by purchasing their developer products. However recently I have reached an all time low of 3 R$. Most games do not support donations of custom amounts and I’m interested in changing this.
My idea would be to introduce a new event into Roblox:
local market = game:GetService('MarketplaceService') -- variable for MarketplaceService
local newProduct = market:CreateProduct(43) -- This would create a developer product with the price of 43 R$. This would error if the price were to be less than 5
market:PromptProductPurchase(player, newProduct) -- This would prompt the purchase of the newly made product
Use Cases
This could be used in a variety of ways to make games more interesting. For example:
Custom donations
Custom currency purchases
Custom item purchases
Limitations
You would have to set a few limitations to stop this from being abused & to fix a few issues:
Making the event error if the chosen amount is less than or more than a specific price
Making the created product remove after purchase or after purchase declined
Please reply with your feedback & ideas about this. I’m keen to hear what you have to say.
(Looking for Use Cases)
It would make more sense to just allow PromptProductPurchase to take a “custom price” argument (can only be set on the server) for buying an existing product, rather than creating a new product for every single person. But yeah, the ability to spend a variable amount of Robux on a product would be nice.
Ah I see. Yeah that would be a better option. It would be great to see more options. Maybe changing the system so that all developer products you make on the website do not have any price to set and that’s all done from a script.
I support this idea, always thought a custom donation system would be a cool feature to have.
Some people may want to make a donation smaller than what you’ve set the developer product price too.
This would be awesome. I created my own version of the MarketPlaceService prompt for my in-game purchases. Here is a gif (with terrible framerate) of it in action. You can see the first three are with the in-game Coins currency and the last one is an actual Robux developer product prompt for comparison purposes.
I’m hoping animated gif’s work in this forum…
EDIT: It doesn’t work. Here’s a link to the gif: http://g.recordit.co/WzOHU65kli.gif
You might have to copy/paste the link, doesn’t seem to work when you just click it.
Great idea! I think this would help with giving the developer easier control over their set prices and allow them them to be altered based on different conditions for the player in game.
I’ve made my own “Custom Dev Products” thing before for several people one being @Younite for his Vector Art he offered to make for the dev forums, allowed anyone to choose whatever robux amount they wanted to donate and with a click of a button a prompt to buy a dev product with that exact amount would come up.
Though I used my own 3rd party server and my own bot account that creates the dev products, Also after a while of it being used your dev product page gets so huge it’d be hard to find your manually made products.
With it being an actual feature stuff like that wouldn’t(shouldn’t) be a problem.
Yeah, that and the fact that if it was set to some outrageous price, most players wouldn’t be able to afford it anyway so the transaction would just fail!
To build onto this, I think what could be better is a completely temporary developer product with a custom name, description and price. I can see a lot of use cases for this, for example if you had a tycoon game where you purchase items from a store to build, you could allow purchasing of every item in robux, instead of purchasing currency which you then use to purchase these items. For example, say I wanted to buy a ‘Light Fixture’ from the ingame catalog, the server would create a developer product and prompt the player like so:
local mps = game:GetService("MarketplaceService")
local items = {123 = {Name = "Light fixture", Robux = 20, Coins = 100, Description = "This will light up your world!"}}
function buyProduct(plr, productId, buyMethod)
if buyMethod == "Robux" then
local data = items[productId]
if data ~= nil then
local product = mps:CreateProduct(data.Robux, data.Name, data.Description, true) -- CreateProduct(Price - Required, Name - Defaults to nil, Description - Defaults to nil, RemoveAfterPurchase - defaults to true), Name, description and RemoveAfterPurchase optional.
mps:PromptProductPurchase(plr, product)
end
end
end
buyProduct.OnServerInvoke = buyProduct