DCS World Typescript
    Preparing search index...
    interface l_world {
        BirthPlace: {
            wsBirthPlace_Air: number;
            wsBirthPlace_Heliport_Cold: number;
            wsBirthPlace_Heliport_Hot: number;
            wsBirthPlace_Park: number;
            wsBirthPlace_RunWay: number;
            wsBirthPlace_Ship: number;
            wsBirthPlace_Ship_Cold: number;
            wsBirthPlace_Ship_Hot: number;
        };
        event: {
            S_EVENT_AI_ABORT_MISSION: number;
            S_EVENT_BASE_CAPTURED: number;
            S_EVENT_BDA: number;
            S_EVENT_BIRTH: number;
            S_EVENT_CRASH: number;
            S_EVENT_DAYNIGHT: number;
            S_EVENT_DEAD: number;
            S_EVENT_DETAILED_FAILURE: number;
            S_EVENT_DISCARD_CHAIR_AFTER_EJECTION: number;
            S_EVENT_EJECTION: number;
            S_EVENT_EMERGENCY_LANDING: number;
            S_EVENT_ENGINE_SHUTDOWN: number;
            S_EVENT_ENGINE_STARTUP: number;
            S_EVENT_FLIGHT_TIME: number;
            S_EVENT_GROUP_CHANGE_OPTION: number;
            S_EVENT_HIT: number;
            S_EVENT_HUMAN_AIRCRAFT_REPAIR_FINISH: number;
            S_EVENT_HUMAN_AIRCRAFT_REPAIR_START: number;
            S_EVENT_HUMAN_FAILURE: number;
            S_EVENT_INVALID: number;
            S_EVENT_KILL: number;
            S_EVENT_LAND: number;
            S_EVENT_LANDING_AFTER_EJECTION: number;
            S_EVENT_LANDING_QUALITY_MARK: number;
            S_EVENT_MAC_EXTRA_SCORE: number;
            S_EVENT_MAC_LMS_RESTART: number;
            S_EVENT_MARK_ADDED: number;
            S_EVENT_MARK_CHANGE: number;
            S_EVENT_MARK_REMOVED: number;
            S_EVENT_MAX: number;
            S_EVENT_MISSION_END: number;
            S_EVENT_MISSION_RESTART: number;
            S_EVENT_MISSION_START: number;
            S_EVENT_MISSION_WINNER: number;
            S_EVENT_PARATROOPER_LENDING: number;
            S_EVENT_PILOT_DEAD: number;
            S_EVENT_PLAYER_CAPTURE_AIRFIELD: number;
            S_EVENT_PLAYER_COMMENT: number;
            S_EVENT_PLAYER_ENTER_UNIT: number;
            S_EVENT_PLAYER_LEAVE_UNIT: number;
            S_EVENT_PLAYER_SELF_KILL_PILOT: number;
            S_EVENT_REFUELING: number;
            S_EVENT_REFUELING_STOP: number;
            S_EVENT_RUNWAY_TAKEOFF: number;
            S_EVENT_RUNWAY_TOUCH: number;
            S_EVENT_SCORE: number;
            S_EVENT_SHOOTING_END: number;
            S_EVENT_SHOOTING_START: number;
            S_EVENT_SHOT: number;
            S_EVENT_SIMULATION_FREEZE: number;
            S_EVENT_SIMULATION_START: number;
            S_EVENT_SIMULATION_UNFREEZE: number;
            S_EVENT_TAKEOFF: number;
            S_EVENT_TOOK_CONTROL: number;
            S_EVENT_TRIGGER_ZONE: number;
            S_EVENT_UNIT_CREATE_TASK: number;
            S_EVENT_UNIT_DELETE_TASK: number;
            S_EVENT_UNIT_LOST: number;
            S_EVENT_UNIT_TASK_COMPLETE: number;
            S_EVENT_UNIT_TASK_STAGE: number;
            S_EVENT_WEAPON_ADD: number;
            S_EVENT_WEAPON_DROP: number;
            S_EVENT_WEAPON_REARM: number;
        };
        eventHandlers: {};
        persistenceHandlers: {};
        VolumeType: {
            BOX: number;
            PYRAMID: number;
            SEGMENT: number;
            SPHERE: number;
        };
        weather: l_WorldWeather;
        addEventHandler(handler: l_WorldEventHandler): void;
        getAirbases(): l_Airbase[];
        getMarkPanels(): WorldMarkPanel[];
        getPersistenceData(name: string): unknown;
        getPlayer(): l_Unit | undefined;
        onEvent(event: l_WorldEvent): void;
        removeEventHandler(handler: l_WorldEventHandler): void;
        removeJunk(volume: WorldVolume): number;
        runPersistenceHandlers(
            storageFunc: (this: void, name: string, value: unknown) => void,
        ): void;
        searchObjects<T>(
            category: number | number[],
            volume: WorldVolume,
            handler: (this: void, object: l_Object, data: T) => boolean,
            data?: T,
        ): number;
        setPersistenceHandler(name: string, handler: (this: void) => unknown): void;
        setPersistencePassthrough(
            handler: (this: void, ...args: unknown[]) => unknown,
        ): void;
    }

    Hierarchy (View Summary)

    Index
    BirthPlace: {
        wsBirthPlace_Air: number;
        wsBirthPlace_Heliport_Cold: number;
        wsBirthPlace_Heliport_Hot: number;
        wsBirthPlace_Park: number;
        wsBirthPlace_RunWay: number;
        wsBirthPlace_Ship: number;
        wsBirthPlace_Ship_Cold: number;
        wsBirthPlace_Ship_Hot: number;
    }
    event: {
        S_EVENT_AI_ABORT_MISSION: number;
        S_EVENT_BASE_CAPTURED: number;
        S_EVENT_BDA: number;
        S_EVENT_BIRTH: number;
        S_EVENT_CRASH: number;
        S_EVENT_DAYNIGHT: number;
        S_EVENT_DEAD: number;
        S_EVENT_DETAILED_FAILURE: number;
        S_EVENT_DISCARD_CHAIR_AFTER_EJECTION: number;
        S_EVENT_EJECTION: number;
        S_EVENT_EMERGENCY_LANDING: number;
        S_EVENT_ENGINE_SHUTDOWN: number;
        S_EVENT_ENGINE_STARTUP: number;
        S_EVENT_FLIGHT_TIME: number;
        S_EVENT_GROUP_CHANGE_OPTION: number;
        S_EVENT_HIT: number;
        S_EVENT_HUMAN_AIRCRAFT_REPAIR_FINISH: number;
        S_EVENT_HUMAN_AIRCRAFT_REPAIR_START: number;
        S_EVENT_HUMAN_FAILURE: number;
        S_EVENT_INVALID: number;
        S_EVENT_KILL: number;
        S_EVENT_LAND: number;
        S_EVENT_LANDING_AFTER_EJECTION: number;
        S_EVENT_LANDING_QUALITY_MARK: number;
        S_EVENT_MAC_EXTRA_SCORE: number;
        S_EVENT_MAC_LMS_RESTART: number;
        S_EVENT_MARK_ADDED: number;
        S_EVENT_MARK_CHANGE: number;
        S_EVENT_MARK_REMOVED: number;
        S_EVENT_MAX: number;
        S_EVENT_MISSION_END: number;
        S_EVENT_MISSION_RESTART: number;
        S_EVENT_MISSION_START: number;
        S_EVENT_MISSION_WINNER: number;
        S_EVENT_PARATROOPER_LENDING: number;
        S_EVENT_PILOT_DEAD: number;
        S_EVENT_PLAYER_CAPTURE_AIRFIELD: number;
        S_EVENT_PLAYER_COMMENT: number;
        S_EVENT_PLAYER_ENTER_UNIT: number;
        S_EVENT_PLAYER_LEAVE_UNIT: number;
        S_EVENT_PLAYER_SELF_KILL_PILOT: number;
        S_EVENT_REFUELING: number;
        S_EVENT_REFUELING_STOP: number;
        S_EVENT_RUNWAY_TAKEOFF: number;
        S_EVENT_RUNWAY_TOUCH: number;
        S_EVENT_SCORE: number;
        S_EVENT_SHOOTING_END: number;
        S_EVENT_SHOOTING_START: number;
        S_EVENT_SHOT: number;
        S_EVENT_SIMULATION_FREEZE: number;
        S_EVENT_SIMULATION_START: number;
        S_EVENT_SIMULATION_UNFREEZE: number;
        S_EVENT_TAKEOFF: number;
        S_EVENT_TOOK_CONTROL: number;
        S_EVENT_TRIGGER_ZONE: number;
        S_EVENT_UNIT_CREATE_TASK: number;
        S_EVENT_UNIT_DELETE_TASK: number;
        S_EVENT_UNIT_LOST: number;
        S_EVENT_UNIT_TASK_COMPLETE: number;
        S_EVENT_UNIT_TASK_STAGE: number;
        S_EVENT_WEAPON_ADD: number;
        S_EVENT_WEAPON_DROP: number;
        S_EVENT_WEAPON_REARM: number;
    }
    eventHandlers: {}
    persistenceHandlers: {}
    VolumeType: { BOX: number; PYRAMID: number; SEGMENT: number; SPHERE: number }

    Typed dynamic-weather controls.

    • Registers an object that receives every simulator event through its onEvent method. Register the same object only once and retain the object if it may need to be removed later.

      Parameters

      Returns void

      Nothing.

      const handler: l_WorldEventHandler = {
      onEvent(event) {
      env.info(`DCS event ${event.id}`);
      },
      };
      world.addEventHandler(handler);
    • Reads persistence data supplied by the host persistence system. DCS exposes the function but does not publish a stable value schema.

      Parameters

      • name: string

        Registered persistence name.

      Returns unknown

      Stored value when present.

      `const score = world.getPersistenceData("mission_score");`
      

      %DCS_INSTALL_DIR%/Scripts/World/PersistenceHandlers.lua:3

    • Dispatches an event to every registered handler by calling each handler's onEvent method. DCS uses this internally; mission scripts normally register handlers instead of calling it directly.

      Parameters

      Returns void

      Nothing.

      world.onEvent({ id: world.event.S_EVENT_MISSION_END });
      

      %DCS_INSTALL_DIR%/Scripts/World/EventHandlers.lua:11

    • Runs each persistence callback and passes its name and result to storage. The storage callback is invoked once for every registered handler.

      Parameters

      • storageFunc: (this: void, name: string, value: unknown) => void

        Receives each registered name and its newly produced value.

      Returns void

      Nothing.

      world.runPersistenceHandlers((name, value) => {
      env.info(`${name}: ${JSON.stringify(value)}`);
      });

      %DCS_INSTALL_DIR%/Scripts/World/PersistenceHandlers.lua:14

    • Searches a volume and calls the handler for each matching object. Return false from the handler to stop early. DCS returns the number of matching objects visited; collect objects in the callback when their references are needed.

      Type Parameters

      • T

      Parameters

      • category: number | number[]

        One or more values from Object.Category.

      • volume: WorldVolume

        Search volume.

      • handler: (this: void, object: l_Object, data: T) => boolean

        Callback receiving each object and optional data.

      • Optionaldata: T

        Value forwarded to the callback.

      Returns number

      Number of objects passed to the handler.

      `const found: l_Object[] = []; const count = world.searchObjects(Object.Category.UNIT, volume, object => { found.push(object); return true; });`
      
    • Registers a named persistence callback. The name may contain letters, numbers, spaces, underscores, and hyphens. Calling runPersistenceHandlers later invokes the callback and forwards its result to the supplied storage function.

      Parameters

      • name: string

        Stable key used when the value is stored.

      • handler: (this: void) => unknown

        Callback that produces the value to persist.

      Returns void

      Nothing. Throws a Lua error if name contains unsupported characters.

      world.setPersistenceHandler("mission_score", () => ({ blue: 10, red: 5 }));
      

      %DCS_INSTALL_DIR%/Scripts/World/PersistenceHandlers.lua:5

    • Configures the host persistence pass-through callback. The installed Lua wrapper does not define the host-specific callback protocol.

      Parameters

      • handler: (this: void, ...args: unknown[]) => unknown

        Host pass-through callback.

      Returns void

      Nothing.

      `world.setPersistencePassthrough(handler);`