Jump to content

Photo

Hiding Crafting Items That Can't Currently Be Crafted

crafting

  • Please log in to reply
9 replies to this topic

#1
AlyLovelace

AlyLovelace

    Fan

  • Supporter
  • PipPipPip
  • 410 posts

Hello, eternally overhauling my mod list and am working on a relatively "small" mod (for my own use, due to assets involved, yada yada) that distributes unique weapons (such as some of the unique skins for many mod released weapons) to important NPC's/named bosses throughout the game.

 

I want to hide these weapons from the crafting menu until the player meets the requirements for them (I know I could just ignore them until I meet the conditions, but I would prefer this, not to mention it leaves a little "surprise" for my gf). I intend on modifying death items so that NPC's drop a schematic on death, but don't know how to actually hide the item from the workbench until it's gained. Did it in FO:NV but can't remember how, or even if it's the same.

 

Thank you!


Edited by JaideW, 11 March 2022 - 09:33 AM.


#2
PJMail

PJMail

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,418 posts

A constructible object (COBJ - crafting recipe) record can have a condition on it (match condition) that will prevent it being displayed until the condition/requirement is met.

All NPC's have a 'death item' field that can point to a list of the items that will be added to their inventory on death.



#3
AlyLovelace

AlyLovelace

    Fan

  • Supporter
  • PipPipPip
  • 410 posts

Yeah, I've figured out the death item bit, but am stuck on making it so that the items don't show in the crafting menu. As right now they're simply greyed out, like most items you don't have the resources and/or perks for. Is there a specific condition that I'm missing or something?

 

For example, if the condition is the player has a perk, the game will still show that item, it just won't let you craft it (IE weapon mods, items in the chemistry bench, and so on). Thus, if the check is whether or not hey have the crafting schematic (Say for a unique katana) what stops that Katana from showing up in the crafting workbench?

 

For example:

{Reference}.HasBeenRead = 1 for a condition makes it require said blueprint.

^Blueprint

 

However unless I'm overlooking something it doesn't actually hide the recipe itself.


Edited by JaideW, 11 March 2022 - 07:31 PM.


#4
LarannKiar

LarannKiar

    Old hand

  • Members
  • PipPipPipPip
  • 1,278 posts

Yeah, I've figured out the death item bit, but am stuck on making it so that the items don't show in the crafting menu. As right now they're simply greyed out, like most items you don't have the resources and/or perks for. Is there a specific condition that I'm missing or something?

 

For example, if the condition is the player has a perk, the game will still show that item, it just won't let you craft it (IE weapon mods, items in the chemistry bench, and so on). Thus, if the check is whether or not hey have the crafting schematic (Say for a unique katana) what stops that Katana from showing up in the crafting workbench?

 

For example:

{Reference}.HasBeenRead = 1 for a condition makes it require said blueprint.

^Blueprint

 

However unless I'm overlooking something it doesn't actually hide the recipe itself.

 

The interface can read the Condition HasPerk so the item is visible but greyed out. To hide the item completely, use GetGlobalValue instead:

 

Condition: GetGlobalValue

 

Paramater 1, Global: TrueGlobal

 

Run on: Subject

 

Comprasion: ==

 

Value: 0



#5
PJMail

PJMail

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,418 posts

As Larannkiar says, some conditions cause the the object to be visible but greyed out, while other conditions make it not show at all.

I have always used global's to block crafting recipes appearing (like most mods do), and they work, as should most condition functions...

 

What is 'hasbeenread' btw? Is it a property of a script? I have never tried script properties in a condition so I can't help you there.



#6
LarannKiar

LarannKiar

    Old hand

  • Members
  • PipPipPipPip
  • 1,278 posts

What is 'hasbeenread' btw? Is it a property of a script? I have never tried script properties in a condition so I can't help you there.

 

HasBeenRead is a Condition (it's not listed in the list of Conditions though).



#7
PJMail

PJMail

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,418 posts

 

What is 'hasbeenread' btw? Is it a property of a script? I have never tried script properties in a condition so I can't help you there.

 

HasBeenRead is a Condition (it's not listed in the list of Conditions though).

 

Funny - I always check the Skyrim lists as well but this one wasn't there either. Is there a more up-to-date list somewhere?

And I wonder why the Workshop system made an exception on this condition too (I can understand hasperk, but this..)?



#8
LarannKiar

LarannKiar

    Old hand

  • Members
  • PipPipPipPip
  • 1,278 posts

 

 

What is 'hasbeenread' btw? Is it a property of a script? I have never tried script properties in a condition so I can't help you there.

 

HasBeenRead is a Condition (it's not listed in the list of Conditions though).

 

Funny - I always check the Skyrim lists as well but this one wasn't there either. Is there a more up-to-date list somewhere?

 

Right click in a Condition area, click New and you'll see the full list of Conditions. :) 



#9
PJMail

PJMail

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,418 posts

 

 

 

What is 'hasbeenread' btw? Is it a property of a script? I have never tried script properties in a condition so I can't help you there.

 

HasBeenRead is a Condition (it's not listed in the list of Conditions though).

 

Funny - I always check the Skyrim lists as well but this one wasn't there either. Is there a more up-to-date list somewhere?

 

Right click in a Condition area, click New and you'll see the full list of Conditions. :smile:

 

I was thinking of documentation but good point. Thanks.



#10
AlyLovelace

AlyLovelace

    Fan

  • Supporter
  • PipPipPip
  • 410 posts

 

Yeah, I've figured out the death item bit, but am stuck on making it so that the items don't show in the crafting menu. As right now they're simply greyed out, like most items you don't have the resources and/or perks for. Is there a specific condition that I'm missing or something?

 

For example, if the condition is the player has a perk, the game will still show that item, it just won't let you craft it (IE weapon mods, items in the chemistry bench, and so on). Thus, if the check is whether or not hey have the crafting schematic (Say for a unique katana) what stops that Katana from showing up in the crafting workbench?

 

For example:

{Reference}.HasBeenRead = 1 for a condition makes it require said blueprint.

^Blueprint

 

However unless I'm overlooking something it doesn't actually hide the recipe itself.

 

The interface can read the Condition HasPerk so the item is visible but greyed out. To hide the item completely, use GetGlobalValue instead:

 

Condition: GetGlobalValue

 

Paramater 1, Global: TrueGlobal

 

Run on: Subject

 

Comprasion: ==

 

Value: 0

 

As Larannkiar says, some conditions cause the the object to be visible but greyed out, while other conditions make it not show at all.

I have always used global's to block crafting recipes appearing (like most mods do), and they work, as should most condition functions...

Hmm, Nexus seems to only like giving me notifs part of the time, and I just stumbled across this. >.>

Globals will in fact do exactly what I want, thank you both for the help!







Also tagged with one or more of these keywords: crafting

IPB skins by Skinbox
Page loaded in: 1.142 seconds