-> How to pass information from a script to another script?

Hello I have data that I need to store temperarily. I have the following:

High score, points, score

I am not asking about datastores but I mean like in the current game
How would I store this information for my game Furry detector 2.0 in a way that is good practice. I feel like using attributes/values are poor practice.
I was thinking of storing it in modules and having a function to get data for each individual thing.

What should I do that’s good practice amongst developers?

Hello @KrimsonWoIf, so what I do for most of my games is I use a datastore service that is outside Roblox. (a database that does not store data on roblox)

Look at this post for more info.
[Open Source] FirebaseService - Resources / Community Resources - DevForum | Roblox

You could use number values, bool value, etc. Though I think it makes the game a little messy it’ll still work.

You could use the attributes and values route, which may be simpler but also messier. Another way would be to use a script to store the data, a bindable event to allow communication to pass the data for saving, and a bindable function to request the data (This way is only for the server), but you could use a remote function to get it on the client as @TenBlocke said.

This question can be answered in a few ways, most common ways for referencing data like High score, points, score are through storing number values/ int values in each player instances. Or another way is to have a main script keep track of all of these in a dictionary and each player can use remote functions to get data. For script to script usage you can get data with bindable functions

I know but I’m asking if there is a more organized and generally better practice method. (like using a module script to get the info maybe)

Also something that can’t be changed on the client (And I know values/Attributes only change for the client when changed on the client but I still don’t want that to be possible)

It’s possible for you to use require(game.ServerScriptService…)

I actually don’t know if you’re able to require on the client so it might not be an option
Nvm you can lol i just said something really dumb I’ve been making to many server sided modules for people

modules and bindableevents
no need for any value stuffz ’ . ’

1 Like

I ended up using attributes because they’re fast and easier to manage than modules

‘_G’/‘shared’ would be faster while still being simple to manage.

For games that don’t care about exploits, maybe.

Neither are more vulnerable to exploits than attributes, object values, module scripts etc.