Jump to content

Detecting if an item is a quest object?


Haptly

Recommended Posts

I'm making an autosort spell that picks eight containers in your house, then sorts your inventory into those eight containers. It remembers which eight it picked, and you can override its choices by sneaking when you cast the spell.

 

It's all working great, but I'd like it to not remove quest items from the player's inventory. Is it possible to detect whether a Form is a quest item using Papyrus? I couldn't figure out how to do it, and it's the last thing preventing me from releasing the mod.

 

Thanks in advance. :)

 

 

Link to comment
Share on other sites

Unfortunately no. You can add your voice to the ones asking for the SKSE team to add a function like that.

 

If you attach a script to the player and monitor for items removed you can assume that all items that have a referenceID value are special enough that they shouldn't be sorted and put them back into the player's inventory. That will catch things other than quest items, but you might call it better than nothing.

 

You could also just warn your users that quest items will be transferred. Since items are being moved into very specific containers the player can always go back and find them.

 

For my Storage Helpers mod I was able to create a SWF file (and inject it into the container menu) that let me detect the the quest items. But that only workes because I trigger the game's normal item movement function to put things into the container. Since you're using multiple containers going down that path would harder. In theory you could have your script open each of the containers in sequence and transfer the correct items into each one.

Link to comment
Share on other sites

Actually!

I read this earlier and was like hrrrm hmmm nope

Then I realized that quest objects that cannot be removed from inventorys by the player are ALWAYS a Alias

I am honestly tired as all hell but I will actually see if there is a way to getalias from a object, then all you have to do is have the script scan every item and any one of them that HAS a alias can just be skipped

 

I hope I am making sense, some quest objects are not alias, but every quest object that cannot be dropped IS (I hope lol but ya almost 100% on this one)

And I know you can detect a reference alias, just have to see if theres a workaround for what you need or hell if you do it while I'm asleep more power to you

 

If this works this is why I am awesome, my scripting knowledge is 20% but what I do with that 20% exceeds some at 90% MWAHAHAHAHAHAHHA

And if it works I'm still awesome cause hey, its 2 am and I have an ego the size of texas ok!

Link to comment
Share on other sites

ARGGGHHHH I went to test this and didn't see SKSE on it lol

But you should be able to do a quick test

 

 

http://www.creationkit.com/GetID_-_Alias

 

So the thought is, if it has a name, it is more than likely a quest object, the question is what does it return when it is NOT a alias and that is what I was trying to test, because if it returns the same nothing or what have you for non quest objects, then you actually do have a way to detect quest objects via curcumvention

 

I don't have SKSE or any of it installed due to keeping everything clean and vanilla so will nto be able to test if this even works but seems you have enough knowledge of scripting you should be able to run a few quick tests and if non quest flagged objects all return the same thing whatever it is you can then script a detection for that

Probably a bit script heavy but looks like what you did is script heavy anyway so yolo!

 

Let me know if it works or what it even returns if you try it will ya?

Link to comment
Share on other sites

Well, GetID just returns the "hidden" ID column of the alias in the quest alias screen. But, thanks for the all the pointers. I could probably use an inventory filter to do it, but the sorting doesn't work that way right now so it'd be a pain to test out. And anyway, players haven't complained so I'm probably not going to touch it.

 

But thanks for the suggestions. :)

Link to comment
Share on other sites

  • Recently Browsing   0 members

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