Clothing Reward question(s)

If you feel like you're up to the challenge of building your own Ages in Blender or 3ds Max, this is the place for you!

Re: Clothing Reward question(s)

Postby Maroonroon » Thu Nov 17, 2022 8:38 am

Je te répond tout de suite, sans avoir encore pris le temps de regarder tes nouveaux fichiers (ça sera a priori pour demain, lundi). :)

Sirius wrote:
Maroonroon wrote:Et toi tu en es où ? As-tu eu un peu de temps?

J'ai enfin pris un peu de temps, en effet. Entre le travail et ma tendance à la procrastination c'était pas simple :P J'espère que ça ne t'a pas trop retardé.

Non, t'inquiètes ; si je ne peux pas travailler sur les objets concernés par le bracelet, je le fait sur d'autres objets. ;)

Sirius wrote:
Maroonroon wrote:Est-il possible de faire en sorte que le bracelet soit plutôt une option supplémentaire, pour les 3 types de mains (Mains, Mitaines et Gants en laine), en le remontant juste un peu au dessus du gant kit à les mettre côte-à-côte s'il le faut ?
De ce que je peux voir, j'aurais tendance à penser que non, vu sa hauteur sur le poignet par rapport à la hauteur de la miniature, dans ce cas ce n'est pas grave, mais je préfère te demander confirmation.

Je préfère ne pas changer les modèles (il y en a deux, masculin/féminin). A chaque fois je dois réaligner les objets dans Blender, exporter et éditer un XML assez monstrueux, c'est assez long. Qui plus est, je ne suis pas sûr que le jeu supporte correctement le bracelet en tant qu'option additionnelle des gants... Pour ce qui est du "clipping" c'est peu visible et ça ne me surprendrait pas qu'il y en ai déjà avec les modèles de Cyan de toute façon.

Maroonroon wrote:Je viens de voir que pour un avatar Female il y a déjà un panneau à gauche pour la couleur des ongles, ceci explique cela.

Oui, ça m'a surprit aussi :lol: Encore une fois, par simplicité je préfère que la couleur du bracelet soit sur le même "calque" pour les deux types d'avatars.

Ok, pas de souci. :)

Sirius wrote:
Maroonroon wrote:Bon. Pour ce qui est de faire une animation à partir d'un fichier .max, je laisse tomber.

J'ai une bonne nouvelle de ce côté 8-) J'ai un script qui génère deux animations GetBracelet (homme/femme) à partir de l'animation LinkOut. L'animation est dupliquée et inversée de manière à ce que l'avatar tende la main, puis la retire.

C'est une excellente nouvelle ! 8-)

Sirius wrote:
Maroonroon wrote:pour augmenter le niveau d'accréditation ça passera par la résolution d'une énigme, or je n'ai pas encore tester ça.

Le plus simple serait que ton énigme active un dispenser à côté de celle-ci (avec une grosse lampe qui s'active pour indiquer quand il est fonctionnel), qui lui utilise le script déjà existant (trgnBraceletDispenser.py).

Maroonroon wrote:Par contre, je ne parviens pas à désactiver le Clickable d'une console (le Clikable est dans un ClikableBlocker géré par le script ElevatorConsole) si le niveau d'accréditation requis pour utiliser la console n'est pas obtenu, ni en "not networked" (sans variable SDL) ni en "networked" (avec variable SDL).

Dans le fichier zip précédent j'ai mis un exemple du fichier elevator qui te permet de désactiver l'étage 7 si l'avatar n'a pas son bracelet ;) (Le clickable n'est pas complètement désactivé mais l'ascenseur ne bouge pas et le bouton a une couleur différente.)

J'avais prévu que ça se fasse par le "détecteur" de la machine de l'étage correspondant (même procédé que quand on lâche un "Pellet" à "ErcanaCitySilo" : l'avatar valide un code, si le code est bon l'énigme est résolue et le détecteur augmente le niveau d'accréditation dans la foulée (un son est joué pour l'indiquer).
Je peux effectivement ajouter un Dispenser à chaque étage en plus de celui qui est à l'extérieur de la tour, j'ai d'ors et déjà trouvé leurs places éventuelles, mais ça me semble moins logique que de passer par le détecteur ; toujours est-il que l'activation de ces nouveaux Dispensers (et la notification visuelle ou sonore qui indique qu'il peut être utilisé) ne doit se faire que pour l'avatar qui à résolu l'énigme, son activation dépend donc d'une Chronique Personnelle de l'avatar, tout comme pour les consoles...
Mais bon, là il faut que je regarde tes nouveaux fichiers pour voir si j'y parviens. :)

Sirius wrote:J'ai survolé ton .ods, si je comprends bien, ce qu'il te manque c'est :
- jouer des sons avant le déplacement de l'ascenseur (je peux mettre un simple timer dessus)
- désactiver la baisse de crédit (pas de soucis de ce côté ci)
- changer la couleur du bracelet si son crédit est insuffisant

Je note et je vais voir pour corriger ça.

"- jouer des sons avant le déplacement de l'ascenseur (je peux mettre un simple timer dessus)" > Une connexion pour un node dans lequel entrer la durée du délai ("0" par défaut), ça serait parfait.

"- désactiver la baisse de crédit (pas de soucis de ce côté ci)" > Et désactiver aussi la réinitialisation du bracelet ainsi que la possibilité de retirer le bracelet via un Dispenser ; par contre, si l'avatar a un bracelet de niveau supérieur au niveau requis pour utiliser une console qui sert à résoudre une énigme (il l'a donc déjà résolu une 1ère fois et l'a ensuite réinitialisé) et qu'il la résout à nouveau, le niveau d'accréditation doit rester le même que celui déjà acquis (que la "mise à jour" du bracelet se fasse par le détecteur ou par un autre Dispenser).

"- changer la couleur du bracelet si son crédit est insuffisant" > En fait c'est déjà le cas, sauf qu'il faut qu'elle ne change que si une interaction autorisée est possible, ce qui va être très complexe à faire vu la configuration des différents éléments entrant en compte ; donc une connexion pour un node dans lequel indiquer s'il faut changer ou non la couleur du bracelet ("non" par défaut), serait également parfait.

Sirius wrote:Je vais aussi voir comment améliorer les problèmes de trad et de coloration du bracelet.

Ok ; plus besoin des boîtes de dialogue, seuls les messages du tchat sont nécessaires (c'était une bonne idée de les mettre). :)

Sirius wrote:
Maroonroon wrote:Au fait as-tu un compte sur Discord? Si oui, quel y est ton pseudo?

Houla, ça fait un moment que je ne l'ai pas utilisé, je n'ai même plus le logiciel d'installé. Cependant si un de ces week end tu veux de l'aide pour paramétrer les scripts, je peux réserver un après midi et on se fait ça sur Discord tranquille.

Ce n'est pas nécessaire, si besoin ça peut se faire ici ; c'est juste que quand je dis à quelqu'un que tu m'aide, je dis "Sirius, des forums GuilOfWriters, m'aide", alors que ça aurait pu être "@TonPseudoDiscord m'aide". :lol:

Edit:
Animation "GetBracelet" créée avec succès (j'ai aussi mis la durée pendant laquelle l'avatar tend la main à 3 secondes) et ça fonctionne parfaitement dans le jeu ! 8-)
J'ai corrigé le Dispenser pour que l'animation d'attribution du bracelet (qui se fait autour du poignet) se fasse bien à l'emplacement du bracelet. :)

Sirius wrote:A chaque nouvel export de Korman, les 3 fichiers (le SUM et les deux PRPs) seront modifiés. Donc avant que ça n'arrive, copie ces 3 fichiers dans un autre emplacement. Si tu veux voir les animations, il faudra recopier ces 3 fichiers dans ton dossier Uru après chaque export (si ils ne sont pas présents ce n'est pas grave, mais Uru n'arrivera pas à jouer l'animation de l'avatar et donc ne pourra pas te donner de bracelet).

J'utilise un fichier .bat pour lancer le jeu, j'ai donc mis les 3 fichiers exportés dans un dossier de sauvegarde et le .bat les copie dans le dossier "dat" avant de lancer le jeu. :)

Edit 2:
C'est bon, j'ai réussi à désactiver le Clickable d'une console si le niveau d'accréditation requis pour utiliser la console n'est pas obtenu ! 8-)
(Les boutons changeaient déjà de couleur en fonction de la variable SDL "Elevator2CurrentFloor".)
La prochaine étape sera de m'occuper des consoles qui servent à résoudre les énigmes, qui une fois résolues augmenteront le niveau d'accréditation, via les détecteurs si possible sinon via d'autres Dispensers.

Edit 3:
J'ai trouvé pour le problème d'encodage des caractères dans le tchat en Français ! 8-)
Je me suis souvenu que dans le jeu pouvait s'afficher "Un lien a été ajouté a votre Nexus", j'ai donc cherché le fichier qui contient ce message (python.pak > xKIFrench.py > xKIStatusNexusLinkAdded = 'Un lien a \xe9t\xe9 ajout\xe9 a votre Nexus') et en regardant les textes j'en ai déduis que pour afficher un caractère spécial, il faut écrire \[le code du caractère] :
Show Spoiler

Ensuite j'ai également regardé "moul-scripts-master\Python\system\encodings\cp863.py".

Ce qui donne :
Show Spoiler

Reste à savoir si c'est bon aussi pour l'Allemand.
Par contre, l'ayant dit sur Discord, on m'a informé que :
chinamicah wrote:You should probably be looking at cp1252 (also known as latin-1, the default codepage for non-unicode programs on English & French versions of Windows)
cp863 is a special French Canadian code page, which is not the default, even for Canada.
The reason it works is because \xe9 is also é in cp1252. But there is no guarantee that the character codes will be the same between code pages.
Also keep in mind that unless Plasma specifically specifies the code page in the code (unlikely) this will almost certainly not work on versions of Windows using non-western european languages (e.g. Hebrew, Greek, Chinese) because those each have their own default code page, where \xe9 probably means something else entirely.
That's why the H'uru people have been working on Unicode support so we don't have to deal with the code page mess.
\xe9 in the default Greek code page, cp1253, is lowercase iota (ι), for example

Et j'ai répondu :
TheScar(.fr) wrote:Thanks chinamicah; anyway this French message will be shown only for players which choosed this language for the game. (For Uru_CC there will also be the Dutch message, and the default English ones, the 3 common languages between Uru_CC and Drizzle; for MOUL(a) there will be the same languages than for the subtitles.) :)
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Clothing Reward question(s)

Postby Sirius » Sun Dec 11, 2022 5:19 am

Nouvelle version ! (J'ai également inclu les fichiers de l'ascenseur dedans.)

Maroonroon wrote:Je me suis souvenu que dans le jeu pouvait s'afficher "Un lien a été ajouté a votre Nexus", j'ai donc cherché le fichier qui contient ce message (python.pak > xKIFrench.py > xKIStatusNexusLinkAdded = 'Un lien a \xe9t\xe9 ajout\xe9 a votre Nexus') et en regardant les textes j'en ai déduis que pour afficher un caractère spécial, il faut écrire \[le code du caractère] :

En effet, la traduction dans PotS se fait au "p'tit bonheur" en fonction de ce qui fonctionne. Vu l'âge du jeu et le fait que uniquement 3 langues sont supportées, les caractères d'échappement sont la "bonne" manière de faire (étrangement ça m'a échappé lorsque j'ai testé le script). Dans MOUL le système de traduction a été complètement revu et fonctionne avec des fichiers .loc.
J'ai modifié le script pour supporter les deux types de traduction (merci de m'avoir épargé de retrouver les bonnes séquences :P ), et j'ai corrigé les caractères accentués. Je n'ai pas moyen de tester le système de trad pour MOUL, et la syntaxe du script devra peut être être ajustée pour qu'il compile sur MOUL. Pas idéal mais c'est un début. Je t'ai également inclus deux fichiers .loc, je ne sais pas si ils fonctionnent, encore une fois ça sera à tester le moment venu...

Par contre, pour la traduction dans l'armoire du Relto, il va falloir hélas se contenter de la version anglaise. Le système de traduction n'est pas assez flexible pour permettre de rajouter des items individuels dans PotS. (Dans MOUL ça semble faisable, mais une fois de plus à tester quand ça sera nécessaire.)

Bracelets : j'ai désactivé la baisse de crédit et l'enlèvement du bracelet. Tu peux désormais spécifier dans le script si le bracelet doit changer de couleur (et si oui, tu peux même spécifier une nouvelle couleur, ou laisser celle par défaut). Le bracelet garde sa couleur originale après l'activation.

Vérifie que tout fonctionne de ton côté avec ces modifs :)
User avatar
Sirius
 
Posts: 1508
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Clothing Reward question(s)

Postby Maroonroon » Wed Dec 14, 2022 10:48 am

Merci encore Sirius ! 8-)

Sirius wrote:En effet, la traduction dans PotS se fait au "p'tit bonheur" en fonction de ce qui fonctionne. Vu l'âge du jeu et le fait que uniquement 3 langues sont supportées, les caractères d'échappement sont la "bonne" manière de faire (étrangement ça m'a échappé lorsque j'ai testé le script). Dans MOUL le système de traduction a été complètement revu et fonctionne avec des fichiers .loc.
J'ai modifié le script pour supporter les deux types de traduction (merci de m'avoir épargé de retrouver les bonnes séquences :P ), et j'ai corrigé les caractères accentués. Je n'ai pas moyen de tester le système de trad pour MOUL, et la syntaxe du script devra peut être être ajustée pour qu'il compile sur MOUL. Pas idéal mais c'est un début. Je t'ai également inclus deux fichiers .loc, je ne sais pas si ils fonctionnent, encore une fois ça sera à tester le moment venu...

Il y avait un problème d'encodage des caractères dans le fichier "TrigonFrench.loc", ainsi que des erreurs dans les 2 fichiers, alors je les ai corrigé ; en les comparant avec les fichiers "C:\Myst Online Uru Live(again)\dat\Heek[Localization].loc", dont les messages s'affichent dans le tchat, j'ai remplacé "set name="Bracelet"" par "set name="Messages"" (mais j'ai peut-être eu tord).
Mais bon, effectivement on verra ça au moment de porter la chose sur MOUL.

J'ai également fait des modifications dans le fichier "trgnBraceletDispenser.py"
(et "trgnBraceletDetector" > requiredLevel = ptAttribInt(2, 'The bracelet access level required to open', 0, rang=(1, 8)))
car j'utilise un 8ème niveau d'accréditation, qui doit passer inaperçu aux yeux des joueurs...
Et c'est bon, ça fonctionne toujours ! :D (Par contre je n'ai pas réussi à faire moi-même ce dont je vais parler plus bas par rapport aux couleurs du bracelet.)
Du coup j'en ai profité pour modifier les messages à afficher dans le tchat.

TrigonEnglish.loc Show Spoiler

TrigonFrench.loc Show Spoiler

trgnBraceletDispenser.py Show Spoiler


Sirius wrote:Par contre, pour la traduction dans l'armoire du Relto, il va falloir hélas se contenter de la version anglaise. Le système de traduction n'est pas assez flexible pour permettre de rajouter des items individuels dans PotS. (Dans MOUL ça semble faisable, mais une fois de plus à tester quand ça sera nécessaire.)

Oui, j'ai essayé de regarder aussi de mon coté et ça a effectivement l'air d'être un sacré bazars... Beaucoup trop pour un si petit détail ! On fera sans. :)

Sirius wrote:Bracelets : j'ai désactivé la baisse de crédit et l'enlèvement du bracelet. Tu peux désormais spécifier dans le script si le bracelet doit changer de couleur (et si oui, tu peux même spécifier une nouvelle couleur, ou laisser celle par défaut). Le bracelet garde sa couleur originale après l'activation.

Vérifie que tout fonctionne de ton côté avec ces modifs :)

Ça fonctionne. :)
Et tu as bien fais d'ajouter la possibilité de spécifier une couleur, car dans le cas d'une mise à jour du bracelet via le détecteur, et donc quand on est déjà dans une région qui change la couleur du bracelet, le bracelet devenait vert (en étant toujours dans la région) et devenait rouge en sortant de la région.
Cette nouvelle version m'a permit de corriger ça. 8-)

Par contre juste une petite chose : Si on quitte l'Âge en étant dans une région qui change la couleur du bracelet, il reste de la couleur "Event".
Il faudrait récupérer la couleur sélectionnée par le joueur dans son armoire, ou à défaut le vert, et l'appliquer lors du linkout (ce que je n'ai pas réussi à faire moi-même).
Et dans le cas où je n'arriverais pas à augmenter le niveau du bracelet via le détecteur après avoir résolu une énigme, il faudrait également le faire lors d'un "Upgrade" du bracelet, sinon le bracelet redevient vert en utilisant un dispenser.
Note : Si on enlève le bracelet au Relto et qu'on le reprend dans l'Âge, il est vert ; malgré les modifications à faire, il faut bel et bien qu'il soit vert (si le joueur veut le remettre dans sa couleur originale).

Edit:
Pour la traduction dans l'armoire du Relto sur MOUL, a priori c'est dans "C:\Myst Online Uru Live(again)\dat\ACA[Localization].loc".
(Je l'ai mis lignes 260 à 262 dans une copie du fichier, juste pour tenter de m'en rappeler le moment venu.)

ACAFrench.loc au 14 décembre 2022 Show Spoiler
Last edited by Maroonroon on Thu Apr 20, 2023 11:45 am, edited 2 times in total.
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Clothing Reward question(s)

Postby Maroonroon » Wed Feb 22, 2023 1:44 pm

Des nouvelles ?
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Clothing Reward question(s)

Postby Sirius » Sun Mar 05, 2023 9:09 am

Ah, je n'avais pas vu ton message à propos de la couleur du bracelet lorsque l'on quitte l'âge...

Voici le script trgnBraceletDetector.py modifié, ça réparera le problème du bracelet (et évitera que la porte reste ouverte dans ce cas ci).

Show Spoiler
User avatar
Sirius
 
Posts: 1508
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Clothing Reward question(s)

Postby Maroonroon » Mon Apr 17, 2023 10:30 am

Ah, pour le coup de la porte qui reste ouverte quand l'avatar quitte l'Âge en étant dans la région de la porte, c'est bien vu. :D
Merci encore Sirius. 8-)

Edit: C'est bon, ça fonctionne parfaitement ! :)
Last edited by Maroonroon on Thu Mar 28, 2024 6:55 am, edited 1 time in total.
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Clothing Reward question(s)

Postby Maroonroon » Thu May 09, 2024 4:20 pm

Bonjour Sirius.
Excuse-moi de te déranger, mais j'aurais besoin de ton aide pour le bracelet.
J'ai apporté quelques modifications aux scripts pour le bracelet, qui fonctionnent toujours sur PotS et aussi sur Destiny, mais comme je ne connais pas vraiment le langage Python, c'est plutôt du bricolage ; du coup, j'aurais besoin de quelqu'un pour optimiser les fichiers...
J'ai demandé sur le Discord d'OpenUru, mais personne ne propose son aide. :|
Aurais-tu la possibilité de le faire, s'il-te-plaît ? :oops:
Voilà la version actuelle des fichiers :

TrigonBraceletDispenser.py Show Spoiler

TrigonBraceletDetector.py Show Spoiler

Note : Pour que les couleurs du bracelet et des ongles fonctionnent correctement, une mise à jour du fichier "GlobalClothing_District_Female.prp" est requise.
Le fichier est prêt, mais pour qu'il soit accepté il faut que quelqu'un apporte au fichier ".max" correspondant, les modifications que j'ai fait dans le PRP, et exporte la nouvelle version, sinon il sera écrasé la prochaine fois que quelqu'un modifiera le fichier ".max" : https://github.com/H-uru/moul-assets/issues/254
Donc, ne te poses pas trop de questions par rapport à ces parties des scripts...
Au fait, c'est bien "Sirius" que je dois indiquer comme nom dans les Credits ? :?:
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Clothing Reward question(s)

Postby Sirius » Fri May 10, 2024 8:45 am

Bonjour Maroonroon,

Tes scripts ont l'air OK - pas mal même si tu n'as jamais fait de Python. Tout a l'air globalement correct, mais voici une liste des modifications que je te recommande.

TrigonBraceletDetector.py Show Spoiler

Petit résumé :
  • "global braceletLayer" : j'aurais tendance à mettre cette ligne en début des fonctions qui modifient la valeur de cette variable, comme pour "resetBraceletOnLinkOut". Je ne sais pas lequel des deux est mieux (ça me semble égal), mais généralement c'est bien d'être consistant dans le même fichier. (En python, une variable en dehors d'une fonction est accessible à celle-ci en lecture seule, "global" veut juste dire que les fonctions peuvent également la modifier.)
  • Pour la couleur des bracelets, j'aurais tendance à mettre toutes les couleurs dans une variable "dictionnaire" en haut du fichier, ce qui simplifie le code de la fonction. Si tu veux vraiment utiliser un enchaînement de "if", utilise plutôt "if-elif-else". "elif" est la contraction de "else if", ce qui permet d'indiquer que deux "if" d'affilée ne peuvent pas être valides simultanément (c'est plus compréhensible, et ça permet à Python d'ignorer complètement les "if" une fois qu'il a réussi à en valider un). Le "else" est l'occasion de vérifier que tu n'as pas par erreur un cas invalide (niveau d'attribution que tu n'avais pas anticipé) - théoriquement ça ne devrait pas arriver, mais ça affichera un meilleur message si jamais tu as une erreur sur la valeur de l'attribution du bracelet.

TrigonBraceletDispenser.py Show Spoiler

Petit résumé :
  • Tu déclare beaucoup de variables en début de fichier (currentLevel, nailsColor etc), mais généralement ce n'est pas la peine. Tu peux juste les utiliser telles-quelle dans OnNotify, vu qu'elles ne sont pas partagées avec d'autres fonctions.
  • J'ai simplifié les fonctions de traduction pour éviter de toujours vérifier la variable "hasMoulLocalization" (notamment dans les fonctions TranslatePotS et TranslateMOUL, ce qui n'était pas utile). Vérifie que ça compile et fonctionne bien, notamment sur PotS qui utilise une ancienne version de Python.
  • Pour la couleur des bracelets, tu peux encore une fois utiliser un dictionnaire, mais ici j'ai juste corrigé l'enchainement de "if" pour utiliser "elif" et "else".
  • Je te conseille de déplacer les points finaux des traductions dans les traductions elles-même, c'est plus juste que de "patcher" le texte dans le script.
  • (Pinaillage pour la variable "getNailsColor" : généralement en programmation aucune variable ne commence par "get", vu que c'est un nom très commun de fonction/méthode - donc on pourrait renommer la variable "hasNailsColor". Mais vraiment pas grave, donc je ne l'ai pas modifié dans le code.)

Encore une fois, ce ne sont que des suggestions pour rendre le code plus clair. Je n'ai pas le temps de tester, mais je pense que tes scripts devraient fonctionner correctement, et ma version devrait être identique à l'exécution.


Je remarque également que tu m'avais envoyé un message privé il y a un moment. Désolé de ne pas l'avoir vu, le forum ne me notifie pas quand ils arrivent. En plus en ce moment je suis en plein changement de boulot et déménagement, donc j'ai généralement pas le temps pour quoi que ce soit :shock: :lol:
User avatar
Sirius
 
Posts: 1508
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Clothing Reward question(s)

Postby Maroonroon » Fri May 10, 2024 1:23 pm

Une fois de plus, merci beaucoup Sirius ! 8-)
C'est sympa d'avoir pris le temps de faire les résumés, ça va m'aider à comprendre un peu mieux le fonctionnement du langage Python, car c'est effectivement la première fois que je l'utilise.
La question c'est vais-je réussir à mémoriser, une fois pour toute, ces informations... Car mon principal problème est là : ma mémoire.
J'ai des soucis de mémoire à court terme, ce qui me gêne également pour les autres mémoires, et m'empêche donc d'apprendre de nouveaux langages informatiques ; j'avais déjà une mémoire sélective à la base, alors maintenant c'est parfois vraiment galère.

Désolé pour le(s) message(s) privé(s), mais comme il(s) étai(en)t marqué(s) comme non-envoyé(s) et que le(s) problème(s) a/ont fini par être résolu(s), j'ai supprimé le(s) message(s) ; je pensais que tu n'allais donc pas le(s) recevoir quand même... :oops:

Mes meilleurs vœux pour tes nouveaux travail et logement ! :)

Edit:

- Pour "TrigonBraceletDetector.py", il manquait des virgules dans le dictionnaire "braceletColorPerLevel". :D

- Pour "TrigonBraceletDispenser.py" :
Code: Select all
def Translate(messageId, args):
    if hasMoulLocalization:
        return TranslateMOUL(messageId, args)
    else:
        if args:
            return TranslatePotS(messageId % args)
        else:
            return TranslatePotS(messageId)

N'affiche aucun texte sur PotS.

J'ai essayé de le remplacer par :
Code: Select all
def Translate(messageId, args):
    if hasMoulLocalization:
        return TranslateMOUL(messageId, args)
    else:
        return TranslatePotS(messageId)

Le texte s'affiche mais avec "%d" dans le tchat au lieu de la valeur.

Donc, j'ai enlevé la fonction "Translate" et remis dans le OnNotify :
Code: Select all
if hasMoulLocalization:
    PtSendKIMessage(kKILocalChatStatusMsg, TranslateMOUL(message, [str(value)]))
else:
    PtSendKIMessage(kKILocalChatStatusMsg, TranslatePotS(message) % value)

Tout fonctionne, sur PotS et Destiny. :)
Merci encore ! 8-)
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Previous

Return to Building

Who is online

Users browsing this forum: No registered users and 16 guests