Voilà pour ceux qui ne peuvent pas accéder à la page.
Altquark
Author How exactly is the database going to work ?
I'd like to know how the SoU database functionality is going to work for persistent worlds - anyone have any updates on this section ?
-------------------------------------------------------------------------
Torias
Moderator
most likely, I guess you'd just be able to save particular variables to a persistent storage file, then reload them when module starts again.
so kinda like "saveperistant(objectName)"
and "loadpersistant(objectName)"
dunno if they'd have one set of functions (that'll take any data type), or a set of functions for each data type...
-----------------------------------------------------------------------------------
David Gaider
Designer Bioware
I've only used the data storage dealie once before, so my memory is not exactly the best regarding it. However, basically there are two types of commands:
1) There's the Get/Set for each data type (except objects), similar to how it works now with GetLocalInt and so forth... except you're using the command GetCampaignInt along with an extra field, the "database name".
So you could store an integer with SetCampaignInt( "Campaign", "Plot_Done", 1, GetPCSpeaker()); and then store a location in the same database with SetCampaignLocation("Campaign", "Teleport_Location", lLoc, GetPCSpeaker());
Then in the other module I can use the Get version to retrieve that info... or simply use DestroyCampaignDatabase( "Campaign"); to remove all data of whatever type that was stored under that name.
2) Objects work a bit differently. You use StoreCampaignObject (which returns TRUE if successful) and RetrieveCampaignObject (which returns an object, obviously). The thing I like about this is that objects are stored inventory and all... so bringing a henchman along with his current inventory into another module is a quick, one-command operation.
Where the data is stored and where the other module reads it from... pffft, you got me. But it works just fine.
Once again, a caveat: this is based on my imperfect memory and the functions may yet change. You were warned.
-----------------------------------------------------------------------------------
Torias
Moderator
so bringing a henchman along with his current inventory into another module is a quick, one-command operation.
I love the fact that henchpeople are rising in prominence...
I think the next big step would be to have the henchpeople actually level up just like a pc, and have the pc able "suggest" possible advancement paths to the henchperson through dialogue...
ie, don't let the player level up the henchperson, but have a conversation where the henchperson is talking about their training and they aren't sure if they should focus more in area (A) or area (B)... and the pc could offer their advice / suggestions...
that, and having the henchpeople shop for their own equipment at market places in towns
----------------------------------------------------------------------------------
David Gaider
Designer Bioware
I think the next big step would be to have the henchpeople actually level up just like a pc, and have the pc able "suggest" possible advancement paths to the henchperson through dialogue...
Well, I rather suspect that would involve the new command LevelUpHenchman... but I'll talk more about that later.
captaincursor
Joined: 15 Mar 2002 Posted: Friday, 04 April 01:53AM
So does storing an object and all it's inventory include things like packs or boxes. Say a bank vault?
------------------------------------------------------------------------------------
Torias
Moderator
I think the next big step would be to have the henchpeople actually level up just like a pc, and have the pc able "suggest" possible advancement paths to the henchperson through dialogue...
Well, I rather suspect that would involve the new command LevelUpHenchman... but I'll talk more about that later.
being a multiclassed cynic/optimist... I have a hard time figuring out if you are joking or not
-----------------------------------------------------------------------------------
LdyShayna
Well, being an optimist who has eaten a fair amount of sugar today, I'll say, "Goodygoodygoodygoody!"
Come see our Shadows of Undrentide Page for information not even on the BioWare official site yet!
----------------------------------------------------------------------------------
Kem
Being able to store any object will be very nice.
Now add that to the 2da reading, you can read in a random monster table from a 2da into the database once. Then if you ever update the 2da you can have a command or lever to pull that will re read the 2da. Seems odd to have it in more then one place, but you can organize it and have keywords to retreve it from the database while reading from a 2da file will be rather difficult.
As an example for what I use for my scroll creation.
I have the player say the name of the spell, or enough of it to distiguise it from other spells. Or if I like an abbreviation.
So if I (pardon the format of this I haven't had to edit this part in a long time)
GetLocalInt("Spell Keyword" + WhatPCSaid, vVariable)
It will give me Spell Number that relates to the keyword used by the PC.
So if I wanted to have Deities and their favorite weapon (Someone keeps using this so why not
)
I could retreive it from the Database just by
GetLocal*something*(sDeityName + "Favorite Weapon",vValue)
But to get it form the 2da I'd first have to get the Dieties Number in the 2da.
And if you are feeling really wasteful you could even go so far as to have a "Fake Array" of each weapon with the deities that favor that weapon in it.
And since its all now going into a database, you only need to run the code that does it once, for each time it changes.
Now for an Odd Question
If I Store a player object (assuming it stores everything about a character)
I'm curious as to if I can set a player back to that object.
Prolly not possible, and would make for interesting solutions to something, I'm sure
-----------------------------------------------------------------------------------
David Gaider
Designer Bioware
being a multiclassed cynic/optimist... I have a hard time figuring out if you are joking or not
Me? I never joke in italics. That command is quite real.
-----------------------------------------------------------------------------------
Garad Moonbeam
Quote: Posted 04/04/03 02:02:44 (GMT) by Torias
being a multiclassed cynic/optimist... I have a hard time figuring out if you are joking or not
Me? I never joke in italics. That command is quite real.
Sweet Now, are they REALLY levelling up, or destroying themselves and recreating the next version still?
I've got a further question about the SetCampaign* functions. When you tell it the "table name", will it automatically create that table? Or do you have to use seperate commands for setting up tables? If its automatic that's sort of neat...cause you can use any scripting command that returns a string to set the name of the table you want to store data in. i.e. SetCampaingInt(GetName(oPC), GetCurrentHP(oPC), "HP") (appologies if I muddled up those function names and variable orders...need sleep )
-----------------------------------------------------------------------------------
David Gaider
Designer Bioware
Quote: Posted 04/04/03 03:16:00 (GMT) by Kem
Now for an Odd Question
If I Store a player object (assuming it stores everything about a character)
I'm curious as to if I can set a player back to that object.
No, because there's no command to "set a player back" to anything, is there? I assume you could store the player state at some point and, say, use CopyObject to create a duplicate of the PC at that point... I'm not sure, though, as I've never tried storing the PC object.
-----------------------------------------------------------------------------------
Kem
Quote: Posted 04/04/03 03:16:00 (GMT) by Kem
Now for an Odd Question
If I Store a player object (assuming it stores everything about a character)
I'm curious as to if I can set a player back to that object.
No, because there's no command to "set a player back" to anything, is there? I assume you could store the player state at some point and, say, use CopyObject to create a duplicate of the PC at that point... I'm not sure, though, as I've never tried storing the PC object.
Yeah that was more of a I really doubt it but I can hope type thing
One day I'll have to try and get a PC to change like that though I doubt I could but its worth a shot and will prolly make me learn something
-----------------------------------------------------------------------------------
David Gaider
Designer Bioware
Quote: Posted 04/04/03 02:02:44 (GMT) by Torias
being a multiclassed cynic/optimist... I have a hard time figuring out if you are joking or not
Me? I never joke in italics. That command is quite real.
yaaayyyy
what arguments do you get to pass to the command? do you get to tell it what class to level up? what feats / skills to take?
maybe it could use prioritised lists like for the recommend system...
or does it just destroy the npc and replace them with the next predefined version?
-----------------------------------------------------------------------------------
David Gaider
Designer Bioware
Quote: Posted 04/04/03 04:27:28 (GMT) by Garad Moonbeam
Sweet Now, are they REALLY levelling up, or destroying themselves and recreating the next version still?
They are really levelling up. There's only one version of the henchmen in the OC modules, not twenty.
Quote: I've got a further question about the SetCampaign* functions. When you tell it the "table name", will it automatically create that table?
Yes. There's a seperate command to destroy the entire table, but it is created by SetCampaign*** automatically.