I wanted to learn more about how ARMA 3 modding worked, and there is really no better way than "code to learn". Everything is coded from the ground up, except for the below mentioned 3rd party scripts.
- World loot spawns
- World vehicle spawns
- World stationery spawns
- Dynamic Groups
- Player spawn/respawn (cities, random, world)
- Timed, random placement, airdrops
- Equipment Shops
- Vehicle Shops
- Clothes Shops
- Simple HUD (fps, health and money)
- Persistent player data (MySQL)
- Loot spawn in buildings and world loot spawn (vehicles, crates and stationary)
- Skill & Experience system
- Revival, heal, repair and other skills.
- Air drop events
- Ammo repacking
- Timed Rewards
- Altis
- Tanoa
It uses strictly "vanilla" (including expansions) content. No client-side mods required - and I want to keep it that way.
- Upload the content of the "Dist" folder to your ARMA 3 dedicated server root (where the arma3server.exe file is).
- Edit the "LaunchServer.bat" files launch parameters to suit your needs.
- Edit the "@extDB3\extdb-conf.ini" file, adding your database connection details.
- Import the "@extDB3\spmc_server.sql" to your database.
- If upgrading, import any "@extDB3\spmc_server - x.x.x to x.x.x update.sql" files in the correct order (by version).
- Run the "LaunchServer.bat" file.
You can modify the "\Source\supremacy_server\compile\core\config*.sqf" to make changes to a lot of the elements in the framework. There is no wiki yet.
If you do not mind, please let me know! I would love to see what others have made using this framework or some of it's code!
Features/Changes:
- Updated configs to include all (hopefully) new vehicle, items and weapons from APEX.
- Updated price list, now include all (hopefully) items and vehicles from APEX.
- Updated clothing shops, so they only sell items for the faction of the player (Config updated).
- Updated the unconscious system, removing animations and relying more on ARMA 3 official methods.
- Updated the (long overdue) mission briefing.
- Updated the github url in all files.
- Updated all loot scripts.
- Updated vehicle sell distance from 10 to 25m.
- Added location saving and spawning. You can now choose players to spawn where the logged out (Config, DB and ExtDB ini - updated).
- Added magazine repacking (see player menu).
- Added " was injured ny " when becoming unconscious.
- Added option to enable/disable the abillity to get executed while unconscious.
- Added blur effect to players who are unconcious.
- Added black out when killed.
- Added timed EXP rewards (EXP granting scipt updated, Config updated).
- Added "reward" sound, used for timed rewards.
- Added a Zeus menu detection (client side), with server logging.
- Added a few extra items from APEX to the configs.
- Changed the air drop smoke duration from 10 to 5 minutes.
- Changed the UI update interval from 0.25 sec to 1 second.
- Removed obsolete code from several files.
Bugfixes:
- Fixed various debug logging in files so they only log when debug mode is on.
- Fixed desk and nato crate not getting removed from unavailable shops.
- Fixed cloths menu prices being cut off.
- Fixed bug in playerUnconscious script, potentially breaking the script.
- Fixed an issue in dbCalls returning data without needing to.
- Fixed some event handlers not getting removed from corpses.
- Fixed setting placeables, loot crates, vehicles etc to 0 in the config, will now properly skip it during server initialisation.
- Fixed "LineMarker" errors.
- Fixed relogging while unconsious would save your gear.
- Fixed issue where you would never die form grenades.
- Fixed bug where player would not eject from vehicle when unconsious.
- Fixed goggles not saving with gear.
- Fixed secondary weapon adding a rangefinder on certain occations.
- Fixed rangefinder not equipping on character load.
Known Issues:
- None.
If you need help, have feedback, requests or like, please post it here on the The Forums, or via Github.
Code released under CC BY-NC 3.0 License.
To read the human-readable summary of the CC BY-NC 3.0 License, click here.
The license do NOT apply to or included any of the 3rd party material (sounds, code, icons etc). All 3rd party material can be found in the "\3rdparty" directory in the client and server source code.
I did not create or own any of the 3rd party material. Please see their credits below and in their files were applicable.
Copyright (c) 2016 Mark Eliasen - 3rd party material are copyrighted by their respective owners.
You have permission to use this framework on monetised arma server(s).
IMPORTANT NOTE: This does NOT apply to any of the 3rd party material (sounds, code, icons etc). All 3rd party material can be found in the "\3rdparty" directory in the client and server source code.
A big thanks to the following people for their scripts, icons, sounds and extensions which are required/used to make this framework tick. A special thanks to Kilzone_Kid and Tonic for inspiration and code/resources which I have learned a lot from.
####Code
- Killzone_Kid for the Original Airdrop script.
- Shuko for SHK_pos.
- Bryan "Tonic" Boardwine for the async extDB3 script.
- Karel Moricky for the "numberToText" function.
- HallyG for the original progress bar script.
###Extensions
- Torndeco for ExtDB3.
###Testing
- Hallreaver for helping me test all the things!
####Sounds
- pierrecartoons1979 for the "purchase" sound.
- escortmarius for the "purchase_click" sound.
- qubodup for the original "error" sound.
- GameAudio for the original "sold_item" sound.
- Gitietor for the original "skill_learned" sound.
- EdEditz for the original "reward" sound.
####Icons
- Paomedia for the "money" icon.
- Linh Pham Thi Dieu for the "fps" icon.
- Visual Pharm for the "health" icon.