WebTease Enhancer v1.3

All about the past, current and future webteases and the art of webteasing in general.
---
Post Reply
User avatar
Slutastic
Explorer At Heart
Explorer At Heart
Posts: 310
Joined: Sun Nov 11, 2012 4:27 pm
Sexual Orientation: Open to new ideas!
I am a: Submissive

WebTease Enhancer v1.3

Post by Slutastic »

Hi all,

Sorry it took me a long time to get round to releasing a new version, but its finally here.
demo.png
demo.png (151.71 KiB) Viewed 6923 times
This tease enhancer is only available still on chrome only.

BBCODES in this version:

[ b]Text[/b] = Text
[ i]Text[/i] = Text
[ u]Text[/u] = Text
[ s]Text[/s] = Text
*Text* = Text

[ img]Image url[/img] for an image.
[ url=http://milovana.com]A link [/url]
[ list] [ *]option 1 [ *] option 2 [ *]blah blah blah [/list]
[dice] = on screen dice (can only roll it once to avoid cheating)
[time=20]5[/time] = 20 second countdown timer to goto page 5 of your tease
[ video]url[/video] = video in your tease (must be a direct video url)
[audio]url[/audio] = audio in your tease (must be a direct mp3 url)
[alert=30]Hello world[/alert] = Will send you an alert message "Hello world" in 30 seconds.
[input=Enter Your Name]VariableName[/input] = An input box that will have the words "Enter Your Name" inside of it. When the user types in it, it will get stored to the variable called: VariableName (can be a word of your choice.)
[get]VariableName[/get] = Will get the variable and print it on the page. (like in the case above it will print the users name that they entered into the input box.)

Setting/adding/subtracting Points etc:
[points=VariablePoints]=||10[/points] = This sets the variable called "VariablePoints" to be 10
[points=VariablePoints]+||10[/points] = VariablePoints would now be 20 points total as we added 10 points to it.

Points can be added, subtracted, multiplied, divided and set ( + - * / = )

Link to it in chrome webstore: *Removed*

UPDATED:
Zipped version:
WebTease Enhancer v1.302.zip
(113.77 KiB) Downloaded 333 times
(This will need unzipping and dragging on your extensions page to install it this way.)

Demo Tease: https://milovana.com/webteases/showtease.php?id=31465

I will also post the source code in another post.


There is still the bug where you try typing a space into the input box and it skips to next page....
This is milovana's code that does this on purpose to make skipping pages easier.
Last edited by Slutastic on Wed Sep 06, 2017 3:29 pm, edited 2 times in total.
We are no longer all together as one but separate mental patients, that yearn to be ejected out of this poisoned atmosphere to a warm bed and a friendly therapist.
User avatar
Slutastic
Explorer At Heart
Explorer At Heart
Posts: 310
Joined: Sun Nov 11, 2012 4:27 pm
Sexual Orientation: Open to new ideas!
I am a: Submissive

Re: WebTease Enhancer v1.3

Post by Slutastic »

I like things being open, so others can view there is nothing harmful, also helps for improvements and any mistakes. So here is the Source code:

Code: Select all

var timeid;
var countdown = 0;
var diceUrl = "";
var whichPage = 1;
 
var dPic = new Array();
dPic[0] = chrome.extension.getURL("images/d0.png");
dPic[1] = chrome.extension.getURL("images/d1.png");
dPic[2] = chrome.extension.getURL("images/d2.png");
dPic[3] = chrome.extension.getURL("images/d3.png");
dPic[4] = chrome.extension.getURL("images/d4.png");
dPic[5] = chrome.extension.getURL("images/d5.png");
dPic[6] = chrome.extension.getURL("images/d6.png");

///////////////////////////BBCode Parser
function bbcode_parser(str)
{
 
    var url = document.URL;
    url = url.replace('/i=(.*?)&/gi', "$1");
   
    var search = new Array
    (
        /[b](.*?)[/b]/gi,  
        /[i](.*?)[/i]/gi,
        /[u](.*?)[/u]/gi,
        /[s](.*?)[/s]/gi,
        /[img](.*?)[/img]/gi,
        /[url="?(.*?)"?](.*?)[/url]/gi,
        /[quote](.*?)[/quote]/gi,
        /[list=(.*?)](.*?)[/list]/gi,
        /[list]([sS]*?)[/list]/gi,
        /[*]s?(.*?)
/gi,
        /*(.*?)*/gi,
        /[dice]/gi,
        /[time=(.*?)](.*?)[/time]/gi,
		/[video](.*?)[/video]/gi,
		/[audio](.*?)[/audio]/gi,
		/[input=(.*?)](.*?)[/input]/gi,
		/[get](.*?)[/get]/gi, 
		/[points=(.*?)](.*?)[/points]/gi,
		/[alert=(.*?)](.*?)[/alert]/gi
    );
 
    var replace = new Array
    (
        "<b>$1</b>",
        "<i>$1</i>",
        "<u>$1</u>",
        "<s>$1</s>",
        "<img src="$1" alt="">",
        "<a href="$1">$2</a>",
        "<blockquote>$1</blockquote>",
        "<ol>$2</ol>",
        "<ul>$1</ul>",
        "<li>$1</li>",
        "<b><i>$1</i></b>",
        "<img id="dice" src="" + dPic[0] + """ alt="dice"/><input type="button" id="roll" value="Roll Dice"/>",
        "<b id="timeWT">$1||$2</time>",
		"<video width="700" height="540" controls autoplay><source src="$1" type="video/mp4"></video>",
		"<audio autoplay><source src="$1" type="audio/mpeg"></audio>",
		"<input name="$2" id="savethis" value="$1"/>",
		"<span id="getvar">$1</span>",
		"<span id="points">$1||$2</span>",
		"<span id="alert">$1||$2</span>"
		
    );
 
    for (i = 0; i < search.length; i++)
    {
        str = str.replace(search[i], replace[i]);
    }
 
    return str;
}

///////////////////////////Start count down timer
function startCountDown()
{
    document.getElementById("timeWT").innerText = countdown+" Seconds Remaining";
    timeid = setInterval(function(){countDown()},1000);
}
 
///////////////////////////count down
function countDown()
{
    countdown--;
    document.getElementById("timeWT").innerText = countdown + " Seconds Remaining";
    if(countdown==0)
    {
        clearInterval(timeid);
        var du = document.URL;
        var resu = du.split("#");
        if(resu[1]=='t')
        {
            du = du.replace(/id=(.*?)&p=(.*?)#t/gi, "id=$1&p=" + whichPage + "#t");
        }
        else
        {
            du = du.replace(/id=(.*?)&p=(.*?)&/gi, "id=$1&p=" + whichPage + "&");
        }
        window.location = du;
 
    }
}

if(document.getElementById('tease_content')) //prevent any js errors
{
    var tc = document.getElementById('tease_content');
    tc.innerHTML = bbcode_parser(tc.innerHTML);
 
}

if(document.getElementById('postform')) //prevent any js errors
{
    var postform = document.getElementById('postform');
    function bbcode(tag)
    {
        var el = document.getElementsByTagName("textarea")[0];
        var selectedText = el.value.substring(el.selectionStart, el.selectionEnd);
        var newText = '['+tag+']' + selectedText + '[/'+tag+']';
        el.value = el.value.substring(0,el.selectionStart) + newText + el.value.substring(el.selectionEnd, el.value.length);
    }
   
    var buttons = '<br/><br/><input id="bold" type="button" value="Bold" /> ';
    buttons += '<input id="italic" type="button" value="Italic" /> ';
    buttons += '<input id="underlined" type="button" value="Underlined" /> ';
    buttons += '<input id="strike" type="button" value="Strike" /> ';
    buttons += '<input id="img" type="button" value="Image" /> ';
    buttons += '<input id="url" type="button" value="Url" /> ';
    buttons += '<input id="quote" type="button" value="Quote" /> ';
    buttons += '<input id="dice2roll" type="button" value="Dice" /> <br/><br/>';
    buttons += '<input id="time" type="button" value="Timer" /> ';
	buttons += '<input id="video" type="button" value="Video" /> ';
	buttons += '<input id="audio" type="button" value="Audio" /> ';
	buttons += '<input id="alert" type="button" value="Alert" /> ';
	buttons += '<input id="input" type="button" value="Input" /> ';
	buttons += '<input id="points" type="button" value="Points" /> ';
	buttons += '<input id="get" type="button" value="Get Variable" /> ';
    postform.insertAdjacentHTML('beforeend',buttons);
 
   
    ///////////////////////////event listeners //////////////////////
	
	/////////////////////insert bold
    var bold = document.getElementById("bold");
    bold.addEventListener("click", function() 
	{
		bbcode('b');
    }, false);
   
   /////////////////////insert italic
    var italic = document.getElementById("italic");
    italic.addEventListener("click", function() 
	{
		bbcode('i');
    }, false);
   
   /////////////////////insert underlined
    var underlined = document.getElementById("underlined");
    underlined.addEventListener("click", function() 
	{
		bbcode('u');
    }, false);
   
   /////////////////////insert strike
    var strike = document.getElementById("strike");
    strike.addEventListener("click", function() 
	{
		bbcode('s');
    }, false);
   
   /////////////////////insert image
    var img = document.getElementById("img");
    img.addEventListener("click", function() 
	{
		var url = prompt('enter a url', 'http://');
		if (url!=null && url!="" && url!="http://")
		{
			var el = document.getElementsByTagName("textarea")[0];
			el.value = el.value + '[img]'+url+'[/img]';
		}
    }, false);
   
   /////////////////////insert url
    var url = document.getElementById("url");
    url.addEventListener("click", function() 
	{
		var url = prompt('enter a url', 'http://');
		if (url!=null && url!="" && url!="http://")
		{
			var el = document.getElementsByTagName("textarea")[0];
			el.value = el.value + '[url=' + url + ']' + url + '[/url]';
		}
    }, false);
	

   /////////////////////insert quote
    var quote = document.getElementById("quote");
    quote.addEventListener("click", function() 
	{
		bbcode('quote');
    }, false);
   
	/*
    var page = document.getElementById("page");
    page.addEventListener("click", function() {
    var url = prompt('enter a page number', '');
    if (url!=null && url!="")
    {
        var el = document.getElementsByTagName("textarea")[0];
        el.value = el.value + '[page=' + url + ']';
    }
    }, false);*/

	/////////////////////insert dice
    var roll = document.getElementById("dice2roll");
    roll.addEventListener("click", function() 
	{
		document.getElementsByTagName("textarea")[0].value += '[dice]'; 
    }, false);
   
   /////////////////////insert time
    var time = document.getElementById("time");
    time.addEventListener("click", function() 
	{
		var tim = prompt('enter a time in seconds', '');
		if (tim!=null && tim!="")
		{
			var page = prompt('enter a page number', '');
			if (page!=null && page!="")
			{
				document.getElementsByTagName("textarea")[0].value += '[time=' + tim + ']' + page + '[/time]';
			}
		}
   
    }, false);
	
	 /////////////////////insert video
    var video = document.getElementById("video");
    video.addEventListener("click", function() 
	{
		var url = prompt('enter a video url (this must be a direct video url)', 'http://');
		if (url!=null && url!="" && url!="http://")
		{
			var el = document.getElementsByTagName("textarea")[0];
			el.value = el.value + '[video]' + url + '[/video]';
		}
	}, false);
	
	/////////////////////insert audio
    var audio = document.getElementById("audio");
    audio.addEventListener("click", function() 
	{
		var url = prompt('enter a audio url (this must be a direct audio url)', 'http://');
		if (url!=null && url!="" && url!="http://")
		{
			var el = document.getElementsByTagName("textarea")[0];
			el.value = el.value + '[audio]' + url + '[/audio]';
		}
	}, false);
	
	/////////////////////insert input
    var input = document.getElementById("input");
    input.addEventListener("click", function() 
	{
		var tim = prompt('enter text you wish to show in the input box (can be left blank)', '');
		if (tim!=null && tim!="")
		{
			var page = prompt('enter your varible name', '');
			if (page!=null && page!="")
			{
				document.getElementsByTagName("textarea")[0].value += '[input=' + tim + ']' + page + '[/input]';	   
			}
		}
   
    }, false);
   
   /////////////////////insert Alert
    var nalert = document.getElementById("alert");
    nalert.addEventListener("click", function() 
	{
		var tim = prompt('enter a time in seconds for the alert to show', '');
		if (tim!=null && tim!="")
		{
			var page = prompt('enter text to show on the alert', '');
			if (page!=null && page!="")
			{
				document.getElementsByTagName("textarea")[0].value += '[alert=' + tim + ']' + page + '[/alert]';	   
			}
		}
   
    }, false);
	
	/////////////////////insert get variable
    var get = document.getElementById("get");
    get.addEventListener("click", function() 
	{
		var url = prompt('enter the variable name you wish to show', '');
		if (url!=null && url!="" && url!="http://")
		{
			var el = document.getElementsByTagName("textarea")[0];
			el.value = el.value + '[get]' + url + '[/get]';
		}
	}, false);
	
	 /////////////////////insert Points
    var points = document.getElementById("points");
    points.addEventListener("click", function() 
	{
		var tim = prompt('enter a variable name to save the points to', '');
		if (tim!=null && tim!="")
		{
			var page = prompt('Enter your chosen Math symbol eg: + - / *                             if you setting the variable for the first time use =  ', '');
			if (page!=null && page!="")
			{
				var poi = prompt('Enter the amount of points', '');
				if (page!=null && page!="")
				{
					document.getElementsByTagName("textarea")[0].value += '[points=' + tim + ']' + page +'||'+poi+ '[/alert]';
				}	   
			}
		}
   
    }, false);
	
}
 /////////////////////Timer
if(document.getElementById("timeWT"))
{
    var getTime = document.getElementById("timeWT").innerText;
    var res = getTime.split("||");
    countdown = res[0];
    whichPage = res[1];
    startCountDown();
}
 
 ///////////////////// Dice
if(document.getElementById("roll"))
{
    var roll = document.getElementById("roll");
    roll.addEventListener("click", function() {
    document.getElementById('dice').src = dPic[Math.floor(Math.random()*6+1)];
    document.getElementById('roll').disabled = true;
    }, false);
}

/////////////////////Input saving
if(document.getElementById("savethis"))
{
	var savethis = document.getElementById("savethis");
	var isthere = localStorage.getItem(savethis.name);
	if(isthere!=null&&isthere!="")
	{
		savethis.value = isthere;
	}
	
    
    savethis.addEventListener("keyup", function() 
	{
		localStorage.setItem(savethis.name, savethis.value);
    }, false);
	
	
}

/////////////////////Get Variable
if(document.getElementById("getvar"))
{
    var getvar = document.getElementById("getvar");
	//alert(getvar);
	var thevar = localStorage.getItem(getvar.innerText);	
	getvar.innerText = thevar;		
}

/////////////////////Points
if(document.getElementById("points"))
{

    var points = document.getElementById("points");
	
	var pres = points.innerText.split("||");
	
	var sumthelot;
	if(pres[1]=="=")
	{
		sumtotal = pres[2];
	}
	else
	{
		var last = localStorage.getItem(pres[0]);
		if(pres[1]=="+")
		{
			sumtotal = last + pres[2];
		}
		if(pres[1]=="-")
		{
			sumtotal = last - pres[2];
		}
		if(pres[1]=="*")
		{
			sumtotal = last * pres[2];
		}
		if(pres[1]=="/")
		{
			sumtotal = last / pres[2];
		}
	}
	localStorage.setItem(pres[0], sumtotal);
	
	points.innerText = "";
}

/////////////////////ALERT
if(document.getElementById("alert"))
{
    var nalert = document.getElementById("alert");
	var ares = nalert.innerText.split("||");
	nalert.innerText = '';		
	
	var t = setTimeout(function(){ alert(ares[1]+" "); }, ares[0]*1000);
	
}
Last edited by Slutastic on Sun Oct 25, 2015 6:22 am, edited 1 time in total.
We are no longer all together as one but separate mental patients, that yearn to be ejected out of this poisoned atmosphere to a warm bed and a friendly therapist.
User avatar
Slutastic
Explorer At Heart
Explorer At Heart
Posts: 310
Joined: Sun Nov 11, 2012 4:27 pm
Sexual Orientation: Open to new ideas!
I am a: Submissive

Re: WebTease Enhancer v1.3

Post by Slutastic »

Grrr The Alert function has failed >.<
i always seem to get problems between the non packed version on my browser and the packed version from chrome store :-|

Im giving up on fixing it tonight but will try in morning :-|

Error message is: alert is not a function :huh:


FIXED THIS ISSUE AND UPDATED VERSION TO 1.302
(can be downloaded from chrome store or 1st post)
We are no longer all together as one but separate mental patients, that yearn to be ejected out of this poisoned atmosphere to a warm bed and a friendly therapist.
User avatar
Slutastic
Explorer At Heart
Explorer At Heart
Posts: 310
Joined: Sun Nov 11, 2012 4:27 pm
Sexual Orientation: Open to new ideas!
I am a: Submissive

Re: WebTease Enhancer v1.3

Post by Slutastic »

I forgot to mention, that it also adds buttons on the "The editor" page to enable you to add/remember the bbcodes
The editor.png
The editor.png (158.46 KiB) Viewed 4917 times
We are no longer all together as one but separate mental patients, that yearn to be ejected out of this poisoned atmosphere to a warm bed and a friendly therapist.
PrincessJulia
Explorer At Heart
Explorer At Heart
Posts: 105
Joined: Fri Aug 08, 2014 7:42 pm

Re: WebTease Enhancer v1.3

Post by PrincessJulia »

I appreciate your effort but I honestly think that it doesn't enhance anything.
User avatar
Slutastic
Explorer At Heart
Explorer At Heart
Posts: 310
Joined: Sun Nov 11, 2012 4:27 pm
Sexual Orientation: Open to new ideas!
I am a: Submissive

Re: WebTease Enhancer v1.3

Post by Slutastic »

:-) html5 is the way forward, I originally stopped scripting this as there was talks of a html5 webteases being released. Its now been over a year and there is still no sign of the html5 webteases being released or worked on.
Many people have asked me about it also, so i decided it was time to release it once again.

To me it gives me the option to improve webteases by adding more features and gives me the option to do things that originally you had to click outside of milovana. So for me it is an enhancer, however you are totally entitled to your own opinion :-)
We are no longer all together as one but separate mental patients, that yearn to be ejected out of this poisoned atmosphere to a warm bed and a friendly therapist.
Epton
Explorer At Heart
Explorer At Heart
Posts: 116
Joined: Sun Mar 05, 2017 9:56 am

Re: WebTease Enhancer v1.3

Post by Epton »

Sorry for upping this very old thread

But I've used something similar like 3 years ago and I cant find it
There are still webteases that use a dice on normal webtease (not EOS) and I quite like them but going to random.org back and forth is quite annoying...

so I was wondering if there still a working one or if can someone point me in the right direction please ^^

I've tried installing this .crx on chorme or edge but with no successes :no:
Post Reply