Table des matières

Le commencement

Découverte de MapTools et des autres outils de RPTools. Cette partie est là pour permettre d'y voir plus clair. Elle évolue donc en fonction de la compréhesion que nous avons du logiciel.

Maptools

Maptools, concept à avoir en tête : Les règles sont associée à la notion de Campagne

Un framework est un ensemble de règles instanciées, elle est une forme de campagne, vous devez partir de cette campagne pour créer vos campagne dans cet univers. Il y a déjà pas mal de JDR associée (DD4, Pathfinder (DD3.5), Shadowrun, Hero, etc…) à chercher et à télécharger.

Pour l'instant, les macros sont regroupées dans un ou deux pions (token), et ont des macros au niveau de la campagne (visible donc de tous), qui permette d'appeler les bonnes macros.

Ce logiciel n'est pas fait pour faire du JDR sous forme de blog/forum (mais peut être qu'il faudra faire l'extension :-) ). Il est très frustre quand à la saisie, mais les sources sont disponibles, j'ai même réussit à faire l'application à partir des sources… (bon ! c'est pas si difficile que ça !)

Campagne et règles de JDR

dans Edition→préférence de la campagne, vous avez la définition des règles. la notion de règles est assez bizzare car elle part du principe que la feuille de personnage représente tout le système. Quoi qu'il en soit, c'est ici que l'on définit les propriétés (voire les données) du jeu avec des trucs assez louffoque.

exemple le début de K²

–| General |—
Race:””
Classe:””% *Ethnie:””
—| Attributs |—% *Force (Fo):D100% *Agilite (Ag):D100% *Endurence (End):D100% *Presence (Pr):D100% *Intelligence (Ig):D100% *Intuition (It):D100% *Volonte (Vo):D100
—| Attributs Secondaires |—
B.Dom:{json.get(tabDes,Force)}
InitBASE:5
#PNJ:0
TAI:0
DEXMax:10
—| Competences |—
—|Tableaux|—–
tabDes:{ “D300”:-5, “D240”:-4, “D200”:-3, “D150”:-2, “D120”:-1, “D100”:0, “D80”:1, “D60”:2,”D40”:3 }
tabInit:{ “DAg”: { “D300”:0, “D240”:0, “D200”:1, “D150”:1, “D120”:2, “D100”:3, “D80”:4, “D60”:5,”D40”:7 }, “DIt”: { “D300”:0, “D240”:0, “D200”:0, “D150”:0, “D120”:1, “D100”:2, “D80”:3, “D60”:4,”D40”:5 } }
DAg:{ “D300”:0, “D240”:0, “D200”:1, “D150”:1, “D120”:2, “D100”:3, “D80”:4, “D60”:5, “D40”:7 }
DIt:{ “D300”:0, “D240”:0, “D200”:0, “D150”:0, “D120”:1, “D100”:2, “D80”:3, “D60”:4, “D40”:5 }
</align>

Quelques explications

Le système utilise la notion de paires de valeurs son nom : sa valeur. Son nom peut avoir des préfixes comme *, # etc… qui permette de voir une visibilité de l'objet.

Donc, *QQchose(Abrégé) * donne le droit d'être vu au moment du survol par le joueur, la valeur affichée est Abrégé correspondant à l'abréviation du QQchose, seul QQchose sera utilisable dans le code.

On a la notion de json (pas pour jeune garçon mais pour JavaScript Object Notation), permet de définir des objets et des listes. Les objets sont séparés par des point virugles (;) et les listes sont séparées par des virgules (à vérifier). Donc ci-dessus nous avons des attributs avec leurs valeurs par défaut (D100).

Les commandes dans les macros

Il faut savoir qu'une commande est un truc comme ça :

[prefix:commande]

prefix va déterminé la visibilité du résultat voir certaine gestion conditionnelle, le préfix fini avec les deux points, les préfix (peut en avoir plusieurs) sont séparés par des virgules

commande : c'est une seule commande (mais y a un truc qui permet de faire un block, mais je verrai ça plutard)

[h:toto=3d6+2] va affecter la variable toto le résultat 3d6+2, et tout cela en cachette !

h donc pour hiden (pas vu)

r : pour result only (du moins je dirais comme ça) on n'a que le resultat, pas d'information supplémentaire

e : pour explode, on a un maximum d'information (à vérifier)

les trucs et astuces

seul les tokens (jetons) qui commence par “lib:” peuvent être appelé et doivent avoir la case à coché :

“ S'applique à tous les jetons selectionnés”

on appel leurs fonctions (macros) par NomMacro@lib:NomJeton, avec le code suivant par exemple :

[macro(“locJsonTest@lib:SystemNPQ”):“”]</font> </font>

</font>

Un truc vraiment enervant : Si dans cette exécution, une variable existante est demandée, c'est que l'option “S'applique à tous les jetons selectionnés” n'est pas coché dans la fonction d'appel !

Ma compréhension de JSON

</font>

Comme je l'ai déjà écrit, JSON est un outils puissant de gestion “d'objets” (leurs instanciations et particulièrement la partie donnée) sous forme de chaine de caractère.

ex : tabDes:{ “D300”:-5, “D240”:-4, “D200”:-3, “D150”:-2, “D120”:-1, “D100”:0, “D80”:1, “D60”:2,“D40”:3 }

dans la partie définition des règles, définie un tableau de valeurs (vous devriez voir liste plutot que tableau), qui donne un chiffre pour un dé. Des fonctions sympa de json sont accéssibles comme : </font>

[json.fields(tabDes)] qui donnera : “json.fields(tabDes)={ “D300”:-5, “D240”:-4, “D200”:-3, “D150”:-2, “D120”:-1, “D100”:0, “D80”:1, “D60”:2,”D40“:3 }=D300,D240,D200,D150,D120,D100,D80,D60,D40”

json.get(tabDes,“D300”) donnera -5

</font>