engima 328 Posted November 13, 2020 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. 4 2 Share this post Link to post Share on other sites
engima 328 Posted November 17, 2020 New version. 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. I also added a link to the GitHub repo. 1 Share this post Link to post Share on other sites
engima 328 Posted November 21, 2020 New version. Version 1.08 Check objective methods dependent of each other did not work in both directions on mission end. 1 Share this post Link to post Share on other sites
engima 328 Posted November 27, 2020 Added the last video (part 5) of the video tutorial. The video is here. 1 Share this post Link to post Share on other sites
LSValmont 789 Posted January 27, 2021 First time seeing this! I can't believe I missed this! It is awesome that you added an Option to Randomize the Missions! Adds lots of replayablity to the missions! Some questions: 1) Is this framework up to date compared to Shoe Lace? 2) Is it possible to use normal SQF scripts in tandem with this mission framework? PS: Just subscribed to your YT channel 😉 Would be great if the framework could be expanded with a few more features: 1) A Lobby/Mission Option to disable Insertion Points (Sometimes missions require players to use vehicles and/or walk all the way to the Mission location rather than teleport right next to it). 2) Would be great that even if you set the missions to random, the mission maker could still define an Opening and a Ending Mission so for example the first mission is to set up a FOB, then you play X number of missions in Random Order and your last Mission is Always to Extract via Helicopter etc. Of course you could set the Starting Mission and the Ending Mission to none so that all missions just play randomly if the random option is choosen! 1 Share this post Link to post Share on other sites
engima 328 Posted January 29, 2021 On 1/27/2021 at 3:46 PM, LSValmont said: First time seeing this! I can't believe I missed this! It is awesome that you added an Option to Randomize the Missions! Adds lots of replayablity to the missions! Some questions: 1) Is this framework up to date compared to Shoe Lace? 2) Is it possible to use normal SQF scripts in tandem with this mission framework? PS: Just subscribed to your YT channel 😉 Would be great if the framework could be expanded with a few more features: 1) A Lobby/Mission Option to disable Insertion Points (Sometimes missions require players to use vehicles and/or walk all the way to the Mission location rather than teleport right next to it). 2) Would be great that even if you set the missions to random, the mission maker could still define an Opening and a Ending Mission so for example the first mission is to set up a FOB, then you play X number of missions in Random Order and your last Mission is Always to Extract via Helicopter etc. Of course you could set the Starting Mission and the Ending Mission to none so that all missions just play randomly if the random option is choosen! Hi! Yes, it is even more up to date, since Operation Shoe Lace is using version 1.05 of the framework. So a few general features added in current 1.08. You can use whatever SQF you want to in tandem with the framework. SQX is its own thing, and everything is compiled to SQF anyway, so no limits there. You can call SQF scripts from SQX code and vice versa. 1) Not sure what you mean? Have you noticed that you can teleport a vehicle by sitting in it during teleportation? 2) You can already define a campaign exactly like that, but you will need to define the random logic yourself. But that is easy. Simply override the GetNextMission method in the campaign class. 1 Share this post Link to post Share on other sites
LSValmont 789 Posted January 31, 2021 On 1/29/2021 at 4:00 PM, engima said: 1) Not sure what you mean? Have you noticed that you can teleport a vehicle by sitting in it during teleportation? I meant completely disabling insertion points for some missions. Just by watching the tutorial videos it seemed that every mission requires insertion points, but what if the mission maker wants players to travel from their base to the location manually? An easy solution would be to disable the "Insertion Addaction" for some missions and so even if the mission has insertion points it is impossible to use them. On 1/29/2021 at 4:00 PM, engima said: 2) You can already define a campaign exactly like that, but you will need to define the random logic yourself. But that is easy. Simply override the GetNextMission method in the campaign class. Good to know, will look at the GetNextMission! One last question. Is the framework save compatible? Like if we have a very long campaign and we save using bis save before we end the campaign do we continue from the saved file at a later time without any issues like loosing our points? Is everything important to the mission saved correctly or should we just set missions that we can finish in just one session? Share this post Link to post Share on other sites