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
GamePHP est fourni avec un certain nombre de types d’objet déjà programmés que vous pouvez exploiter à loisir dans votre jeu.
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.
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) ) )
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 ) )
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" ) )