Skip to content

Instantly share code, notes, and snippets.

View gaymeowing's full-sized avatar
🧙‍♀️
diverging they neurons

witchiest gaymeowing

🧙‍♀️
diverging they neurons
View GitHub Profile
@gaymeowing
gaymeowing / TextChatUtil.luau
Last active March 21, 2024 16:04
TextChatUtil a small utility for TextChatService with mute & easy adding/removing from TextChatChannels as methods. Uses futures for async operations https://github.com/red-blox/Util/tree/main/libs/Future
--!strict
-- TextChatUtil
-- simple utility module for TextChat
-- @Kalrnlo
-- 21/03/2023
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TextChatService = game:GetService("TextChatService")
local RunService = game:GetService("RunService")
--!strict
-- ConsoleFormatter
-- A utility module for easily formatting outputs for print, warn and errors!
-- @Kalrnlo
-- 30/12/2023
export type OutputType = "Critical" | "Warning" | "Error" | "Log" | "Debug" | "1" | "2" | "3" | "4" | "5"
local DefualtFormat = "[%s][%s] :: "
@gaymeowing
gaymeowing / GetBoxSides.luau
Created December 30, 2023 05:18
Utility function for getting CFrames for every side of a box
--!strict
-- GetBoxSides
-- Simple function for getting all of a box's sides
-- Modified From: https://devforum.roblox.com/t/how-do-i-find-the-top-and-bottom-of-a-part/1082206
-- @Kalrnlo
-- 25/10/2023
return function(BoxSize: Vector3, BoxCFrame: CFrame?)
local BoxCFrame = BoxCFrame or CFrame.new()
@gaymeowing
gaymeowing / GetBoxCorners.luau
Last active December 30, 2023 07:48
Utility function for getting all of a box's corner CFrames
--!strict
-- GetBoxCorners
-- Simple function for getting all of an objects corners
-- Modified From: https://github.com/FrostDracony/Roblox/blob/master/Tutorials/GetCornersOfAllBaseParts/GetCornersOfPart.md
-- @Kalrnlo
-- 25/10/2023
return function(BoxSize: Vector3, BoxCFrame: CFrame?)
local BoxCFrame = BoxCFrame or CFrame.new()
--!strict
-- RichTextUtil
-- simple utility module for rich text
-- @Kalrnlo
-- 02/12/2023
local RichTextUtil = {}
-- Taken from
@gaymeowing
gaymeowing / GameJoinUrlUtil.luau
Created December 30, 2023 05:30
Utility module for making direct game join links easier https://devforum.roblox.com/t/1904069
--!strict
-- GameJoinUrlUtil
-- A utility module for generation join links for any game
-- with url enocoding and launchdata encoding included
-- @Kalrnlo
-- 30/11/2023
local HTTPService = game:GetService("HttpService")
@gaymeowing
gaymeowing / PlayerLoaded.Zap
Last active January 21, 2024 02:29
PlayerLoaded event handler for Zap https://zap.redblox.dev/
type void = boolean?
event PlayerLoaded = {
from: Client,
type: Reliable,
call: SingleAsync,
data: void
}
@gaymeowing
gaymeowing / Caller.luau
Last active February 9, 2024 16:58
Simpler alternatives to signals
--!strict
-- Caller
-- a simple signal alterative, thats a function that returns 2 functions
-- first is for adding a callback and returns a function to disconnect
-- second is for running the callbacks with the given values
-- inspired by bin from util.redblox.dev
-- 09/02/2024
-- @Kalrnlo
local function AssetTypeToAccesoryType(AssetType: Enum.AssetType): Enum.AccessoryType
local Success, EnumItem = pcall(function(EnumItemName)
return if Enum.AccessoryType[EnumItemName] ~= nil then Enum.AccessoryType[EnumItemName] else nil
end, string.split(AssetType.Name, "Acc")[1])
return if Success then EnumItem else Enum.AccessoryType.Unknown
end
print(AssetTypeToAccesoryType(Enum.AssetType.WaistAccessory)) --> Enum.AccessoryType.Waist
print(AssetTypeToAccesoryType(Enum.AssetType.Hat)) --> Enum.AccessoryType.Hat
--!native
-- abbrev timezone
-- simple function for getting a timezone in its abbreviated form
-- ie EST (Eastern Standard Time)
local GSUB = string.gsub
local DATE = os.date
local function abbrev_timezone(offset: number?): string