Jump to content

[WIP] ZFM-FairMission System-Dynamic,Modular & Balanced (Alpha release 90% complete, Test builds frequently available) - Actively developed

Recommended Posts


ZFM is currently the first part of the FairServer project. ZFM provides a dynamic experience within DayZ like no other, and provides a set of easy-to-use functions for creating missions.




Translations german-flag-small.gif


In development! For latest progress please see: http://www.bitbucket.org/bergstadeu/fairmission


What is it?

ZFM, or "Zambino Fair Mission", is an open-source, community-nurtured Mission System project developed by ZambinoBamboni and a community of wonderful people. It is dynamic, and provides an experience in DayZ with missions that is aimed to reduce the amount of boredom by making missions dynamic. By dynamic, we mean dynamic -- names, places, vehicles, titles, times, as much as possible. And more importantly, extendable -- you can code for ZFM in a snap.


Help support hard work -- donate :)


I have produced this software to make the game better, and to make your lives more enjoyable. It's free software, and it's developed out of love for you and for the game. However, if you feel that you've benefited a lot from my hard work and want to say thanks, a minor donation wouldn't go amiss. It's not essential, just a nice gesture :wub:  Either way, I hope you enjoy my software!






Installing and testing pre-release-candidate debug version of ZFM

// Add to server_monitor.sqf

// Under this line..
// (OR your existing [] ExecVM)
allowConnection = true;   

// Add these lines:

    // Zambino FairMission
    [] ExecVM "\z\addons\dayz_server\ZFM\ZFM_Initialize.sqf";
  1. Latest version is currently under development -- all older versions are not supported.
  2. Unpack your dayz_server.pbo
  3. Paste/extract in the ZFM folder into the main part of the PBO. (i.e. So that you have the folder ZFM next to "init", "missions", etc. in the folder list)
  4. Repack PBO.


Current features



  • Developed so that new types of missions, or additions to existing missions can be done easily.
  • Well-documented so that those looking at the code can understand its functions quickly.
  • Open source, so you can get stuck in immediately.


  • AI have multiple sub-classes
    • Commando
    • Heavy
    • Rifleman
    • Sniper
  • AI and missions have difficulty settings:
    • Deadmeat (for newbies)
    • Easy
    • Medium
    • Hard
    • War Machine (for insane people)
  • Missions are tracked more precisely
    •  Track a mission bandit kill by bandit kill, and even show the players who killed them.
    • Missions only end once all bandits have been killed.


  • Crashes are fully-animated, and can occur in any location, including towns, roads, hilltops, etc.
  • Any vehicle (at present, aircraft) can be used as a crash, and will be animated, explode, then be replaced by a wreck if there is one for that vehicle class.
  • Missions can be either defined by a user in an array, or the RANDOM misisons can be generated in which:
    • Most aspects of missions have been randomised to increase their uniqueness. This includes vehicles, units, unit difficulties, unit bases, unit groups, unit equipment and my personal favourite, dynamic mission titles to keep you less bored.
      • A CH-47 en-route to Balota went off the radar and is presumed destroyed. It is suspected that well-trained mercenaries have secured the site.
      • Fragments of the mission titles can be added so you can effectively have even more variation in your titles.
      • I've included some fun names but commented them out so that those who want different titles to "well-trained mercenaries" or "opportunistic locals" can go for gangs with titles like "Balota Bastards Crew."
  • Loot is being revamped -- originally it was used as "probability" or "fixed", however, newer commits will feature variable loot. This will be basic at first, but will basically consist of guaranteed items but randomised, with the added chance of finding rare weapons in the loot.  (In progress)
  • Grid-Based base generation - can be generated by 1 array in code, and be as large as you like. At present, this is only used to generate crash sites, however, it can be used to generate any level of layouts you want with great detail. (In Progress)

And many more!

Link to comment
Share on other sites

Yeah, at the moment -- there isn't a usable release of ZFM yet which you can unzip and pack into a PBO. All of the functionality is done (i.e. it's inside functions), however, the structure which manages the missions is still being worked on today. There are a few things I want to add before I release, such as the idea of post-mission stats and leaderboards and status updates as each bandit is killed. Makes missions easier, stops you wondering if there are some AI fellows stuck somewhere.


I have seen on other mission systems that they will not support X or Y feature. I will support any feature like timeouts and other things, but I will have the default configuration turn off some of the features by default. The idea I have with ZFM is that it is a fair mission and everyone benefits. I will add features so that missions can be made completely fair in later releases (i.e. Loot share and percentages), and at a later stage, I was considering adding in a mission token system so players can choose what to buy with their rewards for completing missions.


I have to stress the following things:

  • There are no install explanations as yet as this is not yet release-ready. If you wish to get explanations on how to test it, bear in mind at the moment you will need knowledge of SQF in order to do so.
  • There is going to be a feature freeze shortly. I'm adding in names for each AI (which are Chernarus-friendly), adding in fixes for mission markers, tweaking the amount of gear in loot crates and on the person of the AI, and then boom.
  • There will be testing done in multiplayer scenarios first (which will require someone to help test the alpha releases) so that missions and surrounding tracking of missions works with multiple people present.
  • Once the testing has been done, I will conduct a tidy-up of of the code, fix any feature-breaking bugs, and then after re-test in MP, I will release it as ZFM 0.5.0.
  • After that, I would like any feature suggestions/improvements so I can make things better and more fun :)
Link to comment
Share on other sites

Very close to a release candidate! Units are working, quite deadly and the dynamic crashes look very sexy indeed. I'll be updating this thread with images of the stuff -- I will commit code throughout the day for the SQF-savvy to play with. However, I'm sure a release will be made available today if not tomorrow. ;-)




An easy mission with dynamic wreck (right), and some collapsed trees. The AI if you look do have a commander, but they're all idiots, and he couldn't command his way out of a paper bag.




An example of the dynamic mission titles (each bit is random and the entire sentence is composed at random, too). Cool, eh?




The locations are truly random, and the different markers show the different difficulties. The sizes will change, and I will add markers (text) to these, too. As of the last revision, these are still being updated. Before release, they will have marker names and will have more accessible sizes. This is set where there is no limitation on the number of missions that can run at one time.




I love Notepad++ for developing, and I thought I'd let you see what the debug output looks like. The version numbers are correct - 0.4.0 is the first public release, with 0.4.0-RC1 being the first available for MP testing.


More to come..

Link to comment
Share on other sites


Added support for "accoutrement", or command centers. In this example, the AI are WAR_MACHINE difficulty, and because WAR_MACHINE is the highest difficulty, it means they have nice structures to hide in and kill you with impunity! They're war machines for a reason <_<



Existing mission systems just track when you get close to the loot. ZFM actually tracks whether you have killed each AI, and can track the AI which have been killed, and which are alive, over multiple missions running concurrently. At the moment, it's not recommended to run too many crash missions at once, and a timeout will be implemented, along with object removal to save server resources. Lots of units, buildings, etc, can be quite heavy if your server does it often.

Link to comment
Share on other sites

There shouldn't be any conflict with HeadlessClient, although I can't be sure, as I had to find out within a few minutes of reading your post what exactly it was :lol:


By the way, if you want to test it, there is a testable version available in the repository until tomorrow. The mission handling and restricting system (i.e. Max number of concurrent missions) is not working, so bear in mind that every 10,000 seconds, the server will spawn a new CRASH, units, accoutrement, weapons, wreck and then marker,etc.

// Under 
allowConnection = true;   

// (OR your existing [] ExecVM)

// Add to server_monitor.sqf

	// Zambino FairMission
	[] ExecVM "\z\addons\dayz_server\ZFM\ZFM_Initialize.sqf";

Download the latest version from https://github.com/zambino/fairserver/archive/master.zip

Unpack your dayz_server.pbo

Paste/extract in the ZFM folder into the main part of the PBO. (i.e. So that you have the folder ZFM next to "init", "missions", etc. in the folder list)

Repack PBO.


Since it's not a release some things will not be working fully:

  • Loot crates may spawn and have nothing in them due to the probability-based spawning functions (i.e. If > x% then spawn y weapon)
  • Bear in mind that if you get WAR_MACHINE missions, the AI will annihilate you if you just wander in. Use admin mode to try and observe or try it yourself..
  • AI do not have names yet, so when you kill them they won't have Cyrillic-type names when you inspect them. (Nice neat little immersive touch, I thought..)

I'm going to be busy tomorrow, and throughout the week, so any requests / bugfixes are appreciated :lol:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Create New...