So, I loved Commche idea for a loot generator. Im also a big diablo fan and love the idea of a good generation system to keep a game interesting.
So I rewrote it.
Included are the old Ness systems, and both of Commche early works.
Kudo's and credit to the original Authors.
---=== FINAL ===---
Per Request:
2 NEW generation interactions are now included. One opens multiple stores utilizing LOOT via one conversation, the other gives players the item(S) directly, via conversation utilizing Loot. I hope you find them useful.
The only change to v39 is a multi/give via conversation, almost identical
Attachment | Size |
---|---|
Commche's 2 and 3 (204) | 574.18 KB |
Ness 7 and 8 (189) | 3.67 MB |
This is a modified baseitems.2da with much better runes, rings, and shields. (150) | 13.14 MB |
LOOT v37 ERF, and README (131) | 268.57 KB |
Multiselect store edition. V39, erf, Updated Readme. (95) | 268.87 KB |
Well met.
Neat projcet for an update. I like good loot. Your time, and high coding skills, with this are appreciated.
—
Phyte: My heart has been locked for longer than I can remember.
Sharwyn: Done, and done.
—
Great concept really really hope that at some point I'll be able to go through the campaign and the dlcs/modules with it. The combination of an arpg loot system with forgotten realm stories is really appealing to me.
Oh boy. I've spent the past year adding the Comanches system to my module and have added a lot of customization to the sd_lootsystem script. Time to update it!
I treid loading up the provided mod to review but it states a missing 2da_mod.hak and will not open. Could be my end. So I just imported the erf in a test module to review the script changes.
Do you have a list of added 'features/changes' by chance? Or brief overview? Also are the set drops implemented better? The old version the set items were just a test with a few items and two classes I beleive.
Hi,
Sry bout that, the mod, the erf, a simple readme, and the hak are now in the loot7 zip
The read me should give you an idea of what ive added. This system needs very little tweaking. It now generate drops automatically without any modder interaction once installed. Installation instructions are in the readme. Im working on a new erf
Im working on the socket and set system now. These are still not fully functional but are much improved. They are turned off in the config file atm. (sd_lootsys_tools).
And yes a manual is on the list for those that like to deep dive.
You rock! Thanks Kyle!
Question. Without applying a TYPE variable to a mob or placeable, is it possiable for weapons to be added to the non specified drop group? Without specifying a type I get scrolls, gems, and gold. But thats about it.
The older system had a chance to just drop any type of loot from a kill. I'm going to have to run through a few hundred custom mobs to tailor their drop types. But if I can alter the default drop to include everything I think I would much rather go that route.
You shouldnt have to apply a Type variable unless you want to be specific.
All creatures drops without being specific, are assigned a random type when not specified. However, this was just recentlly added if you had a older version. I still have work to do on this.
The current version seems to be droping much better, but I am to please so let know.
You will get scrolls, gems, gold, potions, and misc magic items (Trinkets) more then armor items and weapons atm. Im still tinkering with the balancing on these.
The two bookshelves inside are a good indicators of drop rate, similiar process as the creature drops.
I was using the 8 build I think. I had killed about 100 mobs and had nothing but stacks of scrolls, gold, and gems dropping.
I imported the new erf so I'll test it out today.
Is there something I can do so scrolls and potions stop dropping in stacks? Consistantly getting a full stack of a scroll or heal potions even on build 10.
-----
Also, the old system dropped a boat load of gold. Is there any way to scale up the gold amount? I'm getting on average 50-300gp from a drop. The old system it was more like 3000 for similar level mobs and the same character level.
And the identify switch is not working for me. everything is identified even if set to: const int IDENTIFIED = FALSE; (well scrolls are unid'd, but everything else like armor and weapons are identified.
done, see update.
The pots are unid now. hehe. Can those be left identified?
--
Also the mundane quality should be identified.
The stacked pots and scrolls are fixed. ty!
GOOD input ty.
Very good points will fix and update soon.
With the old system the +AC or +1 dmg enhancements seemed to be associtaed with rarity (+1 white, +2 green, ect). With this there's only a chance to get the modifyer. Which is ok, but the items still fell less powerful. The base level items, mundane in this case were the low level and never had bonuses, sockets on them. One could just throw all the base items in a shop, change Mundane to something a step up and change the color to reference a better rarity like white. In the old, the baseline items were worn/broken items a player generally would not pick up and use or sell unless at level 1. With this I'm getting items that sell for 12gp but are unique and have sockets. I can work with that, but in terms of the system and suggestions I felt like bringing this up. :)
Ok, alot of what you may be seeing is the ability per range level in the load outs. Im doing some adjustment on these.
Mundane is now weaker. Other things have been shifted. Keep in mind with the socketed system some things are by chance for better socket play.
At present, Quality is established by the number of attributes on the item. In other to make this ultra accurate, multi 2da referencing would need to occur. This would impact PW's I dont want that, so im still playing with it. And thats where the problem comes in. Naming, Color , and material are determined from by said Quality rating.
TY BTW.
Awesome! Looking forward to testing the new changes.
You should like LOOT12 :), just posted.
It feels much better!
Having issues getting items to add to or fill my store.
Where should the SD_FILL_MERCHANT script be set? I tried the merchant OnOpen and also the NPC OnDisturbed. I can't seem to get the Merchant area tag/name/refref(?) script to work in SD_LOOTSYSTEM either. I'm sure it's just me not doing it correctly. Any insight on that would be appreciated. Was hoping I could just toss the SD_Fill_merchant script at a store and be done w/ it.
Hey m8
Its really not used by me anymore. Simply have your merchant use the LOC_STORE_OPEN conversation. Be sure to set a TYPE vaiable on the store, not on the Merchant.
Ive set a merchant that dosent appear, like next to the gems, in loot room, as an example. its really easy. A merchant, a store, some vars and bada bing. If you really would like to get fancy, you can remove the clear flag, add your own items to the store and have it gen random ones without deleting the the ones you hand picked. (PS you dont really need the vars, will gen off pc level like both merchants in the loot room)
I think ive switched to on_percieved.
Area tags are not set up yet if Im looking at the right thing, those are nxt.
As always you rock Kyle. Thanks so much!
With the old system I had modified or added a lot of custom items like armor, weapons, rings, amulets so that there was a large pool of items that generate. So you're not getting the same looking armor or weapon every other drop.
Is that something that can easily be done here? I've modified the sd_lootsystem script, specifically the //Drop Magical Item section where you have 19 items listed. Ammy, Ring, Boots, Helm, Cloak and belt. I modified this list to include those I have created, adding in about 80 more items. I have them all set with iIDs and then adjusted this line (1918) to if (iITEMTYPE == 0) iITEMTYPE = Random(96)+1;
I suspect thats not the right line that I needed to modify.
It doesn't seem to work. I never see any of the newer item's I've added to the list.
My plan is to add in all the items I've created for the old system, just trying to get one section working before I touch any of the others.
Is what I'm trying to do going to work? Or should I do it differently?
Hmm,
I think you are doing this the hard way, I tried to make it simple.
The multiple lines for rings, helms, boots, ammy etc are for variable item names only. They have nothing to do with appearance. Dont ask why i did it that way, brain fart.
What you want, is appearance and perhaps an xtra something. and thats much easier then adding xtra lines. You do this by adding items not lines of code.
Under the items tag, in the special area, you will find a groups of nine, ammy1 ... - ... ammy9. ring1-9, etc items. Simply design new by using copy item, change the appearance
add somthing if you desire, etc. But do it so all groups have the same number of vairations ie: all end in 9, 10..... etc.
Then go fix this line right below your 1918. respecfully " iPiece = Random(9)+1; "
This setup is the same through out applying to armor, shields, weapons, etc.
It should be noted, with a cep release of this you will see a large increase of styles and colors.
So it's just auto looking for tags of sdammy1-##, sdbelt, sdring, ect.?
All of the items I created for my old system which are still in my module have that tag style. I kept them the same as the predefined items that came with it. So I have "sdbelt1" through "sdbelt10" But I don't see those (bdbelt4-10) pulled in as loot through all of my testing so far. I have the resref and tags the same for each item just in case it looks at the resref or tag. Wasn't sure on the old system was looking at, at first.
I just overwtore with the latest import. I'll play around with it more tonight and see if I can get any of those extra items I've created to pull in a loot drops.
ok so my item are dropping. got a few realy fast. I'm sure I changed something and broke it on the previous iterations.
Actually, it had some issues, prob not you. new mod soon with updates and larger pool.
Just a little issue I've been trying to work out. My drop changes are elevated above your default settings. And What I'm seeing are multipule of the same type of drop. If it's armor chest piece, I get 3 of those. If it's a rune sometimes it's straight up 6 runes from one mob. Is there a setting that will mix up the drops more so it's not all the same item type? It's not every drop like this, but when it's multipule items from one mob they are usualy the same item type. Is that the variance constant? I'm not sure i fully understand that one.
Also thanks for continuing working on this. It's the heart of a lot of modules that will use it!
Update should be alot more random.
M8, 1st off tyvm for all the input. This is the heart of the PW im 50% done with so I very much have a vested interest :)
OK, I just changed the load out (Load Off/def Features) making it 9 instead of 6. Had to go back to a balance act again which im currently working on.
Variance has to do with lMod and IRange (Not fully in yet but about to be in v21)
I think i know what you are asking but let me ask somthing 1st. Is this a random drop or did you set vars?
Random drops.
I've also had some issues with the BOSS var. Used to work great, then seems to have stopped; I threw all the vars on it but my buddy testing claimed bosses are still not dropping.
Does setting BOSS to 99 increase the affect? Curious because it was working.
I'll test the new update tonight. :)
I took it out when i upgraded to the 1-9 iRange system.
BOSS items by-pass DROP_RATE rolls, what I removed was in addition to this, as you can see below. The issue is it gives the impression boss rolls can be 100%, but it also ensures almost every feature is on the item. The by-pass of that check almost always produces an item. To test creature drop rates multi-use the NORMAL bookcase and adjust DROP_RATE to your liking. Use the BOSS bookcase for boss drop rate checks.
In "sd_lootsystem" in the Generate_Inventory routine at the bottom of the script you will find:
// Test for BOSS Boost
iRoll = d100();
if (iBoss > 0 || iRoll<=LUCK_CHANCE)
{
++iRange;
if (iRange > 9) iRange = 9;
lMod += iBoss; // <--- Add this line.
iShop += iBoss;
}
If you want it back in yours.
Rebuild and u are good to go. Be careful, iBoss adds to lMod which can overpower an item easy.
Awesome ty! My module is a bit more generous on loot. I've been setting Boss for elites and actual bosses for pretty much garenteed decent loot.
Remember, the same routines are used for both the bookcases and the creatures with the boss flag set to 1. So if you click the BOSS bookcase you will see the same result on BOSS critter drops. It drops almost all the time with a boss setting of 1 because it bypasses DROP_RATE.
Also, if you want stronger loot, try just adjusting HD_ and PC_RANGER variables. Lower numbers will give higher level drops.
I was wondering, would there be a way to bypass the maximum gold stack of 50,000 when you use spawn Gold (G) variable. instead of seeing 2 or 3 differnt stacks of 50,000's golds.
We know that if you take a large stack of gold from the (players backpack), it can go over 50k and hold gold like 500k million or even 1 million.
I have been trying different ways to use the GetItemStackSize
I did come close to doing a temporary cash note item object which looks at the currect stack of gold and store it, into the name of the note and destory the cash. Once you acquire the note.. it would consume it and the gold would go stright into the players backpack. but I failed.
anyway.. - I'm just asking if you are able to bypass the 50k stack in the chest and make it larger.
Hear from you soon
- ps. thank you for your work.
L0BSTER
Hello,
BTW tyvm for your input.
Hmm, ive looked into that a little bit, seems what is suggested is to modifiy the baseitem.2da increasing the stack setting of 50k on a single gold piece.
You can do this on your own but Icant add that here(sorry), it would make it less portable for one.
For futher info. Even with making the edits and adding a hak or placeing it in override, the max gold still does not go above 53K for some reason. If I can find a way to do it without a hak or override I will howerver.
It has come to mind to edit the 2da file and knew it, so thank you for that advice.. hmm I just wanted to know if you knew a way to bypass it hehe.
its all good, I just felt like mention it to see if you were able to do it with your scripting skills hehe..
Thank you for the reply,.
all the best.
L0BSTER
When I opend the chest *Range 3, LMod:30* a spear with piercing(Bad Strref) appeared. I am not sure it will show again.
Another little error bug, was when I open the chest *9*, from near bonus loot end flag.
https://drive.google.com/file/d/1VI_uvKYPv9SU1u8Rkx1L51Nw2RAGdKKS/view?usp=sharing
Anyway... keep up the good work even though you mentioned this would be the last and final update. :)
L0BSTER
TY, will look into that might be because i made level 9 unlimited will fix and update soon.
I messed up my store somehow. Hopefully you can point me in the right direction.
Using the convo LOC_STORE_OPEN, I want to populate a blacksmith shop with weapons and armor. I set some variables on the store and even the npc, and have played around with higher and lower settings to accomplish this but getting stuck with some weird results. Attempted to use the SD_FILL_Merchant and SD_FILL_FOREVER scripts for the onOpenStore script (with and without). I just can't get it to fill the store up.
Sometimes I get a full armor page of bracers. And it lists page 2 and 3 and theres nothing on them. Sometimes I get several chest armor pieces that are arranged on the store page with gaps between them.
Other times I get nothing at all. Sometimes I can open the store and if I try to come back to it the store will no longer open. This was a issue I had a few times and even had another player testing with me and they also had the same problem at the same time I experienced it.
LOOPS is the number of passes the script runs through to create items, and I've set that anywhere from 1 to 100 without much changing. I tried TYPE vars but that only lets me do Armor or Weps and not both. I don't see a type ID that includes both, so I tried Random, and as well removed the TYPE var and still get one or the other or none at all. RANGE seems to work but it's the amount of things and what it's generating that is my main issue. I've included CLEAR as 1 to avoid the mentioned infinate looping issue in the readme.
I'm thinking there is a better way to do what I'm trying to do. It seems to also randomly dump in a pile of 50k gold into the store that I can buy for 1gp, which is quite the deal!
I can setup different stores for weapons and armor I know, but I'd like to have one general store for both, but I can't seem to specify weapons and armor - and for some reason I'm getting just one type of armor or very few types.
I tried referencing the demo mod provided but none of the shops work for me. Something it firing off after convo that exits the conversation and I never get the stores to pop open.
Ok I think I found the correct lineup of vars to set.
OnStoreOpen = sd_fill_merchant
BOSS = 99
LOOPS = 5
TYPE = Whatever.
Apparently TYPE 33 is armor, weapons, rings, & ammys - which will work for what I want.
Not entirely sure LOOPS = 5 matters or not with the onstoreopen script.
The high BOSS var int allows plenty of items to fill the store pages. I think my issue was that the drop change I'm using is low so I wasn't getting many items to populate.
My friend, i honestly dont know what you've done. Look at the readme. It will tell you what everything does, toggles, or sets. It will list the TYPE table choices. Some choices are for individual drops or merchants. Some for combo drops. Do not use drops with gold for stores. 33 is the general store number.. btw you can create other combo grps to suit your needs by following what I did.
Also: its your preference but stop using 99 boss. BOSS variables above 0 are for boss and elite type drops not for everything, and not for shops. It might be the cause of the results you are recieveing. Shops, by default if used as i have in the example, recieve a 100% roll.
There is an error in system initillization I will correct, before using this system, open one chest. This will correct the problem.
The shops auto open, walk up, spawning the merchant, and wait.
The shop may also have gaps, the more tightly you define variance the more gaps you will see, this is due to the fact items must be built b4 the level/value is determined. Thus they require deletion.
Sorry for the delay on follow-up. Thanks for the helpful info on this! I was just running into some weird behavior after using the latest version after taking a little break on dev, and had no idea what I was doing wrong when I had some of the same issues in the test module. It's possible for the Types I was referencing one of the older scripts and it differes from the readme. I've got that sorted out. Just working on the initialization errors and stores not opening after opening for the first time. I'll remove the BOSS var and test more soon.
Hi Kyle. Is it possible to grant random loot via conversation option via this system? If doable or something you want to look at could you do me a huge favor, would you be able to give me a script example of that for me to play with? I'm trying to do something like a quest reward that gives the PC a random loot type with a specified RANGE via dialog options. There are several other similar dialogs I have that would benifit from this as well. I'm just not having luck figuring it out myself.
Hmm, do you mean a conversation that sets the variables as you speak or one that draws the variables from an object? Let me know.
I like the idea for both methods. Let me see.
I'll give you an example. I give new characters a boost on my module, and the PC chosses from dialog options for what they would like to start with. Examples of what they can choose to start with are gold, experience boost, random armor, random weapon, or a random ring or amulet. If doable it'd be amazing, and would prevent static options like just a +1 generic sword or a long list of static options they would need to choose from.
The items definetly don't need to be specific to their class. They could simply just sell or trade it if they can't use it. It's more of a 'family heirloom' item they get to work with at the start. If it could be a specific type of weapon like a staff for a caster or a bow for a ranger, that would be neat but I don't think the current way the weapons are grouped would work like that.
Other examples would be the PC finishing a quest via conversation, and having the dialog option to select the reward of gold/exp or random loot/exp.
edit - the usual tiny chance for a better item would be cool as well.
Give me a couple of days, I'll see what I can do. Nice example.
Done
Actually it is what you want and more....
I showed you how to do it, you just need to make simple subsitutions. Instead of opening a store, modify the script "sd_store_choice(1-6)" to put it on the character.
or create a third set of scripts (a-f) that does just that. Ive given you the template.
Sorry if I overlooked! I'll see if I can make it do what I want later today.
Thanks again Kyle!
So instead of opening the shop do I modify the Generate_Inventory part in someway to dump the contents into the PC inventory?
Or is it more of doing sometihng like CreateItemOnObject(oItem, oPC);?
This is where I'm really bad with the scripts. I can read them and modify what they are doing but I lack basic scripting know how on actually alter them to do something different. I'll keep at it.. I've done both of the above without sucess but I think I'm getting close.
Ok, now you have both editions, its really quite simple. You make the player the container. And since the player is tagged, Only the 1st selection works. Its all in 39 enjoy. Hope that clear's it up. :)
PS: make sure you dont clear the players inventory.
Pages