Apps Home
|
Create an App
CAtest
Author:
hethro1
Description
Source Code
Launch App
Current Users
Created by:
Hethro1
var TTiped = 0; var HTUsername = null; var HTAmount = 0; var LTUsername = null; var LTAmount = 0; var subject_is_set_with_0 = false; var AGM=false; var CumCounter=0; var CG =1; //tje curret goal acctive var CGAmount =0; //the anount tiped for the current goal var Goals= new Array; var reward=0; var cost=1 var TGoals =5; //total number of goals active var cs = JSON.parse(JSON.stringify(cb.settings)); cb.settings_choices = [ {name:'sub', type:'str', required: false,label:'Put #tags or any exta info you want in subject to stay on goal here'}, {name:'G1', type:'str', required: false,label:'Goal 1=',defaultValue: 'Shirt Off'}, {name:'G2', type:'str', required: false,label:'Goal 2=',defaultValue: 'Pants Off'}, {name:'G3', type:'str', required: false,label:'Goal 3=',defaultValue: 'Bra Off'}, {name:'G4', type:'str', required: false,label:'Goal 4=',defaultValue: 'Panties Off'}, {name:'G5', type:'str', required: false,label:'Goal 5=',defaultValue: 'Open The Box Of Toys'}, {name:'G6', type:'str', required: false,label:'Goal 6=',defaultValue: ''}, {name:'G7', type:'str', required: false,label:'Goal 7=',defaultValue: ''}, {name:'G8', type:'str', required: false,label:'Goal 8=',defaultValue: ''}, {name:'G9', type:'str', required: false,label:'Goal 9=',defaultValue: ''}, {name:'G10', type:'str', required: false,label:'Goal 10=',defaultValue: ''}, {name:'GC1', type:'int', required: false,label:'Cost 1=',defaultValue: 250}, {name:'GC2', type:'int',required: false, label:'Cost 2(Leave 0 to not use)=',defaultValue: 250}, {name:'GC3', type:'int', required: false,label:'Cost 3(Leave 0 to not use)=',defaultValue: 250}, {name:'GC4', type:'int', required: false,label:'Cost 4(Leave 0 to not use)=',defaultValue: 250}, {name:'GC5', type:'int', required: false,label:'Cost 5(Leave 0 to not use)=',defaultValue: 250}, {name:'GC6', type:'int',required: false, label:'Cost 6(Leave 0 to not use)=',defaultValue: 0}, {name:'GC7', type:'int', required: false,label:'Cost 7(Leave 0 to not use)=',defaultValue: 0}, {name:'GC8', type:'int', required: false,label:'Cost 8(Leave 0 to not use)=',defaultValue: 0}, {name:'GC9', type:'int', required: false,label:'Cost 9(Leave 0 to not use)=',defaultValue: 0}, {name:'GC10', type:'int', required: false,label:'Cost 10(Leave 0 to not use)=',defaultValue: 0}, {name:'noticecolor', type:'str', label:'Notice color (html code default red #FF0000)',defaultValue: '#F985EE'}, {name:'rewardcolor', type:'str', label:'Reward color (html code default red #FF0000)',defaultValue: '#FF0000'}, {name:'CumEnabled', type:'choice', choice1:'On', choice2:'Off', label:'Cum Counter', defaultValue:'On'}, {name:'CumAdTimer', type:'int', label:'Cum Ad Display Timer(Minutes)',defaultValue: 5} ] function G(lvl){if(lvl>10){return(cs['G'])}return(cs['G'+lvl]);} function GC(lvl){if(lvl>10){return(cs['GC'])}return(cs['GC'+lvl]);} function MsgAll(msg){cb.sendNotice(msg,'','',cs.noticecolor,'bold');} //============MsgUser============== function MsgUser(msg,user){cb.sendNotice(msg,user)}; function MsgAllReward(msg){cb.sendNotice(msg,'','',cs.rewardcolor,'bold');} function BigMsg(action,title,msg){ var message = msg.split('\n'); var arrl=parseInt(message.length) var maxl=parseInt(message[0].length) for(i=0;i<arrl;i++){ if(parseInt(message[i].length)>maxl){maxl=parseInt(message[i].length)} } if(parseInt(title.length)>maxl){maxl=parseInt(title.length)} for(i=0;i<arrl;i++){ if(parseInt(message[i].length)<=maxl){ var dif=maxl-parseInt(message[i].length) var spc=Math.round(dif/2); var tempm=''; for(y=0;y<spc;y++){tempm+=' -';} tempm+=message[i]; message[i]=tempm; }} var MsgL=parseInt(msg.length); var tempmsg=''; cb.sendNotice('--------'+action); tempmsg+='---===<<<'+title; tempmsg+=' >>>===---\n'; for(x=0;x<arrl;x++){ tempmsg+='--'+message[x]+'\n'; } tempmsg+='------------------------------------------------'; return(tempmsg); } function BuildGoals(){ TGoals=0; Goals[0]=new Array; for(x=0;x<=10;x++){Goals[0][x]=0;} for(i=1;i<=10;i++){ if(GC(i)!=0){ TGoals++; Goals[TGoals]=new Array; Goals[TGoals][reward]=G(i); Goals[TGoals][cost]=GC(i); }}} function AddGoal(cost_,reward_){ TGoals++; Goals[TGoals]=new Array; Goals[TGoals][reward]=reward_; Goals[TGoals][cost]=parseInt(cost_); if(AGM==true){ CG++; CGAmount=0; CG=TGoals; update_subject(); cb.drawPanel(); AGM=false; } } //function ChangeGoal(cost, function CheckGoal(tip){//check to see if multo goals are hit if(AGM==false){var t = CGAmount+tip; if(CG<=TGoals){ while(t>=Goals[CG][cost]&&AGM==false){ MsgAllReward(BigMsg('Goal',Goals[CG][reward],Goals[CG][reward]+' Need to be Clamed')); t-=Goals[CG][cost]; CG++; if(CG>TGoals){CG--;CGAmount=Goals[CG][cost];AGM=true;} }CGAmount=t; if(AGM){CGAmount='GOAL!';update_subject()} } } } function DiplayGoals(user){ var msg=''; for(var i=1; i<=TGoals;i++){ msg +=i+') '+Goals[i][reward]+' ('+Goals[i][cost]+' tokens)\n'; } MsgUser(msg,user); } function HelpFunc(user){ var msg=''; msg+='?goals -->diplays goals\n'; msg+='?changegoal # -->Changes goal to goal level. exp= ?changegoal 2\n'; msg+='?setgoaltiped # -->this will set the current amount tiped towards goal. exp= ?setgoaltiped 500\n'; msg+='?setgoal # reward-->Changes Both cost and reward of current goal. exp= ?setgoal 500 This is new reward\n'; msg+='?setgoalcost # -->Changes cost of current goal. exp= ?setgoalcost 500\n'; msg+='?setgoalreward reward -->Changes reward of current goal. exp= ?setgoalreward this is the new reward\n'; msg+='?addgoal # reward-->adds a goal to end goals. exp= ?addgoal 500 This is a reward\n'; msg+='?addcum --> adds a cum to count\n'; msg+='?subcum --> removes a cum to count\n'; msg+='?setcum # --> setcum counter to #\n'; msg+='?bc message -->sends a pvt msg to bordcaster. exp= ?bc message to be sent'; MsgUser(msg,user); } function CumAdMsg(){if(cs.CumEnabled=='On'){MsgAll('Cum Count='+CumCounter); cb.setTimeout(CumAdMsg, (cs.CumAdTimer* 60000))};} cb.setTimeout(CumAdMsg, (cs.CumAdTimer* 60000)); cb.onMessage(function (msg) { var message = msg['m'].split(' ');// 0 is comand, 1 variable for comand if(message[0].charAt(0) == '?') { switch(message[0]) { //========================== case '?help':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){HelpFunc(msg['user'])}else{MsgUser('?goals -->diplays goals',msg['user']);};msg['X-Spam']=true;break;} case '?goals':{ DiplayGoals(msg['user']);msg['X-Spam']=true;break;} case '?changegoal':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){CG=parseInt(message[1]);update_subject();cb.drawPanel();MsgUser('Goal changed to '+Goals[CG][reward]+' ('+Goals[CG][cost]+')',cb.room_slug);} else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?setgoal':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){ if(message[1]!=''&& message[2]!=''){ Goals[CG][cost]=parseInt(message[1]); var rew=''; for(i=2;i<message.length;i++){rew+=message[i]+' '} if(rew!=''){Goals[CG][reward]=rew;update_subject();cb.drawPanel();MsgUser('Goal set to = '+rew+' ('+message[1]+')',cb.room_slug);} } else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;}} case '?setgoaltiped':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){CGAmount=parseInt(message[1]);update_subject();cb.drawPanel();MsgUser('Goal tiped amount is set to '+message[1],cb.room_slug);} else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?setgoalcost':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){Goals[CG][cost]=parseInt(message[1]);update_subject();cb.drawPanel();MsgUser('Goal cost changed to '+message[1],cb.room_slug);} else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?setgoalreward':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){ if(message[1]!=''){ var rew=''; for(i=1;i<message.length;i++){rew+=message[i]+' '} if(rew!=''){Goals[CG][reward]=rew;update_subject();cb.drawPanel();MsgUser('Goal reward changed to= '+rew,cb.room_slug);} } else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;}} case '?addgoal':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){ if(message[1]!=''&&message[2]!=''){ var rew=''; for(i=2;i<message.length;i++){rew+=message[i]+' '} if(rew!=''){AddGoal(parseInt(message[1]),rew);update_subject();MsgUser('Goal added= '+TGoals+') '+rew+' ('+message[1]+')',cb.room_slug);} else{MsgUser('There needs to be a goal set (?addgoal 500 This is a goal',msg['user'])}} else{MsgUser('?addgoal # goalreward example==> ?addgoal 400 Blue',msg['user'])} }else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?setcum':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){CumCounter=parseInt(message[1]);MsgUser('cmd=Cum set',msg['user']);MsgAll('Cum Set to('+CumCounter+')');} else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?addcum':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){CumCounter++;MsgUser('cmd=Cum added to counter',msg['user']);MsgAll('Cum Added to count('+CumCounter+')');} else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?subcum':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){CumCounter--;MsgUser('cmd=Cum removed from counter',msg['user']);MsgAll('Cum subtracted from count('+CumCounter+')');} else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?hethro':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){MsgAll('---===<<<~~~~~~>>>===---\n---===<<<HETHRO>>>===---\n---===<<<~~~~~~>>===---');} else{MsgAll('this is for Broadcasters and mods only');}msg['X-Spam']=true;break;} case '?bc':{ if(msg['user'] == cb.room_slug||msg['is_mod']||msg['user']=='hethro' ){var pmsg=msg['user']+' ['; for(i=1;i<message.length;i++){ pmsg=pmsg+' '+message[i];} pmsg=pmsg+']'; MsgUser('Message sent to Brodcaster',msg['user']); MsgUser(pmsg,cb.room_slug) msg['X-Spam']=true; } break; } }} if (msg['user'] == HTUsername) { msg['background'] = '#ffb0ca'; } return msg; }); cb.onTip(function(tip) { TTiped += tip['amount'] CheckGoal( tip['amount']); if(AGM==false){update_subject();} LTAmount = tip['amount'] LTUsername = tip['from_user'] if (tip['amount'] > HTAmount) { HTAmount = tip['amount'] HTUsername = tip['from_user'] } cb.drawPanel(); }); cb.onDrawPanel(function(user) { return { 'template': '3_rows_of_labels', 'row1_label': 'Tip Received / Goal :', 'row1_value': '' + CGAmount + ' / ' + Goals[CG][cost]+'('+TTiped+')',//change cb sttings to goal now make fuction to determan what gaol we are on 'row2_label': 'High Tipper:', 'row2_value': format_username(HTUsername) + ' (' + HTAmount + ')', 'row3_label': 'Latest Tip Received:', 'row3_value': format_username(LTUsername) + ' (' + LTAmount + ')' }; }); 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=''; if(AGM==false){new_subject = Goals[CG][reward] + " [" + tips_remaining() + " tokens remaining]";} else{new_subject = Goals[CG][reward] + " [[[GOAL!!]]]"+'('+CumCounter+' Cums)';} cb.log("Changing subject to: " + new_subject); cb.changeRoomSubject(new_subject+' '+cs.sub); } function tips_remaining() {var r = parseInt(Goals[CG][cost]) - CGAmount;if (r < 0) {return 0;} else {return r;}} function format_username(val) {if (val === null) {return "--";} else {return val.substring(0, 12);}} //============inti============== function inti(){ BuildGoals(); update_subject(); } inti();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.