[RELWIP] LimitedItems

Post » Sun May 27, 2012 8:10 pm

DeSetuede: It's not exactly the same, but you could lower the 50 max space to something lower, like 35 (which would mean 7 items you listed plus 1 set of light armor). In that case, you could still 4 bows (with enough room for 1 1hand sword and that's it).

I would imagine it's about how you character would manage his loot. If he can carry 7 weapons, why wouldn't he be able to carry 4 bows and a sword instead? I could understand it from the side of equiping himself (to be prepared for any situation, 4 bows would be ridiculous) but if he's trying to carry weapons he found in a dungeon, I don't think it is too unrealistic if chooses to carry back only bows rather than a varied assortment of weaponry.

Thanks for the reply. Yeah, I realised i could lower the max space lower, but as you rightly described, you still have the 4 bow syndrome! :) A bit of willpower I guess, but that's why people make mods to take out fast travel. We could all resist it if necessary, but a forced function makes it so much better!

I just want to have to make the 'choice'. Do I lay down my great sword for this new loot? I can't carry 2 bows, so I have to choose, 1 or the other.. etc. etc.
User avatar
Patrick Gordon
 
Posts: 3366
Joined: Thu May 31, 2007 5:38 am

Post » Sun May 27, 2012 1:36 pm

Played with 0.99beta and ACE Archery for a bit. Added all sorts of arrow type combinations in my inventory and everything seems to drop as intended, so good job! Lockpicks are good too. Hopefully will play the game properly with your mod this evening. Should be pretty interesting with new rules of play :D
User avatar
Amanda Furtado
 
Posts: 3454
Joined: Fri Dec 15, 2006 4:22 pm

Post » Sun May 27, 2012 3:51 pm

@DeSetuede and Spiffyman:

Limitations as number per class I had implemented before, you can still grab the old version 0.97.
But I decided to rewrite it to use overall space because there is a problem with the num_per_class approach: if you max out any single item class you'll have greatly exceeded a realistic overall load.
Yes, I could have tried to combine both approaches but then the script would need a rather convoluted logic and, more important, there is no unique solution to the problem, imo you should still be allowed to shift between the classes (drop the warhammer to carry the 2. bow).

You're welcome to use the 0.97 script and esp and I could help integrating the improvements made since. The script part would not be terribly tough because the complicated dropping code is in a function that is called by the inventory management code multiple times. But the set of globals for configuration is maintained in the esp and I'd rather not work on 2 different versions.

@RebelMax: (different name, same cute avatar :-) Thanks for testing! I'm relieved that it works this way :-)
Yes, the arrow part is the one that started this mod (back in Oblivion when DukePatricks great CombatArchery mod got rid of the vanilla way of needing 50 arrows for one opponent) and it definitely adds to suspension :-)
User avatar
Scotties Hottie
 
Posts: 3406
Joined: Thu Jun 08, 2006 1:40 am

Post » Mon May 28, 2012 2:08 am

Really great news:

Chesko, the author of Frostfall has contacted me: the new version of Frostfall will have Sabre Pack Gear included and he will add keyword so my mod can detect the packs!
User avatar
Jerry Cox
 
Posts: 3409
Joined: Wed Oct 10, 2007 1:21 pm

Post » Mon May 28, 2012 12:57 am

No problem. To be honest I would probably just need to use a little will power :D

I'll probably slide the max down to about 30 to try and evoke a truly realistic carrying capacity.

Do you know if your scripts are compatible with Armed to the Teeth? that was the next step... I only want to be able to carry what I can see my character carrying?
User avatar
Stacy Hope
 
Posts: 3391
Joined: Thu Jun 22, 2006 6:23 am

Post » Sun May 27, 2012 3:52 pm

Using this, Sabre Gear Backpacks, Bandolier, and Armed to the Teeth together will be fantastic. Finally I shall look and act like a real adventurer.
User avatar
Stacey Mason
 
Posts: 3350
Joined: Wed Nov 08, 2006 6:18 am

Post » Mon May 28, 2012 1:47 am

I'll probably slide the max down to about 30 to try and evoke a truly realistic carrying capacity.
I'd forgotten this suggestion in my previous answer: reducing overall capacity is one way to deal with your concern, increasing individual space requirements is another. So, if you feel that particularly bows are still too unrealistically easy to carry, you can up the EK_GlobSpcReqBow and leave the other ones as they are.

Do you know if your scripts are compatible with Armed to the Teeth? that was the next step... I only want to be able to carry what I can see my character carrying?
These are 2 questions :-) I would expect my script compatible in a sense that it will just anolyze your inventory. As long as another mod
  • leaves the weapons/shields in the inventory (instead of magically whisking them into a hidden container)
  • keeps the keywords on the vanilla or added itens (so SKSE's IsBattleAxe(), that's in effect HasKeyword(WeapBattleAxe)) intact (additional scripts on the weapons don't hurt)
they still should be counted correctly. I'm quite, but not absolutely sure that my check IsEquipped won't be affected by AttT's placing weapons and shield in slots.

The second question is harder: drop all you are not seeing.
  • Should my IsEquipped return true on the weapons placed in the unusual (back, whereever) slots SttT uses for display, then it's easy: my mod does not drop equipped weapons, so set your overall capacity to zero (or, safer, something small, allowing for swaps of one item between unequipped inventory and visual slots).
  • If IsEquipped returns false on the displayed weapons, I'm afraid for now you'd have to fiddle with the numbers to approximate the desired outcome. In this case the 097 version would be easier to configure.
Let me know about the results if you test the mods together.
User avatar
Beth Belcher
 
Posts: 3393
Joined: Tue Jun 13, 2006 1:39 pm

Post » Sun May 27, 2012 2:58 pm

@DeSetuede: it's raining, my horse is wet and thus this, for you and those like you who prefer to manage absolute item counts over the inventory space that is enabled by default:

I have brought back as an option (that is disabled by default) the 0.97 method of defining fixed numbers for weapon and armor items.
You should de-activate the default method by setting it to -1
set EK_GlobSpcAvailable to 50.0 ; -> -1.0 deactivation
and replace the '-1' in the MaxNums to something you like:
set EK_GlobMaxNumCuirasses to -1 ; -> XXX integer >=0set EK_GlobMaxNumBoots to -1 ; -> XXX integer >=0set EK_GlobMaxNumGauntlets to -1 ; -> XXX integer >=0set EK_GlobMaxNumHelmets to -1 ; -> XXX integer >=0set EK_GlobMaxNumShields to -1 ; -> XXX integer >=0set EK_GlobMaxNum1H to -1 ; -> XXX integer >=0set EK_GlobMaxNum2H to -1 ; -> XXX integer >=0set EK_GlobMaxNumBows to -1 ; -> XXX integer >=0set EK_GlobMaxNumStaffs to -1 ; -> XXX integer >=0set EK_GlobMaxNumDaggers to -1 ; -> XXX integer >=0

This should enable you to limit your character to the weapons displayed by Armed to the Teeth, just grab the new version 0.99beta2 from Nexus and test.

This brings the script to 750+ lines; to reduce computing time and complexity I have split the calculations in 2 states:
  • one for the small items (arrows, lockpicks, rings, potions),
  • one for armor/weapons handled by space (the default method),
  • one for armor/weapons handled by number.
The script loops over the states 1->2->3->1->... with a pause of 3s between. So one complete loop will take 9s. Being a coward, I don't really want to speed up these things but rather give the game a breathing space in between. Maybe I'll add yet another global for parametrizing the update rate....
User avatar
Tai Scott
 
Posts: 3446
Joined: Sat Jan 20, 2007 6:58 pm

Post » Sun May 27, 2012 2:31 pm

Wow, thanks for all the helps guys.

I'll let you know how it goes.
User avatar
Kelly Tomlinson
 
Posts: 3503
Joined: Sat Jul 08, 2006 11:57 pm

Post » Sun May 27, 2012 4:10 pm

If I recall correctly, the only problem you might run into with AttT is the player dropping a weapon when that weapon's "appearance only" clone is equipped. Then the clone would still show on the player's back, and the original would be gone. But I think this problem would be the same if the player dropped the original manually, so surely the creator of AttT has considered that possibility? (I'll have a look.) The clones are equipped, in that they show ? next to them (the video was a controller).

Edit: Right, had a little look. it says: "If you wish to remove an item simply un-equip the weapon and then click on the reserve version in you inventory and it will be removed."
So if this is up to date, whenever someone using AttT drops an item, they have to click the clone manually to remove. We don't even know if it works once the original is already dropped, might have to be in inventory (but unequipped) to work properly. If issues arise, it might be worth asking the creator of AttT to put in a "remove on drop" mechanism, which would be fine so long as you can connect the original and the clone uniquely. Or, someone could write a patch with that functionality.
I guess the next thing is to get someone to try them out together!
User avatar
BrEezy Baby
 
Posts: 3478
Joined: Sun Mar 11, 2007 4:22 am

Post » Sun May 27, 2012 10:31 am

Again @DeSetuede: yesterday I had forgotten to add that you can use both methods of weapon/armor handling simultaneously, so for example you can leave GlobSpcAvailable at a positive value and define an additional constraint on the number of bows:
set EK_GlobSpcAvailable to 50.0set EK_GlobMaxNumBows   to 1
Both conditions will be enforced but there is a small drawback: the space-regulating part might push your overall space under the limit and after that the number-regulation part might enforce the bow-limit, so after additional bows have been dropped you could end up well under the space-limit.
You can, however, just pick up your helmets, then ;-)

@evilgiraffe: So there is a shadow twin of a weapon not equipped for fight but equipped in a display slot? I hope this thing doesn't have a WeapTypeXXXX property or SKSE will handle it like the real thing and thus it'll take up space.

However there is the possibility to
  • handle the items displayed by AttT using GlobMaxNumXXXX with GlobSpcReqXXXX = 0.0
  • and all items not displayed with GlobMaxNumYYYY = -1 and some GlobSpcReqYYYY > 0.
User avatar
NAkeshIa BENNETT
 
Posts: 3519
Joined: Fri Jun 16, 2006 12:23 pm

Post » Sun May 27, 2012 5:12 pm

Hi, I've noticed the effect of this for the first time (I hadn't been carrying much, it was a new player [i tell a lie, i'd seen arrows drop before.])
Unfortunately, the effect was that I wasn't allowed any lockpicks.
I picked up 3 off a bandit, and promptly dropped them. They won't stay in my inventory.
Now I know that's the point, except I'd set the limit to 25 (even changed it to 50, no change).
I set it to -1, hoping it'd disable it, but that didn't work either.
Any advice? I'd like to get this to work!
User avatar
DAVId MArtInez
 
Posts: 3410
Joined: Fri Aug 10, 2007 1:16 am

Post » Sun May 27, 2012 5:14 pm

That's unwelcome news :-(

I've never seen this in my tests, does console "show EK_GlobMaxNumLockPicks" show the value you're expecting? Did you type in the console, explicitely ("set EK_GlobMaxNumLockPicks to 25")? Did, by chance, you use a configuration file and mistyped the variable name or assigned a float (Using "bat XXXX" one might miss console error messages)?

What version do you use (so I can re-download and have a look at that particular version of the script)?

What I have seen is that after you change to a new version of the script and load a savegame written with an old one, it can happen that you instantly drop some items. But after the dropping has stopped, you can pick them back up and will keep them.
I think the reason for this is that the save occurred midway during the script running (the script itself may take some seconds of gametime to finish) and thus its internal state got saved. That one is then incompatible with (or reads/writes the same things as) the new one. But since the mod itself has no memory, once the old instance finishes, all is back to normal.

If everything fails I'll upload a new intermediary version for us to test with.

Edit: Maybe I know, what's happening: are you using the 0.99beta2 version, where I re-introduced the weapon/armor handling by number?

Then this will be what happens:
  • For better handling I have now divided the things the script does into 3 states ("SmallItems" (includes lockpicks), "Space" (armor/wpn by space) and "Number" (armor/wpn by max number)). These states are called cyclic.
  • In preparation for the bonus given by backpacks I introduced things like EffMaxNumLockpicks that will be someting like EK_GlobMaxNumLockPicks.GetValue() + Bonus.
  • The function defining these effective values I mistakenly called only at the beginning of state "Space" (that's corrected, now).
Looking in the script, the only way, not to enter state "Space", would be to have a SKSE version without papyrus support (SKSE.GetVersionRelease() < 20 or none at all), this way you would stay in state SmallItems forever, with default value EffMaxNumLockpicks=0.

I'll soon upload a new version, anyway, I'm just waiting for Frostfall, Bandoliers or Sabre Gear to release their updates with keywords added to the packs.

In the meantime Chesko gave me some lessons on performance optimization, ReferenceAlias and OnItemAdded, so the next version will perform its calculations only when actually needed, not periodic, anymore.
User avatar
Roanne Bardsley
 
Posts: 3414
Joined: Wed Nov 08, 2006 9:57 am

Post » Sun May 27, 2012 4:10 pm

I'll check.
Oh, and btw, the code you have in the readme for rings doesn't work, I believe if you add an EK_ to the beginning it does. The .bat only showed that error message.
It was the 99b2, and I'd not used an earlier one on that character/save.
User avatar
Frank Firefly
 
Posts: 3429
Joined: Sun Aug 19, 2007 9:34 am

Post » Sun May 27, 2012 5:06 pm

Yes, all external variables are prefixed with EK_. I won't correct the ReadMe, though, because I've just written a much nicer one :-))

You using 99b2 is good news, I keep hoping you perhaps had forgotten to start with SKSE and thus the bug is found.
I'm not sure about this but I think, SKSE states that you have to have Steam running before starting the SKSE-loader. At least, each time I click the SKSE icon and Steam is visibly started because it had not run before, Skyrim starts up without SKSE (Skyrim launcher miniwindow and SkyUI complaining about missing SKSE).

Anyway, the error was mine and yes, as soon as we have the OnSaveGameLoaded Event I'll pop up a messagebox warning about missing SKSE.

I would upload a fixed version but I've just made some internal improvements and would like to playtest a bit. But if you're in need, I can update, anyway.
User avatar
Jaylene Brower
 
Posts: 3347
Joined: Tue Aug 15, 2006 12:24 pm

Post » Sun May 27, 2012 10:43 pm

Well, after some play sessions there were no issues whatsoever. Very robust scripting work, ekroemer. Love the absence of excessive gold in my pockets. It effectively ups play time during that enjoyable period in character "lifetime" where you actually struggle for every gold piece. I see no fun in having tons of useless gold on me, feels like it's almost an endgame really. So yay!

Any news on the "current grid occupation" indicator? A couple of ideas, for the heck of it:
  • A misc inventory item with indication in it's name.
  • An active effect in, uh, active effects tab. Similar to various survival mods.
  • Via a hotkey that can be custom mapped to, say, the default TAB key or whatever quick inventory key the player uses. So when you open it, the message shows the info.
User avatar
Cartoon
 
Posts: 3350
Joined: Mon Jun 25, 2007 4:31 pm

Post » Sun May 27, 2012 10:53 pm

Thanks, that's nice to hear!

No news as such, in my current version I have a periodic Debug.Notification but my thought that http://www.gamesas.com/topic/1372862-wipz-skyrim-script-extender-skse/page__st__90__p__20800140#entry20800140 will allow me to track the call to the inventory menu and display the message on cue.

I like the active effect idea, though, since I've seen this at work with Frostfall and TRO-BasicNeeds, I'll have a look into this.

I'm looking forward to Dragten's next Bandolier release - my new archer character would like to carry some poison potions but that's touch with the self-imposed restrictions. So I'll have to give the small bandoliers some boosts to EK_MaxNumPotions :-)

Edit:
While waiting for SKSE's IsOpenMenu I thought I'd test adding a misc item and changing its name dynamically to something describing the current/max/diff space. But it seems, in this version SetName is busted.

I had a look at some active magic effects, too but I only found them with constant names.

I'll keep looking...
User avatar
sam smith
 
Posts: 3386
Joined: Sun Aug 05, 2007 3:55 am

Previous

Return to V - Skyrim