Scrolling through the code and the documentation, this is impressively thorough and well-considered. The API seems very intuitive (plenty of useful, clearly named methods and events without parameter bloat). This looks really nice!
iv been observing the code and saw your event module. the module is pretty simple, but its very un-optimized. you can optimize it by doing this:
- making a linked list instead of using normal list.
- another way is to make a optimized thread spawner.
if any questions, ask me or anyone else. love the module!
hope you find it useful! Let me know if you think anything should be added.
This is just not true, and while the suggestions you offered may be relevant small tune-ups, this criticism paints this module in an unnecessarily bad light for anyone who doesn’t know better. Those suggestions are micro-optimizations that will have miniscule to no noticeable impact on either the server or the client. This module does no heavy lifting and is basically a logic controller. That’s to say that it doesn’t do enough stuff (e.g., heavy computation, frame by frame processing, etc.) for even a series of micro-optimizations to propagate into a noticeable improvement.
this is not only about optimization, this is about the usage of the module. if you connect an event from this module 2 times, the first one can delay the other one from running if it ever yields. this is not it. if you have a lot of connections to one signal, it can increase lag for low end devices which could be fatal for the player base of the game. the module it self is great, but im just giving a tip.
Yes, a yielding function could delay subsequent callbacks (if the callbacks aren’t coroutines or scheduled thread). However, that doesn’t begin to qualify the module as “very un-optimized”. It’s a simple fix for either OP or anyone integrating it into their projects (they don’t even have to modify the actual module). You also shouldn’t worry excessively about connections to a Signal (for a still short, but more thorough explanation I’d refer you one of the engineer’s comments: Do connected functions run relatively at the same time? - #2 by WallsAreForClimbing)
Like I said before, I’m not disagreeing that the suggestions you offered may be relevant small tune-ups. However, calling the module “very un-optimized” paints it (unfairly) in a bad light. Nothing in this module is going to drop the performance of a game. As mentioned before, even if a bound function yields, that’s actually more user-error than poor design. If people want to insulate the module against themselves passing yielding functions (or if OP wants to do it) that’s their choice, but not actually a significant point against the module.
(Realizing this is starting to detract the thread - if you want to chat more I’m happy to continue someplace else)
I have some things i want to reference which you completely misunderstood after what i understand:
-
I have never said the module is very unoptimized. I said the event module is very unoptimized, and it was not to hate or anything, im just giving a tip
-
I only gave some things which could help improve the “event module”, not the main module. I just want to make it clear that the module itself is pretty good, but i have made a signal before, and thought it could be helpful to help others
This is not any hate towards you or the module, just want to contribute to make this module good. Hope we can get this over with. Tell me if there is something you might disagree with. and i would love to talk to you another place. Have a great day!
Hi,
Thanks for sharing this.
-
Does the party only exist in game, or does it data save, so if you leave and come back the next day you are still in the party? I do not need this, just wondering…
-
Is the invite only for your Roblox friends, or can you invite other players to your party that are not in your roblox friend list?
-
Can this be used to create like a squad of 4 players?
-
Does it have other things like you cannot damage players on your team?
-
Is there any private messaging to your people in your party?
-
Is there a testing EDITable place to check out?
Thanks
- No, it has no built in data saving functionality. It only exists physically under the module in the folder for that server. You could use a datastore system to make it save though.
- Invite only is meant to work as like the AddMember method only works on the passed player if they have an active invite for that party. If they do not, it would give back a warning instead of adding them. I had actually forgot to add the check for IsInviteOnly to the AddMember method, so you asking this helped fixed a bug lol.
- You could use it in that way, yes. Example usage would be lots of things, like even a lobby system because a teleport function is built it. Party system similar to rivals, etc.
- No, nothing like that is built in. You would have to use the built-in methods to detect the parties and stop the damage if they are within the same one.
- No, not built in. Would have to be scripted yourself again, would be fairly simple though hopefully with all the built-in methods.
- Not as of now, this is a good idea though. I will work on making one soon and add it to the thread. I will respond to you when it is added.
Thanks for the info.
I am still unclear about the answer on item 2) , can you only invite your Roblox friends? Or can other non roblox friend join your party if they get an invite?
- Does the invite system have a gui that lists the players you can invite and you click on them to do the invite?
I will check it out when there is a .rbxl,
thanks
No, not have that built in. However, you could add that feature yourself if desired. I may add it to the module as a pre-set soon though.
- No, it has no UI attached to it, just the pre-made remotes you can call. You’d have to script UI yourself. The rbxl file may come with a basic UI when I add it.
Waiting for the test place too
I have an almost finished place that has a scripted UI in it for testing and looking at the code. Should be released within the next couple days. Possibly tonight if I look at it tonight and fix the remaining bugs.
Thank you so much, I really appreciate your work on this!! <3
Hi, how is the update going? Need anyone to help with testing it?
Thanks
Planning on hopefully pushing out the test place/example UI tomorrow
(Hoping for on April 30th MST)
Okay cool ty!! i kinda need it klol
I have uploaded a test place and put it in the post. It has a couple scripts in it that use it in basic ways. Sadly the UI is not fully functional as of yet, you can make the party but cannot join it yet. The UI is still in the test place, just not fully done.
If you have some scripting knowledge, you can hopefully figure out how to use the module. If you need help, feel free to contact me on the blue app, same as my roblox username.
ohh yeah i joined and it was just a baseplate - got a bit confused there. will you add the UI implementation?