Jump to content

XJDHDR

Members
  • Content Count

    14
  • Joined

  • Last visited

About XJDHDR

  • Rank
    Clanfriend

Recent Profile Visitors

218 profile views
  1. Maybe these screenshots will help. They are of a mod that I ported to use Plugin Resources a number of years ago. The mod is merged into the BP and, as you can see, the record data from the mod was merged into the BP and overwrote the record provided by Plugin Resources. As for why it works, basically there are a number of rules WB uses to determine if a mod can be merged. One of them is that a mod which creates new records can't be merged. I believe this is because to merge such records, WB would have to change the FormID for every new record it merges then change every record that uses this record to point to the new FormID. It would probably require so much processing power to make this work that it was decided to be unfeasible. PR solves this by allowing mods to edit blank records instead of creating new ones. If I broke the rules, them I'm sorry. I don't understand how that was considered spam though. It was one small line of text that doesn't stand out in any way, I clearly labelled what it was, wasn't asking anyone to click on it and I definitely wasn't mailing it to anyone on this site. I consider this to be something like my way of bringing ESL flagged mods to Oblivion, though it's not exactly the same. It's not really the size of the mod that would determine it's suitability (though larger mods would require more work from both myself and the author) but rather what the mod adds. The biggest issue would be mods that add any new references (as opposed to editing existing ones) to existing worldspaces and cells (or, at worst, a small number) since I can't use PR to add blank records to these places (especially worldspaces). Otherwise, if a mod doesn't do this and also doesn't add any of the record types listed under "The following are not provided ...", then that is an example of an appropriate mod. To give some examples, none of the mods that you specifically have released would be suitable candidates. Conversely, many of my and TheNiceOne's mods would be candidates. Some of Scrugg's mods also look like they would work with PR. Correct me if I'm wrong but I'm pretty sure that WB does take load order into account when deciding what data to include in the BP. If this isn't correct, then such a mod should not use PR but I can't imagine there are too many mods like this which wouldn't already be excluded on other grounds. Just to give one example of what you could do, one of the mods I want to make in the future, without giving too much away, will have a new house with furnished interiors, a new NPC with AI routines, new magic and scripting, etc. Sure, it's nowhere near the scale of anything you've done but it's not exactly a small mod. My plan is that everything I mentioned (including the interior cells) will be blank records provided by PR that my mod will edit. The main problem would be placing the house in Tamriel's worldspace while keeping the mod mergeable. My plan is to look for any trees, bushes, rocks, etc. in the house's location and replace those with the house's mesh and door. The result would be a new house and contents that can be merged into the BP. The only thing I need after that is for the WB team to get CBash out of beta.
  2. Yes, this is solely to make a mod mergeable. Your interpretation was almost correct; once you change your quest's FormID to one provided by my ESM, the data in your quest overwrites the blank data in my ESM. The result is that the mod will still work exactly the way it did before but is now mergeable.
  3. Name: Plugin Resources Version: 1.001 Category: Modders Resources and Tutorials Author: XJDHDR Download locations: Nexus Mods: Direct Link: https://www.nexusmods.com/oblivion/mods/37684 This mod provides a library of pre-created records for modders to use. This allows their mods to be mergeable into Wrye Bash's Bashed Patch, thus saving ESP slots for the end user. Players: Where can I find mods that use Plugin Resources? The following mods have been released by others: Nothing at the moment I have released the following: Permanent Effects from Quest Items fix Additionally, I have created a page for mods created by others that I have ported to use Plugin Resources: Wrye Bash Mergable Mods Modders: All you have to do is replace any new records in your mod with blank records created by "Plugin Resources.esm". If you ensure that every new record created by your mod uses a record provided by "Plugin Resources.esm", this will allow your mod to be merged into the Bashed Patch. What are the Rules? You can only use records from my ESM that you have already claimed. The reason for this is so that you don't use a record that someone else is using in their mod, which would cause overwrites and conflicts if an end-user had both mods installed. Your finished mod must be mergeable in Wrye Bash. If it isn't, you are simply making your mod dependent on mine for no good reason. Additionally, you're wasting blank records and wasting my time as a result. How do I claim a record for my mod? Each listed record type below has a link to a wiki page on both SourceForge and Github. The wiki page you visit will have a list of records present in "Plugin Resources.esm" and whether or not they are available. To assign a record to your mod, simply edit the wiki page so that the needed records are listed as being used by your mod. It would also be appreciated if you inform me that you are claiming records. I would also appreciate it if you could edit both wikis to reflect your claimed records but I can do so otherwise. Do I need another online account to claim a record? You will need either a SourceForge or Github account to edit the pages on the respective wikis. Both are free and easy to create. Personally, I slightly prefer SourceForge's wikis to Github's but it's entirely up to you. Once I've claimed a record, how exactly do I use it? The procedure I recommend is to create your mod as you normally do until you are ready to upload it somewhere. Once you are ready, figure out how many and what new records your mod has created then claim those records. After that, open your mod and Plugin Resources in TES4Edit then modify the FormIDs of your mod's new records to the FormIDs of the records you claimed. You will then need to recompile any scripts in your mod that reference any of these new records. At the moment, you can use the following records in the ESM without any problems: Main page: SourceForge Github Activator SourceForge Github AI Package SourceForge Github Alchemical Apparatus SourceForge Github Ammunition SourceForge Github Animated Object SourceForge Github Armor SourceForge Github Book SourceForge Github Class SourceForge Github Climate SourceForge Github Clothing SourceForge Github Combat Style SourceForge Github Container SourceForge Github Creature SourceForge Github Door SourceForge Github Effect Shader SourceForge Github Enchantment SourceForge Github Eyes SourceForge Github Faction SourceForge Github Flora SourceForge Github Furniture SourceForge Github Global SourceForge Github Grass SourceForge Github Hair SourceForge Github Ingredient SourceForge Github Key SourceForge Github Landscape Texture SourceForge Github Leveled Creature SourceForge Github Leveled Item SourceForge Github Leveled Spell SourceForge Github Light SourceForge Github Load Screen SourceForge Github Misc. Item SourceForge Github Non-Player Character (NPC) SourceForge Github Potion SourceForge Github Quest SourceForge Github Race SourceForge Github Script SourceForge Github Sigil Stone SourceForge Github Soul Gem SourceForge Github Sound SourceForge Github Spell SourceForge Github Static SourceForge Github Subspace SourceForge Github Tree SourceForge Github Water SourceForge Github Weapon SourceForge Github Weather SourceForge Github The following are also provided, but there are some caveats: Conversation Topic SourceForge Github Conversation Topics can only be merged into the Bashed Patch if CBash is enabled. It is still a beta and thus disabled by default. The Editor ID for Dialog Topics can only be changed using TES4Edit. Dialog Topic SourceForge Github Same as Conversation Topics. Cell SourceForge Github There are none available by default in the ESM. These have to be specifically requested. The reason is because after you create a new cell, you will have to place some objects in the cell. The problem with doing this is that each object placement is regarded by Wrye Bash as a new reference record and will refuse to merge it into the Bashed Patch. The solution then is to request a new cell and state how many objects you intend to place into the cell. I will then create a new cell with the required number of placeholder references which you then use the CS's Search and Replace function on. Cell edits can only be merged into the Bashed Patch if CBash is enabled. It is still a beta and thus disabled by default. The following are not provided and won't be until the issues noted are resolved: Birthsign All blank Birthsigns created by my ESM will appear in the Birth signs menu when the player is creating their new character. I will not create blank Birthsign records unless there is a way to hide them. Game Setting The game won't recognize any new settings created by my ESM unless someone modifies Oblivion's EXE to recognize them. I am willing to create blank records if someone is willing to do that modification. Additionally, settings changes can only be merged into the Bashed Patch if CBash is enabled. Idle Animation Still need to properly research the possibility of making this work but I'm not very hopeful. Region Only really useful in conjunction with new worldspaces, which I'm not currently willing to support for reasons mentioned below. Skill The game won't recognise any new skills created by my ESM unless someone modifies Oblivion's EXE to recognise them. I am willing to create blank records if someone is willing to do that modification. Worldspace World space edits are only mergeable if CBash is enabled. Also, any new objects placed in the world space is a new reference, so I would have to custom create blank world spaces with reference placeholders. Finally, due to the way worldspaces are handled in Oblivion, there might be the possibility of oversights or game bugs that would make a mergeable mod with worldspaces impossible. I'm not currently willing to put in the work required to make this work but I might reconsider this depending on how big your requested worldspace is. If I do change my mind, it will be the same arrangement as Cell records, only provided on request. What if I'm trying to claim a record at the same time as someone else? Whoever gets their edit in first gets the record. What if there aren't enough available records for my mod? Simply send me a message requesting some more and I will release an updated ESM with more blank records. Incompatibilities =============== None. Known Issues or Bugs ==================== None. History ======= 1.001, 2019/02/16 Reworked the blank Global Variables to provide a way for a mod to get Plugin Resource's version (XJPRaVersionVar will contain the version number as displayed in the documentation). Added a function that can remove every single item from a container's inventory (zzzzXJPRRemoveAllItemsFromPlayerFunctionScript). Added a container (XjPRTempSafeTransferContainer) that can be used for temporary item storage (particularly useful for preventing duplicated items: https://cs.elderscrolls.com/in... ) Fixed the blank NPC records to no longer create a dirty edit in some circumstances. Added 5 blank animated objects (XJPRAnimObject0001 - 05). Added 5 blank classes (XJPRClass0001 - 05). Added 10 blank quests (XJPRQuest0011 - 020) Added 30 blank scripts (zzzXJPRScript0021 - 050) 1.000, 2011/03/21 Initial release.
  4. I just tried to compile the PlayerWerewolfChangeScript with a few changes I made but I am getting this error that causes the compiler to fail: PlayerWerewolfChangeScript.psc(0,0): error while attempting to optimize script playerwerewolfchangescript: Input string was not in a correct format. I have never seen this error before and I have no idea what I need to fix in the script. The only way I've found so far to make this error go away is to remove the "-optimize" switch from the compiler options but I would rather not do that if possible. Can anyone please help me with this? Thank you!
  5. I think this is what is going on. Editing the containers directly won't help because I'm not trying to add or remove items from that container; I'm just getting a list of the container's contents. I managed to work around this by using the FormID of the Base Object. I then spawned a new copy of that container, got my list of it's contents then deleted the spawned container. This would have been easier if I could use GetNumItems and GetNthItem on Forms as well but this works well enough.
  6. I am trying to use this command to get a reference to a particular container. This reference is basically a container in the QASmoke cell. Form frmGetFormFromFileResult = Game.GetFormFromFile(0x000C2D3C, "Skyrim.esm") ; QABooksContainer For some reason, however, the GetFormFromFile function is returning None. I can't figure out why because that container definitely exists and I triple-checked that the FormID is correct. I even tried using the GetForm function instead but that made no difference. I did find that this function works if I used the FormID of the container's Base Object. However, I can't use this because I need to enumerate through every item in that container's inventory, the GetNthForm function is the only one I know that can do this and that function only works on ObjectRefences, not Base Objects.
  7. I have a mod that marks books that the player has read and I'm trying to find ways to improve the mod. While browsing the Creation Kit wiki, I noticed that you can use the command "RegisterForMenu("BookMenu")" to receive an "OnMenuOpen(String MenuName)" event whenever the player reads a book. Currently, I detect the player reading a book by attaching scripts with an OnRead event to books on the ground and attach a script to the PC with an OnObjectEquipped event. Does anyone know a way to get a reference to the book that opened that Book Menu from that OnMenuOpen event? If there is a way, that would greatly simplify my mod's scripting.
  8. Thanks Arthmoor, that worked perfectly. I had to use TES5Edit to make that change though because my mod is a masterless plugin. This meant I had to rely on the hardcoded Player reference, which isn't flagged as a Unique Actor. Thus, the Creation Kit would not let me select any Unique Actors. I should have explained it better but I am aware that a reference will be persistent while it is filling an Alias. My concern is the quirk where a Forced Reference Alias will cause a reference to remain persistent even when it is not filling that Alias.
  9. After reading about a bug in Skyrim that can cause references to become persistent if placed into a Forced Reference Alias, I'm trying to convert such an Alias in my mod into a Conditional Alias. I am having a problem however. These are what my Alias' settings currently look like and they work: This is what I want to change the Alias' settings to and this config isn't working: Can anyone please help me get this to work? Alternatively, is it not possible to make this work and I have to use a Forced Reference? On a side note, I know that the Player Character is already a persistent reference but I would like to get into the habit of not using forced references and figure out what I've done wrong here.
  10. I was thinking along the lines of replacing the scripts provided by a mod with scripts that contain only a scriptname declaration: No variables, properties, functions, events or anything else. Unfortunately, I don't currently have a save that I can test my hypothesis on.
  11. Sorry for the necro but I am wondering what would happen if someone uninstalls a mod without providing blank copies of the scripts used by the mod? Would the save game keep all the functions and events (that are not OnUpdate events) from the scripts that were removed? And if so, will the game try to send events to and run functions in those scripts? This is all assuming the scripts do NOT contain OnUpdate events. Edit: Also Does anyone know if these two problems apply to ALL script properties or can AutoReadOnly properties mitigate them. Sorry to interrupt this discussion but would it be possible for someone to answer these questions I asked a while ago? Thank you
  12. Sorry for the necro but I am wondering what would happen if someone uninstalls a mod without providing blank copies of the scripts used by the mod? Would the save game keep all the functions and events (that are not OnUpdate events) from the scripts that were removed? And if so, will the game try to send events to and run functions in those scripts? This is all assuming the scripts do NOT contain OnUpdate events. Edit: Also Does anyone know if these two problems apply to ALL script properties or can AutoReadOnly properties mitigate them.
  13. Is there somewhere available for people to suggest mods for inclusion? I know the USKP's original tracker had an entry for such a purpose but I have not been able to locate anything else like it and I myself recently found a mod that I think needs to be integrated.

Support us on Patreon!

×
×
  • Create New...