Talk:How-tos

From Dragon Age Toolset Wiki
Jump to: navigation, search

the SetCommandable function cite under the "possum" head does not seem to exist. If it does exist, we should provide header for it. -- georage


How-to's that might be nice to add

Add a custom area to the main campaign world map (like how DLC locations are added)

Equip the player with a custom item in the main campaign (see http://social.bioware.com/5339/blog/576/ )

Avantoreon 18:23, 10 November 2009 (UTC)

Deleting modules from toolset/database

Okay, maybe it's just me and however my SQL Server Management Studio Express is set up (default settings), but I found ripping module info out of it nowhere near as easy as the how-to made it sound. I had one module (Demo_1) with two areas; an area transition door/waypoint combo in both areas, a start waypoint and a firepit/sound object in one of the areas.

Followed the instructions to open the Modules table (called dbo.t_Module for me), found the row with Demo_1 on, selected it and pressed delete...wham! Error message effectively saying 'can't delete this, another table refers to it'.

Ookay...so off I go to find that table (dbo.t_ModuleResRef). Sure enough, there's a few rows at the bottom with Demo_1's ID number in the ModuleID column. Fine; select the bottom-most row, pressed delete...wham - again! This row also has another table referring to it.

Off I go again, this time to table dbo.t_ModuleResRefVersion Once more there's a handful of rows at the bottom with Demo_1's ID number in the ModuleID and matching ResRefIDs for the rows in the table before that I'd just tried to delete. By this point I'm actually considering praying before selecting a row and hitting delete... Maybe I should have. Yep, you guessed it - off to find another table.

So this time the table is dbo.t_Placeable, which gives me some hope that maybe, just maybe, this is the end of the reference chain (I prayed, just to be on the safe side!). Not as easy to find what I was looking for, the rows here I had to cross-reference with the ModuleResRefVersion IDs from the previous table - no simple module IDs to help here. Find a row that matches, select, (pray), delete... Success!

Up the table I go, carefully checking ModuleResRefVersion IDs and deleting the rows associated with the module I'm exterminating. Once they're all gone, it's back to the ModuleResRefVersion table itself. Select the row that wouldn't let me delete it before, aaand... another 'can't delete this, another table refers to it' error...

So, in the epically long dbo.t_StringVersion table, seek and destroy all the relevant rows with ModuleResRefVersion IDs that I no longer want...only to find, yep, need to weed them out of dbo.t_StringText first. dbo.t_StringText weeded successfully, I go back to dbo.t_StringVersion and breathe a sigh of relief when that now lets the rows be removed. Take 2 for the ModuleResRefVersion table.

And this time that works as well...to a point. That point being (if you have resource names you can identify easily) where I'd managed to delete all the placeable information and tried to delete the area information. Unsurprisingly (by this point), this sent me off to dbo.t_Area which sent me to dbo.t_AreaInstanceAssociations - I only had one entry in this table, possibly because I'd only created the one module at this point. Back to dbo.t_Area, only to find that I needed to edit dbo.t_AreaWaypoint (3 rows corresponding to each of my 3 waypoints), and then dbo.t_AreaObject which sent me to dbo.t_AreaObjectVariable (4 rows; two for each area transition door). Finally back to dbo.t_Area again aaand, off to dbo.t_AreaSound (the firepit's sound object) - another table with just the one row.

Fiiinally, dbo.t_Area is free of ModuleResRefVersion IDs for my Demo(n) module! Back to the ModuleResRefVersion table and delete the last references in there. Back to the ModuleResRef table and delete all the appropriate module references in there. And finally, finally, back to the table that started it all, the Module table, and delete the module reference in there.

All that, just to delete a basic module consisting of 2 Areas, 2 (transition) Doors, 3 Waypoints, 1 Firepit and 1 Sound Object. Why oh why could there not be a simple 'delete' option for modules within the toolset itself? ZGold 10:53, 20 November 2009 (UTC)

Just to add; I'd already deleted the resources (placeables, areas etc.) from the module in the toolset before I went rooting around in the SQL. ZGold 10:55, 20 November 2009 (UTC)
Hmm oddish. Worked fine for me and I didn't even bother to delete anything. I'll poke around some more. Might be a moot point as I am working on a Stored Procedure to remove all the references. Languard 14:33, 20 November 2009 (UTC)
like I said, it could be something in the default setup of the SQL manager *shrugs* - a couple of additional notes; I found the string editor in the toolset was still refering to a talk table for my deleted module, I had to go back into the SQL and delete the appropriate reference from the dbo.t_String and dbo.t_StringTable tables; also, after the first round of deleting things from the SQL tables when I tried to load the editor it threw up a series of errors - whether that had anything to do with the module I deleted having been the last open (and thus 'open by default') module, or not, I'm not sure, but after agreeing that the toolset could open the default module (single player) and trying to run the editor again, it ran fine. Thought I'd mention that just in case anyone has the same thing happen and panics :P ZGold 17:19, 20 November 2009 (UTC)


You guys are scaring me. There has to be a better way, doesn't there? --Adaram 17:37, 20 November 2009 (UTC)
I think (hope!) Languard is working on said better way, but I must admit, I'm very surprised that bioware didn't add a utility for automatically doing this sort of thing. Another thing to watch out for; as I'd exported my demo module there was a 'toolset export' folder (or some similar name) in my override folder that broke the automatic addition of NPCs (Morrigan/Alistair/Dog etc) to my party (in the OC) until I deleted said folder. ZGold 10:52, 23 November 2009 (UTC)

Scripting Methods...

Modified the first script example. It was using IsPlayer() instead of IsHero() method call. --JJM152 12:17, 23 December 2009 (UTC)