Creation/Dev/Clientside: Difference between revisions

From Graal Bible
No edit summary
(replacing outdated docu with new from Clientside article)
 
(9 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''Clientside''' scripts are sent by the server to individual players' clients to be executed. Clientside scripts typically handle simple, insecure tasks, such as drawing visuals and playing sounds. They are easily manipulated by cheating tools, so critical tasks are usually reserved for [[serverside]] scripts. However, they are faster and generally produce less lag than their serverside counterparts, as clientside data is (with a few exceptions) not sent to other players.
[[Category:Scripting Reference]]
==Intro==
Clientside scripts are done on your '''client'''. This means that clientside scripts do not cause server lag, but are also easily hackable. [[Serverside]] is the opposite, and is done on the [[NPC-Server]].


In [[GScript]], the most common command for interaction between the two systems is [[Old_GScript:triggeraction|triggeraction]]
==Variables==
Variables that can be set clientside (for the player) are variables that start with player.client. When scripting, the '''player.''' is not usually included. '''client.''' variables can be edited either [[Serverside]] or Clientside. Since these variables can be edited on Clientside, they can be changed using almost any memory editor.
 
==Scripting==
Scripts run on Clientside happen '''only to the player'''. If you were to show an image on Clientside, it would not show up to other players (unless the index is below 200). The advantages of Clientside scripting are that there is no server lag, GUIs are possible ([[Creation/Dev/Script/Client/GuiControls_List|Gui Controls]] and showimg), and it applies to only one player (try writing a serverside system script).
 
==Example==
An example of a clientside script would start with '''//#CLIENTSIDE'''. The code follows this.
<pre>
//#CLIENTSIDE
function onCreated()
{
  player.chat = "This is a Clientside script!";
  callFunction();
}
function callFunction()
{
  say2( "Congratulations, you just called a function!" );
}
</pre>

Latest revision as of 10:17, 25 April 2010

Intro

Clientside scripts are done on your client. This means that clientside scripts do not cause server lag, but are also easily hackable. Serverside is the opposite, and is done on the NPC-Server.

Variables

Variables that can be set clientside (for the player) are variables that start with player.client. When scripting, the player. is not usually included. client. variables can be edited either Serverside or Clientside. Since these variables can be edited on Clientside, they can be changed using almost any memory editor.

Scripting

Scripts run on Clientside happen only to the player. If you were to show an image on Clientside, it would not show up to other players (unless the index is below 200). The advantages of Clientside scripting are that there is no server lag, GUIs are possible (Gui Controls and showimg), and it applies to only one player (try writing a serverside system script).

Example

An example of a clientside script would start with //#CLIENTSIDE. The code follows this.

//#CLIENTSIDE
function onCreated()
{
  player.chat = "This is a Clientside script!";
  callFunction();
}
function callFunction()
{
  say2( "Congratulations, you just called a function!" );
}