prideslayer Posted February 4, 2012 Author Posted February 4, 2012 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.
prideslayer Posted February 4, 2012 Author Posted February 4, 2012 Â 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.
prideslayer Posted February 4, 2012 Author Posted February 4, 2012 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.
prideslayer Posted February 4, 2012 Author Posted February 4, 2012 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.
astymma Posted February 4, 2012 Posted February 4, 2012 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
Foolzero Posted February 4, 2012 Posted February 4, 2012 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?
prideslayer Posted February 4, 2012 Author Posted February 4, 2012 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? [/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.
prideslayer Posted February 4, 2012 Author Posted February 4, 2012 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?
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 New BETA in OP, .51. No major changes between it and the last one, just removed some debugging spam (moved to DebugPrint).
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 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.  Â
Guest Loogie Posted February 5, 2012 Posted February 5, 2012 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.
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 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.
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 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. Â Â
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 I will be here all night waiting for the bug reports to roll in.. thanks to the fearless testers.. Â Hopefully nothing major pops up.
muertos69 Posted February 5, 2012 Posted February 5, 2012 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
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 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..
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 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.
paladuin Posted February 5, 2012 Posted February 5, 2012 hmm i had a quick question cheyenne sunny's dog wasnt moved into that coyoyte faction was it?
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 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.
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 Nope, Cheyenne is in the dogs faction as intended. Why do you ask?
paladuin Posted February 5, 2012 Posted February 5, 2012 ehh i was using http://newvegas.nexusmods.com/downloads/file.php?id=37281, and i thought i remembered it working before with the last plugins , otherwise it cuases a confliction with cheyenne causing 9.2
prideslayer Posted February 5, 2012 Author Posted February 5, 2012 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.
paladuin Posted February 5, 2012 Posted February 5, 2012 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.
Recommended Posts