#Programming Discussion
1 messages · Page 2 of 1
i found that panacea was causing a huge lag spike when loading just to be able to accomodate loading some animations in studio easier and had zero impact on ingame so i deleted that lmao
no
hey guys if i were storing all instances in a roblox place in a single array for some reason, if i had to chose, should i be indexing that array with a uint64, or should a uint32 be ok?
i mean it would be kinda miraculous if you managed to have 4,294,967,296 instances in a single place loaded at once but i mean you never know
i dont even know if a roblox server can handle more than 4 billion instances
this would be over 34gb of memory just for pointers to the instances, this doesnt even include the instances themselves
also you cant even create a table that big
largest array i could make is 2^26 entries
is there a way to prompt a file export in roblox studio? something similar to StudioService:PromptImportFile() but for exporting
there's PluginManager:ExportSelection(), but that only works with .rblx files and luau scripts, and im trying to export binary data containing 0x00s
out of curiosity i tried writing some buffer data into a script, but it turns out if there are any 0x00 bytes, the script's source will literally cut off at that point and any content after the null byte is no longer present in the script :(
the experiment was:
- i put
local A = Instance.new("Script", game.ServerStorage) A.Source = string.char(65, 66, 67, 68, 0, 69, 70, 71, 72, 0, 73)into the command bar - the expected result would be that the script's source will consist of:
ABCD?EFGH?I
- but the actual result is:
use UpdateSourceAsync it works
local s = Instance.new("Script")
game:GetService("ScriptEditorService"):UpdateSourceAsync(s, function()
return "ab\0cdefg"
end)
print(#s.Source) --> 8
I use like a roblox.js node thing and it can upload rbxm and stuff to roblox
set the collision fidelity to precise convex decomposition
and if that doesnt work then oh well idk
collision is janky in roblox because the physics system requires everything to be convex, so meshes/unions have to be broken into convex solids
yeah that works better
it definitely helps in certain cases
who up adventing they code
day 3 part 1 was pretty easy and then i started to do day 3 part 2 until i realized my solution was flawed and now idk what to do for it
I hand wrote an algorithm for part 2 and then tried implementing it into code
advent of code looks like hell!
i know the solution to part 2 but havent done it yet
why use a programming language when you could use regex
(this was so painful to make)
what in the unholy fuck
Why would you do that to yourself 😭 😭 😭 😭 😭 😭
i got the idea once i realized this challenge requires (almost) no math and had to do it
im doing something stupid for each day
day 2 i did in the luau typechecker
hopefully ill be able to keep up with it until day 12
yoo is that Plague inc
i aint even gon be able to do day 1 😭
a michigan city
ludo did day 1 parts 1 and 2 by hand
hes hacking
i barely even pass part 2
local function ParseSequence(value)
return
end
local sequences = string.split(script.Sequences.Value, "\n")
local dial = 50
local clicks = 0
for i, sequence in sequences do
local direction = string.sub(sequence, 1, 1) == "R" and 1 or -1
local amount = tonumber(string.sub(sequence, 2, -1))
dial += amount * direction
clicks += math.abs(math.floor(dial/100))
dial %= 100
end
print(clicks)
what did i do wrong help 😭
i think you are missing the case when the dial lands on 0 exactly
e.g. it is on 15 then turns L15 to land on 0
if i do dial == 0 then clicks += 1, it will output 7 instead of 6 given example input
because now you are double counting a specific case
step through the example and think about it
i managed to fuck up a pr so badly instead of going from one branch to master it went master to one branch
even though the pr was set to go from one branch to master that wasnt messed up
racking my brains trying to think of a way to do day 5 p2 without sorting the intervals first
but i dont think i can do it
every idea i have requires them to be sorted based on their starting value
has anyone managed to do this and is it more efficient? im giving up but id love to know if its a possibility
Me When I Cant Read The Instruction Properly 😂
ive been trying to recreate the dragger instance
had to visualize how it works
unless you are trying to figure out the math for it as a challenge i would absolutely reccomend using the dragger instance
yeah
bad news: tried this out 2 days ago, and it turns out that 0x00 bytes are written fine, but 0xFF bytes keep being turned into 0x3F for some reason DDDDDDDDDDDDDDDDDDDDDDDDDDDD:
so i've abandoned the script im writing and will instead take the alternative solution of opening the roblox place with C# and doing stuff in C# 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃 🙃
not 100% sure on what the best way to pass in a bunch of values for UI purposes is
should i be making a module dictionary object whatever for that i dont even know how to make dictionaries or smth else
the best way to update ui state has been a debate since the dawn of gui
if you just need to pass in a lot of data then a table containing all the data is good enough
@last sierra okay so,, basically i want to make a game thats kinda like minus elevation, but im stuck at how im going to paste the levers into the map, ive already,, kinda..? got floor generation, i just want to get a random lever template part and paste the levers, but i need multiple levers as well
if you make minus elevation that require you to wait forever im going to kill you
make it like nullscape
each room has a possibility of having one lever?
located at a different position
yeah, just making the first few floors not boring
do i do it like this?
the levers are pasting in now, i just need to make it so that only this amount spawns
oh wait this is the furniture module,,
assign a global level value for amount of levers
also usually lever were placed like at the edge of the map or within it
is there a chance for it to spawn near spawn?
local leverAmount, leverPlaced = 0, 0
leverAmount = --idk what algorithm u use to assign lever
function levelGeneration.Assignlever(room)
if leverPlaced < leverAmount then
local leverPositions = room.leverPositions:GetChildren()
local rand = math.random(1, #leverPositions)
leverPlaced += 1
local model = leverModel:Clone()
model.Parent = workspace.game.levers
model:ToPivot(leverPositions[rand].CFrame)
lever.Hitbox.Touched:Connect(levelGeneration.leverTouched)
end
end
@devout finch
i paste the levers in with a module,
@devout finch
can it has multiple
im making it so that it slowly ramps up in the number of levers
ah ok
local leverPlaced, leverAmount = 0, 0
local levers = {}
repeat
local rand = math.random(1, #rooms)
if rooms[rand] then
if not levers[rand] then levers[rand] = {} end
levers[rand] = Levers.AssignLever(room)
end
end
until leverPlaced < leverAmount
i hope you get the idea
ig
OHH OK WAIT I THINK I KINDA GET IT?
uhh uhh
@last sierra
function lever.New(template)
local leverModel = workspace.Lever:FindFirstChild("Lever")
if leverModel then
leverModel = leverModel:Clone()
leverModel:PivotTo(template.CFrame)
leverModel.Parent = template.Parent
template:Destroy()
end
end
function lever.GetRandom(roomModel,number)
local levers = roomModel:WaitForChild("PossibleLevers"):GetChildren()
for i, part in ipairs(levers) do
lever.New(part, roomModel)
end
end
return lever```
heres the lever module
i think i kinda got what you were trying now?
btw store asset in ServerStorage
oh right,
local ServerStorage = game:GetService("ServerStorage")
local LeverModel = ServerStorage.Asset:FindFirstChild("LeverModel")
ye
ok im gonna figure out how to do the thingy now
thanks mall
dont mind if i ping you more layter..
@last sierra what should rooms be?
the amount of rooms?
like rooms = workspace.game.rooms:GetChildren()
ohh kay
got it got it
i'll just modify it so it fits what i need it to do..
also how do i make global values..? should i just use like a string value
@last sierra sorry,, i dont really know how this part works..
i mean you kinda need to know if a lever has been assigned to a spot
each room has an array of levers
@last sierra OK I KINDA GOT IT TO WORK?
but um. its the same lever everytime i load it in
wheres the random
whats a Floor
i dont know how to make a global value so,, i jsut made an attribute in the Server script (script that actually executes the room generation) which is a number attribute
local lever = {}
local ServerStorage = game:GetService("ServerStorage")
function lever.New(template)
local leverModel = ServerStorage.Lever:FindFirstChild("Lever")
if leverModel then
leverModel = leverModel:Clone()
leverModel:PivotTo(template.CFrame)
leverModel.Parent = template.Parent
template:Destroy()
end
end
function lever.GetRandom(roomModel,number)
local leverPlaced = 0
local leverAmount = number
local levers = roomModel:WaitForChild("PossibleLevers"):GetChildren()
repeat
local rand = math.random(1, script.Parent.Parent:GetAttribute("Floor"))
if levers[rand] then
if not levers[rand] then levers[rand] = {} end
levers[rand] = lever.New(levers[rand])
end
until leverPlaced < leverAmount
--[[
for i, part in ipairs(levers) do
lever.New(part, roomModel)
end
]]
end
return lever```
do ```lua
hmm
huh
for the format
^
like this
ohh i se
done
@devout finch
oh wow thats alot..
umm.. @last sierra would it be easier if i just invited you into the place? since a lot of the stuff the module calls for doesnt exist
just
for round input
its just a table
local round = {
map = map
Intensity = 1
Level = 0
}
@devout finch lever should have a hitbox part
a map should have map.rooms
and room.PossibleLevers
thats all
ohh i see
@devout finch focus on this
in your uh
main script
local Lever = require(script.Parent.Lever)
function Round.newRound()
local round = {
map = map
Intensity = 1
Level = 0
}
round.lever = Lever.new(round)
round.RoundEnding = function()
round.lever:Destroy()
end)
return round
end
idk
yeah this is way out of my understanding of scripting..
3
thats prob the reason why i never have my own game
i mean if youre ever free i can invite you to the place (another way of saying I NE ED SCRIPTING HELP WHAT THE FUCK IS THIS)
i'll just try to figure it out in the mean time..
nah i dont wanna burden myself
my intrusive thought would want to be involved in this
but last time i did that i got burnt out
so not doing that
- i got a map to finish
ahwa..
hawa..
neh its fine
just need to pull myself up by the bootsraps
and maybe suddenly gain knowledge on how all of this works
herm
maybe i'll just work on the old version and see if i'll figure out the one you gave me
thanks though, mal
oh hey its getting the levers randomly now
or not
YESS OKAY I GOT THE RANDOM LEVERS TO WORK NOW
now i just need to figure out how to make the levers functional, make the levers actually count,,
yknow what, i got the levers to be pasted how i wanted, i'll leave floor progression functionality all for later..
lets goo
visualising day 4 was pretty fun
https://gyazo.com/54283fcf6393049a57eb4e456398dcf8.mp4
neat
Do you guys know how to patch the CameraModule so Gamepad/Controller camera sensitivity don't depend on FPS
wasnt that fixed in newer camera module versions
yep
thats what we ended up doing if I remember right
I DID IT
I MADE MY OWN DRAGGERRRRRRRRRRRRRRRRRRRR
now i can delete this useful but schizoprenic shit
i the did it
APOLLOOOOOOOOOOOOO
its a false dream
but i do got the dragging functionality works
https://cdn.discordapp.com/attachments/1110246379412008970/1449089685229010985/image.png?ex=693da16f&is=693c4fef&hm=2fb7ee5a5b748268cac3c2098610c195e9d08d286f78601d086e79a193e62fad&
oh
yeah i recreated studio dragger because im bored
next up handle and rotating handle
so i can move my part or rotate it
@pulsar crest
insane
the goal is to be able to make these model with these custom building tool
idk how to typecheck
i wish i knew
satire or genuine cause this looks completely fine
genuine
yk what would be funny
if i somehow use it to make obby creator bootleg that just compile your map into a tria map
WHAT THE FUCK IS THIS
future generations of mobile players would thank you
Had to make a website for the final project of a class so say hi to TRIA.blog
has accounts and sessions that also hash passwords (using a not ideal library but was told to use it) and administrative features
blogs with full markdown and comments
other pages to view catalogs of blogs uhhhh and then yeah the apis to support it yeah

The website only partially sucks
This won’t exist I just made it for a final
wb fe2 forum
make it exist fr
since when did instances work in weak tables?
wait what
https://cdn.discordapp.com/attachments/1383545689971097650/1451549408754794517/RobloxStudioBeta_D2pu55atET.mp4?ex=6946943b&is=694542bb&hm=61db6ea9c8b399a8a53d344aa5d405ae4131383f8855c7d744cca3bfcdf606aa&
https://cdn.discordapp.com/attachments/1383545689971097650/1451551519043227718/RobloxStudioBeta_Qywf9Io3BK.mp4?ex=69469632&is=694544b2&hm=2bd034d4ab4c9445ffbf532e867cce27beb37719fba334edae5204897a385153&
it works, just for one scope or thread i think
i rather just make an id system
@pulsar crest it evolved
ok, this is definitely NOT the way to do it
array where are you 😭
atleast json has one
the reason to use reactive
react server components 🥀
nothing in this function has the ability to actually modify the CylinderCFrame, right? Im trying to fix a really strange bug and i just want to check that this part specifically isnt messing things up
i also have another question: are there any factors that could cause a script to do something randomly despite math.randomseed() being used earlier in the script in order to reproduce the same result? im trying to make some kind of random parkour generator, and despite the very clear set seed, the bug is still randomly affecting the map
edit: pretty sure its because i had task.wait() in the script which was dependant on my frame rate i assume
nevermind, ignore my previous questions ive realised what’s actually wrong with my script
you should use a random object (https://create.roblox.com/docs/reference/engine/datatypes/Random) instead of math.randomseed, it gives you more control, more options for probability distributions, and cant be impacted by external calls to math.random
🔥
id like to spread my no fusion propaganda but the Higher Ups™ will sabotage me
oh a craft button
damn i have a similar idea for my secret game...
but it doesnt have actual building involved
just placing stuff on a grid
yea
but eh, this is a php slop project for University so idc
you ever get annoyed of the tria plugin autocomplete so you just Implement the types in yourself
mmmm
Yes
is it bad practice to use a remote event that does something when it's the client firing it to the server and then it does something else when the server fires it back to the client?
its a good practice to see if the changes you made succeed or fails
yeah but i meant like is it bad compared to using 2 different remotes
one that only fires to the server and one that only fires to the clients
regularRemote and errorRemote ig
Yes
Except i never ended up building anything or scripting anything
DID MALS ACCOUNT ACTUALLY GET DELETED IM CRINE
💔
forgot to say thanks for this btw
i sure love the humanoid service
lmao what
schrödingers humanoid, its either a service or a boolean until observed
HUH, tf you mean "Hack"
this repo is literally full of PHP
@urban pulsar rewrite tria backend using this https://github.com/mmarinovic/tailwindsql
the new meta to poison llms
Not checking whether the player actually has permission to do something on the server-side and instead solely relying on the client
🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦
damn
is there a way to do GetExtentsSize on a part that doesnt actually exist
(i have a table with a size property and a cframe property that will later be used to actually make the part)
so you have a cframe + size and want to find the axis-aligned box that contains it?
yes
this is part of a script thats supposed to see if a position is colliding with a hypothetical part that has a certain cframe and size
i found an article which said to use getextentssize for this and im pretty confident that article was written by chatgpt so i might be doing the wrong thing here
if you just care about a point (not a solid) there is a significantly easier method
can send later im on my phone rn
Okay good to know
pretty sure this works
local function isPointInBounds(point: Vector3, center: CFrame, size: Vector3): bool
local transformed = (center:Inverse() * point):Abs()
local half = size / 2
return transformed.X <= half.X and transformed.Y <= half.Y and transformed.Z <= half.Z
end
ty
Can someone like tell me why the input event isn't working on left (my main profile) while it works on right (private window)
I'm guessing extensions would cause a problem to it, and how to work around it
this is the code in it
// [[ Upload modal ]]
const uploadModal = document.getElementById("uploadModal");
const postBody = document.getElementById("post-body");
const postLimit = document.getElementById("post-limit");
// Focus
if (uploadModal) {
postBody.focus();
}
// Limit Text
const textLimit = 300;
const cjkRegex =
/[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FFF\u3400-\u4DBF\uAC00-\uD7AF\u3130-\u318F\u1100-\u11FF]/g;
function countCharacters(text) {
const cjkMatches = text.match(cjkRegex);
const cjkCount = cjkMatches ? cjkMatches.length : 0;
const nonCjkCount = text.length - cjkCount;
return cjkCount * 2 + nonCjkCount;
}
function showLimitFeedback() {
console.log("Ye Shunguang's big schlong")
postBody.classList.add("shake")
setTimeout(() => {
postBody.classList.remove('shake');
}, 500);
}
// This is to handle Firefox bs
postBody.addEventListener("input", postBodyEvent);
postBody.addEventListener("keyup", postBodyEvent);
postBody.addEventListener("change", postBodyEvent);
postBody.addEventListener("paste", postBodyEvent);
postBody.addEventListener("cut", postBodyEvent);
function postBodyEvent(e) {
newBody = e.target.value
bodyLength = countCharacters(newBody);
// Remove red border from error
if (bodyLength <= textLimit) {
if (postBody.classList.contains('border-danger')) {
postBody.classList.remove('border-danger')
}
if (postLimit.classList.contains('text-danger')) {
postLimit.classList.remove('text-danger')
}
}
// Remove text if exceeds limit
if (bodyLength > textLimit) {
if (e.data != null) {
postBody.value = newBody.slice(0, -1 * (countCharacters(e.data)));
showLimitFeedback();
}
}
postLimit.innerHTML = Math.min(bodyLength, 300) + "/" + textLimit;
}
What extensions do you have installed
LanguageTool, BitWarden, BTRoblox, Dark Reader, Facebook Container, Firefox Multi-Account Containers, Proton VPN, Return Youtube Dislike, SponsorBlock, Stylus, TamperMonkey (only for wplace), Tweaks for YouTube, TWP = Translate Web Pages, uBlock Origin, and User-Agent Switcher and Manager
KILL ALL REACT USERS
maybe the indentation could use some work but other than that this might be the worst thing ive ever written 🔥
DUDE
wait it's wrong it's worse than that
nvm it makes it better
this function might run 100 times per minute
wheres my code from a long time ago that has like 30 indentations to it
oh i remember that
and it used a lot of those roblox value instances
probably i used those a ton back then
My fusion one
}
}
}
}
}
}
what is the point of iterating if you are always going to return on the first iteration
i fixed it
i have a pyramid of even doomer
ig i made the pyramid of mild inconveniences
I think I have worse
LOLLLLLLLLLLL
i wonder how many lines of just closures are in the yanderedev code
Mines worse
oh my god bruh 😭 at least the post is alive now
cant let this into oss
im not usually a fan of splitting things out to a function that is used once but this justifies it 😭
you also could have just made that Computed on the previous line
that image is being saved
the file that generated the map info page ingame used to be terrible until i broke it up into a file for each of its interactable/display components
@frail flicker
i hate you
its tune autocompletion
i would scream if it was in tria
ethan kicked off the tria dev team for that downright illegal code
It’s just tune
Aura monster
have you guys tried the "new" (ts is 6 months old) input action system?
and is it better than contextactionservice
this is way too overkill for alert UI lol
though I don't think this will work at all lol
cause I tried to see if I could call PlayerStates and it returned nil
maybe something to do with chlorine
ye nah, I tried to print the require() and it returned a nil
well, guess I'll just do the hacky and rely on something else to do the checks for me
ye, this is all stupid lol
I'm still fixing this since there's a lot of mistakes but I found a way to get player is playing or not AND I found a way to check if they're Spectating/Ghost
for the spectate, it's LocalPlayer.ReplicationFocus or smth
I also just put Fusion in the map itself and manually add Runtime to every single module in it which deletes the strict and nostrict thing but whatever
I obv didn't need fusion and its just bloat in this case but why not
not only was this wrong it was also overcomplicated 😭 heres what it was supposed to be
uhh theres a reason i did that cuz it's not a class but i could switch them
it would kinda suck tho cuz id have to edit like 5 other scripts
it doesnt work 🤣
i got it working it's pretty cool
i have 0 experience trying to do console compatible input systems using cas but this thing makes it easy
same for mobile
Mobile is cool except it’s buttons are capped at 7
Hard cap
For cas
Which I learned the hard way
WHAT
wow
Ok, I managed to get it working lol
ye it's still kinda overkill but good learning opportunity for me for using Fusion, at least that's my main motivation aside from having a cool UI that can collapse and appear if you're spectating or not
rip
@willow coral @rare goblet https://devforum.roblox.com/t/release-notes-for-703/4232806/25 demoted from service 😔
You guys are really annoying to talk about the new gen UI here (this post has nothing to do with the new or old gen uis) and begging to bring the old one back. There’s already like 2 feature requests and tons of other posts regarding that well, about this, this really is good: but i’ll still use the game:GetService("RunService") because ...
wtf lol
Dude fxrezful is right im cursed
Everytime I want a feature Roblox adds it 3 days later
local Workspace = game:GetService("Workspace")
good night to everyone who uses game["Run Service"]
i used to do that 3 years ago
there is a style guide that recommends this and i kinda agree with it
with rep storage server storage sss everything
i would do it for anything other than workspace cuz theres already the workspace variable
i changed my mind
im having a migraine trying to do a 2d input except each keybind fires its own vector instead of having a global input vector
i gotta use 4 bool inputactions which is stupid
Boolean ❤️
i thought i was cooking on my 4th attempt at making a good ias controller but it's mysteriously using every bool action 200 times
😭
This move comes as no surprise. Stenberg has been the most vocal opponent of indiscriminate use of AI bug reports for some time now. In May 2025, he had complained about a flood of “AI slop” bug reports from the bug bounty site HackerOne. He’d said, on LinkedIn, “We now ban every reporter INSTANTLY who submits reports we deem AI slop. A threshold has been reached. We are effectively being DDoSed. If we could, we would charge them for this waste of our time. We still have not seen a single valid security report done with AI help.”
didnt they make it so that you had to put a down payment to open a report
you are telling me that still didnt work? are these ai bros just throwing away money?
might be misremembering this though
and have been using it since i started using the new solver (its kinda necessary sometimes)
yes
yeah oss
probably, ik those people from ross and the name colors match
pretty sure thats just attaching a phone number
i dont have any phone number left 🥀
💔
What would be a use case for that
No
Thanks
Thanks
override
im so lost (this should be playing right? cause the stuff below anim is running properly)
this is done within a module script located in repstorage, :Init() is being called from a localscript in startercharscripts
(this is also not the full script, but the stuff above it is completely irrelevant its just services and a couple constant variables so that shouldnt cause it)
local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
--local rootPart = char:WaitForChild("HumanoidRootPart")
local animator = hum:WaitForChild("Animator")
--Anim
local runAnim = animator:LoadAnimation(Resources.Animations.Run)
local function runSpeed(b:boolean)
if b then
hum.WalkSpeed = maxSpeed
runAnim:Play()
print("anim should be running")
else
hum.WalkSpeed = minSpeed
runAnim:Stop()
print("anim should not be running")
end
end
function MovementLib:Init()
local running = false
--runAnim:Play()
UIS.InputBegan:Connect(function(i,gps)
if gps then return end
print("input received ", i.KeyCode)
if i.KeyCode==Enum.KeyCode.LeftShift then
running = not running
runSpeed(running)
end
end)
end
return MovementLib
If it’s in starter character scripts then the script will only run when the character is waited for
Remove the :Wait() you just need to reference the character
and use FindFirstChild
On everything else
oki
fixed it
ive managed to get the movement to this point but im not sure how to improve it
its beautiful
thoughts and prayers for me trying to create an item grabbing system
ngl this looks so stupid
wyd when
but why?
luau just suggested it for no reason
looks like hell to make 😭
@pulsar crest u on ur pc
yeah
wanna test out the game
im already there
wa
i aint in
yea i restarted to push todays update
bro LOL
@pulsar crest can u
join with a diff avatar
no they wipe whenever you rejoin rn
oh
it isnt the avatar
something is causing the ui to shut down
idk what it is
works in studio
but in roblox it dies??
no errors either
now it prints a table
wait
huh
it is hell bro
but with ecs it makes things 10x less complicaated
so i recently found out theres Enum.KeyCode.MouseLeftButton but it doesn't work with cas
this sucks
yeah i remember using it with ias
it's just so ugly that for every single key you gotta use Enum.KeyCode but for mouse inputs you gotta use Enum.UserInputType
also is there a way to just force shiftlock enabled without scripting a custom camera?
Uh
You would need to force enable it in the shiftlock controller
Stop disabling it in the same function
And make CameraToggle not disable it
You might be able to just force a camera offset of 1.75 to the side
i see
recently, I've been interested in wondering what are even the practical applications for LinkedList aside from teaching freshmen about nodes, trees and all that stuff. Two that I found so far is for a "Replay Buffer", and Hash Tables
none 👍
im exaggerating; there are some, but they are somewhat rare, and most of the "reasons" that classes teach linked lists for can be done without linked lists (a circular vector can implement a queue just as well as a linked list)
separate chaining in hash tables is a usecase but idk if a linked list is really the best option there? only way to know would be to benchmark
the runtime complexity doesnt actually matter with a linked list vs. a vector for separate chaining since you have to iterate through every item for comparisons anyway
(and the number of items in each bucket should be small anyway, ideally less than some small constant)
I’m yet to run into a practical use for a linked list
Only times I’ve used one was when I was forced to
python's sorted dictionaries
though i think they can be done using an array? it just has weird behavior with amortization
also an adjacency list for representing a graph (though im pretty sure there is a way to get similar runtime complexity using hashing)
a skip list is basically a bunch of linked lists (but it can actually be useful) https://en.wikipedia.org/wiki/Skip_list
In computer science, a skip list (or skiplist) is a probabilistic data structure that allows
O
(
log
n
)
{\displaystyle {\mathcal {O}}(\log n)}
average complexity for search as well as
…
are there any super obvious scripting mistakes ive made here that could cause the player to bug out when TimeValue > 1? i can show more parts of the script if necessary but im under the assumption that this is the part thats broken
(this script is supposed to move the player over a curved path, just like ziplines)
because its getcordinate accept 0 to 1?
you should get difference between getcoordinate(1) and getcoordinate(0.999) then use that as a futurepos
damn whys the player module so big 😭 like it's just moving and turning your camera around
ty this worked
oh lol
wasnt really expecting it to cause getcoordinate should work with any number
but im not gonna complain!
because it has a bunch of different camera modes
also because they use inheritance
oh 😭
also why does the camera module return {}
instead of the thing it creates
why does it even call new in the module itself
and i can't find the code that makes your character look forward using shiftlock
i hope it's not internal or something
its intentional
specifically so it is impossible to get access to the cameramodule without forking the camera scripts
i know this because it used to actually return the thing several years ago but they changed it with an fflag that was named in a way to show that was the point
oh i found it
well i found the line that does the secret stuff that makes you look forward
i just wanted to get rid of it
oh yeah its some weird property in usergamesettings
what happens if you just make a custom chat system?
do you get slimed by roblox if they find out?
you can make a custom chat system so long as your chat system implements TextChatService:CanUserChatAsync()
what if it doesnt
and if i made one with it would it get rid of the
🔒 : ......
If you are not using the .ROBLOSECURITY cookie for your own custom use cases, you may ignore this announcement. Hi Creators, As we continuously improve the security of the Roblox platform, we will make some breaking format changes to the .ROBLOSECURITY cookie on or after 1 May 2026. You may be using this cookie in development workflows or a...
no clue what that is
i love constant that just
i think its pretty recent
what happened to my github 😂
This came out a couple months ago
so good to not making a a + (b - a) * n function
and instead just directly using math.lerp
i just got a devforum notification that meshofpaul liked my dm from like december that dmd him about my specs for some studio performance problems hopefully this indicates this problems being looked at cause it sucks whenever it happens
i dont think i made this dfa correctly
finally i get to see this video using home wifi
really nice
you should add a jumppower pad that also increase the height of the platform and walkspeed that increase the distance
now make an infinite omegaslop generator
free skitsuna revo
Please yes make teleport data server sided
this forcing server teleports within places is a great update idk why it hasnt happened sooner
thanks i want to do this for an unverified customisable version but not the main map just because i think the map would flow weirdly with randomly changing speed
good idea…
whats that again
An old method that was used to require some like roblox kept libraries in code
It was really strange
There were like 3 of them I don’t remember what they were used for but roblox added a way kinda like that with string require
crazy new rfc just dropped https://rfcs.luau.org/type-long-integer.html
no way
you cant use operators on them which is kinda interesting
though someone will probably make an rfc for it
addition, subtraction, and multiplication make sense because they are the same algorithm for signed and unsigned numbers. as long as trying to use an integer and a float errors instead of doing a type coercion like python has anything but that
Yeah I’ve always just done this but isnan is nice
And makes stuff a bit more readable
x ~= x was consise enough for me but checking if something is finite was really akward
x == x and math.abs(x) ~= math.huge
real
local function is_finite(n: number): boolean
local b = buffer.create(4)
buffer.writef32(b, 0, n)
return buffer.readbits(b, 23, 8) ~= 255
end
local function is_nan(n: number): boolean
local b = buffer.create(4)
buffer.writef32(b, 0, n)
return buffer.readbits(b, 0, 31) > 0x7F800000
end
i think this is how you are supposed to do it
aw hn
I wish i knew a thing about how Servers work so i could make a plugin which lets me self-host Team Create so i can avoid the stupid fucking Age Estimation
the age thing has genuinely wanted to make me quit roblox entirely but at the same time its literally the only place where i can make small scale projects like this
Using something like godot is way too much for me plus i wouldnt even have a goal there, i know that i want to build obbies on roblox and it lets me do that easily
At the same time Making something such as that seems like a really deep rabbit hole that i do not want to go into
incredible ai post fail
LOL
oh hell nah bruh they done built Roblox Engine wit ChatGPT 5.0
?????
No way these points aren’t ai generated
None of these are related to the change
i feel like they couldve just added json5 encoding and used that for their internal systems
and @rare goblet did you know this existed
I wish we could create custom fonts so I could do this
I really wish I could just inline the scrip or difficulty icons in text labels
@willow coral
@willow coral
@willow coral
@willow coral
@willow coral
this was that 1 post I was talking about
Interesting
If we want to compress the data I’ll look into it at the end but for now I’m gonna leave it
finally this took so long
i didnt know you could do this
i forgot that was a thing
in what case would you use it for bro
probably just to make constants look more readable
so instead of like 109234875 you could have 109_234_875
I see
@rare goblet I got a question
wait i think i fixed it
dw its good i forgot about multiplication order being important
bro unlocked golden radicalradio😂 😂
diabolical lib find
not surprised they made this
they use meow mrrp in their code samples instead of foo bar
ive got an even simpler maid
table.insert(connections, connection)
for _, connection in pairs(connections) do
connection:Disconnect()
end
table.clear(connections)
W
this is basically just fusion scopes
(which is why they are so good)
i do that too on an occasion
I really hate how studios script editor does not respect PowerToys KeyboardManager
wait no it is now
???
ok it doesnt respect my alt+key rebindings
thats super annoying
solution: do not use the studio script editor
do vs ode
hello?
@hollow sphinx i gotta figure out how to gc editable meshes
pemdas better >:)
I am learning C++ now
better than the alternative
this is kinda fun
@willow coral i can see why people enjoy c++ for making games
its a synchronous language
wdym
its just a programming language with a side of headache in typechecking
it runs code one line at a time no?
dont like 95% of languages do that
not like lua
lua is singlethreaded
it has coroutines but most languages have some form of threads
oh cool
c++ threads are actual os threads, meaning they run concurrently
sure
just found out something so outrageous it seems illegal. california law requires that every single application (which is literally defined as “can run on a general purpose computing device that can download applications”) updated since 2026 began must use an api provided by the operating system (these apis dont yet exist) to request the users age. from what i can tell the law doesnt even require you to do anything with it, you are just required to use the api. if you do not do this by july 1, 2027 (keep in mind this applies to all applications that have been updated recently, even though it is currently impossible to comply), then you are on the hook for up to $2500 (or $7500 if violated intentionally) PER CALIFORNIAN CHILD WHO USES YOUR APP
AB 1043 Age verification signals: software applications and online services.
from what i can tell, this means that currently, releasing a program to any californians is illegal, considering it is literally impossible to comply atm
technically you wont be breaking the law until july 1, 2027, but if you release an app now you are now strapped with the duty to update it before then
this seems like genuinely one of the most negligent software bills ever passed
wth
now theyre forcing age verification everywhere (in europe)
cant have shi in the internet anymore
ive seen people say this is for surveillance, but that doesnt make sense, since it only requires operating systems to ask for your birthday (no verification required). it seems to me like its just a genuine, unfathomable lack of knowledge of how software and operating systems work
cant wait for oss devs to start putting “this is illegal to download in california” in their programs
because thats the only reasonable way to follow the law
well that’s fucked up.
average politician having zero technical knowledge
mind you these are the same people who say "its them damn phones" and then post on twitter for the 800th time that day
Holy shit
mfw when i downloaded vs code to test my code but turns out i should have downloaded visual studio lol
fl studio
do you use javascript or just vscode?
no im learning c++ rn
well i wish i learned javascript lol but thats prob for later
javascript is misery
honestly if you learn one procedural language really well then learning other procedural languages isnt that bad
(most popular languages are procedural)
the concepts of programming is the hardest to learn, once you know them learning a new language is just about the syntax and quirks of that language
Istg the word "verbatim" feels off to me
It sounds like something a conservative evangelical Christian apologetics would say
Those are 2 completely different terms
VSCode is an IDE developed by Microsoft while JavaScript is an interpreted high level programming language typically run in websites
sorry what’s IDE?
oh, that’s interesting ig.
although i don’t know much about coding since i lost my programming skills ever since i couldn’t access to roblox studio due to a login failed.
Though, for a text editor, VSCode sure takes up a lot of RAM and CPU cycles
Ahem Electron app
thats nice.
I'm not sure how one can lose "programming skills" aside from getting brain damage
Even if it's a skill
I can still drive a manual car just fine after like months or years of not driving one
the thing is i couldn’t remember my skill since i haven’t went back to Roblox Studio for like a few months or a year.
i wanted to log back in again and get it sorted out but it doesn’t let me log back in somehow.
Have you tried quick login
But still, after years of not driving a manual car, all I need to do is hop in, feel the pedals, then I can get on the road without struggling, so I don't think skills can be lost that easily
I say you had a good idea trying to not lose your driving skills.
like it takes less time to learn.
and yes, i did but i dont think it worked when i tried it for the first time.
Weird
wait hold on.
Anyway, I tried to see if I could vibe code an entire Tower defense game and the clanker literally hallucinated like JavaScript OOP code into luau lmfao
does the email me a one time code work in RBLX Studio you wonder?
So I concluded AI sucks
noli hallucinations:
jk
anyways, when i get back into roblox studio again i'm just gonna try "Use Another Device" to see if that works since i dont think i've tried that before.
if that’s the case btw.
vscode isnt an ide though its an editor, i think ur refering to visual studio or just vs but ye
oh nvm it is
but yeah its a code editor
Well, it got debug/test/build buttons, a terminal, and all that
ye i tried using it today bc i needed to test a c++ code for my assignment
lowkey dont know how to get the debugging working
Last time I wrote C++ was in high school using some old ass looking IDE
been planning on making a bloxstrap fork with a modified bloxstraprpc for a planned project btw.
but haven’t started since i still need to get something sorted out.
use gdb
if you want to use the vscode debugger im pretty sure you gotta set up some config (since it needs to know your build parameters)
still trying to figure it out how to use this. https://github.com/MaximumADHD/Roblox-Client-Tracker
what do you need it for
no offense but tbh nothing much, just saw this while i was scrolling down in github. (although i do not have a github account yet.)
does anyone have that one benchmark plugin i need to benchmark math.lerp vs a + (b - a) * t
can do you do this
aight
but if im being honest with you one is prob integrated and another is a lua code
might not be the best way to do it but manual seems to be it
local t1 = 0
function lerp1(dt)
t1 += dt
t1 %= 1
return a + (b - a) * t1
end
local t2 = 0
function lerp2(dt)
t2 += dt
t2 %= 1
return math.lerp(a, b, t2)
end
actually lemme send video
yeah manual seems to be faster
woah whas this
jabby
pretty much where you view or edit ecs stuff
too bad my laptop resolution is small to be able to use these to the fullest
which
local newPos = baseCF.Position:Lerp(baseCF.Position + moveDir * boost, t)
yes
ignore 🎵
crazy told me to use vector cus its faster at calculation ig
local color: vector = vector.create(0,0,0)
color = vector.lerp(color, vector.create(1,1,1), perlinValue)
color = vector.floor(color * 255)
local packed =
0xFF000000 +
bit32.lshift(color.z, 16) +
bit32.lshift(color.y, 8) +
color.x
buffer.writeu32(colorBuffer, pointIndex, packed)
@hollow sphinx try this
return Vector3.new(
a.X + (b.X - a.X) * t,
a.Y + (b.Y - a.Y) * t,
a.Z + (b.Z - a.Z) * t
)
end```
prob cause it takes advantage being C function
yep
this is what we are working with btw
but somewhat a + (b - a) * t being faster than math.lerp is funny
it has to be found first in the math library
try it
nope
what did it get
any ideas at all
thats alot of exponentional
this is also another variation
:ScaleTo?
its that or I
manually change attachment pos and beam width
true...
i imagine ScaleTo, to maybe bulk the 2 calls but I could be wrong
fastLerp is manual
i meant manual scaleto
🤔
is it WorldCFrame
cus since it gotta recalculate like world relative to object
its the attachments
what are the chances
literally what ive been doing this entire time while working on tores
learning about easing styles
i saw that video LMAO
idk what the alternative would be
why would you need worldcframe
when yo ucan insert offset value
ohhhhhhh right
your particle is set on global space
to render it, it needs to be on an attachment
yeah honestly thats the least i can think of im no expert when it come to optimization but call me when you want to obsfucate or overcomplicate a piece of code
you should ask Crazyblox
hes really keen when it come to optimization
i think at this point I just need to tone down the amount of particles
wait hold on its not that bad
lowest is 90 fps now
math.lerp has an extra conditional
function math.lerp(a: number, b: number, t: number): number
return if t == 1 then b else a + (b - a) * t
end
per the rfc
also idk what tests you guys are running but i find manual lerping to be ~2x slower
average time over 3e8 lerp calls, 5 trials each
NVM MY TESTS WERE BAD
function wasnt being inlined
its like microscopically faster with O(2)
with native its over 2x slower
no native support for clients though
honestly i really doubt you are being bottlenecked by lerp
the time to change the properties (specifically ScaleTo; resizing parts is comparatively very slow) will dominate over the math
there is a reason some people cache different size particles and switch between them; changing cframes is very quick versus changing size
you should run a microprofiler dump and look at the flamegraph to find what is actually taking the longest
yeah good idea
its my own custom particle system btw
do you think
moving the attachments
resizing width0 and width1 would be faster
@urban pulsar what a release note
I have returned
Christmas came early
Ban api being all in caps makes me laugh more than it should
we now have const
they should give us pointers too that would be really helpful
I need them for a very very specific reason
i dont think you do
I do
i guarantee you that you dont
what could you possibly need pointers for in luau
every object is already passed by reference
allowing arbitrary pointer arithmetic and dereferencing is inherently unsafe
bro fuck no
idk what i think about chat rephrasing
yeah itll be nice to not see a wall of ####s all the time but i dont want it to correct into some like super corny alternative that i would never say
If prompt injections possible I definitely think it’s possible to get it to swear
today i learned that the function parameter to table.sort is optional
what does it do w out
yea
this seems very interesting. https://devforum.roblox.com/t/behaviortrees3-btrees-visual-editor-v30/836158/21
Hey, I just want to point some troubles I had while updating from BT2 to BT3. Just to be clear, I am not using the plugin, I am creating the nodes using the BT3 module. I ran into a problem while using the nodes table like this: newSequence = BehaviorTree3.Sequence({ nodes = { -- Node 1 node1 = BehaviorTree3.Task({ ...
and it might be useful for making npcs act like players.
Is duckduckgo a good browser to use
it’s fine, i hear people say the quality of search results is worse but i haven’t really noticed a difference
searxng
tor probably
Thanks
real
I love trying to manually calculate the exact memory addresses needed to successfully run a memory overflow shellcode* attack
It’s so much fun
you cant really even calculate it because the compiler can store the return address arbitrarily on the stack
you gotta either brute force or the better way is to use a debugger
im pretty sure i need to figure out where on the stack the strings getting stored to and then calculate the offset up to the return address
so i can override it but having a hard time figuring that out in this program
use a debugger
im using gdb but it is not helping my lack of understanding
i just realized the attack i was trying to go after the string was being stored in the heap and the return address is stored on the stack so that was getting nowhere
ok i found a proper buffer overflow i am so smart
heap pwn is a real thing but its more complex
but its more common in real-world applications (because use-after-frees and double-frees are harder to notice and defend against than a stack-based buffer overflow)
This program uses wchar_t for strings in some strange way and I’m trying to figure out why it’s not setting my address correctly
I think it’s only setting half of it but not the other half
ive heard its fine
curious whats the reason for the sudden switch
A couple reasons, 1 is learning more about how a pc works, 2 is I want more privacy and 3 is I hate Microsoft
I’m such a genius I got it working
If I ever switched to Linux mint is the distro I’d use
I think it’s generally rated one of the better and good distros
Okay I’m gonna do a little more research
@rare goblet are you familiar with BASIC
oh well i have a version of basic that is coded to have memory flaws and i need to break* it
i spent the past 5 days creating this
fmt = "%s%s%s111122223333ab"
fmt[21] = 4210397
x = "111122223333444455556666777788889"
o = fmt % x
why
if i get mint should i use wine to install roblox and studio or just use sober
what protections does the executable have
It has some protections disabled I don’t remember everything off the top of my head
I’m not that good
are you overriding the return address to run code you wrote?
I don’t actually know how to write shellcode so for this I’m just overwriting it with another function to prove you can attack the program
It’s a decently long program so auditing took a decent time
is this running on windows or linux
Linux but I think it works on windows
The program implements a max Unicode character check incorrectly and alongside a stupid stack buffer efficiency along with the program fails to compute its true length if there’s more than 2 format strings in it
a single executable cant work on both windows and linux
reasonable json file sizes
Alright I’m switching to arch Linux
Nerd
dont do this to yourself
studio on linux isnt the greatest
it might depend on hardware but in my experience its very flickery
though i tried a bit ago and it seemed maybe a bit better than a while ago?
dont use wine, use vinegar (its a fork of wine specifically for studio). sober is for the client, not studio
thanks
any other packages i should get in general
SharedTables are interesting
@rare goblet do you know how roblox servers allocate the amount of available threads and cores for parallel use
no
i might remember something about it being based on server size but that might have been a feature request
i did some research and yeah it does seem to be pretty limited and based on server size
unfortunate i was hoping for more actors to be able to run at once
i now have neofetch for windows 😭
i did a little work and here is the finish result
clean
ty
windows neofetch in git bash is diabolical
awesome work chint
why does your arch look mangled
Probably cuz it’s a pokemon
I just realized what I’ve done
i just found a really stupid memory leak in tria.os
ok it may not be as dumb as i first thought but its still dumb
@frail flicker what do you plan using it for
My irls Minecraft server
w