Jump to content

Recommended Posts

Posted

with everyone shagging me actually. With the old sexout esm it works fine but the new one seems to freeze them. Someone else shold try to reproduce this, so we know if its a problem on my end. And perhaps its not with cb but soemthing else that was changed?

Posted

I've found that calling ResetAI unglitches them, but I'm more interested in learning where this bug came from than just stuffing that in the code somewhere and letting it go. It's possible I was calling it after the callbacks already, before I moved them out into their own world.

Posted

Hah problem is completely my fault. I wasn't even done moving stuff into the callback script, there's a huge block of code that needs copied there that the beta is just skipping right now.

 

New beta shortly.

Posted

Ok... so update.

 

I got the issue fixed with guys getting stuck, but dialog callbacks now happen twice. The problem is that when you get back up from the knockdown, if your crosshair doesn't at least touch the NPC before the talking starts, getcrosshairref returns nothing (0) and so the callback manager doesn't know the dialog fired, and thus, fires it again.

 

No beta until I get this fixed, still struggling to find a solution for the question "an NPC is talking to you, but who?!"

Posted

Any way for you to add a function for it in NVSEE? I doubt there's any way for you to rig this up with existing functions, short of forcing the player to look at the NPC before talking.

Posted

I am sorry for bad English. It is machine translation. A question: whether will be in Sexout obverse animations (expression of emotions, how in lovers in Oblivion) during sex?

Posted

Well....

 

uhtl4.jpg

"Yay!!!"

 

But unfortunately I still have some issue with kf exporting that Im not sure I have solved yet.

"Booooo!!!"

 

I also made sure the anim require no offsets as well per your fascist instructions you Commie pinko nazi! *shakes fist angrily" But seriously though, are no offsets still preferred to lessen w/e scripting juju problems or can we add some slight offsets. I managed to solve rotation and vertical offsets in blender but horizontal offsets are still a bother. This one would require maybe a "5" HOffset to victim.

 

Johnhead and Chrismasters are helping me with my problems but I think even they concede that the positioning issue is pretty much a bitch to solve in not so many words. Maybe Im being too presumptuous but if it were not for the position problems I could have at least 5 new animations by now cause I dont have any issues animating, just dealing with the aftermath of a kf export./rant

 

Got a slow, mutant BJ animation too that I made some time back before I got smacked by my blender issues. Hopefully I didnt delete them in a fit of rage.

Posted

...I got the issue fixed with guys getting stuck' date=' but dialog callbacks now happen twice...

[/quote']

 

Very cool! Glad it wasn't some freak bug on my side that kept you busy:) Can't help with the other problem, sorry.

Posted

Any way for you to add a function for it in NVSEE? I doubt there's any way for you to rig this up with existing functions' date=' short of forcing the player to look at the NPC before talking.

[/quote']

 

That's the next approach to the problem I think.

Posted

I am sorry for bad English. It is machine translation. A question: whether will be in Sexout obverse animations (expression of emotions' date=' how in lovers in Oblivion) during sex?

[/quote']

 

Expressions are a work in progress. Don't know if it will work out or not.

 

Works for me. Dosent matter' date=' post was addressed to pride anyway regarding offsets.

[/quote']

 

The image doesn't work for me either, but I get the picture anyway. Great news, looking forward to it. :)

Posted

Ok... so update.

 

I got the issue fixed with guys getting stuck' date=' but dialog callbacks now happen twice. The problem is that when you get back up from the knockdown, if your crosshair doesn't at least touch the NPC before the talking starts, getcrosshairref returns nothing (0) and so the callback manager doesn't know the dialog fired, and thus, fires it again.

 

No beta until I get this fixed, still struggling to find a solution for the question "an NPC is talking to you, but who?!"

[/quote']

 

GetPackageTarget "should" work for the player. It supposedly did in Oblivion (see cs wiki). In FNV, my experience is that NPC "package target" is whatever the current standard package target is, and not the interruption package target. IE a follower's target is always the NPC, not whomever they are talking to.

 

Or you can use this in NVSE extender :

 

 

GameForms-extract.xxx are cut from my current GameFoms.xxx as mine are modified too much to upload. You might simply merge them with other files.

Posted

jaam, the GetPackageTarget thing seems to not be working, at least not in menumode. Can't try/use it in gamemode for obvious reasons. This just prints an endless string of "0 no name"'s..

 

Begin MenuMode
 ; dialog callback support
 if (MenuMode 1009)
;    set dlgSelf to player.GetCrosshairRef
   set dlgSelf to player.GetPackageTarget
   printc "Conversation with %g %n" dlgSelf dlgSelf
   player.NX_SetEVFo "Sexout:Core:Callbacks:Target" dlgSelf
 endif
End

 

Going to have a look at your code and see what I can whip up with NX. You'd think it would be fairly simple to get this kind of information in the engine but.. of course not.. thanks beth! ;)

 

Chase, if you think infinite sex isn't as fun as it sounds, try infinite repeating conversations with deputy beagle. *shoots self in head*.

Posted

jaam, I've started integrating what I need from your .zip into the extender and before I get too far along, it looks like the DialoguePackage definition from the .h file and some of the code from Cmd_GetDialogueTarget_Eval is all I actually need. Does that sound right? I don't think I need anything from GameForms-extract.cpp.

 

My function (NX_GetConversationPartner) invoked in MenuMode will require a subject ref (generally always the player) and follows your pattern on walking references through pProcess, pPackage, and pDPackage. This will get me to a stage where I can return pDPackage->speaker, does that sound right?

 

I believe if I return target in this case, as you are, it is just going to return the person I called it on? I'm going to test by printing all three (speaker, subject, target) to the console but thought I'd ask as well in case I'm missing something.

Posted

Blah argh.. BaseProcess in NVSE is an empty class. I'm going to yank it in from FOSE if it's there, or OBSE if not, cross my fingers, and hope all the offsets and stuff are the same.

Posted

So even in GameProcess.h, only the AmmoInfo structure and GetAmmoInfo() are mapped in NVSE. Can you let me know which Unk_* you replaced with the GetCurrentPackage() call? That should be all I need I think.

 

From that I'll just create a new class (rather than modify NVSE) for use in the extender, and ship the diff off to silverlock to include in their next release to get it working in the NVSE core.

 

Here's the vanilla class in case you've forgotten or removed all the Unk's in your own.

 

 

 

class BaseProcess
{
public:
BaseProcess();
~BaseProcess();

struct AmmoInfo
{
	void*	unk00;	// 00
	UInt32	count;	// 04
	TESAmmo* ammo;	// 08
	UInt32	unk0C;	// 0C
	UInt32	unk10;	// 10
	UInt32	unk14;	// 14
	UInt32	unk18;	// 18
	UInt32	unk1C;	// 1C
	UInt32	unk20;	// 20
	UInt32	unk24;	// 24
	UInt32	unk28;	// 28
	UInt32	unk2C;	// 2C
	UInt32	unk30;	// 30
	UInt32	unk34;	// 34
	UInt32	unk38;	// 38
	UInt32	unk3C;	// 3C
	UInt32	unk40;	// 40
	TESObjectWEAP* weapon;	// 44
};

virtual void	Destroy(bool noDealloc);
virtual void	Unk_01(void);
virtual void	Unk_02(void);
virtual void	Unk_03(void);
virtual void	Unk_04(void);
virtual void	Unk_05(void);
virtual void	Unk_06(void);
virtual void	Unk_07(void);
virtual void	Unk_08(void);
virtual void	Unk_09(void);
virtual void	Unk_0A(void);
virtual void	Unk_0B(void);
virtual void	Unk_0C(void);
virtual void	Unk_0D(void);
virtual void	Unk_0E(void);
virtual void	Unk_0F(void);
virtual void	Unk_10(void);
virtual void	Unk_11(void);
virtual void	Unk_12(void);
virtual void	Unk_13(void);
virtual void	Unk_14(void);
virtual void	Unk_15(void);
virtual void	Unk_16(void);
virtual void	Unk_17(void);
virtual void	Unk_18(void);
virtual void	Unk_19(void);
virtual void	Unk_1A(void);
virtual void	Unk_1B(void);
virtual void	Unk_1C(void);
virtual void	Unk_1D(void);
virtual void	Unk_1E(void);
virtual void	Unk_1F(void);
virtual void	Unk_20(void);
virtual void	Unk_21(void);
virtual void	Unk_22(void);
virtual void	Unk_23(void);
virtual void	Unk_24(void);
virtual void	Unk_25(void);
virtual void	Unk_26(void);
virtual void	Unk_27(void);
virtual void	Unk_28(void);
virtual void	Unk_29(void);
virtual void	Unk_2A(void);
virtual void	Unk_2B(void);
virtual void	Unk_2C(void);
virtual void	Unk_2D(void);
virtual void	Unk_2E(void);
virtual void	Unk_2F(void);
virtual void	Unk_30(void);
virtual void	Unk_31(void);
virtual void	Unk_32(void);
virtual void	Unk_33(void);
virtual void	Unk_34(void);
virtual void	Unk_35(void);
virtual void	Unk_36(void);
virtual void	Unk_37(void);
virtual void	Unk_38(void);
virtual void	Unk_39(void);
virtual void	Unk_3A(void);
virtual void	Unk_3B(void);
virtual void	Unk_3C(void);
virtual void	Unk_3D(void);
virtual void	Unk_3E(void);
virtual void	Unk_3F(void);
virtual void	Unk_40(void);
virtual void	Unk_41(void);
virtual void	Unk_42(void);
virtual void	Unk_43(void);
virtual void	Unk_44(void);
virtual void	Unk_45(void);
virtual void	Unk_46(void);
virtual void	Unk_47(void);
virtual void	Unk_48(void);
virtual void	Unk_49(void);
virtual void	Unk_4A(void);
virtual void	Unk_4B(void);
virtual void	Unk_4C(void);
virtual void	Unk_4D(void);
virtual void	Unk_4E(void);
virtual void	Unk_4F(void);
virtual void	Unk_50(void);
virtual void	Unk_51(void);
virtual void	Unk_52(void);
virtual AmmoInfo*	GetAmmoInfo();
virtual void	Unk_54(void);
virtual void	Unk_55(void);
virtual void	Unk_56(void);
virtual void	Unk_57(void);
virtual void	Unk_58(void);
virtual void	Unk_59(void);
virtual void	Unk_5A(void);
virtual void	Unk_5B(void);
virtual void	Unk_5C(void);
virtual void	Unk_5D(void);
virtual void	Unk_5E(void);
virtual void	Unk_5F(void);
virtual void	Unk_60(void);
virtual void	Unk_61(void);
virtual void	Unk_62(void);
virtual void	Unk_63(void);


};

 

 

Posted

BETA ESM 2.4.67b5 in OP

This version adds the new (final? maybe!) NX vars requested by Chase, and also adds bighorner alignment.

 

The 'smart' dialog callback is disabled and it will, for now, only try once (just like the old system). This is only temporary until I get a solution working in the NVSE Extender.

 

A new datapack will be along shortly (non beta) that replaces the bighorner default body so they're all sportin' wood -- that's just how it has to be for now, until someone can fix up the mesh to be a penis prop rather than a replacement model.

Posted

jaam' date=' I've started integrating what I need from your .zip into the extender and before I get too far along, it looks like the DialoguePackage definition from the .h file and some of the code from Cmd_GetDialogueTarget_Eval is all I actually need. Does that sound right? I don't think I need anything from GameForms-extract.cpp.

 

My function (NX_GetConversationPartner) invoked in MenuMode will require a subject ref (generally always the player) and follows your pattern on walking references through pProcess, pPackage, and pDPackage. This will get me to a stage where I can return pDPackage->speaker, does that sound right?

 

I believe if I return target in this case, as you are, it is just going to return the person I called it on? I'm going to test by printing all three (speaker, subject, target) to the console but thought I'd ask as well in case I'm missing something.

[/quote']

 

GetDialogueSubject should always be the one starting the conversation.

In dialogue with the player it should be the NPC. Otherwize it equals to self for the line that start the conversation.

 

GetDialogueTarget should always be the one being talked to.

In dialogue with the player it should be the player. That is the one you don't have in vanilla.

 

GetDialogueSpeaker is the one field of the three I deduced but did not verify.

 

By the way with vanilla NVSE you can't use the function as eval so check the DEFINE_CMD_xxx macro you need to use.

Posted

Thanks, I have it being called now as a regular command def.. Worked ok but the first one I tried, target, was the player as you said. Tried speaker thinking that was the right one and it came up 0, so moving on to subject now for another shot.

 

Thanks from me (and everyone else watching) for this, it's going to help out a lot.

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...