Créer Variable/Objet en jeu

Hello, j’ai une question !

Je voudrais savoir comment faire pour créer une variable et un objet EN jeu, pas à partir de “l’éditeur” de Game Develop. En fait que sa soit le joueur en fonction de ses choix créé un nouvel objet et/ou variable.

- Pour l’objet
J’ai déjà cherché un peu sur le forum et j’ai cru comprendre qu’on pouvait le faire grâce aux expressions, en faisant l’action “Créer Objet” et dans le nom de l’objet mettre une expression.
Mais quelle expression mettre ?
J’ai essayé OBJ(globalobjet[TestObjet]) et aussi avec un texte contenu dans une variable (de façon que le texte dans la variable soit le nom de l’objet créé) VAL(globalvariable[TestVariable]) mais aucun n’a fonctionné.

Exemple de ce que je veux:
Dans un jeu de stratégie le joueur veux créer une unité “Chevalier”, il appuie sur un bouton qui fait +1 à la variable “CréerChevalier”.
Avec la condition +1 à la variable “CréerChevalier” ----> action créer l’objet “Chevalier01” (qui n’existe pas encore dans la base de donnée de l’éditeur d’objet)
Et si on refait encore +1 à la variable “CréerChevalier” —> action créer l’objet “Chevalier02” (qui n’existe pas encore dans la base de donnée de l’éditeur d’objet)

Je veux plusieurs objets “Chevalier” différents pour pouvoir leur attribuer des Variables d’Objet (qui seront leur Point de Vie par exemple ou leur caractéristiques) qui leurs soient spécifiques (Si le Chevalier01 perd 5 points de vie il sera le seul à les perdre et pas tous les Chevaliers).

Autre chose je ne veux pas avoir à créer 36000 Chevaliers dans l’éditeur d’objet lors de la création du jeu, je veux que le joueur puisse créer le nombre de chevaliers qu’il veut.

- Pour la variable
C’est un peu la même question que pour l’objet. Pour créer une variable en jeu c’est facile il suffit juste de faire un évènement qui modifie la valeur d’une variable et mettre le nom de notre variable et sa valeur…
Moi je voudrais savoir s’il est possible de faire:
On a une variable de base “Alpha01” et on veux qu’a chaque fois que le joueur fasse +1 à cette variable il se crée une nouvelle variable (“Alpha2”, “Alpha3”, etc…).
SANS avoir d’évènement déjà programmé: Condition Variable “Alpha1”+1 —> Action Variable “Alpha2”=1
En gros Game Develop n’a jamais entendu parler de “Alpha2” avant que le joueur ne fasse +1 à “Alpha1”.

Voilà je ne sais pas si j’ai été clair…

Euh… As tu bien saisi que Game Develop gère sans problème le fait d’avoir plusieurs objets du même type sur la scène ?
Si tu as envie d’avoir un autre chevalier, et bien tu fait : Créer un objet “Chevalier” à la position 5;5.
Terminé, il n’y a rien d’autre à faire.

Pourquoi diable voudrait tu devoir créer plein d’objets “Chevalier01”, “Chevalier02” ?

Bah oui, c’est le fonctionnement même de Game Develop. Si tu effectue des conditions pour vérifier par exemple qu’un objet “Chevalier” a ses points de vies à 0, et que tu met ensuite une action “Supprimer l’objet Chevalier”, seuls les objets chevaliers qui ont leurs points de vies à 0 seront supprimés.
C’est pareil pour les variables.

A mon avis, le problème vient plutôt de la conception. Pourquoi voudrait tu des variables aux noms générées dynamiquement ?
C’est la porte à des gros soucis et à des bugs vicieux, sans parler de la perte de performance qui pourrait être engendré si Game Develop devait évaluer une expression contenue dans un nom de variable.

J’ai bien saisit mais si je crée le même objet sur la scène comment GD fait il la différence entre l’un et l’autre ? Pour lui sa sera le même objet non ? Comment dire par exemple “Chevalier” 1 tue un ennemi et mettre dans une variable qu’il gagne +1 en force ? Comment il va savoir qu’il faut donner +1 à “Chevalier” 1 et pas à “Chevalier” 2 ? C’est sa mon soucis qu’il fasse la distinction entre les deux sans avoir à créer deux objets différents dans la base de donnée de l’éditeur d’objet. Une fois sur la scène il les considère comme 2 objets ou comme un même objet mais représenté 2 fois ?

Après il est possible que j’ai pas bien compris le fonctionnement du truc et que je me complique la vie.

Sinon pour les variables sa me semble assez pratique, après je suis pas un as en tout ce qui est programmation !

EDIT: Ha et sinon pour les expressions ? comment créer un objet à partir d’une variable ? J’ai déjà vu le sujet évoqué plusieurs fois sur le forum mais pas compris le principe.

GD est capable de prendre en compte le bon objet, celui concerné. Donc tu peux mettre pleins d’objets chevalier, GD trouva tout seul !

Comme deux objets. Mais Game Develop se débrouille tout seul. Par exemple, si tu fais :

Conditions : Aucune
Actions : Supprimer “Chevalier”

Game Develop supprimera tous les chevaliers ( bah oui, c’est ce qui est demandé ). Mais si tu fais :

Conditions : La variable “Mort” de Chevalier est = à 1
Actions : Supprimer “Chevalier”

Game Develop ne supprimera que les chevaliers concernés par la condition. Ce n’est que de la logique.
Note que c’est expliqué dans le guide de mise en route.

Tu te complique la vie en effet. :wink:

C’est la seule action où tu peux utiliser une variable comme nom d’objet, comme ceci : TXT"VAL(NomDeTaVariable[])".

Merci pour vos réponses je vais tester tout ça !