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();
});
})();