Just some quick info for anyone looking to expand their AddDoor gump, in case they are unsure what all the numbers mean.
AddDoor_gump_large_1b.jpg
START​
I will explain the more important parts of the code below, i+1, I am not sure, but I would assume it references which door you selected.
This first bit of code handles the small gump that appears when you select a Door Style from the main gump:
C#:
if ( m_Type >= 0 && m_Type < m_Types.Length )
{
    AddBlueBack( 155, 174 );    //This is the size of the small gump that appears once you select a door style.

    int baseID = m_Types[m_Type].m_BaseID;

    AddItem( 25, 24, baseID );    //This is the placement of the top door facing South.
    AddButton( 26, 37, 0x5782, 0x5782, 1, GumpButtonType.Reply, 0 );    //Placement of the Blue arrows to place the door style selected.

    AddItem( 47, 45, baseID + 2 );    //This is the placement of the second door (opposite the top door) facing South.
    AddButton( 43, 57, 0x5783, 0x5783, 2, GumpButtonType.Reply, 0 );    //Placement of the Blue arrows to place the door style selected.

    AddItem( 87, 22, baseID + 10 );    //This is the placement of the first door facing East.
    AddButton( 116, 35, 0x5785, 0x5785, 6, GumpButtonType.Reply, 0 );    //Placement of the Blue arrows to place the door style selected.

    AddItem( 65, 45, baseID + 8 );    //This is the placement of the second door (opposite the top door) facing East.
    AddButton( 96, 55, 0x5784, 0x5784, 5, GumpButtonType.Reply, 0 );    //Placement of the Blue arrows to place the door style selected.

    AddButton( 73, 36, 0x2716, 0x2716, 9, GumpButtonType.Reply, 0 );    //The gold button to *Link* a set of placed doors together.
}

The next bit of code handles the size of the main AddDoor gump, where you select the Door Style you want to place.
C#:
else
{
    AddBlueBack( 1160, 530 );    //This is the background size to cover all the Door Styles that appear.

    for ( int i = 0; i < m_Types.Length; ++i )
    {
        if (i < 23)    //23 is the total number of individual Door Styles installed as actual Doors (and not just a Door Graphic), as actual Doors get added in slots of 16.
        {
            AddButton( 30 + (i * 49), 13, 0x2624, 0x2625, i + 1, GumpButtonType.Reply, 0 );    //Placement of the first row of Silver arrows above each Door Style.
            AddItem( 22 + (i * 49), 20, m_Types[i].m_BaseID );    //Placement of the first row of Door Styles to pick from.
        }
        else if (i >= 23 &&  i < 46)    //This is the second set of Silver arrows and Door Styles. Distance between sets is equal: 127 i.e. 13 + 127 = 140, start the next row. 140 + 127 = 167, start the next row, etc., etc.
        {
            AddButton( 30 + ((i-23) * 49), 140, 0x2624, 0x2625, i + 1, GumpButtonType.Reply, 0 );    //Placement of the second row of Silver arrows above each Door Style.
            AddItem( 22 + ((i-23) * 49), 147, m_Types[i].m_BaseID ); //Placement of the second row of Door Styles.
        }
        else if (i >= 46 && i < 69)        //This is the third set of Silver arrows and Door Styles.
        {
            AddButton( 30 + ((i-46) * 49), 267, 0x2624, 0x2625, i + 1, GumpButtonType.Reply, 0 );    //Placement of the third row of Silver arrows above each Door Style.
            AddItem( 22 + ((i-46) * 49), 274, m_Types[i].m_BaseID );    //Placement of the third row of Door Styles.
        }
        else if (i >= 69 && i < 92)        //This is the fourth set of Silver arrows and Door Styles.
        {
            AddButton( 30 + ((i-69) * 49), 394, 0x2624, 0x2625, i + 1, GumpButtonType.Reply, 0 );    //Placement of the fourth row of Silver arrows above each Door Style.
            AddItem( 22 + ((i-69) * 49), 401, m_Types[i].m_BaseID );    //Placement of the fourth row of Door Styles.
        }
    }
}

Finally, at the bottom is the Array of Door Styles and the reason why I have 4 sets of each Door Style (I have locked doors installed, so I can place each level of Locked door too)
C#:
public static DoorInfo[] m_Types = new DoorInfo[]
        {
            new DoorInfo( typeof( MetalDoor ), 0x675 ),    //First itemID of this Door Style
            new DoorInfo( typeof( MetalDoor2 ), 0x6C5 ),    //First itemID of this Door Style
            new DoorInfo( typeof( BarredMetalDoor ), 0x685 ),
            new DoorInfo( typeof( BarredMetalDoor2 ), 0x1FED ),
            new DoorInfo( typeof( RattanDoor ), 0x695 ),
            new DoorInfo( typeof( DarkWoodDoor ), 0x6A5 ),
            new DoorInfo( typeof( MediumWoodDoor ), 0x6B5 ),
            new DoorInfo( typeof( LightWoodDoor ), 0x6D5 ),
            new DoorInfo( typeof( StrongWoodDoor ), 0x6E5 ),
            new DoorInfo( typeof( IronGate ), 0x824 ),
            new DoorInfo( typeof( IronGateShort ), 0x84c ),
            new DoorInfo( typeof( LightWoodGate ), 0x839 ),
            new DoorInfo( typeof( DarkWoodGate ), 0x866 ),
           
            /*Added by Raist*/
            new DoorInfo( typeof( TreeDoor ), 0x2BE9),
            new DoorInfo( typeof( CarvedWoodDoor ), 0x2BF9),
            new DoorInfo( typeof( ForgedSteelDoor ), 0x2C09),
            new DoorInfo( typeof( RedOrnateWoodDoor ), 0x2C7E),
            new DoorInfo( typeof( HippieWoodDoor ), 0x2C8E),
            new DoorInfo( typeof( CelestialSteelDoor ), 0x2C9E),
            new DoorInfo( typeof( WhiteDragonWoodDoor ), 0x2CAE),
            new DoorInfo( typeof( GoodLuckWoodDoor ), 0x2CBE),
            new DoorInfo( typeof( PaintedRatanDoor ), 0x2CCE),
            new DoorInfo( typeof( TigerRatanDoor ), 0x2E48),

            //Low 10, 50
            new DoorInfo( typeof( MetalDoor_Locked ), 0x675 ),
            new DoorInfo( typeof( MetalDoor2_Locked ), 0x6C5 ),
            new DoorInfo( typeof( BarredMetalDoor_Locked ), 0x685 ),
            new DoorInfo( typeof( BarredMetalDoor2_Locked ), 0x1FED ),
            new DoorInfo( typeof( RattanDoor_Locked ), 0x695 ),
            new DoorInfo( typeof( DarkWoodDoor_Locked ), 0x6A5 ),
            new DoorInfo( typeof( MediumWoodDoor_Locked ), 0x6B5 ),
            new DoorInfo( typeof( LightWoodDoor_Locked ), 0x6D5 ),
            new DoorInfo( typeof( StrongWoodDoor_Locked ), 0x6E5 ),
            new DoorInfo( typeof( IronGate_Locked ), 0x824 ),
            new DoorInfo( typeof( IronGateShort_Locked ), 0x84c ),
            new DoorInfo( typeof( LightWoodGate_Locked ), 0x839 ),
            new DoorInfo( typeof( DarkWoodGate_Locked ), 0x866 ),
           
            /*Added by Raist*/
            new DoorInfo( typeof( TreeDoor_Locked ), 0x2BE9),
            new DoorInfo( typeof( CarvedWoodDoor_Locked ), 0x2BF9),
            new DoorInfo( typeof( ForgedSteelDoor_Locked ), 0x2C09),
            new DoorInfo( typeof( RedOrnateWoodDoor_Locked ), 0x2C7E),
            new DoorInfo( typeof( HippieWoodDoor_Locked ), 0x2C8E),
            new DoorInfo( typeof( CelestialSteelDoor_Locked ), 0x2C9E),
            new DoorInfo( typeof( WhiteDragonWoodDoor_Locked ), 0x2CAE),
            new DoorInfo( typeof( GoodLuckWoodDoor_Locked ), 0x2CBE),
            new DoorInfo( typeof( PaintedRatanDoor_Locked ), 0x2CCE),
            new DoorInfo( typeof( TigerRatanDoor_Locked ), 0x2E48),

            //Med 25, 75
            new DoorInfo( typeof( MetalDoor_Locked_M ), 0x675 ),
            new DoorInfo( typeof( MetalDoor2_Locked_M ), 0x6C5 ),
            new DoorInfo( typeof( BarredMetalDoor_Locked_M ), 0x685 ),
            new DoorInfo( typeof( BarredMetalDoor2_Locked_M ), 0x1FED ),
            new DoorInfo( typeof( RattanDoor_Locked_M ), 0x695 ),
            new DoorInfo( typeof( DarkWoodDoor_Locked_M ), 0x6A5 ),
            new DoorInfo( typeof( MediumWoodDoor_Locked_M ), 0x6B5 ),
            new DoorInfo( typeof( LightWoodDoor_Locked_M ), 0x6D5 ),
            new DoorInfo( typeof( StrongWoodDoor_Locked_M ), 0x6E5 ),
            new DoorInfo( typeof( IronGate_Locked_M ), 0x824 ),
            new DoorInfo( typeof( IronGateShort_Locked_M ), 0x84c ),
            new DoorInfo( typeof( LightWoodGate_Locked_M ), 0x839 ),
            new DoorInfo( typeof( DarkWoodGate_Locked_M ), 0x866 ),
           
            /*Added by Raist*/
            new DoorInfo( typeof( TreeDoor_Locked_M ), 0x2BE9),
            new DoorInfo( typeof( CarvedWoodDoor_Locked_M ), 0x2BF9),
            new DoorInfo( typeof( ForgedSteelDoor_Locked_M ), 0x2C09),
            new DoorInfo( typeof( RedOrnateWoodDoor_Locked_M ), 0x2C7E),
            new DoorInfo( typeof( HippieWoodDoor_Locked_M ), 0x2C8E),
            new DoorInfo( typeof( CelestialSteelDoor_Locked_M ), 0x2C9E),
            new DoorInfo( typeof( WhiteDragonWoodDoor_Locked_M ), 0x2CAE),
            new DoorInfo( typeof( GoodLuckWoodDoor_Locked_M ), 0x2CBE),
            new DoorInfo( typeof( PaintedRatanDoor_Locked_M ), 0x2CCE),
            new DoorInfo( typeof( TigerRatanDoor_Locked_M ), 0x2E48),

            //High 50, 100
            new DoorInfo( typeof( MetalDoor_Locked_H ), 0x675 ),
            new DoorInfo( typeof( MetalDoor2_Locked_H ), 0x6C5 ),
            new DoorInfo( typeof( BarredMetalDoor_Locked_H ), 0x685 ),
            new DoorInfo( typeof( BarredMetalDoor2_Locked_H ), 0x1FED ),
            new DoorInfo( typeof( RattanDoor_Locked_H ), 0x695 ),
            new DoorInfo( typeof( DarkWoodDoor_Locked_H ), 0x6A5 ),
            new DoorInfo( typeof( MediumWoodDoor_Locked_H ), 0x6B5 ),
            new DoorInfo( typeof( LightWoodDoor_Locked_H ), 0x6D5 ),
            new DoorInfo( typeof( StrongWoodDoor_Locked_H ), 0x6E5 ),
            new DoorInfo( typeof( IronGate_Locked_H ), 0x824 ),
            new DoorInfo( typeof( IronGateShort_Locked_H ), 0x84c ),
            new DoorInfo( typeof( LightWoodGate_Locked_H ), 0x839 ),
            new DoorInfo( typeof( DarkWoodGate_Locked_H ), 0x866 ),
           
            /*Added by Raist*/
            new DoorInfo( typeof( TreeDoor_Locked_H ), 0x2BE9),
            new DoorInfo( typeof( CarvedWoodDoor_Locked_H ), 0x2BF9),
            new DoorInfo( typeof( ForgedSteelDoor_Locked_H ), 0x2C09),
            new DoorInfo( typeof( RedOrnateWoodDoor_Locked_H ), 0x2C7E),
            new DoorInfo( typeof( HippieWoodDoor_Locked_H ), 0x2C8E),
            new DoorInfo( typeof( CelestialSteelDoor_Locked_H ), 0x2C9E),
            new DoorInfo( typeof( WhiteDragonWoodDoor_Locked_H ), 0x2CAE),
            new DoorInfo( typeof( GoodLuckWoodDoor_Locked_H ), 0x2CBE),
            new DoorInfo( typeof( PaintedRatanDoor_Locked_H ), 0x2CCE),
            new DoorInfo( typeof( TigerRatanDoor_Locked_H ), 0x2E48),
        }

AddDoor_gump_large_1.jpgFINISHED​
Have fun!
:)
 
Last edited:
Back