Jump to content

Grab key animation change: Which script?


Recommended Posts

Hey guys, I wanted to see if I could write a script that could change the position group (e.g. blowjob to missionary) instead of just changing within one. For that, I wanted to look at the script that is changing the positions within the position groups (grab key activated in game). I can't find it, though! Any ideas or knowledge that could help me out highly appreciated.

Link to comment

Sorry, but the inner workings aren't well known or bothered with.   It might be best to go to the source:  

http://seesaawiki.jp/w/oblivion_jp/d/Lovers%b3%ab%c8%af%bc%d4%b8%fe%a4%b1%bb%f1%ce%c1
http://seesaawiki.jp/w/oblivion_jp/d/Lovers%a4%ce%a5%e2%a1%bc%a5%b7%a5%e7%a5%f3%c8%d6%b9%e6%a4%c8umid%a4%ce%bb%c8%cd%d1%be%f5%b6%b7

Sorry, LL won't allow me for some reason to link directly to the above.

 

 

Link to comment

Oh wow, if there was one who I thought might know, it would have been you gregathit.

 

I actually found out it's xLoversMainScriptModuleKeyControl, which calls xLoversPkrGetSameGroupSPos to jump to the next slot within the array of animations within a position group.

 

1. I've tried calling xLoversPkrGetSameGroupSPos directly, but it didn't work. I'll have to look deeper into understanding how the information about the change is communicated, and to which other scripts.

 

2. Manipulating the way xLoversMainScriptModuleKeyControl calls xLoversPkrGetSameGroupSPos allows for position group changes, so it is possible in principle.

 

Let's see if I can do this with my limited coding knowledge. Thanks for your reply and linking the original documentation!

Link to comment

I left the scripting changes to Donkey and WappyOne.  

You might try poking some of the folks in this thread:  https://www.loverslab.com/topic/168-useful-community-scripts-to-start-mods-with/

And also Fejeena.

 

I do know that groupspos was specifically sorted and set up to limit poses for some mods, like rape for example, so you could sneak up on someone from the back, front or sides and get a specific animation group animation to play.  This way it would be a bit more "realistic" rather than just allowing someone to skip all through the available animations.  We also made sure when we set up the animation ini files to also have unique UMID numbers.  This was supposed to be the new standard of doing animation calls.   

 

Hope that helps some.

Link to comment

Haven't really played oblivion much but everything is found in the base script of lovers with pk. grab key should be defined in their you can change it to any letter or number. Z key is used to shuffle the the animations from spos group from what i remember i am gonna dig into the script when i have the time.

Link to comment
  • 4 weeks later...

In case anyone wonders or wants to do something similar: I got what I wanted by hooking into the xLoversMainScriptModuleKeyControl script.

 

I took this block within the script:

		if eval(ar["keyGrab"] == 1)
			let ar["keyGrab"] := 2
			if eval(ar["hStep"]>=1 && ar["hStep"]<=3)
			;if eval(ar["localFlag"] & 4)==0	; Disallow creature position change
				;20100819 Shift held reverses direction
				if IsKeyPressed3 42==0 && IsKeyPressed3 54==0
					let i0 := Call xLoversPkrGetSameGroupSPos ar["sPos"] 1 1	; Forward one motion
				else
					let i0 := Call xLoversPkrGetSameGroupSPos ar["sPos"] (-1) 1	; Backward one motion
				endif
				; Was it changed?
				if eval(ar["sPos"] != i0)
					let ar["sPos"] := i0
					let ar["doOnce"] := 2	;‘̈ʕÏX
					;Rev90 ƒ‚[ƒVƒ‡ƒ““Ç‚Ýž‚Ýσtƒ‰ƒO‚ð‰º‚°‚é
					let ar["flag"] -= 2048
					return
				endif
			;endif
			endif
		endif

Then copied and altered it to:

		if GenericQuest.GenericVariable == 1
			set GenericQuest.GenericVariable to 0
			if eval(ar["hStep"]>=1 && ar["hStep"]<=3)
			;if eval(ar["localFlag"] & 4)==0	; Disallow creature position change
					let i0 := Call xLoversPkrGetSameGroupSPos 123 1 1	; Forward one motion
				; Was it changed?
				if eval(ar["sPos"] != i0)
					let ar["sPos"] := i0
					let ar["doOnce"] := 2	;‘̈ʕÏX
					;Rev90 ƒ‚[ƒVƒ‡ƒ““Ç‚Ýž‚Ýσtƒ‰ƒO‚ð‰º‚°‚é
					let ar["flag"] -= 2048
					return
				endif
			;endif
			endif
		endif

This way, I can change the animation to animation 124 anytime by having a different function change GenericQuest.GenericVariable to 1. Quite handy if you want to have a customer dissatisfied with a BJ get into a more active position! ?

Link to comment

Further simplified:

 

		if GenericQuest.GenericVariable != 0
			if eval(ar["sPos"] != GenericQuest.GenericVariable)
				let ar["sPos"] := GenericQuest.GenericVariable
				let ar["doOnce"] := 2	
				let ar["flag"] -= 2048
				set GenericQuest.GenericVariable to 0
				return
			endif
		endif

Got rid of the hStep check, the optional creature disallow feature, and the unnecessary call of the xLoversPkrGetSameGroupSPos function call. This way, you can switch to any animation simply by changing the GenericQuest.GenericVariable to the animation number you want to change to. Maybe having a different function than xLoversMainScriptModuleKeyControl do it would be the more elegant solution, but I can't really be bothered. ?

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use