Ouch. Ironically, after 1 whole month since I posted a thread, I didn't just stop here, I kept looking for ways to learn legacy Lua, so I found more than several helpful (and somewhat tested) resources c. 2009~2010 coding terminologies, enums and functions heavily archived and (thankfully) documented for over 14 years to this day. To not let knowledge be left in the dark, I want to share them here. (Secondly, I borrowed a bit of chat-AI that happened to be familiar with Lua programming dated from c. 2007~Modern, I took that advantage of extracting several coding examples and translate such nodes of code into appropriate time periods (e.g. 2009E), to observe how the code worked, learn from it, modify to my own, then split into several usages with existing codes I've learned. I also scoured through archived threads from Stock Exchange about Roblox Lua help, as well as old Roblox forums, even scavenged through really old roblox videos that taught them.
One time I was able to rip out a very optimised, convenient CFrame syntax command that works by selecting a brick instead of annoyingly naming each brick ever selected just to CFrame, then I modify the string of code into my own and split them into several variants for specific usages.
[Local rotating]: v = Game.Selection:Get()[1] v.CFrame = v.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
[Local positioning]: v = Game.Selection:Get()[1] v.CFrame = v.CFrame * CFrame.new(0, 0, 0)
[Global positioning]: v = Game.Selection:Get()[1] v.CFrame = v.CFrame + Vector3.new(0, 0, 0)
[Resizing, albeit rigid]: v = Game.Selection:Get()[1] v.Size = v.Size + Vector3.new(0, 0, 0)
Sources for more legacy Lua coding info:
- http://web.archive.org/web/20150208212750/http://wiki.roblox.com/index.php?title...
- https://stackoverflow.com/questions/50957714/roblox-2009-lua-get-loadstrings-error
- https://lua.org/manual/5.1/manual.html#pdf-load
- https://rbxlegacy.wiki/index.php/Lua_Help
- https://stackoverflow.com/questions/4309370/roblox-cframe-how-do-i-do-it
- https://rbxlegacy.wiki/index.php/CFrame#CFraming_more_than_one_object
- https://stackoverflow.com/questions/4295470/how-do-i-program-frames
- https://blog.haydz6.com/2008/06/scripting-with-telamon-debugging
- https://archive.froast.io/forum/18479257
- https://archive.froast.io/subforum/19?pointInTime=1262278800&offset=350
- http://robloxwiki.pbworks.com/w/page/11194774/Absolute%20Beginner%20Guide
- https://blog.haydz6.com/2008/06/scripting-with-telamon-debugging
Oh yeah one thing worth mentioning: it may not be Lua-related, but I discovered a few, very useful trigonometrical formula for calculating the wedge brick's hypotenuse angle, in case anyone wants to almost accurately CFrame a brick to a specific angle for... if they want to build a bridge, an arch within buildings, a pinwheel made out of small plate bricks, etc. Once you discover the degree of a brick's angle, you can round the decimals to the tenth and write it down in .fromEulerAnglesXYZ(math.rad(x), math.rad(x), math.rad(x)) .
To measure the block's height and length (X (opposite), Y (tangent)), the degree is known as a (tan)gent θ: X/Y = θ (the radian value). Next, convert the radian into a degree angle with a following formula using an Arc-tan (θ⁻¹): θ⁻¹・(180/π) = [degree value]°
That's when an exemplified CFrame code looks like this: .fromEulerAnglesXYZ(math.rad([degree value]), math.rad([degree value]), math.rad(0)) .