diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..f42e096
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,24 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "Start Arma 3 Server",
+ "type": "process",
+ "command": "wscript.exe",
+ "args": [
+ "D:\\SteamLibrary\\steamapps\\common\\Arma 3\\start_serverhub_hidden.vbs"
+ ],
+ "presentation": {
+ "reveal": "silent",
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true
+ },
+ "problemMatcher": [],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/api.7z b/api.7z
new file mode 100644
index 0000000..657d0f9
Binary files /dev/null and b/api.7z differ
diff --git a/api/docbook/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.xml b/api/docbook/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.xml
new file mode 100644
index 0000000..23ffc16
--- /dev/null
+++ b/api/docbook/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.xml
@@ -0,0 +1,84 @@
+
+
+processQueue
+processQueue
+
+autotoc_md119
+title: ArmaDragonflyClient - Process Queue icon: mdi:file-text-outline
+
+
+excerpt: Processes a queue of tasks to be executed.
+
+dragonfly_db_fnc_processQueue
+Description
+Processes the queue of pending database tasks sequentially. This function executes each task in the queue one by one, handling various database operations based on the task type. It continues processing until the queue is empty.
+
+
+Syntax
+[] spawn dragonfly_db_fnc_processQueue
+
+
+
+Parameters
+None. This function does not require any parameters.
+
+
+Return Value
+None. The function processes tasks in the queue and updates the processing state.
+
+
+Examples
+Start processing the queue manually:
+[] spawn dragonfly_db_fnc_processQueue;
+
+
+
+Trigger queue processing from a client:
+[] remoteExec ["dragonfly_db_fnc_processQueue", 2, false];
+
+
+
+
+Notes
+
+
+Sets GVAR(isProcessing) to true while running and false when complete
+
+Processes one task per second to prevent overloading
+
+Handles a wide range of database operations including:
+
+Key-value operations (get, set, delete)
+
+Hash table operations (hget, hset, hgetall, etc.)
+
+List operations (listadd, listrng, listset, etc.)
+
+
+
+Automatically started by dragonfly_db_fnc_addTask when new tasks are added
+
+Each task execution is logged for debugging purposes
+
+Should typically be spawned rather than called to avoid blocking
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_addTask: Adds tasks to the queue for processing
+
+dragonfly_db_fnc_handler: Handles data returned from database operations
+
+dragonfly_db_fnc_scheduler: Manages callback responses from the database
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.xml b/api/docbook/d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.xml
new file mode 100644
index 0000000..cf52c4a
--- /dev/null
+++ b/api/docbook/d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.xml
@@ -0,0 +1,130 @@
+
+
+hashSet
+hashSet
+
+autotoc_md219
+title: ArmaDragonflyClient - Hash Set icon: mdi:file-text-outline
+
+
+excerpt: Set a field value in the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashSet
+Description
+Sets the value of a specified field in the hash table associated with the current client/player. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashSetId which requires manually specifying an ID. It allows storing various data types (arrays, strings, numbers, or booleans) in a field of the client-specific hash structure.
+
+
+Syntax
+[_keyField, _data] call dragonfly_db_fnc_hashSet
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_keyField
+
+String
+
+Name of the field in the hash to set
+
+""
+
+
+
+_data
+
+Array, String, Number, or Boolean
+
+The value to store in the hash field
+
+[]
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to store the data.
+
+
+Examples
+Store a player's loadout:
+["loadout", [getUnitLoadout player]] call dragonfly_db_fnc_hashSet;
+
+
+
+Store player preferences:
+["settings", [true, 30, "normal"]] call dragonfly_db_fnc_hashSet;
+
+
+
+Store data from a client:
+["clientInfo", [name player, getPlayerUID player]] remoteExecCall ["dragonfly_db_fnc_hashSet", 2, false];
+
+
+
+
+Notes
+
+
+Stores a single field-value pair in the current client's hash table
+
+Both the field name and data parameters are required and validated
+
+If the field already exists, its value will be overwritten
+
+Supports various data types: arrays, strings, numbers, and booleans
+
+This function automatically determines which hash table to use based on the caller's identity
+
+Use hashSetId when you need to specify a particular hash table by ID
+
+Complex data structures should be serialized into arrays
+
+The operation is executed immediately and synchronously
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashSetId: Sets a field value in a specific hash table (when you need to specify the ID)
+
+dragonfly_db_fnc_hashGet: Retrieves a field value from the current client's hash table
+
+dragonfly_db_fnc_hashGetAll: Retrieves all fields from the current client's hash table
+
+dragonfly_db_fnc_hashSetBulk: Sets multiple fields in the current client's hash table
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.xml b/api/docbook/d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.xml
new file mode 100644
index 0000000..21c89bf
--- /dev/null
+++ b/api/docbook/d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.xml
@@ -0,0 +1,109 @@
+
+
+scheduler
+scheduler
+
+autotoc_md136
+title: ArmaDragonflyClient - Scheduler icon: mdi:file-text-outline
+
+
+excerpt: Scheduled Environment for extension.
+
+dragonfly_db_fnc_scheduler
+Description
+Manages the callback system for the ArmaDragonflyClient extension. This function receives task IDs from the extension's asynchronous callbacks, parses them, and registers them in a hashmap for later processing. It acts as the bridge between the extension's asynchronous operations and the game's execution environment.
+
+
+Syntax
+[_taskID] call dragonfly_db_fnc_scheduler
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_taskID
+
+String
+
+Task identifier returned from extension callback
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The function registers the task ID in a hashmap for later processing.
+
+
+Examples
+Process a callback from the extension:
+["1689524160123_get"] call dragonfly_db_fnc_scheduler;
+
+
+
+Forward a callback to the server:
+["1689524160123_hgetall"] remoteExecCall ["dragonfly_db_fnc_scheduler", 2, false];
+
+
+
+
+Notes
+
+
+Parses the task ID to extract the timestamp and operation type
+
+Registers the task in a type-specific hashmap using the mission namespace
+
+Each operation type (get, hgetall, etc.) has its own hashmap for tracking
+
+The format of task IDs is typically: [timestamp]_[operation]
+
+This function is automatically called by the extension callback mechanism
+
+Creates hashmaps on demand if they don't already exist
+
+Critical for handling asynchronous database operations
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_fetch: Assembles data chunks for large datasets
+
+dragonfly_db_fnc_handler: Processes the data retrieved from database operations
+
+dragonfly_db_fnc_processQueue: Executes queued database operations
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.xml b/api/docbook/d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.xml
new file mode 100644
index 0000000..268f241
--- /dev/null
+++ b/api/docbook/d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.xml
@@ -0,0 +1,122 @@
+
+
+listRemove
+listRemove
+
+autotoc_md318
+title: ArmaDragonflyClient - List Remove icon: mdi:file-text-outline
+
+
+excerpt: Remove an element from a list stored at a key in DragonflyClient.
+
+dragonfly_db_fnc_listRemove
+Description
+Removes a specific element from a list stored at a specified key in the DragonflyClient database. This function allows for precise control over list content by targeting individual elements by their index, without affecting other elements in the list. This is particularly useful for removing outdated or no longer needed entries.
+
+
+Syntax
+[_key, _index] call dragonfly_db_fnc_listRemove
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+The key identifying the list from which to remove an element
+
+""
+
+
+
+_index
+
+Number
+
+The zero-based index of the element to remove from the list
+
+-1
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to remove the element immediately.
+
+
+Examples
+Remove the first element from an event log:["eventLog", 0] call dragonfly_db_fnc_listRemove;
+
+
+Remove a specific player record:["playerRecords", 5] call dragonfly_db_fnc_listRemove;
+
+
+Remove an element from a multiplayer environment:["sharedData", 2] remoteExecCall ["dragonfly_db_fnc_listRemove", 2, false];
+
+
+
+Notes
+
+
+This function removes only the element at the specified index. All other elements remain unchanged, though their indices may shift.
+
+The index is zero-based, meaning the first element is at index 0, the second at index 1, and so on.
+
+If an invalid index is provided (negative or exceeding the list length), the operation will not remove any elements.
+
+The _key parameter must be a non-empty string, otherwise the function will exit without performing any action.
+
+After removing an element, all subsequent elements shift down by one index to maintain a contiguous list.
+
+The removal operation is permanent and cannot be undone except by re-adding the element.
+
+All list operations are logged for debugging purposes.
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_listAdd: Adds an element to a list
+
+dragonfly_db_fnc_listGet: Retrieves a specific element from a list
+
+dragonfly_db_fnc_listLoad: Retrieves a range of elements from a list
+
+dragonfly_db_fnc_listSet: Replaces a specific element in a list
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.xml b/api/docbook/d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.xml
new file mode 100644
index 0000000..b404a6c
--- /dev/null
+++ b/api/docbook/d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.xml
@@ -0,0 +1,152 @@
+
+
+hashGetAllId
+hashGetAllId
+
+autotoc_md191
+title: ArmaDragonflyClient - Hash Get All ID icon: mdi:file-text-outline
+
+
+excerpt: Get all fields and values from the hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashGetAllId
+Description
+Retrieves all fields and values from a specific hash table identified by its key. This function returns the complete hash table data for a specific ID through a callback function, allowing access to all stored key-value pairs associated with that ID. It's particularly useful for retrieving player-specific or entity-specific hash data.
+
+
+Syntax
+[_key, _function, _call, _netId] call dragonfly_db_fnc_hashGetAllId
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Identifier of the hash table to retrieve
+
+""
+
+
+
+_function
+
+String
+
+Name of the function to receive the retrieved data
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+false
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to receive the data
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The retrieved data is passed to the specified callback function asynchronously.
+
+
+Examples
+Retrieve a player's complete hash data:
+[getPlayerUID player, "dragonfly_db_fnc_test"] call dragonfly_db_fnc_hashGetAllId;
+
+
+
+Retrieve vehicle data with synchronous callback:
+["vehicle_123", "dragonfly_db_fnc_processVehicleData", true] call dragonfly_db_fnc_hashGetAllId;
+
+
+
+Retrieve data and send it to a specific client:
+[getPlayerUID player, "dragonfly_db_fnc_test", false, netId player] remoteExecCall ["dragonfly_db_fnc_hashGetAllId", 2, false];
+
+
+
+
+Notes
+
+
+Returns the complete hash table with all fields and values as a nested array
+
+Both the key and callback function parameters are required and validated
+
+The data is retrieved asynchronously through the extension's callback system
+
+When a netId is provided, the data is sent to that specific client
+
+The _call parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+
+This function retrieves from a specific hash table identified by _key - use hashGetAll for the global hash table
+
+Player UIDs are commonly used as keys to store player-specific data
+
+For large hash tables, retrieving all data may impact performance
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashGetAll: Retrieves all fields from the global hash table
+
+dragonfly_db_fnc_hashGetId: Retrieves a specific field value from a specific hash table
+
+dragonfly_db_fnc_hashGet: Retrieves a specific field value from the global hash table
+
+dragonfly_db_fnc_hashSetId: Sets a field value in a specific hash table
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.xml b/api/docbook/d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.xml
new file mode 100644
index 0000000..9fbe59c
--- /dev/null
+++ b/api/docbook/d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.xml
@@ -0,0 +1,162 @@
+
+
+hashGetId
+hashGetId
+
+autotoc_md205
+title: ArmaDragonflyClient - Hash Get ID icon: mdi:file-text-outline
+
+
+excerpt: Get the value associated with field in hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashGetId
+Description
+Retrieves the value of a specific field from a hash table identified by its key. This function allows targeted access to individual fields within a specific hash table, making it ideal for accessing particular attributes of player or entity data. The retrieved data is returned through a callback function.
+
+
+Syntax
+[_key, _keyField, _function, _call, _netId] call dragonfly_db_fnc_hashGetId
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Identifier of the hash table
+
+""
+
+
+
+_keyField
+
+String
+
+Name of the field in the hash to retrieve
+
+""
+
+
+
+_function
+
+String
+
+Name of the function to receive the retrieved data
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+false
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to receive the data
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The retrieved data is passed to the specified callback function asynchronously.
+
+
+Examples
+Retrieve a player's loadout field:
+[getPlayerUID player, "loadout", "dragonfly_db_fnc_test"] call dragonfly_db_fnc_hashGetId;
+
+
+
+Retrieve a specific vehicle property with synchronous callback:
+["vehicle_123", "fuel", "dragonfly_db_fnc_processFuelData", true] call dragonfly_db_fnc_hashGetId;
+
+
+
+Retrieve data and send it to a specific client:
+[getPlayerUID player, "stats", "dragonfly_db_fnc_test", false, netId player] remoteExecCall ["dragonfly_db_fnc_hashGetId", 2, false];
+
+
+
+
+Notes
+
+
+Retrieves a single field value from a specific hash table
+
+All three primary parameters (key, keyField, and function) are required and validated
+
+The data is retrieved asynchronously through the extension's callback system
+
+When a netId is provided, the data is sent to that specific client
+
+The _call parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+
+This function targets both a specific hash table (_key) and a specific field (_keyField)
+
+More efficient than retrieving all hash fields when only one is needed
+
+Player UIDs are commonly used as keys to store player-specific data
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashGet: Retrieves a field value from the global hash table
+
+dragonfly_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+dragonfly_db_fnc_hashGetAll: Retrieves all fields from the global hash table
+
+dragonfly_db_fnc_hashSetId: Sets a field value in a specific hash table
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.xml b/api/docbook/d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.xml
new file mode 100644
index 0000000..dc7b4ef
--- /dev/null
+++ b/api/docbook/d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.xml
@@ -0,0 +1,132 @@
+
+
+listSet
+listSet
+
+autotoc_md329
+title: ArmaDragonflyClient - List Set icon: mdi:file-text-outline
+
+
+excerpt: Set an element in a list stored at a key in DragonflyClient.
+
+dragonfly_db_fnc_listSet
+Description
+Updates or sets the value of a specific element at a given index in a list stored at a specified key in the DragonflyClient database. This function allows for precise modification of list contents by targeting individual elements without affecting other elements in the list. It is particularly useful for updating record information, modifying configuration data, or correcting entries.
+
+
+Syntax
+[_key, _index, _data] call dragonfly_db_fnc_listSet
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+The key identifying the list in which to set an element
+
+""
+
+
+
+_index
+
+Number
+
+The zero-based index of the element to set in the list
+
+-1
+
+
+
+_data
+
+Array/String/Number/Boolean
+
+The value to set at the specified index
+
+[]
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to update the element immediately.
+
+
+Examples
+Update an event log entry:["eventLog", 0, ["Updated event information"]] call dragonfly_db_fnc_listSet;
+
+
+Modify player statistics:["playerStats", 3, [name player, score player, alive player]] call dragonfly_db_fnc_listSet;
+
+
+Update configuration in multiplayer:["missionConfig", 1, ["difficulty", "veteran"]] remoteExecCall ["dragonfly_db_fnc_listSet", 2, false];
+
+
+
+Notes
+
+
+This function updates only the element at the specified index. All other elements remain unchanged.
+
+The index is zero-based, meaning the first element is at index 0, the second at index 1, and so on.
+
+If the specified index does not exist in the list, the operation may fail or have no effect.
+
+Both the _key parameter and _data parameter must be valid (non-empty string for key, non-nil for data), otherwise the function will exit without performing any action.
+
+The function supports various data types, including arrays, strings, numbers, and booleans.
+
+The update operation is permanent and will overwrite any previous value at the specified index.
+
+All list operations are logged for debugging purposes.
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_listAdd: Adds an element to a list
+
+dragonfly_db_fnc_listGet: Retrieves a specific element from a list
+
+dragonfly_db_fnc_listLoad: Retrieves a range of elements from a list
+
+dragonfly_db_fnc_listRemove: Removes a specific element from a list
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.xml b/api/docbook/d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.xml
new file mode 100644
index 0000000..8ec8f11
--- /dev/null
+++ b/api/docbook/d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.xml
@@ -0,0 +1,62 @@
+
+
+save
+save
+
+autotoc_md40
+title: ArmaDragonflyClient - Save DB icon: mdi:file-text-outline
+
+
+excerpt: Save DB to disc.
+
+dragonfly_db_fnc_save
+Description
+Saves the entire database to disk storage. This function persists all data (key-value pairs, hash tables, and lists) to a file, allowing it to be retrieved later even after server restart.
+
+
+Syntax
+[] call dragonfly_db_fnc_save
+
+
+
+Parameters
+None. The function saves the database without any parameters.
+
+
+Return Value
+None. The operation runs synchronously and saves the database immediately.
+
+
+Examples
+Save the database without creating a backup:
+[] call dragonfly_db_fnc_save;
+
+
+
+Call the save function remotely from a client:
+[] remoteExecCall ["dragonfly_db_fnc_save", 2, false];
+
+
+
+
+Notes
+
+
+This function should be called periodically to ensure data persistence
+
+Saving is a resource-intensive operation, so it shouldn't be called too frequently
+
+Consider saving before mission end or during low-activity periods
+
+
+
+
+Related Functions
+None.
+
+
+Links
+None.
+
+
+
diff --git a/api/docbook/d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.xml b/api/docbook/d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.xml
new file mode 100644
index 0000000..6a2cc28
--- /dev/null
+++ b/api/docbook/d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.xml
@@ -0,0 +1,124 @@
+
+
+get
+get
+
+autotoc_md23
+title: ArmaDragonflyClient - Get Key icon: mdi:file-text-outline
+
+
+excerpt: Get the value of stored key from DragonflyClient.
+
+dragonfly_db_fnc_get
+Description
+Retrieves the value of a stored key from the database. This function performs an asynchronous request to the database and passes the retrieved data to the specified callback function.
+
+
+Syntax
+[_key, _function, _call, _netId] call dragonfly_db_fnc_get
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+
+
+
+_key
+
+String
+
+Name of the stored key to retrieve from the database
+
+
+
+_function
+
+String
+
+Name of the function to call when data is retrieved
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to whom the data should be returned
+
+
+
+
+
+
+
+Return Value
+None. When data is retrieved, it will be passed to the specified function. The operation runs asynchronously.
+
+
+Examples
+Retrieve data in singleplayer or on the server:
+[getPlayerUID player, "dragonfly_db_fnc_test"] call dragonfly_db_fnc_get;
+
+
+
+Retrieve data on the server and send to a specific client:
+[getPlayerUID player, "dragonfly_db_fnc_test", false, netId player] remoteExecCall ["dragonfly_db_fnc_get", 2, false];
+
+
+
+
+Notes
+
+
+The function exit with an error if the key or function parameters are empty
+
+Data is processed through the scheduler system, which manages callback responses
+
+For large data that exceeds buffer limits, it will be automatically chunked and reassembled
+
+The callback function must be defined to accept the retrieved data
+
+The _call parameter determines whether the callback is executed directly or spawned in a separate thread
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_set: Stores a value by key
+
+dragonfly_db_fnc_delete: Removes a value by key
+
+dragonfly_db_fnc_scheduler: Processes the callback response
+
+
+
+
+Links
+Delete Key | Get Key | Set Key
+
+
+
diff --git a/api/docbook/d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.xml b/api/docbook/d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.xml
new file mode 100644
index 0000000..3167698
--- /dev/null
+++ b/api/docbook/d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.xml
@@ -0,0 +1,162 @@
+
+
+listGet
+listGet
+
+autotoc_md293
+title: ArmaDragonflyClient - List Get icon: mdi:file-text-outline
+
+
+excerpt: Get element of list stored at key from DragonflyClient.
+
+dragonfly_db_fnc_listGet
+Description
+Retrieves a specific element from a list stored in the database by its index. This function accesses a single item from a list using its position number and returns the data through a callback function. It's useful for accessing individual pieces of data from a sequence without retrieving the entire list.
+
+
+Syntax
+[_key, _index, _function, _call, _netId] call dragonfly_db_fnc_listGet
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Name of the list
+
+""
+
+
+
+_index
+
+Number
+
+Index position of the element to retrieve (0-based)
+
+-1
+
+
+
+_function
+
+String
+
+Name of the function to receive the retrieved data
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+false
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to receive the data
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The retrieved data is passed to the specified callback function asynchronously.
+
+
+Examples
+Retrieve a specific event log entry:
+["events", 0, "dragonfly_db_fnc_test"] call dragonfly_db_fnc_listGet;
+
+
+
+Retrieve data with synchronous callback:
+["messages", 5, "dragonfly_db_fnc_processMessage", true] call dragonfly_db_fnc_listGet;
+
+
+
+Retrieve data and send it to a specific client:
+["notifications", 0, "dragonfly_db_fnc_displayNotification", false, netId player] remoteExecCall ["dragonfly_db_fnc_listGet", 2, false];
+
+
+
+
+Notes
+
+
+Retrieves a single element from a list by its index position
+
+The key, index, and function parameters are required and validated
+
+Index is zero-based (the first element is at index 0)
+
+If the index is out of bounds or the list doesn't exist, no data will be returned
+
+The data is retrieved asynchronously through the extension's callback system
+
+When a netId is provided, the data is sent to that specific client
+
+The _call parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+
+For retrieving multiple elements, use listLoad instead
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_listAdd: Adds an element to a list
+
+dragonfly_db_fnc_listLoad: Retrieves a range of elements from a list
+
+dragonfly_db_fnc_listSet: Replaces a specific element in a list
+
+dragonfly_db_fnc_listRemove: Removes a specific element from a list
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.xml b/api/docbook/d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.xml
new file mode 100644
index 0000000..9b32479
--- /dev/null
+++ b/api/docbook/d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.xml
@@ -0,0 +1,150 @@
+
+
+handler
+handler
+
+autotoc_md81
+title: ArmaDragonflyClient - Handler icon: mdi:file-text-outline
+
+
+excerpt: Handle data from DB.
+
+dragonfly_db_fnc_handler
+Description
+Handles data received from the database and routes it to the appropriate function. This function is a critical component of the callback system, receiving data from database operations and directing it to the specified function, either locally or to a remote client.
+
+
+Syntax
+[_uniqueID, _function, _call, _data, _netId] call dragonfly_db_fnc_handler
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_uniqueID
+
+String
+
+Unique identifier for the data chunk
+
+""
+
+
+
+_function
+
+String
+
+Name of function to receive the data
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+false
+
+
+
+_data
+
+Array, String, Number, or Boolean
+
+The data retrieved from the database
+
+[]
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to receive the data
+
+nil
+
+
+
+
+
+
+
+Return Value
+None. The data is passed to the specified function for processing.
+
+
+Examples
+Process data locally:
+["0123456789", "dragonfly_db_fnc_test", false, ["Hello World!"]] call dragonfly_db_fnc_handler;
+
+
+
+Send data to a specific client:
+["0123456789", "dragonfly_db_fnc_test", false, ["Hello World!"], netId player] remoteExecCall ["dragonfly_db_fnc_handler", 2, false];
+
+
+
+Process data with direct call (synchronous):
+["0123456789", "dragonfly_db_fnc_processInventory", true, [["weapon1", 30], ["item2", 5]]] call dragonfly_db_fnc_handler;
+
+
+
+
+Notes
+
+
+The function validates that both the function name and data are valid before proceeding
+
+When a netId is provided, the data is sent to that specific client using remoteExec
+
+The _call parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+
+This function is typically called by the scheduler or other core components rather than directly by user code
+
+Each handler call is logged, which is useful for debugging data flow
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_scheduler: Processes callbacks from the database extension
+
+dragonfly_db_fnc_fetch: Assembles data chunks for large datasets
+
+dragonfly_db_fnc_addTask: Adds tasks to the database operation queue
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.xml b/api/docbook/d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.xml
new file mode 100644
index 0000000..522772d
--- /dev/null
+++ b/api/docbook/d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.xml
@@ -0,0 +1,70 @@
+
+
+printAddonName
+printAddonName
+
+autotoc_md106
+title: ArmaDragonflyClient - Print Addon Name icon: mdi:file-text-outline
+
+
+excerpt: Displays the addon name in system chat.
+
+dragonfly_db_fnc_printAddonName
+Description
+Displays a thank you message with the addon name in the system chat. This is a simple utility function that can be used to acknowledge the use of the framework or to verify that the addon is properly loaded.
+
+
+Syntax
+[] call dragonfly_db_fnc_printAddonName
+
+
+
+Parameters
+None. This function does not require any parameters.
+
+
+Return Value
+None. The function outputs a message to the system chat.
+
+
+Examples
+Display the addon name message:
+[] call dragonfly_db_fnc_printAddonName;
+
+
+
+Use in a welcome script:
+if (isServer) then {
+ [] remoteExec ["dragonfly_db_fnc_printAddonName", 0, true];
+};
+
+
+
+
+Notes
+
+
+The function uses the ADDON macro defined in script_component.hpp
+
+This displays a message directly in the player's system chat
+
+Can be useful as a quick verification that the addon is loaded correctly
+
+Often used during development or for first-time users
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_init: Initializes the database system
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.xml b/api/docbook/d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.xml
new file mode 100644
index 0000000..f824e46
--- /dev/null
+++ b/api/docbook/d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.xml
@@ -0,0 +1,140 @@
+
+
+fetch
+fetch
+
+autotoc_md13
+title: ArmaDragonflyClient - Fetch icon: mdi:file-text-outline
+
+
+excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.
+
+dragonfly_db_fnc_fetch
+Description
+Handles data chunks received from the database extension when data is too large to be returned in a single callback. This function collects all chunks of data, reassembles them in the correct order, and then passes the complete data to the handler function.
+
+
+Syntax
+[_uniqueID, _function, _index, _total, _datachunk, _call, _netId] call dragonfly_db_fnc_fetch
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+
+
+
+_uniqueID
+
+String
+
+Unique identifier for this data fetch operation
+
+
+
+_function
+
+String
+
+Name of the function to call after data is assembled
+
+
+
+_index
+
+Number
+
+Current chunk index (0-based)
+
+
+
+_total
+
+Number
+
+Total number of chunks expected
+
+
+
+_datachunk
+
+String
+
+The chunk of data being received
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to whom the data belongs
+
+
+
+
+
+
+
+Return Value
+None. When all chunks are received, the function will:
+
+Assemble the complete data string
+
+Parse it as a simple array
+
+Call the specified handler function with the parsed data
+
+
+
+
+Examples
+This function is typically not called directly but is triggered by the extension's callback mechanism when large datasets are retrieved.
+
+
+Notes
+
+
+The function stores received chunks in the global array dragonfly_db_fetch_array
+
+Chunks are sorted by their index to ensure correct assembly regardless of arrival order
+
+After successful processing, the chunks for this uniqueID are removed from the array
+
+This function is essential for handling large datasets that exceed the callback buffer limit
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_handler: Receives the assembled data and routes it to the appropriate function
+
+dragonfly_db_fnc_scheduler: Manages the callback queue and triggers data fetching
+
+
+
+
+
diff --git a/api/docbook/d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.xml b/api/docbook/d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.xml
new file mode 100644
index 0000000..8c1beba
--- /dev/null
+++ b/api/docbook/d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.xml
@@ -0,0 +1,140 @@
+
+
+hashSetId
+hashSetId
+
+autotoc_md247
+title: ArmaDragonflyClient - Hash Set ID icon: mdi:file-text-outline
+
+
+excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashSetId
+Description
+Sets the value of a specified field in a specific hash table identified by its key. This function allows storing various data types (arrays, strings, numbers, or booleans) in a targeted hash table, making it ideal for player-specific or entity-specific data storage. It provides a way to organize related data under a common identifier.
+
+
+Syntax
+[_key, _keyField, _data] call dragonfly_db_fnc_hashSetId
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Identifier of the hash table
+
+""
+
+
+
+_keyField
+
+String
+
+Name of the field in the hash to set
+
+""
+
+
+
+_data
+
+Array, String, Number, or Boolean
+
+The value to store in the hash field
+
+[]
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to store the data.
+
+
+Examples
+Store a player's loadout under their UID:
+[getPlayerUID player, "loadout", [getUnitLoadout player]] call dragonfly_db_fnc_hashSetId;
+
+
+
+Store vehicle data:
+["vehicle_123", "status", [true, 100, 75, "active"]] call dragonfly_db_fnc_hashSetId;
+
+
+
+Store player data from a client:
+[getPlayerUID player, "stats", [rank player, score player, name player]] remoteExecCall ["dragonfly_db_fnc_hashSetId", 2, false];
+
+
+
+
+Notes
+
+
+Stores a single field-value pair in a specific hash table identified by _key
+
+All three parameters (key, keyField, and data) are required and validated
+
+If the hash table doesn't exist, it will be created automatically
+
+If the field already exists in the hash table, its value will be overwritten
+
+Supports various data types: arrays, strings, numbers, and booleans
+
+Player UIDs are commonly used as keys to store player-specific data
+
+Complex data structures should be serialized into arrays
+
+The operation is executed immediately and synchronously
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashSet: Sets a field value in the global hash table
+
+dragonfly_db_fnc_hashGetId: Retrieves a field value from a specific hash table
+
+dragonfly_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+dragonfly_db_fnc_hashSetIdBulk: Sets multiple field-value pairs in multiple hash tables
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.xml b/api/docbook/d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.xml
new file mode 100644
index 0000000..45d806e
--- /dev/null
+++ b/api/docbook/d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.xml
@@ -0,0 +1,112 @@
+
+
+test
+test
+
+autotoc_md149
+title: ArmaDragonflyClient - Test icon: mdi:file-text-outline
+
+
+excerpt: Test Function.
+
+dragonfly_db_fnc_test
+Description
+A simple test function for verifying database operations. This function displays the received data in a hint message and logs it to the RPT file. It's primarily used for testing database retrieval operations and callback functionality.
+
+
+Syntax
+[_value] spawn dragonfly_db_fnc_test
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_value
+
+Array, String, Number, or Boolean
+
+The value to display and log
+
+[]
+
+
+
+
+
+
+
+Return Value
+The same value that was passed to the function. Also sets the global variable dragonfly_db_test to this value.
+
+
+Examples
+Test with a simple string:
+["Hello World!"] spawn dragonfly_db_fnc_test;
+
+
+
+Test database retrieval by specifying this as callback function:
+["playerStats", "dragonfly_db_fnc_test"] call dragonfly_db_fnc_get;
+
+
+
+Test from client to server:
+["Database is working!"] remoteExec ["dragonfly_db_fnc_test", 2, false];
+
+
+
+
+Notes
+
+
+Displays the received value using hint
+
+Logs the same value to the RPT file
+
+Stores the value in the global variable dragonfly_db_test for later inspection
+
+Commonly used as a callback function for database operations
+
+Useful for debugging and verifying data flow
+
+Can be called directly or specified as a callback in other functions
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_get: Retrieves values from the database
+
+dragonfly_db_fnc_handler: Routes data to callback functions
+
+dragonfly_db_fnc_scheduler: Manages the callback system
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.xml b/api/docbook/d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.xml
new file mode 100644
index 0000000..dc3b707
--- /dev/null
+++ b/api/docbook/d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.xml
@@ -0,0 +1,120 @@
+
+
+set
+set
+
+autotoc_md53
+title: ArmaDragonflyClient - Set Key icon: mdi:file-text-outline
+
+
+excerpt: Set the value of stored key from DragonflyClient.
+
+dragonfly_db_fnc_set
+Description
+Stores a value in the database with the specified key. This function allows saving various data types (arrays, strings, numbers, or booleans) that can be retrieved later using the key.
+
+
+Syntax
+[_key, _data] call dragonfly_db_fnc_set
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Name of the key to store the data under
+
+""
+
+
+
+_data
+
+Array, String, Number, or Boolean
+
+The value to store in the database
+
+[]
+
+
+
+
+
+
+
+Return Value
+None. The operation runs asynchronously.
+
+
+Examples
+Store a simple array:
+["playerInventory", ["item1", "item2", "item3"]] call dragonfly_db_fnc_set;
+
+
+
+Store player data under their UID:
+[getPlayerUID player, [name player, getPos player, getAllGear player]] call dragonfly_db_fnc_set;
+
+
+
+Call the set function remotely from a client:
+["serverSetting", [true, 30, "normal"]] remoteExecCall ["dragonfly_db_fnc_set", 2, false];
+
+
+
+
+Notes
+
+
+The function validates both the key and data before attempting to store
+
+If the key already exists, its value will be overwritten
+
+Complex data structures should be serialized into arrays
+
+There are no size limits for data, but extremely large values might impact performance
+
+For structured data, consider using hash tables instead of key-value pairs
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_get: Retrieves a value by key
+
+dragonfly_db_fnc_delete: Removes a value by key
+
+dragonfly_db_fnc_scheduler: Processes the callback response
+
+
+
+
+Links
+Delete Key | Get Key | Set Key
+
+
+
diff --git a/api/docbook/d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.xml b/api/docbook/d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.xml
new file mode 100644
index 0000000..db96392
--- /dev/null
+++ b/api/docbook/d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.xml
@@ -0,0 +1,142 @@
+
+
+listLoad
+listLoad
+
+autotoc_md307
+title: ArmaDragonflyClient - List Load icon: mdi:file-text-outline
+
+
+excerpt: Get all elements of a list stored at a key from DragonflyClient.
+
+dragonfly_db_fnc_listLoad
+Description
+Retrieves all elements of a list stored at a specified key from the DragonflyClient database. This function is useful when you need to access the complete list data rather than individual elements, allowing operations on the entire dataset. The retrieved data is passed to a callback function for processing.
+
+
+Syntax
+[_key, _function, _call, _netId] call dragonfly_db_fnc_listLoad
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+The key identifying the list to be retrieved
+
+""
+
+
+
+_function
+
+String
+
+The name of the function that will receive the retrieved data
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function in an unscheduled environment
+
+false
+
+
+
+_netId
+
+String
+
+The NetID of the target to return data from the function (multiplayer only)
+
+""
+
+
+
+
+
+
+
+Return Value
+No value is returned directly. The retrieved list data is passed to the specified callback function asynchronously.
+
+
+Examples
+Retrieve all event logs:["events", "myProject_fnc_processEventLogs"] call dragonfly_db_fnc_listLoad;
+
+
+Retrieve a player list with synchronous callback:["playerList", "myProject_fnc_processPlayerList", true] call dragonfly_db_fnc_listLoad;
+
+
+Send mission data to a specific client:["missionData", "myProject_fnc_processMissionData", false, netId player] remoteExecCall ["dragonfly_db_fnc_listLoad", 2, false];
+
+
+
+Notes
+
+
+This function retrieves the entire list stored at the specified key, making it useful when you need to process multiple elements together.
+
+Both the _key and _function parameters are required. The function will exit without action if either is empty.
+
+The retrieved data is processed asynchronously through the scheduler system and passed to the specified callback function.
+
+For multiplayer scenarios, you can specify a target client using the _netId parameter to send the retrieved data to that specific client.
+
+The _call parameter determines whether the callback function is executed in an unscheduled environment (true) or scheduled environment (false).
+
+This function uses the underlying "listrng" extension with a range from 0 to -1, which retrieves all elements in the list.
+
+All list operations are logged for debugging purposes.
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_listAdd: Adds an element to a list
+
+dragonfly_db_fnc_listGet: Retrieves a specific element from a list
+
+dragonfly_db_fnc_listSet: Replaces a specific element in a list
+
+dragonfly_db_fnc_listRemove: Removes a specific element from a list
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.xml b/api/docbook/d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.xml
new file mode 100644
index 0000000..74349c7
--- /dev/null
+++ b/api/docbook/d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.xml
@@ -0,0 +1,152 @@
+
+
+hashGet
+hashGet
+
+autotoc_md163
+title: ArmaDragonflyClient - Hash Get icon: mdi:file-text-outline
+
+
+excerpt: Get a field value from the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashGet
+Description
+Retrieves the value associated with a specific field in the hash table of the current client/player. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashGetId which requires manually specifying an ID. It accesses hash data asynchronously and returns the result through a callback function.
+
+
+Syntax
+[_keyField, _function, _call, _netId] call dragonfly_db_fnc_hashGet
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_keyField
+
+String
+
+Name of the field in the hash to retrieve
+
+""
+
+
+
+_function
+
+String
+
+Name of the function to receive the retrieved data
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+false
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to receive the data
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The retrieved data is passed to the specified callback function asynchronously.
+
+
+Examples
+Retrieve a player's loadout:
+["loadout", "dragonfly_db_fnc_test"] call dragonfly_db_fnc_hashGet;
+
+
+
+Retrieve data with synchronous callback:
+["playerScore", "dragonfly_db_fnc_processScore", true] call dragonfly_db_fnc_hashGet;
+
+
+
+Retrieve data and send it to a specific client:
+["loadout", "dragonfly_db_fnc_test", false, netId player] remoteExecCall ["dragonfly_db_fnc_hashGet", 2, false];
+
+
+
+
+Notes
+
+
+Retrieves a value from the current client's hash table
+
+The data is retrieved asynchronously through the extension's callback system
+
+Both the field name and callback function name must be provided
+
+Input validation ensures both required parameters are non-empty
+
+When a netId is provided, the data is sent to that specific client
+
+The _call parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+
+This function automatically determines which hash table to use based on the caller's identity
+
+Use hashGetId when you need to specify a particular hash table by ID
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashGetId: Retrieves a field value from a specific hash table (when you need to specify the ID)
+
+dragonfly_db_fnc_hashGetAll: Retrieves all fields from the current client's hash table
+
+dragonfly_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+dragonfly_db_fnc_hashSet: Sets a field value in the current client's hash table
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.xml b/api/docbook/da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.xml
new file mode 100644
index 0000000..ed51968
--- /dev/null
+++ b/api/docbook/da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.xml
@@ -0,0 +1,142 @@
+
+
+hashGetAll
+hashGetAll
+
+autotoc_md177
+title: ArmaDragonflyClient - Hash Get All icon: mdi:file-text-outline
+
+
+excerpt: Get all fields from the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashGetAll
+Description
+Retrieves all fields and values from the hash table associated with the current client/player. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashGetAllId which requires manually specifying an ID. It returns the entire hash table data through a callback function, allowing access to all stored key-value pairs at once.
+
+
+Syntax
+[_function, _call, _netId] call dragonfly_db_fnc_hashGetAll
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_function
+
+String
+
+Name of the function to receive the retrieved data
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+false
+
+
+
+_netId
+
+String
+
+(Optional) NetID of the player to receive the data
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The retrieved data is passed to the specified callback function asynchronously.
+
+
+Examples
+Retrieve all client hash data:
+["dragonfly_db_fnc_test"] call dragonfly_db_fnc_hashGetAll;
+
+
+
+Retrieve data with synchronous callback:
+["dragonfly_db_fnc_processAllData", true] call dragonfly_db_fnc_hashGetAll;
+
+
+
+Retrieve data and send it to a specific client:
+["dragonfly_db_fnc_test", false, netId player] remoteExecCall ["dragonfly_db_fnc_hashGetAll", 2, false];
+
+
+
+
+Notes
+
+
+Returns the complete hash table for the current client with all fields and values as a nested array
+
+The data is retrieved asynchronously through the extension's callback system
+
+The callback function name must be provided and is validated
+
+When a netId is provided, the data is sent to that specific client
+
+The _call parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+
+This function automatically determines which hash table to use based on the caller's identity
+
+Use hashGetAllId when you need to specify a particular hash table by ID
+
+For large hash tables, retrieving all data may impact performance
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashGet: Retrieves a specific field value from the current client's hash table
+
+dragonfly_db_fnc_hashGetId: Retrieves a specific field value from a specific hash table (when you need to specify the ID)
+
+dragonfly_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table (when you need to specify the ID)
+
+dragonfly_db_fnc_hashSet: Sets a field value in the current client's hash table
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.xml b/api/docbook/da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.xml
new file mode 100644
index 0000000..2d955e0
--- /dev/null
+++ b/api/docbook/da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.xml
@@ -0,0 +1,130 @@
+
+
+listAdd
+listAdd
+
+autotoc_md279
+title: ArmaDragonflyClient - List Add icon: mdi:file-text-outline
+
+
+excerpt: Add element to list stored at key from DragonflyClient.
+
+dragonfly_db_fnc_listAdd
+Description
+Adds an element to a list stored in the database under the specified key. This function appends values to an existing list or creates a new list if it doesn't exist. It's particularly useful for logging, event tracking, or maintaining collections of data that grow over time.
+
+
+Syntax
+[_key, _data] call dragonfly_db_fnc_listAdd
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Name of the list to add the element to
+
+""
+
+
+
+_data
+
+Array, String, Number, or Boolean
+
+The value to insert into the list
+
+[]
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to add the element to the list.
+
+
+Examples
+Add an event log entry:
+["events", ["Server state saved to DB " + systemTimeUTC]] call dragonfly_db_fnc_listAdd;
+
+
+
+Add a player message:
+["messages", [name player + ": " + _messageText]] call dragonfly_db_fnc_listAdd;
+
+
+
+Add data from a client:
+["playerActions", [getPlayerUID player, name player, "logged in"]] remoteExecCall ["dragonfly_db_fnc_listAdd", 2, false];
+
+
+
+
+Notes
+
+
+Elements are added to the end of the list in the order they are inserted
+
+If the list doesn't exist, it will be created automatically
+
+Both the key and data parameters are required and validated
+
+Lists can store various data types (arrays, strings, numbers, or booleans)
+
+Useful for maintaining a history of events, logs, or sequential data
+
+The operation is executed immediately and synchronously
+
+New elements are always added to the end of the list
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_listGet: Retrieves a specific element from a list
+
+dragonfly_db_fnc_listLoad: Retrieves a range of elements from a list
+
+dragonfly_db_fnc_listSet: Replaces a specific element in a list
+
+dragonfly_db_fnc_listRemove: Removes a specific element from a list
+
+dragonfly_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.xml b/api/docbook/da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.xml
new file mode 100644
index 0000000..1f308c6
--- /dev/null
+++ b/api/docbook/da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.xml
@@ -0,0 +1,122 @@
+
+
+hashSetBulk
+hashSetBulk
+
+autotoc_md233
+title: ArmaDragonflyClient - Hash Set Bulk icon: mdi:file-text-outline
+
+
+excerpt: Set multiple fields in the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashSetBulk
+Description
+Sets multiple field-value pairs in the hash table associated with the current client/player in a single operation. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashSetIdBulk which requires manually specifying an ID. It allows efficiently storing multiple related fields at once, reducing the number of separate database calls required.
+
+
+Syntax
+[_data] call dragonfly_db_fnc_hashSetBulk
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_data
+
+Array
+
+Array of alternating field names and values to store
+
+[]
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to store all the data.
+
+
+Examples
+Store player loadout and position:
+[["loadout", [getUnitLoadout player], "position", [getPosASLVisual player]]] call dragonfly_db_fnc_hashSetBulk;
+
+
+
+Store multiple player settings:
+[["difficulty", ["regular"], "respawn", [true], "tickets", [500]]] call dragonfly_db_fnc_hashSetBulk;
+
+
+
+Store player data from a client:
+[["name", [name player], "uid", [getPlayerUID player], "score", [score player]]] remoteExecCall ["dragonfly_db_fnc_hashSetBulk", 2, false];
+
+
+
+
+Notes
+
+
+The data array must be structured as alternating field names and values: [field1, value1, field2, value2, ...]
+
+Each field name must be a string
+
+Values can be arrays, strings, numbers, or booleans
+
+All field-value pairs are stored in a single database operation
+
+If any of the fields already exist, their values will be overwritten
+
+This function automatically determines which hash table to use based on the caller's identity
+
+Use hashSetIdBulk when you need to specify a particular hash table by ID
+
+More efficient than multiple individual hashSet calls when setting several fields
+
+The operation is executed immediately and synchronously
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashSet: Sets a single field value in the current client's hash table
+
+dragonfly_db_fnc_hashSetIdBulk: Sets multiple field-value pairs in a specific hash table (when you need to specify the ID)
+
+dragonfly_db_fnc_hashGetAll: Retrieves all fields from the current client's hash table
+
+dragonfly_db_fnc_hashGet: Retrieves a specific field value from the current client's hash table
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.xml b/api/docbook/dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.xml
new file mode 100644
index 0000000..cd2af7a
--- /dev/null
+++ b/api/docbook/dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.xml
@@ -0,0 +1,62 @@
+
+
+init
+init
+
+autotoc_md95
+title: ArmaDragonflyClient - Initialization icon: mdi:file-text-outline
+
+
+excerpt: Initial Extension settings.
+
+dragonfly_db_fnc_init
+Description
+Initializes the ArmaDragonflyClient extension and sets up the initial settings. This function loads the extension, checks its version, sets the buffer size, and logs the initialization status. It is automatically called during mission startup.
+
+
+Syntax
+// This function is automatically called during initialization and doesn't need to be called directly
+
+
+
+Parameters
+None. This function does not require any parameters.
+
+
+Return Value
+None. The function sets up internal variables and logs initialization information.
+
+
+Examples
+This function is automatically executed during framework initialization and doesn't need to be called manually.
+
+
+Notes
+
+
+Sets the global buffer size to 10240 bytes (10KB)
+
+Logs the DLL version number for reference
+
+Confirms successful loading of all functions
+
+Outputs initialization status to the RPT logs
+
+This is one of the first functions called when the framework loads
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_save: Saves database data to disk
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.xml b/api/docbook/dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.xml
new file mode 100644
index 0000000..f8f9993
--- /dev/null
+++ b/api/docbook/dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.xml
@@ -0,0 +1,180 @@
+
+
+addTask
+addTask
+
+autotoc_md67
+title: ArmaDragonflyClient - Add Task icon: mdi:file-text-outline
+
+
+excerpt: Add task to queue.
+
+dragonfly_db_fnc_addTask
+Description
+Adds a task to the database operation queue. This function is used to schedule database operations that can be processed sequentially, providing a way to manage multiple database requests in an organized manner.
+
+
+Syntax
+[_taskType, _key, _keyField, _index, _value, _function, _call, _netId] call dragonfly_db_fnc_addTask
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_taskType
+
+String
+
+Type of operation to perform (e.g., "hgetall")
+
+""
+
+
+
+_key
+
+String
+
+Name of the stored key
+
+""
+
+
+
+_keyField
+
+String
+
+Field name for hash operations
+
+""
+
+
+
+_index
+
+Number
+
+Index for list operations
+
+-1
+
+
+
+_value
+
+Array, String, Number, or Boolean
+
+Value to store (for set operations)
+
+[]
+
+
+
+_function
+
+String
+
+Name of function to call with the result
+
+""
+
+
+
+_call
+
+Boolean
+
+Whether to call the function directly (true) or spawn (false)
+
+false
+
+
+
+_netId
+
+String
+
+NetID of the target to receive the result
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The task is added to the queue and processed asynchronously.
+
+
+Examples
+Add a hash table retrieval task:
+["hgetall", "", "", -1, [], "dragonfly_db_fnc_test"] call dragonfly_db_fnc_addTask;
+
+
+
+Add a player-specific task that returns data to a specific client:
+["hgetallid", getPlayerUID player, "", -1, [], "dragonfly_db_fnc_test", false, netId player] remoteExecCall ["dragonfly_db_fnc_addTask", 2, false];
+
+
+
+Add a list operation task:
+["listadd", "playerMessages", "", -1, ["New message content"], ""] call dragonfly_db_fnc_addTask;
+
+
+
+
+Notes
+
+
+Tasks are processed in the order they are added to the queue
+
+If the queue is not currently being processed, this function will start the processing
+
+The task type determines which database operation will be performed
+
+This function is particularly useful for scheduling multiple related operations
+
+All operations performed through the task queue are logged for debugging
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_processQueue: Processes the pending tasks in the queue
+
+dragonfly_db_fnc_handler: Handles the results of completed database operations
+
+dragonfly_db_fnc_scheduler: Manages callback responses from the database
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.xml b/api/docbook/de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.xml
new file mode 100644
index 0000000..6f7da0e
--- /dev/null
+++ b/api/docbook/de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.xml
@@ -0,0 +1,124 @@
+
+
+hashSetIdBulk
+hashSetIdBulk
+
+autotoc_md261
+title: ArmaDragonflyClient - Hash Set ID Bulk icon: mdi:file-text-outline
+
+
+excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashSetIdBulk
+Description
+Sets multiple field-value pairs in a specific hash table identified by its key in a single operation. This function allows efficiently storing multiple related fields at once for a specific identifier, reducing the number of separate database calls required. It's ideal for saving a collection of player-specific or entity-specific data.
+
+
+Syntax
+[_data] call dragonfly_db_fnc_hashSetIdBulk
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_data
+
+Array
+
+Array with key followed by alternating field names and values
+
+[]
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to store all the data.
+
+
+Examples
+Store player loadout and position:
+[[getPlayerUID player, "loadout", [getUnitLoadout player], "position", [getPosASLVisual player]]] call dragonfly_db_fnc_hashSetIdBulk;
+
+
+
+Store multiple vehicle properties:
+[["vehicle_123", "fuel", [0.75], "damage", [0.2], "crew", [["player1", "player2"]]]] call dragonfly_db_fnc_hashSetIdBulk;
+
+
+
+Store player data from a client:
+[[getPlayerUID player, "stats", [score player], "inventory", [getAllGear player]]] remoteExecCall ["dragonfly_db_fnc_hashSetIdBulk", 2, false];
+
+
+
+
+Notes
+
+
+The data array must be structured with the key first, followed by alternating field names and values: [key, field1, value1, field2, value2, ...]
+
+The key must be a string that identifies the specific hash table
+
+Each field name must be a string
+
+Values can be arrays, strings, numbers, or booleans
+
+All field-value pairs are stored in a single database operation
+
+If the hash table doesn't exist, it will be created automatically
+
+If any of the fields already exist in the hash table, their values will be overwritten
+
+More efficient than multiple individual hashSetId calls when setting several fields
+
+Player UIDs are commonly used as keys to store player-specific data
+
+The operation is executed immediately and synchronously
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_hashSetId: Sets a single field value in a specific hash table
+
+dragonfly_db_fnc_hashSetBulk: Sets multiple field-value pairs in the global hash table
+
+dragonfly_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+dragonfly_db_fnc_hashGetId: Retrieves a specific field value from a specific hash table
+
+
+
+
+Links
+Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.xml b/api/docbook/df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.xml
new file mode 100644
index 0000000..caa9ab0
--- /dev/null
+++ b/api/docbook/df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.xml
@@ -0,0 +1,96 @@
+
+
+delete
+delete
+
+autotoc_md0
+title: ArmaDragonflyClient - Delete Key icon: mdi:file-text-outline
+
+
+excerpt: Remove the specified key from DragonflyClient.
+
+dragonfly_db_fnc_delete
+Description
+Removes the specified key from the database. This function deletes the key-value pair completely from storage.
+
+
+Syntax
+[_key] call dragonfly_db_fnc_delete
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+
+
+
+_key
+
+String
+
+Name of the key to delete from the database
+
+
+
+
+
+
+
+Return Value
+None. The operation runs asynchronously.
+
+
+Examples
+Delete a key in singleplayer or on the server:
+["playerData"] call dragonfly_db_fnc_delete;
+
+
+
+Delete a key on the server from a client:
+["playerData"] remoteExecCall ["dragonfly_db_fnc_delete", 2, false];
+
+
+
+
+Notes
+
+
+This operation is permanent and cannot be undone
+
+If the key doesn't exist, the operation will have no effect
+
+This function only affects specific keys, not hash tables or lists
+
+
+
+
+Related Functions
+
+
+dragonfly_db_fnc_get: Retrieves a value by key
+
+dragonfly_db_fnc_set: Stores a value by key
+
+dragonfly_db_fnc_scheduler: Processes the callback response
+
+
+
+
+Links
+Delete Key | Get Key | Set Key
+
+
+
diff --git a/api/docbook/dir_10eb6422e80bd721a9a7af022f58c68b.xml b/api/docbook/dir_10eb6422e80bd721a9a7af022f58c68b.xml
new file mode 100644
index 0000000..655b831
--- /dev/null
+++ b/api/docbook/dir_10eb6422e80bd721a9a7af022f58c68b.xml
@@ -0,0 +1,51 @@
+
+
+G:/ids/dragonfly/docs/core Directory Reference
+G:/ids/dragonfly/docs/core Directory Reference
+
+Detailed Description
+
+This section contains documentation for the core functions of ArmaDragonflyClient that handle initialization, process management, and scheduling.
+
+Available Functions
+
+
+addTask - Add a task to the scheduler
+
+handler - Handle callbacks from the extension
+
+init - Initialize the database system
+
+printAddonName - Print the addon name
+
+processQueue - Process queued database operations
+
+scheduler - Schedule database operations
+
+test - Test the database connection
+
+
+
+
+Example Usage
+// Initialize the database
+[] call dragonfly_db_fnc_init;
+
+// Test the database connection
+[] call dragonfly_db_fnc_test;
+
+
+
+Related Categories
+
+
+Basic Data Operations
+
+Hash Operations
+
+List Operations
+
+
+
+
+
diff --git a/api/docbook/dir_1d1eabba2c636e67297dc8cee9bc9944.xml b/api/docbook/dir_1d1eabba2c636e67297dc8cee9bc9944.xml
new file mode 100644
index 0000000..b6af79c
--- /dev/null
+++ b/api/docbook/dir_1d1eabba2c636e67297dc8cee9bc9944.xml
@@ -0,0 +1,64 @@
+
+
+G:/ids/dragonfly/docs/hash Directory Reference
+G:/ids/dragonfly/docs/hash Directory Reference
+
+Detailed Description
+
+This section contains documentation for the hash operations of ArmaDragonflyClient that allow for working with hash tables (key-value pairs within a namespace).
+
+Available Functions
+
+
+hashGet - Get a field from a hash
+
+hashGetAll - Get all fields from a hash
+
+hashGetAllId - Get all fields from a hash for a specific ID
+
+hashGetId - Get a field from a hash for a specific ID
+
+hashSet - Set a field in a hash
+
+hashSetBulk - Set multiple fields in a hash in one operation
+
+hashSetId - Set a field in a hash for a specific ID
+
+hashSetIdBulk - Set multiple fields in a hash for a specific ID in one operation
+
+
+
+
+Example Usage
+// Context mode examples
+["myField", [myValue]] call dragonfly_db_fnc_hashSet;
+["myField", "myFunction"] call dragonfly_db_fnc_hashGet;
+["myFunction"] call dragonfly_db_fnc_hashGetAll;
+
+// Set multiple hash fields in one operation
+[[
+ "loadout", [getUnitLoadout player],
+ "position", [getPosASL player],
+ "direction", [getDir player]
+]] call dragonfly_db_fnc_hashSetBulk;
+
+// ID-specific examples
+["myHash", "myField", [myValue]] call dragonfly_db_fnc_hashSetId;
+["myHash", "myField", "myFunction"] call dragonfly_db_fnc_hashGetId;
+["myHash"] call dragonfly_db_fnc_hashGetAllId;
+
+
+
+Related Categories
+
+
+Core Functions
+
+Basic Data Operations
+
+List Operations
+
+
+
+
+
diff --git a/api/docbook/dir_6b1f4820e2481aa5a1ea9b2275f196d9.xml b/api/docbook/dir_6b1f4820e2481aa5a1ea9b2275f196d9.xml
new file mode 100644
index 0000000..670857a
--- /dev/null
+++ b/api/docbook/dir_6b1f4820e2481aa5a1ea9b2275f196d9.xml
@@ -0,0 +1,208 @@
+
+
+G:/ids/dragonfly/docs Directory Reference
+G:/ids/dragonfly/docs Directory Reference
+
+ Directories
+
+ directory basic
+
+ directory core
+
+ directory hash
+
+ directory list
+
+
+
+
+Detailed Description
+
+This documentation provides details on all functions available in ArmaDragonflyClient. These functions allow you to interact with the in-memory database system for Arma 3.
+
+Function Categories
+The functions are categorized by their purpose:
+
+Core Functions
+
+
+init - Initialize the database system
+
+handler - Handle callbacks from the extension
+
+processQueue - Process queued database operations
+
+scheduler - Schedule database operations
+
+addTask - Add a task to the scheduler
+
+printAddonName - Print the addon name
+
+test - Test the database connection
+
+
+
+
+Basic Data Operations
+
+
+get - Get a value from the database
+
+set - Set a value in the database
+
+delete - Delete a value from the database
+
+save - Save the database to disk
+
+fetch - Fetch a value from the database
+
+
+
+
+Hash Operations
+
+
+hashGet - Get a field from a hash
+
+hashGetAll - Get all fields from a hash
+
+hashGetAllId - Get all fields from a hash for a specific ID
+
+hashGetId - Get a field from a hash for a specific ID
+
+hashSet - Set a field in a hash
+
+hashSetBulk - Set multiple fields in a hash in one operation
+
+hashSetId - Set a field in a hash for a specific ID
+
+hashSetIdBulk - Set multiple fields in a hash for a specific ID in one operation
+
+
+
+
+List Operations
+
+
+listAdd - Add an item to a list
+
+listGet - Get items from a list
+
+listLoad - Load a list from the database
+
+listRemove - Remove an item from a list
+
+listSet - Set an item in a list
+
+
+
+
+
+Usage Examples
+Basic Usage
+// Initialize the database
+[] call dragonfly_db_fnc_init;
+
+// Set a value
+["myKey", [myValue]] call dragonfly_db_fnc_set;
+
+// Get a value
+["myKey", "myFunction"] call dragonfly_db_fnc_get;
+
+// Delete a key
+["myKey"] call dragonfly_db_fnc_delete;
+
+
+
+Hash Operations
+// Set a hash field (context mode)
+["myField", [myValue]] call dragonfly_db_fnc_hashSet;
+
+// Get a hash field (context mode)
+["myField", "myFunction"] call dragonfly_db_fnc_hashGet;
+
+// Get all hash fields (context mode)
+["myFunction"] call dragonfly_db_fnc_hashGetAll;
+
+// Set multiple hash fields (context mode)
+[[
+ "loadout", [getUnitLoadout player],
+ "position", [getPosASL player],
+ "direction", [getDir player],
+ "stance", [stance player]
+]] call dragonfly_db_fnc_hashSetBulk;
+
+// Remove a hash field (context mode)
+["myField"] call dragonfly_db_fnc_hashRemove;
+
+// Delete a hash table (context mode)
+[] call dragonfly_db_fnc_hashDelete;
+// Set a hash field for specific ID
+["myHash", "myField", [myValue]] call dragonfly_db_fnc_hashSetId;
+
+// Get a hash field for specific ID
+["myHash", "myField", "myFunction"] call dragonfly_db_fnc_hashGetId;
+
+// Get all hash fields for specific ID
+["myHash"] call dragonfly_db_fnc_hashGetAllId;
+
+// Set multiple hash fields for specific ID
+[[
+ getPlayerUID player,
+ "loadout", [getUnitLoadout player],
+ "position", [getPosASL player],
+ "direction", [getDir player],
+ "stance", [stance player]
+]] call dragonfly_db_fnc_hashSetIdBulk;
+
+// Remove a hash field for specific ID
+["myHash", "myField"] call dragonfly_db_fnc_hashRemoveId;
+
+// Delete a hash table for specific ID
+["myHash"] call dragonfly_db_fnc_hashDeleteId;
+
+
+
+List Operations
+// Add an item to a list
+["myList", ["myItem"]] call dragonfly_db_fnc_listAdd;
+
+// Set an item from a list
+["myList", 0, [myNewValue]] call dragonfly_db_fnc_listSet;
+
+// Get an item from a list
+["myList", 0, "myFunction"] call dragonfly_db_fnc_listGet;
+
+// Get items from a list
+["myList", "myFunction"] call dragonfly_db_fnc_listLoad;
+
+// Remove an item from a list
+["myList", 0] call dragonfly_db_fnc_listRemove;
+
+// Delete a list
+["myList"] call dragonfly_db_fnc_listDelete;
+
+
+
+
+Function Documentation Structure
+Each function documentation includes:
+
+Function name and purpose
+
+Parameters
+
+Return value
+
+Examples
+
+Notes and warnings
+
+
+
+
+License
+This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042
+
+
+
diff --git a/api/docbook/dir_71f12be5768ca2af9c9f300d019944af.xml b/api/docbook/dir_71f12be5768ca2af9c9f300d019944af.xml
new file mode 100644
index 0000000..2294605
--- /dev/null
+++ b/api/docbook/dir_71f12be5768ca2af9c9f300d019944af.xml
@@ -0,0 +1,53 @@
+
+
+G:/ids/dragonfly/docs/basic Directory Reference
+G:/ids/dragonfly/docs/basic Directory Reference
+
+Detailed Description
+
+This section contains documentation for the basic data operations of ArmaDragonflyClient that allow for simple key-value storage and retrieval.
+
+Available Functions
+
+
+delete - Delete a value from the database
+
+fetch - Fetch a value from the database
+
+get - Get a value from the database
+
+save - Save the database to disk
+
+set - Set a value in the database
+
+
+
+
+Example Usage
+// Set a value
+["myKey", [myValue]] call dragonfly_db_fnc_set;
+
+// Get a value
+["myKey", "myFunction"] call dragonfly_db_fnc_get;
+
+// Delete a key
+["myKey"] call dragonfly_db_fnc_delete;
+
+// Save database to disk
+[] call dragonfly_db_fnc_save;
+
+
+
+Related Categories
+
+
+Core Functions
+
+Hash Operations
+
+List Operations
+
+
+
+
+
diff --git a/api/docbook/dir_72c6efb7383bf0530aa073c1e7428252.xml b/api/docbook/dir_72c6efb7383bf0530aa073c1e7428252.xml
new file mode 100644
index 0000000..2a46b2d
--- /dev/null
+++ b/api/docbook/dir_72c6efb7383bf0530aa073c1e7428252.xml
@@ -0,0 +1,56 @@
+
+
+G:/ids/dragonfly/docs/list Directory Reference
+G:/ids/dragonfly/docs/list Directory Reference
+
+Detailed Description
+
+This section contains documentation for the list operations of ArmaDragonflyClient that allow for working with ordered collections of items.
+
+Available Functions
+
+
+listAdd - Add an item to a list
+
+listGet - Get items from a list
+
+listLoad - Load a list from the database
+
+listRemove - Remove an item from a list
+
+listSet - Set an item in a list
+
+
+
+
+Example Usage
+// Add an item to a list
+["myList", ["myItem"]] call dragonfly_db_fnc_listAdd;
+
+// Set an item at a specific index
+["myList", 0, [myNewValue]] call dragonfly_db_fnc_listSet;
+
+// Get an item at a specific index
+["myList", 0, "myFunction"] call dragonfly_db_fnc_listGet;
+
+// Load all items from a list
+["myList", "myFunction"] call dragonfly_db_fnc_listLoad;
+
+// Remove an item at a specific index
+["myList", 0] call dragonfly_db_fnc_listRemove;
+
+
+
+Related Categories
+
+
+Core Functions
+
+Basic Data Operations
+
+Hash Operations
+
+
+
+
+
diff --git a/api/docbook/index.xml b/api/docbook/index.xml
new file mode 100644
index 0000000..73e8d59
--- /dev/null
+++ b/api/docbook/index.xml
@@ -0,0 +1,32 @@
+
+
+
+ ArmaDragonflyClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/api/html/bc_s.png b/api/html/bc_s.png
new file mode 100644
index 0000000..224b29a
Binary files /dev/null and b/api/html/bc_s.png differ
diff --git a/api/html/bc_sd.png b/api/html/bc_sd.png
new file mode 100644
index 0000000..31ca888
Binary files /dev/null and b/api/html/bc_sd.png differ
diff --git a/api/html/clipboard.js b/api/html/clipboard.js
new file mode 100644
index 0000000..9da9f3c
--- /dev/null
+++ b/api/html/clipboard.js
@@ -0,0 +1,61 @@
+/**
+
+The code below is based on the Doxygen Awesome project, see
+https://github.com/jothepro/doxygen-awesome-css
+
+MIT License
+
+Copyright (c) 2021 - 2022 jothepro
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+*/
+
+let clipboard_title = "Copy to clipboard"
+let clipboard_icon = ``
+let clipboard_successIcon = ``
+let clipboard_successDuration = 1000
+
+$(function() {
+ if(navigator.clipboard) {
+ const fragments = document.getElementsByClassName("fragment")
+ for(const fragment of fragments) {
+ const clipboard_div = document.createElement("div")
+ clipboard_div.classList.add("clipboard")
+ clipboard_div.innerHTML = clipboard_icon
+ clipboard_div.title = clipboard_title
+ $(clipboard_div).click(function() {
+ const content = this.parentNode.cloneNode(true)
+ // filter out line number and folded fragments from file listings
+ content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
+ let text = content.textContent
+ // remove trailing newlines and trailing spaces from empty lines
+ text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
+ navigator.clipboard.writeText(text);
+ this.classList.add("success")
+ this.innerHTML = clipboard_successIcon
+ window.setTimeout(() => { // switch back to normal icon after timeout
+ this.classList.remove("success")
+ this.innerHTML = clipboard_icon
+ }, clipboard_successDuration);
+ })
+ fragment.insertBefore(clipboard_div, fragment.firstChild)
+ }
+ }
+})
diff --git a/api/html/closed.png b/api/html/closed.png
new file mode 100644
index 0000000..98cc2c9
Binary files /dev/null and b/api/html/closed.png differ
diff --git a/api/html/cookie.js b/api/html/cookie.js
new file mode 100644
index 0000000..53ad21d
--- /dev/null
+++ b/api/html/cookie.js
@@ -0,0 +1,58 @@
+/*!
+ Cookie helper functions
+ Copyright (c) 2023 Dimitri van Heesch
+ Released under MIT license.
+*/
+let Cookie = {
+ cookie_namespace: 'doxygen_',
+
+ readSetting(cookie,defVal) {
+ if (window.chrome) {
+ const val = localStorage.getItem(this.cookie_namespace+cookie) ||
+ sessionStorage.getItem(this.cookie_namespace+cookie);
+ if (val) return val;
+ } else {
+ let myCookie = this.cookie_namespace+cookie+"=";
+ if (document.cookie) {
+ const index = document.cookie.indexOf(myCookie);
+ if (index != -1) {
+ const valStart = index + myCookie.length;
+ let valEnd = document.cookie.indexOf(";", valStart);
+ if (valEnd == -1) {
+ valEnd = document.cookie.length;
+ }
+ return document.cookie.substring(valStart, valEnd);
+ }
+ }
+ }
+ return defVal;
+ },
+
+ writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete
+ if (window.chrome) {
+ if (days==0) {
+ sessionStorage.setItem(this.cookie_namespace+cookie,val);
+ } else {
+ localStorage.setItem(this.cookie_namespace+cookie,val);
+ }
+ } else {
+ let date = new Date();
+ date.setTime(date.getTime()+(days*24*60*60*1000));
+ const expiration = days!=0 ? "expires="+date.toGMTString()+";" : "";
+ document.cookie = this.cookie_namespace + cookie + "=" +
+ val + "; SameSite=Lax;" + expiration + "path=/";
+ }
+ },
+
+ eraseSetting(cookie) {
+ if (window.chrome) {
+ if (localStorage.getItem(this.cookie_namespace+cookie)) {
+ localStorage.removeItem(this.cookie_namespace+cookie);
+ } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) {
+ sessionStorage.removeItem(this.cookie_namespace+cookie);
+ }
+ } else {
+ this.writeSetting(cookie,'',-1);
+ }
+ },
+}
diff --git a/api/html/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html b/api/html/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html
new file mode 100644
index 0000000..11bccbb
--- /dev/null
+++ b/api/html/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html
@@ -0,0 +1,170 @@
+
+
+
title: ArmaDragonflyClient - Process Queue icon: mdi:file-text-outline
+
+excerpt: Processes a queue of tasks to be executed.
+
+dragonfly_db_fnc_processQueue
+
+Description
+
Processes the queue of pending database tasks sequentially. This function executes each task in the queue one by one, handling various database operations based on the task type. It continues processing until the queue is empty.
+
+Syntax
+
[] spawn dragonfly_db_fnc_processQueue
+
+Parameters
+
None. This function does not require any parameters.
+
+Return Value
+
None. The function processes tasks in the queue and updates the processing state.
title: ArmaDragonflyClient - Hash Set icon: mdi:file-text-outline
+
+excerpt: Set a field value in the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashSet
+
+Description
+
Sets the value of a specified field in the hash table associated with the current client/player. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashSetId which requires manually specifying an ID. It allows storing various data types (arrays, strings, numbers, or booleans) in a field of the client-specific hash structure.
+
+Syntax
+
[_keyField, _data] call dragonfly_db_fnc_hashSet
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_keyField
String
Name of the field in the hash to set
""
+
+
_data
Array, String, Number, or Boolean
The value to store in the hash field
[]
+
+
+Return Value
+
None. The operation runs synchronously to store the data.
Manages the callback system for the ArmaDragonflyClient extension. This function receives task IDs from the extension's asynchronous callbacks, parses them, and registers them in a hashmap for later processing. It acts as the bridge between the extension's asynchronous operations and the game's execution environment.
+
+Syntax
+
[_taskID] call dragonfly_db_fnc_scheduler
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_taskID
String
Task identifier returned from extension callback
""
+
+
+Return Value
+
None. The function registers the task ID in a hashmap for later processing.
title: ArmaDragonflyClient - List Remove icon: mdi:file-text-outline
+
+excerpt: Remove an element from a list stored at a key in DragonflyClient.
+
+dragonfly_db_fnc_listRemove
+
+Description
+
Removes a specific element from a list stored at a specified key in the DragonflyClient database. This function allows for precise control over list content by targeting individual elements by their index, without affecting other elements in the list. This is particularly useful for removing outdated or no longer needed entries.
+
+Syntax
+
[_key, _index] call dragonfly_db_fnc_listRemove
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_key
String
The key identifying the list from which to remove an element
""
+
+
_index
Number
The zero-based index of the element to remove from the list
-1
+
+
+Return Value
+
None. The operation runs synchronously to remove the element immediately.
title: ArmaDragonflyClient - Hash Get All ID icon: mdi:file-text-outline
+
+excerpt: Get all fields and values from the hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashGetAllId
+
+Description
+
Retrieves all fields and values from a specific hash table identified by its key. This function returns the complete hash table data for a specific ID through a callback function, allowing access to all stored key-value pairs associated with that ID. It's particularly useful for retrieving player-specific or entity-specific hash data.
title: ArmaDragonflyClient - Hash Get ID icon: mdi:file-text-outline
+
+excerpt: Get the value associated with field in hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashGetId
+
+Description
+
Retrieves the value of a specific field from a hash table identified by its key. This function allows targeted access to individual fields within a specific hash table, making it ideal for accessing particular attributes of player or entity data. The retrieved data is returned through a callback function.
title: ArmaDragonflyClient - List Set icon: mdi:file-text-outline
+
+excerpt: Set an element in a list stored at a key in DragonflyClient.
+
+dragonfly_db_fnc_listSet
+
+Description
+
Updates or sets the value of a specific element at a given index in a list stored at a specified key in the DragonflyClient database. This function allows for precise modification of list contents by targeting individual elements without affecting other elements in the list. It is particularly useful for updating record information, modifying configuration data, or correcting entries.
This function updates only the element at the specified index. All other elements remain unchanged.
+
The index is zero-based, meaning the first element is at index 0, the second at index 1, and so on.
+
If the specified index does not exist in the list, the operation may fail or have no effect.
+
Both the _key parameter and _data parameter must be valid (non-empty string for key, non-nil for data), otherwise the function will exit without performing any action.
+
The function supports various data types, including arrays, strings, numbers, and booleans.
+
The update operation is permanent and will overwrite any previous value at the specified index.
+
All list operations are logged for debugging purposes.
+
+
+Related Functions
+
+
dragonfly_db_fnc_listAdd: Adds an element to a list
+
dragonfly_db_fnc_listGet: Retrieves a specific element from a list
+
dragonfly_db_fnc_listLoad: Retrieves a range of elements from a list
+
dragonfly_db_fnc_listRemove: Removes a specific element from a list
+
dragonfly_db_fnc_scheduler: Processes the callback from the database extension
title: ArmaDragonflyClient - Save DB icon: mdi:file-text-outline
+
+excerpt: Save DB to disc.
+
+dragonfly_db_fnc_save
+
+Description
+
Saves the entire database to disk storage. This function persists all data (key-value pairs, hash tables, and lists) to a file, allowing it to be retrieved later even after server restart.
+
+Syntax
+
[] call dragonfly_db_fnc_save
+
+Parameters
+
None. The function saves the database without any parameters.
+
+Return Value
+
None. The operation runs synchronously and saves the database immediately.
title: ArmaDragonflyClient - Get Key icon: mdi:file-text-outline
+
+excerpt: Get the value of stored key from DragonflyClient.
+
+dragonfly_db_fnc_get
+
+Description
+
Retrieves the value of a stored key from the database. This function performs an asynchronous request to the database and passes the retrieved data to the specified callback function.
title: ArmaDragonflyClient - List Get icon: mdi:file-text-outline
+
+excerpt: Get element of list stored at key from DragonflyClient.
+
+dragonfly_db_fnc_listGet
+
+Description
+
Retrieves a specific element from a list stored in the database by its index. This function accesses a single item from a list using its position number and returns the data through a callback function. It's useful for accessing individual pieces of data from a sequence without retrieving the entire list.
Handles data received from the database and routes it to the appropriate function. This function is a critical component of the callback system, receiving data from database operations and directing it to the specified function, either locally or to a remote client.
title: ArmaDragonflyClient - Print Addon Name icon: mdi:file-text-outline
+
+excerpt: Displays the addon name in system chat.
+
+dragonfly_db_fnc_printAddonName
+
+Description
+
Displays a thank you message with the addon name in the system chat. This is a simple utility function that can be used to acknowledge the use of the framework or to verify that the addon is properly loaded.
+
+Syntax
+
[] call dragonfly_db_fnc_printAddonName
+
+Parameters
+
None. This function does not require any parameters.
+
+Return Value
+
None. The function outputs a message to the system chat.
+excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.
+
+dragonfly_db_fnc_fetch
+
+Description
+
Handles data chunks received from the database extension when data is too large to be returned in a single callback. This function collects all chunks of data, reassembles them in the correct order, and then passes the complete data to the handler function.
title: ArmaDragonflyClient - Hash Set ID icon: mdi:file-text-outline
+
+excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashSetId
+
+Description
+
Sets the value of a specified field in a specific hash table identified by its key. This function allows storing various data types (arrays, strings, numbers, or booleans) in a targeted hash table, making it ideal for player-specific or entity-specific data storage. It provides a way to organize related data under a common identifier.
title: ArmaDragonflyClient - Test icon: mdi:file-text-outline
+
+excerpt: Test Function.
+
+dragonfly_db_fnc_test
+
+Description
+
A simple test function for verifying database operations. This function displays the received data in a hint message and logs it to the RPT file. It's primarily used for testing database retrieval operations and callback functionality.
+
+Syntax
+
[_value] spawn dragonfly_db_fnc_test
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_value
Array, String, Number, or Boolean
The value to display and log
[]
+
+
+Return Value
+
The same value that was passed to the function. Also sets the global variable dragonfly_db_test to this value.
+
+Examples
+
+Test with a simple string:
+
["Hello World!"] spawn dragonfly_db_fnc_test;
+
+Test database retrieval by specifying this as callback function:
title: ArmaDragonflyClient - Set Key icon: mdi:file-text-outline
+
+excerpt: Set the value of stored key from DragonflyClient.
+
+dragonfly_db_fnc_set
+
+Description
+
Stores a value in the database with the specified key. This function allows saving various data types (arrays, strings, numbers, or booleans) that can be retrieved later using the key.
title: ArmaDragonflyClient - List Load icon: mdi:file-text-outline
+
+excerpt: Get all elements of a list stored at a key from DragonflyClient.
+
+dragonfly_db_fnc_listLoad
+
+Description
+
Retrieves all elements of a list stored at a specified key from the DragonflyClient database. This function is useful when you need to access the complete list data rather than individual elements, allowing operations on the entire dataset. The retrieved data is passed to a callback function for processing.
title: ArmaDragonflyClient - Hash Get icon: mdi:file-text-outline
+
+excerpt: Get a field value from the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashGet
+
+Description
+
Retrieves the value associated with a specific field in the hash table of the current client/player. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashGetId which requires manually specifying an ID. It accesses hash data asynchronously and returns the result through a callback function.
title: ArmaDragonflyClient - Hash Get All icon: mdi:file-text-outline
+
+excerpt: Get all fields from the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashGetAll
+
+Description
+
Retrieves all fields and values from the hash table associated with the current client/player. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashGetAllId which requires manually specifying an ID. It returns the entire hash table data through a callback function, allowing access to all stored key-value pairs at once.
title: ArmaDragonflyClient - List Add icon: mdi:file-text-outline
+
+excerpt: Add element to list stored at key from DragonflyClient.
+
+dragonfly_db_fnc_listAdd
+
+Description
+
Adds an element to a list stored in the database under the specified key. This function appends values to an existing list or creates a new list if it doesn't exist. It's particularly useful for logging, event tracking, or maintaining collections of data that grow over time.
+
+Syntax
+
[_key, _data] call dragonfly_db_fnc_listAdd
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_key
String
Name of the list to add the element to
""
+
+
_data
Array, String, Number, or Boolean
The value to insert into the list
[]
+
+
+Return Value
+
None. The operation runs synchronously to add the element to the list.
+
+Examples
+
+Add an event log entry:
+
["events", ["Server state saved to DB " + systemTimeUTC]] call dragonfly_db_fnc_listAdd;
+
+Add a player message:
+
["messages", [name player + ": " + _messageText]] call dragonfly_db_fnc_listAdd;
title: ArmaDragonflyClient - Hash Set Bulk icon: mdi:file-text-outline
+
+excerpt: Set multiple fields in the current client's hash table in DragonflyClient.
+
+dragonfly_db_fnc_hashSetBulk
+
+Description
+
Sets multiple field-value pairs in the hash table associated with the current client/player in a single operation. This function automatically determines the appropriate hash ID based on the caller's identity, making it more convenient than hashSetIdBulk which requires manually specifying an ID. It allows efficiently storing multiple related fields at once, reducing the number of separate database calls required.
+
+Syntax
+
[_data] call dragonfly_db_fnc_hashSetBulk
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_data
Array
Array of alternating field names and values to store
[]
+
+
+Return Value
+
None. The operation runs synchronously to store all the data.
Initializes the ArmaDragonflyClient extension and sets up the initial settings. This function loads the extension, checks its version, sets the buffer size, and logs the initialization status. It is automatically called during mission startup.
+
+Syntax
+
// This function is automatically called during initialization and doesn't need to be called directly
+
+Parameters
+
None. This function does not require any parameters.
+
+Return Value
+
None. The function sets up internal variables and logs initialization information.
+
+Examples
+
This function is automatically executed during framework initialization and doesn't need to be called manually.
+
+Notes
+
+
Sets the global buffer size to 10240 bytes (10KB)
+
Logs the DLL version number for reference
+
Confirms successful loading of all functions
+
Outputs initialization status to the RPT logs
+
This is one of the first functions called when the framework loads
+
+
+Related Functions
+
+
dragonfly_db_fnc_save: Saves database data to disk
Adds a task to the database operation queue. This function is used to schedule database operations that can be processed sequentially, providing a way to manage multiple database requests in an organized manner.
title: ArmaDragonflyClient - Hash Set ID Bulk icon: mdi:file-text-outline
+
+excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.
+
+dragonfly_db_fnc_hashSetIdBulk
+
+Description
+
Sets multiple field-value pairs in a specific hash table identified by its key in a single operation. This function allows efficiently storing multiple related fields at once for a specific identifier, reducing the number of separate database calls required. It's ideal for saving a collection of player-specific or entity-specific data.
+
+Syntax
+
[_data] call dragonfly_db_fnc_hashSetIdBulk
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_data
Array
Array with key followed by alternating field names and values
[]
+
+
+Return Value
+
None. The operation runs synchronously to store all the data.
This section contains documentation for the hash operations of ArmaDragonflyClient that allow for working with hash tables (key-value pairs within a namespace).
This documentation provides details on all functions available in ArmaDragonflyClient. These functions allow you to interact with the in-memory database system for Arma 3.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons,
+PO Box 1866, Mountain View, CA 94042
+
+
diff --git a/api/html/plus.svg b/api/html/plus.svg
new file mode 100644
index 0000000..0752016
--- /dev/null
+++ b/api/html/plus.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/api/html/plusd.svg b/api/html/plusd.svg
new file mode 100644
index 0000000..0c65bfe
--- /dev/null
+++ b/api/html/plusd.svg
@@ -0,0 +1,9 @@
+
+
diff --git a/api/html/resize.js b/api/html/resize.js
new file mode 100644
index 0000000..178d03b
--- /dev/null
+++ b/api/html/resize.js
@@ -0,0 +1,147 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+
+function initResizable(treeview) {
+ let sidenav,navtree,content,header,footer,barWidth=6;
+ const RESIZE_COOKIE_NAME = ''+'width';
+
+ function resizeWidth() {
+ const sidenavWidth = $(sidenav).outerWidth();
+ content.css({marginLeft:parseInt(sidenavWidth)+"px"});
+ if (typeof page_layout!=='undefined' && page_layout==1) {
+ footer.css({marginLeft:parseInt(sidenavWidth)+"px"});
+ }
+ Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
+ }
+
+ function restoreWidth(navWidth) {
+ content.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
+ if (typeof page_layout!=='undefined' && page_layout==1) {
+ footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
+ }
+ sidenav.css({width:navWidth + "px"});
+ }
+
+ function resizeHeight(treeview) {
+ const headerHeight = header.outerHeight();
+ const windowHeight = $(window).height();
+ let contentHeight;
+ if (treeview)
+ {
+ const footerHeight = footer.outerHeight();
+ let navtreeHeight,sideNavHeight;
+ if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */
+ contentHeight = windowHeight - headerHeight - footerHeight;
+ navtreeHeight = contentHeight;
+ sideNavHeight = contentHeight;
+ } else if (page_layout==1) { /* DISABLE_INDEX=YES */
+ contentHeight = windowHeight - footerHeight;
+ navtreeHeight = windowHeight - headerHeight;
+ sideNavHeight = windowHeight;
+ }
+ navtree.css({height:navtreeHeight + "px"});
+ sidenav.css({height:sideNavHeight + "px"});
+ }
+ else
+ {
+ contentHeight = windowHeight - headerHeight;
+ }
+ content.css({height:contentHeight + "px"});
+ if (location.hash.slice(1)) {
+ (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView();
+ }
+ }
+
+ function collapseExpand() {
+ let newWidth;
+ if (sidenav.width()>0) {
+ newWidth=0;
+ } else {
+ const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
+ newWidth = (width>250 && width<$(window).width()) ? width : 250;
+ }
+ restoreWidth(newWidth);
+ const sidenavWidth = $(sidenav).outerWidth();
+ Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
+ }
+
+ header = $("#top");
+ content = $("#doc-content");
+ footer = $("#nav-path");
+ sidenav = $("#side-nav");
+ if (!treeview) {
+// title = $("#titlearea");
+// titleH = $(title).height();
+// let animating = false;
+// content.on("scroll", function() {
+// slideOpts = { duration: 200,
+// step: function() {
+// contentHeight = $(window).height() - header.outerHeight();
+// content.css({ height : contentHeight + "px" });
+// },
+// done: function() { animating=false; }
+// };
+// if (content.scrollTop()>titleH && title.css('display')!='none' && !animating) {
+// title.slideUp(slideOpts);
+// animating=true;
+// } else if (content.scrollTop()<=titleH && title.css('display')=='none' && !animating) {
+// title.slideDown(slideOpts);
+// animating=true;
+// }
+// });
+ } else {
+ navtree = $("#nav-tree");
+ $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
+ $(sidenav).resizable({ minWidth: 0 });
+ }
+ $(window).resize(function() { resizeHeight(treeview); });
+ if (treeview)
+ {
+ const device = navigator.userAgent.toLowerCase();
+ const touch_device = device.match(/(iphone|ipod|ipad|android)/);
+ if (touch_device) { /* wider split bar for touch only devices */
+ $(sidenav).css({ paddingRight:'20px' });
+ $('.ui-resizable-e').css({ width:'20px' });
+ $('#nav-sync').css({ right:'34px' });
+ barWidth=20;
+ }
+ const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
+ if (width) { restoreWidth(width); } else { resizeWidth(); }
+ }
+ resizeHeight(treeview);
+ const url = location.href;
+ const i=url.indexOf("#");
+ if (i>=0) window.location.hash=url.substr(i);
+ const _preventDefault = function(evt) { evt.preventDefault(); };
+ if (treeview)
+ {
+ $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
+ $(".ui-resizable-handle").dblclick(collapseExpand);
+ // workaround for firefox
+ $("body").css({overflow: "hidden"});
+ }
+ $(window).on('load',function() { resizeHeight(treeview); });
+}
+/* @license-end */
diff --git a/api/html/search/all_0.js b/api/html/search/all_0.js
new file mode 100644
index 0000000..373b376
--- /dev/null
+++ b/api/html/search/all_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_3a_0',['Process data with direct call (synchronous):',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md91',1,'']]]
+];
diff --git a/api/html/search/all_1.js b/api/html/search/all_1.js
new file mode 100644
index 0000000..00805f9
--- /dev/null
+++ b/api/html/search/all_1.js
@@ -0,0 +1,60 @@
+var searchData=
+[
+ ['a_20backup_3a_0',['Save the database without creating a backup:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md48',1,'']]],
+ ['a_20callback_20from_20the_20extension_3a_1',['Process a callback from the extension:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md144',1,'']]],
+ ['a_20callback_20to_20the_20server_3a_2',['Forward a callback to the server:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md145',1,'']]],
+ ['a_20client_3a_3',['a client:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md289',1,'Add data from a client:'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'Call the save function remotely from a client:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'Call the set function remotely from a client:'],['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'Delete a key on the server from a client:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md229',1,'Store data from a client:'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md243',1,'Store player data from a client:'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md257',1,'Store player data from a client:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md271',1,'Store player data from a client:'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md128',1,'Trigger queue processing from a client:']]],
+ ['a_20field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_4',['excerpt: Get a field value from the current client's hash table in DragonflyClient.',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'']]],
+ ['a_20field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_5',['excerpt: Set a field value in the current client's hash table in DragonflyClient.',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'']]],
+ ['a_20hash_20table_20retrieval_20task_3a_6',['Add a hash table retrieval task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md75',1,'']]],
+ ['a_20key_20from_20dragonflyclient_7',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['a_20key_20in_20dragonflyclient_8',['a key in DragonflyClient',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.']]],
+ ['a_20key_20in_20singleplayer_20or_20on_20the_20server_3a_9',['Delete a key in singleplayer or on the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'']]],
+ ['a_20key_20on_20the_20server_20from_20a_20client_3a_10',['Delete a key on the server from a client:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['a_20list_20operation_20task_3a_11',['Add a list operation task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md77',1,'']]],
+ ['a_20list_20stored_20at_20a_20key_20from_20dragonflyclient_12',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_13',['a list stored at a key in DragonflyClient',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.']]],
+ ['a_20player_20message_3a_14',['Add a player message:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md288',1,'']]],
+ ['a_20player_20s_20complete_20hash_20data_3a_15',['Retrieve a player's complete hash data:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md199',1,'']]],
+ ['a_20player_20s_20loadout_20field_3a_16',['Retrieve a player's loadout field:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md213',1,'']]],
+ ['a_20player_20s_20loadout_20under_20their_20uid_3a_17',['Store a player's loadout under their UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'']]],
+ ['a_20player_20s_20loadout_3a_18',['a player s loadout:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md171',1,'Retrieve a player's loadout:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md227',1,'Store a player's loadout:']]],
+ ['a_20player_20specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_19',['Add a player-specific task that returns data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'']]],
+ ['a_20queue_20of_20tasks_20to_20be_20executed_20',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['a_20simple_20array_3a_21',['Store a simple array:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md61',1,'']]],
+ ['a_20simple_20string_3a_22',['Test with a simple string:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md157',1,'']]],
+ ['a_20single_20callback_23',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['a_20specific_20client_3a_24',['a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'Add a player-specific task that returns data to a specific client:'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md90',1,'Send data to a specific client:']]],
+ ['a_20specific_20event_20log_20entry_3a_25',['Retrieve a specific event log entry:',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md301',1,'']]],
+ ['a_20specific_20vehicle_20property_20with_20synchronous_20callback_3a_26',['Retrieve a specific vehicle property with synchronous callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'']]],
+ ['a_20welcome_20script_3a_27',['Use in a welcome script:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md115',1,'']]],
+ ['add_20a_20hash_20table_20retrieval_20task_3a_28',['Add a hash table retrieval task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md75',1,'']]],
+ ['add_20a_20list_20operation_20task_3a_29',['Add a list operation task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md77',1,'']]],
+ ['add_20a_20player_20message_3a_30',['Add a player message:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md288',1,'']]],
+ ['add_20a_20player_20specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_31',['Add a player-specific task that returns data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'']]],
+ ['add_20an_20event_20log_20entry_3a_32',['Add an event log entry:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md287',1,'']]],
+ ['add_20data_20from_20a_20client_3a_33',['Add data from a client:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md289',1,'']]],
+ ['add_20element_20to_20list_20stored_20at_20key_20from_20dragonflyclient_34',['excerpt: Add element to list stored at key from DragonflyClient.',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'']]],
+ ['add_20task_20to_20queue_35',['excerpt: Add task to queue.',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md68',1,'']]],
+ ['addon_20name_20in_20system_20chat_36',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]],
+ ['addon_20name_20message_3a_37',['Display the addon name message:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md114',1,'']]],
+ ['addtask_38',['addTask',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html',1,'']]],
+ ['all_20client_20hash_20data_3a_39',['Retrieve all client hash data:',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md185',1,'']]],
+ ['all_20elements_20of_20a_20list_20stored_20at_20a_20key_20from_20dragonflyclient_40',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['all_20fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_41',['excerpt: Get all fields and values from the hash stored at key from DragonflyClient.',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'']]],
+ ['all_20fields_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_42',['excerpt: Get all fields from the current client's hash table in DragonflyClient.',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'']]],
+ ['an_20element_20from_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_43',['excerpt: Remove an element from a list stored at a key in DragonflyClient.',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'']]],
+ ['an_20element_20in_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_44',['excerpt: Set an element in a list stored at a key in DragonflyClient.',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'']]],
+ ['an_20event_20log_20entry_3a_45',['Add an event log entry:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md287',1,'']]],
+ ['and_20position_3a_46',['and position:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md241',1,'Store player loadout and position:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md269',1,'Store player loadout and position:']]],
+ ['and_20send_20it_20to_20a_20specific_20client_3a_47',['and send it to a specific client:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:']]],
+ ['and_20send_20to_20a_20specific_20client_3a_48',['Retrieve data on the server and send to a specific client:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['and_20values_20from_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_49',['excerpt: Get all fields and values from the hash stored at key from DragonflyClient.',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'']]],
+ ['array_3a_50',['Store a simple array:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md61',1,'']]],
+ ['as_20callback_20function_3a_51',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20dragonflyclient_52',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['at_20a_20key_20from_20dragonflyclient_53',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['at_20a_20key_20in_20dragonflyclient_54',['at a key in DragonflyClient',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.']]],
+ ['at_20key_20from_20dragonflyclient_55',['at key from DragonflyClient',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'excerpt: Add element to list stored at key from DragonflyClient.'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'excerpt: Get all fields and values from the hash stored at key from DragonflyClient.'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'excerpt: Get element of list stored at key from DragonflyClient.'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'excerpt: Get the value associated with field in hash stored at key from DragonflyClient.'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.']]],
+ ['available_20functions_56',['Available Functions',['../G:/ids/dragonfly/docs/basic/README.md#autotoc_md37',1,'Available Functions'],['../G:/ids/dragonfly/docs/core/README.md#autotoc_md133',1,'Available Functions'],['../G:/ids/dragonfly/docs/hash/README.md#autotoc_md276',1,'Available Functions'],['../G:/ids/dragonfly/docs/list/README.md#autotoc_md341',1,'Available Functions']]]
+];
diff --git a/api/html/search/all_10.js b/api/html/search/all_10.js
new file mode 100644
index 0000000..5464736
--- /dev/null
+++ b/api/html/search/all_10.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['queue_0',['excerpt: Add task to queue.',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md68',1,'']]],
+ ['queue_20manually_3a_1',['Start processing the queue manually:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md127',1,'']]],
+ ['queue_20of_20tasks_20to_20be_20executed_2',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['queue_20processing_20from_20a_20client_3a_3',['Trigger queue processing from a client:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md128',1,'']]]
+];
diff --git a/api/html/search/all_11.js b/api/html/search/all_11.js
new file mode 100644
index 0000000..9c2847e
--- /dev/null
+++ b/api/html/search/all_11.js
@@ -0,0 +1,35 @@
+var searchData=
+[
+ ['readme_20md_20basic_20data_20operations_0',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['readme_20md_20core_20functions_1',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['readme_20md_20hash_20operations_2',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['readme_20md_20list_20operations_3',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_4',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['ref_20g_3a_20ids_20dragonfly_20docs_20basic_20readme_20md_20basic_20data_20operations_5',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['ref_20g_3a_20ids_20dragonfly_20docs_20core_20readme_20md_20core_20functions_6',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['ref_20g_3a_20ids_20dragonfly_20docs_20hash_20readme_20md_20hash_20operations_7',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['ref_20g_3a_20ids_20dragonfly_20docs_20list_20readme_20md_20list_20operations_8',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['related_20categories_9',['Related Categories',['../G:/ids/dragonfly/docs/basic/README.md#autotoc_md39',1,'Related Categories'],['../G:/ids/dragonfly/docs/core/README.md#autotoc_md135',1,'Related Categories'],['../G:/ids/dragonfly/docs/hash/README.md#autotoc_md278',1,'Related Categories'],['../G:/ids/dragonfly/docs/list/README.md#autotoc_md343',1,'Related Categories']]],
+ ['related_20functions_10',['Related Functions',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md11',1,'Related Functions'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md22',1,'Related Functions'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md34',1,'Related Functions'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md51',1,'Related Functions'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md65',1,'Related Functions'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md79',1,'Related Functions'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md93',1,'Related Functions'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md104',1,'Related Functions'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md117',1,'Related Functions'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md130',1,'Related Functions'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md147',1,'Related Functions'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md161',1,'Related Functions'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md175',1,'Related Functions'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md189',1,'Related Functions'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md203',1,'Related Functions'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md217',1,'Related Functions'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md231',1,'Related Functions'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md245',1,'Related Functions'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md259',1,'Related Functions'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md273',1,'Related Functions'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md291',1,'Related Functions'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md305',1,'Related Functions'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md316',1,'Related Functions'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md327',1,'Related Functions'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md338',1,'Related Functions']]],
+ ['remotely_20from_20a_20client_3a_11',['remotely from a client:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'Call the save function remotely from a client:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'Call the set function remotely from a client:']]],
+ ['remove_20an_20element_20from_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_12',['excerpt: Remove an element from a list stored at a key in DragonflyClient.',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'']]],
+ ['remove_20the_20specified_20key_20from_20dragonflyclient_13',['excerpt: Remove the specified key from DragonflyClient.',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_14',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_15',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['retrieval_20by_20specifying_20this_20as_20callback_20function_3a_16',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['retrieval_20task_3a_17',['Add a hash table retrieval task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md75',1,'']]],
+ ['retrieve_20a_20player_20s_20complete_20hash_20data_3a_18',['Retrieve a player's complete hash data:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md199',1,'']]],
+ ['retrieve_20a_20player_20s_20loadout_20field_3a_19',['Retrieve a player's loadout field:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md213',1,'']]],
+ ['retrieve_20a_20player_20s_20loadout_3a_20',['Retrieve a player's loadout:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md171',1,'']]],
+ ['retrieve_20a_20specific_20event_20log_20entry_3a_21',['Retrieve a specific event log entry:',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md301',1,'']]],
+ ['retrieve_20a_20specific_20vehicle_20property_20with_20synchronous_20callback_3a_22',['Retrieve a specific vehicle property with synchronous callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'']]],
+ ['retrieve_20all_20client_20hash_20data_3a_23',['Retrieve all client hash data:',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md185',1,'']]],
+ ['retrieve_20data_20and_20send_20it_20to_20a_20specific_20client_3a_24',['Retrieve data and send it to a specific client:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:']]],
+ ['retrieve_20data_20in_20singleplayer_20or_20on_20the_20server_3a_25',['Retrieve data in singleplayer or on the server:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'']]],
+ ['retrieve_20data_20on_20the_20server_20and_20send_20to_20a_20specific_20client_3a_26',['Retrieve data on the server and send to a specific client:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['retrieve_20data_20with_20synchronous_20callback_3a_27',['Retrieve data with synchronous callback:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md172',1,'Retrieve data with synchronous callback:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md186',1,'Retrieve data with synchronous callback:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md302',1,'Retrieve data with synchronous callback:']]],
+ ['retrieve_20vehicle_20data_20with_20synchronous_20callback_3a_28',['Retrieve vehicle data with synchronous callback:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md200',1,'']]],
+ ['return_20value_29',['Return Value',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md6',1,'Return Value'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md19',1,'Return Value'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md29',1,'Return Value'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md46',1,'Return Value'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md59',1,'Return Value'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md73',1,'Return Value'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md87',1,'Return Value'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md101',1,'Return Value'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md112',1,'Return Value'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md125',1,'Return Value'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md142',1,'Return Value'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md155',1,'Return Value'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md169',1,'Return Value'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md183',1,'Return Value'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md197',1,'Return Value'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md211',1,'Return Value'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md225',1,'Return Value'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md239',1,'Return Value'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md253',1,'Return Value'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md267',1,'Return Value'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md285',1,'Return Value'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md299',1,'Return Value'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md313',1,'Return Value'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md324',1,'Return Value'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md335',1,'Return Value']]],
+ ['returned_20in_20a_20single_20callback_30',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['returns_20data_20to_20a_20specific_20client_3a_31',['Add a player-specific task that returns data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'']]]
+];
diff --git a/api/html/search/all_12.js b/api/html/search/all_12.js
new file mode 100644
index 0000000..a68548a
--- /dev/null
+++ b/api/html/search/all_12.js
@@ -0,0 +1,65 @@
+var searchData=
+[
+ ['s_20complete_20hash_20data_3a_0',['Retrieve a player's complete hash data:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md199',1,'']]],
+ ['s_20hash_20table_20in_20dragonflyclient_1',['s hash table in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]],
+ ['s_20loadout_20field_3a_2',['Retrieve a player's loadout field:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md213',1,'']]],
+ ['s_20loadout_20under_20their_20uid_3a_3',['Store a player's loadout under their UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'']]],
+ ['s_20loadout_3a_4',['s loadout:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md171',1,'Retrieve a player's loadout:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md227',1,'Store a player's loadout:']]],
+ ['save_5',['save',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html',1,'']]],
+ ['save_20db_20to_20disc_6',['excerpt: Save DB to disc.',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md41',1,'']]],
+ ['save_20function_20remotely_20from_20a_20client_3a_7',['Call the save function remotely from a client:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'']]],
+ ['save_20the_20database_20without_20creating_20a_20backup_3a_8',['Save the database without creating a backup:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md48',1,'']]],
+ ['scheduled_20environment_20for_20extension_9',['excerpt: Scheduled Environment for extension.',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md137',1,'']]],
+ ['scheduler_10',['scheduler',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html',1,'']]],
+ ['script_3a_11',['Use in a welcome script:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md115',1,'']]],
+ ['send_20data_20to_20a_20specific_20client_3a_12',['Send data to a specific client:',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md90',1,'']]],
+ ['send_20it_20to_20a_20specific_20client_3a_13',['send it to a specific client:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:']]],
+ ['send_20to_20a_20specific_20client_3a_14',['Retrieve data on the server and send to a specific client:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['server_20and_20send_20to_20a_20specific_20client_3a_15',['Retrieve data on the server and send to a specific client:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['server_20from_20a_20client_3a_16',['Delete a key on the server from a client:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['server_3a_17',['server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md145',1,'Forward a callback to the server:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md159',1,'Test from client to server:']]],
+ ['set_18',['set',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html',1,'']]],
+ ['set_20a_20field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_19',['excerpt: Set a field value in the current client's hash table in DragonflyClient.',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'']]],
+ ['set_20an_20element_20in_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_20',['excerpt: Set an element in a list stored at a key in DragonflyClient.',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'']]],
+ ['set_20function_20remotely_20from_20a_20client_3a_21',['Call the set function remotely from a client:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'']]],
+ ['set_20multiple_20fields_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_22',['excerpt: Set multiple fields in the current client's hash table in DragonflyClient.',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'']]],
+ ['set_20the_20specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_23',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['set_20the_20specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_24',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['set_20the_20value_20of_20stored_20key_20from_20dragonflyclient_25',['excerpt: Set the value of stored key from DragonflyClient.',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'']]],
+ ['settings_26',['excerpt: Initial Extension settings.',['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md96',1,'']]],
+ ['settings_3a_27',['Store multiple player settings:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md242',1,'']]],
+ ['simple_20array_3a_28',['Store a simple array:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md61',1,'']]],
+ ['simple_20string_3a_29',['Test with a simple string:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md157',1,'']]],
+ ['single_20callback_30',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['singleplayer_20or_20on_20the_20server_3a_31',['singleplayer or on the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]],
+ ['specific_20client_3a_32',['specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'Add a player-specific task that returns data to a specific client:'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md90',1,'Send data to a specific client:']]],
+ ['specific_20event_20log_20entry_3a_33',['Retrieve a specific event log entry:',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md301',1,'']]],
+ ['specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_34',['Add a player-specific task that returns data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'']]],
+ ['specific_20vehicle_20property_20with_20synchronous_20callback_3a_35',['Retrieve a specific vehicle property with synchronous callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'']]],
+ ['specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_36',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_37',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['specified_20key_20from_20dragonflyclient_38',['excerpt: Remove the specified key from DragonflyClient.',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['specifying_20this_20as_20callback_20function_3a_39',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['start_20processing_20the_20queue_20manually_3a_40',['Start processing the queue manually:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md127',1,'']]],
+ ['store_20a_20player_20s_20loadout_20under_20their_20uid_3a_41',['Store a player's loadout under their UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'']]],
+ ['store_20a_20player_20s_20loadout_3a_42',['Store a player's loadout:',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md227',1,'']]],
+ ['store_20a_20simple_20array_3a_43',['Store a simple array:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md61',1,'']]],
+ ['store_20data_20from_20a_20client_3a_44',['Store data from a client:',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md229',1,'']]],
+ ['store_20multiple_20player_20settings_3a_45',['Store multiple player settings:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md242',1,'']]],
+ ['store_20multiple_20vehicle_20properties_3a_46',['Store multiple vehicle properties:',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md270',1,'']]],
+ ['store_20player_20data_20from_20a_20client_3a_47',['Store player data from a client:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md243',1,'Store player data from a client:'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md257',1,'Store player data from a client:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md271',1,'Store player data from a client:']]],
+ ['store_20player_20data_20under_20their_20uid_3a_48',['Store player data under their UID:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md62',1,'']]],
+ ['store_20player_20loadout_20and_20position_3a_49',['Store player loadout and position:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md241',1,'Store player loadout and position:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md269',1,'Store player loadout and position:']]],
+ ['store_20player_20preferences_3a_50',['Store player preferences:',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md228',1,'']]],
+ ['store_20vehicle_20data_3a_51',['Store vehicle data:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md256',1,'']]],
+ ['stored_20at_20a_20key_20from_20dragonflyclient_52',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['stored_20at_20a_20key_20in_20dragonflyclient_53',['stored at a key in DragonflyClient',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.']]],
+ ['stored_20at_20key_20from_20dragonflyclient_54',['stored at key from DragonflyClient',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'excerpt: Add element to list stored at key from DragonflyClient.'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'excerpt: Get all fields and values from the hash stored at key from DragonflyClient.'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'excerpt: Get element of list stored at key from DragonflyClient.'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'excerpt: Get the value associated with field in hash stored at key from DragonflyClient.'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.']]],
+ ['stored_20key_20from_20dragonflyclient_55',['stored key from DragonflyClient',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from DragonflyClient.'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'excerpt: Set the value of stored key from DragonflyClient.']]],
+ ['string_3a_56',['Test with a simple string:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md157',1,'']]],
+ ['structure_57',['Function Documentation Structure',['../G:/ids/dragonfly/docs/README.md#autotoc_md354',1,'']]],
+ ['synchronous_20_3a_58',['Process data with direct call (synchronous):',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md91',1,'']]],
+ ['synchronous_20callback_3a_59',['synchronous callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'Retrieve a specific vehicle property with synchronous callback:'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md172',1,'Retrieve data with synchronous callback:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md186',1,'Retrieve data with synchronous callback:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md302',1,'Retrieve data with synchronous callback:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md200',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['syntax_60',['Syntax',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md4',1,'Syntax'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md17',1,'Syntax'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md27',1,'Syntax'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md44',1,'Syntax'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md57',1,'Syntax'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md71',1,'Syntax'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md85',1,'Syntax'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md99',1,'Syntax'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md110',1,'Syntax'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md123',1,'Syntax'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md140',1,'Syntax'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md153',1,'Syntax'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md167',1,'Syntax'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md181',1,'Syntax'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md195',1,'Syntax'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md209',1,'Syntax'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md223',1,'Syntax'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md237',1,'Syntax'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md251',1,'Syntax'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md265',1,'Syntax'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md283',1,'Syntax'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md297',1,'Syntax'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md311',1,'Syntax'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md322',1,'Syntax'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md333',1,'Syntax']]],
+ ['system_20chat_61',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]]
+];
diff --git a/api/html/search/all_13.js b/api/html/search/all_13.js
new file mode 100644
index 0000000..2131f82
--- /dev/null
+++ b/api/html/search/all_13.js
@@ -0,0 +1,49 @@
+var searchData=
+[
+ ['table_20in_20dragonflyclient_0',['table in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]],
+ ['table_20retrieval_20task_3a_1',['Add a hash table retrieval task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md75',1,'']]],
+ ['task_20that_20returns_20data_20to_20a_20specific_20client_3a_2',['Add a player-specific task that returns data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'']]],
+ ['task_20to_20queue_3',['excerpt: Add task to queue.',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md68',1,'']]],
+ ['task_3a_4',['task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md75',1,'Add a hash table retrieval task:'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md77',1,'Add a list operation task:']]],
+ ['tasks_20to_20be_20executed_5',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['test_6',['test',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html',1,'']]],
+ ['test_20database_20retrieval_20by_20specifying_20this_20as_20callback_20function_3a_7',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['test_20from_20client_20to_20server_3a_8',['Test from client to server:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md159',1,'']]],
+ ['test_20function_9',['excerpt: Test Function.',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md150',1,'']]],
+ ['test_20with_20a_20simple_20string_3a_10',['Test with a simple string:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md157',1,'']]],
+ ['that_20returns_20data_20to_20a_20specific_20client_3a_11',['Add a player-specific task that returns data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'']]],
+ ['the_20addon_20name_20in_20system_20chat_12',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]],
+ ['the_20addon_20name_20message_3a_13',['Display the addon name message:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md114',1,'']]],
+ ['the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_14',['the current client s hash table in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]],
+ ['the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_15',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['the_20database_20without_20creating_20a_20backup_3a_16',['Save the database without creating a backup:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md48',1,'']]],
+ ['the_20extension_3a_17',['Process a callback from the extension:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md144',1,'']]],
+ ['the_20hash_20stored_20at_20key_20from_20dragonflyclient_18',['the hash stored at key from DragonflyClient',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'excerpt: Get all fields and values from the hash stored at key from DragonflyClient.'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.']]],
+ ['the_20queue_20manually_3a_19',['Start processing the queue manually:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md127',1,'']]],
+ ['the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_20',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['the_20save_20function_20remotely_20from_20a_20client_3a_21',['Call the save function remotely from a client:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'']]],
+ ['the_20server_20and_20send_20to_20a_20specific_20client_3a_22',['Retrieve data on the server and send to a specific client:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['the_20server_20from_20a_20client_3a_23',['Delete a key on the server from a client:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['the_20server_3a_24',['the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md145',1,'Forward a callback to the server:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]],
+ ['the_20set_20function_20remotely_20from_20a_20client_3a_25',['Call the set function remotely from a client:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'']]],
+ ['the_20specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_26',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['the_20specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_27',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['the_20specified_20key_20from_20dragonflyclient_28',['excerpt: Remove the specified key from DragonflyClient.',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['the_20value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20dragonflyclient_29',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['the_20value_20of_20stored_20key_20from_20dragonflyclient_30',['the value of stored key from DragonflyClient',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from DragonflyClient.'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'excerpt: Set the value of stored key from DragonflyClient.']]],
+ ['their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_31',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['their_20uid_3a_32',['their UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'Store a player's loadout under their UID:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md62',1,'Store player data under their UID:']]],
+ ['this_20as_20callback_20function_3a_33',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['to_20a_20specific_20client_3a_34',['to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'Add a player-specific task that returns data to a specific client:'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md90',1,'Send data to a specific client:']]],
+ ['to_20be_20executed_35',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['to_20be_20returned_20in_20a_20single_20callback_36',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['to_20disc_37',['excerpt: Save DB to disc.',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md41',1,'']]],
+ ['to_20list_20stored_20at_20key_20from_20dragonflyclient_38',['excerpt: Add element to list stored at key from DragonflyClient.',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'']]],
+ ['to_20queue_39',['excerpt: Add task to queue.',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md68',1,'']]],
+ ['to_20server_3a_40',['Test from client to server:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md159',1,'']]],
+ ['to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_41',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['to_20the_20server_3a_42',['Forward a callback to the server:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md145',1,'']]],
+ ['to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_43',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['too_20large_20to_20be_20returned_20in_20a_20single_20callback_44',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['trigger_20queue_20processing_20from_20a_20client_3a_45',['Trigger queue processing from a client:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md128',1,'']]]
+];
diff --git a/api/html/search/all_14.js b/api/html/search/all_14.js
new file mode 100644
index 0000000..ccb5f09
--- /dev/null
+++ b/api/html/search/all_14.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['uid_3a_0',['UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'Store a player's loadout under their UID:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md62',1,'Store player data under their UID:']]],
+ ['under_20their_20uid_3a_1',['under their UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'Store a player's loadout under their UID:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md62',1,'Store player data under their UID:']]],
+ ['usage_2',['Usage',['../G:/ids/dragonfly/docs/README.md#autotoc_md351',1,'Basic Usage'],['../G:/ids/dragonfly/docs/basic/README.md#autotoc_md38',1,'Example Usage'],['../G:/ids/dragonfly/docs/core/README.md#autotoc_md134',1,'Example Usage'],['../G:/ids/dragonfly/docs/hash/README.md#autotoc_md277',1,'Example Usage'],['../G:/ids/dragonfly/docs/list/README.md#autotoc_md342',1,'Example Usage']]],
+ ['usage_20examples_3',['Usage Examples',['../G:/ids/dragonfly/docs/README.md#autotoc_md350',1,'']]],
+ ['use_20in_20a_20welcome_20script_3a_4',['Use in a welcome script:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md115',1,'']]]
+];
diff --git a/api/html/search/all_15.js b/api/html/search/all_15.js
new file mode 100644
index 0000000..912c7ed
--- /dev/null
+++ b/api/html/search/all_15.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+ ['value_0',['Value',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md6',1,'Return Value'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md19',1,'Return Value'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md29',1,'Return Value'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md46',1,'Return Value'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md59',1,'Return Value'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md73',1,'Return Value'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md87',1,'Return Value'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md101',1,'Return Value'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md112',1,'Return Value'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md125',1,'Return Value'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md142',1,'Return Value'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md155',1,'Return Value'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md169',1,'Return Value'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md183',1,'Return Value'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md197',1,'Return Value'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md211',1,'Return Value'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md225',1,'Return Value'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md239',1,'Return Value'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md253',1,'Return Value'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md267',1,'Return Value'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md285',1,'Return Value'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md299',1,'Return Value'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md313',1,'Return Value'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md324',1,'Return Value'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md335',1,'Return Value']]],
+ ['value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20dragonflyclient_1',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['value_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_2',['excerpt: Get a field value from the current client's hash table in DragonflyClient.',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'']]],
+ ['value_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_3',['excerpt: Set a field value in the current client's hash table in DragonflyClient.',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'']]],
+ ['value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_4',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['value_20of_20stored_20key_20from_20dragonflyclient_5',['value of stored key from DragonflyClient',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from DragonflyClient.'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'excerpt: Set the value of stored key from DragonflyClient.']]],
+ ['values_20from_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_6',['excerpt: Get all fields and values from the hash stored at key from DragonflyClient.',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'']]],
+ ['values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_7',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['vehicle_20data_20with_20synchronous_20callback_3a_8',['Retrieve vehicle data with synchronous callback:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md200',1,'']]],
+ ['vehicle_20data_3a_9',['Store vehicle data:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md256',1,'']]],
+ ['vehicle_20properties_3a_10',['Store multiple vehicle properties:',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md270',1,'']]],
+ ['vehicle_20property_20with_20synchronous_20callback_3a_11',['Retrieve a specific vehicle property with synchronous callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'']]]
+];
diff --git a/api/html/search/all_16.js b/api/html/search/all_16.js
new file mode 100644
index 0000000..2eb10af
--- /dev/null
+++ b/api/html/search/all_16.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['welcome_20script_3a_0',['Use in a welcome script:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md115',1,'']]],
+ ['when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_1',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['with_20a_20simple_20string_3a_2',['Test with a simple string:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md157',1,'']]],
+ ['with_20direct_20call_20synchronous_20_3a_3',['Process data with direct call (synchronous):',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md91',1,'']]],
+ ['with_20field_20in_20hash_20stored_20at_20key_20from_20dragonflyclient_4',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['with_20synchronous_20callback_3a_5',['with synchronous callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'Retrieve a specific vehicle property with synchronous callback:'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md172',1,'Retrieve data with synchronous callback:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md186',1,'Retrieve data with synchronous callback:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md302',1,'Retrieve data with synchronous callback:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md200',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['without_20creating_20a_20backup_3a_6',['Save the database without creating a backup:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md48',1,'']]]
+];
diff --git a/api/html/search/all_2.js b/api/html/search/all_2.js
new file mode 100644
index 0000000..eeab129
--- /dev/null
+++ b/api/html/search/all_2.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['backup_3a_0',['Save the database without creating a backup:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md48',1,'']]],
+ ['basic_20data_20operations_1',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['basic_20readme_20md_20basic_20data_20operations_2',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['basic_20usage_3',['Basic Usage',['../G:/ids/dragonfly/docs/README.md#autotoc_md351',1,'']]],
+ ['be_20executed_4',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['be_20returned_20in_20a_20single_20callback_5',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['by_20specifying_20this_20as_20callback_20function_3a_6',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]]
+];
diff --git a/api/html/search/all_3.js b/api/html/search/all_3.js
new file mode 100644
index 0000000..7a39bd7
--- /dev/null
+++ b/api/html/search/all_3.js
@@ -0,0 +1,23 @@
+var searchData=
+[
+ ['call_20synchronous_20_3a_0',['Process data with direct call (synchronous):',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md91',1,'']]],
+ ['call_20the_20save_20function_20remotely_20from_20a_20client_3a_1',['Call the save function remotely from a client:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'']]],
+ ['call_20the_20set_20function_20remotely_20from_20a_20client_3a_2',['Call the set function remotely from a client:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'']]],
+ ['callback_3',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['callback_20from_20the_20extension_3a_4',['Process a callback from the extension:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md144',1,'']]],
+ ['callback_20function_3a_5',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['callback_20to_20the_20server_3a_6',['Forward a callback to the server:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md145',1,'']]],
+ ['callback_3a_7',['callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'Retrieve a specific vehicle property with synchronous callback:'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md172',1,'Retrieve data with synchronous callback:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md186',1,'Retrieve data with synchronous callback:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md302',1,'Retrieve data with synchronous callback:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md200',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['categories_8',['Categories',['../G:/ids/dragonfly/docs/README.md#autotoc_md345',1,'Function Categories'],['../G:/ids/dragonfly/docs/basic/README.md#autotoc_md39',1,'Related Categories'],['../G:/ids/dragonfly/docs/core/README.md#autotoc_md135',1,'Related Categories'],['../G:/ids/dragonfly/docs/hash/README.md#autotoc_md278',1,'Related Categories'],['../G:/ids/dragonfly/docs/list/README.md#autotoc_md343',1,'Related Categories']]],
+ ['chat_9',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]],
+ ['chunks_20received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_10',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['client_20hash_20data_3a_11',['Retrieve all client hash data:',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md185',1,'']]],
+ ['client_20s_20hash_20table_20in_20dragonflyclient_12',['client s hash table in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]],
+ ['client_20to_20server_3a_13',['Test from client to server:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md159',1,'']]],
+ ['client_3a_14',['client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'Add a player-specific task that returns data to a specific client:'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md289',1,'Add data from a client:'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'Call the save function remotely from a client:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'Call the set function remotely from a client:'],['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'Delete a key on the server from a client:'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md90',1,'Send data to a specific client:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md229',1,'Store data from a client:'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md243',1,'Store player data from a client:'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md257',1,'Store player data from a client:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md271',1,'Store player data from a client:'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md128',1,'Trigger queue processing from a client:']]],
+ ['complete_20hash_20data_3a_15',['Retrieve a player's complete hash data:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md199',1,'']]],
+ ['core_20functions_16',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['core_20readme_20md_20core_20functions_17',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['creating_20a_20backup_3a_18',['Save the database without creating a backup:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md48',1,'']]],
+ ['current_20client_20s_20hash_20table_20in_20dragonflyclient_19',['current client s hash table in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]]
+];
diff --git a/api/html/search/all_4.js b/api/html/search/all_4.js
new file mode 100644
index 0000000..f5a24d2
--- /dev/null
+++ b/api/html/search/all_4.js
@@ -0,0 +1,65 @@
+var searchData=
+[
+ ['data_20and_20send_20it_20to_20a_20specific_20client_3a_0',['data and send it to a specific client:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:']]],
+ ['data_20chunks_20received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_1',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['data_20from_20a_20client_3a_2',['data from a client:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md289',1,'Add data from a client:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md229',1,'Store data from a client:'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md243',1,'Store player data from a client:'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md257',1,'Store player data from a client:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md271',1,'Store player data from a client:']]],
+ ['data_20from_20db_3',['excerpt: Handle data from DB.',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md82',1,'']]],
+ ['data_20in_20singleplayer_20or_20on_20the_20server_3a_4',['Retrieve data in singleplayer or on the server:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'']]],
+ ['data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_5',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['data_20locally_3a_6',['Process data locally:',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md89',1,'']]],
+ ['data_20on_20the_20server_20and_20send_20to_20a_20specific_20client_3a_7',['Retrieve data on the server and send to a specific client:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['data_20operations_8',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['data_20to_20a_20specific_20client_3a_9',['data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'Add a player-specific task that returns data to a specific client:'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md90',1,'Send data to a specific client:']]],
+ ['data_20under_20their_20uid_3a_10',['Store player data under their UID:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md62',1,'']]],
+ ['data_20with_20direct_20call_20synchronous_20_3a_11',['Process data with direct call (synchronous):',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md91',1,'']]],
+ ['data_20with_20synchronous_20callback_3a_12',['data with synchronous callback:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md172',1,'Retrieve data with synchronous callback:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md186',1,'Retrieve data with synchronous callback:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md302',1,'Retrieve data with synchronous callback:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md200',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['data_3a_13',['data:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md199',1,'Retrieve a player's complete hash data:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md185',1,'Retrieve all client hash data:'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md256',1,'Store vehicle data:']]],
+ ['database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_14',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['database_20retrieval_20by_20specifying_20this_20as_20callback_20function_3a_15',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['database_20without_20creating_20a_20backup_3a_16',['Save the database without creating a backup:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md48',1,'']]],
+ ['db_17',['excerpt: Handle data from DB.',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md82',1,'']]],
+ ['db_20to_20disc_18',['excerpt: Save DB to disc.',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md41',1,'']]],
+ ['delete_19',['delete',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html',1,'']]],
+ ['delete_20a_20key_20in_20singleplayer_20or_20on_20the_20server_3a_20',['Delete a key in singleplayer or on the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'']]],
+ ['delete_20a_20key_20on_20the_20server_20from_20a_20client_3a_21',['Delete a key on the server from a client:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['description_22',['Description',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md3',1,'Description'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md16',1,'Description'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md26',1,'Description'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md43',1,'Description'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md56',1,'Description'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md70',1,'Description'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md84',1,'Description'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md98',1,'Description'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md109',1,'Description'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md122',1,'Description'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md139',1,'Description'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md152',1,'Description'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md166',1,'Description'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md180',1,'Description'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md194',1,'Description'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md208',1,'Description'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md222',1,'Description'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md236',1,'Description'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md250',1,'Description'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md264',1,'Description'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md282',1,'Description'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md296',1,'Description'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md310',1,'Description'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md321',1,'Description'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md332',1,'Description']]],
+ ['direct_20call_20synchronous_20_3a_23',['Process data with direct call (synchronous):',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md91',1,'']]],
+ ['disc_24',['excerpt: Save DB to disc.',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md41',1,'']]],
+ ['display_20the_20addon_20name_20message_3a_25',['Display the addon name message:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md114',1,'']]],
+ ['displays_20the_20addon_20name_20in_20system_20chat_26',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]],
+ ['docs_20basic_20readme_20md_20basic_20data_20operations_27',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['docs_20core_20readme_20md_20core_20functions_28',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['docs_20hash_20readme_20md_20hash_20operations_29',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['docs_20list_20readme_20md_20list_20operations_30',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['documentation_20structure_31',['Function Documentation Structure',['../G:/ids/dragonfly/docs/README.md#autotoc_md354',1,'']]],
+ ['dragonfly_20docs_20basic_20readme_20md_20basic_20data_20operations_32',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['dragonfly_20docs_20core_20readme_20md_20core_20functions_33',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['dragonfly_20docs_20hash_20readme_20md_20hash_20operations_34',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['dragonfly_20docs_20list_20readme_20md_20list_20operations_35',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5faddtask_36',['dragonfly_db_fnc_addTask',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md69',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fdelete_37',['dragonfly_db_fnc_delete',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md2',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5ffetch_38',['dragonfly_db_fnc_fetch',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md15',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fget_39',['dragonfly_db_fnc_get',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md25',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhandler_40',['dragonfly_db_fnc_handler',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md83',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashget_41',['dragonfly_db_fnc_hashGet',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md165',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashgetall_42',['dragonfly_db_fnc_hashGetAll',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md179',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashgetallid_43',['dragonfly_db_fnc_hashGetAllId',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md193',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashgetid_44',['dragonfly_db_fnc_hashGetId',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md207',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashset_45',['dragonfly_db_fnc_hashSet',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md221',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashsetbulk_46',['dragonfly_db_fnc_hashSetBulk',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md235',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashsetid_47',['dragonfly_db_fnc_hashSetId',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md249',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fhashsetidbulk_48',['dragonfly_db_fnc_hashSetIdBulk',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md263',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5finit_49',['dragonfly_db_fnc_init',['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md97',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5flistadd_50',['dragonfly_db_fnc_listAdd',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md281',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5flistget_51',['dragonfly_db_fnc_listGet',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md295',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5flistload_52',['dragonfly_db_fnc_listLoad',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md309',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5flistremove_53',['dragonfly_db_fnc_listRemove',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md320',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5flistset_54',['dragonfly_db_fnc_listSet',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md331',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fprintaddonname_55',['dragonfly_db_fnc_printAddonName',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md108',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fprocessqueue_56',['dragonfly_db_fnc_processQueue',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md121',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fsave_57',['dragonfly_db_fnc_save',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md42',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fscheduler_58',['dragonfly_db_fnc_scheduler',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md138',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5fset_59',['dragonfly_db_fnc_set',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md55',1,'']]],
+ ['dragonfly_5fdb_5ffnc_5ftest_60',['dragonfly_db_fnc_test',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md151',1,'']]],
+ ['dragonflyclient_61',['DragonflyClient',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'excerpt: Add element to list stored at key from DragonflyClient.'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'excerpt: Get all elements of a list stored at a key from DragonflyClient.'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'excerpt: Get all fields and values from the hash stored at key from DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'excerpt: Get element of list stored at key from DragonflyClient.'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'excerpt: Get the value associated with field in hash stored at key from DragonflyClient.'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from DragonflyClient.'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md1',1,'excerpt: Remove the specified key from DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'excerpt: Set the value of stored key from DragonflyClient.']]]
+];
diff --git a/api/html/search/all_5.js b/api/html/search/all_5.js
new file mode 100644
index 0000000..d80399d
--- /dev/null
+++ b/api/html/search/all_5.js
@@ -0,0 +1,43 @@
+var searchData=
+[
+ ['element_20from_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_0',['excerpt: Remove an element from a list stored at a key in DragonflyClient.',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'']]],
+ ['element_20in_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_1',['excerpt: Set an element in a list stored at a key in DragonflyClient.',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'']]],
+ ['element_20of_20list_20stored_20at_20key_20from_20dragonflyclient_2',['excerpt: Get element of list stored at key from DragonflyClient.',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'']]],
+ ['element_20to_20list_20stored_20at_20key_20from_20dragonflyclient_3',['excerpt: Add element to list stored at key from DragonflyClient.',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'']]],
+ ['elements_20of_20a_20list_20stored_20at_20a_20key_20from_20dragonflyclient_4',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['entry_3a_5',['entry:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md287',1,'Add an event log entry:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md301',1,'Retrieve a specific event log entry:']]],
+ ['environment_20for_20extension_6',['excerpt: Scheduled Environment for extension.',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md137',1,'']]],
+ ['event_20log_20entry_3a_7',['event log entry:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md287',1,'Add an event log entry:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md301',1,'Retrieve a specific event log entry:']]],
+ ['example_20usage_8',['Example Usage',['../G:/ids/dragonfly/docs/basic/README.md#autotoc_md38',1,'Example Usage'],['../G:/ids/dragonfly/docs/core/README.md#autotoc_md134',1,'Example Usage'],['../G:/ids/dragonfly/docs/hash/README.md#autotoc_md277',1,'Example Usage'],['../G:/ids/dragonfly/docs/list/README.md#autotoc_md342',1,'Example Usage']]],
+ ['examples_9',['Examples',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md7',1,'Examples'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md20',1,'Examples'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md30',1,'Examples'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md47',1,'Examples'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md60',1,'Examples'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md74',1,'Examples'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md88',1,'Examples'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md102',1,'Examples'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md113',1,'Examples'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md126',1,'Examples'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md143',1,'Examples'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md156',1,'Examples'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md170',1,'Examples'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md184',1,'Examples'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md198',1,'Examples'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md212',1,'Examples'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md226',1,'Examples'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md240',1,'Examples'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md254',1,'Examples'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md268',1,'Examples'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md286',1,'Examples'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md300',1,'Examples'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md314',1,'Examples'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md325',1,'Examples'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md336',1,'Examples'],['../G:/ids/dragonfly/docs/README.md#autotoc_md350',1,'Usage Examples']]],
+ ['excerpt_3a_20add_20element_20to_20list_20stored_20at_20key_20from_20dragonflyclient_10',['excerpt: Add element to list stored at key from DragonflyClient.',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'']]],
+ ['excerpt_3a_20add_20task_20to_20queue_11',['excerpt: Add task to queue.',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md68',1,'']]],
+ ['excerpt_3a_20displays_20the_20addon_20name_20in_20system_20chat_12',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]],
+ ['excerpt_3a_20get_20a_20field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_13',['excerpt: Get a field value from the current client's hash table in DragonflyClient.',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'']]],
+ ['excerpt_3a_20get_20all_20elements_20of_20a_20list_20stored_20at_20a_20key_20from_20dragonflyclient_14',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['excerpt_3a_20get_20all_20fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_15',['excerpt: Get all fields and values from the hash stored at key from DragonflyClient.',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'']]],
+ ['excerpt_3a_20get_20all_20fields_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_16',['excerpt: Get all fields from the current client's hash table in DragonflyClient.',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'']]],
+ ['excerpt_3a_20get_20element_20of_20list_20stored_20at_20key_20from_20dragonflyclient_17',['excerpt: Get element of list stored at key from DragonflyClient.',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'']]],
+ ['excerpt_3a_20get_20the_20value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20dragonflyclient_18',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['excerpt_3a_20get_20the_20value_20of_20stored_20key_20from_20dragonflyclient_19',['excerpt: Get the value of stored key from DragonflyClient.',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'']]],
+ ['excerpt_3a_20handle_20data_20from_20db_20',['excerpt: Handle data from DB.',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md82',1,'']]],
+ ['excerpt_3a_20handles_20data_20chunks_20received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_21',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['excerpt_3a_20initial_20extension_20settings_22',['excerpt: Initial Extension settings.',['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md96',1,'']]],
+ ['excerpt_3a_20processes_20a_20queue_20of_20tasks_20to_20be_20executed_23',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['excerpt_3a_20remove_20an_20element_20from_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_24',['excerpt: Remove an element from a list stored at a key in DragonflyClient.',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'']]],
+ ['excerpt_3a_20remove_20the_20specified_20key_20from_20dragonflyclient_25',['excerpt: Remove the specified key from DragonflyClient.',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['excerpt_3a_20save_20db_20to_20disc_26',['excerpt: Save DB to disc.',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md41',1,'']]],
+ ['excerpt_3a_20scheduled_20environment_20for_20extension_27',['excerpt: Scheduled Environment for extension.',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md137',1,'']]],
+ ['excerpt_3a_20set_20a_20field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_28',['excerpt: Set a field value in the current client's hash table in DragonflyClient.',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'']]],
+ ['excerpt_3a_20set_20an_20element_20in_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_29',['excerpt: Set an element in a list stored at a key in DragonflyClient.',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'']]],
+ ['excerpt_3a_20set_20multiple_20fields_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_30',['excerpt: Set multiple fields in the current client's hash table in DragonflyClient.',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'']]],
+ ['excerpt_3a_20set_20the_20specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_31',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['excerpt_3a_20set_20the_20specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_32',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['excerpt_3a_20set_20the_20value_20of_20stored_20key_20from_20dragonflyclient_33',['excerpt: Set the value of stored key from DragonflyClient.',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'']]],
+ ['excerpt_3a_20test_20function_34',['excerpt: Test Function.',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md150',1,'']]],
+ ['executed_35',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['extension_36',['excerpt: Scheduled Environment for extension.',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md137',1,'']]],
+ ['extension_20settings_37',['excerpt: Initial Extension settings.',['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md96',1,'']]],
+ ['extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_38',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['extension_3a_39',['Process a callback from the extension:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md144',1,'']]]
+];
diff --git a/api/html/search/all_6.js b/api/html/search/all_6.js
new file mode 100644
index 0000000..d2f9dc2
--- /dev/null
+++ b/api/html/search/all_6.js
@@ -0,0 +1,30 @@
+var searchData=
+[
+ ['fetch_0',['fetch',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html',1,'']]],
+ ['field_20in_20hash_20stored_20at_20key_20from_20dragonflyclient_1',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_2',['excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'']]],
+ ['field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_3',['excerpt: Get a field value from the current client's hash table in DragonflyClient.',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'']]],
+ ['field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_4',['excerpt: Set a field value in the current client's hash table in DragonflyClient.',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'']]],
+ ['field_3a_5',['Retrieve a player's loadout field:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md213',1,'']]],
+ ['fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_6',['excerpt: Get all fields and values from the hash stored at key from DragonflyClient.',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'']]],
+ ['fields_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_7',['excerpt: Get all fields from the current client's hash table in DragonflyClient.',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'']]],
+ ['fields_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_8',['excerpt: Set multiple fields in the current client's hash table in DragonflyClient.',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'']]],
+ ['fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_9',['excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'']]],
+ ['for_20extension_10',['excerpt: Scheduled Environment for extension.',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md137',1,'']]],
+ ['forward_20a_20callback_20to_20the_20server_3a_11',['Forward a callback to the server:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md145',1,'']]],
+ ['from_20a_20client_3a_12',['from a client:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md289',1,'Add data from a client:'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'Call the save function remotely from a client:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'Call the set function remotely from a client:'],['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'Delete a key on the server from a client:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md229',1,'Store data from a client:'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md243',1,'Store player data from a client:'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md257',1,'Store player data from a client:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md271',1,'Store player data from a client:'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md128',1,'Trigger queue processing from a client:']]],
+ ['from_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_13',['excerpt: Remove an element from a list stored at a key in DragonflyClient.',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'']]],
+ ['from_20client_20to_20server_3a_14',['Test from client to server:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md159',1,'']]],
+ ['from_20db_15',['excerpt: Handle data from DB.',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md82',1,'']]],
+ ['from_20dragonflyclient_16',['from DragonflyClient',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'excerpt: Add element to list stored at key from DragonflyClient.'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'excerpt: Get all elements of a list stored at a key from DragonflyClient.'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'excerpt: Get all fields and values from the hash stored at key from DragonflyClient.'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'excerpt: Get element of list stored at key from DragonflyClient.'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'excerpt: Get the value associated with field in hash stored at key from DragonflyClient.'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from DragonflyClient.'],['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md1',1,'excerpt: Remove the specified key from DragonflyClient.'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'excerpt: Set the value of stored key from DragonflyClient.']]],
+ ['from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_17',['from the current client s hash table in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.']]],
+ ['from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_18',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['from_20the_20extension_3a_19',['Process a callback from the extension:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md144',1,'']]],
+ ['from_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_20',['excerpt: Get all fields and values from the hash stored at key from DragonflyClient.',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'']]],
+ ['function_21',['excerpt: Test Function.',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md150',1,'']]],
+ ['function_20categories_22',['Function Categories',['../G:/ids/dragonfly/docs/README.md#autotoc_md345',1,'']]],
+ ['function_20documentation_20structure_23',['Function Documentation Structure',['../G:/ids/dragonfly/docs/README.md#autotoc_md354',1,'']]],
+ ['function_20remotely_20from_20a_20client_3a_24',['function remotely from a client:',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md49',1,'Call the save function remotely from a client:'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md63',1,'Call the set function remotely from a client:']]],
+ ['function_3a_25',['Test database retrieval by specifying this as callback function:',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md158',1,'']]],
+ ['functions_26',['Functions',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"'],['../G:/ids/dragonfly/docs/basic/README.md#autotoc_md37',1,'Available Functions'],['../G:/ids/dragonfly/docs/core/README.md#autotoc_md133',1,'Available Functions'],['../G:/ids/dragonfly/docs/hash/README.md#autotoc_md276',1,'Available Functions'],['../G:/ids/dragonfly/docs/list/README.md#autotoc_md341',1,'Available Functions'],['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md11',1,'Related Functions'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md22',1,'Related Functions'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md34',1,'Related Functions'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md51',1,'Related Functions'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md65',1,'Related Functions'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md79',1,'Related Functions'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md93',1,'Related Functions'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md104',1,'Related Functions'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md117',1,'Related Functions'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md130',1,'Related Functions'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md147',1,'Related Functions'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md161',1,'Related Functions'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md175',1,'Related Functions'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md189',1,'Related Functions'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md203',1,'Related Functions'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md217',1,'Related Functions'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md231',1,'Related Functions'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md245',1,'Related Functions'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md259',1,'Related Functions'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md273',1,'Related Functions'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md291',1,'Related Functions'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md305',1,'Related Functions'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md316',1,'Related Functions'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md327',1,'Related Functions'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md338',1,'Related Functions']]]
+];
diff --git a/api/html/search/all_7.js b/api/html/search/all_7.js
new file mode 100644
index 0000000..9a0dbd6
--- /dev/null
+++ b/api/html/search/all_7.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+ ['g_3a_20ids_20dragonfly_20docs_20basic_20readme_20md_20basic_20data_20operations_0',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['g_3a_20ids_20dragonfly_20docs_20core_20readme_20md_20core_20functions_1',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['g_3a_20ids_20dragonfly_20docs_20hash_20readme_20md_20hash_20operations_2',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['g_3a_20ids_20dragonfly_20docs_20list_20readme_20md_20list_20operations_3',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['get_4',['get',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html',1,'']]],
+ ['get_20a_20field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_5',['excerpt: Get a field value from the current client's hash table in DragonflyClient.',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'']]],
+ ['get_20all_20elements_20of_20a_20list_20stored_20at_20a_20key_20from_20dragonflyclient_6',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['get_20all_20fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_7',['excerpt: Get all fields and values from the hash stored at key from DragonflyClient.',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'']]],
+ ['get_20all_20fields_20from_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_8',['excerpt: Get all fields from the current client's hash table in DragonflyClient.',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'']]],
+ ['get_20element_20of_20list_20stored_20at_20key_20from_20dragonflyclient_9',['excerpt: Get element of list stored at key from DragonflyClient.',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'']]],
+ ['get_20the_20value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20dragonflyclient_10',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['get_20the_20value_20of_20stored_20key_20from_20dragonflyclient_11',['excerpt: Get the value of stored key from DragonflyClient.',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'']]]
+];
diff --git a/api/html/search/all_8.js b/api/html/search/all_8.js
new file mode 100644
index 0000000..b00e9b9
--- /dev/null
+++ b/api/html/search/all_8.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+ ['handle_20data_20from_20db_0',['excerpt: Handle data from DB.',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md82',1,'']]],
+ ['handler_1',['handler',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html',1,'']]],
+ ['handles_20data_20chunks_20received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_2',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['hash_20data_3a_3',['hash data:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md199',1,'Retrieve a player's complete hash data:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md185',1,'Retrieve all client hash data:']]],
+ ['hash_20operations_4',['Hash Operations',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"'],['../G:/ids/dragonfly/docs/README.md#autotoc_md352',1,'Hash Operations']]],
+ ['hash_20readme_20md_20hash_20operations_5',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['hash_20stored_20at_20key_20from_20dragonflyclient_6',['hash stored at key from DragonflyClient',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'excerpt: Get all fields and values from the hash stored at key from DragonflyClient.'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'excerpt: Get the value associated with field in hash stored at key from DragonflyClient.'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.']]],
+ ['hash_20table_20in_20dragonflyclient_7',['hash table in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]],
+ ['hash_20table_20retrieval_20task_3a_8',['Add a hash table retrieval task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md75',1,'']]],
+ ['hashget_9',['hashGet',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html',1,'']]],
+ ['hashgetall_10',['hashGetAll',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html',1,'']]],
+ ['hashgetallid_11',['hashGetAllId',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html',1,'']]],
+ ['hashgetid_12',['hashGetId',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html',1,'']]],
+ ['hashset_13',['hashSet',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html',1,'']]],
+ ['hashsetbulk_14',['hashSetBulk',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html',1,'']]],
+ ['hashsetid_15',['hashSetId',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html',1,'']]],
+ ['hashsetidbulk_16',['hashSetIdBulk',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html',1,'']]]
+];
diff --git a/api/html/search/all_9.js b/api/html/search/all_9.js
new file mode 100644
index 0000000..0e0f526
--- /dev/null
+++ b/api/html/search/all_9.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+ ['ids_20dragonfly_20docs_20basic_20readme_20md_20basic_20data_20operations_0',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['ids_20dragonfly_20docs_20core_20readme_20md_20core_20functions_1',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['ids_20dragonfly_20docs_20hash_20readme_20md_20hash_20operations_2',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['ids_20dragonfly_20docs_20list_20readme_20md_20list_20operations_3',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['in_20a_20list_20stored_20at_20a_20key_20in_20dragonflyclient_4',['excerpt: Set an element in a list stored at a key in DragonflyClient.',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'']]],
+ ['in_20a_20single_20callback_5',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['in_20a_20welcome_20script_3a_6',['Use in a welcome script:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md115',1,'']]],
+ ['in_20dragonflyclient_7',['in DragonflyClient',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md164',1,'excerpt: Get a field value from the current client's hash table in DragonflyClient.'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md178',1,'excerpt: Get all fields from the current client's hash table in DragonflyClient.'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]],
+ ['in_20hash_20stored_20at_20key_20from_20dragonflyclient_8',['excerpt: Get the value associated with field in hash stored at key from DragonflyClient.',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'']]],
+ ['in_20singleplayer_20or_20on_20the_20server_3a_9',['in singleplayer or on the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]],
+ ['in_20system_20chat_10',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]],
+ ['in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_11',['in the current client s hash table in DragonflyClient',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md220',1,'excerpt: Set a field value in the current client's hash table in DragonflyClient.'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'excerpt: Set multiple fields in the current client's hash table in DragonflyClient.']]],
+ ['in_20the_20hash_20stored_20at_20key_20from_20dragonflyclient_12',['in the hash stored at key from DragonflyClient',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.']]],
+ ['init_13',['init',['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html',1,'']]],
+ ['initial_20extension_20settings_14',['excerpt: Initial Extension settings.',['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md96',1,'']]],
+ ['is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_15',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['it_20to_20a_20specific_20client_3a_16',['it to a specific client:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md173',1,'Retrieve data and send it to a specific client:'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md187',1,'Retrieve data and send it to a specific client:'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md201',1,'Retrieve data and send it to a specific client:'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md215',1,'Retrieve data and send it to a specific client:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md303',1,'Retrieve data and send it to a specific client:']]]
+];
diff --git a/api/html/search/all_a.js b/api/html/search/all_a.js
new file mode 100644
index 0000000..3915d61
--- /dev/null
+++ b/api/html/search/all_a.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['key_20from_20dragonflyclient_0',['key from DragonflyClient',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'excerpt: Add element to list stored at key from DragonflyClient.'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'excerpt: Get all elements of a list stored at a key from DragonflyClient.'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md192',1,'excerpt: Get all fields and values from the hash stored at key from DragonflyClient.'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'excerpt: Get element of list stored at key from DragonflyClient.'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md206',1,'excerpt: Get the value associated with field in hash stored at key from DragonflyClient.'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from DragonflyClient.'],['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md1',1,'excerpt: Remove the specified key from DragonflyClient.'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md248',1,'excerpt: Set the specified field to the respective value in the hash stored at key from DragonflyClient.'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md262',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from DragonflyClient.'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'excerpt: Set the value of stored key from DragonflyClient.']]],
+ ['key_20in_20dragonflyclient_1',['key in DragonflyClient',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.']]],
+ ['key_20in_20singleplayer_20or_20on_20the_20server_3a_2',['Delete a key in singleplayer or on the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'']]],
+ ['key_20on_20the_20server_20from_20a_20client_3a_3',['Delete a key on the server from a client:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'']]]
+];
diff --git a/api/html/search/all_b.js b/api/html/search/all_b.js
new file mode 100644
index 0000000..fd8a6ae
--- /dev/null
+++ b/api/html/search/all_b.js
@@ -0,0 +1,23 @@
+var searchData=
+[
+ ['large_20to_20be_20returned_20in_20a_20single_20callback_0',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['license_1',['License',['../G:/ids/dragonfly/docs/README.md#autotoc_md355',1,'']]],
+ ['links_2',['Links',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md12',1,'Links'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md35',1,'Links'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md52',1,'Links'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md66',1,'Links'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md80',1,'Links'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md94',1,'Links'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md105',1,'Links'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md118',1,'Links'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md131',1,'Links'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md148',1,'Links'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md162',1,'Links'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md176',1,'Links'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md190',1,'Links'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md204',1,'Links'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md218',1,'Links'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md232',1,'Links'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md246',1,'Links'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md260',1,'Links'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md274',1,'Links'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md292',1,'Links'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md306',1,'Links'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md317',1,'Links'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md328',1,'Links'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md339',1,'Links']]],
+ ['list_20operation_20task_3a_3',['Add a list operation task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md77',1,'']]],
+ ['list_20operations_4',['List Operations',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"'],['../G:/ids/dragonfly/docs/README.md#autotoc_md353',1,'List Operations']]],
+ ['list_20readme_20md_20list_20operations_5',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['list_20stored_20at_20a_20key_20from_20dragonflyclient_6',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['list_20stored_20at_20a_20key_20in_20dragonflyclient_7',['list stored at a key in DragonflyClient',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md319',1,'excerpt: Remove an element from a list stored at a key in DragonflyClient.'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md330',1,'excerpt: Set an element in a list stored at a key in DragonflyClient.']]],
+ ['list_20stored_20at_20key_20from_20dragonflyclient_8',['list stored at key from DragonflyClient',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md280',1,'excerpt: Add element to list stored at key from DragonflyClient.'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'excerpt: Get element of list stored at key from DragonflyClient.']]],
+ ['listadd_9',['listAdd',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html',1,'']]],
+ ['listget_10',['listGet',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html',1,'']]],
+ ['listload_11',['listLoad',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html',1,'']]],
+ ['listremove_12',['listRemove',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html',1,'']]],
+ ['listset_13',['listSet',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html',1,'']]],
+ ['loadout_20and_20position_3a_14',['loadout and position:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md241',1,'Store player loadout and position:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md269',1,'Store player loadout and position:']]],
+ ['loadout_20field_3a_15',['Retrieve a player's loadout field:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md213',1,'']]],
+ ['loadout_20under_20their_20uid_3a_16',['Store a player's loadout under their UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'']]],
+ ['loadout_3a_17',['loadout:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md171',1,'Retrieve a player's loadout:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md227',1,'Store a player's loadout:']]],
+ ['locally_3a_18',['Process data locally:',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md89',1,'']]],
+ ['log_20entry_3a_19',['log entry:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md287',1,'Add an event log entry:'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md301',1,'Retrieve a specific event log entry:']]]
+];
diff --git a/api/html/search/all_c.js b/api/html/search/all_c.js
new file mode 100644
index 0000000..2636a2b
--- /dev/null
+++ b/api/html/search/all_c.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['manually_3a_0',['Start processing the queue manually:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md127',1,'']]],
+ ['md_20basic_20data_20operations_1',['@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'']]],
+ ['md_20core_20functions_2',['@ref "G:/ids/dragonfly/docs/core/README.md" "Core Functions"',['../G:/ids/dragonfly/docs/README.md#autotoc_md346',1,'']]],
+ ['md_20hash_20operations_3',['@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'']]],
+ ['md_20list_20operations_4',['@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"',['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'']]],
+ ['message_3a_5',['message:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md288',1,'Add a player message:'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md114',1,'Display the addon name message:']]],
+ ['multiple_20fields_20in_20the_20current_20client_20s_20hash_20table_20in_20dragonflyclient_6',['excerpt: Set multiple fields in the current client's hash table in DragonflyClient.',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md234',1,'']]],
+ ['multiple_20player_20settings_3a_7',['Store multiple player settings:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md242',1,'']]],
+ ['multiple_20vehicle_20properties_3a_8',['Store multiple vehicle properties:',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md270',1,'']]]
+];
diff --git a/api/html/search/all_d.js b/api/html/search/all_d.js
new file mode 100644
index 0000000..d862f15
--- /dev/null
+++ b/api/html/search/all_d.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['name_20in_20system_20chat_0',['excerpt: Displays the addon name in system chat.',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md107',1,'']]],
+ ['name_20message_3a_1',['Display the addon name message:',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md114',1,'']]],
+ ['notes_2',['Notes',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md10',1,'Notes'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md21',1,'Notes'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md33',1,'Notes'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md50',1,'Notes'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md64',1,'Notes'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md78',1,'Notes'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md92',1,'Notes'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md103',1,'Notes'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md116',1,'Notes'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md129',1,'Notes'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md146',1,'Notes'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md160',1,'Notes'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md174',1,'Notes'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md188',1,'Notes'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md202',1,'Notes'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md216',1,'Notes'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md230',1,'Notes'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md244',1,'Notes'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md258',1,'Notes'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md272',1,'Notes'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md290',1,'Notes'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md304',1,'Notes'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md315',1,'Notes'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md326',1,'Notes'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md337',1,'Notes']]]
+];
diff --git a/api/html/search/all_e.js b/api/html/search/all_e.js
new file mode 100644
index 0000000..2ddcbce
--- /dev/null
+++ b/api/html/search/all_e.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['of_20a_20list_20stored_20at_20a_20key_20from_20dragonflyclient_0',['excerpt: Get all elements of a list stored at a key from DragonflyClient.',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md308',1,'']]],
+ ['of_20list_20stored_20at_20key_20from_20dragonflyclient_1',['excerpt: Get element of list stored at key from DragonflyClient.',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md294',1,'']]],
+ ['of_20stored_20key_20from_20dragonflyclient_2',['of stored key from DragonflyClient',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from DragonflyClient.'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md54',1,'excerpt: Set the value of stored key from DragonflyClient.']]],
+ ['of_20tasks_20to_20be_20executed_3',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['on_20the_20server_20and_20send_20to_20a_20specific_20client_3a_4',['Retrieve data on the server and send to a specific client:',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['on_20the_20server_20from_20a_20client_3a_5',['Delete a key on the server from a client:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['on_20the_20server_3a_6',['on the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]],
+ ['operation_20task_3a_7',['Add a list operation task:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md77',1,'']]],
+ ['operations_8',['Operations',['../G:/ids/dragonfly/docs/README.md#autotoc_md347',1,'@ref "G:/ids/dragonfly/docs/basic/README.md" "Basic Data Operations"'],['../G:/ids/dragonfly/docs/README.md#autotoc_md348',1,'@ref "G:/ids/dragonfly/docs/hash/README.md" "Hash Operations"'],['../G:/ids/dragonfly/docs/README.md#autotoc_md349',1,'@ref "G:/ids/dragonfly/docs/list/README.md" "List Operations"'],['../G:/ids/dragonfly/docs/README.md#autotoc_md352',1,'Hash Operations'],['../G:/ids/dragonfly/docs/README.md#autotoc_md353',1,'List Operations']]],
+ ['or_20on_20the_20server_3a_9',['or on the server:',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]]
+];
diff --git a/api/html/search/all_f.js b/api/html/search/all_f.js
new file mode 100644
index 0000000..1342046
--- /dev/null
+++ b/api/html/search/all_f.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+ ['parameters_0',['Parameters',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html#autotoc_md5',1,'Parameters'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html#autotoc_md18',1,'Parameters'],['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html#autotoc_md28',1,'Parameters'],['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html#autotoc_md45',1,'Parameters'],['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md58',1,'Parameters'],['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md72',1,'Parameters'],['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md86',1,'Parameters'],['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html#autotoc_md100',1,'Parameters'],['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html#autotoc_md111',1,'Parameters'],['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md124',1,'Parameters'],['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md141',1,'Parameters'],['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html#autotoc_md154',1,'Parameters'],['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md168',1,'Parameters'],['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html#autotoc_md182',1,'Parameters'],['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md196',1,'Parameters'],['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md210',1,'Parameters'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md224',1,'Parameters'],['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md238',1,'Parameters'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md252',1,'Parameters'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md266',1,'Parameters'],['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md284',1,'Parameters'],['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html#autotoc_md298',1,'Parameters'],['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html#autotoc_md312',1,'Parameters'],['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html#autotoc_md323',1,'Parameters'],['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html#autotoc_md334',1,'Parameters']]],
+ ['player_20data_20from_20a_20client_3a_1',['player data from a client:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md243',1,'Store player data from a client:'],['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md257',1,'Store player data from a client:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md271',1,'Store player data from a client:']]],
+ ['player_20data_20under_20their_20uid_3a_2',['Store player data under their UID:',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html#autotoc_md62',1,'']]],
+ ['player_20loadout_20and_20position_3a_3',['player loadout and position:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md241',1,'Store player loadout and position:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md269',1,'Store player loadout and position:']]],
+ ['player_20message_3a_4',['Add a player message:',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html#autotoc_md288',1,'']]],
+ ['player_20preferences_3a_5',['Store player preferences:',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md228',1,'']]],
+ ['player_20s_20complete_20hash_20data_3a_6',['Retrieve a player's complete hash data:',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html#autotoc_md199',1,'']]],
+ ['player_20s_20loadout_20field_3a_7',['Retrieve a player's loadout field:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md213',1,'']]],
+ ['player_20s_20loadout_20under_20their_20uid_3a_8',['Store a player's loadout under their UID:',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html#autotoc_md255',1,'']]],
+ ['player_20s_20loadout_3a_9',['player s loadout:',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html#autotoc_md171',1,'Retrieve a player's loadout:'],['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md227',1,'Store a player's loadout:']]],
+ ['player_20settings_3a_10',['Store multiple player settings:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md242',1,'']]],
+ ['player_20specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_11',['Add a player-specific task that returns data to a specific client:',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html#autotoc_md76',1,'']]],
+ ['position_3a_12',['position:',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html#autotoc_md241',1,'Store player loadout and position:'],['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md269',1,'Store player loadout and position:']]],
+ ['preferences_3a_13',['Store player preferences:',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html#autotoc_md228',1,'']]],
+ ['printaddonname_14',['printAddonName',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html',1,'']]],
+ ['process_20a_20callback_20from_20the_20extension_3a_15',['Process a callback from the extension:',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html#autotoc_md144',1,'']]],
+ ['process_20data_20locally_3a_16',['Process data locally:',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md89',1,'']]],
+ ['process_20data_20with_20direct_20call_20synchronous_20_3a_17',['Process data with direct call (synchronous):',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html#autotoc_md91',1,'']]],
+ ['processes_20a_20queue_20of_20tasks_20to_20be_20executed_18',['excerpt: Processes a queue of tasks to be executed.',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md120',1,'']]],
+ ['processing_20from_20a_20client_3a_19',['Trigger queue processing from a client:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md128',1,'']]],
+ ['processing_20the_20queue_20manually_3a_20',['Start processing the queue manually:',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html#autotoc_md127',1,'']]],
+ ['processqueue_21',['processQueue',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html',1,'']]],
+ ['properties_3a_22',['Store multiple vehicle properties:',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html#autotoc_md270',1,'']]],
+ ['property_20with_20synchronous_20callback_3a_23',['Retrieve a specific vehicle property with synchronous callback:',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html#autotoc_md214',1,'']]]
+];
diff --git a/api/html/search/close.svg b/api/html/search/close.svg
new file mode 100644
index 0000000..337d6cc
--- /dev/null
+++ b/api/html/search/close.svg
@@ -0,0 +1,18 @@
+
+
+
diff --git a/api/html/search/mag.svg b/api/html/search/mag.svg
new file mode 100644
index 0000000..ffb6cf0
--- /dev/null
+++ b/api/html/search/mag.svg
@@ -0,0 +1,24 @@
+
+
+
diff --git a/api/html/search/mag_d.svg b/api/html/search/mag_d.svg
new file mode 100644
index 0000000..4122773
--- /dev/null
+++ b/api/html/search/mag_d.svg
@@ -0,0 +1,24 @@
+
+
+
diff --git a/api/html/search/mag_sel.svg b/api/html/search/mag_sel.svg
new file mode 100644
index 0000000..553dba8
--- /dev/null
+++ b/api/html/search/mag_sel.svg
@@ -0,0 +1,31 @@
+
+
+
+
diff --git a/api/html/search/mag_seld.svg b/api/html/search/mag_seld.svg
new file mode 100644
index 0000000..c906f84
--- /dev/null
+++ b/api/html/search/mag_seld.svg
@@ -0,0 +1,31 @@
+
+
+
+
diff --git a/api/html/search/pages_0.js b/api/html/search/pages_0.js
new file mode 100644
index 0000000..0f96f4b
--- /dev/null
+++ b/api/html/search/pages_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['addtask_0',['addTask',['../dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.html',1,'']]]
+];
diff --git a/api/html/search/pages_1.js b/api/html/search/pages_1.js
new file mode 100644
index 0000000..1a9abba
--- /dev/null
+++ b/api/html/search/pages_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['delete_0',['delete',['../df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.html',1,'']]]
+];
diff --git a/api/html/search/pages_2.js b/api/html/search/pages_2.js
new file mode 100644
index 0000000..1f4f692
--- /dev/null
+++ b/api/html/search/pages_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['fetch_0',['fetch',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.html',1,'']]]
+];
diff --git a/api/html/search/pages_3.js b/api/html/search/pages_3.js
new file mode 100644
index 0000000..ce362ed
--- /dev/null
+++ b/api/html/search/pages_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['get_0',['get',['../d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.html',1,'']]]
+];
diff --git a/api/html/search/pages_4.js b/api/html/search/pages_4.js
new file mode 100644
index 0000000..a730fe3
--- /dev/null
+++ b/api/html/search/pages_4.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['handler_0',['handler',['../d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.html',1,'']]],
+ ['hashget_1',['hashGet',['../d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.html',1,'']]],
+ ['hashgetall_2',['hashGetAll',['../da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.html',1,'']]],
+ ['hashgetallid_3',['hashGetAllId',['../d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.html',1,'']]],
+ ['hashgetid_4',['hashGetId',['../d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.html',1,'']]],
+ ['hashset_5',['hashSet',['../d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.html',1,'']]],
+ ['hashsetbulk_6',['hashSetBulk',['../da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.html',1,'']]],
+ ['hashsetid_7',['hashSetId',['../d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.html',1,'']]],
+ ['hashsetidbulk_8',['hashSetIdBulk',['../de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.html',1,'']]]
+];
diff --git a/api/html/search/pages_5.js b/api/html/search/pages_5.js
new file mode 100644
index 0000000..8da64dc
--- /dev/null
+++ b/api/html/search/pages_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['init_0',['init',['../dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.html',1,'']]]
+];
diff --git a/api/html/search/pages_6.js b/api/html/search/pages_6.js
new file mode 100644
index 0000000..5b260c0
--- /dev/null
+++ b/api/html/search/pages_6.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['listadd_0',['listAdd',['../da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.html',1,'']]],
+ ['listget_1',['listGet',['../d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.html',1,'']]],
+ ['listload_2',['listLoad',['../d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.html',1,'']]],
+ ['listremove_3',['listRemove',['../d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.html',1,'']]],
+ ['listset_4',['listSet',['../d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.html',1,'']]]
+];
diff --git a/api/html/search/pages_7.js b/api/html/search/pages_7.js
new file mode 100644
index 0000000..1e647c9
--- /dev/null
+++ b/api/html/search/pages_7.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['printaddonname_0',['printAddonName',['../d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.html',1,'']]],
+ ['processqueue_1',['processQueue',['../d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.html',1,'']]]
+];
diff --git a/api/html/search/pages_8.js b/api/html/search/pages_8.js
new file mode 100644
index 0000000..16937b9
--- /dev/null
+++ b/api/html/search/pages_8.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['save_0',['save',['../d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.html',1,'']]],
+ ['scheduler_1',['scheduler',['../d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.html',1,'']]],
+ ['set_2',['set',['../d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.html',1,'']]]
+];
diff --git a/api/html/search/pages_9.js b/api/html/search/pages_9.js
new file mode 100644
index 0000000..13b3a11
--- /dev/null
+++ b/api/html/search/pages_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['test_0',['test',['../d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.html',1,'']]]
+];
diff --git a/api/html/search/search.css b/api/html/search/search.css
new file mode 100644
index 0000000..a53214f
--- /dev/null
+++ b/api/html/search/search.css
@@ -0,0 +1,286 @@
+/*---------------- Search Box */
+
+#MSearchBox {
+ position: absolute;
+ right: 5px;
+}
+/*---------------- Search box styling */
+
+.SRPage * {
+ font-weight: normal;
+ line-height: normal;
+}
+
+dark-mode-toggle {
+ margin-left: 5px;
+ display: flex;
+ float: right;
+}
+
+#MSearchBox {
+ display: inline-block;
+ white-space : nowrap;
+ background: var(--search-background-color);
+ border-radius: 0.65em;
+ box-shadow: var(--search-box-shadow);
+ z-index: 102;
+}
+
+#MSearchBox .left {
+ display: inline-block;
+ vertical-align: middle;
+ height: 1.4em;
+}
+
+#MSearchSelect {
+ display: inline-block;
+ vertical-align: middle;
+ width: 20px;
+ height: 19px;
+ background-image: var(--search-magnification-select-image);
+ margin: 0 0 0 0.3em;
+ padding: 0;
+}
+
+#MSearchSelectExt {
+ display: inline-block;
+ vertical-align: middle;
+ width: 10px;
+ height: 19px;
+ background-image: var(--search-magnification-image);
+ margin: 0 0 0 0.5em;
+ padding: 0;
+}
+
+
+#MSearchField {
+ display: inline-block;
+ vertical-align: middle;
+ width: 7.5em;
+ height: 19px;
+ margin: 0 0.15em;
+ padding: 0;
+ line-height: 1em;
+ border:none;
+ color: var(--search-foreground-color);
+ outline: none;
+ font-family: var(--font-family-search);
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+ background: none;
+}
+
+@media(hover: none) {
+ /* to avoid zooming on iOS */
+ #MSearchField {
+ font-size: 16px;
+ }
+}
+
+#MSearchBox .right {
+ display: inline-block;
+ vertical-align: middle;
+ width: 1.4em;
+ height: 1.4em;
+}
+
+#MSearchClose {
+ display: none;
+ font-size: inherit;
+ background : none;
+ border: none;
+ margin: 0;
+ padding: 0;
+ outline: none;
+
+}
+
+#MSearchCloseImg {
+ padding: 0.3em;
+ margin: 0;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: var(--search-active-color);
+}
+
+
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid var(--search-filter-border-color);
+ background-color: var(--search-filter-background-color);
+ z-index: 10001;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt var(--font-family-search);
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: var(--font-family-monospace);
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: var(--search-filter-foreground-color);
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: var(--search-filter-foreground-color);
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: var(--search-filter-highlight-text-color);
+ background-color: var(--search-filter-highlight-bg-color);
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ /*width: 60ex;*/
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid var(--search-results-border-color);
+ background-color: var(--search-results-background-color);
+ z-index:10000;
+ width: 300px;
+ height: 400px;
+ overflow: auto;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+div.SRPage {
+ margin: 5px 2px;
+ background-color: var(--search-results-background-color);
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: var(--search-results-foreground-color);
+ font-family: var(--font-family-search);
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: var(--search-results-foreground-color);
+ font-family: var(--font-family-search);
+ font-size: 8pt;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+ font-family: var(--font-family-search);
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+ font-family: var(--font-family-search);
+}
+
+.SRResult {
+ display: none;
+}
+
+div.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: var(--nav-gradient-active-image-parent);
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git a/api/html/search/search.js b/api/html/search/search.js
new file mode 100644
index 0000000..666af01
--- /dev/null
+++ b/api/html/search/search.js
@@ -0,0 +1,694 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+const SEARCH_COOKIE_NAME = ''+'search_grp';
+
+const searchResults = new SearchResults();
+
+/* A class handling everything associated with the search panel.
+
+ Parameters:
+ name - The name of the global variable that will be
+ storing this instance. Is needed to be able to set timeouts.
+ resultPath - path to use for external files
+*/
+function SearchBox(name, resultsPath, extension) {
+ if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
+ if (!extension || extension == "") { extension = ".html"; }
+
+ function getXPos(item) {
+ let x = 0;
+ if (item.offsetWidth) {
+ while (item && item!=document.body) {
+ x += item.offsetLeft;
+ item = item.offsetParent;
+ }
+ }
+ return x;
+ }
+
+ function getYPos(item) {
+ let y = 0;
+ if (item.offsetWidth) {
+ while (item && item!=document.body) {
+ y += item.offsetTop;
+ item = item.offsetParent;
+ }
+ }
+ return y;
+ }
+
+ // ---------- Instance variables
+ this.name = name;
+ this.resultsPath = resultsPath;
+ this.keyTimeout = 0;
+ this.keyTimeoutLength = 500;
+ this.closeSelectionTimeout = 300;
+ this.lastSearchValue = "";
+ this.lastResultsPage = "";
+ this.hideTimeout = 0;
+ this.searchIndex = 0;
+ this.searchActive = false;
+ this.extension = extension;
+
+ // ----------- DOM Elements
+
+ this.DOMSearchField = () => document.getElementById("MSearchField");
+ this.DOMSearchSelect = () => document.getElementById("MSearchSelect");
+ this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow");
+ this.DOMPopupSearchResults = () => document.getElementById("MSearchResults");
+ this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow");
+ this.DOMSearchClose = () => document.getElementById("MSearchClose");
+ this.DOMSearchBox = () => document.getElementById("MSearchBox");
+
+ // ------------ Event Handlers
+
+ // Called when focus is added or removed from the search field.
+ this.OnSearchFieldFocus = function(isActive) {
+ this.Activate(isActive);
+ }
+
+ this.OnSearchSelectShow = function() {
+ const searchSelectWindow = this.DOMSearchSelectWindow();
+ const searchField = this.DOMSearchSelect();
+
+ const left = getXPos(searchField);
+ const top = getYPos(searchField) + searchField.offsetHeight;
+
+ // show search selection popup
+ searchSelectWindow.style.display='block';
+ searchSelectWindow.style.left = left + 'px';
+ searchSelectWindow.style.top = top + 'px';
+
+ // stop selection hide timer
+ if (this.hideTimeout) {
+ clearTimeout(this.hideTimeout);
+ this.hideTimeout=0;
+ }
+ return false; // to avoid "image drag" default event
+ }
+
+ this.OnSearchSelectHide = function() {
+ this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
+ this.closeSelectionTimeout);
+ }
+
+ // Called when the content of the search field is changed.
+ this.OnSearchFieldChange = function(evt) {
+ if (this.keyTimeout) { // kill running timer
+ clearTimeout(this.keyTimeout);
+ this.keyTimeout = 0;
+ }
+
+ const e = evt ? evt : window.event; // for IE
+ if (e.keyCode==40 || e.keyCode==13) {
+ if (e.shiftKey==1) {
+ this.OnSearchSelectShow();
+ const win=this.DOMSearchSelectWindow();
+ for (let i=0;i do a search
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt) {
+ const e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex0) { // Up
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ } else if (e.keyCode==13 || e.keyCode==27) {
+ e.stopPropagation();
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function() {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function() {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function() {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ const searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ const code = searchValue.toLowerCase().charCodeAt(0);
+ let idxChar = searchValue.substr(0, 1).toLowerCase();
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair
+ idxChar = searchValue.substr(0, 2);
+ }
+
+ let jsFile;
+ let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+ if (idx!=-1) {
+ const hexCode=idx.toString(16);
+ jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
+ }
+
+ const loadJS = function(url, impl, loc) {
+ const scriptTag = document.createElement('script');
+ scriptTag.src = url;
+ scriptTag.onload = impl;
+ scriptTag.onreadystatechange = impl;
+ loc.appendChild(scriptTag);
+ }
+
+ const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+ const domSearchBox = this.DOMSearchBox();
+ const domPopupSearchResults = this.DOMPopupSearchResults();
+ const domSearchClose = this.DOMSearchClose();
+ const resultsPath = this.resultsPath;
+
+ const handleResults = function() {
+ document.getElementById("Loading").style.display="none";
+ if (typeof searchData !== 'undefined') {
+ createResults(resultsPath);
+ document.getElementById("NoMatches").style.display="none";
+ }
+
+ if (idx!=-1) {
+ searchResults.Search(searchValue);
+ } else { // no file with search results => force empty search results
+ searchResults.Search('====');
+ }
+
+ if (domPopupSearchResultsWindow.style.display!='block') {
+ domSearchClose.style.display = 'inline-block';
+ let left = getXPos(domSearchBox) + 150;
+ let top = getYPos(domSearchBox) + 20;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ const maxWidth = document.body.clientWidth;
+ const maxHeight = document.body.clientHeight;
+ let width = 300;
+ if (left<10) left=10;
+ if (width+left+8>maxWidth) width=maxWidth-left-8;
+ let height = 400;
+ if (height+top+8>maxHeight) height=maxHeight-top-8;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ domPopupSearchResultsWindow.style.height = height + 'px';
+ }
+ }
+
+ if (jsFile) {
+ loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow());
+ } else {
+ handleResults();
+ }
+
+ this.lastSearchValue = searchValue;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive) {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ ) {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+ this.searchActive = true;
+ } else if (!isActive) { // directly remove the panel
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ this.DOMSearchField().value = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults() {
+
+ function convertToId(search) {
+ let result = '';
+ for (let i=0;i.
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id) {
+ const parentElement = document.getElementById(id);
+ let element = parentElement.firstChild;
+
+ while (element && element!=parentElement) {
+ if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') {
+ return element;
+ }
+
+ if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) {
+ element = element.firstChild;
+ } else if (element.nextSibling) {
+ element = element.nextSibling;
+ } else {
+ do {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement) {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id) {
+ const element = this.FindChildElement(id);
+ if (element) {
+ if (element.style.display == 'block') {
+ element.style.display = 'none';
+ } else {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search) {
+ if (!search) { // get search word from URL
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ const resultRows = document.getElementsByTagName("div");
+ let matches = 0;
+
+ let i = 0;
+ while (i < resultRows.length) {
+ const row = resultRows.item(i);
+ if (row.className == "SRResult") {
+ let rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search) {
+ row.style.display = 'block';
+ matches++;
+ } else {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) { // no results
+ document.getElementById("NoMatches").style.display='block';
+ } else { // at least one result
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index) {
+ let focusItem;
+ for (;;) {
+ const focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block') {
+ break;
+ } else if (!focusItem) { // last element
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index) {
+ let focusItem;
+ for (;;) {
+ const focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block') {
+ break;
+ } else if (!focusItem) { // last element
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e) {
+ if (e.type == "keydown") {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ } else if (e.type == "keypress") {
+ if (!this.repeatOn) {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ } else if (e.type == "keyup") {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex) {
+ const e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) { // Up
+ const newIndex = itemIndex-1;
+ let focusItem = this.NavPrev(newIndex);
+ if (focusItem) {
+ let child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') { // children visible
+ let n=0;
+ let tmpElem;
+ for (;;) { // search for last child
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem) {
+ focusItem = tmpElem;
+ } else { // found it!
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem) {
+ focusItem.focus();
+ } else { // return focus to search field
+ document.getElementById("MSearchField").focus();
+ }
+ } else if (this.lastKey==40) { // Down
+ const newIndex = itemIndex+1;
+ let focusItem;
+ const item = document.getElementById('Item'+itemIndex);
+ const elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') { // children visible
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ } else if (this.lastKey==39) { // Right
+ const item = document.getElementById('Item'+itemIndex);
+ const elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ } else if (this.lastKey==37) { // Left
+ const item = document.getElementById('Item'+itemIndex);
+ const elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ } else if (this.lastKey==27) { // Escape
+ e.stopPropagation();
+ searchBox.CloseResultsWindow();
+ document.getElementById("MSearchField").focus();
+ } else if (this.lastKey==13) { // Enter
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex) {
+ const e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) { // Up
+ if (childIndex>0) {
+ const newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ } else { // already at first child, jump to parent
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ } else if (this.lastKey==40) { // Down
+ const newIndex = childIndex+1;
+ let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) { // last child, jump to parent next parent
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem) {
+ elem.focus();
+ }
+ } else if (this.lastKey==27) { // Escape
+ e.stopPropagation();
+ searchBox.CloseResultsWindow();
+ document.getElementById("MSearchField").focus();
+ } else if (this.lastKey==13) { // Enter
+ return true;
+ }
+ return false;
+ }
+}
+
+function createResults(resultsPath) {
+
+ function setKeyActions(elem,action) {
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+ }
+
+ function setClassAttr(elem,attr) {
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+ }
+
+ const results = document.getElementById("SRResults");
+ results.innerHTML = '';
+ searchData.forEach((elem,index) => {
+ const id = elem[0];
+ const srResult = document.createElement('div');
+ srResult.setAttribute('id','SR_'+id);
+ setClassAttr(srResult,'SRResult');
+ const srEntry = document.createElement('div');
+ setClassAttr(srEntry,'SREntry');
+ const srLink = document.createElement('a');
+ srLink.setAttribute('id','Item'+index);
+ setKeyActions(srLink,'return searchResults.Nav(event,'+index+')');
+ setClassAttr(srLink,'SRSymbol');
+ srLink.innerHTML = elem[1][0];
+ srEntry.appendChild(srLink);
+ if (elem[1].length==2) { // single result
+ srLink.setAttribute('href',resultsPath+elem[1][1][0]);
+ srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
+ if (elem[1][1][1]) {
+ srLink.setAttribute('target','_parent');
+ } else {
+ srLink.setAttribute('target','_blank');
+ }
+ const srScope = document.createElement('span');
+ setClassAttr(srScope,'SRScope');
+ srScope.innerHTML = elem[1][1][2];
+ srEntry.appendChild(srScope);
+ } else { // multiple results
+ srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
+ const srChildren = document.createElement('div');
+ setClassAttr(srChildren,'SRChildren');
+ for (let c=0; cli>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}
diff --git a/api/latex/Makefile b/api/latex/Makefile
new file mode 100644
index 0000000..8e14614
--- /dev/null
+++ b/api/latex/Makefile
@@ -0,0 +1,42 @@
+LATEX_CMD?=pdflatex
+MKIDX_CMD?=makeindex
+BIBTEX_CMD?=bibtex
+LATEX_COUNT?=8
+MANUAL_FILE?=refman
+
+all: $(MANUAL_FILE).pdf
+
+pdf: $(MANUAL_FILE).pdf
+
+$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex
+ $(LATEX_CMD) $(MANUAL_FILE) || \
+ if [ $$? != 0 ] ; then \
+ \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
+ false; \
+ fi
+ $(MKIDX_CMD) $(MANUAL_FILE).idx
+ $(LATEX_CMD) $(MANUAL_FILE) || \
+ if [ $$? != 0 ] ; then \
+ \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
+ false; \
+ fi
+ latex_count=$(LATEX_COUNT) ; \
+ while grep -E -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\
+ do \
+ echo "Rerunning latex...." ;\
+ $(LATEX_CMD) $(MANUAL_FILE) || \
+ if [ $$? != 0 ] ; then \
+ \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
+ false; \
+ fi; \
+ latex_count=`expr $$latex_count - 1` ;\
+ done
+ $(MKIDX_CMD) $(MANUAL_FILE).idx
+ $(LATEX_CMD) $(MANUAL_FILE) || \
+ if [ $$? != 0 ] ; then \
+ \echo "Please consult $(MANUAL_FILE).log to see the error messages" ; \
+ false; \
+ fi
+
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf
diff --git a/api/latex/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.tex b/api/latex/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.tex
new file mode 100644
index 0000000..f272add
--- /dev/null
+++ b/api/latex/d0/d0e/md__g_1_2ids_2dragonfly_2docs_2core_2process_queue.tex
@@ -0,0 +1,49 @@
+\chapter{process\+Queue}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}\index{processQueue@{processQueue}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md119}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md119}{autotoc\+\_\+md119}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md119}
+title\+: Arma\+Dragonfly\+Client -\/ Process Queue icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md120}{}\doxysubsection{\texorpdfstring{excerpt\+: Processes a queue of tasks to be executed.}{excerpt\+: Processes a queue of tasks to be executed.}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md120}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md121}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+process\+Queue}{dragonfly\+\_\+db\+\_\+fnc\+\_\+process\+Queue}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md121}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md122}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md122}
+Processes the queue of pending database tasks sequentially. This function executes each task in the queue one by one, handling various database operations based on the task type. It continues processing until the queue is empty.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md123}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md123}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ spawn\ dragonfly\_db\_fnc\_processQueue}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md124}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md124}
+None. This function does not require any parameters.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md125}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md125}
+None. The function processes tasks in the queue and updates the processing state.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md126}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md126}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md127}{}\doxysubsubsection{\texorpdfstring{Start processing the queue manually\+:}{Start processing the queue manually\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md127}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ spawn\ dragonfly\_db\_fnc\_processQueue;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md128}{}\doxysubsubsection{\texorpdfstring{Trigger queue processing from a client\+:}{Trigger queue processing from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md128}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ remoteExec\ ["{}dragonfly\_db\_fnc\_processQueue"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md129}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md129}
+
+\begin{DoxyItemize}
+\item Sets {\ttfamily GVAR(is\+Processing)} to true while running and false when complete
+\item Processes one task per second to prevent overloading
+\item Handles a wide range of database operations including\+:
+\begin{DoxyItemize}
+\item Key-\/value operations (get, set, delete)
+\item Hash table operations (hget, hset, hgetall, etc.)
+\item List operations (listadd, listrng, listset, etc.)
+\end{DoxyItemize}
+\item Automatically started by {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+add\+Task} when new tasks are added
+\item Each task execution is logged for debugging purposes
+\item Should typically be spawned rather than called to avoid blocking
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md130}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md130}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+add\+Task}\+: Adds tasks to the queue for processing
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+handler}\+: Handles data returned from database operations
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages callback responses from the database
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md131}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue_autotoc_md131}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.tex b/api/latex/d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.tex
new file mode 100644
index 0000000..32bc06b
--- /dev/null
+++ b/api/latex/d0/df2/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set.tex
@@ -0,0 +1,67 @@
+\chapter{hash\+Set}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}\index{hashSet@{hashSet}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md219}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md219}{autotoc\+\_\+md219}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md219}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Set icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md220}{}\doxysubsection{\texorpdfstring{excerpt\+: Set a field value in the current client\textquotesingle{}s hash table in Dragonfly\+Client.}{excerpt\+: Set a field value in the current client\textquotesingle{}s hash table in Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md220}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md221}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md221}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md222}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md222}
+Sets the value of a specified field in the hash table associated with the current client/player. This function automatically determines the appropriate hash ID based on the caller\textquotesingle{}s identity, making it more convenient than {\ttfamily hash\+Set\+Id} which requires manually specifying an ID. It allows storing various data types (arrays, strings, numbers, or booleans) in a field of the client-\/specific hash structure.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md223}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md223}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_keyField,\ \_data]\ call\ dragonfly\_db\_fnc\_hashSet}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md224}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md224}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key\+Field} &String &Name of the field in the hash to set &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+data} &Array, String, Number, or Boolean &The value to store in the hash field &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md225}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md225}
+None. The operation runs synchronously to store the data.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md226}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md226}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md227}{}\doxysubsubsection{\texorpdfstring{Store a player\textquotesingle{}s loadout\+:}{Store a player\textquotesingle{}s loadout\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md227}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}loadout"{},\ [getUnitLoadout\ player]]\ call\ dragonfly\_db\_fnc\_hashSet;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md228}{}\doxysubsubsection{\texorpdfstring{Store player preferences\+:}{Store player preferences\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md228}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}settings"{},\ [true,\ 30,\ "{}normal"{}]]\ call\ dragonfly\_db\_fnc\_hashSet;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md229}{}\doxysubsubsection{\texorpdfstring{Store data from a client\+:}{Store data from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md229}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}clientInfo"{},\ [name\ player,\ getPlayerUID\ player]]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashSet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md230}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md230}
+
+\begin{DoxyItemize}
+\item Stores a single field-\/value pair in the current client\textquotesingle{}s hash table
+\item Both the field name and data parameters are required and validated
+\item If the field already exists, its value will be overwritten
+\item Supports various data types\+: arrays, strings, numbers, and booleans
+\item This function automatically determines which hash table to use based on the caller\textquotesingle{}s identity
+\item Use {\ttfamily hash\+Set\+Id} when you need to specify a particular hash table by ID
+\item Complex data structures should be serialized into arrays
+\item The operation is executed immediately and synchronously
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md231}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md231}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table (when you need to specify the ID)
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a field value from the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}\+: Sets multiple fields in the current client\textquotesingle{}s hash table
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md232}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_autotoc_md232}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.tex b/api/latex/d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.tex
new file mode 100644
index 0000000..5c6b09f
--- /dev/null
+++ b/api/latex/d0/df6/md__g_1_2ids_2dragonfly_2docs_2core_2scheduler.tex
@@ -0,0 +1,57 @@
+\chapter{scheduler}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}\index{scheduler@{scheduler}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md136}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md136}{autotoc\+\_\+md136}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md136}
+title\+: Arma\+Dragonfly\+Client -\/ Scheduler icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md137}{}\doxysubsection{\texorpdfstring{excerpt\+: Scheduled Environment for extension.}{excerpt\+: Scheduled Environment for extension.}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md137}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md138}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}{dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md138}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md139}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md139}
+Manages the callback system for the Arma\+Dragonfly\+Client extension. This function receives task IDs from the extension\textquotesingle{}s asynchronous callbacks, parses them, and registers them in a hashmap for later processing. It acts as the bridge between the extension\textquotesingle{}s asynchronous operations and the game\textquotesingle{}s execution environment.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md140}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md140}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_taskID]\ call\ dragonfly\_db\_fnc\_scheduler}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md141}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md141}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+task\+ID} &String &Task identifier returned from extension callback &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md142}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md142}
+None. The function registers the task ID in a hashmap for later processing.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md143}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md143}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md144}{}\doxysubsubsection{\texorpdfstring{Process a callback from the extension\+:}{Process a callback from the extension\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md144}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}1689524160123\_get"{}]\ call\ dragonfly\_db\_fnc\_scheduler;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md145}{}\doxysubsubsection{\texorpdfstring{Forward a callback to the server\+:}{Forward a callback to the server\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md145}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}1689524160123\_hgetall"{}]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_scheduler"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md146}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md146}
+
+\begin{DoxyItemize}
+\item Parses the task ID to extract the timestamp and operation type
+\item Registers the task in a type-\/specific hashmap using the mission namespace
+\item Each operation type (get, hgetall, etc.) has its own hashmap for tracking
+\item The format of task IDs is typically\+: {\ttfamily \mbox{[}timestamp\mbox{]}\+\_\+\mbox{[}operation\mbox{]}}
+\item This function is automatically called by the extension callback mechanism
+\item Creates hashmaps on demand if they don\textquotesingle{}t already exist
+\item Critical for handling asynchronous database operations
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md147}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md147}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+fetch}\+: Assembles data chunks for large datasets
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+handler}\+: Processes the data retrieved from database operations
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+process\+Queue}\+: Executes queued database operations
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md148}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler_autotoc_md148}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.tex b/api/latex/d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.tex
new file mode 100644
index 0000000..3f7f4ad
--- /dev/null
+++ b/api/latex/d1/d22/md__g_1_2ids_2dragonfly_2docs_2list_2list_remove.tex
@@ -0,0 +1,67 @@
+\chapter{list\+Remove}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}\index{listRemove@{listRemove}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md318}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md318}{autotoc\+\_\+md318}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md318}
+title\+: Arma\+Dragonfly\+Client -\/ List Remove icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md319}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove an element from a list stored at a key in Dragonfly\+Client.}{excerpt\+: Remove an element from a list stored at a key in Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md319}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md320}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Remove}{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Remove}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md320}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md321}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md321}
+Removes a specific element from a list stored at a specified key in the Dragonfly\+Client database. This function allows for precise control over list content by targeting individual elements by their index, without affecting other elements in the list. This is particularly useful for removing outdated or no longer needed entries.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md322}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md322}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_index]\ call\ dragonfly\_db\_fnc\_listRemove}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md323}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md323}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+\+\_\+key &String &The key identifying the list from which to remove an element &"{}"{} \\\cline{1-4}
+\+\_\+index &Number &The zero-\/based index of the element to remove from the list &-\/1 \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md324}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md324}
+None. The operation runs synchronously to remove the element immediately.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md325}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md325}
+{\bfseries{Remove the first element from an event log\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}eventLog"{},\ 0]\ call\ dragonfly\_db\_fnc\_listRemove;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Remove a specific player record\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerRecords"{},\ 5]\ call\ dragonfly\_db\_fnc\_listRemove;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Remove an element from a multiplayer environment\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}sharedData"{},\ 2]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_listRemove"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md326}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md326}
+
+\begin{DoxyItemize}
+\item This function removes only the element at the specified index. All other elements remain unchanged, though their indices may shift.
+\item The index is zero-\/based, meaning the first element is at index 0, the second at index 1, and so on.
+\item If an invalid index is provided (negative or exceeding the list length), the operation will not remove any elements.
+\item The {\ttfamily \+\_\+key} parameter must be a non-\/empty string, otherwise the function will exit without performing any action.
+\item After removing an element, all subsequent elements shift down by one index to maintain a contiguous list.
+\item The removal operation is permanent and cannot be undone except by re-\/adding the element.
+\item All list operations are logged for debugging purposes.
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md327}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md327}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md328}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove_autotoc_md328}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.tex b/api/latex/d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.tex
new file mode 100644
index 0000000..3f0a54b
--- /dev/null
+++ b/api/latex/d2/d23/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id.tex
@@ -0,0 +1,70 @@
+\chapter{hash\+Get\+All\+Id}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}\index{hashGetAllId@{hashGetAllId}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md191}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md191}{autotoc\+\_\+md191}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md191}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Get All ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md192}{}\doxysubsection{\texorpdfstring{excerpt\+: Get all fields and values from the hash stored at key from Dragonfly\+Client.}{excerpt\+: Get all fields and values from the hash stored at key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md192}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md193}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md193}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md194}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md194}
+Retrieves all fields and values from a specific hash table identified by its key. This function returns the complete hash table data for a specific ID through a callback function, allowing access to all stored key-\/value pairs associated with that ID. It\textquotesingle{}s particularly useful for retrieving player-\/specific or entity-\/specific hash data.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md195}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md195}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_hashGetAllId}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md196}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md196}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key} &String &Identifier of the hash table to retrieve &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+function} &String &Name of the function to receive the retrieved data &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) &false \\\cline{1-4}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to receive the data &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md197}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md197}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md198}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md198}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md199}{}\doxysubsubsection{\texorpdfstring{Retrieve a player\textquotesingle{}s complete hash data\+:}{Retrieve a player\textquotesingle{}s complete hash data\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md199}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_hashGetAllId;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md200}{}\doxysubsubsection{\texorpdfstring{Retrieve vehicle data with synchronous callback\+:}{Retrieve vehicle data with synchronous callback\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md200}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicle\_123"{},\ "{}dragonfly\_db\_fnc\_processVehicleData"{},\ true]\ call\ dragonfly\_db\_fnc\_hashGetAllId;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md201}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md201}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}dragonfly\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashGetAllId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md202}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md202}
+
+\begin{DoxyItemize}
+\item Returns the complete hash table with all fields and values as a nested array
+\item Both the key and callback function parameters are required and validated
+\item The data is retrieved asynchronously through the extension\textquotesingle{}s callback system
+\item When a net\+Id is provided, the data is sent to that specific client
+\item The {\ttfamily \+\_\+call} parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+\item This function retrieves from a specific hash table identified by {\ttfamily \+\_\+key} -\/ use {\ttfamily hash\+Get\+All} for the global hash table
+\item Player UIDs are commonly used as keys to store player-\/specific data
+\item For large hash tables, retrieving all data may impact performance
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md203}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md203}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the global hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a specific field value from a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a specific field value from the global hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md204}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id_autotoc_md204}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.tex b/api/latex/d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.tex
new file mode 100644
index 0000000..4f674b5
--- /dev/null
+++ b/api/latex/d2/d28/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id.tex
@@ -0,0 +1,71 @@
+\chapter{hash\+Get\+Id}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}\index{hashGetId@{hashGetId}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md205}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md205}{autotoc\+\_\+md205}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md205}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Get ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md206}{}\doxysubsection{\texorpdfstring{excerpt\+: Get the value associated with field in hash stored at key from Dragonfly\+Client.}{excerpt\+: Get the value associated with field in hash stored at key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md206}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md207}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md207}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md208}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md208}
+Retrieves the value of a specific field from a hash table identified by its key. This function allows targeted access to individual fields within a specific hash table, making it ideal for accessing particular attributes of player or entity data. The retrieved data is returned through a callback function.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md209}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md209}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_keyField,\ \_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_hashGetId}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md210}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md210}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key} &String &Identifier of the hash table &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+key\+Field} &String &Name of the field in the hash to retrieve &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+function} &String &Name of the function to receive the retrieved data &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) &false \\\cline{1-4}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to receive the data &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md211}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md211}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md212}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md212}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md213}{}\doxysubsubsection{\texorpdfstring{Retrieve a player\textquotesingle{}s loadout field\+:}{Retrieve a player\textquotesingle{}s loadout field\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md213}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}loadout"{},\ "{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_hashGetId;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md214}{}\doxysubsubsection{\texorpdfstring{Retrieve a specific vehicle property with synchronous callback\+:}{Retrieve a specific vehicle property with synchronous callback\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md214}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicle\_123"{},\ "{}fuel"{},\ "{}dragonfly\_db\_fnc\_processFuelData"{},\ true]\ call\ dragonfly\_db\_fnc\_hashGetId;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md215}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md215}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}stats"{},\ "{}dragonfly\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashGetId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md216}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md216}
+
+\begin{DoxyItemize}
+\item Retrieves a single field value from a specific hash table
+\item All three primary parameters (key, key\+Field, and function) are required and validated
+\item The data is retrieved asynchronously through the extension\textquotesingle{}s callback system
+\item When a net\+Id is provided, the data is sent to that specific client
+\item The {\ttfamily \+\_\+call} parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+\item This function targets both a specific hash table ({\ttfamily \+\_\+key}) and a specific field ({\ttfamily \+\_\+key\+Field})
+\item More efficient than retrieving all hash fields when only one is needed
+\item Player UIDs are commonly used as keys to store player-\/specific data
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md217}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md217}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a field value from the global hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the global hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md218}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id_autotoc_md218}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.tex b/api/latex/d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.tex
new file mode 100644
index 0000000..f540165
--- /dev/null
+++ b/api/latex/d2/dc5/md__g_1_2ids_2dragonfly_2docs_2list_2list_set.tex
@@ -0,0 +1,68 @@
+\chapter{list\+Set}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}\index{listSet@{listSet}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md329}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md329}{autotoc\+\_\+md329}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md329}
+title\+: Arma\+Dragonfly\+Client -\/ List Set icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md330}{}\doxysubsection{\texorpdfstring{excerpt\+: Set an element in a list stored at a key in Dragonfly\+Client.}{excerpt\+: Set an element in a list stored at a key in Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md330}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md331}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Set}{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Set}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md331}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md332}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md332}
+Updates or sets the value of a specific element at a given index in a list stored at a specified key in the Dragonfly\+Client database. This function allows for precise modification of list contents by targeting individual elements without affecting other elements in the list. It is particularly useful for updating record information, modifying configuration data, or correcting entries.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md333}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md333}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_index,\ \_data]\ call\ dragonfly\_db\_fnc\_listSet}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md334}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md334}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+\+\_\+key &String &The key identifying the list in which to set an element &"{}"{} \\\cline{1-4}
+\+\_\+index &Number &The zero-\/based index of the element to set in the list &-\/1 \\\cline{1-4}
+\+\_\+data &Array/\+String/\+Number/\+Boolean &The value to set at the specified index &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md335}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md335}
+None. The operation runs synchronously to update the element immediately.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md336}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md336}
+{\bfseries{Update an event log entry\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}eventLog"{},\ 0,\ ["{}Updated\ event\ information"{}]]\ call\ dragonfly\_db\_fnc\_listSet;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Modify player statistics\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerStats"{},\ 3,\ [name\ player,\ score\ player,\ alive\ player]]\ call\ dragonfly\_db\_fnc\_listSet;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Update configuration in multiplayer\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}missionConfig"{},\ 1,\ ["{}difficulty"{},\ "{}veteran"{}]]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_listSet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md337}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md337}
+
+\begin{DoxyItemize}
+\item This function updates only the element at the specified index. All other elements remain unchanged.
+\item The index is zero-\/based, meaning the first element is at index 0, the second at index 1, and so on.
+\item If the specified index does not exist in the list, the operation may fail or have no effect.
+\item Both the {\ttfamily \+\_\+key} parameter and {\ttfamily \+\_\+data} parameter must be valid (non-\/empty string for key, non-\/nil for data), otherwise the function will exit without performing any action.
+\item The function supports various data types, including arrays, strings, numbers, and booleans.
+\item The update operation is permanent and will overwrite any previous value at the specified index.
+\item All list operations are logged for debugging purposes.
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md338}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md338}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md339}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_set_autotoc_md339}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.tex b/api/latex/d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.tex
new file mode 100644
index 0000000..94e449b
--- /dev/null
+++ b/api/latex/d2/dce/md__g_1_2ids_2dragonfly_2docs_2basic_2save.tex
@@ -0,0 +1,36 @@
+\chapter{save}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save}{}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save}\index{save@{save}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md40}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md40}{autotoc\+\_\+md40}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md40}
+title\+: Arma\+Dragonfly\+Client -\/ Save DB icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md41}{}\doxysubsection{\texorpdfstring{excerpt\+: Save DB to disc.}{excerpt\+: Save DB to disc.}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md41}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md42}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+save}{dragonfly\+\_\+db\+\_\+fnc\+\_\+save}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md42}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md43}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md43}
+Saves the entire database to disk storage. This function persists all data (key-\/value pairs, hash tables, and lists) to a file, allowing it to be retrieved later even after server restart.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md44}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md44}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_save}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md45}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md45}
+None. The function saves the database without any parameters.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md46}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md46}
+None. The operation runs synchronously and saves the database immediately.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md47}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md47}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md48}{}\doxysubsubsection{\texorpdfstring{Save the database without creating a backup\+:}{Save the database without creating a backup\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md48}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_save;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md49}{}\doxysubsubsection{\texorpdfstring{Call the save function remotely from a client\+:}{Call the save function remotely from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md49}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_save"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md50}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md50}
+
+\begin{DoxyItemize}
+\item This function should be called periodically to ensure data persistence
+\item Saving is a resource-\/intensive operation, so it shouldn\textquotesingle{}t be called too frequently
+\item Consider saving before mission end or during low-\/activity periods
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md51}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md51}
+None.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md52}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2save_autotoc_md52}
+None.
\ No newline at end of file
diff --git a/api/latex/d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.tex b/api/latex/d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.tex
new file mode 100644
index 0000000..cbccff2
--- /dev/null
+++ b/api/latex/d3/dcb/md__g_1_2ids_2dragonfly_2docs_2basic_2get.tex
@@ -0,0 +1,58 @@
+\chapter{get}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get}{}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get}\index{get@{get}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md23}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md23}{autotoc\+\_\+md23}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md23}
+title\+: Arma\+Dragonfly\+Client -\/ Get Key icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md24}{}\doxysubsection{\texorpdfstring{excerpt\+: Get the value of stored key from Dragonfly\+Client.}{excerpt\+: Get the value of stored key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md24}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md25}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+get}{dragonfly\+\_\+db\+\_\+fnc\+\_\+get}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md25}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md26}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md26}
+Retrieves the value of a stored key from the database. This function performs an asynchronous request to the database and passes the retrieved data to the specified callback function.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md27}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md27}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_get}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md28}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md28}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-3}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-3}
+\endhead
+{\ttfamily \+\_\+key} &String &Name of the stored key to retrieve from the database \\\cline{1-3}
+{\ttfamily \+\_\+function} &String &Name of the function to call when data is retrieved \\\cline{1-3}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) \\\cline{1-3}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to whom the data should be returned \\\cline{1-3}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md29}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md29}
+None. When data is retrieved, it will be passed to the specified function. The operation runs asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md30}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md30}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md31}{}\doxysubsubsection{\texorpdfstring{Retrieve data in singleplayer or on the server\+:}{Retrieve data in singleplayer or on the server\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md31}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_get;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md32}{}\doxysubsubsection{\texorpdfstring{Retrieve data on the server and send to a specific client\+:}{Retrieve data on the server and send to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md32}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}dragonfly\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_get"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md33}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md33}
+
+\begin{DoxyItemize}
+\item The function exit with an error if the key or function parameters are empty
+\item Data is processed through the scheduler system, which manages callback responses
+\item For large data that exceeds buffer limits, it will be automatically chunked and reassembled
+\item The callback function must be defined to accept the retrieved data
+\item The {\ttfamily \+\_\+call} parameter determines whether the callback is executed directly or spawned in a separate thread
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md34}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md34}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+set}\+: Stores a value by key
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+delete}\+: Removes a value by key
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback response
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md35}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2get_autotoc_md35}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}{Delete Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2get}{Get Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2set}{Set Key}{0}
\ No newline at end of file
diff --git a/api/latex/d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.tex b/api/latex/d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.tex
new file mode 100644
index 0000000..c3971e9
--- /dev/null
+++ b/api/latex/d3/ddf/md__g_1_2ids_2dragonfly_2docs_2list_2list_get.tex
@@ -0,0 +1,71 @@
+\chapter{list\+Get}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}\index{listGet@{listGet}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md293}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md293}{autotoc\+\_\+md293}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md293}
+title\+: Arma\+Dragonfly\+Client -\/ List Get icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md294}{}\doxysubsection{\texorpdfstring{excerpt\+: Get element of list stored at key from Dragonfly\+Client.}{excerpt\+: Get element of list stored at key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md294}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md295}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Get}{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Get}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md295}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md296}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md296}
+Retrieves a specific element from a list stored in the database by its index. This function accesses a single item from a list using its position number and returns the data through a callback function. It\textquotesingle{}s useful for accessing individual pieces of data from a sequence without retrieving the entire list.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md297}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md297}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_index,\ \_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_listGet}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md298}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md298}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key} &String &Name of the list &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+index} &Number &Index position of the element to retrieve (0-\/based) &-\/1 \\\cline{1-4}
+{\ttfamily \+\_\+function} &String &Name of the function to receive the retrieved data &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) &false \\\cline{1-4}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to receive the data &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md299}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md299}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md300}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md300}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md301}{}\doxysubsubsection{\texorpdfstring{Retrieve a specific event log entry\+:}{Retrieve a specific event log entry\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md301}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}events"{},\ 0,\ "{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_listGet;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md302}{}\doxysubsubsection{\texorpdfstring{Retrieve data with synchronous callback\+:}{Retrieve data with synchronous callback\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md302}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}messages"{},\ 5,\ "{}dragonfly\_db\_fnc\_processMessage"{},\ true]\ call\ dragonfly\_db\_fnc\_listGet;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md303}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md303}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}notifications"{},\ 0,\ "{}dragonfly\_db\_fnc\_displayNotification"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_listGet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md304}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md304}
+
+\begin{DoxyItemize}
+\item Retrieves a single element from a list by its index position
+\item The key, index, and function parameters are required and validated
+\item Index is zero-\/based (the first element is at index 0)
+\item If the index is out of bounds or the list doesn\textquotesingle{}t exist, no data will be returned
+\item The data is retrieved asynchronously through the extension\textquotesingle{}s callback system
+\item When a net\+Id is provided, the data is sent to that specific client
+\item The {\ttfamily \+\_\+call} parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+\item For retrieving multiple elements, use {\ttfamily list\+Load} instead
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md305}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md305}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md306}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_get_autotoc_md306}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.tex b/api/latex/d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.tex
new file mode 100644
index 0000000..cc7ead8
--- /dev/null
+++ b/api/latex/d4/d43/md__g_1_2ids_2dragonfly_2docs_2core_2handler.tex
@@ -0,0 +1,65 @@
+\chapter{handler}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler}\index{handler@{handler}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md81}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md81}{autotoc\+\_\+md81}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md81}
+title\+: Arma\+Dragonfly\+Client -\/ Handler icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md82}{}\doxysubsection{\texorpdfstring{excerpt\+: Handle data from DB.}{excerpt\+: Handle data from DB.}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md82}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md83}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+handler}{dragonfly\+\_\+db\+\_\+fnc\+\_\+handler}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md83}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md84}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md84}
+Handles data received from the database and routes it to the appropriate function. This function is a critical component of the callback system, receiving data from database operations and directing it to the specified function, either locally or to a remote client.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md85}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md85}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_uniqueID,\ \_function,\ \_call,\ \_data,\ \_netId]\ call\ dragonfly\_db\_fnc\_handler}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md86}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md86}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+unique\+ID} &String &Unique identifier for the data chunk &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+function} &String &Name of function to receive the data &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) &false \\\cline{1-4}
+{\ttfamily \+\_\+data} &Array, String, Number, or Boolean &The data retrieved from the database &\mbox{[}\mbox{]} \\\cline{1-4}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to receive the data &nil \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md87}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md87}
+None. The data is passed to the specified function for processing.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md88}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md88}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md89}{}\doxysubsubsection{\texorpdfstring{Process data locally\+:}{Process data locally\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md89}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}0123456789"{},\ "{}dragonfly\_db\_fnc\_test"{},\ false,\ ["{}Hello\ World!"{}]]\ call\ dragonfly\_db\_fnc\_handler;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md90}{}\doxysubsubsection{\texorpdfstring{Send data to a specific client\+:}{Send data to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md90}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}0123456789"{},\ "{}dragonfly\_db\_fnc\_test"{},\ false,\ ["{}Hello\ World!"{}],\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_handler"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md91}{}\doxysubsubsection{\texorpdfstring{Process data with direct call (synchronous)\+:}{Process data with direct call (synchronous)\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md91}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}0123456789"{},\ "{}dragonfly\_db\_fnc\_processInventory"{},\ true,\ [["{}weapon1"{},\ 30],\ ["{}item2"{},\ 5]]]\ call\ dragonfly\_db\_fnc\_handler;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md92}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md92}
+
+\begin{DoxyItemize}
+\item The function validates that both the function name and data are valid before proceeding
+\item When a net\+Id is provided, the data is sent to that specific client using remote\+Exec
+\item The {\ttfamily \+\_\+call} parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+\item This function is typically called by the scheduler or other core components rather than directly by user code
+\item Each handler call is logged, which is useful for debugging data flow
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md93}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md93}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes callbacks from the database extension
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+fetch}\+: Assembles data chunks for large datasets
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+add\+Task}\+: Adds tasks to the database operation queue
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md94}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2handler_autotoc_md94}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.tex b/api/latex/d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.tex
new file mode 100644
index 0000000..03140f0
--- /dev/null
+++ b/api/latex/d4/d7c/md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name.tex
@@ -0,0 +1,42 @@
+\chapter{print\+Addon\+Name}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}\index{printAddonName@{printAddonName}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md106}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md106}{autotoc\+\_\+md106}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md106}
+title\+: Arma\+Dragonfly\+Client -\/ Print Addon Name icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md107}{}\doxysubsection{\texorpdfstring{excerpt\+: Displays the addon name in system chat.}{excerpt\+: Displays the addon name in system chat.}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md107}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md108}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+print\+Addon\+Name}{dragonfly\+\_\+db\+\_\+fnc\+\_\+print\+Addon\+Name}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md108}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md109}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md109}
+Displays a thank you message with the addon name in the system chat. This is a simple utility function that can be used to acknowledge the use of the framework or to verify that the addon is properly loaded.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md110}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md110}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_printAddonName}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md111}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md111}
+None. This function does not require any parameters.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md112}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md112}
+None. The function outputs a message to the system chat.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md113}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md113}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md114}{}\doxysubsubsection{\texorpdfstring{Display the addon name message\+:}{Display the addon name message\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md114}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_printAddonName;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md115}{}\doxysubsubsection{\texorpdfstring{Use in a welcome script\+:}{Use in a welcome script\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md115}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{if\ (isServer)\ then\ \{}
+\DoxyCodeLine{\ \ \ \ []\ remoteExec\ ["{}dragonfly\_db\_fnc\_printAddonName"{},\ 0,\ true];}
+\DoxyCodeLine{\};}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md116}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md116}
+
+\begin{DoxyItemize}
+\item The function uses the ADDON macro defined in script\+\_\+component.\+hpp
+\item This displays a message directly in the player\textquotesingle{}s system chat
+\item Can be useful as a quick verification that the addon is loaded correctly
+\item Often used during development or for first-\/time users
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md117}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md117}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+init}\+: Initializes the database system
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md118}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name_autotoc_md118}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.tex b/api/latex/d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.tex
new file mode 100644
index 0000000..4f6eff7
--- /dev/null
+++ b/api/latex/d4/d99/md__g_1_2ids_2dragonfly_2docs_2basic_2fetch.tex
@@ -0,0 +1,51 @@
+\chapter{fetch}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch}{}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch}\index{fetch@{fetch}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md13}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md13}{autotoc\+\_\+md13}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md13}
+title\+: Arma\+Dragonfly\+Client -\/ Fetch icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md14}{}\doxysubsection{\texorpdfstring{excerpt\+: Handles data chunks received from the database extension when data is too large to be returned in a single callback.}{excerpt\+: Handles data chunks received from the database extension when data is too large to be returned in a single callback.}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md14}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md15}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+fetch}{dragonfly\+\_\+db\+\_\+fnc\+\_\+fetch}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md15}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md16}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md16}
+Handles data chunks received from the database extension when data is too large to be returned in a single callback. This function collects all chunks of data, reassembles them in the correct order, and then passes the complete data to the handler function.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md17}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md17}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_uniqueID,\ \_function,\ \_index,\ \_total,\ \_datachunk,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_fetch}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md18}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md18}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-3}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-3}
+\endhead
+{\ttfamily \+\_\+unique\+ID} &String &Unique identifier for this data fetch operation \\\cline{1-3}
+{\ttfamily \+\_\+function} &String &Name of the function to call after data is assembled \\\cline{1-3}
+{\ttfamily \+\_\+index} &Number &Current chunk index (0-\/based) \\\cline{1-3}
+{\ttfamily \+\_\+total} &Number &Total number of chunks expected \\\cline{1-3}
+{\ttfamily \+\_\+datachunk} &String &The chunk of data being received \\\cline{1-3}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) \\\cline{1-3}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to whom the data belongs \\\cline{1-3}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md19}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md19}
+None. When all chunks are received, the function will\+:
+\begin{DoxyEnumerate}
+\item Assemble the complete data string
+\item Parse it as a simple array
+\item Call the specified handler function with the parsed data
+\end{DoxyEnumerate}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md20}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md20}
+This function is typically not called directly but is triggered by the extension\textquotesingle{}s callback mechanism when large datasets are retrieved.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md21}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md21}
+
+\begin{DoxyItemize}
+\item The function stores received chunks in the global array {\ttfamily dragonfly\+\_\+db\+\_\+fetch\+\_\+array}
+\item Chunks are sorted by their index to ensure correct assembly regardless of arrival order
+\item After successful processing, the chunks for this unique\+ID are removed from the array
+\item This function is essential for handling large datasets that exceed the callback buffer limit
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md22}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch_autotoc_md22}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+handler}\+: Receives the assembled data and routes it to the appropriate function
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages the callback queue and triggers data fetching
+\end{DoxyItemize}
\ No newline at end of file
diff --git a/api/latex/d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.tex b/api/latex/d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.tex
new file mode 100644
index 0000000..0bd41e6
--- /dev/null
+++ b/api/latex/d4/d99/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id.tex
@@ -0,0 +1,68 @@
+\chapter{hash\+Set\+Id}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}\index{hashSetId@{hashSetId}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md247}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md247}{autotoc\+\_\+md247}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md247}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Set ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md248}{}\doxysubsection{\texorpdfstring{excerpt\+: Set the specified field to the respective value in the hash stored at key from Dragonfly\+Client.}{excerpt\+: Set the specified field to the respective value in the hash stored at key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md248}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md249}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md249}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md250}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md250}
+Sets the value of a specified field in a specific hash table identified by its key. This function allows storing various data types (arrays, strings, numbers, or booleans) in a targeted hash table, making it ideal for player-\/specific or entity-\/specific data storage. It provides a way to organize related data under a common identifier.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md251}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md251}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_keyField,\ \_data]\ call\ dragonfly\_db\_fnc\_hashSetId}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md252}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md252}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key} &String &Identifier of the hash table &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+key\+Field} &String &Name of the field in the hash to set &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+data} &Array, String, Number, or Boolean &The value to store in the hash field &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md253}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md253}
+None. The operation runs synchronously to store the data.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md254}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md254}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md255}{}\doxysubsubsection{\texorpdfstring{Store a player\textquotesingle{}s loadout under their UID\+:}{Store a player\textquotesingle{}s loadout under their UID\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md255}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}loadout"{},\ [getUnitLoadout\ player]]\ call\ dragonfly\_db\_fnc\_hashSetId;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md256}{}\doxysubsubsection{\texorpdfstring{Store vehicle data\+:}{Store vehicle data\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md256}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicle\_123"{},\ "{}status"{},\ [true,\ 100,\ 75,\ "{}active"{}]]\ call\ dragonfly\_db\_fnc\_hashSetId;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md257}{}\doxysubsubsection{\texorpdfstring{Store player data from a client\+:}{Store player data from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md257}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}stats"{},\ [rank\ player,\ score\ player,\ name\ player]]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashSetId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md258}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md258}
+
+\begin{DoxyItemize}
+\item Stores a single field-\/value pair in a specific hash table identified by {\ttfamily \+\_\+key}
+\item All three parameters (key, key\+Field, and data) are required and validated
+\item If the hash table doesn\textquotesingle{}t exist, it will be created automatically
+\item If the field already exists in the hash table, its value will be overwritten
+\item Supports various data types\+: arrays, strings, numbers, and booleans
+\item Player UIDs are commonly used as keys to store player-\/specific data
+\item Complex data structures should be serialized into arrays
+\item The operation is executed immediately and synchronously
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md259}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md259}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a field value in the global hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a field value from a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id\+Bulk}\+: Sets multiple field-\/value pairs in multiple hash tables
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md260}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_autotoc_md260}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.tex b/api/latex/d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.tex
new file mode 100644
index 0000000..c581eb4
--- /dev/null
+++ b/api/latex/d6/d7e/md__g_1_2ids_2dragonfly_2docs_2core_2test.tex
@@ -0,0 +1,62 @@
+\chapter{test}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test}{}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test}\index{test@{test}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md149}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md149}{autotoc\+\_\+md149}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md149}
+title\+: Arma\+Dragonfly\+Client -\/ Test icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md150}{}\doxysubsection{\texorpdfstring{excerpt\+: Test Function.}{excerpt\+: Test Function.}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md150}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md151}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+test}{dragonfly\+\_\+db\+\_\+fnc\+\_\+test}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md151}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md152}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md152}
+A simple test function for verifying database operations. This function displays the received data in a hint message and logs it to the RPT file. It\textquotesingle{}s primarily used for testing database retrieval operations and callback functionality.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md153}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md153}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_value]\ spawn\ dragonfly\_db\_fnc\_test}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md154}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md154}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+value} &Array, String, Number, or Boolean &The value to display and log &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md155}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md155}
+The same value that was passed to the function. Also sets the global variable {\ttfamily dragonfly\+\_\+db\+\_\+test} to this value.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md156}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md156}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md157}{}\doxysubsubsection{\texorpdfstring{Test with a simple string\+:}{Test with a simple string\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md157}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}Hello\ World!"{}]\ spawn\ dragonfly\_db\_fnc\_test;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md158}{}\doxysubsubsection{\texorpdfstring{Test database retrieval by specifying this as callback function\+:}{Test database retrieval by specifying this as callback function\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md158}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerStats"{},\ "{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_get;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md159}{}\doxysubsubsection{\texorpdfstring{Test from client to server\+:}{Test from client to server\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md159}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}Database\ is\ working!"{}]\ remoteExec\ ["{}dragonfly\_db\_fnc\_test"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md160}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md160}
+
+\begin{DoxyItemize}
+\item Displays the received value using {\ttfamily hint}
+\item Logs the same value to the RPT file
+\item Stores the value in the global variable {\ttfamily dragonfly\+\_\+db\+\_\+test} for later inspection
+\item Commonly used as a callback function for database operations
+\item Useful for debugging and verifying data flow
+\item Can be called directly or specified as a callback in other functions
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md161}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md161}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+get}\+: Retrieves values from the database
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+handler}\+: Routes data to callback functions
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages the callback system
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md162}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2test_autotoc_md162}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.tex b/api/latex/d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.tex
new file mode 100644
index 0000000..20bcda0
--- /dev/null
+++ b/api/latex/d9/d9c/md__g_1_2ids_2dragonfly_2docs_2basic_2set.tex
@@ -0,0 +1,62 @@
+\chapter{set}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set}{}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set}\index{set@{set}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md53}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md53}{autotoc\+\_\+md53}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md53}
+title\+: Arma\+Dragonfly\+Client -\/ Set Key icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md54}{}\doxysubsection{\texorpdfstring{excerpt\+: Set the value of stored key from Dragonfly\+Client.}{excerpt\+: Set the value of stored key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md54}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md55}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+set}{dragonfly\+\_\+db\+\_\+fnc\+\_\+set}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md55}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md56}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md56}
+Stores a value in the database with the specified key. This function allows saving various data types (arrays, strings, numbers, or booleans) that can be retrieved later using the key.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md57}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md57}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_data]\ call\ dragonfly\_db\_fnc\_set}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md58}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md58}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key} &String &Name of the key to store the data under &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+data} &Array, String, Number, or Boolean &The value to store in the database &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md59}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md59}
+None. The operation runs asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md60}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md60}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md61}{}\doxysubsubsection{\texorpdfstring{Store a simple array\+:}{Store a simple array\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md61}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerInventory"{},\ ["{}item1"{},\ "{}item2"{},\ "{}item3"{}]]\ call\ dragonfly\_db\_fnc\_set;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md62}{}\doxysubsubsection{\texorpdfstring{Store player data under their UID\+:}{Store player data under their UID\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md62}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ [name\ player,\ getPos\ player,\ getAllGear\ player]]\ call\ dragonfly\_db\_fnc\_set;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md63}{}\doxysubsubsection{\texorpdfstring{Call the set function remotely from a client\+:}{Call the set function remotely from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md63}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}serverSetting"{},\ [true,\ 30,\ "{}normal"{}]]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_set"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md64}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md64}
+
+\begin{DoxyItemize}
+\item The function validates both the key and data before attempting to store
+\item If the key already exists, its value will be overwritten
+\item Complex data structures should be serialized into arrays
+\item There are no size limits for data, but extremely large values might impact performance
+\item For structured data, consider using hash tables instead of key-\/value pairs
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md65}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md65}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+get}\+: Retrieves a value by key
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+delete}\+: Removes a value by key
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback response
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md66}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2set_autotoc_md66}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}{Delete Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2get}{Get Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2set}{Set Key}{0}
\ No newline at end of file
diff --git a/api/latex/d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.tex b/api/latex/d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.tex
new file mode 100644
index 0000000..af00fe5
--- /dev/null
+++ b/api/latex/d9/db3/md__g_1_2ids_2dragonfly_2docs_2list_2list_load.tex
@@ -0,0 +1,69 @@
+\chapter{list\+Load}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}\index{listLoad@{listLoad}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md307}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md307}{autotoc\+\_\+md307}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md307}
+title\+: Arma\+Dragonfly\+Client -\/ List Load icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md308}{}\doxysubsection{\texorpdfstring{excerpt\+: Get all elements of a list stored at a key from Dragonfly\+Client.}{excerpt\+: Get all elements of a list stored at a key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md308}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md309}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Load}{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Load}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md309}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md310}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md310}
+Retrieves all elements of a list stored at a specified key from the Dragonfly\+Client database. This function is useful when you need to access the complete list data rather than individual elements, allowing operations on the entire dataset. The retrieved data is passed to a callback function for processing.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md311}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md311}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_listLoad}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md312}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md312}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+\+\_\+key &String &The key identifying the list to be retrieved &"{}"{} \\\cline{1-4}
+\+\_\+function &String &The name of the function that will receive the retrieved data &"{}"{} \\\cline{1-4}
+\+\_\+call &Boolean &Whether to call the function in an unscheduled environment &false \\\cline{1-4}
+\+\_\+net\+Id &String &The Net\+ID of the target to return data from the function (multiplayer only) &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md313}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md313}
+No value is returned directly. The retrieved list data is passed to the specified callback function asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md314}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md314}
+{\bfseries{Retrieve all event logs\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}events"{},\ "{}myProject\_fnc\_processEventLogs"{}]\ call\ dragonfly\_db\_fnc\_listLoad;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Retrieve a player list with synchronous callback\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerList"{},\ "{}myProject\_fnc\_processPlayerList"{},\ true]\ call\ dragonfly\_db\_fnc\_listLoad;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Send mission data to a specific client\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}missionData"{},\ "{}myProject\_fnc\_processMissionData"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_listLoad"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md315}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md315}
+
+\begin{DoxyItemize}
+\item This function retrieves the entire list stored at the specified key, making it useful when you need to process multiple elements together.
+\item Both the {\ttfamily \+\_\+key} and {\ttfamily \+\_\+function} parameters are required. The function will exit without action if either is empty.
+\item The retrieved data is processed asynchronously through the scheduler system and passed to the specified callback function.
+\item For multiplayer scenarios, you can specify a target client using the {\ttfamily \+\_\+net\+Id} parameter to send the retrieved data to that specific client.
+\item The {\ttfamily \+\_\+call} parameter determines whether the callback function is executed in an unscheduled environment (true) or scheduled environment (false).
+\item This function uses the underlying "{}listrng"{} extension with a range from 0 to -\/1, which retrieves all elements in the list.
+\item All list operations are logged for debugging purposes.
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md316}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md316}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md317}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_load_autotoc_md317}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.tex b/api/latex/d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.tex
new file mode 100644
index 0000000..1a19220
--- /dev/null
+++ b/api/latex/d9/de8/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get.tex
@@ -0,0 +1,70 @@
+\chapter{hash\+Get}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}\index{hashGet@{hashGet}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md163}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md163}{autotoc\+\_\+md163}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md163}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Get icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md164}{}\doxysubsection{\texorpdfstring{excerpt\+: Get a field value from the current client\textquotesingle{}s hash table in Dragonfly\+Client.}{excerpt\+: Get a field value from the current client\textquotesingle{}s hash table in Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md164}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md165}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md165}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md166}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md166}
+Retrieves the value associated with a specific field in the hash table of the current client/player. This function automatically determines the appropriate hash ID based on the caller\textquotesingle{}s identity, making it more convenient than {\ttfamily hash\+Get\+Id} which requires manually specifying an ID. It accesses hash data asynchronously and returns the result through a callback function.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md167}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md167}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_keyField,\ \_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_hashGet}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md168}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md168}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key\+Field} &String &Name of the field in the hash to retrieve &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+function} &String &Name of the function to receive the retrieved data &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) &false \\\cline{1-4}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to receive the data &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md169}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md169}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md170}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md170}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md171}{}\doxysubsubsection{\texorpdfstring{Retrieve a player\textquotesingle{}s loadout\+:}{Retrieve a player\textquotesingle{}s loadout\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md171}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}loadout"{},\ "{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_hashGet;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md172}{}\doxysubsubsection{\texorpdfstring{Retrieve data with synchronous callback\+:}{Retrieve data with synchronous callback\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md172}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerScore"{},\ "{}dragonfly\_db\_fnc\_processScore"{},\ true]\ call\ dragonfly\_db\_fnc\_hashGet;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md173}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md173}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}loadout"{},\ "{}dragonfly\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashGet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md174}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md174}
+
+\begin{DoxyItemize}
+\item Retrieves a value from the current client\textquotesingle{}s hash table
+\item The data is retrieved asynchronously through the extension\textquotesingle{}s callback system
+\item Both the field name and callback function name must be provided
+\item Input validation ensures both required parameters are non-\/empty
+\item When a net\+Id is provided, the data is sent to that specific client
+\item The {\ttfamily \+\_\+call} parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+\item This function automatically determines which hash table to use based on the caller\textquotesingle{}s identity
+\item Use {\ttfamily hash\+Get\+Id} when you need to specify a particular hash table by ID
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md175}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md175}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a field value from a specific hash table (when you need to specify the ID)
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a field value in the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md176}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_autotoc_md176}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.tex b/api/latex/da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.tex
new file mode 100644
index 0000000..e4762d4
--- /dev/null
+++ b/api/latex/da/d08/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all.tex
@@ -0,0 +1,69 @@
+\chapter{hash\+Get\+All}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}\index{hashGetAll@{hashGetAll}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md177}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md177}{autotoc\+\_\+md177}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md177}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Get All icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md178}{}\doxysubsection{\texorpdfstring{excerpt\+: Get all fields from the current client\textquotesingle{}s hash table in Dragonfly\+Client.}{excerpt\+: Get all fields from the current client\textquotesingle{}s hash table in Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md178}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md179}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md179}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md180}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md180}
+Retrieves all fields and values from the hash table associated with the current client/player. This function automatically determines the appropriate hash ID based on the caller\textquotesingle{}s identity, making it more convenient than {\ttfamily hash\+Get\+All\+Id} which requires manually specifying an ID. It returns the entire hash table data through a callback function, allowing access to all stored key-\/value pairs at once.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md181}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md181}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_hashGetAll}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md182}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md182}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+function} &String &Name of the function to receive the retrieved data &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) &false \\\cline{1-4}
+{\ttfamily \+\_\+net\+Id} &String &(Optional) Net\+ID of the player to receive the data &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md183}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md183}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md184}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md184}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md185}{}\doxysubsubsection{\texorpdfstring{Retrieve all client hash data\+:}{Retrieve all client hash data\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md185}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_hashGetAll;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md186}{}\doxysubsubsection{\texorpdfstring{Retrieve data with synchronous callback\+:}{Retrieve data with synchronous callback\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md186}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}dragonfly\_db\_fnc\_processAllData"{},\ true]\ call\ dragonfly\_db\_fnc\_hashGetAll;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md187}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md187}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}dragonfly\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashGetAll"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md188}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md188}
+
+\begin{DoxyItemize}
+\item Returns the complete hash table for the current client with all fields and values as a nested array
+\item The data is retrieved asynchronously through the extension\textquotesingle{}s callback system
+\item The callback function name must be provided and is validated
+\item When a net\+Id is provided, the data is sent to that specific client
+\item The {\ttfamily \+\_\+call} parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
+\item This function automatically determines which hash table to use based on the caller\textquotesingle{}s identity
+\item Use {\ttfamily hash\+Get\+All\+Id} when you need to specify a particular hash table by ID
+\item For large hash tables, retrieving all data may impact performance
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md189}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md189}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a specific field value from the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a specific field value from a specific hash table (when you need to specify the ID)
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table (when you need to specify the ID)
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a field value in the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md190}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_autotoc_md190}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.tex b/api/latex/da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.tex
new file mode 100644
index 0000000..b4b8528
--- /dev/null
+++ b/api/latex/da/d2c/md__g_1_2ids_2dragonfly_2docs_2list_2list_add.tex
@@ -0,0 +1,67 @@
+\chapter{list\+Add}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}\index{listAdd@{listAdd}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md279}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md279}{autotoc\+\_\+md279}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md279}
+title\+: Arma\+Dragonfly\+Client -\/ List Add icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md280}{}\doxysubsection{\texorpdfstring{excerpt\+: Add element to list stored at key from Dragonfly\+Client.}{excerpt\+: Add element to list stored at key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md280}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md281}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Add}{dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Add}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md281}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md282}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md282}
+Adds an element to a list stored in the database under the specified key. This function appends values to an existing list or creates a new list if it doesn\textquotesingle{}t exist. It\textquotesingle{}s particularly useful for logging, event tracking, or maintaining collections of data that grow over time.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md283}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md283}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_data]\ call\ dragonfly\_db\_fnc\_listAdd}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md284}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md284}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+key} &String &Name of the list to add the element to &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+data} &Array, String, Number, or Boolean &The value to insert into the list &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md285}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md285}
+None. The operation runs synchronously to add the element to the list.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md286}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md286}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md287}{}\doxysubsubsection{\texorpdfstring{Add an event log entry\+:}{Add an event log entry\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md287}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}events"{},\ ["{}Server\ state\ saved\ to\ DB\ "{}\ +\ systemTimeUTC]]\ call\ dragonfly\_db\_fnc\_listAdd;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md288}{}\doxysubsubsection{\texorpdfstring{Add a player message\+:}{Add a player message\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md288}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}messages"{},\ [name\ player\ +\ "{}:\ "{}\ +\ \_messageText]]\ call\ dragonfly\_db\_fnc\_listAdd;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md289}{}\doxysubsubsection{\texorpdfstring{Add data from a client\+:}{Add data from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md289}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerActions"{},\ [getPlayerUID\ player,\ name\ player,\ "{}logged\ in"{}]]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_listAdd"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md290}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md290}
+
+\begin{DoxyItemize}
+\item Elements are added to the end of the list in the order they are inserted
+\item If the list doesn\textquotesingle{}t exist, it will be created automatically
+\item Both the key and data parameters are required and validated
+\item Lists can store various data types (arrays, strings, numbers, or booleans)
+\item Useful for maintaining a history of events, logs, or sequential data
+\item The operation is executed immediately and synchronously
+\item New elements are always added to the end of the list
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md291}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md291}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md292}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2list_2list_add_autotoc_md292}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.tex b/api/latex/da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.tex
new file mode 100644
index 0000000..799ad69
--- /dev/null
+++ b/api/latex/da/d74/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk.tex
@@ -0,0 +1,67 @@
+\chapter{hash\+Set\+Bulk}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}\index{hashSetBulk@{hashSetBulk}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md233}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md233}{autotoc\+\_\+md233}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md233}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Set Bulk icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md234}{}\doxysubsection{\texorpdfstring{excerpt\+: Set multiple fields in the current client\textquotesingle{}s hash table in Dragonfly\+Client.}{excerpt\+: Set multiple fields in the current client\textquotesingle{}s hash table in Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md234}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md235}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md235}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md236}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md236}
+Sets multiple field-\/value pairs in the hash table associated with the current client/player in a single operation. This function automatically determines the appropriate hash ID based on the caller\textquotesingle{}s identity, making it more convenient than {\ttfamily hash\+Set\+Id\+Bulk} which requires manually specifying an ID. It allows efficiently storing multiple related fields at once, reducing the number of separate database calls required.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md237}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md237}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_data]\ call\ dragonfly\_db\_fnc\_hashSetBulk}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md238}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md238}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+data} &Array &Array of alternating field names and values to store &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md239}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md239}
+None. The operation runs synchronously to store all the data.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md240}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md240}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md241}{}\doxysubsubsection{\texorpdfstring{Store player loadout and position\+:}{Store player loadout and position\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md241}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}loadout"{},\ [getUnitLoadout\ player],\ "{}position"{},\ [getPosASLVisual\ player]]]\ call\ dragonfly\_db\_fnc\_hashSetBulk;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md242}{}\doxysubsubsection{\texorpdfstring{Store multiple player settings\+:}{Store multiple player settings\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md242}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}difficulty"{},\ ["{}regular"{}],\ "{}respawn"{},\ [true],\ "{}tickets"{},\ [500]]]\ call\ dragonfly\_db\_fnc\_hashSetBulk;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md243}{}\doxysubsubsection{\texorpdfstring{Store player data from a client\+:}{Store player data from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md243}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}name"{},\ [name\ player],\ "{}uid"{},\ [getPlayerUID\ player],\ "{}score"{},\ [score\ player]]]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashSetBulk"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md244}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md244}
+
+\begin{DoxyItemize}
+\item The data array must be structured as alternating field names and values\+: {\ttfamily \mbox{[}field1, value1, field2, value2, ...\mbox{]}}
+\item Each field name must be a string
+\item Values can be arrays, strings, numbers, or booleans
+\item All field-\/value pairs are stored in a single database operation
+\item If any of the fields already exist, their values will be overwritten
+\item This function automatically determines which hash table to use based on the caller\textquotesingle{}s identity
+\item Use {\ttfamily hash\+Set\+Id\+Bulk} when you need to specify a particular hash table by ID
+\item More efficient than multiple individual {\ttfamily hash\+Set} calls when setting several fields
+\item The operation is executed immediately and synchronously
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md245}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md245}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a single field value in the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id\+Bulk}\+: Sets multiple field-\/value pairs in a specific hash table (when you need to specify the ID)
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the current client\textquotesingle{}s hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a specific field value from the current client\textquotesingle{}s hash table
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md246}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk_autotoc_md246}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.tex b/api/latex/dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.tex
new file mode 100644
index 0000000..4aab110
--- /dev/null
+++ b/api/latex/dc/d36/md__g_1_2ids_2dragonfly_2docs_2core_2init.tex
@@ -0,0 +1,29 @@
+\chapter{init}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init}{}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init}\index{init@{init}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md95}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md95}{autotoc\+\_\+md95}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md95}
+title\+: Arma\+Dragonfly\+Client -\/ Initialization icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md96}{}\doxysubsection{\texorpdfstring{excerpt\+: Initial Extension settings.}{excerpt\+: Initial Extension settings.}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md96}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md97}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+init}{dragonfly\+\_\+db\+\_\+fnc\+\_\+init}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md97}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md98}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md98}
+Initializes the Arma\+Dragonfly\+Client extension and sets up the initial settings. This function loads the extension, checks its version, sets the buffer size, and logs the initialization status. It is automatically called during mission startup.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md99}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md99}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ This\ function\ is\ automatically\ called\ during\ initialization\ and\ doesn't\ need\ to\ be\ called\ directly}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md100}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md100}
+None. This function does not require any parameters.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md101}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md101}
+None. The function sets up internal variables and logs initialization information.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md102}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md102}
+This function is automatically executed during framework initialization and doesn\textquotesingle{}t need to be called manually.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md103}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md103}
+
+\begin{DoxyItemize}
+\item Sets the global buffer size to 10240 bytes (10KB)
+\item Logs the DLL version number for reference
+\item Confirms successful loading of all functions
+\item Outputs initialization status to the RPT logs
+\item This is one of the first functions called when the framework loads
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md104}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md104}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+save}\+: Saves database data to disk
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md105}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2init_autotoc_md105}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.tex b/api/latex/dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.tex
new file mode 100644
index 0000000..f8b6741
--- /dev/null
+++ b/api/latex/dd/d3b/md__g_1_2ids_2dragonfly_2docs_2core_2add_task.tex
@@ -0,0 +1,68 @@
+\chapter{add\+Task}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}\index{addTask@{addTask}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md67}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md67}{autotoc\+\_\+md67}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md67}
+title\+: Arma\+Dragonfly\+Client -\/ Add Task icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md68}{}\doxysubsection{\texorpdfstring{excerpt\+: Add task to queue.}{excerpt\+: Add task to queue.}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md68}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md69}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+add\+Task}{dragonfly\+\_\+db\+\_\+fnc\+\_\+add\+Task}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md69}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md70}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md70}
+Adds a task to the database operation queue. This function is used to schedule database operations that can be processed sequentially, providing a way to manage multiple database requests in an organized manner.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md71}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md71}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_taskType,\ \_key,\ \_keyField,\ \_index,\ \_value,\ \_function,\ \_call,\ \_netId]\ call\ dragonfly\_db\_fnc\_addTask}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md72}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md72}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+task\+Type} &String &Type of operation to perform (e.\+g., "{}hgetall"{}) &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+key} &String &Name of the stored key &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+key\+Field} &String &Field name for hash operations &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+index} &Number &Index for list operations &-\/1 \\\cline{1-4}
+{\ttfamily \+\_\+value} &Array, String, Number, or Boolean &Value to store (for set operations) &\mbox{[}\mbox{]} \\\cline{1-4}
+{\ttfamily \+\_\+function} &String &Name of function to call with the result &"{}"{} \\\cline{1-4}
+{\ttfamily \+\_\+call} &Boolean &Whether to call the function directly (true) or spawn (false) &false \\\cline{1-4}
+{\ttfamily \+\_\+net\+Id} &String &Net\+ID of the target to receive the result &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md73}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md73}
+None. The task is added to the queue and processed asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md74}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md74}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md75}{}\doxysubsubsection{\texorpdfstring{Add a hash table retrieval task\+:}{Add a hash table retrieval task\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md75}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}hgetall"{},\ "{}"{},\ "{}"{},\ -\/1,\ [],\ "{}dragonfly\_db\_fnc\_test"{}]\ call\ dragonfly\_db\_fnc\_addTask;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md76}{}\doxysubsubsection{\texorpdfstring{Add a player-\/specific task that returns data to a specific client\+:}{Add a player-\/specific task that returns data to a specific client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md76}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}hgetallid"{},\ getPlayerUID\ player,\ "{}"{},\ -\/1,\ [],\ "{}dragonfly\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_addTask"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md77}{}\doxysubsubsection{\texorpdfstring{Add a list operation task\+:}{Add a list operation task\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md77}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}listadd"{},\ "{}playerMessages"{},\ "{}"{},\ -\/1,\ ["{}New\ message\ content"{}],\ "{}"{}]\ call\ dragonfly\_db\_fnc\_addTask;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md78}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md78}
+
+\begin{DoxyItemize}
+\item Tasks are processed in the order they are added to the queue
+\item If the queue is not currently being processed, this function will start the processing
+\item The task type determines which database operation will be performed
+\item This function is particularly useful for scheduling multiple related operations
+\item All operations performed through the task queue are logged for debugging
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md79}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md79}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+process\+Queue}\+: Processes the pending tasks in the queue
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+handler}\+: Handles the results of completed database operations
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages callback responses from the database
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md80}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2core_2add_task_autotoc_md80}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.tex b/api/latex/de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.tex
new file mode 100644
index 0000000..c5397fe
--- /dev/null
+++ b/api/latex/de/da6/md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk.tex
@@ -0,0 +1,68 @@
+\chapter{hash\+Set\+Id\+Bulk}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}\index{hashSetIdBulk@{hashSetIdBulk}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md261}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md261}{autotoc\+\_\+md261}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md261}
+title\+: Arma\+Dragonfly\+Client -\/ Hash Set ID Bulk icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md262}{}\doxysubsection{\texorpdfstring{excerpt\+: Set the specified fields to their respective values in the hash stored at key from Dragonfly\+Client.}{excerpt\+: Set the specified fields to their respective values in the hash stored at key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md262}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md263}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id\+Bulk}{dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id\+Bulk}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md263}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md264}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md264}
+Sets multiple field-\/value pairs in a specific hash table identified by its key in a single operation. This function allows efficiently storing multiple related fields at once for a specific identifier, reducing the number of separate database calls required. It\textquotesingle{}s ideal for saving a collection of player-\/specific or entity-\/specific data.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md265}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md265}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_data]\ call\ dragonfly\_db\_fnc\_hashSetIdBulk}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md266}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md266}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{4}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Default }\\\cline{1-4}
+\endhead
+{\ttfamily \+\_\+data} &Array &Array with key followed by alternating field names and values &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md267}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md267}
+None. The operation runs synchronously to store all the data.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md268}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md268}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md269}{}\doxysubsubsection{\texorpdfstring{Store player loadout and position\+:}{Store player loadout and position\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md269}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[[getPlayerUID\ player,\ "{}loadout"{},\ [getUnitLoadout\ player],\ "{}position"{},\ [getPosASLVisual\ player]]]\ call\ dragonfly\_db\_fnc\_hashSetIdBulk;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md270}{}\doxysubsubsection{\texorpdfstring{Store multiple vehicle properties\+:}{Store multiple vehicle properties\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md270}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}vehicle\_123"{},\ "{}fuel"{},\ [0.75],\ "{}damage"{},\ [0.2],\ "{}crew"{},\ [["{}player1"{},\ "{}player2"{}]]]]\ call\ dragonfly\_db\_fnc\_hashSetIdBulk;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md271}{}\doxysubsubsection{\texorpdfstring{Store player data from a client\+:}{Store player data from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md271}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[[getPlayerUID\ player,\ "{}stats"{},\ [score\ player],\ "{}inventory"{},\ [getAllGear\ player]]]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_hashSetIdBulk"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md272}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md272}
+
+\begin{DoxyItemize}
+\item The data array must be structured with the key first, followed by alternating field names and values\+: {\ttfamily \mbox{[}key, field1, value1, field2, value2, ...\mbox{]}}
+\item The key must be a string that identifies the specific hash table
+\item Each field name must be a string
+\item Values can be arrays, strings, numbers, or booleans
+\item All field-\/value pairs are stored in a single database operation
+\item If the hash table doesn\textquotesingle{}t exist, it will be created automatically
+\item If any of the fields already exist in the hash table, their values will be overwritten
+\item More efficient than multiple individual {\ttfamily hash\+Set\+Id} calls when setting several fields
+\item Player UIDs are commonly used as keys to store player-\/specific data
+\item The operation is executed immediately and synchronously
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md273}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md273}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a single field value in a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}\+: Sets multiple field-\/value pairs in the global hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a specific field value from a specific hash table
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md274}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk_autotoc_md274}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.tex b/api/latex/df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.tex
new file mode 100644
index 0000000..0465236
--- /dev/null
+++ b/api/latex/df/d12/md__g_1_2ids_2dragonfly_2docs_2basic_2delete.tex
@@ -0,0 +1,53 @@
+\chapter{delete}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}{}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}\index{delete@{delete}}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md0}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md0}{autotoc\+\_\+md0}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md0}
+title\+: Arma\+Dragonfly\+Client -\/ Delete Key icon\+: mdi\+:file-\/text-\/outline \hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md1}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove the specified key from Dragonfly\+Client.}{excerpt\+: Remove the specified key from Dragonfly\+Client.}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md1}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md2}{}\doxysection{\texorpdfstring{dragonfly\+\_\+db\+\_\+fnc\+\_\+delete}{dragonfly\+\_\+db\+\_\+fnc\+\_\+delete}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md2}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md3}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md3}
+Removes the specified key from the database. This function deletes the key-\/value pair completely from storage.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md4}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md4}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key]\ call\ dragonfly\_db\_fnc\_delete}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md5}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md5}
+\tabulinesep=1mm
+\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-3}
+\endfirsthead
+\hline
+\endfoot
+\hline
+\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Parameter }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Type }&\PBS\centering \cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-3}
+\endhead
+{\ttfamily \+\_\+key} &String &Name of the key to delete from the database \\\cline{1-3}
+\end{longtabu}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md6}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md6}
+None. The operation runs asynchronously.\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md7}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md7}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md8}{}\doxysubsubsection{\texorpdfstring{Delete a key in singleplayer or on the server\+:}{Delete a key in singleplayer or on the server\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md8}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerData"{}]\ call\ dragonfly\_db\_fnc\_delete;}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md9}{}\doxysubsubsection{\texorpdfstring{Delete a key on the server from a client\+:}{Delete a key on the server from a client\+:}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md9}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerData"{}]\ remoteExecCall\ ["{}dragonfly\_db\_fnc\_delete"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md10}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md10}
+
+\begin{DoxyItemize}
+\item This operation is permanent and cannot be undone
+\item If the key doesn\textquotesingle{}t exist, the operation will have no effect
+\item This function only affects specific keys, not hash tables or lists
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md11}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md11}
+
+\begin{DoxyItemize}
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+get}\+: Retrieves a value by key
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+set}\+: Stores a value by key
+\item {\ttfamily dragonfly\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback response
+\end{DoxyItemize}\hypertarget{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md12}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md__g_1_2ids_2dragonfly_2docs_2basic_2delete_autotoc_md12}
+\doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}{Delete Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2get}{Get Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2set}{Set Key}{0}
\ No newline at end of file
diff --git a/api/latex/dir_10eb6422e80bd721a9a7af022f58c68b.tex b/api/latex/dir_10eb6422e80bd721a9a7af022f58c68b.tex
new file mode 100644
index 0000000..145a198
--- /dev/null
+++ b/api/latex/dir_10eb6422e80bd721a9a7af022f58c68b.tex
@@ -0,0 +1,32 @@
+\doxysection{G\+:/ids/dragonfly/docs/core Directory Reference}
+\hypertarget{dir_10eb6422e80bd721a9a7af022f58c68b}{}\label{dir_10eb6422e80bd721a9a7af022f58c68b}\index{G:/ids/dragonfly/docs/core Directory Reference@{G:/ids/dragonfly/docs/core Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the core functions of Arma\+Dragonfly\+Client that handle initialization, process management, and scheduling.\hypertarget{README.md_autotoc_md133}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md133}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{add\+Task}{0} -\/ Add a task to the scheduler
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{handler}{0} -\/ Handle callbacks from the extension
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{init}{0} -\/ Initialize the database system
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{print\+Addon\+Name}{0} -\/ Print the addon name
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{process\+Queue}{0} -\/ Process queued database operations
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{scheduler}{0} -\/ Schedule database operations
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{test}{0} -\/ Test the database connection
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md134}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md134}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Initialize\ the\ database}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_init;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Test\ the\ database\ connection}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_test;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md135}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md135}
+
+\begin{DoxyItemize}
+\item Basic Data Operations
+\item Hash Operations
+\item List Operations
+\end{DoxyItemize}
\ No newline at end of file
diff --git a/api/latex/dir_1d1eabba2c636e67297dc8cee9bc9944.tex b/api/latex/dir_1d1eabba2c636e67297dc8cee9bc9944.tex
new file mode 100644
index 0000000..969d6bc
--- /dev/null
+++ b/api/latex/dir_1d1eabba2c636e67297dc8cee9bc9944.tex
@@ -0,0 +1,44 @@
+\doxysection{G\+:/ids/dragonfly/docs/hash Directory Reference}
+\hypertarget{dir_1d1eabba2c636e67297dc8cee9bc9944}{}\label{dir_1d1eabba2c636e67297dc8cee9bc9944}\index{G:/ids/dragonfly/docs/hash Directory Reference@{G:/ids/dragonfly/docs/hash Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the hash operations of Arma\+Dragonfly\+Client that allow for working with hash tables (key-\/value pairs within a namespace).\hypertarget{README.md_autotoc_md276}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md276}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{hash\+Get}{0} -\/ Get a field from a hash
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{hash\+Get\+All}{0} -\/ Get all fields from a hash
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{hash\+Get\+All\+Id}{0} -\/ Get all fields from a hash for a specific ID
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{hash\+Get\+Id}{0} -\/ Get a field from a hash for a specific ID
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{hash\+Set}{0} -\/ Set a field in a hash
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{hash\+Set\+Bulk}{0} -\/ Set multiple fields in a hash in one operation
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{hash\+Set\+Id}{0} -\/ Set a field in a hash for a specific ID
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{hash\+Set\+Id\+Bulk}{0} -\/ Set multiple fields in a hash for a specific ID in one operation
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md277}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md277}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Context\ mode\ examples}
+\DoxyCodeLine{["{}myField"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_hashSet;}
+\DoxyCodeLine{["{}myField"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGet;}
+\DoxyCodeLine{["{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGetAll;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ multiple\ hash\ fields\ in\ one\ operation}
+\DoxyCodeLine{[[}
+\DoxyCodeLine{\ \ \ \ "{}loadout"{},\ [getUnitLoadout\ player],}
+\DoxyCodeLine{\ \ \ \ "{}position"{},\ [getPosASL\ player],}
+\DoxyCodeLine{\ \ \ \ "{}direction"{},\ [getDir\ player]}
+\DoxyCodeLine{]]\ call\ dragonfly\_db\_fnc\_hashSetBulk;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ ID-\/specific\ examples}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_hashSetId;}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGetId;}
+\DoxyCodeLine{["{}myHash"{}]\ call\ dragonfly\_db\_fnc\_hashGetAllId;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md278}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md278}
+
+\begin{DoxyItemize}
+\item Core Functions
+\item Basic Data Operations
+\item List Operations
+\end{DoxyItemize}
\ No newline at end of file
diff --git a/api/latex/dir_6b1f4820e2481aa5a1ea9b2275f196d9.tex b/api/latex/dir_6b1f4820e2481aa5a1ea9b2275f196d9.tex
new file mode 100644
index 0000000..195e8da
--- /dev/null
+++ b/api/latex/dir_6b1f4820e2481aa5a1ea9b2275f196d9.tex
@@ -0,0 +1,158 @@
+\doxysection{G\+:/ids/dragonfly/docs Directory Reference}
+\hypertarget{dir_6b1f4820e2481aa5a1ea9b2275f196d9}{}\label{dir_6b1f4820e2481aa5a1ea9b2275f196d9}\index{G:/ids/dragonfly/docs Directory Reference@{G:/ids/dragonfly/docs Directory Reference}}
+\doxysubsubsection*{Directories}
+\begin{DoxyCompactItemize}
+\item
+directory \mbox{\hyperlink{dir_71f12be5768ca2af9c9f300d019944af}{basic}}
+\item
+directory \mbox{\hyperlink{dir_10eb6422e80bd721a9a7af022f58c68b}{core}}
+\item
+directory \mbox{\hyperlink{dir_1d1eabba2c636e67297dc8cee9bc9944}{hash}}
+\item
+directory \mbox{\hyperlink{dir_72c6efb7383bf0530aa073c1e7428252}{list}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+This documentation provides details on all functions available in {\ttfamily Arma\+Dragonfly\+Client}. These functions allow you to interact with the in-\/memory database system for Arma 3.\hypertarget{README.md_autotoc_md345}{}\doxysubsection{\texorpdfstring{Function Categories}{Function Categories}}\label{README.md_autotoc_md345}
+The functions are categorized by their purpose\+:\hypertarget{README.md_autotoc_md346}{}\doxysubsubsection{\texorpdfstring{Core Functions}{Core Functions}}\label{README.md_autotoc_md346}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2init}{init}{0} -\/ Initialize the database system
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2handler}{handler}{0} -\/ Handle callbacks from the extension
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2process_queue}{process\+Queue}{0} -\/ Process queued database operations
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2scheduler}{scheduler}{0} -\/ Schedule database operations
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2add_task}{add\+Task}{0} -\/ Add a task to the scheduler
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2print_addon_name}{print\+Addon\+Name}{0} -\/ Print the addon name
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2core_2test}{test}{0} -\/ Test the database connection
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md347}{}\doxysubsubsection{\texorpdfstring{Basic Data Operations}{Basic Data Operations}}\label{README.md_autotoc_md347}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2get}{get}{0} -\/ Get a value from the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2set}{set}{0} -\/ Set a value in the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}{delete}{0} -\/ Delete a value from the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2save}{save}{0} -\/ Save the database to disk
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch}{fetch}{0} -\/ Fetch a value from the database
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md348}{}\doxysubsubsection{\texorpdfstring{Hash Operations}{Hash Operations}}\label{README.md_autotoc_md348}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get}{hash\+Get}{0} -\/ Get a field from a hash
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all}{hash\+Get\+All}{0} -\/ Get all fields from a hash
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_all_id}{hash\+Get\+All\+Id}{0} -\/ Get all fields from a hash for a specific ID
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_get_id}{hash\+Get\+Id}{0} -\/ Get a field from a hash for a specific ID
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set}{hash\+Set}{0} -\/ Set a field in a hash
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_bulk}{hash\+Set\+Bulk}{0} -\/ Set multiple fields in a hash in one operation
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id}{hash\+Set\+Id}{0} -\/ Set a field in a hash for a specific ID
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2hash_2hash_set_id_bulk}{hash\+Set\+Id\+Bulk}{0} -\/ Set multiple fields in a hash for a specific ID in one operation
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md349}{}\doxysubsubsection{\texorpdfstring{List Operations}{List Operations}}\label{README.md_autotoc_md349}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{list\+Add}{0} -\/ Add an item to a list
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{list\+Get}{0} -\/ Get items from a list
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{list\+Load}{0} -\/ Load a list from the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{list\+Remove}{0} -\/ Remove an item from a list
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{list\+Set}{0} -\/ Set an item in a list
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md350}{}\doxysubsection{\texorpdfstring{Usage Examples}{Usage Examples}}\label{README.md_autotoc_md350}
+\hypertarget{README.md_autotoc_md351}{}\doxysubsubsection{\texorpdfstring{Basic Usage}{Basic Usage}}\label{README.md_autotoc_md351}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Initialize\ the\ database}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_init;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_set;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_get;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ key}
+\DoxyCodeLine{["{}myKey"{}]\ call\ dragonfly\_db\_fnc\_delete;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md352}{}\doxysubsubsection{\texorpdfstring{Hash Operations}{Hash Operations}}\label{README.md_autotoc_md352}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Set\ a\ hash\ field\ (context\ mode)}
+\DoxyCodeLine{["{}myField"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_hashSet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ hash\ field\ (context\ mode)}
+\DoxyCodeLine{["{}myField"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ all\ hash\ fields\ (context\ mode)}
+\DoxyCodeLine{["{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGetAll;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ multiple\ hash\ fields\ (context\ mode)}
+\DoxyCodeLine{[[}
+\DoxyCodeLine{\ \ \ \ "{}loadout"{},\ [getUnitLoadout\ player],}
+\DoxyCodeLine{\ \ \ \ "{}position"{},\ [getPosASL\ player],}
+\DoxyCodeLine{\ \ \ \ "{}direction"{},\ [getDir\ player],}
+\DoxyCodeLine{\ \ \ \ "{}stance"{},\ [stance\ player]}
+\DoxyCodeLine{]]\ call\ dragonfly\_db\_fnc\_hashSetBulk;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ a\ hash\ field\ (context\ mode)}
+\DoxyCodeLine{["{}myField"{}]\ call\ dragonfly\_db\_fnc\_hashRemove;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ hash\ table\ (context\ mode)}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_hashDelete;}
+
+\end{DoxyCode}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Set\ a\ hash\ field\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_hashSetId;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ hash\ field\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_hashGetId;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ all\ hash\ fields\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{}]\ call\ dragonfly\_db\_fnc\_hashGetAllId;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ multiple\ hash\ fields\ for\ specific\ ID}
+\DoxyCodeLine{[[}
+\DoxyCodeLine{\ \ \ \ getPlayerUID\ player,}
+\DoxyCodeLine{\ \ \ \ "{}loadout"{},\ [getUnitLoadout\ player],}
+\DoxyCodeLine{\ \ \ \ "{}position"{},\ [getPosASL\ player],}
+\DoxyCodeLine{\ \ \ \ "{}direction"{},\ [getDir\ player],}
+\DoxyCodeLine{\ \ \ \ "{}stance"{},\ [stance\ player]}
+\DoxyCodeLine{]]\ call\ dragonfly\_db\_fnc\_hashSetIdBulk;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ a\ hash\ field\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{}]\ call\ dragonfly\_db\_fnc\_hashRemoveId;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ hash\ table\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{}]\ call\ dragonfly\_db\_fnc\_hashDeleteId;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md353}{}\doxysubsubsection{\texorpdfstring{List Operations}{List Operations}}\label{README.md_autotoc_md353}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Add\ an\ item\ to\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ ["{}myItem"{}]]\ call\ dragonfly\_db\_fnc\_listAdd;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ an\ item\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ 0,\ [myNewValue]]\ call\ dragonfly\_db\_fnc\_listSet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ an\ item\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ 0,\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_listGet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ items\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_listLoad;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ an\ item\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ 0]\ call\ dragonfly\_db\_fnc\_listRemove;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ list}
+\DoxyCodeLine{["{}myList"{}]\ call\ dragonfly\_db\_fnc\_listDelete;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md354}{}\doxysubsection{\texorpdfstring{Function Documentation Structure}{Function Documentation Structure}}\label{README.md_autotoc_md354}
+Each function documentation includes\+:
+\begin{DoxyItemize}
+\item Function name and purpose
+\item Parameters
+\item Return value
+\item Examples
+\item Notes and warnings
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md355}{}\doxysubsection{\texorpdfstring{License}{License}}\label{README.md_autotoc_md355}
+This work is licensed under the Creative Commons Attribution-\/\+Non\+Commercial-\/\+Share\+Alike 4.\+0 International License. To view a copy of this license, visit \href{https://creativecommons.org/licenses/by-nc-sa/4.0/}{\texttt{ https\+://creativecommons.\+org/licenses/by-\/nc-\/sa/4.\+0/}} or send a letter to Creative Commons, ~\newline
+PO Box 1866, Mountain View, CA 94042
\ No newline at end of file
diff --git a/api/latex/dir_71f12be5768ca2af9c9f300d019944af.tex b/api/latex/dir_71f12be5768ca2af9c9f300d019944af.tex
new file mode 100644
index 0000000..72c13a1
--- /dev/null
+++ b/api/latex/dir_71f12be5768ca2af9c9f300d019944af.tex
@@ -0,0 +1,36 @@
+\doxysection{G\+:/ids/dragonfly/docs/basic Directory Reference}
+\hypertarget{dir_71f12be5768ca2af9c9f300d019944af}{}\label{dir_71f12be5768ca2af9c9f300d019944af}\index{G:/ids/dragonfly/docs/basic Directory Reference@{G:/ids/dragonfly/docs/basic Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the basic data operations of Arma\+Dragonfly\+Client that allow for simple key-\/value storage and retrieval.\hypertarget{README.md_autotoc_md37}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md37}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2delete}{delete}{0} -\/ Delete a value from the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2fetch}{fetch}{0} -\/ Fetch a value from the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2get}{get}{0} -\/ Get a value from the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2save}{save}{0} -\/ Save the database to disk
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2basic_2set}{set}{0} -\/ Set a value in the database
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md38}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md38}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Set\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ [myValue]]\ call\ dragonfly\_db\_fnc\_set;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_get;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ key}
+\DoxyCodeLine{["{}myKey"{}]\ call\ dragonfly\_db\_fnc\_delete;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Save\ database\ to\ disk}
+\DoxyCodeLine{[]\ call\ dragonfly\_db\_fnc\_save;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md39}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md39}
+
+\begin{DoxyItemize}
+\item Core Functions
+\item Hash Operations
+\item List Operations
+\end{DoxyItemize}
\ No newline at end of file
diff --git a/api/latex/dir_72c6efb7383bf0530aa073c1e7428252.tex b/api/latex/dir_72c6efb7383bf0530aa073c1e7428252.tex
new file mode 100644
index 0000000..8783af6
--- /dev/null
+++ b/api/latex/dir_72c6efb7383bf0530aa073c1e7428252.tex
@@ -0,0 +1,39 @@
+\doxysection{G\+:/ids/dragonfly/docs/list Directory Reference}
+\hypertarget{dir_72c6efb7383bf0530aa073c1e7428252}{}\label{dir_72c6efb7383bf0530aa073c1e7428252}\index{G:/ids/dragonfly/docs/list Directory Reference@{G:/ids/dragonfly/docs/list Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the list operations of Arma\+Dragonfly\+Client that allow for working with ordered collections of items.\hypertarget{README.md_autotoc_md341}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md341}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_add}{list\+Add}{0} -\/ Add an item to a list
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_get}{list\+Get}{0} -\/ Get items from a list
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_load}{list\+Load}{0} -\/ Load a list from the database
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_remove}{list\+Remove}{0} -\/ Remove an item from a list
+\item \doxysectlink{md__g_1_2ids_2dragonfly_2docs_2list_2list_set}{list\+Set}{0} -\/ Set an item in a list
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md342}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md342}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Add\ an\ item\ to\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ ["{}myItem"{}]]\ call\ dragonfly\_db\_fnc\_listAdd;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ an\ item\ at\ a\ specific\ index}
+\DoxyCodeLine{["{}myList"{},\ 0,\ [myNewValue]]\ call\ dragonfly\_db\_fnc\_listSet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ an\ item\ at\ a\ specific\ index}
+\DoxyCodeLine{["{}myList"{},\ 0,\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_listGet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Load\ all\ items\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ "{}myFunction"{}]\ call\ dragonfly\_db\_fnc\_listLoad;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ an\ item\ at\ a\ specific\ index}
+\DoxyCodeLine{["{}myList"{},\ 0]\ call\ dragonfly\_db\_fnc\_listRemove;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md343}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md343}
+
+\begin{DoxyItemize}
+\item Core Functions
+\item Basic Data Operations
+\item Hash Operations
+\end{DoxyItemize}
\ No newline at end of file
diff --git a/api/latex/doxygen.sty b/api/latex/doxygen.sty
new file mode 100644
index 0000000..66a07a5
--- /dev/null
+++ b/api/latex/doxygen.sty
@@ -0,0 +1,714 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+
+% Packages used by this style file
+\RequirePackage{alltt}
+%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
+\RequirePackage{calc}
+\RequirePackage{float}
+%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
+\RequirePackage{verbatim}
+\RequirePackage[table]{xcolor}
+\RequirePackage{longtable_doxygen}
+\RequirePackage{tabu_doxygen}
+\RequirePackage{fancyvrb}
+\RequirePackage{tabularx}
+\RequirePackage{multicol}
+\RequirePackage{multirow}
+\RequirePackage{hanging}
+\RequirePackage{ifpdf}
+\RequirePackage{adjustbox}
+\RequirePackage{amssymb}
+\RequirePackage{stackengine}
+\RequirePackage{enumitem}
+\RequirePackage{alphalph}
+\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
+
+%---------- Internal commands used in this style file ----------------
+
+\newcommand{\ensurespace}[1]{%
+ \begingroup%
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@%
+ \penalty -100\vskip\z@\@plus -\dimen@%
+ \vskip\dimen@%
+ \penalty 9999%
+ \vskip -\dimen@%
+ \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
+ \endgroup%
+}
+
+\newcommand{\DoxyHorRuler}[1]{%
+ \setlength{\parskip}{0ex plus 0ex minus 0ex}%
+ \ifthenelse{#1=0}%
+ {%
+ \hrule%
+ }%
+ {%
+ \hrulefilll%
+ }%
+}
+\newcommand{\DoxyLabelFont}{}
+\newcommand{\entrylabel}[1]{%
+ {%
+ \parbox[b]{\labelwidth-4pt}{%
+ \makebox[0pt][l]{\DoxyLabelFont#1}%
+ \vspace{1.5\baselineskip}%
+ }%
+ }%
+}
+
+\newenvironment{DoxyDesc}[1]{%
+ \ensurespace{4\baselineskip}%
+ \begin{list}{}{%
+ \settowidth{\labelwidth}{20pt}%
+ %\setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }%
+ \item[#1]%
+}{%
+ \end{list}%
+}
+
+\newsavebox{\xrefbox}
+\newlength{\xreflength}
+\newcommand{\xreflabel}[1]{%
+ \sbox{\xrefbox}{#1}%
+ \setlength{\xreflength}{\wd\xrefbox}%
+ \ifthenelse{\xreflength>\labelwidth}{%
+ \begin{minipage}{\textwidth}%
+ \setlength{\parindent}{0pt}%
+ \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
+ \end{minipage}%
+ }{%
+ \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
+ }%
+}
+
+%---------- Commands used by doxygen LaTeX output generator ----------
+
+% Used by