I don’t think this is limited to “highly experienced developers”. It’s trivial to change a module script being required.
No like you can actually keep a security key in the model and the module script, and then check if the keys match, just in case if they change the module script, their security key does not match
To avoid finding the key, you can probably make it confusing
Normal:
local code = "1020293"
Better way:
local main = "1000000"
main += 20293
By looking at it, its x3 harder than normal one, only experienced scripts know what the actual code is
But… that’s not harder to work around? They don’t even need to touch the other modulescript if they can just remove the check from the main script.
That’s the uh the main thing, now look
If I want to avoid that removing of the script this is how I do it
if main == 193092 then -- if its correct then
-- then the thing works, like we put the function here
end
Now, you might say what if they remove the main? thing, yes then can remove, but we keep that verification at each point of the client/server stuff, so if they break this, the whole thing breaks up
But, I wouldn’t say someone would attempt to re-write the whole system, instead of paying 55 robux, if they can make their own system, why would they even use the model? only normal scripts who don’t have much experience, buy this, because why would a scripter, who knows how to make this, buy it, they will rather make one on own, with their own idea
What exactly is the purpose of this…? We have gamepasses which are ideally one time purchases? This just seems like a performance waste
Maybe you should’ve looked a tad bit deeper before making a tutorial on this
It’s good experience though, a bit of programming doesn’t hurt anyone
If you do plan to make a gamepass-whitelist hybrid however, I recommend Data Stores or HttpService & Pastebin over tables that need to be updated directly
Good work
That makes no sense, developers can actually remove the gamepass line of your code, that isn’t a proper system, atleast this is better than system, its not a waste, its just a license system
Yes I have 4 years experience, but I forgot it because I have worst memory, also I tried to make one at first, it wasn’t working fine, because the developers don’t really need to have, the game owner should have it
Modules can also easily be downloaded and edited
For example you can entierly remove the VIP/donation systems in every popular administration/moderation (HD Admin, Adonis, et cetera) scripts. Though it’ll seem a bit odd for someone to do so, it’s possible!
Unless you obfuscate your code (which WILL 100% make it look sketchy), then a proper “licensing system” isn’t entirely possible.
But what stops them from inserting the model instance in the game and add their user ids? Since roblox removed private modules this security is not possible anymore
solution:
dont make it in client.
I would consider this a poor method to monetizing plugins. A better method would be to make it work through gamepasses, or better yet, make it free.
It might be better to have your post peer-reviewed next time to avoid having a barrage of critical replies.
Anybody can also edit the code to have it do whatever your want. Instead of requiring the module for players, for example, they could just replace it with their own table of players.
Gamepasses can easily be bypassed.
A better solution would just to be make a lite version of the plugin for free and have a “pro” version of the plugin for robux. A lot of plugins do this for monetization.
print(main)
selling a system like this is not ideal no matter how you do it
This is not accounted for groups, If its a group game.CreatorId will return the group id.
Oh how do I get the owner of the group then?
GroupService, using it you can get the Group Owner ID
How do I find if the game.CreatorId
is a group id or user id
Enum.CreatorType
Use that
This is cool but why not just use gamepasses and check if the user owns it?
I forgot game passes exist while thinking a lot for this system, and then I realized it, and then I added game pass section too, check it out