Why no clientsided scripts?
|
|
Aziza Moleno
Registered User
Join date: 13 Mar 2009
Posts: 10
|
04-07-2009 16:11
Hi,
so from Graal I'm used to have scripts that have a serverside (executed on server) and a clientside (executed on client). In SL there seems to be only serverside and I wonder why?
Many scripts could be handled by the client easily, not contributing to server lag. And some scripts would be even better when used locally (like a vendor could have a different display for each person, with servside only if more than 2 person would use a vendor it can be pretty annoying)
|
|
Drongle McMahon
Older than he looks
Join date: 22 Jun 2007
Posts: 494
|
04-07-2009 16:24
From: Aziza Moleno so from Graal I'm used to have scripts that have a serverside (executed on server) and a clientside (executed on client). In SL there seems to be only serverside and I wonder why? There is at least one that is client only - llTargetOmega.
|
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
04-07-2009 16:29
If the vendor script runs on the client side then the client needs to be secure against modification, and the SL client is open source and so is by definition at the user's mercy.
|
|
Aziza Moleno
Registered User
Join date: 13 Mar 2009
Posts: 10
|
04-07-2009 16:30
From: Drongle McMahon There is at least one that is client only - llTargetOmega. huh? you mean a command that only effects the client? well what I talk about is totally differentiate serverside and clientside clientside script-parts could be easy stored and cached for fast-loading too edit: it doesn't have to be secure only the choosing of what you buy happens on clientside, then the client tells the server "buy item xyz" and the server checks if oyu have the money, if that item exists and then gives it to you. thats how graal scripts used to work if then someone mods their client to show something else it's their prob, right?
|
|
Soen Eber
Registered User
Join date: 3 Aug 2006
Posts: 428
|
04-07-2009 16:59
Its because LSL scripting was written over a weekend by Cory Linden. Mostly they're wrappers for existing API's.
Things got left out...
|
|
Drongle McMahon
Older than he looks
Join date: 22 Jun 2007
Posts: 494
|
04-07-2009 17:38
From: Aziza Moleno huh? you mean a command that only effects the client? I re-checked the LSL wiki. Almost right; Only true if the object is non-physical ..... "If the object is not physical then the effect is entirely client side. The rotation experienced by the user cannot be detected or queried by script." "If the object is physical then the physical representation is updated regularly. The rotation experienced by the user can be detected or queried by script."
|
|
Day Oh
Registered User
Join date: 3 Feb 2007
Posts: 1,257
|
04-07-2009 17:42
I've often thought about client-side scripting, too... imagine being able to have a creature walk by without having to send hundreds of network messages for every single moving primitive.
I even feel rude having a flashing light, as it is right now
|
|
Love Hastings
#66666
Join date: 21 Aug 2007
Posts: 4,094
|
04-07-2009 17:45
From: Day Oh I've often thought about client-side scripting, too... imagine being able to have a creature walk by without having to send hundreds of network messages for every single moving primitive.
I even feel rude having a flashing light, as it is right now It's nice to have everyone see the same thing, though. One good reason: permissions. They actually mean something with scripts.
|
|
Briana Dawson
Attach to Mouth
Join date: 23 Sep 2003
Posts: 5,855
|
04-07-2009 18:36
From: Love Hastings
One good reason: permissions. They actually mean something with scripts.
This. And...IF SL did all kinds of switching between client side and server side scripts when handling things I can only imagine our experience being made worse, not better.
|
|
Aziza Moleno
Registered User
Join date: 13 Mar 2009
Posts: 10
|
04-07-2009 23:48
Well usually you keep the 2 separated, so either 2 input boxes or just some escape-code after that client-side scripting is used; or maybe a flag for a script to be client-sided so you'd use 2 script files but w/e won't happen anyway *g*
|