Jump to content

irswat

Premium Member
  • Posts

    958
  • Joined

  • Last visited

Everything posted by irswat

  1. I hadnt checked papyrus cause I thought I was simply using the function wrong
  2. 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?
  3. i actually fixed the addinventoryeventfilter, there were several things wrong, including needing optional checked, filling the alias correctly, and the i+1 logic was wrong. the last problem i have is figuring out how to get SetDisplayName to work for the refalias. So far no luck.
  4. 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?
  5. I do have SKSE and I extracted the scripts to the scripts folder. Is there a special way to open creation kit with SKSE? EDIT: Solved. I must have missed something. I recopied the scripts from the SKSE zip to data and now the script compiles! thanks
  6. 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?
  7. In a moment of clarity last night I decided against removing items from the formlist when they are found, but I can't remember why lol
  8. 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.
  9. 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?
  10. thank FF, if it does perhaps worth submitting to ian to be added to SKSE?
  11. If I want to know what address a plugin is in the load order, is there a function that returns this?
  12. 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?
  13. papyprus log is not a crash log. you probably are missing a master, or have a load order that needs to be sorted
  14. 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?
  15. 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.
  16. you need to fill the properties in creation kit
  17. couldn't you use disable instead of markfordelete? this way if he clicks the wrong thing he can undo it by typing enable?
  18. 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.
  19. 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.
  20. 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
  21. good to know. im running 1.15. very cool mod btw
×
×
  • Create New...