Délai brandissement d'item suite à un dialogue.

Démarré par MrPiGG, 31 Août 2022 à 15:59

0 Membres et 1 Invité sur ce sujet

31 Août 2022 à 15:59 Dernière édition: 10 Septembre 2022 à 11:19 par angenoir37
Bonjour à tous !

Bravo Christopho pour ce merveilleux travail, je découvre Solarus et suis en train de monter un projet éducatif pour des élèves de niveau secondaire - collège 4ème-3ème.

Je prépare une démo et suit les tutos. Lorsque le héros récupère un item dans un coffre, il le brandi et une boite de dialogue apparaît. Je constate un délai de quelques secondes entre la disparition de la boite de dialogue et la fin du brandissement alors que le jeu reprend.

J'ai ajouté game:start_dialog("_treasure.sword.1") dans sword.lua dans les items d'équipement.
sword.lua devient :

local item = ...
local game = item:get_game()

function item:on_created()
  item:set_savegame_variable("possession_sword")
end

function item:on_variant_changed(variant)
  game:start_dialog("_treasure.sword.1")
  game:set_ability("sword", variant)
end

Je travaille avec le pack master ALTTP mais les tileset du pack 1.5 que je trouve plus facile d'utilisation.

Quelqu'un a t'il le même délai ? Mon héros se fait attaquer de toutes part tandis qu'il brandi son épée durant de longues secondes !

Une image vaut mille mots, je poste une vidéo !

https://youtu.be/muBnsrgGROA

Merci !

Normalement tu n'as pas besoin du game:start_dialog("_treasure.sword.1") car le moteur affiche déjà automatiquement ce dialogue lorsque l'épée est obtenue dans un coffre. Pas sûr que ça explique ton délai bizarre cependant. Y a-t-il des messages d'erreur dans la console ?
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Bonjour,

Merci pour ta réponse !
Aucun message d'erreur dans la console, et si je n'ajoute pas cette ligne, il n'y a aucun dialogue. Idem avec un bouclier dans le coffre.
Je suis sur Solarus 1.6.4 sur macOS.
Merci !!

08 Septembre 2022 à 18:48 #3 Dernière édition: 10 Septembre 2022 à 16:11 par le babouin volant
Bonjour,
Je pense que le problème vient du fait que dans le pack ALTTP, le nom complet de l'épée est "equipment/sword". Je pense donc que cela marchera mieux sil le dialogue s'appelle " _treasure.equipment/sword.1"
J'espère que cette réponse sera utile.

Bonjour !
C'est exactement ce que je me suis dit, sans succès.
Tenté de renommer l'Id du dialogue _treasure.equipment.sword.1 (les points sont les sous dossiers, pas de /), pas de dialogue.
Tenté de mettre l'item sword.lua à la racine du dossier item, en conservant l'id du dialogue _treasure.sword.1, sans succès.
J'ai regardé la construction de Solarus DX, les items sont directement dans le dossier ad hoc, les dialogues ont l'Id _treasure également.
Je ne sais pas comment le moteur fait le lien entre l'item et le dialogue, quel type d'arborescence est attendue. sword.lua ne donne pas d'info, a part les caractéristiques de l'objet (son, brandissement etc)

Merci !

Et oui, ça fonctionne avec le vieux pack 1.5.1....

Bonjour,
Je pense que pour que le script marche avec le dernier pack de ressource,
il faut renommer le dialogue _treasure.equipment/sword.1 . Le equipment/sword n'est pas une erreur car c'est l'id de l'item. J'ai eu le même problème à mes débuts avec solarus :)

Oui ! Ça fonctionne merci !!!
Suis je bête, quand on choisi la bonne langue dans le menu de départ, ça aide !! :mrgreen:
Maintenant il faut que je trouve comment traduire le menu de départ, en français ils est vide !