Jump to content

Search the Community

Showing results for tags 'framework'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • BOHEMIA INTERACTIVE
    • BOHEMIA INTERACTIVE - NEWS
    • BOHEMIA INTERACTIVE - JOBS
    • BOHEMIA INTERACTIVE - GENERAL
  • FEATURED GAMES
    • Arma Reforger
    • Vigor
    • DAYZ
    • ARMA 3
    • ARMA 2
    • YLANDS
  • MOBILE GAMES
    • ARMA MOBILE OPS
    • MINIDAYZ
    • ARMA TACTICS
    • ARMA 2 FIRING RANGE
  • BI MILITARY GAMES FORUMS
  • BOHEMIA INCUBATOR
    • PROJECT LUCIE
  • OTHER BOHEMIA GAMES
    • ARGO
    • TAKE ON MARS
    • TAKE ON HELICOPTERS
    • CARRIER COMMAND: GAEA MISSION
    • ARMA: ARMED ASSAULT / COMBAT OPERATIONS
    • ARMA: COLD WAR ASSAULT / OPERATION FLASHPOINT
    • IRON FRONT: LIBERATION 1944
    • BACK CATALOGUE
  • OFFTOPIC
    • OFFTOPIC
  • Die Hard OFP Lovers' Club's Topics
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Japan in Arma's Topics
  • Arma 3 Photography Club's Discussions
  • The Order Of the Wolfs- Unit's Topics
  • 4th Infantry Brigade's Recruitment
  • 11th Marine Expeditionary Unit OFFICIAL | 11th MEU(SOC)'s 11th MEU(SOC) Recruitment Status - OPEN
  • Legion latina semper fi's New Server Legion latina next wick
  • Legion latina semper fi's https://www.facebook.com/groups/legionlatinasemperfidelis/
  • Legion latina semper fi's Server VPN LEGION LATINA SEMPER FI
  • Team Nederland's Welkom bij ons club
  • Team Nederland's Facebook
  • [H.S.O.] Hellenic Special Operations's Infos
  • BI Forum Ravage Club's Forum Topics
  • Exilemod (Unofficial)'s General Discussion
  • Exilemod (Unofficial)'s Scripts
  • Exilemod (Unofficial)'s Addons
  • Exilemod (Unofficial)'s Problems & Bugs
  • Exilemod (Unofficial)'s Exilemod Tweaks
  • Exilemod (Unofficial)'s Promotion
  • Exilemod (Unofficial)'s Maps - Mission Files
  • TKO's Weferlingen
  • TKO's Green Sea
  • TKO's Rules
  • TKO's Changelog
  • TKO's Help
  • TKO's What we Need
  • TKO's Cam Lao Nam
  • MSOF A3 Wasteland's Server Game Play Features
  • MSOF A3 Wasteland's Problems & Bugs
  • MSOF A3 Wasteland's Maps in Rotation
  • SOS GAMING's Server
  • SOS GAMING's News on Server
  • SOS GAMING's Regeln / Rules
  • SOS GAMING's Ghost-Town-Team
  • SOS GAMING's Steuerung / Keys
  • SOS GAMING's Div. Infos
  • SOS GAMING's Small Talk
  • NAMC's Topics
  • NTC's New Members
  • NTC's Enlisted Members
  • The STATE's Topics
  • CREATEANDGENERATION's Intoduction
  • CREATEANDGENERATION's HAVEN EMPIRE (NEW CREATORS COMMUNITY)
  • HavenEmpire Gaming community's HavenEmpire Gaming community
  • Polska_Rodzina's Polska_Rodzina-ARGO
  • Carrier command tips and tricks's Tips and tricks
  • Carrier command tips and tricks's Talk about carrier command
  • ItzChaos's Community's Socials
  • Photography club of Arma 3's Epic photos
  • Photography club of Arma 3's Team pics
  • Photography club of Arma 3's Vehicle pics
  • Photography club of Arma 3's Other
  • Spartan Gamers DayZ's Baneados del Servidor
  • Warriors Waging War's Vigor
  • Tales of the Republic's Republic News
  • Operazioni Arma Italia's CHI SIAMO
  • [GER] HUSKY-GAMING.CC / Roleplay at its best!'s Starte deine Reise noch heute!
  • empire brotherhood occult +2349082603448's empire money +2349082603448
  • NET88's Twitter

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Yahoo


Jabber (xmpp)


Skype


Biography


Twitter


Google+


Youtube


Vimeo


Xfire


Steam url id


Raptr


MySpace


Linkedin


Tumblr


Flickr


XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 18 results

  1. fn_Quiksilver

    Apex Framework

    Arma 3 Apex Framework Version - 1.5.6 (14/11/2023) Compatibility - Arma 3 2.14 Download (Github) Support (Discord) Email - armacombatgroup <at> gmail Documentation (Github) Donate (Patreon) Enjoy ______________________________________________ Terrains: Vanilla Altis Tanoa Malden 2035 Livonia Stratis (classic & zeus modes only) DLC * Further DLC integration & support is coming Sefrou-Ramal (Zeus mode only) - Western Sahara DLC Cam Lao Nam (Zeus mode only) - Prairie Fire DLC Khe Sanh (Zeus mode only) - Prairie Fire DLC The Bra (Zeus mode only) - Prairie Fire DLC Weferlingen (Zeus mode only) - Global Mobilization DLC Gabreta (Zeus mode only) - CSLA Iron Curtain DLC * Further DLC integration & support is coming Mission Types: Zeus. Disable the objectives and use the integrated systems (including advanced Zeus systems) to support your own custom content. Invade & Annex: Apex Edition. Classic I&A style mode. Sector Control. Domination-style Sector Control mode. Campaign. Insurgency-style campaign mode. Gameplay: Edited Raw Installation Guide: Features: Base Building. We have implemented an early prototype of base-building, with built in base-defense missions. Advanced AI behaviors: suppressive fire, building clearance, logistics & helicopter use, dynamic close air support & mortar support, regrouping, automated medics, vehicle repair, demolitions, house/building suppressive fire, stance adjustment, inter-squad communications, evasive behavior, attack & defend routines, tactical commander, organic intel gathering to decide where to commit soldiers & resources. tracer rounds to make battlefield more visceral, custom jungle spawning & patrol routines built for Tanoa. Custom Logistics. Deployable fortifications and player-deployable game mechanics. Towing. Wrecks. Game mechanic to recover wrecks after catastrophic vehicle damage. Headless Client. Plug & play 4+ headless clients with automated load balancing. Ambient civilians and wildlife. Custom wildlife and civilians at missions, using high-performance techniques to ensure they don't reduce FPS. Geo-typical dynamic weather. Weather for Altis/Stratis/Malden taken from Lemnos data, Tanoa weather taken from Fiji data. Persistent and full yearly cycle. Storm simulation & fog reduction. Dynamic day/night cycle. Accelerated nights, accelerated noon, slowed down at dawn & dusk. Cinematic AO lighting on dark nights. Persistent and full yearly cycle. Dynamic missions. Players can create tasks and objectives for each other. Recruitable AI. Players can recruit AI to help with the fight, either as engineers, fire support, fully integrated automated medics, etc.. Wide range of enemy weapons. Enemies use a wider array of weapons that those defined in config. 70+ custom player interactions. Intuitive and custom player interactions using the action menu (familiar to veterans and newbies alike). Role Selection Menu System. Change role or faction without aborting to the lobby. Custom menu system. Menu system supporting custom buttons, player options and link buttons to your community website. Full difficulty scaling by player population. Dynamic AI difficulty. Interactive side missions. Custom Zeus systems. Keybindings (numpad) to support on-the-fly Zeus missions, including garrison, patrol, attack, suppressive fire, player revive, unit incapacitation, and hunting/stalking logic. Custom Virtual Arsenal. Use either the custom whitelist or blacklist to set up what gear your players have access to. Inventory Saving. Save & Load & Edit the inventory of crates and vehicles easily. Custom medical system. An intuitive and simple medical system for public server play, not buggy! Revive, stabilise, medevac, carry, drag, load, unload, ambulances, field hospitals, AI revive. Custom MOUT operations. urban warfare AOs for Tanoa & Altis. Player damage modeling. Dynamic damage modeling to make playing against AI more fun. Admin tools. Admin tool menu with a range of options for moderators, admins and developers, including a custom dev terminal. Anti-cheat. A proven anticheat custom-fitted into the mission, caught about 30 cheaters on the development server over 16 months. Anti-troll. A system to resist and counter common forms of griefing. Restart schedule. A custom restart schedule built into the mission to provide graceful restarts, reminding players which server they are on and time-until-restart. Helmet-cam live feed. Players at base can watch a live feed of operations. Enemy capture. Capture enemies and imprison them. Blue Force Tracker. High detail blue force tracker system with dozens of configurations, including custom enemy info on the map display. Earplugs. Weapon lasers. Squad Radar. Suppression Effects. Hit Marker audio cue. Feedback when your bullet hits an enemy. Illumination Flares. Flares fired from weapons and mortars provide good illumination. Visibility & View Distance menu. Magazine repack. Backpack locking. Parachute deployment. Explosives charge 'attach to surface'. Gameplay Leaderboards. Track transport pilot effectiveness, top medics, weapon accuracy, sniper accuracy, and other objective-based metrics. Semi-persistent (weekly ladder). Dynamic Simulation. Server-side dynamic simulation and client-side optional dynamic simulation to improve FPS and performance. Logistics, Towing, Hauling & Mounting, Carrying & Dragging. Custom system to facilitate towing, and mounting of static weapons to suitable vehicles. Also linked directly to ingame Vehicle-in-Vehicle system for seamless logistics. Enhanced Slingload rope controls. Adjust rope length during flight and seamlessly attach Taru pods to Taru helicopters with simple controls. Active Protection System for armored vehicles. Based on Israeli "Trophy" and Russian "Afghanit" systems. Forward Operating Bases. Forward operating bases built directly into the framework, with logistics tasks, respawn tickets, vehicle respawns, ... Aircraft Carrier (USS Freedom). Dynamic aircraft carrier can be toggled on and off with a mission parameter, spawns at random locations, fully supported with vehicle respawns, player respawns, optional defensive turrets, and field hospital mechanics. Destroyer (USS Liberty). Dynamic destroyer can be toggled on and off with a mission parameter, spawns at random locations, fully supported with vehicle respawns, player respawns, optional defensive turrets, optional naval artillery, and field hospital mechanics. 40+ Custom object compositions. Many missions spawn custom scenes to add a fresh and replayable element to the missions. Custom vehicle & uniform skins. A variety of custom and realistic military skins created for this framework. Monetization solutions. Servers cost money, so we have put in solutions to reward players for donating. Custom cosmetics system for patches, uniforms and vehicle skins, and whitelisted lobby roles. Monetization license. You may use this framework on monetized servers. Highly polished. Considerable time spent polishing and ironing out bugs and rough edges, a necessary part of professional development missing from many other mission offers. Performance. Surprisingly high FPS (both client & server) for the amount of action going on, smooth and doesn't stutter. Change Log: https://github.com/auQuiksilver/Apex-Framework/blob/master/Apex_framework.terrain/documentation/_Change Log.txt Mods supported: Blastcore Edited (standalone) by Opticalsnare JSRS soundmod by LordJarhead Mods integrated: Advanced Rappelling by duda Mag Repack Custom skins (third party designers): A sample of the vehicle & uniform skins that come as a separate content pack for use with the framework, purchased from third-party designers. Notes: Do not use AI mods like VCOM and ASR. There is an AI system built directly into the framework. Youtube development channel: https://www.youtube.com/user/QuiksiIver/videos License: Monetization permitted APL-SA (you have permission to modify and publish the modified version for others to download/use).
  2. https://github.com/Defent/DMS_Exile
  3. NightOps - Arma Platform Modding Project www.NightOps.de One month after the early access release of Arma Reforger, we are happy to announce the NightOps modding project officially. We provide frameworks and custom gamemodes in Arma Reforger for everyone to use. This makes creating a coop or solo scenario very easy for mission makers. No workbench experience yet? Don’t worry, our first tutorials and documentation will lead you through it! And the best thing, it’s already published! The team made several released the last weeks but we feel now ready, to announce this project to the public. You can either use just one framework as a dependency or the whole package with a lot of useful features for creating custom missions. A showcase what features and mechanics are included can be already played in the NightOps - Everon 1985 mini-campaign and we will release custom PvE and PvPvE gamemodes in the near future. What is already done and can be used right now by everyone: Custom Modes Framework (provides ready-to-use Coop gamemode prefabs and some mighty custom trigger for mission design) Dynamic Task Framework (provides a dedicated server working task manager with a lot of custom task trigger) Dynamic Spawn Framework (provides a system to dynamically spawn and de-spawn groups, vehicles and objects and can even use a dynamic faction system to change the spawning units depending on mission header configuration) Everything is covered in a great basic tutorial written by Herbiie and documented well on our website. And more deep dive guides will follow soon about every framework. Next to that, Zeal published a small tutorial about Additional Script utilizing the frameworks in a more specific way about topics, people were asking lately alot. It’s part of our philosophy to make the project open-source sharing everything we learned for the community. So you can either just download the dependencies in the Ingame workshop or review the sourcecode repositories on GitHub. And finally, I want to share a overview about our roadmap for the near future: While we are working already on bigger gamemodes in the background, we are happy to tease the NightOps DYNAMIC COMBAT PATROL mode which will be released soon. We will offer a immersive and persistent combat patrol experience for Arma Reforgers Everon map. And mission makers can use the gamemode out of the box to add it to other custom terrains easily. Ofcourse, that will be covered by another tutorial when it's done. So don’t miss an update and follow us on Twitter. We are looking for your feedback and issue reports. And if you need support, you can always tag us in the official Arma discord server, on the Enfusion Discord or in our own NightOps discord. So enjoy the mods, feel free to critize what's buggy right now (and we expect that you find the bug's we aren't aware of) and stay safe!
  4. MISSION MAKER FRAMEWORK for ARMA III, ver. 0008 (2021) This MODULE is compatible with BASE GAME (current version) MMF is an easy-to-use function library for mission designers. Live readMe Discord Channel (new) Change Log (new) FAQ (new) MMF Version 8 (install to mission root) (dev) MMF_vX (drive) (new) Demos (new) Images Features Have fun! Credits: Soolie Build Menu GUI SmartGames Function Configs Custom Notification Benchmark, Mr Pants Playtesting Arma Public License No Derivatives (APL-ND) Use:
  5. TvT/PvP Campaign Framework (TvTCF) 1.08 by Engima Overview This is a framework that makes is easy for anyone with some scripting experience to create beautiful, story-driven, exciting, light weight and well working multiplayer (TvT/PvP) campaigns in Arma 3. The first campaign built on this framework is Operation Shoe Lace. Features Multiplayer 1-40 players. Supports creation of TvT/PvP, COOP and SP campaigns. As many missions as you want. Missions are 30 minutes long (as maximum) Missions can have primary and secondary objectives (and a "return to base objective") All missions begin with an insertion into an area of action. No revive! Spectate on death. Campaigns are dynamic. Missions can affect each other, and order of missions can be altered, during the campaign. Score. Successful objectives and players kept alive earns score for their team. The team with the highest total score when the campaign ends wins. AI bots can be used on both sides (useful when playing e.g. one vs one). Easy to get grip of. Full documentation about mission mechanics in dialogs and briefing. How it works A TvTCF campaign is actually one Arma 3 mission that is divided into different episodes (TvTCF missions). The mission "resets" itself between each episode, which makes it possible to create a campaign story in which each mission is independent and executed one by one by the "campaign engine". How to use This five parts tutorial covers everything, from a newly installed Arma 3 instance (in Windows) until the campaign is played. TvTCF Video Tutorial Part 1 List of all the videos Part 1 - Intro Part 2 - Installing The TypeSqf Editor Part 3 - Adding The Files Part 4 - Creating The First Mission Part 4 - Creating The Second Mission Useful Links TypeSqf Editor TvTCF framework files (downloaded using the CPack Console in the TypeSqf Editor). TvTCF on GitHub (including the Operation Shoe Lace campaign) Licence MIT plus minor addition. (See the file TVTCF_LICENSE.txt.) Dependencies Arma 3 Compatibility Works on hosted and dedicated server, and is JIP compatible. Version History Version 1.08 Check objective methods dependent of each other did not work in both directions on mission end. Version 1.07 Changed method name Mission.AddBriefingInfoForActing to AddBriefingActing (and the same for opposing). Improved the insertion behavior. Added easy access to all common soldier units (in the soldier dictionary). Added easy access to all common vehicle units (in the vehicle dictionary). Changed the vehicle alias "MRAP" to "CAR" in the vehicle dictionary. Version 1.06 First version published.
  6. DesolationREDUX has released our first Alpha build, v0.1.0. Server files are now available for hosting your own server. Server Files Download Instructions can be found at DR Wiki Support at DesolationREDUX Forums This post will cover two projects that are really one in the same. DR Project is a collection of a Mod Framework, DB Extension, Assets, Tools, Plugin Repository, and Terrains. DesolationREDUX is a survival mod using all that, working as a showcase for everything. The mod is currently in beta testing as we continue to add in the original planned features. Progress has been going very well, and we are pleased enough with how things are working that we decided to post up here. The hope, when completed and released, is that other mod makers will be able to take our work and make their own projects with them. The DR Project is open source, and will be released under APL-SA. Code, assets, terrains, will all be able to be used and edited by the community at large. ArmA Plugin Management System (APMS) The ArmA Plugin Management System (APMS for short) was created to add a plugin framework into ArmA. It allows for server owners to easily add and remove content from their server. Developers can create server-sided "plugins" that can add key binds, add events, add buildings to the map, and add SQF code. It also allows Developers to create a custom .cfg file to add control to the content within their plugin. The APMS system is the core for DesolationREDUX. Everything within the mod runs through the Plugin Manager; all key binds, events, and map edits. APMS WIKI The benefits of the APMS are as follows: Customizable keybinds created by the server. All aspects of a plugin can be customized by the server owner via the .cfg file. Managed events for both server and player. Managed Actions. Ability to easily add and remove features from a server. Managed map edits, spawned before the server has finished starting. Installation of plugins is incredibly easy. Simply place the plugin PBO into the Addons folder of @DesolationServer. Place the plugin CFG into the Config folder of @DesolationServer. Add the plugin name into the Plugin managers PluginList.cfg file. Done RedEx: REDEX WIKI Key features are: - Supports 64Bit and the new CallExtension with Arrayarguments. - Has an builtin mechanism to load additional config whitelisted Modules dynamically, so no need for plugin writers to struggle with the ArmA CallExtension API, you get wonderful objects containing "key -> value" associations, where you simply can call: `extArguments.get<unsigned int>("itemAmount")` or `extArguments.get<std::string>("listName");` and you return ArmA strings. Everything else like handling strings that are to long is done by LibRedex. - Supports sync, async and quiet async calls (calls that do not return any data) - Has a wide range of functionality to make life easier: -- Random lists that connect an chance with an item, like they are used for Loot spawn. -- Random lists of numbers (you request what kind of numbers you want, how many and in which range) -- Getting real world time in different formats like epoch(unix) time, an date array. -- Handling of file input and output on in the config defined files. -- You can define if an file readable, writable or even only readable one, which use useful to hide data. -- An module to call whitelisted urls and the Steam API, for example to get informations about VAC Bans etc. -- An build in client which can connect to an middle ware to allow ArmA to communicate with other tools like an admin web framework, as example we provide an Discord Bot, that does allow the players to request the current Performance and Server Stats. -- And of course an database connector. Database specific features: -- Does support multiple Databases like MySQL(MariaDB) and PostgreSQL, additional support for Stores like Redis are easy to implement. -- All IDs are based on UUIDs, so no longer waiting until data is committed to the Database to get back the identifier of an Object. Just request an UUID, set it as ID for the Object and then tell the System to commit the Object. -- All sql querys are sanitized additional most of them use prepared statements. -- Some function calls like "update objects" are dynamic and don't need all data to be supplied, for example you only want to update the position of the car? fine! only send the position. -- The goal of the design of the database itself was to fulfill all possible needs we could imagine. As Plugin writer perspective this means you should not need to change anything database related, all object and character information are stored automatically. This includes also variables starting with an specific Prefix as well as skins etc. -- In case of objects we provide the "svar_" prefix, so if someone would like to add a coins system, they could store the current coin count of the object ins "svar_coins". -- In case of an Player we provide "svar_" and "pvar_" both work the same as in case of objects, but the difference is "svar_" is bound to the character, so if the character dies the variable is lost, while "pvar_" is bound to the player profile, so if an character dies these variables are still present on a new character. Last is useful to save for example the skills an player has earned. -- There are also more advanced features, like the database is able to save the connection of two or more objects, so you can attach an box to the roof of an car and after the server restart the box is still attached to the car. -- An encryption library using an PSK set in the config to validate the hash of objects, and encrypt text in general. We created a couple tools along the way for server managers to use. Admin Tools: The DesolationREDUX Web Administration Panel is a plugin to help with server administration via the use of a fully configurable website panel which allows the server owner to define groups and permissions for all the staff. This panel allows the server administrators to be able to start, stop and restart the server. It allows admins to view all the logs on the server to allow them to help catch hackers! Server admins are able to view the chat of all servers on one simple web page. Server owners can use the web panel to setup and configure groups and permissions for a web based RCON tool to allow banning, un banning, kicking, remote chatting and much more. Server Manager: This tool is aimed at server owners who want to make server management easy as it aims to remove the annoying server start bat files. It will be GUI based and allows for easy server configuration. The Administration tool takes up the task of automatically restarting your server via a time picked by the server owner. It allows the installation of plugins via just one click as it works alongside the script Plugin Repository System. It allows server administrators to be able to easily add and remove parameters to their servers without the use of a bat file. Most importantly, it has support for multiple servers so managing more than one server could not be easier. The tool is C# based and currently only set up for Windows platforms. As of quarter 2 2017, C# received Linux support, but we have not done any Linux support for the Server Manager. It is planned. Plugin Repository: The DesolationREDUX Script Repository will be a website hosted on a sub domain of DesolationREDUX which hooks into our forums authentication system. This website will allow users of the community to easily publish plugins/ scripts to our website, push changes and updates to the plugin, and give a detailed description of the plugin. This website will be moderated by our forum moderators and staff to ensure nothing malicious is submitted. This repository will also be included in my Server Administration Tool, and will allow server owners to simply click a plugin on the repository to install it directly to the server. Vehicle and Loot Spawn Location Tool: The Vehicle and Loot Spawn Location Tool is used to get your own custom spawn location. This may be necessary for custom buildings, or to simply add your own touches to your server. These tools are located in Eden Editor, and are very simple to use. Due to the way in which REDUX spawns vehicles, the tool is needed for accurate position locating. Upon finding your locations, simply go to any text editor and "paste". It will paste the appropriate code config information. Server Discord Bot: The discord bot is a simple to install bot that provides easy access to server information such as Server FPS, CPS, Active Threads, Server Uptime, Player Count, Online Players, and has the option for the server owner only to shutdown the server. It is recommended this tool is placed in it's own channel as the players seem to love checking it. All assets we create, or port from the A2/TKOH data packs, will be made available as a separate download once REDUX goes into Beta. These assets will include magazine items, map objects, weapons, structures, characters & gear, and vehicles. All assets will be available unbinarized so they can be edited to suit the users needs. We hope these assets will be taken to supplement the available A3 assets, and used to create more interesting content for the ArmA community. All we ask is that we are credited with providing the source files and any derivatives are shared with the community. As for terrains, that portion of the project is on hold until we complete DesolationREDUX. Once the mod goes into Beta, the modeling team will move over to creating assets for a western themed map. We originally had plans for a map based on the San Juan Islands. This may still happen. Will have to see what the team feels like creating when we get there, but we will be creating a US based terrain and appropriate assets. Some of the project members also have their own side terrain projects that will be released as well most likely using available A2 ported assets and A3 assets. Thanks to past and present dev team members, and those that have contributed content. Present Kegan BigBen Legodev Optix TheKnightTemplar ComatoseBadger Nex ImUnleasheD JMaster Zisb CrazyMike Movinggun SonicSound Ducky Contributors DL++ (Has contributed some assets including journal image as well as shared ideas while he works on his No Cure mod) Argument (his released source files for open A2 buildings have been edited to fix many config issues and AI paths for use with A2 missions) Jonpas (for allowing us to use and edit his Theseus Services assets) Screamer (for our branding images and game icons) Kol9yN (Provides us with our custom animations) Past Dirty Sanchez ANixon David3D Natu StokesMagee Cronicash
  7. chernaruski

    ExileReborn

    https://github.com/gianni001/ExileReborn/tree/Reborn_Zombies old format loot tables compiler - https://github.com/maca134/exile-loot-compiler-js
  8. So I go onto my server, and it skips the role assignments, it loads the mission and I load in. I need some help on getting the role assignment to actually work instead of loading me in straight away. Please help me 😞
  9. RED FRAMEWORK A collection of useful functions for mission maker. Website under construction: http://www.redframework.com Version: 1.0.9 Release date: 11-03-2018 WORKSHOP: https://steamcommunity.com/sharedfiles/filedetails/?id=1226877632 GITHUB: https://github.com/RedBelette/RED_FRAMEWORK LICENSE: https://github.com/RedBelette/RED_FRAMEWORK/blob/master/LICENSE MISSION TEMPLATE (take it for a quick start !) https://github.com/RedBelette/RedFramework-Simple-Template https://github.com/RedBelette/RedFramework-TGV-Template INITIALIZATION - Voice is disabled for players (just for ingame recorded speeches, not VOIP). - Saving is disabled. FUNCTIONS ace improvements // This feature allows you to use a huntir ammo as a satellite that you can later use via ACE's huntir monitor. _huntirAmmo = [satellitePos] call RF_fnc_huntirSatellite; Action mecanism Trigger (by script) in arma are very useful but contain a lot of code to do something. We need to create new paradigm to replace it and to enhanced the behavior. We need an action mechanism. An action is to execute something when the condition is true. In more we can specify if the action is a one shot or in a loop. Maybe you want that the action is timed also. By creating a registry of action we can start and stop an action. // This function acts as a trigger and executes code when a condition is true. _action = [_condition, _codeAsString, _params(*default=[])] call RF_fnc_action; // This function acts as a trigger and executes code when a condition is true with a delay time. _action = [_condition, _codeAsString, _delayAsSecond, _params(*default=[])] call RF_fnc_delayedAction; // This function acts as a trigger and executes code every x seconds. _action = [_condition, _codeAsString, _timeToTheNextExecutionAsSecond, _params(*default=[])] call RF_fnc_repeatedAction; // This function acts as a trigger and executes code when a condition is true on the targeted remote side. _action = [_condition, _codeAsString, _params(*default=[]), _target(*default=0)] call RF_fnc_remoteAction; // This function acts as a trigger and executes code when a condition is true with a delay time on the targeted remote side. _action = [_condition, _codeAsString, _delayAsSecond, _params(*default=[]), _target(*default=0)] call RF_fnc_remoteDelayedAction; // This function acts as a trigger and executes code every x seconds on the targeted remote side. _action = [_condition, _codeAsString, _timeToTheNextExecutionAsSecond, _params(*default=[]), _target(*default=0)] call RF_fnc_remoteRepeatedAction; // This function opens a register of actions, allowing you to start or stop an action. call RF_fnc_actionRegistry; // The RF_fnc_actionRegistry function needs to be called beforehand to open an action register. _action = [_actionIdAsString, _actionAsReturnedAction] call RF_fnc_addAction; // This function allows you to find an action in the action register. _action = [_actionIdAsString] call RF_fnc_getAction; // Activate the action from the action register. [_actionIdAsString] call RF_fnc_runAction; // Desactivate the action from the action register. [_actionIdAsString] call RF_fnc_stopAction; // Remove action from the action register. [_actionIdAsString] call RF_fnc_unregisterAction; Ai behavior // Surrender occurs when the remaining units of the desired faction are below the desired minimum number. _trueOrFalse = [_side, _minUnitsToSurrenderTheSide] call RF_fnc_makeSideSurrender; // Order the entire faction to defend an area around a radius. [_side, _position, _radius] call RF_fnc_sideDefendArea; Ambience // Flash on the desired area (like zeus). [_position, _delay(*default:0)] call RF_fnc_lightningBolt Animation // Play a looping animation with the playMove instruction [_unit, _animClassName] call RF_fnc_playMoveLoop; Condition // Check if the unit is inside a vehicle _trueOrFalse = [_unit] call RF_fnc_isInVehicle; // Checks if a player is close to an entity following a radius _trueOrFalse = [_entity, _radius] call RF_fnc_isPlayerNearEntity; Converter // Convert string on side ojbect _side = [_sideAsString] call RF_fnc_convertSideStr; Heli control // Initialize a helicopter so that it stays quietly on the ground. [_group] call RF_fnc_heliInit; // Order the helicopter to land in the desired area. [_group, _position] call RF_fnc_landHeli; // Send the helicopter to fight. [_group, _position, _radius] call RF_fnc_sendHeliToFight; // The helicopters unload the units present in an area and then disappear. [_vehicle, _landingPosition, _getOutPosition] call RF_fnc_unloadUnitsWithHeli; Init // This function allows you to wait for the end of the loading screen. call RF_fnc_loadingComplete; waitUntil {loadingFinished}; Layer // Enable 3den editor layer. [_layerIdAsString] call RF_fnc_enableLayer; // Disable 3den editor layer. [_layerIdAsString] call RF_fnc_disableLayer; Mission generator This engine offer to you a complete engine to manage tasks and missions. You have a completer CRUD fort the task to create, changing state, close or remove it. You can also generate a random mission with a little configuration from description.ext. // Creates a new mission in the framework and generates an Arma task. This task may not be visible to players. _missionIdUnique = [_missionIdAsString, _side, _parentMissionIdAsString, _title, _description, _taskType(*default="default"), _taskDestination(*default=objNull), _taskSetCurrent(*default=false), _taskPriority(*default=0), _taskNotification(*default=true), _taskSharing(*default=false)] call RF_fnc_createMission; // Closes the mission identified by the missionID passed in parameter. By default, the status of the mission will be successful and an alert will be displayed. [_missionIdAsString, _taskStatus(*default="SUCCEEDED"), _taskShowHint(*default=true)] call RF_fnc_closeMission; // Returns true when the mission is closed. _trueOrFalse = [_missionIdAsString] call RF_fnc_isMissionClosed; // Return the task state of the mission _taskStatus = [_missionIdAsString] call RF_fnc_missionState; // Returns all the cities of the map. _locations = call RF_fnc_locations; // Return a random location of the map. _randomLocation = call RF_fnc_locationGenerator; // Generate a random mission based on the description.ext. (see config on the bottom) _missionIdUnique = call RF_fnc_missionGenerator; // Generates an example mission based on the condig file or past parameters. _missionIdUnique = [_side(*default=config), _helicopterClassName(*default=config), _unitsClassNameArray(*default=config)] call RF_fnc_spawnMissionHelicopterCrashInTown; Spawn // Create units. _group = [_side, _unitsClassNameArray, _position] call RF_fnc_spawnUnits; // Create garrisons around an area based on the description.ext or parameters. _allGroups = [_position, _radius(*default=config), _side(*default=config), _unitsClassNameArray(*default=config), _randomDistance(*default=config)] call RF_fnc_spawnGarrison; // Create patrols around an area based on the description.ext or parameters. _allGroups = [_position, _radius(*default=config), _side(*default=config), _unitsClassNameArray(*default=config), _radiusPatrols(*default=config)] call RF_fnc_spawnCirclePatrols; // Create a helicopter and teleport the group inside to the desired position. After landing the helicopter drops off the group, returns to its starting position and disappears. [_groupWillTeleportedInsideHeli, _spawnPosition, _landingPos, _heliClassName(*default="B_Heli_Light_01_F"), _side(*default=west), _driverClassName(*default="B_Helipilot_F")] call RF_fnc_spawnByHeli; Spectator // This script will allow you to create the spectator's mode. (config acre and tfar inside) call RF_fnc_spectator; // Add an action into object to enter spectator mode [_object] call RF_fnc_addSpectatorAction; Ui // Displays an image in full screen for a given time. [_imagePath, _timeInSecond] call RF_fnc_imageFullScreen; // Displays an image in full screen in the sky during a given time. [_imagePath, _timeInSecond] call RF_fnc_imageInSky; // Simplify the code to create a progress bar. [_object, _progressBarId, _titleAction, _titleBar, _codeAsString, _cancelCodeAsString, _parametersToTheCode, _timeInSecond, _actionType(*default=0), _actionParent(*default="ACE_MainActions"), _actionIcon(*default="")] call RF_fnc_progressBar; // Displays the name of the scenario and its author at the bottom right. [_missionName, _byAuthor] call RF_fnc_scenarioTitle; Vehicle // Charge a group of players in the cargo of a vehicle. The basic moveInCargo instruction is defective in MP. [_group, _vehicle] call RF_fnc_moveInCargo; Zeus // Allows zeus to modify all new spawner units by script. call RF_fnc_makeAllUnitsEditableForAllCurators; // Allows to make editable all the objects passed in parameter. [_objectArray] call RF_fnc_makeObjectsEditableForAllCurators; Zombie /* * The mod zombie Ryan's spawner module seems to pose performance * concerns in MP so here is a spawner optimize. * * Parameters * side: west, east, ... * gameLogic: gameLogic module * numberByWave: number of Z max spawned by wave. * time: delay between wave * type: (default: mediumCivilian) * - fastCivilian * - fastSoldier * - fastCivilianAndSoldier * - mediumCivilian * - mediumSoldier * - mediumCivilianAndSoldier * - slowCivilian * - slowSoldier * - slowCivilianAndSoldier * - walkerCivilian * - walkerSoldier * - walkerCivilianAndSoldier * - demon * - spider * - brittleCrawler * - mixedZombie * - mixedZombieNoSpiderNoCrawler */ [_side, _gameLogic, _numberByWave, _time, _type(*default:'mediumCivilian')] call RF_fnc_zSpawner Configuration in description.ext (optional) // Example class RedFrameworkConfig { class missionCfg { addItemEarPlugs=true; putInEarPlugs=true; putSafeMode=true; }; class MissionGenerator { missionPaths[] = { // HERE THE PATH OF YOUR MISSION "pathofmission1.sqf", "pathofmission2.sqf" }; }; class combatPatrol_CfgEnemis { side = "east"; // HERE THE DEFAULT SIDE }; class combatPatrol_SpawnCirclePatrols { // HERE THE FUNCTION DEFAULT VALUES distance = 200; unitTypes[] = {{"LOP_US_Infantry_SL", "LOP_US_Infantry_Rifleman_4", "LOP_US_Infantry_TL"}, {"LOP_US_Infantry_MG_2", "LOP_US_Infantry_MG_Asst"}, {"LOP_US_Infantry_Rifleman_2", "LOP_US_Infantry_Rifleman_4"}, {"LOP_US_Infantry_Rifleman_2", "LOP_US_Infantry_Rifleman_4", "LOP_US_Infantry_MG_Asst", "LOP_US_Infantry_MG_2"}}; radiusPatrols[] = {50, 100, 200}; }; class combatPatrol_SpawnGarrison { // HERE THE FUNCTION DEFAULT VALUES distance = 100; unitTypes[] = {{"LOP_US_Infantry_SL", "LOP_US_Infantry_Rifleman_4", "LOP_US_Infantry_TL"}, {"LOP_US_Infantry_MG_2", "LOP_US_Infantry_MG_Asst"}, {"LOP_US_Infantry_Rifleman_2", "LOP_US_Infantry_Rifleman_4"}, {"LOP_US_Infantry_Rifleman_2", "LOP_US_Infantry_Rifleman_4", "LOP_US_Infantry_MG_Asst", "LOP_US_Infantry_MG_2"}}; ramdomizeDistance = 80; }; class combatPatrol_missions { class combatPatrol_helicopterCrashInTown { // HERE THE FUNCTION DEFAULT VALUES helicopterClass = "B_Heli_Light_01_dynamicLoadout_F"; unitTypes[] = {{"LOP_US_Infantry_SL", "LOP_US_Infantry_Rifleman_4", "LOP_US_Infantry_TL"}}; }; }; }; CHANGELOG ## 05-02-2018 version 1.0.1 - ADD RF_fnc_moveInCargo - FIX RF_fnc_spawnByHeli with the new move in cargo (MP fail) ## 05-05-2018 version 1.0.2 - FIX RF_fnc_moveInCargo: brute force moveInCargo with infinite loop protection ## 05-10-2018 version 1.0.3 - ADD RF_fnc_lightningBolt to flash on desirated area. - ADD RF_fnc_spectator create the spectator's mode on client - ADD RF_fnc_addSpectatorAction to addAction your object with the previous spectator's function. - ADD RF_fnc_zSpawner to spawn Zombie and Demons with more performance in MP ## 05-10-2018 version 1.0.4 - ADD Configure your mission with features: add and put earplugs, security safemod for weapons. // Example description.ext: class RedFrameworkConfig { class missionCfg { addItemEarPlugs=true; putInEarPlugs=true; putSafeMode=true; }; }; ## 05-13-2018 version 1.0.5 - FIX counter variable's name mistake, '_' missing CHANGELOG version 1.0.6 ## 05-20-2018 - HOTFIX: Resolve default value on the init - HOTFIX: Partial hotfix for RF_fnc_moveInCargo and RF_fnc_spawnByHeli CHANGELOG version 1.0.7 ## 06-02-2018 - ADD capabilities to recieve code instead string for the executed job. - ADD capabilities to recieve parameters - ADD remote action for all the types of actions see action mecanism for more details ## 07-15-2018 version 1.0.8 - FIX when you try to configure earPlug with description.ext ## 11-03-2018 version 1.0.9 - FIX move in cargo for MP
  10. Hi, looking for a scripter to solve this Flowchart Theoretical Framework', via use of scripts. I am a videographer, not a scripter or anything technical. Basically, using what apex has given us, have put down a load of modules and triggers in a planned manner, all related around tasks and briefings, along with scripts within triggers filling in the gaps which will make the changes when certain conditions are met. The hypothesis is that these modules should be able to add up/correlate so an objective can either be completed or failed, with the (missing) script in triggers making the missing links. Why do i not do it? Because 1) Not a scripter 2) It would take me a decade to crack it If you take it on and crack it; - include a 'noob' definition of how it works - Add me on steam - Will give you credit in my video for theory, with possibly more rewards Check the link for a image of the theory, along with mission.sqm https://www.dropbox.com/s/e4kc066vn329dsz/Theory.png?dl=0
  11. Hello everyone, I started editing and scripting on Arma since March / April. After some creations of missions, I felt the need to build a framework to regain my developer habits. So far we had taken over the framework f3 that we had adapted. For the time being, we are reviewing the whole system. I would like to solicit you because I want to take a good habit and do a good job and can be, in a future that I hope close, make the community benefit from a flexible framework, powerful, easy to use even for beginners. We also have a rather nice reference project to play. Currently in French but we will translate it later. This implementation creates a battle zone where 300 units compete in real time. However, if you do not have a powerful machine, I advise you to go through a server. This should please you. Just before you provide the links, I warn you that the code is under development and that it still takes time to make it all mature. So I ask the community to follow the development, in order to provide advice. I also ask you to kindly test the reference mission. Of course, if you are interested by the subject ;-) Framework implementation https://github.com/RedBelette/TGV_MissionFramework_Template Wiki https://github.com/RedBelette/TGV_MissionFramework_Template/wiki (update required) Reference implementation https://github.com/RedBelette/RED_co9_op_anger_of_the_west.Kunduz (Youtube video = Milsim Live from beta5) Another reference implementation https://github.com/RedBelette/RED_co9_virgin_territory.kobbvatn (Youtube video = Cutscene) Client / Server Timer Demo https://github.com/RedBelette/RED_EX_TIMER.VR PS: No license, made what you want about the code, it's gift ;-) Bonus: An interteam was made with 45 players on the Kunduz map. More than 400 units were created from the mission. This proves me that the TGV framework is rather stable;) Here is a video summary made by the team 126RIM. Update This project is canceled and will no longer be updated. In fact, it is completely reworked in an addon named "Red Framework". Much more convenient for updates. A Beta version is available here: http://steamcommunity.com/sharedfiles/filedetails/?id=1226877632 A technical demo here : http://steamcommunity.com/sharedfiles/filedetails/?id=1230760053 We need a lot of Beta Tester. Are you interested ? Regards, RedBelette
  12. Hi, For those who don't know, Arma has a framework to check for an event on each frame of the game (similar to the sleep/sleepUI commands but unscheduled, so higher priority). Currently, there's no easy way to make it consider objects (or indeed any other data) that does not have a global name. This basic framework can let you add events easily based on time (it uses diag_tickTime fyi). Also, you can pass custom functions to it not based on time and write out the outcomes yourself (bit more advanced). If you specify a timeout parameter (in seconds), it will only execute your code once the timeout is up. Without a timeout specified, it will execute your code on each frame. FORMAT This is the format for using it: _thisEventHandler = [arguments,code,timeout (optional)] call horde_fnc_addMissionEventHandler; The rules are that the arguments you pass to it must be in an array. So these are ok: [[player],myFunction,10] call horde_fnc_addMissionEventHandler; [["string"],myFunction,10] call horde_fnc_addMissionEventHandler; [[player,"string"],myFunction,10] call horde_fnc_addMissionEventHandler; Using a single argument is NOT ok: [player,myFunction,10] call horde_fnc_addMissionEventHandler; // bad ["string",myFunction,10] call horde_fnc_addMissionEventHandler; // bad There's no error checking currently* so as long as you stick to the format, then you're ok. EXAMPLES ein) _fnc = { player sideChat format ["%1",_this select 0] }; [["hello"],_fnc,2] call horde_fnc_addMissionEventHandler; [["poopy"],_fnc,3] call horde_fnc_addMissionEventHandler; [["fluffy paws"],_fnc,4] call horde_fnc_addMissionEventHandler; Prints "hello" on screen after 2 seconds, then "poopy" a second later, then "fluffy paws" a second after that. drei) _fnc = { missionNamespace getVariable ("horde_gv_eachFrameArgs_" + (_thisEventHandler toFixed 0)) params ["_unit","_moving","_notMoving"]; if (vectorMagnitude velocity vehicle _unit > 1) then { systemChat format ["%1 is %2",_unit,_moving] } else { systemChat format ["%1 %2",_unit,_notMoving] } }; TAG_movingIndicatorID = [[player,"moving","not moving"],_fnc] call horde_fnc_addMissionEventHandler; Infinite loop informing player if he/she is moving or not by systemChat. Note that we no not define the timeout (3rd parameter in the arguments). You can stop it in this example by using the return (TAG_movingIndicatorID) TAG_movingIndicatorID call horde_fnc_removeMissionEventHandler; // stops the sideChat zwei) _fnc = { missionNamespace getVariable ("horde_gv_eachFrameArgs_" + (_thisEventHandler toFixed 0)) params ["_unit","_moving"]; if (vectorMagnitude velocity vehicle _unit > 1) then { systemChat format ["%1 is %2 - deleting EventHandler",_unit,_moving]; _thisEventHandler call horde_fnc_removeMissionEventHandler } }; [[player,"moving"],_fnc] call horde_fnc_addMissionEventHandler; This is a function that is not dependent on time so the 3rd parameter of the arguments does not need to be defined. If the unit passed to it moves, then it prints a message and then quits. Note that the deletion is specified in the function. CBA I just wanted to mention cba as they have a great system for this sort of thing, but if you want to use it, then you have to be comfortable with mod dependencies. This is a poor man's system that lets you manage an unscheduled event system without mods. ALWAYS DO BETTER If you can write something faster/better than this then please comment and post your code in here so we can all benefit. My code's not great but works ok I think. I'm sure there's better ways of doing it but I can't think of them right now. FUNCTIONS horde_fnc_addMissionEventHandler = { params ["_args","_code","_timeout"]; private _thisEventHandler = -1; if (isNil "_timeout") then { _thisEventHandler = addMissionEventHandler [ 'EachFrame', _code ]; } else { _thisEventHandler = addMissionEventHandler [ 'EachFrame', horde_fnc_missionEventHandlerTimeout ]; _args pushBack [_code,diag_tickTime + _timeout] }; missionNamespace setVariable ["horde_gv_eachFrameArgs_" + (_thisEventHandler toFixed 0),_args]; _thisEventHandler }; horde_fnc_missionEventHandlerTimeout = { private _args = missionNamespace getVariable ("horde_gv_eachFrameArgs_" + (_thisEventHandler toFixed 0)); _args select (count _args - 1) params ["_code","_timeout"]; if (diag_tickTime > _timeout) then { _args deleteAt (count _args - 1); _args call _code; removeMissionEventHandler ["EachFrame",_thisEventHandler]; missionNamespace setVariable ["horde_gv_eachFrameArgs_" + (_thisEventHandler toFixed 0),nil]; }; true }; horde_fnc_removeMissionEventHandler = { removeMissionEventHandler ["EachFrame",_this]; missionNamespace setVariable ["horde_gv_eachFrameArgs_" + (_this toFixed 0),nil]; true }; Ta * = I could put this in if required but it will slow the execution down a bit
  13. I am proud to present a new framework for mission makers to use. Thanks to the initial feedback, the framework was rewritten to utilize the latest scripting commands added for improved performance, as well as proper MP support with broadcasting / global events. Global events can be raised from any machine, and handlers registered to on client machines are remote executed when an event is raised. JIP is still being looked into for integration. IGN Event Framework gives mission makers custom event support, being able to define events, add handlers, and raising events. The framework was originally developed back in 2014 when I released Tiger Shark on the steam workshop (which heavily used it for updating tasks and controlling mission flow). Most of the 'pilot xxx' missions on Steam Workshop also use this framework. Download: http://www.mediafire.com/file/6c5o9louso1583o/IGN_EH_v1_1.zip The download comes with demo missions, documentation, and in 2 flavors - the typical scripted approach, and CfgFunctions approach, with instructions on how to install using both. There is also debug mode support, Documentation is included with a list of all calls and explanations for each in the Docs folder. There is a manual.pdf included, but it's not complete by any means. There are also some functions for creating functors/function objects, but this is still work in progress. Changelog: v 1.1: - added path parameter to IGN_EH_INIT.sqf, which lets you specify the path where IGN will compile scripts from. Useful if you wish to move the folder to a different directory. - compileFinal used instead of compile - rewrite of all functions to utilize new scripting commands (push, params, etc) - added proper MP support with global events and remote handlers - added new demo mission IGN_EH_MPDemo1_DedicatedServer.VR which showcases using events on dedicated server with clients - updated documentation v 1.0 - Initial Release Demo Missions: IGN_EH_SPDemo1.VR - a mission with 3 tasks using the traditional scripted approach IGN_EH_SPDemo2.VR - same mission, this time using the CfgFunctions approach IGN_EH_MPDemo1_DedicatedServer.VR - same mission, tweaked to use both Global and Local events Please feel free to leave feedback and any bugs encountered using this.
  14. Original post in spoiler above. This topic is no longer supported, because the project has moved to another development team. Our continuation of PRA3 will be available soon. Thanks.
  15. SQF Classes for ArmA 3 Edited - release updated with a couple of bugfixes - if you downloaded prior to 6pm GMT on 29 October then please re-download to get the corrected files. "If . . . [the] fact [that brutes abstract not] be made the distinguishing property of that sort of animal, I fear a great many of those that pass for men must be reckoned into their number." -- George Berkeley Many times when scripting in SQF it may occur that implementing object-oriented techniques can simplify or enhance certain abstractions. The technique of using getVariable/setVariable on a unit or gamelogic to store function code or references specific to that unit's situation is a common pattern found in many missions and modules. Here, that idea is taken one step farther: instead of storing functions on game objects, we store an array of class names (representing a chain of inheritance or a mixture of interfaces). Meanwhile, a master Classes array holds a subarray for each defined class, containing a function definition for each class method. With this arrangement and just a handful of primitive functions, an unlimited variety of classes and methods can be declared on-the-fly while a mission is running. Release (.zip): https://github.com/dwringer/a3system/releases/tag/v1.0 Code: http://github.com/dwringer/a3system/tree/master/ClassDemo.Tanoa This is a selection of modules drawn from a larger repository I keep at http://www.github.com/dwringer/a3system/. There, more recent versions of these modules can often be found. I also placed other modules I created over the years, which are of variable quality and may or may not be worth a look. Class layout Lambda Macros Example overview This will demonstrate how to create abstract instances and send messages (method calls) to them. The included example is a mission with four men (crew_1..crew_4) and two vehicles (car_1, car_2). You may easily duplicate it in a different map if you don't have Tanoa available. There is a single Radio Alpha trigger, upon whose activation the following scripts are executed: CG = ["CrewUnitGroup"] call fnc_new; [CG, "assign", crew_1, "driver"] call fnc_tell; [CG, "assign", crew_2, "gunner"] call fnc_tell; [CG, "assign", crew_3, "driver"] call fnc_tell; [CG, "assign", crew_4, "gunner"] call fnc_tell; [CG, "assign", car_1, "vehicle"] call fnc_tell; [CG, "assign", car_2, "vehicle"] call fnc_tell; [CG, "board_instant"] call fnc_tell; Here, fnc_new is how we create a new instance. It accepts the class name and any init parameters appended to it (here there are none). We could also put a Game Logic in the editor instead of using fnc_new, and in its init use the following: _nil = this spawn { waitUntil {not isNil "ClassesInitialized"}; [_this, "CrewUnitGroup"] call fnc_instance; .. rest of code .. }; The method calls are actually made with fnc_tell, which takes as parameters the class instance, method name, and subsequently each method parameter. Thus, all methods to all classes are defined and called using a standardized syntax and set of functions which have been precompiled. Since fnc_instance makes an instance out of an existing object, we can also use it for creating class inheritance. Consider the following: DEFCLASS("MySubClass") ["_self"] DO { [_self, "SuperClass"] call fnc_instance; .. rest of code .. _self } ENDCLASS; Now, MySubClass inherits all the methods from SuperClass. Each game object keeps an ordered list of its class assignments, so if a method is not found on MySubClass it will be looked up on SuperClass. I have provided the macros SUPER and SUPER_ARGS in include\classes.hpp to facilitate subclassing from within classdef header files. If you want to create a subclass method that implements a superclass method under a different name, that can be done by looking up the class alist in the Classes global alist and using the function contained there as a new method. In classdef files, this has a macro called ALIAS(subclass, subclass_method, superclass, superclass_method). Another example Without further ado, the link to the repository containing the above example mission folder and all required modules is: Release (.zip): https://github.com/dwringer/a3system/releases/tag/v1.0 Code: http://github.com/dwringer/a3system/tree/master/ClassDemo.Tanoa Good luck, and if anyone creates some useful classes or a cool class tree, I'd love to hear about it. Even if this just serves as an example of what can be done to (ab)use SQF, I am satisfied. "No point in mentioning these bats, I thought. Poor bastard will see them soon enough." -- Raoul Duke Edited - release updated with a couple of bugfixes - if you downloaded prior to 6pm GMT on 29 October then please redownload to get the corrected files. There were changes made to fnc_tell and fnc_filter related to nil values being passed as parameters. Edited - added another example section
  16. [framework no longer works as intended due to some new game updates - I might break it down and release certain scripts that work]
  17. . . . Making missions is tough, it really is. On top of learning a metric ton of scripting commands and SQF syntax, mission makers are also expected to extensively test their scenarios and hope to god everything falls into place as expected. Although it's a job that can feel unrewarding, make no mistake: without missions, no community can exist, and by definition, neither can the ArmA series. So how do we solve these two problems? How do we kindle the interest in making scenarios within the general player-base, without forcing people to spend precious time learning extensive scripting? Throughout the years, BromA - my community of choice - struggled with missions who had a standard of quality, something we could rely on and that wasn't gonna just break at one point or another, pissing off all players and ruining the session. And so, we've started to develop a template for all of our missions, which through lots of testing and debugging, would be stable enough to use and simple enough to be actually utilized. Long story short, as time went by and we got a bit better at scripting, here we are. The Framework comes with a robust and flexible Plugin system, which makes sharing functionality across missions super easy - take a look on what's already implemented. Another powerful feature is the ability to make your missions completely retroactive compatible with any gameplay mods you might want to use: in uses no modules placed from the editor, spawning them all through scripting. On top of making the mission.sqm cleared of clutter that might stop your mission from loading, this also means many module settings are linked to the mission parameters, enabling an unprecedented level of customization. Some of the features include: ACE3, AGM, TFAR, ACRE2, ALIVE and DAC are fully integrated. AI spawning system, complete with unit caching for performance. Cargo loading made simple. Casualty Cap and Body Removal. Casualty Cap for civilians. Commander Lock. JIPs handling. Limit player movement to the AO. Loading screens. Mission time limit. Respawn system with tickets and respawn waves. Setup Zones. Spawn protection. Tasks system which is very flexible and simple to understand. Team Roster. Team killing warning. Very effective Loadout System. Well organized and scenario-agnostic. Important note: this Framework absolutely requires CBA to run. You may need to use a modified version of DAC, compatible with HC to run this properly. Please keep in mind DAC is Silola's work and therefore we ask everyone to keep distribution to a minimum. Yes. Although we don't have any binds like DAC to make its use easier, it's still entirely possible to use ALIVE in your missions and several of our mission makers already have. This project was developed and grew alongside me and its contributors as a great learning experience. As one would expect, we utilized a lot of reference and cannibalized many scripts written by other awesome ArmA modders, so let me stress this as much as I can: although the vast majority of the scripts utilized in the framework have been extensively modified to fit in as a proper Plugin with many hours dedicated to make everything would work, credit to the original authors is fully retained and this is in no way an attempt to upset anyone. That said, this Framework is open-source and free for everyone to use and abuse; if you want to credit me for any of it go ahead but otherwise I really don't care. However, the same might not be true for the authors of the original scripts so please be considerate and don't remove the licenses I've included. List of all Framework contributors. Special Thanks: Ferstaberinde for his work on the F3 Framework and Naught & Olsen for the Core Framework, which basically inspired this one into existing. The BromA and /a3g/ communities, for being nice sports and keeping things always fun to be around. You, for reading all this crap. Although in the future I plan on making a series of video tutorials explaining how to properly utilize every aspect of the Framework, so far the best I've managed is a bunch of dumb streams of myself making missions. This might help you get started on it, but otherwise I recommend the Wiki for documentation. This project is young and still has a long way to go: If you run into some trouble or just have any questions, please hit me up on Steam any time and I'll get back to you ASAP. As a small side note, someone has taken the time to impersonate me on reddit; I do not ever post there so please, kindly ignore whatever is in that account. We hope this Framework helps you to finally make those mission scenarios you've always wanted to make, and then more. Thanks for giving it a shot!
  18. Hello, Today i am asking if any advanced scripters are happy to take on the job of helping to create a Altis Life 'Like' variant. I wish to create a user friendly and mod friendly Life framework that is free to use. Features include the normal altis life like features: Cops, Civs, Federal Reserve, shops etc. Some of the features i want this framework to include in the default build are: Dynamic Economy and Market system, Custom Textured Phone/Tablet, Local Banks as well as the federal reserve up for robbery. It will also an inbuilt admin panel which will have multiple uses such as; comping players, banning and kicking (maybe), whitelisting (maybe), teleporting, godmode and a vehicle and weapon spawn system. This project will be 100% FREE, only that i ask that you leave the crediting in the files. Their are currently a Head Developer spot which i will give to a veteran scripter who can manage the overall development. I will just manage content of the mission file. Notes for anyone who is thinking of becoming a developer: Since i am looking to get skilled scripters any previous work would be great. Application Link: http://goo.gl/forms/cPkvxKOaeU This application's results will only be seen by myself and my community's other owner. Please only apply if you are serious Regards, Rowantrek
×