Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×

[FR] Tu t'y connais en Macros? HELP ME!

Bonjour, Je ne m’y connais pas très bien en macros et je n’arrive pas à faire ceci: A. Le joueur clique sur la macro B. Fenêtre qui s’ouvre avec 2 menu déroulant (choix obligatoire): 1: « Manoeuvres »: 1 ; 2 ; 3 ; …. ; 9   ; 10. 2: « Risques »: 1 ; 2 ; 3 ; …. ; 9   ; 10. Puis on lance C. Roll20 affiche: « Manoeuvres »: [nombre du menu déroulant « Manœuvres »] x [/r 1d6] (couleur bleu + trié en ordre décroissant) « Personnage »: [/r 1d6] (couleur jaune) « Risques »: [nombre du menu déroulant « Risques »] x [/r 1d6] (couleur rouge + trié en ordre décroissant) EXEMPLE: [« Manoeuvres »= 6 + « Risques »= 4] Manoeuvres   5-5-4-2-2-1 Personnage   2 Risques   6-4-2-1   Est-ce que quelqu’un peut m’aider? Ou me dire si c’est impossible?   Merci d’avance! P.S. les couleurs c’est un plus, si il n’y en a pas je prend aussi!
1611239608

Edited 1611252077
David M.
Pro
API Scripter
De Google Traduction: Étant donné que vous avez un compte PRO, je pense qu'un script api personnalisé est probablement la solution la plus simple pour cela étant donné la complexité des entrées et des sorties. Une macro standard aura des difficultés à produire un nombre variable de valeurs de roulis discrètes, et changer la couleur de la sortie sera également délicat. J'ai mis en place un script rapide qui, je crois, fait ce que vous demandez. Il devra être installé manuellement dans votre page de scripts api. Quelqu'un d'autre pourra peut-être vous fournir une solution non api, mais c'était juste plus facile pour moi :). Syntaxe !mr ?{Manoeuvres|1,1|2,2|3,3|4,4|5,5|6,6|7,7|8,8|9,9|10,10} ?{Risques|1,1|2,2|3,3|4,4|5,5|6,6|7,7|8,8|9,9|10,10} Exemple de sortie Script (Edited - v0.2) const ManeuverRisk = (() => { const version = '0.2.0'; const scriptName = 'Manoeuvres'; const checkInstall = () => { log('-=> ' + scriptName + ' v' + version); }; //sendChat output formatting styles const _h = { inlineYellow: (...o) => `<span style="font-weight: bold;padding: .2em .2em; background-color:rgba(254,246,142,1);">${o.join('')}</span>`, inlineBlue: (...o) => `<span style="font-weight: bold;padding: .2em .2em; background-color:rgba(143,170,220,1);">${o.join('')}</span>`, inlineRed: (...o) => `<span style="font-weight: bold;padding: .2em .2em; font-color:rgba(255,255,255,1); background-color:rgba(255,0,0,1);">${o.join('')}</span>` }; const handleInput = (msg) => { let manRolls = []; let riskRolls = []; let charRoll = []; let manRollDisplay = ''; let riskRollDisplay = ''; let charRollDisplay = ''; if (msg.type=="api" && msg.content.indexOf("!mr") === 0 ) { try { who = getObj('player',msg.playerid).get('_displayname'); let args = msg.content.split(/\s+/); let numMan = parseInt(args[1]); let numRisk = parseInt(args[2]); //maneuver rolls for (let i = 0; i < numMan; i++) { manRolls.push(randomInteger(6)); } manRolls.sort().reverse(); log(manRolls); for (let i = 0; i < numMan; i++) { manRollDisplay = manRollDisplay + manRolls[i] + ' '; } manRollDisplay = _h.inlineBlue(manRollDisplay); //risk rolls for (let i = 0; i < numRisk; i++) { riskRolls.push(randomInteger(6)); } riskRolls.sort().reverse(); log(riskRolls); for (let i = 0; i < numRisk; i++) { riskRollDisplay = riskRollDisplay + riskRolls[i] + ' '; } riskRollDisplay = _h.inlineRed(riskRollDisplay); //char roll charRoll.push(randomInteger(6)); let charRollDisplay = _h.inlineYellow(charRoll[0]); //output using default template let output = `&{template:default} {{name=Manoeuvres/Risques}} {{Manoeuvres=${manRollDisplay}}} {{Personnage=${charRollDisplay}}} {{Risques=${riskRollDisplay}}}`; sendChat('', output); } catch(err) { sendChat('',`/w "${who}" `+ 'Error: ' + err.message); } }; }; const registerEventHandlers = () => { on('chat:message', handleInput); }; on('ready', () => { checkInstall(); registerEventHandlers(); }); })();
1611241416

Edited 1611241491
David M.
Pro
API Scripter
Aller à la page des scripts API Cliquez sur «Nouveau script», puis collez le code dans la fenêtre, puis «Enregistrer le script» (Vous renommerez le script avant de l'enregistrer) Puis lancez votre jeu, et créez une macro en utilisant la syntaxe décrite dans mon premier message.
WAAAAAW!!! 1000 fois merci!!!  Soit c'est un service client dont je ne savait rien, soit vous êtes génialement sympathique!  Et c'est du rapide en plus! Je n'ai juste pas trouvé comment changer la couleur du cadre et retirer le "ROLL:" mais je préfère pas tout casser, et c'est déjà très joli et fonctionnel comme ça, encore merci! À ce que je comprend de votre réponse c'est une macro compliquée, mais ce serait possible d'afficher les résultats en ordre décroissant? comme une ligne de code à rajouter à un endroit? Si non pas de soucis, je suis déjà très content du résultat, je n'avais pas espéré pouvoir jouer si vite!
1611252334

Edited 1611252416
David M.
Pro
API Scripter
Désolé, j'ai oublié le tri décroissant. La version 0.2 devrait fonctionner. Je ne sais pas comment changer la bordure violette, car il utilise simplement le style du modèle par défaut. Je ne sais pas non plus d'où viennent les "ROLLS", mais cette version ne devrait rien y écrire. J'ai édité le code ci-dessus avec la nouvelle version.
MERCIII!!! Grâce à vous je vais pouvoir jouer demain, y'a rien de plus précieux! Ça marche nickel! Merci et encore merci!!!
1611269456
David M.
Pro
API Scripter
Magnifique! Bon roulement!
Merciiii! à toi aussi!