Apps Home
|
Create an App
Parity Test 02 Panel
Author:
test123908910
Description
Source Code
Launch App
Current Users
Created by:
Test123908910
/* * Parity Test #2 — Panel + Tip Options * Tests: onDrawPanel, tipOptions, changeRoomSubject, drawPanel * Mode: App */ cb.settings_choices = [ { name: 'goal_amount', type: 'int', label: 'Tip Goal', minValue: 0, maxValue: 9999, defaultValue: 500 }, { name: 'goal_desc', type: 'str', label: 'Goal Description', defaultValue: 'Special Show', maxLength: 100 } ]; var totalTips = 0; var topTipper = '---'; var topAmount = 0; cb.onDrawPanel(function(user) { var goalAmt = parseInt(cb.settings.goal_amount) || 500; var pct = goalAmt > 0 ? Math.min(100, Math.floor((totalTips / goalAmt) * 100)) : 0; return { template: '3_rows_of_labels', row1_label: 'Goal', row1_value: totalTips + '/' + goalAmt + ' (' + pct + '%)', row2_label: 'Top Tipper', row2_value: topTipper, row3_label: 'Description', row3_value: cb.settings.goal_desc || 'Special Show' }; }); cb.tipOptions(function(user) { return { options: [ { label: 'Small Tip (5)' }, { label: 'Medium Tip (25)' }, { label: 'Big Tip (100)' }, { label: 'Huge Tip (500)' } ] }; }); cb.onTip(function(tip) { totalTips += parseInt(tip.amount); if (parseInt(tip.amount) > topAmount) { topAmount = parseInt(tip.amount); topTipper = tip.from_user + ' (' + tip.amount + ')'; } cb.sendNotice(tip.from_user + ' tipped ' + tip.amount + ' tokens!', '', '#FFF3E0', '#E65100', 'bold'); cb.drawPanel(); var goalAmt = parseInt(cb.settings.goal_amount) || 500; cb.changeRoomSubject('Goal: ' + totalTips + '/' + goalAmt + ' - ' + (cb.settings.goal_desc || 'Special Show')); }); cb.onMessage(function(msg) { if (msg.m === '/goal') { var goalAmt = parseInt(cb.settings.goal_amount) || 500; var remaining = goalAmt - totalTips; cb.sendNotice('Goal: ' + totalTips + '/' + goalAmt + ' (' + (remaining > 0 ? remaining + ' remaining' : 'REACHED!') + ')', msg.user); msg['X-Spam'] = true; } return msg; }); // Initial setup var goalAmt = parseInt(cb.settings.goal_amount) || 500; cb.changeRoomSubject('Goal: 0/' + goalAmt + ' - ' + (cb.settings.goal_desc || 'Special Show')); cb.drawPanel(); cb.sendNotice('Tip Goal App loaded! Goal: ' + goalAmt + ' tokens for ' + (cb.settings.goal_desc || 'Special Show'), '', '#E8F5E9', '#2E7D32', 'bold'); cb.log('Parity Test #2 loaded');
© Copyright Chaturbate 2011- 2026. All Rights Reserved.