Multiple string variables will be even less efficient size wise than your object based one is now, since you would have multiple entries bloating the database instead of just one.
What I would suggest doing, is storing the object as you were before, with a single added stored string to handle the description.
As for the size issue, the only way I found around that, in my limited use of the bioware DB, was that you did indeed have to delete and recreate the database every time you loaded the module to keep the size down if you were using strings/objects in it.
That would involve loading every object in the DB into local objects and strings, possibly needing to be done in delayed subscripts if there are enough items in it. Then you delete the DB, and recreate it using the stored information.
That will at least ge rid of the skipped entries that don't have pointers any more, but it also assumes the entries in the DB as arranged in a way that you could index them in a for loop.
Doable, but a bit tricky, and you'd certainly want to write it to a new temporary DB instead of the delete/recreate method while testing it.
Modifié par Failed.Bard, 31 août 2011 - 08:38 .