ramdb/docs/hash/hashSet.md
Jacob Schmidt 5b9f3402b6
All checks were successful
Build / Build (push) Successful in 30s
docs: add comprehensive documentation and usage examples for ramdb
2025-03-22 16:31:59 -05:00

2.9 KiB

title, icon, excerpt
title icon excerpt
ArmaRAMDb - Hash Set mdi:file-text-outline 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
  • 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

Hash Delete | Hash Delete Field | Hash Delete ID | Hash Get | Hash Get All | Hash Get All ID | Hash Get ID | Hash Set | Hash Set Bulk | Hash Set ID | Hash Set ID Bulk