Apps Home
|
Create an App
AMAYA'S LUXURY TIP APP
Author:
midaxmichelle
Description
Source Code
Launch App
Current Users
Created by:
Midaxmichelle
var GREETING = "Welcome to my private playground, {user}... 💋\nTip to play with me ✨"; var TIP_MENU = [ { price: 25, desc: "💋 Soft kiss / air kiss" }, { price: 50, desc: "✨ Slow tease / flash" }, { price: 100, desc: "🔥 Oil down / body glide" }, { price: 150, desc: "👠 Foot worship / heels" }, { price: 250, desc: "🍒 Full reveal / bra off" }, { price: 300, desc: "🍑 Spank & jiggle" }, { price: 500, desc: "🖤 Private request" }, { price: 1000, desc: "💎 Full control / intense play" } ]; var GOAL_AMOUNT = 1000; var GOAL_NAME = "Shirt Off → Next Level"; var AUTO_RESET = true; var NOTICE_BG = "#1A0A1A"; var NOTICE_FG = "#FFB6C1"; var NOTICE_WEIGHT = "bold"; var MENU_COMMAND = "/menu"; var GOAL_COMMAND = "/goal"; // -------------------- INTERNAL STATE -------------------- var DEBUG = false; var totalTips = 0; var currentGoalProgress = 0; var highestTipper = ""; var highestTipAmount = 0; var lastTipper = ""; var lastTipAmount = 0; TIP_MENU.sort(function (a, b) { return a.price - b.price; }); function log(message) { if (DEBUG) { cb.log("[AmayaLuxuryApp] " + message); } } function sendStyled(message, toUser) { cb.sendNotice( String(message), toUser || "", NOTICE_BG, NOTICE_FG, NOTICE_WEIGHT ); } function getMenuText() { var text = "✨ LUXURY TIP MENU ✨\n"; var i; for (i = 0; i < TIP_MENU.length; i += 1) { if (TIP_MENU[i].price > 0) { text += TIP_MENU[i].price + " tk • " + TIP_MENU[i].desc + "\n"; } } return text; } function getGoalPercent() { if (GOAL_AMOUNT <= 0) { return 0; } return Math.min(100, Math.floor((currentGoalProgress / GOAL_AMOUNT) * 100)); } function getGoalText() { var remaining = Math.max(0, GOAL_AMOUNT - currentGoalProgress); return "🎯 Goal: " + GOAL_NAME + "\n" + currentGoalProgress + " / " + GOAL_AMOUNT + " tokens (" + getGoalPercent() + "%)\n" + "Remaining: " + remaining + " tokens"; } function findMenuItem(amount) { var i; for (i = 0; i < TIP_MENU.length; i += 1) { if (TIP_MENU[i].price === amount) { return TIP_MENU[i]; } } return null; } function refreshPanel() { cb.drawPanel(); } // -------------------- ON-SCREEN APP PANEL -------------------- cb.onDrawPanel(function (user) { var topTipText = "None yet"; var lastTipText = "Type /menu"; if (highestTipper) { topTipText = highestTipper + " • " + highestTipAmount + " tk"; } if (lastTipper) { lastTipText = lastTipper + " • " + lastTipAmount + " tk"; } return { template: "3_rows_of_labels", row1_label: "🎯 Goal", row1_value: currentGoalProgress + "/" + GOAL_AMOUNT + " • " + getGoalPercent() + "%", row2_label: "💎 Top Tip", row2_value: topTipText, row3_label: "💋 Last Tip", row3_value: lastTipText }; }); // -------------------- EVENTS -------------------- cb.onEnter(function (user) { var username = user && user.user ? user.user : "gorgeous"; var message = GREETING.replace("{user}", username); sendStyled(message, username); log("Welcomed " + username); }); cb.onTip(function (tip) { var amount = parseInt(tip.amount, 10); var fromUser = tip.from_user || "Anonymous"; var menuItem; if (isNaN(amount) || amount <= 0) { cb.log("[AmayaLuxuryApp] Ignored an invalid tip amount."); return; } totalTips += amount; currentGoalProgress += amount; lastTipper = fromUser; lastTipAmount = amount; if (amount > highestTipAmount) { highestTipAmount = amount; highestTipper = fromUser; } menuItem = findMenuItem(amount); if (menuItem) { sendStyled("💋 " + fromUser + " tipped " + amount + " tk for " + menuItem.desc); } else { sendStyled("✨ Thank you, " + fromUser + ", for the " + amount + " token tip! 💋"); } if (GOAL_AMOUNT > 0 && currentGoalProgress >= GOAL_AMOUNT) { sendStyled("🎉 GOAL REACHED: " + GOAL_NAME + " 🎉💋"); if (AUTO_RESET) { currentGoalProgress = currentGoalProgress % GOAL_AMOUNT; sendStyled("✨ New goal started: " + GOAL_NAME + "\n" + getGoalText()); } else { currentGoalProgress = GOAL_AMOUNT; } } refreshPanel(); log("Tip: " + amount + " from " + fromUser + "; session total: " + totalTips); }); cb.onMessage(function (message) { var text = String(message.m || "").toLowerCase().replace(/^\s+|\s+$/g, ""); var username = message.user || ""; if (text === MENU_COMMAND || text === "!menu" || text === "tip menu") { sendStyled(getMenuText(), username); message["X-Spam"] = true; return message; } if (text === GOAL_COMMAND || text === "!goal") { sendStyled(getGoalText(), username); message["X-Spam"] = true; return message; } if (text === "/debug" && username === cb.room_slug) { DEBUG = !DEBUG; sendStyled("Debug mode is now " + (DEBUG ? "ON" : "OFF"), username); message["X-Spam"] = true; return message; } return message; }); // -------------------- STARTUP -------------------- sendStyled("✨ Amaya's Luxury Tip App is live 💋\nType /menu for the menu or /goal for progress."); refreshPanel(); cb.log("Amaya's Luxury Tip App started successfully.");
© Copyright Chaturbate 2011- 2026. All Rights Reserved.