The Numberz
Author: brooklynsinclair
Description Launch Bot Current Users

Short Description:

“Lucky guess” board - modified for my room.

Full Description

A modified version of ‘Lucky Guess’ by 0_____dash_____ & ‘Lucky Guess 1.0.9.1’ by markysparkie for my room.

(AKA Naughty Number Board!)

—————————————————
ORIGINAL OPEN SOURCES:
// vars
var VERSION = '1.0.9.1';

var guessedNumbers = [];
var winner = false;
var amount;
var strdash = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
var nl = '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501';
var slugtimer = 2.5;
var msg_prize;

cb.onTip(function (tip) {
var minNumber = cb.settings.minNumber;
var maxNumber = cb.settings.maxNumber;
var found = false;
if(winner != true){
if (tip.amount == cb.settings.guessNumber) {
cb.chatNotice("\n" + strdash + "\n :woohoo \n You have guessed the Lucky number !!!\n " + tip.from_user + " wins " + cb.settings.prize);
cb.chatNotice("Lucky Number: " + tip.amount + "\n" + strdash);
new_subject="Lucky Number FOUND: " + cb.settings.prize + cb.settings.roomSubject;
cb.changeRoomSubject(new_subject);
winner = true;
}
else {
if (guessedNumbers.indexOf(tip.amount) < 0 && tip.amount <= maxNumber && tip.amount >= minNumber){
cb.chatNotice(strdash + "\nNot the lucky number - keep guessing\n" + strdash);
guessedNumbers.push(tip.amount);
guessedNumbers.sort(function(a,b){
return a-b;
});
updateBoard();
}
}
}
else {
return;
}
}
);

function update_subject(minNumber, maxNumber, prize, roomSubject) {
var new_subject = roomSubject + "\n Lucky Guess Prize: " + prize;
cb.changeRoomSubject(new_subject);
}

function msg_gamesubject(minNumber, maxNumber, prize) {
var new_gs = "Lucky Guess from " + minNumber + " to " + maxNumber + " - Winning Prize: " + prize;
msg_prize = new_gs;
msg_send(null);
}

function msg_send(user){
if (user) {
cb.sendNotice(msg_prize, user)
} else {
cb.sendNotice(msg_prize)
}
}

function drawBoard(user) {
if (user) {
cb.sendNotice(board, user)
} else {
cb.sendNotice(board)
}
}

function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str
}
return str
}

function updateBoard() {
var out = "Lucky Guess Board - Winning Prize: " + cb.settings.prize + "\n";
out += nl + '\n';

var mod = 10;
var col = 1;
if (cb.settings.maxNumber - cb.settings.minNumber > 100) mod = 15;
for (var i = cb.settings.minNumber; i <= cb.settings.maxNumber; i++) {
out += ' ';
if (guessedNumbers.indexOf(i) < 0 ) {
out += pad(i,2)
} else {
out += 'xx'
}
out += ' ';
if (col == mod) {
out += '\n';
col = 1
} else {
col++
}

}
if (out.substring(out.length - 1) != '\n') out += '\n';
out += nl;
board = out
}

function notify(message, u, bg, c, w) {
if (bg == null) {
bg = '#FFF';
}
if (c == null) {
c = '#000';
}
if (w == null) {
w = 'bold'; // leave at '' for normal
}
if (u == 'onlyMods') {
cb.sendNotice(message,'',bg,c,w,'red');
}
else if (u == 'roomHost') {
cb.sendNotice(message,roomHost,bg,c,w);
}
else if (u == 'modsAndHost') {
cb.sendNotice(message,'',bg,c,w,'red');
cb.sendNotice(message,roomHost,bg,c,w);
}
else if (u == null) {
cb.sendNotice(message,'',bg,c,w);
}
else {
cb.sendNotice(message,u,bg,c,w);
}
}

cb.onMessage(function (msg) {
var msgString = msg['m'].trim();
var isCommand = msgString.charAt(0).match(/(\/|!)/gi);

if (isCommand) {
// Lucky Number Board
if (msg['m'].match(/(^|\s)(!|\/)b\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
cb.sendNotice('To send the board to the entire room, use //b or !!b', msg['user'], '#FFCCCC', '#BB2222', 'bold')
}
if (msg['user'] == cb.room_slug || msg['is_mod'] || msg['has_tokens']) {
msg['m'] = msg['m'] + " (lucky number: board sent to " + msg['user'] + ")";
drawBoard(msg['user'])
} else {
msg['m'] = msg['m'] + " (lucky number: please buy tokens to play!)";
msg['X-Spam'] = true
}
}
if (msg['m'].match(/(^|\s)(!!|\/\/)b\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
msg['m'] = msg['m'] + " (lucky number: board sent to all)";
drawBoard(null)
}
}

// Send lucky name title and Prize
if (msg['m'].match(/(^|\s)(!|\/)p\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
cb.sendNotice('To send the prize list to the entire room, use //p or !!p', msg['user'], '#FFCCCC', '#BB2222', 'bold')
}
if (msg['user'] == cb.room_slug || msg['is_mod'] || msg['has_tokens']) {
msg['m'] = msg['m'] + " (lucky number: prize list sent to " + msg['user'] + ")";
msg_send(msg['user'])
} else {
msg['m'] = msg['m'] + " (lucky number: please buy tokens to play!)";
msg['X-Spam'] = true
}
}
if (msg['m'].match(/(^|\s)(!!|\/\/)p\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
msg['m'] = msg['m'] + " (lucky number: prize list sent to all)";
msg_send(null);
}
}

// Send Version
if (msg['m'].match(/(^|\s)(!|\/)version\b/i)) {
cb.sendNotice(VERSION, msg['user'])
}
return msg
}

});

function setSettings(){
cb.settings_choices = [
{
name:'minNumber', type:'int',
minValue: 1, default: 10, label: "Lowest number to guess"
},
{
name:'maxNumber', type:'int',
minValue: 16, default: 111, label: "Highest number to guess"
},
{
name:'guessNumber', type:'int',
minValue: 1, default: 55, maxValue: 150, label: "Lucky Number"
},
{
name:'prize', type:'str', label: "Prize to win"
},
{
name:'roomSubject', type:'str', label: "Add your Room Subject"
},
{
name:'tmguessboard', type:'int',
minValue: 1, maxValue: 15, default: 5, label: "When to show number board (in minutes)"
}
];
}

function advert_game() {
msg_gamesubject(cb.settings.minNumber, cb.settings.maxNumber, cb.settings.prize);
cb.setTimeout(advert_game, (slugtimer * 60000))
}

function advert_board() {
updateBoard();
drawBoard(null);
cb.setTimeout(advert_board, (cb.settings.tmguessboard * 50000))
}

function init() {
setSettings();
if (cb.settings.minNumber <= cb.settings.maxNumber && cb.settings.guessNumber >= cb.settings.minNumber && cb.settings.guessNumber <= cb.settings.maxNumber) {
update_subject(cb.settings.minNumber, cb.settings.maxNumber, cb.settings.prize, cb.settings.roomSubject);
msg_gamesubject(cb.settings.minNumber, cb.settings.maxNumber, cb.settings.prize);
updateBoard();
drawBoard(null);
cb.setTimeout(advert_board, (cb.settings.tmguessboard * 50000));
cb.setTimeout(advert_game, (slugtimer * 60000));
}
else {
cb.sendNotice('ERROR: \nLowest number can\'t be bigger than Highest number,\nLucky Number must be between Lowest and Highest number,\nrestart the app and change the settings', cb.room_slug)
}
}

init();

// vars
var VERSION = '1.0.9';

var guessedNumbers = [];
var winner = false;
var amount;
var strdash = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
var nl = '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501';
var slugtimer = 2.5;
var msg_prize;

cb.onTip(function (tip) {
var minNumber = cb.settings.minNumber;
var maxNumber = cb.settings.maxNumber;
var found = false;
if(winner != true){
if (tip.amount == cb.settings.guessNumber) {
cb.chatNotice("\n" + strdash + "\n :woohoo \n You have guessed the Lucky number !!!\n " + tip.from_user + " wins " + cb.settings.prize);
cb.chatNotice("Lucky Number: " + tip.amount + "\n" + strdash);
new_subject="Lucky Number FOUND: " + cb.settings.prize + cb.settings.roomSubject;
cb.changeRoomSubject(new_subject);
winner = true;
}
else {
if (guessedNumbers.indexOf(tip.amount) < 0 && tip.amount <= maxNumber && tip.amount >= minNumber){
cb.chatNotice(strdash + "\nNot the lucky number - keep guessing\n" + strdash);
guessedNumbers.push(tip.amount);
guessedNumbers.sort(function(a,b){
return a-b;
});
updateBoard();
}
}
}
else {
return;
}
}
);

function update_subject(minNumber, maxNumber, prize, roomSubject) {
var new_subject = roomSubject + "\n Lucky Guess Prize: " + prize;
cb.changeRoomSubject(new_subject);
}

function msg_gamesubject(minNumber, maxNumber, prize) {
var new_gs = "Lucky Guess from " + minNumber + " to " + maxNumber + " - Winning Prize: " + prize;
msg_prize = new_gs;
msg_send(null);
}

function msg_send(user){
if (user) {
cb.sendNotice(msg_prize, user)
} else {
cb.sendNotice(msg_prize)
}
}

function drawBoard(user) {
if (user) {
cb.sendNotice(board, user)
} else {
cb.sendNotice(board)
}
}

function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str
}
return str
}

function updateBoard() {
var out = "Lucky Guess Board - Winning Prize: " + cb.settings.prize + "\n";
out += nl + '\n';

var mod = 10;
var col = 1;
if (cb.settings.maxNumber - cb.settings.minNumber > 100) mod = 15;
for (var i = cb.settings.minNumber; i <= cb.settings.maxNumber; i++) {
out += ' ';
if (guessedNumbers.indexOf(i) < 0 ) {
out += pad(i,2)
} else {
out += 'xx'
}
out += ' ';
if (col == mod) {
out += '\n';
col = 1
} else {
col++
}

}
if (out.substring(out.length - 1) != '\n') out += '\n';
out += nl;
board = out
}

function notify(message, u, bg, c, w) {
if (bg == null) {
bg = '#FFF';
}
if (c == null) {
c = '#000';
}
if (w == null) {
w = 'bold'; // leave at '' for normal
}
if (u == 'onlyMods') {
cb.sendNotice(message,'',bg,c,w,'red');
}
else if (u == 'roomHost') {
cb.sendNotice(message,roomHost,bg,c,w);
}
else if (u == 'modsAndHost') {
cb.sendNotice(message,'',bg,c,w,'red');
cb.sendNotice(message,roomHost,bg,c,w);
}
else if (u == null) {
cb.sendNotice(message,'',bg,c,w);
}
else {
cb.sendNotice(message,u,bg,c,w);
}
}

cb.onMessage(function (msg) {
var msgString = msg['m'].trim();
var isCommand = msgString.charAt(0).match(/(\/|!)/gi);

if (isCommand) {
// Lucky Number Board
if (msg['m'].match(/(^|\s)(!|\/)b\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
cb.sendNotice('To send the board to the entire room, use //b or !!b', msg['user'], '#FFCCCC', '#BB2222', 'bold')
}
if (msg['user'] == cb.room_slug || msg['is_mod'] || msg['has_tokens']) {
msg['m'] = msg['m'] + " (lucky number: board sent to " + msg['user'] + ")";
drawBoard(msg['user'])
} else {
msg['m'] = msg['m'] + " (lucky number: please buy tokens to play!)";
msg['X-Spam'] = true
}
}
if (msg['m'].match(/(^|\s)(!!|\/\/)b\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
msg['m'] = msg['m'] + " (lucky number: board sent to all)";
drawBoard(null)
}
}

// Send lucky name title and Prize
if (msg['m'].match(/(^|\s)(!|\/)p\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
cb.sendNotice('To send the prize list to the entire room, use //p or !!p', msg['user'], '#FFCCCC', '#BB2222', 'bold')
}
if (msg['user'] == cb.room_slug || msg['is_mod'] || msg['has_tokens']) {
msg['m'] = msg['m'] + " (lucky number: prize list sent to " + msg['user'] + ")";
msg_send(msg['user'])
} else {
msg['m'] = msg['m'] + " (lucky number: please buy tokens to play!)";
msg['X-Spam'] = true
}
}
if (msg['m'].match(/(^|\s)(!!|\/\/)p\b/i)) {
if (msg['user'] == cb.room_slug || msg['is_mod']) {
msg['m'] = msg['m'] + " (lucky number: prize list sent to all)";
msg_send(null);
}
}

// Send Version
if (msg['m'].match(/(^|\s)(!|\/)version\b/i)) {
cb.sendNotice(VERSION, msg['user'])
}
return msg
}

});

function setSettings(){
cb.settings_choices = [
{
name:'minNumber', type:'int',
minValue: 1, default: 10, label: "Lowest number to guess"
},
{
name:'maxNumber', type:'int',
minValue: 16, default: 111, label: "Highest number to guess"
},
{
name:'guessNumber', type:'int',
minValue: 15, default: 55, maxValue: 150, label: "Lucky Number"
},
{
name:'prize', type:'str', label: "Prize to win"
},
{
name:'roomSubject', type:'str', label: "Add your Room Subject"
},
{
name:'tmguessboard', type:'int',
minValue: 1, maxValue: 15, default: 5, label: "When to show number board (in minutes)"
}
];
}

function advert_game() {
msg_gamesubject(cb.settings.minNumber, cb.settings.maxNumber, cb.settings.prize);
cb.setTimeout(advert_game, (slugtimer * 60000))
}

function advert_board() {
updateBoard();
drawBoard(null);
cb.setTimeout(advert_board, (cb.settings.tmguessboard * 50000))
}

function init() {
setSettings();
if (cb.settings.minNumber <= cb.settings.maxNumber && cb.settings.guessNumber >= cb.settings.minNumber && cb.settings.guessNumber <= cb.settings.maxNumber) {
update_subject(cb.settings.minNumber, cb.settings.maxNumber, cb.settings.prize, cb.settings.roomSubject);
msg_gamesubject(cb.settings.minNumber, cb.settings.maxNumber, cb.settings.prize);
updateBoard();
drawBoard(null);
cb.setTimeout(advert_board, (cb.settings.tmguessboard * 50000));
cb.setTimeout(advert_game, (slugtimer * 60000));
}
else {
cb.sendNotice('ERROR: \nLowest number can\'t be bigger than Highest number,\nLucky Number must be between Lowest and Highest number,\nrestart the app and change the settings', cb.room_slug)
}
}

init();

© Copyright Chaturbate 2011- 2026. All Rights Reserved.