Apps Home
|
Create an App
hhs keno test
Author:
tygreenhhs
Description
Source Code
Launch App
Current Users
Created by:
Tygreenhhs
cb.settings_choices = [ {name:"fullnum", type:"int", minValue:1, maxValue:144, label:"Total Number of Options on Board"}, {name:"prizelist", type:"str",minLength:1, maxLength:2000, label:"Normal Prizes, Seperated by Commas"}, {name:"smallist", type:"str", minLength:1, maxLength:2000, label:"One of Small Prizes, Seperated by Commas"}, {name:"bigprizes", type:"str",minLength:1, maxLength:500, label:"Big Prizes, Seperated by Commas"}, {name:"prizelist2", type:"str",minLength:1, maxLength:2000, label:"Normal Prizes for after big goal is reached, Seperated by Commas"}, {name:"smallist2", type:"str", minLength:1, maxLength:2000, label:"One of Small Prizes for after big goal is reached, Seperated by Commas"}, {name:"bigprizes2", type:"str",minLength:1, maxLength:500, label:"Big Prizes for after the big goal is reached, Seperated by Commas, use the same number of big prizes as you did the first time"}, {name:"duds", type:"int", minValue:0, maxValue:143, label:"Number of Options without a prize (both prize lists)"}, {name:"goal", type:"int", minValue:1, maxValue:10000, label:"amount for goal"}, {name:"biggoal", type:"int", minValue:1, maxValue:1000, label:"goal to change the boards around"}, {name:"showgoal", type:"int", minValue:2, maxValue:1001, label:"goal for show, make it bigger than the last one"}, ]; var next = 0; var bigbois = ''; var bigbois2 = ''; var prizes = []; var prizes2 = [] var total = 0; var bigoal = 0; var origbigboinum = 0; var bigboinum = 0; var bigcheck = false; var check = []; var goal = 0; var progress = 0; var curprizes = []; var curbig = []; var goalnum = 0; function initialize() { bigcheck = false; var prizeinit = cb.settings.prizelist; if (prizeinit != undefined) { prizeinit = prizeinit.split(','); var prize2init = cb.settings.prizelist2; prize2init = prize2init.split(','); var smallinit = cb.settings.smallist; smallinit = smallinit.split(','); var small2init = cb.settings.smallist2; small2init = small2init.split(','); bigbois = cb.settings.bigprizes; bigbois = bigbois.split(','); bigbois2 = cb.settings.bigprizes2; bigbois2 = bigbois2.split(','); var fullnumber = cb.settings.fullnum; var whammies = cb.settings.duds; var fullist = []; var fullist2 = []; var maximum = 0; next = fullnumber for (i=0;i<whammies;i++) { fullist.push("Sorry, No Prize Won!"); fullist2.push("Sorry, No Prize Won!"); } cb.log("whammies") for (i=0;i<smallinit.length;i++) { fullist.push(smallinit[i]); } for (i=0;i<small2init.length;i++) { fullist2.push(small2init[i]); } cb.log("small prizes") while (fullist.length <= fullnumber) { for(i=0;(i < prizeinit.length) && (fullist.length <= fullnumber);i++){ fullist.push(prizeinit[i]); } } while (fullist2.length <= fullnumber) { for(i=0;(i < prize2init.length) && (fullist2.length <= fullnumber);i++){ fullist2.push(prize2init[i]); } } cb.log("prizes") check = [] for (i=1;i<=fullnumber;i++){ maximum += i; if (check.length < fullist.length -2) { check.push(false); } } cb.log("checklist") prizes = []; prizes2 = []; for (i=0;i<fullnumber;i++) { prizes.push(randchoice(fullist)) } for (i=0;i<fullnumber;i++) { prizes2.push(randchoice(fullist2)) } cb.log("randomization") total = 0; origbigboinum = Math.floor(maximum / bigbois.length); bigboinum = origbigboinum; check.push('next'); bigoal = cb.settings.biggoal; goal = cb.settings.goal; goalnum = 1; progress = 0; curprizes = prizes curbig = bigbois cb.log("housekeeping") cb.log(goal + " " + progress) } } function randchoice(arr) { var num = Math.floor(arr.length * Math.random()); var result = arr[num]; arr.splice(num, 1); return result; } function crazy(x,y) { if ((x + progress) >= goal) { var amnt = ((x + progress) - goal) goalnum += 1; progress = 0; var thing = "Goal " + (goalnum - 1) + " Reached!!!\n" + crazy(amnt,y); if (goalnum >= bigoal && bigoal != cb.settings.showgoal) { bigoal = cb.settings.showgoal curprizes = prizes2; curbig = bigbois2; return thing + "FEVER TIME! The prizes remaining on the board have all been upgraded to higher value prizes!!!\n" }else{ return thing } }else{ progress += x; return "Thanks, " + y + "! Only " + (goal - progress) + " tokens till the next goal!\n"; } } function bardraw(amt,gol) { var fulbar = "|"; var whiteBlock = "\u2591"; var blackBlock = "\u2588"; cb.log("declerations") if (amt > 0) { var percent = Math.floor((amt / gol) * 100); var drawer = Math.floor((amt / gol) * 10); }else{ var percent = 0; var drawer = 0; } cb.log("math") for (i=1;i<11;i++) { if (i <= drawer) { fulbar += blackBlock; }else{ fulbar += whiteBlock; } } fulbar += "| (" + percent + "%)"; cb.log("forloop") return fulbar; } function prizeboi(x,y) { if (bigboinum <= total) { bigboinum += origbigboinum; return y + " has won: " + randchoice(curbig) + "!"; }else{ return y + " has won: " + curprizes[x - 1] + "!"; } } function rollover(x,y) { var curprize = next if (x >= curprize) { var index = check.indexOf('next') next = nextbiggest(); check[next - 1] = 'next'; if (bigboinum <= total) { bigboinum += origbigboinum; check[index] = true; return y + " has won: " + randchoice(curbig) + "!\n" + rollover((x - curprize),y); }else{ check[index] = true; return y + " has won: " + curprizes[curprize - 1] + "!\n" + rollover((x - curprize),y); } }else{ next = (next - x); return next + " tokens remain on the current group tip option"; } } function picker(x,y) { var z = nextbiggest(); total += x; if (x > z || check[x - 1]) { return (crazy(x,y) + rollover(x,y)); }else{ check[x - 1] = true; return (crazy(x,y) + prizeboi(x,y)) } } function nextbiggest() { for (i = (check.length - 1); i > 0; i--){ if (check[i] == false) { return (i + 1); } } bigcheck = true; } function nextsmallest() { for (i=0;i<check.length;i++){ if (check[i] == false) { return (i + 1) } } bigcheck = true; } function numsonboard() { var total = 0; for (i=0;i<check.length;i++){ if (check[i] == false) { total += 1; } } return total; } function pad(number, length) { var str = '' + number; while (str.length < length) { str = '0' + str; } return str; } function boardstate() { full = "|" for (i=1;i<=check.length;i++){ if (i % 12 == 1) { full += "\n|"; } if (check[i - 1] == 'next'){ full += "G.T.|" }else if (check[i - 1] == false) { full += pad(i,3) + "|"; }else{ full += "xxx|" } } full += "\n" + next + "tokens remaining on the current group tip option!" return full; } function prizestate() { var list = []; var mult = []; for (i=0;i<check.length;i++) { if (list.indexOf(curprizes[i]) == -1 && (check[i] == false)) { if (curprizes[i] != "Sorry, No Prize Won!"){ list.push(curprizes[i]); mult.push(1) } }else if (check[i] == false) { mult[list.indexOf(curprizes[i])] += 1; } } for (i=0;i<curbig.length;i++) { if (list.indexOf(curbig[i]) == -1) { list.push(curbig[i]); mult.push(1) }else{ mult[list.indexOf(curbig[i])] += 1; } } var full = "" for (i=0;i<mult.length;i++) { list[i] = list[i] + " x" + mult[i]; } for (i=0;i<mult.length;i++) { full += randchoice(list) + "\n" } full[-1] = '' return full } function runtime() { if (bigcheck == true) { cb.onDrawPanel(function(user) { var small = nextsmallest(); var nums = numsonboard(); return { 'template': '3_rows_of_labels', 'row1_label': 'shits over', 'row1_value': '', 'row2_label': '', 'row2_value': '', 'row3_label': '', 'row3_value': 'go home' }; }); cb.onMessage (function(msg) { if (msg['m'] == '!restart' && msg['is_mod'] == true){ initialize(); } }); }else if (bigcheck == false){ cb.onDrawPanel(function(user) { var small = nextsmallest(); cb.log("smallfun") var nums = numsonboard(); cb.log("boardfun") var bar = bardraw(progress, goal) cb.log("barfun") return { 'template': '3_rows_of_labels', 'row1_label': 'Numbers on Board:', 'row1_value': nums, 'row2_label': 'Goal Progress:', 'row2_value': bar, 'row3_label': 'Goal Num/Target:', 'row3_value': "Goal #: " + goalnum + " / Target: " + bigoal }; }); cb.onTip(function (tip) { cb.sendNotice(picker(parseInt(tip['amount']), tip['from_user']), '', '#7fff7f', '#b002b0', 'bolder'); cb.log("tipfun") cb.drawPanel(); }); cb.onMessage(function(msg) { if (msg['m'] == "!board") { msg['X-Spam'] = true; cb.sendNotice(boardstate(), msg['user'], '#7fff7f', '#b002b0', 'bolder'); } if ((msg['m'] == "!showboard") && (msg['is_mod'] == true || msg['user'] == 'hollandhousestudios')) { msg['X-Spam'] = true; cb.sendNotice(boardstate(), '', '#7fff7f', '#b002b0', 'bolder'); } if (msg['m'] == "!prizes") { msg['X-Spam'] = true; cb.sendNotice(prizestate(), msg['user'], '#7fff7f', '#b002b0', 'bolder'); } if ((msg['m'] == "!showprizes") && (msg['is_mod'] == true)) { msg['X-Spam'] = true; cb.sendNotice(prizestate(), '', '#7fff7f', '#b002b0', 'bolder'); } }); } } initialize(); runtime();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.