BisquitsNgravy Posted October 21, 2011 Posted October 21, 2011 I am hoping that someone can point me to an example of a script to change an npc's movement animations' date=' specifically from default walking animations to a different set of animations temporarily. Thanx in advance [/quote'] Ignore this I figured it out on my own thanks anyway!
Slammer64 Posted October 21, 2011 Posted October 21, 2011 Many thanks for the help Galgat, I'll see what I can do with that.
ZaZ Posted October 21, 2011 Posted October 21, 2011 I am hoping that someone can point me to an example of a script to change an npc's movement animations' date=' specifically from default walking animations to a different set of animations temporarily. Thanx in advance [/quote'] Ignore this I figured it out on my own thanks anyway! Umm can U post the method U used thanx
fg109 Posted October 23, 2011 Posted October 23, 2011 @mastercchris Not sure how BisquitsNgravy did it, but you can do the same by using the OBSE command "ToggleSpecialAnim". In your first post, you said that you wanted to enchant an item with something that would do that. It's possible to do it through enchantment, but I think it would be a lot easier to just use tokens, so that's what this script is for: scn examplescript ref actor Begin OnAdd set actor to GetContainer actor.ToggleSpecialAnim "YourAnimFile.kf" 1 actor.Update3D End Begin OnDrop actor.ToggleSpecialAnim "YourAnimFile.kf" 0 actor.Update3D End Your animation file needs to be in the special animations folder. @Slammer64 Galgat's examples work just fine, but they seem a little complicated for what you want done. You could do what you wanted by just using this: scn examplescript ref actor short count Begin OnAdd set actor to GetContainer set count to actor.GetItemCount YourItem1 actor.RemoveItemNS YourItem1 count set count to actor.GetItemCount YourItem2 actor.RemoveItemNS YourItem2 count ;etc. End @arelim Correct, you have to use some type of loop in order to do this. Example script for a spell: scn examplescript ref actor ref item Begin ScriptEffectStart let actor := GetSelf ForEach (item <- actor) if (item.IsPlayable2 == 0) item.RemoveMeIR endif loop End Not sure if that would work if you happen to have more than one for some of the unplayable items. I don't know if it will work, but you might have to change it to this: scn examplescript ref actor ref item short count Begin ScriptEffectStart let actor := GetSelf ForEach (item <- actor) if (item.IsPlayable2 == 0) let count := actor.GetItemCount item actor.RemoveItemNS item count endif loop End
Guest Donkey Posted October 23, 2011 Posted October 23, 2011 Been doing some major script translation for rev 91. And this script was bit strange. scn xLoversMainScriptStepWaitReady ;This script to allow wait function between various scripts. Makes sure wait is ready. ;Step1: array_var ar float passed ref xme ref zme ref offence ref defence float f0 Begin Function { ar passed } ;Added by Rev60 blockDelay ‚has been added ;This makes sure you can't keep pressing block after an another. ;Even if you do, it would not make a difference. if eval( ar["blockDelay"] > 0 ) let ar["blockDelay"] -= passed return endif ;Begins by declaring defender(zme) and attacker(xme) within an array let xme := ar["xme"] let zme := ar["zme"] let offence := ar["offence"] let defence := ar["defence"] ;printC "xLoversMainScriptStepWaitReady: %n to %n" offence defence ;Added by Rev63 KnockedState ‚if defender or offender side is concerned. if xme.GetKnockedState || zme.GetKnockedState if eval( ar["bpl"] ) Message "’Offender or defender is currently in knocked state" endif let ar["xLoveStep"] := 4 ;Lets array jump to step 4 return endif ;Added by Rev60 Check if both offender and defender is not in knocked state ; if xme.GetKnockedState == 0 set f0 to xme.GetAngle Z + xme.GetHeadingAngle zme xme.SetAngle Z f0 ; endif ; if zme.GetKnockedState == 0 ; set f0 to zme.GetAngle Z + zme.GetHeadingAngle xme ; zme.SetAngle Z f0 ; endif ;Added by Rev60 Calls the scrip and either set it to offender or defender if Call xLoversPkrIsEquipFuncTarget xme return ;BLOCK endif if Call xLoversPkrIsEquipFuncTarget zme return ;BLOCK endif ;Check delay and if time is passed ;Added by Rev60 if eval(ar["checkDelay"] > 0) let ar["checkDelay"] -= passed if xme.GetKnockedState==0 && zme.GetKnockedState==0 && xme.IsOnGround && zme.IsOnGround ;; && xme.AnimPathIncludes "getupface"==0 && zme.AnimPathIncludes "getupface"==0 let ar["checkDelay"] := 0 ;END else return ;BLOCK endif endif ;Advance to next step ;Jump to next script let ar["xLoveStep"] += 1 End Especially this part: ;Added by Rev60 Check if both offender and defender is not in knocked state; if xme.GetKnockedState == 0 set f0 to xme.GetAngle Z + xme.GetHeadingAngle zme xme.SetAngle Z f0 ; endif ; if zme.GetKnockedState == 0 ; set f0 to zme.GetAngle Z + zme.GetHeadingAngle xme ; zme.SetAngle Z f0 ; endif Could this be bug who slipped in ?? Should it not look like this instead ?? ;Added by Rev60 Check if both offender and defender is not in knocked state; if xme.GetKnockedState == 0 ; set f0 to xme.GetAngle Z + xme.GetHeadingAngle zme ; xme.SetAngle Z f0 ; endif ; if zme.GetKnockedState == 0 ; set f0 to zme.GetAngle Z + zme.GetHeadingAngle xme ; zme.SetAngle Z f0 ; endif If this is the case that could be why some where reporting about knocked states keep appearing.
BisquitsNgravy Posted October 24, 2011 Posted October 24, 2011 @mastercchris Not sure how BisquitsNgravy did it' date=' but you can do the same by using the OBSE command "ToggleSpecialAnim". In your first post, you said that you wanted to enchant an item with something that would do that. It's possible to do it through enchantment, but I think it would be a lot easier to just use tokens, so that's what this script is for: [/quote'] Sorry it took me awhile to get back to this. I did mine through a scripted spell, actually two spells: You won't want to use this as is because of the removeallitems statement. scriptname a00BisSlaveBound short updateCount short Bound Begin ScriptEffectStart removeallitems set Bound to 1 SetRestrained 1 ToggleSpecialAnim "BisWalkBackward.kf" 1 ToggleSpecialAnim "BisWalk.kf" 1 ToggleSpecialAnim "BisIdle.kf" 1 ToggleSpecialAnim "BisFastForward.kf" 1 ToggleSpecialAnim "BisTurnLeft.kf" 1 ToggleSpecialAnim "BisTurnRight.kf" 1 Update3D SetRestrained 0 End Begin ScriptEffectUpdate set updateCount to updateCount + 1 End scriptname a00BisSlaveUnBound short updateCount short Bound Begin ScriptEffectStart set Bound to 1 SetRestrained 1 ToggleSpecialAnim "BisWalkBackward.kf" 0 ToggleSpecialAnim "BisWalk.kf" 0 ToggleSpecialAnim "BisIdle.kf" 0 ToggleSpecialAnim "BisFastForward.kf" 0 ToggleSpecialAnim "BisTurnLeft.kf" 0 ToggleSpecialAnim "BisTurnRight.kf" 0 Update3D SetRestrained 0 End Begin ScriptEffectUpdate set updateCount to updateCount + 1 End Hope this helps someone. Oh and BTW nice to see you here again Donkey!
BisquitsNgravy Posted October 24, 2011 Posted October 24, 2011 Here is an example of the same spell as my last post except this one is timed and is a self spell. I know there are probably better ways to do this but I am learning kind of in a vacuum but I am slowly picking it up. scriptname a00Bisonallfoursref mySelfref EquippedItemrshort updateCountshort dropToFloorBegin ScriptEffectStart set EquippedItemr to GetEquippedObject 13 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 16 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 20 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 18 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 19 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 21 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 2 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 3 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 4 UnEquipItemNS EquippedItemr set EquippedItemr to GetEquippedObject 5 UnEquipItemNS EquippedItemr set dropToFloor to 1 mySelf.SetRestrained 1 mySelf.ToggleSpecialAnim Bisbackward.kf 1 mySelf.ToggleSpecialAnim Bisforward.kf 1 mySelf.ToggleSpecialAnim Bisidle.kf 1 mySelf.ToggleSpecialAnim Bisleft.kf 1 mySelf.ToggleSpecialAnim Bisright.kf 1 mySelf.ToggleSpecialAnim Bisturnleft.kf 1 mySelf.ToggleSpecialAnim Bisturnright.kf 1 mySelf.Update3D mySelf.SetRestrained 0 EndBegin ScriptEffectUpdate set updateCount to updateCount + 1EndBegin ScriptEffectFinish set dropToFloor to 1 mySelf.SetRestrained 1 mySelf.ToggleSpecialAnim Bisbackward.kf 0 mySelf.ToggleSpecialAnim Bisforward.kf 0 mySelf.ToggleSpecialAnim Bisidle.kf 0 mySelf.ToggleSpecialAnim Bisleft.kf 0 mySelf.ToggleSpecialAnim Bisright.kf 0 mySelf.ToggleSpecialAnim Bisturnleft.kf 0 mySelf.ToggleSpecialAnim Bisturnright.kf 0 mySelf.Update3D mySelf.SetRestrained 0 Message "Spell is finished. ScriptEffectUpdate was run %.0f times", updateCountEnd[/Code]
fg109 Posted October 24, 2011 Posted October 24, 2011 @Donkey That part of the code only makes it so that the attacker (xme) will keep facing the defender (zme). The only part of the script which deals with the messages is when either the attacker or defender is knocked down/out, and then it ups ar["xLoveStep"] to 4. After which, I assume that the function is no longer called so the message does not repeat itself.
ZaZ Posted October 24, 2011 Posted October 24, 2011 Thanx to fg109 and BisquitsNgravy Will work on These tonite and let u guys know the progress , Will Post the anims too if they are worth it Just wanna give back something to the community for creating awesome mods Cheers Edit Tried Out fg109 Method Yea I needed the Equipment in conjunction with the Anims , Somehow its working for the player only not for NPC's Im Posting the Scripts scn ZStockTokenScript ref actor Begin OnAdd set actor to GetContainer actor.ToggleSpecialAnim "StockWalkBackward.kf" 1 actor.ToggleSpecialAnim "StockWalkBackward2.kf" 1 actor.ToggleSpecialAnim "StockWalkForward.kf" 1 actor.ToggleSpecialAnim "StockIdle.kf" 1 actor.ToggleSpecialAnim "StockFastForward.kf" 1 actor.ToggleSpecialAnim "StockTurnLeft.kf" 1 actor.ToggleSpecialAnim "StockTurnRight.kf" 1 actor.Update3D End Begin OnDrop actor.ToggleSpecialAnim "StockWalkBackward.kf" 0 actor.ToggleSpecialAnim "StockWalkBackward2.kf" 0 actor.ToggleSpecialAnim "StockWalkForward.kf" 0 actor.ToggleSpecialAnim "StockIdle.kf" 0 actor.ToggleSpecialAnim "StockFastForward.kf" 0 actor.ToggleSpecialAnim "StockTurnLeft.kf" 0 actor.ToggleSpecialAnim "StockTurnRight.kf" 0 actor.Update3D End ; ; 825 ; Scn ZStockEquipScript ref actor Begin OnEquip set actor to GetContainer actor.Additem ZSlaveStockToken 1 End Begin OnUnequip actor.Removeitem ZSlaveStockToken 1 End ; ; 139 ; What Am I doin Wrong .... Thanx In Advance
ZaZ Posted October 27, 2011 Posted October 27, 2011 After messing around with the scripts from BisquitsNgravy I got what i wanted to some extent Although I Would Prefer an enchantment But His Script Seems Like a Great way to test on NPC'S(Since I wanted to see from another perspective) Had a Few CTD's With the spell Effects and Range settings( lol At one Point all the Npc's in IC market got the disired effect The game Couldn't handle it I guess) So I Created the spell , added it to a merchant , Bought it , Cast the spell , Used MCS Follow order . ( Noobish Method I know ) Im Posting the Script In-case it will come handy for novice modders like myself..... Thanx fg109 & BisquitsNgravy for the help . scriptname ZSlaveStocked short updateCount short Stocked Begin ScriptEffectStart removeallitems additem zWoodenStocks 1 equipitem zwoodenstocks set Stocked to 1 SetRestrained 1 ToggleSpecialAnim "StockWalkBackward.kf" 1 ToggleSpecialAnim "StockWalkBackward2.kf" 1 ToggleSpecialAnim "StockWalkForward.kf" 1 ToggleSpecialAnim "StockIdle.kf" 1 ToggleSpecialAnim "StockFastForward.kf" 1 ToggleSpecialAnim "StockTurnLeft.kf" 1 ToggleSpecialAnim "StockTurnRight.kf" 1 Update3D SetRestrained 0 End Begin ScriptEffectUpdate set updateCount to updateCount + 1 End A lil Tweaking is Remaining , Will Post when Its done .
Teechan Posted November 29, 2011 Posted November 29, 2011 One thing that interested me the most was how LPK or plugin could allow you to adjust FOV before boinking, allowing one to see your character closer. Vanilla Oblivion resets the cam back to 75 FOV when in 3rd person or flying cam mode, but I'd like to be able to adjust FOV (to say, 35 or 25) in those modes. I'm still going through the scripts to try and figure that out, but if anyone happens to know how I can get this to work as a spell or crystal ball, I'd be happy. EDIT: I realized I can get this to work with the console command "con_SetINISetting". Nevermind.
JairJy Posted December 5, 2011 Posted December 5, 2011 Hello people. I'm trying to make a kind of patch that resolves all the issues concerning graphic and roleplaying incompatibilities with Kou's Oblivion Trap Mod, that includes small changes to some mods like TrueCrime or LoversAdultPlayPlus. Now I'm suck and I need your help. When a male is having sex, if the setting on Lovers and PK is adjusted to remove his clothes in the lower part of the body, Lovers and PK removes that cloth and changes the mesh from that part to ashardware1.nif (or asbonerhardnormalskin.nif, depending of the settings) so the man shows a boner, no matter if he is the attacker or the defender. What I want to do is to configure Lovers and PK.esp to change this behavior only when the male is the defender, by do not change his Lowerbody.nif, so he can stay nude and with the original part of his body (without the boner). The problem is I can't find the script when this change occurs or is managed. So, someone knows where I can change this? Thank you.
Justinof Posted December 6, 2011 Posted December 6, 2011 Good luck, there are many scripts involved. I have made a research time ago about how futanari cocks are equipped, you may find some hints there. http://www.loverslab.com/showthread.php?tid=2322
legraf Posted December 27, 2011 Posted December 27, 2011 I (and perhaps others) could use an example of how to gracefully swap information between separate .esp's. In particular, I'm looking for a way for .esp #1 to use a variable defined in .esp #2 if #2 is present, but not to choke and die if #2 is absent (and thus the variable is undefined). Of course, the obvious places I've started are with IsModLoaded and GetFormFromMod, but I'm still stuck. Even though it's in a loop that'll never execute if .esp #2 isn't loaded (conditional on IsModLoaded), the CS Editor gripes if I simply use the variable's EditorID directly without loading up .esp #2 (of course). But if I do the following: if IsModLoaded "esp2.esp" set refVar to GetFormFromMod "esp2.esp" "004cd4" ;004cd4 above points to a particular float in esp2 endif How can I access the variable? I thought I'd be able to use the refVar directly in operations such as: set tempfloat to refVar but that fails. In fact I'm changing from a float to an integer, and in the example I'm trying the esp2 variable happens to be a global variable. I can use reference variables, IsModLoaded and GetFormFromMod to access inventory objects or scripts in .esp #2, but not simple variables, consarnit.
wulfy1 Posted March 10, 2012 Posted March 10, 2012 Hi guys, I have been looking all over but I cannot figure out how to award sex experience for any given action. For instance, the player finds a sexually oriented object out of 100 for use in a quest and you want to award that player experience for just finding the object. I'm not a scripter by any stretch of the imagination but I have a pretty big non-Lovers mod that I am converting to interface with Lovers Thanks, Wulf
RadogoR Posted March 15, 2012 Posted March 15, 2012 Hi everyone! Could someone give me a hint how to create an easy (if possible) script to attract a crowd to the player? I actually would like to work it as follows: - Player gets the quest item (let it be zzCrowdAttract, for example) - If the player has this item in his inventory, each NPC in radius of 200 meters that spots the player starts to follow him. - If the player removes the item from inventory, the whole crowd returns to their usual day-to-day business. I know, such mods as Estrus and ChainBeasts do it in some way, but I tried to read their scripts and they look to me as if they were written in Chinese ) Thanks in advance!
Kashiwaba Tomoe Posted April 6, 2012 Posted April 6, 2012 Well not really for me' date=' but someone starting out modding will mostly needs script witch could be way over his or her head. This will mostly be basic. To get you starting out. If you look at the lovers structure, they make use of heavy scripting already. So if you want to creating anything funny for a lovers plug-in not only do you need scripts, but also understanding how they function in-game. [/quote'] As I new user, I gotta say the idea of the thread is good, the main problem Im experincing is most threads give very little information on the mod (albiet, the filename is usually of use in guessing)
BisquitsNgravy Posted April 21, 2012 Posted April 21, 2012 Well I am back at it again! I am trying to modify a script to do an check for whether or not an item is equipped. I the the item is equipped then I want the item check to fail it it isn't then I want it to pass I am not using any specific item just any item equipped in the right ring slot. It should be said that this script is not mine and I am modifying it for personal use. In any case the idea is I want to use the right ring slot as a check like the normal checks Lovers does with running, swimming, and combat. If anything is equipped there then I want the script to not advance any further until that slot is empty. I hope this makes sense below is the script I am modifying. Any help would be awesome. The part in Italics is my feeble attempt at this. scn xLHookerMain ref lhNearbyActor ref lhGoldItem ref lhPreviousJohn ref tmpr2 ref EquippedItemr ;short localactivated = 0 short lhtempvariable float lhTempDiceroll short lhTempYes short lhApproachChance short lhTempDisposition short lhDoneBefore begin GameMode ;Print "Activated is " + ToString LHC002.lhActivated if LHC002.lhActivated == 1 RETURN endif set EquippedItemr to tmpr2.GetEquippedObject 6 if EquippedItemr != 1 RETURN endif if Player.IsRunning == 1 RETURN endif if Player.IsSneaking == 1 RETURN endif if Player.IsInCombat == 1 RETURN endif if Player.IsSwimming == 1 RETURN endif if Player.IsRidingHorse == 1 RETURN endif if IsPlayerInJail RETURN endif set lhNearbyActor to GetFirstRef 69 0 0 set lhGoldItem to Gold001 set lhtempvariable to lhNearbyActor.GetItemCount lhGoldItem while (lhNearbyActor) && LHC002.lhActivated == 0 ;Print "Checking " + ToString lhNearbyActor if lhNearbyActor.GetDistance Player < 200 if lhtempvariable > 10 set lhDoneBefore to 0 if lhNearbyActor == lhPreviousJohn set lhDoneBefore to 1 endif if lhDoneBefore == 0 set lhApproachChance to 0 set lhTempDiceroll to GetRandomPercent ;Print "Actor chance is " + ToString lhTempDiceroll set lhApproachChance to lhApproachChance + LHC002.lhCourtesanRank set lhTempDisposition to lhNearbyActor.GetDisposition Player set lhApproachChance to lhApproachChance + (lhTempDisposition / 2) if lhNearbyActor.GetIsSex Male set lhApproachChance to lhApproachChance + LHC002.lhMaleChance endif if lhNearbyActor.GetIsSex Female set lhApproachChance to lhApproachChance + LHC002.lhFemaleChance endif if lhNearbyActor.IsGuard == 1 set lhApproachChance to lhApproachChance - LHC002.lhGuardChance endif ;Call xLHookerDetect if lhApproachChance > lhTempDiceRoll set LHC002.lhCurrentJohn to lhNearbyActor set LHC002.lhJohnMood to GetRandomPercent ;Print "Hooker approach from: " + ToString lhNearbyActor Message "Someone looks interested in you..." set LHC002.lhActivated to 1 set LHC002.lhcooldown to 50 set lhPreviousJohn to lhNearbyActor lhNearbyActor.StartConversation Player LHCApproach3 endif endif endif endif if LHC002.lhActivated == 0 set lhNearbyActor to GetNextRef set lhtempvariable to lhNearbyActor.GetItemCount lhGoldItem endif loop end
galgat Posted April 23, 2012 Posted April 23, 2012 I think looking at this script may give you idea's I have sense changed it some, but the basic Idea you want is here. This was what I had in my Library text doc, i try to keep scripts there as I make them and they work. this script was for a toilet to remove the lower body slot of clothing as the character sit's down., and put it back on when they get up. SCN AAAGBMPissPotScript ;Galgats Potty script ref Panties begIN ONACTIVATE player if player.GetSitting != 3 set panties to player.GetEquippedObject 3 ;OBSE Function GetEquippedObject "3" is lower body player.UnequipItem panties 1 Message"you squat down, on the Piss pot to do your thing" activate elseif player.GetSitting == 3 Message"Whew ! That feels better, I been holding that a long time." player.EquipItem panties activate endif end This may give you ideas how you can do what you want, I don't know. I have sense streamlined it some so NPC can use it too, but this is the basic script. here are most of the numbers for the different slot's @@NUmbers for different slots using GetEquippedObject armor/clothing 0 head 1 hair 2 upper body 3 lower body 4 hand 5 foot 6 right ring 7 left ring 8 amulet 13 shield 14 torch 15 tail 18 lower and upper body 19 lower and upper and foot 20 lower, upper, hand and foot 21 lower, upper, and hand 22 upper and hand 255 no slot weapon/ammo 16 weapon 17 ammo Special return values are used for getting the Equipment Type (Value Type 3) in GetOV, GetCV, GetEOV and GetECV Special return values 18 both lower and upper body (robes) Reserved values are currently nonfunctional and/or obsolete. reserved 9 (weapon) 10 (back weapon) 11 (side weapon) 12 (quiver)
BisquitsNgravy Posted April 24, 2012 Posted April 24, 2012 @Galgat thanks for the reply I still don't seem to be able to make it work I will come back to it later on.
Guest Donkey Posted June 17, 2012 Posted June 17, 2012 Does anyone know if in the ini it is possible to use if statements like within scripts ?? If so it should be possible to have several alignments going and all you need to do is something like this: ;==================================================================== ; Donkey Edit ;==================================================================== ; sposgroup ... position group number ; 0 = female cowgirl position led to consolidate here, please ; 1 = a back-back on all fours, and standing back ; 2 = face (lying) posture and the position ; 3 = face (standing), standing on one foot, and lunches ; 4 = non-insertion Blow and Tit (where all the non-insertion system) ; 5 = prelude animaitions ; 6 = rape prelude from the front ; 7 = rape prelude from the back ; 100 = creature set xLoversPkrQuest.sposgroup to 7 ;================================================ ;Rotation and angle settings for different races If GetisRace == Orc set xLoversPkrQuest.xymov to 12 set xLoversPkrQuest.xyscale to 0 set xLoversPkrQuest.xaddz to 0 set xLoversPkrQuest.xzscale to 3 set xLoversPkrQuest.zaddz to 67 set xLoversPkrQuest.zzscale to 0 elseif GetIsRace == Imperial set xLoversPkrQuest.xymov to 102.50 set xLoversPkrQuest.xyscale to 0 set xLoversPkrQuest.xaddz to 50.0 set xLoversPkrQuest.xzscale to 3 set xLoversPkrQuest.zaddz to 67.0 set xLoversPkrQuest.zzscale to 0 ;etc.. endif ;Rotation and angle settings Ends ;================================================= ;==================================================================== ; chinupo ... black sea bream Kino Mukai policy recommendations ; -1 = Do not show ; 0 = Horizontal ; 1 = Up ; 2 = Down set xLoversPkrQuest.chinupo to 0 ;==================================================================== ;==================================================================== ; umid ... Yunikumoshon this motion to identify the ID of the script ; 0 = Disabled (motion unique ID is not used) ; 1-2147483647 = ??Unique ID Motion ; others are using MOD Yunikumoshon is strictly forbidden and duplicate ID ;, "the resting place of all men MOD-related Lover" Right here in the pages found ; own MOD + Yunikumoshon using the information ID and let me describe ; other ID and MOD should be able to avoid collision ;==================================================================== set xLoversPkrQuest.umid to 20111073 ;==================================================================== ; normal rotation / position on the bed and positive H used to successfully play ; basezangle ... that position many times (Deg) Specify if you ask whether it is a normal rotation rotation ; basefrontback ... specifies whether the position as you slide back and forth how a positive position ;==================================================================== set xLoversPkrQuest.basezangle to 0 set xLoversPkrQuest.basefrontback to 0 set xLoversPkrQuest.xmeRotate180 to 1 ;==================================================================== ; Donkey Edit end ;====================================================================
mem4ob4 Posted June 19, 2012 Posted June 19, 2012 @Donkey I think the short answer on that is nope. INI are just basic database. Perhaps in the calling script, right after reading the motion ini (?GetMotionAdjustData?), call a race specific ini to fill those in? Mem
mem4ob4 Posted August 10, 2012 Posted August 10, 2012 Hi folks, After reading through this thread and learning ALOT I have a couple of script snips that other new folks to LL might find useful when getting started. I in no way created these scripts. They are just what I typed up and find works after all the great questions and answers here on these boards. I have them attached to an amulet inside a GameMode block with a timer. With the first one, your esp will have to inherit the Lovers with PK.esm set newcount to Player.GetItemCount xLoversPkrCountSex if newcount > oldcount ; you can decide what skills are important in sexual exercise IncrementPlayerSkillUse Illusion 1 1 IncrementPlayerSkillUse Acrobatics 1 1 IncrementPlayerSkillUse Athletics 1 1 set oldcount to newcount endif The second one has been successful for me in having a way to set a variable that will show just what is and is not worn and even if a specific piece is worn. set tacsum to 0 set testob1 to Player.GetEquippedObject 2 ;top if(testob1) set tacsum to tacsum + 1 endif set testob2 to Player.GetEquippedObject 3 ;bottom if(testob2) set tacsum to tacsum + 2 endif set testob3 to Player.GetEquippedObject 5 ;shoes if(testob3) set tacsum to tacsum + 4 endif set testob4 to Player.GetEquippedObject 18 ;robe if(testob4) set tacsum to tacsum + 8 endif if tacsum == 11 ; it seems to add top, bottom and robe slot when just robe worn. set tacsum to 8 endif ; you can use an if check on tacsum now to know just what is worn. ; if tacsum is 7 then shoes bottom and top are worn, etc. ; Also you can now compare to see if the clothing is a specific one or not. ; i.e. if tacsum == 1 || tacsum == 3 || tacsum == 5 ;we have a valid testob1 to compare against ; do needed comparison code etc. endif Thank you LL family, Mem
Northern Posted September 4, 2012 Posted September 4, 2012 I wanna make new animations with furniture and other objects like semen, vibrator etc, but i simply can't see the connection between animations, and animated objects. After checking the anim's ini files i've found a suspicious line: set xLoversPkrQuest.umid to 0990000143 is anybody know where it leads? And basically, what it is?
CrimsonOmegaLance Posted September 5, 2012 Posted September 5, 2012 Hey LL, I'm trying to make sense out of LoversStopCombatEx so I can try to fix it/alter it, but I can't find what variables they're using. In this script, they just start using SCEPairs and they reference PKRQuestRef out of nowhere. I've tried googling them, and surprisingly, I get 0 matches. Hopefully, one of you guys can help me out. scn xLoversStopCombatExQuestScript float fQuestDelayTime short doonce array_var arSCEPairs int max int idx ref r0 ref r1 short s0 ref PkrQuestRef Begin GameMode if doonce==0 || GetGameLoaded || GetGameRestarted set fQuestDelayTime to 0.1 ;ŠÄŽ‹ƒTƒCƒNƒ‹ ;Ref set PkrQuestRef to GetFormFromMod "Lovers with PK.esp" 007A7D if PkrQuestRef == 0 MessageBoxEx "~ Lovers StopCombatEx ~%r%rLovers with PK.esp could not be located, ensure that it is active in your load order." return endif ;done set doonce to 1 endif ;”z—ñ‚ª–¢Šm•Û‚È‚çƒXƒLƒbƒv if arSCEPairs == 0 return endif ;ƒyƒA‚𒲂ׂé let max := ar_Size arSCEPairs set idx to max - 2 while( idx >= 0 ) ;ƒyƒAŽæ“¾ let r0 := arSCEPairs[ idx + 0 ] let r1 := arSCEPairs[ idx + 1 ] ;Š®—¹”»’è if GetSourceModIndex r0==-1 || r0.GetDead || r0.GetDisabled set s0 to 0 ;END else set s0 to 1 ;CONTINUE if GetVariable "StopCombatLongFlag" PkrQuestRef ;’…ˆßŠ®—¹‚܂ŗLŒø if r1.GetItemCount xLoversPkrEquipFuncItem == 0 set s0 to 0 ;END endif elseif r1.GetItemCount xLoversPkrIdentifier == 0 ;‚gŠ®—¹‚܂ŗLŒø set s0 to 0 ;END endif endif ;ÅI”»’è if s0 == 0 ;Š®—¹‚µ‚Ü‚µ‚½ if GetSourceModIndex r0 != -1 r0.SetFactionRank xLoversStopCombatExFaction -1 ;’E‘Þ endif if GetSourceModIndex r1 != -1 r1.SetFactionRank xLoversStopCombatExFaction -1 ;’E‘Þ endif ;”z—ñ‚©‚çíœ ar_Erase arSCEPairs (idx+0):(idx+1) printC "Lovers: StopCombatEX %n ¨ %n Finish" r0 r1 endif ;next set idx to idx - 2 loop ;”z—ñ‚ª‹ó‚ɂȂÁ‚Ä‚¢‚½‚ç‰ð•ú if 0 == ar_Size arSCEPairs let arSCEPairs := ar_Null printC "Lovers: StopCombatEx No Remains" endif End
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now