Dear all, I've encountered a strange problem that I'm hoping that someone could help me with. To start with, I have a very basic knowledge of coding so when constructing these, I've borrowed code from others and mostly worked by trial and error. Anyway, I have two scripts, Script#1 and Script#2. Script#1 is a placeholder for a larger rollable table, but works just the way I want it to. One uses it by writing !test X, where X is a number, for instance !test 1 !test 2 etc. The second script is to roll exploding d6. One uses it by writing !ob X+Y , which is rolled as Xd6+Y. The problem is that when you do, it works but it also presents the results for the first script using the variable X. I've got no idea why script 2 presents the result from both script 1 and 2. Any help would be deeply appreciated. SCRIPT 1, name ‘test’ on("chat:message", function(Roll) { if (Roll.type != "api") { return; } var content = Roll.content; var CritRoll = parseInt(content.split(" ")[1]); if (CritRoll == 1) {sendChat("Crit table 1", "A one"); } else if (CritRoll == 2) {sendChat("Crit table 1", "A two"); } else if (CritRoll == 3) {sendChat("Crit table 1", "A three"); } else {sendChat("Crit table 1", "Higher") } }); SCRIPT 2, name ‘ob’ on("chat:message", function(msg) { if (msg.type != "api") { return; } var message = msg.content; var command = message.split(" ")[0]; var numrolls = parseInt(message.split(" ")[1]); var outroll = "ob" + message.split(" ")[1] + ": "; var plus = 0; var times = 0; if(message.search(/\+/g)!=-1){ plus = parseInt(message.split("+")[1]); } else if(message.search(/\*/g)!=-1){ times = parseInt(message.split("*")[1]); } if (command == "!ob") { var count = 0; var total = 0; var roll = 0; var first = true; var output = "" + outroll + "" ; while (count < numrolls) { roll = randomInteger(6); if (roll === 6) { if(first == true){ output = output + "[6]"; first = false; numrolls = numrolls + 2; } else{ output = output + ",[6]"; numrolls = numrolls + 2; } } else { total += roll; if(first == true){ output = output + roll; first = false; } else{ output = output + "," + roll; } } count++; } if(plus > 0 && times == 0){ sendChat(msg.who, output + " = " + total + "+" + plus + " Total: " + (total+plus) + ""); } else if(plus == 0 && times > 0){ sendChat(msg.who, output + " = " + total + "*" + times + " Total: " + (total*times) + ""); } else{ sendChat(msg.who, output + " Total: " + (total) + ""); } } });