Jump to content

NationalSpearmint

Members
  • Posts

    13
  • Joined

  • Last visited

Nexus Mods Profile

About NationalSpearmint

NationalSpearmint's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Hi all, I'm looking to made a change to my "Blacksmithing Area for Markarth's Vlindrel Hall Home" mod, so that the blacksmithing area can be purchased from the steward. I've found that for vanilla, this is handled by the HousePurchase quest, dialog branch DecorateMarkarthViewBranch1. I've added my own topic to this, linked it to the other topics as required, added conditions, set up the fragment to enable the XMarker as required, etc. That's mostly working nicely. The topic text I've added is "Blacksmithing area. (<Global=HDMarkarthSmith> gold)". In the Text Display Globals section of the QuestData tab of the HousePurchase quest I've added my HDMarkarthSmith global variable. However, in game the option shows as "Blacksmithing area. ([...] gold)". 1) Do you know how I'd fix that? I'd think based on the other information I've found, it should just need HDMarkarthSmith as a text display global, which I've already done against the quest. 2) Excluding the Text Display Globals, modifying the quest topics like this doesn't seem to modify the actual quest; as far as I can tell that should mean if other mods existed that modified different dialog branches of the same quest, they wouldn't overwrite each other. For example, a mod which adds a blacksmithing area to Breezehome could do the same thing (except for modifying the Whiterun dialog stuff) without conflict. Am I right in thinking that? (I realise I could probably test this, and I will, I just want an opinion from someone who knows more what they're doing :) ) An easy solution would be to just replace the global with a hardcoded value, but it's nice to be able to do things properly :)
  2. Yeah, I was considering that, but that would mean I'd have an additional LeveledItem for each LeveledItem I want to insert into (in my scenario, I only needed one item to be inserted into each LeveledItem - if I needed more items inserted this probably would've been the better option). If I have several scripts I don't have any requirement for storing that additional data.
  3. Just to (hopefully) be of use to people who want to have custom items added to levelled lists in future, who may stumble across this post, here's the process I used: 0. Set up Creation Kit for Papyrus scripting by extracting the Scripts.rar file in Skyrim/Data . 1. Create a new Quest. Set this to Start Game Enabled and Run Once. 2. Close and re-open the Quest window (not entirely sure this is necessary, but I recall other tutorials mentioning it). 3. In the Scripts tab of the Quest, Add a new script. I'd recommend naming the script something like "AddBooksToLeveledItems" (if the item you want to add are books). 4. Right-click on this script and click "Edit Source". 5. Because of the issue Myst42 mentioned (the Forms drop-down not populating correctly), you'll need a seperate script for each type of Form you want to add to a LeveledItem. For the script text, enter as follows: Scriptname <ScriptName> extends Quest LeveledItem[] Property LevelledListToUpdateArray Auto <ItemType>[] Property ItemToAddArray Auto Int[] Property MinimumLevelArray Auto Function AddLevelledListToLevelledList(LeveledItem LevelledList, Form FormToAdd, Int MinimumLevel, Int NumberToAdd) LevelledList.AddForm(FormToAdd,MinimumLevel,NumberToAdd) EndFunction Event OnInit() Int iElement = LevelledListToUpdateArray.Length While iElement iElement-=1 AddLevelledListToLevelledList(LevelledListToUpdateArray[iElement],ItemToAddArray[iElement],MinimumLevelArray[iElement],1) EndWhile EndEvent Replace the <ScriptName> with the name of your script and <ItemType> with the type of Form your script is adding to a LevelledItem, respectively. (For the names of Forms, check the link TestTiger2 shared: https://www.creationkit.com/index.php?title=Category:Script_Objects .)After doing this, you should be able to save and compile without error. 6. Double-click the script to edit its properties; the LevelledListToUpdateArray property is an array of levelled lists to update. The ItemToAddArray property is an array of the Form you want to add to the levelled list at the same array index. The MinimumLevelArray property is an array of Integers representing the minimum level the player must be for the Form at the same index to appear in the levelled list at the same index. For example, if you want to add custom spell tomes SpellTomeCust1 and SpellTomeCust2 to LItemSpellTomes25AllConjuration, and SpellTomeCust3 to LItemSpellTomes50AllConjuration, ignoring player level, then: The above code's <ItemType> should be replaced with BookLevelledListToUpdateArray should contain LItemSpellTomes25AllConjuration, LItemSpellTomes25AllConjuration and LItemSpellTomes50AllConjuration in that orderItemToAddArray should contain SpellTomeCust1, SpellTomeCust2 and SpellTomeCust3 in that orderMinimumLevelArray should contain 1, 1 and 1It's important that all the arrays have the same number of records (or at least, that the LevelledListToUpdateArray has no more elements than the other two arrays). 7. Ok this and save. The script should then run on startup and populate the levelled lists specified with the forms specified. If you want to make sure the script runs, you can include a Debug.MessageBox("Hello") in the Event OnInit part of the script (although make sure you remove this before publishing). 8. Repeat steps 3-6 for each different type of Form you want to add to a LeveledItem. When you're happy with your script(s), go to File -> Create Archive to collate your scripts into a .bsa file which can be distributed with your esp. Thanks again for everyone's help with this. please let me know if these instructions are incorrect, insufficient, misleading etc. or if there's a more suitable place to post them.
  4. Thanks very much everyone, pretty sure I've got everything working as I want it. Mod link: https://www.nexusmods.com/skyrim/mods/94772/
  5. Thanks folks, I've got it working now. One more question, although it's straying a bit from my original query - is a LeveledItem a collection of Forms, then? As you mention, a Form property's drop-down doesn't show everything you would expect (I'd expect the same contents as the "Object" drop-down when editing a LeveledItem, but it instead just has CommandingActorPersistenceForm and PapyrusPersistenceForm). Is there a type which both LeveledItems and ordinary Items extend from, other than Forms? Also, is what is the 'superclass' of all (regular, non-leveled) Items (if there is one other than Form)? Thanks
  6. Thanks both. Please could you clarify, what would the expected Papyrus fragment be? I'm getting "no viable alternative at input 'Property'" and "no viable alternative at input '.'" errors. I've tried: " Formlist Property MYLIST autoObjectReference Property MYSTAFF AutoMYLIST.AddForm(MYSTAFF,1,1)" (assuming this should let you pass through values for MYLIST and MYSTAFF to the script as variables, or 'properties'?)and"LeveledItem Property LItemSpellTomes00AllConjuration AutoWeapon Property StaffNatSprRaiseDead AutoLItemSpellTomes00AllConjuration.AddForm(StaffNatSprRaiseDead,1,1)"Both return the no viable alternative at input errors.I'm entering this in the "Papyrus Fragment" box under Quest Stages for my quest. Is that right?
  7. Hi all, Are there any detailed, up-to-date tutorials on how to add items to a levelled list (ideally for people who are unfamiliar with Papyrus scripting)? Based on resources I've found online, you first need to create a quest which runs automatically - the quest then runs a script which adds the item to the levelled list, and then deletes itself. However, what I'm struggling with is - what's the script to add the items? This post: https://bethesda.net/community/topic/53041/how-do-i-add-items-to-merchants/4 Says to use the function AddForm in the Papyrus Fragment of the quest stage, in the format LEVELEDITEMLIST.AddForm(ITEMNAME, #, #) . However, when enter my code fragment: LItemSpellTomes00AllConjuration.AddForm(StaffNatSprRaiseDead,1,1) Papyrus fails to compile, as "variable LItemSpellTomes00AllConjuration is undefined", "variable StaffNatSprRaiseDead is undefined", and "none is not a known user-defined type". Obviously LItemSpellTomes00AllConjuration should be defined, since it's one of Skyrim's default levelled lists. Do I need additional Papyrus code to 'import' the levelled lists or something? Another tutorial post I've found is this one: http://bertscktutorial.ucoz.com/index/adding_to_leveled_lists_the_easy_safe_way/0-20 However, this refers to a script which was hosted on Nexus, but is no longer available, so that doesn't help either. Thanks
  8. Apologies for taking so long to test this out. With the file you linked mouse movement is completely ignored (clicking the mouse still functions normally). If there's a way to map both mouse input and DInput to a single X-Input controller, that might work, but I've only been able to find an app which act as though mouse position is a position on an axis - i.e., moving the mouse to the right and releasing the mouse acts as though you're continuously pushing right, rather than you're pushing right for the duration of the mouse movement. Along with that you'd also need some way to disable 360 camera rotation not accelerate... Which I'd guess is impossible.
  9. Hi All, Are there any mods which allow simultaneous use of a joystick (presumably X-Input), Keyboard and Mouse, (such that movement is controlled using a joystick, direction faced with the mouse, and hotkeys with the keyboard for example)? This thread from 2015 suggests that this wouldn't be possible, although they seem to be talking specifically about Directinput - since DirectInput can be mapped onto XInput it shouldn't matter which type is used. Have any developments been made which mean this is now possible / been achieved?
  10. Hi All, Less of a request for the mod and more asking whether this already exists - is there a mod which makes all one-handed spells into staff enchantments which can be crafted using the Dragonborn staff crafter? I started on a mod of this myself and completed all the Conjuration staves, but if the mod already exists there's no point of me continuing to work on it. Thanks
  11. Hi all, I've been trying to apply the "silver weapon effect" (fixed +20 damage to undead when using silver weapons) to a ring, so that when the ring is equipped weapons do +20 damage to undead. It looks like the way Silver weapons handle this is on first equipping a silver weapon, they add the SilverPerk to the holder, and this perk checks whether the held weapon has keyword WeapMaterialSilver - if it is, it checks whether the Target is a Werewolf, Vampire or Undead. If they are, it adds 20 onto Weapon damage. After equipping a silver weapon this perk is never removed, but the checks within the perk deal with the damage increase. I've been able to get my Silver effect ring to behave similarly by duplicating the above setup - once the ring is equipped all weapons deal +20 damage to undead through the same method. However, as above, the perk is never disabled, so all weapons deal extra damage forever. The check for keyword WeapMaterialSilver in the above can only be done on Weapons, as far as I can tell, so I can't check whether the equipped ring has a given keyword. I can check against the player in the "Perk Owner" condition area - is there a Condition Function to check whether a player has an item with a given keyword equipped? Otherwise, would a viable solution be to remove the Silver Effect Ring perk after unequipping the ring, and if so how would I go about doing this? I've also tried looking into adding this as an enchantment, but I can't work out how to get a damage increase on weapon attacks from an enchantment on a ring. This would probably be a preferred method, since I want my Silver effect ring to be enchanted anyway and the details of the effect to show up on the enchantment information. Any advice would be much appreciated. Thanks National Spearmint
×
×
  • Create New...