Creation/Dev/GScript: Difference between revisions

From Graal Bible
No edit summary
No edit summary
Line 1: Line 1:
'''GScript''' is [[Graal]]'s scripting language.
'''GScript''' is [[Graal]]'s scripting language.


Its syntax and some of its semantics might seem familiar to those who program in [[WikiPedia:C (Programming Language) | C]] or derived languages, although it lacks some of the expressivity of a real programming language and has special constructs that make programming [[Graal]] [[NPC]]s easier.
Its syntax and some of its semantics might seem familiar to those who program in [[WikiPedia:C (Programming Language) | C]] or [[WikiPedia:Java_programming_language|Java]]. In some ways it is more dynamic, e.g. supporting dynamicly joining and leaving of classes, and brings support for easy management of online game content.


GScript started as a very limited language and has since kept up with improvements to the game engine and can now be used for pretty sophisticated scripts that greatly customise the gaming experience.
GScript started as a very limited language ([[Creation/Dev/Old GScript|Old GScript]]) and has since kept up with improvements to the game engine and can now be used for pretty sophisticated scripts that greatly customise the gaming experience.


It is used, with minor differences, for [[Clientside]] tasks like [[GUI | GUI programming]], special effects with nifty 3d lighting and custom [[NPC weapon|NPC Weapons]] or "engines", and [[Serverside]] systems like player housing, complex baddies or pets.
It is used, with minor differences, for [[Clientside]] tasks like [[GUI | GUI programming]], special effects with nifty 3d lighting and custom [[NPC weapon|NPC Weapons]] or "engines", and [[Serverside]] systems like player housing, complex baddies or pets.


[[Old GScript]] has been replaced by a new version (dubbed GScript2 during development) that is rather advanced, in some way object oriented, and thanks to influence from [[WikiPedia:Java programming language| Java]] and [[Torque]]'s scripting language, less brain-damaged in some aspects. No offense intended.
GScript can be discussed in the [[GScript IRC channel]].


GScript can be discussed in the [[GScript IRC channel]].
In your scripting quest, you may find the following articles to be of use:


In your scripting quest, you may find the following articles to be of use.
'''Starting Guide'''
* [[Creation/Dev/Script/Starting Guide|Starting Guide]]


'''Script Functions'''
'''Script Functions'''
* [[Creation/Dev/Script Functions: Client]] (including info on GUI controls)
(to get the latest list run Graal with the -listscriptfunctions option)
* [[Creation/Dev/Script Functions: NPC Server]]
* [[Creation/Dev/Script Functions: Client|Script Functions: Client]] (including info on GUI controls)
* [[Creation/Dev/Script Functions: Graal 3D]]
* [[Creation/Dev/Script Functions: NPC Server|Script Functions: NPC Server]]
* [[Creation/Dev/Script Functions: Graal 3D|Script Functions: Graal 3D]]


'''IRC Functionality'''
'''IRC Functionality'''
Line 26: Line 28:
* [[Creation/Dev/GS1_To_GS2|GS1 To GS2: Guide for fixing scripts to work with the new engine]]
* [[Creation/Dev/GS1_To_GS2|GS1 To GS2: Guide for fixing scripts to work with the new engine]]
* [[Creation/Dev/Using Classes Effectively|GS2 Features: Effective ways to use classes]]
* [[Creation/Dev/Using Classes Effectively|GS2 Features: Effective ways to use classes]]
Following is the original and most basic documentation for new engine scripting.
[[Creation/Dev/Script/Starting Guide]]

Revision as of 17:14, 12 January 2006

GScript is Graal's scripting language.

Its syntax and some of its semantics might seem familiar to those who program in C or Java. In some ways it is more dynamic, e.g. supporting dynamicly joining and leaving of classes, and brings support for easy management of online game content.

GScript started as a very limited language (Old GScript) and has since kept up with improvements to the game engine and can now be used for pretty sophisticated scripts that greatly customise the gaming experience.

It is used, with minor differences, for Clientside tasks like GUI programming, special effects with nifty 3d lighting and custom NPC Weapons or "engines", and Serverside systems like player housing, complex baddies or pets.

GScript can be discussed in the GScript IRC channel.

In your scripting quest, you may find the following articles to be of use:

Starting Guide

Script Functions (to get the latest list run Graal with the -listscriptfunctions option)

IRC Functionality

New-Engine Specific