This video demonstrates the complete development of a party system for a Roblox PvP game, including party creation, joining, leaving, and member management. The developer shows how to implement server-client communication using game packets, create UI elements for displaying party members, and handle events like player joining and leaving parties. The stream also covers debugging common issues such as event callbacks firing multiple times and proper initialization timing, while discussing best practices like using strict type checking and version control with VS Code.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
🔴 LIVE | Chill Dev StreamAdded:
Yo, what's going on, guys? What's up?
Can you guys hear me? Can you hear me?
Okay.
Love the black screen. Yeah, me too.
My bad. I'll fix that in a second. Don't worry. So, what's going on, guys? What's up? Hey, how's the music volume? Is it too loud? I can't hear what you guys are hearing. So, is the music too loud? It kind of looks like it.
Yo. Yo, what's going on? The black screen is perfect. I know, right? It's perfect. Oh, okay. I'll I'll put it back where it was then.
All right, perfect.
Oh, yeah. What's up, literally Laser?
See who else is in here. Origin, welcome. Tres, welcome. Pair, what's going on, bro? Welcome to the stream. MC plays. All right, I'm going to pull up the stream.
Okay, guys. Um, I'm going to turn the screen on, but I have not streamed in a while. So, I feel like my settings might not be right. Um, so just let me know, okay? I'm going to turn on the screen, but if it starts lagging really bad, let me know and uh I will work on a fix for that.
Look, you haven't played Roblox in like a year. Yeah, honestly, I haven't played in a while either. Done a lot of developing recently, though. I'm kind of back at it. So, don't tell me I didn't even miss a stream. Now, you missed a few streams. You missed a few. I have been gone for a while. I know. I'm sorry. I'm sorry. Soon I'll show you guys what I've been up to, though.
All right, cool. Um, so the plan for today's stream, I'm just working a little bit on this Roblox game. Um, I'll show a little bit more later on. You guys can see kind of how the gameplay works. May I might show you the gameplay today. We'll see. We'll see. Um but right now, um I'm just going to work on some of the main party systems for it.
Um all I'll say for now is it's a PvP game. It's kind of a unique PvP game.
You haven't uploaded in months? Welcome back. Yeah, I know. Sorry for the uh sorry for the delay in videos, you guys.
It's been a crazy few months for me, but I'm trying my very best, even with my busy schedule, to get back to uploading frequently. And, you know, obviously frequently for me means like every 3 months, but you know, that's all right.
That's all right. Um, wait, Code Bro, is this the new one? Wait, is this the one?
What do you mean is this the one?
I'm not sure. Oh, you mean like the announcement I had made?
This is for a video though.
Yeah. Um, let's see. You're so cool. You were first. Facts, bro. Facts, bro. All right. Um, right now I'm going to just get to work on the the party system and then uh I'll just be checking chat throughout the stream, just chatting with you guys. And uh yeah, hope hope you guys are doing well. How's everybody Saturday, by the way? I know it's getting late in the day, but how are you all doing? Yo, Boxy, what's going on, bro? Welcome to the stream.
What am I doing? I'm just like on autopilot right now. I don't need the player. Um, all right. Let me I want this.
Um, this is a text button. All right, pull this up real quick. I got to remember how I laid this out.
Okay, so inside of main party members.
All right, that's the frame.
And then let's see. One, two. Okay, perfect.
I'm actually going to pull up uh if you guys don't mind, I'm going to pull up the studio on my second monitor. So, I will still check the chat, but it may be a little bit delayed u because I need to switch back and forth a little bit.
I have respect for y'all coders. Vibe coders like me can't understand. Bro, I just learned what that meant like I don't maybe like two days ago. I'm Yeah, I don't know. I'm not a fan of it. But you know what? If it works for you, then that's cool.
But I appreciate it. I appreciate it.
It's a lot of fun once you actually learn how to how to script. What are we doing? We're working on a um So, right now what I'm doing is finishing the party system for my matchmaking uh matchmaking system. This is a PvP game.
Um and I'm just finishing all the matchmaking stuff today and we'll see what else I've got time for. What made you start Oh, wait. What made you start want to devel Oh, what made me want to start developing? Um, I I don't know.
Uh, I actually was thinking about this the other day and I think if I remember correctly, I was literally uh like in I don't know, middle school, elementary school, something like that. It was really young. And I remember going to the library, like funny enough, my my coding journey, I'm pretty sure, started in the library. Uh, cuz I went to the library and I saw this cool book that was like how to make video games. And I was just like blown away by the fact that I was able to learn how to make video games from a book at the library.
So I took that book home and I made some games on Scratch. Um and then yeah, after that I just moved on to Roblox and now do web development as well. So yeah, it was a long long journey. All right, I'm going to go ahead and get to work on this. Um but I will check the chat every once in a while. All right.
I'mma take over your channel. What? What do you mean, bro?
Don't take over my channel, dog.
Let's see. You're at the front door.
What the heck, bro? You're at the front door already. Good thing my doors are locked. That's crazy. What's good?
What's good, TQ? How you doing? Good to see you, man.
What's up, Nick? How you doing? I didn't know you did web development. Yeah.
Yeah, I recently actually I can show you guys in case you are wondering where I've been. I'll just I'll show you real fast.
Okay, long story short, this is where I've been for the past seven months that I haven't uploaded.
It's under a coming soon page right now because we're still working on it. But this is um my upcoming website. Um and let's see. Yeah, it's basically a all-in-one learning platform. Um and uh it's got courses, lessons, quizzes, all that sort of stuff. Basically, the goal of that is to make it as cheap as possible for you guys to be able to learn development and really truly learn it. So, that's kind of what the goal of this is. uh it's going to start out as Roblox and then we're going to expand it to, you know, web development um and app development at some point. So, we're going to we're going to do all sorts of stuff with it. Um but if you would like to check it out and sign up for the email list, um that'll let you know when uh we release the website. So, I'll go ahead and throw the link in the chat right now. Um yeah, if you want to just sign up for the mailing list, you'll get a discount code when we release and uh it'll let you guys know when we release.
So, I'm gonna throw that in there and I'll pin it real quick. Pin. There we go.
Nice. Okay, cool. I'm gonna keep keep working though because got a lot to do right now. He had the comma out here. Oh, you do had the comma out there. That's cool.
Cobra, can you make a Noble Dev thing for Game Builder Garage for the Nintendo Switch? What?
Is there any coding or development in it? I I highly doubt it.
But if there is, then maybe. Okay, that's that's all I'll say. All right.
Um, image. Oh, nice.
See, this is probably not the most optimized way of doing things, but you know what? If it works, it works.
If it ain't broke, don't fix it, right?
Okay.
Oh, and then the invite prompt, which is also an image label. Lots of image labels. All right, cool.
Answer this question correctly now. Are Lucky Blocks good or bad? You mean like the Roblox Lucky Block games? Because I've seen some of those. Those are interesting to say the least. Flippy, can you believe Code Bro is ignoring my chats? Wait, what did I No, I'm just ignoring what you're calling me, bro.
That's all. That's all. Just get my money right now. Here. Yo, thank you, Blissy.
Appreciate it, bro.
All right. Um Okay, so the next thing to do, I'm going to need to make a packet.
Um, yeah, packet for on updating. Okay, let's do that.
Whoops. All right, matchmaking packets.
Here we go. Um, update party UI to be I don't think we really need to pass any data through. I feel like we just need to fire an event.
Have you used codeex or claw? No, I don't actually use AI for coding. I'm one of those people who just go purely um like I don't even know what to call it. Regular development.
Maybe in the future I will, but as of right now I don't use AI to code.
Couldn't imagine why you wouldn't like being called, bro. Yeah, for real.
No, you're good, Blinds. You're good.
Okay. Um, I'm going to pull in the game packets real quick.
All right. Now, after it's initialized, we're just going to wait for what was it? Update party UI.
Wait a second.
game package.update party UI on client events.
There we go.
All right. So, whenever we get this event, basically all I'm doing is telling the script, hey, it's time to update the party UI.
So now that we have that signal ready, what we can do is create a function for updating update UI.
And let's just say party tab update UI.
We can also after we start listening once we're all initialized we can update it for the first time and that's what's actually going to do everything for us.
Um what do you think is a disadvantage of using AI for developing games? So one of the disadvantages truly truly being honest with you um I'm a really big proponent of you know the the value of learning how to script. So like honestly if you want to use AI to code that's up to you. I find it much more valuable to be able to actually know how to make something like this on your own. Uh you're a lot more marketable that way and you really know what's behind your game so that if there are any bugs or anything like that, you know exactly how to fix them. Um there are cases where I could see AI being useful, you know, if it's a monotonous task and you already know what's going on maybe. Um but I just I prefer it this way.
Um is this cool gadget or gizmo? No, this is a PvP game I'm working on.
I thought that if I called you Febru Okay, so I do recognize who you are.
Don't worry, Blindy. It's good to see you. Good to see you. Um, let's see. Yo, Code Bro, how did you Oh, wait. What?
How did you do your stream overlays with the sub count in the chat? Oh, yeah.
That's um I would use Streamlabs.
That's what That's what I'm using. Will you continue the one month Robux series?
Okay, so about that. I know that that's been like a year and a half since I've posted on that series, but yes, I do actually plan to finish that out. I can't make a promise because my life is just so busy right now, but I do plan to finish it.
Uh, smoothly criminal undercover. I know what you're saying. I know what you're saying, Nick Anon. No, that's not the game I'm working on right now, though.
All right, so um let's just go and grab all of these from See, I've been doing JavaScript lately, and I would just love to be able to do uh let's see, party tab player frames. You know how cool it would be to just be able to do this party leader number one like that? That would be pretty cool. It's like a deconstructing thing that is in JavaScript.
And I really miss that coming back to Lua. Like I've spent the last I don't know eight months in JavaScript and just come back to Lua. And I really wish that we had something like that. That would be pretty neat. Um, okay. So, you're going to go to sleep.
No worries. Sounds good. Good to see you, Blindsy. Thanks for tuning in.
All right. Let's go and import players real quick.
What am I doing? I already have the player service.
All right.
What's your favorite coding software? VS Code for sure.
It's just so much so much nicer than working in Roblox Studio. And you can use Roblox Studio if you want to, but like as soon as I learned about the Roblox script sync, bro, that was a game changer cuz I didn't I didn't like going through all the hoops of installing Rojo and all that. that was the way that you connected to VS Code in the past. Um, but with the new Roblox script sync, that is it's just so much easier.
Um, and you get version control. That's the big thing with this is I can push all this code to GitHub. Your keyboard sounds like when you put something together in a Lego game. My bad. Maybe I should um maybe I should put my microphone in front of my keyboard. But then I couldn't type very easily, so that's all right. All right. Um, all right. Party ID equals to player attribute ID. No, it's not bad. Okay, cool.
If it gets annoying, let me know and I'll I'll try to fix it. All right, so the next thing we're going to do All right, bro. I'll leave you be for now.
Have a W stream, bro. Thanks, TQ. And good luck with your uh with your jailbreak streams as well, dude. All right. So, the next thing I'm going to do for those of you who even like, you know, care what's happening on the screen, which maybe is a few of you. Um, basically what I'm trying to make uh happen is whenever this update UI function is called, it's going to find the party that the player's in. And then I got to loop through all the players that are currently in their party um and update the UI to show exactly who's in your party. So, that'll be that'll be fun. All right. We don't need the index.
Um, all right.
I know there's probably a better way to do this, but you know, that's fine. Um, is same party equals party ID equals equals PL attribute. Oops.
All right.
And then we'll make an array of the members. Oh, and we can take the party leader.
All right.
If PR get attribute.
Wait a second.
Is it party leader? I'm going to have to play the game real quick and check.
Hold on. Quick pause, you guys. I'm I'm testing the game on my other monitor.
Give me one second.
Yo, what?
Why is my Bro, my party system isn't even working.
No, the keyboard sounds like ASMR for me. It sounds cool. Awesome.
Hold on. And I'm glad. All right. Um, hold on. Now I got to figure out what's going on with the matchmaking system because it should create a party whenever you join.
I don't know.
Okay. So, party leader. Party leader.
Okay.
All right.
Party leader is true party leader.
Maybe if I just task up spawn this as a function.
I I wonder if that would work.
Yo, what's up? Welcome to the stream.
Code bro, as your friend, I do find this interesting.
I just don't understand it. appreciate that. But that's all good. That's all good. You don't have to understand it to uh to be able to enjoy the stream, right? I think that's true. Maybe.
Yo, this is so weird.
The um I had a party system that was literally like working perfectly and now it's just not.
I don't even think I touched anything.
That's the weird thing.
Isn't that like the best when you have a system working like it's working perfectly and even even though it was working perfectly like yesterday you don't touch the script and then suddenly it's all broken?
Just me?
Okay. Maybe maybe I am already loaded in.
Let's just create a little function for it. My guess is that my character is spawning in before it has a chance to uh to actually uh start the party system. So, let me try it. Connect loaded players.
What did I call this? On player load.
Yeah.
See if that works.
Why haven't I been posting recently? I just So, my plan is to start posting soon. I actually am working on a video right now, which is cool. Oh, that fixed it. Hey, that fixed the problem. Let's go. Let's go.
Um, anyway, wait.
Party. Oh. Oh, I totally forgot. Okay, I forgot how this was scripted. I'm going to have to redo part of this. Um, but to answer your question, um, I have been working on a website um, that has been taking up most of my time. If you want to check the link in chat, it's pinned right now. Nobledevs.com, it's a website I've been working on uh, for about 8 months now. Um, and that is honestly the biggest reason why I haven't posted. But the whipsa is like I don't know maybe a week or two from being finished. So, um, honestly hopefully I'll be able to post again this month. I'm hoping this month. I'm not going to make a promise, but I'm hoping for this month.
I have a lot of things to do. Should I should probably get going. No worries.
Nick Anton, hey, thanks for stopping by.
Appreciate it.
All right. Uh, we'll say party leader.
So, I totally forgot. This is a different system that I'm using now.
Player get attribute party leader.
That's going to be a user ID. So, that'll be the number of the party leader. And then we can also just include player in there.
All right, cool. So, uh we have this here. This is not proper any longer.
We're just going to loop through all the players. Um, if player is equal to our local player, we can just continue because we don't Oops. Dude, this is this is JavaScript coming through. You don't need to write a then in JavaScript, man. Need to get back into the the Lua flow.
All right. And then if uh oh, what am I talking about?
If player I'm going to attribute party leader equals equals party leader.
Actually, let's just say not equal to party leader.
Then continue. And so we're going to insert uh this is going to be a table with all of the players.
Um actually I don't even want Okay, I'm going to get rid of this real fast.
Okay. And then real fast, I want to have a separate variable for the uh the player that's the party leader.
Um, and we'll just say if uh player do user ID equals equals party leader, then uh then we'll just say real party leader equals to player.
Why is that throwing an arrow?
Oh, what player else we will throw it into the table of the numbers.
All right.
Please make week three of growing zero Robux to 100,000. It's on my to-do list.
Don't worry, I'm going to try my best.
What's the point in type checking when you do colon? Oh, yeah. So, okay.
Honestly, uh the biggest benefit is just making sure you don't write any write any errors. Um it doesn't do anything different for your code to be honest.
Like you're not going to suddenly um be able to script a system that you weren't able to script earlier. That's not going to happen. Really, the only reason you type check is so that you don't write any bugs with your code. So, for example, I'm in strict mode right now that has strict type checking. And I've specifically said that the party leader is of type image label. Um, so if I were to try to, you know, grab that party leader and I don't know, um, say, uh, what's a what's a non image label property? Brick color. How about that?
Brick color equals brick color new or brick color.random. Let's just make it easy. You can see it's now giving me an error and that's because um it's strictly type checking and it's telling me, hey, this is actually an image label and image labels don't have red color.
Now, if I delete my strict type checking, that's going to go away. Um, and you could be debugging this for a long time because you're trying to figure out what's going on. But if you were to put strict strict type checking at the top, um it's just going to make sure that you don't accidentally do something uh that doesn't match the type, right? Um but that can get annoying with module scripts. Like where is it? I think it's in this one. Yeah, in strict type checking, you can't dynamically require modules. So like here, um I I'm looping through a bunch of modules and just requiring them one by one. There's not really a way that I've found that you can get past that in strict type checking. Um, but other than that, super useful. Would recommend.
Bro remembered his password. Yeah, finally, dude. Finally.
All right. Why don't I write in Roblox Studio? I do sometimes. Um, I actually just, I don't know, a week ago switched to VS Code. And the main reason is for version control because I have my code hooked up to GitHub. Um, that's really the only reason I'm doing this, just so that I have all the old code available if I need it. Um, and I just like VS Code a lot better. It's a it's a better code editor than Roblox is in my opinion, but it's not really necessary.
Okay, now we've got all the members.
Um, if real party leader, then it's a sanity check.
Um, so I guess we can just do one more sanity check.
Oh man, this is going to get really ugly.
Yeah, really ugly. All right, let's just make sure member one, member two.
Member three exist not found table. Wait, what?
member.
What do you mean? Party leader is not found in the table.
It's literally right there.
Okay, that should have fixed it.
Man, that's ugly. I'm going to have to simplify this later.
Actually, let's just do that now.
That's weird. All right.
Okay.
All right. And then the next thing we need to do is just fill I think we need to fill all of these with the members. Um, okay. First, let's take the party leader and then we can just do a loop for the rest of the members because that should be that should be really easy.
Um, actually, you know what? Let's just Why not just throw all members, including the party leader, into this members table?
Oh. Oh, I know why. Never mind. then.
Okay.
What are your opinions on Roblox as a whole right now? Honestly, mixed. Really mixed. Um, yeah. I mean, there are so many decent and good changes combined with so many pretty bad changes that it's hard to form an opinion. Um, I don't know though. all the updates that people are like really triggered by. I feel like some of them are fair. Like the whole $5 a month thing, I don't know that that's a bad idea. I don't like it, but maybe it'll help clean up the platform a little bit.
I really don't know. Um I Yeah, there there are a lot of things I could say on that, but that's probably enough.
Um, okay. So, inside of each of these members there's an icon with a player image.
Okay.
Um, will I move to scratch? Uh, no. Not happening.
We can just say You should host a challenge where you pick viewers to make a Roblox game in a limit. Um, wait, hold on. Sorry. You should host a challenge when you pick viewers to make a Roblox game in a time limit, then judge to see who wins.
That'd be fun. That'd be a lot of fun.
That'd be totally down.
First, I got to start publishing videos again, though, because uh yeah, people are waiting on that. But I would be totally done.
I mean, it's kind of like a a game jam.
We could just do another game jam. Maybe a summer game jam. That'd be fun.
Is that it? Oh. Oh, I'm done. We also need to fill in the names.
Um, and then we also have the username to fill.
I know this probably makes like no sense right now, but I'll I'll switch to the Roblox Studio view pretty soon so you guys can see what's going on here.
All right. Whatever.
All right, that should do it. And the last thing is to make sure we make any remaining um frames invisible. So uh how can we do that? We have three of them. We have the member count.
I guess we could just say um local missing players equals three minus number of members. That should work.
That would give us the amount of players uh that we don't have in our party because there's a limit of four. And then we can just loop until until we've looped through all the missing players and say member do I. Oh, hold on. Four minus I That should work in theory.
Okay. So now let's just initialize it and then we can give it a play test.
Invite tab. No. Party tab. What am I talking about?
It the player frame. Whoops.
Player frame. There we go.
Okay, that looks good. I think um I do want to see if this works at all real quick.
See, Mini Dude, welcome to the stream.
Ryan, welcome to the stream. Thank you guys for tuning in. Appreciate you guys being here.
Okay.
Okay. So far so good. There's me and the party leader.
Yeah. Okay. I think we I'll go ahead and hop on to the actual Roblox version.
So, one moment, you guys. I'm just going to pull up Roblox real fast.
I'm just learning how to script on Roblox Studio. Got any advice? Um, yeah.
So, I would say, well, okay, first of all, how far along are you? because that would kind of change my advice depending on how advanced you would put yourself at.
Can you teach me how to make a game? So, I don't do one-on-one tutoring just because I get, you know, so many requests that it would be kind of impossible to uh to do all of them.
However, um I do have uh some videos like tutorials on my YouTube channel that you're more than welcome to check out. Um, oh, I forgot to wait.
Oh, come on, bro.
It's doubled. What?
All right, whatever. I'm going to put the screen back on. It's It's doubled. I don't know why, but let's just see if I Okay, joined. Okay, I joined the party, but Oh, come on.
Oh, I'm of course I forgot to actually like Hold on, hold on, hold on. I know what happened. I know what happened.
I'm going hop out of here real fast.
Okay, let's hop back in here real quick.
Yo, what's up Skye? Welcome to the stream. Hope you're doing well.
Party tab update. Invite tab. Why did that get inputed twice?
Invite tab. Load tab.
whenever a player is added.
That's really weird.
Um, yeah, for some reason that got called twice and I'm not sure why.
Also, I was starting to answer mini dude. Sorry for getting off track. Um, yeah, I have some old videos on my channel. Feel free to check that out.
There's a beginner scripting series that I have. Um, if you want to start there, that would probably be a good place to start. And then I also have uh in the pinned part of the chat, there's a link that says nobledevs.com. That's my new website where I'm going to be uh along with other creators teaching people how to make Roblox games uh and other types of development as well. So, if you want to click that link and sign up for our email list, you will get notified as soon as it releases. I don't know a lot of stuff, just print and spawn stuff and functions. Yeah. So, my advice honestly, and I know this is going to sound like a plug. I guess it kind of is. Um, if you want to, I would maybe check out the scripting series I did. Um, I think a lot of it is still up to date except for maybe things like I think back then I used weight three. That's deprecated now. the the new way you would do that is just task.we.
Little things like that have changed.
Otherwise, I think that's still a pretty solid series. Um, also feel free to check out Brawl Dev's scripting series.
That's a really good series. Um, but overall tips, I would just say start small. Like on obviously we all want to make a big game, but that's kind of one of the pitfalls that I see a lot of developers uh go into when they're just starting is they try to start by making a huge game and that's just not super realistic. Um so yeah, I would say start small and work your way up. make things like little systems at first and also try and find some good not like so obviously it's this is subjective but try to find good code and then go like read through it. That's my honest advice is, you know, whether it's on the dev forum or uncopyed games, obviously don't just steal people's code, but just read through it. Try to understand it. Try to learn from it and try to learn um basically if you can learn how to script the same thing that you're reading, you've made progress reading stuff like the dev form.
Absolutely. And experimenting 100%.
When's the next video? Next video is soon. This is actually what I'm doing right now is for my next video. So, don't don't worry. I'm working on it.
Um, okay.
So, I still don't know why it doubled. Going to have to check into that. But for now, let's go ahead and just fire that packet.
Okay. Game packets do um update party UI fire.
Oh, whoops. Fire client. There we go.
added on leave party ondelete party.
Okay, party is full.
Players already in the party.
Trying to check and see when we need to actually update the UI. Okay, right here. Right.
Successfully joined party. All right. At the bottom of that, we'll want to update the player is party full player.
Um, yes. Okay. So, we want to do that and then we'll also want to loop through um Yeah, party members. There we go.
We'll also want to fire that for all the members.
Um, is that what the heck?
Value of type. Oh. Oh.
and then okay leave party that's on leave on event this is Q we don't need to update there okay party we have an on leave get party leader okay cool so I'm just gonna Take that. And we also want to do the same thing.
Should probably make a function for this, but I'm too lazy right now.
Get player party leader unddelete party. Okay, so here game packets update party UI. We're going to fire the client of the player that just got kicked.
And then we also want to do the same for the player.
Oh no, when they delete their party.
That I think is only when they leave the game. Am I right on that?
Yeah. Yeah. Okay.
on Q on leave party. This is exactly what I need. Okay, perfect.
So, leaving player. What we want to do?
Oh, boy. Okay. Um, at the end of this, we'll update it for the leaving player, for the party leader, and for all members of the party leader.
I think that'll work.
So, let's give it a shot.
Let's give it a shot, shall we?
I'm going to pull up Roblox again real quick.
For those of you who are just seeing a black screen, that is intended. Don't worry, it'll come on in just a second.
What am I using to write the code? Uh, this is VS Code. So, um, Roblox actually, I don't know, maybe two months ago, released a feature where you can, uh, now connect your Roblox code to local files on your computer, which means you can connect that to your, um, your Visual Studio Code or really any other code editor.
All right, cool.
All right. So, invite.
And it's still doubled. That's weird.
Dang it. I joined the party and it still didn't upload the U or update the UI.
Why is that?
Okay, let's let's see what's going on here.
real invite set attribute. Um, yeah. Game packets, update party UI, fire client for the player. Yeah. And then we do all this. Okay. So, that should be working. I don't know why it's not.
Check the console real quick.
No errors. That's That's the best. Just love debugging when there are no errors.
There's a problem with the packet. I doubt it.
Update party UI game package update party UI connect.
Why don't I just I don't know why I didn't do it this way. Party tab.update UI. Okay.
And then I'm just going to print updating party UI.
See if that works.
I haven't used Roblox Studio in so long.
It's so out of date I have to reinstall it. Yeah, that's all right. It happens.
Okay.
I'm going to join. Yeah, it's still doubling. What is that?
Okay, so I just joined.
In theory, it should have printed. Okay, it didn't even pick up the That's really strange. It didn't pick up.
Update party UI on client event.
I mean that should be working.
Update party UI. All right, we fire it here for the player who joined.
Fire it here when a new player joins the party.
Invite. Yeah, this is a call back for when a player joins. So, that's working.
when we delete the party.
Yes, that should work too.
client all the members leaving party.
Um, why is that not working?
update.
Yeah, that should work.
Okay, hold on. I'm just going to do a little debugging real quick.
Should pick up on both of these scripts.
Okay.
Oh, you know what? I didn't publish it to Roblox, did I?
I bet I didn't publish it to Roblox.
If that's the problem, bro. I'm Oh, I'm going to lose it if that's the issue.
All right, let's hop into there.
Hop in here. All right, still need to figure out the invites. Let's invite.
Okay, that's not the problem.
Good to know. Open de. Okay, so at least I'm getting this. It's picking up on the event. It updated the party UI twice.
When I joined and when my alt joined the party.
So now I just have to figure out why it's not making it visible.
And that it might take a little bit more time than I hoped. All right, cool.
I want to be a play tester. Honestly, once the game is a little bit further in development, um then I would be I'd be down to open up to the stream, but there are a few things I need to finish before then. I need to get a couple maps made. I'm still looking for a builder. So, I need to get a couple maps made. I need to finish the round system. Um it's working. It's just it's not responsive. So, like nobody has any clue what's happening basically.
Um, so I got to do that, but all the backend logic for it is finished. Um, and then what else?
Um, yeah, I forget. There's something else.
Um, but yeah, once that's ready and ready for play testing, I will do another stream and let people um let people play.
Yo, I'm a full stack dev. You down to make a project? Honestly, I would love to, but I can't. I just have so much going on right now that I can barely juggle my own projects. So, hope hope you understand.
Okay, so uh let's debug now. Members, we're looping through all these. If the party leader is not equal to this party leader, then we're going to continue.
Okay, we found our real party leader.
We insert all the members.
Make sure all this exists which should invite. If can invite PF invite prompt visible is true. False.
I think I forgot to visible is true. I bet you that's it.
Yep. Forgot to make the text or sorry the frame visible.
That sounds about right.
Sounds about right.
Let's give it a shot.
All right, let's invite one more time.
Hey, there we go. All right, so I am now on the party as a member. can't kick yet because I haven't hooked up that logic.
But I go ahead and leave. Hey, there we go. It updates the UI. Beautiful.
Beautiful. Now, if I rejoin Oh, I have to add a mobile prompt. That's why.
Yeah, that's still firing twice. That's so strange.
That's the weirdest thing. Okay, leave.
Why is it getting rendered twice?
Oh, I know.
There we go. That should do it.
Oh, so everything was getting called twice. All those functions. That's That's crazy.
Can be official play tester. Yeah, as soon as the game is ready enough, like right now it's not quite there, but as soon as it's ready enough, then yeah, absolutely.
Just make sure that you tune in to um whenever I do that live stream of play testing with viewers. Make sure you tune in and I will let you play.
Okay. I think the next thing to do is add the kick functionality.
And the the actual like backend functionality is working already. I just have to hook it up to the button. So, you better give play testers a or something. Depends on how many play testers we have, but I'm I'm open to considering for sure. I think that'd be cool.
Okay, this will be a table of RBX script connections.
So, whenever we update the UI, we want to disconnect all the old connections.
just so that we don't have any any um lingering connections going on.
All right.
Local kick connection. Actually, we should do that. No, it's fine to do here. Kick is going to be the IL for child.
Oh, uh let me check. What was it?
I think it's just kick, right?
Yeah, this is this kick and this is an image button.
Oh, wait. Hold up.
We can just insert that into the old connections.
player die.
Okay, that should work. I'm also going to add while we're here in studio, I'm going to add a quick button.
for the mobile users.
Be a text button.
Why is it off center? That's weird.
Okay, there we go.
I have to design this in Figma still.
So, we'll do that later.
For now, this will just be a placeholder.
Actually, let's just make a little function for that.
Um, toggle play UI.
That's fine.
Connect. Toggle play. There we go. Am I using VSC? Yeah, I am. Yep.
Yeah, Roblox just added, in my opinion, a really cool new feature.
It's basically like I don't know if you're familiar with Rojo at all, but um it's basically yeah, a way for you to connect your Roblox project to VS Code um without needing uh Rojo. So, it's it's really nice.
just joined your Discord server.
Awesome. Thank you very much. Appreciate it. And I will keep you posted. Um there's a videos channel in there and in that channel uh if you just stay stay tuned um I will post what just happened in possible main.
Oh, that's why.
All right. Um, you know what? Let's just find first child. I assume it'll be loaded in. Uh, If file name is equal to I think it'll be loaded in by then. I'm just going to try if I'm first child.
If kick button then there we go.
That should fix that problem.
I once tried to make a Roblox game, but my script broke and I was done with being hunched over my desks and sweaty.
Dang.
Yeah, I feel you. I feel you.
It's seriously the worst when like everything is going well and then one script just decides to break and it was totally working before. It's just the worst. So, I I feel you. I think I need to start learning coding. Yeah, it's a lot of fun. Honestly, if you if you want to there I was just telling someone else there are two main ways that I could help you with that is um that would be through my uh YouTube tutorials. They're a few years old, but I think they're still relevant. Uh and then also if you want to click that link that is at the bottom of the chat that says nobled.com, that's my new website. Um, and it's going to have different, you know, courses and tutorials on how to learn development. So, if you're interested, uh, you can click that link and sign up for our email list. It's totally free.
It'll just let you know when the when the website launches.
All right, let's invite and hello.
Yo.
Okay, there we go.
So, I joined uh if I kick There we go.
Oh, what the That's weird.
Invite.
Hello.
Yo, okay. Well, at least the party UI is working.
And then I'm going to try inviting here.
Yo, I feel like that call back function isn't working.
I think I'm going to have to look into that. That's really weird.
Okay, good. I can't kick myself. I should be able to leave, though.
Yo, what a $10 donation, dude. Thank you so much. I'm Evelyn. Thank you so much for the $10 donation. It says, "Hey, just wanted to thank you for teaching me how to script. I learned from your videos and now a year later, I'm able to script. I do enemy AI mostly and have been making money off helping people."
That's so awesome. That's super cool.
Hey, thank you so much for the donation.
I really appreciate that. honestly super glad that uh that my tutorials were helpful for somebody. So, thank you so much for the support. Um, and yeah, I'm super glad that that was helpful. That's really cool. How long have you been scripting now?
Yeah, everybody in the chat, I know we only have a few people in here right now, but everyone in the chat say w I'm Evelyn.
W's W's in the chat. Thank you so much, There we go.
All right. So, I've got some bad news and some good news. The good news is the main system is working, which is great.
The bad news is that the invite prompts that I did the other day don't work at all.
So, that'll be next on my list. Um, I totally thought they were working, too. That's crazy.
All right.
Okay. So, the first thing before we get there, if there's a kick button, I do real fast want to make sure that uh either this is the local player like if player if player is not equal to the player, in other words, they can leave on their own. That's a possibility.
Um, but if it's not themselves, uh, and, uh, they're not the party leader.
So, uh, local player is not equal to real party leader, then kick button.visible is false.
else if they are either themselves.
Wait, that's not going to work. Hold on.
Okay, we're going to say I'm going to reverse the order. If this is the same player or the player is the party leader, then they can kick anyone. Otherwise, they can't. That should do it.
Okay, cool.
That's that. What else do we got? What else? What else? What else?
Oh, we also want to do a leave function.
So, uh, let's just say leave connection equals to kick button. In this case, it's going to be used as just a leave trigger.
And then we'll just want to call that packet. So leave party fire.
And then insert that connection into the old connections so it can get cleaned up later.
Cool. Been coding now for almost two years. It's awesome. It's been awesome all the way. That's super cool. Yeah, I I love coding. It's great.
Let's see.
Okay, so that should be it for that. Um, while we're working on this, I don't have anything better to do. I'm going to try and figure out what's going on with this call back function.
Only one call back.
Okay, hold on. I'm using what is this called? Notify.
I need to check the documentation real quick.
All right, this is if you guys want to see. Here you go.
So, I totally thought the call back was Let's see. Yields thread until a response. The call back is given call back on completion.
string number any.
See, I thought, maybe I'm wrong, but I totally thought that the call back would happen when you click like to uh to join. I don't know what you call it.
when you click on the notification. I thought that's what was going to happen.
Apparently not, though.
This notification has a button. Let's try this options button.
Let's see. This notification will spawn another one when clicked.
Oh. Oh, there we go. Notify. Okay, got it. So, we have to pass in options. We're going to have a um join button.
Join is going to be join like that.
Yo, how did I just break this entire thing? What on earth?
What did I do? Expected this to be exactly notification but god. Okay, hold on. Hold on.
That's really weird. Was it a lower case?
I wish this module had had types. This is really annoying. Yo, what's up, Brawl Dev? Bro, remember this? Yeah, seriously, dude. What's going on? How you doing? It's good to see you in the chat.
Um, wait.
I'm actually tripping. What is going on?
It's an object. We pass in options.
Yeah.
And we pass in a call back.
Am I missing something?
notification has a button. In this array, we pass in an options object.
I'm going crazy right now, bro. Why is this not why is it not working?
All right, I'm going to ignore that for a second and uh just force VS Code. to go through this.
Wait.
Did that Okay, that's what I thought.
Why is Dude, I have no clue what's going on.
Let's just do that. Let's do that and let's see what happens.
Let's see.
It looks like that is an available option, right?
Yeah. Okay.
So, we get the selection which should be a text string, right?
Okay. I'm not going to type check it. If selection is uh if not selection or selection is not not equal to join.
Yeah, that that seems about right.
That seems right. Right.
Let's see. I'm going to going to rejoin the game and we're going to try it.
Yo, is that the actual Baldw? Yeah, it is.
Okay, it's still not working. What?
Invite myself. Then if I click the join button, it's not even registering.
Oh, I bet you that's because I have I think I need to make the notifications higher up in the um in the sorting. Let me try that real quick.
Wait, where is the notify. There it is.
Okay. Display order is 99.
I'm going to make this one 98.
That way the notifications come up over top of it.
Okay, let's try that again.
Okay, fingers crossed.
Invite over here.
Nope. Still not.
I'm going to go ahead and try on my end.
Yo, that's so weird.
Developer console anything? Nope. Okay, I'm going to try I'm just going to try printing it out.
And then selection can be anything. I think make it lowerase. Maybe it's not liking the case options.
I would like for it to do. Okay, let's try that.
Oh, whoops. Hold on.
Start up a new server.
Okay, this is this should at least print something.
Okay, I'm going to invite myself.
Invite join.
It's one.
Why is it one?
Oh, is it? I bet you it's um I bet you it's the index of the choice you made.
I don't know why that's not spelled out in the documentation, but Golden Retriever puppies don't look real. They look like cartoons. What?
Okay, this should work in theory.
Okay. Invite. Join.
Yo, it didn't work.
Are you for real right now? Join. What?
Yo, I am so confused.
Did I publish it last?
Maybe that's what it was.
Maybe I forgot to publish it.
gotta go see you later. No problem.
Thanks for tuning in. Really appreciate it.
And I'll be streaming more frequently now. So, my my goal is with this game to start streaming basically whenever I'm working on it, which is kind of a lot.
All right. Maybe maybe I just didn't save it. Aha, that's it.
Okay. Um, let's kick in real quick.
And then what happens if I just I'm going to not accept the invitation. I'm just going to let it expire cuz I'm afraid that it's it might still add me to the party even if the Oh, there we go. It didn't. Perfect.
Okay, I can't leave yet, so I have to figure that out still.
I have no idea. Part of this issue is that the networking is just so slow.
Like that's fast.
Oops. That's fast.
I click join right now. That's fast enough. But I click this and it takes like I guess that wasn't that bad.
Could be worse. But I feel like it's pretty slow. Let's join here. Okay, I still can't leave. Why kick?
Yeah. So, kicking works.
See, you got to go to sleep. No problem.
Thanks for tuning in. Really appreciate you being here.
Okay. Why is kick so slow?
Get player party leader.
If party leader is player leaving party cannot leave your own Party matchmaking on Q. Party leader false.
Party leader have not left game match.
Party leader removed player leaving player.
I guess it's just cuz there's a lot going on. I mean, this is not an easy function for for the server to have to go through.
So, I guess that's just we're going to have to deal with that. Not a huge deal.
Oops.
Okay.
If player is equal to player or player is equal to real party leader.
Okay, here it is. This is this is exactly what it is.
Um, if player equals equals player and player is not equal to real party leader, then if that's the case, they're leaving.
Otherwise, they're getting kicked.
That's why. Okay.
Oops. Not gamepad service. What is gamepad service?
Got kick from party. Oh no. Leave party.
Hold on. Fire.
Okay, that should work.
And then I think if everything was done correctly, that should be the entire party system.
And then the last thing, let me find it.
There's one more thing I want to do.
content pages invite.
Okay, so this invite button right here selected. All right, I'll add two new.
Okay, here it is. So, the last two things I need to do are just do a little debounce so that they don't spam the invite button. Um, debounce false if debounce and we'll return. Okay, we can set debounce to true.
Test wait 3 seconds. Debbounce is false.
And I also have a special like image for it so that it actually looks nice. And so we'll say regular image equals to invite button image. Whoops.
Invite button.
Invite button is actually an image button. What are you doing?
All right. image local regular hover image invite button hover image. Okay.
So, we'll say last but not least, we'll grab the selected image because that's um I made that an attribute. Whoops.
Attribute.
Selected image which is of type string.
And then the hover image as well which is also type string. Okay.
And then coverage.
This is just a little a little effect for some, you know, cosmetics and stuff.
Cosmetics, is that the right word? I don't know.
Regardless, it's a it's an effect that should make it a little bit more polished.
Oops, forgot to make this invisible.
Okay, there we go.
I think that's the entire um what do you call it? The entire matchmaking party everything system.
Yo, what's up yoded? Welcome to the stream. Y is goated.
Glad to see you here.
All right, last test.
If this works, then the party system is complete.
Let's hop in the game. Hit invite. Hey, there we go. That's pretty. And there we go. Looks nice. All right. I should be able to kick him. Yep. Good.
And then if I invite from my phone, let's go ahead and join my alts party.
Should be able to leave on my own. Yep, there we go.
Sweet. Looks like it's working.
What happens if I spam that?
Okay. Just want to make sure there are no errors.
I'll add a debounce as well.
Leader already has. Yeah. Okay. That's what I thought. Cool. Well, that would be the entire party system. And I should be able to join and leave the game on my phone. And yep. Still still detects.
and let's invite from here.
Join. Yeah, everything seems to be working just fine.
Perfect.
All right. Well, that is the party system and matchmaking is already implemented.
I just need to script or not script um design the UI for it. But otherwise, it's it's all done.
Is there an admin abuse panel? No, not yet.
Maybe when the when the game releases, though. We'll see.
Can I send it an an animation? Yeah, feel free. So, if you haven't already, join my Discord that's in the uh description of this and then you can put your animation in the creations channel.
Yeah, this game is still a little ways out from release. So, cool. Last thing, I'm going to add a little debounce and then I think we're good to go for today.
Matchmaking. All right.
What do we want?
I'm going to add it on the client because there's really there's no need to add it on the server, I don't think.
Run/walk animation. Oh, sweet. Did you make it in studio or Blender?
studio. Nice.
That was awesome.
True.
Just task. Wait.
See, is there anything else that needs a debounce? The invite has a debounce. The kick button has a debounce.
That should work. You don't have permission. I think you need to verify yourself first.
Did you already verify yourself?
says resend email. Wait, this is Discord.
Um, I have no idea. Then let me ask one of my admins cuz I am not sure. Maybe he set it up with um email verification needed. I don't know. Let me ask real quick.
Okay. I just asked one of my admins.
All right. Well, I think that's going to wrap up the stream for today. I've been streaming for about an hour and a half.
I got some other stuff to do.
Um, but we finished all the party system, so that's great. Party's done.
Matchmaking is done. Name gameplay is done. And so now it's I think for scripting stuff it's kind of on to like cosmetics and polishing things up.
You wanted to send it for inspiration.
Awesome. Yeah, if you should if you figure out how to send it in Creations, I'll definitely check it out.
I'm not sure to be honest like why it's making you verify your email. I have no idea. I don't think that we set it up like that, but I'll let you know what um what what my admin says about that.
Cool. All right. Well, I think we're going to go and wrap up stream there. I got stuff to do, but it was fun hanging out. Thank you guys for tuning in. Uh I'll be streaming again soon. Maybe Monday or something like that. I'm going to try and stream frequently. So, yeah, tune in next time. And um yeah, it'll be it'll be fun. Cool. I'll see you guys then. Thanks for tuning in.
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
So What's Odin Lang Even Good For
TechOverTea
131 views•2026-06-01











