Script pour CO Fantasy sous Roll20 5260
Forums > Jeux de rôle > JdR Black Book > Chroniques Oubliées
Salut, et désolé pour le crash. Pas facile à débugger sans plus de données. Tu peux déjà ré-appuer sur SAVE pour relancer le script (depuis le menu des API), et voir si tu peux reproduire le problème. Ke mieux, c'est que tu aies une fenêtre ouverte sur l'API pendant que tu essayes de reproduire dans une autre fenêtre, ça permettra de voir dans la console d'éventuels messages d'erreur. Si tu en voies, tu pourras me les coller ? De mon côté, je vais essayer de reproduire cet effet.
Edit: j'ai pu reproduire le problème, je peux donc débugger ça.
Je pense que l'idée de travailler via des "Issues" sur Github est une bonne idée. Si tu prends le temps d'encoder vite fait une issue, on pourrait plus facilement voir les petits ou gros trucs à faire, et prendre l'une ou l'autre story sur nous pour t'aider dans le dev.
Je vais en encoder une concernant en-selle, qui a des effets bizarres quand la monture est de taille G avec un token 2x2 ; la plupart des attaques du cavalier seront considérés comme "hors de portée" des créatures autour de la monture.
- Ulti
Je vais en encoder une concernant en-selle, qui a des effets bizarres quand la monture est de taille G avec un token 2x2 ; la plupart des attaques du cavalier seront considérés comme "hors de portée" des créatures autour de la monture.
Far2Casual
Je ne suis pas sûr que ce soit utile. Pour moi, ça marche comme je le voudrais, je crois. Aucune raison que le cavalier puisse taper des ennemis plus loin quand il est sur la monture. Ou alors il utilise une arme adaptée (et dans ce cas, on ajoute une option --allonge pour refléter ça). De même pour la piétaille, qui soit ne peux attaquer que la monture (si elle est vraiment grosse), soit utilise une pique avec --allonge 2.
Ou alors il y a des cas où ça ne fait pas ce qu'on voudrait ?
Pour information j'ai aussi loader les scripts suivants :
VectorMath
TokenNameNumber
TokenMod et ChangeTokenImg
Ainsi que votre formidable COFantaisy.
NoOb
Au fait, a priori, TokenNameNumber est inutile (et plutôt contre-productif, même si supporté) avec COFantasy, qui, sans ce script, se charge lui-même de faire la numérotation partout où c'est nécessaire. En tout cas, j'espère qu'il le fait sans bug et sans ennuyer l'utilisateur avec des numérotations non voulues.
- Entinus
Bonjour,
Merci beaucoup pour cette solution uuuultra rapide (c'est vraiment génial). Tout fonctionne désormais !
Je pense en effet supprimer TokenNameNumber qui m'a l'air de poser plus de problèmes qu'autre chose mais avant, j'avais justement une question et une remarque à vous poser et à vous faire au sujet du numérotage des tokens. Serait-ce possible d'avoir plus de détails sur leur fonctionnement ? car dans ma partie il y a des tokens qui se numérotent automatiquement et d'autre non, d'ailleurs ce sont généralement les plus vieux et donc peut-être ceux inplémentés dans la partie avant d'avoir installer le script mais je n'en suis pas tout à fait sûr. De plus lorsque je souhaite créer une macro pour monter sur une monture je dois mettre le nom de cette dernière dans la macro comme second argument : ex : !cof-en-selle !cof-en-selle @{selected|token_id} nom_de_la_monture . Sauf que, comme les tokens qui se numérotent automatiquement changent de nom en ajoutant le chiffre à la fin au moment où je les place sur la map la macro devient inutilisable. J'ai essayé en mettant "le_nom_de_la_monture 1" (sans et avec les guillemets) mais il semblerai que la macro prennent le 1 comme 3eme argument et ne fonctionne toujours pas.
J'ai quand même trouvé une solution qui est d'utilisé @{target|token_id}, mais je désirerais quand même savoir si cette macro devrait pouvoir marcher même avec le numérotage de tokens et si il est possible de désactiver/activer ce dernier.
En espérant m'être fait comprendre et en vous remerciant une nouvelle fois pour la qualité de votre travail.
- Ulti
Alors, pour la façon dont fonctionne la numérotation, il faut d'abord bien comprendre la différence entre personnage générique et personnage unique : un personnage unique ne sera représenté que par un seul token sur une carte. C'est typiquement un personnage-joueur, ou un PNJ qui a un nom. Le personnage générique, lui, correspond possiblement à plusieurs tokens pour la même fiche. Il est utilisé pour ne pas avoir à dupliquer des caractéristiques qui seraient toujours les mêmes. C'est typiquement le cas d'une fiche de gobelin.
En jeu, un token correspondant à un personnage unique va pouvoir lier sa barre 1 aux points de vie sur la fiche. Ça permet d'avoir une cohérence entre les différentes cartes : à chaque fois qu'on pose le token correspondant au personnage, il a le bon nombre de PVs. Un token correspondant à un personnage générique ne peut pas lier sa barre 1 aux points de vie sur la fiche, car sinon toutes les instances du personnages (les différents gobelins, par exemple) auraient le même nombre de points de vie.
Mes excuses si ce que j'ai dit au-dessus plus haut était superflu, mais le script reconnait donc un token comme représentant un personnage unique au fait que sa barre 1 soit liée ou nom à l'attribut de la fiche.
Une partie des informations sur l'état courant d'un personnage (unique ou non) se reflète sur le token : les PVs, le fait qu'il soit surpris, paralysé, etc. Le soucis, c'est que le script garde trace de beaucoup de choses, bien trop pour qu'on puisse facilement tout mettre sur le token. Il va donc aussi stoquer des choses dans les attributs de la fiche. Et pour distinguer les états de 2 gobelins distincts, il va se baser sur le nom des 2 tokens de gobelins. D'où l'importance pour les tokens de personnages génériques d'avoir tous un nom différent.
Donc, à chaque fois qu'on pose (ou qu'on copie) un token, le script regarde si la barre 1 est liée aux PVs du personnage qu'il représente. Si c'est oui, c'est un personnage unique, il n'y en aura pas 2 comme lui (ou si il y en a 2, ils partagent les PVs, donc ils partagent tout). Si c'est non, il regarde tous les tokens qui existent dans le jeu pour ce personnage générique et ajoute au nom du token un numéro qui n'a pas encore été pris.
Pour la monture, on a deux cas : soit la monture est un personnage unique (Grispoil, le cheval), et dans ce cas tu lui fais une fiche dédiée, et son token est lié, pas de numérotation. Le mieux est alors d'utiliser !cof-en-selle avec le nom, c'est plus simple (!cof-en-selle @{selected|token_id} Grispoil). Mais si tu veux monter sur un cheval quelconque, comme il risque d'être différent à chaque fois, tu peux laisser le joueur décider de la monture sur laquelle il monte, en utilisant la variante avec @{target|token_id}.
Il reste le cas où on voudrait absolument avoir un nom de token avec des blancs pour la monture, et utiliser la varainte avec le nom. Il faudra que j'implémente ça.
- Entinus
Salut Ulti, j'ai une question que je trouve un peu bête mais je ne comprends pas ce qu'il se passe:
Pour soin de groupe, j'ai suivi la doc est j'ai mis la macro suivante :
!cof-soin @{selected|token_id} groupe
Mais quand je lance soin de groupe le script me dit juste :
Karoom:n'a pas besoin de se soigner. Il est déjà au maximum de PV
Pourtant j'ai bien créé un handout avec les noms de mes équipiers. J'ai loupé quelque chose ?
Les logs de la sandbox n'affichent rien d'intéressant (pas de message d'erreur).
- Bleuzaille
Bonjour,
Tout d'abord félicitation pour ce travail magnifique, je débute dans l'utilisation de Roll20 donc ma question va paraitre surement bête mais je me lance quand même:
Est il possible de faire une macro pour un lancer de dé (un d20 par exemple) et avoir le même cadre que pour lancer un test de force par exemple :
Encore merci pour tout ce travail
- Ulti
Doc RedJericho
- Est-ce qu'il y a un paramètre sur les feuilles COF pour cacher les jets? (notamment pour les PNJ)
- Comme ca existe sur les feuilles COC
- Je ne l'ai pas trouvé dans l'interface (ni dans le code de la fiche a priori...)
Les jets cachés pour la fiche sont maintenant disponibles. Il est aussi possible d'avoir les jets de PNJs cachés par défaut en activant l'option de jeu (avant de lancer le jeu, dans Settings -> Game Settings, decsendre aux options de la fiche et changer "Jets de PNJs")
Salut, déjà un grand merci pour le script que je trouve vraiment génial et facilite grandement les combats surtout avec des joueurs novice et pour ma première en Mj aussi ^^, j'avais une question, j'ai créer des macro pour lancer des sons sur les sorts et attaque des PJ, pas de soucis cela fonctionne avec roll20 audio master, mais je voulais savoir s'il est possible de faire en sorte que le son ne se lance que si l'attaque réussi, et si elle rate pourquoi pas jouer un son différent qui signal le Miss en soit, pas de soucis avec les sorts c'est l'avantage ^^, ou alors est-ce qu'une macro existe pour intégrer cette option directement via roll20AM ou alors qu'elle arguments dois je chercher qui soit en lien avec le script dans la réussite de l'attaque, comme le déclenchement des effets de sang qui se font seulement en cas de réussite automatiquement.
Merci pour l'option je l'ai activé c'est impeccable merci, j'avais pas pensé à l'activer sur les fiche existante au début mais c'est good pour les nouvelles merci !
Bonnne continuation !
- Ulti
J'avais déjà un peu réfléchi à ça. Ça demande une intégration avec le script audiomaster. C'est faisable, j'ai déjà fait des interfaces pour les auras, mais c'est un peu de boulot. En tout cas, je ne pense pas qu'on puisse simplement faire ça sans toucher au scrpt. Une solution plus simple serait d'utiliser le jukebox normal de Roll20 à travers des options d'attaque, comme avec les effets. Est-ce que ça ne suffirait pas ?
- Mowtcho
La ce que j'ai fais c'est de créer des macro que j'intègre dans les abilities juste avant la macro d'attaque après ya quand même du décalage même en supprimant les delais, mais oui je pense que sa ferai largement l'affaire de faire de la même manière que les effets se serait facile à gérer et se lancerait que en cas de réussite ca serait top
j'avais vue des video de construction de macro mais sous le script de powercard pour lancé un son en cas de réussite et un autre en cas d'échec, mais jamais utilisé ^^