GuideMe (TeaseMe v2.0) - Current Build 0.4.4

Webteases are great, but what if you're in the mood for a slightly more immersive experience? Chat about Tease AI and other offline tease software.

Moderator: 1885

philo
Explorer At Heart
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

Post by philo »

d3vi0n wrote: Sat Apr 29, 2017 7:48 pm Is there a way to add a "comonFunctions.jsWriteFile" similar to "comonFunctions.jsReadFile" to GuideMe? I REALLY want to save image tags in text files (similar to what TeaseAI does) instead of renaming the images. I have over 50 different tags for the "Solo Pictures" category alone. No way to get that into image names or folder structures.
Yes that would be fairly easy to add.

You can currently write files from javascript, however I don't think you can currently get the tease media directory so knowing where to store the files is an issue.

<![CDATA[
function pageLoad() {
var fileOut = "Test text to write to a file\r\n";
var file = new java.io.File("c:\\temp\\test.txt");
var fileWriter = new java.io.FileWriter(file);
fileWriter.write(fileOut);
fileWriter.write("Some more text\r\n");
fileWriter.flush();
fileWriter.close();
}
]]>

*Edit*
It will be in the next release
The files will be written to the guide media directory.


<![CDATA[
function pageLoad() {
var fileOut = "Test text to write to a file\r\n";
guide.jsWriteFile("SingleLine.txt", fileOut);
var lines = [];
lines[0] = "First Line";
lines[1] = "Second Line";
lines[2] = "Third Line";
lines[3] = "Fourth Line";
lines[4] = "Fifth Line";
lines[5] = new Date();
guide.jsWriteFileArray("Saves/FiveLines.txt", lines);
var readLine = guide.jsReadFile("SingleLine.txt");
var readLines = guide.jsReadFileArray("Saves/FiveLines.txt");
var noLines = readLines.length;

}
]]>
User avatar
d3vi0n
Explorer At Heart
Explorer At Heart
Posts: 563
Joined: Fri Mar 25, 2011 10:42 am

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by d3vi0n »

I'm looking forward to it. The media directory "problem" can be easily solved with a config file or a guide setting. Thx to your suggestion I already added a Tag Editor to my Heart's Club Revised. Works very promising so far:

Image
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
philo
Explorer At Heart
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

Post by philo »

d3vi0n wrote: Sun Apr 30, 2017 4:24 pm I'm looking forward to it. The media directory "problem" can be easily solved with a config file or a guide setting. Thx to your suggestion I already added a Tag Editor to my Heart's Club Revised. Works very promising so far:
Was looking in the wrong place
The variable mediaDir contains the path to the current tease directory
<![CDATA[
function pageLoad() {
var fileOut = "Test text to write to a file\r\n";
var path = mediaDir + guide.getMediaDirectory() + "\\Saves\\SecondTry.txt";
var file = new java.io.File(path);
var fileWriter = new java.io.FileWriter(file);
fileWriter.write(fileOut);
fileWriter.write(new Date());
fileWriter.flush();
fileWriter.close();

}
]]>
User avatar
d3vi0n
Explorer At Heart
Explorer At Heart
Posts: 563
Joined: Fri Mar 25, 2011 10:42 am

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by d3vi0n »

Even better :w00t: no need for a config file... thx :wave:
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
janusbound
Curious Newbie
Curious Newbie
Posts: 1
Joined: Fri Sep 25, 2015 8:40 pm
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): I am married to my beautiful Mistress Luchia

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by janusbound »

I can't seem to find an answer to this, so I'll ask here, and hope that this isn't the wrong place for it.

I've downloaded GuideMe because Flash teases have stopped working entirely for me on my browser. I read that I can download the flash teases using the importer (milo 0.0.5) by inputting the web address into the proper place on the importer. That seems to have worked. The program took a while to seemingly download a number of files each with their own title card name, but now I can't find them when I open GuideMe.

Where do imported files go? I have no idea where they've been saved too. They're not in any of the sub folders in my GuideMe Folder. They don't seem to be in "Downloads." I'm at a loss.


Sorry if this has already been answered, or if this is the wrong place to ask this. I tried to use the search bar but couldn't find anything that was the same as what I'm looking for.

Thank you all in this community for all you do. <3
User avatar
d3vi0n
Explorer At Heart
Explorer At Heart
Posts: 563
Joined: Fri Mar 25, 2011 10:42 am

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by d3vi0n »

Start the importer and open "File" > "Application Preferences". There you can edit the "Data Directory" (where your downloads will go). After successfully downloding the tease, you will find it there. To play the tease, load the xml with Guide Me. I would suggest to copy all your teases into the GuideMe\Guides Folder, but thats not required to play.
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
User avatar
Genericdude
Explorer
Explorer
Posts: 45
Joined: Wed Jul 03, 2013 10:43 am
Gender: Male
Sexual Orientation: Straight
Location: Aus

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by Genericdude »

I'm sure this will be a really stupid question, but I can't find the answer.

How do I make a 'Guide' - Literally, how do I even start.

I spent ages making a story for TeaseMe years ago, and I'm sure I did at least most of the work in a tease maker type program.
I did not just edit .xml files with notepad.

Is there a "download tool kit" button back at the start of the thread that missed?
A tutorial for beginners?

I got playfulguy's script engine to start on an outdated version,
But I can't find any type of editor.
Help?
User avatar
d3vi0n
Explorer At Heart
Explorer At Heart
Posts: 563
Joined: Fri Mar 25, 2011 10:42 am

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by d3vi0n »

In concept GuideMe Teases are not much different from Nyx (Flash Teases) on milovana or TeaseMe Scripts. Because of the backwards compatibility to TeaseMe, every TeaseMe Script also works with GuideMe. The main advantage of GuideMe is the use of javascript (including real variables or functions and the possibility to save them or the state of the tease) to create complex teases which never would be possible with Nyx or TeaseMe. It's much more advanced then for example the very limited old "flags" in Nyx and TeaseMe.

As for helpful ressources writing GuideMe Scripts:
  • There was a not so helpful tutorial script for GuideMe once... maybe i should make a new (helpful) version for the current GuideMe Version someday. To be helpful it would need to be more of a javascript and xml tutorial...
  • The main ressource for writing Scripts for GuideMe is the GuideMe Wiki which is also linked in the first post of this thread. The documentation isn't perfect but gets you started.
  • Another helpful ressource are the current GuideMe Teases. I often look at them to see, how other Authors realized different mechanics. And if there are specific questions, there is always this thread to ask for help.
  • And lastly, because Guides are mainly xml documents and javascript, i use w3schools javascript tutorial and w3schools javascript reference as knowledge ressource
As editor I personally use Notepad++ for my Scripts. Notepad++ has built in language support for xml and javascript files. So it works as easy to use code editor for me. I suggest to save your global javascript code in extra .js files to get the full advantages of Notepad++. PlayfulGuy's GuideMe Scripting Engine may be another good tool for writing Scripts, but i personally never used it, because for me writing in Notepad++ is easier.

Screenshot for a xml file in Notepad++:
http://fs5.directupload.net/images/170507/asjf24hq.jpg

Screenshot for a js file in Notepad++
http://fs5.directupload.net/images/170507/4jdh5dis.jpg

I hope this answer helped at least a little bit... :wave:
Last edited by d3vi0n on Sun May 07, 2017 7:40 pm, edited 2 times in total.
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
User avatar
PlayfulGuy
Explorer At Heart
Explorer At Heart
Posts: 778
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

Changes in Guideme 3.1

Post by PlayfulGuy »

philo wrote: Mon Mar 20, 2017 8:48 pm New version of GuideMe

The changes break some current guide me teases
There are a couple of changes that break some current javascript
Ones that I know about
1. where .length() is used in scripts it now needs to be .length (i.e. it is a property not a function in javascript)
2. the scope is cleared for each call so functions variables set in another call are no longer available.
Philo, I'm testing version 1.4 of my script engine in the new version of Guideme. Code that worked in previous versions of Guideme no longer works in the new version. I think I'm running into #2 above but am not sure.

For example, one of my sample scripts demonstrates a loop like this

Code: Select all

count = 0

Increment:
  count = count + 1
  if ( count < 5 ) goto Increment // Should loop 5 times until count = 5

  no-02.jpg {
    Count is now <count> (should be 5).\n
  }

In Guideme 1.5 this executes properly, but in Guideme 3.1 it crashes. When the script engine executes the "count = 0" statement it stores count using scriptVars.put("count",0). When the statement count = count + 1 is executed what the javascript does is parse the arguments into an array named "words" and then executes an eval like

Code: Select all

scriptVars.put(words[1],eval(words[2]+words[3]+words[4])
which translates to

Code: Select all

scriptVars.put("count","count+1")
.

This fails with a javascript error "count is not defined", but it worked in previous versions of Guideme.
  1. Am I correct that this is due to your clearing of the scope?
  2. Do you have any suggestions on how I might work around that? Do I need to do something like scriptVars.put("count",scriptVars.get("count")+1)
  3. Can you elaborate on what exactly you mean by "the scope is cleared for each call". Is that each call to a pageload function, or each javascript function or each what?

Thanks

PG
User avatar
d3vi0n
Explorer At Heart
Explorer At Heart
Posts: 563
Joined: Fri Mar 25, 2011 10:42 am

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by d3vi0n »

JavaScript Scope: "In JavaScript, objects and functions are also variables. In JavaScript, scope is the set of variables, objects, and functions you have access to. JavaScript has function scope: The scope changes inside functions. Variables declared within a JavaScript function, become LOCAL to the function. Local variables have local scope: They can only be accessed within the function. Since local variables are only recognized inside their functions, variables with the same name can be used in different functions. Local variables are created when a function starts, and deleted when the function is completed."

Because in GuideMe every javascript code is part of a function, every variable is a locale variable for that function. I guess "the scope is cleared for each call" means, he fixed a bug, where variables accidentially could carry over to different functions or function calls (because a previous function call used a variable with the same name). I experienced this bug during my Heart's Club Revisited work. Now it works, as it should be and as described above.
PlayfulGuy wrote: Sun May 07, 2017 5:37 pm For example, one of my sample scripts demonstrates a loop like this
Spoiler: show
count = 0

Increment:
count = count + 1
if ( count < 5 ) goto Increment // Should loop 5 times until count = 5

no-02.jpg {
Count is now <count> (should be 5).\n
}
In Guideme 1.5 this executes properly, but in Guideme 3.1 it crashes.
I don't understand your example. That is no proper javascript code...
What is "goto"? "Increment:"? "no-02.jpg {}"? Can you post the full javascript code?

Proper javascript code would be something like this:
Spoiler: show
var count = 0;

do {
// do something while counting
count++;
} while (count < 5);

// counting finished (count is now 5)
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
philo
Explorer At Heart
Explorer At Heart
Posts: 831
Joined: Sun Jan 08, 2012 3:10 pm
Gender: Male
Sexual Orientation: Straight
Location: UK

Re: Changes in Guideme 3.1

Post by philo »

PlayfulGuy wrote: Sun May 07, 2017 5:37 pm Philo, I'm testing version 1.4 of my script engine in the new version of Guideme. Code that worked in previous versions of Guideme no longer works in the new version. I think I'm running into #2 above but am not sure.

For example, one of my sample scripts demonstrates a loop like this

Code: Select all

count = 0

Increment:
  count = count + 1
  if ( count < 5 ) goto Increment // Should loop 5 times until count = 5

  no-02.jpg {
    Count is now <count> (should be 5).\n
  }

In Guideme 1.5 this executes properly, but in Guideme 3.1 it crashes. When the script engine executes the "count = 0" statement it stores count using scriptVars.put("count",0). When the statement count = count + 1 is executed what the javascript does is parse the arguments into an array named "words" and then executes an eval like

Code: Select all

scriptVars.put(words[1],eval(words[2]+words[3]+words[4])
which translates to

Code: Select all

scriptVars.put("count","count+1")
.

This fails with a javascript error "count is not defined", but it worked in previous versions of Guideme.
  1. Am I correct that this is due to your clearing of the scope?
  2. Do you have any suggestions on how I might work around that? Do I need to do something like scriptVars.put("count",scriptVars.get("count")+1)
  3. Can you elaborate on what exactly you mean by "the scope is cleared for each call". Is that each call to a pageload function, or each javascript function or each what?

Thanks

PG
well first I would use a for loop
for (count= 1; count < 6; count++) {
}
Haven't used a goto for decades :-D

scriptVars.put("count",scriptVars.get("count")+1) should work

Scope is a term used by the Rhino script engine that I used to implement javascript
It holds the functions and global variables.
I wasn't clearing it down between calls so if a function with the same name is used in multiple scripts (within the same tease) it wasn't working correctly.

It will use a new scope for each call to javascript.
So page load, button click, delay end etc.

Globaljavascript should contain any standard functions you want to use on each call, these get created every time.
Global variables can be initialized here as well but their value will get reset between each call now.

I also moved to the latest version of Rhino, I don't know if there are any changes in that, I assumed it was just bug fixes.

I am happy to help diagnose issues in getting it running again.
User avatar
d3vi0n
Explorer At Heart
Explorer At Heart
Posts: 563
Joined: Fri Mar 25, 2011 10:42 am

Re: Changes in Guideme 3.1

Post by d3vi0n »

philo wrote: Sun May 07, 2017 7:40 pm Haven't used a goto for decades :-D
There was a goto in javascript? :-O Goto is not part of any JavaScript reference i know off...
Never ever use a goto in something like javascript! :wave:
philo wrote: Sun May 07, 2017 7:40 pmGlobaljavascript should contain any standard functions you want to use on each call, these get created every time. Global variables can be initialized here as well but their value will get reset between each call now.
Global javascript variables are a thing in GuideMe?

So you could do something like the following (outside any function)?
Spoiler: show
<GlobalJavascript>
<![CDATA[

var vMyGlobalVariable = 42;

]]>
</GlobalJavascript>
Not sure i would want that. Just an recipe for bugs in my humble beginners opinion.
My "global" variables get saved as part of the state of the tease with scriptVars.put.
I use variables only within functions or as parameter for functions.
Try GuideMe to play Milovana Teases offline or create your own offline teases with highres images and videos...
Look at Hearts Club or Pilgrim Quest or My Succubus if you wanna see whats possible with GuideMe...
User avatar
PlayfulGuy
Explorer At Heart
Explorer At Heart
Posts: 778
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: Changes in Guideme 3.1

Post by PlayfulGuy »

philo wrote: Sun May 07, 2017 7:40 pm
well first I would use a for loop
for (count= 1; count < 6; count++) {
}
Haven't used a goto for decades :-D

scriptVars.put("count",scriptVars.get("count")+1) should work

Scope is a term used by the Rhino script engine that I used to implement javascript
It holds the functions and global variables.
I wasn't clearing it down between calls so if a function with the same name is used in multiple scripts (within the same tease) it wasn't working correctly.

It will use a new scope for each call to javascript.
So page load, button click, delay end etc.

Globaljavascript should contain any standard functions you want to use on each call, these get created every time.
Global variables can be initialized here as well but their value will get reset between each call now.

I also moved to the latest version of Rhino, I don't know if there are any changes in that, I assumed it was just bug fixes.

I am happy to help diagnose issues in getting it running again.
The code given (why doesn't the code format preserve line breaks in a post?) is my GuideMe Script Engine code. The script engine uses goto's, not javascript. I did not implement a for loop in the script engine. Sorry for the confusion.

The real issue was the "scope" change, and you've confirmed that this is my problem. I will have to spend a bunch of time reviewing my code now. In many cases I was relying on the old behaviour. I did not realize that the persistence of variables was unintended. I was using it as a feature. I should have asked. I had noted a couple times that something was working that I thought shouldn't be, but just accepted it since it was working in my favour.

Thanks

PG
philo
Explorer At Heart
Explorer At Heart
Posts: 831
Joined: Sun Jan 08, 2012 3:10 pm
Gender: Male
Sexual Orientation: Straight
Location: UK

Re: Changes in Guideme 3.1

Post by philo »

PlayfulGuy wrote: Mon May 08, 2017 2:25 pm The real issue was the "scope" change, and you've confirmed that this is my problem. I will have to spend a bunch of time reviewing my code now. In many cases I was relying on the old behaviour. I did not realize that the persistence of variables was unintended. I was using it as a feature. I should have asked. I had noted a couple times that something was working that I thought shouldn't be, but just accepted it since it was working in my favour.
I am playing around with having two scopes.
One for Global Javascript which would be persistent and one created for each call for a page script.
I think I can set the global scope to be the parent of the page scope, in which case it would have access to everything in the global scope.
I will let you know how I get on
User avatar
Genericdude
Explorer
Explorer
Posts: 45
Joined: Wed Jul 03, 2013 10:43 am
Gender: Male
Sexual Orientation: Straight
Location: Aus

Re: GuideMe (TeaseMe v2.0): BETA Thread

Post by Genericdude »

Hi guys, cheers for the reply d3vi0n,

I Think I've got most of what I need working with just notepad ( I'll give ++ a go )
I made a little Proof of concept, with 9 rooms in a grid, a key, locked door, video, loops, pictures.

I cannibalised FWB2 and looked at some others to work out how the code works
( the basic stuff, not the java )
I spent alot of the late 90's making mods for Duke Nukem 3D and the basic stuff here looks alot like it.
once I figured out how to pickup a key and use it to open a gate I was set.

I'm now starting work on "Jimmy Lastcock and the Psionic Lesbians" - (Working title)

Before I copy and paste my room template code 49 times I have a question.

I want 5-6 buttons and I want them to always be in the same place

----Something-----Something ----
--West -- North -- South -- East --

Sometimes there is a forest to the north or a cliff-face to the east.
But the way i'm doing it now if I just don't have that button, All the others move.

My question is:
Can I have a button in place, that is "grayed out" or just doesn't work?
Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 26 guests