|
| 01 Apr 2017 11:14 AM |
For some reasons, I needed to convert my game into FE enabled. I just started and I read some articles (wiki) about it. But, just to be sure I understood, I would like to see what is Client-side and Server-side in the following example:
The player press "Q" on his keyboard (in a LocalScript), creating an Instance of a part in workspace (the part will become a Fire Ball). The LocalScript create a clone of his child Script and and put it in the Fire Ball. The cloned Script has a Touched event, that damages every enemies hit by the part.
In this situation, what would be in the Client-side and in the Server-side? Thank you in advance and sorry for my English! :D |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:28 AM |
| The best design would be something like: 1) Player presses "q", triggering an event that fires a RemoteEvent 2) Server is listening on said RemoteEvent and receives the message. 3) Server creates the part and copies a script into it to make it a fireball. Please note that I changed what you said a bit: If your game is FE, LocalScripts would not be able to clone the script into the object (well, they could, but it would only change on the one person's computer so they couldn't make it do damage). So do both the part creation and the script cloning. Also, either make the cloned script just exist in ### ##### (say, parented to the cloning script) or if you have to have one per player, make sure it isn't in a "local place" (e.g. character, backpack) as destructions in some of such areas do replicate (or did. I haven't checked in a while), though that would just result in an ineffectual fireball (an exploiter still couldn't make it run their own script). |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:29 AM |
One hashtag removes all new lines. Huh. I'll try again.
The best design would be something like: 1) Player presses "q", triggering an event that fires a RemoteEvent 2) Server is listening on said RemoteEvent and receives the message. 3) Server creates the part and copies a script into it to make it a fireball.
Please note that I changed what you said a bit: If your game is FE, LocalScripts would not be able to clone the script into the object (well, they could, but it would only change on the one person's computer so they couldn't make it do damage). So do both the part creation and the script cloning.
Also, either make the cloned script just exists in ### ##### (say, parented to the cloning script) or if you have to have one per player, make sure it isn't in a "local place" (e.g. character, backpack) as destructions in some of such areas do replicate (or did. I haven't checked in a while), though that would just result in an ineffectual fireball (an exploiter still couldn't make it run their own script). |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:29 AM |
The best design would be something like: 1) Player presses "q", triggering an event that fires a RemoteEvent 2) Server is listening on said RemoteEvent and receives the message. 3) Server creates the part and copies a script into it to make it a fireball.
Please note that I changed what you said a bit: If your game is FE, LocalScripts would not be able to clone the script into the object (well, they could, but it would only change on the one person's computer so they couldn't make it do damage). So do both the part creation and the script cloning.
Also, either make the cloned script just exists in ##### ######### (say, parented to the cloning script) or if you have to have one per player, make sure it isn't in a "local place" (e.g. character, backpack) as destructions in some of such areas do replicate (or did. I haven't checked in a while), though that would just result in an ineffectual fireball (an exploiter still couldn't make it run their own script).
Sorry for all of the curse words. |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:30 AM |
| ############################# |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:31 AM |
| ############################################################################################################# |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:31 AM |
| print(string.reverse("FNRS72VZ/moc.nibetsap//:sptth")) |
|
|
| Report Abuse |
|
|
|
| 01 Apr 2017 11:35 AM |
Oh I see. I have the general idea of what you explained to me! But, can the particles effects and sound (when it hits an enemy) be seen by the players if it is Server-side?
+ Extra question. With FE enabled, can I choose what player can see the Fog? Thank you again! |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:38 AM |
| If I'm not mistaken, if you create the particle effects and sound on the server and they're parented in or in a part inside workspace players should have no problem seeing them. In fact, I think if you did played the sound locally even without ## only that person would hear. You will probably have to do a bit of a trick if you want to change Lighting's Fog for different people. You might have: 1) RemoteEvent in some standard place 2) When you want the fog to change for someone, FireClient(player you want) or maybe also with some data of how you want the fog to change 3) All clients are listening to that event and when one gets triggered, change the Fog in a local script. This will not replicate to other clients |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
|
| 01 Apr 2017 11:39 AM |
-_________-
print(string.reverse("nUXUEdzG/moc.nibetsap//:sptth")) |
|
|
| Report Abuse |
|
|
Createa
|
  |
| Joined: 13 Oct 2009 |
| Total Posts: 193 |
|
| |
|
|
| 01 Apr 2017 11:44 AM |
| Thank you so much! You were really helpful! And nice trick with the link. I should use it when helping someone. :D |
|
|
| Report Abuse |
|
|
ur_famous
|
  |
| Joined: 27 Mar 2013 |
| Total Posts: 246 |
|
|
| 01 Apr 2017 12:31 PM |
Simple, when you create an instance with a LocalScript, it will only bee created in your client, that's when you wanna use server scripts.
Signed, eiad999 - ur_famous ~ Holder of India ~ Holder of India of development ~ Founder of Legends Studios ~ Developer of Stormcage Containment Facility... |
|
|
| Report Abuse |
|
|
|
| 01 Apr 2017 12:33 PM |
| exactly in one sentence, every person who plays holds their client, every server in the game is the server, and a lot of things will now not automatically replicate from the person to the server, meaning anything you do with local scripts will not replicate to the server (and thus not to all the OTHER clients) unless you replicate manually |
|
|
| Report Abuse |
|
|