NPC scripting (noun) is the act of creating (verb) an NPC using GScript.
This is normally done in the Level Editor or the NC/NPC-Control portion of RC.
There are three types of NPC scripting:
NPC scripting Weapon scripting Class scripting
NPC Scripting
An NPC, or Non-Playing Character, is a scripted object in a level, or on a server. This may take the form of a mysterious old man who leads you to a quest, or a light that you can turn on by clicking it. They add detail to the level; however, they must be used sparingly because they generate lots of lag.
Weapon Scripting
A weapon, defined in Graal terms, is an NPC that does not appear in a level or on a server; it is carried with the client. Weapons are mainly clientside. Examples of weapons include GUI's, swords, modified playerlists, and other things that apply to a player. Weapons may also be used as hacker detection devices.
Class Scripting
A class is a script that is "included" in other scripts. They are used to unify level NPCs by making sure no alterations are performed (E.g., a coke machine works the same way in every level), and to add scripting functions to weapons and NPCs.