Page 3 of 34

Re: Bags

Posted: Thu Jan 27, 2022 1:14 pm
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.

Re: Bags

Posted: Thu Jan 27, 2022 4:25 pm
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);
}

Re: Bags

Posted: Thu Jan 27, 2022 5:33 pm
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

Re: Northlander Hewing

Posted: Sat Jan 29, 2022 12:23 pm
by mrm3ntalist
Rhifox wrote: Sat Jan 29, 2022 1:44 amHowever, the DM team will be willing to offer 100% RCRs for anyone who feels they need to change out this feat because of these changes. This offer will be available for one month, until March 1st.
This is nice, but there are no DMs online

Re: Northlander Hewing

Posted: Sat Jan 29, 2022 1:11 pm
by DM Winter
mrm3ntalist wrote: Sat Jan 29, 2022 12:23 pm
Rhifox wrote: Sat Jan 29, 2022 1:44 amHowever, the DM team will be willing to offer 100% RCRs for anyone who feels they need to change out this feat because of these changes. This offer will be available for one month, until March 1st.
This is nice, but there are no DMs online
I've literally been on since 8am EST today :(

But anyway. Just to also inform everyone. I'm often online early afternoon GMT and sometimes late EST. Feel free to poke me in game if you qualify for it and are looking to RCR!

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Mon Jan 31, 2022 6:20 pm
by Kitunenotsume
yay! more choices! I am looking forwards to using them to represent more of my foods and things.

Thank you!

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Mon Jan 31, 2022 7:44 pm
by YourMoveHolyMan
These look awesome!

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Mon Jan 31, 2022 8:16 pm
by Lux
All of my yes.

/ Sincerely, someone who customises everything

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Tue Feb 01, 2022 8:25 am
by Steve
Awesome additions!

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Wed Feb 02, 2022 3:50 pm
by renshouj
love, love, love!

These are amazing and beautiful, thank you for your work!

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Wed Feb 02, 2022 11:05 pm
by Kitunenotsume
I do have a slight question on this matter: Are Food-stuff icons likely to be considered for consumables, or just plant and potion variants?

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Thu Feb 03, 2022 10:46 am
by KOPOJIbPAKOB
Kitunenotsume wrote: Wed Feb 02, 2022 11:05 pm I do have a slight question on this matter: Are Food-stuff icons likely to be considered for consumables, or just plant and potion variants?
They weren't considered, but I'll see what I can add.

Re: Coming Soon: Flowers & Jewelry (aka extra icon customization)

Posted: Thu Feb 03, 2022 11:44 am
by Kitunenotsume
KOPOJIbPAKOB wrote: Thu Feb 03, 2022 10:46 am They weren't considered, but I'll see what I can add.
That would be wonderful, and greatly appreciated by those of us who regularly engage in cooking RP. It would be immensely satisfying to have options for food icons beyond renaming those that already exist, and actually produce our own goods.

Re: Coming Soon: Pets

Posted: Sat Feb 12, 2022 4:43 am
by Steve
Rhifox wrote: Sat Feb 12, 2022 3:10 am A coming patch will include purchasable pet cages (store still to be determined) that allows characters to own pets. Pets are similar to animal companions and familiars, but do not level with the character. All pets are level 2, and will be able to be named.

The available pets will be:

Cat
Chicken
Hawk
Pig
Rabbit
Rat
Snake
Weasel
Tarantula
Dog
Cattledog
Dalmatian
Doberman
Will they function like Companions in combat? Are they able to be killed by other PCs and/mobs?

Re: Coming Soon: Pets

Posted: Sat Feb 12, 2022 4:45 am
by Rhifox
Steve wrote: Sat Feb 12, 2022 4:43 am Will they function like Companions in combat? Are they able to be killed by other PCs and/mobs?
I am debating whether or not they will use summon/companion mechanics or familiar mechanics.

They are as targetable and killable as any other summon.