#code-discussion

1 messages · Page 279 of 1

wise turtle
#

by just requiring ur dependencies normally

wooden harbor
#

yes but you are also focused on framework-style architecture

#

If you have alot of modules, loaders can make the management easier

wise turtle
#

only in SSA

#

in MSA each script is a loader itself

wooden harbor
wise turtle
#

makes management harder imo if you truly have a very complex architecture

wooden harbor
#

which is common when number of module increases

wise turtle
#

you get way less control on individual parts of the gmae

wise turtle
lapis haven
#

who needs organization

#

make local scripts and scripts only andm ake sure they're all unnamed

wise turtle
#

I haven’t ran into an issue with cyclic dependencies that wasnt caused by bad structuring and design choices

lapis haven
#

use no folders

weary socket
#

So uh correct me if im wrong, but if you write a module that connects to a roblox event (let's say a .Changed event on a BoolValue), if you write this code in the outermost scope of the module script (the part that runs with the first require), and let's say you have an NPC that has a script that require's this module, then you can run into a problem where, if this script required this module first, then the .Changed event is connected from this script, and if the npc is destroyed, the script is also. However, from my experience, whenever a script is destroyed, roblox would also disconnect all connections made to Roblox events automatically, meaning the .Changed will D/C even if you dont want that. So I would throw that code that connects into a OnInit() funciton to call from my module loader system, to connect it from a script i know for sure wont be destroyed.

wise turtle
#

Not reading allat

wooden harbor
# wise turtle skill issue imo!

Not really a skill issue. Sometimes the context is simply too large for a tired brain. Code should be easy to understand and maintain. Lower cognitive load is always better.

lost gulch
#

lol

weary socket
#

for me thats the only reason i use a module loader

#

idk im wrong tho

lost gulch
#

it's funny to me that we have one hater on module loaders haha

#

rest is cool

wise turtle
#

so if you like module loaders

#

it must be bad

lost gulch
#

cool man

#

whatever up to your preference

wooden harbor
static sage
lost gulch
#

😂

static sage
#

rather than it disconnecting

weary socket
#

programmers should be able to like or dislike different aspects of programming styles, that's literally what makes programming good. The fact we can all have different ways to solve the same issue

static sage
#

and one would get gcd when the npc gets deleted

lapis haven
lost gulch
#

yeah

weary socket
#

But a basic module loader cant be as bad as ace claims it is, and more over, calling someone who is thinking of using it a skid?

lost gulch
#

basic module loader is aight but advanced one 100% better

weary socket
#

i guess just trolling, mb. It's not that deep, ig

wise turtle
wooden harbor
wise turtle
#

U want to control load order, lifecycles etc

lost gulch
#

profilestore service is very good. ik you aint gonna hate on this one as well lol

wise turtle
#

profilestore is trash

lost gulch
#

there we go

#

lol

wise turtle
#

its objectively true

weary socket
#

profile store beef time

lost gulch
#

at this point

wise turtle
#

use lyra

#

its the best datastore library because it has atomic transactions

#

If u use profilestores u need to implement 2pc on top of it

#

which i mean if u can be bothered then sure

lapis haven
#

ace

#

have you ever done a trading system before

lost gulch
#

wait wrong one i meant

#

ProfileService

#

what do u think abt it?

wise turtle
#

its the same thing

#

no atomic transactions

#

profileservice is just profilestore but worse

lost gulch
weary socket
#

is atomic transactions still important if your game does not use trading in any form?

wise turtle
wise turtle
wooden harbor
lost gulch
wise turtle
wooden harbor
lost gulch
wise turtle
lost gulch
#

thanks for the info tho ❤️ i mean no harm

#

much apprieciate it

wise turtle
#

updateasync is atomic

lost gulch
#

but Stay locked in, self-disciplined and consistent

wooden harbor
#

?

wise turtle
wooden harbor
#

Or TOCTOU attack?

wooden harbor
wise turtle
#

that is prevented by the developer

wooden harbor
#

You can also mitigate network jitter to make sure the requests hit at exact ms

lost gulch
#

ace lowkey why do you look like that ur mad rn lol

#

ur typing makes me think ur aggressive lol

wise turtle
#

Idk

#

im actually a really kind person 🙂

#

🥺

lost gulch
#

glad to hear that

weary socket
#

im thinking of storing player data not in roblox's data stores but in youtube comments

#

like randomized videos

#

any endorsements or advice?

regal salmon
weary socket
wooden harbor
floral wharf
#

who needs help

snow veldt
#

"Hi guys today we are going to talk about.."

"hawntddev = {

}

lime frost
#

Just made my first running and walking script, feeling successful!

cyan lantern
modern seal
lime frost
warm wave
#

yo, I have a little problem... I am trying to make a little system where there is 2 chairs and when there are 2 players sitting on the chairs, there is a 3 second count down. if a player leaves a chair in that countdown, then it stops everything and goes back to waiting for players. I am just trying to figure out how to cancel everything if a player leaves a chair in that cooldown.

strange ravine
#

are coroutines used often and if they are used in what situation would u use them instead of task spawn for example

stable verge
velvet crane
velvet crane
cold pebble
cold pebble
hasty mesa
#

meow meow

elfin timber
#

has anyone here used roblox assisstant with any other llm

shut grove
cyan lantern
#

TELL ME

#

TELL ME HOW THE FUCK IS 542 < 6 EQUALS TRUE

lean ocean
#

its nt

#

not

cyan lantern
#

oh oh i fucking figured it out

#

6 is bigger than 5 in unicode

#

so thats why

rotund pawn
#

I want to create simple "Walk to doors to open them", handled locally.
How can I create this without complicated and heavy checks if part touched character has attribute door &without server check if user touched hitbox of doors etc

cyan lantern
rotund pawn
#

The doors will be all around the map, just general doors to enter any building anywhere.
I understand your point but I need some light way how to handle all the doors. I think I will just drop to Proximity Prompt for simplier handling

slow crow
#

hey yall
im making a game rn and its a anime bandit beater typa game in the sense
and i have a scripter but he doesnt script much advanced system he focuses more on fronted
i do modelling , building and animations so scripting isnt my expertise
do you guys think it would be good for me to pay someone to make the system and from there one just add stuff

shy cipher
shy cipher
slow crow
#

alright thank you

shy cipher
# slow crow so just try making it within ourselves?

it'd be pretty cumbersome to manage a scripter who likely has other projects to contribute to or just doesn't want to script, especially in backend where you have to "learn" the codebase that is presented in front of you, the problem with hiring new backend scripters is learning the codebase if there's one present. you yourself having built the codebase, I feel, is more beneficial (mainly because I script 80% backend)

rotund pawn
shy cipher
# rotund pawn As map is semi-randomly generated, can I use remote Event to pass All doors list...

as far as I remember, you can only pass UTF-8 values into remote events, not quite sure, haven't run into a "bad datatype inserted into remote event" error in a long while now. also, are you passing the doors to the server or to the client? if it's the server, this is pretty pointless. if everything's in the workspace, the client can also see everything that has your "Door" tag, which again, makes remote events pointless. using .Touched is bad for hitboxes, but it works if you set it up correctly. but it's still bad nonetheless, I'd recommend something better like getpartsinbox (the new "hitbox" API roblox released recently to make this process much easier), or raycasts if applicable

#

@rotund pawn https://www.youtube.com/watch?v=BsC8px_oXdM

this video is good to understand the whole API

Video Description:
In this video I cover the topic of Spatial Query and OverlapParams, and how you can use various methods to detect when objects are within a specified hitbox. This is extremely useful for creating hitboxes for special abilities or anything like that when .Touched just doesn't cut it. I know I said I was going to start the shop ...

▶ Play video
#

it's very easy to understand, just gets you the parts that are overlapping inside a hitbox

rotund pawn
#

as I know you can pass anything in RemoteEvents, I have used it few times already.
Second I understand the ways of alternatives to .Tocuhed, but my map is pretty large, so any doors that are located outside render distance due to FEnabled, will be nill.

I want to generate map => get all doors => pass HitBox of doors to client, client asigns the detection function to it and client can locally open doors when touched.

shy cipher
shy cipher
rotund pawn
#

Yeah sorry, streaming enabled 😄

shy cipher
# rotund pawn Yeah sorry, streaming enabled 😄

alright I think I understand what you mean now. since your map is big, some doors may not be streamed in yet (nil). the server doesn't have any render distance and simply knows everything, so you want to solve this by sending all the doors through a remote event. this could work, but it's not optimal and would be expensive. I think the practical solution is to use

 collectionservice:GetInstanceAddedSignal("DoorTag"):Connect(setUpDoor) --where setUpDoor is a function

this should get every new door that is streamed in without any remote event bogus, the client can simply use what it can see

rotund pawn
#

Ohhh, that is a new use case for me, detects new instance when rendered with tag. Thanks so much

shy cipher
#

detect the door opening on the client, send a remote event to the server to make sure they aren't cheating (ensure that they're at least 10 studs in the vicinity of the door I guess), and then have the server open the door

#

this is better than putting .Touched on every single door which is very explosive

ashen jolt
#

does none take per task now?

rotund pawn
#

Thank you for this solution, will add that

ashen jolt
#

i saw like 15 posts and either post not promising or scripter wants upfront

#

does none take per task atp?

shy cipher
shy cipher
ashen jolt
#

me trying for 3 days atp

#

messages 3 guys

shy cipher
#

you could negotiate if your portfolio is up there with kobe

ashen jolt
#

no

#

i wanna hire

rotund pawn
shy cipher
#

I don't know about other scripters but I personally prefer per-task if I trust my client. if you want to appeal to everybody else you can.. change your payment plan

shy cipher
#

my accounts on limited access so the talking would either be on a private call inside this server, an alt, or here

#

discord thinks I'm a bot because my vpn kicks on randomly

#

it's till 15th march so it's only 3 days left

ashen jolt
#

i can dm u?

shy cipher
#

you can dm me but I won't be able to talk back

#

but it looks like calling works

ashen jolt
#

oh

shy cipher
#

I could screenshare what I want to say

ashen jolt
#

yep

#

where will u do it?

#

in dms?

shy cipher
#

excalidraw maybe

#

no, I can't message you back in DMs

#

it doesn't send the message when account's on limited access

#

but I have called for hours with my friends with limited access so it looks like that works

ashen jolt
#

well

#

ill see

shy cipher
#

but I can see your new messages

rotund pawn
#

Also hiring devs here is pretty shitty, most ppl just AI vibe code everything or ghost you when they realize task is too much

shy cipher
elfin timber
#

😭

shy cipher
#

but I only really take commissions if I know I ain't getting bullshitted and they actually have the money 😔

rotund pawn
#

Yeah, so when some good hiring post is posted, the user is spammed by large number of kids, so good luck being noticed in this sea of DMs

elfin timber
#

i will have to comission some people in the future and im already feeling like its gonna be a pain

shy cipher
#

I stopped commission scripting a while ago though, most people aren't very cooperative and the offers are usually not very appealing

rotund pawn
#

I help newbies with coding for free, made some friends this way, its fun actually

shy cipher
elfin timber
rotund pawn
ashen jolt
#

any tips for me ?

#

i am gonna hire

elfin timber
#

well im not like a godtier scripter so if i do something that i actually cant get to work that will be the only time i have to com a scripter but besides that i can script on my own

#

if i have to com its gonna be like builders, modelers, etc.

#

like the slave tier stuff

rotund pawn
# ashen jolt any tips for me ?

Create test scenario, check out previous work, look for AI usage (images, lazy details, lazy portfolio), communicate, have intructions ready and clear

ashen jolt
#

got it

rotund pawn
shy cipher
# ashen jolt i am gonna hire

make sure they actually know what they're doing. don't blindly go off of a portfolio, do an interview once you think their portfolio is good enough. that should expose their non-vibe coding abililties. why not vibe code? well, AI is basically aristotle when it comes to programming knowledge, it's a doodoo programmer in actually applying that knowledge in a way that isn't overcomplicated and works with everything else. it's only a good tool for learning, not replacing you.

rotund pawn
#

Ask for code example

ashen jolt
#

can i dm yall?

#

devatomic can u dm me

slender cradle
glossy wave
#

functional code > clean code/"good" practices

#

if it works then it works 🔥

rotund pawn
#

And about payment type, for example I use invoice for tax reasons so user gets some kind of trust when I tell them about it

glossy wave
shy cipher
elfin timber
glossy wave
ashen jolt
rotund pawn
slender cradle
rotund pawn
shy cipher
# glossy wave what does imperative mean

imperative is a programming paradigm where everything is laid down sequentially and in steps, like your eyes aren't darting around everywhere to see "what this function does" because everything is functions. you can just Read bruh

rotund pawn
shy cipher
ashen jolt
slender cradle
#

imperative involves changing state no?

elfin timber
#

oh my fucking god i should never make ui again i just made a full ai and noticed that its all textlabels insteado f textbuttons

#

fuck me

#

how do i fix this quickly 😭

shy cipher
ashen jolt
#

@glossy wave check dms

elfin timber
shy cipher
slender cradle
#

choose your 2 mins

elfin timber
slender cradle
elfin timber
#

a plugin prob

shy cipher
shy cipher
slender cradle
rotund pawn
slender cradle
#

dad

shy cipher
shy cipher
elfin timber
#

ok yea it works thanks yall

shy cipher
#

maybe my wifi is just balls

rotund pawn
shy cipher
#

whatever it's called brah, the thing that allows you to rollback to previous versions

#

from the autosave

rotund pawn
#

I miss GIT in Roblox studio

shy cipher
#

I miss the old UI thats all

#

the new one didn't introduce anything that I actually use regularly

rotund pawn
#

New one removed X buttons from top bar menu as far as I know, so you need to make custom page to see it

shy cipher
#

removed undo and redo too.. most used buttons you could argue

#

my Z button didn't work on my old laptop back then, so undoing was a pain

rotund pawn
#

Yeah its worse and worse every year..

shy cipher
#

worse than stein you could say

rotund pawn
#

Took me a while to understand😂

fringe urchin
#

hi
yall i tried yesterday learning luau from brawldev but roblox studio was just so boring
so what other ways is there to learn luau

alpine dirge
#

if you think that's boring then you probably never touched luau documentation

#

brawldev goes over the most necessary basics

fringe urchin
#

ye but roblox studio in general is js boring idk i dont like the ui

#

maybe its js me

peak jolt
#

you can try using vscode

fringe urchin
peak jolt
#

with rojo

fringe urchin
#

thanks ill check that out

peak jolt
#

actually roblox has that built in now its called script sync or something

#

then you dont need rojo

#

i recommend checking that out first cause rojo is a bit more advanced and not well documented

visual lagoon
#

i think if he really hate studio, rojo will be better

fringe urchin
#

ill check both out

peak jolt
#

script sync supposedly does 90% of the thing (syncing vscode/file system to roblox studio), it just doesn't have all the advanced mapping rules and files-as-instances, so for learning luau it should be more than good enough

alpine dirge
peak jolt
#

why

visual lagoon
peak jolt
#

classic roblox

visual lagoon
alpine dirge
#

I don't see someone like that using rojo lmao

visual lagoon
fringe urchin
#

i mean i learned python for like a month before

#

but i lowkey forgot almost everything

sly cipher
#

has anyone played ultrakill?

gray oyster
#

j

regal salmon
#

not all of it but ive played it

heavy shadow
#

is it hard to code craftwars gmae

regal salmon
#

depends how skilled you are

heavy shadow
#

do u think u would struggle?

regal salmon
#

but based on the brief description i read i'd say not really

heavy shadow
#

btw can i ask

#

how long have u been coding luau

regal salmon
#

nearing 5 years

#

but i went in with 4 or 5 years of coding knowledge beforehand

heavy shadow
#

oh how did u get that knowledge

regal salmon
#

i started making games in unity in 2017

#

and started making roblox games around 2021

heavy shadow
#

oh

#

dang

regal salmon
#

yeah

#

why do you ask?

heavy shadow
#

i just began

#

im getting used to function before going forward

#

and im being inconsistent already

regal salmon
#

that's normal, learning coding is harder for some than others

#

it took a while for me to be able to code comfortably

#

just gotta keep at it

heavy shadow
#

thx

dim compass
#

mincfraft

teal bolt
#

Is shapecast currently better than raycast hitbox? Im trying to figure them out rn

dense spade
#

shapecast take up more area

#

raycasts will have gaps

teal bolt
dense spade
teal bolt
# dense spade prob shapecast

Just interesting because im pretty sure raycast is used by combat warriors and other combat games and it seems to be pretty consistent

dense spade
#

if ur doing raycast u need many rays throughout the blade

#

shapecast,one big shape

teal bolt
teal bolt
#

Ill look into both and decide

#

Thanks

ashen jolt
#

@wind storm

#

can u dm me rq?

sturdy dirge
#

yo

shy bronze
#

guys how can i make a ragdoll like dead rails/99 nights, i tried to make mine but it was weird when you die the player stay stiff unless you push him with something or another player to fall

shy bronze
subtle fractal
#

What Is a remote wrapper

haughty sapphire
subtle fractal
haughty sapphire
heavy shadow
#

guys is it fine if chatgpt explains the things i dont understand like at all

heavy shadow
#

what

alpine dirge
#

yes

#

as long as you're learning

heavy shadow
#

im struggling with maths

#

returns

knotty nova
#

found something?

heavy shadow
#

i think u gonna need some real experience for that

#

i can only use functions 💀

knotty nova
elfin timber
fair topaz
#

how rare would it be that datastoreservice fails to retrieve an user's data?

#

if i retry 5 times

haughty sapphire
elfin timber
knotty nova
fair topaz
fair topaz
#

isnt it just load data on join and save data on exit

heavy shadow
#

i meant learn from the basics

elfin timber
#

never heard of that, but its possible

heavy shadow
#

just realiozed math is one of the mos important part of scripting

#

i thought i escaped math

rancid fjord
#

my roblox studio stuck at 15 fps

knotty nova
#

im in the exact situation as you 😭

rancid fjord
#

does anyone know the reason

fair topaz
knotty nova
#

fundamentals are important

fair topaz
#

and if it returns an error, retry 5 times

#

its literally the only "emergency" mechanism

heavy shadow
#

i was literally stuck at functions for 2 days 💀

knotty nova
heavy shadow
#

i can now change properties

rancid fjord
knotty nova
#

Owwhh

#

no clue man

#

might need to google that

heavy shadow
#

guys why am i thinking like what im learning are useless

rancid fjord
haughty sapphire
knotty nova
wanton cloud
rancid fjord
knotty nova
heavy shadow
pastel tangle
#

anyone good at network optimization? i got an average 150kb/s+ RECV value on my game... onlu 10k parts map, streaming enabled, i even tried playtesting with all scripts disabled , recv is still high

wanton cloud
fading galleon
#

guys how can I make a zombie wave so they keep distance between each other

frigid wagon
haughty sapphire
knotty nova
#

its perfect

heavy shadow
#

im making it explain what is return

#
    return a + b
end

local result = add(2, 3)
print(result)``` is this right
wanton cloud
heavy shadow
#

ye thats a mistak

#
    local myResult = a + b
    return myResult
end

local result = add(2, 3)
print(result)``` whats the difference
haughty sapphire
wanton cloud
#

but youre going to get the same value in both

wanton cloud
# heavy shadow wym

you store a + b in a variable and then return the variable value while in the first one you just return the value of a + b

heavy shadow
#

does it change anything if used in an actual game

ember nimbus
#

it wasn't bait?

#

i'm shook

haughty sapphire
wanton cloud
heavy shadow
#

so the second is better?

haughty sapphire
heavy shadow
#

why

wanton cloud
heavy shadow
#

oh

#

ok

#

thx

#

whats the code again for changing location of a part

#

is it vector3?

frigid wagon
haughty sapphire
icy heron
#
game:GetService("Players").PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function(char)
        char.ChildAdded:Connect(function(child)
            if not (child:IsA("Model") and (child:HasTag("Focus") or child:HasTag("Artifact"))) then return end
            local idVal = child:FindFirstChild("FocusID")
            if not idVal then
                print("creating StringValue")
                idVal = Instance.new("StringValue")
                idVal.Name = "FocusID"
                idVal.Value = game:GetService("HttpService"):GenerateGUID(false)
                idVal.Parent = child
                print("created:", child:FindFirstChild("FocusID"))
            end
        end)
    end)
end)

genueinly dont know what i could be doing wrong here vro it never runs the code sm1 help

heavy shadow
# haughty sapphire cframe also
while true do
    myPart.Position = myPart.Position + Vector3.new(0, 1, 0)
    task.wait(0.5)
    myPart.Position = myPart.Position + Vector3.new(0, -1, 0)
    task.wait(0.5)
end```
#

why myPart.Poition need to be repeated

elfin timber
#

is this some decimal shenanigans?

heavy shadow
#

a...

haughty sapphire
heavy shadow
#

what

haughty sapphire
heavy shadow
#

so myPart.Position + is not needed

ember nimbus
#

numbers in a computer are stored in binary

#

so like how you w ant to represent 1/3 in decimal, 0.333333333.. binary can't do 1/10, it turns into 0.0001100110011...

heavy shadow
#
    local result = a + b
    return result
end

theResult = add(2, 3)
print(theResult)``` is this right math
elfin timber
#

never actually had it happen to me

ember nimbus
# elfin timber yea i know

yes but i wanted to emphasise it's not because binary is worse than decimal it's just a certain ratios

#

some people view decimal and binary as separate things, decimal as numbers and binary as computer representation

haughty sapphire
ember nimbus
haughty sapphire
ember nimbus
haughty sapphire
ember nimbus
#

ik people who have studied cs theory and don't know better

haughty sapphire
heavy shadow
#

guys is it hard if i become a designer while learning scripts

final dragon
#

a lot of game design is actually similar to how you think while scripting

weary socket
#

It's not code help if 2 guys aren't arguing about the most precise points in their dissertations

haughty sapphire
icy heron
final dragon
#

idk i think you can learn a lot about the other from learning both but thats mostly me speculating

heady spire
#

how can i play this animation only on the animator of the player that used the ability, the module is loaded when a player joins since its just for vfx and all players should see it. since its required on the client i figured to avoid the animation delaying on first-time use it loads the animation when the script is required. with how it is rn it plays the animation on all players (understandably). is there a way i can play the animationtrack on 1 player specifically who's passed in when the ability is fired?

#

wrong ss

#

the first one i tried but it didnt work cus playanimation isnt a thing lol

#

is there another way i can load the animation to avoid it delaying when the ability is first used

#

i can obviously do player.animator:loadanim:play in the vfx event but does constantly doing loadanimation not cause issues? ive heard theres a limit to how many u can load

shy cipher
#

type is already a built in function that returns the primitive type of any value, you shouldn't use this as a variable name

#

it can create conflicts

heady spire
#

oh thats why its blue

#

ill change that but do u know anything to help w the animation thing im asking

shy cipher
#

I ain't reading allat

#

fine I'll read

weary socket
shy cipher
#

I lowkenuinely can't understand what you're talking about sorry I'm very fried right now I watched an hour long video

heady spire
#

fairs

shy cipher
#

what are you trying to achieve

heady spire
#

in the script i have it doing local launchanim = localplayer.animator:loadanim(launchanimation) on the launch animation of the ability

#

then when i do launchanim:play() it plays on all players cus the script is requred by all players

#

i jus wanna make it play on 1 player using the local launchanim

#

is there a way to do that

shy cipher
#

sir you can format discord messages into code


weary socket
#

No, you're firing the remote to all players. Fire to only 1 player

#

And type is fine since its an argument, it will shadow the actual type func

shy cipher
#

@heady spire send your server side code

heady spire
#

are u syaing i should have a seperate script to play jus the anim

weary socket
#

So send in the player that is casting the ability or whatever

#

Animate only if the localplayer is that player

#

Send the player instance or a user id

#

I do that a lot for this kinda stuff

shy cipher
#

but what's the server doing? I need to see if it's doing something like fireallclients()

weary socket
#

Sorry

#

Ypu are sending the player

heady spire
#

i have in the start of the script that it loads the anim to all players when its required is the main thing

weary socket
#

If localplayer == player then playAnim end

heady spire
#

cus i dont want any first time use delay

weary socket
#

PlayAnim is your code to play anim

heady spire
#

ok ill try it

weary socket
#

Ate you following a tutorial?

heady spire
#

na

shy cipher
#

can you send the code inside the white script bruh

#

that's the server side

#

you want playanim() to only work on one targeted player right? instead of all of them

#

the code you sent only describes how the vfx is played by each respective player

#

not what's making all of them play it

heady spire
#

i doubt it will help its a really niche issue i could avoid by just doing loadanim on the player every time the anim is used but it will end up delaying when the ability is used for the first time which u dont want in a combat game

#

the whle script is long just processes the fireball projectile this is the start

shy cipher
#

I'm only interested in the part where you fire the remote

heady spire
#

vfxPacket can only do Fire or FireClient

#

its first line of the function

weary socket
#

Yeah you got the player caster and player target just use if statements for effects that only work on certain players

#

You should be doing fireAll in this case so that's good

shy cipher
#

what's the goal here though can you make that clear in a single message bruh

weary socket
#

I think its just a simple fireball spell that's sends a packet to all players to do vfx and anims and such

shy cipher
weary socket
#

Well they still need every player to make client sided effects for their fireball so fireAll is needed so each client can make these effects locally. But he needs to not do CastAnim:play() on the local character for each client

shy cipher
#

if you really want the fireball itself to replicate everywhere why not just use the server for that? the casting animation can be done by the player using just fireclient()

weary socket
#

Server to animate stuff isn't as smooth as client for animating. Animating as in tweening particle emitter properties, part frames etc

#

Cframez

shy cipher
#

also wouldn't that be an authoritative nightmare because you're trusting the client with the fireball's position and stuff and giving that to other players

#

that's heavy exploit material

heady spire
#

u know what its fine its hard to describe the issue cus its such a small thing with little impact

shy cipher
#

also the server can't see that you know

heady spire
#

i can just do loadanimation on the player thats passed in

fading galleon
#

is there someone who can pay a comission w Robux and ill pay him w paypal the devex amount?

shy cipher
#

anticheat wouldn't work because server can't see the fireball

shy cipher
heady spire
#

thats what i have right now, everything works perfectly and theres no huge issue im mainly just wanting a clean way that all clients see the animation/windup of the ability with no delay even when the ability is used for the first time

#

with how animations are normally loaded and the way i had it set up before there was a delay for the animation playing when an ability is first used and its fine after

shy cipher
weary socket
#

Yeah so for a windup effect for an ability the way you got it is pretty solid, in terms of server authoritative stuff, there's ways to do it, like if a fireball is launched and it goes in a straight line all you need to do is have the server send the initial pos and trajectory and send a packet for when it hits. So 2 remote event calls, you don't need the server to send the cframe of the fireball each frame

heady spire
#

yea i get that but i mean the animation itself stutters when its first used

weary socket
#

But that's for predefined paths, lots of abilities will have predefined paths so it is simplest way imo to keep it smooth and lower network traffic

heady spire
weary socket
#

Oh ok

heady spire
#

legit the only issue was the animaton tweaking when its first used and i want a way around that

weary socket
#

Wdym tweaking tho

#

Oh did you fix jt

heady spire
#

na

#

its fine i got a work around

versed arch
somber linden
#

🥷 still butthurt holy take a chill pill bud 🤣

light acorn
#

Basically, whenever I shoot from a gun, a yellow ray (basically bullets) should come out of the barrel. When I stand normally and shoot, everything is normal, but when I move the yellow ray comes out of air, not the barrel. I have tried everything, but nothing works. What should I do?

frigid wagon
light acorn
frigid wagon
light acorn
#

Dude

frigid wagon
#

the way of it shooting

light acorn
#

I vibecoded everything

frigid wagon
light acorn
frigid wagon
light acorn
frigid wagon
light acorn
tribal python
#

😂

#

vibe coded everything

#

no wonder

frigid wagon
tribal python
#

😂

#

dude im the best coder in roblox

frigid wagon
#

Not even with your code

quick quartz
tribal python
#

im the terry davis of roblox

frigid wagon
#

WITH AIS CODE

tribal python
#

bro

#

@frigid wagon your code is garbage same as @light acorn

tribal python
#

i bet @light acorn has better code than u

tribal python
#

😂

tribal python
#

your worst nightmare bud pass along

#

ai solos you bro

light acorn
desert sleet
#

Hey guys

tribal python
#

SILENCE SUB 5

#

all these vibe coders

#

pissing me off

#

@frigid wagon stop vibe coding

#

its not good for society

#

you are killing polar bears

frigid wagon
desert sleet
#

Vibe coding can only take you so far

tribal python
#

@light acorn do u believe this guy

quick quartz
desert sleet
#

How are you supposed to ascend beyond ai's capabilities

light acorn
tribal python
#

@light acorn this @frigid wagon is a stupid vibe coder

#

am i right

#

😂

#

filthy clanker helper

light acorn
tribal python
#

clanker helper :rolf

#

rofl

#

😂

#

i code with ray casts bro @frigid wagon get out my site

#

sight*

#

do u know typing yet?

#

bro prob dosent know what a function is

#

😂

#

@light acorn whats you opnions on filthly clanker helpers like @frigid wagon

#

vibe coders so weird

#

am i right

light acorn
hearty lion
#

You're weird

tribal python
#

wait wait

#

i thought @frigid wagon was the vibe coder

#

@light acorn YOU BETRAYED ME

#

YOU BOTH ARE FILTHLY CLANKER HELPERS

hearty lion
#

Deep in our souls, we are all vibe coders

tribal python
#

MIAMI DUDE

#

IT DIDNT HAVE TOO END LIKE THIS

hearty lion
tribal python
#

get out of my site peach role

hearty lion
quick quartz
tribal python
tribal python
hearty lion
tribal python
#

when i inject luau code into u

#

😂

#

POV: EVERYONE HERE ARE DIRTY VIBE CODERS

#

except for ME

#

the best programmer in the world

#

i worked on luau btw

#

i made the language

#

if u ever need help lmk

#

the lua creator is my dad

#

luau is one of my many side projects

light acorn
light acorn
tribal python
#

because im superior than u

#

im faster

#

im stronger

#

im smarter

#

I AM BETTER

#

I AM BETTERRRR

quick quartz
tribal python
#

this is like epokgamer laziness worser

tribal python
#

u gotta pack it up dude

tribal python
quick quartz
tribal python
#

do u know how to print young man

#

😂

#

helloworld("print")

#

ohh crap

light acorn
#

Yeah, should I learn it 9 hours straight then?

tribal python
#

@light acorn do u wanna see my hitbox system

#

i made

quick quartz
tribal python
#

im a begineer

#

i spent 30m only

tribal python
#

i only learnt luau for like 2 days

#

and im almost done

#

maybe ur js my doggy

light acorn
glossy wave
tribal python
#

js be my doggy

quick quartz
tribal python
#

because im superior

tribal python
#

than anyone here

#

😂

glossy wave
#

physics scripting son..

tribal python
#

fuck outa my way bro

#

😆

glossy wave
#

see this guy already knows

tribal python
#

come to me when u reached my level

quick quartz
#

lmao

tribal python
#

i made luau

glossy wave
#

sorry king

tribal python
#

IM THE SON OF THE LUA CREATOR

#

IM STRONGER

#

IM SMARTER

#

I AM BETTER

#

omds its just so easy

somber vault
#

isn't lerp like cframe

icy heron
tribal python
#

😮

#

i/use/arch/btw

#

OH

weak radish
hearty lion
#

River WM lowk on top

feral solstice
#

Any advanced scripter here?

hearty lion
weak radish
feral solstice
feral solstice
icy heron
#

I use kde

tribal python
icy heron
tribal python
#

do u use arch at least

icy heron
icy heron
#

Id use endeavour

#

but I didn't know ABT it when I started

#

yes I haven't reinstalled Linux in like 374 days

tribal python
#

do u use sober on linux

icy heron
#

🙏

icy heron
#

only way to play roblox on Roblox I think

tribal python
#

is it safe

#

ppl say u can get banned for it

#

so i lowk js dont use it

#

but is it myths

icy heron
#

if you get banned then it's a mistake

tribal python
#

vinegar is also good?

icy heron
tribal python
#

bro i have dualboot rn js for roblox

#

🥀

icy heron
#

me when Roblox updates and sober is gone for a week

tribal python
#

😭

tribal python
odd lark
#

bro

icy heron
tribal python
wise turtle
icy heron
#

I would daily boot nyarch if I wanted to reinstall

icy heron
spice cypress
icy heron
#

arch better but still

tribal python
#

but too hard to use for a freshie like me

#

ill upgrade to it later

spice cypress
#

I use arch 😛

icy heron
spice cypress
#

I am gay tho

icy heron
#

damn

#

guess it went that way instead

spice cypress
#

Meh, there's still time

#

U never know

tribal python
#

bro

#

hyprland is soo cool

#

soo cool

icy heron
#

too many buttons

tribal python
#

i spam cmatrix and fastfetch

#

and

#

lavat

tribal python
icy heron
#

and pipes

#

and bonsai

tribal python
#

calm down bro i js hopped on linux for like a month only

#

bro when i went to school and had to use my macbook instead i got fastfetch on it

#

🥀

spice cypress
waxen edge
#

how can i organize alot of scripts

tribal python
wise turtle
#

ew

tribal python
#

linux is kew

#

linux is power

#

LINUX I FUTURE

#

right @icy heron

wise turtle
#

BAD

nocturne onyx
#

how do I make UIStrokes smaller depending on your device's resolution? I noticed GUI with a UIStroke looks horrible on small devices but amazing on larger ones

hearty lion
#

make your gui without UIStroke if possible

nocturne onyx
#

ah

hearty lion
#

If you really want to use uistroke though, and you really need it to be smaller depending on resolution

#

a script can automatically scale it

hearty lion
#

unless you need some sort of animated stroke that changes colors or sum like that

nocturne onyx
#

I mean I'm making some low poly, cartoonish ui which heavily depends on strokes

quick quartz
#

i use a script to change my ui stokes size based on device

opaque thistle
void ermine
#

how do i save a user's inventory when they leave

void ermine
quick quartz
#

it doesnt change per device does it????

hearty lion
#

Must be an update, last I remember they only have a thickness property that uses offset

mellow lagoon
#

my scripter application got declined for "Inadequate technical" what does that mean?

opaque thistle
#

1 offset is equal to like 0.05 scaled

deft ibex
#

any scripter wanna colab

#

or work together

#

or wtv u say

inland dragon
deft ibex
inland dragon
deft ibex
cursive nexus
#

My game btw

onyx swallow
ashen birch
#

Does anyone here code in VCS

jovial moat
ashen birch
hearty lion
ashen birch
#

I love the look of it so much

ashen birch
hearty lion
#

Because Git is standard
Because even if Roblox doesn't work, your repo'll still be accessible
Because there's version control superior from studios

jovial moat
# ashen birch just wondering, why do you use it instead of built in

Assuming you're using Rojo to sync, Rojo creates a source of truth on your file system instead of Studio. This means you can take advantage of version control (branches, commits, etc) with Git, customize your editor with VSC extentions, get improved linting and autofill, use a package manager like Wally, build your game locally (for a fully managed workflow), use other transpiled languages (like Roblox-ts), use documentation generators (like Moonwave), and more.

hearty lion
#

oh you mean VSC instead of VCS

jovial moat
#

Yes

ashen birch
#

yes

#

is it hard to setup?

hearty lion
#

Nope

jovial moat
# ashen birch is it hard to setup?

The hardest part is learning how it works, but once you understand it, Rojo is pretty easy (as long as you're using Luau, and not Typescript)

ashen birch
#

is there alot of stuff you have to setup every time you open a new file

jovial moat
#

No

ashen birch
#

or is it just in the beginning

jovial moat
#

The only setup is making a new project

#

Which takes like

#

5 minutes? Maybe 10 if you're slower?

#

Assuming you know how it works

ashen birch
#

thats alot of minutes

jovial moat
#

It's a one-time thing

#

You only do that when you make a new game

hearty lion
#

otherwise that'd be 10000 minutes

polar rain
#

woah

ashen birch
#

is there anything I can watch that will show me how to set it up

hearty lion
#

Make sure they aren't out of date

ashen birch
#

ok

#

do I need any other plugins?

wise turtle
# ashen birch is there anything I can watch that will show me how to set it up

Want to develop Roblox games like the pros? In this tutorial, I’ll walk you through setting up a full advanced development environment using VSCode, Rojo, Wally, Git, and more.

Tools:
VSCode: https://code.visualstudio.com/
Rokit: https://github.com/rojo-rbx/rokit
Wally: https://wally.run/
Git: https://git-scm.com/
GitHub: https://github.com/
...

▶ Play video
hearty lion
#

I don't think so

jovial moat
ashen birch
#

what does that even mean

#

linter

jovial moat
#

Look it up _heghagha

polar rain
#

woah

hearty lion
#

woah

candid fox
hollow turtle
#

claude fully coded a front page game in 4 days btw https://youtu.be/roDlRGAxDKI?t=387

In this video, we dive into the latest Roblox news, focusing on major updates to the platform’s discovery algorithm and the emergence of AI-generated content.
Here’s what we cover:
Roblox Algorithm Overhaul: We break down the recent announcement regarding changes to the "Home" page. Roblox is introducing "Standout Games" and a new metric cal...

▶ Play video
#

yo im kirkenuinely gonna send this to claude opus 4.6 and see what i get

stray coral
#

yo would any of yall recommend a entity component system for a fighting game? ive been using it alot and was wondering if anyone has another approach i can look into

my usage is pretty much just a entity class with a bunch of component classes like health, spell casting, stamina, movement, etc

iron kraken
#

no

iron kraken
#

not just cuz u feel like it

#

ecs is basically only going to help if ur looping through a bunch of objects at once such as with npc pathfinding

fierce hearth
#

look what i found

iron kraken
iron kraken
#

other than for performance benefits

hearty lion
#

not just a single system

iron kraken
#

ok

#

so what benefit though?

#

organization benefit?

hearty lion
#

Benefit over what?

iron kraken
#

well why would you use a system for no benefit

#

ur just doing more work then

#

because technically it would be easier to just use objects at that point

hearty lion
#

Yes, building a game with no paradigm at all is much less work than ECS

iron kraken
#

simmer down buddy

#

you dont know usmf

hearty lion
#

OOP has its problems

#

There's a devforum post explaining ECS and its benefits over OOP, if you're interested

hasty mesa
#

you can use oop with ecs an ecs componet could be an object

hearty lion
iron kraken
#

doesnt matter bro

#

start from simplest thing then work ur way up

#

instead of doing stuff cuz its cool and hip

steady wren
#

which is the best way to do a knockback system?

#

is using linearvelocity

#

or idk

#

assemblylinearvelocity

#

or body

#

🤠

civic garnet
steady wren
civic garnet
steady wren
#

ok

cyan lantern
#

coders how would yall describe frameworks

frigid wagon
cyan lantern
#

good one

verbal oxide
#

hi (lvling up)

cyan lantern
#

1 million module scripts

verbal oxide
#

hi (lvling up)

novel hamlet
#

yo guys im trynna make a profile store but the value i have of clicks in the template module script doent really come up in game

#

can someone help

gilded shard
regal salmon
novel hamlet
#

i was tryiong to make a profile store and i made a module script for the data template

return {
    Clicks = 100,
    Inventory = {},
}
novel hamlet
regal salmon
novel hamlet
#

why doesnt it change the clicks in the leaderstats?

regal salmon
#

after that you need to change it in the actual datastore

#

either through a script or a studio plugin like DataDelve

novel hamlet
#

ah ok thanks for the clarification

noble sonnet
#

its a shooting/fighting system with inventory press tab and drag to use

warped ivy
#

anyone need a nitro prom link???

drifting vault
stone fern
#

Hey im a 3D modeler, texture artist, builder, and animator. I've been learning scripting for 5 days now and I'm having a little trouble. It's embarrassing to ask but would someone maybe tutor me and help me along the process?

regal salmon
#

running channel to channel just sayin shit 😭

raven holly
#

can someone explain coroutine pls 🙏
i watched brawldevs vids 3 times now
still dont understand it

warm token
#

literally all you have to learn is the syntax

#

it's purpose is literally the same as tasks except more workability

#

if your asking why you should use coroutines instead of tasks

dim compass
#

actually tasks are built over coroutines lol

warm token
#

tasks are like...

#

well you can't yield them

#

but the reason people still use tasks is because they're a lazy ahh and need to get stuff done

#

unless the situation is more complicated

#

then use coroutines

iron kraken
lean ocean
#

🤕

warm token
hasty mesa
#

and coroutine.yield is literally yielding

#

you should be using some task functions over coroutines functions

#

like spawn instead of resume

warm token
#

also

#

i was just giving the difference between the two

#

ik they can be used together

hasty mesa
warm token
#

i see

hasty mesa
#

the only thing better is for micro optimzations and getting a return value from coroutine.yield which very few people utalize in the first place

#

other wise in roblox's env it gaves a worse error output and can cause hidden bugs where the code is inf yielded

fallen token
#

i wanna learn lua from scratch what are some best ways i could? I do have experience in coding such as software development and web development.

cerulean perch
#
local Player = game:GetService("Players").LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local Packages = ReplicatedStorage.Packages
local Classe = require(Packages.Classe)
local LemonSignal = require(Packages.LemonSignal)
local Highlight = script.Highlight
local UiText = script.InteractText
local Ui = Player.PlayerGui:WaitForChild("Main")
local Camera = workspace.CurrentCamera

local Interact = Classe.meta({} :: {
    Model:Model,
    highlight:Highlight,
    interactionUi:TextLabel,
    interactionKey:Enum.KeyCode,
    onInteraction:LemonSignal.Signal<>,
    MaxDistance:number,
    interactionName:string,
    hoverTween:Tween,
    mouseConn:RBXScriptConnection,
    inputConn:RBXScriptConnection,
    hovered:boolean,
    paused:boolean,
}, {})

type Self = Classe.Self<typeof(Interact)>
type ISelf = Classe.ISelf<typeof(Interact)>

function Interact.construct(self:ISelf, Model:Model, InteractionKey:Enum.KeyCode, InteractionName:string, MaxDistance:number)
    self.Model = Model
    self.interactionKey = InteractionKey
    self.interactionName = InteractionName
    self.MaxDistance = MaxDistance or 10
    self.hovered = false
    self.paused = false
end

function Interact.init(self: Self)
    local hl = Highlight:Clone()
    hl.FillTransparency = 0.6
    hl.Enabled = false
    hl.Adornee = self.Model
    hl.Parent = self.Model
    self.highlight = hl

    local txt = UiText:Clone()
    txt.Visible = false
    txt.Text = `[{self.interactionKey.Name}] {self.interactionName}`
    txt.Parent = Ui
    self.interactionUi = txt

    self.onInteraction = LemonSignal.new()
    local tweenInfo = TweenInfo.new(
        1, Enum.EasingStyle.Sine,
        Enum.EasingDirection.InOut, -1, true)

    self.hoverTween = TweenService:Create(hl, tweenInfo, {FillTransparency = 0.8})

    self.inputConn = UserInputService.InputBegan:Connect(function(input, processed)
        if processed or self.paused then return end
        if not self.hovered then return end
        if input.KeyCode == self.interactionKey then
            self.onInteraction:Fire()
        end
    end)

    local mouse = Player:GetMouse()
    self.mouseConn = mouse.Move:Connect(function()
        if self.paused then return end
        if not self.Model then return end

        local target = mouse.Target
        local isOver = target ~= nil
            and (target == self.Model or self.Model:IsAncestorOf(target))
        
        local modelPos = self.Model:GetPivot().Position
        local camPos = Camera.CFrame.Position
        local magnitude = (modelPos-camPos).Magnitude

        if isOver and not self.hovered and magnitude <= self.MaxDistance then
            self.hovered = true
            self.highlight.Enabled = true
            self.interactionUi.Visible = true
            self.hoverTween:Play()
        elseif not isOver and self.hovered then
            self.hovered = false
            self.hoverTween:Pause()
            self.highlight.Enabled = false
            self.interactionUi.Visible = false
            self.highlight.FillTransparency = 0.6
        end
    end)
end

function Interact.pause(self: Self)
    if self.paused then return end
    self.paused = true

    if self.hovered then
        self.hovered = false
        self.hoverTween:Pause()
        self.highlight.Enabled = false
        self.interactionUi.Visible = false
        self.highlight.FillTransparency = 0.6
    end
end

function Interact.resume(self: Self)
    self.paused = false
end

function Interact.destroy(self: Self)
    self.mouseConn:Disconnect()
    self.inputConn:Disconnect()
    self.hoverTween:Cancel()
    self.highlight:Destroy()
    self.interactionUi:Destroy()
    self.onInteraction:Destroy()
end

return Classe.build(Interact)

thoughts?

remote phoenix
heavy shadow
#

guys

#

what can i experiment using math and return

dim compass
#

gambling

rapid verge
subtle fractal
#

206 days ago

warm spindle
dim compass
heavy shadow
frigid wagon
heavy shadow
#

what even i procedural terrain generator

noble sonnet
#

hey can somone check out my gun / inv system lmk if they find any bugs?

heavy shadow
#

ohhh

#

thats why its called like that

#

fractal noise or perlin

#

whats this code for for x = 1,100 do for z = 1,100 do local height = math.noise(x/10, z/10) * 20 end end

dim compass
#

calculates height using perlin noise

versed arch
noble sonnet
heavy shadow
#

can i even experiment that if i only learned parameters and return?

#
    local result = a + b
    return result
end

myResult = add(2, 3)
print(myResult)``` this is only the example of what i learned
thick crater
heavy shadow
#

so i should still try and learn it myself?

#

well i guess so

#

cuz i learned while true do myself on functions