diff --git a/api.7z b/api.7z
new file mode 100644
index 0000000..9ca3ff5
Binary files /dev/null and b/api.7z differ
diff --git a/api/docbook/d0/d68/md_docs_2hash_2hash_set.xml b/api/docbook/d0/d68/md_docs_2hash_2hash_set.xml
new file mode 100644
index 0000000..7b6d707
--- /dev/null
+++ b/api/docbook/d0/d68/md_docs_2hash_2hash_set.xml
@@ -0,0 +1,132 @@
+
+
+hashSet
+hashSet
+
+autotoc_md287
+title: ArmaRAMDb - Hash Set icon: mdi:file-text-outline
+
+
+excerpt: Set a field value in the current client's hash table in RAMDb.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_hashSet;
+
+
+
+Store player preferences:
+["settings", [true, 30, "normal"]] call ramdb_db_fnc_hashSet;
+
+
+
+Store data from a client:
+["clientInfo", [name player, getPlayerUID player]] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashSetId: Sets a field value in a specific hash table (when you need to specify the ID)
+
+ramdb_db_fnc_hashGet: Retrieves a field value from the current client's hash table
+
+ramdb_db_fnc_hashGetAll: Retrieves all fields from the current client's hash table
+
+ramdb_db_fnc_hashSetBulk: Sets multiple fields in the current client's hash table
+
+ramdb_db_fnc_hashDelete: Removes the current client's hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d1/d1c/md_docs_2list_2list_delete.xml b/api/docbook/d1/d1c/md_docs_2list_2list_delete.xml
new file mode 100644
index 0000000..f3ad565
--- /dev/null
+++ b/api/docbook/d1/d1c/md_docs_2list_2list_delete.xml
@@ -0,0 +1,114 @@
+
+
+listDelete
+listDelete
+
+autotoc_md361
+title: ArmaRAMDb - List Delete icon: mdi:file-text-outline
+
+
+excerpt: Delete an entire list stored at a key from RAMDb.
+
+ramdb_db_fnc_listDelete
+Description
+Completely removes a list and all its elements stored at a specified key from the RAMDb database. This function provides a way to delete entire collections of data at once, rather than removing individual elements. It is useful for cleaning up obsolete data, resetting collections, or removing temporary lists that are no longer needed.
+
+
+Syntax
+[_key] call ramdb_db_fnc_listDelete
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+The key identifying the list to be deleted
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to delete the list immediately.
+
+
+Examples
+Delete an event log:["eventLog"] call ramdb_db_fnc_listDelete;
+
+
+Remove temporary mission data:["tempMissionData"] call ramdb_db_fnc_listDelete;
+
+
+Delete a list in multiplayer:["sharedTempData"] remoteExecCall ["ramdb_db_fnc_listDelete", 2, false];
+
+
+
+Notes
+
+
+This function deletes the entire list and all its elements associated with the specified key.
+
+Unlike listRemove, which removes a single element by index, this function removes the complete list structure.
+
+The _key parameter must be a non-empty string, otherwise the function will exit without performing any action.
+
+Once a list is deleted, it cannot be recovered unless you have previously saved or backed up the data.
+
+If you need to selectively remove elements while preserving the list structure, use ramdb_db_fnc_listRemove instead.
+
+The deletion operation is permanent and cannot be undone.
+
+All list operations are logged for debugging purposes.
+
+
+
+
+Related Functions
+
+
+ramdb_db_fnc_listAdd: Adds an element to a list
+
+ramdb_db_fnc_listGet: Retrieves a specific element from a list
+
+ramdb_db_fnc_listLoad: Retrieves a range of elements from a list
+
+ramdb_db_fnc_listSet: Replaces a specific element in a list
+
+ramdb_db_fnc_listRemove: Removes a specific element from a list
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Delete | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d1/d93/md_docs_2list_2list_load.xml b/api/docbook/d1/d93/md_docs_2list_2list_load.xml
new file mode 100644
index 0000000..d56b5f2
--- /dev/null
+++ b/api/docbook/d1/d93/md_docs_2list_2list_load.xml
@@ -0,0 +1,144 @@
+
+
+listLoad
+listLoad
+
+autotoc_md386
+title: ArmaRAMDb - List Load icon: mdi:file-text-outline
+
+
+excerpt: Get all elements of a list stored at a key from RAMDb.
+
+ramdb_db_fnc_listLoad
+Description
+Retrieves all elements of a list stored at a specified key from the RAMDb 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 ramdb_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 ramdb_db_fnc_listLoad;
+
+
+Retrieve a player list with synchronous callback:["playerList", "myProject_fnc_processPlayerList", true] call ramdb_db_fnc_listLoad;
+
+
+Send mission data to a specific client:["missionData", "myProject_fnc_processMissionData", false, netId player] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_listAdd: Adds an element to a list
+
+ramdb_db_fnc_listGet: Retrieves a specific element from a list
+
+ramdb_db_fnc_listSet: Replaces a specific element in a list
+
+ramdb_db_fnc_listRemove: Removes a specific element from a list
+
+ramdb_db_fnc_listDelete: Deletes an entire list
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Delete | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d1/d9f/md_docs_2basic_2get.xml b/api/docbook/d1/d9f/md_docs_2basic_2get.xml
new file mode 100644
index 0000000..9dd8bc0
--- /dev/null
+++ b/api/docbook/d1/d9f/md_docs_2basic_2get.xml
@@ -0,0 +1,124 @@
+
+
+get
+get
+
+autotoc_md23
+title: ArmaRAMDb - Get Key icon: mdi:file-text-outline
+
+
+excerpt: Get the value of stored key from RAMDb.
+
+ramdb_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 ramdb_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, "ramdb_db_fnc_test"] call ramdb_db_fnc_get;
+
+
+
+Retrieve data on the server and send to a specific client:
+[getPlayerUID player, "ramdb_db_fnc_test", false, netId player] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_set: Stores a value by key
+
+ramdb_db_fnc_delete: Removes a value by key
+
+ramdb_db_fnc_scheduler: Processes the callback response
+
+
+
+
+Links
+Delete Key | Get Key | Set Key
+
+
+
diff --git a/api/docbook/d2/d02/md_docs_2hash_2hash_set_id_bulk.xml b/api/docbook/d2/d02/md_docs_2hash_2hash_set_id_bulk.xml
new file mode 100644
index 0000000..2b4d21b
--- /dev/null
+++ b/api/docbook/d2/d02/md_docs_2hash_2hash_set_id_bulk.xml
@@ -0,0 +1,126 @@
+
+
+hashSetIdBulk
+hashSetIdBulk
+
+autotoc_md329
+title: ArmaRAMDb - 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 RAMDb.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_hashSetIdBulk;
+
+
+
+Store multiple vehicle properties:
+[["vehicle_123", "fuel", [0.75], "damage", [0.2], "crew", [["player1", "player2"]]]] call ramdb_db_fnc_hashSetIdBulk;
+
+
+
+Store player data from a client:
+[[getPlayerUID player, "stats", [score player], "inventory", [getAllGear player]]] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashSetId: Sets a single field value in a specific hash table
+
+ramdb_db_fnc_hashSetBulk: Sets multiple field-value pairs in the global hash table
+
+ramdb_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+ramdb_db_fnc_hashGetId: Retrieves a specific field value from a specific hash table
+
+ramdb_db_fnc_hashDeleteId: Removes a specific hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d3/d33/md_docs_2hash_2hash_get_all_id.xml b/api/docbook/d3/d33/md_docs_2hash_2hash_get_all_id.xml
new file mode 100644
index 0000000..08fd37b
--- /dev/null
+++ b/api/docbook/d3/d33/md_docs_2hash_2hash_get_all_id.xml
@@ -0,0 +1,152 @@
+
+
+hashGetAllId
+hashGetAllId
+
+autotoc_md232
+title: ArmaRAMDb - Hash Get All ID icon: mdi:file-text-outline
+
+
+excerpt: Get all fields and values from the hash stored at key from RAMDb.
+
+ramdb_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 ramdb_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, "ramdb_db_fnc_test"] call ramdb_db_fnc_hashGetAllId;
+
+
+
+Retrieve vehicle data with synchronous callback:
+["vehicle_123", "ramdb_db_fnc_processVehicleData", true] call ramdb_db_fnc_hashGetAllId;
+
+
+
+Retrieve data and send it to a specific client:
+[getPlayerUID player, "ramdb_db_fnc_test", false, netId player] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashGetAll: Retrieves all fields from the global hash table
+
+ramdb_db_fnc_hashGetId: Retrieves a specific field value from a specific hash table
+
+ramdb_db_fnc_hashGet: Retrieves a specific field value from the global hash table
+
+ramdb_db_fnc_hashSetId: Sets a field value in a specific hash table
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d3/df8/md_docs_2core_2add_task.xml b/api/docbook/d3/df8/md_docs_2core_2add_task.xml
new file mode 100644
index 0000000..0dba10e
--- /dev/null
+++ b/api/docbook/d3/df8/md_docs_2core_2add_task.xml
@@ -0,0 +1,180 @@
+
+
+addTask
+addTask
+
+autotoc_md81
+title: ArmaRAMDb - Add Task icon: mdi:file-text-outline
+
+
+excerpt: Add task to queue.
+
+ramdb_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 ramdb_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, [], "ramdb_db_fnc_test"] call ramdb_db_fnc_addTask;
+
+
+
+Add a player-specific task that returns data to a specific client:
+["hgetallid", getPlayerUID player, "", -1, [], "ramdb_db_fnc_test", false, netId player] remoteExecCall ["ramdb_db_fnc_addTask", 2, false];
+
+
+
+Add a list operation task:
+["listadd", "playerMessages", "", -1, ["New message content"], ""] call ramdb_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
+
+
+ramdb_db_fnc_processQueue: Processes the pending tasks in the queue
+
+ramdb_db_fnc_handler: Handles the results of completed database operations
+
+ramdb_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/d5/d27/md_docs_2hash_2hash_get_id.xml b/api/docbook/d5/d27/md_docs_2hash_2hash_get_id.xml
new file mode 100644
index 0000000..895f0cb
--- /dev/null
+++ b/api/docbook/d5/d27/md_docs_2hash_2hash_get_id.xml
@@ -0,0 +1,162 @@
+
+
+hashGetId
+hashGetId
+
+autotoc_md246
+title: ArmaRAMDb - Hash Get ID icon: mdi:file-text-outline
+
+
+excerpt: Get the value associated with field in hash stored at key from RAMDb.
+
+ramdb_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 ramdb_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", "ramdb_db_fnc_test"] call ramdb_db_fnc_hashGetId;
+
+
+
+Retrieve a specific vehicle property with synchronous callback:
+["vehicle_123", "fuel", "ramdb_db_fnc_processFuelData", true] call ramdb_db_fnc_hashGetId;
+
+
+
+Retrieve data and send it to a specific client:
+[getPlayerUID player, "stats", "ramdb_db_fnc_test", false, netId player] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashGet: Retrieves a field value from the global hash table
+
+ramdb_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+ramdb_db_fnc_hashGetAll: Retrieves all fields from the global hash table
+
+ramdb_db_fnc_hashSetId: Sets a field value in a specific hash table
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d5/ddd/md_docs_2list_2list_set.xml b/api/docbook/d5/ddd/md_docs_2list_2list_set.xml
new file mode 100644
index 0000000..3345238
--- /dev/null
+++ b/api/docbook/d5/ddd/md_docs_2list_2list_set.xml
@@ -0,0 +1,134 @@
+
+
+listSet
+listSet
+
+autotoc_md408
+title: ArmaRAMDb - List Set icon: mdi:file-text-outline
+
+
+excerpt: Set an element in a list stored at a key in RAMDb.
+
+ramdb_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 RAMDb 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 ramdb_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 ramdb_db_fnc_listSet;
+
+
+Modify player statistics:["playerStats", 3, [name player, score player, alive player]] call ramdb_db_fnc_listSet;
+
+
+Update configuration in multiplayer:["missionConfig", 1, ["difficulty", "veteran"]] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_listAdd: Adds an element to a list
+
+ramdb_db_fnc_listGet: Retrieves a specific element from a list
+
+ramdb_db_fnc_listLoad: Retrieves a range of elements from a list
+
+ramdb_db_fnc_listRemove: Removes a specific element from a list
+
+ramdb_db_fnc_listDelete: Deletes an entire list
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Delete | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d6/d64/md_docs_2list_2list_remove.xml b/api/docbook/d6/d64/md_docs_2list_2list_remove.xml
new file mode 100644
index 0000000..acf9fd7
--- /dev/null
+++ b/api/docbook/d6/d64/md_docs_2list_2list_remove.xml
@@ -0,0 +1,124 @@
+
+
+listRemove
+listRemove
+
+autotoc_md397
+title: ArmaRAMDb - List Remove icon: mdi:file-text-outline
+
+
+excerpt: Remove an element from a list stored at a key in RAMDb.
+
+ramdb_db_fnc_listRemove
+Description
+Removes a specific element from a list stored at a specified key in the RAMDb 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 ramdb_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 ramdb_db_fnc_listRemove;
+
+
+Remove a specific player record:["playerRecords", 5] call ramdb_db_fnc_listRemove;
+
+
+Remove an element from a multiplayer environment:["sharedData", 2] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_listAdd: Adds an element to a list
+
+ramdb_db_fnc_listGet: Retrieves a specific element from a list
+
+ramdb_db_fnc_listLoad: Retrieves a range of elements from a list
+
+ramdb_db_fnc_listSet: Replaces a specific element in a list
+
+ramdb_db_fnc_listDelete: Deletes an entire list
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Delete | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d6/dff/md_docs_2basic_2delete.xml b/api/docbook/d6/dff/md_docs_2basic_2delete.xml
new file mode 100644
index 0000000..1066d04
--- /dev/null
+++ b/api/docbook/d6/dff/md_docs_2basic_2delete.xml
@@ -0,0 +1,96 @@
+
+
+delete
+delete
+
+autotoc_md0
+title: ArmaRAMDb - Delete Key icon: mdi:file-text-outline
+
+
+excerpt: Remove the specified key from RAMDb.
+
+ramdb_db_fnc_delete
+Description
+Removes the specified key from the database. This function deletes the key-value pair completely from storage.
+
+
+Syntax
+[_key] call ramdb_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 ramdb_db_fnc_delete;
+
+
+
+Delete a key on the server from a client:
+["playerData"] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_get: Retrieves a value by key
+
+ramdb_db_fnc_set: Stores a value by key
+
+ramdb_db_fnc_scheduler: Processes the callback response
+
+
+
+
+Links
+Delete Key | Get Key | Set Key
+
+
+
diff --git a/api/docbook/d7/d58/md_docs_2list_2list_get.xml b/api/docbook/d7/d58/md_docs_2list_2list_get.xml
new file mode 100644
index 0000000..6e29a22
--- /dev/null
+++ b/api/docbook/d7/d58/md_docs_2list_2list_get.xml
@@ -0,0 +1,164 @@
+
+
+listGet
+listGet
+
+autotoc_md372
+title: ArmaRAMDb - List Get icon: mdi:file-text-outline
+
+
+excerpt: Get element of list stored at key from RAMDb.
+
+ramdb_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 ramdb_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, "ramdb_db_fnc_test"] call ramdb_db_fnc_listGet;
+
+
+
+Retrieve data with synchronous callback:
+["messages", 5, "ramdb_db_fnc_processMessage", true] call ramdb_db_fnc_listGet;
+
+
+
+Retrieve data and send it to a specific client:
+["notifications", 0, "ramdb_db_fnc_displayNotification", false, netId player] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_listAdd: Adds an element to a list
+
+ramdb_db_fnc_listLoad: Retrieves a range of elements from a list
+
+ramdb_db_fnc_listSet: Replaces a specific element in a list
+
+ramdb_db_fnc_listRemove: Removes a specific element from a list
+
+ramdb_db_fnc_listDelete: Deletes an entire list
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Delete | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/d7/d81/md_docs_2core_2print_addon_name.xml b/api/docbook/d7/d81/md_docs_2core_2print_addon_name.xml
new file mode 100644
index 0000000..00f5889
--- /dev/null
+++ b/api/docbook/d7/d81/md_docs_2core_2print_addon_name.xml
@@ -0,0 +1,70 @@
+
+
+printAddonName
+printAddonName
+
+autotoc_md120
+title: ArmaRAMDb - Print Addon Name icon: mdi:file-text-outline
+
+
+excerpt: Displays the addon name in system chat.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_printAddonName;
+
+
+
+Use in a welcome script:
+if (isServer) then {
+ [] remoteExec ["ramdb_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
+
+
+ramdb_db_fnc_init: Initializes the database system
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/d7/d91/md_docs_2hash_2hash_delete.xml b/api/docbook/d7/d91/md_docs_2hash_2hash_delete.xml
new file mode 100644
index 0000000..e334247
--- /dev/null
+++ b/api/docbook/d7/d91/md_docs_2hash_2hash_delete.xml
@@ -0,0 +1,78 @@
+
+
+hashDelete
+hashDelete
+
+autotoc_md177
+title: ArmaRAMDb - Hash Delete icon: mdi:file-text-outline
+
+
+excerpt: Remove the current client's hash table from database.
+
+ramdb_db_fnc_hashDelete
+Description
+Removes the hash table associated with the current client/player from the database. Unlike hashDeleteId, this function automatically retrieves the appropriate hash ID based on the caller's identity, making it more convenient for removing the current client's hash data. This is useful for cleanup operations when a player disconnects or when resetting a client's stored data.
+
+
+Syntax
+[] call ramdb_db_fnc_hashDelete
+
+
+
+Parameters
+None. This function automatically determines the hash ID based on the calling client.
+
+
+Return Value
+None. The operation runs synchronously to delete the hash table for the current client.
+
+
+Examples
+Delete the current client's hash table:
+[] call ramdb_db_fnc_hashDelete;
+
+
+
+Delete a client's hash table from the server:
+[] remoteExecCall ["ramdb_db_fnc_hashDelete", 2, false];
+
+
+
+
+Notes
+
+
+This function only removes the hash table for the current client/player, not all hash tables
+
+It's similar to hashDeleteId but automatically determines the appropriate ID
+
+Cannot be undone unless you have a backup
+
+Should be used during player disconnection or when resetting a player's data
+
+Useful for cleanup operations to prevent data buildup from disconnected players
+
+More convenient than hashDeleteId when you want to remove the calling client's data
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+ramdb_db_fnc_hashDeleteId: Removes a specific hash ID (when you need to specify the ID)
+
+ramdb_db_fnc_hashSet: Sets a value in the hash table
+
+ramdb_db_fnc_hashGet: Retrieves a value from the hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d8/d05/md_docs_2basic_2fetch.xml b/api/docbook/d8/d05/md_docs_2basic_2fetch.xml
new file mode 100644
index 0000000..414528b
--- /dev/null
+++ b/api/docbook/d8/d05/md_docs_2basic_2fetch.xml
@@ -0,0 +1,140 @@
+
+
+fetch
+fetch
+
+autotoc_md13
+title: ArmaRAMDb - 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.
+
+ramdb_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 ramdb_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 ramdb_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
+
+
+ramdb_db_fnc_handler: Receives the assembled data and routes it to the appropriate function
+
+ramdb_db_fnc_scheduler: Manages the callback queue and triggers data fetching
+
+
+
+
+
diff --git a/api/docbook/d8/d12/md_docs_2basic_2save.xml b/api/docbook/d8/d12/md_docs_2basic_2save.xml
new file mode 100644
index 0000000..ee1c445
--- /dev/null
+++ b/api/docbook/d8/d12/md_docs_2basic_2save.xml
@@ -0,0 +1,106 @@
+
+
+save
+save
+
+autotoc_md53
+title: ArmaRAMDb - Save DB icon: mdi:file-text-outline
+
+
+excerpt: Save DB to disc.
+
+ramdb_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
+[_createBackup] call ramdb_db_fnc_save
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_createBackup
+
+Boolean
+
+Whether to create a backup of the current state
+
+false
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously and saves the database immediately.
+
+
+Examples
+Save the database without creating a backup:
+[] call ramdb_db_fnc_save;
+
+
+
+Save the database and create a backup:
+[true] call ramdb_db_fnc_save;
+
+
+
+Call the save function remotely from a client:
+[] remoteExecCall ["ramdb_db_fnc_save", 2, false];
+
+
+
+
+Notes
+
+
+This function should be called periodically to ensure data persistence
+
+The backup feature creates a timestamped copy of the database
+
+Automatic backups can be configured in the extension's config file
+
+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
+
+
+ramdb_db_fnc_load: Loads the database from disk
+
+
+
+
+Links
+Save DB | Load DB
+
+
+
diff --git a/api/docbook/d8/d96/md_docs_2hash_2hash_get_all.xml b/api/docbook/d8/d96/md_docs_2hash_2hash_get_all.xml
new file mode 100644
index 0000000..ecf6c3c
--- /dev/null
+++ b/api/docbook/d8/d96/md_docs_2hash_2hash_get_all.xml
@@ -0,0 +1,142 @@
+
+
+hashGetAll
+hashGetAll
+
+autotoc_md218
+title: ArmaRAMDb - Hash Get All icon: mdi:file-text-outline
+
+
+excerpt: Get all fields from the current client's hash table in RAMDb.
+
+ramdb_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 ramdb_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:
+["ramdb_db_fnc_test"] call ramdb_db_fnc_hashGetAll;
+
+
+
+Retrieve data with synchronous callback:
+["ramdb_db_fnc_processAllData", true] call ramdb_db_fnc_hashGetAll;
+
+
+
+Retrieve data and send it to a specific client:
+["ramdb_db_fnc_test", false, netId player] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashGet: Retrieves a specific field value from the current client's hash table
+
+ramdb_db_fnc_hashGetId: Retrieves a specific field value from a specific hash table (when you need to specify the ID)
+
+ramdb_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table (when you need to specify the ID)
+
+ramdb_db_fnc_hashSet: Sets a field value in the current client's hash table
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d8/df5/md_docs_2core_2scheduler.xml b/api/docbook/d8/df5/md_docs_2core_2scheduler.xml
new file mode 100644
index 0000000..c51656f
--- /dev/null
+++ b/api/docbook/d8/df5/md_docs_2core_2scheduler.xml
@@ -0,0 +1,109 @@
+
+
+scheduler
+scheduler
+
+autotoc_md150
+title: ArmaRAMDb - Scheduler icon: mdi:file-text-outline
+
+
+excerpt: Scheduled Environment for extension.
+
+ramdb_db_fnc_scheduler
+Description
+Manages the callback system for the ArmaRAMDb 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 ramdb_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 ramdb_db_fnc_scheduler;
+
+
+
+Forward a callback to the server:
+["1689524160123_hgetall"] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_fetch: Assembles data chunks for large datasets
+
+ramdb_db_fnc_handler: Processes the data retrieved from database operations
+
+ramdb_db_fnc_processQueue: Executes queued database operations
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/d9/d12/md_docs_2hash_2hash_remove.xml b/api/docbook/d9/d12/md_docs_2hash_2hash_remove.xml
new file mode 100644
index 0000000..828a31b
--- /dev/null
+++ b/api/docbook/d9/d12/md_docs_2hash_2hash_remove.xml
@@ -0,0 +1,115 @@
+
+
+hashRemove
+hashRemove
+
+autotoc_md260
+title: ArmaRAMDb - Hash Remove icon: mdi:file-text-outline
+
+
+excerpt: Remove a field from the current client's hash table.
+
+ramdb_db_fnc_hashRemove
+Description
+Removes a specific field 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 hashRemoveId which requires manually specifying an ID. It deletes a single field and its associated value without affecting other fields in the client's hash table.
+
+
+Syntax
+[_keyField] call ramdb_db_fnc_hashRemove
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_keyField
+
+String
+
+Name of the field to be removed
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to remove the field.
+
+
+Examples
+Remove a specific field:
+["loadout"] call ramdb_db_fnc_hashRemove;
+
+
+
+Remove a field remotely:
+["playerSettings"] remoteExecCall ["ramdb_db_fnc_hashRemove", 2, false];
+
+
+
+
+Notes
+
+
+Only removes a single field from the current client's hash table
+
+Validates that the key field parameter is not empty before proceeding
+
+Does not affect other fields in the hash table
+
+If the field doesn't exist, the operation has no effect
+
+This function automatically determines which hash table to use based on the caller's identity
+
+Use hashRemoveId when you need to specify a particular hash table by ID
+
+The operation is executed immediately and synchronously
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+ramdb_db_fnc_hashRemoveId: Removes a specific field from a specific hash table (when you need to specify the ID)
+
+ramdb_db_fnc_hashDelete: Removes the current client's hash table
+
+ramdb_db_fnc_hashDeleteId: Removes a specific hash table
+
+ramdb_db_fnc_hashSet: Sets a field value in the current client's hash table
+
+ramdb_db_fnc_hashGet: Retrieves a field value from the current client's hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d9/dae/md_docs_2hash_2hash_remove_id.xml b/api/docbook/d9/dae/md_docs_2hash_2hash_remove_id.xml
new file mode 100644
index 0000000..38eac61
--- /dev/null
+++ b/api/docbook/d9/dae/md_docs_2hash_2hash_remove_id.xml
@@ -0,0 +1,128 @@
+
+
+hashRemoveId
+hashRemoveId
+
+autotoc_md273
+title: ArmaRAMDb - Hash Remove ID icon: mdi:file-text-outline
+
+
+excerpt: Remove a field from a specific hash table.
+
+ramdb_db_fnc_hashRemoveId
+Description
+Removes a specific field from a specific hash table identified by its key. This function deletes a single field and its associated value from a targeted hash table without affecting other fields. It's ideal for managing player-specific or entity-specific data when only certain attributes need to be removed.
+
+
+Syntax
+[_key, _keyField] call ramdb_db_fnc_hashRemoveId
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Identifier of the hash table
+
+""
+
+
+
+_keyField
+
+String
+
+Name of the field in the hash to be removed
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to remove the field.
+
+
+Examples
+Remove a player's loadout field:
+[getPlayerUID player, "loadout"] call ramdb_db_fnc_hashRemoveId;
+
+
+
+Remove a vehicle property:
+["vehicle_123", "cargo"] call ramdb_db_fnc_hashRemoveId;
+
+
+
+Remove a field remotely:
+[getPlayerUID player, "stats"] remoteExecCall ["ramdb_db_fnc_hashRemoveId", 2, false];
+
+
+
+
+Notes
+
+
+Removes a single field from a specific hash table identified by _key
+
+Both the key and key field parameters are required and validated
+
+Does not affect other fields in the hash table
+
+If the hash table or field doesn't exist, the operation has no effect
+
+Player UIDs are commonly used as keys to identify player-specific hash tables
+
+The operation is executed immediately and synchronously
+
+All operations are logged for debugging purposes
+
+
+
+
+Related Functions
+
+
+ramdb_db_fnc_hashRemove: Removes a specific field from the global hash table
+
+ramdb_db_fnc_hashDeleteId: Removes an entire specific hash table
+
+ramdb_db_fnc_hashDelete: Removes all hash tables
+
+ramdb_db_fnc_hashSetId: Sets a field value in a specific hash table
+
+ramdb_db_fnc_hashGetId: Retrieves a field value from a specific hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/d9/dc1/md_docs_2hash_2hash_set_bulk.xml b/api/docbook/d9/dc1/md_docs_2hash_2hash_set_bulk.xml
new file mode 100644
index 0000000..9c3b283
--- /dev/null
+++ b/api/docbook/d9/dc1/md_docs_2hash_2hash_set_bulk.xml
@@ -0,0 +1,124 @@
+
+
+hashSetBulk
+hashSetBulk
+
+autotoc_md301
+title: ArmaRAMDb - Hash Set Bulk icon: mdi:file-text-outline
+
+
+excerpt: Set multiple fields in the current client's hash table in RAMDb.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_hashSetBulk;
+
+
+
+Store multiple player settings:
+[["difficulty", ["regular"], "respawn", [true], "tickets", [500]]] call ramdb_db_fnc_hashSetBulk;
+
+
+
+Store player data from a client:
+[["name", [name player], "uid", [getPlayerUID player], "score", [score player]]] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashSet: Sets a single field value in the current client's hash table
+
+ramdb_db_fnc_hashSetIdBulk: Sets multiple field-value pairs in a specific hash table (when you need to specify the ID)
+
+ramdb_db_fnc_hashGetAll: Retrieves all fields from the current client's hash table
+
+ramdb_db_fnc_hashGet: Retrieves a specific field value from the current client's hash table
+
+ramdb_db_fnc_hashDelete: Removes the current client's hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/da/d36/md_docs_2basic_2load.xml b/api/docbook/da/d36/md_docs_2basic_2load.xml
new file mode 100644
index 0000000..c417940
--- /dev/null
+++ b/api/docbook/da/d36/md_docs_2basic_2load.xml
@@ -0,0 +1,70 @@
+
+
+load
+load
+
+autotoc_md36
+title: ArmaRAMDb - Load DB icon: mdi:file-text-outline
+
+
+excerpt: Load DB from disc.
+
+ramdb_db_fnc_load
+Description
+Loads the database from disk storage. This function restores all data (key-value pairs, hash tables, and lists) from the previously saved database file.
+
+
+Syntax
+[] call ramdb_db_fnc_load
+
+
+
+Parameters
+None. This function does not require any parameters.
+
+
+Return Value
+None. The operation runs synchronously and loads the database immediately.
+
+
+Examples
+Load the database on the server:
+[] call ramdb_db_fnc_load;
+
+
+
+Call the load function remotely from a client:
+[] remoteExecCall ["ramdb_db_fnc_load", 2, false];
+
+
+
+
+Notes
+
+
+This function should typically be called during server initialization
+
+Any existing data in memory will be overwritten with the data from disk
+
+If no database file exists, nothing will happen
+
+Loading does not affect ongoing operations, but might replace values in memory
+
+For safety, it's recommended to call this function only when necessary
+
+
+
+
+Related Functions
+
+
+ramdb_db_fnc_save: Saves the database to disk
+
+
+
+
+Links
+Save DB | Load DB
+
+
+
diff --git a/api/docbook/dc/d24/md_docs_2basic_2set.xml b/api/docbook/dc/d24/md_docs_2basic_2set.xml
new file mode 100644
index 0000000..ecc6d6d
--- /dev/null
+++ b/api/docbook/dc/d24/md_docs_2basic_2set.xml
@@ -0,0 +1,120 @@
+
+
+set
+set
+
+autotoc_md67
+title: ArmaRAMDb - Set Key icon: mdi:file-text-outline
+
+
+excerpt: Set the value of stored key from RAMDb.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_set;
+
+
+
+Store player data under their UID:
+[getPlayerUID player, [name player, getPos player, getAllGear player]] call ramdb_db_fnc_set;
+
+
+
+Call the set function remotely from a client:
+["serverSetting", [true, 30, "normal"]] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_get: Retrieves a value by key
+
+ramdb_db_fnc_delete: Removes a value by key
+
+ramdb_db_fnc_scheduler: Processes the callback response
+
+
+
+
+Links
+Delete Key | Get Key | Set Key
+
+
+
diff --git a/api/docbook/dc/d95/md_docs_2hash_2hash_delete_id.xml b/api/docbook/dc/d95/md_docs_2hash_2hash_delete_id.xml
new file mode 100644
index 0000000..6c9408d
--- /dev/null
+++ b/api/docbook/dc/d95/md_docs_2hash_2hash_delete_id.xml
@@ -0,0 +1,116 @@
+
+
+hashDeleteId
+hashDeleteId
+
+autotoc_md190
+title: ArmaRAMDb - Hash Delete ID icon: mdi:file-text-outline
+
+
+excerpt: Remove a specific hash table from database.
+
+ramdb_db_fnc_hashDeleteId
+Description
+Removes a specific hash table from the database using its unique identifier. This function deletes all fields and values associated with the specified hash ID. Unlike the global hashDelete function, this operation only affects a single hash table entry.
+
+
+Syntax
+[_key] call ramdb_db_fnc_hashDeleteId
+
+
+
+Parameters
+
+
+
+
+
+
+
+
+
+Parameter
+
+Type
+
+Description
+
+Default
+
+
+
+
+_key
+
+String
+
+Identifier of the hash to be deleted
+
+""
+
+
+
+
+
+
+
+Return Value
+None. The operation runs synchronously to delete the specified hash table.
+
+
+Examples
+Delete a specific hash table:
+["playerStats"] call ramdb_db_fnc_hashDeleteId;
+
+
+
+Delete a player's hash data:
+[getPlayerUID player] call ramdb_db_fnc_hashDeleteId;
+
+
+
+Delete a hash table from a client:
+["vehicleData"] remoteExecCall ["ramdb_db_fnc_hashDeleteId", 2, false];
+
+
+
+
+Notes
+
+
+This operation only removes a single hash table identified by _key
+
+Cannot be undone unless you have a backup
+
+Validates that the key is not empty before proceeding
+
+All fields associated with the hash ID are removed
+
+Useful for clearing player-specific data or resetting entity data
+
+Executes immediately without confirmation
+
+Logs the operation for debugging purposes
+
+
+
+
+Related Functions
+
+
+ramdb_db_fnc_hashDelete: Removes all hash tables
+
+ramdb_db_fnc_hashSetId: Sets a value in a specific hash table
+
+ramdb_db_fnc_hashGetId: Retrieves a value from a specific hash table
+
+ramdb_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/dc/dae/md_docs_2hash_2hash_get.xml b/api/docbook/dc/dae/md_docs_2hash_2hash_get.xml
new file mode 100644
index 0000000..56a844c
--- /dev/null
+++ b/api/docbook/dc/dae/md_docs_2hash_2hash_get.xml
@@ -0,0 +1,152 @@
+
+
+hashGet
+hashGet
+
+autotoc_md204
+title: ArmaRAMDb - Hash Get icon: mdi:file-text-outline
+
+
+excerpt: Get a field value from the current client's hash table in RAMDb.
+
+ramdb_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 ramdb_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", "ramdb_db_fnc_test"] call ramdb_db_fnc_hashGet;
+
+
+
+Retrieve data with synchronous callback:
+["playerScore", "ramdb_db_fnc_processScore", true] call ramdb_db_fnc_hashGet;
+
+
+
+Retrieve data and send it to a specific client:
+["loadout", "ramdb_db_fnc_test", false, netId player] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashGetId: Retrieves a field value from a specific hash table (when you need to specify the ID)
+
+ramdb_db_fnc_hashGetAll: Retrieves all fields from the current client's hash table
+
+ramdb_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+ramdb_db_fnc_hashSet: Sets a field value in the current client's hash table
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/dc/db9/md_docs_2hash_2hash_set_id.xml b/api/docbook/dc/db9/md_docs_2hash_2hash_set_id.xml
new file mode 100644
index 0000000..7c2d9f4
--- /dev/null
+++ b/api/docbook/dc/db9/md_docs_2hash_2hash_set_id.xml
@@ -0,0 +1,142 @@
+
+
+hashSetId
+hashSetId
+
+autotoc_md315
+title: ArmaRAMDb - Hash Set ID icon: mdi:file-text-outline
+
+
+excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_hashSetId;
+
+
+
+Store vehicle data:
+["vehicle_123", "status", [true, 100, 75, "active"]] call ramdb_db_fnc_hashSetId;
+
+
+
+Store player data from a client:
+[getPlayerUID player, "stats", [rank player, score player, name player]] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_hashSet: Sets a field value in the global hash table
+
+ramdb_db_fnc_hashGetId: Retrieves a field value from a specific hash table
+
+ramdb_db_fnc_hashGetAllId: Retrieves all fields from a specific hash table
+
+ramdb_db_fnc_hashSetIdBulk: Sets multiple field-value pairs in multiple hash tables
+
+ramdb_db_fnc_hashDeleteId: Removes a specific hash table
+
+
+
+
+Links
+Hash Delete | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Remove | Hash Remove ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk
+
+
+
diff --git a/api/docbook/dd/dca/md_docs_2list_2list_add.xml b/api/docbook/dd/dca/md_docs_2list_2list_add.xml
new file mode 100644
index 0000000..a145681
--- /dev/null
+++ b/api/docbook/dd/dca/md_docs_2list_2list_add.xml
@@ -0,0 +1,132 @@
+
+
+listAdd
+listAdd
+
+autotoc_md347
+title: ArmaRAMDb - List Add icon: mdi:file-text-outline
+
+
+excerpt: Add element to list stored at key from RAMDb.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_listAdd;
+
+
+
+Add a player message:
+["messages", [name player + ": " + _messageText]] call ramdb_db_fnc_listAdd;
+
+
+
+Add data from a client:
+["playerActions", [getPlayerUID player, name player, "logged in"]] remoteExecCall ["ramdb_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
+
+
+ramdb_db_fnc_listGet: Retrieves a specific element from a list
+
+ramdb_db_fnc_listLoad: Retrieves a range of elements from a list
+
+ramdb_db_fnc_listSet: Replaces a specific element in a list
+
+ramdb_db_fnc_listRemove: Removes a specific element from a list
+
+ramdb_db_fnc_listDelete: Deletes an entire list
+
+ramdb_db_fnc_scheduler: Processes the callback from the database extension
+
+
+
+
+Links
+List Add | List Delete | List Get | List Load | List Remove | List Set
+
+
+
diff --git a/api/docbook/de/d91/md_docs_2core_2test.xml b/api/docbook/de/d91/md_docs_2core_2test.xml
new file mode 100644
index 0000000..a102922
--- /dev/null
+++ b/api/docbook/de/d91/md_docs_2core_2test.xml
@@ -0,0 +1,112 @@
+
+
+test
+test
+
+autotoc_md163
+title: ArmaRAMDb - Test icon: mdi:file-text-outline
+
+
+excerpt: Test Function.
+
+ramdb_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 ramdb_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 ramdb_db_test to this value.
+
+
+Examples
+Test with a simple string:
+["Hello World!"] spawn ramdb_db_fnc_test;
+
+
+
+Test database retrieval by specifying this as callback function:
+["playerStats", "ramdb_db_fnc_test"] call ramdb_db_fnc_get;
+
+
+
+Test from client to server:
+["Database is working!"] remoteExec ["ramdb_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 ramdb_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
+
+
+ramdb_db_fnc_get: Retrieves values from the database
+
+ramdb_db_fnc_handler: Routes data to callback functions
+
+ramdb_db_fnc_scheduler: Manages the callback system
+
+
+
+
+Links
+Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test
+
+
+
diff --git a/api/docbook/de/dc8/md_docs_2core_2process_queue.xml b/api/docbook/de/dc8/md_docs_2core_2process_queue.xml
new file mode 100644
index 0000000..8e0db39
--- /dev/null
+++ b/api/docbook/de/dc8/md_docs_2core_2process_queue.xml
@@ -0,0 +1,84 @@
+
+
+processQueue
+processQueue
+
+autotoc_md133
+title: ArmaRAMDb - Process Queue icon: mdi:file-text-outline
+
+
+excerpt: Processes a queue of tasks to be executed.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_processQueue;
+
+
+
+Trigger queue processing from a client:
+[] remoteExec ["ramdb_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 ramdb_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
+
+
+ramdb_db_fnc_addTask: Adds tasks to the queue for processing
+
+ramdb_db_fnc_handler: Handles data returned from database operations
+
+ramdb_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/df/d1b/md_docs_2core_2handler.xml b/api/docbook/df/d1b/md_docs_2core_2handler.xml
new file mode 100644
index 0000000..50c15da
--- /dev/null
+++ b/api/docbook/df/d1b/md_docs_2core_2handler.xml
@@ -0,0 +1,150 @@
+
+
+handler
+handler
+
+autotoc_md95
+title: ArmaRAMDb - Handler icon: mdi:file-text-outline
+
+
+excerpt: Handle data from DB.
+
+ramdb_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 ramdb_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", "ramdb_db_fnc_test", false, ["Hello World!"]] call ramdb_db_fnc_handler;
+
+
+
+Send data to a specific client:
+["0123456789", "ramdb_db_fnc_test", false, ["Hello World!"], netId player] remoteExecCall ["ramdb_db_fnc_handler", 2, false];
+
+
+
+Process data with direct call (synchronous):
+["0123456789", "ramdb_db_fnc_processInventory", true, [["weapon1", 30], ["item2", 5]]] call ramdb_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
+
+
+ramdb_db_fnc_scheduler: Processes callbacks from the database extension
+
+ramdb_db_fnc_fetch: Assembles data chunks for large datasets
+
+ramdb_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/df/df2/md_docs_2core_2init.xml b/api/docbook/df/df2/md_docs_2core_2init.xml
new file mode 100644
index 0000000..d39fbe4
--- /dev/null
+++ b/api/docbook/df/df2/md_docs_2core_2init.xml
@@ -0,0 +1,66 @@
+
+
+init
+init
+
+autotoc_md109
+title: ArmaRAMDb - Initialization icon: mdi:file-text-outline
+
+
+excerpt: Initial Extension settings.
+
+ramdb_db_fnc_init
+Description
+Initializes the ArmaRAMDb 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
+
+It does not initialize or load any database data - use ramdb_db_fnc_load for that
+
+
+
+
+Related Functions
+
+
+ramdb_db_fnc_load: Loads database data from disk
+
+ramdb_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/dir_2d423acf5473bc48906ca316d2995d8f.xml b/api/docbook/dir_2d423acf5473bc48906ca316d2995d8f.xml
new file mode 100644
index 0000000..f611184
--- /dev/null
+++ b/api/docbook/dir_2d423acf5473bc48906ca316d2995d8f.xml
@@ -0,0 +1,55 @@
+
+
+docs/basic Directory Reference
+docs/basic Directory Reference
+
+Detailed Description
+
+This section contains documentation for the basic data operations of ArmaRAMDb 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
+
+load - Load the database from disk
+
+save - Save the database to disk
+
+set - Set a value in the database
+
+
+
+
+Example Usage
+// Set a value
+["myKey", [myValue]] call ramdb_db_fnc_set;
+
+// Get a value
+["myKey", "myFunction"] call ramdb_db_fnc_get;
+
+// Delete a key
+["myKey"] call ramdb_db_fnc_delete;
+
+// Save database to disk
+[] call ramdb_db_fnc_save;
+
+
+
+Related Categories
+
+
+Core Functions
+
+Hash Operations
+
+List Operations
+
+
+
+
+
diff --git a/api/docbook/dir_49e56c817e5e54854c35e136979f97ca.xml b/api/docbook/dir_49e56c817e5e54854c35e136979f97ca.xml
new file mode 100644
index 0000000..fb3d497
--- /dev/null
+++ b/api/docbook/dir_49e56c817e5e54854c35e136979f97ca.xml
@@ -0,0 +1,220 @@
+
+
+docs Directory Reference
+docs Directory Reference
+
+ Directories
+
+ directory basic
+
+ directory core
+
+ directory hash
+
+ directory list
+
+
+
+
+Detailed Description
+
+This documentation provides details on all functions available in ArmaRAMDb. 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
+
+load - Load the database from disk
+
+fetch - Fetch a value from the database
+
+
+
+
+Hash Operations
+
+
+hashDelete - Delete a hash
+
+hashDeleteId - Delete a hash for a specific ID
+
+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
+
+hashRemove - Remove a field from a hash
+
+hashRemoveId - Remove 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
+
+listDelete - Delete 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 ramdb_db_fnc_init;
+
+// Set a value
+["myKey", [myValue]] call ramdb_db_fnc_set;
+
+// Get a value
+["myKey", "myFunction"] call ramdb_db_fnc_get;
+
+// Delete a key
+["myKey"] call ramdb_db_fnc_delete;
+
+
+
+Hash Operations
+// Set a hash field (context mode)
+["myField", [myValue]] call ramdb_db_fnc_hashSet;
+
+// Get a hash field (context mode)
+["myField", "myFunction"] call ramdb_db_fnc_hashGet;
+
+// Get all hash fields (context mode)
+["myFunction"] call ramdb_db_fnc_hashGetAll;
+
+// Set multiple hash fields (context mode)
+[[
+ "loadout", [getUnitLoadout player],
+ "position", [getPosASL player],
+ "direction", [getDir player],
+ "stance", [stance player]
+]] call ramdb_db_fnc_hashSetBulk;
+
+// Remove a hash field (context mode)
+["myField"] call ramdb_db_fnc_hashRemove;
+
+// Delete a hash table (context mode)
+[] call ramdb_db_fnc_hashDelete;
+// Set a hash field for specific ID
+["myHash", "myField", [myValue]] call ramdb_db_fnc_hashSetId;
+
+// Get a hash field for specific ID
+["myHash", "myField", "myFunction"] call ramdb_db_fnc_hashGetId;
+
+// Get all hash fields for specific ID
+["myHash"] call ramdb_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 ramdb_db_fnc_hashSetIdBulk;
+
+// Remove a hash field for specific ID
+["myHash", "myField"] call ramdb_db_fnc_hashRemoveId;
+
+// Delete a hash table for specific ID
+["myHash"] call ramdb_db_fnc_hashDeleteId;
+
+
+
+List Operations
+// Add an item to a list
+["myList", ["myItem"]] call ramdb_db_fnc_listAdd;
+
+// Set an item from a list
+["myList", 0, [myNewValue]] call ramdb_db_fnc_listSet;
+
+// Get an item from a list
+["myList", 0, "myFunction"] call ramdb_db_fnc_listGet;
+
+// Get items from a list
+["myList", "myFunction"] call ramdb_db_fnc_listLoad;
+
+// Remove an item from a list
+["myList", 0] call ramdb_db_fnc_listRemove;
+
+// Delete a list
+["myList"] call ramdb_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_68588e5a097ce704ed28814d68b1b590.xml b/api/docbook/dir_68588e5a097ce704ed28814d68b1b590.xml
new file mode 100644
index 0000000..c76cb79
--- /dev/null
+++ b/api/docbook/dir_68588e5a097ce704ed28814d68b1b590.xml
@@ -0,0 +1,76 @@
+
+
+docs/hash Directory Reference
+docs/hash Directory Reference
+
+Detailed Description
+
+This section contains documentation for the hash operations of ArmaRAMDb that allow for working with hash tables (key-value pairs within a namespace).
+
+Available Functions
+
+
+hashDelete - Delete a hash
+
+hashDeleteId - Delete a hash for a specific ID
+
+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
+
+hashRemove - Remove a field from a hash
+
+hashRemoveId - Remove 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 ramdb_db_fnc_hashSet;
+["myField", "myFunction"] call ramdb_db_fnc_hashGet;
+["myFunction"] call ramdb_db_fnc_hashGetAll;
+["myField"] call ramdb_db_fnc_hashRemove;
+[] call ramdb_db_fnc_hashDelete;
+
+// Set multiple hash fields in one operation
+[[
+ "loadout", [getUnitLoadout player],
+ "position", [getPosASL player],
+ "direction", [getDir player]
+]] call ramdb_db_fnc_hashSetBulk;
+
+// ID-specific examples
+["myHash", "myField", [myValue]] call ramdb_db_fnc_hashSetId;
+["myHash", "myField", "myFunction"] call ramdb_db_fnc_hashGetId;
+["myHash"] call ramdb_db_fnc_hashGetAllId;
+["myHash", "myField"] call ramdb_db_fnc_hashRemoveId;
+["myHash"] call ramdb_db_fnc_hashDeleteId;
+
+
+
+Related Categories
+
+
+Core Functions
+
+Basic Data Operations
+
+List Operations
+
+
+
+
+
diff --git a/api/docbook/dir_771164b9325b04f1442f7a3ffa8ecb89.xml b/api/docbook/dir_771164b9325b04f1442f7a3ffa8ecb89.xml
new file mode 100644
index 0000000..4974a56
--- /dev/null
+++ b/api/docbook/dir_771164b9325b04f1442f7a3ffa8ecb89.xml
@@ -0,0 +1,51 @@
+
+
+docs/core Directory Reference
+docs/core Directory Reference
+
+Detailed Description
+
+This section contains documentation for the core functions of ArmaRAMDb 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 ramdb_db_fnc_init;
+
+// Test the database connection
+[] call ramdb_db_fnc_test;
+
+
+
+Related Categories
+
+
+Basic Data Operations
+
+Hash Operations
+
+List Operations
+
+
+
+
+
diff --git a/api/docbook/dir_abd30d11711bae4cb17b258a1e3909ca.xml b/api/docbook/dir_abd30d11711bae4cb17b258a1e3909ca.xml
new file mode 100644
index 0000000..fa9b7f5
--- /dev/null
+++ b/api/docbook/dir_abd30d11711bae4cb17b258a1e3909ca.xml
@@ -0,0 +1,61 @@
+
+
+docs/list Directory Reference
+docs/list Directory Reference
+
+Detailed Description
+
+This section contains documentation for the list operations of ArmaRAMDb that allow for working with ordered collections of items.
+
+Available Functions
+
+
+listAdd - Add an item to a list
+
+listDelete - Delete 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 ramdb_db_fnc_listAdd;
+
+// Set an item at a specific index
+["myList", 0, [myNewValue]] call ramdb_db_fnc_listSet;
+
+// Get an item at a specific index
+["myList", 0, "myFunction"] call ramdb_db_fnc_listGet;
+
+// Load all items from a list
+["myList", "myFunction"] call ramdb_db_fnc_listLoad;
+
+// Remove an item at a specific index
+["myList", 0] call ramdb_db_fnc_listRemove;
+
+// Delete the entire list
+["myList"] call ramdb_db_fnc_listDelete;
+
+
+
+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..3b1d7fb
--- /dev/null
+++ b/api/docbook/index.xml
@@ -0,0 +1,38 @@
+
+
+
+ ArmaRAMDb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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/d68/md_docs_2hash_2hash_set.html b/api/html/d0/d68/md_docs_2hash_2hash_set.html
new file mode 100644
index 0000000..17e9b1c
--- /dev/null
+++ b/api/html/d0/d68/md_docs_2hash_2hash_set.html
@@ -0,0 +1,180 @@
+
+
+
title: ArmaRAMDb - Hash Set icon: mdi:file-text-outline
+
+excerpt: Set a field value in the current client's hash table in RAMDb.
+
+ramdb_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 ramdb_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.
title: ArmaRAMDb - List Delete icon: mdi:file-text-outline
+
+excerpt: Delete an entire list stored at a key from RAMDb.
+
+ramdb_db_fnc_listDelete
+
+Description
+
Completely removes a list and all its elements stored at a specified key from the RAMDb database. This function provides a way to delete entire collections of data at once, rather than removing individual elements. It is useful for cleaning up obsolete data, resetting collections, or removing temporary lists that are no longer needed.
+
+Syntax
+
[_key] call ramdb_db_fnc_listDelete
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_key
String
The key identifying the list to be deleted
""
+
+
+Return Value
+
None. The operation runs synchronously to delete the list immediately.
title: ArmaRAMDb - List Load icon: mdi:file-text-outline
+
+excerpt: Get all elements of a list stored at a key from RAMDb.
+
+ramdb_db_fnc_listLoad
+
+Description
+
Retrieves all elements of a list stored at a specified key from the RAMDb 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: ArmaRAMDb - Get Key icon: mdi:file-text-outline
+
+excerpt: Get the value of stored key from RAMDb.
+
+ramdb_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: ArmaRAMDb - 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 RAMDb.
+
+ramdb_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 ramdb_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.
title: ArmaRAMDb - Hash Get All ID icon: mdi:file-text-outline
+
+excerpt: Get all fields and values from the hash stored at key from RAMDb.
+
+ramdb_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.
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: ArmaRAMDb - Hash Get ID icon: mdi:file-text-outline
+
+excerpt: Get the value associated with field in hash stored at key from RAMDb.
+
+ramdb_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: ArmaRAMDb - List Set icon: mdi:file-text-outline
+
+excerpt: Set an element in a list stored at a key in RAMDb.
+
+ramdb_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 RAMDb 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 ramdb_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.
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
+
+
ramdb_db_fnc_listAdd: Adds an element to a list
+
ramdb_db_fnc_listGet: Retrieves a specific element from a list
+
ramdb_db_fnc_listLoad: Retrieves a range of elements from a list
+
ramdb_db_fnc_listRemove: Removes a specific element from a list
+
ramdb_db_fnc_listDelete: Deletes an entire list
+
ramdb_db_fnc_scheduler: Processes the callback from the database extension
title: ArmaRAMDb - List Remove icon: mdi:file-text-outline
+
+excerpt: Remove an element from a list stored at a key in RAMDb.
+
+ramdb_db_fnc_listRemove
+
+Description
+
Removes a specific element from a list stored at a specified key in the RAMDb 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 ramdb_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: ArmaRAMDb - List Get icon: mdi:file-text-outline
+
+excerpt: Get element of list stored at key from RAMDb.
+
+ramdb_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.
title: ArmaRAMDb - Print Addon Name icon: mdi:file-text-outline
+
+excerpt: Displays the addon name in system chat.
+
+ramdb_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 ramdb_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: Remove the current client's hash table from database.
+
+ramdb_db_fnc_hashDelete
+
+Description
+
Removes the hash table associated with the current client/player from the database. Unlike hashDeleteId, this function automatically retrieves the appropriate hash ID based on the caller's identity, making it more convenient for removing the current client's hash data. This is useful for cleanup operations when a player disconnects or when resetting a client's stored data.
+
+Syntax
+
[] call ramdb_db_fnc_hashDelete
+
+Parameters
+
None. This function automatically determines the hash ID based on the calling client.
+
+Return Value
+
None. The operation runs synchronously to delete the hash table for the current client.
+excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.
+
+ramdb_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: ArmaRAMDb - Save DB icon: mdi:file-text-outline
+
+excerpt: Save DB to disc.
+
+ramdb_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
+
[_createBackup] call ramdb_db_fnc_save
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_createBackup
Boolean
Whether to create a backup of the current state
false
+
+
+Return Value
+
None. The operation runs synchronously and saves the database immediately.
title: ArmaRAMDb - Hash Get All icon: mdi:file-text-outline
+
+excerpt: Get all fields from the current client's hash table in RAMDb.
+
+ramdb_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.
Manages the callback system for the ArmaRAMDb 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 ramdb_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.
+excerpt: Remove a field from the current client's hash table.
+
+ramdb_db_fnc_hashRemove
+
+Description
+
Removes a specific field 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 hashRemoveId which requires manually specifying an ID. It deletes a single field and its associated value without affecting other fields in the client's hash table.
+
+Syntax
+
[_keyField] call ramdb_db_fnc_hashRemove
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_keyField
String
Name of the field to be removed
""
+
+
+Return Value
+
None. The operation runs synchronously to remove the field.
title: ArmaRAMDb - Hash Remove ID icon: mdi:file-text-outline
+
+excerpt: Remove a field from a specific hash table.
+
+ramdb_db_fnc_hashRemoveId
+
+Description
+
Removes a specific field from a specific hash table identified by its key. This function deletes a single field and its associated value from a targeted hash table without affecting other fields. It's ideal for managing player-specific or entity-specific data when only certain attributes need to be removed.
+
+Syntax
+
[_key, _keyField] call ramdb_db_fnc_hashRemoveId
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_key
String
Identifier of the hash table
""
+
+
_keyField
String
Name of the field in the hash to be removed
""
+
+
+Return Value
+
None. The operation runs synchronously to remove the field.
title: ArmaRAMDb - Hash Set Bulk icon: mdi:file-text-outline
+
+excerpt: Set multiple fields in the current client's hash table in RAMDb.
+
+ramdb_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 ramdb_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.
title: ArmaRAMDb - Load DB icon: mdi:file-text-outline
+
+excerpt: Load DB from disc.
+
+ramdb_db_fnc_load
+
+Description
+
Loads the database from disk storage. This function restores all data (key-value pairs, hash tables, and lists) from the previously saved database file.
+
+Syntax
+
[] call ramdb_db_fnc_load
+
+Parameters
+
None. This function does not require any parameters.
+
+Return Value
+
None. The operation runs synchronously and loads the database immediately.
title: ArmaRAMDb - Set Key icon: mdi:file-text-outline
+
+excerpt: Set the value of stored key from RAMDb.
+
+ramdb_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: ArmaRAMDb - Hash Delete ID icon: mdi:file-text-outline
+
+excerpt: Remove a specific hash table from database.
+
+ramdb_db_fnc_hashDeleteId
+
+Description
+
Removes a specific hash table from the database using its unique identifier. This function deletes all fields and values associated with the specified hash ID. Unlike the global hashDelete function, this operation only affects a single hash table entry.
+
+Syntax
+
[_key] call ramdb_db_fnc_hashDeleteId
+
+Parameters
+
+
+
Parameter
Type
Description
Default
+
+
_key
String
Identifier of the hash to be deleted
""
+
+
+Return Value
+
None. The operation runs synchronously to delete the specified hash table.
title: ArmaRAMDb - Hash Get icon: mdi:file-text-outline
+
+excerpt: Get a field value from the current client's hash table in RAMDb.
+
+ramdb_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: ArmaRAMDb - Hash Set ID icon: mdi:file-text-outline
+
+excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.
+
+ramdb_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: ArmaRAMDb - List Add icon: mdi:file-text-outline
+
+excerpt: Add element to list stored at key from RAMDb.
+
+ramdb_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 ramdb_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 ramdb_db_fnc_listAdd;
+
+Add a player message:
+
["messages", [name player + ": " + _messageText]] call ramdb_db_fnc_listAdd;
title: ArmaRAMDb - Test icon: mdi:file-text-outline
+
+excerpt: Test Function.
+
+ramdb_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 ramdb_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 ramdb_db_test to this value.
+
+Examples
+
+Test with a simple string:
+
["Hello World!"] spawn ramdb_db_fnc_test;
+
+Test database retrieval by specifying this as callback function:
title: ArmaRAMDb - Process Queue icon: mdi:file-text-outline
+
+excerpt: Processes a queue of tasks to be executed.
+
+ramdb_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 ramdb_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.
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.
Initializes the ArmaRAMDb 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
+
It does not initialize or load any database data - use ramdb_db_fnc_load for that
This documentation provides details on all functions available in ArmaRAMDb. 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..01b115b
--- /dev/null
+++ b/api/html/search/all_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_3a_0',['Process data with direct call (synchronous):',['../df/d1b/md_docs_2core_2handler.html#autotoc_md105',1,'']]]
+];
diff --git a/api/html/search/all_1.js b/api/html/search/all_1.js
new file mode 100644
index 0000000..5928ab7
--- /dev/null
+++ b/api/html/search/all_1.js
@@ -0,0 +1,73 @@
+var searchData=
+[
+ ['a_20backup_3a_0',['a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md62',1,'Save the database and create a backup:'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md61',1,'Save the database without creating a backup:']]],
+ ['a_20callback_20from_20the_20extension_3a_1',['Process a callback from the extension:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md158',1,'']]],
+ ['a_20callback_20to_20the_20server_3a_2',['Forward a callback to the server:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md159',1,'']]],
+ ['a_20client_20s_20hash_20table_20from_20the_20server_3a_3',['Delete a client's hash table from the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'']]],
+ ['a_20client_3a_4',['a client:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md357',1,'Add data from a client:'],['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'Call the load function remotely from a client:'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'Call the save function remotely from a client:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'Call the set function remotely from a client:'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md200',1,'Delete a hash table from a client:'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'Delete a key on the server from a client:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md297',1,'Store data from a client:'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md311',1,'Store player data from a client:'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md325',1,'Store player data from a client:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md339',1,'Store player data from a client:'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md142',1,'Trigger queue processing from a client:']]],
+ ['a_20field_20from_20a_20specific_20hash_20table_5',['excerpt: Remove a field from a specific hash table.',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'']]],
+ ['a_20field_20from_20the_20current_20client_20s_20hash_20table_6',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['a_20field_20remotely_3a_7',['a field remotely:',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md269',1,'Remove a field remotely:'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md283',1,'Remove a field remotely:']]],
+ ['a_20field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_8',['excerpt: Get a field value from the current client's hash table in RAMDb.',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'']]],
+ ['a_20field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_9',['excerpt: Set a field value in the current client's hash table in RAMDb.',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'']]],
+ ['a_20hash_20table_20from_20a_20client_3a_10',['Delete a hash table from a client:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md200',1,'']]],
+ ['a_20hash_20table_20retrieval_20task_3a_11',['Add a hash table retrieval task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md89',1,'']]],
+ ['a_20key_20from_20ramdb_12',['a key from RAMDb',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'excerpt: Delete an entire list stored at a key from RAMDb.'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'excerpt: Get all elements of a list stored at a key from RAMDb.']]],
+ ['a_20key_20in_20ramdb_13',['a key in RAMDb',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.']]],
+ ['a_20key_20in_20singleplayer_20or_20on_20the_20server_3a_14',['Delete a key in singleplayer or on the server:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'']]],
+ ['a_20key_20on_20the_20server_20from_20a_20client_3a_15',['Delete a key on the server from a client:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['a_20list_20operation_20task_3a_16',['Add a list operation task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md91',1,'']]],
+ ['a_20list_20stored_20at_20a_20key_20from_20ramdb_17',['excerpt: Get all elements of a list stored at a key from RAMDb.',['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'']]],
+ ['a_20list_20stored_20at_20a_20key_20in_20ramdb_18',['a list stored at a key in RAMDb',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.']]],
+ ['a_20player_20message_3a_19',['Add a player message:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md356',1,'']]],
+ ['a_20player_20s_20complete_20hash_20data_3a_20',['Retrieve a player's complete hash data:',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md240',1,'']]],
+ ['a_20player_20s_20hash_20data_3a_21',['Delete a player's hash data:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md199',1,'']]],
+ ['a_20player_20s_20loadout_20field_3a_22',['a player s loadout field:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md281',1,'Remove a player's loadout field:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md254',1,'Retrieve a player's loadout field:']]],
+ ['a_20player_20s_20loadout_20under_20their_20uid_3a_23',['Store a player's loadout under their UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'']]],
+ ['a_20player_20s_20loadout_3a_24',['a player s loadout:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md212',1,'Retrieve a player's loadout:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md295',1,'Store a player's loadout:']]],
+ ['a_20player_20specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_25',['Add a player-specific task that returns data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'']]],
+ ['a_20queue_20of_20tasks_20to_20be_20executed_26',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['a_20simple_20array_3a_27',['Store a simple array:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md75',1,'']]],
+ ['a_20simple_20string_3a_28',['Test with a simple string:',['../de/d91/md_docs_2core_2test.html#autotoc_md171',1,'']]],
+ ['a_20single_20callback_29',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['a_20specific_20client_3a_30',['a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'Add a player-specific task that returns data to a specific client:'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',1,'Retrieve data and send it to a specific client:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md104',1,'Send data to a specific client:']]],
+ ['a_20specific_20event_20log_20entry_3a_31',['Retrieve a specific event log entry:',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md380',1,'']]],
+ ['a_20specific_20field_3a_32',['Remove a specific field:',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md268',1,'']]],
+ ['a_20specific_20hash_20table_33',['excerpt: Remove a field from a specific hash table.',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'']]],
+ ['a_20specific_20hash_20table_20from_20database_34',['excerpt: Remove a specific hash table from database.',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'']]],
+ ['a_20specific_20hash_20table_3a_35',['Delete a specific hash table:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md198',1,'']]],
+ ['a_20specific_20vehicle_20property_20with_20synchronous_20callback_3a_36',['Retrieve a specific vehicle property with synchronous callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'']]],
+ ['a_20vehicle_20property_3a_37',['Remove a vehicle property:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md282',1,'']]],
+ ['a_20welcome_20script_3a_38',['Use in a welcome script:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md129',1,'']]],
+ ['add_20a_20hash_20table_20retrieval_20task_3a_39',['Add a hash table retrieval task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md89',1,'']]],
+ ['add_20a_20list_20operation_20task_3a_40',['Add a list operation task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md91',1,'']]],
+ ['add_20a_20player_20message_3a_41',['Add a player message:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md356',1,'']]],
+ ['add_20a_20player_20specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_42',['Add a player-specific task that returns data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'']]],
+ ['add_20an_20event_20log_20entry_3a_43',['Add an event log entry:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md355',1,'']]],
+ ['add_20data_20from_20a_20client_3a_44',['Add data from a client:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md357',1,'']]],
+ ['add_20element_20to_20list_20stored_20at_20key_20from_20ramdb_45',['excerpt: Add element to list stored at key from RAMDb.',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'']]],
+ ['add_20task_20to_20queue_46',['excerpt: Add task to queue.',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md82',1,'']]],
+ ['addon_20name_20in_20system_20chat_47',['excerpt: Displays the addon name in system chat.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]],
+ ['addon_20name_20message_3a_48',['Display the addon name message:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md128',1,'']]],
+ ['addtask_49',['addTask',['../d3/df8/md_docs_2core_2add_task.html',1,'']]],
+ ['all_20client_20hash_20data_3a_50',['Retrieve all client hash data:',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md226',1,'']]],
+ ['all_20elements_20of_20a_20list_20stored_20at_20a_20key_20from_20ramdb_51',['excerpt: Get all elements of a list stored at a key from RAMDb.',['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'']]],
+ ['all_20fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20ramdb_52',['excerpt: Get all fields and values from the hash stored at key from RAMDb.',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'']]],
+ ['all_20fields_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_53',['excerpt: Get all fields from the current client's hash table in RAMDb.',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'']]],
+ ['an_20element_20from_20a_20list_20stored_20at_20a_20key_20in_20ramdb_54',['excerpt: Remove an element from a list stored at a key in RAMDb.',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'']]],
+ ['an_20element_20in_20a_20list_20stored_20at_20a_20key_20in_20ramdb_55',['excerpt: Set an element in a list stored at a key in RAMDb.',['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'']]],
+ ['an_20entire_20list_20stored_20at_20a_20key_20from_20ramdb_56',['excerpt: Delete an entire list stored at a key from RAMDb.',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'']]],
+ ['an_20event_20log_20entry_3a_57',['Add an event log entry:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md355',1,'']]],
+ ['and_20create_20a_20backup_3a_58',['Save the database and create a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md62',1,'']]],
+ ['and_20position_3a_59',['and position:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md309',1,'Store player loadout and position:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md337',1,'Store player loadout and position:']]],
+ ['and_20send_20it_20to_20a_20specific_20client_3a_60',['and send it to a specific client:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',1,'Retrieve data and send it to a specific client:']]],
+ ['and_20send_20to_20a_20specific_20client_3a_61',['Retrieve data on the server and send to a specific client:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['and_20values_20from_20the_20hash_20stored_20at_20key_20from_20ramdb_62',['excerpt: Get all fields and values from the hash stored at key from RAMDb.',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'']]],
+ ['array_3a_63',['Store a simple array:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md75',1,'']]],
+ ['as_20callback_20function_3a_64',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20ramdb_65',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['at_20a_20key_20from_20ramdb_66',['at a key from RAMDb',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'excerpt: Delete an entire list stored at a key from RAMDb.'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'excerpt: Get all elements of a list stored at a key from RAMDb.']]],
+ ['at_20a_20key_20in_20ramdb_67',['at a key in RAMDb',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.']]],
+ ['at_20key_20from_20ramdb_68',['at key from RAMDb',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'excerpt: Add element to list stored at key from RAMDb.'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'excerpt: Get all fields and values from the hash stored at key from RAMDb.'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'excerpt: Get element of list stored at key from RAMDb.'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'excerpt: Get the value associated with field in hash stored at key from RAMDb.'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.']]],
+ ['available_20functions_69',['Available Functions',['../G:/ids/ramdb/docs/basic/README.md#autotoc_md50',1,'Available Functions'],['../G:/ids/ramdb/docs/core/README.md#autotoc_md147',1,'Available Functions'],['../G:/ids/ramdb/docs/hash/README.md#autotoc_md344',1,'Available Functions'],['../G:/ids/ramdb/docs/list/README.md#autotoc_md420',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..f76b08b
--- /dev/null
+++ b/api/html/search/all_10.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['queue_0',['excerpt: Add task to queue.',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md82',1,'']]],
+ ['queue_20manually_3a_1',['Start processing the queue manually:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md141',1,'']]],
+ ['queue_20of_20tasks_20to_20be_20executed_2',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['queue_20processing_20from_20a_20client_3a_3',['Trigger queue processing from a client:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md142',1,'']]]
+];
diff --git a/api/html/search/all_11.js b/api/html/search/all_11.js
new file mode 100644
index 0000000..b9afcd8
--- /dev/null
+++ b/api/html/search/all_11.js
@@ -0,0 +1,80 @@
+var searchData=
+[
+ ['ramdb_0',['RAMDb',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'excerpt: Add element to list stored at key from RAMDb.'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'excerpt: Delete an entire list stored at a key from RAMDb.'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'excerpt: Get all elements of a list stored at a key from RAMDb.'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'excerpt: Get all fields and values from the hash stored at key from RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'excerpt: Get element of list stored at key from RAMDb.'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'excerpt: Get the value associated with field in hash stored at key from RAMDb.'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from RAMDb.'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md1',1,'excerpt: Remove the specified key from RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'excerpt: Set the value of stored key from RAMDb.']]],
+ ['ramdb_20docs_20basic_20readme_20md_20basic_20data_20operations_1',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['ramdb_20docs_20core_20readme_20md_20core_20functions_2',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['ramdb_20docs_20hash_20readme_20md_20hash_20operations_3',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['ramdb_20docs_20list_20readme_20md_20list_20operations_4',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['ramdb_5fdb_5ffnc_5faddtask_5',['ramdb_db_fnc_addTask',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md83',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fdelete_6',['ramdb_db_fnc_delete',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md2',1,'']]],
+ ['ramdb_5fdb_5ffnc_5ffetch_7',['ramdb_db_fnc_fetch',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md15',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fget_8',['ramdb_db_fnc_get',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md25',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhandler_9',['ramdb_db_fnc_handler',['../df/d1b/md_docs_2core_2handler.html#autotoc_md97',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashdelete_10',['ramdb_db_fnc_hashDelete',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md179',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashdeleteid_11',['ramdb_db_fnc_hashDeleteId',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md192',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashget_12',['ramdb_db_fnc_hashGet',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md206',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashgetall_13',['ramdb_db_fnc_hashGetAll',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md220',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashgetallid_14',['ramdb_db_fnc_hashGetAllId',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md234',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashgetid_15',['ramdb_db_fnc_hashGetId',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md248',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashremove_16',['ramdb_db_fnc_hashRemove',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md262',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashremoveid_17',['ramdb_db_fnc_hashRemoveId',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md275',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashset_18',['ramdb_db_fnc_hashSet',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md289',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashsetbulk_19',['ramdb_db_fnc_hashSetBulk',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md303',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashsetid_20',['ramdb_db_fnc_hashSetId',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md317',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fhashsetidbulk_21',['ramdb_db_fnc_hashSetIdBulk',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md331',1,'']]],
+ ['ramdb_5fdb_5ffnc_5finit_22',['ramdb_db_fnc_init',['../df/df2/md_docs_2core_2init.html#autotoc_md111',1,'']]],
+ ['ramdb_5fdb_5ffnc_5flistadd_23',['ramdb_db_fnc_listAdd',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md349',1,'']]],
+ ['ramdb_5fdb_5ffnc_5flistdelete_24',['ramdb_db_fnc_listDelete',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md363',1,'']]],
+ ['ramdb_5fdb_5ffnc_5flistget_25',['ramdb_db_fnc_listGet',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md374',1,'']]],
+ ['ramdb_5fdb_5ffnc_5flistload_26',['ramdb_db_fnc_listLoad',['../d1/d93/md_docs_2list_2list_load.html#autotoc_md388',1,'']]],
+ ['ramdb_5fdb_5ffnc_5flistremove_27',['ramdb_db_fnc_listRemove',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md399',1,'']]],
+ ['ramdb_5fdb_5ffnc_5flistset_28',['ramdb_db_fnc_listSet',['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md410',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fload_29',['ramdb_db_fnc_load',['../da/d36/md_docs_2basic_2load.html#autotoc_md38',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fprintaddonname_30',['ramdb_db_fnc_printAddonName',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md122',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fprocessqueue_31',['ramdb_db_fnc_processQueue',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md135',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fsave_32',['ramdb_db_fnc_save',['../d8/d12/md_docs_2basic_2save.html#autotoc_md55',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fscheduler_33',['ramdb_db_fnc_scheduler',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md152',1,'']]],
+ ['ramdb_5fdb_5ffnc_5fset_34',['ramdb_db_fnc_set',['../dc/d24/md_docs_2basic_2set.html#autotoc_md69',1,'']]],
+ ['ramdb_5fdb_5ffnc_5ftest_35',['ramdb_db_fnc_test',['../de/d91/md_docs_2core_2test.html#autotoc_md165',1,'']]],
+ ['readme_20md_20basic_20data_20operations_36',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['readme_20md_20core_20functions_37',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['readme_20md_20hash_20operations_38',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['readme_20md_20list_20operations_39',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_40',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['ref_20g_3a_20ids_20ramdb_20docs_20basic_20readme_20md_20basic_20data_20operations_41',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['ref_20g_3a_20ids_20ramdb_20docs_20core_20readme_20md_20core_20functions_42',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['ref_20g_3a_20ids_20ramdb_20docs_20hash_20readme_20md_20hash_20operations_43',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['ref_20g_3a_20ids_20ramdb_20docs_20list_20readme_20md_20list_20operations_44',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['related_20categories_45',['Related Categories',['../G:/ids/ramdb/docs/basic/README.md#autotoc_md52',1,'Related Categories'],['../G:/ids/ramdb/docs/core/README.md#autotoc_md149',1,'Related Categories'],['../G:/ids/ramdb/docs/hash/README.md#autotoc_md346',1,'Related Categories'],['../G:/ids/ramdb/docs/list/README.md#autotoc_md422',1,'Related Categories']]],
+ ['related_20functions_46',['Related Functions',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md11',1,'Related Functions'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md22',1,'Related Functions'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md34',1,'Related Functions'],['../da/d36/md_docs_2basic_2load.html#autotoc_md47',1,'Related Functions'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md65',1,'Related Functions'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md79',1,'Related Functions'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md93',1,'Related Functions'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md107',1,'Related Functions'],['../df/df2/md_docs_2core_2init.html#autotoc_md118',1,'Related Functions'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md131',1,'Related Functions'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md144',1,'Related Functions'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md161',1,'Related Functions'],['../de/d91/md_docs_2core_2test.html#autotoc_md175',1,'Related Functions'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md188',1,'Related Functions'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md202',1,'Related Functions'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md216',1,'Related Functions'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md230',1,'Related Functions'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md244',1,'Related Functions'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md258',1,'Related Functions'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md271',1,'Related Functions'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md285',1,'Related Functions'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md299',1,'Related Functions'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md313',1,'Related Functions'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md327',1,'Related Functions'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md341',1,'Related Functions'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md359',1,'Related Functions'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md370',1,'Related Functions'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md384',1,'Related Functions'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md395',1,'Related Functions'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md406',1,'Related Functions'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md417',1,'Related Functions']]],
+ ['remotely_20from_20a_20client_3a_47',['remotely from a client:',['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'Call the load function remotely from a client:'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'Call the save function remotely from a client:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'Call the set function remotely from a client:']]],
+ ['remotely_3a_48',['remotely:',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md269',1,'Remove a field remotely:'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md283',1,'Remove a field remotely:']]],
+ ['remove_20a_20field_20from_20a_20specific_20hash_20table_49',['excerpt: Remove a field from a specific hash table.',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'']]],
+ ['remove_20a_20field_20from_20the_20current_20client_20s_20hash_20table_50',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['remove_20a_20field_20remotely_3a_51',['Remove a field remotely:',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md269',1,'Remove a field remotely:'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md283',1,'Remove a field remotely:']]],
+ ['remove_20a_20player_20s_20loadout_20field_3a_52',['Remove a player's loadout field:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md281',1,'']]],
+ ['remove_20a_20specific_20field_3a_53',['Remove a specific field:',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md268',1,'']]],
+ ['remove_20a_20specific_20hash_20table_20from_20database_54',['excerpt: Remove a specific hash table from database.',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'']]],
+ ['remove_20a_20vehicle_20property_3a_55',['Remove a vehicle property:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md282',1,'']]],
+ ['remove_20an_20element_20from_20a_20list_20stored_20at_20a_20key_20in_20ramdb_56',['excerpt: Remove an element from a list stored at a key in RAMDb.',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'']]],
+ ['remove_20the_20current_20client_20s_20hash_20table_20from_20database_57',['excerpt: Remove the current client's hash table from database.',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'']]],
+ ['remove_20the_20specified_20key_20from_20ramdb_58',['excerpt: Remove the specified key from RAMDb.',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_59',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_60',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['retrieval_20by_20specifying_20this_20as_20callback_20function_3a_61',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['retrieval_20task_3a_62',['Add a hash table retrieval task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md89',1,'']]],
+ ['retrieve_20a_20player_20s_20complete_20hash_20data_3a_63',['Retrieve a player's complete hash data:',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md240',1,'']]],
+ ['retrieve_20a_20player_20s_20loadout_20field_3a_64',['Retrieve a player's loadout field:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md254',1,'']]],
+ ['retrieve_20a_20player_20s_20loadout_3a_65',['Retrieve a player's loadout:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md212',1,'']]],
+ ['retrieve_20a_20specific_20event_20log_20entry_3a_66',['Retrieve a specific event log entry:',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md380',1,'']]],
+ ['retrieve_20a_20specific_20vehicle_20property_20with_20synchronous_20callback_3a_67',['Retrieve a specific vehicle property with synchronous callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'']]],
+ ['retrieve_20all_20client_20hash_20data_3a_68',['Retrieve all client hash data:',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md226',1,'']]],
+ ['retrieve_20data_20and_20send_20it_20to_20a_20specific_20client_3a_69',['Retrieve data and send it to a specific client:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',1,'Retrieve data and send it to a specific client:']]],
+ ['retrieve_20data_20in_20singleplayer_20or_20on_20the_20server_3a_70',['Retrieve data in singleplayer or on the server:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md31',1,'']]],
+ ['retrieve_20data_20on_20the_20server_20and_20send_20to_20a_20specific_20client_3a_71',['Retrieve data on the server and send to a specific client:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['retrieve_20data_20with_20synchronous_20callback_3a_72',['Retrieve data with synchronous callback:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md213',1,'Retrieve data with synchronous callback:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md227',1,'Retrieve data with synchronous callback:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md381',1,'Retrieve data with synchronous callback:']]],
+ ['retrieve_20vehicle_20data_20with_20synchronous_20callback_3a_73',['Retrieve vehicle data with synchronous callback:',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md241',1,'']]],
+ ['return_20value_74',['Return Value',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md6',1,'Return Value'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md19',1,'Return Value'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md29',1,'Return Value'],['../da/d36/md_docs_2basic_2load.html#autotoc_md42',1,'Return Value'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md59',1,'Return Value'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md73',1,'Return Value'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md87',1,'Return Value'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md101',1,'Return Value'],['../df/df2/md_docs_2core_2init.html#autotoc_md115',1,'Return Value'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md126',1,'Return Value'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md139',1,'Return Value'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md156',1,'Return Value'],['../de/d91/md_docs_2core_2test.html#autotoc_md169',1,'Return Value'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md183',1,'Return Value'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md196',1,'Return Value'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md210',1,'Return Value'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md224',1,'Return Value'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md238',1,'Return Value'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md252',1,'Return Value'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md266',1,'Return Value'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md279',1,'Return Value'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md293',1,'Return Value'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md307',1,'Return Value'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md321',1,'Return Value'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md335',1,'Return Value'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md353',1,'Return Value'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md367',1,'Return Value'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md378',1,'Return Value'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md392',1,'Return Value'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md403',1,'Return Value'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md414',1,'Return Value']]],
+ ['returned_20in_20a_20single_20callback_75',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['returns_20data_20to_20a_20specific_20client_3a_76',['Add a player-specific task that returns data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'']]]
+];
diff --git a/api/html/search/all_12.js b/api/html/search/all_12.js
new file mode 100644
index 0000000..8c297fc
--- /dev/null
+++ b/api/html/search/all_12.js
@@ -0,0 +1,75 @@
+var searchData=
+[
+ ['s_20complete_20hash_20data_3a_0',['Retrieve a player's complete hash data:',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md240',1,'']]],
+ ['s_20hash_20data_3a_1',['Delete a player's hash data:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md199',1,'']]],
+ ['s_20hash_20table_2',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['s_20hash_20table_20from_20database_3',['excerpt: Remove the current client's hash table from database.',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'']]],
+ ['s_20hash_20table_20from_20the_20server_3a_4',['Delete a client's hash table from the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'']]],
+ ['s_20hash_20table_20in_20ramdb_5',['s hash table in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['s_20hash_20table_3a_6',['Delete the current client's hash table:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md185',1,'']]],
+ ['s_20loadout_20field_3a_7',['s loadout field:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md281',1,'Remove a player's loadout field:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md254',1,'Retrieve a player's loadout field:']]],
+ ['s_20loadout_20under_20their_20uid_3a_8',['Store a player's loadout under their UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'']]],
+ ['s_20loadout_3a_9',['s loadout:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md212',1,'Retrieve a player's loadout:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md295',1,'Store a player's loadout:']]],
+ ['save_10',['save',['../d8/d12/md_docs_2basic_2save.html',1,'']]],
+ ['save_20db_20to_20disc_11',['excerpt: Save DB to disc.',['../d8/d12/md_docs_2basic_2save.html#autotoc_md54',1,'']]],
+ ['save_20function_20remotely_20from_20a_20client_3a_12',['Call the save function remotely from a client:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'']]],
+ ['save_20the_20database_20and_20create_20a_20backup_3a_13',['Save the database and create a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md62',1,'']]],
+ ['save_20the_20database_20without_20creating_20a_20backup_3a_14',['Save the database without creating a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md61',1,'']]],
+ ['scheduled_20environment_20for_20extension_15',['excerpt: Scheduled Environment for extension.',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md151',1,'']]],
+ ['scheduler_16',['scheduler',['../d8/df5/md_docs_2core_2scheduler.html',1,'']]],
+ ['script_3a_17',['Use in a welcome script:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md129',1,'']]],
+ ['send_20data_20to_20a_20specific_20client_3a_18',['Send data to a specific client:',['../df/d1b/md_docs_2core_2handler.html#autotoc_md104',1,'']]],
+ ['send_20it_20to_20a_20specific_20client_3a_19',['send it to a specific client:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',1,'Retrieve data and send it to a specific client:']]],
+ ['send_20to_20a_20specific_20client_3a_20',['Retrieve data on the server and send to a specific client:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['server_20and_20send_20to_20a_20specific_20client_3a_21',['Retrieve data on the server and send to a specific client:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['server_20from_20a_20client_3a_22',['Delete a key on the server from a client:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['server_3a_23',['server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'Delete a client's hash table from the server:'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md159',1,'Forward a callback to the server:'],['../da/d36/md_docs_2basic_2load.html#autotoc_md44',1,'Load the database on the server:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:'],['../de/d91/md_docs_2core_2test.html#autotoc_md173',1,'Test from client to server:']]],
+ ['set_24',['set',['../dc/d24/md_docs_2basic_2set.html',1,'']]],
+ ['set_20a_20field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_25',['excerpt: Set a field value in the current client's hash table in RAMDb.',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'']]],
+ ['set_20an_20element_20in_20a_20list_20stored_20at_20a_20key_20in_20ramdb_26',['excerpt: Set an element in a list stored at a key in RAMDb.',['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'']]],
+ ['set_20function_20remotely_20from_20a_20client_3a_27',['Call the set function remotely from a client:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'']]],
+ ['set_20multiple_20fields_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_28',['excerpt: Set multiple fields in the current client's hash table in RAMDb.',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'']]],
+ ['set_20the_20specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_29',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['set_20the_20specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_30',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['set_20the_20value_20of_20stored_20key_20from_20ramdb_31',['excerpt: Set the value of stored key from RAMDb.',['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'']]],
+ ['settings_32',['excerpt: Initial Extension settings.',['../df/df2/md_docs_2core_2init.html#autotoc_md110',1,'']]],
+ ['settings_3a_33',['Store multiple player settings:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md310',1,'']]],
+ ['simple_20array_3a_34',['Store a simple array:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md75',1,'']]],
+ ['simple_20string_3a_35',['Test with a simple string:',['../de/d91/md_docs_2core_2test.html#autotoc_md171',1,'']]],
+ ['single_20callback_36',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['singleplayer_20or_20on_20the_20server_3a_37',['singleplayer or on the server:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]],
+ ['specific_20client_3a_38',['specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'Add a player-specific task that returns data to a specific client:'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',1,'Retrieve data and send it to a specific client:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md104',1,'Send data to a specific client:']]],
+ ['specific_20event_20log_20entry_3a_39',['Retrieve a specific event log entry:',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md380',1,'']]],
+ ['specific_20field_3a_40',['Remove a specific field:',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md268',1,'']]],
+ ['specific_20hash_20table_41',['excerpt: Remove a field from a specific hash table.',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'']]],
+ ['specific_20hash_20table_20from_20database_42',['excerpt: Remove a specific hash table from database.',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'']]],
+ ['specific_20hash_20table_3a_43',['Delete a specific hash table:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md198',1,'']]],
+ ['specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_44',['Add a player-specific task that returns data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'']]],
+ ['specific_20vehicle_20property_20with_20synchronous_20callback_3a_45',['Retrieve a specific vehicle property with synchronous callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'']]],
+ ['specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_46',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_47',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['specified_20key_20from_20ramdb_48',['excerpt: Remove the specified key from RAMDb.',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['specifying_20this_20as_20callback_20function_3a_49',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['start_20processing_20the_20queue_20manually_3a_50',['Start processing the queue manually:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md141',1,'']]],
+ ['store_20a_20player_20s_20loadout_20under_20their_20uid_3a_51',['Store a player's loadout under their UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'']]],
+ ['store_20a_20player_20s_20loadout_3a_52',['Store a player's loadout:',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md295',1,'']]],
+ ['store_20a_20simple_20array_3a_53',['Store a simple array:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md75',1,'']]],
+ ['store_20data_20from_20a_20client_3a_54',['Store data from a client:',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md297',1,'']]],
+ ['store_20multiple_20player_20settings_3a_55',['Store multiple player settings:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md310',1,'']]],
+ ['store_20multiple_20vehicle_20properties_3a_56',['Store multiple vehicle properties:',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md338',1,'']]],
+ ['store_20player_20data_20from_20a_20client_3a_57',['Store player data from a client:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md311',1,'Store player data from a client:'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md325',1,'Store player data from a client:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md339',1,'Store player data from a client:']]],
+ ['store_20player_20data_20under_20their_20uid_3a_58',['Store player data under their UID:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md76',1,'']]],
+ ['store_20player_20loadout_20and_20position_3a_59',['Store player loadout and position:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md309',1,'Store player loadout and position:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md337',1,'Store player loadout and position:']]],
+ ['store_20player_20preferences_3a_60',['Store player preferences:',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md296',1,'']]],
+ ['store_20vehicle_20data_3a_61',['Store vehicle data:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md324',1,'']]],
+ ['stored_20at_20a_20key_20from_20ramdb_62',['stored at a key from RAMDb',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'excerpt: Delete an entire list stored at a key from RAMDb.'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'excerpt: Get all elements of a list stored at a key from RAMDb.']]],
+ ['stored_20at_20a_20key_20in_20ramdb_63',['stored at a key in RAMDb',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.']]],
+ ['stored_20at_20key_20from_20ramdb_64',['stored at key from RAMDb',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'excerpt: Add element to list stored at key from RAMDb.'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'excerpt: Get all fields and values from the hash stored at key from RAMDb.'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'excerpt: Get element of list stored at key from RAMDb.'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'excerpt: Get the value associated with field in hash stored at key from RAMDb.'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.']]],
+ ['stored_20key_20from_20ramdb_65',['stored key from RAMDb',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from RAMDb.'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'excerpt: Set the value of stored key from RAMDb.']]],
+ ['string_3a_66',['Test with a simple string:',['../de/d91/md_docs_2core_2test.html#autotoc_md171',1,'']]],
+ ['structure_67',['Function Documentation Structure',['../G:/ids/ramdb/docs/README.md#autotoc_md433',1,'']]],
+ ['synchronous_20_3a_68',['Process data with direct call (synchronous):',['../df/d1b/md_docs_2core_2handler.html#autotoc_md105',1,'']]],
+ ['synchronous_20callback_3a_69',['synchronous callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'Retrieve a specific vehicle property with synchronous callback:'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md213',1,'Retrieve data with synchronous callback:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md227',1,'Retrieve data with synchronous callback:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md381',1,'Retrieve data with synchronous callback:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md241',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['syntax_70',['Syntax',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md4',1,'Syntax'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md17',1,'Syntax'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md27',1,'Syntax'],['../da/d36/md_docs_2basic_2load.html#autotoc_md40',1,'Syntax'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md57',1,'Syntax'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md71',1,'Syntax'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md85',1,'Syntax'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md99',1,'Syntax'],['../df/df2/md_docs_2core_2init.html#autotoc_md113',1,'Syntax'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md124',1,'Syntax'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md137',1,'Syntax'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md154',1,'Syntax'],['../de/d91/md_docs_2core_2test.html#autotoc_md167',1,'Syntax'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md181',1,'Syntax'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md194',1,'Syntax'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md208',1,'Syntax'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md222',1,'Syntax'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md236',1,'Syntax'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md250',1,'Syntax'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md264',1,'Syntax'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md277',1,'Syntax'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md291',1,'Syntax'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md305',1,'Syntax'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md319',1,'Syntax'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md333',1,'Syntax'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md351',1,'Syntax'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md365',1,'Syntax'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md376',1,'Syntax'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md390',1,'Syntax'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md401',1,'Syntax'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md412',1,'Syntax']]],
+ ['system_20chat_71',['excerpt: Displays the addon name in system chat.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]]
+];
diff --git a/api/html/search/all_13.js b/api/html/search/all_13.js
new file mode 100644
index 0000000..484b7dd
--- /dev/null
+++ b/api/html/search/all_13.js
@@ -0,0 +1,60 @@
+var searchData=
+[
+ ['table_0',['table',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'excerpt: Remove a field from a specific hash table.'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'excerpt: Remove a field from the current client's hash table.']]],
+ ['table_20from_20a_20client_3a_1',['Delete a hash table from a client:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md200',1,'']]],
+ ['table_20from_20database_2',['table from database',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'excerpt: Remove a specific hash table from database.'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'excerpt: Remove the current client's hash table from database.']]],
+ ['table_20from_20the_20server_3a_3',['Delete a client's hash table from the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'']]],
+ ['table_20in_20ramdb_4',['table in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['table_20retrieval_20task_3a_5',['Add a hash table retrieval task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md89',1,'']]],
+ ['table_3a_6',['table:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md198',1,'Delete a specific hash table:'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md185',1,'Delete the current client's hash table:']]],
+ ['task_20that_20returns_20data_20to_20a_20specific_20client_3a_7',['Add a player-specific task that returns data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'']]],
+ ['task_20to_20queue_8',['excerpt: Add task to queue.',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md82',1,'']]],
+ ['task_3a_9',['task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md89',1,'Add a hash table retrieval task:'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md91',1,'Add a list operation task:']]],
+ ['tasks_20to_20be_20executed_10',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['test_11',['test',['../de/d91/md_docs_2core_2test.html',1,'']]],
+ ['test_20database_20retrieval_20by_20specifying_20this_20as_20callback_20function_3a_12',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['test_20from_20client_20to_20server_3a_13',['Test from client to server:',['../de/d91/md_docs_2core_2test.html#autotoc_md173',1,'']]],
+ ['test_20function_14',['excerpt: Test Function.',['../de/d91/md_docs_2core_2test.html#autotoc_md164',1,'']]],
+ ['test_20with_20a_20simple_20string_3a_15',['Test with a simple string:',['../de/d91/md_docs_2core_2test.html#autotoc_md171',1,'']]],
+ ['that_20returns_20data_20to_20a_20specific_20client_3a_16',['Add a player-specific task that returns data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'']]],
+ ['the_20addon_20name_20in_20system_20chat_17',['excerpt: Displays the addon name in system chat.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]],
+ ['the_20addon_20name_20message_3a_18',['Display the addon name message:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md128',1,'']]],
+ ['the_20current_20client_20s_20hash_20table_19',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['the_20current_20client_20s_20hash_20table_20from_20database_20',['excerpt: Remove the current client's hash table from database.',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'']]],
+ ['the_20current_20client_20s_20hash_20table_20in_20ramdb_21',['the current client s hash table in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['the_20current_20client_20s_20hash_20table_3a_22',['Delete the current client's hash table:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md185',1,'']]],
+ ['the_20database_20and_20create_20a_20backup_3a_23',['Save the database and create a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md62',1,'']]],
+ ['the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_24',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['the_20database_20on_20the_20server_3a_25',['Load the database on the server:',['../da/d36/md_docs_2basic_2load.html#autotoc_md44',1,'']]],
+ ['the_20database_20without_20creating_20a_20backup_3a_26',['Save the database without creating a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md61',1,'']]],
+ ['the_20extension_3a_27',['Process a callback from the extension:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md158',1,'']]],
+ ['the_20hash_20stored_20at_20key_20from_20ramdb_28',['the hash stored at key from RAMDb',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'excerpt: Get all fields and values from the hash stored at key from RAMDb.'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.']]],
+ ['the_20load_20function_20remotely_20from_20a_20client_3a_29',['Call the load function remotely from a client:',['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'']]],
+ ['the_20queue_20manually_3a_30',['Start processing the queue manually:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md141',1,'']]],
+ ['the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_31',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['the_20save_20function_20remotely_20from_20a_20client_3a_32',['Call the save function remotely from a client:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'']]],
+ ['the_20server_20and_20send_20to_20a_20specific_20client_3a_33',['Retrieve data on the server and send to a specific client:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['the_20server_20from_20a_20client_3a_34',['Delete a key on the server from a client:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['the_20server_3a_35',['the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'Delete a client's hash table from the server:'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md159',1,'Forward a callback to the server:'],['../da/d36/md_docs_2basic_2load.html#autotoc_md44',1,'Load the database on the server:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]],
+ ['the_20set_20function_20remotely_20from_20a_20client_3a_36',['Call the set function remotely from a client:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'']]],
+ ['the_20specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_37',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['the_20specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_38',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['the_20specified_20key_20from_20ramdb_39',['excerpt: Remove the specified key from RAMDb.',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['the_20value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20ramdb_40',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['the_20value_20of_20stored_20key_20from_20ramdb_41',['the value of stored key from RAMDb',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from RAMDb.'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'excerpt: Set the value of stored key from RAMDb.']]],
+ ['their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_42',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['their_20uid_3a_43',['their UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'Store a player's loadout under their UID:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md76',1,'Store player data under their UID:']]],
+ ['this_20as_20callback_20function_3a_44',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['to_20a_20specific_20client_3a_45',['to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'Add a player-specific task that returns data to a specific client:'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',1,'Retrieve data and send it to a specific client:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md104',1,'Send data to a specific client:']]],
+ ['to_20be_20executed_46',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['to_20be_20returned_20in_20a_20single_20callback_47',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['to_20disc_48',['excerpt: Save DB to disc.',['../d8/d12/md_docs_2basic_2save.html#autotoc_md54',1,'']]],
+ ['to_20list_20stored_20at_20key_20from_20ramdb_49',['excerpt: Add element to list stored at key from RAMDb.',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'']]],
+ ['to_20queue_50',['excerpt: Add task to queue.',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md82',1,'']]],
+ ['to_20server_3a_51',['Test from client to server:',['../de/d91/md_docs_2core_2test.html#autotoc_md173',1,'']]],
+ ['to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_52',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['to_20the_20server_3a_53',['Forward a callback to the server:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md159',1,'']]],
+ ['to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_54',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['too_20large_20to_20be_20returned_20in_20a_20single_20callback_55',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['trigger_20queue_20processing_20from_20a_20client_3a_56',['Trigger queue processing from a client:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md142',1,'']]]
+];
diff --git a/api/html/search/all_14.js b/api/html/search/all_14.js
new file mode 100644
index 0000000..7b72f2d
--- /dev/null
+++ b/api/html/search/all_14.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['uid_3a_0',['UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'Store a player's loadout under their UID:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md76',1,'Store player data under their UID:']]],
+ ['under_20their_20uid_3a_1',['under their UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'Store a player's loadout under their UID:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md76',1,'Store player data under their UID:']]],
+ ['usage_2',['Usage',['../G:/ids/ramdb/docs/README.md#autotoc_md430',1,'Basic Usage'],['../G:/ids/ramdb/docs/basic/README.md#autotoc_md51',1,'Example Usage'],['../G:/ids/ramdb/docs/core/README.md#autotoc_md148',1,'Example Usage'],['../G:/ids/ramdb/docs/hash/README.md#autotoc_md345',1,'Example Usage'],['../G:/ids/ramdb/docs/list/README.md#autotoc_md421',1,'Example Usage']]],
+ ['usage_20examples_3',['Usage Examples',['../G:/ids/ramdb/docs/README.md#autotoc_md429',1,'']]],
+ ['use_20in_20a_20welcome_20script_3a_4',['Use in a welcome script:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md129',1,'']]]
+];
diff --git a/api/html/search/all_15.js b/api/html/search/all_15.js
new file mode 100644
index 0000000..bc824ec
--- /dev/null
+++ b/api/html/search/all_15.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+ ['value_0',['Value',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md6',1,'Return Value'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md19',1,'Return Value'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md29',1,'Return Value'],['../da/d36/md_docs_2basic_2load.html#autotoc_md42',1,'Return Value'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md59',1,'Return Value'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md73',1,'Return Value'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md87',1,'Return Value'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md101',1,'Return Value'],['../df/df2/md_docs_2core_2init.html#autotoc_md115',1,'Return Value'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md126',1,'Return Value'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md139',1,'Return Value'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md156',1,'Return Value'],['../de/d91/md_docs_2core_2test.html#autotoc_md169',1,'Return Value'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md183',1,'Return Value'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md196',1,'Return Value'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md210',1,'Return Value'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md224',1,'Return Value'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md238',1,'Return Value'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md252',1,'Return Value'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md266',1,'Return Value'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md279',1,'Return Value'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md293',1,'Return Value'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md307',1,'Return Value'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md321',1,'Return Value'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md335',1,'Return Value'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md353',1,'Return Value'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md367',1,'Return Value'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md378',1,'Return Value'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md392',1,'Return Value'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md403',1,'Return Value'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md414',1,'Return Value']]],
+ ['value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20ramdb_1',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['value_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_2',['excerpt: Get a field value from the current client's hash table in RAMDb.',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'']]],
+ ['value_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_3',['excerpt: Set a field value in the current client's hash table in RAMDb.',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'']]],
+ ['value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_4',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['value_20of_20stored_20key_20from_20ramdb_5',['value of stored key from RAMDb',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from RAMDb.'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'excerpt: Set the value of stored key from RAMDb.']]],
+ ['values_20from_20the_20hash_20stored_20at_20key_20from_20ramdb_6',['excerpt: Get all fields and values from the hash stored at key from RAMDb.',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'']]],
+ ['values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_7',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['vehicle_20data_20with_20synchronous_20callback_3a_8',['Retrieve vehicle data with synchronous callback:',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md241',1,'']]],
+ ['vehicle_20data_3a_9',['Store vehicle data:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md324',1,'']]],
+ ['vehicle_20properties_3a_10',['Store multiple vehicle properties:',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md338',1,'']]],
+ ['vehicle_20property_20with_20synchronous_20callback_3a_11',['Retrieve a specific vehicle property with synchronous callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'']]],
+ ['vehicle_20property_3a_12',['Remove a vehicle property:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md282',1,'']]]
+];
diff --git a/api/html/search/all_16.js b/api/html/search/all_16.js
new file mode 100644
index 0000000..4aedf1e
--- /dev/null
+++ b/api/html/search/all_16.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['welcome_20script_3a_0',['Use in a welcome script:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md129',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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['with_20a_20simple_20string_3a_2',['Test with a simple string:',['../de/d91/md_docs_2core_2test.html#autotoc_md171',1,'']]],
+ ['with_20direct_20call_20synchronous_20_3a_3',['Process data with direct call (synchronous):',['../df/d1b/md_docs_2core_2handler.html#autotoc_md105',1,'']]],
+ ['with_20field_20in_20hash_20stored_20at_20key_20from_20ramdb_4',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['with_20synchronous_20callback_3a_5',['with synchronous callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'Retrieve a specific vehicle property with synchronous callback:'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md213',1,'Retrieve data with synchronous callback:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md227',1,'Retrieve data with synchronous callback:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md381',1,'Retrieve data with synchronous callback:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md241',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['without_20creating_20a_20backup_3a_6',['Save the database without creating a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md61',1,'']]]
+];
diff --git a/api/html/search/all_2.js b/api/html/search/all_2.js
new file mode 100644
index 0000000..ff36e56
--- /dev/null
+++ b/api/html/search/all_2.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['backup_3a_0',['backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md62',1,'Save the database and create a backup:'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md61',1,'Save the database without creating a backup:']]],
+ ['basic_20data_20operations_1',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['basic_20readme_20md_20basic_20data_20operations_2',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['basic_20usage_3',['Basic Usage',['../G:/ids/ramdb/docs/README.md#autotoc_md430',1,'']]],
+ ['be_20executed_4',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['by_20specifying_20this_20as_20callback_20function_3a_6',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]]
+];
diff --git a/api/html/search/all_3.js b/api/html/search/all_3.js
new file mode 100644
index 0000000..5a73a45
--- /dev/null
+++ b/api/html/search/all_3.js
@@ -0,0 +1,32 @@
+var searchData=
+[
+ ['call_20synchronous_20_3a_0',['Process data with direct call (synchronous):',['../df/d1b/md_docs_2core_2handler.html#autotoc_md105',1,'']]],
+ ['call_20the_20load_20function_20remotely_20from_20a_20client_3a_1',['Call the load function remotely from a client:',['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'']]],
+ ['call_20the_20save_20function_20remotely_20from_20a_20client_3a_2',['Call the save function remotely from a client:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'']]],
+ ['call_20the_20set_20function_20remotely_20from_20a_20client_3a_3',['Call the set function remotely from a client:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'']]],
+ ['callback_4',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['callback_20from_20the_20extension_3a_5',['Process a callback from the extension:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md158',1,'']]],
+ ['callback_20function_3a_6',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['callback_20to_20the_20server_3a_7',['Forward a callback to the server:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md159',1,'']]],
+ ['callback_3a_8',['callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'Retrieve a specific vehicle property with synchronous callback:'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md213',1,'Retrieve data with synchronous callback:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md227',1,'Retrieve data with synchronous callback:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md381',1,'Retrieve data with synchronous callback:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md241',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['categories_9',['Categories',['../G:/ids/ramdb/docs/README.md#autotoc_md424',1,'Function Categories'],['../G:/ids/ramdb/docs/basic/README.md#autotoc_md52',1,'Related Categories'],['../G:/ids/ramdb/docs/core/README.md#autotoc_md149',1,'Related Categories'],['../G:/ids/ramdb/docs/hash/README.md#autotoc_md346',1,'Related Categories'],['../G:/ids/ramdb/docs/list/README.md#autotoc_md422',1,'Related Categories']]],
+ ['chat_10',['excerpt: Displays the addon name in system chat.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]],
+ ['chunks_20received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_11',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['client_20hash_20data_3a_12',['Retrieve all client hash data:',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md226',1,'']]],
+ ['client_20s_20hash_20table_13',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['client_20s_20hash_20table_20from_20database_14',['excerpt: Remove the current client's hash table from database.',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'']]],
+ ['client_20s_20hash_20table_20from_20the_20server_3a_15',['Delete a client's hash table from the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'']]],
+ ['client_20s_20hash_20table_20in_20ramdb_16',['client s hash table in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['client_20s_20hash_20table_3a_17',['Delete the current client's hash table:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md185',1,'']]],
+ ['client_20to_20server_3a_18',['Test from client to server:',['../de/d91/md_docs_2core_2test.html#autotoc_md173',1,'']]],
+ ['client_3a_19',['client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'Add a player-specific task that returns data to a specific client:'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md357',1,'Add data from a client:'],['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'Call the load function remotely from a client:'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'Call the save function remotely from a client:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'Call the set function remotely from a client:'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md200',1,'Delete a hash table from a client:'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'Delete a key on the server from a client:'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',1,'Retrieve data and send it to a specific client:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'Retrieve data on the server and send to a specific client:'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md104',1,'Send data to a specific client:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md297',1,'Store data from a client:'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md311',1,'Store player data from a client:'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md325',1,'Store player data from a client:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md339',1,'Store player data from a client:'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md142',1,'Trigger queue processing from a client:']]],
+ ['complete_20hash_20data_3a_20',['Retrieve a player's complete hash data:',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md240',1,'']]],
+ ['core_20functions_21',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['core_20readme_20md_20core_20functions_22',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['create_20a_20backup_3a_23',['Save the database and create a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md62',1,'']]],
+ ['creating_20a_20backup_3a_24',['Save the database without creating a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md61',1,'']]],
+ ['current_20client_20s_20hash_20table_25',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['current_20client_20s_20hash_20table_20from_20database_26',['excerpt: Remove the current client's hash table from database.',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'']]],
+ ['current_20client_20s_20hash_20table_20in_20ramdb_27',['current client s hash table in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['current_20client_20s_20hash_20table_3a_28',['Delete the current client's hash table:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md185',1,'']]]
+];
diff --git a/api/html/search/all_4.js b/api/html/search/all_4.js
new file mode 100644
index 0000000..46066b3
--- /dev/null
+++ b/api/html/search/all_4.js
@@ -0,0 +1,45 @@
+var searchData=
+[
+ ['data_20and_20send_20it_20to_20a_20specific_20client_3a_0',['data and send it to a specific client:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['data_20from_20a_20client_3a_2',['data from a client:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md357',1,'Add data from a client:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md297',1,'Store data from a client:'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md311',1,'Store player data from a client:'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md325',1,'Store player data from a client:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md339',1,'Store player data from a client:']]],
+ ['data_20from_20db_3',['excerpt: Handle data from DB.',['../df/d1b/md_docs_2core_2handler.html#autotoc_md96',1,'']]],
+ ['data_20in_20singleplayer_20or_20on_20the_20server_3a_4',['Retrieve data in singleplayer or on the server:',['../d1/d9f/md_docs_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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['data_20locally_3a_6',['Process data locally:',['../df/d1b/md_docs_2core_2handler.html#autotoc_md103',1,'']]],
+ ['data_20on_20the_20server_20and_20send_20to_20a_20specific_20client_3a_7',['Retrieve data on the server and send to a specific client:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['data_20operations_8',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['data_20to_20a_20specific_20client_3a_9',['data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'Add a player-specific task that returns data to a specific client:'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md104',1,'Send data to a specific client:']]],
+ ['data_20under_20their_20uid_3a_10',['Store player data under their UID:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md76',1,'']]],
+ ['data_20with_20direct_20call_20synchronous_20_3a_11',['Process data with direct call (synchronous):',['../df/d1b/md_docs_2core_2handler.html#autotoc_md105',1,'']]],
+ ['data_20with_20synchronous_20callback_3a_12',['data with synchronous callback:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md213',1,'Retrieve data with synchronous callback:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md227',1,'Retrieve data with synchronous callback:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md381',1,'Retrieve data with synchronous callback:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md241',1,'Retrieve vehicle data with synchronous callback:']]],
+ ['data_3a_13',['data:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md199',1,'Delete a player's hash data:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md240',1,'Retrieve a player's complete hash data:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md226',1,'Retrieve all client hash data:'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md324',1,'Store vehicle data:']]],
+ ['database_14',['database',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'excerpt: Remove a specific hash table from database.'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'excerpt: Remove the current client's hash table from database.']]],
+ ['database_20and_20create_20a_20backup_3a_15',['Save the database and create a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md62',1,'']]],
+ ['database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_16',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['database_20on_20the_20server_3a_17',['Load the database on the server:',['../da/d36/md_docs_2basic_2load.html#autotoc_md44',1,'']]],
+ ['database_20retrieval_20by_20specifying_20this_20as_20callback_20function_3a_18',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['database_20without_20creating_20a_20backup_3a_19',['Save the database without creating a backup:',['../d8/d12/md_docs_2basic_2save.html#autotoc_md61',1,'']]],
+ ['db_20',['excerpt: Handle data from DB.',['../df/d1b/md_docs_2core_2handler.html#autotoc_md96',1,'']]],
+ ['db_20from_20disc_21',['excerpt: Load DB from disc.',['../da/d36/md_docs_2basic_2load.html#autotoc_md37',1,'']]],
+ ['db_20to_20disc_22',['excerpt: Save DB to disc.',['../d8/d12/md_docs_2basic_2save.html#autotoc_md54',1,'']]],
+ ['delete_23',['delete',['../d6/dff/md_docs_2basic_2delete.html',1,'']]],
+ ['delete_20a_20client_20s_20hash_20table_20from_20the_20server_3a_24',['Delete a client's hash table from the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'']]],
+ ['delete_20a_20hash_20table_20from_20a_20client_3a_25',['Delete a hash table from a client:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md200',1,'']]],
+ ['delete_20a_20key_20in_20singleplayer_20or_20on_20the_20server_3a_26',['Delete a key in singleplayer or on the server:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'']]],
+ ['delete_20a_20key_20on_20the_20server_20from_20a_20client_3a_27',['Delete a key on the server from a client:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['delete_20a_20player_20s_20hash_20data_3a_28',['Delete a player's hash data:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md199',1,'']]],
+ ['delete_20a_20specific_20hash_20table_3a_29',['Delete a specific hash table:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md198',1,'']]],
+ ['delete_20an_20entire_20list_20stored_20at_20a_20key_20from_20ramdb_30',['excerpt: Delete an entire list stored at a key from RAMDb.',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'']]],
+ ['delete_20the_20current_20client_20s_20hash_20table_3a_31',['Delete the current client's hash table:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md185',1,'']]],
+ ['description_32',['Description',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md3',1,'Description'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md16',1,'Description'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md26',1,'Description'],['../da/d36/md_docs_2basic_2load.html#autotoc_md39',1,'Description'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md56',1,'Description'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md70',1,'Description'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md84',1,'Description'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md98',1,'Description'],['../df/df2/md_docs_2core_2init.html#autotoc_md112',1,'Description'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md123',1,'Description'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md136',1,'Description'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md153',1,'Description'],['../de/d91/md_docs_2core_2test.html#autotoc_md166',1,'Description'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md180',1,'Description'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md193',1,'Description'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md207',1,'Description'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md221',1,'Description'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md235',1,'Description'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md249',1,'Description'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md263',1,'Description'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md276',1,'Description'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md290',1,'Description'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md304',1,'Description'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md318',1,'Description'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md332',1,'Description'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md350',1,'Description'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md364',1,'Description'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md375',1,'Description'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md389',1,'Description'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md400',1,'Description'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md411',1,'Description']]],
+ ['direct_20call_20synchronous_20_3a_33',['Process data with direct call (synchronous):',['../df/d1b/md_docs_2core_2handler.html#autotoc_md105',1,'']]],
+ ['disc_34',['disc',['../da/d36/md_docs_2basic_2load.html#autotoc_md37',1,'excerpt: Load DB from disc.'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md54',1,'excerpt: Save DB to disc.']]],
+ ['display_20the_20addon_20name_20message_3a_35',['Display the addon name message:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md128',1,'']]],
+ ['displays_20the_20addon_20name_20in_20system_20chat_36',['excerpt: Displays the addon name in system chat.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]],
+ ['docs_20basic_20readme_20md_20basic_20data_20operations_37',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['docs_20core_20readme_20md_20core_20functions_38',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['docs_20hash_20readme_20md_20hash_20operations_39',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['docs_20list_20readme_20md_20list_20operations_40',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['documentation_20structure_41',['Function Documentation Structure',['../G:/ids/ramdb/docs/README.md#autotoc_md433',1,'']]]
+];
diff --git a/api/html/search/all_5.js b/api/html/search/all_5.js
new file mode 100644
index 0000000..921a08d
--- /dev/null
+++ b/api/html/search/all_5.js
@@ -0,0 +1,50 @@
+var searchData=
+[
+ ['element_20from_20a_20list_20stored_20at_20a_20key_20in_20ramdb_0',['excerpt: Remove an element from a list stored at a key in RAMDb.',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'']]],
+ ['element_20in_20a_20list_20stored_20at_20a_20key_20in_20ramdb_1',['excerpt: Set an element in a list stored at a key in RAMDb.',['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'']]],
+ ['element_20of_20list_20stored_20at_20key_20from_20ramdb_2',['excerpt: Get element of list stored at key from RAMDb.',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'']]],
+ ['element_20to_20list_20stored_20at_20key_20from_20ramdb_3',['excerpt: Add element to list stored at key from RAMDb.',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'']]],
+ ['elements_20of_20a_20list_20stored_20at_20a_20key_20from_20ramdb_4',['excerpt: Get all elements of a list stored at a key from RAMDb.',['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'']]],
+ ['entire_20list_20stored_20at_20a_20key_20from_20ramdb_5',['excerpt: Delete an entire list stored at a key from RAMDb.',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'']]],
+ ['entry_3a_6',['entry:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md355',1,'Add an event log entry:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md380',1,'Retrieve a specific event log entry:']]],
+ ['environment_20for_20extension_7',['excerpt: Scheduled Environment for extension.',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md151',1,'']]],
+ ['event_20log_20entry_3a_8',['event log entry:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md355',1,'Add an event log entry:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md380',1,'Retrieve a specific event log entry:']]],
+ ['example_20usage_9',['Example Usage',['../G:/ids/ramdb/docs/basic/README.md#autotoc_md51',1,'Example Usage'],['../G:/ids/ramdb/docs/core/README.md#autotoc_md148',1,'Example Usage'],['../G:/ids/ramdb/docs/hash/README.md#autotoc_md345',1,'Example Usage'],['../G:/ids/ramdb/docs/list/README.md#autotoc_md421',1,'Example Usage']]],
+ ['examples_10',['Examples',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md7',1,'Examples'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md20',1,'Examples'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md30',1,'Examples'],['../da/d36/md_docs_2basic_2load.html#autotoc_md43',1,'Examples'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md60',1,'Examples'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md74',1,'Examples'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md88',1,'Examples'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md102',1,'Examples'],['../df/df2/md_docs_2core_2init.html#autotoc_md116',1,'Examples'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md127',1,'Examples'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md140',1,'Examples'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md157',1,'Examples'],['../de/d91/md_docs_2core_2test.html#autotoc_md170',1,'Examples'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md184',1,'Examples'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md197',1,'Examples'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md211',1,'Examples'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md225',1,'Examples'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md239',1,'Examples'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md253',1,'Examples'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md267',1,'Examples'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md280',1,'Examples'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md294',1,'Examples'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md308',1,'Examples'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md322',1,'Examples'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md336',1,'Examples'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md354',1,'Examples'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md368',1,'Examples'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md379',1,'Examples'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md393',1,'Examples'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md404',1,'Examples'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md415',1,'Examples'],['../G:/ids/ramdb/docs/README.md#autotoc_md429',1,'Usage Examples']]],
+ ['excerpt_3a_20add_20element_20to_20list_20stored_20at_20key_20from_20ramdb_11',['excerpt: Add element to list stored at key from RAMDb.',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'']]],
+ ['excerpt_3a_20add_20task_20to_20queue_12',['excerpt: Add task to queue.',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md82',1,'']]],
+ ['excerpt_3a_20delete_20an_20entire_20list_20stored_20at_20a_20key_20from_20ramdb_13',['excerpt: Delete an entire list stored at a key from RAMDb.',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'']]],
+ ['excerpt_3a_20displays_20the_20addon_20name_20in_20system_20chat_14',['excerpt: Displays the addon name in system chat.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]],
+ ['excerpt_3a_20get_20a_20field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_15',['excerpt: Get a field value from the current client's hash table in RAMDb.',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'']]],
+ ['excerpt_3a_20get_20all_20elements_20of_20a_20list_20stored_20at_20a_20key_20from_20ramdb_16',['excerpt: Get all elements of a list stored at a key from RAMDb.',['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'']]],
+ ['excerpt_3a_20get_20all_20fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20ramdb_17',['excerpt: Get all fields and values from the hash stored at key from RAMDb.',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'']]],
+ ['excerpt_3a_20get_20all_20fields_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_18',['excerpt: Get all fields from the current client's hash table in RAMDb.',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'']]],
+ ['excerpt_3a_20get_20element_20of_20list_20stored_20at_20key_20from_20ramdb_19',['excerpt: Get element of list stored at key from RAMDb.',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'']]],
+ ['excerpt_3a_20get_20the_20value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20ramdb_20',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['excerpt_3a_20get_20the_20value_20of_20stored_20key_20from_20ramdb_21',['excerpt: Get the value of stored key from RAMDb.',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'']]],
+ ['excerpt_3a_20handle_20data_20from_20db_22',['excerpt: Handle data from DB.',['../df/d1b/md_docs_2core_2handler.html#autotoc_md96',1,'']]],
+ ['excerpt_3a_20handles_20data_20chunks_20received_20from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_23',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['excerpt_3a_20initial_20extension_20settings_24',['excerpt: Initial Extension settings.',['../df/df2/md_docs_2core_2init.html#autotoc_md110',1,'']]],
+ ['excerpt_3a_20load_20db_20from_20disc_25',['excerpt: Load DB from disc.',['../da/d36/md_docs_2basic_2load.html#autotoc_md37',1,'']]],
+ ['excerpt_3a_20processes_20a_20queue_20of_20tasks_20to_20be_20executed_26',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['excerpt_3a_20remove_20a_20field_20from_20a_20specific_20hash_20table_27',['excerpt: Remove a field from a specific hash table.',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'']]],
+ ['excerpt_3a_20remove_20a_20field_20from_20the_20current_20client_20s_20hash_20table_28',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['excerpt_3a_20remove_20a_20specific_20hash_20table_20from_20database_29',['excerpt: Remove a specific hash table from database.',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'']]],
+ ['excerpt_3a_20remove_20an_20element_20from_20a_20list_20stored_20at_20a_20key_20in_20ramdb_30',['excerpt: Remove an element from a list stored at a key in RAMDb.',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'']]],
+ ['excerpt_3a_20remove_20the_20current_20client_20s_20hash_20table_20from_20database_31',['excerpt: Remove the current client's hash table from database.',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'']]],
+ ['excerpt_3a_20remove_20the_20specified_20key_20from_20ramdb_32',['excerpt: Remove the specified key from RAMDb.',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md1',1,'']]],
+ ['excerpt_3a_20save_20db_20to_20disc_33',['excerpt: Save DB to disc.',['../d8/d12/md_docs_2basic_2save.html#autotoc_md54',1,'']]],
+ ['excerpt_3a_20scheduled_20environment_20for_20extension_34',['excerpt: Scheduled Environment for extension.',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md151',1,'']]],
+ ['excerpt_3a_20set_20a_20field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_35',['excerpt: Set a field value in the current client's hash table in RAMDb.',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'']]],
+ ['excerpt_3a_20set_20an_20element_20in_20a_20list_20stored_20at_20a_20key_20in_20ramdb_36',['excerpt: Set an element in a list stored at a key in RAMDb.',['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'']]],
+ ['excerpt_3a_20set_20multiple_20fields_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_37',['excerpt: Set multiple fields in the current client's hash table in RAMDb.',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'']]],
+ ['excerpt_3a_20set_20the_20specified_20field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_38',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['excerpt_3a_20set_20the_20specified_20fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_39',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['excerpt_3a_20set_20the_20value_20of_20stored_20key_20from_20ramdb_40',['excerpt: Set the value of stored key from RAMDb.',['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'']]],
+ ['excerpt_3a_20test_20function_41',['excerpt: Test Function.',['../de/d91/md_docs_2core_2test.html#autotoc_md164',1,'']]],
+ ['executed_42',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['extension_43',['excerpt: Scheduled Environment for extension.',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md151',1,'']]],
+ ['extension_20settings_44',['excerpt: Initial Extension settings.',['../df/df2/md_docs_2core_2init.html#autotoc_md110',1,'']]],
+ ['extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_45',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['extension_3a_46',['Process a callback from the extension:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md158',1,'']]]
+];
diff --git a/api/html/search/all_6.js b/api/html/search/all_6.js
new file mode 100644
index 0000000..84054ab
--- /dev/null
+++ b/api/html/search/all_6.js
@@ -0,0 +1,38 @@
+var searchData=
+[
+ ['fetch_0',['fetch',['../d8/d05/md_docs_2basic_2fetch.html',1,'']]],
+ ['field_20from_20a_20specific_20hash_20table_1',['excerpt: Remove a field from a specific hash table.',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'']]],
+ ['field_20from_20the_20current_20client_20s_20hash_20table_2',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['field_20in_20hash_20stored_20at_20key_20from_20ramdb_3',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['field_20remotely_3a_4',['field remotely:',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md269',1,'Remove a field remotely:'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md283',1,'Remove a field remotely:']]],
+ ['field_20to_20the_20respective_20value_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_5',['excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'']]],
+ ['field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_6',['excerpt: Get a field value from the current client's hash table in RAMDb.',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'']]],
+ ['field_20value_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_7',['excerpt: Set a field value in the current client's hash table in RAMDb.',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'']]],
+ ['field_3a_8',['field:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md281',1,'Remove a player's loadout field:'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md268',1,'Remove a specific field:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md254',1,'Retrieve a player's loadout field:']]],
+ ['fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20ramdb_9',['excerpt: Get all fields and values from the hash stored at key from RAMDb.',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'']]],
+ ['fields_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_10',['excerpt: Get all fields from the current client's hash table in RAMDb.',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'']]],
+ ['fields_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_11',['excerpt: Set multiple fields in the current client's hash table in RAMDb.',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'']]],
+ ['fields_20to_20their_20respective_20values_20in_20the_20hash_20stored_20at_20key_20from_20ramdb_12',['excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'']]],
+ ['for_20extension_13',['excerpt: Scheduled Environment for extension.',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md151',1,'']]],
+ ['forward_20a_20callback_20to_20the_20server_3a_14',['Forward a callback to the server:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md159',1,'']]],
+ ['from_20a_20client_3a_15',['from a client:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md357',1,'Add data from a client:'],['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'Call the load function remotely from a client:'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'Call the save function remotely from a client:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'Call the set function remotely from a client:'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md200',1,'Delete a hash table from a client:'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'Delete a key on the server from a client:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md297',1,'Store data from a client:'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md311',1,'Store player data from a client:'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md325',1,'Store player data from a client:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md339',1,'Store player data from a client:'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md142',1,'Trigger queue processing from a client:']]],
+ ['from_20a_20list_20stored_20at_20a_20key_20in_20ramdb_16',['excerpt: Remove an element from a list stored at a key in RAMDb.',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'']]],
+ ['from_20a_20specific_20hash_20table_17',['excerpt: Remove a field from a specific hash table.',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'']]],
+ ['from_20client_20to_20server_3a_18',['Test from client to server:',['../de/d91/md_docs_2core_2test.html#autotoc_md173',1,'']]],
+ ['from_20database_19',['from database',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'excerpt: Remove a specific hash table from database.'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'excerpt: Remove the current client's hash table from database.']]],
+ ['from_20db_20',['excerpt: Handle data from DB.',['../df/d1b/md_docs_2core_2handler.html#autotoc_md96',1,'']]],
+ ['from_20disc_21',['excerpt: Load DB from disc.',['../da/d36/md_docs_2basic_2load.html#autotoc_md37',1,'']]],
+ ['from_20ramdb_22',['from RAMDb',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'excerpt: Add element to list stored at key from RAMDb.'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'excerpt: Delete an entire list stored at a key from RAMDb.'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'excerpt: Get all elements of a list stored at a key from RAMDb.'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'excerpt: Get all fields and values from the hash stored at key from RAMDb.'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'excerpt: Get element of list stored at key from RAMDb.'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'excerpt: Get the value associated with field in hash stored at key from RAMDb.'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from RAMDb.'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md1',1,'excerpt: Remove the specified key from RAMDb.'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'excerpt: Set the value of stored key from RAMDb.']]],
+ ['from_20the_20current_20client_20s_20hash_20table_23',['excerpt: Remove a field from the current client's hash table.',['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'']]],
+ ['from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_24',['from the current client s hash table in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.']]],
+ ['from_20the_20database_20extension_20when_20data_20is_20too_20large_20to_20be_20returned_20in_20a_20single_20callback_25',['excerpt: Handles data chunks received from the database extension when data is too large to be returned in a single callback.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['from_20the_20extension_3a_26',['Process a callback from the extension:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md158',1,'']]],
+ ['from_20the_20hash_20stored_20at_20key_20from_20ramdb_27',['excerpt: Get all fields and values from the hash stored at key from RAMDb.',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'']]],
+ ['from_20the_20server_3a_28',['Delete a client's hash table from the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'']]],
+ ['function_29',['excerpt: Test Function.',['../de/d91/md_docs_2core_2test.html#autotoc_md164',1,'']]],
+ ['function_20categories_30',['Function Categories',['../G:/ids/ramdb/docs/README.md#autotoc_md424',1,'']]],
+ ['function_20documentation_20structure_31',['Function Documentation Structure',['../G:/ids/ramdb/docs/README.md#autotoc_md433',1,'']]],
+ ['function_20remotely_20from_20a_20client_3a_32',['function remotely from a client:',['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'Call the load function remotely from a client:'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md63',1,'Call the save function remotely from a client:'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md77',1,'Call the set function remotely from a client:']]],
+ ['function_3a_33',['Test database retrieval by specifying this as callback function:',['../de/d91/md_docs_2core_2test.html#autotoc_md172',1,'']]],
+ ['functions_34',['Functions',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"'],['../G:/ids/ramdb/docs/basic/README.md#autotoc_md50',1,'Available Functions'],['../G:/ids/ramdb/docs/core/README.md#autotoc_md147',1,'Available Functions'],['../G:/ids/ramdb/docs/hash/README.md#autotoc_md344',1,'Available Functions'],['../G:/ids/ramdb/docs/list/README.md#autotoc_md420',1,'Available Functions'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md11',1,'Related Functions'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md22',1,'Related Functions'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md34',1,'Related Functions'],['../da/d36/md_docs_2basic_2load.html#autotoc_md47',1,'Related Functions'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md65',1,'Related Functions'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md79',1,'Related Functions'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md93',1,'Related Functions'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md107',1,'Related Functions'],['../df/df2/md_docs_2core_2init.html#autotoc_md118',1,'Related Functions'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md131',1,'Related Functions'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md144',1,'Related Functions'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md161',1,'Related Functions'],['../de/d91/md_docs_2core_2test.html#autotoc_md175',1,'Related Functions'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md188',1,'Related Functions'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md202',1,'Related Functions'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md216',1,'Related Functions'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md230',1,'Related Functions'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md244',1,'Related Functions'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md258',1,'Related Functions'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md271',1,'Related Functions'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md285',1,'Related Functions'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md299',1,'Related Functions'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md313',1,'Related Functions'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md327',1,'Related Functions'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md341',1,'Related Functions'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md359',1,'Related Functions'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md370',1,'Related Functions'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md384',1,'Related Functions'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md395',1,'Related Functions'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md406',1,'Related Functions'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md417',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..58d9e7e
--- /dev/null
+++ b/api/html/search/all_7.js
@@ -0,0 +1,15 @@
+var searchData=
+[
+ ['g_3a_20ids_20ramdb_20docs_20basic_20readme_20md_20basic_20data_20operations_0',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['g_3a_20ids_20ramdb_20docs_20core_20readme_20md_20core_20functions_1',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['g_3a_20ids_20ramdb_20docs_20hash_20readme_20md_20hash_20operations_2',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['g_3a_20ids_20ramdb_20docs_20list_20readme_20md_20list_20operations_3',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['get_4',['get',['../d1/d9f/md_docs_2basic_2get.html',1,'']]],
+ ['get_20a_20field_20value_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_5',['excerpt: Get a field value from the current client's hash table in RAMDb.',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'']]],
+ ['get_20all_20elements_20of_20a_20list_20stored_20at_20a_20key_20from_20ramdb_6',['excerpt: Get all elements of a list stored at a key from RAMDb.',['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'']]],
+ ['get_20all_20fields_20and_20values_20from_20the_20hash_20stored_20at_20key_20from_20ramdb_7',['excerpt: Get all fields and values from the hash stored at key from RAMDb.',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'']]],
+ ['get_20all_20fields_20from_20the_20current_20client_20s_20hash_20table_20in_20ramdb_8',['excerpt: Get all fields from the current client's hash table in RAMDb.',['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'']]],
+ ['get_20element_20of_20list_20stored_20at_20key_20from_20ramdb_9',['excerpt: Get element of list stored at key from RAMDb.',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'']]],
+ ['get_20the_20value_20associated_20with_20field_20in_20hash_20stored_20at_20key_20from_20ramdb_10',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['get_20the_20value_20of_20stored_20key_20from_20ramdb_11',['excerpt: Get the value of stored key from RAMDb.',['../d1/d9f/md_docs_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..eda32f0
--- /dev/null
+++ b/api/html/search/all_8.js
@@ -0,0 +1,29 @@
+var searchData=
+[
+ ['handle_20data_20from_20db_0',['excerpt: Handle data from DB.',['../df/d1b/md_docs_2core_2handler.html#autotoc_md96',1,'']]],
+ ['handler_1',['handler',['../df/d1b/md_docs_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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['hash_20data_3a_3',['hash data:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md199',1,'Delete a player's hash data:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md240',1,'Retrieve a player's complete hash data:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md226',1,'Retrieve all client hash data:']]],
+ ['hash_20operations_4',['Hash Operations',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"'],['../G:/ids/ramdb/docs/README.md#autotoc_md431',1,'Hash Operations']]],
+ ['hash_20readme_20md_20hash_20operations_5',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['hash_20stored_20at_20key_20from_20ramdb_6',['hash stored at key from RAMDb',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'excerpt: Get all fields and values from the hash stored at key from RAMDb.'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'excerpt: Get the value associated with field in hash stored at key from RAMDb.'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.']]],
+ ['hash_20table_7',['hash table',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md274',1,'excerpt: Remove a field from a specific hash table.'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md261',1,'excerpt: Remove a field from the current client's hash table.']]],
+ ['hash_20table_20from_20a_20client_3a_8',['Delete a hash table from a client:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md200',1,'']]],
+ ['hash_20table_20from_20database_9',['hash table from database',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md191',1,'excerpt: Remove a specific hash table from database.'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md178',1,'excerpt: Remove the current client's hash table from database.']]],
+ ['hash_20table_20from_20the_20server_3a_10',['Delete a client's hash table from the server:',['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md186',1,'']]],
+ ['hash_20table_20in_20ramdb_11',['hash table in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['hash_20table_20retrieval_20task_3a_12',['Add a hash table retrieval task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md89',1,'']]],
+ ['hash_20table_3a_13',['hash table:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md198',1,'Delete a specific hash table:'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md185',1,'Delete the current client's hash table:']]],
+ ['hashdelete_14',['hashDelete',['../d7/d91/md_docs_2hash_2hash_delete.html',1,'']]],
+ ['hashdeleteid_15',['hashDeleteId',['../dc/d95/md_docs_2hash_2hash_delete_id.html',1,'']]],
+ ['hashget_16',['hashGet',['../dc/dae/md_docs_2hash_2hash_get.html',1,'']]],
+ ['hashgetall_17',['hashGetAll',['../d8/d96/md_docs_2hash_2hash_get_all.html',1,'']]],
+ ['hashgetallid_18',['hashGetAllId',['../d3/d33/md_docs_2hash_2hash_get_all_id.html',1,'']]],
+ ['hashgetid_19',['hashGetId',['../d5/d27/md_docs_2hash_2hash_get_id.html',1,'']]],
+ ['hashremove_20',['hashRemove',['../d9/d12/md_docs_2hash_2hash_remove.html',1,'']]],
+ ['hashremoveid_21',['hashRemoveId',['../d9/dae/md_docs_2hash_2hash_remove_id.html',1,'']]],
+ ['hashset_22',['hashSet',['../d0/d68/md_docs_2hash_2hash_set.html',1,'']]],
+ ['hashsetbulk_23',['hashSetBulk',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html',1,'']]],
+ ['hashsetid_24',['hashSetId',['../dc/db9/md_docs_2hash_2hash_set_id.html',1,'']]],
+ ['hashsetidbulk_25',['hashSetIdBulk',['../d2/d02/md_docs_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..009d9ab
--- /dev/null
+++ b/api/html/search/all_9.js
@@ -0,0 +1,20 @@
+var searchData=
+[
+ ['ids_20ramdb_20docs_20basic_20readme_20md_20basic_20data_20operations_0',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['ids_20ramdb_20docs_20core_20readme_20md_20core_20functions_1',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['ids_20ramdb_20docs_20hash_20readme_20md_20hash_20operations_2',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['ids_20ramdb_20docs_20list_20readme_20md_20list_20operations_3',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['in_20a_20list_20stored_20at_20a_20key_20in_20ramdb_4',['excerpt: Set an element in a list stored at a key in RAMDb.',['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['in_20a_20welcome_20script_3a_6',['Use in a welcome script:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md129',1,'']]],
+ ['in_20hash_20stored_20at_20key_20from_20ramdb_7',['excerpt: Get the value associated with field in hash stored at key from RAMDb.',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'']]],
+ ['in_20ramdb_8',['in RAMDb',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md205',1,'excerpt: Get a field value from the current client's hash table in RAMDb.'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md219',1,'excerpt: Get all fields from the current client's hash table in RAMDb.'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['in_20singleplayer_20or_20on_20the_20server_3a_9',['in singleplayer or on the server:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d1/d9f/md_docs_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.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]],
+ ['in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_11',['in the current client s hash table in RAMDb',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md288',1,'excerpt: Set a field value in the current client's hash table in RAMDb.'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'excerpt: Set multiple fields in the current client's hash table in RAMDb.']]],
+ ['in_20the_20hash_20stored_20at_20key_20from_20ramdb_12',['in the hash stored at key from RAMDb',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.']]],
+ ['init_13',['init',['../df/df2/md_docs_2core_2init.html',1,'']]],
+ ['initial_20extension_20settings_14',['excerpt: Initial Extension settings.',['../df/df2/md_docs_2core_2init.html#autotoc_md110',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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['it_20to_20a_20specific_20client_3a_16',['it to a specific client:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md214',1,'Retrieve data and send it to a specific client:'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md228',1,'Retrieve data and send it to a specific client:'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md242',1,'Retrieve data and send it to a specific client:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md256',1,'Retrieve data and send it to a specific client:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md382',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..e8980fb
--- /dev/null
+++ b/api/html/search/all_a.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['key_20from_20ramdb_0',['key from RAMDb',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'excerpt: Add element to list stored at key from RAMDb.'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'excerpt: Delete an entire list stored at a key from RAMDb.'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'excerpt: Get all elements of a list stored at a key from RAMDb.'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md233',1,'excerpt: Get all fields and values from the hash stored at key from RAMDb.'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'excerpt: Get element of list stored at key from RAMDb.'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md247',1,'excerpt: Get the value associated with field in hash stored at key from RAMDb.'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from RAMDb.'],['../d6/dff/md_docs_2basic_2delete.html#autotoc_md1',1,'excerpt: Remove the specified key from RAMDb.'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md316',1,'excerpt: Set the specified field to the respective value in the hash stored at key from RAMDb.'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md330',1,'excerpt: Set the specified fields to their respective values in the hash stored at key from RAMDb.'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'excerpt: Set the value of stored key from RAMDb.']]],
+ ['key_20in_20ramdb_1',['key in RAMDb',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.']]],
+ ['key_20in_20singleplayer_20or_20on_20the_20server_3a_2',['Delete a key in singleplayer or on the server:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'']]],
+ ['key_20on_20the_20server_20from_20a_20client_3a_3',['Delete a key on the server from a client:',['../d6/dff/md_docs_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..ec404b8
--- /dev/null
+++ b/api/html/search/all_b.js
@@ -0,0 +1,28 @@
+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.',['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md14',1,'']]],
+ ['license_1',['License',['../G:/ids/ramdb/docs/README.md#autotoc_md434',1,'']]],
+ ['links_2',['Links',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md12',1,'Links'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md35',1,'Links'],['../da/d36/md_docs_2basic_2load.html#autotoc_md48',1,'Links'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md66',1,'Links'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md80',1,'Links'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md94',1,'Links'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md108',1,'Links'],['../df/df2/md_docs_2core_2init.html#autotoc_md119',1,'Links'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md132',1,'Links'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md145',1,'Links'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md162',1,'Links'],['../de/d91/md_docs_2core_2test.html#autotoc_md176',1,'Links'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md189',1,'Links'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md203',1,'Links'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md217',1,'Links'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md231',1,'Links'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md245',1,'Links'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md259',1,'Links'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md272',1,'Links'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md286',1,'Links'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md300',1,'Links'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md314',1,'Links'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md328',1,'Links'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md342',1,'Links'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md360',1,'Links'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md371',1,'Links'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md385',1,'Links'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md396',1,'Links'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md407',1,'Links'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md418',1,'Links']]],
+ ['list_20operation_20task_3a_3',['Add a list operation task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md91',1,'']]],
+ ['list_20operations_4',['List Operations',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"'],['../G:/ids/ramdb/docs/README.md#autotoc_md432',1,'List Operations']]],
+ ['list_20readme_20md_20list_20operations_5',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['list_20stored_20at_20a_20key_20from_20ramdb_6',['list stored at a key from RAMDb',['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md362',1,'excerpt: Delete an entire list stored at a key from RAMDb.'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'excerpt: Get all elements of a list stored at a key from RAMDb.']]],
+ ['list_20stored_20at_20a_20key_20in_20ramdb_7',['list stored at a key in RAMDb',['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md398',1,'excerpt: Remove an element from a list stored at a key in RAMDb.'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md409',1,'excerpt: Set an element in a list stored at a key in RAMDb.']]],
+ ['list_20stored_20at_20key_20from_20ramdb_8',['list stored at key from RAMDb',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md348',1,'excerpt: Add element to list stored at key from RAMDb.'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'excerpt: Get element of list stored at key from RAMDb.']]],
+ ['listadd_9',['listAdd',['../dd/dca/md_docs_2list_2list_add.html',1,'']]],
+ ['listdelete_10',['listDelete',['../d1/d1c/md_docs_2list_2list_delete.html',1,'']]],
+ ['listget_11',['listGet',['../d7/d58/md_docs_2list_2list_get.html',1,'']]],
+ ['listload_12',['listLoad',['../d1/d93/md_docs_2list_2list_load.html',1,'']]],
+ ['listremove_13',['listRemove',['../d6/d64/md_docs_2list_2list_remove.html',1,'']]],
+ ['listset_14',['listSet',['../d5/ddd/md_docs_2list_2list_set.html',1,'']]],
+ ['load_15',['load',['../da/d36/md_docs_2basic_2load.html',1,'']]],
+ ['load_20db_20from_20disc_16',['excerpt: Load DB from disc.',['../da/d36/md_docs_2basic_2load.html#autotoc_md37',1,'']]],
+ ['load_20function_20remotely_20from_20a_20client_3a_17',['Call the load function remotely from a client:',['../da/d36/md_docs_2basic_2load.html#autotoc_md45',1,'']]],
+ ['load_20the_20database_20on_20the_20server_3a_18',['Load the database on the server:',['../da/d36/md_docs_2basic_2load.html#autotoc_md44',1,'']]],
+ ['loadout_20and_20position_3a_19',['loadout and position:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md309',1,'Store player loadout and position:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md337',1,'Store player loadout and position:']]],
+ ['loadout_20field_3a_20',['loadout field:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md281',1,'Remove a player's loadout field:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md254',1,'Retrieve a player's loadout field:']]],
+ ['loadout_20under_20their_20uid_3a_21',['Store a player's loadout under their UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'']]],
+ ['loadout_3a_22',['loadout:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md212',1,'Retrieve a player's loadout:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md295',1,'Store a player's loadout:']]],
+ ['locally_3a_23',['Process data locally:',['../df/d1b/md_docs_2core_2handler.html#autotoc_md103',1,'']]],
+ ['log_20entry_3a_24',['log entry:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md355',1,'Add an event log entry:'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md380',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..1070d62
--- /dev/null
+++ b/api/html/search/all_c.js
@@ -0,0 +1,12 @@
+var searchData=
+[
+ ['manually_3a_0',['Start processing the queue manually:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md141',1,'']]],
+ ['md_20basic_20data_20operations_1',['@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'']]],
+ ['md_20core_20functions_2',['@ref "G:/ids/ramdb/docs/core/README.md" "Core Functions"',['../G:/ids/ramdb/docs/README.md#autotoc_md425',1,'']]],
+ ['md_20hash_20operations_3',['@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'']]],
+ ['md_20list_20operations_4',['@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"',['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'']]],
+ ['message_3a_5',['message:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md356',1,'Add a player message:'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md128',1,'Display the addon name message:']]],
+ ['multiple_20fields_20in_20the_20current_20client_20s_20hash_20table_20in_20ramdb_6',['excerpt: Set multiple fields in the current client's hash table in RAMDb.',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md302',1,'']]],
+ ['multiple_20player_20settings_3a_7',['Store multiple player settings:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md310',1,'']]],
+ ['multiple_20vehicle_20properties_3a_8',['Store multiple vehicle properties:',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md338',1,'']]]
+];
diff --git a/api/html/search/all_d.js b/api/html/search/all_d.js
new file mode 100644
index 0000000..404200a
--- /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.',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md121',1,'']]],
+ ['name_20message_3a_1',['Display the addon name message:',['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md128',1,'']]],
+ ['notes_2',['Notes',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md10',1,'Notes'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md21',1,'Notes'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md33',1,'Notes'],['../da/d36/md_docs_2basic_2load.html#autotoc_md46',1,'Notes'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md64',1,'Notes'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md78',1,'Notes'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md92',1,'Notes'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md106',1,'Notes'],['../df/df2/md_docs_2core_2init.html#autotoc_md117',1,'Notes'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md130',1,'Notes'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md143',1,'Notes'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md160',1,'Notes'],['../de/d91/md_docs_2core_2test.html#autotoc_md174',1,'Notes'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md187',1,'Notes'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md201',1,'Notes'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md215',1,'Notes'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md229',1,'Notes'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md243',1,'Notes'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md257',1,'Notes'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md270',1,'Notes'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md284',1,'Notes'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md298',1,'Notes'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md312',1,'Notes'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md326',1,'Notes'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md340',1,'Notes'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md358',1,'Notes'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md369',1,'Notes'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md383',1,'Notes'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md394',1,'Notes'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md405',1,'Notes'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md416',1,'Notes']]]
+];
diff --git a/api/html/search/all_e.js b/api/html/search/all_e.js
new file mode 100644
index 0000000..ba8ae7a
--- /dev/null
+++ b/api/html/search/all_e.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['of_20a_20list_20stored_20at_20a_20key_20from_20ramdb_0',['excerpt: Get all elements of a list stored at a key from RAMDb.',['../d1/d93/md_docs_2list_2list_load.html#autotoc_md387',1,'']]],
+ ['of_20list_20stored_20at_20key_20from_20ramdb_1',['excerpt: Get element of list stored at key from RAMDb.',['../d7/d58/md_docs_2list_2list_get.html#autotoc_md373',1,'']]],
+ ['of_20stored_20key_20from_20ramdb_2',['of stored key from RAMDb',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md24',1,'excerpt: Get the value of stored key from RAMDb.'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md68',1,'excerpt: Set the value of stored key from RAMDb.']]],
+ ['of_20tasks_20to_20be_20executed_3',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['on_20the_20server_20and_20send_20to_20a_20specific_20client_3a_4',['Retrieve data on the server and send to a specific client:',['../d1/d9f/md_docs_2basic_2get.html#autotoc_md32',1,'']]],
+ ['on_20the_20server_20from_20a_20client_3a_5',['Delete a key on the server from a client:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md9',1,'']]],
+ ['on_20the_20server_3a_6',['on the server:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../da/d36/md_docs_2basic_2load.html#autotoc_md44',1,'Load the database on the server:'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md31',1,'Retrieve data in singleplayer or on the server:']]],
+ ['operation_20task_3a_7',['Add a list operation task:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md91',1,'']]],
+ ['operations_8',['Operations',['../G:/ids/ramdb/docs/README.md#autotoc_md426',1,'@ref "G:/ids/ramdb/docs/basic/README.md" "Basic Data Operations"'],['../G:/ids/ramdb/docs/README.md#autotoc_md427',1,'@ref "G:/ids/ramdb/docs/hash/README.md" "Hash Operations"'],['../G:/ids/ramdb/docs/README.md#autotoc_md428',1,'@ref "G:/ids/ramdb/docs/list/README.md" "List Operations"'],['../G:/ids/ramdb/docs/README.md#autotoc_md431',1,'Hash Operations'],['../G:/ids/ramdb/docs/README.md#autotoc_md432',1,'List Operations']]],
+ ['or_20on_20the_20server_3a_9',['or on the server:',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md8',1,'Delete a key in singleplayer or on the server:'],['../d1/d9f/md_docs_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..ffd4d5f
--- /dev/null
+++ b/api/html/search/all_f.js
@@ -0,0 +1,29 @@
+var searchData=
+[
+ ['parameters_0',['Parameters',['../d6/dff/md_docs_2basic_2delete.html#autotoc_md5',1,'Parameters'],['../d8/d05/md_docs_2basic_2fetch.html#autotoc_md18',1,'Parameters'],['../d1/d9f/md_docs_2basic_2get.html#autotoc_md28',1,'Parameters'],['../da/d36/md_docs_2basic_2load.html#autotoc_md41',1,'Parameters'],['../d8/d12/md_docs_2basic_2save.html#autotoc_md58',1,'Parameters'],['../dc/d24/md_docs_2basic_2set.html#autotoc_md72',1,'Parameters'],['../d3/df8/md_docs_2core_2add_task.html#autotoc_md86',1,'Parameters'],['../df/d1b/md_docs_2core_2handler.html#autotoc_md100',1,'Parameters'],['../df/df2/md_docs_2core_2init.html#autotoc_md114',1,'Parameters'],['../d7/d81/md_docs_2core_2print_addon_name.html#autotoc_md125',1,'Parameters'],['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md138',1,'Parameters'],['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md155',1,'Parameters'],['../de/d91/md_docs_2core_2test.html#autotoc_md168',1,'Parameters'],['../d7/d91/md_docs_2hash_2hash_delete.html#autotoc_md182',1,'Parameters'],['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md195',1,'Parameters'],['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md209',1,'Parameters'],['../d8/d96/md_docs_2hash_2hash_get_all.html#autotoc_md223',1,'Parameters'],['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md237',1,'Parameters'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md251',1,'Parameters'],['../d9/d12/md_docs_2hash_2hash_remove.html#autotoc_md265',1,'Parameters'],['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md278',1,'Parameters'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md292',1,'Parameters'],['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md306',1,'Parameters'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md320',1,'Parameters'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md334',1,'Parameters'],['../dd/dca/md_docs_2list_2list_add.html#autotoc_md352',1,'Parameters'],['../d1/d1c/md_docs_2list_2list_delete.html#autotoc_md366',1,'Parameters'],['../d7/d58/md_docs_2list_2list_get.html#autotoc_md377',1,'Parameters'],['../d1/d93/md_docs_2list_2list_load.html#autotoc_md391',1,'Parameters'],['../d6/d64/md_docs_2list_2list_remove.html#autotoc_md402',1,'Parameters'],['../d5/ddd/md_docs_2list_2list_set.html#autotoc_md413',1,'Parameters']]],
+ ['player_20data_20from_20a_20client_3a_1',['player data from a client:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md311',1,'Store player data from a client:'],['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md325',1,'Store player data from a client:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md339',1,'Store player data from a client:']]],
+ ['player_20data_20under_20their_20uid_3a_2',['Store player data under their UID:',['../dc/d24/md_docs_2basic_2set.html#autotoc_md76',1,'']]],
+ ['player_20loadout_20and_20position_3a_3',['player loadout and position:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md309',1,'Store player loadout and position:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md337',1,'Store player loadout and position:']]],
+ ['player_20message_3a_4',['Add a player message:',['../dd/dca/md_docs_2list_2list_add.html#autotoc_md356',1,'']]],
+ ['player_20preferences_3a_5',['Store player preferences:',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md296',1,'']]],
+ ['player_20s_20complete_20hash_20data_3a_6',['Retrieve a player's complete hash data:',['../d3/d33/md_docs_2hash_2hash_get_all_id.html#autotoc_md240',1,'']]],
+ ['player_20s_20hash_20data_3a_7',['Delete a player's hash data:',['../dc/d95/md_docs_2hash_2hash_delete_id.html#autotoc_md199',1,'']]],
+ ['player_20s_20loadout_20field_3a_8',['player s loadout field:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md281',1,'Remove a player's loadout field:'],['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md254',1,'Retrieve a player's loadout field:']]],
+ ['player_20s_20loadout_20under_20their_20uid_3a_9',['Store a player's loadout under their UID:',['../dc/db9/md_docs_2hash_2hash_set_id.html#autotoc_md323',1,'']]],
+ ['player_20s_20loadout_3a_10',['player s loadout:',['../dc/dae/md_docs_2hash_2hash_get.html#autotoc_md212',1,'Retrieve a player's loadout:'],['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md295',1,'Store a player's loadout:']]],
+ ['player_20settings_3a_11',['Store multiple player settings:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md310',1,'']]],
+ ['player_20specific_20task_20that_20returns_20data_20to_20a_20specific_20client_3a_12',['Add a player-specific task that returns data to a specific client:',['../d3/df8/md_docs_2core_2add_task.html#autotoc_md90',1,'']]],
+ ['position_3a_13',['position:',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html#autotoc_md309',1,'Store player loadout and position:'],['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md337',1,'Store player loadout and position:']]],
+ ['preferences_3a_14',['Store player preferences:',['../d0/d68/md_docs_2hash_2hash_set.html#autotoc_md296',1,'']]],
+ ['printaddonname_15',['printAddonName',['../d7/d81/md_docs_2core_2print_addon_name.html',1,'']]],
+ ['process_20a_20callback_20from_20the_20extension_3a_16',['Process a callback from the extension:',['../d8/df5/md_docs_2core_2scheduler.html#autotoc_md158',1,'']]],
+ ['process_20data_20locally_3a_17',['Process data locally:',['../df/d1b/md_docs_2core_2handler.html#autotoc_md103',1,'']]],
+ ['process_20data_20with_20direct_20call_20synchronous_20_3a_18',['Process data with direct call (synchronous):',['../df/d1b/md_docs_2core_2handler.html#autotoc_md105',1,'']]],
+ ['processes_20a_20queue_20of_20tasks_20to_20be_20executed_19',['excerpt: Processes a queue of tasks to be executed.',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md134',1,'']]],
+ ['processing_20from_20a_20client_3a_20',['Trigger queue processing from a client:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md142',1,'']]],
+ ['processing_20the_20queue_20manually_3a_21',['Start processing the queue manually:',['../de/dc8/md_docs_2core_2process_queue.html#autotoc_md141',1,'']]],
+ ['processqueue_22',['processQueue',['../de/dc8/md_docs_2core_2process_queue.html',1,'']]],
+ ['properties_3a_23',['Store multiple vehicle properties:',['../d2/d02/md_docs_2hash_2hash_set_id_bulk.html#autotoc_md338',1,'']]],
+ ['property_20with_20synchronous_20callback_3a_24',['Retrieve a specific vehicle property with synchronous callback:',['../d5/d27/md_docs_2hash_2hash_get_id.html#autotoc_md255',1,'']]],
+ ['property_3a_25',['Remove a vehicle property:',['../d9/dae/md_docs_2hash_2hash_remove_id.html#autotoc_md282',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..f083b9b
--- /dev/null
+++ b/api/html/search/pages_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['addtask_0',['addTask',['../d3/df8/md_docs_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..bd3354b
--- /dev/null
+++ b/api/html/search/pages_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['delete_0',['delete',['../d6/dff/md_docs_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..3b6bc0f
--- /dev/null
+++ b/api/html/search/pages_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['fetch_0',['fetch',['../d8/d05/md_docs_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..ff09c7f
--- /dev/null
+++ b/api/html/search/pages_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['get_0',['get',['../d1/d9f/md_docs_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..72778e9
--- /dev/null
+++ b/api/html/search/pages_4.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+ ['handler_0',['handler',['../df/d1b/md_docs_2core_2handler.html',1,'']]],
+ ['hashdelete_1',['hashDelete',['../d7/d91/md_docs_2hash_2hash_delete.html',1,'']]],
+ ['hashdeleteid_2',['hashDeleteId',['../dc/d95/md_docs_2hash_2hash_delete_id.html',1,'']]],
+ ['hashget_3',['hashGet',['../dc/dae/md_docs_2hash_2hash_get.html',1,'']]],
+ ['hashgetall_4',['hashGetAll',['../d8/d96/md_docs_2hash_2hash_get_all.html',1,'']]],
+ ['hashgetallid_5',['hashGetAllId',['../d3/d33/md_docs_2hash_2hash_get_all_id.html',1,'']]],
+ ['hashgetid_6',['hashGetId',['../d5/d27/md_docs_2hash_2hash_get_id.html',1,'']]],
+ ['hashremove_7',['hashRemove',['../d9/d12/md_docs_2hash_2hash_remove.html',1,'']]],
+ ['hashremoveid_8',['hashRemoveId',['../d9/dae/md_docs_2hash_2hash_remove_id.html',1,'']]],
+ ['hashset_9',['hashSet',['../d0/d68/md_docs_2hash_2hash_set.html',1,'']]],
+ ['hashsetbulk_10',['hashSetBulk',['../d9/dc1/md_docs_2hash_2hash_set_bulk.html',1,'']]],
+ ['hashsetid_11',['hashSetId',['../dc/db9/md_docs_2hash_2hash_set_id.html',1,'']]],
+ ['hashsetidbulk_12',['hashSetIdBulk',['../d2/d02/md_docs_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..f638eac
--- /dev/null
+++ b/api/html/search/pages_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['init_0',['init',['../df/df2/md_docs_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..f4627c1
--- /dev/null
+++ b/api/html/search/pages_6.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['listadd_0',['listAdd',['../dd/dca/md_docs_2list_2list_add.html',1,'']]],
+ ['listdelete_1',['listDelete',['../d1/d1c/md_docs_2list_2list_delete.html',1,'']]],
+ ['listget_2',['listGet',['../d7/d58/md_docs_2list_2list_get.html',1,'']]],
+ ['listload_3',['listLoad',['../d1/d93/md_docs_2list_2list_load.html',1,'']]],
+ ['listremove_4',['listRemove',['../d6/d64/md_docs_2list_2list_remove.html',1,'']]],
+ ['listset_5',['listSet',['../d5/ddd/md_docs_2list_2list_set.html',1,'']]],
+ ['load_6',['load',['../da/d36/md_docs_2basic_2load.html',1,'']]]
+];
diff --git a/api/html/search/pages_7.js b/api/html/search/pages_7.js
new file mode 100644
index 0000000..e360202
--- /dev/null
+++ b/api/html/search/pages_7.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['printaddonname_0',['printAddonName',['../d7/d81/md_docs_2core_2print_addon_name.html',1,'']]],
+ ['processqueue_1',['processQueue',['../de/dc8/md_docs_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..d69ff88
--- /dev/null
+++ b/api/html/search/pages_8.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['save_0',['save',['../d8/d12/md_docs_2basic_2save.html',1,'']]],
+ ['scheduler_1',['scheduler',['../d8/df5/md_docs_2core_2scheduler.html',1,'']]],
+ ['set_2',['set',['../dc/d24/md_docs_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..07a59e5
--- /dev/null
+++ b/api/html/search/pages_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['test_0',['test',['../de/d91/md_docs_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/d68/md_docs_2hash_2hash_set.tex b/api/latex/d0/d68/md_docs_2hash_2hash_set.tex
new file mode 100644
index 0000000..a956095
--- /dev/null
+++ b/api/latex/d0/d68/md_docs_2hash_2hash_set.tex
@@ -0,0 +1,68 @@
+\chapter{hash\+Set}
+\hypertarget{md_docs_2hash_2hash_set}{}\label{md_docs_2hash_2hash_set}\index{hashSet@{hashSet}}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md287}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md287}{autotoc\+\_\+md287}}\label{md_docs_2hash_2hash_set_autotoc_md287}
+title\+: Arma\+RAMDb -\/ Hash Set icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_set_autotoc_md288}{}\doxysubsection{\texorpdfstring{excerpt\+: Set a field value in the current client\textquotesingle{}s hash table in RAMDb.}{excerpt\+: Set a field value in the current client\textquotesingle{}s hash table in RAMDb.}}\label{md_docs_2hash_2hash_set_autotoc_md288}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md289}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}}\label{md_docs_2hash_2hash_set_autotoc_md289}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md290}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_set_autotoc_md290}
+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_docs_2hash_2hash_set_autotoc_md291}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_set_autotoc_md291}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_keyField,\ \_data]\ call\ ramdb\_db\_fnc\_hashSet}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md292}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_set_autotoc_md292}
+\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_docs_2hash_2hash_set_autotoc_md293}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_set_autotoc_md293}
+None. The operation runs synchronously to store the data.\hypertarget{md_docs_2hash_2hash_set_autotoc_md294}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_set_autotoc_md294}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md295}{}\doxysubsubsection{\texorpdfstring{Store a player\textquotesingle{}s loadout\+:}{Store a player\textquotesingle{}s loadout\+:}}\label{md_docs_2hash_2hash_set_autotoc_md295}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}loadout"{},\ [getUnitLoadout\ player]]\ call\ ramdb\_db\_fnc\_hashSet;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md296}{}\doxysubsubsection{\texorpdfstring{Store player preferences\+:}{Store player preferences\+:}}\label{md_docs_2hash_2hash_set_autotoc_md296}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}settings"{},\ [true,\ 30,\ "{}normal"{}]]\ call\ ramdb\_db\_fnc\_hashSet;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md297}{}\doxysubsubsection{\texorpdfstring{Store data from a client\+:}{Store data from a client\+:}}\label{md_docs_2hash_2hash_set_autotoc_md297}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}clientInfo"{},\ [name\ player,\ getPlayerUID\ player]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashSet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_autotoc_md298}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_set_autotoc_md298}
+
+\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_docs_2hash_2hash_set_autotoc_md299}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_set_autotoc_md299}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table (when you need to specify the ID)
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a field value from the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}\+: Sets multiple fields in the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}\+: Removes the current client\textquotesingle{}s hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_set_autotoc_md300}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_set_autotoc_md300}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d1/d1c/md_docs_2list_2list_delete.tex b/api/latex/d1/d1c/md_docs_2list_2list_delete.tex
new file mode 100644
index 0000000..085b706
--- /dev/null
+++ b/api/latex/d1/d1c/md_docs_2list_2list_delete.tex
@@ -0,0 +1,67 @@
+\chapter{list\+Delete}
+\hypertarget{md_docs_2list_2list_delete}{}\label{md_docs_2list_2list_delete}\index{listDelete@{listDelete}}
+\hypertarget{md_docs_2list_2list_delete_autotoc_md361}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md361}{autotoc\+\_\+md361}}\label{md_docs_2list_2list_delete_autotoc_md361}
+title\+: Arma\+RAMDb -\/ List Delete icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2list_2list_delete_autotoc_md362}{}\doxysubsection{\texorpdfstring{excerpt\+: Delete an entire list stored at a key from RAMDb.}{excerpt\+: Delete an entire list stored at a key from RAMDb.}}\label{md_docs_2list_2list_delete_autotoc_md362}
+\hypertarget{md_docs_2list_2list_delete_autotoc_md363}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Delete}{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Delete}}\label{md_docs_2list_2list_delete_autotoc_md363}
+\hypertarget{md_docs_2list_2list_delete_autotoc_md364}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2list_2list_delete_autotoc_md364}
+Completely removes a list and all its elements stored at a specified key from the RAMDb database. This function provides a way to delete entire collections of data at once, rather than removing individual elements. It is useful for cleaning up obsolete data, resetting collections, or removing temporary lists that are no longer needed.\hypertarget{md_docs_2list_2list_delete_autotoc_md365}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2list_2list_delete_autotoc_md365}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key]\ call\ ramdb\_db\_fnc\_listDelete}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_delete_autotoc_md366}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2list_2list_delete_autotoc_md366}
+\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 deleted &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md_docs_2list_2list_delete_autotoc_md367}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2list_2list_delete_autotoc_md367}
+None. The operation runs synchronously to delete the list immediately.\hypertarget{md_docs_2list_2list_delete_autotoc_md368}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2list_2list_delete_autotoc_md368}
+{\bfseries{Delete an event log\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}eventLog"{}]\ call\ ramdb\_db\_fnc\_listDelete;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Remove temporary mission data\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}tempMissionData"{}]\ call\ ramdb\_db\_fnc\_listDelete;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Delete a list in multiplayer\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}sharedTempData"{}]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_listDelete"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_delete_autotoc_md369}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2list_2list_delete_autotoc_md369}
+
+\begin{DoxyItemize}
+\item This function deletes the entire list and all its elements associated with the specified key.
+\item Unlike {\ttfamily list\+Remove}, which removes a single element by index, this function removes the complete list structure.
+\item The {\ttfamily \+\_\+key} parameter must be a non-\/empty string, otherwise the function will exit without performing any action.
+\item Once a list is deleted, it cannot be recovered unless you have previously saved or backed up the data.
+\item If you need to selectively remove elements while preserving the list structure, use {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove} instead.
+\item The deletion operation is permanent and cannot be undone.
+\item All list operations are logged for debugging purposes.
+\end{DoxyItemize}\hypertarget{md_docs_2list_2list_delete_autotoc_md370}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2list_2list_delete_autotoc_md370}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2list_2list_delete_autotoc_md371}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2list_2list_delete_autotoc_md371}
+\doxysectlink{md_docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_delete}{List Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d1/d93/md_docs_2list_2list_load.tex b/api/latex/d1/d93/md_docs_2list_2list_load.tex
new file mode 100644
index 0000000..5322c06
--- /dev/null
+++ b/api/latex/d1/d93/md_docs_2list_2list_load.tex
@@ -0,0 +1,70 @@
+\chapter{list\+Load}
+\hypertarget{md_docs_2list_2list_load}{}\label{md_docs_2list_2list_load}\index{listLoad@{listLoad}}
+\hypertarget{md_docs_2list_2list_load_autotoc_md386}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md386}{autotoc\+\_\+md386}}\label{md_docs_2list_2list_load_autotoc_md386}
+title\+: Arma\+RAMDb -\/ List Load icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2list_2list_load_autotoc_md387}{}\doxysubsection{\texorpdfstring{excerpt\+: Get all elements of a list stored at a key from RAMDb.}{excerpt\+: Get all elements of a list stored at a key from RAMDb.}}\label{md_docs_2list_2list_load_autotoc_md387}
+\hypertarget{md_docs_2list_2list_load_autotoc_md388}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Load}{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Load}}\label{md_docs_2list_2list_load_autotoc_md388}
+\hypertarget{md_docs_2list_2list_load_autotoc_md389}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2list_2list_load_autotoc_md389}
+Retrieves all elements of a list stored at a specified key from the RAMDb 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_docs_2list_2list_load_autotoc_md390}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2list_2list_load_autotoc_md390}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_listLoad}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_load_autotoc_md391}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2list_2list_load_autotoc_md391}
+\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_docs_2list_2list_load_autotoc_md392}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2list_2list_load_autotoc_md392}
+No value is returned directly. The retrieved list data is passed to the specified callback function asynchronously.\hypertarget{md_docs_2list_2list_load_autotoc_md393}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2list_2list_load_autotoc_md393}
+{\bfseries{Retrieve all event logs\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}events"{},\ "{}myProject\_fnc\_processEventLogs"{}]\ call\ ramdb\_db\_fnc\_listLoad;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Retrieve a player list with synchronous callback\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerList"{},\ "{}myProject\_fnc\_processPlayerList"{},\ true]\ call\ ramdb\_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\ ["{}ramdb\_db\_fnc\_listLoad"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_load_autotoc_md394}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2list_2list_load_autotoc_md394}
+
+\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_docs_2list_2list_load_autotoc_md395}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2list_2list_load_autotoc_md395}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Delete}\+: Deletes an entire list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2list_2list_load_autotoc_md396}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2list_2list_load_autotoc_md396}
+\doxysectlink{md_docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_delete}{List Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d1/d9f/md_docs_2basic_2get.tex b/api/latex/d1/d9f/md_docs_2basic_2get.tex
new file mode 100644
index 0000000..c3a541e
--- /dev/null
+++ b/api/latex/d1/d9f/md_docs_2basic_2get.tex
@@ -0,0 +1,58 @@
+\chapter{get}
+\hypertarget{md_docs_2basic_2get}{}\label{md_docs_2basic_2get}\index{get@{get}}
+\hypertarget{md_docs_2basic_2get_autotoc_md23}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md23}{autotoc\+\_\+md23}}\label{md_docs_2basic_2get_autotoc_md23}
+title\+: Arma\+RAMDb -\/ Get Key icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2basic_2get_autotoc_md24}{}\doxysubsection{\texorpdfstring{excerpt\+: Get the value of stored key from RAMDb.}{excerpt\+: Get the value of stored key from RAMDb.}}\label{md_docs_2basic_2get_autotoc_md24}
+\hypertarget{md_docs_2basic_2get_autotoc_md25}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+get}{ramdb\+\_\+db\+\_\+fnc\+\_\+get}}\label{md_docs_2basic_2get_autotoc_md25}
+\hypertarget{md_docs_2basic_2get_autotoc_md26}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_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_docs_2basic_2get_autotoc_md27}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2basic_2get_autotoc_md27}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_get}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2get_autotoc_md28}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_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_docs_2basic_2get_autotoc_md29}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2basic_2get_autotoc_md29}
+None. When data is retrieved, it will be passed to the specified function. The operation runs asynchronously.\hypertarget{md_docs_2basic_2get_autotoc_md30}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2basic_2get_autotoc_md30}
+\hypertarget{md_docs_2basic_2get_autotoc_md31}{}\doxysubsubsection{\texorpdfstring{Retrieve data in singleplayer or on the server\+:}{Retrieve data in singleplayer or on the server\+:}}\label{md_docs_2basic_2get_autotoc_md31}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_get;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_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_docs_2basic_2get_autotoc_md32}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}ramdb\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_get"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2get_autotoc_md33}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_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_docs_2basic_2get_autotoc_md34}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2basic_2get_autotoc_md34}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+set}\+: Stores a value by key
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+delete}\+: Removes a value by key
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback response
+\end{DoxyItemize}\hypertarget{md_docs_2basic_2get_autotoc_md35}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2basic_2get_autotoc_md35}
+\doxysectlink{md_docs_2basic_2delete}{Delete Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2get}{Get Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2set}{Set Key}{0}
\ No newline at end of file
diff --git a/api/latex/d2/d02/md_docs_2hash_2hash_set_id_bulk.tex b/api/latex/d2/d02/md_docs_2hash_2hash_set_id_bulk.tex
new file mode 100644
index 0000000..2cff6f2
--- /dev/null
+++ b/api/latex/d2/d02/md_docs_2hash_2hash_set_id_bulk.tex
@@ -0,0 +1,69 @@
+\chapter{hash\+Set\+Id\+Bulk}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk}{}\label{md_docs_2hash_2hash_set_id_bulk}\index{hashSetIdBulk@{hashSetIdBulk}}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md329}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md329}{autotoc\+\_\+md329}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md329}
+title\+: Arma\+RAMDb -\/ Hash Set ID Bulk icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md330}{}\doxysubsection{\texorpdfstring{excerpt\+: Set the specified fields to their respective values in the hash stored at key from RAMDb.}{excerpt\+: Set the specified fields to their respective values in the hash stored at key from RAMDb.}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md330}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md331}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id\+Bulk}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id\+Bulk}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md331}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md332}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md332}
+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_docs_2hash_2hash_set_id_bulk_autotoc_md333}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md333}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_data]\ call\ ramdb\_db\_fnc\_hashSetIdBulk}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md334}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_set_id_bulk_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
+{\ttfamily \+\_\+data} &Array &Array with key followed by alternating field names and values &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md335}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md335}
+None. The operation runs synchronously to store all the data.\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md336}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md336}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md337}{}\doxysubsubsection{\texorpdfstring{Store player loadout and position\+:}{Store player loadout and position\+:}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md337}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[[getPlayerUID\ player,\ "{}loadout"{},\ [getUnitLoadout\ player],\ "{}position"{},\ [getPosASLVisual\ player]]]\ call\ ramdb\_db\_fnc\_hashSetIdBulk;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md338}{}\doxysubsubsection{\texorpdfstring{Store multiple vehicle properties\+:}{Store multiple vehicle properties\+:}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md338}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}vehicle\_123"{},\ "{}fuel"{},\ [0.75],\ "{}damage"{},\ [0.2],\ "{}crew"{},\ [["{}player1"{},\ "{}player2"{}]]]]\ call\ ramdb\_db\_fnc\_hashSetIdBulk;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md339}{}\doxysubsubsection{\texorpdfstring{Store player data from a client\+:}{Store player data from a client\+:}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md339}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[[getPlayerUID\ player,\ "{}stats"{},\ [score\ player],\ "{}inventory"{},\ [getAllGear\ player]]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashSetIdBulk"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md340}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md340}
+
+\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_docs_2hash_2hash_set_id_bulk_autotoc_md341}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md341}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a single field value in a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}\+: Sets multiple field-\/value pairs in the global hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a specific field value from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete\+Id}\+: Removes a specific hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_set_id_bulk_autotoc_md342}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_set_id_bulk_autotoc_md342}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d3/d33/md_docs_2hash_2hash_get_all_id.tex b/api/latex/d3/d33/md_docs_2hash_2hash_get_all_id.tex
new file mode 100644
index 0000000..78d25a9
--- /dev/null
+++ b/api/latex/d3/d33/md_docs_2hash_2hash_get_all_id.tex
@@ -0,0 +1,70 @@
+\chapter{hash\+Get\+All\+Id}
+\hypertarget{md_docs_2hash_2hash_get_all_id}{}\label{md_docs_2hash_2hash_get_all_id}\index{hashGetAllId@{hashGetAllId}}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md232}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md232}{autotoc\+\_\+md232}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md232}
+title\+: Arma\+RAMDb -\/ Hash Get All ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md233}{}\doxysubsection{\texorpdfstring{excerpt\+: Get all fields and values from the hash stored at key from RAMDb.}{excerpt\+: Get all fields and values from the hash stored at key from RAMDb.}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md233}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md234}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md234}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md235}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md235}
+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_docs_2hash_2hash_get_all_id_autotoc_md236}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md236}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_hashGetAllId}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md237}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md237}
+\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_docs_2hash_2hash_get_all_id_autotoc_md238}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md238}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md239}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md239}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md240}{}\doxysubsubsection{\texorpdfstring{Retrieve a player\textquotesingle{}s complete hash data\+:}{Retrieve a player\textquotesingle{}s complete hash data\+:}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md240}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_hashGetAllId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md241}{}\doxysubsubsection{\texorpdfstring{Retrieve vehicle data with synchronous callback\+:}{Retrieve vehicle data with synchronous callback\+:}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md241}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicle\_123"{},\ "{}ramdb\_db\_fnc\_processVehicleData"{},\ true]\ call\ ramdb\_db\_fnc\_hashGetAllId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md242}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md242}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}ramdb\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashGetAllId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md243}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md243}
+
+\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_docs_2hash_2hash_get_all_id_autotoc_md244}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md244}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the global hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a specific field value from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a specific field value from the global hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_get_all_id_autotoc_md245}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_get_all_id_autotoc_md245}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d3/df8/md_docs_2core_2add_task.tex b/api/latex/d3/df8/md_docs_2core_2add_task.tex
new file mode 100644
index 0000000..b8f194f
--- /dev/null
+++ b/api/latex/d3/df8/md_docs_2core_2add_task.tex
@@ -0,0 +1,68 @@
+\chapter{add\+Task}
+\hypertarget{md_docs_2core_2add_task}{}\label{md_docs_2core_2add_task}\index{addTask@{addTask}}
+\hypertarget{md_docs_2core_2add_task_autotoc_md81}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md81}{autotoc\+\_\+md81}}\label{md_docs_2core_2add_task_autotoc_md81}
+title\+: Arma\+RAMDb -\/ Add Task icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2core_2add_task_autotoc_md82}{}\doxysubsection{\texorpdfstring{excerpt\+: Add task to queue.}{excerpt\+: Add task to queue.}}\label{md_docs_2core_2add_task_autotoc_md82}
+\hypertarget{md_docs_2core_2add_task_autotoc_md83}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+add\+Task}{ramdb\+\_\+db\+\_\+fnc\+\_\+add\+Task}}\label{md_docs_2core_2add_task_autotoc_md83}
+\hypertarget{md_docs_2core_2add_task_autotoc_md84}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2core_2add_task_autotoc_md84}
+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_docs_2core_2add_task_autotoc_md85}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2core_2add_task_autotoc_md85}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_taskType,\ \_key,\ \_keyField,\ \_index,\ \_value,\ \_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_addTask}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2add_task_autotoc_md86}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2core_2add_task_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 \+\_\+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_docs_2core_2add_task_autotoc_md87}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2core_2add_task_autotoc_md87}
+None. The task is added to the queue and processed asynchronously.\hypertarget{md_docs_2core_2add_task_autotoc_md88}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2core_2add_task_autotoc_md88}
+\hypertarget{md_docs_2core_2add_task_autotoc_md89}{}\doxysubsubsection{\texorpdfstring{Add a hash table retrieval task\+:}{Add a hash table retrieval task\+:}}\label{md_docs_2core_2add_task_autotoc_md89}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}hgetall"{},\ "{}"{},\ "{}"{},\ -\/1,\ [],\ "{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_addTask;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2add_task_autotoc_md90}{}\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_docs_2core_2add_task_autotoc_md90}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}hgetallid"{},\ getPlayerUID\ player,\ "{}"{},\ -\/1,\ [],\ "{}ramdb\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_addTask"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2add_task_autotoc_md91}{}\doxysubsubsection{\texorpdfstring{Add a list operation task\+:}{Add a list operation task\+:}}\label{md_docs_2core_2add_task_autotoc_md91}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}listadd"{},\ "{}playerMessages"{},\ "{}"{},\ -\/1,\ ["{}New\ message\ content"{}],\ "{}"{}]\ call\ ramdb\_db\_fnc\_addTask;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2add_task_autotoc_md92}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2core_2add_task_autotoc_md92}
+
+\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_docs_2core_2add_task_autotoc_md93}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2core_2add_task_autotoc_md93}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+process\+Queue}\+: Processes the pending tasks in the queue
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+handler}\+: Handles the results of completed database operations
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages callback responses from the database
+\end{DoxyItemize}\hypertarget{md_docs_2core_2add_task_autotoc_md94}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2core_2add_task_autotoc_md94}
+\doxysectlink{md_docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d5/d27/md_docs_2hash_2hash_get_id.tex b/api/latex/d5/d27/md_docs_2hash_2hash_get_id.tex
new file mode 100644
index 0000000..fad5a9f
--- /dev/null
+++ b/api/latex/d5/d27/md_docs_2hash_2hash_get_id.tex
@@ -0,0 +1,71 @@
+\chapter{hash\+Get\+Id}
+\hypertarget{md_docs_2hash_2hash_get_id}{}\label{md_docs_2hash_2hash_get_id}\index{hashGetId@{hashGetId}}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md246}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md246}{autotoc\+\_\+md246}}\label{md_docs_2hash_2hash_get_id_autotoc_md246}
+title\+: Arma\+RAMDb -\/ Hash Get ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_get_id_autotoc_md247}{}\doxysubsection{\texorpdfstring{excerpt\+: Get the value associated with field in hash stored at key from RAMDb.}{excerpt\+: Get the value associated with field in hash stored at key from RAMDb.}}\label{md_docs_2hash_2hash_get_id_autotoc_md247}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md248}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}}\label{md_docs_2hash_2hash_get_id_autotoc_md248}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md249}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_get_id_autotoc_md249}
+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_docs_2hash_2hash_get_id_autotoc_md250}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_get_id_autotoc_md250}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_keyField,\ \_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_hashGetId}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md251}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_get_id_autotoc_md251}
+\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_docs_2hash_2hash_get_id_autotoc_md252}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_get_id_autotoc_md252}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md253}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_get_id_autotoc_md253}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md254}{}\doxysubsubsection{\texorpdfstring{Retrieve a player\textquotesingle{}s loadout field\+:}{Retrieve a player\textquotesingle{}s loadout field\+:}}\label{md_docs_2hash_2hash_get_id_autotoc_md254}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}loadout"{},\ "{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_hashGetId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md255}{}\doxysubsubsection{\texorpdfstring{Retrieve a specific vehicle property with synchronous callback\+:}{Retrieve a specific vehicle property with synchronous callback\+:}}\label{md_docs_2hash_2hash_get_id_autotoc_md255}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicle\_123"{},\ "{}fuel"{},\ "{}ramdb\_db\_fnc\_processFuelData"{},\ true]\ call\ ramdb\_db\_fnc\_hashGetId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md256}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md_docs_2hash_2hash_get_id_autotoc_md256}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}stats"{},\ "{}ramdb\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashGetId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md257}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_get_id_autotoc_md257}
+
+\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_docs_2hash_2hash_get_id_autotoc_md258}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_get_id_autotoc_md258}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a field value from the global hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the global hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_get_id_autotoc_md259}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_get_id_autotoc_md259}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d5/ddd/md_docs_2list_2list_set.tex b/api/latex/d5/ddd/md_docs_2list_2list_set.tex
new file mode 100644
index 0000000..931c9aa
--- /dev/null
+++ b/api/latex/d5/ddd/md_docs_2list_2list_set.tex
@@ -0,0 +1,69 @@
+\chapter{list\+Set}
+\hypertarget{md_docs_2list_2list_set}{}\label{md_docs_2list_2list_set}\index{listSet@{listSet}}
+\hypertarget{md_docs_2list_2list_set_autotoc_md408}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md408}{autotoc\+\_\+md408}}\label{md_docs_2list_2list_set_autotoc_md408}
+title\+: Arma\+RAMDb -\/ List Set icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2list_2list_set_autotoc_md409}{}\doxysubsection{\texorpdfstring{excerpt\+: Set an element in a list stored at a key in RAMDb.}{excerpt\+: Set an element in a list stored at a key in RAMDb.}}\label{md_docs_2list_2list_set_autotoc_md409}
+\hypertarget{md_docs_2list_2list_set_autotoc_md410}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Set}{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Set}}\label{md_docs_2list_2list_set_autotoc_md410}
+\hypertarget{md_docs_2list_2list_set_autotoc_md411}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2list_2list_set_autotoc_md411}
+Updates or sets the value of a specific element at a given index in a list stored at a specified key in the RAMDb 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_docs_2list_2list_set_autotoc_md412}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2list_2list_set_autotoc_md412}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_index,\ \_data]\ call\ ramdb\_db\_fnc\_listSet}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_set_autotoc_md413}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2list_2list_set_autotoc_md413}
+\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_docs_2list_2list_set_autotoc_md414}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2list_2list_set_autotoc_md414}
+None. The operation runs synchronously to update the element immediately.\hypertarget{md_docs_2list_2list_set_autotoc_md415}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2list_2list_set_autotoc_md415}
+{\bfseries{Update an event log entry\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}eventLog"{},\ 0,\ ["{}Updated\ event\ information"{}]]\ call\ ramdb\_db\_fnc\_listSet;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Modify player statistics\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerStats"{},\ 3,\ [name\ player,\ score\ player,\ alive\ player]]\ call\ ramdb\_db\_fnc\_listSet;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Update configuration in multiplayer\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}missionConfig"{},\ 1,\ ["{}difficulty"{},\ "{}veteran"{}]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_listSet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_set_autotoc_md416}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2list_2list_set_autotoc_md416}
+
+\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_docs_2list_2list_set_autotoc_md417}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2list_2list_set_autotoc_md417}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Delete}\+: Deletes an entire list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2list_2list_set_autotoc_md418}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2list_2list_set_autotoc_md418}
+\doxysectlink{md_docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_delete}{List Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d6/d64/md_docs_2list_2list_remove.tex b/api/latex/d6/d64/md_docs_2list_2list_remove.tex
new file mode 100644
index 0000000..4265c8b
--- /dev/null
+++ b/api/latex/d6/d64/md_docs_2list_2list_remove.tex
@@ -0,0 +1,68 @@
+\chapter{list\+Remove}
+\hypertarget{md_docs_2list_2list_remove}{}\label{md_docs_2list_2list_remove}\index{listRemove@{listRemove}}
+\hypertarget{md_docs_2list_2list_remove_autotoc_md397}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md397}{autotoc\+\_\+md397}}\label{md_docs_2list_2list_remove_autotoc_md397}
+title\+: Arma\+RAMDb -\/ List Remove icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2list_2list_remove_autotoc_md398}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove an element from a list stored at a key in RAMDb.}{excerpt\+: Remove an element from a list stored at a key in RAMDb.}}\label{md_docs_2list_2list_remove_autotoc_md398}
+\hypertarget{md_docs_2list_2list_remove_autotoc_md399}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove}{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove}}\label{md_docs_2list_2list_remove_autotoc_md399}
+\hypertarget{md_docs_2list_2list_remove_autotoc_md400}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2list_2list_remove_autotoc_md400}
+Removes a specific element from a list stored at a specified key in the RAMDb 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_docs_2list_2list_remove_autotoc_md401}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2list_2list_remove_autotoc_md401}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_index]\ call\ ramdb\_db\_fnc\_listRemove}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_remove_autotoc_md402}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2list_2list_remove_autotoc_md402}
+\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_docs_2list_2list_remove_autotoc_md403}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2list_2list_remove_autotoc_md403}
+None. The operation runs synchronously to remove the element immediately.\hypertarget{md_docs_2list_2list_remove_autotoc_md404}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2list_2list_remove_autotoc_md404}
+{\bfseries{Remove the first element from an event log\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}eventLog"{},\ 0]\ call\ ramdb\_db\_fnc\_listRemove;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Remove a specific player record\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerRecords"{},\ 5]\ call\ ramdb\_db\_fnc\_listRemove;}
+
+\end{DoxyCode}
+
+
+{\bfseries{Remove an element from a multiplayer environment\+:}}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}sharedData"{},\ 2]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_listRemove"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_remove_autotoc_md405}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2list_2list_remove_autotoc_md405}
+
+\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_docs_2list_2list_remove_autotoc_md406}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2list_2list_remove_autotoc_md406}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Delete}\+: Deletes an entire list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2list_2list_remove_autotoc_md407}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2list_2list_remove_autotoc_md407}
+\doxysectlink{md_docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_delete}{List Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d6/dff/md_docs_2basic_2delete.tex b/api/latex/d6/dff/md_docs_2basic_2delete.tex
new file mode 100644
index 0000000..2815cd9
--- /dev/null
+++ b/api/latex/d6/dff/md_docs_2basic_2delete.tex
@@ -0,0 +1,53 @@
+\chapter{delete}
+\hypertarget{md_docs_2basic_2delete}{}\label{md_docs_2basic_2delete}\index{delete@{delete}}
+\hypertarget{md_docs_2basic_2delete_autotoc_md0}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md0}{autotoc\+\_\+md0}}\label{md_docs_2basic_2delete_autotoc_md0}
+title\+: Arma\+RAMDb -\/ Delete Key icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2basic_2delete_autotoc_md1}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove the specified key from RAMDb.}{excerpt\+: Remove the specified key from RAMDb.}}\label{md_docs_2basic_2delete_autotoc_md1}
+\hypertarget{md_docs_2basic_2delete_autotoc_md2}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+delete}{ramdb\+\_\+db\+\_\+fnc\+\_\+delete}}\label{md_docs_2basic_2delete_autotoc_md2}
+\hypertarget{md_docs_2basic_2delete_autotoc_md3}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2basic_2delete_autotoc_md3}
+Removes the specified key from the database. This function deletes the key-\/value pair completely from storage.\hypertarget{md_docs_2basic_2delete_autotoc_md4}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2basic_2delete_autotoc_md4}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key]\ call\ ramdb\_db\_fnc\_delete}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2delete_autotoc_md5}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_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_docs_2basic_2delete_autotoc_md6}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2basic_2delete_autotoc_md6}
+None. The operation runs asynchronously.\hypertarget{md_docs_2basic_2delete_autotoc_md7}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2basic_2delete_autotoc_md7}
+\hypertarget{md_docs_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_docs_2basic_2delete_autotoc_md8}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerData"{}]\ call\ ramdb\_db\_fnc\_delete;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_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_docs_2basic_2delete_autotoc_md9}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerData"{}]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_delete"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2delete_autotoc_md10}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_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_docs_2basic_2delete_autotoc_md11}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2basic_2delete_autotoc_md11}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+get}\+: Retrieves a value by key
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+set}\+: Stores a value by key
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback response
+\end{DoxyItemize}\hypertarget{md_docs_2basic_2delete_autotoc_md12}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2basic_2delete_autotoc_md12}
+\doxysectlink{md_docs_2basic_2delete}{Delete Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2get}{Get Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2set}{Set Key}{0}
\ No newline at end of file
diff --git a/api/latex/d7/d58/md_docs_2list_2list_get.tex b/api/latex/d7/d58/md_docs_2list_2list_get.tex
new file mode 100644
index 0000000..dffd243
--- /dev/null
+++ b/api/latex/d7/d58/md_docs_2list_2list_get.tex
@@ -0,0 +1,72 @@
+\chapter{list\+Get}
+\hypertarget{md_docs_2list_2list_get}{}\label{md_docs_2list_2list_get}\index{listGet@{listGet}}
+\hypertarget{md_docs_2list_2list_get_autotoc_md372}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md372}{autotoc\+\_\+md372}}\label{md_docs_2list_2list_get_autotoc_md372}
+title\+: Arma\+RAMDb -\/ List Get icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2list_2list_get_autotoc_md373}{}\doxysubsection{\texorpdfstring{excerpt\+: Get element of list stored at key from RAMDb.}{excerpt\+: Get element of list stored at key from RAMDb.}}\label{md_docs_2list_2list_get_autotoc_md373}
+\hypertarget{md_docs_2list_2list_get_autotoc_md374}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Get}{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Get}}\label{md_docs_2list_2list_get_autotoc_md374}
+\hypertarget{md_docs_2list_2list_get_autotoc_md375}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2list_2list_get_autotoc_md375}
+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_docs_2list_2list_get_autotoc_md376}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2list_2list_get_autotoc_md376}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_index,\ \_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_listGet}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_get_autotoc_md377}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2list_2list_get_autotoc_md377}
+\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_docs_2list_2list_get_autotoc_md378}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2list_2list_get_autotoc_md378}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md_docs_2list_2list_get_autotoc_md379}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2list_2list_get_autotoc_md379}
+\hypertarget{md_docs_2list_2list_get_autotoc_md380}{}\doxysubsubsection{\texorpdfstring{Retrieve a specific event log entry\+:}{Retrieve a specific event log entry\+:}}\label{md_docs_2list_2list_get_autotoc_md380}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}events"{},\ 0,\ "{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_listGet;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_get_autotoc_md381}{}\doxysubsubsection{\texorpdfstring{Retrieve data with synchronous callback\+:}{Retrieve data with synchronous callback\+:}}\label{md_docs_2list_2list_get_autotoc_md381}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}messages"{},\ 5,\ "{}ramdb\_db\_fnc\_processMessage"{},\ true]\ call\ ramdb\_db\_fnc\_listGet;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_get_autotoc_md382}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md_docs_2list_2list_get_autotoc_md382}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}notifications"{},\ 0,\ "{}ramdb\_db\_fnc\_displayNotification"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_listGet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_get_autotoc_md383}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2list_2list_get_autotoc_md383}
+
+\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_docs_2list_2list_get_autotoc_md384}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2list_2list_get_autotoc_md384}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Add}\+: Adds an element to a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Delete}\+: Deletes an entire list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2list_2list_get_autotoc_md385}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2list_2list_get_autotoc_md385}
+\doxysectlink{md_docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_delete}{List Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/d7/d81/md_docs_2core_2print_addon_name.tex b/api/latex/d7/d81/md_docs_2core_2print_addon_name.tex
new file mode 100644
index 0000000..29b3914
--- /dev/null
+++ b/api/latex/d7/d81/md_docs_2core_2print_addon_name.tex
@@ -0,0 +1,42 @@
+\chapter{print\+Addon\+Name}
+\hypertarget{md_docs_2core_2print_addon_name}{}\label{md_docs_2core_2print_addon_name}\index{printAddonName@{printAddonName}}
+\hypertarget{md_docs_2core_2print_addon_name_autotoc_md120}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md120}{autotoc\+\_\+md120}}\label{md_docs_2core_2print_addon_name_autotoc_md120}
+title\+: Arma\+RAMDb -\/ Print Addon Name icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2core_2print_addon_name_autotoc_md121}{}\doxysubsection{\texorpdfstring{excerpt\+: Displays the addon name in system chat.}{excerpt\+: Displays the addon name in system chat.}}\label{md_docs_2core_2print_addon_name_autotoc_md121}
+\hypertarget{md_docs_2core_2print_addon_name_autotoc_md122}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+print\+Addon\+Name}{ramdb\+\_\+db\+\_\+fnc\+\_\+print\+Addon\+Name}}\label{md_docs_2core_2print_addon_name_autotoc_md122}
+\hypertarget{md_docs_2core_2print_addon_name_autotoc_md123}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2core_2print_addon_name_autotoc_md123}
+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_docs_2core_2print_addon_name_autotoc_md124}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2core_2print_addon_name_autotoc_md124}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_printAddonName}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2print_addon_name_autotoc_md125}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2core_2print_addon_name_autotoc_md125}
+None. This function does not require any parameters.\hypertarget{md_docs_2core_2print_addon_name_autotoc_md126}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2core_2print_addon_name_autotoc_md126}
+None. The function outputs a message to the system chat.\hypertarget{md_docs_2core_2print_addon_name_autotoc_md127}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2core_2print_addon_name_autotoc_md127}
+\hypertarget{md_docs_2core_2print_addon_name_autotoc_md128}{}\doxysubsubsection{\texorpdfstring{Display the addon name message\+:}{Display the addon name message\+:}}\label{md_docs_2core_2print_addon_name_autotoc_md128}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_printAddonName;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2print_addon_name_autotoc_md129}{}\doxysubsubsection{\texorpdfstring{Use in a welcome script\+:}{Use in a welcome script\+:}}\label{md_docs_2core_2print_addon_name_autotoc_md129}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{if\ (isServer)\ then\ \{}
+\DoxyCodeLine{\ \ \ \ []\ remoteExec\ ["{}ramdb\_db\_fnc\_printAddonName"{},\ 0,\ true];}
+\DoxyCodeLine{\};}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2print_addon_name_autotoc_md130}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2core_2print_addon_name_autotoc_md130}
+
+\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_docs_2core_2print_addon_name_autotoc_md131}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2core_2print_addon_name_autotoc_md131}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+init}\+: Initializes the database system
+\end{DoxyItemize}\hypertarget{md_docs_2core_2print_addon_name_autotoc_md132}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2core_2print_addon_name_autotoc_md132}
+\doxysectlink{md_docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d7/d91/md_docs_2hash_2hash_delete.tex b/api/latex/d7/d91/md_docs_2hash_2hash_delete.tex
new file mode 100644
index 0000000..44be922
--- /dev/null
+++ b/api/latex/d7/d91/md_docs_2hash_2hash_delete.tex
@@ -0,0 +1,45 @@
+\chapter{hash\+Delete}
+\hypertarget{md_docs_2hash_2hash_delete}{}\label{md_docs_2hash_2hash_delete}\index{hashDelete@{hashDelete}}
+\hypertarget{md_docs_2hash_2hash_delete_autotoc_md177}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md177}{autotoc\+\_\+md177}}\label{md_docs_2hash_2hash_delete_autotoc_md177}
+title\+: Arma\+RAMDb -\/ Hash Delete icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_delete_autotoc_md178}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove the current client\textquotesingle{}s hash table from database.}{excerpt\+: Remove the current client\textquotesingle{}s hash table from database.}}\label{md_docs_2hash_2hash_delete_autotoc_md178}
+\hypertarget{md_docs_2hash_2hash_delete_autotoc_md179}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}}\label{md_docs_2hash_2hash_delete_autotoc_md179}
+\hypertarget{md_docs_2hash_2hash_delete_autotoc_md180}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_delete_autotoc_md180}
+Removes the hash table associated with the current client/player from the database. Unlike {\ttfamily hash\+Delete\+Id}, this function automatically retrieves the appropriate hash ID based on the caller\textquotesingle{}s identity, making it more convenient for removing the current client\textquotesingle{}s hash data. This is useful for cleanup operations when a player disconnects or when resetting a client\textquotesingle{}s stored data.\hypertarget{md_docs_2hash_2hash_delete_autotoc_md181}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_delete_autotoc_md181}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_hashDelete}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_delete_autotoc_md182}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_delete_autotoc_md182}
+None. This function automatically determines the hash ID based on the calling client.\hypertarget{md_docs_2hash_2hash_delete_autotoc_md183}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_delete_autotoc_md183}
+None. The operation runs synchronously to delete the hash table for the current client.\hypertarget{md_docs_2hash_2hash_delete_autotoc_md184}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_delete_autotoc_md184}
+\hypertarget{md_docs_2hash_2hash_delete_autotoc_md185}{}\doxysubsubsection{\texorpdfstring{Delete the current client\textquotesingle{}s hash table\+:}{Delete the current client\textquotesingle{}s hash table\+:}}\label{md_docs_2hash_2hash_delete_autotoc_md185}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_hashDelete;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_delete_autotoc_md186}{}\doxysubsubsection{\texorpdfstring{Delete a client\textquotesingle{}s hash table from the server\+:}{Delete a client\textquotesingle{}s hash table from the server\+:}}\label{md_docs_2hash_2hash_delete_autotoc_md186}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashDelete"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_delete_autotoc_md187}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_delete_autotoc_md187}
+
+\begin{DoxyItemize}
+\item This function only removes the hash table for the current client/player, not all hash tables
+\item It\textquotesingle{}s similar to {\ttfamily hash\+Delete\+Id} but automatically determines the appropriate ID
+\item Cannot be undone unless you have a backup
+\item Should be used during player disconnection or when resetting a player\textquotesingle{}s data
+\item Useful for cleanup operations to prevent data buildup from disconnected players
+\item More convenient than {\ttfamily hash\+Delete\+Id} when you want to remove the calling client\textquotesingle{}s data
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_delete_autotoc_md188}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_delete_autotoc_md188}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete\+Id}\+: Removes a specific hash ID (when you need to specify the ID)
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a value in the hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a value from the hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_delete_autotoc_md189}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_delete_autotoc_md189}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d8/d05/md_docs_2basic_2fetch.tex b/api/latex/d8/d05/md_docs_2basic_2fetch.tex
new file mode 100644
index 0000000..c9dbaca
--- /dev/null
+++ b/api/latex/d8/d05/md_docs_2basic_2fetch.tex
@@ -0,0 +1,51 @@
+\chapter{fetch}
+\hypertarget{md_docs_2basic_2fetch}{}\label{md_docs_2basic_2fetch}\index{fetch@{fetch}}
+\hypertarget{md_docs_2basic_2fetch_autotoc_md13}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md13}{autotoc\+\_\+md13}}\label{md_docs_2basic_2fetch_autotoc_md13}
+title\+: Arma\+RAMDb -\/ Fetch icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_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_docs_2basic_2fetch_autotoc_md14}
+\hypertarget{md_docs_2basic_2fetch_autotoc_md15}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+fetch}{ramdb\+\_\+db\+\_\+fnc\+\_\+fetch}}\label{md_docs_2basic_2fetch_autotoc_md15}
+\hypertarget{md_docs_2basic_2fetch_autotoc_md16}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_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_docs_2basic_2fetch_autotoc_md17}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2basic_2fetch_autotoc_md17}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_uniqueID,\ \_function,\ \_index,\ \_total,\ \_datachunk,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_fetch}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2fetch_autotoc_md18}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_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_docs_2basic_2fetch_autotoc_md19}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_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_docs_2basic_2fetch_autotoc_md20}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_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_docs_2basic_2fetch_autotoc_md21}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2basic_2fetch_autotoc_md21}
+
+\begin{DoxyItemize}
+\item The function stores received chunks in the global array {\ttfamily ramdb\+\_\+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_docs_2basic_2fetch_autotoc_md22}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2basic_2fetch_autotoc_md22}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+handler}\+: Receives the assembled data and routes it to the appropriate function
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages the callback queue and triggers data fetching
+\end{DoxyItemize}
\ No newline at end of file
diff --git a/api/latex/d8/d12/md_docs_2basic_2save.tex b/api/latex/d8/d12/md_docs_2basic_2save.tex
new file mode 100644
index 0000000..f1ca004
--- /dev/null
+++ b/api/latex/d8/d12/md_docs_2basic_2save.tex
@@ -0,0 +1,59 @@
+\chapter{save}
+\hypertarget{md_docs_2basic_2save}{}\label{md_docs_2basic_2save}\index{save@{save}}
+\hypertarget{md_docs_2basic_2save_autotoc_md53}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md53}{autotoc\+\_\+md53}}\label{md_docs_2basic_2save_autotoc_md53}
+title\+: Arma\+RAMDb -\/ Save DB icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2basic_2save_autotoc_md54}{}\doxysubsection{\texorpdfstring{excerpt\+: Save DB to disc.}{excerpt\+: Save DB to disc.}}\label{md_docs_2basic_2save_autotoc_md54}
+\hypertarget{md_docs_2basic_2save_autotoc_md55}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+save}{ramdb\+\_\+db\+\_\+fnc\+\_\+save}}\label{md_docs_2basic_2save_autotoc_md55}
+\hypertarget{md_docs_2basic_2save_autotoc_md56}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2basic_2save_autotoc_md56}
+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_docs_2basic_2save_autotoc_md57}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2basic_2save_autotoc_md57}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_createBackup]\ call\ ramdb\_db\_fnc\_save}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2save_autotoc_md58}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2basic_2save_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 \+\_\+create\+Backup} &Boolean &Whether to create a backup of the current state &false \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md_docs_2basic_2save_autotoc_md59}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2basic_2save_autotoc_md59}
+None. The operation runs synchronously and saves the database immediately.\hypertarget{md_docs_2basic_2save_autotoc_md60}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2basic_2save_autotoc_md60}
+\hypertarget{md_docs_2basic_2save_autotoc_md61}{}\doxysubsubsection{\texorpdfstring{Save the database without creating a backup\+:}{Save the database without creating a backup\+:}}\label{md_docs_2basic_2save_autotoc_md61}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_save;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2save_autotoc_md62}{}\doxysubsubsection{\texorpdfstring{Save the database and create a backup\+:}{Save the database and create a backup\+:}}\label{md_docs_2basic_2save_autotoc_md62}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[true]\ call\ ramdb\_db\_fnc\_save;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2save_autotoc_md63}{}\doxysubsubsection{\texorpdfstring{Call the save function remotely from a client\+:}{Call the save function remotely from a client\+:}}\label{md_docs_2basic_2save_autotoc_md63}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_save"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2save_autotoc_md64}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2basic_2save_autotoc_md64}
+
+\begin{DoxyItemize}
+\item This function should be called periodically to ensure data persistence
+\item The backup feature creates a timestamped copy of the database
+\item Automatic backups can be configured in the extension\textquotesingle{}s config file
+\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_docs_2basic_2save_autotoc_md65}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2basic_2save_autotoc_md65}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+load}\+: Loads the database from disk
+\end{DoxyItemize}\hypertarget{md_docs_2basic_2save_autotoc_md66}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2basic_2save_autotoc_md66}
+\doxysectlink{md_docs_2basic_2save}{Save DB}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2load}{Load DB}{0}
\ No newline at end of file
diff --git a/api/latex/d8/d96/md_docs_2hash_2hash_get_all.tex b/api/latex/d8/d96/md_docs_2hash_2hash_get_all.tex
new file mode 100644
index 0000000..5ef45bc
--- /dev/null
+++ b/api/latex/d8/d96/md_docs_2hash_2hash_get_all.tex
@@ -0,0 +1,69 @@
+\chapter{hash\+Get\+All}
+\hypertarget{md_docs_2hash_2hash_get_all}{}\label{md_docs_2hash_2hash_get_all}\index{hashGetAll@{hashGetAll}}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md218}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md218}{autotoc\+\_\+md218}}\label{md_docs_2hash_2hash_get_all_autotoc_md218}
+title\+: Arma\+RAMDb -\/ Hash Get All icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_get_all_autotoc_md219}{}\doxysubsection{\texorpdfstring{excerpt\+: Get all fields from the current client\textquotesingle{}s hash table in RAMDb.}{excerpt\+: Get all fields from the current client\textquotesingle{}s hash table in RAMDb.}}\label{md_docs_2hash_2hash_get_all_autotoc_md219}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md220}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}}\label{md_docs_2hash_2hash_get_all_autotoc_md220}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md221}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_get_all_autotoc_md221}
+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_docs_2hash_2hash_get_all_autotoc_md222}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_get_all_autotoc_md222}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_hashGetAll}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md223}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_get_all_autotoc_md223}
+\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_docs_2hash_2hash_get_all_autotoc_md224}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_get_all_autotoc_md224}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md225}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_get_all_autotoc_md225}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md226}{}\doxysubsubsection{\texorpdfstring{Retrieve all client hash data\+:}{Retrieve all client hash data\+:}}\label{md_docs_2hash_2hash_get_all_autotoc_md226}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_hashGetAll;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md227}{}\doxysubsubsection{\texorpdfstring{Retrieve data with synchronous callback\+:}{Retrieve data with synchronous callback\+:}}\label{md_docs_2hash_2hash_get_all_autotoc_md227}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}ramdb\_db\_fnc\_processAllData"{},\ true]\ call\ ramdb\_db\_fnc\_hashGetAll;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md228}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md_docs_2hash_2hash_get_all_autotoc_md228}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}ramdb\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashGetAll"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md229}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_get_all_autotoc_md229}
+
+\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_docs_2hash_2hash_get_all_autotoc_md230}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_get_all_autotoc_md230}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a specific field value from the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a specific field value from a specific hash table (when you need to specify the ID)
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table (when you need to specify the ID)
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a field value in the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_get_all_autotoc_md231}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_get_all_autotoc_md231}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d8/df5/md_docs_2core_2scheduler.tex b/api/latex/d8/df5/md_docs_2core_2scheduler.tex
new file mode 100644
index 0000000..93ead74
--- /dev/null
+++ b/api/latex/d8/df5/md_docs_2core_2scheduler.tex
@@ -0,0 +1,57 @@
+\chapter{scheduler}
+\hypertarget{md_docs_2core_2scheduler}{}\label{md_docs_2core_2scheduler}\index{scheduler@{scheduler}}
+\hypertarget{md_docs_2core_2scheduler_autotoc_md150}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md150}{autotoc\+\_\+md150}}\label{md_docs_2core_2scheduler_autotoc_md150}
+title\+: Arma\+RAMDb -\/ Scheduler icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2core_2scheduler_autotoc_md151}{}\doxysubsection{\texorpdfstring{excerpt\+: Scheduled Environment for extension.}{excerpt\+: Scheduled Environment for extension.}}\label{md_docs_2core_2scheduler_autotoc_md151}
+\hypertarget{md_docs_2core_2scheduler_autotoc_md152}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}{ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}}\label{md_docs_2core_2scheduler_autotoc_md152}
+\hypertarget{md_docs_2core_2scheduler_autotoc_md153}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2core_2scheduler_autotoc_md153}
+Manages the callback system for the Arma\+RAMDb 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_docs_2core_2scheduler_autotoc_md154}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2core_2scheduler_autotoc_md154}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_taskID]\ call\ ramdb\_db\_fnc\_scheduler}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2scheduler_autotoc_md155}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2core_2scheduler_autotoc_md155}
+\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_docs_2core_2scheduler_autotoc_md156}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2core_2scheduler_autotoc_md156}
+None. The function registers the task ID in a hashmap for later processing.\hypertarget{md_docs_2core_2scheduler_autotoc_md157}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2core_2scheduler_autotoc_md157}
+\hypertarget{md_docs_2core_2scheduler_autotoc_md158}{}\doxysubsubsection{\texorpdfstring{Process a callback from the extension\+:}{Process a callback from the extension\+:}}\label{md_docs_2core_2scheduler_autotoc_md158}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}1689524160123\_get"{}]\ call\ ramdb\_db\_fnc\_scheduler;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2scheduler_autotoc_md159}{}\doxysubsubsection{\texorpdfstring{Forward a callback to the server\+:}{Forward a callback to the server\+:}}\label{md_docs_2core_2scheduler_autotoc_md159}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}1689524160123\_hgetall"{}]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_scheduler"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2scheduler_autotoc_md160}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2core_2scheduler_autotoc_md160}
+
+\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_docs_2core_2scheduler_autotoc_md161}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2core_2scheduler_autotoc_md161}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+fetch}\+: Assembles data chunks for large datasets
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+handler}\+: Processes the data retrieved from database operations
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+process\+Queue}\+: Executes queued database operations
+\end{DoxyItemize}\hypertarget{md_docs_2core_2scheduler_autotoc_md162}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2core_2scheduler_autotoc_md162}
+\doxysectlink{md_docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/d9/d12/md_docs_2hash_2hash_remove.tex b/api/latex/d9/d12/md_docs_2hash_2hash_remove.tex
new file mode 100644
index 0000000..4f9b229
--- /dev/null
+++ b/api/latex/d9/d12/md_docs_2hash_2hash_remove.tex
@@ -0,0 +1,60 @@
+\chapter{hash\+Remove}
+\hypertarget{md_docs_2hash_2hash_remove}{}\label{md_docs_2hash_2hash_remove}\index{hashRemove@{hashRemove}}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md260}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md260}{autotoc\+\_\+md260}}\label{md_docs_2hash_2hash_remove_autotoc_md260}
+title\+: Arma\+RAMDb -\/ Hash Remove icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_remove_autotoc_md261}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove a field from the current client\textquotesingle{}s hash table.}{excerpt\+: Remove a field from the current client\textquotesingle{}s hash table.}}\label{md_docs_2hash_2hash_remove_autotoc_md261}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md262}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Remove}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Remove}}\label{md_docs_2hash_2hash_remove_autotoc_md262}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md263}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_remove_autotoc_md263}
+Removes a specific field 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\+Remove\+Id} which requires manually specifying an ID. It deletes a single field and its associated value without affecting other fields in the client\textquotesingle{}s hash table.\hypertarget{md_docs_2hash_2hash_remove_autotoc_md264}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_remove_autotoc_md264}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_keyField]\ call\ ramdb\_db\_fnc\_hashRemove}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md265}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_remove_autotoc_md265}
+\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 to be removed &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md266}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_remove_autotoc_md266}
+None. The operation runs synchronously to remove the field.\hypertarget{md_docs_2hash_2hash_remove_autotoc_md267}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_remove_autotoc_md267}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md268}{}\doxysubsubsection{\texorpdfstring{Remove a specific field\+:}{Remove a specific field\+:}}\label{md_docs_2hash_2hash_remove_autotoc_md268}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}loadout"{}]\ call\ ramdb\_db\_fnc\_hashRemove;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md269}{}\doxysubsubsection{\texorpdfstring{Remove a field remotely\+:}{Remove a field remotely\+:}}\label{md_docs_2hash_2hash_remove_autotoc_md269}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerSettings"{}]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashRemove"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_remove_autotoc_md270}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_remove_autotoc_md270}
+
+\begin{DoxyItemize}
+\item Only removes a single field from the current client\textquotesingle{}s hash table
+\item Validates that the key field parameter is not empty before proceeding
+\item Does not affect other fields in the hash table
+\item If the field doesn\textquotesingle{}t exist, the operation has no effect
+\item This function automatically determines which hash table to use based on the caller\textquotesingle{}s identity
+\item Use {\ttfamily hash\+Remove\+Id} when you need to specify a particular hash table by ID
+\item The operation is executed immediately and synchronously
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_remove_autotoc_md271}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_remove_autotoc_md271}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Remove\+Id}\+: Removes a specific field from a specific hash table (when you need to specify the ID)
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}\+: Removes the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete\+Id}\+: Removes a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a field value in the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a field value from the current client\textquotesingle{}s hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_remove_autotoc_md272}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_remove_autotoc_md272}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d9/dae/md_docs_2hash_2hash_remove_id.tex b/api/latex/d9/dae/md_docs_2hash_2hash_remove_id.tex
new file mode 100644
index 0000000..d64afbb
--- /dev/null
+++ b/api/latex/d9/dae/md_docs_2hash_2hash_remove_id.tex
@@ -0,0 +1,66 @@
+\chapter{hash\+Remove\+Id}
+\hypertarget{md_docs_2hash_2hash_remove_id}{}\label{md_docs_2hash_2hash_remove_id}\index{hashRemoveId@{hashRemoveId}}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md273}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md273}{autotoc\+\_\+md273}}\label{md_docs_2hash_2hash_remove_id_autotoc_md273}
+title\+: Arma\+RAMDb -\/ Hash Remove ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md274}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove a field from a specific hash table.}{excerpt\+: Remove a field from a specific hash table.}}\label{md_docs_2hash_2hash_remove_id_autotoc_md274}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md275}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Remove\+Id}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Remove\+Id}}\label{md_docs_2hash_2hash_remove_id_autotoc_md275}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md276}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_remove_id_autotoc_md276}
+Removes a specific field from a specific hash table identified by its key. This function deletes a single field and its associated value from a targeted hash table without affecting other fields. It\textquotesingle{}s ideal for managing player-\/specific or entity-\/specific data when only certain attributes need to be removed.\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md277}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_remove_id_autotoc_md277}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_keyField]\ call\ ramdb\_db\_fnc\_hashRemoveId}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md278}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_remove_id_autotoc_md278}
+\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 be removed &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md279}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_remove_id_autotoc_md279}
+None. The operation runs synchronously to remove the field.\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md280}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_remove_id_autotoc_md280}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md281}{}\doxysubsubsection{\texorpdfstring{Remove a player\textquotesingle{}s loadout field\+:}{Remove a player\textquotesingle{}s loadout field\+:}}\label{md_docs_2hash_2hash_remove_id_autotoc_md281}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}loadout"{}]\ call\ ramdb\_db\_fnc\_hashRemoveId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md282}{}\doxysubsubsection{\texorpdfstring{Remove a vehicle property\+:}{Remove a vehicle property\+:}}\label{md_docs_2hash_2hash_remove_id_autotoc_md282}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicle\_123"{},\ "{}cargo"{}]\ call\ ramdb\_db\_fnc\_hashRemoveId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md283}{}\doxysubsubsection{\texorpdfstring{Remove a field remotely\+:}{Remove a field remotely\+:}}\label{md_docs_2hash_2hash_remove_id_autotoc_md283}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}stats"{}]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashRemoveId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md284}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_remove_id_autotoc_md284}
+
+\begin{DoxyItemize}
+\item Removes a single field from a specific hash table identified by {\ttfamily \+\_\+key}
+\item Both the key and key field parameters are required and validated
+\item Does not affect other fields in the hash table
+\item If the hash table or field doesn\textquotesingle{}t exist, the operation has no effect
+\item Player UIDs are commonly used as keys to identify player-\/specific hash tables
+\item The operation is executed immediately and synchronously
+\item All operations are logged for debugging purposes
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md285}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_remove_id_autotoc_md285}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Remove}\+: Removes a specific field from the global hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete\+Id}\+: Removes an entire specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}\+: Removes all hash tables
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a field value in a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a field value from a specific hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_remove_id_autotoc_md286}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_remove_id_autotoc_md286}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/d9/dc1/md_docs_2hash_2hash_set_bulk.tex b/api/latex/d9/dc1/md_docs_2hash_2hash_set_bulk.tex
new file mode 100644
index 0000000..0cf3ade
--- /dev/null
+++ b/api/latex/d9/dc1/md_docs_2hash_2hash_set_bulk.tex
@@ -0,0 +1,68 @@
+\chapter{hash\+Set\+Bulk}
+\hypertarget{md_docs_2hash_2hash_set_bulk}{}\label{md_docs_2hash_2hash_set_bulk}\index{hashSetBulk@{hashSetBulk}}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md301}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md301}{autotoc\+\_\+md301}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md301}
+title\+: Arma\+RAMDb -\/ Hash Set Bulk icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md302}{}\doxysubsection{\texorpdfstring{excerpt\+: Set multiple fields in the current client\textquotesingle{}s hash table in RAMDb.}{excerpt\+: Set multiple fields in the current client\textquotesingle{}s hash table in RAMDb.}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md302}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md303}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Bulk}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md303}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md304}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md304}
+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_docs_2hash_2hash_set_bulk_autotoc_md305}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md305}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_data]\ call\ ramdb\_db\_fnc\_hashSetBulk}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md306}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md306}
+\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_docs_2hash_2hash_set_bulk_autotoc_md307}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md307}
+None. The operation runs synchronously to store all the data.\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md308}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md308}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md309}{}\doxysubsubsection{\texorpdfstring{Store player loadout and position\+:}{Store player loadout and position\+:}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md309}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}loadout"{},\ [getUnitLoadout\ player],\ "{}position"{},\ [getPosASLVisual\ player]]]\ call\ ramdb\_db\_fnc\_hashSetBulk;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md310}{}\doxysubsubsection{\texorpdfstring{Store multiple player settings\+:}{Store multiple player settings\+:}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md310}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}difficulty"{},\ ["{}regular"{}],\ "{}respawn"{},\ [true],\ "{}tickets"{},\ [500]]]\ call\ ramdb\_db\_fnc\_hashSetBulk;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md311}{}\doxysubsubsection{\texorpdfstring{Store player data from a client\+:}{Store player data from a client\+:}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md311}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[["{}name"{},\ [name\ player],\ "{}uid"{},\ [getPlayerUID\ player],\ "{}score"{},\ [score\ player]]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashSetBulk"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md312}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md312}
+
+\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_docs_2hash_2hash_set_bulk_autotoc_md313}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md313}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a single field value in the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+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 ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}\+: Retrieves a specific field value from the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}\+: Removes the current client\textquotesingle{}s hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_set_bulk_autotoc_md314}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_set_bulk_autotoc_md314}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/da/d36/md_docs_2basic_2load.tex b/api/latex/da/d36/md_docs_2basic_2load.tex
new file mode 100644
index 0000000..b9f62a2
--- /dev/null
+++ b/api/latex/da/d36/md_docs_2basic_2load.tex
@@ -0,0 +1,41 @@
+\chapter{load}
+\hypertarget{md_docs_2basic_2load}{}\label{md_docs_2basic_2load}\index{load@{load}}
+\hypertarget{md_docs_2basic_2load_autotoc_md36}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md36}{autotoc\+\_\+md36}}\label{md_docs_2basic_2load_autotoc_md36}
+title\+: Arma\+RAMDb -\/ Load DB icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2basic_2load_autotoc_md37}{}\doxysubsection{\texorpdfstring{excerpt\+: Load DB from disc.}{excerpt\+: Load DB from disc.}}\label{md_docs_2basic_2load_autotoc_md37}
+\hypertarget{md_docs_2basic_2load_autotoc_md38}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+load}{ramdb\+\_\+db\+\_\+fnc\+\_\+load}}\label{md_docs_2basic_2load_autotoc_md38}
+\hypertarget{md_docs_2basic_2load_autotoc_md39}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2basic_2load_autotoc_md39}
+Loads the database from disk storage. This function restores all data (key-\/value pairs, hash tables, and lists) from the previously saved database file.\hypertarget{md_docs_2basic_2load_autotoc_md40}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2basic_2load_autotoc_md40}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_load}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2load_autotoc_md41}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2basic_2load_autotoc_md41}
+None. This function does not require any parameters.\hypertarget{md_docs_2basic_2load_autotoc_md42}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2basic_2load_autotoc_md42}
+None. The operation runs synchronously and loads the database immediately.\hypertarget{md_docs_2basic_2load_autotoc_md43}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2basic_2load_autotoc_md43}
+\hypertarget{md_docs_2basic_2load_autotoc_md44}{}\doxysubsubsection{\texorpdfstring{Load the database on the server\+:}{Load the database on the server\+:}}\label{md_docs_2basic_2load_autotoc_md44}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_load;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2load_autotoc_md45}{}\doxysubsubsection{\texorpdfstring{Call the load function remotely from a client\+:}{Call the load function remotely from a client\+:}}\label{md_docs_2basic_2load_autotoc_md45}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_load"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2load_autotoc_md46}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2basic_2load_autotoc_md46}
+
+\begin{DoxyItemize}
+\item This function should typically be called during server initialization
+\item Any existing data in memory will be overwritten with the data from disk
+\item If no database file exists, nothing will happen
+\item Loading does not affect ongoing operations, but might replace values in memory
+\item For safety, it\textquotesingle{}s recommended to call this function only when necessary
+\end{DoxyItemize}\hypertarget{md_docs_2basic_2load_autotoc_md47}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2basic_2load_autotoc_md47}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+save}\+: Saves the database to disk
+\end{DoxyItemize}\hypertarget{md_docs_2basic_2load_autotoc_md48}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2basic_2load_autotoc_md48}
+\doxysectlink{md_docs_2basic_2save}{Save DB}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2load}{Load DB}{0}
\ No newline at end of file
diff --git a/api/latex/dc/d24/md_docs_2basic_2set.tex b/api/latex/dc/d24/md_docs_2basic_2set.tex
new file mode 100644
index 0000000..b47fcd4
--- /dev/null
+++ b/api/latex/dc/d24/md_docs_2basic_2set.tex
@@ -0,0 +1,62 @@
+\chapter{set}
+\hypertarget{md_docs_2basic_2set}{}\label{md_docs_2basic_2set}\index{set@{set}}
+\hypertarget{md_docs_2basic_2set_autotoc_md67}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md67}{autotoc\+\_\+md67}}\label{md_docs_2basic_2set_autotoc_md67}
+title\+: Arma\+RAMDb -\/ Set Key icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2basic_2set_autotoc_md68}{}\doxysubsection{\texorpdfstring{excerpt\+: Set the value of stored key from RAMDb.}{excerpt\+: Set the value of stored key from RAMDb.}}\label{md_docs_2basic_2set_autotoc_md68}
+\hypertarget{md_docs_2basic_2set_autotoc_md69}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+set}{ramdb\+\_\+db\+\_\+fnc\+\_\+set}}\label{md_docs_2basic_2set_autotoc_md69}
+\hypertarget{md_docs_2basic_2set_autotoc_md70}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2basic_2set_autotoc_md70}
+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_docs_2basic_2set_autotoc_md71}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2basic_2set_autotoc_md71}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_data]\ call\ ramdb\_db\_fnc\_set}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2set_autotoc_md72}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2basic_2set_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 \+\_\+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_docs_2basic_2set_autotoc_md73}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2basic_2set_autotoc_md73}
+None. The operation runs asynchronously.\hypertarget{md_docs_2basic_2set_autotoc_md74}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2basic_2set_autotoc_md74}
+\hypertarget{md_docs_2basic_2set_autotoc_md75}{}\doxysubsubsection{\texorpdfstring{Store a simple array\+:}{Store a simple array\+:}}\label{md_docs_2basic_2set_autotoc_md75}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerInventory"{},\ ["{}item1"{},\ "{}item2"{},\ "{}item3"{}]]\ call\ ramdb\_db\_fnc\_set;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2set_autotoc_md76}{}\doxysubsubsection{\texorpdfstring{Store player data under their UID\+:}{Store player data under their UID\+:}}\label{md_docs_2basic_2set_autotoc_md76}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ [name\ player,\ getPos\ player,\ getAllGear\ player]]\ call\ ramdb\_db\_fnc\_set;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2set_autotoc_md77}{}\doxysubsubsection{\texorpdfstring{Call the set function remotely from a client\+:}{Call the set function remotely from a client\+:}}\label{md_docs_2basic_2set_autotoc_md77}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}serverSetting"{},\ [true,\ 30,\ "{}normal"{}]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_set"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2basic_2set_autotoc_md78}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2basic_2set_autotoc_md78}
+
+\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_docs_2basic_2set_autotoc_md79}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2basic_2set_autotoc_md79}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+get}\+: Retrieves a value by key
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+delete}\+: Removes a value by key
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback response
+\end{DoxyItemize}\hypertarget{md_docs_2basic_2set_autotoc_md80}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2basic_2set_autotoc_md80}
+\doxysectlink{md_docs_2basic_2delete}{Delete Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2get}{Get Key}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2basic_2set}{Set Key}{0}
\ No newline at end of file
diff --git a/api/latex/dc/d95/md_docs_2hash_2hash_delete_id.tex b/api/latex/dc/d95/md_docs_2hash_2hash_delete_id.tex
new file mode 100644
index 0000000..1b38938
--- /dev/null
+++ b/api/latex/dc/d95/md_docs_2hash_2hash_delete_id.tex
@@ -0,0 +1,64 @@
+\chapter{hash\+Delete\+Id}
+\hypertarget{md_docs_2hash_2hash_delete_id}{}\label{md_docs_2hash_2hash_delete_id}\index{hashDeleteId@{hashDeleteId}}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md190}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md190}{autotoc\+\_\+md190}}\label{md_docs_2hash_2hash_delete_id_autotoc_md190}
+title\+: Arma\+RAMDb -\/ Hash Delete ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md191}{}\doxysubsection{\texorpdfstring{excerpt\+: Remove a specific hash table from database.}{excerpt\+: Remove a specific hash table from database.}}\label{md_docs_2hash_2hash_delete_id_autotoc_md191}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md192}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete\+Id}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete\+Id}}\label{md_docs_2hash_2hash_delete_id_autotoc_md192}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md193}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_delete_id_autotoc_md193}
+Removes a specific hash table from the database using its unique identifier. This function deletes all fields and values associated with the specified hash ID. Unlike the global {\ttfamily hash\+Delete} function, this operation only affects a single hash table entry.\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md194}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_delete_id_autotoc_md194}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key]\ call\ ramdb\_db\_fnc\_hashDeleteId}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md195}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_delete_id_autotoc_md195}
+\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 to be deleted &"{}"{} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md196}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_delete_id_autotoc_md196}
+None. The operation runs synchronously to delete the specified hash table.\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md197}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_delete_id_autotoc_md197}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md198}{}\doxysubsubsection{\texorpdfstring{Delete a specific hash table\+:}{Delete a specific hash table\+:}}\label{md_docs_2hash_2hash_delete_id_autotoc_md198}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerStats"{}]\ call\ ramdb\_db\_fnc\_hashDeleteId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md199}{}\doxysubsubsection{\texorpdfstring{Delete a player\textquotesingle{}s hash data\+:}{Delete a player\textquotesingle{}s hash data\+:}}\label{md_docs_2hash_2hash_delete_id_autotoc_md199}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player]\ call\ ramdb\_db\_fnc\_hashDeleteId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md200}{}\doxysubsubsection{\texorpdfstring{Delete a hash table from a client\+:}{Delete a hash table from a client\+:}}\label{md_docs_2hash_2hash_delete_id_autotoc_md200}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicleData"{}]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashDeleteId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md201}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_delete_id_autotoc_md201}
+
+\begin{DoxyItemize}
+\item This operation only removes a single hash table identified by {\ttfamily \+\_\+key}
+\item Cannot be undone unless you have a backup
+\item Validates that the key is not empty before proceeding
+\item All fields associated with the hash ID are removed
+\item Useful for clearing player-\/specific data or resetting entity data
+\item Executes immediately without confirmation
+\item Logs the operation for debugging purposes
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md202}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_delete_id_autotoc_md202}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete}\+: Removes all hash tables
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}\+: Sets a value in a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a value from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_delete_id_autotoc_md203}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_delete_id_autotoc_md203}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/dc/dae/md_docs_2hash_2hash_get.tex b/api/latex/dc/dae/md_docs_2hash_2hash_get.tex
new file mode 100644
index 0000000..fe1d481
--- /dev/null
+++ b/api/latex/dc/dae/md_docs_2hash_2hash_get.tex
@@ -0,0 +1,70 @@
+\chapter{hash\+Get}
+\hypertarget{md_docs_2hash_2hash_get}{}\label{md_docs_2hash_2hash_get}\index{hashGet@{hashGet}}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md204}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md204}{autotoc\+\_\+md204}}\label{md_docs_2hash_2hash_get_autotoc_md204}
+title\+: Arma\+RAMDb -\/ Hash Get icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_get_autotoc_md205}{}\doxysubsection{\texorpdfstring{excerpt\+: Get a field value from the current client\textquotesingle{}s hash table in RAMDb.}{excerpt\+: Get a field value from the current client\textquotesingle{}s hash table in RAMDb.}}\label{md_docs_2hash_2hash_get_autotoc_md205}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md206}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get}}\label{md_docs_2hash_2hash_get_autotoc_md206}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md207}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_get_autotoc_md207}
+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_docs_2hash_2hash_get_autotoc_md208}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_get_autotoc_md208}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_keyField,\ \_function,\ \_call,\ \_netId]\ call\ ramdb\_db\_fnc\_hashGet}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md209}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_get_autotoc_md209}
+\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_docs_2hash_2hash_get_autotoc_md210}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_get_autotoc_md210}
+None. The retrieved data is passed to the specified callback function asynchronously.\hypertarget{md_docs_2hash_2hash_get_autotoc_md211}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_get_autotoc_md211}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md212}{}\doxysubsubsection{\texorpdfstring{Retrieve a player\textquotesingle{}s loadout\+:}{Retrieve a player\textquotesingle{}s loadout\+:}}\label{md_docs_2hash_2hash_get_autotoc_md212}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}loadout"{},\ "{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_hashGet;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md213}{}\doxysubsubsection{\texorpdfstring{Retrieve data with synchronous callback\+:}{Retrieve data with synchronous callback\+:}}\label{md_docs_2hash_2hash_get_autotoc_md213}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerScore"{},\ "{}ramdb\_db\_fnc\_processScore"{},\ true]\ call\ ramdb\_db\_fnc\_hashGet;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md214}{}\doxysubsubsection{\texorpdfstring{Retrieve data and send it to a specific client\+:}{Retrieve data and send it to a specific client\+:}}\label{md_docs_2hash_2hash_get_autotoc_md214}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}loadout"{},\ "{}ramdb\_db\_fnc\_test"{},\ false,\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashGet"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_get_autotoc_md215}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_get_autotoc_md215}
+
+\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_docs_2hash_2hash_get_autotoc_md216}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_get_autotoc_md216}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a field value from a specific hash table (when you need to specify the ID)
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All}\+: Retrieves all fields from the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a field value in the current client\textquotesingle{}s hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_get_autotoc_md217}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_get_autotoc_md217}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/dc/db9/md_docs_2hash_2hash_set_id.tex b/api/latex/dc/db9/md_docs_2hash_2hash_set_id.tex
new file mode 100644
index 0000000..d3d1ae0
--- /dev/null
+++ b/api/latex/dc/db9/md_docs_2hash_2hash_set_id.tex
@@ -0,0 +1,69 @@
+\chapter{hash\+Set\+Id}
+\hypertarget{md_docs_2hash_2hash_set_id}{}\label{md_docs_2hash_2hash_set_id}\index{hashSetId@{hashSetId}}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md315}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md315}{autotoc\+\_\+md315}}\label{md_docs_2hash_2hash_set_id_autotoc_md315}
+title\+: Arma\+RAMDb -\/ Hash Set ID icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2hash_2hash_set_id_autotoc_md316}{}\doxysubsection{\texorpdfstring{excerpt\+: Set the specified field to the respective value in the hash stored at key from RAMDb.}{excerpt\+: Set the specified field to the respective value in the hash stored at key from RAMDb.}}\label{md_docs_2hash_2hash_set_id_autotoc_md316}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md317}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}{ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id}}\label{md_docs_2hash_2hash_set_id_autotoc_md317}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md318}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2hash_2hash_set_id_autotoc_md318}
+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_docs_2hash_2hash_set_id_autotoc_md319}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2hash_2hash_set_id_autotoc_md319}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_keyField,\ \_data]\ call\ ramdb\_db\_fnc\_hashSetId}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md320}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2hash_2hash_set_id_autotoc_md320}
+\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_docs_2hash_2hash_set_id_autotoc_md321}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2hash_2hash_set_id_autotoc_md321}
+None. The operation runs synchronously to store the data.\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md322}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2hash_2hash_set_id_autotoc_md322}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md323}{}\doxysubsubsection{\texorpdfstring{Store a player\textquotesingle{}s loadout under their UID\+:}{Store a player\textquotesingle{}s loadout under their UID\+:}}\label{md_docs_2hash_2hash_set_id_autotoc_md323}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}loadout"{},\ [getUnitLoadout\ player]]\ call\ ramdb\_db\_fnc\_hashSetId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md324}{}\doxysubsubsection{\texorpdfstring{Store vehicle data\+:}{Store vehicle data\+:}}\label{md_docs_2hash_2hash_set_id_autotoc_md324}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}vehicle\_123"{},\ "{}status"{},\ [true,\ 100,\ 75,\ "{}active"{}]]\ call\ ramdb\_db\_fnc\_hashSetId;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md325}{}\doxysubsubsection{\texorpdfstring{Store player data from a client\+:}{Store player data from a client\+:}}\label{md_docs_2hash_2hash_set_id_autotoc_md325}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[getPlayerUID\ player,\ "{}stats"{},\ [rank\ player,\ score\ player,\ name\ player]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_hashSetId"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md326}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2hash_2hash_set_id_autotoc_md326}
+
+\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_docs_2hash_2hash_set_id_autotoc_md327}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2hash_2hash_set_id_autotoc_md327}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set}\+: Sets a field value in the global hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+Id}\+: Retrieves a field value from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Get\+All\+Id}\+: Retrieves all fields from a specific hash table
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Set\+Id\+Bulk}\+: Sets multiple field-\/value pairs in multiple hash tables
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+hash\+Delete\+Id}\+: Removes a specific hash table
+\end{DoxyItemize}\hypertarget{md_docs_2hash_2hash_set_id_autotoc_md328}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2hash_2hash_set_id_autotoc_md328}
+\doxysectlink{md_docs_2hash_2hash_delete}{Hash Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_delete_id}{Hash Delete ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get}{Hash Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all}{Hash Get All}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_all_id}{Hash Get All ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_get_id}{Hash Get ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove}{Hash Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_remove_id}{Hash Remove ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set}{Hash Set}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_bulk}{Hash Set Bulk}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id}{Hash Set ID}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2hash_2hash_set_id_bulk}{Hash Set ID Bulk}{0}
\ No newline at end of file
diff --git a/api/latex/dd/dca/md_docs_2list_2list_add.tex b/api/latex/dd/dca/md_docs_2list_2list_add.tex
new file mode 100644
index 0000000..31e59ef
--- /dev/null
+++ b/api/latex/dd/dca/md_docs_2list_2list_add.tex
@@ -0,0 +1,68 @@
+\chapter{list\+Add}
+\hypertarget{md_docs_2list_2list_add}{}\label{md_docs_2list_2list_add}\index{listAdd@{listAdd}}
+\hypertarget{md_docs_2list_2list_add_autotoc_md347}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md347}{autotoc\+\_\+md347}}\label{md_docs_2list_2list_add_autotoc_md347}
+title\+: Arma\+RAMDb -\/ List Add icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2list_2list_add_autotoc_md348}{}\doxysubsection{\texorpdfstring{excerpt\+: Add element to list stored at key from RAMDb.}{excerpt\+: Add element to list stored at key from RAMDb.}}\label{md_docs_2list_2list_add_autotoc_md348}
+\hypertarget{md_docs_2list_2list_add_autotoc_md349}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Add}{ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Add}}\label{md_docs_2list_2list_add_autotoc_md349}
+\hypertarget{md_docs_2list_2list_add_autotoc_md350}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2list_2list_add_autotoc_md350}
+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_docs_2list_2list_add_autotoc_md351}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2list_2list_add_autotoc_md351}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_key,\ \_data]\ call\ ramdb\_db\_fnc\_listAdd}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_add_autotoc_md352}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2list_2list_add_autotoc_md352}
+\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_docs_2list_2list_add_autotoc_md353}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2list_2list_add_autotoc_md353}
+None. The operation runs synchronously to add the element to the list.\hypertarget{md_docs_2list_2list_add_autotoc_md354}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2list_2list_add_autotoc_md354}
+\hypertarget{md_docs_2list_2list_add_autotoc_md355}{}\doxysubsubsection{\texorpdfstring{Add an event log entry\+:}{Add an event log entry\+:}}\label{md_docs_2list_2list_add_autotoc_md355}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}events"{},\ ["{}Server\ state\ saved\ to\ DB\ "{}\ +\ systemTimeUTC]]\ call\ ramdb\_db\_fnc\_listAdd;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_add_autotoc_md356}{}\doxysubsubsection{\texorpdfstring{Add a player message\+:}{Add a player message\+:}}\label{md_docs_2list_2list_add_autotoc_md356}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}messages"{},\ [name\ player\ +\ "{}:\ "{}\ +\ \_messageText]]\ call\ ramdb\_db\_fnc\_listAdd;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_add_autotoc_md357}{}\doxysubsubsection{\texorpdfstring{Add data from a client\+:}{Add data from a client\+:}}\label{md_docs_2list_2list_add_autotoc_md357}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerActions"{},\ [getPlayerUID\ player,\ name\ player,\ "{}logged\ in"{}]]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_listAdd"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2list_2list_add_autotoc_md358}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2list_2list_add_autotoc_md358}
+
+\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_docs_2list_2list_add_autotoc_md359}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2list_2list_add_autotoc_md359}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Get}\+: Retrieves a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Load}\+: Retrieves a range of elements from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Set}\+: Replaces a specific element in a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Remove}\+: Removes a specific element from a list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+list\+Delete}\+: Deletes an entire list
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes the callback from the database extension
+\end{DoxyItemize}\hypertarget{md_docs_2list_2list_add_autotoc_md360}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2list_2list_add_autotoc_md360}
+\doxysectlink{md_docs_2list_2list_add}{List Add}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_delete}{List Delete}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_get}{List Get}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_load}{List Load}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_remove}{List Remove}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2list_2list_set}{List Set}{0}
\ No newline at end of file
diff --git a/api/latex/de/d91/md_docs_2core_2test.tex b/api/latex/de/d91/md_docs_2core_2test.tex
new file mode 100644
index 0000000..947a998
--- /dev/null
+++ b/api/latex/de/d91/md_docs_2core_2test.tex
@@ -0,0 +1,62 @@
+\chapter{test}
+\hypertarget{md_docs_2core_2test}{}\label{md_docs_2core_2test}\index{test@{test}}
+\hypertarget{md_docs_2core_2test_autotoc_md163}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md163}{autotoc\+\_\+md163}}\label{md_docs_2core_2test_autotoc_md163}
+title\+: Arma\+RAMDb -\/ Test icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2core_2test_autotoc_md164}{}\doxysubsection{\texorpdfstring{excerpt\+: Test Function.}{excerpt\+: Test Function.}}\label{md_docs_2core_2test_autotoc_md164}
+\hypertarget{md_docs_2core_2test_autotoc_md165}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+test}{ramdb\+\_\+db\+\_\+fnc\+\_\+test}}\label{md_docs_2core_2test_autotoc_md165}
+\hypertarget{md_docs_2core_2test_autotoc_md166}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2core_2test_autotoc_md166}
+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_docs_2core_2test_autotoc_md167}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2core_2test_autotoc_md167}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_value]\ spawn\ ramdb\_db\_fnc\_test}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2test_autotoc_md168}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2core_2test_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 \+\_\+value} &Array, String, Number, or Boolean &The value to display and log &\mbox{[}\mbox{]} \\\cline{1-4}
+\end{longtabu}
+\hypertarget{md_docs_2core_2test_autotoc_md169}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2core_2test_autotoc_md169}
+The same value that was passed to the function. Also sets the global variable {\ttfamily ramdb\+\_\+db\+\_\+test} to this value.\hypertarget{md_docs_2core_2test_autotoc_md170}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2core_2test_autotoc_md170}
+\hypertarget{md_docs_2core_2test_autotoc_md171}{}\doxysubsubsection{\texorpdfstring{Test with a simple string\+:}{Test with a simple string\+:}}\label{md_docs_2core_2test_autotoc_md171}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}Hello\ World!"{}]\ spawn\ ramdb\_db\_fnc\_test;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2test_autotoc_md172}{}\doxysubsubsection{\texorpdfstring{Test database retrieval by specifying this as callback function\+:}{Test database retrieval by specifying this as callback function\+:}}\label{md_docs_2core_2test_autotoc_md172}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}playerStats"{},\ "{}ramdb\_db\_fnc\_test"{}]\ call\ ramdb\_db\_fnc\_get;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2test_autotoc_md173}{}\doxysubsubsection{\texorpdfstring{Test from client to server\+:}{Test from client to server\+:}}\label{md_docs_2core_2test_autotoc_md173}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}Database\ is\ working!"{}]\ remoteExec\ ["{}ramdb\_db\_fnc\_test"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2test_autotoc_md174}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2core_2test_autotoc_md174}
+
+\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 ramdb\+\_\+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_docs_2core_2test_autotoc_md175}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2core_2test_autotoc_md175}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+get}\+: Retrieves values from the database
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+handler}\+: Routes data to callback functions
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages the callback system
+\end{DoxyItemize}\hypertarget{md_docs_2core_2test_autotoc_md176}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2core_2test_autotoc_md176}
+\doxysectlink{md_docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/de/dc8/md_docs_2core_2process_queue.tex b/api/latex/de/dc8/md_docs_2core_2process_queue.tex
new file mode 100644
index 0000000..c2a7c54
--- /dev/null
+++ b/api/latex/de/dc8/md_docs_2core_2process_queue.tex
@@ -0,0 +1,49 @@
+\chapter{process\+Queue}
+\hypertarget{md_docs_2core_2process_queue}{}\label{md_docs_2core_2process_queue}\index{processQueue@{processQueue}}
+\hypertarget{md_docs_2core_2process_queue_autotoc_md133}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md133}{autotoc\+\_\+md133}}\label{md_docs_2core_2process_queue_autotoc_md133}
+title\+: Arma\+RAMDb -\/ Process Queue icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2core_2process_queue_autotoc_md134}{}\doxysubsection{\texorpdfstring{excerpt\+: Processes a queue of tasks to be executed.}{excerpt\+: Processes a queue of tasks to be executed.}}\label{md_docs_2core_2process_queue_autotoc_md134}
+\hypertarget{md_docs_2core_2process_queue_autotoc_md135}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+process\+Queue}{ramdb\+\_\+db\+\_\+fnc\+\_\+process\+Queue}}\label{md_docs_2core_2process_queue_autotoc_md135}
+\hypertarget{md_docs_2core_2process_queue_autotoc_md136}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2core_2process_queue_autotoc_md136}
+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_docs_2core_2process_queue_autotoc_md137}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2core_2process_queue_autotoc_md137}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ spawn\ ramdb\_db\_fnc\_processQueue}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2process_queue_autotoc_md138}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2core_2process_queue_autotoc_md138}
+None. This function does not require any parameters.\hypertarget{md_docs_2core_2process_queue_autotoc_md139}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2core_2process_queue_autotoc_md139}
+None. The function processes tasks in the queue and updates the processing state.\hypertarget{md_docs_2core_2process_queue_autotoc_md140}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2core_2process_queue_autotoc_md140}
+\hypertarget{md_docs_2core_2process_queue_autotoc_md141}{}\doxysubsubsection{\texorpdfstring{Start processing the queue manually\+:}{Start processing the queue manually\+:}}\label{md_docs_2core_2process_queue_autotoc_md141}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ spawn\ ramdb\_db\_fnc\_processQueue;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2process_queue_autotoc_md142}{}\doxysubsubsection{\texorpdfstring{Trigger queue processing from a client\+:}{Trigger queue processing from a client\+:}}\label{md_docs_2core_2process_queue_autotoc_md142}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[]\ remoteExec\ ["{}ramdb\_db\_fnc\_processQueue"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2process_queue_autotoc_md143}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2core_2process_queue_autotoc_md143}
+
+\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 ramdb\+\_\+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_docs_2core_2process_queue_autotoc_md144}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2core_2process_queue_autotoc_md144}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+add\+Task}\+: Adds tasks to the queue for processing
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+handler}\+: Handles data returned from database operations
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Manages callback responses from the database
+\end{DoxyItemize}\hypertarget{md_docs_2core_2process_queue_autotoc_md145}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2core_2process_queue_autotoc_md145}
+\doxysectlink{md_docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/df/d1b/md_docs_2core_2handler.tex b/api/latex/df/d1b/md_docs_2core_2handler.tex
new file mode 100644
index 0000000..e6561c9
--- /dev/null
+++ b/api/latex/df/d1b/md_docs_2core_2handler.tex
@@ -0,0 +1,65 @@
+\chapter{handler}
+\hypertarget{md_docs_2core_2handler}{}\label{md_docs_2core_2handler}\index{handler@{handler}}
+\hypertarget{md_docs_2core_2handler_autotoc_md95}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md95}{autotoc\+\_\+md95}}\label{md_docs_2core_2handler_autotoc_md95}
+title\+: Arma\+RAMDb -\/ Handler icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2core_2handler_autotoc_md96}{}\doxysubsection{\texorpdfstring{excerpt\+: Handle data from DB.}{excerpt\+: Handle data from DB.}}\label{md_docs_2core_2handler_autotoc_md96}
+\hypertarget{md_docs_2core_2handler_autotoc_md97}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+handler}{ramdb\+\_\+db\+\_\+fnc\+\_\+handler}}\label{md_docs_2core_2handler_autotoc_md97}
+\hypertarget{md_docs_2core_2handler_autotoc_md98}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2core_2handler_autotoc_md98}
+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_docs_2core_2handler_autotoc_md99}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2core_2handler_autotoc_md99}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{[\_uniqueID,\ \_function,\ \_call,\ \_data,\ \_netId]\ call\ ramdb\_db\_fnc\_handler}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2handler_autotoc_md100}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2core_2handler_autotoc_md100}
+\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_docs_2core_2handler_autotoc_md101}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2core_2handler_autotoc_md101}
+None. The data is passed to the specified function for processing.\hypertarget{md_docs_2core_2handler_autotoc_md102}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2core_2handler_autotoc_md102}
+\hypertarget{md_docs_2core_2handler_autotoc_md103}{}\doxysubsubsection{\texorpdfstring{Process data locally\+:}{Process data locally\+:}}\label{md_docs_2core_2handler_autotoc_md103}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}0123456789"{},\ "{}ramdb\_db\_fnc\_test"{},\ false,\ ["{}Hello\ World!"{}]]\ call\ ramdb\_db\_fnc\_handler;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2handler_autotoc_md104}{}\doxysubsubsection{\texorpdfstring{Send data to a specific client\+:}{Send data to a specific client\+:}}\label{md_docs_2core_2handler_autotoc_md104}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}0123456789"{},\ "{}ramdb\_db\_fnc\_test"{},\ false,\ ["{}Hello\ World!"{}],\ netId\ player]\ remoteExecCall\ ["{}ramdb\_db\_fnc\_handler"{},\ 2,\ false];}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2handler_autotoc_md105}{}\doxysubsubsection{\texorpdfstring{Process data with direct call (synchronous)\+:}{Process data with direct call (synchronous)\+:}}\label{md_docs_2core_2handler_autotoc_md105}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{["{}0123456789"{},\ "{}ramdb\_db\_fnc\_processInventory"{},\ true,\ [["{}weapon1"{},\ 30],\ ["{}item2"{},\ 5]]]\ call\ ramdb\_db\_fnc\_handler;}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2handler_autotoc_md106}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2core_2handler_autotoc_md106}
+
+\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_docs_2core_2handler_autotoc_md107}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2core_2handler_autotoc_md107}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+scheduler}\+: Processes callbacks from the database extension
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+fetch}\+: Assembles data chunks for large datasets
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+add\+Task}\+: Adds tasks to the database operation queue
+\end{DoxyItemize}\hypertarget{md_docs_2core_2handler_autotoc_md108}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2core_2handler_autotoc_md108}
+\doxysectlink{md_docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/df/df2/md_docs_2core_2init.tex b/api/latex/df/df2/md_docs_2core_2init.tex
new file mode 100644
index 0000000..3c10f66
--- /dev/null
+++ b/api/latex/df/df2/md_docs_2core_2init.tex
@@ -0,0 +1,31 @@
+\chapter{init}
+\hypertarget{md_docs_2core_2init}{}\label{md_docs_2core_2init}\index{init@{init}}
+\hypertarget{md_docs_2core_2init_autotoc_md109}{}\doxysubsection{\texorpdfstring{autotoc\+\_\+md109}{autotoc\+\_\+md109}}\label{md_docs_2core_2init_autotoc_md109}
+title\+: Arma\+RAMDb -\/ Initialization icon\+: mdi\+:file-\/text-\/outline \hypertarget{md_docs_2core_2init_autotoc_md110}{}\doxysubsection{\texorpdfstring{excerpt\+: Initial Extension settings.}{excerpt\+: Initial Extension settings.}}\label{md_docs_2core_2init_autotoc_md110}
+\hypertarget{md_docs_2core_2init_autotoc_md111}{}\doxysection{\texorpdfstring{ramdb\+\_\+db\+\_\+fnc\+\_\+init}{ramdb\+\_\+db\+\_\+fnc\+\_\+init}}\label{md_docs_2core_2init_autotoc_md111}
+\hypertarget{md_docs_2core_2init_autotoc_md112}{}\doxysubsection{\texorpdfstring{Description}{Description}}\label{md_docs_2core_2init_autotoc_md112}
+Initializes the Arma\+RAMDb 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_docs_2core_2init_autotoc_md113}{}\doxysubsection{\texorpdfstring{Syntax}{Syntax}}\label{md_docs_2core_2init_autotoc_md113}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ This\ function\ is\ automatically\ called\ during\ initialization\ and\ doesn't\ need\ to\ be\ called\ directly}
+
+\end{DoxyCode}
+\hypertarget{md_docs_2core_2init_autotoc_md114}{}\doxysubsection{\texorpdfstring{Parameters}{Parameters}}\label{md_docs_2core_2init_autotoc_md114}
+None. This function does not require any parameters.\hypertarget{md_docs_2core_2init_autotoc_md115}{}\doxysubsection{\texorpdfstring{Return Value}{Return Value}}\label{md_docs_2core_2init_autotoc_md115}
+None. The function sets up internal variables and logs initialization information.\hypertarget{md_docs_2core_2init_autotoc_md116}{}\doxysubsection{\texorpdfstring{Examples}{Examples}}\label{md_docs_2core_2init_autotoc_md116}
+This function is automatically executed during framework initialization and doesn\textquotesingle{}t need to be called manually.\hypertarget{md_docs_2core_2init_autotoc_md117}{}\doxysubsection{\texorpdfstring{Notes}{Notes}}\label{md_docs_2core_2init_autotoc_md117}
+
+\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
+\item It does not initialize or load any database data -\/ use {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+load} for that
+\end{DoxyItemize}\hypertarget{md_docs_2core_2init_autotoc_md118}{}\doxysubsection{\texorpdfstring{Related Functions}{Related Functions}}\label{md_docs_2core_2init_autotoc_md118}
+
+\begin{DoxyItemize}
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+load}\+: Loads database data from disk
+\item {\ttfamily ramdb\+\_\+db\+\_\+fnc\+\_\+save}\+: Saves database data to disk
+\end{DoxyItemize}\hypertarget{md_docs_2core_2init_autotoc_md119}{}\doxysubsection{\texorpdfstring{Links}{Links}}\label{md_docs_2core_2init_autotoc_md119}
+\doxysectlink{md_docs_2core_2add_task}{Add Task}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2handler}{Handler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2init}{Init}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2print_addon_name}{Print Addon Name}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2process_queue}{Process Queue}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2scheduler}{Scheduler}{0} \texorpdfstring{$\vert$}{|} \doxysectlink{md_docs_2core_2test}{Test}{0}
\ No newline at end of file
diff --git a/api/latex/dir_2d423acf5473bc48906ca316d2995d8f.tex b/api/latex/dir_2d423acf5473bc48906ca316d2995d8f.tex
new file mode 100644
index 0000000..ae15075
--- /dev/null
+++ b/api/latex/dir_2d423acf5473bc48906ca316d2995d8f.tex
@@ -0,0 +1,37 @@
+\doxysection{docs/basic Directory Reference}
+\hypertarget{dir_2d423acf5473bc48906ca316d2995d8f}{}\label{dir_2d423acf5473bc48906ca316d2995d8f}\index{docs/basic Directory Reference@{docs/basic Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the basic data operations of Arma\+RAMDb that allow for simple key-\/value storage and retrieval.\hypertarget{README.md_autotoc_md50}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md50}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2basic_2delete}{delete}{0} -\/ Delete a value from the database
+\item \doxysectlink{md_docs_2basic_2fetch}{fetch}{0} -\/ Fetch a value from the database
+\item \doxysectlink{md_docs_2basic_2get}{get}{0} -\/ Get a value from the database
+\item \doxysectlink{md_docs_2basic_2load}{load}{0} -\/ Load the database from disk
+\item \doxysectlink{md_docs_2basic_2save}{save}{0} -\/ Save the database to disk
+\item \doxysectlink{md_docs_2basic_2set}{set}{0} -\/ Set a value in the database
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md51}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md51}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Set\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ [myValue]]\ call\ ramdb\_db\_fnc\_set;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_get;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ key}
+\DoxyCodeLine{["{}myKey"{}]\ call\ ramdb\_db\_fnc\_delete;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Save\ database\ to\ disk}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_save;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md52}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md52}
+
+\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_49e56c817e5e54854c35e136979f97ca.tex b/api/latex/dir_49e56c817e5e54854c35e136979f97ca.tex
new file mode 100644
index 0000000..8fc96a0
--- /dev/null
+++ b/api/latex/dir_49e56c817e5e54854c35e136979f97ca.tex
@@ -0,0 +1,164 @@
+\doxysection{docs Directory Reference}
+\hypertarget{dir_49e56c817e5e54854c35e136979f97ca}{}\label{dir_49e56c817e5e54854c35e136979f97ca}\index{docs Directory Reference@{docs Directory Reference}}
+\doxysubsubsection*{Directories}
+\begin{DoxyCompactItemize}
+\item
+directory \mbox{\hyperlink{dir_2d423acf5473bc48906ca316d2995d8f}{basic}}
+\item
+directory \mbox{\hyperlink{dir_771164b9325b04f1442f7a3ffa8ecb89}{core}}
+\item
+directory \mbox{\hyperlink{dir_68588e5a097ce704ed28814d68b1b590}{hash}}
+\item
+directory \mbox{\hyperlink{dir_abd30d11711bae4cb17b258a1e3909ca}{list}}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Detailed Description}
+This documentation provides details on all functions available in {\ttfamily Arma\+RAMDb}. These functions allow you to interact with the in-\/memory database system for Arma 3.\hypertarget{README.md_autotoc_md424}{}\doxysubsection{\texorpdfstring{Function Categories}{Function Categories}}\label{README.md_autotoc_md424}
+The functions are categorized by their purpose\+:\hypertarget{README.md_autotoc_md425}{}\doxysubsubsection{\texorpdfstring{Core Functions}{Core Functions}}\label{README.md_autotoc_md425}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2core_2init}{init}{0} -\/ Initialize the database system
+\item \doxysectlink{md_docs_2core_2handler}{handler}{0} -\/ Handle callbacks from the extension
+\item \doxysectlink{md_docs_2core_2process_queue}{process\+Queue}{0} -\/ Process queued database operations
+\item \doxysectlink{md_docs_2core_2scheduler}{scheduler}{0} -\/ Schedule database operations
+\item \doxysectlink{md_docs_2core_2add_task}{add\+Task}{0} -\/ Add a task to the scheduler
+\item \doxysectlink{md_docs_2core_2print_addon_name}{print\+Addon\+Name}{0} -\/ Print the addon name
+\item \doxysectlink{md_docs_2core_2test}{test}{0} -\/ Test the database connection
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md426}{}\doxysubsubsection{\texorpdfstring{Basic Data Operations}{Basic Data Operations}}\label{README.md_autotoc_md426}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2basic_2get}{get}{0} -\/ Get a value from the database
+\item \doxysectlink{md_docs_2basic_2set}{set}{0} -\/ Set a value in the database
+\item \doxysectlink{md_docs_2basic_2delete}{delete}{0} -\/ Delete a value from the database
+\item \doxysectlink{md_docs_2basic_2save}{save}{0} -\/ Save the database to disk
+\item \doxysectlink{md_docs_2basic_2load}{load}{0} -\/ Load the database from disk
+\item \doxysectlink{md_docs_2basic_2fetch}{fetch}{0} -\/ Fetch a value from the database
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md427}{}\doxysubsubsection{\texorpdfstring{Hash Operations}{Hash Operations}}\label{README.md_autotoc_md427}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2hash_2hash_delete}{hash\+Delete}{0} -\/ Delete a hash
+\item \doxysectlink{md_docs_2hash_2hash_delete_id}{hash\+Delete\+Id}{0} -\/ Delete a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_get}{hash\+Get}{0} -\/ Get a field from a hash
+\item \doxysectlink{md_docs_2hash_2hash_get_all}{hash\+Get\+All}{0} -\/ Get all fields from a hash
+\item \doxysectlink{md_docs_2hash_2hash_get_all_id}{hash\+Get\+All\+Id}{0} -\/ Get all fields from a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_get_id}{hash\+Get\+Id}{0} -\/ Get a field from a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_remove}{hash\+Remove}{0} -\/ Remove a field from a hash
+\item \doxysectlink{md_docs_2hash_2hash_remove_id}{hash\+Remove\+Id}{0} -\/ Remove a field from a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_set}{hash\+Set}{0} -\/ Set a field in a hash
+\item \doxysectlink{md_docs_2hash_2hash_set_bulk}{hash\+Set\+Bulk}{0} -\/ Set multiple fields in a hash in one operation
+\item \doxysectlink{md_docs_2hash_2hash_set_id}{hash\+Set\+Id}{0} -\/ Set a field in a hash for a specific ID
+\item \doxysectlink{md_docs_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_md428}{}\doxysubsubsection{\texorpdfstring{List Operations}{List Operations}}\label{README.md_autotoc_md428}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2list_2list_add}{list\+Add}{0} -\/ Add an item to a list
+\item \doxysectlink{md_docs_2list_2list_delete}{list\+Delete}{0} -\/ Delete a list
+\item \doxysectlink{md_docs_2list_2list_get}{list\+Get}{0} -\/ Get items from a list
+\item \doxysectlink{md_docs_2list_2list_load}{list\+Load}{0} -\/ Load a list from the database
+\item \doxysectlink{md_docs_2list_2list_remove}{list\+Remove}{0} -\/ Remove an item from a list
+\item \doxysectlink{md_docs_2list_2list_set}{list\+Set}{0} -\/ Set an item in a list
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md429}{}\doxysubsection{\texorpdfstring{Usage Examples}{Usage Examples}}\label{README.md_autotoc_md429}
+\hypertarget{README.md_autotoc_md430}{}\doxysubsubsection{\texorpdfstring{Basic Usage}{Basic Usage}}\label{README.md_autotoc_md430}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Initialize\ the\ database}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_init;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ [myValue]]\ call\ ramdb\_db\_fnc\_set;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ value}
+\DoxyCodeLine{["{}myKey"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_get;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ key}
+\DoxyCodeLine{["{}myKey"{}]\ call\ ramdb\_db\_fnc\_delete;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md431}{}\doxysubsubsection{\texorpdfstring{Hash Operations}{Hash Operations}}\label{README.md_autotoc_md431}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Set\ a\ hash\ field\ (context\ mode)}
+\DoxyCodeLine{["{}myField"{},\ [myValue]]\ call\ ramdb\_db\_fnc\_hashSet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ hash\ field\ (context\ mode)}
+\DoxyCodeLine{["{}myField"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_hashGet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ all\ hash\ fields\ (context\ mode)}
+\DoxyCodeLine{["{}myFunction"{}]\ call\ ramdb\_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\ ramdb\_db\_fnc\_hashSetBulk;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ a\ hash\ field\ (context\ mode)}
+\DoxyCodeLine{["{}myField"{}]\ call\ ramdb\_db\_fnc\_hashRemove;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ hash\ table\ (context\ mode)}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_hashDelete;}
+
+\end{DoxyCode}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Set\ a\ hash\ field\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ [myValue]]\ call\ ramdb\_db\_fnc\_hashSetId;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ a\ hash\ field\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_hashGetId;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ all\ hash\ fields\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{}]\ call\ ramdb\_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\ ramdb\_db\_fnc\_hashSetIdBulk;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ a\ hash\ field\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{}]\ call\ ramdb\_db\_fnc\_hashRemoveId;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ hash\ table\ for\ specific\ ID}
+\DoxyCodeLine{["{}myHash"{}]\ call\ ramdb\_db\_fnc\_hashDeleteId;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md432}{}\doxysubsubsection{\texorpdfstring{List Operations}{List Operations}}\label{README.md_autotoc_md432}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Add\ an\ item\ to\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ ["{}myItem"{}]]\ call\ ramdb\_db\_fnc\_listAdd;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ an\ item\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ 0,\ [myNewValue]]\ call\ ramdb\_db\_fnc\_listSet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ an\ item\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ 0,\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_listGet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ items\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_listLoad;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ an\ item\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ 0]\ call\ ramdb\_db\_fnc\_listRemove;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ a\ list}
+\DoxyCodeLine{["{}myList"{}]\ call\ ramdb\_db\_fnc\_listDelete;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md433}{}\doxysubsection{\texorpdfstring{Function Documentation Structure}{Function Documentation Structure}}\label{README.md_autotoc_md433}
+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_md434}{}\doxysubsection{\texorpdfstring{License}{License}}\label{README.md_autotoc_md434}
+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_68588e5a097ce704ed28814d68b1b590.tex b/api/latex/dir_68588e5a097ce704ed28814d68b1b590.tex
new file mode 100644
index 0000000..5251b0e
--- /dev/null
+++ b/api/latex/dir_68588e5a097ce704ed28814d68b1b590.tex
@@ -0,0 +1,52 @@
+\doxysection{docs/hash Directory Reference}
+\hypertarget{dir_68588e5a097ce704ed28814d68b1b590}{}\label{dir_68588e5a097ce704ed28814d68b1b590}\index{docs/hash Directory Reference@{docs/hash Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the hash operations of Arma\+RAMDb that allow for working with hash tables (key-\/value pairs within a namespace).\hypertarget{README.md_autotoc_md344}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md344}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2hash_2hash_delete}{hash\+Delete}{0} -\/ Delete a hash
+\item \doxysectlink{md_docs_2hash_2hash_delete_id}{hash\+Delete\+Id}{0} -\/ Delete a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_get}{hash\+Get}{0} -\/ Get a field from a hash
+\item \doxysectlink{md_docs_2hash_2hash_get_all}{hash\+Get\+All}{0} -\/ Get all fields from a hash
+\item \doxysectlink{md_docs_2hash_2hash_get_all_id}{hash\+Get\+All\+Id}{0} -\/ Get all fields from a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_get_id}{hash\+Get\+Id}{0} -\/ Get a field from a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_remove}{hash\+Remove}{0} -\/ Remove a field from a hash
+\item \doxysectlink{md_docs_2hash_2hash_remove_id}{hash\+Remove\+Id}{0} -\/ Remove a field from a hash for a specific ID
+\item \doxysectlink{md_docs_2hash_2hash_set}{hash\+Set}{0} -\/ Set a field in a hash
+\item \doxysectlink{md_docs_2hash_2hash_set_bulk}{hash\+Set\+Bulk}{0} -\/ Set multiple fields in a hash in one operation
+\item \doxysectlink{md_docs_2hash_2hash_set_id}{hash\+Set\+Id}{0} -\/ Set a field in a hash for a specific ID
+\item \doxysectlink{md_docs_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_md345}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md345}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Context\ mode\ examples}
+\DoxyCodeLine{["{}myField"{},\ [myValue]]\ call\ ramdb\_db\_fnc\_hashSet;}
+\DoxyCodeLine{["{}myField"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_hashGet;}
+\DoxyCodeLine{["{}myFunction"{}]\ call\ ramdb\_db\_fnc\_hashGetAll;}
+\DoxyCodeLine{["{}myField"{}]\ call\ ramdb\_db\_fnc\_hashRemove;}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_hashDelete;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ multiple\ hash\ fields\ in\ one\ operation}
+\DoxyCodeLine{[[}
+\DoxyCodeLine{\ \ \ \ "{}loadout"{},\ [getUnitLoadout\ player],}
+\DoxyCodeLine{\ \ \ \ "{}position"{},\ [getPosASL\ player],}
+\DoxyCodeLine{\ \ \ \ "{}direction"{},\ [getDir\ player]}
+\DoxyCodeLine{]]\ call\ ramdb\_db\_fnc\_hashSetBulk;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ ID-\/specific\ examples}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ [myValue]]\ call\ ramdb\_db\_fnc\_hashSetId;}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_hashGetId;}
+\DoxyCodeLine{["{}myHash"{}]\ call\ ramdb\_db\_fnc\_hashGetAllId;}
+\DoxyCodeLine{["{}myHash"{},\ "{}myField"{}]\ call\ ramdb\_db\_fnc\_hashRemoveId;}
+\DoxyCodeLine{["{}myHash"{}]\ call\ ramdb\_db\_fnc\_hashDeleteId;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md346}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md346}
+
+\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_771164b9325b04f1442f7a3ffa8ecb89.tex b/api/latex/dir_771164b9325b04f1442f7a3ffa8ecb89.tex
new file mode 100644
index 0000000..2fb9008
--- /dev/null
+++ b/api/latex/dir_771164b9325b04f1442f7a3ffa8ecb89.tex
@@ -0,0 +1,32 @@
+\doxysection{docs/core Directory Reference}
+\hypertarget{dir_771164b9325b04f1442f7a3ffa8ecb89}{}\label{dir_771164b9325b04f1442f7a3ffa8ecb89}\index{docs/core Directory Reference@{docs/core Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the core functions of Arma\+RAMDb that handle initialization, process management, and scheduling.\hypertarget{README.md_autotoc_md147}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md147}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2core_2add_task}{add\+Task}{0} -\/ Add a task to the scheduler
+\item \doxysectlink{md_docs_2core_2handler}{handler}{0} -\/ Handle callbacks from the extension
+\item \doxysectlink{md_docs_2core_2init}{init}{0} -\/ Initialize the database system
+\item \doxysectlink{md_docs_2core_2print_addon_name}{print\+Addon\+Name}{0} -\/ Print the addon name
+\item \doxysectlink{md_docs_2core_2process_queue}{process\+Queue}{0} -\/ Process queued database operations
+\item \doxysectlink{md_docs_2core_2scheduler}{scheduler}{0} -\/ Schedule database operations
+\item \doxysectlink{md_docs_2core_2test}{test}{0} -\/ Test the database connection
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md148}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md148}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Initialize\ the\ database}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_init;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Test\ the\ database\ connection}
+\DoxyCodeLine{[]\ call\ ramdb\_db\_fnc\_test;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md149}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md149}
+
+\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_abd30d11711bae4cb17b258a1e3909ca.tex b/api/latex/dir_abd30d11711bae4cb17b258a1e3909ca.tex
new file mode 100644
index 0000000..a712ef5
--- /dev/null
+++ b/api/latex/dir_abd30d11711bae4cb17b258a1e3909ca.tex
@@ -0,0 +1,43 @@
+\doxysection{docs/list Directory Reference}
+\hypertarget{dir_abd30d11711bae4cb17b258a1e3909ca}{}\label{dir_abd30d11711bae4cb17b258a1e3909ca}\index{docs/list Directory Reference@{docs/list Directory Reference}}
+
+
+\doxysubsection{Detailed Description}
+This section contains documentation for the list operations of Arma\+RAMDb that allow for working with ordered collections of items.\hypertarget{README.md_autotoc_md420}{}\doxysubsection{\texorpdfstring{Available Functions}{Available Functions}}\label{README.md_autotoc_md420}
+
+\begin{DoxyItemize}
+\item \doxysectlink{md_docs_2list_2list_add}{list\+Add}{0} -\/ Add an item to a list
+\item \doxysectlink{md_docs_2list_2list_delete}{list\+Delete}{0} -\/ Delete a list
+\item \doxysectlink{md_docs_2list_2list_get}{list\+Get}{0} -\/ Get items from a list
+\item \doxysectlink{md_docs_2list_2list_load}{list\+Load}{0} -\/ Load a list from the database
+\item \doxysectlink{md_docs_2list_2list_remove}{list\+Remove}{0} -\/ Remove an item from a list
+\item \doxysectlink{md_docs_2list_2list_set}{list\+Set}{0} -\/ Set an item in a list
+\end{DoxyItemize}\hypertarget{README.md_autotoc_md421}{}\doxysubsection{\texorpdfstring{Example Usage}{Example Usage}}\label{README.md_autotoc_md421}
+
+\begin{DoxyCode}{0}
+\DoxyCodeLine{//\ Add\ an\ item\ to\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ ["{}myItem"{}]]\ call\ ramdb\_db\_fnc\_listAdd;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Set\ an\ item\ at\ a\ specific\ index}
+\DoxyCodeLine{["{}myList"{},\ 0,\ [myNewValue]]\ call\ ramdb\_db\_fnc\_listSet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Get\ an\ item\ at\ a\ specific\ index}
+\DoxyCodeLine{["{}myList"{},\ 0,\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_listGet;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Load\ all\ items\ from\ a\ list}
+\DoxyCodeLine{["{}myList"{},\ "{}myFunction"{}]\ call\ ramdb\_db\_fnc\_listLoad;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Remove\ an\ item\ at\ a\ specific\ index}
+\DoxyCodeLine{["{}myList"{},\ 0]\ call\ ramdb\_db\_fnc\_listRemove;}
+\DoxyCodeLine{}
+\DoxyCodeLine{//\ Delete\ the\ entire\ list}
+\DoxyCodeLine{["{}myList"{}]\ call\ ramdb\_db\_fnc\_listDelete;}
+
+\end{DoxyCode}
+\hypertarget{README.md_autotoc_md422}{}\doxysubsection{\texorpdfstring{Related Categories}{Related Categories}}\label{README.md_autotoc_md422}
+
+\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