Jump to content

Need some Scripting/Implementation Guidance


Recommended Posts

Posted

Hi! I recently created my first custom follower which I now want to spice up a little. I have very little implementation experience and never made a quest or dialogue but i wanna figure this out now. I will google the basics of how to create quests, dialogue etc. but I was hoping somebody could give me a rough breakdown of the most elegant and suitable way of implementing what i have in mind...like the general steps and commands I should use.

 

Since I only find overly complicated milk mods on LL which don't serve my humble needs I wanted to take things into my own hands. The idea is that my follower can be milked every 24h. it will be initiated by dialogue, followed by a check if 24h have passed and a check for empty bottles in the player inventory. then one empty bottle will basically be filled with milk by the follower. Most dialogue lines will be taken from the vanilla soundfiles and thus be voiced. I wrote a general breakdown of what i would like implement:

(Note that the non-voiced lines are just placeholder lines)

 

Quote

initiate milking dialogue: "Should i milk you?"
 

check: 24 hours passed?
 

if no: follower response "Can't do that, sorry. (dialoguefollower__00026fe4_1)"
         follower response "Such a shame. Perhaps another time then. (freeformri_ffriften05dinya_00041ebf_1)    --> end of dialogue

if yes: follower response "You should. I miss you! (dialogueda__00078f41_1)"
        follower response "I hadn't asked you because I was afraid you'd say no. I appreciate your help!" (freeformri_ffriften13aless_00043d27_1)
        follower response "do you have an empty bottle that I can fill up?"
 

check: empty bottles in player inventory?

 

if no: player response "unfortunately I don't. I'll see if i can find some empty bottles."
       follower response "I'll look forward to it then."                dialogueriftenkeepscene07__00046aab_1                               --> end of dialogue, dialogue menu closes

 

if yes: 1. follower response "That's it! Wonderful! I knew I could count on you!"    bardscolle_bardscollegeflu_000d93d9_1
    2. follower comment "well, look what we have here!"                c01_c01sharedinfo_000e9532_1
    3. unequip follower torso armor piece
    4. remove 1 empty bottle from player inventory
    5. follower comment "Please, enjoy yourself!"                    db05__00037b59_1
       follower comment "huffs"                            dialoguegeneric__000604e6_1.fuz
       follower comment "Good job! I see you know what you're doing!"         wicraftitem01__0009be03_1
       follower comment "huffs"                            dialoguegeneric__000604e5_1
       follower comment "That's it! Wonderful! I knew I could count on you!"     bardscolle_bardscollegeflu_000d93d9_1
       follower comment "Thank you! Here, this is for you!                dialoguege_dialoguegeneric_000dba2a_1
    6. Follower gives milk (matching bottle) to player. (animation plus item added to player inventory)
    7. Follower comment "This is part of me. Guard it with your life."         bardscolle_bardscollegepoe_000e7750_1
        Follower comment "I am feeling much better thanks to your efforts."         dialogueri_dialogueriftenh_00042350_1
    8. Re-equip follower torso armor piece.

 --> end of dialogue, dialogue menu closes

 

 

 

I am planning to use the empty vanilla bottles and will create a counterpart item filled with milk. But can somebody give me a breakdown of how I would generally go about this?

 

EDIT: I assume that I need to take into consideration that the torso armor might not be equipped in the first place. In that case unequipping and re-equipping would be skipped.

Posted

First of all you need a quest, and because you added dialogues you already have one.

 

Add a script:

 

Scriptname milkablefollowerquestscript extends quest conditional

 

Use the name you prefer, but be sure you put "conditional" at the end.

Then add a simple property

 

int property canFollowerBeMilked auto conditional

 

also this one should be conditional. Now, if the property is 0 then the follower cannot be milked, if it is 1 it can be milked.

You can condition your dialogues with this conditional properties.

 

Then add a function to "milk" the follower. You can call it from the Script fragment of the dialogue

 

function milkFollower(Actor follower)

  canFollowerBeMilked = 0 ; We cannot milk it again

  follower.equipItem(whateverYouNeedToEquip)

  untility.wait(10.0) ; 10 seconds milk time?

  follower.unequipItem(whateverYouNeedToEquip)

  PlayerRef.removeItem(EmptyBottle, 1, true)

  PlayerRef.addItem(MilkBottle, 1, true)

  RegisterForSingleUpdateGameTime(24.0) ; Wait 24 hours game time

endFunction

 

Event OnUpdate()

  canFollowerBeMilked = 1 ; Follower milkable again

endEvent

 

And a few properties

 

MiscItem Property EmptyBottle Auto

MiscItem Property MilkBottle Auto

Actor Property PlayerRef Auto

 

Posted

Here is a documentation for Papyrus I wrote a while ago.

Maybe you can find it useful: 

 

Posted

Did you unzipped the scripts.rar file? Did you download the 7zip file of SKSE and placed the pex and psc files in the Data folder?

Posted

thanks, i will check out the documentation.

i did load the skse script folder through vortex (from where I am executing CK). Do i need to tweak something in the .ini for them to load?

 

EDIT: okay, just found the scripts.zip contained in the data folder. I am unzipping it and will see if it works...

 

EDIT: after manually pasting both skse scripts and scripts.zip into data folder the problem still exists...

Posted

Damn.

OK, I suppose you cannot compile from CK.

What is the error right now?

 

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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