Question on clearing Him mods via Dialog (1 Viewer)

WeeWillie

Content Creator
Joined
Nov 8, 2013
I'm not sure if this is the proper place to ask this question, but do any of you SDT gurus know how to clear a "Him" mod (i.e. a .swf that changes the male character) via a dialogue (e.g. such as from DialogueActions). Or is there a mod out there that would completely overwrite Him with the original him, which would in essence clear a previous mod?

I ask because I'm looking at using MoonMoon's horse mod that changes the male model into a horse, but I need to be able to restore the male player afterwards via dialogue only.

Any ideas?
 

stuntcock

Content Creator
Joined
Jun 5, 2012
I need to be able to restore the male player afterwards via dialogue only.
Create an external SWF mod which resets the male character. Call it AntiHorse.swf or RegularDude.mod or whatever. Invoke that file from dialogue in the same way that you activated the horse.

Code:
package flash
{   
   public class Main extends flash.display.MovieClip {
       public function initl(l) : void
       {
           // Reset skin tint
           l.g.characterControl.removeHisSkinHSL();
           
           // Reset the penis
           var cumElement = l.g.him.penis.getChildAt(l.g.him.penis.numChildren - 1);
           for (var i:int = l.g.him.penis.numChildren - 1; i > 0; i--) {
               if (l.g.him.penis.getChildAt(i) == l.g.him.penis.lipstickElements) {
                   // Don't remove the lipstick layer
               } else if (l.g.him.penis.getChildAt(i) == cumElement) {
                   // Don't remove the cum-related element
               } else if (l.g.him.penis.getChildAt(i).name.search("wet") > -1) {
                   // Don't remove saliva layers
               } else {
                   l.g.him.penis.removeChildAt(i);
               }   
           }
           l.g.him.setPenis(1);
           l.g.him.setPenis(0);
           
           // Re-show the lipstick layer (hidden by horse mod)
           // Note: this does NOT automatically enable lipstick smearing.
           // It just ensures that if smearing is enabled, then it will be visible.
           l.g.him.penis.lipstickElements.visible = true;
           
           // Reset the limbs and torso
           l.g.him.setBody(1);
           l.g.him.setBody(0);
           
           // Re-show the arms
           l.g.him.armContainer.visible = true;
           l.g.him.leftArmContainer.visible = true;
       }
   }
}

This approach makes several assumptions which may be invalid. It always shows the left arm (whereas you might want it hidden) and it always makes the HIM character male (while you might want female). But you should hopefully be able to fine-tune such details in your dialogue scripting -- by saving the information before the horse appears and then restoring it afterwards.
 

Attachments

resetHim.mod
575 bytes · Views: 154

Last edited:

aztlan

Casual Client
Joined
Sep 14, 2013
Great mod!
I wish it was possible to make changes to him more readily via the dialogue system, but maybe this will work well.
 

WeeWillie

Content Creator
Joined
Nov 8, 2013
Actually, it didn't exactly work like a charm it turns out. When I restore him, cum strands no longer appear during ejaculation. Any idea what could be causing that?

As repro, cum works fine hitting "j", then in dialog I do something like:
Code:
ResetThePlayer:"" {"style":"him", "set":{"da.mod.load":"resetHim.mod"}}
The body is restored, but now there are no cum strands after hitting "j", even though the sound is there.
 
Last edited:

stuntcock

Content Creator
Joined
Jun 5, 2012
Any idea what could be causing that?
Nope.

The final (most foreground) child of the penis element is a Sprite that I can't identify. The effect of removing this object is equivalent to removing g.cumLayer from the game. But g.cumLayer isn't a child object of the penis. We're not removing g.cumLayer. The removed object doesn't seem to be a mask for g.cumLayer.

But if we let that object survive then everything works fine. So we'll just leave it alone, even if we don't understand what it is.

The preceding post has been updated to include this fix. And also a lipstick edit, since lipstick smearing is suppressed until the horse mod is unloaded (and we're not actually unloading it - because a precision unload would be tricky, and a bulk unload would change the appearance of the girl).
 

WeeWillie

Content Creator
Joined
Nov 8, 2013
Sorry to keep bothering you, but I've found a new catastrophic error that I believe is related to the ResetHim.mod. I've attached a little video showing what happens. When I move from the horse scene back to the regular kneeling scene, I load the resetHim.mod to restore him and then set the penis size via DA [LOAD_CHARCODE]. When the girls lips touch the head of the penis, she pops up and away, and will never move forward again. She's stuck forever more, only moving as if pull up and pull down, but never moving towards the penis. Any ideas what this could be? I've put in so much work to try to get the horse scene, but if I can't fix this, I may have to scrap it all, which would be SUPER demotivating. I mean, I shouldn't have been spending this time as is. *sigh*

(btw, it wouldn't let me attach an .mpg file, so I renamed it to .mod. Just rename ResetHimBug.mod to ResetHimBug.mpg to watch the example video)
 

Attachments

ResetHimBug.mod
8.5 MB · Views: 179

stuntcock

Content Creator
Joined
Jun 5, 2012
When I move from the horse scene back to the regular kneeling scene, I load the resetHim.mod to restore him and then set the penis size via DA [LOAD_CHARCODE]. When the girls lips touch the head of the penis, she pops up and away, and will never move forward again.
I'm unable to reproduce this error on my end. But I'm just doing basic stuff: load a position file, activate horse, increase penis size, move back and forth a few times, use reset mod, change to kneeling position, reduce penis size, move back and forth a few times.

Could you please share the position files that you're using? I'll try to reproduce the problem by loading those two files manually. If that doesn't work then I'll need a copy of your WIP dialogue files; I'll try to run through the actual in-game horse scenario that you're using.

She's stuck forever more, only moving as if pull up and pull down, but never moving towards the penis. Any ideas what this could be?
I've seen unrecoverable IK errors when using arbitrary positions which heavily separate the characters. It's an extrapolation effect: if the game believes that contact/penetration cannot occur within the normal [0%...100%] tween range then it tries to jump towards an alternate solution, even that that solution is absurd (e.g. -530%).

I vaguely remember encountering this type of tween error when trying to setup a titjob position, but that was a long time ago (animtools version ~11).

Actually, that's a point which might be worth investigating. Are you using the latest version of animtools? If we can eliminate the error with a simple sofware upgrade, then there's no need to dig into the specifics.
 

WeeWillie

Content Creator
Joined
Nov 8, 2013
One more data point. If I carefully open the options menu and resize his penis using the sliders before her lips touch the penis, then the issue goes away.

Maybe the simplest thing for me to do is just give you my whole working build for a repro. I'll send you a dropbox link in a private message. The repro steps are:
  1. Load Slave Bazaar
  2. Start new game as male
  3. Buy Ellie
  4. Choose "Change Position -> To Stables". You'll load into her kneeling. She's on auto, and the pose doesn't do any penis sucking. (as an aside you can spam the "n" button till the dialog says "Half" or "Full" to see the other stable poses)
  5. Choose "Back to Room" Sometimes I see it hang here with the girl showing NaN stats for breath. Usually though she'll be kneeling.
  6. Move her lips to the penis, and bam, she seizes up.
Once you do this once, you can just close Slave Bazaar, reload using Continue, and you'll be able to bypass the whole buying Ellie steps.

As for mods, I'm using the latest Animtools, PenisRange, and Dialogue Actions. There's a lot of wheels turning. Why in the hell did I think this would be a simple thing to add. Sometimes I'm a real idiot.

Thanks so much for your help! I owe you big time.
 
Last edited:

WeeWillie

Content Creator
Joined
Nov 8, 2013
Oof, another bug I've seen, which can't be related to resetHim.mod but must be related to him as a horse (or maybe the animtool position of kneeling under the horse?) is that if I select the cuff dialog option when Ellie is covering herself, sometimes she will completely disappear, the game will freeze, and the lower left number (roughness percentage?) turns into NaN. I really want this horse mod to work, gadimmit.

Further Edit: I also just did this: Use options to put her arms on her legs. Then put on cuffs (i.e. scripting arms to be behind back) and both the girl and the horse disappeared and the game hung. *sigh*
 

WeeWillie

Content Creator
Joined
Nov 8, 2013
Further Investigation: It does look related to my animtools position WeeWillie_horse_none.txt. I played with the head positioning, and the problem got better, though it's still a bit twitchy. Instead of her being frozen now, or disappearing and breaking, she just bobs silly fast when the penis is at her lips. If I touch the penis slider, and change the size even by the smallest amount, everything works again. What is happening during the options change penis size slider call? Is there a way I could call into that code from Dialogue Actions or some other way?
 

stuntcock

Content Creator
Joined
Jun 5, 2012
The repro steps are:
  1. Attempt 1
    • Using Flash Player debugger instead of standard Flash Player projector.
    • Followed instructions as written.
    • Did not adjust penis size manually at any time.
    • During horse scene, pressed N repeatedly. Some fellatio occurred (under auto control).
    • Back to Room, no crash.
    • Moved lips to penis, no crash.
    • No NaN breath level issues.
  2. Attempt 2
    • Using Flash Player debugger instead of standard Flash Player projector.
    • Restarted game fresh (waited for moreclothing to load, etc).
    • Used continue option.
    • Ellie loaded in dungeon scene.
    • Moved to stables as per instructions.
    • During horse scene, pressed no buttons. No fellatio occured.
    • Back to Room, no crash.
    • Moved lips to penis, no crash. Tween error occured.
    • Manual adjustment of human penis size did not resolve the tween error.
    • No NaN breath level issues.
    • Returned to stables. Was able to force movement by pressing N key. Fellatio occurred.
    • Returned to dungeon. Tween error did not recur; movement and fellatio (on human penis) was possible.
  3. Attempt 3
    • Using Flash Player debugger instead of standard Flash Player projector.
    • Restarted game fresh (waited for moreclothing to load, etc).
    • Used continue option.
    • Ellie loaded in dungeon scene.
    • Performed one oral penetration with human penis.
    • Moved to stables.
    • During horse scene, pressed no buttons. No fellatio occurred.
    • Back to Room, exception thrown. Details below.
    • Exception led to the NaN breath problem which you previously observed, but only indirectly. This isn't really a breath-related thing. There's a fundamental error which inhibits the g.her.move() method from ever completing. The game can no longer complete its ON_ENTER_FRAME scripts. The game is dead at this point.

Code:
ArgumentError: Error #2109: Frame label NaN not found in scene NaN.
   at flash.display::MovieClip/gotoAndStop()
   at obj::Her/updateElements_l()
   at obj::Her/move_l()
   at obj.animation::AnimationControl/stepAnimation_l()
   at DT/tick_l()

// The line of code which fails is this one in g.her.updateElements()
this.head.cheekMask.gotoAndStop(Math.floor(Math.min(144,Math.max(1,(this.head.jaw.rotation + 12) * 8))));

The line of code is failing because g.her.head.jaw.rotation is NaN

g.her.head.jaw.rotation is NaN because g.her.jawAngleTarget is NaN

g.her.jawAngleTarget can become NaN if g.her.headTiltTarget is NaN

g.her.headTiltTarget could become NaN if g.position (the game-space location of the mouse pointer) is invalid, or because of a few other possibilities which I'll need to explore in greater depth.

Recommendation: double-check the position files for the standard (dungeon) position and horse (stables) scenes. If they were created using earlier animtools then double-check the details and re-save them in version 18. Ensure that the position types are correct and that the tweens line up as expected. Make minor changes to the tweens (especially the starting positions) and check whether it improves anything.

If I touch the penis slider, and change the size even by the smallest amount, everything works again. What is happening during the options change penis size slider call? Is there a way I could call into that code from Dialogue Actions or some other way?
Loading a charcode (with a different penis size) might suffice. For example: if the girl's mouth is being stretched open by a wide penis, then you can freeze the game by opening the option menu and then use a charcode to reduce the penis width. The girl's mouth will immediately relax.

I cannot guarantee that this will work, because the problems which I encountered were not solvable via penis adjustments. But it's worth a shot. If you can reproduce this error state, and then fix it by manually loading a charcode then we can hopefully obtain a semi-permanent solution by embedding a "fixed" charcode into your dialogue.

Also: could you please attempt to fix the error by changing the penis type while leaving the size unchanged? Does that achieve anything, or does the problem persist until a size adjustment is made?

Further Edit: I also just did this: Use options to put her arms on her legs. Then put on cuffs (i.e. scripting arms to be behind back) and both the girl and the horse disappeared and the game hung. *sigh*
I'll look into it. Seems like a straightforward coding mistake ... but question is whether it's in the vanilla code, or the horse mod, or animtools, or dialogueActions, or something else entirely.
 

Users who are viewing this thread

Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.