Hello, currently I have a Ki Blast move which is the normal basic Projectile used in the Dragon Ball anime genre series, games that are based off of Dragon Ball such as DB Rage, DB Final Stand or the non roblox game called Xenoverse 2 use this type of move. It’s a simple projectile, whenever you do the move the Projectile moves until it hits something, if it hits a Humanoid, it does damage. Pretty simple concept of it, however I am struggling to know if this system I made for Projectiles are good or not, here’s my system:
- ClientA fires a Event telling the Server to make a Projectile Part on all of the clients
FireAllClients
- Clients have a
OnClientEvent
that creates a Projectile Part with the Position Argument passed from the server (The RootPart’s Position of the Player who fired the event in Step 1) - Clients use Region3 to detect if the Projectile has hit something, if it did Destroy the Part
- If the Client is the same as ClientA that fired the Event in Step 1 and the Projectile Hit something, Fire a event with the Position Argument that the Region3 detected a Humanoid at and make a Region3 on the server to validate that there is something hitting the Region3 at that Position
So to recap, ClientA fires a Event that tells the Server to fire another Event to all of the Clients, All of the clients will make a Projectile Part based on the Passed Position Argument from the Server, Clients will then use Region3 to detect if the Projectile hit something, if it did then the Client destroys the Part, if Client = ClientA during that process then we will Fire a Damage Event and from there the Server validates if it’s legit or not using it’s own Region3.
So hopefully I am clear with my post, I know it was a big post
If you can give me a much more better and efficient System please do! And also if I was unclear with my post please let me know, I’ll do anything I can to make myself clear.