#code-discussion

1 messages · Page 252 of 1

umbral bone
#

isnt there no passion in coding for yourself?

peak jolt
umbral bone
#

you do not have passion?

autumn oyster
#

ineternet when he's asked what __newindex is

umbral bone
#

why bother writing code 8 hours a day

peak jolt
#

to.. make money

#

income?

umbral bone
autumn oyster
peak jolt
#

employment

umbral bone
#

its not your passion

peak jolt
#

if i dont make money i cant pay rent?

umbral bone
#

go find a job that fits your passion

#

no no

#

like can you make music

#

if coding doesnt fit your passion

azure coral
autumn oyster
#

LOL

#

SON I HAVENT EVEN JOINED

umbral bone
#

anything thats your true passion

peak jolt
autumn oyster
#

"income"

autumn oyster
#

LOL

umbral bone
#

create a new invention for cure cancer

azure coral
#

ok yall are just bullying ineternet

#

hear em out first

umbral bone
#

create a new viral video

autumn oyster
#

ineternet i beg of you please just stop talking now and embarassing yourself. your "game" is not even mouse locked??

umbral bone
#

he should quit coding bruh

autumn oyster
umbral bone
#

clearly it aint his passion

#

passion is the essence of motivation

peak jolt
#

i already said that the ai codes for me

umbral bone
#

i mean creating games for roblox

#

you should quit that

peak jolt
#

why would i quit that

umbral bone
#

it wastes your time

peak jolt
#

you know a game involves more work than just coding

umbral bone
#

there is no result

#

1 month for what

#

i achieved money within 1 month and its using ai too

#

and not related to roblox

peak jolt
#

there doesnt have to be a result its just a hobby and its fun to make games?

umbral bone
peak jolt
#

when did i say that

umbral bone
autumn oyster
umbral bone
#

fricking idiot

azure coral
umbral bone
#

i had to say it

peak jolt
# umbral bone you

yes i said that im coding 8hrs a day to make money this is called a job

#

and its not on roblox

#

and then i come home and work on my roblox game because i like making games

umbral bone
azure coral
#

thats not a great job

umbral bone
#

lol

peak jolt
umbral bone
#

8 hrs a day of sitting in the couch with crusted cheetos fingers

peak jolt
azure coral
#

the top most floor in the garage part

peak jolt
umbral bone
#

atleast put some work

peak jolt
#

go in the elevator

umbral bone
#

its so lifeless

autumn oyster
#

ineternet please never try judging anybody in your life again ahaha, this isnt your area of expertise

umbral bone
#

why would you make something that doesnt contribute to anything

#

i mean it contributes little

peak jolt
#

i never judged a person i said what i know about ai for making roblox games

azure coral
umbral bone
#

but why

azure coral
#

????

autumn oyster
umbral bone
peak jolt
umbral bone
#

instead of wasting time on ai slop

autumn oyster
#

so why do you think your opinion carries any weight with it?

umbral bone
#

if creating is your passion

autumn oyster
#

you dont know how to program

#

you genuinely have to use ai

peak jolt
#

i dont have to use ai i just use it because its faster

autumn oyster
#

and youve never produced anything of reasonable quality?

#

now you think you can try and say im wrong?

umbral bone
#

like bro if creating is his passion why he create slop for 1 month instead of a good thing in real life, like something that helps people

autumn oyster
#

🤦‍♂️

umbral bone
umbral bone
#

change your hobby

azure coral
#

add ui elements

#

like tiny bit

peak jolt
#

you telling someone to change their hobby makes me think you dont know what a hobby is

autumn oyster
#

im leaving, ineternet please never touch roblox game dev again 😂

peak jolt
umbral bone
#

idk why would you make this game anyways

peak jolt
azure coral
#

uh i reset and cant spawn back not sure if its a ping issue on my part

umbral bone
azure coral
#

nevermind cant spawn

#

help

peak jolt
umbral bone
umbral bone
#

does that mean its justified

#

clearly not

peak jolt
#

what do you mean justified

umbral bone
#

society wont allow that to exist

peak jolt
#

like people go skateboarding as hobby is that a bad thing also

umbral bone
#

this ai slop is viewed bad to most opinions

peak jolt
#

you dont see the code when you play the game how is it slop

#

none of the in game assets are made by ai

umbral bone
#

i won

#

you contradicted yourself

#

thats what i wanna hear

peak jolt
#

the only statement i made is that 100% of the code is written by ai and that remains true?

umbral bone
#

you said

#

something that contradicts

peak jolt
#

what is contradicting that

azure coral
#

@peak jolt wave starts sooner than autoselection

#

thus causes an unfair gameplay

umbral bone
#

this

peak jolt
azure coral
peak jolt
#

you have to click the text the ui is bugged i havent worked on that yet

umbral bone
azure coral
#

alright i will give credit on dragging objects n stuff thats neat

#

but uh its a bit unpolished

umbral bone
#

is that custom dragging

azure coral
#

sometimes when grabbing it kinda clips you through the walls

peak jolt
#

these things are hard to get right and im still working on it but im focusing on getting the necessary features working before polishing the rest

#

i never said heres my fully working game :/

peak jolt
#

if you played the game you would undestand that it is hard

azure coral
azure coral
#

a bit unpredictable

azure coral
tough vapor
#

bro whther u use ai or not doesnt matter if people wont even see the code

umbral bone
azure coral
#

i mean im running 48 chrome tabs while playing on an i3 laptop

tough vapor
umbral bone
#

well almost all

azure coral
#

@peak jolt i suggest learning a bit of basic programming concepts to fully polish the game even if you use ai or not

umbral bone
#

he probably knows

azure coral
#

oh

tough vapor
azure coral
#

i mean honestly 8 hours a day and this game is a bit of a lacking

#

but i could see the direction they were heading

peak jolt
#

i havent worked on this game 8 hours a day for the 5th time

#

i do this when i have time i said 8hrs a day is my fucking day job

azure coral
peak jolt
#

which i cant blame u for either cause there isnt a tutorial or many in game hints in general

azure coral
#

its sortof my fault also

#

however i still would recommend getting basics done of coding if you have like maybe 10 mins of time trust me its really helpful

#

it would be really nice since you would be able to patch any bugs yourself without having to keep on constantly prompting (i had this happen to me)

peak jolt
#

i do know how to code my whole point at the start was that ai is not great for learning but it is great for writing bulk code if you already know how to do so yourself

#

but also its actually often faster to ask ai to fix bugs just because it can do so in a lot of files at once + you can parallelize it

azure coral
#

its my opinion but you do you ig

peak jolt
#

there are surprisingly little "bugs" in general i mean stuff like clipping through the floor isnt a code bug its just an oversight/lack of a feature

umbral bone
peak jolt
#

cause it just aligns u to the object

#

like i could ask ai "make it so the object is animated for the first few frames" i just havent done that yet cause that would be a lot of lines for little gameplay payoff

azure coral
umbral bone
#

for really simple games ai can excel

peak jolt
umbral bone
#

do i have to explain ai policies

peak jolt
#

im using new apis that the ai 100% doesnt have in its training data but it just knows how to use it because its already been done 10x elsewhere in the codebase

azure coral
#

i wish i could share a pic of why i dont trust ai with bulk code especially mine but i cant

umbral bone
#

idk if there is ai policies

peak jolt
#

this is also why git+rojo helps because you can make changes in a feature branch and you know exactly what the ai did + code review it + precisely undo specific things it did wrong

umbral bone
#

to protect your game becoming training data

peak jolt
peak jolt
azure coral
# peak jolt chatgpt codex

honestly you do you if you want to get it done by AI then go ahead as long as you dont rub it into others faces

peak jolt
#

from the very start

peak jolt
azure coral
#

again you can make your game however way you please its just im a bit concerned your game may have potential security holes

#

yk from experience

#

truth be told i didnt even reach more than 2k lines of code, i've actually almost achieved majority of my tasks under it which ig could be an accomplishment

#

(i thought i needed to code 30k lines total!)

old forum
#

yo is coroutines really worth learning rn?

umbral bone
old forum
umbral bone
#

means

#

whats your project

#

in the future?

#

@old forum

old forum
#

so im just going to be a scripter for others

#

not really me making projects at the moment

umbral bone
#

stuff that

#

yield the code

#

which almost doesnt happen

old forum
#

really

#

ok

azure coral
#

coroutine is somewhat my lifetime lol

old forum
#

ive been trying to learn the coroutine.wrap

old forum
azure coral
#

not lifetime

umbral bone
azure coral
umbral bone
azure coral
#

i use it cause you can split stuff into pseudo-threads

umbral bone
#

not required i think

azure coral
#

fake threads

#

yea no way you need that typa stuff

old forum
umbral bone
#

making scripts for people need fast work

rocky idol
#

everytime i make scripts that are not modular, and the second a change comes everything just falls, it feels like i have to have everything planned before i even make 1 line otherwise everything crumbles apart

old forum
azure coral
umbral bone
azure coral
#

cframe manipulation, lookvectors, vector.unit

#

very useful trust me

old forum
old forum
umbral bone
#

i suggest learning optimizing codes and make it less time consuming

#

so you can do efficient work and chill more faster

#

and still get paid

#

if you are tryna make money

azure coral
#

first learn the basics and basic optimization and then go forward with position vector stuff and then to coroutine handling n stuff

bright venture
#

Broo i cant find a scripter that can make me a train system

old forum
umbral bone
#

its not recommended

bright venture
#

I cant find no one to make me a train system

umbral bone
#

i started from advanced and it hurts my brain

#

it still hurts

#

today

azure coral
old forum
#

wait so what do i do

bright venture
#

Also how can i hire a physics person

old forum
#

yea

umbral bone
old forum
#

like i have alr have done the basics

umbral bone
#

i almost puked doing advanced stuff

#

like legit almost puked irl

bright venture
old forum
#

oh dang

azure coral
umbral bone
azure coral
#

how to manipulate them and all?

bright venture
azure coral
#

stuff like 1D array where it is like a list and 2D array which contains 2 things per index

bright venture
#

Its half finished the system

old forum
bright venture
umbral bone
#

ok

umbral bone
old forum
shy lodge
#

yo

azure coral
#

their main uses

shy lodge
#

DM ME i need help

old forum
#

like this

azure coral
#

i kinda wanted to mean as in advanced task library stuffs

old forum
azure coral
#

like task.synchronize()

old forum
#

but efficient

azure coral
#

or task.desynchronize()

umbral bone
old forum
old forum
azure coral
#

like in general

old forum
azure coral
#

Serial means it goes one by one. so like first it would print AHHHH then it would print NOOOOO

old forum
#

ohhh

#

ok so lke in order

azure coral
#

yes

#

there you go

old forum
#

i understade

#

how would you implement it into code

azure coral
#

now task.desynchronize() is used to run functions (keyword functions) in parallel

azure coral
#

to make it run parallel to the main script

autumn oyster
#

maybe this would make more sense

azure coral
#

so it runs al togehter

old forum
autumn oyster
#

idk if im just confusing you further with it tho

old forum
#

ohh

azure coral
old forum
azure coral
#

one important thing though you cant use certain things when using task.desynchronize or when you are running a function in parallel

autumn oyster
#

why does he need parallel luau?

azure coral
#

things like humanoids

azure coral
autumn oyster
#

ah

old forum
#

yea

#

i put all my scripts in folders that i learned

autumn oyster
#

i feel like parallel luau is something you learn towards the end of your learning journey as you wont ever really need it

#

but 🤷‍♂️

azure coral
old forum
#

wow

autumn oyster
azure coral
old forum
#

is it hard to make a shop system

azure coral
#

you could make it with in like 10 minutes honestly

autumn oyster
#

oh i thought you were saying it's hard

azure coral
#

my brain is currently undergoing maintenance as it tries to process the debauchery of a code i wrote few mins ago

#

(i put 4 for loops in a while loop running each 0.001s with additional for loops inside the for loops)

autumn oyster
#

im refactoring my entire codebase atm

azure coral
#

idk what im doing with myself

autumn oyster
#

reorganizing everything lol

azure coral
#

i cant even look at my own codebase

#

without regurgitating

azure coral
# old forum wow

oh shii i forgot to ask if you have learnt about remote events

autumn oyster
#

im trying to make everything perfectly

#

so that implementing new features is really really smoothe

vocal relic
old forum
autumn oyster
#

what im doing now is

old forum
#

i never understood how they worded

azure coral
old forum
#

oh ok np

autumn oyster
#

grouping everything by feature so

azure coral
#

basically some roblox players are a lil quirky and very no no evil

#

so roblox was salty abt it and decided to seperate client and server

autumn oyster
azure coral
#

thats dedication

vocal relic
#

nice single script architecture?

autumn oyster
#

NameTag manager has a module inside of it

#

which is a single module of class NameTag

#

has a constructor .new() and :Update()

#

the NameTagManager

#

controls all the NameTag class instances

stray oak
autumn oyster
vocal relic
autumn oyster
#
--@author: DriftingDigit
--@date: 21/01/2025
--[[@description
    Controlls 
]]

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local Utils = require(ReplicatedStorage.Modules.Utils)
local NameTag = require("@self/NameTag")

--
-- TYPE DEFINITIONS
--

export type NameTagManager = {
    Init: (NameTagManager) -> (),
    AddCharacter: (NameTagManager, Model) -> (),

    NameTaggedCharacters: {NameTag.NameTag}
}

--
-- ENDOF TYPE DEFINITIONS
--

local NameTagManager: NameTagManager = {
    NameTaggedCharacters = {}
}

function NameTagManager:Init()
    for _, character in workspace.Living:GetChildren() do
        self:AddCharacter(character)
    end
    
    workspace.Living.ChildAdded:Connect(function(character: Model | Instance)
        self:AddCharacter(character)
    end)
    
    RunService.RenderStepped:Connect(function(deltaTime: number)
        for _, nameTag: NameTag.NameTag in self.NameTaggedCharacters do
            nameTag:Update()
        end
    end)
end

--[[
    Adds character model to NameTagManager.
]]
function NameTagManager:AddCharacter(character: Model?)
    if not character or not character:IsA("Model") then return end
    
    table.insert(self.NameTaggedCharacters, NameTag.new(character))
end

return NameTagManager```it makes it so that my nametag manager code looks really nice and easy
azure coral
#

i never used it and usually ignored it

autumn oyster
#

basically

broken grove
#

like think of a Tool object with method :Equip() and property RBLXTool
you need that property to equip the tool. To get it, you would either have to pass the tool into the equip function or use self (which is a parameter automatically passed that is the object the method is in)

autumn oyster
#

say you make a class like this

#
local NameTag = {}
NameTag.__index = NameTag

function Nametag.new(character)
    local self = setmetatable({
        Character = character
    }, NameTag)
    
    return self
end

function NameTag:PrintCharacter()
    print(self.Character)
end```
#

now in another script you can do

#
local NameTag = require(ReplicatedStorage.NameTag)

local localPlayersNameTag = NameTag.new(Players.LocalPlayer.Character)

while task.wait(0.1) do
  localPlayersNameTag:PrintCharacter()
end```
azure coral
#

ah i see

autumn oyster
#
local myTable = {}

-- this is identical
function myTable:Print()
  print(self)
end

-- to this
function myTable.Print(self)
  print(self)
end
#

it was sorta hard for me to wrap my head around how to use this properly

#

but once i figured it out, it helped my workflow a HUGE amount

azure coral
#

this actually might be helpful for me lol

autumn oyster
#

they're amazing imo

azure coral
#

i've been thugging out with making algorithms and stuff from basic stuff like for loops and ofcourse the regular libraries roblox offers 😭

#

could've spent less time finding some obscure way of doing things and instead could've used this

autumn oyster
#

ahaha

#

it helps with keeping code clean

#

isn't exactly essential

autumn oyster
old forum
#

beacause the self

autumn oyster
#

it's OOP

pallid bear
#

hi

old forum
#

i dont get the the self

#

see i cant write this agin

autumn oyster
#

print(rect:GetArea())

old forum
autumn oyster
#

yes

autumn oyster
old forum
#

oh ok

autumn oyster
#

or whatever function you wanna call

old forum
#

broo i want to make a tower slap game

prisma shell
old forum
azure coral
old forum
#

so yall i have a question will i really need to use metatables OOp

#

alot or really

azure coral
#

its like coroutines kinda though a bit more simpler

#

its better if you first learn about stuff like remote events then go on to this

old forum
#

ihave the metatables down but to use it often might be a challenge

azure coral
# old forum oh ok

your gonna need those more interms of client to server communication (i.e player input to server's processing and output)

old forum
#

ohh ok

autumn oyster
#

printing an instance prints the name of the instance + the instance source in the explorer

#

which is better

remote root
#

local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded
local humanoid = char:WaitForChild("Humanoid")

------Services
local UserInputService = game:GetService("UserInputService")


local Bat = script.Parent
------Animations
local BatIdleAnimation = Bat.BatIdleAnim
local BatIdleAnimTrack = humanoid:LoadAnimation(BatIdleAnimation)
BatIdleAnimTrack.Priority = Enum.AnimationPriority.Action
BatIdleAnimTrack.Looped = true
local BatWindupAnimation = Bat.BatWindupAnim
local BatWindupAnimTrack = humanoid:LoadAnimation(BatWindupAnimation)
BatWindupAnimTrack.Looped = false
BatWindupAnimTrack.Priority = Enum.AnimationPriority.Action2

local debounce = false

Bat.Equipped:Connect(function()
BatIdleAnimTrack:Play()
end)
Bat.Unequipped:Connect(function()
BatIdleAnimTrack:Stop()
end)

Bat.Activated:Connect(function()
if debounce then return end
debounce = true
BatWindupAnimTrack:Play()
task.wait(1)
BatWindupAnimTrack:Pause()
end)

Bat.Deactivated:Connect(function()
debounce = false
BatWindupAnimTrack:Stop()
end)

why when i hold left mouse button here the animation doesnt pause but stops

prisma shell
# old forum huh?

Right now you have to define self explicitly if you want to do oop 'right' and get static analysis. The shared self RFC proposes that all methods defined with : syntax share the same metatable, making oop less annoying in luau.

current 'best' way:

remote root
remote crane
autumn oyster
#

does it have to do with the type system?

#

actually

prisma shell
autumn oyster
#

i do understand you

#

but there's a way around what you said no?

#

you can use the colon syntax

fresh gyro
#

aint nobody want basic beginner work i thought i could gain experience lol

autumn oyster
#

one second

remote crane
prisma shell
#

you need to set --!strict at the top of your script or change the workspace property for strict typechecking

silver verge
remote root
#

local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded
local humanoid = char:WaitForChild("Humanoid")

------Services
local UserInputService = game:GetService("UserInputService")


local Bat = script.Parent
------Animations
local BatIdleAnimation = Bat.BatIdleAnim
local BatIdleAnimTrack = humanoid:LoadAnimation(BatIdleAnimation)
BatIdleAnimTrack.Priority = Enum.AnimationPriority.Action
BatIdleAnimTrack.Looped = true
local BatWindupAnimation = Bat.BatWindupAnim
local BatWindupAnimTrack = humanoid:LoadAnimation(BatWindupAnimation)
BatWindupAnimTrack.Looped = false
BatWindupAnimTrack.Priority = Enum.AnimationPriority.Action2

local debounce = false

Bat.Equipped:Connect(function()
BatIdleAnimTrack:Play()
end)
Bat.Unequipped:Connect(function()
BatIdleAnimTrack:Stop()
end)

Bat.Activated:Connect(function()
if debounce then return end
debounce = true
BatWindupAnimTrack:Play()
task.wait(1)
BatWindupAnimTrack:Pause()
end)

Bat.Deactivated:Connect(function()
debounce = false
BatWindupAnimTrack:Stop()
end)

why when i hold left mouse button here the animation doesnt pause but stops

remote crane
prisma shell
autumn oyster
#
local NameTag = {}
NameTag.__index = NameTag

type self = {
  abc: number
}

export type NameTag = setmetatable({} :: self, NameTag)

function NameTag:Abc()
  print(self.abc)
end```this works fine with colon syntax
#

unless im missing something

silver verge
old forum
remote crane
silver verge
remote crane
silver verge
#

they are the exact same

autumn oyster
#

the exact same dude

remote crane
#

no thy arnt

prisma shell
#

i think that person's just trolling

silver verge
#

the luau team is paid by roblox bro 😭😭

#

they are the same language

old forum
autumn oyster
#

the luau source is literally under the roblox github account lol

prisma shell
autumn oyster
#

oh it is?

prisma shell
#

the luau programming language team is employed by roblox corporation to make luau. they have invested heavily in making a type system so roblox programmers can write code that has proper autocomplete, hover documentation, and has a higher guarantee that it doesn't explode at runtime

remote crane
autumn oyster
silver verge
#

same way it has buffers and vectors

remote crane
prisma shell
silver verge
#

that is the standard way

remote crane
autumn oyster
#
--!strict

type NameTagInstance = BillboardGui & {
    PlrName: TextLabel
}

local nameTag = workspace.BillboardGui :: NameTagInstance

local plrName = nameTag.PlrName -- warning```
silver verge
prisma shell
#

If you want to do what roblox does with classes like BaseParts and whatever, you need to be a Luau embedder (not a user!)

autumn oyster
#

to be fair, this doesnt exactly have to do with the type system being bad

#

clearly some roblox bug

prisma shell
autumn oyster
#

but i spent hours thinking i was doing something wrong

silver verge
#

when is "types" getting autocomplete when i'm writing type functions

prisma shell
#

you used to be able to fix that by doing { plrName: TextLabel } & BillboardGui

silver verge
#

it's so ass to do it in studio

autumn oyster
#

that didnt fix it either lol

prisma shell
autumn oyster
#

because

#

then you wouldnt get billboardgui properties

silver verge
#

i've switched to studio for newer projects though

#

might have to use vsc JUST for writing them 😭

prisma shell
silver verge
#

can't you do typeof(instance) instead

#

and have the children typed properly

prisma shell
#

like, you can't just add more properties to a DateTime by doing local customdt = datetime.new(whatever) :: DateTime & { extrafields: extravals }

autumn oyster
prisma shell
autumn oyster
silver verge
#

no clue how else you'd do it

prisma shell
autumn oyster
#

for complex instances it didnt index all of the descendants i believe and there were some other issues

#

so after running into like 2-3 really annoying bugs i just decided to drop strict type checking

prisma shell
#

the luau team too busy working on lute when there are alr multiple perfectly good luau runtimes that actually work and have decent DX that they aren't doing shared self or making Extern & { fields } work on roblox

autumn oyster
#

what is lute?

prisma shell
#

don't worry about it

rose basin
#

C++ jumpscare

autumn oyster
#

i would absolutely love to use the type system in roblox i just wish it wasn't as buggy

prisma shell
#

ironically, luau's type system is great for stuff outside roblox

#

i really enjoy using luau instead of python or ruby for scripting; it's great as a shell replacement or when you want something lightweight that's faster than python and does its job well.

autumn oyster
#

do most other games using embedded luau also use a tree hierarchy for instances

#

or is them not using that the reason luau fits better

#

or do you mean it’s better like, in non game engine scenarios

prisma shell
#

Oh also it's fully typed (new solver) and has inline documentation (thanks to Luau Language Server) for its entire stdlib api

deft coral
#

why would i use luau in anything outside of roblox

tight pewter
prisma shell
#

cus it's fast and familiar

deft coral
#

interpreted languages are not fast

prisma shell
#

compared to python

deft coral
#

python is also not fast

prisma shell
#

<it's fast> compared to python

deft coral
#

im not even tryna be a stickler either, i just dont think interpreted languages are the move for most programs outside of game engines honestly

deft coral
tight pewter
#

if its performant enough for game development its performant enough for anything else in most cases

deft coral
#

roblox needs lua because their target audience is to make development accessible, not fast code. the engine is intentionally lightweight

#

its about abstraction

#

if im making a program outside of roblox, i shouldnt abstract for myself to lua if that makes sense

prisma shell
#

i haven't ran into an issue where luau's execution time is a bottleneck, even with mluau's safety overhead. it typically performs much better than equivalent programs in python or ruby for light general purpose programming or shell scripting.

#

lua and luau aren't even good languages for abstractions. you have to write everything yourself and you don't have a first class syntax for oop or whatever.

deft coral
#

yeah im not saying lua is worse than python or ruby, ur speaking to someone who also does not value python to the degree it is used; in essence im a contrarian lol

bright venture
#

How do i hire people cause no one can make train systems bro

deft coral
#

i think lua is the best scripting language on the planet, bottom text

#

luau is even better

prisma shell
#

i wouldn't touch lua lmao

#

i can't even read code without type annotations anymore 😭 😭

deft coral
#

lmao

tight pewter
#

fair, i tried things like love2D a long time ago, it was cheeks.

autumn oyster
tight pewter
#

but luau is fire

#

the optimizations and VM atleast

deft coral
#

lua is the best not because of its readability qualities or even speed (though it is fast), its the best because it can be absolutely anything you want it to be for the project you want

autumn oyster
#

ive always wanted to use luau outside of roblox but i assumed nobody made the proper libraries for it

deft coral
#

if you wanna make a program with lua, you need to be making your own runtime environment and customizing it like a character in an RPG

autumn oyster
#

such as you know file io, http functions, etc

prisma shell
#

oh yeah seal has allat

prisma shell
#

it's more featured than the lua stdlib abt thta stuff

autumn oyster
#

thats sick dude

grand oak
#

drop lua and pick up any other language 💔

deft coral
#

brainfuck

autumn oyster
#

luau is amazing

deft coral
#

whatever its called

prisma shell
# autumn oyster thats sick dude

I've been working on an FFI alternative for seal which is basically cdylib (shared library) external plugins you can write in Rust, C++, C, C#, or whatever language you want that can expose extern symbols.

#

this one is a wrapper around a rust crate that is a wrapper around a c library for webviews

deft coral
deft coral
#

please tell me it does

charred trench
#

im not really understanding scoping all that well, is there anything that goes more indepth about it?

prisma shell
# deft coral does it literally say "at some location"

lmao this is just a proof of concept. issue is i'm doing some really unsafe stuff to pull this off that assumes Rust has a stable ABI. the actual API will require you to use the luau stack directly so you can't easily segfault by using a cdylib compiled with a different version of the rust compiler

autumn oyster
#

is there some sort of simple api for ui? that seems kinda advanced lol

prisma shell
#

it's a disaster

#

ui is pain

prisma shell
#

roblox makes ui so easy but outside roblox have fun. especially if you're writing an application in rust

autumn oyster
#

maybe like an imgui wrapper

prisma shell
#

yeah i think once i release externs you'd be able to pull that off

#

there's imgui crates in rust im pretty sure

#

or you can just write the plugin in c/++

autumn oyster
#

i hate rust but its amazing lol

#

to steep of a learning curve

charred trench
# grand oak scoping?

its hard to explain, you have a local function that can have multiple variables. you can either have one, a few, or all variables on at once

prisma shell
charred trench
#

I KNOW

autumn oyster
#

i mean, what would be confusing about variable scoping

charred trench
autumn oyster
#

its pretty self explanatory i think

prisma shell
#

it's not self explanatory. our primary language in uni was python so once we switched to ruby for a class i had people who straight up did not understand variable scoping

charred trench
#

this is my second day learning lua 😭

grand oak
#

@charred trench can i dm you a guide

prisma shell
#

youre probably not learning lua, you're likely learning luau

charred trench
#

they arent the same thing ;-;

autumn oyster
#
do
  local abc = 123
  print(abc) -- 123
end

print(abc) -- nil

do
  abc = 456
  print(abc) -- 456
end

print(abc) -- 456```
autumn oyster
#

in roblox studio you use luau

#

it just has additional features added on top of lua

charred trench
#

rip, i dont have pic perms yet

grand oak
#

very helpful to turn the function scope conversation into yapping about lua vs luau

charred trench
autumn oyster
#

i believe in lua you can't even do

local a = 1
a += 1 -- doesnt work
a = a + 1 -- works```
charred trench
#

is it bad im using if and else

prisma shell
charred trench
#

😭

autumn oyster
#

using if's is forbidden 🤘

charred trench
#

;-;

autumn oyster
#

deviaze what do you think of my script structuring

prisma shell
autumn oyster
autumn oyster
#

genuinely oh my god

charred trench
autumn oyster
#

rust is horribly unreadable man

prisma shell
#

this is probably the worst code in seal's codebase. i think i was giving absolutely zero fucks that day

autumn oyster
#

but getting your code to compile

prisma shell
autumn oyster
#

usually means its going to work lol

prisma shell
#

rust can be very readable and expressive and much more expressive than luau at times

#

that however, is just... bad

autumn oyster
ornate needle
#

Scripters..POSTURE CHECK

autumn oyster
#

you dont want people stealing your code

#

so obfuscate it

prisma shell
#

.. it's free and open source

halcyon anchor
#

im gonna learn how to srat scripting today should i only use rblx studio or should i aslo use vss

prisma shell
#

see this is readabel

#

if you want an oop in rust all you need to do is define a struct and add methods. you can add impls to lots of things. so much more expressive than luau.

prisma shell
autumn oyster
#

NameTagManager controls all instances of the NameTag class (seen as the child of NameTagManager)

#

then nametagmanager offers functions such as :AddCharacter() to nametag whatever character you want

prisma shell
#

.. i've done worse

autumn oyster
#

the main localscript calls :Init() which i was wondering if that's even needed or if i should have a single localscript that calls init on all modules

prisma shell
prisma shell
#

no

autumn oyster
#

are you sure?

#

ive benchmarked this before

#

or maybe that's because i done it with instances to be fair

#

yeah that's most likely why

autumn oyster
#

but

#

to be fair, hash-table lookups in tables are very quick

#

localizing math.max is negligable in most cases no?

prisma shell
autumn oyster
#

yeah

#

metatable

prisma shell
#

so it's a lot more expensive than a regular table access or even a regular extern type field access in luau

prisma shell
autumn oyster
#

i dont even remember what fastcall is

#

not the same as inlining right?

oblique hill
#

Anyone knowss how to make my game use less memory?

#

I tried everything

prisma shell
oblique hill
prisma shell
#

check ur micro profiler and see which scripts r causing u to eat memory

#

and investigate why they r

autumn oyster
#

it should tell you what script is eating the most memory

autumn oyster
#

if you click into LuauHeap then click Take Snapshot

prisma shell
# prisma shell

luau is smart enough to fastcall local max = math.max; nice

#

and yeah that's why you should avoid using string methods unless ur writing a throwaway script or smth that's not in a hotpath

autumn oyster
# prisma shell

yea i only learned today that luau can dynamically deoptimize code

autumn oyster
#

like indexing a table with a string?

prisma shell
#

dont do that in hot paths/loops

broken grove
autumn oyster
#

why is this? i know doing : calls the __namecall metamethod

#

does it have something to do with that lol

oblique hill
#

Am i llooking in the right placee

broken grove
autumn oyster
oblique hill
#

Ohj yea nvm

#

i found how

prisma shell
#

builtin function calls are faster than namecall calls

autumn oyster
#

keywords that are out of my paygrade

tough vapor
#

DM me if you wanna buy a cheap Jjba game

oblique hill
#

Untracked memory is eating the most ram @autumn oyster @prisma shell

prisma shell
#

where's it coming from

oblique hill
prisma shell
#

i dontknow

oblique hill
autumn oyster
#

dms

#

or here

#

wherever you can

prisma shell
#

rust is so readable

bold crown
#

selling complex movement system dm me for more info

split gazelle
#

how can i make a touch event trigger specifically when a player is touching it i cannot figure ts out

prisma shell
tough vapor
#

selling camera script, simple easy and dynamic dialogue system, or a jjba game dm me as well as 48 high quality brainrot models

grand oak
#

48 high quality brainrot models...
🤤

#

hahahaha what does that even mean

tough vapor
#

roblox brainrot itlian creatures

#

thats in lik every big game rn

autumn oyster
cosmic gorge
#

guys i cant join my gamejam game becouse it keeps sayin waiting for an server

cold glen
#

how can i force a player to have a 40% chance to have a woman blocky body and a 60% chance for the player to have the basic blocky body

static coral
void imp
#

@summer mantle can u check ur dm?

summer mantle
#

Ok

void imp
#

perfect, tysm

magic mason
#

project manager/analyst dm me

grim delta
#

Looking for feedback if anyone could DM

ornate needle
#

POSTUEE CHECK SCRITPERS

ember fractal
ember fractal
old forum
#

how would yall aproach making a shop system?

magic mason
#

project manager and analyst here dm if u need anything

frozen dune
#

Hey

#

i need some help fixing my script

#

for some reason it keeps anchoring my character

#

oh wait

civic portal
frozen dune
#

wrong chat lol

misty valve
#

rojo or script sync?

magic mason
#

project manager and analyst here dm if u need anything

tender ivy
graceful delta
wanton cloud
#

you eventually become a roly poly if you do it long enough

remote root
#

isnt contextactionservice the same as userinputservice

broken grove
#

Different approaches

remote root
remote bear
remote bear
solid garden
#

Day 6 of learning how to script:

Learned how GUI works and what settings do what like ZIndex, Textscale
Learned text scaling for devices
Made a couple text gui systems
Made the text change whenever you clicked it
Made a text randomizer using math.random + table
Made a currency label
Made a text prompt
Learned a lot of functions such as Focused
ReleaseFocus
FocusLost
ReleaseFocus
Isfocused
HoverImage
ImagePressed
Learned a lot of events such as
MouseEnter
MouseLeave
MouseButton1Click
MouseButton2Click
Learned how to change text colors with scripts
Learned how to change color of text everytime you click on it

austere egret
#

do you sleep

tough vapor
#

selling a decent jojo game and a smash bros template game too

vague dirge
#

Let's say I wanted to turn text to speech into commands? As in I want to make it so if a player says something, using the new roblox text to speech feature I can get the script to trigger the certain word and make it trigger what normally would be a key on the keyboard, to which an action happens on the game is this possible?

left flare
#

does anyone know if its possible to add drop to raycasts in roblox, for example if making a combat system using it and wanna add bullet drop

regal salmon
green smelt
solid garden
solid garden
prisma vigil
#

I’d be on your journey as well but I’m PCless right now

solid garden
#

@prisma vigil how old are u

prisma vigil
#

Worry not about that lol, but I haven’t touched luau in a year

#

Started when I was 12

novel scroll
#

Yo can someone help me add a global statistic leaderboard and a top donations / donating leaderboard to my game

solid garden
prisma vigil
solid garden
#

dms

eternal arch
#

hi

pallid bear
#

hi

pallid bear
green smelt
pallid bear
remote bear
young crystal
indigo veldt
#

😭 😭

regal salmon
tired remnant
#

Basically layer

regal salmon
#

yes quite useful

frail lance
regal salmon
tough vapor
#

Selling a brainrot tsunami template for 8k DM me

solid garden
tough vapor
solid garden
tough vapor
#

i archived it

umbral bone
tough vapor
umbral bone
tough vapor
#

instead im selling a game i actually worked on dm me for more

tough vapor
#

ball merge game

umbral bone
#

damn

#

mobile game

tough vapor
#

nope

#

wanna see t

#

it

#

selling a cool ball merge game dm me for price and more

umbral bone
formal sand
#

Can anyone give some scripts and i try to tell what its going to do?

tough vapor
noble sonnet
#

Hey guys im trying to go back and forth with AI and I've been using rblx fo rojo to make my game scripts zippable to give to claude so it can view it as context. Does anyone know any other way I can give context to claude about my game more efficiently?

icy plinth
#

Does anyone know how to work with webhooks?

stiff saddle
finite silo
#

do they z fight or what

regal salmon
#

theyre all the same by default

slow drift
ember nimbus
#

lock in soldier

regal salmon
#

assuming that even works lol

craggy hazel
#

where shuld i learn how to code luau youtube and dev hub?

cold glen
#

what is the roblox blocky male avatar mesh id how do i make it so people spawn with that
40% to join with feminime version 60% with male

cold glen
rigid jasper
#

yo im thinking about on how to make a system to handle multiple tools with their own stats, animations etc. Im mostly a beginner scripter and i wonder on how to implement that feature properly? Should i use local script inside of each tool for detecting player's mouse and whenever they hit something, using 1 script to handle events for these tools and 2 modules to contain tools info and tools functions(abilities as such)? Or maybe theres a better way on making such a system?

static coral
#

you can use tags tho and then assign certain logic to certain tags

rigid jasper
static coral
rigid jasper
#

like should i put local script into each tool or

static coral
#

you can have system for detecting when tool is equipped and activated

static coral
rigid jasper
#

also how do i verify the tool? Like so that people cant exploit by changing tools name etc

#

tags?

static coral
#

just make sure theres no bugs

#

then on server check that player has the tool

rigid jasper
#

so one if statement is enough

static coral
#

u can also assign each tool an id or category or name or whatever

rigid jasper
#

to verify

static coral
#

and game

rigid jasper
#

i see

rigid jasper
#

like can i rely on them?

static coral
#

remember filtering enabled exists

rigid jasper
#

for example if i make a damage attribute

static coral
#

client cant change those things

rigid jasper
#

ahhh

#

i see

static coral
#

unless u got terrible security

static coral
rigid jasper
#

i mean that i just dont need to verify attributes at all

#

if its about damage

#

or such stuff

static coral
#

just make sure u got half decent security so players cant change it with remote

rigid jasper
static coral
#

also its better to keep templates/registry of weapons, for example, client will send weapon name/ID/uniquely identifiable attribute of weapon and then server will fetch stats of weapon and maybe player stats depending on game and then do whatever

static coral
# rigid jasper do you have any forum about how people exploit with remotes

just learn how replication works, in short:
the first argument that is the player cannot be exploited
any other arguments can be spoofed
arguments can be sent as the incorrect type
arguments can be omitted
table arguments can contain wrongful data/keys
metatables are not serialized (not possible to send over remotes)

#

and also exploiters can hook into remote events to redirect their calls

#

exploiters will do it with client side anti cheats

novel scroll
#

Hey i need someone that can do leaderboards

static coral
#

hookmetamethod

novel scroll
#

donation leaderboard and global stat leaderboard

rigid jasper
#

alright thank you

#

thats a good info to learn from

static coral
#

no

#

just say

novel scroll
#

bro

static coral
#

or dm

rigid jasper
#

like how do you come up with those calculations

#

school knowledge or looking for it on the internet or

static coral
#

or if u smart enough come up with your own

storm smelt
quartz wing
#

i keep getting ts on my custom type of cmdr

  18:27:23.821  ReplicatedStorage.CmdrClient.CmdrInterface.AutoComplete:118: attempt to concatenate string with table  -  Client - AutoComplete:118
  18:27:23.821  Stack Begin  -  Studio
  18:27:23.821  Script 'ReplicatedStorage.CmdrClient.CmdrInterface.AutoComplete', Line 118 - function Show  -  Studio - AutoComplete:118
  18:27:23.821  Script 'ReplicatedStorage.CmdrClient.CmdrInterface', Line 84 - function OnTextChanged  -  Studio - CmdrInterface:84
  18:27:23.821  Script 'ReplicatedStorage.CmdrClient.CmdrInterface.Window', Line 328  -  Studio - Window:328
  18:27:23.821  Stack End  -  Studio
hoary cedar
#

That's not a string 🤔

rapid eagle
neat siren
#

any1 using rojo

hoary cedar
neat siren
#

been working on a rojo tool lately using rust and bouta publish it on my github lol

#

js looking for feedback

tardy brook
#

Does anyone know to use GetPartBoundsInBox for hitboxes?

wet tiger
#

and suggestions of course

woven panther
#

Yo guys is ByteNet good?

flint oriole
#

could anyone explain what :: does iin modules

grim delta
#

looking for feedback pls dm

faint garnet
#

cuz idek

regal salmon
faint garnet
regal salmon
#

don't think so

#

can just fire a remote event to tell the server to trigger an ability slot

faint garnet
#

just make gui to display

woven panther
#

just make an input controller

faint garnet
#

the cds

regal salmon
#

yeah

faint garnet
#

but i wanted to ask cuz hes weorse than me and im a beginner lol

#

ok ty

woven panther
#

np

azure coral
#

desmos helps alot too

#

if you want to use physics to direct a missile for instance then you could use :lerp() or tween on an alignOrientation object, if you prefer realism you could just use inverse kinematics to get angles

#

its not really that hard once you visualize everything

quartz wing
#

tho im stuck on smthn, so im tryna make a model of a humanoid, with clothes etc a tool but when i do so, it messes up the movement of player itself, but if i rename the body part of tool as Item_Head etc i cant use clothing etc, any fix for ts?

buoyant junco
solid garden
#

Alright guys, it's day 7 of scripting, got my first commission on day 6, which was a donation board, so I honestly can't wait to see what I learn today

fair topaz
#

do ya'll actually use module loaders or is it just not worth it

#

and if yes, do ya'll make one or use one

jovial crown
#

Chat how ez is it To get someones wify password educational purpose

jovial crown
sacred ore
#

yo can anyone make good Discord server

unreal dragon
#

Hey guys,

I'm trying to dive more into the whole roblox scripting workflow and an interesting question came to my mind.
Do you often reuse your scripts / module scripts in different games?
Do you make your scripts reusable? If so, which parts of game scripting are typically reusable?

tough vapor
#

anyone want a brainrot template file? where you gt a brinrot and plac it on your plot n make money n stuff, dm me for price it cheap

autumn oyster
#

meaning that I'm making my modules reusable

#

Imo your scripts dont have to be fully agnostic but agnostic enough to the point that implementing them in another game is a breeze

#

and this is how my code is structured

#

everything is grouped by feature

#

which is the best practice for separating your code and keeping everything managable

#

this way from another module if i wanted to add a nametag to an instance i simple do
require("../NameTags/NameTag"):AddCharacter(characterIWantToNametag)

autumn oyster
#

🤷‍♂️

tawdry cypress
#

bro i think it is this function

local function setupCarryWeld(grabberChar, grabbedChar)
cleanupCarryWeld(grabbedChar)

local grabberHRP = grabberChar:FindFirstChild("HumanoidRootPart")
local grabbedHRP = grabbedChar:FindFirstChild("HumanoidRootPart")
local grabbedHumanoid = grabbedChar:FindFirstChild("Humanoid")

if not grabberHRP or not grabbedHRP or not grabbedHumanoid then return end

grabbedHumanoid.PlatformStand = true

for _, part in ipairs(grabbedChar:GetDescendants()) do
    if part:IsA("BasePart") then
        part.Massless = true
    end
end

pcall(function() 
    grabbedHRP:SetNetworkOwner(nil)
end)

local offsetCFrame = CFrame.new(0, 3, 0) * CFrame.Angles(math.rad(90), 0, 0)
grabbedHRP.CFrame = grabberHRP.CFrame * offsetCFrame

local weld = Instance.new("WeldConstraint")
weld.Name = "CarryWeld"
weld.Part0 = grabberHRP
weld.Part1 = grabbedHRP
weld.Parent = grabbedHRP

grabbedHRP.CFrame = grabberHRP.CFrame * offsetCFrame

carryWelds[grabbedChar] = {
    weld = weld
}

end this is what handles welds

The glitch is when a mobile player is getting carried it’s like it doesn’t update the position , so when the player throws the player or doesn’t throw him at alll , it takes the position from where he was grabbed .

THIS OCCURS ONLY FOR MOBILE PLAYERS BEING CARRIED FOR SOME REASON .

Please help cuz we been trying to fix it for like 5 hours

unreal dragon
jovial crown
tawdry cypress
#

How to fix it ?

autumn oyster
#

bro pinged a random mf with a green name ahahahaha

tawdry cypress
#

It literally occurs only for mobile players being carried

jovial crown
hallow parcel
#

hi yall I need some help for scriptes for shop ui (scrolling) from dialogue NPC. and getting seeds. can anyone help me with that? (idea taken from Grow a Garden)

tired socket
#

hi guys, is there a way to retrieve group sales using oauth?

solid garden
#

OMG BRO LEARNING SCRIPTING IS SO BORING

bitter rapids
#

Cookies are confidential

tired socket
#

yeah ik

#

are there any oauth ways to get sales?

ashen obsidian
solid garden
#

thats why i script

#

im learning a lot

#

and i scripted dumb shit before

left ginkgo
#

making code was never the real job of the actual programmer.

#

as a programmer your more of an engineer rather than a construction worker

#

ur job is to design systems, nowadays AI can do a lot of the workload and write code for you

#

the real skill is being able to make solutions to complex problems and debug to fix problems

solid garden
#

and i have everything planned out

ashen obsidian
# solid garden well ik what im doing though

I'm sorry but i have to say, Roblox scripiting not only requires assest like effects, animation, ui intereface but you probaly going to need to hire people to help with that and Beside that it there is one way to money

left ginkgo
solid garden
ashen obsidian
#

There is one way which everybody dont like

solid garden
#

and also, im not gonna just make a game

#

im doing commissions too

ashen obsidian
#

Wait

solid garden
#

let's say i make 1k robux per commission as a beginner scripter

ashen obsidian
#

IM MEAN LIKE

solid garden
#

everything adds up

ashen obsidian
#

most commision requires 1 year of coding as a minium

#

not learning but coding

solid garden
ashen obsidian
#

and usually requires profillyinh

solid garden
#

i did a commission with 7 days of scripting experience

solid garden
ashen obsidian
#

If you do want quick cash