Clarify store and starting equipment guides
This commit is contained in:
parent
623f718caf
commit
bfb317eb5c
@ -80,6 +80,25 @@ New owned garages are created with default unlocks from the Rust model.
|
||||
| `owned:garage:delete` | `uid` | `OK`. |
|
||||
| `owned:garage:exists` | `uid` | `true` or `false`. |
|
||||
|
||||
## Starting Equipment And Unlocks
|
||||
|
||||
Missions can include `CfgStartingEquipment.hpp` from `description.ext` to set
|
||||
new-player loadout and initial virtual arsenal or garage unlocks without
|
||||
recompiling the framework.
|
||||
|
||||
```cpp
|
||||
#include "CfgStartingEquipment.hpp"
|
||||
```
|
||||
|
||||
`loadout[]` uses the standard Arma loadout array shape. `Unlocks.Locker`
|
||||
supports `items[]`, `weapons[]`, `magazines[]`, and `backpacks[]`.
|
||||
`Unlocks.Garage` supports `cars[]`, `armor[]`, `helis[]`, `planes[]`,
|
||||
`naval[]`, and `other[]`.
|
||||
|
||||
The extension defaults are intentionally empty. The server seeds mission
|
||||
starting unlocks only when a player does not already have persistent owned
|
||||
locker or garage records.
|
||||
|
||||
## Add Virtual Arsenal Unlocks
|
||||
|
||||
```sqf
|
||||
|
||||
@ -34,6 +34,22 @@ Include `CfgStore.hpp` from `description.ext`:
|
||||
```cpp
|
||||
class CfgStore {
|
||||
mode = "allowlist"; // dynamic, allowlist, or denylist
|
||||
modMode = "dynamic"; // dynamic, allowlist, or denylist
|
||||
mods[] = {}; // ModSources child class names used when modMode is not dynamic
|
||||
|
||||
class ModSources {
|
||||
class rhs {
|
||||
patches[] = {"rhs_main", "rhsusf_main"};
|
||||
addons[] = {"rhs_", "rhsusf_", "rhsgref_", "rhsafrf_"};
|
||||
prefixes[] = {"rhs_", "rhsusf_", "rhsgref_", "rhsafrf_"};
|
||||
};
|
||||
|
||||
class ace3 {
|
||||
patches[] = {"ace_main"};
|
||||
addons[] = {"ace_"};
|
||||
prefixes[] = {"ace_"};
|
||||
};
|
||||
};
|
||||
|
||||
class Categories {
|
||||
primary[] = {"arifle_MX_F", "arifle_MXC_F"};
|
||||
@ -56,6 +72,13 @@ listed for each category. `denylist` removes listed classnames. Overrides are
|
||||
server-side and are used by both the UI payload and checkout validation.
|
||||
`units[]` uses the same filter behavior as every other category.
|
||||
|
||||
`modMode` applies before category filtering. `allowlist` only keeps generated
|
||||
entries that match one of the configured `mods[]`; `denylist` removes matching
|
||||
entries. Each `ModSources` child can define `patches[]` to detect whether the
|
||||
mod is loaded, `addons[]` for config source addon/source mod names or classname
|
||||
prefixes, and `prefixes[]` for classname prefixes. If a mod source defines no
|
||||
patches, it is treated as available and only the source/prefix checks are used.
|
||||
|
||||
The current filter is global for the mission. Revisit per-store profile support
|
||||
if individual vendors need different inventories.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user