Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A reliable, self configuring, error finding loadout framework for Arma.

License

NotificationsYou must be signed in to change notification settings

BaerMitUmlaut/Poppy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A reliable, self configuring, error finding loadout framework for Arma.

About

Poppy is a loadout framework that was made with the following three goals inmind:

  • be as simple and easy as possible to use without hindering power users
  • decrease the users workflow by finding possible errors and letting the userknow of them
  • cope with various common modifications and known issues such as inventorydesynchronization

Poppy achieves this by combining the best of existing loadout frameworks andadding some special sauce on top.

Features

The following features are supported by Poppy by default:

  • Loadout creation through the Virtual Arsenal
  • Inventory sorting
  • Automatic creation of briefing entries with the current loadout
  • Detailed Error and Warning messages when mistakes are detected
  • JIP and respawn compatibility
  • Full ACRE and TFAR compatibility
  • Automatic distribution of long range radios with ACRE
  • Automatic 343 channel selection with ACRE

Poppy has a few additonal features which are available for more advanced users:

  • Loadout randomization
  • Simplified loadout configs
  • Executing code before and after applying a certain loadout
  • Single unit specific loadouts
  • AI loadouts (coming soon)

Usage

Setup

The following steps describe how to include Poppy into your mission:

  1. Download the latest version of Poppy from thereleases page.

  2. Open your mission's folder, usually found at

    MyDocuments\Arma 3 - Other Profiles\<profile name>\missions\<mission name>.<map name>`.
  3. Copy the Poppy folder into your mission's folder.

  4. If you haven't already, create adescription.ext file in your mission'sfolder. Add the following lines to it:

    #include "Poppy\CfgPoppy.hpp"class CfgFunctions {    #include "Poppy\CfgFunctions.hpp"};
  5. Your folder structure should now look like this:

    <mission name>.<map name>├── Poppy│   ├── functions│   │   └── ...│   ├── UI│   │   └── ...│   ├── CfgFunctions.hpp│   ├── CfgPoppy.hpp│   └── Dialog.hpp├── description.ext└── mission.sqm

    If there are differences between the above folder structure and your folderstructure, fix them now or your game might crash (thanks BI).

  6. If you have your mission already open in the editor, reopen it so itrefreshes the mission's files.

Creating basic loadouts

In this section you will learn how to create loadouts from scratch without anytechnical knowledge about Poppy. Simply follow these steps:

  1. Place down all playable units you want to have in your mission and make surethere is one unit marked as player. Note that Poppy will ignore anynon-playable/non-player units.
  2. Preview your mission. An error message saying "Poppy could not find yourloadout config." will appear because you don't have any loadouts configuredyet. Don't panic!
  3. In your action menu (the scroll wheel menu) you will now find an entry named"Configure loadouts". Select that entry and the Virtual Arsenal will openup.
  4. You will see a large box at the top of your screen with two arrow buttonsnext to it. This will show what unit type you are currently editing. If youjust opened up the arsenal it will say "CommonBlufor" or "CommonOpfor" andso on. When you edit this "common" loadout, any changes you make will beapplied to all units. This is extremly useful for defining the uniform,vest or weapon (almost) all of your units use.
  5. You should now select the loadout that is almost the same for all units.This will most likely include the uniform, the vest, grenades, medical gearand so on.
  6. Once you're done, click the right arrow. You are now editing the class thatis shown in the box above.
  7. Note that items and magazines might have been resorted in your vest, uniformand backback. The amount of items and magazines however will remain thesame as in the common loadout.
  8. Once you have equipped all units, simply close the arsenal. Poppy will showa message in the bottom right, informing you that the loadout has beencopied to your clipboard.
  9. Open yourdescription.ext again. Add an empty line at the bottom, andpress Ctrl + V to paste the loadout. Make sure to save the file.
  10. Reopen your mission in the editor and hit preview again. All playable unitswill now have the loadouts you created earlier.

If you want to change something about your loadouts, you can select the"Configure loadouts" option in your action menu at any point. However, you needto make sure you overwrite any loadout configs instead of just adding the configbelow the old one.

Loadouts for advanced users

Poppy uses a loadout config. This means you will need to create some very basicconfigs. If you have never seen a config before, I'd highly suggest to use thebasic automatically generated loadouts from above and learn from them.

The loadout config has the following base structure:

class CfgLoadouts {    class Common<Blufor|Opfor|Independant|Civilian> {        uniform[] = {...};        vest[] = {...};        backpack[] = {...};        magazines[] = {...};        items[] = {...};        binoculars[] = {...};        compass[] = {...};        goggles[] = {...};        gps[] = {...};        headgear[] = {...};        map[] = {...};        nvgs[] = {...};        watch[] = {...};        primary[] = {...};        secondary[] = {...};        launcher[] = {...};        insignia[] = {...};        lrRadios[] = {...};        preLoadout = "";        postLoadout = "";    };    class <unit class name|unit variable name>: Common<Blufor|Opfor|Independant|Civilian> {        ...    };};

As you can see arrays are used for most config entries. This is for supportingrandomness - almost all config entries support randomness. This means if youyou have multiple entries, Poppy will select one of them randomly.

There are a few special entries:

  • primary[]
    Primary takes a special format to support attachments:
    {"weapon", "attachment", "attachment", "attachment"}
    Multiple of these subarrays are supported. You only need to fill thisarray with the attachment slots you use.
  • secondary[]
    Same asprimary.
  • launcher[]
    Same asprimary.
  • magazines[]
    Magazines does not support randomness for obvious reasons. Additionally, youcan simplify your loadouts by using
    ..., <magazine class name>, <amount of magazines>,....
  • items[]
    Same asmagazines.
  • lrRadios[]
    This does also not support randomness. All radios within this array will begiven to the unit.
  • preLoadout
    Can contain code that will be compiled and called with the current unit andthe loadout class before applying the loadout.
  • postLoadout
    Same aspreLoadout, but called after applying the loadout.

Changing Poppy's settings

Poppy has a few settings that allow you little bit more customization. You canfind them in theCfgPoppy.hpp file. You can easily change them by editingthat file. Note that due to how configs work you will have to0 to disable asetting and1 to enable a setting.

  • forceShowInfos
    Show info messages in multiplayer.
  • forceShowWarnings
    Show warning messages in multiplayer.
  • forceShowErrors
    Show error messages in multiplayer.
  • showLoadoutInBriefing
    Show the loadout of the player on the briefing screen.
  • enableAILoadoutsSP
    Enables loadouts for playable AI units in singleplayer.

If you're using ACRE, there's a few more settings you can change:

  • distributeGroupLeaderRadios
    Enabling this will automatically give each group leader a long range radio.
  • groupLeaderRadio
    This radio will be given to all group leaders if you enabled the settingabove.
  • channelNames[]
    These are the channel names that will be assigned to the long range radiochannels, in the given order. These channel names apply to all radio types.

About

A reliable, self configuring, error finding loadout framework for Arma.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp