Roblox Runservice contains some methods and events for time management as well as for managing the context in which the game or script is running. It is stated that the methods like “IsClient, IsServer, IsStudio” can help you to determine where Lua code is running. Those methods are useful for a thing called ModuleScripts that could be required by both the client and the server. In addition, you are able to use the IsStudio in order to add the special behavior for in-studio testing.
Aside from the thing mentioned above, Roblox Runservice also provides events that help manage time. Both Stepped and Heartbeat are able to be used for game logic while RenderStepped can be used for visual effects. Apparently, those events fire with “delta time” values. As for the Stepped,it also includes the total amount of time passed in the game. Please keep in mind that using the change in time values for the game logic correctly is important for changing the values over time. As the general rule, you can multiply your change in time by the rate of change in order to get the amount a value should change in one frame. For instance: First, — Note: delta means “change in or of”. Second, speed means deltaPosition or deltaTime. Third, deltaPosition means speed multiply deltaTime.
The properties of Roblox Runservice inherited from Instance:
- int DataCost (readonly) (notreplicated). This one is cost of saving the instance using data persistence.
- Instance Parent. This one determines the hierarchical parent of the Instance.
- bool RobloxLocked. If everything is right, both the Instance and its descendants will not be able to be indexed or edited by the Script or LocalScript and will throw an error if it is attempted.
- string ClassName (readonly) (notereplicated). This one is read-only string representing the class this Instance belongs to.
- string Name. This one is a non-unique identifier of the Instance.
- bool Archivable. This one determines if the Instance can be cloned using Instance: Clone or saved to file.
Aside from the properties, there are also the functions. The first function of Roblox Runservice is void. It includes BlindToRenderStep such as string name, int priority, and Function function. This one is given the string name of the function and teh priority that the method binds the function to RunService.RenderStepped. The second one is bool IsClient (). This one is query if the script is running on the client. The third one is bool IsEdit (). The fourth one is bool IsRunMode (). This one is query if the “Run” button was pressed in Studio. The fifth one is bool IsRunning (). This one is query if the game is currently running. The sixth one is bool IsServer (). This one is query if the script is running on the server. The seventh one is bool IsStudio (). This one is query if the script is running within Roblox Studio. The eighth one is void Pause (). This one pauses the physics and scripts in the place.