Skip to content

Instantly share code, notes, and snippets.

View howmanysmall's full-sized avatar
😎
pobam L+

howmanysmall

😎
pobam L+
  • Utah
View GitHub Profile
--- Base64
-- Encodes and decodes values to and from Base64
-- @author antifragileer <https://www.roblox.com/users/443282130/profile>
-- @see Developed for the Aero Game Framework <https://github.com/Sleitnick/AeroGameFramework>
-- @see Adapted from https://github.com/toastdriven/lua-base64 for the Roblox game.
-- @see Re-adapted from https://gist.github.com/howmanysmall/016a35f0debcfb81f14e6bee03d450de and https://gist.github.com/Reselim/40d62b17d138cc74335a1b0709e19ce2.
-- @license BSD
-- July 15, 2018
local Alphabet = {}
local DEFAULT_SETTINGS = {
Pretty = true;
RobloxFullName = false;
RobloxProperFullName = true;
RobloxClassName = true;
Tabs = true;
Semicolons = true;
Spaces = 4;
SortKeys = true;
}
local Promise = require(script.Parent.Parent.Vendor.Promise)
local function SafeWaitForChild(Parent, ChildName, Timeout)
return Promise.new(function(Resolve, Reject, OnCancel)
local Child = Parent:FindFirstChild(ChildName)
if Child then
Resolve(Child)
else
local Offset = Timeout or 5
local StartTime = os.clock()
local RunService = game:GetService("RunService")
local Heartbeat = RunService.Heartbeat
local LinkToInstanceIndex = newproxy(false)
local Janitors = setmetatable({}, {__mode = "k"})
local Janitor = {__index = {CurrentlyCleaning = true}}
local TypeDefaults = {
["function"] = true;
local Functions = {}
local function Alphabetically(a, b)
local typeA = type(a)
local typeB = type(b)
if typeA == typeB then
if typeA == "number" then
return a < b
else
local RunService = game:GetService("RunService")
local EventConnection = require(script.Parent.EventConnection)
local Roact = require(script.Parent.Roact)
local t = require(script.Parent.t)
local RotatingViewport = Roact.Component:extend("RotatingViewport")
RotatingViewport.defaultProps = {
AnchorPoint = Vector2.new(),
Position = UDim2.new(),
local Players: Players = game:GetService("Players")
local CollectionService: CollectionService = game:GetService("CollectionService")
local RunService: RunService = game:GetService("RunService")
local Door: Part = script.Parent
local POSSIBLE_CODES: {[string]: boolean} = {
["bruce wayne"] = true;
["batman"] = true;
}
local BLACK_COLOR3 = Color3.new()
local function SortByTime(A, B)
return A.Time < B.Time
end
local function Color3Lerp(C0, C1)
local L0, U0, V0
local R0, G0, B0 = C0.R, C0.G, C0.B
R0 = R0 < 0.0404482362771076 and R0 / 12.92 or 0.87941546140213 * (R0 + 0.055) ^ 2.4
local RunService = game:GetService("RunService")
local Heartbeat = RunService.Heartbeat
local Scheduler = {}
--[[**
Yields the current thread until the specified amount of seconds have elapsed. This uses Heartbeat to avoid using the legacy scheduler.
@param [t:optional<t:numberMin<0>>] Seconds The amount of seconds the thread will be yielded for. Defaults to 0.03.
@returns [t:number] The actual time yielded (in seconds).
local syntax = require("core.syntax")
syntax.add{
files = {"%.lp$", "%.lh$"};
comment = "//";
patterns = {
{pattern = "//.-\n", type = "comment"};
{pattern = {"/%*", "%*/"}, type = "comment"};
{pattern = {"#", "[^\\]\n"}, type = "comment"};
{pattern = {"L\"", "\"", "\\"}, type = "string"};