Jump to content

Need some assistance creating a basic mod for LE.


Recommended Posts

Posted

Hello all. I want to create a (hopefully) simplistic mod for Skyrim LE to work with Sexlab.

 

Here's the features I want to implement:

  • On player orgasm, a random message is displayed. (Not the kind of message the player has to click to get rid of. Just displayed and then goes away on its own)
    • The list of possible messages are contained within a .json file
  • MCM to toggle the mod on and off.

 

 

That's literally all I want for now. But may want to add other features down the line. I've never made a mod like this before so I want to start small.

Posted
2 hours ago, phob7a said:

Not sure if this helps but this mod does what you are describing:  

 

I have that. But I want to make my own version for a specific purpose. Like I said, I intend to eventually develop it into a more specific mod. But for now I just want to make my own much more simplistic version from the ground up if possible.

Posted

If You want to make something like he did then You will need to use Flash to make new UI elements, new widgets...

Sadly all the UI in Skyrim is made in Flash.

 

Alternative is to use already existing Debug.Notification("") that You probably already know...

 

Here are the Skyrim UI Flash files -> https://www.nexusmods.com/skyrim/mods/216?tab=description

 

Then You can use:

; open a custom menu named "CustomMenu" by loading the given swf from the interface folder
; (filename without extension)
; there can only be a single custom menu open at the same time
Function OpenCustomMenu(string swfPath, int flags = 0) global native
 

; close the custom menu if it's currently open.
Function CloseCustomMenu() global native

 

; UICallback allows passing arguments of different types to UI functions, unlike UI.Invoke*
;
; Example:
;     int handle = UICallback.Create("InventoryMenu", "_global.MyClass.initData")
;    if (handle)
;        UICallback.PushBool(handle, true)
;        UICallback.PushInt(handle, 1000)
;        UICallback.PushString(handle, "Hello")
;        UICallback.PushFloat(handle, 1.234)
;        UIDelegate.Send(handle)
;    endIf

 

 

Posted

The basics: Make a plugin, add 2 quests - main quest and mcm quest with player aliases. Add appropriate scripts to these quests and aliases. In the main quest player alias script, make an "onplayerloadgame" event that registers it for orgasm events. Then use jsonutil (part of papyrusutil/sexlab) to parse your json file (in your case probably just a random selection) and output the text with debug.notification() when an orgasm event is received.

 

Add an mcm option that toggles the orgasm event registration in the main quest player alias script. This would be your disable/enable mod option.

You could simplify it by making a spell with a script that toggles the orgasm event registration, this way you'd have no need for an mcm.

 

Hopefully this will give you some ideas. Note that the "hookorgasmstart/end" events received from sexlab don't specify which actor is orgasming, just the thread id and whether the player is involved. SLSO does this by passing the actor in its "SexLabOrgasmSeparate" event.

Posted
17 hours ago, ̖̪. said:

If You want to make something like he did then You will need to use Flash to make new UI elements, new widgets...

Sadly all the UI in Skyrim is made in Flash.

 

Alternative is to use already existing Debug.Notification("") that You probably already know...

 

Here are the Skyrim UI Flash files -> https://www.nexusmods.com/skyrim/mods/216?tab=description

 

Then You can use:

; open a custom menu named "CustomMenu" by loading the given swf from the interface folder
; (filename without extension)
; there can only be a single custom menu open at the same time
Function OpenCustomMenu(string swfPath, int flags = 0) global native
 

; close the custom menu if it's currently open.
Function CloseCustomMenu() global native

 

; UICallback allows passing arguments of different types to UI functions, unlike UI.Invoke*
;
; Example:
;     int handle = UICallback.Create("InventoryMenu", "_global.MyClass.initData")
;    if (handle)
;        UICallback.PushBool(handle, true)
;        UICallback.PushInt(handle, 1000)
;        UICallback.PushString(handle, "Hello")
;        UICallback.PushFloat(handle, 1.234)
;        UIDelegate.Send(handle)
;    endIf

 

 

I don't need a new UI. I can use debug notifcation.

 

But this is otherwise a bit too complex for me to understand. I don't know where I'm opening these menus or doing any of this stuff.

17 hours ago, Yinkle said:

The basics: Make a plugin, add 2 quests - main quest and mcm quest with player aliases. Add appropriate scripts to these quests and aliases. In the main quest player alias script, make an "onplayerloadgame" event that registers it for orgasm events. Then use jsonutil (part of papyrusutil/sexlab) to parse your json file (in your case probably just a random selection) and output the text with debug.notification() when an orgasm event is received.

 

Add an mcm option that toggles the orgasm event registration in the main quest player alias script. This would be your disable/enable mod option.

You could simplify it by making a spell with a script that toggles the orgasm event registration, this way you'd have no need for an mcm.

 

Hopefully this will give you some ideas. Note that the "hookorgasmstart/end" events received from sexlab don't specify which actor is orgasming, just the thread id and whether the player is involved. SLSO does this by passing the actor in its "SexLabOrgasmSeparate" event.

I "kind of" understand this. I don't know how to make a plugin though or add scripts. But I think I understood most of what has to be done. Maybe some youtube tutorials are around that can help me with the basics.

Posted
5 hours ago, Aki K said:

I don't need a new UI. I can use debug notifcation.

 

But this is otherwise a bit too complex for me to understand. I don't know where I'm opening these menus or doing any of this stuff.

I "kind of" understand this. I don't know how to make a plugin though or add scripts. But I think I understood most of what has to be done. Maybe some youtube tutorials are around that can help me with the basics.

 

SexLabFramework Property SexLab Auto
Actor Property OtherActor Auto
String[] Property Messages Auto

 

Event OnInit()
    RegisterForModEvent("SexLabOrgasm", "WhaToDo")
    SexLab.QuickStart( Game.GetPlayer() , OtherActor )
EndEvent

 

Event WhaToDo( String a, String b, float c, Form d )
    Debug.Notification( Messages[ Utility.RandomInt( 0 , Messages.Length ) ] ) ; will play any random message from the list... im not sure if it will trigger with any NPC having orgasm or just with player... You can read SLF to know more xD I know only basics of SL ( pretty much just using QuickStart all the time xDD )
EndEvent

 

SexLabFramework is quite big but You can open it's source files and Ashal wrote descriptions and tutorials:

image.png.ebe69eaca6d400aeb1c465875dca99ee.png

Posted (edited)
13 hours ago, Aki K said:

I "kind of" understand this. I don't know how to make a plugin though or add scripts. But I think I understood most of what has to be done. Maybe some youtube tutorials are around that can help me with the basics.

If you're starting out with scripting, than this will be your best friend: https://ck.uesp.net/wiki/Main_Page. It has a list of tutorials, you don't have to do all of them. I recommend the quest design and scripting for the mod that you're planning. I'd also look up Events on that site, because Sexlab uses them a lot.

That site also has an explanation for every function, tab, and button that's used in the Creation Kit. It also lists all SKSE functions and PO3 functions, which can be a lifesaver.

There are a lot of good youtube tutorials, Darkfox is something I watched int the past.

I also found it helpful to take mods that did some similar things and see how they're build. For example, Sexlab Solutions also shows notifications after a sexlab animation.

 

One trick I found useful when learning to mod is to start with a bunch of test mods that only do one thing of the mod I eventually want to make. And when I know everything I make the real mod.

Edited by a_random_user
Posted

I guess I have some research to do. It's a bit more complicated than I expected. I was hoping it was the kind of thing I could make just messing around with creation kit or TesEdit. Scripting is definitely not in my current skill list. But, I'll see what I can learn.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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