Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Le walk de mon perso ne semble pas fonctionner...

Aller en bas 
3 participants
Aller à la page : Précédent  1, 2
AuteurMessage
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue



Nombre de messages : 1791

Date d'inscription : 01/08/2011


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyMar 5 Mai 2020 - 23:35

Oh, bien vu ! Bon bah le plus simple est d'opter pour la solution rétro-compatibilité ^^
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue



Nombre de messages : 2907

Date d'inscription : 01/08/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyMar 5 Mai 2020 - 23:47

Nouvelle édition, exorcisée : [EDIT - https://we.tl/t-G0hkHeHRUt ]

Kitai a écrit:
Pour l'utiliser c'est plutôt simple, si je reprends le premier exemple de @Ravaillac ça donne ça :
Code:
function oBouquins_Look()
{
  if (cMar.HasAsyncWalkedTo(2400, 1052, true)) {
    player.FaceDirection (eDirectionLeft);
    player.Say("Barney est très loin d'être un as du rangement.");
  }
}

Le code dans les { } sera exécuté seulement lorsque cMar aura atteint sa destination (= 2400,1052). J'ai passé un troisième argument à HasAsyncWalkedTo : true. Ça veut dire que cMar a le droit d'ignorer les walkable areas si au bout d'un moment elles suffisent plus pour atteindre sa destination.

Le module se charge aussi de détecter les clics "dans le vide" en mode WalkTo sur les walkable areas : si le personnage-joueur se trouve en dehors d'une walkable area à l'origine, il va commencer à se déplacer en les ignorant pour rejoindre la plus proche (techniquement, rejoindre le personnage fantôme automatiquement placé sur la walkable area la plus proche) puis à nouveau faire attention aux walkable areas dans ses déplacements une fois qu'il l'aura rejointe.

De façon générale, c'est une bonne idée de remplacer tous les Walk(x, y, eNoBlock) par AsyncWalk(x,y), histoire d'être sûr que les persos se retrouvent jamais bloqués s'ils se trouvent hors d'une walkable area au moment où la fonction est appelée.

Dernière note : HasAsyncWalkedTo ne fonctionne que dans les fonction d'interaction, celles qu'on génère depuis la grille de propriétés des persos/objets/hotspots/objets d'inventaire. Par exemple ça marchera pas au milieu d'un dialogue.

Toujours heureux de répondre à toute question sourire


Dernière édition par Kitai le Lun 11 Mai 2020 - 18:07, édité 1 fois (Raison : Remplace par le bon lien)
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyDim 10 Mai 2020 - 5:05

Merci à vous deux pour votre implication dans la recherche de solutions !!

Désolé de pas avoir donné de nouvelles mais j'avais fait un petit break avec AGS je me prenais trop la tête dessus je faisais une overdose.

Cependant je n'ai pas bien compris quoi faire de ce fichier .asc, la fonction ci-dessus ne semble pas fonctionner sans celui-ci.

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyDim 10 Mai 2020 - 17:37

C'est un fichier .scm : c'est un module, c'est-à-dire une paire de fichiers en-tête .ash et corps .asc. Ça te dit quelque chose ? clin d'oeil

Tu l'importes dans ton projet et ça te permet d'utiliser la fonction HasAsyncWalkedTo dans le reste de tes scripts, comme dans la fonction oBouquins_Look de ton global script par exemple, comme illustré dans mon message. Dans mon exemple, ça va permettre au perso de marcher jusqu'à destination même si cette destination est hors d'une walkable area (en dehors des limites de la pièce par exemple) et une fois arrivé à destination seulement exécuter le reste du code. Et si tu cliques ailleurs entre-temps, avant que le perso arrive à destination, ça va tout annuler comme tu le voulais.

_________________
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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyLun 11 Mai 2020 - 16:28

Yeah merci beaucoup Kitai !!
Cependant il n'y a qu'un fichier .asc donc c'est pour ça que je me posais la question...

Citation :
Et si tu cliques ailleurs entre-temps, avant que le perso arrive à destination, ça va tout annuler comme tu le voulais.

...Et merci pour ça aussi, c'est vrai que ça me chagrinait ma race de pas pouvoir faire cela.
sourire sourire sourire

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyLun 11 Mai 2020 - 18:06

Ravaillac a écrit:
Cependant il n'y a qu'un fichier .asc donc c'est pour ça que je me posais la question...
Ah tiens oui... Je pensais pourtant avoir vérifié après ton message, peut-être que j'ai suivi le lien de la première version à la place

Bref, voilà un lien vers le fichier .scm : https://we.tl/t-G0hkHeHRUt

_________________
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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyLun 11 Mai 2020 - 18:19

Ravaillac a écrit:

Citation :
Et si tu cliques ailleurs entre-temps, avant que le perso arrive à destination, ça va tout annuler comme tu le voulais.

...Et merci pour ça aussi, c'est vrai que ça me chagrinait ma race de pas pouvoir faire cela.
sourire sourire sourire

Par contre si j'ai bien compris et si tu veux le faire de manière systématique, il faudra que tu utilises AsyncWalk (ou HasAsyncWalkedTo ?) au lieu de Walk à chaque interaction. Ça veut dire aussi faire attention à ce que les coordonnées correspondent aux WalkableAreas sauf quand c'est nécessaire de faire autrement. @Kitai me démentira si je dis des bêtises.

D'ailleurs, question pour ce dernier, qu'est-ce qui se passe au niveau du scaling du perso quand il sort d'une WalkableArea ?
Autre question sur un point de détail : c'est voulu de passer par WeTransfer plutôt que Dropbox ou un hébergeur plus permanent ? Parce que là tes liens ne sont valables que 7 jours, normalement.

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyLun 11 Mai 2020 - 18:32

valoulef a écrit:
Par contre si j'ai bien compris et si tu veux le faire de manière systématique, il faudra que tu utilises AsyncWalk (ou HasAsyncWalkedTo ?) au lieu de Walk à chaque interaction.
Oui, c'est le principe : tu utilises HasAsyncWalkedTo lorsque tu veux faire marcher le perso vers une destination (potentiellement hors walkable area) et déclencer la suite de l'interaction uniquement une fois la destination atteinte, avec possibilité d'annuler entre-temps.
Ça reste tout à fait possible d'utiliser Walk(..., eBlock) ailleurs au besoin, par exemple pour une interaction vitale au déroulement du jeu que les joueurs doivent pas pouvoir annuler.

valoulef a écrit:
Ça veut dire aussi faire attention à ce que les coordonnées correspondent aux WalkableAreas sauf quand c'est nécessaire de faire autrement.
C'est pour ça que je suggérais de remplacer les commandes Walk(..., eNoBlock) par AsyncWalk, qui sait gérer les points de départ hors walkable areas.
Le module quant à lui déclenche automatiquement AsyncWalk lors d'un clic en mode WalkTo sur une walkable area, donc pas de souci à se faire de ce côté là.


valoulef a écrit:
D'ailleurs, question pour ce dernier, qu'est-ce qui se passe au niveau du scaling du perso quand il sort d'une WalkableArea ?
D'après mes tests (limités) ça conserve le scaling le plus récent. J'ai essayé avec un max scaling de 120% sur le bord bas de la pièce, et mon perso a conservé un scaling de 120% après avoir débordé de la pièce vers le bas.

valoulef a écrit:
Autre question sur un point de détail : c'est voulu de passer par WeTransfer plutôt que Dropbox ou un hébergeur plus permanent ? Parce que là tes liens ne sont valables que 7 jours, normalement.
Je savais pas ça. J'aime pas Dropbox, donc j'ai sauté sur l'occasion d'utiliser autre chose. Ma Dropbox commence à être un peu pleine et je l'ai pas synchronisée sur mon ordi, c'est chiant de se log in tout ça. Je verrai peut-être à ajouter ça à Gitlab.

_________________
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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyMer 13 Mai 2020 - 3:07

Bon bah bon, bon...

J'ai testé ce petit module personnalisé-spécialement-pour-moi mais je n'ai pas pu le voir à l’œuvre hélas... étant donné qu'il n'y a plus que le curseur de base/flèche de déplacement, et que pour utiliser la fonction "look" ou "use" de mon perso il faut cliquer droit pour les voir dérouler, comme dans Sam&Max ou dans je ne sais plus quel template de base. Template de base sur lequel j'ai d'ailleurs chouré la fonction de la souris pour avoir cette particularité du curseur. (voir ci-dessous)

Code:
 // called when a mouse button is clicked
function on_mouse_click(MouseButton button)
{
  if (IsGamePaused())
  {
    // game is paused, so do nothing (i.e. don't process mouse clicks)
  }
  else if (button == eMouseLeft)
  {
    // left-click, so try using the current mouse cursor mode at this position
    Room.ProcessClick(mouse.x, mouse.y, mouse.Mode);
  }
  else if (button == eMouseRight)
  {
    // right-click, so cycle the mouse cursor mode
    mouse.SelectNextMode();
  }
  else if (button == eMouseWheelNorth)
  {
    mouse.SelectNextMode();
  }
  else if (button == eMouseWheelSouth)
  {
    mouse.SelectNextMode();
  }
  }

J'imagine que ton petit module fonctionne, mais je ne comprends pas trop pourquoi ça "bloque", au sens premier du terme... Car mon perso est bloqué avec la fonction "déplacer" du curseur par défaut.
confus

Cependant ce qui est cool c'est que quand il se dirige vers un hotspot apparemment le joueur peut changer d'avis et l'envoyer ailleurs en cours de route s'il le souhaite.

Et ça, c'est cool.

Merci encore

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyMer 13 Mai 2020 - 15:44

Ouvre le corps du script et ajoute cette ligne directement sous la ligne function on_mouse_click (MouseButton button) {:
Code:
if (button != eMouseLeft) return;

_________________
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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyJeu 14 Mai 2020 - 3:24

Arg. Merci mais malheureusement ça ne change rien. ><

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyJeu 14 Mai 2020 - 17:05

Je me rends compte que mon message était ambigu : tu as bien ajouté la ligne à Async.asc, et non pas au code de ton message précédent ?

_________________
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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 EmptyVen 15 Mai 2020 - 2:07

ahah non je l'ai mis sur le globalscript normal... Là c'est bon, dans le Async.asc ça fonctionne. Merci !
sourire

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Contenu sponsorisé





Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty
MessageSujet: Re: Le walk de mon perso ne semble pas fonctionner...   Le walk de mon perso ne semble pas fonctionner... - Page 2 Empty

Revenir en haut Aller en bas
 
Le walk de mon perso ne semble pas fonctionner...
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Walk to personnages
» [résolu]Walk behind
» Ajouter un axe X sur un walk off top edge
» Walk Behinds plus précis ??
» Ligne du walk-behinds a disparu

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: