Jump to content

Welcome to LoversLab
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!

useful community scripts to start mods with


  • Please log in to reply
182 replies to this topic

#41
RadogoR

RadogoR

    Member

  • Members
  • PipPip
  • 19 posts
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!
  • 0

AdBot

AdBot
  • Advert

#42
Kashiwaba Tomoe

Kashiwaba Tomoe

    I stole the IRC lol

  • Members
  • PipPipPipPipPip
  • 1,900 posts

Well not really for me, 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.


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)
  • 0

#43
BisquitsNgravy

BisquitsNgravy

    Member

  • Members
  • PipPipPip
  • 105 posts
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.

Spoiler

  • 0

#44
galgat

galgat

    Mega Poster

  • Contributor
  • PipPipPipPipPip
  • 2,072 posts
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) 


  • 0

#45
BisquitsNgravy

BisquitsNgravy

    Member

  • Members
  • PipPipPip
  • 105 posts
@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.
  • 0

#46
(Donkey)

(Donkey)
  • Guests
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
;====================================================================

  • 0

#47
mem4ob4

mem4ob4

    Mega Poster

  • Contributor
  • PipPipPipPipPip
  • 847 posts
@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
  • 0

#48
mem4ob4

mem4ob4

    Mega Poster

  • Contributor
  • PipPipPipPipPip
  • 847 posts
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
  • 0

#49
Northern

Northern

    The Inhuman Porn Animator

  • Members
  • PipPipPipPip
  • 265 posts
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?
  • 0

#50
CrimsonOmegaLance

CrimsonOmegaLance

    Member

  • Members
  • PipPipPip
  • 222 posts
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.
Spoiler

  • 0

#51
arelim

arelim

    Advanced Member

  • Members
  • PipPipPip
  • 40 posts
I'm not sure if someone can help ... but I'm trying to write my own script that initiates lovers animation and then after its done, I want the NPC to talk to the player again automatically ... I can do the lovers animation no problem ... there are lots of script examples of how to do that and its pretty easy ... but I'm having trouble figuring out how to get the NPC to talk to the player afterward ... I've seen it in a couple of lovers mods and I've tried to figure out how they do it, but its just not clear. Can someone help?

Thanks
  • 0

#52
gregathit

gregathit

    Duck and Cover

  • Moderators
  • 17,669 posts
Well I can't help you with "how" to do the script as I am script illiterate. However I can point you at Lovers Adult Play Plus as that plugin contains exactly what you are talking about.
  • 0

#53
arelim

arelim

    Advanced Member

  • Members
  • PipPipPip
  • 40 posts
Thanks. I already looked at adult play plus, lovershooker, and truecrime before posting ... and I can't figure out how its being done in any of them -

In adult play plus, what the people say when they initiate the followup conversation is not part of the greeting topic but actually in the 'conversations' tab ... which is normally used for dialogue that takes place outside of the discussion window ... like what NPC's say to you as you walk past them or what they say to each other. Also, its contingent on a 'follow' package ... so I'm not sure how the follow package is causing the NPC to initiate the conversation ... but it must relate somehow.

Obviously, I don't know enough about Oblivion dialogue/script moding to reverse engineer whats going on there - and 'trial and error' learning is incredibly time consuming in oblivion ... takes way to long to load up oblivion and get in game to do minor tests ...
  • 0

#54
mem4ob4

mem4ob4

    Mega Poster

  • Contributor
  • PipPipPipPipPip
  • 847 posts
@arelim
In Adultplayplusforssp you might take a look at xLoversAdultPlayStartItem and xLoversAdultPlayAfterItem with their attached scripts.

Mem
  • 0

#55
arelim

arelim

    Advanced Member

  • Members
  • PipPipPip
  • 40 posts
Thanks. The xLoversAdultPlayAfter script has a command me.StartConversation Player ... so that is probably the piece I was missing. Have to figure out how they are assigning 'me' to the character, but it at least gives me direction.
  • 0

#56
Slammer64

Slammer64

    The Old Man of the Forum

  • Contributor
  • PipPipPipPipPip
  • 1,773 posts
Look at the start of the script arelim, ref = me
  • 0

#57
gerra6

gerra6

    Mega Toaster

  • Contributor
  • PipPipPipPipPip
  • 2,080 posts

Thanks. The xLoversAdultPlayAfter script has a command me.StartConversation Player ... so that is probably the piece I was missing. Have to figure out how they are assigning 'me' to the character, but it at least gives me direction.


One thing that can be very helpful when attempting to track down references in complex mods is to use Wrye Bash to export all of the scripts and then use a text editor with a "find in files" string search option to track down every script that calls given function.
  • 0

#58
mem4ob4

mem4ob4

    Mega Poster

  • Contributor
  • PipPipPipPipPip
  • 847 posts

Calling by UMID
With LAPF released with UMIDs included, I wanted to be sure how best to make the calls.

short myspecificpos

...

let myspecificpos := xLoversCmnGetMotionNumberByUMID 100154
set xLoversQuest.SPos to myspecificpos

...

Is this the proper way for a single specific animation call within the normal xLoversCmnIsReady calls?

mem


  • 0

#59
WappyOne

WappyOne

    *camper*

  • Contributor
  • PipPipPipPip
  • 538 posts

Calling by UMID
With LAPF released with UMIDs included, I wanted to be sure how best to make the calls.

short myspecificpos

...

let myspecificpos := xLoversCmnGetMotionNumberByUMID 100154
set xLoversQuest.SPos to myspecificpos

...

Is this the proper way for a single specific animation call within the normal xLoversCmnIsReady calls?

mem

 

Yes it is, mem.  If you wanted to be extra careful you would check if myspecificpos was 0, meaning the user does not have installed the animation with the UMID you're looking for. In that case you could fall back to using the standard xLoversCmnGetRandomSPos function, or hardcoded SPos if you wanted to then assume they were using v2/v3 anim set.

 


  • 1

#60
mem4ob4

mem4ob4

    Mega Poster

  • Contributor
  • PipPipPipPipPip
  • 847 posts

Had another crazy idea and decided to see if I could do it.

Create a plugin that could use more than one sex system without being 'Mastered' to them.

 

So far a plugin, mastered only to oblivion.esm, with similar code as below has been working without a problem. Others may or may not find it interesting or useful but some may even find better ways.

 

Spoiler

 

Thanks to the LL community,

Mem


  • 1