-
Announcements
-
SITE MOVED - IN READ ONLY MODE 12/08/2015
Please use http://www.loverslab.com moving forward. Site has been restored to a previous version, and this one placed into a read-only mode. This is available for a limited time so users may reference/copy content that has been lost in the transition. This will no longer be accessible by December 22nd, 2015.
-
-
Content count
1,682 -
Joined
-
Last visited
Posts posted by astymma
-
-
-
Aren't we still using the Actor Value of Variable04? Or has Pride added a new value? Preferably an NX value...
0 -
SexoutPosSpTerminate does simple cleanup, like so:
scn SexoutPosBETerminateS
Begin ScriptEffectStart
set SexoutPosActive to 0
End
Begin ScriptEffectUpdate
Dispel SexoutPosSpTerminate
End
0 -
Another quick question : within my script, what should for a check if Sexout is done? Duration?
0 -
There is an anim var. Pride told me to set it in addition to setting animA, etc., when something I was doing didn't work. They're doing different things, but the animation kf for each pose is combined into an anim number group.
EDIT: The exception to that being Actor X, who is a bystander/next in line and with whom I've never worked with.
0 -
@astymma: Do you know when the vars are cleared from the spelltargets?
1 -
IIRC there is no "anim", there's "animA", "animB", "animC" and "animX" since each actor can be playing a different anim.
0 -
They ARE cleared from the SexoutNG *quest* variables.
However, they ARE written to the actor involved in the sex act labelled as the "spellTarget".
The "spellTarget" NX Var is written to all actors in the sex act.
So... assuming this is a script for a spell added to the callback list for sex act START...
ref ActorInvolvedREF
ref SpellTargetREF
ref refNXVar1
ref refNXVar2
ref refNXVar3
float fNXVar4
float fNXVar5
float fNXVar6
Begin ScripEffectStart
set ActorInvolvedREF to GetSelf
set SpellTargetREF to ActorInvolvedREF.NX_GetEVFo "Sexout:Start::spellTarget"
;start obtaining NX_Vars
set refNXVar1 to SpellTargetREF.NX_GetEVFo "Sexout:Start::BlahBlah1"
set refNXVar2 to SpellTargetREF.NX_GetEVFo "Sexout:Start::BlahBlah2"
set refNXVar3 to SpellTargetREF.NX_GetEVFo "Sexout:Start::BlahBlah3"
set fNXVar4 to SpellTargetREF.NX_GetEVFl "Sexout:Start::BlahBlah4"
set fNXVar5 to SpellTargetREF.NX_GetEVFl "Sexout:Start::BlahBlah5"
set fNXVar6 to SpellTargetREF.NX_GetEVFl "Sexout:Start::BlahBlah6"
End ;ScriptEffectStart
1 -
Check out the SexoutPositioning mod in my sig. Small esp and contains callback usage, nx var usage, and usage of the positioning support built into the anim script of Sexout. Makes a good practical example.
In particular, it shows how to:
- use the callbacks to cast a spell on sex activation
- obtain the current spellTarget of the sex act
- obtain nx var information from the spellTarget ref
0 - use the callbacks to cast a spell on sex activation
-
Um, I feel like quoting the Lyrics from "Broken Hearts are for Assholes" by Frank Zappa...
Hey! do you know what you are?You're an asshole! an asshole!Some of you might not agree'cause you probably likes a lot of miseryBut think a while and you will see...Broken hearts are for assholesBroken hearts are for assholesAre you an asshole?Broken hearts are for assholesAre you an asshole too?Whatcha gonna do, 'cause you're an asshole...Maybe you think you're a lonely guyMaybe you think you're too tough to crySo you went to the grape,Just to give it a tryAnd dagmarWithout a doubt, the ugliest sonofabitch I ever saw in my lifeWas his name...One two three four!The whiskers sticking out from underneath of hisPancake make-upAnd yet he was a beautiful ladyNearly drove you insaneLet's talk about leather: leatherrrrrrAnd so you kissed a little sailorTex abel, starring in the latest shepperton production:Who had just blew in from spainSir richard pump-a-loafYou sniffed the reeking buns of angelThe story of a demented bread-bofferAnd acted like it was cocaineCucumber pud annexed to a fine whole-wheat loafYou were dazzled by the exciting new costume of ko-koThen on tuesday night, ceasar's back in townIn a way you can't explainFacing off in a no-holds-barred tag team grudge matchWith kona.And so you worked the wall with michaelThree-hundred-seventy-nine pounds of samoan dynamiteWhich gave your back an awful strainVolcanic hellBut you came back on sunday for the gong showNext thursday, teen town's finest...But you forgot what I was sayin''cause you're an asshole, you're an assholeThat's rightYou're an asshole, you're an assholeYes, yesYou're an asshole, you're an assholeThat's rightYou're an asshole, you're an assholeNow you been to the grape 'n' you been to the chest'n' now I think you know what you are: you're an assholeYou say you can't live with what you been throughWell, ladies you can be an asshole tooYou might pretend you ain't got one on the bottom of you,But don't fool yerself girlIt's lookin' at youDon't fool yerself girlIt's winkin' at youDon't fool yerself girlIt's blinkin' at youThat's why I sayI'm gonna ram it, ram it, ram itRam it up yer poop chute Corn holeRam it, ram it, ram itRam it up yer poop chute Fist fuckRam it, ram it, ram itRam it up yer poop chute Wrist-watch; criscoRam it, ram it, ram itRam it up yer poop chutePud!Don't fool yerself, girlIt's goin' right up yer poop chuteDon't fool yerself, girlIt's goin' right up yer poop chute (etc., repeats)Aw, I knew you'd be surprised...0 -
You're expecting to solve problems using linear model solutions when the model is purely event driven.
You have to start thinking of scripting for FO as managing a state machine.
1 -
Rings around the nipples generally means you need to do ...
spells> batch> update all tangent spaces
... on the mesh in nifskope.
0 -
Equipping and Unequipping take more than 1 frame to execute afaik. They update the 3d scene graph. You can do a bunch of equips in a row or unequips in a row, but anything else should probably be in a new frame after a short timer.
0 -
Equipping/Unequipping is what I do in SmallerTalk. Since it does AddItem to add its conversation token I ran into the weapon bug too.
So I have:
scn SmallerTalkScript
ref refTarget
int intChecked
ref refWeapon
short doTimer
float fTimer
Begin GameMode
if ((IsControlPressed 5) && (0 == doTimer))
set intChecked to 0
set refTarget to GetCrosshairRef
if 1 == SmallerTalkVars.iVariable4 && 1 == Player.IsSneaking
return
endif
if 0 == SmallerTalkVars.iVariable3 && 1 == refTarget.GetIsCreature
return
endif
if 0 == reftarget.IsActor
return
endif
if 0 == refTarget
return
endif
if 1 == refTarget.GetDead || 1 == refTarget.IsInCombat
return
endif
if refTarget.GetSleeping > 0
return
endif
if ListGetFormIndex SmallerTalkIgnoreList refTarget >= 0
return
endif
if refTarget.GetInFaction SmallerTalkIgnoreFaction == 1
return
endif
set intChecked to 1
set refWeapon to refTarget.GetEquippedObject 5
if refWeapon
refTarget.UnequipItem refWeapon 0 1
set doTimer to 1
set fTimer to .2
endif
refTarget.AddItem SmallerTalkResetAIToken 1 1
refTarget.AddItem SmallerTalkDialogueToken 1 1
if 1 == SmallerTalkVars.iVariable2
printtoconsole "SmallerTalk: Target under crosshair: %n", refTarget
printtoconsole "SmallerTalk: FormID of Target: %i", refTarget
printtoconsole "SmallerTalk: Value of intChecked: %.0f", intChecked
endif
if 0 == intChecked
set refTarget to 0
endif
endif
if 1 == doTimer
if fTimer > 0
set fTimer to fTimer - GetSecondsPassed
else
set doTimer to 0
set fTimer to 0
refTarget.EquipItem refWeapon 0 1
endif
endif
End ; GameMode
Begin MenuMode 1075
if 1 == intChecked
if 0 == SmallerTalkVars.iVariable6
set intChecked to 0
refTarget.RemoveItem SmallerTalkResetAIToken 1 1
refTarget.RemoveItem SmallerTalkDialogueToken 1 1
endif
endif
End ; MenuModeChecks if they have a weapon... unequips it, does the additems for the tokens, runs a .2sec timer, re-equips it...
0 -
Is there some way to artificially force Sexout to treat a subject as the opposite gender for animation purposes? I've managed to transfer a half-decent lady penis onto an armor model.
I believe you cast the two spells from Sexout called:
SexoutSheMaleEffect to make Sexout think a female is a male for this sex act.
SexoutHeFemaleEffect to make Sexout think a male is a female for this sex act.
Fairly sure that the Sexout scripts check or IsSpellTarget for those two effects to see if they're running before setting the available gender of the actor for that sex act.
So basically, set NX Callver, set NX Actor variables, CIOS applicable sexchange spell, CIOS SexoutBegin.
OR... if it's clothing/armor, add it to the strapon list or the items not to be removed when having sex list.
0 -
The MCM options for SmallerTalk include a "Enable SmallerTalk" option. Simply turn it off when you want to hear their one-liner goodbye flagged responses.
0 -
Or next time it happens, run GBO on it and find the refid of the spawn marker so you know what mod does it.
0 -
GetParentCell called on a reference returns the cell they're currently located in.
ref.GetParentCellSo you should be able to do a comparison...
if (ActorREF.GetParentCell == SavedParentCellREF)
;do stuff
else
;do other stuff
endif
0 -
The only thing I'd change in your code is to iterate your list without removing anything. Decrement (or increment) your index into the list instead each frame.
Once you've completed processing, one frame per item, and the index goes below 0 (you're iterating (count-1) down to (zero)... or (zero) up to (count-1) in which case stop when index==count), empty the list in the cleanup stage.
The whole point of this method is an outside process is saying "here's a list" and you want to go "thanks, but I'll just take a copy of it so I can work on it later".
Also, take a look at "reference scripts" as well... for ways of processing scan results in a new script process for each scan result as it comes in.
0 -
Well, the solution I tend to recommend with any "list" of values is to store it. Especially something like scanner results.
Often this involves brute force copying of values into a list... which isn't as memory intensive as iterating them and performing functionality on every one (as jaam mentioned previously as a bad thing, which I definitely agree with). You should try to think of iterating lists of values as a stack... unless you're using ListAddForm with an index defined, always a LIFO stack (last in first out). You pile things onto the stack all at once... then you can take things off, one at a time, at your leisure, and process them.
What I generally do is this:
Stage 1 = Copy all of my items into a list to be processed later.
Stage 2 = Get the count of items in the list
Stage 3 = Process One item from the list and decrement the count by 1 each frame until list is completed.
Stage 4 = Clean up.
This is the least intensive and least unstable method... it's also a play well with others method.
This isn't to say that using label-goto is a bad idea... clearing a list is best done in that manner.
0 -
IMO you should never do a full loop through of a set of values in one frame unless it's a very small set... that's begging for trouble AND is an irresponsible usage of script time. Just think of how bad the game will run if everyone decides to just run a buttload of code every frame...
Iterate one value per frame of execution.
If looping through an entire set of values in one frame is how something needs to be handled... refactor it so it does not require that. That solution should only be a last resort...
1 -
They are not the same.
ENDIF syntactically terminates a code block and does not return control back to the engine, the script continues on after an ENDIF.
RETURN immediately stops script execution and returns control back to the engine.
0 -
That depends on the compiler AND the language itself. IF the behavior of the language is to evaluate ALL of a conditional before returning false or stop when it meets the first condition that makes it false is language dependent. If all conditions get evaluated before a return then the code snippets you listed are not identical.
For example:
if a
if b
do something
Short circuits out and returns if a is false.
In a language where all of a conditional must be evaluated the code generated by the compiler for:
if a && b
is not the same as
if a
if b
In that situation, if a && b has additional stack manipulation code and uses registers for return value storage.
It does both if's and stores their return values... if then does a quick bitwise ( and, in this case, logical) AND
of the return values and returns that.
As far as I know, the scripting language we're dealing with DOES evaluate every single condition in a conditional.
If the second half of a conditional would generate a run-time error, it WILL... even if the first half is false.
This will error with a message about NaN.
if (0) && (1/0)
Because of the additional stack and register code, a compound conditional will always be slower than nested.
2 -
Well, as far as I know... the EGM contains the morphs that are used during character creation, i.e. deforming the head using the sliders to get the shape of the face and its elements like nose and mouth, etc..
The TRI file, and this I know for sure since I've edited them, contains the morphs for emotions, facial expressions and phonemes.
You can use Scanti's head tools, specifically AddMorph to insert an OBJ file of a head edited into the expression you want as a named morph. As an example, the mod I did of Head06 I edited the named morphs DispHappy1, DispHappy2, DispHappy3 and DispHappy4. Using FaceGen I changed the expression and exported the change as an OBJ file. I then used AddMorph in replace mode to replace the morphs I just listed with the edited OBJ file contents.
EGM and TRI files are archives of OBJ file fragments. They contain offsets from the original head NIF which represent morphs from the base mesh.
What I was saying is that we can add NEW morphs to a TRI file and, I'm assuming, the dropdown would show them... assuming the dropdown is being populated from the TRI... if it's a hardcoded list... well, we're boned. My assumption is that they'll show, since FaceGen itself repopulates its morph list directly from the TRI. FaceGen's code was used directly in Beth's products.
EDIT: And if anyone is wondering where Scanti's tools are, links to all the tools are in the txt file I attached in the previous post.
0

Fallout New Vegas GECK / Scripting Help 101
in Fallout Technical Support
Posted
Or lose them