Harry2stroke wrote:
the script so far looks like this
- Spoiler: show
- But first i want to clear things out and decide, how far we are going with #SubName #GeneralTime
@SetVar[Main_EdgeGoal]=[0] @SetVar[Main_CumGoal]=[0] @SetVar[Harry_EdgeCount]=[0]
#Contact1 tell me a number between 1 and 10 @SetVar[EdgeGoal_Contact1]=[#Random(1,10)]
@ShowLezdomImage @Contact1 @ShowVar[EdgeGoal_Contact1]
now #Contact2 pick a number between 1 and 3 please @SetVar[CumGoal_Contact2]=[#Random(1,3)]
@ShowMaledomImage @Contact2 @ShowVar[CumGoal_Contact2]
and lastly #Contact3 its your turn to pick a number between 1 and 10 @SetVar[EdgeGoal_Contact3]=[#Random(1,10)]
@ShowCaptionsImage @Contact3 @ShowVar[EdgeGoal_Contact3]
Now its time for me to pick a number between 1 and 3 @SetVar[CumGoal_Domme]=[#Random(1,3)]
@PlayAudio[Human_Female_ClearThroat.mp3]
@ShowVar[CumGoal_Domme]
@ChangeVar[Main_EdgeGoal]=[Edgegoal_Contact1]*[Edgegoal_Contact3]
@ChangeVar[Main_CumGoal]=[CumGoal_Contact2]*[CumGoal_Domme]
So what we have here is @ShowVar[Main_EdgeGoal], which represents the number of edges #PetName will do for us
AND furthermore
the second number we found out is @ShowVar[Main_CumGoal], which means the number of rgasms #SubName will do for us tonight 
@ShowCaptionsImage @Contact3 @PlayAudio[Human_Expression_Female_OhMyGod.mp3]
@ShowCaptionsImage @Contact3 WOW thats pretty awesome, cant wait to get things going
@ShowLezdomImage @Contact1 i dont know maths really but thats pretty cool #ShortName
@ShowMaledomImage @Contact2 I would have doubled the numbers @Chance50(double_numbers)
@ShowMaledomImage @Contact2 @PlayAudio[140705_SOUNDDOGS__la.mp3]
Hope you all are comfortable and have a good view 
I am going to call #SubName now to say hello
Say "Hello" to my girlfriends #PetName
And present yourself like i told you before
Looks fine so i guess you are ready to serve us tonight #SubName
Then dont waste time #PetName and get to the edge for me @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
@ShowVar[Main_EdgeGoal] edges remaining
Let yourself calm down as much as you can @Wait(20)
@ShowLezdomImage @Contact1 Now its my turn ladies @PlayAudio[190694_SOUNDDOGS__fe.mp3]
@ShowLezdomImage @Contact1 #SubName get to the edge @EdgeHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
Hope you are enjoing this #SubName because this is going to last a while @Wait(10)
@PlayAudio[300433_SOUNDDOGS__la.mp3]
@ShowCaptionsImage @Contact3 Use every little break we give to you #Name
@ShowCaptionsImage @Contact3 Because it could be going on pretty fast
@ShowMaledomImage @Contact2 Can i go for it next? Thats pretty cool
@ShowCaptionsImage @Contact3 Please hold on a second #Contact2 and let him take a deep breath
@ShowCaptionsImage @Contact3 before he needs to edge for ME @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
@ShowCaptionsImage @Contact3 @ShowVar[Main_EdgeGoal] edges remaining
Break @Wait(10)
@ShowMaledomImage @Contact2 #SubName
@ShowMaledomImage @Contact2 On your marks!
@ShowMaledomImage @Contact2 Ready!
@ShowMaledomImage @Contact2 EDGE! @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
Break @Wait(10)
Lets make a little exciting countdown to get the rocket up
@PlayAudio[140484_SOUNDDOGS__fe.mp3]
#SubName you have to edge on 0
I start with
10
@ShowLezdomImage @Contact1 9
@ShowMaledomImage @Contact2 8
@ShowCaptionsImage @Contact3 7
6
@ShowLezdomImage @Contact1 5
@ShowMaledomImage @Contact2 4
@ShowCaptionsImage @Contact3 3
2
@ShowLezdomImage @Contact1 1
@ShowCaptionsImage @Contact3 EDGE! @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
@ShowVar[Main_EdgeGoal] dripping edges to go for you #SubName
@End
(double_numbers)
@ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]*[2]
@ChangeVar[Main_CumGoal]=[Main_CumGoal]*[2]
#Contact2 you are right, that looks much better
so we now have @ShowVar[Main_EdgeGoal] edges for #PetName
and furthermore @ShowVar[Main_CumGoal] pretty wet orgasms to give to us
@ShowMaledomImage @Contact2 @PlayAudio[Human_Expression_Female_OoLaLa.mp3]
@ShowCaptionsImage @Contact3 @PlayAudio[140705_SOUNDDOGS__la.mp3]
What do you think #PetName ?
Hope you all are comfortable and have a good view 
I am going to call #SubName now to say hello
Say "Hello" to my girlfriends #PetName
And present yourself like i told you before
Looks fine so i guess you are ready to serve us tonight #SubName
Then dont waste time #PetName and get to your first edge for me @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
@ShowVar[Main_EdgeGoal] edges to go
Let yourself calm down as much as you can #PetName
@ShowLezdomImage @Contact1 Now its my turn ladies @PlayAudio[190694_SOUNDDOGS__fe.mp3]
@ShowLezdomImage @Contact1 #SubName get to the edge @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
Hope you are enjoing this #SubName because this is going to last a while
@PlayAudio[300433_SOUNDDOGS__la.mp3]
@ShowCaptionsImage @Contact3 Use every little break we give to you #Name
@ShowCaptionsImage @Contact3 Because it could be going on pretty fast
@ShowMaledomImage @Contact2 Can i go for it next? Thats pretty cool
@ShowCaptionsImage @Contact3 Please hold on a second #Contact2 and let him take a deep breath
@ShowCaptionsImage @Contact3 before he needs to edge for ME @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
@ShowCaptionsImage @Contact3 @ShowVar[Main_EdgeGoal] edges remaining
Break @Wait(10)
@ShowMaledomImage @Contact2 #SubName
@ShowMaledomImage @Contact2 On your marks!
@ShowMaledomImage @Contact2 Ready!
@ShowMaledomImage @Contact2 EDGE! @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1]
Break @Wait(10)
Lets make a little exciting countdown to get the rocket up
@PlayAudio[140484_SOUNDDOGS__fe.mp3]
#SubName you have to edge on 0
I start with @RapidTextOn
10
@ShowLezdomImage @Contact1 9
@ShowMaledomImage @Contact2 8
@ShowCaptionsImage @Contact3 7
6
@ShowLezdomImage @Contact1 5
@ShowMaledomImage @Contact2 4
@ShowCaptionsImage @Contact3 3
2
@ShowLezdomImage @Contact1 1
@ShowCaptionsImage @Contact3 EDGE! @EdgeNoHold @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]-[1] @RapidTextOff
@ShowVar[Main_EdgeGoal] dripping edges to go for you #SubName
(Edge Goal Met)
blablabla
(Cum Goal Met)
blublublu
@End
in the folders @ShowLezdomImage, @ShowMaledomImage and @ShowCaptionsImage i have the picturesets for my glittergirls which works pretty fine for the moment mostly
the next thing i would like to implement somehow is stroking taunts for the glitter girls (or simply lets say other girls), which means that in the taunt pictures of the dedicatetd glittergirl shows up, not the original domme.
But i think this is going to far in this thread, maybe this should be switched to the scriptwriting thread
still a lot of work to do here for me

THX
Honestly i think there are a few errors in your approach....
First of all, when you have lines that simply change vars or things like that, always start them with @NullResponse. This will avoid you seeing an empty line popping up in the chat window for nothing :) (same things for everytime you want to do something without the domme saying anything, simply start with @NullResponse to avoid those annoying empty lines popping up)
Like this:
@ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]*[2] --->will pop an empty line in the chat
@NullResponse @ChangeVar[Main_EdgeGoal]=[Main_EdgeGoal]*[2] --> will do the same thing but you'll see nothing happening
Then, i suggest you going to the setting and put the glitter friends folder where they should be, instead of relating them to other categories like lezdom,maledom and such...go to the setting/apps and select a folder for each of them to take pics from (this will be useful later as you'll see).
In the scripts you want glitter friends to talk to you, then, simply use @Contact1 at the beginning of a line to have that line show a pic of that glitter friend when written (no need every time to also add @ShowImage...just use @ContactX and it will pick a pic from the designated glitter friend).
Then, i found these info written by 1885 in person to deal with stroke and edges with glitter friends:
Tease AI automatically keeps track of who is in the chat room when you add and remove various members with the following Commands:
@AddContact1
@RemoveContact1
@AddContact2
@RemoveContact2
@AddContact3
@RemoveContact3
@AddDomme
@RemoveDomme
Tease AI automates many features of Glitter contacts for you. For example, if @Contact1 tells you to edge, Tease AI will automatically know to have that Contact tell you to stop. If the Domme leaves the room, Tease AI will automatically give any line to an available Contact if one hasn't been specified with @Contact1, @Contact2 or @Contact3.
If you wish to create a Module that has one or more Contacts in the room when the user is told to start stroking, you will need to create a separate set of StrokeTaunts in the Stroke directory -
GlitterTaunts_1.txt
GlitterTaunts_2.txt
GlitterTaunts_3.txt
These work the same way as StrokeTaunts, but you will need to specify when a Contact is speaking (@Contact1, @Contact2 or @Contact3)
For example, "@Contact3 Keep stroking #SubName"
When writing single line taunts for GlitterTaunts_1, simple including the @Contact Command Filter is enough to let the program discard lines for Contacts not in the room. However, when writing lines for GlitterTaunts_2.txt and GlitterTaunts3.txt, you will need to include a @Group() Command Filter for everyone who has a speaking line in that set.
For example, let's say the Domme taunts the user and @Contact 3 agrees causing the Domme to laugh. You would need to use the @Group)_ @Command Filter like this:
@Group(D3) Poor #SubName, I bet he thinks he's never gonna get any relief
@Contact3 He won't if I have anything to say about it #Lol
#Lol
Signify groups by using any combination of D, 1, 2 and 3 - such as @Group(D23) or @Group(1), etc. It's doesn't technically matter what order they appear in parentheses, but the D must be capitalized and when @Group() is used it MUST be the first thing written in the line.
You can also use @Group() as a Command Filter to only include those lines when that particular group is present
If you want the sub to edge and hold the edge when Contacts are present, you'll need to create separate files for these as well:
StrokeEdgeGroupEdge.txt
StrokeHoldTheEdgeGroupHoldTheEdge.txt
Each Contact should have at least one line in each, as well as the domme.
Other than that, you can use @Contact1, @Contact2 and @Contact3 as their own Command Filters in any kind of List type script - CBT, Responses, Vocabulary, etc.
If you have any further questions about how any of this works or need a specific example, please let me know and I'll be glad to try to get you up and running.
Never studied too much on this topic but i am planning to add some features like these too, so i will soon :)