ramdb/docs/basic/set.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

58 lines
1.9 KiB
Markdown

---
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
```sqf
[_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:
```sqf
["playerInventory", ["item1", "item2", "item3"]] call ramdb_db_fnc_set;
```
### Store player data under their UID:
```sqf
[getPlayerUID player, [name player, getPos player, getAllGear player]] call ramdb_db_fnc_set;
```
### Call the set function remotely from a client:
```sqf
["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_hashSet`: Stores a value in a hash table for more structured data
## Links
[Delete Key](delete) |
[Get Key](get) |
[Set Key](set)