IMM_MASSOLCSAVE

Keywords: IMM_MASSOLCSAVE, WIZ_MASSOLCSAVE, MASSOLCSAVE

Category: Building

=== STAFF MANUAL === Usage: massolcsave Description: Write every zone's mob and object prototype files to disk in one pass. The command walks zone_table and calls medit_save_to_disk and oedit_save_to_disk on each zone, flushing the in-memory prototype state to the matching .mob and .obj files. Use this when you have made a large batch of prototype edits through OLC and want to force them all out to disk without touching every zone individually -- for example, before a planned reboot or after a scripted bulk import. Behavior: The command produces no output on success. It blocks the game loop until every zone's mob and object files have been rewritten, then returns silently. Scope: Only two file types are saved: .mob .......... All mob prototypes for every zone. .obj .......... All object prototypes for every zone. Other OLC file types are not touched by this command and must be saved separately: - .wld (rooms) -- save through redit or the zone's regular dirty-save path. - .zon (zone reset commands) -- save through zedit. - .shp (shops) -- save through sedit. - .trg (scripts) -- save through scriptedit. Restrictions: - Requires Coder level. No permission flag is checked; the level gate in the command table is the only guard. - Runs synchronously across the full zone table. On a large world the command can cause a noticeable pause mid-pass; avoid running it while players are in time-sensitive activities. - Prototypes flagged MOB_DELETED or ITEM_DELETED are skipped by the underlying save routines, so this command will not undo a soft-delete in progress. Notes: - massolcsave is a blunt instrument. For targeted saves during routine editing, prefer quitting out of the matching OLC editor and letting the normal deferred-save queue flush. - Room and reset commands queue dirty through olc_mark_dirty and are typically flushed through the deferred save list -- massolcsave bypasses that entirely for mobs and objects. === END MANUAL ===