Jump to content

Recommended Posts

Posted

Faction functions expect either a base id or a reference id (and for both to be persistent).

 

Correct. Setting the ActorBase to an existing ghoul and ticking "use factions" would solve the issue' date=' dynamic or not.

 

As for checking to see if a specific animation is playing, no, not with geck/nvse functions... closest is IsAnimPlaying which returns 1 if an animation is playing.

 

Using the global sex hook, you can check for the token count when on the actor when the spell gets cast.

 

If you supply it an anim group id it can say if one animation of an anim group is playing (but all sexout anims are in 1 group hehe).

 

Can't use that anyway. It only allows internal anim group names, not those created by mods; actually the names don't correspond at all. Here is a list of the anim groups you can check for with that.

 

The best bet would be to poll Sexout's variables for the animation number and current animation state.

 

I strongly advise against polling anything internal, and there's no need. Just use the global hook+ getitemcount.

Posted

 

The creature formlist removal is fine' date=' I couldn't get them to work either because they are dynamic temporary type creatures.

[/quote']

 

Look at my post above this one for how to solve this issue without needing to do anything with formlists or factions.

 

The removal of nNewVer could be an issue as SCR reads it to check versions, it is in it's own seperate quest script the reading part so if the script locks up due to missing variable it shouldn't effect anything, but if you could leave it there disused for a week till I get most of the old versions of SCR flushed would be good, I've deactivated it completely as of todays version till I can look at checking against your new vaariables in your next release.

 

I can put it back in but please don't use any of the internal vars! The new ones are intended to be "public use." Hopefully it's just the name that matters and not the formid.

Posted

How to include management of change of poses and positioning? клавшами upwards - downwards' date=' forward back and <> does not work. SexoutNG V1.2.41

[/quote']

 

Currently neither are implemented or supported in Sexout. You can set global positioning adjustments in the MCM menu for Sexout, but there is no dynamic positioning or pose/animation swapping as of yet. Er... as far as I know.

 

Actually there is a spell to change the animation, I added that for Bromm a while back. It's called SexoutSwitchPos and requires you to set Sexout.anim and the SexoutNG actor vars. It will adjust the position (anim #) and do nothing else.

 

Using it with older anims (those with offsets other than 0) will probably result in the actors being a bit out of position though.

Posted

OK, here's the beta release of 2.3.50

 

nNewVer is back in, set to 100. It will not be changing from that value from now on, so switch to using nVerRel as soon as you are able.

 

I'll hold off for a day or two before making this one the official download, but I will add it to the OP as a beta as well.

 

Changes are listed in the "confirmed (done)" section of the 2nd post in the thread.

 

EDIT: download removed from this post. Download the beta from the OP.

Posted

Faction functions expect either a base id or a reference id (and for both to be persistent).

 

Correct. Setting the ActorBase to an existing ghoul and ticking "use factions" would solve the issue' date=' dynamic or not.

 

As for checking to see if a specific animation is playing, no, not with geck/nvse functions... closest is IsAnimPlaying which returns 1 if an animation is playing.

 

Using the global sex hook, you can check for the token count when on the actor when the spell gets cast.

 

If you supply it an anim group id it can say if one animation of an anim group is playing (but all sexout anims are in 1 group hehe).

 

Can't use that anyway. It only allows internal anim group names, not those created by mods; actually the names don't correspond at all. Here is a list of the anim groups you can check for with that.

 

The best bet would be to poll Sexout's variables for the animation number and current animation state.

 

I strongly advise against polling anything internal, and there's no need. Just use the global hook+ getitemcount.

GAHH, I keep forgetting about the hook and itemcount... just slap me next time. Of course you're right, no need to poll anything. Oh and good to know about SexoutSwitchPos, will defintiely utilize that in the mods I mentioned.

 

C'mon, linking me the anim groups for a function I just described? I'm not an idiot hehe ;) I know what anim groups can be checked, the point I was illustrating was that the available function (IsAnimPlaying) can't help us.

 

Creating a parent-child relationship functions well for an existing vanilla base but you still can't use the child for faction calls, that's just glossing the issue... it will, however, fix the problem in question specifically. I think I'm just gonna stop harping on you about persistent refs, you are the immovable object and I'm the irresistable force and we ain't gonna agree lol ;)

Posted

Thanks for answers. And whether change of poses and correction of position in following versions in ESM will be added? These functions are very important. It is strange to observe as actors plunge into the earth, each other or them takes away in the parties. As would be desirable to establish correction of position for all involved actors. I ask very little? :blush:

Posted

Thanks for answers. And whether change of poses and correction of position in following versions in ESM will be added? These functions are very important. It is strange to observe as actors plunge into the earth' date=' each other or them takes away in the parties. As would be desirable to establish correction of position for all involved actors. I ask very little? :blush:

[/quote']

 

Change of poses is already in the ESM in the spell I mentioned. Fixing positions... ugh. That's a taller order than it sounds. Right now I don't really have any idea on how I'd do that without basically rewriting the entire main system.

 

The "right way" is to fix all the animations so they don't require any offsets, but that too is a lot of work.

Posted

Game engine is smarter than I am. Sort of what I expected, but the load order checker isn't actually going to work (except for the DLC check).

 

Running a game with the order SCR, SL, Sexout results in the game engine reordering them due to the masters, same as it does if you try to load a mod and not it's master -- the master is loaded first anyway, if present in the directory.

 

This makes me wonder if the problems people are reporting when the load order is messed up are actually being fixed by adjusting the load order, or if something else is fixing their issues.

 

In FOMM I put the load order as

FalloutNV.esm 00
DeadMoney.esm 01
HonestHearts.esm 02
OldWorldBlues.esm 03
LonesomeRoad.esm 04
MikotoBeauty.esm 05
Primary Needs HUD.esm 06
SexoutCommonResources.esm 07
SexoutLegion.esm 08
Sexout.esm 09

 

When they were actually loaded, GetModIndex reported:

Sexout: 07

SCR: 08

Legion: 09

 

EDIT: Added a check and warning message if you have both brutalrapers and sexoutrapers loaded. Any other checks/warnings I should toss in?

Posted

Using the Sexout built-in scanner.

 

Here is a quick tutorial that I wrote as I modified the kings tryout esp to use the new Sexout scanner rather than it's own scanner, which was in the main quest script. Follow along and it shouldn't be too difficult for you to add support for this scanner to your own mods, or to modify existing scanners.

 

1. Baseline

Kings Tryout used a scanner in it's main quest script, called "00SexoutKingsQuestScript". I will refer to this as the KQScript in this document for less typing.

 

2. Create an empty effect script.

- Created a new empty script, type "effect", named "SexoutKingsScanTriggerSCRIPT"

 

3. Create the formlist that will hold the scan results

- Created a new empty formlist called "SexoutKingsScanTargets"

 

4. Create a new base effect to call our script.

- Game Effects -> Base Effect (right click in right hand side, click 'new')

- ID: "SexoutKingsScanTriggerBASE"

- Name: "Kings scan trigger effect"

- Leave all settings alone except these:

- Effect Archetype: Script

- Assoc. Item: SexoutKingsScanTriggerSCRIPT (The name of your script from step 2)

- Flags: No Hit Effect, Self, No Magnitude, No Area, Painless

 

5. Create a new Actor Effect (also called a "spell")

- Game Effects -> Actor Effect (right click in right hand side, click 'new')

- ID: "SexoutKingsScanTrigger"

- Name: "Kings scan trigger spell"

- Type: Actor Effect

- Checked: "Disallow Absorb/Reflect", "Script Effect Always Applies"

- Right click in the 'effects' list, select "new"

- Effect: SexoutKingsScanTriggerBASE (The ID of your base effect, from step 4)

- Range: Self

- Duration: 9999 d (The spell will dispel itself)

- Conditions: none, leave empty

 

6. Register with SexoutNG

All the basic pieces are in place. The only thing we need to do now for sexout to call our spell in the scanner is to register it and our formlist. This can be done anywhere, but is best done in a Quest script. I modified KQScript, removing the existing scanner code (actually, copied and pasted to a text editor for reference) and replaced it with this:

scn 00SexoutKingsQuestScript

short init
short approach

Begin GameMode

 if init == 0
   set init to 1
   set approach to 36
 endif
 ; Setup the sexout scanner to call us
 ;; Add our formlist
 if (0 > (ListGetFormIndex SexoutScannerListN SexoutKingsScanTargets))
   ListAddForm SexoutScannerListN SexoutKingsScanTargets
 endif

 ;; Add our spell
 if (0 > (ListGetFormIndex SexoutScannerListS SexoutKingsScanTrigger))
   ListAddForm SexoutScannerListS SexoutKingsScanTrigger
 endif
End

 

This isn't in any kind of block because we want to make sure that while we are running, everything stays in the sexout formlists. Sexout clears out its lists in a gameloaded/restarted block which might run after your own quest script, there is no way to control the order. Sexout does this to ensure that the formlist doesn't end up with garbage in it from a dirty savegame. This script ensures that if that happens, the registration occurs again. You can put other criteria there as well, and even remove (unregister/deregister) with sexout if you like.

 

7. Write the script!

Everything we need is in place. Now it's time to go write our script. Because this is an 'instant' one-shot script that we want to complete fast, so the formlist can be emptied, all of the code will go in the ScriptEffectStart block. This block needs to ensure that it only runs once. The ScriptEffectUpdate block will do nothing except dispel itself. This is as close as we can get in FONV scripting to a custom function that we want to call once.

 

The initial script looks like this:

scn SexoutKingsScanTriggerSCRIPT

int init

Begin ScriptEffectStart
End

Begin ScriptEffectUpdate
 if (1 == init)
   ; If we make it here, we are finished.  Dispel ourself
   RemoveMe
 endif
End

 

It's very important that we clear out our formlist every time we are called. If you want to, you can register multiple formlists and spells with sexout, or only the spell and no formlists, or even only the formlist and no spells. Sexout doesn't care. So the first bit of code we'll write actually goes at the end of the EffectStart block. Everything else will be inserted before it.

 

scn SexoutKingsScanTriggerSCRIPT

int init
int nCount
int nIndex
ref scanner

; loop label vars
int whileClear
int whileLoop

Begin ScriptEffectStart
 if (0 == init)
   ; Prevent this block from running more than once, I have seen it happen on occasion
   set init to 1

   ; Each while label var must have a different number.  In fact, you can just use
   ; numbers if you want with no vars for the Label and Goto statements.  Vars just
   ; make it easier to read.
   set whileClear to 1
   set whileLoop to 2
   ; Loop through the form list
   set nCount to ListGetCount SexoutKingsScanTargets
   set nIndex to 0
   Label whileLoop
   if (nIndex < nCount)
     set scanner to ListGetNthForm SexoutKingsScanTargets nIndex

     ; YOUR CODE HERE!

     set nIndex to nIndex + 1
   endif
   ; End looping

   ; We're done, clear out the formlist.
   set nCount to ListGetCount SexoutKingsScanTargets
   Label whileClear
   if (nCount > 0)
     ; Remove the first item
     ListRemoveNth SexoutKingsScanTargets 0

     ; Get a new count to use in the if statement
     set nCount to ListGetCount SexoutKingsScanTargets

     ; Go back to the if statement
     goto whileClear
   endif
 endif
End

Begin ScriptEffectUpdate
 if (1 == init)
   ; If we make it here, we are finished.  Dispel ourself
   RemoveMe
 endif
End

 

This is a basic scan handler. The 'YOUR CODE HERE' indicates where code you would normally place in your scanner goes. Most scanners do something like "set scanner to GetNextRef". We are looping a formlist instead, but the concept is the same, and once you have the actor, you can do all the normal scanner "stuff" with it.

 

From here, I simply copied all the scanner checks from the old scanner, starting from "if (scanner)" and ending at "set scanner to GetNextRef", and made sure it all looked correct.

 

 

Posted

Reading this was a little daunting, but once I actually got into the GECK and followed your instructions this couldn't have been any clearer.

Posted

Reading this was a little daunting' date=' but once I actually got into the GECK and followed your instructions this couldn't have been any clearer.

[/quote']

 

Cool, thanks!

 

I tend to be pretty pedantic when writing stuff like that. Lots of words doesn't always mean lots of work, I just want the instructions to be clear and complete.

Posted

V2.3.51 plugins in OP.

- fixed another GetGameRestarted to be GetGameLoaded || GetGameRestarted

- Check ESM load order and alert player on error. Checks for Sexout, SCR, Legion, and DLC.

- Check that rex is in the dogs list. (checked, he is)

- New versioning vars. All sexout settings will be reset! May need clean save!

- Separate faction for coyotes. (old accidental SexoutCreature* formlists removed!)

- 1201 (feral ghoul) aligned. Still does not stop playing for some reason. To fix when playing, open console, click the ghoul, type 'playidle sexoutreset'.

- Added 1202 (feral ghoul) to anim picker. It also does not stop correctly for some reason though.

- Ensure sex counters are being incremented properly. (Look fine, might need a closer look.)

- Check for groovatron ESP, and if present, remove actors from groovatron factions before sex and readd after. Needs minor groovatron ESP fix as well.

- Implement generic hookable scanner. See this thread.

- Init check in MCM quest script.

- Check that brutalrapers and sexoutrapers are not both loaded.

 

 

Posted

I will be here all night waiting for the bug reports to roll in.. thanks to the fearless testers.. ;)

 

Hopefully nothing major pops up.

 

Not sure if we're fearless...more like addicted:P

Posted

So far the scanner works brilliantly.

Posted

I will be here all night waiting for the bug reports to roll in.. thanks to the fearless testers.. ;)

 

Hopefully nothing major pops up.

 

Not sure if we're fearless...more like addicted:P

 

That works fine for me as well.. :D

Posted

So far the scanner works brilliantly.

 

At the very least I'm hopeful that, if thare are continued problems with it for people like Jack, there's only one place to look, and one thing to fix. The tryout approach scripts work fine to my knowledge, always seems to be the scanner that screws up somehow.

 

Turning on debug mode in sexout will now put scanner crap in the console every second. If it ever "just stops", time to go on a bug hunt.

Posted

hmm i had a quick question cheyenne sunny's dog wasnt moved into that coyoyte faction was it?

 

Shouldn't have been but I might have screwed up. Checking now.

Posted

I'll check out the mod. It might be removing cheyenne from the dogs faction. Dogs and coyotes both use the same animations so being in either one won't cause a 9.2 -- the two lists are just there so the pregnancy mod can produce the right type of offspring if one gets you pregnant.

Posted

well otherwise it's a good mod and lets you have sunny with ya as a companion, and works well with sexout so far, im pretty sure it changes factions because it allows cheyenne to follow sunny and when you change sunny to essential, cheyenne is too.

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

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