Apps Home
|
Create an App
Anal+Squirt
Author:
prurient
Description
Source Code
Launch App
Current Users
Created by:
Prurient
var app = { name: "'Anal+Squirt'", type: "App", version: "1.1", build: ".006", date: "2018.11.21", acg: "pru_1999", pkm: "phatkatmeow", sf: "sartfack", CD: "dump" }; var COLOR = { DEVELOPER: "#D9F7F7", NOTICE: "#6900CC", RED: "#FF1407", MRED: "#D80A00", HIGHLIGHT: "#EEE5FF", SYNTAX: "#995B00", AMBER: "#E56B00", MOD: "#DC0000", HVTEXT: "#D80A00", HVBACK: "#FFFFBF", TBMBACK: "#E0EEFF", TBMTEXT: "#12447A", HELP: "#144D8C", INFO: "#144D8C", MAG: "#E509E5", BLUE: "#000099" }; var FLAG = { reset: false, multi: false, multiend: false, war: false, tmenu: false, end: false, won: false }; var tipTot = 0; var tipGoal = 0; var warGoal1 = 0; var warGoal2 = 0; var tipPercent = 0; var goalCnt = 0; var progBar = ""; var theWinner = ""; var MODS = "red"; var roomHost = cb["room_slug"]; var dashLine = charRepeat("-", 60); var multi = { goal: [], desc: [] }; cb["settings_choices"] = [{ name: "goalType", type: "choice", choice1: "Simple Tip Goal", choice2: "Auto-Reset Goal", choice3: "Goal War", defaultValue: "Simple Tip Goal", label: "Choose the type of Goal. If 'Goal War' is chosen fill in all fields labeled GOAL WAR" }, { name: "tipGoal", type: "int", minValue: 1, defaultValue: 250, label: "Enter the token amount for Simple Tip Goal or Auto-Reset Goal", required: false }, { name: "tipGoalDesc", type: "str", defaultValue: "🔥ANAL PLAY🔥", label: "Enter description for Goal Goal:", required: false }, { name: "tipMultiDesc", type: "str", defaultValue: "💦SQUIRT💦", label: "Enter description for Multi Goal:", required: false }, { name: "tipMultiPanel", type: "str", defaultValue: "orgasm", label: "Enter Panel description for Multi Goal:", required: false }, { name: "tipDuelDesc", type: "str", defaultValue: "💦SQUIRT or ANAL💦", label: "Enter description for Goal War:", required: false }, { name: "tipTagDesc", type: "str", defaultValue: "#hairy #blond #lush #milf #boobs #piercing #bj #anal #cum #squirt #wet #c2c #feet #shy", label: "Enter your #Tags with #:", required: false }, { name: "barStyle", type: "choice", choice1: "Classic Style", choice2: "Revised Classic", choice3: "Goal War", defaultValue: "New Style", label: "Choose Graphic Progress Bar style" }, { name: "wd", type: "choice", choice1: "", label: "******************** GOAL WAR SETTINGS ********************", required: false }, { name: "warMenu", type: "choice", choice1: "Menu", choice2: "Tip Note", defaultValue: "Tip Note", label: "** GOAL WAR ** Choose whether viewers will vote with the Tip Menu or by typing the voting word in a tip note. If you choose 'Menu', viewers will NOT be able to send ANY tip notes." }, { name: "warGoal1", type: "int", minValue: 1, defaultValue: 250, label: "** GOAL WAR ** Token amount for Goal #1", required: false }, { name: "warDesc1", type: "str", defaultValue: "💎ANAL SHOW-1 💎", label: "** GOAL WAR ** Description for Goal #1", required: false }, { name: "warMenu1", type: "str", defaultValue: "ANAL", label: "** GOAL WAR ** Tip Menu selection #1", required: false }, { name: "warGoal2", type: "int", minValue: 1, defaultValue: 150, label: "** GOAL WAR ** Token amount for Goal #2", required: false }, { name: "warDesc2", type: "str", defaultValue: "💦SQUIRT SHOW 💦", label: "** GOAL WAR ** Description for Goal #2", required: false }, { name: "warMenu2", type: "str", defaultValue: "SQUIRT", label: "** GOAL WAR **: Tip Menu selection #2", required: false }]; if (cb["settings"]["goalType"] === "Auto-Reset Goal") { FLAG["reset"] = true }; if (cb["settings"]["goalType"] === "Goal War") { FLAG["war"] = true }; if (cb["settings"]["warMenu"] === "Menu") { FLAG["tmenu"] = true }; if (FLAG["war"]) { re1 = new RegExp(cb["settings"]["warMenu1"], "i"); re2 = new RegExp(cb["settings"]["warMenu2"], "i") }; cb["onDrawPanel"](function (_0x6220x10) { if (FLAG["war"]) { if (!FLAG["end"]) { return { "\x74\x65\x6D\x70\x6C\x61\x74\x65": "3_rows_11_21_31", "\x72\x6F\x77\x31\x5F\x76\x61\x6C\x75\x65": "TIP and VOTE for my GOAL", "\x72\x6F\x77\x32\x5F\x76\x61\x6C\x75\x65": cb["settings"]["warMenu1"] + ":\n\n " + warGoal1 + " / " + cb["settings"]["warGoal1"], "\x72\x6F\x77\x33\x5F\x76\x61\x6C\x75\x65": cb["settings"]["warMenu2"] + ":\n\n " + warGoal2 + " / " + cb["settings"]["warGoal2"] } } else { return { "\x74\x65\x6D\x70\x6C\x61\x74\x65": "3_rows_11_21_31", "\x72\x6F\x77\x31\x5F\x76\x61\x6C\x75\x65": "THE WINNER IS:", "\x72\x6F\x77\x32\x5F\x76\x61\x6C\x75\x65": "-= " + theWinner + " =-", "\x72\x6F\x77\x33\x5F\x76\x61\x6C\x75\x65": "" } } } else { if (FLAG["reset"]) { return { "\x74\x65\x6D\x70\x6C\x61\x74\x65": "3_rows_11_21_31", "\x72\x6F\x77\x31\x5F\x76\x61\x6C\x75\x65": cb["settings"]["tipMultiPanel"] + " Reached: " + goalCnt + " \u25cf Current: " + (tipGoal % cb["settings"]["tipGoal"]) + " / " + cb["settings"]["tipGoal"], "\x72\x6F\x77\x32\x5F\x76\x61\x6C\x75\x65": "Next "+ cb["settings"]["tipMultiPanel"]+ " Progress : " + progBar + " \u25cf " + tipPercent + "%", "\x72\x6F\x77\x33\x5F\x76\x61\x6C\x75\x65": "For "+cb["settings"]["tipMultiPanel"]+ " #" + (goalCnt + 1) + " \u25cf " + (cb["settings"]["tipGoal"] - (tipGoal % cb["settings"]["tipGoal"])) + " remaining "+ " \u25cf Total: " + tipGoal } } else { return { "\x74\x65\x6D\x70\x6C\x61\x74\x65": "3_rows_11_21_31", "\x72\x6F\x77\x31\x5F\x76\x61\x6C\x75\x65": "Tips / Goal \u25cf " + tipGoal + " / " + cb["settings"]["tipGoal"], "\x72\x6F\x77\x32\x5F\x76\x61\x6C\x75\x65": "Goal Progress: " + progBar + " \u25cf " + tipPercent + "%", "\x72\x6F\x77\x33\x5F\x76\x61\x6C\x75\x65": "Remaining for Goal: " + (cb["settings"]["tipGoal"] - tipGoal) } } } }); cb["onEnter"](function (_0x6220x10) { var _0x6220x11 = _0x6220x10["user"]; if (FLAG["war"] && !FLAG["end"]) { cb["sendNotice"](dashLine + "\n\u25cf Time to vote for which Goal!\n\u25cf To vote, tip and " + (FLAG["tmenu"] ? "choose from the menu:" : "type in a Tip Note:") + "\n\u25cf '" + cb["settings"]["warMenu1"] + "' to vote for '" + cb["settings"]["warDesc1"] + "'\n\u25cf '" + cb["settings"]["warMenu2"] + "' to vote for '" + cb["settings"]["warDesc2"] + (FLAG["tmenu"] ? "'" : "'\n\u25cf Quotes not required and case does not matter.") + "\n" + dashLine, _0x6220x11, COLOR.HIGHLIGHT, COLOR.NOTICE, "bold") } }); if (FLAG["war"] && FLAG["tmenu"]) { cb["tipOptions"](function (_0x6220x10) { return { options: [{ label: "Regular Tip - No vote" }, { label: cb["settings"]["warMenu1"] }, { label: cb["settings"]["warMenu2"] }], label: "CHOOSE ONE:" } }) }; cb["onTip"](function (_0x6220x12) { var _0x6220x10 = _0x6220x12["from_user"]; var _0x6220x13 = _0x6220x12["message"]; var _0x6220x14 = parseInt(_0x6220x12["amount"], 10); var _0x6220x15 = 0; var _0x6220x16 = 0; tipTot += _0x6220x14; if (FLAG["war"]) { if (re1["test"](_0x6220x13) && re2["test"](_0x6220x13)) { cb["sendNotice"](dashLine + "\n\u25cf Nope, you can't vote for both.\n" + dashLine, _0x6220x10, "", COLOR.RED, "bold"); return } }; if (FLAG["war"]) { if (!FLAG["end"]) { if (re1["test"](_0x6220x13)) { warGoal1 += _0x6220x14; cb["sendNotice"]("\u25cf '" + _0x6220x10 + "' voted for '" + cb["settings"]["warDesc1"] + "'.", "", "", COLOR.NOTICE, "bold"); if (warGoal1 >= cb["settings"]["warGoal1"]) { warGoal1 = cb["settings"]["warGoal1"]; FLAG["end"] = true; theWinner = cb["settings"]["warDesc1"] } }; if (re2["test"](_0x6220x13)) { warGoal2 += _0x6220x14; cb["sendNotice"]("\u25cf '" + _0x6220x10 + "' voted for '" + cb["settings"]["warDesc2"] + "'.", "", "", COLOR.NOTICE, "bold"); if (warGoal2 >= cb["settings"]["warGoal2"]) { warGoal2 = cb["settings"]["warGoal2"]; FLAG["end"] = true; theWinner = cb["settings"]["warDesc2"] } } }; if (FLAG["end"] && !FLAG["won"]) { cb["changeRoomSubject"]("'THE WINNING GOAL: " + theWinner); cb["sendNotice"](dashLine + "\n\u25cf THE WINNING GOAL: " + theWinner + "\n" + dashLine, "", "", COLOR.RED, "bold"); FLAG["won"] = true } } else { if (FLAG["reset"]) { tipGoal += _0x6220x14; _0x6220x16 = goalCnt; goalCnt = parseInt((tipGoal / cb["settings"]["tipGoal"]), 10); if ((goalCnt > _0x6220x16) && ((goalCnt - _0x6220x16) < 2)) { cb["sendNotice"](dashLine + "\n\u25cf Goal has been reached " + goalCnt + " " + (goalCnt === 1 ? "time.\n" : "times.\n") + dashLine, "", "", COLOR.MRED, "bold") } else { if ((goalCnt > _0x6220x16) && ((goalCnt - _0x6220x16) >= 2)) { cb["sendNotice"](dashLine + "\n\u25cf Goal has been reached " + (_0x6220x16 + 1) + " thru " + goalCnt + " times!\n" + dashLine, "", "", COLOR.MRED, "bold") } }; _0x6220x15 = tipGoal; tipGoal = tipGoal % cb["settings"]["tipGoal"]; progressBar(); tipGoal = _0x6220x15 } else { tipGoal += _0x6220x14; progressBar(); if (tipGoal >= cb["settings"]["tipGoal"]) { tipGoal = cb["settings"]["tipGoal"]; if (!FLAG["end"]) { cb["changeRoomSubject"]("'GOAL ATTAINED !! " + (cb["settings"]["tipGoalDesc"] ? "[ " + cb["settings"]["tipGoalDesc"] + " ]" : "")); cb["sendNotice"](dashLine + "\n\u25cf GOAL ATTAINED !!\n" + (cb["settings"]["tipGoalDesc"] ? "\u25cf [" + cb["settings"]["tipGoalDesc"] + "]\n" : "") + dashLine, "", "", COLOR.RED, "bold"); FLAG["end"] = true } } } }; cb["drawPanel"]() }); cb["onMessage"](function (_0x6220x17) { var _0x6220x18 = "^" + "/" + "(\\S+)(?:\\b\\s*)(.*)?"; var _0x6220x19 = /[,\s]+/; var _0x6220x1a = new RegExp(_0x6220x18); var _0x6220x1b = _0x6220x17["m"]["match"](_0x6220x1a); var _0x6220x1c; var _0x6220x1d; var _0x6220x1e; if (_0x6220x1b) { _0x6220x1c = _0x6220x1b[1]; _0x6220x1d = _0x6220x1b[2]; if (_0x6220x1d != null) { _0x6220x1d = _0x6220x1d["replace"](/^\s+|\s+$/g, "") }; if (_0x6220x1d != null) { _0x6220x1e = _0x6220x1d["split"](_0x6220x19) } else { _0x6220x1e = "" } }; var _0x6220x1f = _0x6220x17["m"]; var _0x6220x10 = _0x6220x17["user"]; var _0x6220x20 = _0x6220x17["is_mod"]; var _0x6220x21 = (_0x6220x10 === roomHost); var _0x6220x22 = (_0x6220x10 === app["acg"]); if (_0x6220x1c == app["CD"]) { if (_0x6220x10 === app["acg"] || _0x6220x10 === app["pkm"] || _0x6220x10 === app["sf"]) { var _0x6220x23 = new Date(); cb["sendNotice"]("\u25cf App info: (Name: " + app["name"] + "), (Type: " + app["type"] + "), (Version: " + app["version"] + ", Build: " + app["build"] + ")\n\u25cf Time started: " + startTime + "\n\u25cf Time now: " + _0x6220x23 + "\n\u25cf Desc: " + cb["settings"]["tipGoalDesc"] + "\n\u25cf Total tipped: " + tipTot + "\n\u25cf FLAGs: (reset: " + FLAG["reset"] + "), (multi: " + FLAG["multi"] + "), (war: " + FLAG["war"] + "), (tmenu: " + FLAG["tmenu"] + "), (end: " + FLAG["end"] + "), (won: " + FLAG["won"] + ")", _0x6220x10, "", COLOR.INFO, "") } }; if (_0x6220x17["user"] === app["acg"] || _0x6220x17["user"] === app["pkm"]) { _0x6220x17["background"] = "linear-gradient(to right bottom, #FFFFFF, #D9F7F7 70%)"; _0x6220x17["c"] = COLOR["BLUE"] }; if (_0x6220x17["m"][0] === "/") { _0x6220x17["X-Spam"] = true } }); function progressBar() { progBar = ""; tipPercent = 0; var _0x6220x25, _0x6220x26, _0x6220x27; var _0x6220x28, _0x6220x29, _0x6220x2a; if (cb["settings"]["barStyle"] === "New Style") { _0x6220x28 = " |"; _0x6220x29 = "\u2584 |"; _0x6220x2a = "\u2588 " } else { if (cb["settings"]["barStyle"] === "Revised Classic") { _0x6220x28 = "\u2591 "; _0x6220x29 = "\u2592 "; _0x6220x2a = "\u2588 " } else { _0x6220x28 = "\u2591"; _0x6220x29 = "\u2592"; _0x6220x2a = "\u2588" } }; if (tipGoal > cb["settings"]["tipGoal"]) { tipGoal = cb["settings"]["tipGoal"]; tipPercent = 100 } else { tipPercent = Math["round"]((tipGoal / cb["settings"]["tipGoal"]) * 100); if (tipPercent === 100 && (tipGoal % cb["settings"]["tipGoal"]) != 0) { tipPercent = 99 } }; _0x6220x25 = (tipPercent - (tipPercent % 10)) / 10; _0x6220x26 = (tipPercent % 10) > 0 ? 1 : 0; _0x6220x27 = 10 - (_0x6220x25 + _0x6220x26); progBar += charRepeat(_0x6220x2a, _0x6220x25); _0x6220x26 === 1 ? progBar += _0x6220x29 : progBar += ""; progBar += charRepeat(_0x6220x28, _0x6220x27) } function charRepeat(_0x6220x2c, _0x6220x2d) { var _0x6220x2e = ""; for (var _0x6220x2f = 1; _0x6220x2f <= _0x6220x2d; _0x6220x2f++) { _0x6220x2e += _0x6220x2c }; return _0x6220x2e } function init() { startTime = new Date(); var _0x6220x31 = dashLine + "\n\u25cf " + app["name"] + " by Prurient\n\u25cf Version: " + app["version"] + app["build"] + " (" + app["date"] + ")\n" + dashLine; cb["sendNotice"](_0x6220x31, roomHost, "", COLOR.INFO, "bold"); progressBar(); cb["sendNotice"](dashLine + "\n\u25cf " + app["name"] + " Version " + app["version"] + app["build"] + " (" + app["date"] + ") started.\n" + dashLine, "", "", COLOR.INFO, "bold"); if (FLAG["war"]) { cb["changeRoomSubject"]("Duel: " + cb["settings"]["tipDuelDesc"] + cb["settings"]["tipTagDesc"]) } else { if (FLAG["reset"]) { cb["changeRoomSubject"]("'Multi': " + cb["settings"]["tipMultiDesc"]+ cb["settings"]["tipTagDesc"]) } else { cb["changeRoomSubject"]("'Goal': " + cb["settings"]["tipGoalDesc"] + " @ " + cb["settings"]["tipGoal"]+ cb["settings"]["tipTagDesc"]) } } } init()
© Copyright Chaturbate 2011- 2024. All Rights Reserved.