So you can easily get an area roughed up - carving out caves or mountains, cities or plains. The problem is the nuances around the wacky toolset and how it it just doesn't want to cooperate making anything outside of it's rules, rules only it knows.

Well the rules are more like guidelines. Some examples of advanced information for area creation are below. These are taken and edited from some newer (such as Discord) and some older (such as dead forum) sources.

Tile Choices and Partial Groups

Painting Tiles down- When painting corridors, roads or terrain in general that offers a random result, hold down your "shift" key as to place them. Then "reclick" multiple times while holding the "shift" key still and the assortment will rotate in order and save some of the headaches of endlessly clicking until you randomly achieve the tile you wished for.

You can use the "eraser" tool to later select a particular tile and cycle through options (although the amount of rotations variants can be frustrating).

For tile Groups you can actually use partial amounts of them (although the bits you delete will be "blank" on the side!). Place down a feature group somewhere. Now hold down your left mouse button on a particular tile so only one is highlighted blue and press the Delete key. This will delete only part of the tile!

You can later do this as long as you're in a select mode that selects single tiles that turn blue when highlighted (select the top level "folder name" Features or Groups for this).

Below step 1 we place a feature. Step 2 we carefully select one tile of it (holding down left mouse button not just clicking). Step 3 we hit delete while holding, and boom, half a building! Step 4 shows what putting two halves back to back is like - not perfect (the white part is "seeing through" the building) but not something impossible to fix.

 

Copy and Paste Tiles not just Placeables/Creatures

Not known to all you can easily copy and paste tiles individually or in a group using Ctrl + C and Ctrl + V. Again easiest when in the blue selection mode. The paste mode ghosts a view of what the outcome should be, although the toolset may change further tiles to make things fit properly (eg: grass tiles need a water edge so it might take over water on a rural tileset).

Doors...anywhere!

Want a door where no doorframe exists?

  1. Paint down a tile that has a door option in it.
  2. Set a door into the opening.
  3. Go to the left side of the toolset and find the placed door under an areas list. Right click it there and select "adjust location".
  4. Play around with the "X,Y and Z" axis to now relocate where the door physically is. This option is only available here and not when you click on an actual placed door.
  5. Next, move the door well clear of it's original door frame.
  6. Erase the tile you moved the door from and your door will now exist on it's own. The door needs to be first moved from the tile that enabled it though else it too will get erased.
  7. Now continue playing around moving the door until it's where you wish it.

This is a pretty cool feature I use a lot to place doorways into either placeable buildings or create transitions in a tile that usually does not allow a doorway.

Play around in DM mode in a created area and see which if any rooftops you can jump too. You'd be surprised at how many are walkable. Once you figure them out, you can now move doors up to them so you can make some neat little areas accessible to players via door transitions (or by placing a placeable as a trapdoor or other method).

Areas in Code - GFF format

Like most Bioware assets the GFF format is used for .are (area) file information. These can be edited or converted to JSON using neverwinter.nim: https://github.com/niv/neverwinter.nim

This means you can inspect and look at the format of an area and make weird and bizarre, toolset-incompatible changes. For instance:

  • Put any tile next to any other tile
  • Efficiently copy and paste and place at exact coordinates placeables
  • Using the transform options effectively and repeatedly on anything using them

Some of the changes may be wiped when saving in the toolset, but it is a powerful tool and could be combined with scripts and a build process to use nasher or another source control compatible way to make changes "post toolset" but in a module proper (the build process creating the module from code).

Setting Up Permanent Visual Effects on Placeables Efficiently

If you use this script in a placeables OnHeartbeat script it will, at the start of the module, properly apply a permanent visual effect when the "vfx" variable is set. This could be a variety of different effects (eg meteor showers or stoneskin effects).

This is very efficient because it will also remove the script (even if no vfx is applied) meaning the object returns to having no heartbeat event.

void main() {
    int vfx = GetLocalInt(OBJECT_SELF, "vfx");
    if (vfx)
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(vfx), OBJECT_SELF);

    SetEventScript(OBJECT_SELF, EVENT_SCRIPT_PLACEABLE_ON_HEARTBEAT, "");
}

Opening Save Games to make NPCs out of PCs

Did you know a SAV file is essentially a module file? It contains more information that the toolset ignores (such as, for instance, the state of scripts and effects on creatures). However just rename a xxxxx.sav file to xxxxx.mod and you can open it in the toolset.

Why would you do this? You can open the areas as they are when the game is saved, this means you can get items as they appear in the save game. A minor use may be to do layout things, but a more interesting one is having a PC be used as an NPC blueprint.

Note on limitations:

  • The toolset does wipe the "Known Spell List" of Wizard spellcasters. DMs can't possess them to edit the spellbook later (for instance).

CopyObject used on a PC creates an NPC compatible format locked into memory (or...save game). To use this in a module have CopyObject work above as per the below script (eg; on a lever OnUsed event).

void main()
{
    object oUser = GetLastUsedBy();
    CopyObject(oUser, GetLocation(oUser));
}

Copy created! Now save the game.

Then create a module from a save - rename the .sav to .mod and open. Select it in the given area and Add To Palette, note the items added will also be needing to be added (if you don't need the items remove them from the copy or your PC before you start or press X on all the popups - on a big PC this will be hundreds though).

Make sure you assign a category, else you might not find it!

This can be then exported as an ERF or copied from the temp0 directory.

Recommendations:

  • Set the scripts to be the default NPC ones
  • Make sure the tag and resref make sense
  • No labels