Bots Home
|
Create an App
markytest2
Author:
slavemarky
Description
Source Code
Launch Bot
Current Users
Created by:
Slavemarky
// vars var VERSION = '1.0.9.1'; var total_tipped = 0; var high_tip_username = null; var high_tip_amount = 0; var last_tip_username = null; var last_tip_amount = 0; var subject_is_set_with_0 = false; 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.settings_choices = [ {name: 'tokens', type: 'int', minValue: 1, default: 100}, {name: 'goal_description', type: 'str', minLength: 1, maxLength: 255}, {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:'tmguessboard', type:'int', minValue: 1, maxValue: 15, default: 5, label: "When to show number board (in minutes)"} ]; // handlers cb.onTip(function(tip) { var minNumber = cb.settings.minNumber; var maxNumber = cb.settings.maxNumber; var found = false; total_tipped += tip['amount'] if (total_tipped > cb.settings.tokens) { total_tipped = cb.settings.tokens; } update_subject(); last_tip_amount = tip['amount'] last_tip_username = tip['from_user'] if (tip['amount'] > high_tip_amount) { high_tip_amount = tip['amount'] high_tip_username = tip['from_user'] } 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; } cb.drawPanel(); }); cb.onDrawPanel(function(user) { return { 'template': '3_rows_of_labels', 'row1_label': 'Tip Received / Goal :', 'row1_value': '' + total_tipped + ' / ' + cb.settings.tokens, 'row2_label': 'Highest Tip:', 'row2_value': format_username(high_tip_username) + ' (' + high_tip_amount + ')', 'row3_label': 'Latest Tip Received:', 'row3_value': format_username(last_tip_username) + ' (' + last_tip_amount + ')' }; }); // helper functions function update_subject() { if (tips_remaining() == 0) { if (subject_is_set_with_0) { return; } subject_is_set_with_0 = true; } else { subject_is_set_with_0 = false; } var new_subject = cb.settings.goal_description + " [" + tips_remaining() + " tokens remaining]"; cb.log("Changing subject to: " + new_subject); 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 tips_remaining() { var r = cb.settings.tokens - total_tipped; if (r < 0) { return 0; } else { return r; } } function drawBoard(user) { if (user) { cb.sendNotice(board, user) } else { cb.sendNotice(board) } } function msg_send(user){ if (user) { cb.sendNotice(msg_prize, user) } else { cb.sendNotice(msg_prize) } } function format_username(val) { if (val === null) { return "--"; } else { return val.substring(0, 12); } } 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 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() { update_subject(); 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)); } init();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.