From Encyclop?ie Gobeline

Bibliotheque: Gobscript

Gobscript

Le Gobscript est le langage de commande des suivants.

Ordres

bool move(Xx, Yy, Nn);
le suivant se déplace aux coordonnées (Xx,Yy,Nn)
bool follow(PLAYER|MONSTER, Id, distance);
le suivant suit le joueur ou le monstre n° Id
bool stop();
le suivant ne fait plus rien (tous les ordres suivants sont ignorés)
if false
    bool pick(PLANT|OBJECT, Id);
    le suivant ramasse la plante ou l'objet n° Id
    bool drop(ALL|PLANT|OBJECT, ALL|Id, GROUND|PLAYER|MONSTER, GROUND|Id2);
    le suivant dépose sur le sol ou donne au joueur ou au monstre n° Id2 l'objet ou la plante n° Id
    bool attack(PLAYER|MONSTER|PLACE, Id);
    le suivant attaque le joueur ou le monstre ou le lieu n° Id
    bool defend(PLAYER|MONSTER|PLACE, Id);
    le suivant défend le joueur ou le monstre ou le lieu n° Id
    bool rebuild(Id);
    le suivant reconstruit le lieu n° Id
    bool repair(Id);
    le suivant répare l'objet (au sol ou dans une tanière où il a accès au stock) n° Id
    bool cure(PLAYER|MONSTER, Id);
    le suivant soigne le joueur ou le monstre n° Id
    bool enter(PORTAL|PLACE, Id);
    le suivant prend le portail n° Id ou entre dans le lieu n° Id
    bool scout(Xx, Yy, Nn);
    le suivant se déplace jusqu'aux coordonnées (Xx,Yy,Nn) et envoie un compte-rendu de ce qu'il a pu observer
    bool equip(Id);
    le suivant équipe l'objet n° Id
    bool unequip(Id);
    le suivant enlève l'objet n° Id
    bool build(Id);
    le suivant construit le lieu n° Id
    bool produce(TYPE);
    le suivant fabrique un objet de type TYPE
    bool trade(???);
    le suivant commerce
    bool buy(???);
    le suivant achète
    bool sell(???);
    le suivant achète
    bool use(???);
    le suivant utilise une potion ou un parchemin
    bool train();
    le suivant s'entraine
    bool nop();
    le suivant ne fait rien (mais les ordres suivants sont exécutés)
    instruction pour simplifier le langage

PLANT, OBJECT, PLAYER, MONSTER, PLACE, PORTAL, ALL, GROUND sont des constantes à utiliser tel quel PLANT|OBJECT signifie que l'on peut mettre PLANT ou OBJECT (mais pas les deux)

Les paramètres en vert sont à renseigner par l'utilisateur (ce sont les coordonnées ou le n° des objets/lieux/monstres/joueurs/portails/plantes) Elles renvoient VRAI si elles ont fait leur action, sinon FAUX

Voici une liste des fonctions informatives :

    bool isAlly(PLAYER|MONSTER, Id);
    retourne VRAI si le joueur ou le monstre n° Id est un allié
    bool isEnnemy(PLAYER|MONSTER, Id);
    retourne VRAI si le joueur ou le monstre n° Id est un ennemy
    int isWounded(PLAYER|MONSTER|PLACE|SELF,Id|SELF);
    retourne le pourcentage de blessures (comme Connaissance des Monstres : 0 => pleine forme, 95 => presque mort) du joueur ou du monstre ou du lieu n° Id ou du suivant
    array players();
    retourne le tableau des joueurs dans la vue du suivant
    array monsters();
    retourne le tableau des monstres dans la vue du suivant
    array objects();
    retourne le tableau des trésors dans la vue du suivant
    array plants();
    retourne le tableau des plantes dans la vue du suivant
    array places();
    retourne le tableau des lieux/décors dans la vue du suivant
    int type(e);
    retourne le type de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places
    int id(e);
    retourne le numéro de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places
    int posx(e);
    retourne la position en X de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places
    int posy(e);
    retourne la position en Y de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places
    int posn(e);
    retourne la position en N de e, e étant un élément d'un tableau retourné par players/monsters/objects/plants/places

Voici la liste des fonctions de test :

    bool eq(ARG1, ARG2)
    retourne VRAI si ARG1 est égal à ARG2
    bool ne(ARG1, ARG2)
    retourne VRAI si ARG1 est différent de ARG2
    bool lt(ARG1, ARG2)
    retourne VRAI si ARG1 est plus petit que ARG2
    bool le(ARG1, ARG2)
    retourne VRAI si ARG1 est plus petit ou égal que ARG2
    bool gt(ARG1, ARG2)
    retourne VRAI si ARG1 est plus grand que ARG2
    bool ge(ARG1, ARG2)
    retourne VRAI si ARG1 est plus grand ou égal que ARG2

Voici une liste des structures de contrôle :

    if Condition:
         Actions
    endif;
    si Condition est VRAI alors Actions sont exécutées
    if Condition:
         Actions
    else:
         Actions2
    endif;
    Si Condition est VRAI alors Actions sont exécutées sinon Actions2 sont exécutées
    foreach Array as Variable:
         Actions
    endforeach;
    Pour chaque élément de Array, Actions sont exécutées, Variable désigne l'élément courant
Récupéré sur http://encyclopedie.gobland.fr/index.php/Bibliotheque/Gobscript
Page mise à jour le 15 octobre 2016 à 18h33