The WeiDU-Readme(WeiDU Documentation) was very helpful 
There I found answers to many questions I had which most tutorials do not go into.
It helped me restructering my files so I can (re)install it using weidu which helps a lot.
Yes, it is a modder's best friend, next to the
IESDP (but get the most recent
WeiDU document Jarno linked or the one included with
WeiDU v213).
I am using tp2 scriptparts from the german mod Breagar of Ascalon. He is using the tp2 to insert a trigger into the docsdistrict of Athkatla which I could use (modified of course). I know where the code is and searching it in in Aurora could be painful because I don't know the mod.
Ok, well here's an example from the code. First you want to copy this file to mymod/lib or somewhere like that, so you can INCLUDE the code in your mod.
fj_add_are_struct.tpa 29.41K
161 downloadsThen you can do stuff like this:
INCLUDE ~mymod/lib/fj_add_are_struct.tpa~ //Includes the area function code
COPY_EXISTING ar0500.are override //Bridge District
PATCH_IF SOURCE_SIZE > 0x28f BEGIN //Makes sure the area has a valid size
LPF fj_add_are_structure //LPF is short for LAUNCH_PATCH_FUNCTION
INT_VAR
fj_loc_x = 2780 //X coordinate
fj_loc_y = 1955 //Y coordinate
fj_dest_loc_x = 2780 //Same as above unless the creature moves around
fj_dest_loc_y = 1955
fj_animation = 0x6110 //fighter female human
fj_orientation = 15 //South-southeast
STR_VAR
fj_structure_type = actor //Tells it to add a creature (actor) to the area
fj_name = Aurora
fj_cre_resref = agaurora //Filename of the .cre
END
LPF fj_add_are_structure
INT_VAR
fj_type = 2 //Travel region
fj_box_left = 3415
fj_box_top = 625
fj_box_right = 3450
fj_box_bottom = 700
fj_cursor_index = 30 //Door cursor
fj_vertex_0 = 3415 + (625 << 16) //X+Y of each vertex in the travel polygon
fj_vertex_1 = 3450 + (650 << 16)
fj_vertex_2 = 3450 + (700 << 16)
fj_vertex_3 = 3415 + (676 << 16)
STR_VAR
fj_structure_type = region
fj_name = Tran0540
fj_destination_area = ag0540
fj_destination_name = Exit0500
END
LPF fj_add_are_structure
INT_VAR
fj_loc_x = 3490 //Adds a new entrance from another area
fj_loc_y = 655
fj_orientation = 10 //Northeast
STR_VAR
fj_structure_type = entrance
fj_name = Exit0540
END
END
BUT_ONLYThese are 3 examples: adding an actor, a travel region (going to another area) and an entrance (coming from another area). But using similar syntax, it will do just about anything, possibly even the dishes. Well maybe not, but anything with adding something to an area, even an animation for a new door.
Newest problem:
At the momend I am thinking of how to erase actors from a map using tp2. I want to delete the assasins in candlekeep (ar6502 and ar6507) because I am planing on relocating them to an other area.
I don't know how to actually delete whole actors from an area so (at the moment) I am replacing their creaturefiles and names with the ones from the tutors in candlekeep. (using tp2 for this) Shank is easy but in ar6507 there are three more creatures and I am trying to figure out which one actually is Carbos using tp2 coding. (WHILE Loop + READ_ASCII the Creaturefiles and if it's a match rewrite it)
If you know an easier way (or how to delete whole actors savely) let me know 
You want to use a FOR loop instead of WHILE (more efficient) and no need to rewrite, since you can delete the actor from the area as long as you update all the offsets.
BACKUP ~mymod/backup~
AUTHOR ~whatever~
BEGIN ~Area Patching Example~
//This code allows your mod to be compatible with both Tutu and BGT
ACTION_IF FILE_EXISTS_IN_GAME ~fw0125.are~ BEGIN //If Tutu
OUTER_SPRINT tutu_var ~_~
OUTER_SPRINT ckpq ~fw2602~ //Candlekeep Priest's Quarters
END ELSE BEGIN //Otherwise (if BGT)
OUTER_SPRINT tutu_var ~~
OUTER_SPRINT ckpq ~ar6502~ //Candlekeep Priest's Quarters
END
COPY_EXISTING ~%ckpq%.are~ override //fw2602 in Tutu; ar6502 in BGT
PATCH_IF SOURCE_SIZE > 0x28f BEGIN //Makes sure the area has a valid size
READ_LONG 0x54 actor_offset
READ_SHORT 0x58 actor_count
FOR (i = 0; i < actor_count; i += 1) BEGIN //Cycle through actors
READ_ASCII (i * 0x110 + actor_offset + 0x80) cre_file //Read the filename
PATCH_IF (~%cre_file%~ STRING_EQUAL_CASE ~%tutu_var%shank~ = 1) BEGIN //If Shank found
DELETE_BYTES (i * 0x110 + actor_offset) 0x110 //Delete him
actor_count -= 1
WRITE_SHORT 0x58 actor_count
PATCH_FOR_EACH offset IN 0x5c 0x60 0x68 0x70 0x78 0x7c 0x84 0x88 0xa0 0xa8 0xb0 0xb8 0xbc 0xc0 0xc4 0xcc BEGIN
READ_LONG offset old_value
PATCH_IF old_value >= 0x110 BEGIN //If it's not a zeroed offset
WRITE_LONG offset (old_value - 0x110) //Update offset to account for deleted actor
END
END
END
END
END
BUT_ONLYI tried to comment it so it's fairly clear what everything does. But the only thing you'd have to change to reuse it elsewhere (such as for Carbos) is the area name (or variable) and cre filename.
by the way: I hate edit files with tp2 - replacing the whole thing would be much easier 
It is very easy to do this sort of thing with
DLTCEP (just load the area, click on the Actors tab and Delete Shank). But if you start overwriting a bunch of stuff, people will hate your mod because it won't be compatible with other mods. Now rewriting the tileset *might* be ok for such a small area, because the chance of another modder wanting to change it is fairly slim. But you never know. It is almost as easy (maybe easier) to make a BAM for your new door and add it with the function above if you really want to be compatible.
And
WeiDU code may be a pain to learn, but it's not as bad as it looks. Plus you've already conceded it's main benefit:
It helped me restructering my files so I can (re)install it using weidu which helps a lot.