Creation/Dev/GScript: Difference between revisions

From Graal Bible
No edit summary
(Deleted non working web sites)
 
(41 intermediate revisions by 15 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:


'''Starting Guide'''
'''Basic information'''
* [[Creation/Dev/Script/Starting Guide|Starting Guide]]
* [[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]]


'''Script Functions'''
'''Tutorials'''
(to get the latest list run Graal with the -listscriptfunctions option)
* [[Image:s_dummies.png|80px]] [[Creation/Dev/GScript/New Engine GScript for Dummies|New Engine GScript for Dummies]]
* [[Creation/Dev/Script/Client|Script Functions: Client]] [[Creation/Dev/Script/Clientside_Functions|(2)]] (including info on GUI controls)
* [[Creation/Dev/Excalibur's scripting guide|Excalibur's Scripting Guide]]
* [[Creation/Dev/Script Functions: NPC Server|Script Functions: NPC Server]]


'''IRC Functionality'''
'''Specific Features'''
* [[Creation/Dev/Graal v4 IRC|Graal IRC Scripting: Graal v4 IRC Scripting Reference]]
* [[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]]
* [[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/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]


'''New-Engine Specific'''
'''Script Function List'''
* [[Particle Engine|Graal v4 Particle Engine]]
 
* [[Creation/Dev/GS1_To_GS2|GS1 To GS2: Guide for fixing scripts to work with the new engine]]
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/Using Classes Effectively|GS2 Features: Effective ways to use classes]]
* [[Creation/Dev/Script/Clientside_Functions|Client side]]
* [[Creation/Dev/Output Methods|GS2 Features: Output methods]]
* [[Creation/Dev/Script Functions: NPC Server|Server side]]
* [[Creation/Dev/GScript/Constants|GS2 Features: Constants]]
* [[Creation/Dev/GScript/Understanding_GUI_Profiles:GS2 GUI Features: Understanding GUI profiles]]


'''Tutorials'''
==External Links==
* [[Creation/Dev/Creating Tabbed Window Panes|Creating Tabbed Window Panes]]
Tutorials and other helpful resources.
* [[Creation/Dev/Database_Communication|Indexed Database Communication]]


'''Index of all script-related articles'''
* [http://gscript.graal.net/Index New GScript Wiki]
* [[Creation/Dev/Script/Index|Index]]

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.