Jump to content

engima

Member
  • Content Count

    548
  • Joined

  • Last visited

  • Medals

Posts posted by engima


  1. 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.

    • Thanks 1

  2. 8 hours ago, bondematt said:

    Is there anyway to make "filter out for current project" permanent? If I change anything in the script the warnings/errors that were filtered out come back.

     

    Currently it warns me about every function "Public variable 'XYZ' may be used before being assigned a value". I'm using "call compileFinal preprocessFile" on the SQF files, so the error doesn't apply in my situation. It also warns about CBA functions, which I believe are preprocessed the same way.

     

    Other than that this has been fantastic. Using version 1.08.

     

    I’ll look into this. Thanks for the feedback!


  3. 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.

    • Like 1

  4. y4mwKVzudfvikY3-QG1PbGCJBg5uwFMYKyMf0JWD

     

    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

    y4muXOd17hDi3KvVyJLdMGnZTxcsiH5eCfVkS0Wq

     

    List of all the videos

     

    Useful Links

     

    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.

     

    • Like 4
    • Thanks 2

  5. 14 hours ago, Rosetux said:

    Hey @engima,
    I'm working on a project using SQX and I was wondering if there's a way to initialize public static properties.
    I'd like to use a public static property as a class constant, the issue is that there is no way to initialize property at class scope.

    ...

    Thanks again for SQX !
    I'm having a real good time using it 🙂

     

    Hi. I'm really glad to hear that you like it!

     

    To initialize a static property I would create a static initializer - a static "Init" method. And then I would call the Init when the mission starts.

    public class EndMissionEventHandler
    {
      public static method Init()
      {
        EndMissionEventHandler.EVENT_NAME = "END_MISSION";
      };
     
      public static property String EVENT_NAME { get; private set; };
    };

     

    And in init.sqx (or similar):

      call compile preprocessFileLineNumbers "EndMissionEventHandler.sqx";
      call EndMissionEventHandler.Init;

  6. 11 hours ago, Linza said:

    Hi, Engima!

    Have you ever thought of introducing a brackets pairing check (), [], {} into the editor? The context menu (Copy, Paste, etc.) would also be useful.

     

    I have. But it will require more effort than I have found motivation for, at least this far. A context menu would be easier I think, so that would maybe come sooner.

     

    But the project is open source, so what I was hoping for was that others would fix such things. 🙂

    • Like 1

  7. New version.

     

    Version 1.06

    -Added support for all script commands up until Arma 3 version 2.00 (ScriptCommands.xml).

    -Fixed: General stability issues in CPack manager.

    -Fixed: Settings file not updated with new project when a new project is opened.

    -SQX: Updated the SQF/SQX analyzer and compiler to version 1.06.

    -SQX: Fixed: Analyze of multiple class inheritence levels sometimes resulted in faulty error messages.


  8. Why not create a MP mission with one slot on each side instead? Then you also have the benefit to run it on dedicated server and save notable performance on player’s machine. I mean, is there a reason to avoid the MP lobby?

     

    EDIT: It was only meant as a humble question, since I only do MP scenarios. But I think I figured it out. Of course, if only SP is intended, and if you want to package it nicely, then you may not want the MP lobby suggesting you can play it with more than one player. 🙂


  9. 3 hours ago, jandrews said:

    This sounds fun.  Stratis is kinda lame map.

     

    One suggestion like someone stated and like another older tvt was having the aoe randomized.

     

     

    I agree about Stratis. But I thought it was fun as a variaty. And it doesn’t really matter for this game mode. I think I found at least one interesting enough local area per mission.

     

    I’ve heard you about playing randomized missions. It will be in the next release.

    • Like 1

  10. Put the code in a file called "mission_counter.sqf" in the Arma 3 mission root folder. (In this case you can skip the first and the last line - the spawn command).

     

    Then in the trigger activation field, write:

    _nil = execVM "mission_counter.sqf";

     

    This means that when the trigger fires, the execVM command is executed. This command starts the file mission_counter.sqf that starts to run in the background. Once in a second, this script displays seconds left as a hint.

    • Like 4

  11. Hi @LSValmont

     

    Thanks for all of your feedback! I look forward to hear what you think about it after the weekend, when you said you were about to play it with friends.

     

    The truck you saw in Cannonball Run was not the target truck. It was an AAF Truck. A challenge in Cannonball Run is to identify the target, and hitting independent or civilian will cost you "guerilla alliance", which you will otherwise gain out of the mission. The AI enemy units do not do anything other than inserting and waiting for human initiative.

     

    The missions in this particular campaign is always in the same order. However, you will play different roles depending on how you progress. The most obvious is that if you win Capture The Airbase you will always play the "airbase owner" role in the rest of the missions.

     

    30 min for seven missions is 3.5 hours. That is a "worst case" scenario though. If objectives for both sides are fulfilled earlier, or e.g. if all players die, then the current mission will end. More likely you play it somewhere in between 1.5 to 2.5 hours. A parameter for the maximum time is still a great idea, and is now written as a TODO.

     

    I have done some fixes, let's see if I manage to release version 1.01 for you in time for the weekend.

    • Thanks 1
×