This commit introduces the ability for players to submit timesheets and receive payment based on their rating. It also includes updates to player data handling to incorporate the new rating system.
Key changes include:
- Added `getPlayer` PREP.
- Implemented `BANK::SUBMIT::TIMESHEET` case in `XEH_preInit_server.sqf` to handle timesheet submissions.
- Modified `fnc_initBankStore.sqf` to include rating in player data and update account information.
- Added `submitTimesheet` function to `fnc_initBankStore.sqf` to process timesheet submissions and pay players based on rating.
- Updated `handlePlayerLoad` and `updateAccount` functions in `fnc_initBankStore.sqf` to include rating.
- Added `getRating` function to `fnc_initBankStore.sqf` to retrieve player rating.
- Updated `BANK::HANDLE::PLAYER::LOAD` case in `XEH_preInit_server.sqf` to include rating value.
- Added database saving for reputation.
These changes introduce a new gameplay mechanic and provide a way for players to earn money based on their performance.
This commit refines the event handling for both admin and bank functionalities, ensuring better clarity and consistency in logging.
Key changes include:
- Updated event names in admin handling to follow a consistent naming convention.
- Improved parameter handling in admin event functions, ensuring validation checks are in place.
- Enhanced logging messages to provide clearer context regarding the source of events and actions taken.
- Introduced bank event handling for deposit, transfer, withdrawal, and balance inquiries, with appropriate validation and logging.
These changes aim to improve the maintainability and readability of the codebase while ensuring robust event management.
This commit updates the server mod with new icons and properties.
The following changes were made:
- Updated `picture` to `title_ca.paa` in `mod.cpp`.
- Updated `logoSmall` to `icon_64_ca.paa` in `mod.cpp`.
- Updated `logo` to `icon_128_ca.paa` in `mod.cpp`.
- Updated `logoOver` to `icon_128_highlight_ca.paa` in `mod.cpp`.
- Added `dlcColor` to `mod.cpp`.
- Updated binary files for `icon_128_highlight_ca.paa`, `icon_64_ca.paa`, and `icon_128_ca.paa`.
This commit introduces admin event handling to manage various administrative actions and enhances the player data saving process.
The following changes were made:
- Implemented event handling for admin actions such as advancing funds, handling paydays, transferring funds, sending messages, and updating paygrades. These events are triggered via the `QGVAR(handleEvents)` event handler.
- Added `initAdminStore` and `verifyAdminStore` functions to manage the admin store.
- Refactored the `fnc_handleDisconnect.sqf` script to use the `GETVAR` macro for retrieving player data, ensuring consistency and readability.
- Replaced hardcoded default values with `QUOTE()` wrapped values in `fnc_handleDisconnect.sqf` for better maintainability and configuration.
This commit renames the `companyGenerals` variable to `companyShareholders` to better reflect its intended purpose and usage within the codebase. The change affects the following files:
- `addons/main/config.cpp`: Renames the `companyGenerals` config entry to `companyShareholders`.
- `addons/init/functions/fnc_handleServerState.sqf`: Updates the variable name used when saving company state.
- `addons/db/functions/fnc_loadGameState.sqf`: Updates the variable name used when loading company state.
- `addons/db/functions/fnc_saveGameState.sqf`: Updates the variable name used when saving company state.
- `addons/init/functions/fnc_handleServerStateLoad.sqf`: Updates the variable name used when loading company state from the server.
This change ensures consistency and clarity in the codebase, making it easier to understand and maintain. The `companyGarageUnlocks` variable was also removed from the save/load functions as it was not being used.
This commit refactors the database system to improve persistence, functionality, and code clarity. The key changes include:
- **Removed direct store access:** Removed `createStore`, `getFromStore`, and `getStore` PREP macros.
- **Centralized store management:** Introduced a central store registry (`FORGE_STORE_REG`) managed by the database interface.
- **Namespace-based persistence:** Stores are now persisted in mission and profile namespaces instead of a global store.
- **Simplified load/save functions:** `loadFromMission`, `loadFromProfile`, `saveToMission`, `saveToProfile`, and `saveToTemp` functions are updated to use the new namespace-based persistence. They now accept a `keyField` parameter for retrieving specific fields within a key's data.
- **Refactored `processDBRequest`:** Updated to handle new request types and parameters, aligning with the refactored load/save functions.
- **Improved error handling:** Added more robust error handling and logging, including checks for empty store names and missing keys.
- **Removed client registration:** Removed client registration and cleanup logic as it's no longer needed with the new persistence model.
- **Updated `verifyDB`:** Simplified to directly return the store registry.
- **Updated `initDB`:** Refactored to use a HashMap object for the store interface and added more database functions.
- **Added .gitignore entries:** Added entries for Visual Studio and other common build artifacts.
- **Updated `loadGameState` and `saveGameState`:** Updated to support loading and saving game state to either mission or profile namespace.
This commit introduces store persistence and refactors the store interface for improved functionality. The changes include:
- Adding a `save` function to persist store data.
- Refactoring `createStore` to `create` and `getStore` to `get`.
- Adding `set` function to create store if not exist.
- Refactoring `set` to `hset` and `get` to `hget` for hash set and get operations.
- Refactoring `delete` to `hdel` for hash delete operations.
- Implementing store saving after each modification.
This commit includes the following changes:
- Updates the build environment in the GitHub Actions workflow to use `ubuntu-latest` instead of `ubuntu-22.04`.
- Adds `playerGroup2Server` to the XEH_PREP.hpp file.
- Updates the picture path in CfgMods.hpp to include the file extension.