I had the idea to implement things to do after the mainquest is finished. For that I created sectors which are not enabled by default and enable them depending on quest status.

First your sector needs to start like this:
Code:
class gCSectorResource {    Version = 1;
    Properties {
        bool DemoRelevant = True;
        bool SaveGameRelevant = True;
        bool NavigationRelevant = True;
        bool GICompileRelevant = False;
        enum gESceneQuality MinSceneQuality = gESceneQuality_Low;
        enum gESceneQuality MaxSceneQuality = gESceneQuality_High;
        bool EnabledInGame = False;
        bool StaticScene = False;
        class bCVector WorldOffset = (vec 0 0 0);
    }
    ClassData {
    }
}
"ABE_NPCs_Hostile_Cle_Off" {
    "" {
        GUID = {eb8b7ae9-455a-42f1-b72a-8056f22c4fc8};
        Creator = {00000000-0000-0000-0000-000000000000};
        MatrixLocal = (mat 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1);
        MatrixGlobal = (mat 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1);
        Extents = (box -1 -1 -1 1 1 1);
        Center = (vec 0 0 0);
        Radius = 1.73205078;
        Range = 50000;
        Unknown0 = <00 00 00 00 00 00 00 00>;
        Unknown1 = <0C>;
        Unknown2 = <1D A4 00 00 00 00>;
This sector is loaded with the game but per default not enabled by the game. Needs a unique GUID and Unknown1 also plays a role.

Next you look into w_info.hdrdoc and add this at the end:
Code:
"DISI_61421" {        Timestamp = (time 131430483080000000 "Tue Jun 27 14:45:08 2017");
        class gCInfo {
            Version = 1;
            Properties {
                class bCString Name = "DISI_61421";
                int MainSortID = 0;
                unsigned int SortID = 14937;
                class bCString Owner = "PC_Hero";
                class eCEntityStringProxy Partner = "";
                bool InfoGiven = False;
                float LastExecutionTimestamp = -1;
                class bCString Parent = "";
                class gCQuestProxy Quest = "";
                enum gEInfoCondType ConditionType = gEInfoCondType_General;
                enum gEInfoType Type = gEInfoType_Comment;
                enum gEInfoGameModeType InfoGameModeType = gEInfoGameModeType_Normal;
                int GoldCost = 0;
                class eCScriptProxyScript GoldCostScript = "";
                class eCTemplateEntityProxy GoldCostItem = {00000000-0000-0000-0000-000000000000};
                class bTObjArray<class gCRequiredPerk> RequiredPerks = [
                ];
                bool DialogPartnerAutoPositioningEnabled = True;
                bool ClearChildren = False;
                bool Permanent = False;
                int CurrentInfoCommandIndex = 0;
                bool InfoIsRunnig = False;
                int StartChapter = -1;
                int EndChapter = -1;
                int CommentGivenCmdIndex = 0;
                class eCEntityStringProxy SmalltalkPartner = "";
                int SmalltalkGivenCmdIndex = -1;
                bool SmalltalkRewind = False;
                float SmalltalkInnerRange = 600;
                bool SmalltalkInnerRangeTestWithLOS = True;
                float SmalltalkOuterRange = 1200;
                class bCString SmalltalkExitRoutineName = "";
                class bCString SmalltalkPartnerExitRoutineName = "";
            }
            ClassData {
                [class gCInfo, Version 1] {
                    InfoCommands {
                        class gCInfoCommandSetSectorStatus {
                            Version = 1;
                            Properties {
                                class bCString SectorName = "ABE_NPCs_Hostile_Cle_Off";
                                bool SectorEnabled = True;
                            }
                            ClassData {
                            }
                        }
                    }
                    InfoConditions {
                        class gCInfoConditionQuestStatus {
                            Version = 1;
                            Properties {
                                class gCQuestProxy Quest = "player_endgame";
                                enum gEInfoQuestStatus Status = gEInfoQuestStatus_Running;
                                bool IsCurrentStatus = True;
                            }
                            ClassData {
                            }
                        }
                    }
                }
            }
        }
    }
It needs a unique name, then add the gCInfoCommandSetSectorStatus for your ready to be enabled sector and finally check the quest status of player_endgame as condition (only started after the main campaign ends).