Apps Home
|
Create an App
Lottery With Goal
Author:
zrook
Description
Source Code
Launch App
Current Users
Created by:
Zrook
// vars var total_tipped = 0; var last_tip=0; var subject_is_set_with_0 = false; var tippers = new Array(); var total = 0; var rem_tickets=0; var winner=""; var first_time=1; cb.settings_choices = [ {name: 'tokens', type: 'int', minValue: 1, default: 100, label: "Amount of Tokens for Goal"}, {name: 'goal_reached', type: 'str', minLength: 1, maxLength: 255, label: "Goal Reached"}, {name: 'ticket', type: 'int', minValue: 1, default: 10, label: "1 Ticket Price"}, {name: 'prize', type: 'str', minLength: 1, maxLength: 255, label: "winner reward"}]; ticket_rem(); cb.drawPanel(); update_subject(); function update_subject() { var new_subject = "/// Goal: "+cb.settings.goal_reached +" /// Tickets left:" +rem_tickets +" [" + tips_remaining() + " tokens remaining]"; cb.log("Changing subject to: " + new_subject); cb.changeRoomSubject(new_subject); } function tips_remaining() { var r = cb.settings.tokens - total_tipped; if (r < 0) { return 0; } else { return r; } } cb.onMessage(function (msg) { var userName = msg['user']; if(msg['m'] == '/lottery') { if(msg['user'] == cb.room_slug){ var aux= Math.floor((Math.random()*total)); cb.chatNotice("Winner is... "+tippers[aux]+" !!!" ); winner=tippers[aux]; update_subject(); cb.drawPanel(); } } if(msg['m'] == '/tippers') { if(msg['user'] == cb.room_slug){ cb.chatNotice("total tippers: "+total); for(var i = 0; i < tippers.length; i++) { cb.chatNotice(tippers[i]); } } } if(msg['m'] == '/winner') { if(msg['user'] == cb.room_slug){ cb.chatNotice("Winner: "+winner); } } if(msg['m'] == '/tickets') { cb.chatNotice("total tippers: "+total); var aux3=0; for(var i = 0; i < tippers.length; i++) { if(msg['user']==tippers[i]){ aux3++; } } cb.chatNotice("User: "+msg['user']+" tickets: "+aux3); } return msg; }); function ticket_rem(){ rem_tickets=(cb.settings.tokens-total_tipped)/cb.settings.ticket; } cb.onDrawPanel(function(user) { return { 'template': '3_rows_of_labels', 'row1_label': 'Tickets :', 'row1_value': '' + rem_tickets, 'row2_label': 'Tip Received / Goal :', 'row2_value': '' + total_tipped + ' / ' + cb.settings.tokens, 'row3_label': 'winner:', 'row3_value': ''+winner }; }); cb.onTip(function (tip) { var aux2= parseInt(tip['amount']); total_tipped += aux2; if(rem_tickets>0){ if(aux2>=cb.settings.ticket){ for (var i=0;aux2>=cb.settings.ticket;i++){ //if(rem_tickets>0){ aux2=aux2-cb.settings.ticket; tippers[total] = tip['from_user']; total++; ticket_rem(); //} } } } ticket_rem(); if(rem_tickets<=0){ rem_tickets=0; } cb.drawPanel(); update_subject(); });
© Copyright Chaturbate 2011- 2026. All Rights Reserved.