fakelush

fake love lush driver

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name        fakelush
// @description fake love lush driver
// @namespace   lovelush goes droopy
// @include     https://*.chaturbate.com/b/*
// @include     https://chaturbate.com/b/*
// @include     https://*.camgasm.com/b/*
// @include     https://camgasm.com/b/*
// @version     1.1
// @grant       none
// ==/UserScript==

// fake lovelush driver


        var busy=false;
        var tipque = [];

        t1=3;
        t2=10;
        t3=30;
        t4=60;
        t5=130;

        l1=15;
        l2=99;
        l3=499;
        l4=999;
        l5=10000;

        a1="Low vibrations";
        a2="Low vibrations";
        a3="Medium vibrations";
        a4="Medium vibrations";
        a5="High vibrations";

        p1="--------Lovense Toys respond to tips. Models can create their own levels. Here are my levels:";
        p2="--------[1 to "+l1+" tokens] = "+t1+" SECONDS ("+a1+").";
        p3="--------["+(l1+1)+" to "+l2+" tokens] = "+t2+" SECONDS ("+a2+").";
        p4="--------["+(l2+1)+" to "+l3+" tokens] = "+t3+" SECONDS ("+a3+").";
        p5="--------["+(l3+1)+" to "+l4+" tokens] = "+t4+" SECONDS ("+a4+").";
        p6="--------["+(l4+1)+" to "+l5+" tokens] = "+t5+" SECONDS ("+a5+").";

        title="Lovense Lush : Device that vibrates longer at your tips and gives me pleasures.";

        place=document.getElementById("defchat").getElementsByClassName('section')[0].nextSibling;
        info=document.createElement('div');
        info.style.textAlign="right";
        info.style.margin="10px";
        info.innerHTML='<b>lush on/off</b><input type="checkbox" id="onoff">';
        document.getElementById("defchat").insertBefore(info,place);
        document.getElementById("onoff").addEventListener('change',function(){onoff();}, false);

        function onoff(){
            if (document.getElementById("onoff").checked){turnon()}
            else{turnoff()}
        }

        function turnon(){
            getchat();
            t=setInterval(function(){ tipout() }, 500);
            u=setInterval(function(){ promo() }, 300000);
            promo();
            if (document.getElementById("roomtitle").innerHTML.indexOf("Lovense Lush :")==-1){
                setTimeout(function(){settit(title)},1000);
            }
        }

        function turnoff(){
            ws_handler.consolelog=oldFunction;
            oldFunction="";
            clearInterval(t);
            clearInterval(u);
            tipque = [];
            busy=false;
        }


        function getchat(){
            oldFunction=ws_handler.consolelog;
            ws_handler.consolelog = function(msg2){
                if (msg2['method']){
                    if (msg2['method']=='onNotify'){
                        argm=JSON.parse(msg2.args[0]);
                        if (argm.type=="tip_alert"){
                            amount=argm.amount;
                            user=argm.from_username;
                            tipque.push(amount+";"+user);
                        }
                    }
                }
            return oldFunction(msg2);
            }
        }

        function tipout(){
            if (busy==true){return}
            if (tipque.length==0){return}
            busy=true;
            tipque.reverse();
            tipinfo=tipque.pop();
            tipque.reverse();
            tipinfop=tipinfo.split(";");
            process(tipinfop[1],Number(tipinfop[0]));
        }

        function process(tipper,tokens){
            ttime=t5;
            if (tokens<l4+1){ttime=t4}
            if (tokens<l3+1){ttime=t3}
            if (tokens<l2+1){ttime=t2}
            if (tokens<l1+1){ttime=t1}
            message="********My LOVENSE toy is now reacting to "+tipper+"'s tip. It will stop after "+ttime+" seconds!!";
            msend(message);
            document.getElementById("roomtitle").style.backgroundColor = "red";
            setTimeout(function(){ document.getElementById("roomtitle").style.backgroundColor = "white";busy=false }, ttime*1000);
        }

        function promo(){
            msend (p1);
            msend (p2);
            msend (p3);
            msend (p4);
            msend (p5);
            msend (p6);
        }

        function msend(message){
            window.defchat_settings.handler.message_outbound.send_room_message(message, '', '');
        }

        function settit(titlemsg){
            window.defchat_settings.handler.message_outbound.send_change_title(titlemsg);
        }