Jump to content

engima

Member
  • Content Count

    548
  • Joined

  • Last visited

  • Medals

Everything posted by engima

  1. TypeSqf Editor 1.08 by Engima Overview The TypeSqf Editor is a script editor for Arma 3. The most important features are: Syntax Highlighting Syntax Checking Auto Completion Folding Object Oriented Scripting (SQX Syntax) CPack Service (like nuGets in Visual Studio) Description The TypeSqf editor is a developer's tool for scripting in Arma 3. Besides using it to write SQF code with syntax highlighting and auto completion, it analyzes your syntax in real time, alerting you if something is erroneous or suspicious. Object Oriented Scripting The editor comes with an optional extended functionality for SQF syntax, called SQX. In a convenient way, and with as many similarities to SQF as possible, SQX enables object oriented scripting (classes) and adds type handling. Classes may contain a constructor, fields, properties and methods. It works because the .sqx files are compiled into corresponding .sqf files before executed by Arma 3. The CPack Service The CPack Service is a service for sharing content with other script editors as well as to organize your own code. In short a CPack is a content bundle (a .zip file) that you upload and label with a name and a version number. Then they are very easy for anyone to download and include in any mission. Download Download at Official TypeSqf Site. Installation / Usage 1. Open the zip file and run the installer. 2. Run TypeSqf from the start menu. (See the video "Getting started with the TypeSqf editor" below.) Code Code is shared at Github: https://github.com/XEngima/Apps-TypeSqfEdit Media: Getting started with the TypeSqf editor. Creating and using an SQX Crowd class in Arma 3 using the TypeSqf Editor. More videos: TypeSqf Features Part 1 - Getting started with TypeSqf TypeSqf Features Part 2 - Main Features TypeSqf Features Part 3 - The Power Of CPacks TypeSqf Features Part 4 - The CPack Console There's more. You can find all videos here. Feedback and error reports I will gladly receive any feedback. Please tell me good things, bad things, errors, whishes etc. Please use this forum thread for comments, but email all error reports to typesqf@outlook.com. Thanks to Josef - The main man on auto completion for script commands and the search and replace dialog. Changelog Version 1.08 -Added bracked highlighting (thanks Josef!) -Added context menu for undo, redo, cut, copy, paste and replace (thanks GHSid!) -Support for multiline strings in SQF. -Fixed: The CPack Manager sometimes added non existing file nodes in the project tree view. -General fixes and improvements. -SQX: Support for multiline strings. Version 1.07 -It is now possible to rename files and folders in the project tree view. -Fixed: Addressed some stability issues (thanks Josef!). -Minor fixes and improvements. 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. Version 1.05 -Improved the syntax highlighting. -Fixed: Editor crasching when analyzing files that do not belong to current project. -Fixed: Intellisense sometimes contained multiple identical private variables. -SQX: Fixed: Analyzer does not forget about file content in files that are being removed. Version 1.04 -Added menu item "Rebuild project" to perform a full reset, reanalyze and build of the project. -Added support for all script commands up until Arma 3 version 1.98 (into ScriptCommands.xml). -Made the project root node expanded from start when opening a project. -General improvements. -SQF: Now possible to use "#" instead of "select" when selecting from a list (allowed in Arma 3 since version 1.82). -SQF: Now possible to have empty string literals in params. -SQX: Refactor of SQF/SQX analyzer and compiler (speeded up the build times a lot). -SQX: Now possible to declare typed variables on a single assignement line (private Scalar _number = 0). -SQX: Now possible to declare typed variables using new SQX keyword 'var' (var _number = 0). Version 1.03 -Added intellisense when using keyword "override" in a sub class. -Updated analyzer and SQX compiler to version 1.03. -SQX: Fixed: Strange behavior regarding negation symbol (e.g. "return -1;"). -SQX: Fixed: No warning when sub class tries to override a method that does not exist in base class. -Fixed: Help menu link to SQX forum not working. Version 1.02 -Added support for all script commands up until Arma 3 version 1.96 (into ScriptCommands.xml). -Added status bar that shows replaced occurrences on the replace dialog (thanks Josef!). Version 1.01 -Fixed: Crasch when performing search and replace in text selection (thanks Josef!) -Updated analyzer and SQX compiler to version 1.01. -SQX: Added checks for when a sub class is missing call to explicit base constructor. Version 1.0 -Updated analyzer and SQX compiler to version 1.0. -SQX: Fixed: Debug logging in implicit constructors missing. -SQX: Fixed: Error when defining an interface with the same name as a class. -SQX: Added error message explaining that type Number that has changed to Scalar. Version 0.70 -Added search and replace functionality. (Big thanks to Josef!) Version 0.69 -Added support for all script commands up until Arma 3 version 1.96 (into ScriptCommands.xml). -Updated dependency to .NET to 4.6.2. Requirements Microsoft Windows. Other releases The SQX Script Language (Object Oriented SQF Scripting) TvT/PvP Campaign Framework (TvTCF) Campaign - Operation Shoe Lace Engima's Traffic Engima's Civilians Engima's Simple Tasks
  2. Engima's Traffic v1.7 by Engima Description: Script that adds dynamic traffic to any map. Vehicles are spawned in out of sight for the player(s) and are removed again when they get at a certain distance. You can customize traffic by editing the file Engima/Traffic/ConfigAndStart.sqf. Customizable parameters are side, vehicle classes, amount of vehicles, spawn distances, crew's skill, map area, and you can also add callbacks that fire when vehicles are spawning and being removed. Works in SP, MP, Dedi and JIP. Download: Download Link at Armaholic Also released as CPack Engima.Traffic for the TypeSqf Editor Installation: 1. Copy folder "Engima" to root of your mission folder. 2. Create the file "init.sqf" in your mission folder (if you don't already have it). Add the following line to the top of the init.sqf: call compile preprocessFileLineNumbers "Engima\Traffic\Init.sqf"; 3. Customize the traffic behavior in the file "Engima\Traffic\ConfigAndStart.sqf". Documentation and a complete reference of set up parameters can be found in file "Engima\Traffic\Documentation.txt"; Usage: Here is an example of how to initialize the traffic in the file Engima/Traffic/ConfigAndStart.sqf: // Set traffic parameters. _parameters = [ ["SIDE", east], ["VEHICLES", ["O_MRAP_02_F", "O_Quadbike_01_F", "O_Truck_02_transport_F"]], ["VEHICLES_COUNT", 10], ["MAX_GROUPS_COUNT", 12], ["MIN_SPAWN_DISTANCE", 800], ["MAX_SPAWN_DISTANCE", 1200], ["MIN_SKILL", 0.4], ["MAX_SKILL", 0.6], ["AREA_MARKER", "EnemyMarker1"], ["HIDE_AREA_MARKER", true], ["ON_UNIT_CREATING", { true }], ["ON_UNIT_CREATED", {}], ["ON_UNIT_REMOVING", {}], ["DEBUG", false] ]; // Start an instance of the traffic _parameters spawn ENGIMA_TRAFFIC_StartTraffic; You may create more than one instance of the script, if you want different kinds of traffic with different behavior. See the documentation for how that is done. How to update from older version: Manually: 1. Back up your own customization file (Engima\Traffic\ConfigAndStart.sqf). 2. Replace the folder Engima\Traffic with the corresponding folder in the download package. 3. Replace the original ConfigAndStart.sqf with your own ConfigAndStart.sqf that was backed up in step 1. TypeSqf: 1. Open the CPack console and run command "update Engima.Traffic". Change log: v1.7 - Fixed: The same car had different random texture on different clients. Now all players see the same texture on all cars. - Fixed: Script error when no players are in the mission. v1.6.1 - Adjusted vehicle spawn distances. - Improved traffic flow by removing immobile vehicles outside visual range. - Fixed: Many traffic units not moving at all on maps with several small islands (like Tanoa). - Fixed: Units get stuck on small paths in the woods (like on Tanoa). Paths are now ignored. - Fixed: Number of vehicles not relative to traffic area coverage in some cases. - Added callback ON_UNIT_CREATING which fires right before a vehicle spawns. - Replaced callback ON_SPAWN_CALLBACK with ON_UNIT_CREATED. - Replaced callback ON_REMOVE_CALLBACK with ON_UNIT_REMOVING. - Fixed: Vehicles tend to spawn more often behind the players than ahead of them. - Added support for headless client. - Script no longer tries to terminate scripts executed in spawn callback. v1.30 - Possibility to select areas (markers) where the traffic will be. - Better performance on large maps (like Altis). v1.25 - First version published on Armaholic.com. Licence: Free to use, but if you release anything with it, please write my name somewhere suitable. Requirements: Arma 3.
  3. Engima's Civilians v0.90.40 by Engima Description: Engima's Civilians is a script that adds dynamic civilians to an Arma 3 mission. Civilians spawn near player(s) and are removed again when they are far away. Works on maps with enterable buildings. You can customize how many civilians there will be, civilian units classes, the maximum number of groups to use, minimum spawn distance, maximum spawn distance, and blacklist markers to define areas where no civilians will be. You also add callbacks if you want to do something when units spawn or being removed. Script works in singleplayer, multiplayer, hosted, dedicated, for JIPs, and on any map with enterable buildings. Media: Youtube video - How to create a quick mission with civilians. https://youtu.be/OVirxev6wjw Download: Download Link at Armaholic. Also released as CPack Engima.Civilians for the TypeSqf Editor. Installation: Manually: 1. Copy folder "Engima" to root of your mission folder. 2. Create the file "init.sqf" in your mission folder (if you don't already have it). Add the following line to the top of the init.sqf: call compile preprocessFileLineNumbers "Engima\Civilians\Init.sqf"; 3. Customize the script in the file "Engima\Civilians\ConfigAndStart.sqf". TypeSqf 1. Open the CPack console and run command "install Engima.Civilians". Usage: Here is the simplest example that starts the civilian script with all default parameters. This code is to be put in Engima\Civilians\ConfigAndStart.sqf. [] spawn ENGIMA_CIVILIANS_StartCivilians; Here is an example that uses all parameters and first saves them in a variable named "_parameters". The function call (or spawn) that starts the civilian script is beneath. This code are to be put in Engima\Civilians\ConfigAndStart.sqf. // Set civilian parameters. _parameters = [ ["UNIT_CLASSES", ["C_man_1", "C_man_1_1_F", "C_man_1_2_F"]], ["UNITS_PER_BUILDING", 0.1], ["MAX_GROUPS_COUNT", 100], ["MIN_SPAWN_DISTANCE", 50], ["MAX_SPAWN_DISTANCE", 500], ["BLACKLIST_MARKERS", []], ["HIDE_BLACKLIST_MARKERS", true], ["ON_UNIT_SPAWNED_CALLBACK", {}], ["ON_UNIT_REMOVE_CALLBACK", { true }], ["DEBUG", true] ]; // Start the civilian script _parameters spawn ENGIMA_CIVILIANS_StartCivilians; Documentation and a complete reference of set up parameters can be found in file "Engima\Civilians\Documentation.txt". How to update from older version: Manually: 1. Back up your own customization file (Engima\Civilians\ConfigAndStart.sqf). 2. Replace the folder Engima\Civilians with the corresponding folder in the download package. 3. Replace the original ConfigAndStart.sqf with your own ConfigAndStart.sqf that was backed up in step 1. TypeSqf: 1. Open the CPack console and run command "update Engima.Civilians". Change log: v0.90.40 - First version. Requirements: Arma 3. Other releases Engima's Traffic Engima's Simple Tasks The ASCOM protocol
  4. Escape Tanoa by Engima 2.22 Description Finally! Seven years ago I publiched Arma's first Escape mission - Escape Chernarus for Arma 2. I was very glad to see the response then. There were several servers online all the time during the first year, and now, after some years with Arma 3 it has spread in so many versions for every possible Island, and is running on so many servers all the time! I have tried a few of the missions, and I'm very careful not saying that other's Escape missions are not good enough, because I'm really impressed in how the genre has developed. But you also get a feeling for a mission, and this one might be a release for anyone who wants a little nostagy. You could call it something like "Original Escape with the Engima feeling", since its origin is the very same code base as my first Escape Chernarus for Arma 2. I have fixed it a little though. There are new units, and some of the script commands work differently in Arma 3 compared to Arma 2. But my focus has been to create a robust and fully working and exciting rework of the mission. Mission is 100% dynamic and uses the entire map. Play it 100 times, two games will not be the same! Plot CTRG Group 11 is deployed at Tanoa to gather intel about the situation prior to the arrival of NATO. However, finding themselves in a much more hostile environment than expected, they are captured by a Syndicat force suspisious about their intentions. Group 11 is unarmed and put in a temporary built prison while awaiting further interrogation. Take the first opportunity to escape the prison and find a way to rendezvous with NATO forces. Download Armaholic: (coming soon) Steam Workshop: Escape Tanoa Escape Chernarus Direct links: Escape Tanoa v2.22 Escape Chernarus v2.22 Please note that the different missions have different requirements. See Requirements below for more information. Features CO 08 Revive (recommended for 2-8 players). Uses entire map. Dynamic and living environment. True random start position. Game develops differently every time, inferring great replayability. Options for enemy skill, enemy frequency, weather and time of day. Supports hosted and dedicated (recommended) server and is JIP compatible. A small hint for best experience Escape Tanoa is best played at difficulty level Veteran or Expert (since the mission's story is based on the idea that you are lost, and you do not want too much help with navigation from the game). Installation Manually downloaded: put the .pbo-file in your MPMissions folder in the Arma 3 game folder. Requirements Arma 3 Apex DLC (official) Escape Chernarus requires the two mods: "CUP Terrains Core" and "CUP Terrains Maps" to work (since Chernarus is not part of original Arma 3). For more information, follow the Steam Workshop link. Media Remember this? Code Code at Github Licence MIT. You are free to do what you want with the code, but references to my name (Engima) must follow in the license text. I have also made an addition that disallows you use the text "Original Escape Branch" when releasing an Escape mission. Change log v2.22 Performance improvement. Added enemy insertion chopper. v2.2 Added more possible communication center positions. Made the mission easier to migrate to other islands. Fixed: Player slots disappears when player leaves game and comes back. Fixed: Rearranged some populated areas. Fixed: Rendesvouz task not updated upon mission complete. v2.1 Mission parameters are now saved in profile, and reused by default. Removed error message about missing image Escape.jpg. Lowered the number of armed and heavy armored vehicles in general traffic. Added more possible locations for comcenters. Fixed: Removed some vehicles that required the Laws of war DLC. Fixed: Too few enemy ambient infantry in the woods. Fixed: Script error when hijacking comcenter. v2.0 New Game version (Arma 3) and, new Island (Tanoa), and new units. Lessened the amount of enemy units somewhat, decreasing the difficulty a bit (original version got some critique for being too hard) JIP players now respawn dead and need to be revived. Patrolling enemy units are smarter. v1.8 Reduced enemy armor on all difficulty levels. Reduced amount of weapons at ammo depots. Increased amount of possible weapon types at ammo depots. Weapons may show up in civilian cars. Road blocks are more passive. Fixed: Paradrops do not fall free and crash onto the ground anymore. v1.72 Fixed bug: Server lagging. Reduced time it takes to hijack a communication center. v1.7 Fixed the start bug (player do not wake up dead anymore) Increased the time it takes to hijack a communication center, and FAC Operators do it faster than the others. Added field hospital at communication centers. Added things that you don't want me to tell you about. Fixed bug that made enemies surrender. Fixed bug that made player's vehicles suddenly disappear. Made it much easier to port to another map. A lot of fixes and improvements (for complete list, see ReadMe.txt in installation pack). v1.5 Changed player units to Razor Team. Communication centers now appear randomly. Added things that you don't want me to tell you about. Removed debug information that was left accidently. A lot of fixes and improvements. v1.1 Fixed bug at mission start (players could start mission dead etcetera). Fixed bug regarding parameter "Enemy frequency". Enemy armor is now also in relation to this option. Made the insurgents invest in night vision goggles. Removed the parameter "Number of revives" (since "Unlimited" is the only option relevant for this mission). v1.0 First version Credits & Thanks Tophe, Milton, Tobias, Alex, Robbi, Josef, Jaxmen, Samue, JavaDrinker, guccilane for beta testing! Tophe an extra time for composing music for the trailer! NeoArmageddon and Scruffy for spreading mission to many islands. BIS Forum members for help during scripting headaches! Bohemia for a fantastic game! My Other Missions Intrusion Operation Broken Arrow Night in July
  5. Escape Chernarus v1.8 by Engima (Download at Armaholic) Description Finally! It has taken me almost two years of editing, and I am very proud to present my latest multiplayer COOP mission Escape Chernarus! You are a USMC special force held captive in Chernarus some time before the US invasion. Your objective is to somehow contact your allies and rendezvous with a rescue force. Find your way through the living environment of enemy hunters directed by an intelligent search leader, enemy forces, civilians, traffic, animals, ambient events and surprises. Mission is 100% dynamic and uses the entire map. Play it 100 times, two games will not be the same! Features Co-op 08 Revive (recommended for 2-8 players). Uses entire map. Dynamic and living environment. True random start position. Game develops differently every time, inferring great replayability. Options for enemy skill, enemy frequency, weather, time of day and grass settings. Supports hosted and dedicated server (and is JIP compatible). A Little Hint For a Better Game Escape Chernarus is best played at difficulty level Veteran or Expert (since the mission's story is based on the idea that you are lost). Installation Put the .pbo-file in your MPMissions folder in the ArmA2 game folder. Change log: v1.8 Reduced enemy armor on all difficulty levels. Reduced amount of weapons at ammo depots. Increased amount of possible weapon types at ammo depots. Weapons may show up in civilian cars. Road blocks are more passive. Fixed: Paradrops do not fall free and crash onto the ground anymore. v1.72 Fixed bug: Server lagging. Reduced time it takes to hijack a communication center. v1.7 Fixed the start bug (player do not wake up dead anymore) Increased the time it takes to hijack a communication center, and FAC Operators do it faster than the others. Added field hospital at communication centers. Added things that you don't want me to tell you about. Fixed bug that made enemies surrender. Fixed bug that made player's vehicles suddenly disappear. Made it much easier to port to another map. A lot of fixes and improvements (for complete list, see ReadMe.txt in installation pack). v1.5 Changed player units to Razor Team. Communication centers now appear randomly. Added things that you don't want me to tell you about. Removed debug information that was left accidently. A lot of fixes and improvements. v1.1 Fixed bug at mission start (players could start mission dead etcetera). Fixed bug regarding parameter "Enemy frequency". Enemy armor is now also in relation to this option. Made the insurgents invest in night vision goggles. Removed the parameter "Number of revives" (since "Unlimited" is the only option relevant for this mission). v1.0 First version Credits & Thanks Co-op 08 Revive (recommended for 2-8 players). Norrin for Revive! Monsada, Rafalski & Kronzky for UPSMON! Tophe, Milton, Tobias, Alex, Robbi (of Östgöta Ops) for beta testing! Tophe an extra time for composing music for the trailer! Neil MacMullen for his wonderful Squint (the editor)! BIS Forum members for help during scripting headaches! Bohemia for a fantastic game! Requirements ArmA 2 Combined Operations Known ports to other maps Escape Takistan, by Scruffy (Included in package Escape Podagorsk) Escape Podagorsk, by Scruffy (Package also includes Escape Takistan) Escape Trinity, by Dystopian1
  6. Engima's Simple Tasks v1.17 by Engima Description: Engima's Simple Tasks is a script that manages mission objectives (tasks) in a mission. The idéa behind this task system is to simplify task management in multiplayer missions. With this script you do not need to think about locality and call contexts. All tasks are always synchronized for all players on the network, which is often suitable for a COOP mission. Download: Download Link at Armaholic. Also released as CPack Engima.SimpleTasks for the TypeSqf Editor. Installation: 1. Copy folder "Engima" and file "MissionTasks.sqf" to root of your mission folder. 2. Create the file "init.sqf" in your mission folder (if you don't already have it). Add the following line to the top of the init.sqf: call compile preprocessFileLineNumbers "Engima\SimpleTasks\Init.sqf"; 3. Customize the list of mission's initial tasks in the file "MissionTasks.sqf". Usage: Edit the file "MissionTasks.sqf" in the mission's root folder to set up initial mission tasks. Information about how to do this you can find in file "Engima\SimpleTasks\Documentation.sqf" that is included in the package. There are a bunch of functions that can read and manipulate your tasks. You can get and set task state, description, destination and target, as well as creating new tasks and deleting existing tasks. Here are some examples. To set task state on an existing task: ["ExampleTask", "SUCCEEDED."] call ENGTASKS_SetTaskState; To create a new task: ["NewTask", "This is new task."] call ENGTASKS_CreateTask; To set description on an existing task: ["NewTask", ["Short description.", "A very long description"]] call ENGTASKS_SetTaskDescription; All functions can be called from any context, and task list / task state is updated on all machines in the network, including JIP. For a complete reference, see file "Engima\SimpleTasks\Documentation.sqf". How to update from older version: Manually: 1. Remove the folder Engima\SimpleTasks and replace it with the corresponding folder in the download package (do not replace file MissionTasks.sqf in root folder.) TypeSqf Editor: 1. Open the CPack console and run command "update Engima.SimpleTasks". Change log: v.1.17 - Fixed: Task destination and task target didn't work. v.1.16 - Fixed bug that caused script error if none of the initial tasks had state ASSIGNED. v1.15 - Task set to status ASSIGNED is now automatically selected as "current task". v1.10 - Tasks can now have long descriptions. - New function: ENGTASKS_GetTaskFullDescription. v1.0 - New function: DeleteTask. - New set functions: SetTaskDescription, SetTaskDestination, SetTaskTarget. - New get functions: GetTaskDescription, GetTaskState, GetTaskDestination, GetTaskTarget. - Added parameter "showNotification" on all setter functions. - Fixed: Didn't work when team switching. v0.8 - First version Requirements: Tested in Arma 3.
  7. 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.
  8. 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.
  9. I’ve had some trouble with the allMines command, since it seems to not find all kinds of mines. It may work for this mine class, but something to bear in mind if you change the mine class...
  10. What about performing a count using the ”fired” event handler? https://community.bistudio.com/wiki/Arma_3:_Event_Handlers#Fired
  11. Added the last video (part 5) of the video tutorial. The video is here.
  12. New version. Version 1.08 -Added bracked highlighting (thanks Josef!) -Added context menu for undo, redo, cut, copy, paste and replace (thanks GHSid!) -Support for multiline strings in SQF. -Fixed: The CPack Manager sometimes added non existing file nodes in the project tree view. -General fixes and improvements. -SQX: Support for multiline strings.
  13. New version. Version 1.08 Check objective methods dependent of each other did not work in both directions on mission end.
  14. 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.
  15. New version. TypeSqf Edit Download link Version 1.07 -It is now possible to rename files and folders in the project tree view. -Fixed: Addressed some stability issues (thanks Josef!). -Minor fixes and improvements.
  16. WHAT IS SQX? SQX is a script language that is used to create scripts and missions in Arma 3. SQX is very similar to SQF, but it has support for object oriented scripting. PHILOSOPHY SQX extends the SQF language primarily by adding control structures that allow for object oriented scripting. As such, plain SQF is allowed, but it also introduces support to organize the code into classes and inheritances. SQX also introduces a small toolbox of some optionally available new commands and keywords that may be helpful (such as the "return" statement). The SQX language reference explains all the ways that SQX differs from SQF. One could say that SQX is for SQF what TypeScript is for Javascript. FEATURES OF SQX True object orientation (objects and inheritence, virtuals and overrides) Type handling and customizable types (classes, interfaces, enums) Three different kinds of class members (fields, methods, properties) Three different kinds of accessors (private, protected, public) Support for statics (methods and properties) Syntax close to SQF Some new convenient commands (like "is", "as", "return" etc.) Compiler synchronizes line numbers between SQX and SQF to support runtime error handling SQX class objects can be broadcasted between machines Complete reference documentation (at www.typesqf.com). WHAT CAN YOU DO? You can structure your code in an object oriented way, creating your own types and actions using classes, interfaces and enums. Well, these are just the tools. What you really can achieve is great structured code, easy to read, easy to write and easy to understand. It extends the boundaries of what code is possible to overview and control. WHAT IS OBJECT ORIENTATION? If you are a developer, you already know, and the reference documentation and general SQF resources should be enough. I you are not familiar with it then start with this Wikipedia article: https://en.wikipedia.org/wiki/Object-oriented_programming. HOW TO GET STARTED? Download the TypeSqf Editor from www.typesqf.com. Create a new mission. In Eden Editor in Arma 3, create a new mission and insert at least one playable unit. In TypeSqf, select "Open mission" and select the newly created mission.sqm. Install the CPack TypeSqf.MissionTemplate.Mp.Standard. In TypeSqf, open the CPack Console in the Tools menu. Write "Install TypeSqf.MissionTemplate.Mp.Standard" and press ENTER. The mission template (written in SQX) is now installed into your mission. Compile and build the project and play the default template mission. Compile the mission in TypeSqf by using "Compile project" on the Build menu. Play the simple default mission. MEDIA The following video shows when I use SQX to create and use a Crowd object: HOW DOES IT WORK? A class instance variable (instantiated with the new keyword) is under the hood an SQF variable of type Array. The class instance's fields and properties are saved as array items in an order kept track of by the SQX compiler. Methods compiles into global functions, with the instance variable (the class array) sent in as the first parameter. This is of course all abstracted by the compiler and not visible to the developer. All SQX is written into .sqx files, and all .sqx files are then compiled into .sqx.sqf counterparts enabling them to be read and interpreted by Arma 3. SOME IMPORTANT NOTES A language limitation: Due to limitations in SQF arrays it is not possible to instantiate two classes that reference each other. I.e. a parent class can have children, but these children cannot contain references back to its parent. The solution is simply to avoid these kinds of structures, and if you still do it you will get a runtime error. An editor limitation: The TypeSqf editor does not have complete autocompletion regarding SQX, but it helps with the most common stuff. E.g. it only suggests one level of chained properties and methods, and it suggests variable names by searching the whole file instead of the actual programming scope context. If you are an advanced developer, please remember that the SQX language does handle most of expected code structures, which is more than the editor will suggest. THE TYPESQF EDITOR Note that this forum is for the SQX Language, which is closely related to, but also separated from, the TypeSqf Editor. Please only post questions and comments regarding the SQX Language here. Questions and comments about the TypeSqf editor goes into the TypeSqf forum. VERSION HISTORY Version 1.07 -SQX: Support for multiline strings (thanks Josef!). Version 1.06 -SQX: Fixed: Analyze of multiple class inheritence levels sometimes resulted in faulty error messages. Version 1.05 -Fixed: Analyzer does not forget about file content in files that are being removed. Version 1.03 -SQX: Refactor of SQF/SQX analyzer and compiler (speeded up the build times a lot). -SQX: Now possible to declare typed variables on a single assignement line (private Scalar _number = 0). -SQX: Now possible to declare typed variables using new SQX keyword 'var' (var _number = 0). Version 1.02 -Fixed: Strange behavior regarding negation symbol (e.g. "return -1;"). -Fixed: No warning when sub class tries to override a method that does not exist in base class. Version 1.01 SQX: Added checks for when a sub class is missing call to explicit base constructor. Version 1.0 First version.
  17. 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;
  18. 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. 🙂
  19. New version. Version 1.05 -Made insertion areas black instead of blue. -Further improved the insertion behavior. -Increased base size from 100 to 300 meters. -Minor fixes and improvements.
  20. Operation Shoe Lace v1.05 by Engima Description Tensions arise, and two special teams on two different sides fight for victory in this operation about navigating through many of the challenges in modern warfare. This is a Team vs Team campaign divided into seven short missions, playable for 2-10 players. I’m really proud to present my third large project after Escape and Intrusion. I realized that Bohemia do not support MP custom campaigns, so I created a solution for it. I hope you will like it! Features Multiplayer 2-10 players. Team vs Team. Two teams fighting against each other. Campaign divided into seven missions, each with a maximum length of 30 minutes. Storyline adapting to the teams’ achievements. No revive! Dead is dead until next mission starts. 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. Campaign assumes players on both sides Note that this campaign/mission assumes that there are human players on both sides. It is not intended to play COOP vs AI. All humans on one side and AI on the other may result in strange behavior like skipped missions and prefulfilled objectives etc. That said, you can start it alone with AI enemies if your goal is just to test the concept to see if it is something for you and your friends. Download Direct download at OneDrive: Operation Shoe Lace v1.00 Operation Shoe Lace v1.01 Operation Shoe Lace v1.02 Operation Shoe Lace v1.05 At Steam Workshop Operation Shoe Lace Licence MIT plus the following addition: The text "Built upon Engima's TvT Campaign Framework (TvTCF)." shall be visible to all participants in a multiplayer game, either during mission load time, or when the mission/campaign is starting.". Dependencies Arma 3. Compatibility Works on hosted and dedicated server, and is JIP compatible. Version History Version 1.05 -Made insertion areas black instead of blue. -Further improved the insertion behavior. -Increased base size from 100 to 300 meters. -Minor fixes and improvements. Version 1.02 -Improved insertion handling by making it simpler and more intuitive. -Added parameter to randomize missions. -Fixed: spectate camera did not work well in all situations. -Fixed: Performing insertion with more than one vehicle could explode the vehicles. -General fixes and improvements. Version 1.01 -General fixes and improvements. -Added parameter to control the campaign's maximum time. Version 1.00 -First version. Some Of My Other Missions Escape Tanoa by Engima (built on the original Escape Chernarus branch from Arma 2) Intrusion Malden Operation Broken Arrow Night in July
  21. 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.
  22. New version. Version 1.06 -SQX: Fixed: Analyze of multiple class inheritence levels sometimes resulted in faulty error messages.
  23. 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. 🙂
  24. I’ll send you a PM.
×