Gruppe Adler Script Modules
This is a list of modules that we built for various missions. All of them multiplayer and JIP proof. All of them easy to implement into your mission.
Download and insert them manually, or use npm. More information on each module as well as installation, configuration and dependencies can be found on github. Most require CBA and ACE.
grad-loadout - class based, reliable loadout system
grad-leaveNotes - write notes on paper, pass them to other players, place them on the ground, compare handwriting
grad-makeFire - build fires (if trees are near), add more wood to make it bigger, add leaves to make it smoke
grad-listbuymenu - class based buy menu, very versatile, categories, pictures, descriptions, buy-permissions
grad-moneymenu - money framework, can be used in conjunction with listbuymenu or standalone, give money to players, take money from (dead/captured) players, store money in containers, bank accounts
grad-scoreboard - a dynamic scoreboard, displays what you give it, (does not save statistics for you)
------------------------------------------------------------------------------------------
GRAD Loadout
GRAD Loadout is a class based loadout system that applies loadouts on missionstart based on unit type. Works on AI as well as players.
Organizing loadouts in classes makes it very manageable and easy to read. Most importantly though, it means you can use inheritance. A medic can inherit his loadout from a rifleman and add a backpack full of medical equipment.
Check out these loadouts for US Army soldiers with OCP camo as an example.
class USOCP {
class AllUnits {
uniform = "rhs_uniform_cu_ocp";
vest = "rhsusf_iotv_ocp_Rifleman";
headgear = "rhsusf_ach_helmet_ocp";
primaryWeapon = "rhs_weap_m4a1_blockII_bk";
};
class Type {
//Rifleman
class Soldier_F {
addItemsToUniform[] = {
"ACE_MapTools",
"ACE_EarPlugs"
};
addItemsToVest[] = {
LIST_2("HandGrenade"),
LIST_8("30Rnd_556x45_Stanag")
};
};
//Asst. Autorifleman
class soldier_AAR_F: Soldier_F {
backpack = "rhsusf_assault_eagleaiii_ocp";
addItemsToBackpack[] = {
LIST_2("rhs_200rnd_556x45_M_SAW"),
"rhsusf_100Rnd_556x45_M200_soft_pouch"
};
};
};
};
------------------------------------------------------------------------------------------
GRAD Leave Notes
GRAD Leave Notes allows players to write messages on a notepad. Notes can then be placed on the ground, passed to other players or stored in (virtual) inventory. Notes that you found on the ground can be inspected for their handwriting. Every handwriting is represented by a font as well as a modifier+adjective combo. For example, on inspection a note's handwriting might show up as "very elegant". Now if you find another note with "very elegant" handwriting, you know that it was likely written by the same person.
Number of notes that a players can write, or if a player can write note at all can be configured in mission config and with script commands.
------------------------------------------------------------------------------------------
GRAD Make Fire
GRAD Make Fire allows players to build fires if there are trees nearby. More wood can be added once, making the fire bigger. Leaves can be added twice making the fire smoke. Fires will burn out after a certain time (configurable). An extinguished or burned out fire can be inspected, giving you information about the time since it went out (e.g. "The embers are still slightly glimming.").
We are using this module in a TvT mission in which a downed pilot is to be rescued/captured by two opposing teams. The pilot can build these fires as a way to signal his position.
------------------------------------------------------------------------------------------
GRAD List Buymenu
GRAD List Buymenu is a fully configurable buy menu supporting inventory items, weapons, vehicles, units or even your own script code. All of these can be given prices, categories, item stocks, descriptions and preview pictures. Multiple sets of buyables can be configured, giving you the possibility to buy different items at different locations. Inventory items will be either placed directly into the buyer's inventory, into the trader's cargo space or on the ground. Vehicles will be spawned at a suitable location nearby. Optionally you can set permissions on items, allowing you to control who can buy what.
Here it is in action in an early version of an upcoming mission. Note that I have yet to configure the description of some of these items in the mission.
GRAD List Buymenu also has the ability to track what users buy. Even across multiple missions. Admins can then use a chat command to view the statistics:
An example of a config for this menu can be found here.
class Items {
displayName = "Items";
kindOf = "Items";
class ACE_fieldDressing {
displayName = "Bandages (x10)";
description = "10 simple bandages in sterile packaging.";
amount = 10;
price = 100;
stock = 40;
};
};
class Vehicles {
permissionLevel = 3;
displayName = "Vehicles";
kindOf = "Vehicles";
spawnEmpty = 1;
class rhsusf_m998_w_s_4dr_fulltop {
condition = "uo_missionParam_ISWOODLAND";
displayName = "Commandvehicle";
description = "Functions as a backup respawn and buymenu access position.";
price = 10000;
stock = 1;
code = "[_this select 2] call uo_fnc_setCommandVehicle;";
};
};
------------------------------------------------------------------------------------------
GRAD Money Menu
GRAD Money Menu can be used supplementary to GRAD List Buymenu, or as a standalone money system. It allows you to give money to players, take money from captive, surrendered, or dead players and store money in containers. Storage containers can have an owner or be accessible by everyone. Deposit and withdraw money at an ATM and do bank transfers to other players. Check your account at an ATM and see your latest receipts.
Lots of pictures in the readme on github.
------------------------------------------------------------------------------------------
GRAD Scoreboard
GRAD Scoreboard will take an array of statistics and display them for your in a nice and tidy dialog.
It supports any number of columns and rows and will automatically adjust its size as well as the width of each column accordingly. It will try to find the local players name and highlight it. Below the actual scoreboard, you can optionally display a second dialog for additional statistics.
Here it is with some fake statistics. Note that the winrates are unrounded. Rounding has to be done before feeding the array.