Jump to content

peardox

Members
  • Posts

    564
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by peardox

  1. I'll go download the Beta again I have explanations for your missing UUIDs as well but wanna double check first
  2. I only test on release data - long time doing iOS + Droid proves checking on unreleased causes more issues than solved I'm a Beta Backer anyway - tried it this week, go the Beta (no tests) No 1.2 I can see If this is privilaged info PM me
  3. This is for a specific purpose Instant chat / delayed chat (TimeZones) Any dev is eligible if you want in The URL is https://poe2.slack.com/ At the present this is invite only This is in response to a Q one of my friends asked - how do we chat? This, I consider, a good idea as Slack gives us both live chat, delayed chat and PM chat The BAD news is that to OK you I need your email - if you wanna get into that group PM (here) me your email with a MOD the you've done (simply which one) and I'll set you up - Slack's rules not mine It there's sufficient interest I'll open it up to reqs as well (no auth required)
  4. Everything is fully explained in https://forums.obsidian.net/topic/103148-important-info-for-all-modders-adding-unique-items-to-the-game-via-vendors/ - I thought @ZapGunForHire's post made a better place for that explain (this one is also confusing) Yes, I speak English (Mancunian style) - that means I am born and bread in the UK I welcome any comments any thing I say that confuses people pointing out - kindly PM with the bit you don't understand. I will edit my posts and fix the content if you have a valid point You must remember that simply as you don't understand a point doesn't mean I'm wrong and if you pick up a mistake I'll happily fix the post. I do write a lot of stuff daily, obviously I'm not perfect so some things will slip through If you knew exactly what I'm doing... Only a few people do...
  5. Actually I don't believe this to be anything to be doing with ReStock (the text don't appear anywhere) If you've got TT1's Uniques installed REMOVE IT (put it back later, of course) Take a save game from anywhere that ain't Neketaka, if you've not got one of those sail ANYWHERE [this is important ONLY if you have TT1's Uniques] Save game, Quit to Desktop (!IMPORTANT) Install TT1 Uniques and load you load your <Somewhere else / no TT1> save and go Back to Neketeka -> Wild Mare or load your TT1-less version Go to Wild Mare Look - Dead Parrot - gotbuy one, it vanishes from the list as it's a 1 sale unique Save game, Quit to Desktop (!IMPORTANT) [This step is only important if checking your own mods and you've not using a somewhere else save] ------------------------------------------------------------------------------------------------------- Sail to Port Maje (travelling time is long - this is good) Get off the ship @ PM Harbour Rest for 26 hours Get back on ship and go Back to Neketeka -> Wild Mare ------------------------------------------------------------------------------------------------------- Go buy another Dead Parrot Rest for 26 hours Go buy another Dead Parrot This is a known issue I've PMed Devs on @TT1 noted the 26 hour for stock to refill on Uniques, the biggest problem is, however... If you install a mod that affects a vendor that vendor's list appears to be cached The ONLY solution I've found is to sail to a completely diffo Island and sailing back again. With my "The Red Hand and friends" I pointed this out to the guy who couldn't get it working (Fair Trade actually removes the price barrier - oops) I've only seen this happen a few times so far, specifically when I was doing item mods I did another mod that altered a character's options but as override don't work there yet had to modify exported/design - this is something I believe OK as long as you don't publish for experimentation Basically the trick is to sail somewhere else then save and Save game, Quit to Desktop (!IMPORTANT) Reload and go back then wait for 26 hours if you want another I've not done this fully to find out what works and don't I can tell you, for a fact, that say you're in Neketeka with no Dead Parrots with the MOD installed and take a trip to other areas when you go back to Wild Mare there are STILL no Dead Parrots owing to what I believe to be Cacheing Rest for 26 hours Go buy another Dead Parrot For you're own MODs you'll wanna do the sail away stuff or use a save from somewhere else
  6. Classically an ENUM is 1,2,3,4 etc for various types A SET is 1,2,4,8 (each time doubling the previous value) We therefore use DEFINE's to replace the one with the other I noticed that lot in the DOCs - easy enough to automatically process but NOT to use in exported etc This may sound pointless but it's not as it you pre-process a MOD you can replace the defines. I have a process in mind that would auto-build most of the skeleton of a MOD
  7. Cut + Paste clarification from Nexus - knew my math was right! At the end of every month, the money Nexus Mods has decided to donate into the Donation Points pool will be converted into its DP equivalent. For example, a total donation money pool of $10,000 is the equivalent of 10,000,000 DP. A script will then sum up the total unique downloads that each file page has received in that month, from mod authors who have opted into this scheme, and divide the total available DP amount by the total unique download amount for that month. For example, if the total donation money pool is $10,000 (which is 10,000,000 DP) and the total unique download count is 5,000,000 then that means each unique download would be worth 2 DP. Ergo, a mod author who receives 25,000 unique downloads that month will receive 50,000 DP, which is the equivalent of $50 to redeem in our storefront, share with other users or donate to charity.
  8. Some people want it the other way around:) The Economy thread specifically asks for it This will make a handful of people happy while the published mod makes lots of people happy
  9. I'm gonna download every mod on Nexus I have the ability to check for clashes - vendor clashes is my immediate target as they're the most likely ones. I'll eventually be able to sanity check Mods (a friend made a slip the other day regarding a UUID I quickly spotted by hand for example) - the system I plan will basically remove that possibility. This will be made public when I'm happy with it - you'll be able to check a new mod against everything else so see if someone's unwittingly treading on someone else's Mod
  10. Done it https://forums.obsidian.net/topic/103100-announce-fair-trade/ This version only does the original request Something screwey was going on when I tried doubling everything
  11. This one was a Forum Req Big shout out to @ZapGunForHire for asking a question about factions which pointed me at the solution Basically this one makes the economy model fairly level - you get full value for sales and buys are (roughly) cost price rather than the current 5x cost https://www.nexusmods.com/pillarsofeternity2/mods/126
  12. Hey, don't worry Breaking things is how we learn what NOT to do My job doesn't actually require me to do anything (apart from today and I'm doing it in the background for the moment - switching a server to a new box so backing up first) I started modding POE2 about 2 1/2 weeks ago and just like you I was clueless at the start. Owing to my job being somewhat undemanding (I get paid whether I do anything or not) I've been able to spend all my time dissecting POE2 (apart from today when I have to do something I get paid for) I've released six (6) mods so far and helped out on a Mod. Nothing major but useful stuff. Stick with it and you'll be an ace in no time. The more you do this the more you understand. I promised my next Howto would be about adding a conversation option to an NPC - this allows us to attach a sorta shop to any boring named NPC (I spent nearly a week trying to add a real shop - not possible) After I've done that one I'll write up a basic howto create an item
  13. I'll write up my unreleased Waenglith Mod - with luck I'll get to do it today The reason it's not released if I'm waiting for design/conversations to be moddable What I can show is how to add an option to her that does something Come to think of it I'll do FishMonger in Port Maje again as it don't matter much if you screw her up The current issue is that as we have no way to mod conversations in override you HAVE to mod the main exported branch You can't create a new shop but you CAN give people things (I had loads of Dead Parrot's before I managed to delete the data directory) I've got a script file that makes it simple for me to build most of it with multi-lingual translations (I just pinched some text from other vendor stringtables) I won't release a Mod based on these experiments but they are useful for local tests. As far as I'm concerned anything out of override is not a Mod (it's a hack) When they fix convo modding exactly the same concept will apply to the modded convos so it's worth educating people in the methodology before they fix it. Something I plan is the Chest Of Consumables - I'll stick it on a useless NPC (Captain Darmo in PM) not heard of him - see completely forgettable There are prob 500 - 1,000 equally useless NPCs in POE2 that are worthy of doing useful things so when we get override this becomes a useful technique
  14. Sorry, I know what I'm talking about so often forget that not everyone has the same skill set That grep stuff after 'minute' means - in plain English Find me every file in POE2 (I'm in a copy of the game on my server) that contains the text EntryCount but exclude anything that results in anything in exported (as there will be a huge number of them) I did Backer stuff and chose GOG - that's why I have Galaxy*.* files (not seen a Steam version so unsure how it changes) There are five (5) what appear to be game files that include EntryCount so even though it looks pointless it is in Obsidian's code somewhere by the look of it. This is why I say that even if they ain't required stick them in and make them consistent anyway. *.conversationbundle are a noteworty case as they're already a little screwed up so better safe than sorry
  15. I'd stick NextEntry and EntryCount back in to be on the safe side [8 minute grep time - sheesh] grep -lr EntryCount | grep -v exported GalaxyPeer64.dll GalaxyCSharpGlue.dll PillarsOfEternityII_Data/Managed/OEIFormats.dll PillarsOfEternityII_Data/Managed/Assembly-CSharp.dll PillarsOfEternityII_Data/Managed/System.dll PillarsOfEternityII_Data/Managed/Assembly-CSharp-firstpass.dll PillarsOfEternityII_Data/Managed/GalaxyCSharp.dll PillarsOfEternityII_Data/Plugins/GalaxyPeer64.dll PillarsOfEternityII_Data/Plugins/GalaxyCSharpGlue.dll PillarsOfEternityII_Data/Plugins/Galaxy64.dll PillarsOfEternityII_Data/Plugins/GalaxyPeer.dll Galaxy64.dll
  16. Thought I'd point this out as we're near deadline for this stuff If you've released a Mod on Nexus they've got a reward scheme in place whereby @ the end of month they tally up your unique downloads then give you something back in the way of something they call DP (Donation Points?) Anyway Have a look at https://www.nexusmods.com/modrewards#/wallet/all/1 (it's linked from the main menu icon looks a bit like folders - it's the one between Settings and Inbox TRHS) This will say 0DP for EVERYONE ATM as this only started earlier this month Now go look at https://www.nexusmods.com/modrewards#/store/all/1 (it's linked from the DP page marked Visit Store) That's what you get for your DP The thing is that it looks like a load of Modders have completely missed this fact as some people I know here haven't marked themselves wanting any DP Nexus Mods have pledged $6-10k PCM with a targeted $100k this year as payback to the Mod community. They also have a Patreon fund (not much in it yet) for donations from Mod junkies to donate to as well. The rewards system is REALLY easy to overlook Right at the bottom of the page in the middle you'll see a link called "Manage my mod rewards" Click that then opt in all your mods As there's no big pointers about this you've most likely missed this stuff as will have many other Modders from other games (this is actually good for us) The pot of cash they have will be split amongst everyone who opts in. I understand it's split based on unique downloads in any given month (so do this ASAP to get included for the June payout) The $10 Paypal credit for 10k DP seems quite a possibility now. Their terms specifically say that Opted In Mods only qualify for a share. So - in the unlikely event that I'm the only person who Opted In I'll get $6-10k this month (a huge number of DPs) Taking myself as an example I've got six (6) mods with a current total downloads of 332 Let's be pessemistic and imagine the big Skyrim mods and everything else total 1,000,000 downloads I still get DP for my 332 which means I get 3,320 DP towards my 10,000 DP $10 PayPal credit (the math here is dependant on the cash set aside, the opt in numbers and their unique downloads - it'll change monthly) So, my Modding friends, go opt in - you may get enough DP to pay for the expansion pack DLCs due end of next month (already pre-ordered mine)
  17. OK @ZapGunForHire found the right keys to alter the economy. I've just done a mod (yet to publish it) that sets the economy flat so e.g. a Spyglass both buys and sells for 1,000 cp As mentioned above different people want it balancing differently so I'll branch the version I have a few times. I did a test where everything was free (that really sucked) Normally Spyglass has a 1,000 sell and a 5,000 buy Setting the multipliers to 2.0 got me a 10,000 Spyglass buy price Got a little juggling to do but think I'll do flat (0.2), double (0.4 at a guess) and 10x (2.0) versions The base economy is set for 5x
  18. Turns out that setting all the multipliers to 0.2 yields a flat economy. Baked in there's a 5x multiplier so 0.2 results in an 80% discount resulting in full value for sale or purchase of anything. This solves an old req for a mod so I may as well publish it. I'll credit you in the Mod (your 15 mins of fame has begun ) I did a version where the Multipliers were 0.0 but that looked really sucky - everything cost and sold for 0cp
  19. Oh - that one Been there, done it - it's not hard (just messy) This crap requires a convo logic manipulation - you can't do a store but you can give items away with ease Sadly this involves major hacks to the *conversationbundles and conversations/[language]/.../.../*stringtables I had the same goal and this was the only surefire way to resolve it I took Waenglith (Port Maje) and altered her so something silly - "Give me a kipper" After numerous rounds I got her to give me something (anything) I then extracted the translations of "Show me what you have" and did localised versions I assume to be correct. At that point I was helping TT1 solve an issue with Dead Parrot so I hacked that down to level 1 and eventually solved his issue After this I went back to Waenglith (near the square in Port Maje where you get Xoti) on a do or die sorta misson I didn't die Owing to a screw up I've lost the code but know how to do it The problem is that ATM I have to write outside override - something I don't wanna do I can show you a Waenglith mod that provides any item I have SO many dead parrots now...
  20. Yeah I'm not gonna get through factions tonite anyway As requed I wrote a howto [insert anything here] - actually, didn't you ask for this one? Dunno, just know it was a good req worthy of an expain BMac's just opened up the docs (I was at the end of the vendor doc at the time) - better go read them
  21. First off I'd go grab my exported + fixed from [https://poe2.peardox.com/exported/] These fix a load if bugs in exported Now open up json/items.gamebundle.json You'll see a load of JSON Now - grab the bit you want - it's the LootList I'm using the Fishmonger near the ship in Port Maje as an example so search for her DebugName or ID so you can pinch it We are given this... { "$type": "Game.GameData.LootListGameData, Assembly-CSharp", "DebugName": "Store_09_PM_Fishmonger", "ID": "101d4c38-674b-415d-bb1e-bd68846ef033", "Components": [ { "$type": "Game.GameData.LootListComponent, Assembly-CSharp", "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "OutputMode": "All", "Items": [ { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 3, "MaxCount": 4, "Weight": 1, "ItemID": "c9b3ab6f-4eec-4cab-aab7-2fd8d9770c4d", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 1, "MaxCount": 1, "Weight": 1, "ItemID": "c2caa441-4723-4573-9e62-8c6529142261", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 6, "MaxCount": 8, "Weight": 1, "ItemID": "e253a1c6-5e1c-409a-8666-e27243f3b703", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" } ] } ] }, Copy that lot into a decent text editor (Notepad++ if windows, TextWrangler if Mac and just about anything on Linux - I side on vim from console) If you look carefully at the extract you'll notice there's a comma at the end - we don't want that, it will cause our Mod to fail so get rid of it (exactly the same file without the trailing comma is valid JSON, with it it's junk (don't blame me - I'm just telling you how this works( Right, we've got her in place. We now need to pad her out so POE2 can see her This is an extremely simple process... At the VERY BEGINNING of the file add this ... { "GameDataObjects": [ Now add this to the VERY END of the file ... ] } Congrats, you just created your first shop mod Save it in overrides/testmod/design/gamedata/testmod.gamedatabundle Assuming you've followed the instuctions accurately go see the fishmonger Nothing has changed (we basically just copied her default) Let's make this interesting and give her something else to sell ... Go back to you testmod.gamedatabundle and modify it WARNING - this is the easiest place to mess it all up At the end of the file directly after LockedVisible: "false" } It's that closing brace we're looking for Add this, directly after the closing brace , { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 6, "MaxCount": 8, "Weight": 1, "ItemID": "e253a1c6-5e1c-409a-8666-e27243f3b703", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" } Save your mod again and load the game again (you need to be completely out of game in order to test) - full reload is a must (bit of a pain I know) Reload done? Go to PM's fishwife and ask her what she's got Attached you should see Defiant Apparel in her list if you did this correctly Here's the complete mod in case you messed it up somewhere { "GameDataObjects": [ { "$type": "Game.GameData.LootListGameData, Assembly-CSharp", "DebugName": "Store_09_PM_Fishmonger", "ID": "101d4c38-674b-415d-bb1e-bd68846ef033", "Components": [ { "$type": "Game.GameData.LootListComponent, Assembly-CSharp", "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "OutputMode": "All", "Items": [ { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 3, "MaxCount": 4, "Weight": 1, "ItemID": "c9b3ab6f-4eec-4cab-aab7-2fd8d9770c4d", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 1, "MaxCount": 1, "Weight": 1, "ItemID": "c2caa441-4723-4573-9e62-8c6529142261", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 6, "MaxCount": 8, "Weight": 1, "ItemID": "e253a1c6-5e1c-409a-8666-e27243f3b703", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" } ] } ] } ] } Please note that the entire file needs to be JSON-friendly The comma I mentioned above is ABSOLUTELY REQUIRED for any sub-items but MUST NOT appear after the final one - this is bad JSON and your MOD won't load as a result. OK - reload a game, go see the vendor - ooh, she's got something useful I urge you to not use the vendor I use in this example - try to find another i.e. change "DebugName": "Store_09_PM_Fishmonger", "ID": "101d4c38-674b-415d-bb1e-bd68846ef033", To someone else - ideally use a STORE or VD DebugName as they're almost certain to work So, for example "$type": "Game.GameData.LootListGameData, Assembly-CSharp", "DebugName": "Store_04_PD_Unas_Luxuries", I know that one works, Unas is a vendor in Serpent Crown near the south entrypoint Don't be lazy - go find your own! Personally I'm using Eofania and know TT1 is using Wild Mare If we clash over vendors everyone loses Righto
  22. Bugger Just opened factions and instantly found your references My eyesight (I'm an old dude) is a bit dodgy - specs time - ooh - I can see again! My intention is to write a private Mod and give it to you to re-work for publication More info when I've played around
  23. OK Had a ****-load of other stuff to do (many posts etc) Now I've got a bit of free time I'll have a proper look into yours I'll let you do the release
  24. This is a non-specific count list of everything in POE2 It identifies specific things Everything in POE2 has a UUID The purpose of this is to connect things If xcnt > 0 then it's something you can change in the game if xcnt = 0 you're out of luck The same applies to gcnt but in a diffo way if gcnt = 0 it's an orphan if gcnt > 0 && xcnt > 0 it's something you can buy or negotiate for There are rare occasions where gcnt = 0 + xcnt = 1 This signifies something worth looking deeper into and attaching to a shop somewhere as I did yesterday with "The Red Hand and Friends" (wish I'd ran this one up first in hindsight) There are many upsides to what this makes available to the Mod dev if you know how to use it. A simple example is we can use it to detect Mod clashes (must have posted that one in another thread) By the same methods I use to grab UUIDs I can extract them from Mods so if a Peardox Mod interferes with a TT1 Mod (love the Dead Parrot) I can find out instantly - there's more I can do with all this stuff but need to finish extracting exported
×
×
  • Create New...