Jump to content

Sex animations.


Recommended Posts

But won´t that cause problems in the game(quests' date='NPC reactions,story) because of the Race change ?

[/quote']

 

Probably not. Not if we just swap in a sexed up race for the animation scene, and swap it back right afterward, anyway. You'd only be this special race for as long as it took to do the act, and you probably wouldn't be taking NPC reactions in that time anyway - or you could be swapped out again if that was necessary.

 

 

 

 

 

Link to comment

I think it's still an interesting track. The solution is temporary more or less' date=' to my mind anyway, until the oddball issues with the format are worked out re: length of names and stuff like that. I'd much rather have something dynamic and extensible that doesn't require creating 100 races, or however many are needed to cover all the different animations. SexoutNG has about 500 animation files (.kfs) in total, though not all are used; the total use count is closer to 200.

[/quote']

 

200 animations? Then maybe 1 (ONE !!!) race is sufficient for that. Skyrim has a total of about 400 idles per gender. I have no idea yet how many of them can be used for replacement, but I guess these are more than 200.

 

I will first finish my current project, but than I'm thinking of an "Animations for Dummies" mod, where users don't have to change binary files. (If noone else has started that by then).

 

 

 

Link to comment

I like the idea of cloning, as people's custom races and stats won't be messed with, and temporary copies can be done away with quickly.

 

As far as I know Skyrim no longer has Oblivion's "createfullactorcopy", but placeatme 7 will work, and can also clone custom hairstyles. However, if a person adjusted their character's height after creation via console (like I did with my Nord), placeatme will not adjust height as it will copy what height is listed for that particular race.

 

Since you can't actually "disable" a PC like you can an NPC, if SKSE still has scripting functions to use console commands in scripts, like "CON_TFC", I've noticed that while you're in 1st person mode and toggle the flying camera mode, you disappear completely from the scene.. allowing the player to move the cam around the copies and not see their character.

Link to comment

Another thought - I've seen bed animations in Oblivion eventually trail off and float into space. In skyrim, TCL (toggling clipping on and off) allows actors to perform animations, but will not move from where they sit or stand. Perhaps if CON_TCL is in SKSE and used, the animated actors will stay where they are supposed to.

Link to comment

This stuff is way over my head but I like keeping track of the progress and am happy to see that people are starting to make some headway. I have a question though. Why is it that we cant just add animations using the same method that this kill animation mod does? http://skyrim.nexusmods.com/downloads/file.php?id=9063 AFAIK it adds to the existing kill animations and also leaves the originals intact so its not a replacer.

Link to comment

@Paulisconfused

The guy who made that mod already answered your question in the Q.A's

 

Q:Can you make xyz animation, it would be really cool you could!

A:I would love to, but sadly i cannot, the animations i have added so far already were in the game, however they were locked so you couldn't do them."

 

Those are not new, they were only unlocked.

Link to comment

OK. How to manage these suckers?

 

I reckon we need a list of structs to map a descriptive name onto the Idle object corresponding to the slot the animation replaced, and maybe for debugging, the name of the mod that added the animation.

 

So, thgat would look like this: (Warning: Pseudocode!)

 

script SexIdle

property string name auto;
property Idle iref auto;
property Race race auto
property string name sourcemod;

 

 

Then we'd want a list that held the all the SexIdles. We can wrap it in a script that lets us add new idles painlessly, and search by name for existing ones. (Hiding this in a spoiler on account of its being long).

 

 

 

script SexIdleManager

	Sexidle[] list = None;
	int used = 0;

	function init()
		if list == None
			list = new Array(1000);
		endif
	endFunction

	function add_idle(string name, Idle iref, Race race, string sourcemod)
		if used > list.Length
			; create larger array
			; loop over old array copying references
			; delete old array? (possible? necessary?)
			; store new array in list
		endif
		SexIdle si = new SexIdle()
		si.name = name
		si.iref = iref
		si.sourcemod = sourcemod
		list[used] = si
		used += 1
	endFunction

	Idle function find_idle(string name)
		int i = 0;

		while i < used
			SexIdle is = list[i]
			if is.name == name 
				return si.idle
			endIf
		endWhile
		return None
	endFunction

 

 

 

We'd have a hidden global quest that initalised at startup and held a SexIdleManager object in a property. Then we could do things like this:

 

	SexQuest.add_idle("Mast-F", MT_Idle, "Skyrim Slavers' Guild");

 

And this:

 

	slavegirl.PlayIdle(SexQuest.find_idle("Mast-F"))

 

This would have a few advantages:

 

  • It would make it simple to add new animations into the game structures
  • It would encapsulate the animation mechanism, so that we could move to a SKSE based solution with minimal problems
  • We wouldn't need to wait for a SKSE solution in two years time

 

It still leaves the problem of actually overwriting the copied hkx file, however, which is going to be a stone pain. We could do with a tool to do the overwriting and a list of filenames or indices -> idle names in the game.

 

Anyway, a few thoughts to how to take this forward.

 

Comments?

Link to comment

If you guys plan to do the nasty hackup of the duped race I suggest using:

http://skyrim.nexusmods.com/downloads/file.php?id=10165

 

Mmmm' date=' OK. The way I read your tut, it's all about having new races that can still have vampire (and possibly werewolf) forms, which is groovy. Only, we're not making a new, playable, race. We just want one that'll be swapped in for the duration of a sex animation, and then swapped back out again. So most of the benefits don't seem to apply, and we'd be building in an unneeded dependency.

 

What would be useful would be a fast way of finding the correct sex-enabled race for the current race. I'd been fuzzily thinking of something in between attaching scripts to references on the one hand, and building up the race name as a string on the other, but one is way too much work, and the I don't think Papyrus has general support for dynamic code generation. (No reason why it shouldn't if the compiler dll is still linked in, but we can't get at it).

 

So if your esm gives us a good, generalised way to go from

 

[list']

[*]NordRace -> NordSexRace

[*]NordVampireRace -> NordVampireSexRace (Or just NordSexRace at a pinch)

[*]ArbitraryMadeUpRace -> ArbitraryMadeUpSexRace

 

If it does that for us, then I can see it being useful. But that doesn't come across from the tutorial you linked.

 

(Also, if anyone has a non-nasty solution for the problem that doesn't involve waiting two years until a grown-up fixes it for us, then I'll cheerfully use that instead. Meanwhile ... :))

 

Link to comment

I predict weird bugs, where the player interrupts the sex-cutscene and is stuck with the sexrace. Imagine all the strangeness, when you don't realize it, until you start mining something or chopping some wood. o.O

 

But for now it's the best solution, I guess.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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