Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

1 résultat trouvé pour def

AuteurMessage
Tag def sur Adventure Games Studio fr Tasses10Sujet: Lancer son premier jeu
Baguettator

Réponses: 173
Vues: 1792

Rechercher dans: Questions / Réponses   Tag def sur Adventure Games Studio fr EmptySujet: Lancer son premier jeu    Tag def sur Adventure Games Studio fr EmptyMar 9 Juin 2020 - 16:34
Bonjour à nouveau,

Bon je vais vers de nouveaux problèmes, mais ça devrait être les derniers gros problèmes :

Juste je commence à m'emmêler dans tout ça. Et je veux juste vérifier que j'ai compris ce qu'il faut faire.

Maintenant que mes personnages arrivent bien dans la room 6 (la "base" de l'équipe) et qu'ils sont bine alignés, je voudrais faire de même pour les envoyer en expedition.

C'est à dire : le joueur choisis au moins un perso qui ira en expedition (room 7), puis qui reviendra à la base (room 6). ça peut donc être des expeditions de 1 perso jusqu'à tous les persos de la base !

Donc j'ai procédé comme suit :

- une constante dans le header : #def MAXPERSOSEXPEDITION 36 // pas besoin d'aller plus haut, le joueur en aura jamais autant en expedition.

- variables déclarées en haut du global script : int nbpersosexpedition ET int indexpersosexpedition;

- Un nouveau tableau de characters en haut de mon global script : Character* persoexpedition[];

Jusque là, je pense que ça va, en gros j'ai fait la même chose que pour l'autre en remplaçant "colonie" par "expedition".

J'ai ajouté dans la structure des personnages un attribut : Expedition, une booléenne (comme Mort) qui permet de vérifier si le perso va partir en expedition ou non. L'idée c'est qu'une fois qu'on a choisi les persos qui vont en expedition, une boucle va "scanner" ceux qui ont été sélectionné (donc ceux dont this.expedition=true).

Pour faire varier cette booléenne, lorsque je dois choisir les personnages, je clique sur celui que je veux choisir et son this.expedition devient true.

Seulement, ça ne fonctionne pas.

J'ai déclaré ça comme ça :

dans la structure header :
Code:
import attribute bool Mort, Expedition;
  protected bool mort, expedition;
[...]
import bool get_Expedition(); // $AUTOCOMPLETESTATICONLY$
  import bool set_Expedition(); // $AUTOCOMPLETESTATICONLY$


dans le global script, exemple en cliquant sur Amy :

Code:
function cAmy_AnyClick()
{
if (mouse.Mode==eModeWalkto)
{
playerID=cAmy.GetProperty("PersonnageID");
if (personnage[playerID].Zombivant==0)
{
  gInterfacepersos.Visible=true;
  Fondinterfacepersos.NormalGraphic=1517;
  Interfacepersonom.Text=personnage[playerID].Nom;
}
else
{
  gInterfacepersoszombivant.Visible=true;
  Fondinterfacepersoszombivant.NormalGraphic=1527;
  Interfacezombinom.Text=personnage[playerID].Nom;
}
}
else
{
  playerID=cAmy.GetProperty("PersonnageID");
  if (personnage[playerID].Expedition==false)
  {
    personnage[playerID].Expedition=true;
    nbpersosexpedition++; // on compte 1 perso qui part, ce sera utile pour la boucle plus tard
  Display("OUAIS !!!");
  }
  else
  {
    personnage[playerID].Expedition=false;
    nbpersosexpedition--;
    Display("Ohhh...");
  }
}
}


Mais en testant ça, player[ID].Expedition est toujours faux, car j'ai beau cliqué et recliquer dessus, ça ne fait rien d'autre... J'ai fait une erreur quelque part ?

PS : lorsque je dois choisir les persos qui partent en expedition, la souris change de mode, j'ai fait ça pour séparer les deux actions (plus clair pour moi, et ça permettra peut-être de changer l'icone de la souris au passage). En tout cas aucun problème de ce côté, ça fonctionne.

EDIT : PARDOOOOOOONN !!! J'avais mis cette booléenne en protégée par la structure... Effectivement ça pouvait pas marcher. Tout va bien !!! Je vais essayer de créer la loop pour faire le scan !
Revenir en haut 
Page 1 sur 1
Sauter vers: