Pim_gd's Advanced Dialogue Guide (v1.01 - updated 10 December 2013)

Samoth

Content Creator
Joined
Feb 13, 2016
Likes
152
Location
Somewhere
#61
Is there really enough performance gain from avoiding checks to justify using delaying lines? Too often they bog down the pacing themselves. Hasn't anyone found themselves watching an empty dialog box for long enough to turn their anticipation into irritation? It doesn't give the impression that the dialog is performing well.
I'd say it's more that for some reason, sometimes a line which has a check doesn't end up firing. I'm not sure if this was because of checks or something else entirely but at one point a handful of the lines in one of my dialogues just wouldn't fire off no matter what I did. At the time, I was using the check system to determine where in the dialogue the scene was, to supply the appropriate dialogue lines for vigorous interactions or pre-cum lines or what have you. I have since swapped it to the other method where it's something like
Code:
vigorous:"[vigorous_*position*]"
and it feels like it's really worked. I don't have those issues anymore. I rarely get occasions where I'll just see the text box pop up but I imagine that's just because I did something that made it only partially fire, and then all that happens is the text box is on screen for a short time until it goes away.
 

jase

Avid Affiliate
Joined
Jun 4, 2014
Likes
10
#62
I'd say it's more that for some reason, sometimes a line which has a check doesn't end up firing. I'm not sure if this was because of checks or something else entirely but at one point a handful of the lines in one of my dialogues just wouldn't fire off no matter what I did. At the time, I was using the check system to determine where in the dialogue the scene was, to supply the appropriate dialogue lines for vigorous interactions or pre-cum lines or what have you. I have since swapped it to the other method where it's something like
Code:
vigorous:"[vigorous_*position*]"
and it feels like it's really worked. I don't have those issues anymore. I rarely get occasions where I'll just see the text box pop up but I imagine that's just because I did something that made it only partially fire, and then all that happens is the text box is on screen for a short time until it goes away.
Using that as an example indicates that you missed my point. Your own dialogs have Thought lines that won't trigger until the girl is able to speak precisely because you triggered it with a Speak line. Now suppose the example you used was intended to trigger specific position Speak, Thought, or Him lines based on whether the girl is gagged? The example you used will never trigger the girl's Thought lines while she's gagged, only as random choices when she is able to speak.
 

Blue Lightning

Vivacious Visitor
Joined
Sep 8, 2014
Likes
14
#63
Is there a way to modify cuminher lines to trigger based on whether or not he's actually in her body? It seems a bit silly to have a line like "I can feel it flow deep inside my body" when he's pulled out and shooting it on her leg.
 

BlueLamp

Potential Patron
Joined
May 28, 2016
Likes
1
#64
I saw that there's a [RESET_RESIST] trigger, but is there a way to set the current resistance to a specific level? ...maybe a variable that DA has access to?
I'm working on a script which will allow you to ask her to switch to auto mode. I'd like it if, when switching to auto, her resistance will dial back to something less intense (the exact resistance depending on her mood), but not necessarily a complete reset.
 

Samoth

Content Creator
Joined
Feb 13, 2016
Likes
152
Location
Somewhere
#65
You just need to have a charcode set in a prior line to the one in which you reset the resist. Something like this:

Line1:"Blah blah blah[Line2]"{"set":{"da.charcode.load":"throatResist:NEWVALUEHERE"}}
Line2:"[RESET_RESIST]More blah blah blah"

It's quite useful, especially if your dialogue swaps between characters (the most straightforward example I can think of as to why someone would want to change the resistance value, not that it's the only one). Note that JUST setting the resist to a new value (as in, the above without [RESET_RESIST] in Line2 or anywhere after Line1 in the procession of your dialogue) will NOT reset her resist.
 

BlueLamp

Potential Patron
Joined
May 28, 2016
Likes
1
#66
Ohh, thanks very much. I mistakenly believed da.charcode.load was for loading an entire character.
After playing with it though, I think initResist was what I was looking for. throatResist seems to be a constant which relates to the "bump" you get while throating her, where initResist is the barrier which decays under pressure.
...Or, I think that's what's happening, anyway. I'm sure I'll be playing more with both of them though.
 

colin

Content Creator
Joined
Apr 11, 2016
Likes
25
#67
That is true Blue, I believe the initial resistance is not modifiable by triggers at this point however.
 

Macnagum

Vivacious Visitor
Joined
Jan 17, 2015
Likes
9
#68
You can skip the initial resistance with the [DEEPTHROAT] trigger.

If you can't deepthroat at first time, verify that there is not conflict with others triggers (as [CLEAN_ALL] ).
 
Last edited:

colin

Content Creator
Joined
Apr 11, 2016
Likes
25
#69
Also, I just uploaded a mod myself that includes a trigger to set the initial resistance setting to what ever you want through the dialogue. I just made it and I am still adding to/modifying it so there may still be some bugs for now. Colin's Loader Mods
 

Pim_gd

Club Regular
Joined
Jan 25, 2013
Likes
133
#70
What's wrong with loading a partial charcode via da.charcode.load to set the resistance, then using [RESET_RESIST]?
 

BlueLamp

Potential Patron
Joined
May 28, 2016
Likes
1
#71
What's wrong with loading a partial charcode via da.charcode.load to set the resistance, then using [RESET_RESIST]?
You can only set throat resistance with da.charcode.load. I was wrong earlier, I don't think DA has access to intro resistance.
 

Osvaldo Remeras

Potential Patron
Joined
May 3, 2017
Likes
3
#73
Hi, fellas! Pim_gd, first of all, thanks a lot for this thread, it's being so useful for my dialogue writing attempts so far. Much appreciated.
Now, I have managed to use DialogueActions to gradually make the girl remove her clothes throughout the dialogue. Is there a way to remove the guy's clothes as well? That tiny detail is proving to be a pebble in my shoe :/
Many thanks in advance!
 

Pim_gd

Club Regular
Joined
Jan 25, 2013
Likes
133
#74
da.clothes.himBottoms, da.clothes.himFootwear, da.clothes.himTop

Those are the variables you're looking for. You can use them just as all the other da.clothes variables you use to get the girl's clothing off.
 

Pim_gd

Club Regular
Joined
Jan 25, 2013
Likes
133
#76
Here's some random advice on SDT's internals:

When trying to pick a line to play, SDT will pick the linetype based on what in-game events have occured, regardless of whether a line like that can actually be played. So if you have cum_on_face lines that are blocked from playing (due to variable values in check?), and she's swallowing like a madman after getting completely blasted away (due to something like more cum spurts mod)... then... she won't say any swallow lines, because SDT wants to play a cum_on_face line and it can't.

To remedy... have an empty cum on face line, I guess. DialogueActions will hide the empty dialogue box for you.
 

Slingerbult

Content Creator
Joined
Sep 15, 2012
Likes
79
Location
Sweden
#77
Here's some random advice on SDT's internals:

When trying to pick a line to play, SDT will pick the linetype based on what in-game events have occured, regardless of whether a line like that can actually be played. So if you have cum_on_face lines that are blocked from playing (due to variable values in check?), and she's swallowing like a madman after getting completely blasted away (due to something like more cum spurts mod)... then... she won't say any swallow lines, because SDT wants to play a cum_on_face line and it can't.

To remedy... have an empty cum on face line, I guess. DialogueActions will hide the empty dialogue box for you.
More info on this would be useful if you're researching it anyway. For example, you'd need to include the empty cum on face line for whatever situation the "real" line wouldn't trigger in of course, but then what? It plays, but does it then retrigger or when does swallow get a foot in so to speak? Wouldn't it be nice if we could manually set line type priorities in a settings file?
 

Pim_gd

Club Regular
Joined
Jan 25, 2013
Likes
133
#78
More info on this would be useful if you're researching it anyway. For example, you'd need to include the empty cum on face line for whatever situation the "real" line wouldn't trigger in of course, but then what? It plays, but does it then retrigger or when does swallow get a foot in so to speak? Wouldn't it be nice if we could manually set line type priorities in a settings file?
After orgasm, you still have built state for cum_on_face. This will block any lines that are not priority 3/4 (things like wake, other cum lines, the start line, buttons, pass_out). This state cannot build without an orgasm ongoing. So after an orgasm, the built state just needs to be cleared once or drop off naturally. This is really only an issue with more cum spurts.

Swallow lines can trigger after the cum_on_face state goes below the threshold. As you know from regular dialogue use, there's normally no real delay.

Being able to set line type priorities in a settings file might help, but it won't get around things like cum lines interrupting any line (including lines that came from a cum line via line-reference trigger) or things like cum_in_eye not caring about any priorities at all and just blasting straight through.
 

Slingerbult

Content Creator
Joined
Sep 15, 2012
Likes
79
Location
Sweden
#79
Pim_gd Pim_gd So cum lines would still interrupt regardless of priority? Or is that just cum_in_eye? You know, such little things (like cum_in_eye not caring about priority) would be so useful to list somewhere, so writers can exploit them for nifty things (like cum_in_eye game overs or easter eggs for example).
 

Pim_gd

Club Regular
Joined
Jan 25, 2013
Likes
133
#80
You've seen this snippet a while ago already...

Code:
      public function buildState_l(param1:String, param2:uint) : void
      {
         if(this.states[param1])
         {
            if(param1 == FIRST_THROAT && this.firstThroatSpoken)
            {
               return;
            }
            this.states[param1].buildState(param2);
            if(this.speaking && this.sayingSpeakingStyle && (param1 == CUM_ON_FACE || param1 == CUM_IN_MOUTH || param1 == CUM_IN_THROAT || param1 == CUM_IN_EYE) && (this.sayingState != CUM_ON_FACE && this.sayingState != CUM_IN_MOUTH && this.sayingState != CUM_IN_THROAT && this.sayingState != CUM_IN_EYE))
            {
               this.currentText = this.currentText + "-";
               this.updateTextField();
               this.stopSpeaking();
            }
         }
      }
If she's speaking, and state is built for a cum line, "stopSpeaking()" - immediately halt the current line if it's not a cum line.

Cum strands...

Code:
if(_loc10_.eyeHit)
                        {
                           g.dialogueControl.triggerState(Dialogue.CUM_IN_EYE);
                           g.her.eyeHit();
                        }
Code:
      public function triggerState_l(param1:String) : void
      {
         this.sayRandomPhrase(param1);
      }
so on eye hit it will just immediately start playing the cum in eye line, regardless of whatever was going on.

---

I'm not planning on making or maintaining such a list of "gotchas" or workings at the moment, mainly because I keep telling myself I'll spend the X hours it takes to build something in and then just don't do it every weekend. This weekend is coming to a close and I still have ... about 5 features to get in (penis size, penis color (strapon), him breast size, her penis size and color, him ball size), and I actually wanted to update DialogueChecker too since it's annoying to have an unsupported DA out there.
 
Top Bottom