-
Posts
958 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by irswat
-
[LE] I can't get SetDisplayName() to work with RefAlias
irswat replied to irswat's topic in Skyrim's Creation Kit and Modders
I hadnt checked papyrus cause I thought I was simply using the function wrong -
there is a notable lack of documentation on skse functions SetName and SetDisplayName. I am trying to help watcherzero with his oblivion artifacts mod. His mod adds like 60 or 70 unique items throughout Tamriel and I thought it might be cool to make it a treasure hunt. I offered to add a dynamic book that lists the items, clues to their location, and "checks" off the items when they are found. To accomplish this I created the book with replacement text <alias=OblivionArtifactRefAlias63>, and a quest with a player alias, an alias for the book (With optional, stores text, and uses stores text checked), and an alias for one of the items (until I can get this working then I will add the rest.) I attached a simple script to the player alias with an addinventoryeventfilter and onitemadded event. The script works perfect as far as detecting the item added to inventory, but the SetDisplayName is not working. I was wondering if you could maybe help me figure out why. I'm trying to rename a ref alias filled with a weapon base object. The ref alias name is supposed to be changed to "[X]" when the item is found. Scriptname OblivionArtifactsAliasFilter extends ReferenceAlias FormList Property OblivionArtifactsItemsFormList Auto ReferenceAlias Property OblivionArtifactRefAlias63 Auto Event OnInit() AddInventoryEventFilter(OblivionArtifactsItemsFormList) debug.MessageBox("Alias script initialized") endEvent Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) int i i=OblivionArtifactsItemsFormList.Find(akBaseItem) if i==0 ;battleaxe of hatred debug.MessageBox("Battleaxe of Hatred Added to Inventory") OblivionArtifactRefAlias63.GetRef().SetDisplayName("[X]") endif endEvent When I added a debug messagebox after SetDisplayName() the displayname is empty, but the item being added to inventory is detected. Any idea? Someone mentioned SetDisplayName() might not work with stores text. Is this true? Is there some other way to accomplish what I'm trying to do if so?
-
OK, I attached the script to the player refalias and add both the book and the battleaxe via console. The Book reads "Battleaxe of Hatred: Embershard Mine on a shelf." Unfortunately even though the battleaxe has been added to the player container I'm not getting an [X]. The addinventoryeventfilter is being added (debug message), with a formlist containing the base forms of all the items. For some reason adding battleaxe of hatred via console doesn't trigger the onitemadded event (no debug message). Any ideas? edit: the formlist has base objects, but the item added is an object reference and I think it has something to do with this. In that case how does one capture object references being added to inventory?
-
I'm trying to help watcherzero add a dynamic treasure hunting book to his oblivion artifacts mod. The book lists all items and clues as to the location. When one of the unique items is found a check mark should appear in the book next to the item name to let the player know this item is found. To accomplish this, following a suggestion by cdcooley, I am trying to use text replacement and dummy ref aliases. I created a quest, start enabled, and in the quest I have a ref alias for the book, a ref alias for the player, and a ref alias for just 1 of the items. The item I checked stores text and selected the base object for battle axe of hatred, which is the item in question. I then put together a simple OnItemAdded script with an AddInventoryEventFilter. I pass the filter a formlist with all the items in the oblivion artifacts mod. I then check at what index the item added is in the formlist and change the display name for the corresponding dummy ref alias to "[X]". I attach this script to the player ref alias. the text of the oblivion artifact guide is this: <Alias=OblivionArtifactRefAlias63> - Battleaxe of Hatred: Embershard Mine on a shelf. Scriptname OblivionArtifactsAliasFilter extends ReferenceAlias FormList Property OblivionArtifactsItemsFormList Auto ReferenceAlias Property OblivionArtifactRefAlias63 Auto Event OnInit() AddInventoryEventFilter(OblivionArtifactsItemsFormList) endEvent Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) int i i=OblivionArtifactsItemsFormList.Find(akBaseItem) i+=1 ;formlist starts at index 0 if i==63 ;Battleaxe of Hatred akItemReference.SetDisplayName("[X]") endif endEvent the two properties are filled properly I think. Yet when I try to compile the above script I'm getting this message: SetDisplayName is not a function or does not exist. Any ideas what I'm doing wrong here?
-
[LE] Papyrus/SKSE function to get plugin address?
irswat replied to irswat's topic in Skyrim's Creation Kit and Modders
thanks zebrina -
thanks, I did throw all the items into a formlist and added an inventoryeventfilter with the form list oninit. I will flip a switch and remove the form from the form list. It's a treasure hunt so you only need to find the item once. These items are being displayed in a dynamic book/checklist which also contains clues.
-
Say I have 50 unique items and when anyone of these items are found I want to flag them as found. I assume I would use an OnItemAdded event and use some type of inventory filter, but what is the most efficient way to do this? I don't want the script running constantly, and I don't want the script wasting time detecting anything except these 50 items. Suggestions? Another option I was considering was a small script using OnItemRemoved and then attaching it to the containers that the items are in. Is this the best way?
-
[LE] Papyrus/SKSE function to get plugin address?
irswat replied to irswat's topic in Skyrim's Creation Kit and Modders
thank FF, if it does perhaps worth submitting to ian to be added to SKSE? -
I have a very solid game im playing 40 hours in and no crashing. I have about 500 mods installed and 254 plugins. I have found that for whatever reason I can not add certain mods to my play through, if I do I either get infinite load screen or freeze on load. The most recent culprit is sjel blad castle. If I add this my saves won't load, they freeze. I figure there is something going on with the memory blocks, so I add the memory tweaks 768/384 to SKSE/ini [memory], and the game now infinite loads instead of freezing. I thought to myself there is definitely something going on with memory so I disabled preload to vram in enb and enabled compression, then I ran ordenador and compressed textures. Before sjel blad castle it was legacy of the dragonborn, before that it was vigilant, summerset isle, or dreameborn isles. If I add any of these other wise working mods to my load order I can not load my game. Is there anyone who might be able to lend insight into what's going on? How to fix?
-
Need help diagnosing CTD at load screen!
irswat replied to LegendaryKobold's topic in Skyrim's Skyrim LE
papyprus log is not a crash log. you probably are missing a master, or have a load order that needs to be sorted -
question about leveled items & smashed/bashed patches
irswat replied to irswat's topic in Skyrim's Skyrim LE
I want to up this again. I really want to understand, if I create a bashed/smashed patch that contains leveled lists, are these leveled lists the only ones used, and if so must I manually carry over leveled list records that aren't in the patch if I want to see them in game? In the above example would steel swords be in the game? For whatever reason they are not carried over into the leveled list for the smashed patch, do I need to manually carry them over in order for them to appear in game leveled lists? -
LE I have an idea for a cool mod/character build: the holy monk.
irswat replied to irswat's topic in Skyrim's Mod Ideas
no? -
I don't think you have an issue. While there is alot of posts on the internet that suggests a save should be rather small like 10 MB, and anything larger is bloated I have found it perfectly normal for a save to be as much as 56 mb with 0 problems. If it ain't broke don't try to fix it, or it will break.
-
you need to fill the properties in creation kit
-
Tons of objects piled in the sky near Whiterun
irswat replied to ToppDog's topic in Skyrim's Skyrim LE
couldn't you use disable instead of markfordelete? this way if he clicks the wrong thing he can undo it by typing enable? -
first of all removing mods mid game will cause problems. that is the reason you have orphan scripts. second save bloat is not a 40 mb save file. My most recent save is 38 mb and I get very fast load times, very good fps, and I don't think game has crashed once on this playthrough. This is with something like 500 mods installed. I would suggest optimizing textures using ordenador, using crash fixes by meh, enb reduce memory, and safety load. Much of the size of your save is probably papyrus scripts. my last playthrough was like 56 mb at level 32.
-
you did try removing that line? Again I have about 100 texture mods installed and they show up in game but I don't have that tweak in my ini files.
-
Try removing the line about invalidating older files from your ini file. I couldn't find that line in my ini I just use NMM to toggle AI
-
Missing Wyrmstooth.esp, along with noticeboard.esp?
irswat replied to Travis51's topic in Skyrim's Skyrim LE
good to know. im running 1.15. very cool mod btw