Apps Home
|
Create an App
SKC20TokenPrize
Author:
dbell19
Description
Source Code
Launch App
Current Users
Created by:
Dbell19
/* App: Token Climber app with prizes - written by DBell19 for Haylee AKA SexyKinkyCouple20 Version 1 */ // vars var max_tip_level = null; var next_level_amount = 1; var support_level_amount = 0; var goal_reached = false; var high_tip_amount = 0; var high_tip_username = null; var imena = new Array(); var tipovi = new Array(); var lollipopprize = {}; var lollipopCount=0; var cherryprize = {}; var cherryCount=0; var pineappleprize = {}; var pineappleCount=0; // var version = 1 // Limit goal description as we add some text cb.settings_choices = [ { name: 'goal_description', type: 'str', minLength: 1, maxLength: 190, label:"Goal Description" }, { name: 'goal_value', type: 'int', minValue: 1, maxValue: 100000, defaultValue: 1000, label:"Haylee's Goal" }, { name: 'order', type: 'choice', choice1: 'ascending', choice2: 'descending', defaultValue: 'ascending' }, { name: 'lollipop_minvalue', type: 'int', minValue:1,maxValue: 100000, defaultValue: 1,label:"lollipop min value"}, { name: 'lollipop_maxvalue', type: 'int', minValue:1,maxValue: 100000, defaultValue: 49,label:"lollipop max value"}, { name: 'lollipop_prize', type: 'str', minLength: 1, maxLength: 400, defaultValue:'spank,spank,ass shake,ass shake,ass shake', label:"lollipop Prizes" }, { name: 'cherry_minvalue', type: 'int', minValue:1,maxValue: 100000, defaultValue: 50 ,label:"Cherry min value"}, { name: 'cherry_maxvalue', type: 'int', minValue:1,maxValue: 100000, defaultValue: 99 ,label:"Cherry max value"}, { name: 'cherry_prize', type: 'str', minLength: 1, maxLength: 400, defaultValue:'pinch nipples,pinch nipples,pussy tease,pussy tease,ass tease,ass tease', label:"Cherry Prizes" }, { name: 'pineapple_minvalue', type: 'int', minValue:1, maxValue: 100000, defaultValue: 100, label:"Pineapple value"}, { name: 'pineapple_maxvalue', type: 'int', minValue:1,maxValue: 100000, defaultValue: 5000,label:"Pineapple max value"}, { name: 'pineapple_prize', type: 'str', minLength: 1, maxLength: 400, defaultValue: 'Finger Pussy 30 sec,Finger Pussy 30 sec,Finger pussy 1 min,Finger pussy 1 min,dildo pussy 30 sec,dildo pussy 30 sec, dildo pussy 1 min, 1 finger anal', label:"Cherry Prizes" }, { name: 'roomADMin', label: 'Number of Minutes for Prize Ad', type: 'int', minValue: 1, maxValue: 40, defaultValue: 5} ]; cb.onTip( function (tip) { najvisi(tip['from_user'],tip['amount']); var diff = tip['amount']; diff += support_level_amount; support_level_amount = diff; while ((diff > 0) && (!checkGoalReached())) { diff -= next_level_amount; if (diff >= 0) { support_level_amount = diff; setNextLevelNeeded(); } } var currentTip = parseInt(tip['amount']); var lolMin = parseInt(cb.settings.lollipop_minvalue); var lolMax = parseInt(cb.settings.lollipop_maxvalue); var cherMin = parseInt(cb.settings.cherry_minvalue); var cherMax = parseInt(cb.settings.cherry_maxvalue); var pineMin = parseInt(cb.settings.pineapple_minvalue); var pineMax = parseInt(cb.settings.pineapple_maxvalue); var tipper = tip['from_user']; if(between(currentTip,lolMin,lolMax)) { generatePrize(lollipopprize,lolMin,lolMax,currentTip,tipper,'lollipop'); } if(between(currentTip,cherMin,cherMax)) { generatePrize(cherryprize,cherMin,cherMax,currentTip,tipper,'cherry'); } if(between(currentTip,pineMin,pineMax)) { generatePrize(pineappleprize,pineMin,pineMax,currentTip,tipper,'pineapple'); } update_subject(); cb.drawPanel(); } ); cb.onDrawPanel( function (user) { if (checkGoalReached()) { return { 'template': '3_rows_11_21_31', 'row1_value': '*** Haylee\'s Goal Reached! ***', 'row2_value': format_username(high_tip_username) + "("+high_tip_amount+")", 'row3_value': 'Thanks to all contributors!' }; } else { if (isAscendingOrder()) { return { 'template': '3_rows_of_labels', 'row1_label': 'Current Level:', 'row1_value': next_level_amount-1 + ' (of 1 to ' + max_tip_level + ")", 'row2_label': 'Extra Tips on board:', 'row2_value': support_level_amount, 'row3_label': 'Highest Total Tips:', 'row3_value': format_username(high_tip_username) + "("+high_tip_amount+")" }; } else { return { 'template': '3_rows_of_labels', 'row1_label': 'Current Level:', 'row1_value': next_level_amount+1 + ' (of ' + max_tip_level + ' to 1)', 'row2_label': 'Extra Tips on Board:', 'row2_value': support_level_amount, 'row3_label': 'Highest Total Tips:', 'row3_value': format_username(high_tip_username) + "("+high_tip_amount+")" }; } } } ); cb.onMessage(function (msg) { if (msg['user'] == high_tip_username) { msg['background'] = '#9F9'; } return msg; }); // helper functions function between(x, min, max) { return x >= min && x <= max; } function update_subject() { if (goal_reached) { return; } var new_subject = ""; var tip_for_next_level = next_level_amount - support_level_amount; if (checkGoalReached()) { new_subject = cb.settings.goal_description + " [ Haylee's Goal reached! Thanks to all Contributors! ] "; goal_reached = true; } else { if (isAscendingOrder()) { new_subject = cb.settings.goal_description + " [Tip to ascend levels from 1 to " + max_tip_level + ". Tip for next level: " + tip_for_next_level + "]"; } else { new_subject = cb.settings.goal_description + " [Tip to descend levels from " + max_tip_level + " to 1. Tip for next level: " + tip_for_next_level + "]"; } } cb.changeRoomSubject(new_subject); } function format_username(val) { if (val === null) { return "--"; } else { return val.substring(0, 12); } } function najvisi(ime, tip) { var index=imena.indexOf(ime); if(index==-1) { cb.log("new"); imena[imena.length]=ime; tipovi[tipovi.length]=tip; if(high_tip_amount==0 || high_tip_amount<tip) { high_tip_amount=tip; high_tip_username=ime; } } else { cb.log("old"); tipovi[index]+=tip; if (tipovi[index]>high_tip_amount) { high_tip_amount=tipovi[index]; high_tip_username=imena[index]; } } } function isAscendingOrder() { return (cb.settings.order == 'ascending'); } function setNextLevelNeeded() { if (isAscendingOrder()) { next_level_amount++; } else { next_level_amount--; } } function checkGoalReached() { if (isAscendingOrder()) { return (next_level_amount > max_tip_level); } else { return (next_level_amount <= 0); } } function generatePrize(prizearray,min,max,currentTip,tipper,fruit) { //var number = Math.floor(Math.random() * max) + min; var number = getRandomInt(min,max); if(isPrize(number,prizearray)) { var message = generateWin(fruit,tipper,number,currentTip,prizearray[number].prize); cb.sendNotice(message,'','#33cc33','#000000'); } else { var message = generatelost(fruit,tipper,number,currentTip); cb.sendNotice(message); } } function generateWin(fruit, tipper, number, currentTip, prize) { var message = new Array(); message.push("[" + tipper + "] jumps in to the air and unleashes a monster kick at a " + fruit + " wins [" + prize + "]"); message.push("[" + tipper + "] spins around and punches " + fruit + " and splits in to pieces and wins [" + prize + "]"); message.push("[" + tipper + "] tipped " + currentTip + " and won [" + prize + "]"); message.push("A tip of [" + currentTip + "] by [" + tipper + "] has been bestowed upon haylee and resulted in a prize. winner ["+ prize + "]"); message.push("[" + tipper + "] whips out a sword deals " + number + " damage to a " + fruit + " and wins [" + prize + "]" ); message.push("WINNER WINNER CHICKEN DINNER [" + tipper + "] just won [" + prize + "]"); var ranMessage = Math.floor(Math.random() * message.length) + 0; return message[ranMessage]; } function generatelost(fruit, tipper, number, currentTip) { var message = new Array(); message.push("[" + tipper + "] whips out a sword deals " + number + " damage but it wasn't enough" ); message.push("[" + tipper + "] turns to punch, trips and falls flat on the ground. OUCH THAT HURT!~!"); message.push("[" + tipper + "] oh so close, try again, you did not win."); message.push("[" + tipper + "] thank you for the love but you did not win anything this time"); message.push("[" + tipper + "] whips out a sword deals " + number + " damage to a " + fruit + " but it was not enough. Sorry"); message.push("A dice was rolled but you lost my friend I am sorry [" + tipper + "]"); var ranMessage = Math.floor(Math.random() * message.length) + 0; return message[ranMessage]; } function isPrize(prize,prizearray) { return (prize in prizearray); } function loadPrizes() { //lollipops if (cb.settings.lollipop_prize) { var lollipopSettings = cb.settings.lollipop_prize.split(','); lollipopCount = lollipopSettings.length; for (var ii = 0; ii < lollipopSettings.length; ii++) { var number = getRandomInt(cb.settings.lollipop_minvalue,cb.settings.lollipop_maxvalue); var clean = lollipopSettings[ii].toLowerCase();//.replace(/ /g,""); lollipopprize[number] = {'prize':clean}; } } //Cherrys if (cb.settings.cherry_prize) { var cherrySettings = cb.settings.cherry_prize.split(','); cherryCount = cherrySettings.length; for (var ii = 0; ii < cherrySettings.length; ii++) { var number = getRandomInt(cb.settings.cherry_minvalue,cb.settings.cherry_maxvalue); var clean = cherrySettings[ii].toLowerCase();//.replace(/ /g,""); cherryprize[number] = {'prize':clean}; } } //pineapple if (cb.settings.pineapple_prize) { var pineappleSettings = cb.settings.pineapple_prize.split(','); pineappleCount = pineappleSettings.length; for (var ii = 0; ii < pineappleSettings.length; ii++) { var number = getRandomInt(cb.settings.pineapple_minvalue,cb.settings.pineapple_maxvalue); var clean = pineappleSettings[ii].toLowerCase();//.replace(/ /g,""); pineappleprize[number] = {'prize':clean}; } } } function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } function ad() { var noticead = "Token Climber with prizes for SexyKinkyCouple20 by DBell19"; var noticead1 = "Prize board: Chance to randomly unlock a prize"; var lollipop = "Lollipop Prizes (" + cherryCount + ") loaded: Tip between " + cb.settings.lollipop_minvalue + " to " + cb.settings.lollipop_maxvalue; var cherry = "Cherry Prizes (" + lollipopCount + ") loaded: Tip between " + cb.settings.cherry_minvalue + " to " + cb.settings.cherry_maxvalue; var pineapple = "Pineapple Prizes (" + pineappleCount + ") loaded: Tip between " + cb.settings.pineapple_minvalue + " to " + cb.settings.pineapple_maxvalue; cb.sendNotice(noticead); cb.sendNotice(noticead1); cb.sendNotice(lollipop); cb.sendNotice(cherry); cb.sendNotice(pineapple); cb.setTimeout(ad, (cb.settings.roomADMin * 60000)); } function init() { cb.chatNotice("*************************************************"); cb.chatNotice("***********Token Climber With Prizes*************"); cb.chatNotice("***********For Haylee(SexyKinkyCouple20)*********"); cb.chatNotice("*********************DBell19**********************"); cb.chatNotice("********************Version 1.0********************"); cb.chatNotice("*************************************************"); max_tip_level = Math.floor(Math.sqrt(cb.settings.goal_value * 2)) + 1; if (isAscendingOrder()) { next_level_amount = 1; } else { next_level_amount = max_tip_level; } loadPrizes(); update_subject(); ad(); } init();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.