Articles sur : Blocs Celestory
Cet article est aussi disponible en :

⬛ Exécuter Javascript

⬜ Exécuter Javascript


Le bloc Exécuter Javascript permet d'exécuter un script JavaScript personnalisé au sein d'un module Celestory, offrant la possibilité de manipuler des données, effectuer des calculs complexes ou implémenter des algorithmes avancés.


Ce bloc est particulièrement utile pour les créateurs souhaitant étendre les fonctionnalités de base de Celestory avec des traitements spécifiques, tout en maintenant une intégration fluide avec le reste du graphe via des entrées et sorties dynamiques.


📥 Entrées


  • code (String) : Éditeur de code JavaScript où l'utilisateur saisit son script. Les erreurs de syntaxe peuvent entraîner des dysfonctionnements.
  • (Variables entrantes dynamiques) (Any) : Entrées créées automatiquement via celestoryPoints.get('nomVariable', defaultValue) dans le code. Chaque appel génère une entrée correspondante dans le bloc.


📤 Sorties


  • out (Flow) : Flux d'exécution normal, activé si le script s'exécute sans erreur.
  • catch (Flow) : Flux d'exécution alternatif, activé en cas d'erreur dans le script. Permet de gérer les exceptions et d'éviter un blocage du module.
  • (Variables sortantes dynamiques) (Any) : Sorties créées automatiquement via celestoryPoints.set('nomVariable', valeur) dans le code. Chaque appel génère une sortie correspondante dans le bloc.


💡 Exemple d'utilisation


Scénario : Calculer une réduction personnalisée en fonction du score du joueur


  1. Le joueur a accumulé un score de 150 points dans une quête.
  2. Vous souhaitez appliquer une réduction de 10% si le score dépasse 100, sinon une réduction de 5%.
  3. Placez le bloc Exécuter Javascript dans votre graphe et reliez-y le score du joueur via une entrée dynamique score.
  4. Dans le champ code, saisissez :
   const score = celestoryPoints.get('score', 0);
const reduction = score > 100 ? 0.1 : 0.05;
celestoryPoints.set('montantReduction', reduction);
  1. Le bloc génère automatiquement une sortie montantReduction contenant la valeur calculée (0.1 ou 0.05), que vous pouvez utiliser pour appliquer la réduction dans la suite du graphe.


⚙️ Détails Techniques

  • Gestion des variables dynamiques : Les entrées/sorties sont créées à la volée lors de l'exécution du script. Leur type dépend de la valeur transmise via celestoryPoints.get() ou celestoryPoints.set().
  • Gestion des erreurs : Toute exception non capturée dans le script active le flux catch. Il est recommandé d'utiliser des blocs de gestion d'erreurs pour les scripts critiques.
  • Contexte d'exécution : Le script s'exécute dans un environnement isolé avec accès limité aux APIs Celestory via l'objet celestoryPoints. Les opérations bloquantes ou asynchrones peuvent impacter les performances du module.

Mis à jour le : 04/03/2026

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !