Apps Home
|
Create an App
calidum
Author:
cherry_lady_
Description
Source Code
Launch App
Current Users
Created by:
Cherry_Lady_
/* Author: anton1537 Version: 1.0 : Lovense bot + hitachi Tip Jar Version: 1.1 : Thank You Animation for big tips Version: 1.2 : Tip Menu in first row Version: 1.2.1 : Lover Hype Version: 1.3 : Added Ultra Bot Functions */ var mommy=0; var chatAdStatus=true; var club = []; var id = {}; var idCounter = 0; var loverNext = 25; var leaderboard = []; var TipMenu = ["Show feet","Naked tits","Panties off","Spanks","Stand up","White socks","Play with Nipples","Strip dance","Hitachi","Oil show","Snapchat"]; var TipMenuPrice = [44,55,66,77,88,99,122,155,222,333,444]; var TipMenuIn = 0; var TipMenuOut = 0; var TipMenuUser = []; var TipMenuItem = []; var TipMenuPause = 0; var bestLoverTokens = 0; var bestLoverUser = ""; var lastLoverTokens = 0; var lastLoverUser= ""; var isTipJar = 0; var TipJar = 0; var isBigThank = 0; var bigThankCounterIn = 0; var bigThankCounterOut = 0; var BigThankUser = []; var BigThankToken = []; var heartStrL = ""; var heartStrR = ""; var actionInd = 6; var actionOut = 0; var actionMin = 6; var tokenHitachi = 222; var idHitachiAction; var id_chatAd; var id_leaderboard; // club interface constants var USERNAME = 0; var USERID = 1; var TOKENTIPS = 2; cb.settings_choices = [{ name: "roomSubject", label: "1. ROOM SETTINGS ........ Room Subject", type: "str", minLength: 1, maxLength: 150, required: !0, defaultValue: "Lovense Lush : Device that vibrates longer at your tips and gives me pleasures" }, { name: "tags", label: "Tags (#) ", type: "str", minLength: 1, maxLength: 120, required: !1, defaultValue: "Lovense" }, { name: "messColor", label: "2. NOTICES SETTINGS ... - Display Color", type: "choice", choice1: "Dark_Red", //"#9F000F" defaultValue: "Dark_Red" }, { name: "minuteNb", label: " (minutes) - Display Time ", type: "int", minValue: 1, maxValue: 30, defaultValue: 3 }, { name: "levelTitle", label: "Level Title", type: "str", minLength: 0, maxLength: 10240, required: !0, defaultValue: "MY LOVENSE LUSH VIBRATOR IS SET TO REACT TO YOUR TIPS. THERE ARE 5 LEVELS OF INTENSITY OR RANDOMLY CHOOSE A LEVEL FROM 1-5 " }, { name: "level1", label: "Level 1 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: "Level 1 - Tip (1-14) 3 seconds (Low vibrations)" }, { name: "level2", label: "Level 2 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: "Level 2 - Tip (15-99) 6 seconds (Medium vibrations)" }, { name: "level3", label: "Level 3 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: "Level 3 - Tip (100-499) 10 seconds (Medium vibrations)" }, { name: "level4", label: "Level 4 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: "Level 4 - Tip (500-999) 1 Minute (High vibrations)" }, { name: "level5", label: "Level 5 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: "Level 5 - Tip (1000 - 1000+) 3 Minutes (High vibrations)" }, { name: "RandomLevel", label: "Random Level ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: "Random Lvl - Tip (200) To get a random level!" }, { name: "notice1", label: "- Optional Additional ...... Notice 1 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: "Lovense Lush : Device that vibrates longer on your Tips!" }, /*{ name: "notice2", label: "Notice 2 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue:" :Lovense Lush Give me pleasure with your tips!" }, { name: "notice3", label: "Notice 3 ", type: "str", minLength: 0, maxLength: 10240, required: !1, defaultValue: " : Lovense info \n Give me pleasure with your tips!!!" },*/ { name: 'Auto1', type: 'choice', choice1: 'yes', choice2: 'no', defaultValue: 'no', label: "********AUTO THANK YOU active with tips? (notices have different colors)" },{ name: "color15", label: "Notice color Thank you 15-99 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "#FF00FF" }, { name: "1Thanks15", label: "1 Random Thank you for 15 to 99 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "I love it, thank you!!" },{ name: "2Thanks15", label: "2 Random Thank you for 15 to 99 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "I love it, thank you!!" },{ name: "3Thanks15", label: "3 Random Thank you for 15 to 99 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "I love it, thank you!!" },{ name: "4Thanks15", label: "4 Random Thank you for 15 to 99 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "I love it, thank you!!" }, { name: "color100", label: "Notice color Thank you 100 to 499 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "#0102DF" }, { name: "1Thanks100", label: "1 Random Thank you for 100 to 499 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "You know how to make me happy! Thank you!!" },{ name: "2Thanks100", label: "2 Random Thank you for 100 to 499 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "You know how to make me happy! Thank you!!" },{ name: "3Thanks100", label: "3 Random Thank you for 100 to 499 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "You know how to make me happy! Thank you!!" },{ name: "color500", label: "Notice color Thank you 500 to 999 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "#FF0000" }, { name: "1Thanks500", label: "1 Random Thank you for 500 to 999 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "Thank you so much for giving me this pleasure!!" }, { name: "2Thanks500", label: "2 Random Thank you for 500 to 999 ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "Thank you so much for giving me this pleasure!!" },{ name: "color1000", label: "Notice color Thank you 1000+ ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "#4B0082" },{ name: "Thanks1000", label: "Thank you for 1000+ ", type: "str", minLength: 0, maxLength: 10240, defaultValue: "OMG!!! I love it!! THANK YOU SO MUCH!! " }]; cb.onEnter(function(user) { cb.sendNotice(":hicat Welcome to my Room. Be nice to me, and my roomguests",user['user'],"#C287C2"); }); cb.onMessage(function(msg) { if(msg['is_mod']==true || msg['user']==cb.room_slug){ if(msg['m'].startsWith("/start") && isTipJar==1){ isTipJar=2; idHitachiAction=cb.setTimeout(hitachiAction, 500) msg['X-Spam'] = true; cb.sendNotice("***\n*** Hitachi Timer Started ***\n*** ","",'','#9C0DA5','bold' ); } else if(msg['m'].startsWith("/pause") && isTipJar==2){ isTipJar=1; cb.cancelTimeout(idHitachiAction); msg['X-Spam'] = true; } else if(msg['m'].startsWith("/stop")){ isTipJar=0; TipJar=0; if(isTipJar==2){ cb.cancelTimeout(idHitachiAction); } msg['X-Spam'] = true; } else if(msg['m'].startsWith("/endshow")){ cb.setTimeout(endshow,3*6100); cb.cancelTimeout(id_chatAd); msg['X-Spam'] = true; } else if(msg['m'].startsWith("/leaderboard")){ msg['X-Spam'] = true; cb.sendNotice(leaderboardText(),msg['user'],'#FFF2EC','#E51A1A','bold') } } addTokenCounter(msg); if(msg.hasOwnProperty("X-Spam") && msg["X-Spam"]){ } else { actionInd++; } }); function addTokenCounter(msg){ if(id[msg['user']]==null){ return; } var prestring = ''; if(msg['user']==bestLoverUser && club[id[msg['user']]][TOKENTIPS]>499){ prestring = ":crowngold |"; } else { prestring = "|"; } if(msg['m'].startsWith(':chkk0')){ msg['m'] = msg['m'].substring(0,8)+prestring+club[id[msg['user']]][TOKENTIPS]+"| "+msg['m'].substring(8,msg['m'].length); } else { msg['m'] = prestring+club[id[msg['user']]][TOKENTIPS]+"| "+msg['m']; } } function endshow(){ cb.sendNotice(":cherthx Thanks for "+idCounter+" Lovers and everyone, who joined me.",'','#FFF2EC','#E51A1A','bold') return; } function hitachiAction(){ if(TipJar==0 ){ if(isTipJar==2){ idHitachiAction=cb.setTimeout(hitachiAction, 15000) cb.setTimeout(hitachiAlert0, 1500) isTipJar=3; } else if(isTipJar==3){ isTipJar=0; } } else { TipJar--; idHitachiAction=cb.setTimeout(hitachiAction, 1000) } if (TipJar==30){ hitachiAlert30(); } updatePanel(); } function initThankYou(user, tip_amt){ BigThankUser[BigThankToken.length]=user; BigThankToken[BigThankToken.length]=tip_amt; bigThankCounterIn++; setBigThank(); } function initTipMenu(user, item){ TipMenuIn++; TipMenuUser[TipMenuUser.length]=user; TipMenuItem[TipMenuItem.length]=item; updatePanel(); } function nextTipMenu(){ TipMenuPause=0; TipMenuOut++; updatePanel(); } function setBigThank(){ if(isBigThank==0){ isBigThank=1; thankYouAction(); } } function thankYouAction(){ if(isBigThank==1){ row3=row2; row2=row1; row1=" "+BigThankUser[bigThankCounterOut]+" "; } else if(isBigThank<11){ row3=row2; row2=row1; heartStrL+="\u2665"; heartStrR+="\u2665"; row1=heartStrL+" "+BigThankUser[bigThankCounterOut]+" "+heartStrR; } else if(isBigThank<13){ row3=row2; row2=row1; heartStrL=heartStrL.slice(1, heartStrL.length)+"\u2661"; heartStrR="\u2661"+heartStrR.slice(0, heartStrR.length-1); row1=heartStrL+" "+BigThankUser[bigThankCounterOut]+" "+heartStrR; } else if(isBigThank<21){ row3=row2; row2=row1; heartStrL=heartStrL.slice(1, heartStrL.length)+"\u2665"; heartStrR="\u2665"+heartStrR.slice(0, heartStrR.length-1); row1=heartStrL+" "+BigThankUser[bigThankCounterOut]+" "+heartStrR; } else if(isBigThank<26){ row1="\u2661 \u2661 \u2661 \u2661 THANK YOU \u2661 \u2661 \u2661 \u2661"; row3=row1; heartStrR=heartStrR.slice(1, heartStrR.length)+"\u2665"; heartStrL="\u2665"+heartStrL.slice(0, heartStrL.length-1); row2=heartStrL+" "+BigThankUser[bigThankCounterOut].toUpperCase()+" "+heartStrR; } else if(isBigThank<33){ row3="\u2661 \u2661 \u2661 !!!FOR "+BigThankToken[bigThankCounterOut]+" TOKEN!!! \u2661 \u2661 \u2661"; heartStrR=heartStrR.slice(1, heartStrR.length)+"\u2665"; heartStrL="\u2665"+heartStrL.slice(0, heartStrL.length-1); row2=heartStrL+" "+BigThankUser[bigThankCounterOut].toUpperCase()+" "+heartStrR; } else { isBigThank=0; updatePanel(); heartStrL=""; heartStrR=""; bigThankCounterOut++; if(bigThankCounterIn>bigThankCounterOut){ cb.setTimeout(setBigThank,2000); } return; } isBigThank++; updatePanel(); cb.setTimeout(thankYouAction,900); } cb.onTip(function(tip) { if(mommy==0){return;} actionInd++; tip_amt = parseInt(tip['amount']); var user = tip['from_user']; initializeUser(user); lastLoverTokens = tip_amt; lastLoverUser = user; if(tip_amt >= 10){ cb.sendNotice("You are so nice! :thnky",'','#C287C2'); } if(tip_amt>=15){ var thankuser=" :heart2 "+user+" :heart2"; if(tip_amt>=1000){ cb.chatNotice(cb.settings["Thanks1000"] +thankuser,'','',cb.settings["color1000"],'bold'); initThankYou(user, tip_amt); } else if(tip_amt>=500){ cb.chatNotice(cb.settings[getRandomInt(1,2)+"Thanks500"]+thankuser,'','',cb.settings["color500"],'bold'); initThankYou(user, tip_amt); } else if(tip_amt>=100){ cb.chatNotice(cb.settings[getRandomInt(1,3)+"Thanks100"]+thankuser,'','',cb.settings["color100"],'bold'); } else { cb.chatNotice(cb.settings[getRandomInt(1,4)+"Thanks15"],'','',cb.settings["color15"],'bold'); } } /*else { }*/ club[id[user]][TOKENTIPS]+=tip_amt; if(club[id[user]][TOKENTIPS]>bestLoverTokens){ if((user!=bestLoverUser || bestLoverTokens<500)&& club[id[user]][TOKENTIPS]>499){ cb.sendNotice("We have a new King! \nAll hail " + user + "!" ,'','#E192F6','','bold'); } bestLoverTokens=club[id[user]][TOKENTIPS]; bestLoverUser=user; } //leaderboard.sort(sortTokenTips); if(isTipJar==1 || isTipJar==2){ TipJar+=tip_amt; } else if(tip_amt==tokenHitachi){ if(isTipJar==3){ cb.cancelTimeout(idHitachiAction); cb.sendNotice("***\nHitachi-timer continues...\n***","",'','#9C0DA5','bold' ); idHitachiAction=cb.setTimeout(hitachiAction, 1100); isTipJar=2; } else if(isTipJar==0){ isTipJar=1; TipJar=99; cb.setTimeout(hitachiStartNotice,7000) } else if(isTipJar==2){ } } updatePanel(); }) function leaderboardText(){ leaderboard.sort(sortTokenTips); var txt = '***\n'; for (var i = 0; i < 10; i++) { if(leaderboard[i]==null){ txt+=(i+1)+". \n"; } else { txt+=(i+1)+'. '+club[leaderboard[i]][USERNAME]+': '+club[leaderboard[i]][TOKENTIPS]+'\n'; } } txt+="***"; return txt; } function leaderboard_add(){ leaderboard.sort(sortTokenTips); var txt = ""; for (var i = 0; i < 3; i++) { if(leaderboard[i]==null){ txt+=":leader"+(i+1)+" \n"; } else { txt+=":leader"+(i+1)+" "+club[leaderboard[i]][USERNAME]+" : "+club[leaderboard[i]][TOKENTIPS]+" \n"; } } cb.sendNotice(":leaderboard01 ","",'#FFF2EC','#8E0000', 'bold' ); cb.sendNotice(txt,"",'','#21204E', 'bold' ); //cb.sendNotice("\nPlease be nice) ","",'#FFF2EC','#E51A1A', 'bold' ); id_leaderboard=cb.setTimeout(leaderboard_add,6*60000); return; } function hitachiStartNotice(){ cb.sendNotice("Hitachi-timer will start soon. Tip to fill the Tip Jar.","",'','#9C0DA5','bold' ); cb.sendNotice("Remember: type /start to start the Hitachi timer",cb.room_slug,'','','bold' ); cb.sendNotice("Remember: type /start to start the Hitachi timer",'','','','bold','red' ); } function hitachiAlert30(){ cb.sendNotice("*** \n 30 Seconds left on Hitachi. Tip to add more Hitachi-Time! \n *** ","",'#FFCFE0','9C0DA5','bold' ); } function hitachiAlert0(){ if(TipJar==0 ){ cb.sendNotice("*** \n The Hitachi-Timer ended. Tip "+tokenHitachi+"tks to start it again! \n *** ","",'#FFCFE0','#CC0000','bold' ); } } function updatePanel(){ if(isBigThank>0){ } else { if(TipMenuIn>TipMenuOut){ row1=TipMenuUser[TipMenuOut]+" tipped for "+TipMenu[TipMenuItem[TipMenuOut]]; if(TipMenuPause==0){ TipMenuPause=1; cb.setTimeout(nextTipMenu,20000); } } else { row1=idCounter+" Lovers"; } row2="Best Lover \u2665 "+bestLoverUser+ " \u2665 "+bestLoverTokens; if(isTipJar==0){ row3="Last Kiss \u2605 "+lastLoverUser+" \u2605 "+lastLoverTokens; } else if (isTipJar==1 || isTipJar==2){ row3="Hitachi Timer - " + TipJar + " seconds"; } else if (isTipJar==3){ row3="Hitachi Timer stopped - Tip "+tokenHitachi+" to start again"; } } cb.drawPanel(); } cb.onDrawPanel(function() { return { template: "3_rows_11_21_31", row1_value: row1, row2_value: row2, row3_value: row3 } }) function chatAd() { var msg; if(actionInd>=actionMin || actionOut>7 || (actionInd>=actionMin-1 && actionOut>3)){ if(chatAdStatus){ msg = ' \n'; msg += cb.settings["levelTitle"] +" \n"; msg += "\u25A0 "+cb.settings["level1"]+" \n"; msg += "\u25A0 "+cb.settings["level2"]+" \n"; msg += "\u25A0 "+cb.settings["level3"]+" \n"; msg += "\u25A0 "+cb.settings["level4"]+" \n"; msg += "\u25A0 "+cb.settings["level5"]+" \n "; } else { msg = cb.settings["notice1"]; } chatAdStatus=!chatAdStatus; cb.sendNotice(msg,'','',"#9F000F",'bold'); id_chatAd=cb.setTimeout(chatAd, (2 * 60000+getRandomInt(45,94)*1000)); actionInd=0; actionOut=0; } else { id_chatAd=cb.setTimeout(chatAd, (1 * 60000)); actionOut++; } } function init(){ if(cb.room_slug=="cherry_lady_"){ mommy=1; id_chatAd=cb.setTimeout(chatAd, (60000)); //id_leaderboard=cb.setTimeout(leaderboard_add,(2*61000)); row1="Lovense Lush - Vibrator that react to your Tips"; row2="Tip to start"; row3=" "; cb.changeRoomSubject(cb.settings["roomSubject"]+" "+cb.settings["tags"]) } else { mommy=0; } } function loversHype(){ cb.sendNotice(":1238fjhhjhdfjhype "+loverNext+" LOVERS HYPE!!",'','#EBEBEB','','bold'); loverNext=loverNext+25; } function initializeUser(user) { if (typeof id[user] == 'undefined') { id[user] = idCounter; leaderboard[leaderboard.length] = idCounter; idCounter += 1; if(idCounter==loverNext){ //cb.setTimeout(loversHype,3000); } club[id[user]] = []; club[id[user]][USERNAME] = user; club[id[user]][USERID] = id[user]; club[id[user]][TOKENTIPS] = 0; } } /** * Returns a random integer between min (inclusive) and max (inclusive) */ function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } /** * Function to sort leaderboard */ function sortTokenTips(a,b) { return (club[b][TOKENTIPS] - club[a][TOKENTIPS]); } init();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.