Creation/Dev/GScript: Difference between revisions

From Graal Bible
(Added 3D-markers after vectors and matrices)
(Deleted non working web sites)
 
(30 intermediate revisions by 13 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 [[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.
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 ([[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 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.
 
GScript can be discussed in the non-official [[GScript IRC channel]].


'''If you would like to contribute to the GraalBible's GScript documentation, you might want to [[Creation/Dev/GScript/Contribute|read this article]].'''
'''If you would like to contribute to the GraalBible's GScript documentation, you might want to [[Creation/Dev/GScript/Contribute|read this article]].'''


==Documentation==
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:


Line 16: Line 16:
* [[Creation/Dev/Script/Starting Guide|Starting Guide]]
* [[Creation/Dev/Script/Starting Guide|Starting Guide]]
* [[Creation/Dev/Script/Client|Functions, variables and objects (clientside)]]  
* [[Creation/Dev/Script/Client|Functions, variables and objects (clientside)]]  
* [[Creation/Dev/Script/Client/GuiControls_List|GUI Controls]]
* [[Image:Guicontrol_window.png|80px]] [[Creation/Dev/Script/Client/GuiControls_List|GUI Controls]]
 
'''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]]


'''Specific Features'''
'''Specific Features'''
* [[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/Output Methods|Output methods]]
* [[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]]
* [[Particle Engine|Particle Engine]]
* [[Creation/Dev/Graal v4 IRC|Graal IRC Scripting: Graal IRC Scripting Reference]]
* [[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/Troubleshooting Graal v4 IRC|Graal IRC Scripting: Troubleshooting Scripting Reference]]
* [[Creation/Dev/Output Methods|Output methods]]
* [[Creation/Dev/Database_Communication|Indexed Database Communication]]
* [[Creation/Dev/Using Classes Effectively|Use of classes]]
* [[Creation/Dev/GScript/Understanding GUI Profiles|GUI Features: Understanding GUI profiles]]
* [[Creation/Dev/GScript/Constants|Constants]]
* [[Vectors]] (3D)
* [[Vectors]] (3D)
* [[Matrix|Matricies]] (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]


'''Tutorials'''
'''Script Function List'''
* [[Creation/Dev/Creating Tabbed Window Panes|Creating Tabbed Window Panes]]
* [[Creation/Dev/Database_Communication|Indexed Database Communication]]
* [[Creation/Dev/Excalibur's scripting guide|Excalibur's Scripting Guide]]
'''Script Functions'''


These are frequently updated, to get the latest list run Graal with the -listscriptfunctions option:
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.
* [[Creation/Dev/Script/Clientside_Functions|Client side]]
* [[Creation/Dev/Script/Clientside_Functions|Client side]]
* [[Creation/Dev/Script Functions: NPC Server|Server side]]
* [[Creation/Dev/Script Functions: NPC Server|Server side]]


[[Creation/Dev/Script/Index|Related Artices]]
==External Links==
Tutorials and other helpful resources.
 
* [http://gscript.graal.net/Index New GScript Wiki]

Latest revision as of 05: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.