Creation/Dev/GScript: Difference between revisions

From Graal Bible
No edit summary
(Deleted non working web sites)
 
(60 intermediate revisions by 18 users not shown)
Line 1: Line 1:
[[Category:Scripting Reference]]
==Introduction==
'''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]], it uses ECMA-Script syntax. 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.
It is used for [[clientside]] tasks like [[GUI | GUI programming]], special effects and custom [[NPC weapon|weapons]], 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.
'''If you would like to contribute to the GraalBible's GScript documentation, you might want to [[Creation/Dev/GScript/Contribute|read this article]].'''


[[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.
==Documentation==
In your scripting quest, you may find the following articles to be of use:


GScript can be discussed in the [[GScript IRC channel]].
'''Basic information'''
* [[Creation/Dev/Script/Starting Guide|Starting Guide]]
* [[Creation/Dev/Script/Client|Functions, variables and objects (clientside)]]
* [[Image:Guicontrol_window.png|80px]] [[Creation/Dev/Script/Client/GuiControls_List|GUI Controls]]


In your scripting quest, you may find the following articles to be of use.
'''Tutorials'''
* [[Image:s_dummies.png|80px]] [[Creation/Dev/GScript/New Engine GScript for Dummies|New Engine GScript for Dummies]]
* [[Creation/Dev/Excalibur's scripting guide|Excalibur's Scripting Guide]]


'''Script Functions'''
'''Specific Features'''
* [[Creation/Dev/Script Functions: Client]] (including info on GUI controls)
* [[Creation/Dev/GS1_To_GS2|GS1 To GS2: Guide for fixing scripts to work with the new engine]]
* [[Creation/Dev/Script Functions: NPC Server]]
* [[Creation/Dev/Output Methods|Output methods]]
* [[Creation/Dev/Script Functions: Graal 3D]]
* [[Creation/Dev/Using Classes Effectively|Use of classes]]
* [[Creation/Dev/GScript/Constants|Constants]]
* [[Creation/Dev/GScript/Understanding GUI Profiles|GUI Features: Understanding GUI profiles]]
* [[Image:Guicontrol_tab.png]] [[Creation/Dev/Creating Tabbed Window Panes|Creating Tabbed Window Panes]]
* [[Particle Engine|Particle Engine]]
* [[Creation/Dev/Graal v4 IRC|Graal IRC Scripting: Graal IRC Scripting Reference]]
* [[Creation/Dev/Troubleshooting Graal v4 IRC|Graal IRC Scripting: Troubleshooting Scripting Reference]]
* [[Creation/Dev/Database_Communication|Indexed Database Communication]]
* [[Vectors]] (3D)
* [[Creation/Dev/wordFilter|Word Filter]]
* [[Creation/Dev/GScript/Stefan_Wisdom|Stefan Wisdom]]
* [http://forums.graalonline.com/forums/showpost.php?p=1573674&postcount=6 Communicating with a webserver]
* [http://forums.graalonline.com/forums/showthread.php?t=134263215 Explanation of vecx & vecy]


'''IRC Functionality'''
'''Script Function List'''
* [[Creation/Dev/Graal v4 IRC|Graal IRC Scripting: Graal v4 IRC Scripting Reference]]
* [[Troubleshooting Graal v4 IRC|Graal IRC Scripting: Troubleshooting Scripting Reference]]


'''New-Engine Specific'''
These are frequently updated, to get the latest list run Graal with the -listscriptfunctions option. You can also get help about script functions with the ''/scripthelp <string>'' command on RemoteControl chat.
* [[Particle Engine|Graal v4 Particle Engine]]
* [[Creation/Dev/Script/Clientside_Functions|Client side]]
* [[Creation/Dev/GS1_To_GS2|GS1 To GS2: Guide for fixing scripts to work with the new engine]]
* [[Creation/Dev/Script Functions: NPC Server|Server side]]
* [[Creation/Dev/Using Classes Effectively|GS2 Features: Effective ways to use classes]]


Following is the original and most basic documentation for new engine scripting.
==External Links==
Tutorials and other helpful resources.


[[Creation/Dev/Script/Starting Guide]]
* [http://gscript.graal.net/Index New GScript Wiki]

Latest revision as of 06:48, 28 February 2024

Introduction

GScript is Graal's scripting language.

Its syntax and some of its semantics might seem familiar to those who program in C or Java, it uses ECMA-Script syntax. 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.

It is used for clientside tasks like GUI programming, special effects and custom weapons, and serverside systems like player housing, complex baddies or pets.

If you would like to contribute to the GraalBible's GScript documentation, you might want to read this article.

Documentation

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

Basic information

Tutorials

Specific Features

Script Function List

These are frequently updated, to get the latest list run Graal with the -listscriptfunctions option. You can also get help about script functions with the /scripthelp <string> command on RemoteControl chat.

External Links

Tutorials and other helpful resources.