Jacob Schmidt 136cc50336 docs: Correct internal links in core documentation
This commit corrects internal links within the core documentation files. The links were updated to point to the correct markdown files.

Key changes:

*   Updated links in `docs/core/processQueue.md`, `docs/core/addTask.md`, `docs/core/test.md`, `docs/core/scheduler.md`, `docs/core/handler.md`, `docs/core/printAddonName.md`, and `docs/core/init.md`.
2025-03-22 19:58:34 -05:00
..
2025-03-22 15:14:55 -05:00

ArmaRAMDb Documentation

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

List Operations

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