Jump to content

Do you have a mod idea you want to make a reality?


Guest

Recommended Posts

Thats kind of why I like the public post aspect of this rather than keeping things in PMs... it allows others to absorb some new ideas / tricks that help them build up a 'toolkit' of sorts.

Link to comment
16 minutes ago, geraldofrivia said:

Thank you so much for your tips Flashy.

 

1. Im going to learn this right away.

2. its a room on dukov inn and a specific furniture only to wait the player stay front of him/her and ready to talk a new topic.

3. working on it.

4. Thank you but i don't want to touch Fourplay at the moment, i'm going to build a loose animation :).

5. Damn. What about the npc talk to the player then a menu appear with some choices, select one then the player talk and the animation change?

something link this?
https://staticdelivery.nexusmods.com/mods/1151/images/14253-0-1465589859.jpg

 

And again thank you!

 

#2. This is good. VERY good. Because then all you need is a quest that has a location reference alias (to pull the Dukov Inn Location) and then a reference alias to attach to the specific couch. So with this, you can specify the couch, force the NPC to sit in it with a SnapToInteractionPoint command - note, you need to setRestrained(true) on them once they are sitting, otherwise they will just stand up again almost immediately - and then use a While/Endwhile statement that monitors the Player's distance to said couch. Kind of like:

 

While PlayerREF.GetDistance(CouchREF) >= 100

     Utility.Wait(1)

EndWhile

...

Rest of code here

 

What this does is simply loop a wait command until the player is 100 game units or less away from the couch. Once within that radius, the looping wait ends and the rest of the code can proceed.

Link to comment

For clarity - did you mean Dugout Inn in Diamond City or some mod-added place? If mod-added, know that in order to create a location reference alias using that, you will have to make whichever mod adds Dukov Inn as a master...

Link to comment
17 hours ago, dagobaking said:

1. There isn't a male body with an animateable schlong. We are close to having this with a skeleton already and Leito mentioned that he would eventually try rigging his mesh to it. But, without that, I don't want to make a bunch of animations with the vanilla skeleton only to have to throw them away when the new body/skeleton gets used.

 

 

It's probably a bad idea to have a penis that you can keyframe.  Being able to angle it like with SOS is probably the way to go.  There are too many body shapes, both male and female to make it look good...

Link to comment
7 hours ago, Leito86 said:

 

It's probably a bad idea to have a penis that you can keyframe.  Being able to angle it like with SOS is probably the way to go.  There are too many body shapes, both male and female to make it look good...

 

I definitely could be missing some factors. But, it seems like lining up with varying body shapes was an obstacle with the SOS angle approach too. Even with changing bodies, the crotches tend to be very close to the same place. A lot of the alignment issues had to do with the characters being set to different heights.

 

If I remember correctly, the skeleton and body mesh for SOS were set up the same way as the key-frameable one would be in FO4. It just changed the angle with mini animations only affecting the penis bones. In theory, a properly meshed body onto a skeleton with penis bones should be able to accommodate the SOS style angle animations or complete skeleton animations.

Link to comment

Rather important question on f4se, do the .psc files need to be in the Base or User folder? As my script using f4se functions dont compile if I leave the folder structure like the default extraction of the .7z file.

 

Actually that appears not to be the issue, at least it no longer is the issue. I've narrowed down my problem to declaring a keyword and I can't see what is wrong with it but it does cause issues (failure to compile). The issue is the commented out keyword which when enabled causes the compiler to expect a function at the variable declaration for some reason, the script provided compiles.

Spoiler

Scriptname PERV_ExhibitionismScript3 extends Quest

Armor Property SkinNaked Auto
PERV_ExhibitionismQuestScript Property ExhibitionismQuest Auto
PERV_RefRegUpdateScript Property PERV_RefRegUpdate Auto
Perk Property Perv_ExhibitNaked Auto
Perk Property Perv_ExhibitSubtle Auto
Keyword Property Perv_Exposed Auto
;Keyword Property Perv_SubtleExposure

Actor Player

Event OnInit()
    Player = Game.GetPlayer()
EndEvent

Bool Function ClothingCheck(Keyword Word)
    Actor:WornItem Body = Player.GetWornItem(3)
    Actor:WornItem Torso = Player.GetWornItem(11)
    Actor:WornItem Ring = Player.GetWornItem(21)
    bool Comparator = (Body.Item.HasKeyword(Word) || Torso.Item.HasKeyword(Word) || Ring.Item.HasKeyword(Word))
    Return Comparator
EndFunction

Bool Function SomethingWorn(Int Index)
    Actor:WornItem Body = Player.GetWornItem(Index)
    If (Body)
        If (Body.Item != SkinNaked)
            Return 1
        Else
            Return 0
        EndIf
    Else
        Return 0
    EndIf
EndFunction

 

This is part of an exhibition script that I pared down to isolate the issue I was having with it. I solved the other issues I was having (the issue was about 1.5 feet away from the screen) and I need this solved before I can move onto debugging the logic part of the script.

 

Edit: Just after I post I see the error, bugger it, it stays up. And that solves the issue with the script.

Link to comment
3 minutes ago, Odinn said:

Rather important question on f4se, do the .psc files need to be in the Base or User folder? As my script using f4se functions dont compile if I leave the folder structure like the default extraction of the .7z file.

Fallout 4\Data\Scripts\Source\F4SE this is how mine is set up from extracting. BUT, yes, I do have copies of them in USER that are used when compiling.

Link to comment

I want to add more mags to the world with small buffs(1-2hp) and things (adhesive(lol, sticky pages), caps) i see lots of mag re-textures but can only have one installed. i wouldn't think its too hard? make a mag and place it in the world?

 

*edit*

worked out how to put a existing mag into the world

Worked out how to save as a .esp

Link to comment

Why does this happen?

 

I've added a new object, gave it a custom .nif, and chose Food_Water under "Preview Transform". As you can see the bottle is not in the middle of the screen like it should be. I tried several other options but no dice. Is this a problem with the .nif itself? I'm lost.

why.jpg

 

In another topic, how to I get the game to add 1 count of a specific item ("ItemX") to the player, when activating a dead body using the method you showed me yesterday?

 

Edit - Oh and the script should deactivate itself once used.

 

Edit 2 - I tried using this snippet:

 

Game.GetPlayer().AddItem(ItemX, 1, false) 

 

but the compiler fails to compile. It says the "ItemX" variable is undefined. I used the Item ID I defined when creating the item but that doesn't seem to be it.
 

 

Link to comment
3 hours ago, TacomancerCat said:

I want to add more mags to the world with small buffs(1-2hp) and things (adhesive(lol, sticky pages), caps) i see lots of mag re-textures but can only have one installed. i wouldn't think its too hard? make a mag and place it in the world?

 

*edit*

worked out how to put a existing mag into the world

Worked out how to save as a .esp

Awesome you figured that out! Now to add HP its a simple matter of either using perks or spells. There is a list of choices open to you on the BOOK itself wherein you choose what to do when the book is read the first time. Whichever way you choose to go doesnt matter, so long as you set it up correctly.

Link to comment
3 hours ago, PsychoFox said:

Why does this happen?

 

I've added a new object, gave it a custom .nif, and chose Food_Water under "Preview Transform". As you can see the bottle is not in the middle of the screen like it should be. I tried several other options but no dice. Is this a problem with the .nif itself? I'm lost.

why.jpg

 

In another topic, how to I get the game to add 1 count of a specific item ("ItemX") to the player, when activating a dead body using the method you showed me yesterday?

 

Edit - Oh and the script should deactivate itself once used.

 

Edit 2 - I tried using this snippet:

 

Game.GetPlayer().AddItem(ItemX, 1, false) 

 

but the compiler fails to compile. It says the "ItemX" variable is undefined. I used the Item ID I defined when creating the item but that doesn't seem to be it.
 

 

Question, in nifscope, is this object below the ground plane? That would be what I would call  Y = 0, but fallout uses a different notation for the height, I think Z. Either way, the question remains the same.

 

As a note, preview transform is used for displaying an icon in the settlement build menu, not on the screen you have shown.

 

So in the perk entry level, you create a script fragment. Click 'properties' and then on the next window click 'add property' - select ACTOR as the type and PlayerREF as the name. Also add a property for the item to be added. Once you have those, you simply do the following in the script fragment:

 

PlayerREF.Additem(xxx,1,false)

 

Simple. :smile:

 

The reason your doesnt compile is because you didnt do the add property I just mentioned. All scripts need properties that are linked from the property name to a base object in the ESP.

Link to comment
10 minutes ago, Flashy (JoeR) said:

Question, in nifscope, is this object below the ground plane? That would be what I would call  Y = 0, but fallout uses a different notation for the height, I think Z. Either way, the question remains the same.

 

As a note, preview transform is used for displaying an icon in the settlement build menu, not on the screen you have shown.

 

So in the perk entry level, you create a script fragment. Click 'properties' and then on the next window click 'add property' - select ACTOR as the type and PlayerREF as the name. Also add a property for the item to be added. Once you have those, you simply do the following in the script fragment:

 

PlayerREF.Additem(xxx,1,false)

 

Simple. :smile:

 

The reason your doesnt compile is because you didnt do the add property I just mentioned. All scripts need properties that are linked from the property name to a base object in the ESP.

It all works like a charm! One thing tho: How do I get the script to deactivate so It can only be used one time? Ideally, a message would pop-up that informs the player that they have already performed the action and cannot repeat it.

Link to comment
1 minute ago, PsychoFox said:

When I click on the properties nothing shows up. No new window nothing :frown: Is this a bug w/ ck?

Sometimes it wont open on first click - this is a CK thing. But it should eventually open and look like this:

 

Capture.thumb.JPG.75e3231e8ca89be957adc452b2efd101.JPG

 

Then you click Add Property - NOT the dropdown arrow. Change the TYPE to Actor and put the name in exactly as shown.

 

Capture.JPG.aab8beecb9319d7ac92e1f9a661846a2.JPG

 

Click OK and the property will auto-set itself.

 

Capture.thumb.JPG.e8543d4885805caff8fdf8710b03dc17.JPG

 

Now, if you dont set the name as shown, the property will not autofill. In order to line up the property to an ESP form, you need to use the right side of this window to EDIT VALUE and then locate it.

 

Capture.thumb.JPG.3941e410f02a5c6a994fcba7af5393fd.JPG

 

For REFERENCE, you type in PLAYER. And then you should see the left side property line up.

 

Capture.thumb.JPG.5eb45e6d00aaede43ec7dac7f745896f.JPG

 

Capture.thumb.JPG.c4f1234136a15d0757b5455db350d823.JPG

 

This method holds true for EVERY script you make in the CK. Now, to add you item, you need to know what kind of a form it is. If a misc object, thats the TYPE you will select. Ill use caps as the example.

 

Capture.JPG.67a7fe7510c06527ad5a8e1d8e9cdfe7.JPG

 

Now, because I used the EXACT name of the caps MiscObject, the property autofills - this is a good trick.

 

Either way you do this, once you have properties defined, the script will be able to compile using that form.

 

 

 

 

Link to comment
3 minutes ago, PsychoFox said:

It all works like a charm! One thing tho: How do I get the script to deactivate so It can only be used one time? Ideally, a message would pop-up that informs the player that they have already performed the action and cannot repeat it.

When you say one time, do you mean one time EVER or one time per corpse?

Link to comment
2 minutes ago, Flashy (JoeR) said:

When you say one time, do you mean one time EVER or one time per corpse?

One time/corpse for dead actors

and once every 6 hrs for non-dead actors

Link to comment

For limiting use on a per corpse basis, that gets a little trickier, but not undoable. You simply need to create a method to introduce a blocker and then have the Entry Level conditions set to say 'If blocker present, do not show second activate option'. The easiest way is by use of an attached keyword.

  1. Create a KEYWORD form in the Object Window. For ease of use, lets call it DoNotOpenEntryLevel_Keyword.
  2. Back in the perk, add a script property on the entry level for this keyword.
  3. Properties button, Add Property, Type Keyword and your keyword as the name. It should auto-populate.
  4. In the script, you need to ADD the keyword to the target.
  5. akTarget.AddKeyword(DoNotOpenEntryLevel_Keyword) - this is the line of code to add to the fragment.
  6. In the entry level conditions FOR the TARGET, you need to say 'HasKeyword' 'DoNoOpenEntryLevel_Keyword' == 0
  7. Save ESP and test. It should allow the entry level to add an item once per corpse.

 

Doing it as a timed (6 hour) event is infinitely more complicated and I actually would recommend against trying as it gets VERY script heavy and resource heavy too. Script fragments should never be 'heavy' - they are fragments and should be kept relatively light.

Link to comment
10 minutes ago, TacomancerCat said:

New Mags

having a bit of trouble getting a texture to a new item...
stuck at trying to get a Worldofmags_D.DDS to link to the mag, well no idea where to put it. work on the spells/effects later.

 

  Hide contents

9c851043efb4c54721c882a5540316a8.png

 

You first need to create a BGSM material file that references the texture. Once you have that, you click EDIT beside World Art entry and on the window that pops up, you select the material swap dropdown, choosing CUSTOM MATERIAL SWAP. And then you add your material file to the form, like so:

 

Capture.thumb.JPG.ef947f72cfd63efaf67a0b96ccab45fe.JPG

 

Fallout 4 Material Editor: https://www.nexusmods.com/fallout4/mods/3635/

Link to comment
6 hours ago, Odinn said:

Rather important question on f4se, do the .psc files need to be in the Base or User folder? As my script using f4se functions dont compile if I leave the folder structure like the default extraction of the .7z file.

 

Actually that appears not to be the issue, at least it no longer is the issue. I've narrowed down my problem to declaring a keyword and I can't see what is wrong with it but it does cause issues (failure to compile). The issue is the commented out keyword which when enabled causes the compiler to expect a function at the variable declaration for some reason, the script provided compiles.

  Hide contents

Scriptname PERV_ExhibitionismScript3 extends Quest

Armor Property SkinNaked Auto
PERV_ExhibitionismQuestScript Property ExhibitionismQuest Auto
PERV_RefRegUpdateScript Property PERV_RefRegUpdate Auto
Perk Property Perv_ExhibitNaked Auto
Perk Property Perv_ExhibitSubtle Auto
Keyword Property Perv_Exposed Auto
;Keyword Property Perv_SubtleExposure

Actor Player

Event OnInit()
    Player = Game.GetPlayer()
EndEvent

Bool Function ClothingCheck(Keyword Word)
    Actor:WornItem Body = Player.GetWornItem(3)
    Actor:WornItem Torso = Player.GetWornItem(11)
    Actor:WornItem Ring = Player.GetWornItem(21)
    bool Comparator = (Body.Item.HasKeyword(Word) || Torso.Item.HasKeyword(Word) || Ring.Item.HasKeyword(Word))
    Return Comparator
EndFunction

Bool Function SomethingWorn(Int Index)
    Actor:WornItem Body = Player.GetWornItem(Index)
    If (Body)
        If (Body.Item != SkinNaked)
            Return 1
        Else
            Return 0
        EndIf
    Else
        Return 0
    EndIf
EndFunction

 

This is part of an exhibition script that I pared down to isolate the issue I was having with it. I solved the other issues I was having (the issue was about 1.5 feet away from the screen) and I need this solved before I can move onto debugging the logic part of the script.

 

Edit: Just after I post I see the error, bugger it, it stays up. And that solves the issue with the script.

This issue is plain to the naked eye:

 

Keyword Property Perv_Exposed Auto
;Keyword Property Perv_SubtleExposure

 

Look at your two keyword declarations and see what is missing on the one that isnt working... hint: 'AUTO'

 

:smile:

 

Link to comment
21 minutes ago, Flashy (JoeR) said:

For limiting use on a per corpse basis, that gets a little trickier, but not undoable. You simply need to create a method to introduce a blocker and then have the Entry Level conditions set to say 'If blocker present, do not show second activate option'. The easiest way is by use of an attached keyword.

  1. Create a KEYWORD form in the Object Window. For ease of use, lets call it DoNotOpenEntryLevel_Keyword.
  2. Back in the perk, add a script property on the entry level for this keyword.
  3. Properties button, Add Property, Type Keyword and your keyword as the name. It should auto-populate.
  4. In the script, you need to ADD the keyword to the target.
  5. akTarget.AddKeyword(DoNotOpenEntryLevel_Keyword) - this is the line of code to add to the fragment.
  6. In the entry level conditions FOR the TARGET, you need to say 'HasKeyword' 'DoNoOpenEntryLevel_Keyword' == 0
  7. Save ESP and test. It should allow you the entry level to add an item once per corpse.

 

Doing it as a timed (6 hour) event is infinitely more complicated and I actually would recommend against trying as it gets VERY script heavy and resource heavy too. Script fragments should never be 'heavy' - they are fragments and should be kept relatively light.

The compiler tells me that  akTarget is undefined. How should it be defined?

Link to comment
2 minutes ago, Flashy (JoeR) said:

try akTargetRef instead.

Nice. Everything works. I also Used Nifskope to fix the issue with the bottle. Should be able to release a fully functional mod in a matter of days once I fleshed out the design. Thanks again dude!

Link to comment
Just now, PsychoFox said:

Nice. Everything works. I also Used Nifskope to fix the issue with the bottle. Should be able to release a fully functional mod in a matter of days once I fleshed out the design. Thanks again dude!

My pleasure!

Link to comment
Spoiler

Mags,

 

So i got the material editor.  made WorldofMags.BGSM useing GrognakApril.BGSM that i extracted and linked it to WorldofMags_d.dds, but its still coming up with the Grognak img :confused:

3 hours ago, Flashy (JoeR) said:

You first need to create a BGSM material file that references the texture. Once you have that, you click EDIT beside World Art entry and on the window that pops up, you select the material swap dropdown, choosing CUSTOM MATERIAL SWAP. And then you add your material file to the form, like so:

 

Capture.thumb.JPG.ef947f72cfd63efaf67a0b96ccab45fe.JPG

 

Fallout 4 Material Editor: https://www.nexusmods.com/fallout4/mods/3635/

 

well i got that working so far
 

Spoiler

385ccce83b173f63ed8f96900487ec84.png

but now when i put it in the world looks good, but i pick it up and the image turns back to the original

 

*edit*

found out changing the inventory art changes the final form, just need to work out to get it into that list(in which i'm completely stumped on)

Spoiler

deea279c5dced43beb5bb198172feb44.png

 need to change highploy to the right thing, but nothing i'am doing is working/ no idea where its getting this list form and googling is bringing up nothing

 

... is its a .nif? i dont have any 3d model software (form creationkit side "

Inventory Art: The 3D model that appears in the inventory. Contains additional details for the book interface. Contains additional details for the book interface."

 

*edit 2*

Spoiler

a332e593270e327b352be086cdb50abc.png

ad9c83f2aae701057e55cfe7973291b3.jpg

23f046116e8a63c6d502f8f7fb14880e.png

that toke more then i would of liked :tongue:

end up finding the highpoly thing is the CK, the last window/top window is form pressing edit on the second top window

Link to comment

my some what tutorial

 

Stand Alone Mags

 

Create .BGSM useing existing file (eg "AwesomeTales1.BGSM", which i got from extracting(bae) from the "Materials.ba2" located in the Fallout 4/data.
Renamed "AwesomeTales1.BGSM" to "WorldofMags.BGSM".
Used Material Editor (https://www.nexusmods.com/fallout4/mods/3635/) on "WorldofMags.BGSM", Went to the material Tab and changed Diffuse to a copy of a existing mag which i named "WorldofMags_D.DDS". (i didn't make the one i was testing on, i just got a re-texture mod and cracked it open, plan to make my own)

Then into CK make a duplication of "PerkMagAstoundinglyAwesomeTales01" (object window - items/books and search for "mag" should bring up all the mags.
Renamed the PerkMagAstoundinglyAwesomeTalesCOPY to TacosWorldofMags.
then Search got "Highp" and should get highpoly_awesome_tales01 and duplicated it.
renamed it to "Highpoly_WorldofMags"
open highploy_WorldofMags, open the edit there and open "AwesomeTales1.BGSM" and set it to "WorldofMags.BGSM" press ok and ok again to closes it all down.
Open TacosWorldofMags and changed the Name to Tacos World of Mags (this is what displayed ingame) left the ID as TacosWorldofMags.
Set the dots to "None of the Above" ill be reseaching into this stuff soon.
Press edit on "World Art" take note of the .nif and and open the same AwesomeTales01.BGSM list and then i located "WorldofMags.BGSM" and press ok.
Inventory Art drop down this list and look for "Highpoly_WorldofMags"
Deleted the Papyrus script (no idea what this is for now)
and down the bottom "featured item message i set it to "BlankMessage" and press ok to close it off
go file save as WorldofMags.esp

 

and done.. think that most of it :s hope it makes sense to someone

Link to comment

Archived

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

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use