If you extract it to a folder you should be able to run guideme.bat or guideme.jarypslave wrote:Hey,
Bit of a noobie question but, I got TeaseMe to work but when I download GuideMe I cant seem to open the program. How should I "install" it?
Thanks!
GuideMe (TeaseMe v2.0) - Current Build 0.4.4
Moderator: 1885
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
There was a bug, it checked the ifset flags, but then just ran the last metronome node anywaycandriver wrote:@BoundSquirrel
GuideMe doesn’t support flags inside <Metronome />
e.g. <Metronome if-set="m25" bpm="25" />
Something simple like <Metronome bpm="25" /> should work without problems.
Images had the same bug.
I will release a fix soon.
GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
-
BoundSquirrel
- Explorer At Heart

- Posts: 282
- Joined: Sat Mar 15, 2014 5:07 am
Re: GuideMe (TeaseMe v2.0): BETA Thread
Is it possible to add the 'if-set' / 'if-set' flags to lines of text (<p></p>) as well? This would be useful in a few instances I can think of, particularly in adventure-based settings where certain text might be applicable if you've found an item or encountered an area. It's easy enough to have alternate pages using if-set / if-not-set in the buttons, but having it in the text would allow to minimize duplicate lines in headers, page references, etc.
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
The flags are only really in Guideme for backwards compatibility with teaseme.BoundSquirrel wrote:Is it possible to add the 'if-set' / 'if-set' flags to lines of text (<p></p>) as well? This would be useful in a few instances I can think of, particularly in adventure-based settings where certain text might be applicable if you've found an item or encountered an area. It's easy enough to have alternate pages using if-set / if-not-set in the buttons, but having it in the text would allow to minimize duplicate lines in headers, page references, etc.
It is better to use javascript in Guideme if you are going to do sophisticated logic like that
So for your example code it would be coded like below
This will
dynamically change the text to show the metronome speed
dynamically add buttons depending on the current speed
Set the new speed based on the current speed when you click a button
The buttons also have hot keys so you can press s or f on the keyboard to go faster or slower
Code: Select all
<Page id="start"> <Text> <p>TestM</p> </Text> <Image id="TestM.jpg" /> <Button target="test">start</Button> <javascript><![CDATA[ function pageLoad() { scriptVars.put("speed", "60"); } ]]></javascript> </Page> <Page id="test"> <Text /> <Image id="TestM.jpg" /> <javascript><![CDATA[ function pageLoad() { var speed = scriptVars.get("speed"); jscriptLog("speed " + speed); overRide.setMetronome(speed, "4", "0", ""); if (parseInt(speed) < 180) { overRide.addButton("test", "Faster","", "", "faster()", "", "f"); } if (parseInt(speed) > 20) { overRide.addButton("test", "Slower","", "", "slower()", "", "s"); } overRide.html = "<p>TestM</p><p>Metronome Speed: " + speed + "</p>"; } function faster() { var speed = scriptVars.get("speed"); jscriptLog("faster speed: " + speed); switch (parseInt(speed)) { case 60: speed = "180"; jscriptLog("faster speed 60 : " + speed); break; case 20: speed = "60"; jscriptLog("faster speed 20 : " + speed); break; } scriptVars.put("speed", speed); } function slower() { var speed = scriptVars.get("speed"); jscriptLog("slower speed start : " + speed); switch (parseInt(speed)) { case 60: speed = "20"; jscriptLog("slower speed 60 : " + speed); break; case 180: speed = "60"; jscriptLog("slower speed 180 : " + speed); break; } jscriptLog("slower speed end : " + speed); scriptVars.put("speed", speed); } ]]></javascript> </Page> speed is stored as text parseInt() converts it to a whole number so we can do numeric comparisons to it.
GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
alternatively if you still want to use flagsBoundSquirrel wrote:Is it possible to add the 'if-set' / 'if-set' flags to lines of text (<p></p>) as well? This would be useful in a few instances I can think of, particularly in adventure-based settings where certain text might be applicable if you've found an item or encountered an area. It's easy enough to have alternate pages using if-set / if-not-set in the buttons, but having it in the text would allow to minimize duplicate lines in headers, page references, etc.
Code: Select all
<Page id="test"> <Text> <p>TestM</p> </Text> <Image id="TestM.jpg" /> <Metronome if-set="m20" bpm="20" /> <Metronome if-set="m60" bpm="60" /> <Metronome if-set="m180" bpm="180" /> <Button target="test" if-set="m20" unset="m20" set="m60">Faster</Button> <Button target="test" if-set="m60" unset="m60" set="m20">Slower</Button> <Button target="test" if-set="m60" unset="m60" set="m180">Faster</Button> <Button target="test" if-set="m180" unset="m180" set="m60">Slower</Button> <javascript><![CDATA[ function pageLoad() { var speed = ""; if (comonFunctions.canShow(guide.getFlags(), "m20", "")) { speed = "20"; } if (comonFunctions.canShow(guide.getFlags(), "m60", "")) { speed = "60"; } if (comonFunctions.canShow(guide.getFlags(), "m180", "")) { speed = "180"; } overRide.html = "<p>TestM</p><p>Metronome Speed: " + speed + "</p>"; } ]]></javascript> </Page> The first item passed is always the same, the second is what you would put in if set, the third would be if not set.
You can test multiple flags in the same way you would in teaseme using AND / OR logic.
GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
- candriver
- Explorer

- Posts: 96
- Joined: Sat Jun 22, 2013 8:18 pm
- Gender: Male
- Sexual Orientation: Straight
- I am a: Submissive
Re: GuideMe (TeaseMe v2.0): BETA Thread
Example code was mine. I use TeaseMe to test my remakes of FlashTeases. Someone noticed that one of the teases failed in GuideMe, so I checked what fails and reported it.
- Dorothy does whatever Miss Linda wants -
- Dorothy does whatever Miss Linda wants -
FlashTease to TeaseMe conversions.
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
candriver wrote:Example code was mine. I use TeaseMe to test my remakes of FlashTeases. Someone noticed that one of the teases failed in GuideMe, so I checked what fails and reported it.
- Dorothy does whatever Miss Linda wants -
GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
- PlayfulGuy
- Experimentor

- Posts: 1068
- Joined: Sat Jul 07, 2012 10:08 pm
- Gender: Male
- Sexual Orientation: Bisexual/Bi-Curious
- I am a: Switch
- Dom/me(s): No domme
- Sub/Slave(s): No sub
- Location: British Columbia, Canada
Re: GuideMe (TeaseMe v2.0): BETA Thread
@Philo,philo wrote:The flags are only really in Guideme for backwards compatibility with teaseme.BoundSquirrel wrote:Is it possible to add the 'if-set' / 'if-set' flags to lines of text (<p></p>) as well? This would be useful in a few instances I can think of, particularly in adventure-based settings where certain text might be applicable if you've found an item or encountered an area. It's easy enough to have alternate pages using if-set / if-not-set in the buttons, but having it in the text would allow to minimize duplicate lines in headers, page references, etc.
It is better to use javascript in Guideme if you are going to do sophisticated logic like that
Adding if-set and if-not-set support to the text node has also been on my list of requested features since the first time I tried writing a tease in teaseme.
There are several "concerns" I have with the answer "you can do that in javascript".
One is that in many cases it's far simpler and requires much less typing/coding to use flags.
Second, not everyone is a programmer, or even wants to be, so if it has to be done in javascript that might just be the end of that idea for most people.
I'm a strong believer in the keep it simple approach. Javascript support is fantastic, and I'm working on some great things with it, but requiring javascript to do something that could be done more simply pushes Guideme tease development further out of reach for many people and limits the audience.
Consider the following:
Code: Select all
<Page id="GoalOne" set="ReachedGoalOne"> <Text>Congratulations</Text></Page> <Page id="GoalTwo" set="ReachedGoalTwo"> <Text>Congratulations</Text></Page> <Page id="NextGoal"> <Text if-not-set="ReachedGoalOne"> To reach goal one you need to..... </Text> <Button if-not-set="ReachedGoalOne">Going for goal one</Button> <Text if-set="ReachedGoalOne" if-not-set="ReachedGoalTwo"> To reach goal two you need to..... </Text> <Button if-set="ReachedGoalOne" if-not-set="ReachedGoalTwo">Going for goal two</Button> <Text if-set="ReachedGoalTwo"> You have achieved greateness! </Text> <Button if-set="ReachedGoalTwo">Experience Greatness</Button> </Page> PlayfulGuy
I'd rather be stroking!
New tease downloader for GuideMe with EOS support.
Downloads of teases I've converted to GuideMe
New tease downloader for GuideMe with EOS support.
Downloads of teases I've converted to GuideMe
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
@playfulguy
I have been a developer for over 20 years I sometimes forget java script is not trivial for most people.
there are a few minor changes I am doing I will add if-set to the text if it is an easy change.
I kind of didn't want to add stuff that would make it difficult to write for teaseme and guideme so was keeping the changes to java script, but I think what you are suggesting is sensible.
*Edit
I have had a look and it is not a trivial change.
The items that use if-set are stored in arrays (lists) so having multiple copies per page works.
Text is stored once, I would need to convert it to an array and change everywhere it is used.
I will add it to the list of future changes, but it will not be in the near future
I have been a developer for over 20 years I sometimes forget java script is not trivial for most people.
there are a few minor changes I am doing I will add if-set to the text if it is an easy change.
I kind of didn't want to add stuff that would make it difficult to write for teaseme and guideme so was keeping the changes to java script, but I think what you are suggesting is sensible.
*Edit
I have had a look and it is not a trivial change.
The items that use if-set are stored in arrays (lists) so having multiple copies per page works.
Text is stored once, I would need to convert it to an array and change everywhere it is used.
I will add it to the list of future changes, but it will not be in the near future
GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
-
BoundSquirrel
- Explorer At Heart

- Posts: 282
- Joined: Sat Mar 15, 2014 5:07 am
Re: GuideMe (TeaseMe v2.0): BETA Thread
Thanks for the speedy responses! Thanks, playfulguy for your insight that we're not all programmers.
I have gotten the hang of just about everything outside of javascripting.
I'm trying to teach myself the javascripting side of this and for one that isn't a programmer, it's pretty intimidating. I'm stumped at the moment. Specifics are behind the spoiler.
I'm trying to teach myself the javascripting side of this and for one that isn't a programmer, it's pretty intimidating. I'm stumped at the moment. Specifics are behind the spoiler.
- Spoiler: show
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
I think you want something like this.BoundSquirrel wrote:I'm trying to have one page decide how long a delay timer will be for a subsequent page but want the option to pause on that page if one edges. I tried using the example on the Github page for "did they press the button in time" but I've realized that what that is and what I'm doing are different. Here's what I want to do:
Page 1 sets delay of 120 seconds for this example. That timer is called out in one of several other pages to determine how long an action goes on for (I'm using a single page in the example text for simplicity). During that timer, if the person hits the edge, they can press a "wait" button, go to a "cool down" page for x seconds, and then are thrown back to the task page where the timer picks up where it left off.
I know how to send them back and forth to all of the pages, and I can get a static timer or even a random timer set. What I can't figure out is how to get the timer to pick back up when they come back.
Store the date/time the delay finishes
On the page load, calculate how many seconds between now and when the delay finishes and pass that to the page delay
If they rest, add 10 seconds to the time it currently finishes and store it as the new finish time.
When the page loads it then calculates the delay based on the new time
Code: Select all
<Page id="round1-1"> <Text> <p>Generic Text</p> </Text> <Button target="round1-2" onclick="R1" hotkey="a">0 (a)</Button> <javascript> <![CDATA[ function R1() { //date / time delay will finish //Current date / time plus 120 seconds var delayEnd = new Date(new Date().getTime() + 120000); scriptVars.put("delayEnd",delayEnd); } ]]> </javascript> </Page> <Page id="round1-2"> <Text> <p>Tease Text-This is where the instructions go.</p> <p>If you hit the edge, click, "Wait"</p> <p>Otherwise, continue until the timer runs out.</p> </Text> <Button target="Wait" onclick="wait" hotkey="w">Wait (w)</Button> <javascript> <![CDATA[ function pageLoad() { var delayEnd = scriptVars.get("delayEnd"); //date time now var delay = new Date(); //time left in milliseconds is the difference between the two values delay = delayEnd.getTime() - delay.getTime(); //time left in seconds delay = delay / 1000; //get rid of any value that is less than a second delay = parseInt(delay); //convert to store the number as text as delay wants it as a string delay = String(delay); overRide.setDelay("round1repeat",delay,"","normal","","",""); } function wait() { // get the time the delay currently ends var delayEnd = scriptVars.get("delayEnd"); // add 10 seconds delayEnd = new Date(delayEnd.getTime() + 10000); // store the new time the delay ends scriptVars.put("delayEnd",delayEnd); } ]]> </javascript> </Page> GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
-
BoundSquirrel
- Explorer At Heart

- Posts: 282
- Joined: Sat Mar 15, 2014 5:07 am
Re: GuideMe (TeaseMe v2.0): BETA Thread
That's really close to what I was trying to accomplish, philo. Thanks.
Details of what I've tried to modify your script to and what did(n't) work behind the cut
Thanks again!
Details of what I've tried to modify your script to and what did(n't) work behind the cut
- Spoiler: show
Thanks again!
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
will do an example of the java script when I am on my main machine.BoundSquirrel wrote:That's really close to what I was trying to accomplish, philo. Thanks.
Details of what I've tried to modify your script to and what did(n't) work behind the cut
On another note, in the next update, would it be possible to integrate the "onmouseover" event for buttons and image areas?
- Spoiler: show
Thanks again!
What were you thinking of doing on mouse over?
GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
-
BoundSquirrel
- Explorer At Heart

- Posts: 282
- Joined: Sat Mar 15, 2014 5:07 am
Re: GuideMe (TeaseMe v2.0): BETA Thread
I was kicking around a few different ideas; putting in tease text of "don't even THINK about edging now" and using the mouseover function to send the tease to a certain page if they just mouseover the edge button.philo wrote: What were you thinking of doing on mouse over?
Alternatively, having the user have to find something in a picture within a certain time in order to advance/be rewarded-either a spot-the-difference style or finding something small within a picture.
-
philo
- Explorer At Heart

- Posts: 831
- Joined: Sun Jan 08, 2012 3:10 pm
- Gender: Male
- Sexual Orientation: Straight
- Location: UK
Re: GuideMe (TeaseMe v2.0): BETA Thread
onmouseover on a button having a target and possibly a script as well like click would be possible.BoundSquirrel wrote:I was kicking around a few different ideas; putting in tease text of "don't even THINK about edging now" and using the mouseover function to send the tease to a certain page if they just mouseover the edge button.philo wrote: What were you thinking of doing on mouse over?
Alternatively, having the user have to find something in a picture within a certain time in order to advance/be rewarded-either a spot-the-difference style or finding something small within a picture.
I will have a look at doing it over the html on the left, it may be possible but coding the tease would probably be difficult.
Try something like this for the delay
It records the time they paused and then adds the elapsed seconds to the end time when it comes back to the main page.
(jscriptLog writes the text to the jscript.log file which can really help to see what is going on
also any errors generated by your java script get written there)
Code: Select all
<Page id="round1-1"> <Text> <p>Generic Text</p> </Text> <Button target="round1-2" onclick="R1" hotkey="a">0 (a)</Button> <javascript> <![CDATA[ function R1() { //date / time delay will finish //Current date / time plus 120 seconds var delayEnd = new Date(new Date().getTime() + 120000); scriptVars.put("delayEnd",delayEnd); scriptVars.put("delayStop",delayEnd); } ]]> </javascript> </Page> <Page id="round1-2"> <Text> <p>Tease Text-This is where the instructions go.</p> <p>If you hit the edge, click, "Wait"</p> <p>Otherwise, continue until the timer runs out.</p> </Text> <Button target="Wait" onclick="wait" hotkey="w">Wait (w)</Button> <javascript> <![CDATA[ function pageLoad() { var delayEnd = scriptVars.get("delayEnd"); var delayStop = scriptVars.get("delayStop"); jscriptLog("main load end: " + delayEnd); jscriptLog("main load stop: " + delayStop); //we have a wait so recalculate new end time if (delayStop < delayEnd) { //time now delayNow = new Date(); jscriptLog("Now: " + delayNow); var tEnd = delayEnd.getTime(); var tNow = delayNow.getTime(); var tStop = delayStop.getTime(); //get the differnce between now and when they stopped var tDiff = tNow - tStop; //add that to the current end time var tNew = tEnd + tDiff; // convert to a date delayEnd = new Date(tNew); jscriptLog("tEnd:" + tEnd); jscriptLog("tNow:" + tNow); jscriptLog("tStop:" + tStop); jscriptLog("tDiff:" + tDiff); jscriptLog("tNew:" + tNew); //reset the pause time scriptVars.put("delayEnd",delayEnd); scriptVars.put("delayStop",delayEnd); jscriptLog("New end: " + delayEnd); } //date time now var delay = new Date(); //time left in milliseconds is the difference between the two values delay = delayEnd.getTime() - delay.getTime(); //time left in seconds delay = delay / 1000; //get rid of any value that is less than a second delay = parseInt(delay); //convert to store the number as text as delay wants it as a string delay = String(delay); overRide.setDelay("round1repeat",delay,"","normal","","",""); } function wait() { // get time the pause started var delayStop = new Date(); // store the paused date / time jscriptLog("Changed stop: " + delayStop); scriptVars.put("delayStop",delayStop); } ]]> </javascript> </Page> <Page id="Wait"> <Text> <p>Rest</p> </Text> <Button target="round1-2" hotkey="b">Back (b)</Button> <Delay seconds="10" style="normal" target="round1-2"/> </Page> GuideMe
viewtopic.php?f=26&t=12944
viewtopic.php?f=26&t=12944
