Bags

Content Slated for Release or Approaching Release

Moderators: Moderator, Quality Control, Developer, DM

User avatar
Rhifox
Retired Admin (Acting Assistant Admin)
Posts: 3711
Joined: Wed Jan 13, 2016 2:34 am

Bags

Unread post by Rhifox »

To follow up on the removal of the NW Tradeway bags, we've got a plan for implementing bags in a way that does not tax server resources. To assuage concerns of the NWTW container removal, I'm going to give a summary of our plans.

We are looking at creating a "virtual bag" system that stores gear in sql to prevent bic inflation. This will work similar to vanilla bags in the sense of being able to drag and drop items (and might be usable for horses, too?). Before that can be done, though, we need to finish work on a universal ID system. This was already being worked on before this, and is needed to better identify specific characters in a way that can't get broken by things like Disguise or name changes and so on, and would allow various improvements in several systems.

Dae can provide more details on the specifics of this, but in short, we have plans to work on these, but it may take some time to build these systems. So we ask players to be patient. We've heard the clear desires the player base has for the implementation of containers, so we are going to work towards a way of adding them to the server properly.

We'll give you an update when these systems are further along.
Tarina — Witch, Apothecary, Dealer in Spirits and Black Magic
User avatar
zhazz
Posts: 806
Joined: Sat Feb 08, 2020 7:12 am

Re: Bags

Unread post by zhazz »

Items already have a unique identifier associated with them. It's visible in the combat log when looting with the /lootall command from the Skywing Extension.
Adrian Baker - An innocent virtuoso (bio | journal)
Relyth Ravan'Thala - Bear of an Elf
Timothy Daleson - Paladin Wand Maker
Duncan Matsirani - A wanderer
User avatar
Rhifox
Retired Admin (Acting Assistant Admin)
Posts: 3711
Joined: Wed Jan 13, 2016 2:34 am

Re: Bags

Unread post by Rhifox »

zhazz wrote: Wed Jan 26, 2022 11:34 pm Items already have a unique identifier associated with them. It's visible in the combat log when looting with the /lootall command from the Skywing Extension.
Talking characters, not items. And this is different from tags/resrefs.
Tarina — Witch, Apothecary, Dealer in Spirits and Black Magic
User avatar
zhazz
Posts: 806
Joined: Sat Feb 08, 2020 7:12 am

Re: Bags

Unread post by zhazz »

I'm a developer myself, though not in NWN2 terms. If the team can share some of the perceived issues, I can do some brain-storming. Anything to speed this up really :D
Adrian Baker - An innocent virtuoso (bio | journal)
Relyth Ravan'Thala - Bear of an Elf
Timothy Daleson - Paladin Wand Maker
Duncan Matsirani - A wanderer
Ewe
Posts: 607
Joined: Wed Feb 28, 2018 2:01 pm

Re: Bags

Unread post by Ewe »

zhazz wrote: Wed Jan 26, 2022 11:34 pm Items already have a unique identifier associated with them. It's visible in the combat log when looting with the /lootall command from the Skywing Extension.
These are only good for the current session. A particular object's serial number doesn't persist across server resets.

These ids are not even the same across server boundaries. When you transfer to the other server all your objects and PC are recreated and new object ids assigned based on whatever the next available ones are for the session.


Keep in mind we don't have the source code for the game server or client. I'm not sure what kind of development work you've done, but reverse engineering and engine hacks for executables without having any source code are quite complex compared to having access to and compiling high level source code.
AKA Dae-Glyth
Discord: Dae-Glyth#1759
User avatar
zhazz
Posts: 806
Joined: Sat Feb 08, 2020 7:12 am

Re: Bags

Unread post by zhazz »

Ewe wrote: Thu Jan 27, 2022 1:14 pm
zhazz wrote: Wed Jan 26, 2022 11:34 pm Items already have a unique identifier associated with them. It's visible in the combat log when looting with the /lootall command from the Skywing Extension.
Keep in mind we don't have the source code for the game server or client. I'm not sure what kind of development work you've done, but reverse engineering and engine hacks for executables without having any source code are quite complex compared to having access to and compiling high level source code.
Of this I am aware :)

From my own limited experience, and talking with Valefort in the past, it is my understanding that nearly all of what is mod-able in the game happen either true the 2da files, or event subscriptions: e.g. PCEquipsItemEvent or AttackHitsTargetEvent.

Any changes or additions to the game code has to happen through these events, and some of them are unfortunately limited in what data they expose; either through no visibility at all for said data, or that data being read-only.




The following pseude-example (don't know all the syntax and loops and hoops) is how to possibly generate and use a unique character id.

The only time there will be an issue with it, is if the player decides to RCR their character (new DMFI Tool), while also changing the name of their character (RP reasons or mis-spellings). Name changes, however, are usually handled by the staff, or have been in the past at least.

Maybe our developers have already thought and scrapped this option, if so, I'll continue to scratch my head and hope something falls out.

Pseudo-code example of unique character id generation and usage.

Code: Select all

void OnCharacterLogInEvent(var oTarget, ..., ...)
{
	const string DMFITOOL_CHARACTERID_KEY = "UniqueCharId";

	if (!IsPC(oTarget))
		return;
	
	var oDMFITool = GetDMFIToolFromPC(oTarget);
	var dictDMFIEntries = GetDatabaseFromDMFITool(oDMFITool); // Might be an array? I don't know.
	
	string uniqueCharId = dictDMFIEntries.GetEntryByKey(DMFITOOL_CHARACTERID_KEY);
	
	if (uniqueCharId != NULL && uniqueCharId != "")
		return;
		
	string uniquePlayerId = GlobalTools.GetCurrentPlayerId(); // Might be the CD-Key, might be something else.
	string characterName = GetCharacterName(oTarget);
	uniqueCharId = GlobalTools.MD5(uniquePlayerId + characterName);
	
	dictDMFIEntries.AddEntry(DMFITOOL_CHARACTERID_KEY, uniqueCharId);
}


void OnItemAddedToContainer(var oTarget, var oItem, ..., ...)
{
	const string DMFITOOL_CHARACTERID_KEY = "UniqueCharId";
	const string TBL_PLAYER_CONTAINERS = "tblPlayerContainers";

	if (!IsPC(oTarget))
		return;
	
	var oDMFITool = GetDMFIToolFromPC(oTarget); // Psedu-example
	var dictDMFIEntries = GetDatabaseFromDMFITool(oDMFITool); // More Psedu-example
	
	string uniqueCharId = dictDMFIEntries.GetEntryByKey(DMFITOOL_CHARACTERID_KEY);
	
	string uniqueItemId = GetUniqueItemId(oItem); // Not sure how to do this (yet)
	
	if(GlobalTools.Database.CheckEntryExists(TBL_PLAYER_CONTAINERS, new [] { uniqueCharId, uniqueItemId })) // Check for multi-column unique key.
		return;
	
	GlobalTools.Database.AddEntry(TBL_PLAYER_CONTAINERS, uniqueCharId, uniqueItemId);
}
Adrian Baker - An innocent virtuoso (bio | journal)
Relyth Ravan'Thala - Bear of an Elf
Timothy Daleson - Paladin Wand Maker
Duncan Matsirani - A wanderer
Ewe
Posts: 607
Joined: Wed Feb 28, 2018 2:01 pm

Re: Bags

Unread post by Ewe »

These conversations are becoming more than what the typical player needs to be concerned about. This has been pretty well thought out by the staff already, I'd ask you trust us. I'll try to answer this, but I don't have time to dedicate to defending every technical decision. I understand you want to help, but maybe consider applying as a dev?


Why is UUID needed?
Object IDs for Playable Characters (PCs) do not persist across sessions or server boundaries. Further, other identifying information about a player including CDKey, First Name, Last Name, bic file name, and so on are all mutable. PC names are frequently changed by DMs at player request or when granting an RP title reward. Additionally, the disguise system also changed PC names.

PCs may be tied to one or more CD keys, which can also change over time if the player obtains a new CD key and makes an admin request. It is typical for one CD key to have many characters. CD Keys may also be given away by one player to another. Additionally, previous attempts at “unique IDS” were subject to ill advised truncation issues or illegal windows filename symbols being removed and so on.

It’s just really hard to maintain a PW when a PC id is mutable. To this end, an immutable ID in the form of a UUID that cannot be changed through nwscript makes sense. It makes so much sense that this is literally what Beamdog did for nwn:ee. See nwn1 lexicon: https://nwnlexicon.com/index.php?title=GetObjectUUID
AKA Dae-Glyth
Discord: Dae-Glyth#1759
User avatar
Rhifox
Retired Admin (Acting Assistant Admin)
Posts: 3711
Joined: Wed Jan 13, 2016 2:34 am

Re: Bags

Unread post by Rhifox »

To update this, Dae's finished the framework for UUID and has done some testing with it. Once we've got it more integrated into our existing systems, that will open up the way for virtual bags.
Tarina — Witch, Apothecary, Dealer in Spirits and Black Magic
User avatar
mrm3ntalist
Retired Staff
Posts: 7712
Joined: Wed Feb 29, 2012 5:31 pm
Location: Skala Kallonis, Lesvos, Greece

Re: Bags

Unread post by mrm3ntalist »

Oh boy…

Image
IS EMOTIONAL KEKW - GIT GUD

Mendel - Villi of En Dharasha Everae | Nikos Berenicus - Initiate of the Mirari | Efialtes Rodius - Blood Magus | Olaf Garaeif - Dwarven Slayer

Spelling mistakes are purposely entered for your entertainment!
User avatar
selhan
Custom Content
Posts: 967
Joined: Tue Jun 09, 2020 7:40 am

Re: Bags

Unread post by selhan »

All very well nice to know. Containers are cool and all but the point of my question to begin with is ..will this have a weight reduction? LOL :D Kits, clothes, consumables, food, other RP items or items used for rp tend to be very troublesome to someone that aint got a bunch of str . When looting, the amount of nice stuff left behind just so some of us light weights wont be encumbered at the start of the run can get heart breaking.

Im not saying it needs to be 100% weight reduction but even a good 15-20 pounds would be very helpful. I seen some ppl encumbered all day, that gotta be frustrating lol.
“We drink to get drunk, we get drunk to fall asleep, when we fall asleep, we commit no sin, when we commit no sin, we go to the Heaven's."

Bartender of the Broken Goblet - "What's yer Poison?"

Click to find out what time is it for the Bartender
User avatar
zhazz
Posts: 806
Joined: Sat Feb 08, 2020 7:12 am

Re: Bags

Unread post by zhazz »

selhan wrote: Mon Feb 21, 2022 9:03 am All very well nice to know. Containers are cool and all but the point of my question to begin with is ..will this have a weight reduction? LOL :D Kits, clothes, consumables, food, other RP items or items used for rp tend to be very troublesome to someone that aint got a bunch of str . When looting, the amount of nice stuff left behind just so some of us light weights wont be encumbered at the start of the run can get heart breaking.

Im not saying it needs to be 100% weight reduction but even a good 15-20 pounds would be very helpful. I seen some ppl encumbered all day, that gotta be frustrating lol.
In regards to multiple sets of clothes for different outfits, there's currently a suggestion for a Quality-Of-Life feature. Don't know where it stands with the development team, but so far no one have objected to it.
viewtopic.php?f=610&t=77223
Adrian Baker - An innocent virtuoso (bio | journal)
Relyth Ravan'Thala - Bear of an Elf
Timothy Daleson - Paladin Wand Maker
Duncan Matsirani - A wanderer
JustAnotherGuy
Posts: 504
Joined: Thu Feb 20, 2020 10:57 pm

Re: Bags

Unread post by JustAnotherGuy »

selhan wrote: Mon Feb 21, 2022 9:03 am All very well nice to know. Containers are cool and all but the point of my question to begin with is ..will this have a weight reduction? LOL :D Kits, clothes, consumables, food, other RP items or items used for rp tend to be very troublesome to someone that aint got a bunch of str . When looting, the amount of nice stuff left behind just so some of us light weights wont be encumbered at the start of the run can get heart breaking.

Im not saying it needs to be 100% weight reduction but even a good 15-20 pounds would be very helpful. I seen some ppl encumbered all day, that gotta be frustrating lol.
As what I would call a "medium STR" toon (14 STR, 16 with a ring) I'd be ok with no weight reduction. Certainly, any time I pick up heavy armor, I become encumbered. But to me, the bags would be more about inventory sorting than anything. I currently have only one tab open, and have over 30 TKL songs in my inventory. I can't rightly justify leaving those in storage, or on a horse, as Emmanuel would be able to play them whenever.

Others I know carry around loads of scrolls, or wands, etc. I would wager that to them it would be more about inventory management than weight, too.

With this said, I wouldn't object to weight reduction. But it's not something I'm personally asking for.
"Now this is the law of the jungle, as old and as true as the sky,
And the wolf that shall keep it may prosper, but the wolf that shall break it must die."
- Rudyard Kipling
User avatar
selhan
Custom Content
Posts: 967
Joined: Tue Jun 09, 2020 7:40 am

Re: Bags

Unread post by selhan »

"Minor reduction would be helpful. Im pretty sure all the ladies with multiple fashion would agree!" :D But seriously its Forgotten Realms after all..I understand the load it puts on the server to have the normal Magic bags, but I think by now.....given that the server been up over a decade would have something similar at the very least. 5-10 Pounds reduction even. *Prays*
“We drink to get drunk, we get drunk to fall asleep, when we fall asleep, we commit no sin, when we commit no sin, we go to the Heaven's."

Bartender of the Broken Goblet - "What's yer Poison?"

Click to find out what time is it for the Bartender
User avatar
Destinysdesire
Posts: 44
Joined: Thu May 19, 2022 11:11 am

Re: Bags

Unread post by Destinysdesire »

Given the latest update was in February, is there any updates?

Also regarding weight reduction bags....yes please? Good money sinks for sure. Have the 100% bags be like 500,000 - 1 mill, you will easily create a money sink people will be happy with!
User avatar
arakan94
Custom Content
Posts: 21
Joined: Fri Jul 22, 2022 6:57 pm
Location: CZ, UTC +2

Re: Bags

Unread post by arakan94 »

I can't wait for bags! And I only started playing week ago :D

As others said, primary use is inventory management (scrolls, potions, ingredients, RP stuff), which leads me to question - would it be possible with the new system to put something that's in bag on the hotbar?
Post Reply

Return to “Coming Soon”