If you are asked to provide Script Extender log but doesn;t know what that is: Find ScriptExtenderSettings.json in your BG3/bin installation folder, where BG3.exe application is Edit it so the file has 2 extra lines between the starting '{' and the ending '}' "LogDirectory": "My Documents", "LogRuntime": trueThis will create a folder in BG3/bin called My Documents storing all logs made by the script extender whenever you exit the game If you want to see real-time logging add another line between those 2 above "CreateConsole": true,This will create a SE console window whenever you launch BG3, note that closing this window also closes the game
PATCH 8 INFO Expect the mod to break on patch 8 release, SE is compatible with patch 8 but i'm not in the tester list so i'll need your bug reports to fix everything Also I'll be back on 19th April, so that's the soonest I can update my mods
Hello, it seems that the Chinese localization file has failed. I was wondering if you could create a localization XML file for Mcm in the original mod? This would make it more convenient for translators to create translation PAKs for your mod! Additionally, this mod works perfectly in Patch 8! Your other mod, Clone Enemy, also functions without any issues. My version of SE is v23.
is there any way to have common items spawn more then uncommon ones every 2nd and third corpse has an uncommon item its filling up my inventory lol. and I doubt theres that many uncommon items in realism to make them so common accross the sword coast.
REL_SE doesn't have any control over common items nor is it designed to include them If you see uncommon items too often then perhaps lower their drop rates ? bear in mind that it would have no impact on uncommon items added by the game system, only to REL_SE
sad day, insane the amount i pickup i seriously doubt like realism/lore wise theres more uncommon items on the sword coast to supply the sword coast for 25 generations of uncommon items then there are every day average items XD
lmao some playthroughs i had so many items i started Act 2 with imba legendary kits from trading in all the useless equipments for higher tier ones, eh it's definitely not lore-friendly, but i run uber difficulty mods so yeah.
Also, I hope there could be a feature that adjusts the drop rate based on the mob’s level via a formula. If it’s too troublesome, that’s fine—the original system of scaling drop rates with the player’s level is already quite good. However, it creates a loophole where players avoid looting early on and only start collecting items after leveling up.But this is also a valid playstyle, so it's just a suggestion.
i can do that, problem is how it would interact with the level-based drop rate, safest bet would be each being exclusive to the other, how would that sound to you ?
I didn't overthink it—my initial concept was simply making them mutually exclusive1. Interaction through additive/multiplicative calculations could work too, though it doesn't feel strictly necessary. Honestly, this mechanic plays also really fun now. Intentionally avoiding looting early-game to save up for better late-game rewards creates a unique strategic layer.I'm so glad I didn't skip this mod just because it seemed troublesome at first. Thanks again!
After updating MCM, all the content in the blacklist disappeared. Additionally, checking 'Enable Weighted Drops' does not bring up the subsequent options. Rolling back to the previous MCM version fixes the issue. Is this an MCM problem, or does the MCM module for REL SE need to be updated?
It seems to be an issue with the MCM update. I rolled back to MCM version 1.19, and it works fine now. It shouldn't have anything to do with REL SE or translation. Sorry for the inconvenience.
i just tested with MCM 1.25 BETA + The blacklist reset button and the 'Enable Weighted Drops' subsequent options work + the Cosmetic error is confirmed
It seems to be an MCM update issue, i'll see if i can fix the cosmetic thing on my end error doesn't show up if i use hot-loaded file instead of pak , i'll reupload the latest version to make sure
can confirm blacklist works now. only remaining is
[Mod Configuration Menu][WARN][C]: Missing value for setting 'Cosmetic drop rate' required for visibility condition in mod 'REL_SE'. Please contact Eumeta.
posts 6 lines of it then moves on. this mgiht be it in the blueprint?
{ "Id": "Cosmetic", "Name": "Cosmetic drop rate", "Type": "slider_float", "Default": 10, "Description": "The general chance of dropping a cosmetic item while looting. \n\nThis is reduced for chests, and is independent from other drop rates", "Options": { "Min": 0, "Max": 100 } }
Hello! I have two questions) I have a lot of items integrated and I want to get them all for completing the game, I configured the MSM for myself so that everything works out. 1. BUT, I don't know how many spawn points there are for REL SE (I saw a page in Articles that there are 110 of them in Act 1), and if you know how many of these points there are, I would be very grateful for the information. 2. And the second question, if the loot list runs out of items of a certain rarity, how will the mod work? For example, if uncommon items run out in the loot list, will the mod give out items of a different rarity instead? If not, is it possible to configure this? Because the loot list has approximately the same number of items of a certain rarity, but the drop chance settings are different.
1. It depends on how you configure the MCM, at baseline all chests , hidden stashes are possible spawn points, which should add up to around 150-ish, you can include enemy corpses, or set everything as possible spawn points too, The 'points' are not based on locations, but on the item's name, once i add a name in, every object having that name counts as a possible spawn point too, so i really don't know the exact count 2. it's a trickle down situation, if the mod decides you get a rare item but there's no rare item present, it'll move down a tier -> select an uncommon item instead, there's no setting for this
I am about to start a multiplayer game, and I have a question: I chose REL SE 100%, and after integration, I will send my Rel.pak file to other players. Do I need to copy the lootlist file for them as well? Regarding the MCM settings for Rel SE in the game, do they need to be set the same by each player, or is it sufficient for just the host to set them?
Additionally, to enhance my friends' experience, I would like to translate your mod, but I have only translated XML files before and I'm not quite sure which parts of JSON files need to be translated. Could you guide me on this? For example, provide a small section of text for translation. After I translate it into Chinese, I can send you the translated file, so you can integrate it in the next update, allowing more Chinese players to enjoy
I am about to start a multiplayer game, and I have a question: I chose REL SE 100%, and after integration, I will send my Rel.pak file to other players. Do I need to copy the lootlist file for them as well?
I don't play multiplayer so i'm not sure, just send them your copy of REL.pak and the Lootlist.txt i guess, then report any problem back.
Additionally, to enhance my friends' experience, I would like to translate your mod, but I have only translated XML files before and I'm not quite sure which parts of JSON files need to be translated. Could you guide me on this? For example, provide a small section of text for translation. After I translate it into Chinese, I can send you the translated file, so you can integrate it in the next update, allowing more Chinese players to enjoy
Add a reply
do you mean to translate the MCM menu ? you can look at the spanish / italian translation file linked as dependency on the Description tab, Chinese losalisation is the same process, just with Chinese, i assume you know how to unpack a mod using lib/lis Divine Tool ?
I know how to unpack the MOD files. I saw that the Italian translation file for MCM has its translation part directly translated based on the MCM_blueprint.json, but it seems that JSON files don't accept Chinese characters. Should I create my own XML file and map the handle IDs to the translated text? Would this approach be effective?
I've tested it myself, and I've successfully localized it through the Xml file! But it seems I cannot upload it to the N site. Could I send it directly to you, so you can integrate it into the update? I hope more Chinese players can enjoy it.
I know this question should not be a rel se issue but rather a generator issue... But I can only ask you for help: After integration, some of my equipment that should have been armor turned into helmets in the game, and some weapons lost their magic effects and became ordinary 'items'. Can you tell me why this problem occurs? They are all in the correct categories (armor, weapons) in the lootlist.
There are many factors that could have caused the issue you're describing, it depends on the integrated mod and the Generator configuration, i've noticed that it oftens default to 'armor' on clothes-type and shield-type gears. and 'gloves' for handaxes, this overrides the integrated mod item data, leading to type and model mismatch, so in-game you'd get an non-functional item, that's the general issue. I'd need an item name and the mod it comes from, and how its data is written in Lootlist.txt to tell the specific though
I have currently discovered that the items in this module are showing errors; armors are appearing as helmets, but their magical effects and rarity are still normal in the game. Previously, there was an issue with AMP's handaxes all turning into helmets, and HandCrossbows becoming useless items with neither rarity nor magical effects, rendering them plain gray, ordinary helmets. Later, I found out that the Generator was defaulting AMP's handaxes and HandCrossbows to gloves. After I modified that, everything worked normally. This time, the armor is indeed listed as Armor in the Generator, so I’m not sure where to start fixing it. The items in this module were working fine before, but after I started a new save and reintegrated the module, these issues appeared.
Expansion Equipment at Baldur's Gate 3 Nexus - Mods and community "--WEI_Spear_Nyrilin_UNI-- ++8ebabcbd-db75-4b97-ad04-1824c1414676++ <rare> #weapons# ! !", This weapon appears as an ordinary, useless item. It was functioning normally before I started using the Generator
I found the issue; placing REL at the bottom of all equipment resolved the problem. I don't understand why placing the equipment mod below REL causes this issue. It's a bit frustrating because there are some pieces of equipment that I don't want REL to override their spawn locations.
Heya! QQ for compatibility reasons, if a different mod spawns an instance of a RootTemplate being tracked by REL_SE into the world via Osi.CreateAt /directly into the players inventory via Osi.TemplateAddTo, does it get removed from the randomization pool? Or are only items generated by REL removed? I'm 90% sure it's the latter based on your mod description, but just wanna confirm. Thanks in advance!
if a different mod spawns an instance of a RootTemplate being tracked by REL_SE into the world via Osi.CreateAt /directly into the players inventory via Osi.TemplateAddTo, does it get removed from the randomization pool?
There's a check to be initiated on saving/loading the game, it searches for any item tracked by REL_SE, hasn't been dispensed but exists in player inventory or camp chest, or vice versa. CreateAt and TemplateAddTo won't interfere with REL_SE, until the player has the item generated in inventory, then the save/load checks will work on it.
Thanks for the info! That's good to know - i have a Transmog mod that allows players to spawn any item in the game purely for vanity purposes, but the transmog process requires them to have the Vanity item equipped (with the stats/boosts/etc of the base item copied over), so it sounds like there's a conflict there. Is there a tag or something i can attach to the vanity items to let them be ignored by REL_SE? (and tell REL_SE what the original item was, so that can be removed from the pool if applicable?)
so what's the TemplateID of the final item ? +if it just copies the tracked item's appearance but doesn't have its UUID or the item added gets removed from player inventory once Transmog is done then everything's fine as long as the process is done without any save,
+if Transmog requires to have the tracked item's UUID in the player inventory at all time while it's active then you can change the item's rarity in LootList.txt beforehand from whatever rarity it is to 'cosmetic' and i REL_SE MCM make sure the "Make cosmetic items unique" box under Cosmetic tab is not checked so REL_SE won't check them. Problem is this isn't user friendly, so we'd need to set things up so REL_SE and your Transmog can communicate so this is automatic
I hope it's the former, would save so much work for both of us
Reason for this is the visuals are tightly coupled with the RootTemplate, and messing with the RootTemplate has too many adverse consequences Q_Q
I can create an SE Mod Event like MCM has, publishing out every time I do a transmog with a payload containing the vanity and the base item, and everytime i revert a transmogged item back to its base item - I'm loathe to put the primary burden of accomodating on you since i'm the one with the weird ass process, but based on what you said for Option 2 it sounds like that might be the most appropriate solution?
ok let's talk ideas On your end, can you set it up so when a transmog occurs, the VIB's UUID is stored in a table inside your mod's persistent value ? should be something like Mods.[your mod name here].PersistentVars.[your table name here] is a table containing UUIDs of VIBs Remove any entry if the user un-transmog their item
On my end, i'll set it up so REL_SE checks for your mod, if it exists then it reads your table and ignores any attempt at removing those items from the pool, unless REL_SE dispenses them
The EIA shouldn't matter since they must have them before getting the VIB, so REL_SE have them out of the pool already. How does that sound ?
You're awesome! Definitely could do that, but it occurs to me that since I attach a UserVar to all transmogged items, you could probably do a similar approach to my replication logic:
Ext.Events.SessionLoaded:Subscribe(function(e) for _, entityId in pairs(Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_OriginalItemInfo")) do
this'll point you to each VIB in the game (in the case the player threw/dropped the item then saved for whatever reason), accomplish the same result as a Persistent Table using existing functionality, and should bypass any kind of load order concerns right?
Can you confirm with the new update REL_SE if it works ? Sorry i dead ass can't comprehend this transmog in-game, there should be a message in the console '[REL_SE] Transmogged item detected, skipping (item_name)' whenever you open an eligible container while having a transmogged item taken from Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents") in your inventory
heya! Sorry for the delay, real life getting in the way again >_> I'll put this at the top of my queue as soon as i get reliable access to my computer again
yo! Appreciate your patience, got around to testing this today and i'm not sure if it's working? I have 3.2k entries in my LootList.txt but am getting the following logs no matter what containers i try
Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false. Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false. Generate_multiple_cosmetic using: typ:B container_quality: Generate_multiple_loot using: typ:B container_quality: [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false. Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false. Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false. Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false. Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false. Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Doing this on an existing playthrough, which as far as i can tell by the mod page should be fine - is this is a me problem?
Yup - also good timing on the reply, i just noticed this on startup:
Error while dispatching event GameStateChanged: [string "REL_SE/Server/REL_SE.lua"]:25: attempt to call a nil value (field 'insert') stack traceback: REL_SE/Server/REL_SE.lua:25: in global 'GetTransmogData' REL_SE/Server/REL_SE.lua:1779: in global 'LoadedLootCheck' REL_SE/Server/REL_SE.lua:2911: in function <REL_SE/Server/REL_SE.lua:2861> [C++ Code]: in function 'xpcall' builtin://Libs/Events/SubscribableEvent.lua:126: in method 'Throw' builtin://Libs/Events/EventManager.lua:22: in method 'ThrowEvent' builtin://Libs/Events/EventManager.lua:112: in function <builtin://Libs/Events/EventManager.lua:111>
to try and force it to roll my mog: S >> Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] Rolled 2035 out of 10000 for unique item [REL_SE] Can't find an uncommon rings in the loot list, rerolling to other categories... [REL_SE] armor [REL_SE] Item distributed: ARM_Robe_Body_Sorcerer_AberrantMind uncommon armor [REL_SE] Name Cartilaginous Chest [REL_SE] Chance Array 43.636 28.977 4.091 0.341 [REL_SE] Reward Threshold: Legendary:1-34, Epic: 35-443, Rare:444-3340, Uncommon:3341-7704 UsingSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump CastedSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] Rolled 4210 out of 10000 for unique item [REL_SE] Can't find an uncommon armor in the loot list, rerolling to other categories... [REL_SE] Can't find an uncommon rings in the loot list, rerolling to other categories... [REL_SE] rings bg3se::esv::lua::OsirisCallbackManager::RunHandler(): Osiris event handler failed: [string "REL_SE/Server/REL_SE.lua"]:1152: attempt to index a nil value (field '?') stack traceback: REL_SE/Server/REL_SE.lua:1152: in global 'Generate_loot' REL_SE/Server/REL_SE.lua:1283: in global 'Generate_multiple_loot' REL_SE/Server/REL_SE.lua:2711: in function <REL_SE/Server/REL_SE.lua:2577>
oooohkay this is more complicated than i thought, do you mind explaining how to transmog an item like i'm 5 ? i'll test it out on my end until i get things right
Definitely! I have a tutorial gif here - https://imgur.com/4VkkMqU and there's an "instructions" button on the Vanity tab in MCM that tries to lay everything out plainly - lemme know if anything is unclear!
yeah found a problem Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents") it returns an empty table on saving when i transmogged my clothes to Unwaned Masterwork Chainmail, which means bussiness as usual for REL_SE since it found no exception. Problem is REL_SE process this on saving trigger too, when exactly does your mod add the item to that table ? *I delayed the process for REL_SE several seconds after saving, but the table above still returned empty
Hrm, it attaches the userVar to the entity during the transmog process, and SE should be computing the table each invocation.
It's working in my game - you have equipped items that have been transmogged? S >> _D(Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents")) [ "6c2d6278-8ccf-4dc3-2288-ad3dc085486f", "ee00027f-f132-fea9-e7ed-95662404a94e", "1e61842f-7c14-d920-2335-6ba5609474c4", "12928fbe-f2e7-69cf-7eb3-dd7e5f2566bd", "6f79276c-f15e-fcac-f81f-1ff206539fcb", "b7e7b7e6-f148-e23b-b5db-fbcb6d5f1094", "660b3b79-953c-a5ef-80a6-2d3f12379101", "6fa3e45d-9f15-fe0a-5a73-c35423f1d22f", "d5f55ced-b9c0-acbe-cc12-cda59ac91637", "1978d2f9-336e-50f6-f7b4-438da0309467", "bd206d74-09af-0033-8fde-29a2323dc313", "d4921efb-ef0c-797d-80eb-543a58c3acc7", "07fdab19-2a5e-4cda-3249-86682547f1ac", "f4cb46be-0240-e378-d72f-c434e7e725f6", "d29530c1-3072-03b4-92be-4f3a0210e70e", "01ea5ac1-b4a8-52e5-e57c-ee26150b3e0d", "d617d601-958b-0445-65e7-f7d36aeb1869", "a6b4c29d-3163-9737-f801-1eba6cedf01d", "07dccc17-c0a0-e0e6-d3b5-ce7beb051bd1", "11bcf012-fef7-61aa-fb7c-4934dd1919a4", "2587e766-21bd-be9c-0b29-2003d1a88d76" ] S >>
If it does return a value if you just execute the above in the SE console, could have something to do with the save trigger maybe? Somehow SE can't compute the list during that event?
so i loaded in a save, transmogged my currently equipped Bloodguzzler Garb to Unwanted Masterwork Chainmail as the tutorial gif instructed, only i had to set my custom race, body type, class, subclass so the swap is successful. Then when the visual armor changes to the chainmail, i saved the game, on REL_SE script turn it reported the table pulled from that line is empty Slight problem: hovering over the item switches my equipped armor slot from the garb to the chainmail, but on clicking the chainmail the armor slot is switched back to the garb, model and stats Got it working, but it's not really transmogged, just the actual Chainmail, the garb returns to inventory, i must be doing something wrong somewhere ? (probably why the table is empty, it's not an actual transmog)
hrm, sounds like the criteria you selected didn't fit your intended character - if you check the logs (either in SE console or %localappdata%\Larian Studios\Baldur's Gate 3\Script Extender\Armory) it'll tell if you if that's the case and what criteria are applicable for each person in your party
Aight, successfully did the transmog, turned out the character is Durge, and i checked Custom
Next problem: is the table structured such that odd indices are the item ids of the target transmog, and even indices are the ids of the original items ? can't have the original items excluded else they'll forever sit in the pool
that's odd, because when i do the transmog once, it contains 2 ids, 1st entry is the target transmog: unwanted chainmail, 2nd entry is the orignal item being transmog: bloodguzzler garb Anyway try beta3 ?
hmmm, getting below consistently on an existing save: bg3se::esv::lua::OsirisCallbackManager::RunHandler(): Osiris event handler failed: [string "REL_SE/Server/REL_SE.lua"]:946: attempt to index a nil value (field 'PersistentVars') stack traceback: REL_SE/Server/REL_SE.lua:946: in global 'Generate_loot' REL_SE/Server/REL_SE.lua:1283: in global 'Generate_multiple_loot' REL_SE/Server/REL_SE.lua:2711: in function <REL_SE/Server/REL_SE.lua:2577> UsingSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump CastedSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 bg3se::esv::lua::OsirisCallbackManager::RunHandler(): Osiris event handler failed: [string "REL_SE/Server/REL_SE.lua"]:946: attempt to index a nil value (field 'PersistentVars') stack traceback: REL_SE/Server/REL_SE.lua:946: in global 'Generate_loot' REL_SE/Server/REL_SE.lua:1283: in global 'Generate_multiple_loot' REL_SE/Server/REL_SE.lua:2711: in function <REL_SE/Server/REL_SE.lua:2577>
But not on a save that i hadn't run REL on before - and it looks like it's not quite working correctly - i can transmog and get the item without saving between: Generate_multiple_cosmetic using: typ:C container_quality: 0 Generate_multiple_loot using: typ:C container_quality: 0 [REL_SE] Rolled 4057 out of 10000 for unique item [REL_SE] Can't find an uncommon cloaks in the loot list, rerolling to other categories... [REL_SE] boots [REL_SE] Item distributed: TW_FW_Phoenix_Yellow uncommon boots [REL_SE] Name Cartilaginous Chest [REL_SE] Chance Array 43.636 28.977 4.091 0.341 [REL_SE] Reward Threshold: Legendary:1-34, Epic: 35-443, Rare:444-3340, Uncommon:3341-7704
================ Armory Specific Logs ================= [21:34:19.858] Armory [DEBUG] : Mogging Leather Boots to look like TW_FW_Phoenix_Yellow for Tav [21:34:19.860] Armory [TRACE] : ========== STARTING MOG FOR 5489c511-ec5b-beb8-82ba-e25c191df735 to 5c5fce1f-524f-64ba-af76-9d590de27d09 ==========
S >> _D(Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents")) [ "b685e9c9-5f7d-9aad-1b6b-ed075d7c5cb3", "5c5fce1f-524f-64ba-af76-9d590de27d09", "8e6db418-719b-0058-dfd0-d84b7bdc76c1", "58a82a8e-0f3d-a01c-7dd3-d6641cdc7c97", "1d29592f-2fc9-ba45-3074-c271f96beb39" ] S >>
but when i save with the transmog (without opening any containers, new save) i see: [REL_SE] Found TW_FW_Phoenix_Yellow already dispensed, moving record to Shadowrealm.txt
I'm also not seeing any non-Vanity Item UUIDS come from TheArmory_Vanity_Item_ReplicationComponents 🤔 do you have replication steps for that? Do you see it when messing around with the pickers?
first error is odd, because all SE mods have their own PersistentVars, and mine checks for it everytime a save is loaded to populate it with subtables, but ok i'll try to nil-proof it second log is also odd, since the mod gave you the boots first, its record should have been removed from the pool before you transmog, yet it was still there until you performed a save I'll increase the log level of your mod and retry what i did
Hey, sorry for the long wait, i still haven't been able top produce your bugs, hopefully the script is better handled with the new update Regarding the GetEntitiesWithVariable part, it seems everytime a transmog occurs to an item, 2 entityIds are generated, both have the same template as the item you transmog into, the original item isn't saved in there, If you still encounter bugs on your end, can you give me a barebone load order that it can be replicated in?
[REL_SE] Invalid GUID for item Scroll of Swift Quiver with given GUID: 91feb6c6-667c-4254-b332-5f8f7faa60ec , record removed to avoid further bugs. [REL_SE] Found WPN_AzzinothWarGlaive_L already dispensed, moving record to Shadowrealm.txt [REL_SE] Invalid GUID for item MAG_Jhingleshod_Greataxe with given GUID: e2e5f2a5-0313-4114-98e5-d2881d8f8665 , record removed to avoid further bugs. [REL_SE] Invalid GUID for item OPQ_Steady_Sniper_Longbow with given GUID: c48e5d26-3913-47de-9eaa-7e5c49fe4b8f , record removed to avoid further bugs. [REL_SE] Invalid GUID for item MV2_Flame_Warhammer with given GUID: 2833b7d5-0bdc-478c-9fb6-73695224560f , record removed to avoid further bugs.
the mod has an autocheck to see if uuid's in the given LootList.txt can actually be used, if one can't be recognised by the game, which would result in nothing getting added if the uuid is used, the entire record is removed to prevent further error, The Found log is pretty self evident, it detected a weapon you have, whose record existed in Lootlist.txt, so it removed the relevant record and transered that to Shadowrealm.txt,
970 comments
Find ScriptExtenderSettings.json in your BG3/bin installation folder, where BG3.exe application is
Edit it so the file has 2 extra lines between the starting '{' and the ending '}'
"LogDirectory": "My Documents",
This will create a folder in BG3/bin called My Documents storing all logs made by the script extender whenever you exit the game"LogRuntime": true
If you want to see real-time logging add another line between those 2 above
"CreateConsole": true,
This will create a SE console window whenever you launch BG3, note that closing this window also closes the gamePATCH 8 INFO
Expect the mod to break on patch 8 release, SE is compatible with patch 8 but i'm not in the tester list so i'll need your bug reports to fix everything
Also I'll be back on 19th April, so that's the soonest I can update my mods
i'll update a file with all the handle IDs used in the game and the MCM UI later in the day
If you see uncommon items too often then perhaps lower their drop rates ? bear in mind that it would have no impact on uncommon items added by the game system, only to REL_SE
+ The blacklist reset button and the 'Enable Weighted Drops' subsequent options work
+ the Cosmetic error is confirmed
It seems to be an MCM update issue, i'll see if i can fix the cosmetic thing on my end
error doesn't show up if i use hot-loaded file instead of pak , i'll reupload the latest version to make sure
[Mod Configuration Menu][WARN][C]: Missing value for setting 'Cosmetic drop rate' required for visibility condition in mod 'REL_SE'. Please contact Eumeta.
posts 6 lines of it then moves on. this mgiht be it in the blueprint?
{
"Id": "Cosmetic",
"Name": "Cosmetic drop rate",
"Type": "slider_float",
"Default": 10,
"Description": "The general chance of dropping a cosmetic item while looting. \n\nThis is reduced for chests, and is independent from other drop rates",
"Options": {
"Min": 0,
"Max": 100
}
}
and
"VisibleIf": {
"Conditions": [
{
"SettingId": "Cosmetic drop rate",
"ExpectedValue": 0,
"Operator": "!="
}
]
}
i think setting id isnt right? It pops up 6 times occurring as "Cosmetic drop rate"
1. BUT, I don't know how many spawn points there are for REL SE (I saw a page in Articles that there are 110 of them in Act 1), and if you know how many of these points there are, I would be very grateful for the information.
2. And the second question, if the loot list runs out of items of a certain rarity, how will the mod work? For example, if uncommon items run out in the loot list, will the mod give out items of a different rarity instead? If not, is it possible to configure this? Because the loot list has approximately the same number of items of a certain rarity, but the drop chance settings are different.
I would be very glad for any help!
The 'points' are not based on locations, but on the item's name, once i add a name in, every object having that name counts as a possible spawn point too, so i really don't know the exact count
2. it's a trickle down situation, if the mod decides you get a rare item but there's no rare item present, it'll move down a tier -> select an uncommon item instead, there's no setting for this
Additionally, to enhance my friends' experience, I would like to translate your mod, but I have only translated XML files before and I'm not quite sure which parts of JSON files need to be translated. Could you guide me on this? For example, provide a small section of text for translation. After I translate it into Chinese, I can send you the translated file, so you can integrate it in the next update, allowing more Chinese players to enjoy
I'd need an item name and the mod it comes from, and how its data is written in Lootlist.txt to tell the specific though
"--EW_Ranger_Armor_Uncommon_A-- ++3b5c6c56-f655-4bea-b54f-385018940f8b++ <uncommon> #armor# ! !",
"--EW_Ranger_Armor_Legendary_A-- ++c4599985-792d-41c3-bbd2-9d1dd1d54d75++ <legendary> #armor# ! !",
"--EW_Ranger_Armor_VeryRare_A-- ++de899ec3-bb89-430b-874d-e972fbca6e76++ <very rare> #armor# ! !",
I have currently discovered that the items in this module are showing errors; armors are appearing as helmets, but their magical effects and rarity are still normal in the game. Previously, there was an issue with AMP's handaxes all turning into helmets, and HandCrossbows becoming useless items with neither rarity nor magical effects, rendering them plain gray, ordinary helmets. Later, I found out that the Generator was defaulting AMP's handaxes and HandCrossbows to gloves. After I modified that, everything worked normally. This time, the armor is indeed listed as Armor in the Generator, so I’m not sure where to start fixing it. The items in this module were working fine before, but after I started a new save and reintegrated the module, these issues appeared.
Expansion Equipment at Baldur's Gate 3 Nexus - Mods and community
"--WEI_Spear_Nyrilin_UNI-- ++8ebabcbd-db75-4b97-ad04-1824c1414676++ <rare> #weapons# ! !",
This weapon appears as an ordinary, useless item. It was functioning normally before I started using the Generator
CreateAt and TemplateAddTo won't interfere with REL_SE, until the player has the item generated in inventory, then the save/load checks will work on it.
+if it just copies the tracked item's appearance but doesn't have its UUID or the item added gets removed from player inventory once Transmog is done then everything's fine as long as the process is done without any save,
+if Transmog requires to have the tracked item's UUID in the player inventory at all time while it's active then you can change the item's rarity in LootList.txt beforehand from whatever rarity it is to 'cosmetic' and i REL_SE MCM make sure the "Make cosmetic items unique" box under Cosmetic tab is not checked so REL_SE won't check them. Problem is this isn't user friendly, so we'd need to set things up so REL_SE and your Transmog can communicate so this is automatic
I hope it's the former, would save so much work for both of us
The transmog process is:
Reason for this is the visuals are tightly coupled with the RootTemplate, and messing with the RootTemplate has too many adverse consequences Q_Q
I can create an SE Mod Event like MCM has, publishing out every time I do a transmog with a payload containing the vanity and the base item, and everytime i revert a transmogged item back to its base item - I'm loathe to put the primary burden of accomodating on you since i'm the one with the weird ass process, but based on what you said for Option 2 it sounds like that might be the most appropriate solution?
On your end, can you set it up so when a transmog occurs, the VIB's UUID is stored in a table inside your mod's persistent value ? should be something like
Mods.[your mod name here].PersistentVars.[your table name here] is a table containing UUIDs of VIBs
Remove any entry if the user un-transmog their item
On my end, i'll set it up so REL_SE checks for your mod, if it exists then it reads your table and ignores any attempt at removing those items from the pool, unless REL_SE dispenses them
The EIA shouldn't matter since they must have them before getting the VIB, so REL_SE have them out of the pool already.
How does that sound ?
Ext.Events.SessionLoaded:Subscribe(function(e)
for _, entityId in pairs(Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_OriginalItemInfo")) do
this'll point you to each VIB in the game (in the case the player threw/dropped the item then saved for whatever reason), accomplish the same result as a Persistent Table using existing functionality, and should bypass any kind of load order concerns right?
'[REL_SE] Transmogged item detected, skipping (item_name)'
whenever you open an eligible container while having a transmogged item taken from Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents") in your inventory
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Generate_multiple_cosmetic using: typ:B container_quality:
Generate_multiple_loot using: typ:B container_quality:
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] No more unique item exists within LootList.txt . Please add more items using the Generator, or inform Eumeta if this statement is false.
Doing this on an existing playthrough, which as far as i can tell by the mod page should be fine - is this is a me problem?
What happens when you load a save right after freshly generating the loot list ? same message ?
Error while dispatching event GameStateChanged: [string "REL_SE/Server/REL_SE.lua"]:25: attempt to call a nil value (field 'insert')
stack traceback:
REL_SE/Server/REL_SE.lua:25: in global 'GetTransmogData'
REL_SE/Server/REL_SE.lua:1779: in global 'LoadedLootCheck'
REL_SE/Server/REL_SE.lua:2911: in function <REL_SE/Server/REL_SE.lua:2861>
[C++ Code]: in function 'xpcall'
builtin://Libs/Events/SubscribableEvent.lua:126: in method 'Throw'
builtin://Libs/Events/EventManager.lua:22: in method 'ThrowEvent'
builtin://Libs/Events/EventManager.lua:112: in function <builtin://Libs/Events/EventManager.lua:111>
--TW_FW_Phoenix_Yellow-- ++55dc96ce-6c00-4283-8450-e924d31e9e67++ <uncommon> #boots# ! !",
"--TW_HW_Phoenix_Pink-- ++e0efa439-e792-45e6-bee6-8fdbf064535d++ <uncommon> #armor# ! !",
"--Tut_SS_Bard_Equipment_Ring_of_Enchanting_Tales-- ++c2b1a852-7b85-45b1-aef0-8fd4ddad8d95++ <rare> #rings# ! !,
to try and force it to roll my mog:
S >> Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] Rolled 2035 out of 10000 for unique item
[REL_SE] Can't find an uncommon rings in the loot list, rerolling to other categories...
[REL_SE] armor
[REL_SE] Item distributed: ARM_Robe_Body_Sorcerer_AberrantMind uncommon armor
[REL_SE] Name Cartilaginous Chest
[REL_SE] Chance Array 43.636 28.977 4.091 0.341
[REL_SE] Reward Threshold: Legendary:1-34, Epic: 35-443, Rare:444-3340, Uncommon:3341-7704
UsingSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump
CastedSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] Rolled 4210 out of 10000 for unique item
[REL_SE] Can't find an uncommon armor in the loot list, rerolling to other categories...
[REL_SE] Can't find an uncommon rings in the loot list, rerolling to other categories...
[REL_SE] rings
bg3se::esv::lua::OsirisCallbackManager::RunHandler(): Osiris event handler failed: [string "REL_SE/Server/REL_SE.lua"]:1152: attempt to index a nil value (field '?')
stack traceback:
REL_SE/Server/REL_SE.lua:1152: in global 'Generate_loot'
REL_SE/Server/REL_SE.lua:1283: in global 'Generate_multiple_loot'
REL_SE/Server/REL_SE.lua:2711: in function <REL_SE/Server/REL_SE.lua:2577>
Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents")
it returns an empty table on saving when i transmogged my clothes to Unwaned Masterwork Chainmail, which means bussiness as usual for REL_SE since it found no exception.
Problem is REL_SE process this on saving trigger too, when exactly does your mod add the item to that table ?
*I delayed the process for REL_SE several seconds after saving, but the table above still returned empty
It's working in my game - you have equipped items that have been transmogged?
S >> _D(Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents"))
[
"6c2d6278-8ccf-4dc3-2288-ad3dc085486f",
"ee00027f-f132-fea9-e7ed-95662404a94e",
"1e61842f-7c14-d920-2335-6ba5609474c4",
"12928fbe-f2e7-69cf-7eb3-dd7e5f2566bd",
"6f79276c-f15e-fcac-f81f-1ff206539fcb",
"b7e7b7e6-f148-e23b-b5db-fbcb6d5f1094",
"660b3b79-953c-a5ef-80a6-2d3f12379101",
"6fa3e45d-9f15-fe0a-5a73-c35423f1d22f",
"d5f55ced-b9c0-acbe-cc12-cda59ac91637",
"1978d2f9-336e-50f6-f7b4-438da0309467",
"bd206d74-09af-0033-8fde-29a2323dc313",
"d4921efb-ef0c-797d-80eb-543a58c3acc7",
"07fdab19-2a5e-4cda-3249-86682547f1ac",
"f4cb46be-0240-e378-d72f-c434e7e725f6",
"d29530c1-3072-03b4-92be-4f3a0210e70e",
"01ea5ac1-b4a8-52e5-e57c-ee26150b3e0d",
"d617d601-958b-0445-65e7-f7d36aeb1869",
"a6b4c29d-3163-9737-f801-1eba6cedf01d",
"07dccc17-c0a0-e0e6-d3b5-ce7beb051bd1",
"11bcf012-fef7-61aa-fb7c-4934dd1919a4",
"2587e766-21bd-be9c-0b29-2003d1a88d76"
]
S >>
Slight problem: hovering over the item switches my equipped armor slot from the garb to the chainmail, but on clicking the chainmail the armor slot is switched back to the garb, model and stats
Got it working, but it's not really transmogged, just the actual Chainmail, the garb returns to inventory, i must be doing something wrong somewhere ? (probably why the table is empty, it's not an actual transmog)
Next problem: is the table structured such that odd indices are the item ids of the target transmog, and even indices are the ids of the original items ? can't have the original items excluded else they'll forever sit in the pool
Nope, the table will only contain the UUIDs of the vanity items that are used purely for the transmog
Anyway try beta3 ?
bg3se::esv::lua::OsirisCallbackManager::RunHandler(): Osiris event handler failed: [string "REL_SE/Server/REL_SE.lua"]:946: attempt to index a nil value (field 'PersistentVars')
stack traceback:
REL_SE/Server/REL_SE.lua:946: in global 'Generate_loot'
REL_SE/Server/REL_SE.lua:1283: in global 'Generate_multiple_loot'
REL_SE/Server/REL_SE.lua:2711: in function <REL_SE/Server/REL_SE.lua:2577>
UsingSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump
CastedSpell: Elves_Female_High_Player_d322c304-1f43-345d-abe9-8764cfcffa83 Projectile_Jump
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
bg3se::esv::lua::OsirisCallbackManager::RunHandler(): Osiris event handler failed: [string "REL_SE/Server/REL_SE.lua"]:946: attempt to index a nil value (field 'PersistentVars')
stack traceback:
REL_SE/Server/REL_SE.lua:946: in global 'Generate_loot'
REL_SE/Server/REL_SE.lua:1283: in global 'Generate_multiple_loot'
REL_SE/Server/REL_SE.lua:2711: in function <REL_SE/Server/REL_SE.lua:2577>
But not on a save that i hadn't run REL on before - and it looks like it's not quite working correctly - i can transmog and get the item without saving between:
Generate_multiple_cosmetic using: typ:C container_quality: 0
Generate_multiple_loot using: typ:C container_quality: 0
[REL_SE] Rolled 4057 out of 10000 for unique item
[REL_SE] Can't find an uncommon cloaks in the loot list, rerolling to other categories...
[REL_SE] boots
[REL_SE] Item distributed: TW_FW_Phoenix_Yellow uncommon boots
[REL_SE] Name Cartilaginous Chest
[REL_SE] Chance Array 43.636 28.977 4.091 0.341
[REL_SE] Reward Threshold: Legendary:1-34, Epic: 35-443, Rare:444-3340, Uncommon:3341-7704
================ Armory Specific Logs =================
[21:34:19.858] Armory [DEBUG] : Mogging Leather Boots to look like TW_FW_Phoenix_Yellow for Tav
[21:34:19.860] Armory [TRACE] : ========== STARTING MOG FOR 5489c511-ec5b-beb8-82ba-e25c191df735 to 5c5fce1f-524f-64ba-af76-9d590de27d09 ==========
S >> _D(Ext.Vars.GetEntitiesWithVariable("TheArmory_Vanity_Item_ReplicationComponents"))
[
"b685e9c9-5f7d-9aad-1b6b-ed075d7c5cb3",
"5c5fce1f-524f-64ba-af76-9d590de27d09",
"8e6db418-719b-0058-dfd0-d84b7bdc76c1",
"58a82a8e-0f3d-a01c-7dd3-d6641cdc7c97",
"1d29592f-2fc9-ba45-3074-c271f96beb39"
]
S >>
but when i save with the transmog (without opening any containers, new save) i see:
[REL_SE] Found TW_FW_Phoenix_Yellow already dispensed, moving record to Shadowrealm.txt
I'm also not seeing any non-Vanity Item UUIDS come from TheArmory_Vanity_Item_ReplicationComponents 🤔 do you have replication steps for that? Do you see it when messing around with the pickers?
second log is also odd, since the mod gave you the boots first, its record should have been removed from the pool before you transmog, yet it was still there until you performed a save
I'll increase the log level of your mod and retry what i did
Regarding the GetEntitiesWithVariable part, it seems everytime a transmog occurs to an item, 2 entityIds are generated, both have the same template as the item you transmog into, the original item isn't saved in there,
If you still encounter bugs on your end, can you give me a barebone load order that it can be replicated in?
[REL_SE] Found WPN_AzzinothWarGlaive_L already dispensed, moving record to Shadowrealm.txt
[REL_SE] Invalid GUID for item MAG_Jhingleshod_Greataxe with given GUID: e2e5f2a5-0313-4114-98e5-d2881d8f8665 , record removed to avoid further bugs.
[REL_SE] Invalid GUID for item OPQ_Steady_Sniper_Longbow with given GUID: c48e5d26-3913-47de-9eaa-7e5c49fe4b8f , record removed to avoid further bugs.
[REL_SE] Invalid GUID for item MV2_Flame_Warhammer with given GUID: 2833b7d5-0bdc-478c-9fb6-73695224560f , record removed to avoid further bugs.
What do these messages mean?
The Found log is pretty self evident, it detected a weapon you have, whose record existed in Lootlist.txt, so it removed the relevant record and transered that to Shadowrealm.txt,