FAQ

Add Content

Payment

Can I pay monthly instead of a one time payment ?
Copy

No, I used to offer subscriptions, but I do not offer it anymore, because it was making too much trouble to keep track of all the servers with a subscription. All currently active subscriptions will remain active, but I do not accept any new ones. You can howerer pay in rates with PayPal as an alternative.

Can I test Your Mods ?
Copy

Yes, you can test some of my Mods. Testing a mod can be understood differently.
  • You can always go on a Server with the mod installed and see how they setup the mod and how it works
  • I offer a Test Version for Advanced Groups for 30€ so you can test everything you want on your own server for 2 weeks
  • You can also buy my mod. You will not regret it ;)

How long will it take until I get the mod I bought ?
Copy

The payment process is fully automated so after the payment was complete, you will receive a confirmation Email with all the details and you can see the new Mod on the Customer Panel. Please check the Installation Guide of the mod you just purchased for how to install it on your server. If the mod requires a Server PBO and the PBO was not found, wait a few more minutes until it has been generated by the License Server

I lost access to my Discord account
Copy

When you lost access to your Discord account and you cannot login to the customer panel anymore, you can do the following things:
  • Try to contact Discord to recover access to your account
Or if there is no hope in recovering the account:
  • Create a new account and use the new account to login on my website. To transfer the products to the new account, you can claim them on the customer panel by entering the servername and license key you should have received via Email after you purchased the mod. If you did not receive any email, you can send me an email to confirmation@lbmaster.de from the same email you used to purchase the mods. Also include proof of buying the mods like a screenshot of the paypal transaction and which mods you had. Then I will send you the license key and servernames you need to claim the products. For how the claim process works exactly, check out This FAQ Entry

I purchased a mod, but I don't get the Discord Role
Copy

Make sure to login with the same Discord account on my Website, which you also use in your Discord Client. So see how to add people to the License after is was bought, check Here

What is 1 DayZ Server instance ?
Copy

1 DayZ Server instance means, that this License is limited to one DayZ Server. This is not a limit per IP, but per DayZ Servers you have running. So having two DayZ Servers running on one IP still requires a License for 2 Servers. A product with a limitation of DayZ Servers always has the option to upgrade the same License to multiple DayZ Servers after you bought the base License. This can be done through the customer panel then.

What methods can I use to Pay ?
Copy

I'm currently offering a few different methods how you can Pay. Checkout with PayPal:
  • PayPal account
  • Credit Card
Checkout with Stripe:
  • Credit Card
  • Apple Pay
  • Google Pay (Only in google chrome when logged in to Google Pay)
  • WeChat Pay
  • EPS
  • iDeal
Some Payment methods might not be available in your country

Server

Can I use the mods on my Testserver ?
Copy

Yes, you can install the mods on your Testserver first. You also don't need an extra License. The Testserver does not count to the License limit as long as these four requiredments are met:
  • The Testserver is clearly marked as one by having something like "Test Server" in the Servers hostname
  • The Testserver has a password, which is not publicly known
  • The Max players are limited to a maximum of 10 players
  • The IP of the Testserver is whitelisted on the Customer Panel if it is different from the IP of your Main Server

Can my Co-Owners also get access to the Mod and Discord Role ?
Copy

Yes, you can give your Co-Owners access to allow them to whitelist IPs, download the Server PBO and receive the Discord Roles. Be warned, that you are responsible for any damage caused by giving the License Details to someone else. You need to send him the Servername and License Key from the Customer Panel. He then logs in on the Customer Panel and clicks on Claim Product at the buttom. He then enters the exact Servername and License Key and he will see the product on his Customer Panel and also receives the Discord Role a few seconds later by the Bot. Up to 5 people can have one License Claimed at the same time If the License is not added to the account after clicking on Claim, you either did not enter the exact servername in the field, the license key is incorrect or too many people have the license claimed. Make sure to remove any spaces from the servername and license key. They are both case sensitive !

My Servername changed. What do I do ?
Copy

When your Servername changed, please visit The Servername Change page, select all Licenses you want to change the name for, enter the new name and click on submit

What do I need to do when changing to a different Server ?
Copy

Changing to a different Server is no problem. Make sure you have the new IP whitelisted on the Customer Panel How to install the Mod is the same as you did on your Old Server. Check the Installation Guide for how to install the mods on your new Server If you have a License, which is limited per Server and you need to run your new Server and old Server together for a short while, that is no problem as long as the time does not exceed 2 Days (48 Hours). Also See the Can I use the mods on my Testserver ? if you want to run your new Server as a Testserver first. Then you don't have the limit of 2 days

General

How do I change the Logo to My Server Logo ?
Copy

For help with getting the logo to display, refer to The Logo Creator

How to format lines
Copy

This section explains how to format lines for the Quiz mod coverLongTextLines and Advanced Groups lines in the Rules.json Lines can either be plain text like you would expect, but they can also have special formats applied, which will be explained below. To format a line it needs to look like this: $args(ARGUMENTS);TEXT TEXT must be replaced with your text you want to display ARGUMENTS must be replaced with the arguments explained below. Multiple arguments are separated with a comma
  • bold make the text bold
  • underline (currently not implemented) will make the text underlined
  • italic make the text italic
  • argb(A,R,G,B) replace A,R,G and B with the ARGB color values from 0 to 255 to change the color of the text in this line
  • rgb(R,G,B) same as above, but alpha channel will be 255 (full) by default
  • size(PX) set the size of the text in pixels. Default size is 16
  • left Sets the text alignment to left (default alignment)
  • right Sets the text alignment to right
  • center Sets the text alignment to center
  • outline(A,R,G,B,SIZE) add a colored outline around the text with the ARGB color values and the size (0-10)
  • shadow(A,R,G,B,SIZE,OPACITY,OFFSET_X,OFFSET_Y) add a text shadow with the ARGB color values, the size (0-10), Opacity (0.0 - 1.0), X Offset (0.0 - 10.0) and Y Offset (0.0 - 10.0). The last 3 values are optional
Examples:
  • $args(size(30),center,rgb(255,0,0));Rules: "Rules" displayed in red, centered and with a size of 30 pixels

Advanced Groups

How do the chat commands work ?
Copy

Here is a small list of commands added by the Chat mod and how to mute players:
Spaces in the Playername should be replaced by _
Name of the Player is caseinsensitive.
!mute [PlayerName] [Time in Minutes]
!muteid [Steamid or BIUID] [Time in Minutes]
!unmute [PlayerName]
!unmuteid [Steamid or BIUID]
!mutechannel [Channelname]
!unmutechannel [Channelname]
!mutereloadconfig
mutereloadconfig rereads the current ChatConfig.json. Which makes it possible to add Chat Admins while the Server is running or Change Prefix Colors or add Channels ...

!mutevote [PlayerName] -> All Players can vote for a player to be muted without admin. Important ChatConfig Variables: 
  - "enableMuteVote" enable / disable voting
  - "muteVoteMinPlayers" minimal Players for voting
  - "muteVotePercentile" amount of players, that need to vote for the player (e.g. 30 Players online and 50% need to vote -> 15 Players need to vote for the player)
  - "muteVoteMuteTimeMins" time the player will be muted if vote was successful

Example:
!mute LBmaster 20 -> Mute Player LBmaster for 20mins
!muteid 76561198141097113 20 -> Mute Player With Steamid "76561198141097113" for 20 mins (would find LBmaster)
!muteid 4e6J9rBov9EChLGlp-ckzyAbUh_tvlzXXBrFR7pSS-4= 20 -> Mute Player With Bohemia Interactive UID "4e6J9rBov9EChLGlp-ckzyAbUh_tvlzXXBrFR7pSS-4=" for 20 mins (would find LBmaster)

Some Icons on the Map are rendered as white boxes
Copy

This happens when you have VPP Admin Tools installed, because this great mod overwrites my map and adds some new Icons, which are only present in the VPP Map Mod. There are two ways of fixing it:
  1. Download the MapIconFix_Original_Icons.pbo from here. This is on your own risk, because this PBO contains the original VPP Map Icons I asked DaOne, the creator of the Mod, if I can use his Icons or if he can fix it, but for me it seemed, he doesn't care. I would suggest leaving him a PM if you add this PBO to your Serverpack.
  2. Download the MapIconFix_Empty_Icons.pbo from here. This does not contain any material from the original VPP Map. I replaced every Icon with a invisible texture. So you don't have the white boxes, but also You don't have any special Icons.
MapIconFix_Empty_Icons.pbo MapIconFix_Empty_Icons.pbo.LBmasterPub_v3.bisign MapIconFix_Original_Icons.pbo MapIconFix_Original_Icons.pbo.LBmasterPub_v3.bisign

Plotpole DLC

How do I install the Plotpole DLC ?
Copy

There are a few things you need to be aware of before installing the Plotpole DLC:
  • This System only extends the functionality of the vanilla TerritoryFlag item and does not add any new Items
  • This mod requires Advanced Groups and is designed to assign each Flag one group, so they don't have to add members manually like with other Mods
  • This mod should not be used together with other territory Mods like Basic Territories
  • Before you install it, make sure no TerritoryFlag exists on the Map or wipe the server completely
To install the Mod, open the ZIP file you get when you download Advanced Groups Client ZIP Then navigate to the @Serverpack\OptionalContent\DLC folder and put the PBO and the .bisign into your serverpack and upload it to the steam workshop. It's recommended to put it in the same serverpack as the rest of your mods After the server downloaded the mods and started again, you should see a plotpoleconfig.json, where you have to set the enablePlotpoleExtension to 1. Otherwise the DLC will not be active

How do I properly setup the Plotpole variables
Copy

The most important variables for the Plotpole are the flagLifetimeRefreshTime and the flagUptimeDuration They are analog to the FlagRefreshFrequency and FlagRefreshMaxDuration from the Globals.xml the flagUptimeDuration is how long the flag will take from 100% to 0%. Once the flag is at 0%, it will refresh all items around once more. the flagLifetimeRefreshTime does two things at the same time, which can make things a bit confusing if you are not familiar with the Plotpole system. Once the timer runs out, two things happen:
  • All items around will be refreshed. That means, all items with a higher lifetime will never despawn as long as the flag is up, because the lifetime it reset to the max when this timer runs out, before the lifetime of the object could run out.
  • This is the time when the Flag is visually updated. So that's the point where the flag will go down a bit. So be aware, that having this value set too high relative to the Uptime duration, you might end up with flags jumping from 100% to 50% in one go.
A good setup would have the following properties:
  • The flagUptimeDuration should be at least 5 to 10 times the flagLifetimeRefreshTime to not have too big steps when the flag is lowering.
  • All items, which should not be refreshed have a lower lifetime than the flagLifetimeRefreshTime.
  • All items, which should be refreshed have a higher lifetime than the flagLifetimeRefreshTime. Don't forget the TerritoryFlag must have a higher lifetime too !
Example Setup: flagUptimeDuration set to 30 Days (30 * 24 * 60 * 60 = 2592000) flagLifetimeRefreshTime set to 3 Days (3 * 24 * 60 * 60 = 259200) Lifetime of Basebuilding Objects, vehicles, Storage items and the TerritorryFlag too !! Otherwise the Flag will despawn before it could refresh the items: 4 Days (4 * 24 * 60 * 60 = 345600) Lifetime of all other Objects 2 Days or less (2 * 24 * 60 * 60 = 172800). Most of the items have a lifetime of 2 hours. Backpacks and some other items usually last a bit longer. That setup would have the following properties:
  • The flag will lower 10% every 3 Days (3 Days / 30 Days = 0.1 = 10%)
  • All Basebuilding items will be protected from despawning for 30 Days unless someone raises the flag again to start the 30 Days again.
  • Once the Flag is lowered to 0% after the 30 Days or someone lowered it manually, all items will be refreshed once more leaving the base with 4 remaining days until everything despawns.
  • In total the Base will remain at least 34 Days when not touched (flag raised or lowered) again by a player

My Items in the Territories are despawning
Copy

If the TerritoryFlag itself despawns, it could be, that the Territory Flag itself is not added to the types.xml properly. Check the section below for what to do. Be aware, that when a group is deleted, which happens when the last player leaves the group, the Flag lifetime will be reset to the time in seconds set in the PlotpoleConfig.json with the remainingFlagLifetimeWhenGroupDeleted parameter. That can be the reason why some groups loose their territory, when not claimed again with the Claim Flag action ingame There can be multiple reasons for items despawning in a Territory. First if check all your XML files are valid with a XML Validator to make sure DayZ can even read the file. Do that for your main types.xml and for all other types.xml you might have included via the cfgeconomycore.xml If the Item not only despawns when dropped on the ground, but also when stored inside a storage container even though the container did not despawn, then this is a very clear sign, that the mod adding the item or a mod changing the item is not configured properly. Most of the times the Mod does not have the correct requiredAddons set. When the item is not despawning inside storage containers, but only when droppen on the ground, then you most likely have a problem with your Types.xml. Make sure, that ingame the Item has a small Flag icon next to the name. If that is not the case, the lifetime of the object is to low or the object is not even added to the types.xml. The lifetime of objects muse be at least the flagLifetimeRefreshTime explained in the PlotpoleConfig.json. If you don't use the Plotpole DLC, then the FlagRefreshFrequency in the globals.xml would apply to your minimum lifetime. You should considder making it a few minutes or hours higher than the refresh time If you are still not sure if the item is really protected by the Flag, then with the Plotpole DLC enabled, it will print all protected item in the LBmaster log when the loglevel in the Logger.json is set to 5 or 6 and the server is starting up. Then check the LBmaster log and search for Refreshing item. You should find a few lines which look something like this: Refreshing item Fence with lifetime 45d 0h 0m 0s. Also you should have a line with TerritoryFlag lifetime and refresh frequency is configured properly in the LBmaster log. If that's not the case, you did not configure the lifetimes properly. Also make sure the TerritoryFlag is added to the types.xml Also very important is, to make sure the item is not added to the types.xml multiple times ! Otherwise this can also mess with the lifetime of objects

Spawn Select Lite

How can I only use the Sleepingbags ?
Copy

To only enable the Sleeping Bags and disable the normal spawns, you need to change the following Settings in your SpawnSelectConfig.json:
  • overwrite_default_spawnPos -> 0 to spawn the player at the vanilla Spawns
  • openSpawnMenuOnce -> 1 to open the spawn menu when respawning
  • forceOpenSpawnMenu -> 0 to not force the player to select a spawn
  • hide_when_no_spawns_found -> 1 to not show the menu when no spawns are found / No beds are placed
  • positions -> Clear all entries from the positions list ("positions": []) so no spawns are available when no beds are placed
  • Add the Sleeping Bags to your Types.xml

How do I add custom Sleepingbags ?
Copy

Adding custom sleepingbags is not that hard, but there are some requirements, you need to be met.
  1. You cannot use Items, which are defined by other mods and don't inherit my Sleeping Bag Class. Some Mods add sleeping bags, but they don't inehrit my sleeping bag class. Hwoy ou can still use them will be covered down below
  2. The PBO with the Sleeping Bags in it, must have LBmaster_SpawnsystemLite as a required addon. If you are not sure how it works, check the Example PBO down below
  3. You need to have two different Items defined. One inheriting my LBS_SleepingBag_Base for the Placed items and one which inherits LBS_SleepingPacked_Base for the packed version. Examples are in the PBO below
  4. Optionally you can have your own Hologram Item or you use the one you used for the placed bag
  5. To use the sleepingbags from other mods, you need to set the correct model in the config.cpp (see example PBO)
  6. Create a new script in the 4_World script folder with the following content, replacing LBS_Custom_Packed with the classname of the packed item and LBS_Custom_Placed with the classname of the placed item from the config.cpp
class LBS_Custom_Packed : LBS_SleepingPacked_Base {

    override string GetBagClassname() {
        return "LBS_Custom_Placed";
    }

    override string GetHologramClassname() {
        return "LBS_Custom_Placed";
    }
};
class LBS_Custom_Placed : LBS_SleepingBag_Base {

    override string GetPackedClassname() {
        return "LBS_Custom_Packed";
    }
};
  1. Pack the PBO and load it
The Example PBO can be downloaded Here

Leaderboard

How do I reset the Leaderboard ?
Copy

To reset all player stats, you need to navigate to the settings on your Server in CF Cloud and go to the Dangezone at the bottom and click on Reset game statistics

Where is the Server ID for the Config ?
Copy

Enhanced Banking

How can I use custom ATMs ?
Copy

To add custom ATM models ingame, you need to make sure the ATM inherits the LB_ATM_Base class in the config.cpp of the item. If you don't have control over the config.cpp of the item, because it is included in another mod in the workshop, you need to create your own config.cpp with the same path to the same model of the mod. This config.cpp must be packed into a pbo, signed and uploaded to your serverpack. Here is an example what you would need to write into the config.cpp. Make sure the model="path/to/the/model.p3d" is correct and points to your custom model. You also might need to add hiddenSelectionTextures.
class CfgPatches {
    class CustomATMModels {
        units[]={};
        weapons[]={};
        requiredVersion=0.1;
        requiredAddons[]={
            "LBmaster_Groups_ATM"
        };
    };
};
class CfgVehicles {
    class LB_ATM_Base;
    class Custom_ATM_Name : LB_ATM_Base{
        scope=1;
        model= "LBmaster_Groups_ATM\items\ATM\atm.p3d";
        hiddenSelections[] = {"texture"};
        hiddenSelectionsTextures[] = {"LBmaster_Groups_ATM\items\ATM\atm_co_green.paa"};
        isLBAtm = 1;
    };
};

Raid Alert

How do I setup Raid Alarm Webhooks ?
Copy

To setup Raid Alarm Webhooks ingame, you need to do the following steps:
  1. Go to your Discord Server
  2. Create a Channel where you want the messages to be sent to or just use an existing channel
  3. Edit the Channel and navigate to Integrations
  4. Click on New Webhook or use an existing one
  5. Click on the Webhook, give it a name and icon
  6. Click on Copy Webhook URL and paste it ingame via CTRL + V while editing the URL
If you need a video explaination, check out this Youtube Video

Achievements

How to create new Achievements
Copy

Achievement Basics

  • Achievements can come in many different forms
    • Hidden achievements
    • Single achievements
    • Stacking achievements with incremental difficulty (kill 5 players, kill 10 players, ...)
    • Achievements with multiple triggers
  • In this guide I will go over all the different types and how to create them and when to use which. These types are not exclusive and can be combined, but it will make more sense when you fully read each description

Hidden Achievements

These are simple:
  • Hidden achivements are not visible to the player until he unlocked it
  • They are just a simple value enabled for an achievement "hidden": 1, but are basically normal achievements
  • Description, Title and Image of the Achievement are hidden until unlocked
  • They can be used to hide special achievements

Single Achievements

  • Single achievements are created by setting the number in the config for the achievement to -1. So "number": -1
  • These achievements automatically hide the progress bar and progress text
  • This can be used for achievements like open your inventory, reach a certain location etc.

Stacking achievements

  • Achievements are stacked when they use the same trigger. So to create an achievement with kill 5 players and 10 players together, you need to create 2 achievements, but change the number, title and description. The trigger must be the same. Check the default config. It has a lot of these kinds of achievements
  • Stacked Achievements will appear in one line in the achievements menu and should not exceed 10 achievements. Each stage can be accessed by the player by clicking on the box appeaing on the right in the achievements menu
  • Very useful for achievements with progress and you don't just want a single achievement, but achievements should be harder to get each time
  • Make sure to properly sort the achivements. Start with the achievement with the lowest number first in the config

Achievements with multiple triggers

  • as you might have noticed, achievements take a list of triggers in the config and not just one trigger.
  • All trigger values are accumulated and compared to the number set for the achievement
  • This can be used to do things like "spawn at all 3 spawns possible", "eat all types of food available". For these achievements you would use the :once suffix for each trigger and set the number to the amount of triggers you have. There are also examples for this kind of achievements in the default config to check out

How to setup triggers
Copy

What are triggers?

  • Triggers are basically numerical counters with a name. These counters are individual for each player and saved in their players achievement file.
  • Achievements can have multiple triggers, which are accumulated to give a total value
  • Each trigger has a trigger with the same name, but ending with ":once". This is recommended if the achievement is a one time achievement anyways to save performance. This trigger is either 0 or 1. This allows for various different options explained later. For example "kill:player" can be anything from 0 to infinity, but "kill:player:once" will only change to 1 and can never exceed this value

What is possible with triggers?

  • Triggers can be executed when an action by the player is executed.
    • The simplest trigger is the action:CLASSNAME where the CLASSNAME is the classname of the Action. For example action:ActionOpenDoors
    • You can be a bit more specific with the triggers though. action:CLASSNAME:ruined-target would only execute when the target is ruined after the action finished. This can be used for detecting when a player chopped down a tree. action:ActionMineTree:ruined-target would be the trigger here
    • This is also possible with :ruined-hands. (They cannot be combined!). So action:ActionHackVehicle:ruined-hands would be triggered when someone breaks into a vehicle with a Lockpick and the Lockpick is ruined after the action
    • There are also 3 additional things you can do.
      • action:CLASSNAME:item:ITEMNAME checks for the itemname of the item in hands (be aware, that this doesn't support baseclasses)
      • action:CLASSNAME:hologram:ITEMNAME checks for the classname of the hologram for example for placing actions
      • action:CLASSNAME:target:ITEMNAME checks for the target itemname
      • action:CLASSNAME:target-obj:ITEMNAME checks for the object targeted and does not try to get the parent. The Harvest Action has a few exceptions. To check for an item being harvested, use this trigger like action:ActionHarvestCrops:target-obj:ITEMNAME. Itemname could for example be CP_Plant_CannabisSkunk from the CP mod
  • There are also more triggers:
    • kill:zombie will count any direct zombie kill
    • bullet:shot will cound each time a weapon is shot by a player
    • distance:walk Distance a player traveled by foot on ground (counted in full km)
    • distance:drive Distance a player traveled in a ground vehicle or boat (couned in full km)
    • distance:boat Distance a player traveled by boat (counted in full km)
    • distance:fly Distance a player traveled in air (counted in km and only full km will count). A player is flying, when 20m above the air and he traveled a larger distance, so this might not be 100% accurate
    • kill:player Triggered for the killer of a player (this counts bots too). These must be direct kills with weapons (grenades or other indirect damage is not counted)
    • kill:player:no-bot Triggered for the killer of a player (this only counts real human controlled players). These must be direct kills with weapons (grenades or other indirect damage is not counted)
    • kill:player:bot Triggered for the killer of a bot player (not human controlled players)
    • kill:animal Counts Anything, that inherits AnimalBase (Everything except for zombies. This includes predatory Animals)
    • kill:animal:ITEMNAME Counts Animal kills matching the ITEMNAME exactly. This must inherit AnimalBase (Everything except for zombies. This includes predatory Animals)
    • kill:animal-hostile Counts all hostile animals like Wolves or Bears. Checks if IsDanger() for the Animal is true. Modded Animals might not properly support this
    • kill:animal-friendly Counts all hostile animals like Wolves or Bears. Checks if IsDanger() for the Animal is false. Modded Animals might not properly support this
    • kill:zombie Counts any zombie kill. This includes modded entities inheriting the ZombieBase class.
    • kill:zombie:ITEMNAME Counts zombie kills, which match exactly this itemname.
    • kill:zombie-silent Counts any stealth zombie kill. This includes modded entities inheriting the ZombieBase class.
    • kill:zombie-silent:ITEMNAME Counts stealth zombie kills, which match exactly this itemname.
    • looted:parent:ITEMNAME Counted when an item is looted from a container (this is only counted once per container. Once a player looted a container, it will not trigger again for the same or for other players to prevent farming this trigger). Can be used for things like looting Airdrops
    • looted:parent-classname:CLASSNAME same as above with the difference, that CLASSNAME might not exactly be the same like the ITEMNAME. If the item doesn't have a script class, the Classname will be the highest Classname found, which kind of works like a Baseclass.
    • looted:item:ITEMNAME Counted when an item is looted and was freshly spawned by the CE. Sadly this information is lost when the server restarts, so the item must spawn and be looted in the same restart, otherwise it's not counted
    • looted:item-classname:CLASSNAME Same as above, but with the Classname of the item instead of the itemname
    • inventory:open triggered once the player has opened his inventory (only triggered once, so the inventory:open:once trigger will behave the same)
    • crafting:CLASSNAME Triggered each time a Recipe is crafted. it needs the Classname of the recipe like crafting:CraftSalineBagIV Be aware, that some recipes are reversable, so players could abuse this
    • crafting:item:ITEMNAME Triggered for each of the spawned output items. This is independent of the Classname of the recipe. If multiple recipes produce the same item, this will count both. Be aware, that this does not work with base classes, so the itemname must match exactly
    • ag:group:created a player created a group with advanced groups
    • atm:robbed when a player robbed an ATM from Enhanced Banking
    • bank:transfer triggered when a player transfers money to another player. Only triggered for the player sending the money
    • bank:balance:personal Set Trigger saving the highest bank balance for the players personal account (only checked when withdrawing or depositing money)
    • bank:balance:group Set Trigger saving the highest bank balance for the players group account (only checked when withdrawing or depositing money)
    • spawnselect:spawn-bag Triggered when a player it spawning at his sleeping bag
    • spawnselect:spawn Triggered when a player spawns at a spawn point, which is not a sleeping bag or a house
    • spawnselect:spawn:POSITION_NAME Triggered when a player spawns at a spawn with a specific name from the config
    • spawnselect:spawn-house Triggered when a player spawns at his house (Only available with TB Real Estate)
    • player:killstreak Triggered when a player reached a killstreak. This is counted when the Killfeed mod by me is installed, which keeps track of killstreaks
    • fishing:junk Triggered when a player is fishing a junk item
    • fishing:junk:ITEMNAME Triggered when a player is fishing a junk item exactly matching the ITEMNAME
    • fishing:success Triggered when a player is fishing a fish or otherwise considered successful fishing attempt
    • fishing:success:ITEMNAME Triggered when a player is fishing a fish or otherwise considered successful fishing attempt of exactly the ITEMNAME item
    • fishing:ITEMNAME Triggered when a player is fishing this exact item (doesn't check if it is junk or not)
  • Some Triggers require an extra pbo from the OptionalContent folder in the Client Zip you download from my website. Make sure to read the ReadMe.txt before installing any of the plugins!
    • quests:finished Triggered when any Quest from Expansion Quests is finished no matter which
    • quests:finished:ID ID is the ID of the quest. Only triggered when the quest with this ID is finished
    • trader:sold Triggered when an item is sold at a Trader (does not trigger multiple times when items are sold when attached!)
    • trader:sold:ITEMNAME Triggered when a specific item is sold with the ITEMNAME being replaced with the itemname
    • trader:bought Triggered when any item is bought (not triggered for attachments automatically spawned with the item)
    • trader:bought:ITEMNAME Triggered when a specific item is bought (not triggered for attachments)
  • There are also some trigger handlers you can already use (note: trigger handlers always start with a $ infront of the trigger name):
    • $position:X,Y,Z,RADIUS Checks for the position of the player every second to match the specified position and radius. Example: $position:100.0,200.0,453.45,20.0 would check for the player being in a radius of 20m around 100.0,200.0,453.45. You can also use the :once suffix
    • $position2d:X,Z,RADIUS Same as the above, but ignores the Y axis when checking the distance
    • $kill:WEAPON:MIN_DIST:MAX_DIST:COUNT_HUMANS:COUNT_BOTS This one is a bit more complicated. It's a powerful trigger, which can check various differen things:
      • WEAPON is the classname of the weapon the killer must have in his hands. This supports Baseclasses unlike the other triggers. If you just leave it empty, any weapon will be accepted
      • MIN_DIST The minimum distance both players need to be away from eachother. This is a float value in meters. Leave it empty for no minimum distance
      • MAX_DIST Same as MIN_DIST, but kills further than this distance are not counted
      • COUNT_HUMANS either 0 or 1 to count human controlled players. Default if left empty is 1
      • COUNT_BOTS either 0 or 1 to count non human controlled players. Default if left empty is 1
      • Examples:
        • $kill::700::1:0 would trigger for each kill done on a human controlled player, who is further away than 700m. This could be used for an Achievement where someone has to snipe another player
        • $kill::5:50:1:0 would trigger for kills on human controlled players between 5m and 50m for example when you want to only count close Quarters kills
        • $kill:SVD:::1:1 would trigger for all Kills done with an SVD on any player

What is possible with extra scripting work?

  • Since triggers are just strings, they are limited in their functionality
  • Trigger via script:
    • Another thing you can do with some extra scripting is to add your own triggers. Check out the Scripting Guide on how to trigger your own triggers
  • TriggerHandler class
    • One thing to keep in mind is, that doing something like "pickup:Weapon_Base" as a trigger is not possible without a special "TriggerHandler" explained in detail later. The problem is, that the game would for example trigger a "pickup:M4A1", but since they are just simple strings, there is no information about the M4A1 also inheriting the Weapon_Base class. This trigger would not work. This is a case where a special TriggerHandler would be needed
    • Also positions are a difficult thing. For example you want to trigger an achievement when a player enters a room somewhere on the map. How do you tell the trigger, that the position with a specific radius should trigger it? "position:X,Y,Z,RADIUS" where each of them is replaced by a value like "position:1000,200,403.0,20.0" would be something that comes to your mind. But we run into the same problem as before. Triggers are just strings, so checking the position of each player and triggering a trigger based on the position will not work, because we cannot check for a specific Trigger. This is also a case for a TriggerHandler. This is acually implemented in the mod by default through the LBTriggerHandlerPosition class you can check out

What is not possible with triggers?

  • There is not really much, that is not possible when you are able to do some scripting and create your own TriggerHandler, otherwise everything listed above is possible and with some clever combination of triggers and appending :once to a trigger, you can already achieve a lot

How to create a custom TriggerHandler

  • First you need to be able to create a script and add the LBmaster_Achievements as a required addons in the config.cpp
  • You can create a new Trigger in the 3_Game, 4_World or 5_Mission module. Make sure it inherits the LBTriggerHandler class.
  • Check out my examples LBTriggerHandlerPosition and LBTriggerHandlerPosition2D in the LBmaster_Achievements/scripts/3_Game/LBmaster_Achievements/Struct folder and also check out the LBTriggerHandler class also found in the folder