| Interagir avec un personnage ayant une nouvelle animation | |
|
|
Auteur | Message |
---|
Nylon Adepte de la Grande Tasse Bleue
Nombre de messages : 52
Age : 32
Localisation : Saintes
Date d'inscription : 06/08/2020
| Sujet: Interagir avec un personnage ayant une nouvelle animation Lun 25 Jan 2021 - 9:35 | |
| Bonjour, J'ai un personnage il s'agit d'une plante carnivore. Celle ci apres lui avoir donner une mixture, meurs. Cependant en cliquant sur elle, le texte reste identique à son aspect vivant. J'aimerai donc dire que si le characterplante est en train d'animate la loop 4 qui correspond à sa mort. Alors l'interaction ou look change avec characterhero say. le but est de lui prendre une epine egalement derriere elle. |
|
| |
Nylon Adepte de la Grande Tasse Bleue
Nombre de messages : 52
Age : 32
Localisation : Saintes
Date d'inscription : 06/08/2020
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation Lun 25 Jan 2021 - 11:12 | |
| je viens de tenter avec une autre methode, créer une view de la plante hs mais la encore je ne trouve pas la bonne formule pour ne pas avoir d'erreurs. nouvelle view s'appelle plantehs - Code:
-
function Plante_Interact() { player.Say("Si je la touche, je meurs."); Wait(15); Plante.Say("Blurp."); if Plante.ChangeView(6); player.Say("Elle est morte."); }
Dernière édition par Kitai le Lun 25 Jan 2021 - 16:33, édité 2 fois (Raison : Mise en forme du code) |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation Lun 25 Jan 2021 - 15:08 | |
| Le plus simple serait sans doute de créer une variable booléenne Tu entres dans la liste des Global Variables : add new variable, "plantemorte", type bool, false. Et quand la plante meurt, tu ajoutes : plantemorte=true; Ainsi, au moment d'interagir, tu vérifies si la plante est morte ou non : - Code:
-
function Plante_Interact() { if(plantemorte==false){ player.Say("Si je la touche, je meurs."); Wait(15); Plante.Say("Blurp."); plantemorte=true; }
else if(plantemorte==true){ player.Say("Elle est morte."); } }
Dernière édition par Kitai le Lun 25 Jan 2021 - 16:34, édité 1 fois (Raison : Mise en forme du code) |
|
| |
Nylon Adepte de la Grande Tasse Bleue
Nombre de messages : 52
Age : 32
Localisation : Saintes
Date d'inscription : 06/08/2020
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation Lun 25 Jan 2021 - 18:00 | |
| Merci du fond du coeur j'ai enfin reussi et a peut pret compris meme si cela ajoute de la complexité à la création^^ _________________ De voir que dans les infos persos on peut ajouter son MSN Messenger ça me fend le coeur de nostalgie. |
|
| |
Shai-la Ouvrière en Chef de la Grande Tasse Bleue
Nombre de messages : 6018
Age : 46
Localisation : Montpellier
Date d'inscription : 17/04/2006
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation Lun 25 Jan 2021 - 18:57 | |
| A ton service ! |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation Lun 25 Jan 2021 - 20:32 | |
| Cela fonctionne avec une variable booléenne mais ta première idée était valable en utilisant la propriété Loop : - Code:
-
if (Plante.Loop == 4) { // Exécute le code si la plante est sur la loop 4 } else { // sinon... } ou View : - Code:
-
if (Plante.View == 6) { // Exécute le code si la plante est sur la view 6 } else { // sinon... } |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation Lun 25 Jan 2021 - 21:57 | |
| Ce que dit @Arlann est tout à fait juste, et c'est vrai que ça t'épargne la création d'une variable booléenne, mais par contre ça rend le code un peu moins lisible/compréhensible : si tu reviens sur ce code dans quelques mois/années, ce sera beaucoup plus facile de te rappeler ce qu'une variable booléenne nommée "plantemorte" fait. Par ailleurs, faire directement référence à Loop ou à View exige que tu mettes ton code à jour si tu changes cette view/loop _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|
| |
Nylon Adepte de la Grande Tasse Bleue
Nombre de messages : 52
Age : 32
Localisation : Saintes
Date d'inscription : 06/08/2020
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation Mar 26 Jan 2021 - 16:11 | |
| Super merci, je vais essayer d'appliquer les deux selon le niveau de flemme "Par ailleurs, faire directement référence à Loop ou à View exige que tu mettes ton code à jour si tu changes cette view/loop" ça je ne comprend pas trop car dans l'application de cette variable il y a tout de meme un appel vers un changement de view donc meme sans la variable booléenne il faudra modifier le code dans tous les cas?? - Code:
-
function Plante_UseInv() { if(player.ActiveInventory==inventory[6]){ player.Walk(2926, 1500, eBlock, eWalkableAreas); Wait(20); player.LoseInventory(ifluochaussure); player.Say("Houla."); Plante.ChangeView(6); Plante.Animate(0, 1); plantemorte = true; } |
|
| |
Contenu sponsorisé
| Sujet: Re: Interagir avec un personnage ayant une nouvelle animation | |
| |
|
| |
| Interagir avec un personnage ayant une nouvelle animation | |
|