What common libraries or tools do you use?

I use roblox-ts, along with rbx-datastore2, rbx-net, rbx-t, rbx-roact, Rojo, TSLint, and I have plans of adding Rodux into my workflow.

2 Likes

I use Datastore 2 for all of my projects and I use the Moon Animation Suite for animating.
I also use YouTube and wiki alot.

3 Likes

If you are looking for Interpolation libraries (Tween / Easing / Bezier libraries), I recommend my own, although they are integrated with RoStrap.

I do not recommend using Time libraries that perform loops to figure out the date. Here is my implementation of an efficient algorithm for obtaining the Year/Month/Day for a given number of seconds after Jan 1 1970, as described by one of the main people writing the standard Date/Time libraries for C++ (credited in the source). However, for most use cases I prefer my re-implementation of the vanilla os.date function for Roblox (click the title to view the source). This is integrated with RoStrap, but only barely. If you like you can just remove lines 5 and 6 and switch out Debug.Error for error and it will work perfectly without any dependencies.

3 Likes

Do you have the source for your Date library anywhere? I am not using RoStrap because I am using Rojo and I want to keep all of my code in one place.

thanks!

I use a ton of my own libraries (private, but I’ll describe what they do):

  • Elttob Utils - provides a ton of useful functions, e.g. deep cloning, index of, “pwait” (only wait after a certain time interval, useful for long running tasks)
  • Metrics - makes measuring the execution time of various code snippets easy in production code
  • AABB - provides an OOP interface for working with axis aligned bounding boxes
  • Span - my own formatted text renderer that doesn’t annihilate text kerning at small sizes
  • Pick - CSS-like selectors for filtering descendants of instances (which I turned into a nifty plugin for selecting instances precisely)
  • Object - makes OOP code really easy to write:
local Thing = Object() -- make a new OOP class
function Thing:constructor(foo)
    -- ...
end

local SubClass = Object{Thing} --extending a class, supports multiple inheritance btw!
  • Lazy Require - variant of require() that only requires the module when you index it (convenient for solving require loops without having to move the declarations from the top of the file or passing arguments)
  • Set - More semantic way of defining sets, with support for all data types and some extra stuff like reduce()
  • UITags - My own system for applying behaviour to UI elements on mass, by marking up UI elements with value instances.
  • MakeWidget - Makes plugin widgets from ScreenGuis.
  • Observer - Lets you track changes to tables.
  • Event - Lets you define BindableEvent-like objects in Lua.
  • ColorUtils - Various utility functions for working with Color3s.
  • Pretty - Turns tables into nicely formatted strings.
  • Instances - Some utility functions for creating and manipulating Instances.
  • Lut - Turns arrays into two way look up tables.
  • Files - Utilities for working with file contents (normalise newlines, get row and column from string position)
4 Likes

Most libraries for RoStrap are found on the RoStrap GitHub repository.

Here is the link for the source of the Date library:
https://raw.githubusercontent.com/RoStrap/Time/master/Date.lua

Here is the documentation for the Date library on the RoStrap page:
https://rostrap.github.io/Libraries/Time/Date

1 Like

How exactly did you manage to use rbx-net? I keep getting
18:13:26.008 - Infinite yield possible on ‘ReplicatedStorage:WaitForChild(“rbx-remoteevent”)’

I haven’t used it recently. I would contact @Vorlias in the roblox-ts Discord.

I commonly use DevForum but there are other sources:

https://developer.roblox.com/en-us

I understand what you mean

There aren’t alot of 3rd party libraries, like in any other programming language. Just like how python uses the import statement and how c# uses the using statement, you can import a roblox made library with game:GetService("servicenamehere")

I can see why alot of people got confused, only me and some other handful of people program in other languages than the roblox custom made lua. Also i think libraries are called modules here, and they are their own script, which you can insert into the game, not sure though.

none

if your trying to learn then using others code will not help you improve as much as you could improve if you write your own scripts

yes writing your own scripts will take you longer at first but in the long run the time you invest will make you a better scripter

but if you don’t care to learn and just want to finish your game as quick as possible then using libraries may help

1 Like