Vous n'êtes pas identifié(e). Pour pouvoir écrire ou répondre à un message, vous devez vous connecter ou vous créer un compte sur JAWA.

#1 Re : Annonces & actus » Le Prisonnier quantique » 15-10-2019 04:46:37

KLB

C'est un [color=blue]SUPER jeu !! [/color]

C'est d'ailleurs en jouant à ce jeu passionnant que j'ai découvert la plateforme Jawa :D

Un énorme merci à toute l'équipe et au CEA pour ce travail titanesque et sa gratuité non seulement on prend un grand plaisir à y jouer, mais en plus on apprend beaucoup de choses.

Je recommande à 100% :cool

#2 Re : Rapports de bugs & demandes d'évolutions » Proposition d'évol : param de script / variable en param d'effet ✓ » 15-10-2019 04:32:23

KLB

Merci Z pour cette réponse détaillée

Pour les variables input / output, je te rejoins c'est d'ailleurs ce que j'ai fait au final (oui c'est moins élégant pour un dev, mais la plateforme n'étant pas limitée aux devs - et c'est bien là tout son intérêt - c'est pas bien grave :) )

Un grand merci pour le correctif sur deplacerObjet, je vais pouvoir simplifier mes scripts :D

Effectivement, j'utilise peut-être un peu trop le déplacerObjet j'avais pensé à la propriété actif mais ... comme là dans mon cas je focalise sur une façon de "zoomer" un objet d'inventaire, quelle que soit la scène sur laquelle on est, du coup je pense pas avoir trop le choix, mais par rapport à ma première version ou j'avais un objet zoom par objet d'inventaire, j'ai beaucoup simplifié :)

Si au passage ça peut aider certains qui voudraient faire la même chose voici en gros ce que j'ai fait :
[list=*]
[*]Définition d'une image 2 pour chaque objet, qui est sa représentation en mode zoom (l'image principale étant celle de l'objet dans la scène originale ou il a été récupéré)[/*]
[*]Création d'un objet "Fermer" qui est une croix sur fond transparent[/*]
[*]Création d'une variable ObjetAZoomer (0)[/*]
[*]Création d'une variable ObjetZoom (0)[/*]
[*]Au clic sur un objet dans l'inventaire avec condition ObjetZoom = 0
- Affecter la variable {{ObjetAZoomer}} avec l'id de l'objet cible
- Appel du script ZoomObjetInventaire
[/*]
[/list]
Le script ZoomObjetInventaire fait les choses suivantes (condition {{ObjetAZoomer}}>0)
[list=*]
[*]Affecter la variable {{ObjetZoom}} avec la valeur de {{ObjetAZoomer}}[/*]
[*]Modifier l'objet {{ObjetZoom}} pour mettre l'image 2 en image courante[/*]
[*]Modifier la propriété plan de l'objet {{ObjetZoom}} à la valeur 500 (pour être sur qu'il soit au dessus de toues les autres objets présents dans la scène courante)[/*]
[*]Positionner et retailler l'objet {{ObjetZoom}} pour l'avoir en grand et centré sur l'écran[/*]
[*]Déplacer l'objet {{ObjetZoom}} sur la scène courante (maintenant je peux le faire :) , avant je le faisait dans le gameScript du clic sur l'objet dans l'inventaire)[/*]
[*]Déplacer l'objet Fermer sur la scène courante[/*]
[*]Affecter la valeur 0 à la variable {{ObjetAZoomer}}
[/*]
[/list]
Au clic sur l'objet fermer quel que soit le lieu (condition {{ObjetZoom}}>0)
[list=*]
[*]Appeler le script DezoomObjetInventaire[/*]
[/list]
Le script DezoomObjetInventaire fait les choses suivantes (condition {{ObjetAZoomer}}>0)
[list=*]
[*]Déplacer l'objet fermer vers le réservoir[/*]
[*]Déplacer l'objet {{ObjetZoom}} vers le réservoir (maintenant je peux, avant je lui mettais une taille à 0) - ça peut faire peur, mais l'objet reste quand même dans l'inventaire [/*]
[*]Affecter la valeur 0 à la variable {{ObjetZoom}}
[/*]
[/list]

Bien sur tout ça fonctionne parce que la taille de mes objets en mode Zoom est identique pour tous les objets, c'est ce qui permet de factoriser le repositionnement / retaillage dans le script

Pour certains objets interactifs, dans le gameScript du clic sur l'objet dans l'inventaire, je déplace une zone clicable sur la scène courante, dont le gameScript contient l'action à faire quand on clique dessus

Le seul petit hic (si je puis dire) c'est qu'en faisant ça, par défaut l'objet Zoomé est clicable et qu'un clic dessus le ramasse (même en ayant mis une condition {{ObjetZoom}} != Id de l'objet dans les condition de mon script de ramassage
Pour palier ça, j'ai mis un gaeScript sur chaque objet avec comme condition {{ObjetZoom}} = id de l'objet (en priorité basse) avec comme action d'afficher un message.

D'ailleurs au passage, je voulais utiliser la description, de l'objet comme message (pratique parce qu'on peut la modifier selon le contexte) mais l'instruction

message:{{_description_34215}}

ne fonctionne pas, enfin ça ffiche vraiment {{_description_34215}} à l'écran

Voilà,  j'ai fait tout ça en réfléchissant comme un dev, ça se trouve il y a beaucoup plus simple à faire :D

#3 Re : Rapports de bugs & demandes d'évolutions » Vérifier le jeu : Erreur SQL / contactez JAWA - correlation ID = ... » 14-10-2019 04:04:32

KLB

Je n'arrive plus à reproduire :|
J'avais l'éditeur ouvert sur mon navigateur depuis plus d'une journée et fait beaucoup de manips, peut-être qu'à un moment ça fini par se produire...
Du coup ben désolé de t'avoir fait perdre du temps, si jamais ça se reproduit j'essayerais de détailler :)

#5 Rapports de bugs & demandes d'évolutions » Proposition d'évol : param de script / variable en param d'effet ✓ » 13-10-2019 06:09:38

KLB
Réponses : 2

Hello

J'ai regarder la doc et le devlog (bon courage pour le dépiler il est déjà bien chargé :) ), je ne pense pas avoir vu ces idées
Deux évolutions que je propose :

[b]1 - paramètre de script [/b]
Quand on appelle un script, pouvoir lui passer en paramètre une variable comme par exemple un objet, un lieu, un script
Pouvoir utiliser cette variable dans las paramètres d'effet.
[color=blue]Exemple d'appel[/color]

// 34222 est la paramètre envoyé au script
actionnerObjet:34329:34222

[color=blue]Exemple d'utilisation[/color]

// _P1 est le paramètre reçu en entrée du script
deplacerobjet:_P1:0
deplacerobjet:34223:0
son:34231:0:100

Ça permettrait de factoriser en un script des actions communes à plusieurs objets / lieux sans avoir besoin de dupliquer

Dans le même esprit pourquoi pas aussi une variable de sortie qu'on pourrait utiliser en retour,
genre :

variable:OBJETZOOM:actionnerObjet:34329:34222

mais là ça me parait compliqué et surement source d'erreurs :)

[b]2 - Utilisation de variable de jeu dans les paramètres d'effets[/b]
En parcourant la documentation, j'ai fini par trouver comment utiliser les variables en paramètre de certains effets.
Par contre ça ne fonctionne pas pour [b]deplacerObjet[/b]
Exemple :

 deplacerObjet:{{OBJETZOOM}}:-1

Donne l'erreur [color=red]Erreur : l'identifiant de l'objet/perso doit être numérique[/color]

pour rejoindre la première idée, si on est dans un script on devrait pourvoir utiliser un paramètre d'entrée du script
exemple :

 deplacerObjet:_P1:-1

#6 Re : Rapports de bugs & demandes d'évolutions » Vérifier le jeu : Erreur SQL / contactez JAWA - correlation ID = ... » 12-10-2019 13:54:50

KLB

Finalement, j'ai réussi à supprimer l'interaction orpheline après avoir fermer et rouvert le navigateur.

Le jeu est de nouveau vérifiable :)

#7 Rapports de bugs & demandes d'évolutions » Vérifier le jeu : Erreur SQL / contactez JAWA - correlation ID = ... » 12-10-2019 13:02:17

KLB
Réponses : 7

N° du jeu : #2556
Navigateur : Google Chrome Version 77.0.3865.90 (Build officiel) (64 bits)

Message d'erreur quand je veux vérifier le jeu :
[b]Erreur SQL / contactez JAWA - correlation ID = 1570883588[/b]

Après avoir un peu galérer à essayer de gérer des zoom d'inventaires qui peuvent être interactifs, j'avais un objet [color=blue]Fermer[/color] que je déplaçais sur le lieu courant en même temps que mon objet [color=blue]xxxx Zoom[/color] (de type élément de décors) et sur lequel le gamescript effectuait les actions suivants

// Fermer
deplacerObjet:34229:-1
//Boite en marbre
deplacerObjet:34221:-1
//Livret
deplacerObjet:34223:-1
// Gong
deplacerObjet:34217:-1
// Crochet
deplacerObjet:34226:-1
// Gong sans crochet
deplacerObjet:34227:-1

Ça buguait dès qu'on zoomait deux fois sur un même objet avec des messages d'erreur de type [color=red]"L'objet ne peut être déplacé dans un lieu qui n'a pas été chargé"[/color] (je ne me souviens plus du mesage exact
Après plusieurs tentatives, je ne pouvais plus Vérifier le jeu, avec le message ci-dessus

Je ne pouvais plus éditer le gamescript de mon objet [color=blue]Fermer[/color] (même message d'erreur)

Au final j'ai fini par créer un script [color=blue]Fermer Zoom[/color]
J'ai supprimé l'objet [color=blue]Fermer[/color] (ce qui a créée une ligne [color=#FF0000]"Interactions orphelines"[/color] sur laquelle je ne peux rien faire :(

J'ai recréer un objet [color=blue]Fermer Zoom[/color] sur lequel j'appelle le script [color=blue]Fermer Zoom[/color]

Au final ça fonctionne bien mais je ne peux plus vérifier le jeu

Dans mes différents tests, j'ai aussi tenté de mettre des commentaires en fin de ligne de code
Par exemple :

deplacerObjet:34229:-1 // Fermer
deplacerObjet:34221:-1 //Boite en marbre
deplacerObjet:34223:-1 //Livret

Même si la vérification de syntaxe passe bien je ne suis pas sur que ça fonctionne bien

Au passage, un petit bug quand on est sur la version non expert de l'édition d'un gamescript
Avec l'effet déplacer objet, la destinattion "Réservoir" n'est accessible que pour les objets de type inventaire et renvoie en fait sur le lieu courant (second paramètre = 0)
En mode expert, on peut déplacer aussi les objets de type "Elément de décors" vers le réservoir (second paramètre = -1)

Pied de page des forums