Chapitre 4. Les Objets

4.1 Initialiser un objet

4.2 Donner, prendre et jeter un objet

4.3 Utiliser un objet sur une entité

4.4 Lister les objets d'une entité

Une fonction est fournie (fichier Object à la base du moteur) qui vous permet d’obtenir la liste triée des objets en possession d’une entité. Avec pour chaque objet son nom, sa description, son type ainsi que la quantité à disposition de l’entité.

Cette fonction est nommée listObjects et prend comme unique argument un objet de type ‘Entity’.
Elle renvoie un tableau ordonné comme suit:

[id de l'objet] =>
  "name" => nom de l'objet,
  "desc" => description de l'objet,
  "type" => type de l'objet,
  "qty" => quantité possédée
[autre id]
[autre id]
...

Pour un exemple complet, voir Examples/Objects/List.php

4.5 Les types d'objet déjà existants

GamePHP est fourni avec un certain nombre de types d’objet déjà programmés que vous pouvez exploiter à loisir dans votre jeu.

Type: Restore

Ce type d’objet vous permet de restaurer les caractéristiques d’une entité. Il est automatiquement jeté après utilisation.

Comme pour tout objet, vous devez ajouter un enregistrement dans votre table d’objets, de type Restore. Le champ ‘caracs’ est à remplir avec un tableau précisant au moteur les caractéristiques à restaurer et la manière de le faire. Quelques exemples rendront les choses plus claires.

Supposons que l’entité possède la caractéristique vie (champ ‘vie’ dans la table d’entité) correspondant à ses points de vie.

Ajouter un certain nombre de points à une caractéristique

Pour créer un objet de type Restore, ajoutant 10 points de vie à l’entité, il faut créer le tableau suivant et le mettre sous forme sérialisée (fonction serialize) dans le champ ‘caracs’:

Array(
    "vie" => // Nom de la caractéristique
        Array( // Deuxième tableau précisant la manière dont il faut traiter cette caractéristique
            "type" => "simple", // Type de restauration simple (ajout d'un certain nombre de points)
            "value" => 10 // Nombre de points à ajouter (peut-être un nombre négatif)
        )
)

Donner une valeur fixe à une caractéristique

Pour créer un objet de type Restore, donnant 10 points de vie à l’entité, il faut créer le tableau suivant et le mettre sous forme sérialisée (fonction serialize) dans le champ ‘caracs’:

Array(
    "vie" => // Nom de la caractéristique
        Array( // Deuxième tableau précisant la manière dont il faut traiter cette caractéristique
            "type" => "fixed", // Type de restauration fixe
            "value" => 10 // Nombre de points correspondants à la nouvelle valeur de cette caractéristique
        )
)

Donner à une valeur celle d'une autre caractéristique

Pour créer un objet de type Restore, donnant à l’entité le nombre de points de vie contenu dans le champ ‘vie_max’, il faut créer le tableau suivant et le mettre sous forme sérialisée (fonction serialize) dans le champ ‘caracs’:

Array(
    "vie" => // Nom de la caractéristique
        Array( // Deuxième tableau précisant la manière dont il faut traiter cette caractéristique
            "type" => "var", // Type de restauration variable
            "value" => "vie_max" // Nombre de points de la caractéristique "vie max"
        )
)
 
objets.txt · Last modified: 2010/02/12 16:51 by 164.2.255.244
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki