Search the Community
Showing results for tags 'modules'.
Found 38 results
-
Old Man Modules New Info, Mostly Full Functionality
Taylor Norris posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Howdy fellers, got some info to dump on y'all. Hope it helps you create your own single player Old Man style scenario. Happy New Year. Thanks to these fine gentlemen HERE and HERE for being the Giants whose shoulders I am not worthy to stand. The only reason I could get the rest of this info out here. I won't cover QRF or checkpoints other than to add that in the configuration of a checkpoint I use an invisible arrow found in the Helper section of props, not a marker. Set the Z coordinate to 1 so your vehicle body intersects with the invisible object. Synopsis: The main things I have discovered and want to share are: You need more than just the Description.ext with common_descriptions in your mission folder, details below. You need to have every rest and merchant object/unit in a layer and called by a sector for it to work 100% of the time. You need to name every merchant unit and box, and I figured out how to get around the inventory check against the prices_definitions array so you can have any items show up in market. I found out how to work the insurgent modules to a good degree, I can't figure some things out and it might be hit and miss but if you follow my directions you should be able to have the ambient "Support L'ensemble" missions come through, and you will be able to send an attack team from your phone. And see the insurgent app details. Also I found some helpful commands regarding the disguise system, and other useful tidbits. Step 1: Create new mission, save as (any name), open scenario folder, create new text document, copy the code below into it, save as "Description.ext" #include <\a3\Missions_F_Oldman\Systems\commonDescription.inc> Step 2: Create another new text document, copy the following code, save as "OMMissionSetup.sqf". Return to mission, place non-area trigger in mission (in condition field: BIS_MissoinInitDone )( in onActivation field: execvm "OMMissionSetup.sqf"; ) #include "\a3\Missions_F_Oldman\Campaign\Missions\Oldman.tanoa\init_reputation_actions.sqf" #include "\a3\Missions_F_Oldman\Campaign\Missions\Oldman.tanoa\init_threatInfo.sqf" #include "\a3\Missions_F_Oldman\Campaign\Missions\Oldman.tanoa\init_systemExec.sqf" #include "\a3\missions_f_oldman\campaign\missions\oldman.tanoa\init_eventhandlers.sqf" #include "\a3\missions_f_oldman\systems\ui\centerdot\initcenterdot.sqf" #include "\a3\missions_f_oldman\campaign\missions\oldman.tanoa\init_variables.sqf" Step 3: Place OM Init module anywhere, set east and independent aim controls in this module. Place player unit (civilian) and place any single Blu unit. Set Blu unit probability of presence to 0 (zero). Group the player to the Blu unit (from player to Blu so player joins Blu side). ***Make sure the player has a radio equipped*** in the inventory, as you need it for Insurgent modules functionality. From here, you should save the mission and enter it to test. You should have the Old Man loading screen come up, enter the mission and when you open the map you should see the phone ui. You should also see the center dot like in the OM mission. Go back to the 3DEN editor. Step 4: Place the following OM Modules anywhere on the map: Fast Travel, Smart marker (no changes needed), action queue (no changes needed), economy (set attributes as you desire), radio (set to off if need be, but the module stops error codes when sectors load vehicles), relationship (east) AND relationship (independent, set threat and enemy values high so they don't get angry at you easily, but not so high they don't mind you shooting them), reputation (module needs to be synced to relationship (independent) module for functionality. NOTE: set reputation as -1 to begin, when you go from level -1 to 0 rep you will gain access to the insurgent phone app whereas if you start from rep 0 to 1 you will skip over the app activation, and when you get to rep1 you can call in an attack from your phone, like in OM mission. You can raise it manually with ( ["REPUTATION_POSITIVE_BONUS_GREAT"] call BIS_fnc_OM_addReputationManualy; )That's supposed to be 1 L in the code.) Step 5: Place OM rest point module, place any object you want to rest at (found some items don't work like Global Mob bed, but GM couch worked. Experiment), sync rest object to module, place the rest object into a layer (rest1 for example) and place a sector (owner:none or independent, layer:rest1) make sure that sector is calling that layer. You should now be able to sleep at that object. Easy as that. You can have more than just the rest object in the layer too. Place a Fast Travel Location module nearby and sync it to the rest1 sector to be able to fast travel when you click on the rest marker from another fast travel zone. -Now place an OM market module, a single unit (indep or civ), and any box. Set merchants combat mode to CARELESS. Sync the market module to the unit and to the box. Name the unit and the box (I use m1 and b1), and put them into a layer (merch1) and have a sector (owner:none or independent, layer: merch1). Now, to avoid odd teleporting behavior from the box, we place an OM init script module, sync it to the box, and in the init script module field write( _this enablesimulation false; _this hideobject true; ). The unit should now be a merchant when you approach him in mission. But, the contents of the box are checked against a Prices and probabilities list, if you are using base game and apex stuff no problem, if you are using items and weapons not supported (like CUP or CSLA) they won't show in the merchant's inventory. -To work around this, do the same setup as above. Now, place another box down(we will refer to it as new box), fill it with any and all of the items you want to be sold in the market, and put the new box into a layer called by a sector that will be spawned by the player before he meets a merchant. Place a OM init script module, sync it to the new box, and in the field write ( _this enablesimulation false; _this hideobject true; contentmerchant = itemcargo _this + weaponcargo _this + magazinecargo _this; ) We have just made the new box invisable and inaccessable, created a variable( contentmerchant) with an array of items and weapons and magazines from the new box. Now place an area trigger centered on your merchant, set the size to 5 x 5, set activation to player present, and in the onActivation field write ( {b1 additemcargo [_x, 1]} foreach contentmerchant; ) replace b1 with whatever you called your merchants box, not the new box. Now, when you approach the merchant, his inventory will update with all items you put in the new box. A bit of a workaround, but it's worth it to be able to sell specific items. -for some reason, the rest point and market modules do not want to work unless the units\objects are in a layer and called by a sector. But with this setup, every rest point and market should work every time. Step 6: (Insurgency Modules) place OM insurgent team module (place anywhere, it is necessary that in the Dependencies field of this module you fill in ["BIS_MissionInitDone"] ), next place a group of rebels nearby and sync all units of group to the module. It will scan and delete these units. These unit templates will be passed to the insurgent camp positions and used in the groups when you call in an attack from phone. Place OM Insurgent agent module (place anywhere no changes needed, but you can set attributes as you desire), place another group of rebels and sync these to the insurgent agent module. It will scan and delete them at mission start just like team module, I think it has to do with the units for ambient support missions. Now for the camp positions module: -wherever you want the location of the camp, place a sector calling a layer (independent owned, layer: camp1), now place a group of rebs and put them where you want them located in the camp. Ungroup the units so they are each individually grouped to themselves. Now make a new layer out of the units, and name it camp1 (or whatever you named the layer in the sector) so the sector will handle the spawns. Next, place a camp position module next to each of the units in the layer, sync each unit to it's own camp position module, and sync all camp position modules to the sector. -repeat process for each camp location around the map. Make sure to use unique names for each layer (camp1, camp1objects, camp2, camp2objects, etc) -I have no clue how to set a whiteboard or other object to use the "send team from camp" ability, but you can call an insurgent team from your phone when you have high enough reputation, and if you are standing in the sector modules' area handling the insurgent camp positions, they will actually leave that specific camp to assault the area you designated. If you call from outside of the sector module area of a camp, they will not leave any camp specifically but instead a group will spawn at the location of the support starting position module of whatever sector you are targeting. (you must sync a support starting position module to all sectors you plan to have "can be attacked" checkmarked on. location of module designates the spot they will spawn for that sector.) -When you add the flavor objects or units to the camp, place them in their own layer (camp1objects), create another sector (owner: independent, layer: camp1objects) to handle the spawns, because the sector handling the insurgent camp spawn positions modules will NOT spawn other objects or units even if they are in the same layer as the units synced to insurgent camp position modules. Every insurgent camp should have at least 2 sectors, one that only handles the units synced to the campposition modules, and the other that handles all objects and vehicles and any units you don't want to leave when you activate that camp. -Agent function (ambient Support L'ensemble quests) use a mixed bag of units you sync to the agent or team module (not sure) and Syndikat units, I have not found a way to change that. If you can figure out how to make it so only certain units are used that would rock. So, if you are going to have an OM style mission in CSLA or SPE, for now you will want to either deactivate the function of it in the attributes of the Agent module or accept that some guys will look out of place. -You must select a map marker when calling in an attack from your phone. You can use a player created map marker to send a team. When you make the call, you must wait 12 seconds for Samjo to send you a text asking for you to select target and size of group. It was awkward at first for me and I didn't know why it wasn't working, then I remembered that there is supposed to be a dropped call that the player makes that would normally happen and I might not be patient enough so I waited and got a text from samjo to open the map and select the target. It's awkwardly long though without the outbound call, if someone can figure out how to get that to activate that'd be cool. -The insurgent team function (call to send attack) is only available when you have a good enough reputation with Independent, and you need a radio equipped. You can raise it manually with ( ["REPUTATION_POSITIVE_BONUS_GREAT"] call BIS_fnc_OM_addReputationManualy; ) That's supposed to be 1 L. It should bring you up about one reputation level each time it is called. as stated earlier, I would set it to -1 to start with. When you reach level 0 for the first time in game, the insurgent app activates. It will not do this if you start at rep 0. Same for the insurgent call function at level 1. You can start at level 1, but it will not be activated nor the app because you need for it to "flag" that you've gotten to that level before activating. So starting at -1 and adding reputation manually will give the desired effect of activating the insurgent app when you reach level 0, activating the insurgent call when you reach level 1, and from there it only cuts the price at the markets when you get to level 3. once the player gets the call from Samjo about being able to make the call to request insurgent teams, you really don't need to add more reputation. Step 7: If you want targets for the Insurgency Agent module (support L'ensemble task), then when you place an enemy sector down, make sure it can be attacked (checkbox located in sector module attributes). You can only call in Insurgent teams over the phone to attack sectors (can't call them to middle of nowhere). To select a sector on the map (as they are not marked when in game) you'll need a marker near where the sector is. Either place one when you are in game (double click on map) before you make the call to Samjo for an attack, or arrange to have an intel pickup place a smartmarker. -it seems to look like Opfor is supposed to be the default badguy, as when you set up a blufor sector with blu units and set it to be attacked (like I did when testing in SPE), it doesn't register (at least for me) to send an ambient support quest (maybe I didn't wait long enoug). You can still send a team from a camp over the phone, but when they get there they won't do any shooting, even if you have Blufor and Independent set as enemies in the general settings of the mission. This is because the Old Man init changes that attribute, so you'll have to play with the setfriend command after the mission init is done (can put this code in the onActivation field of the same trigger that calls "OMMissionSetup.sqf"): (0 is enemy, 1 is friend) here id an example of what I put in my SPE testing civilian setFriend [west,1]; civilian setFriend [resistance,1]; west setFriend [east,0]; west setFriend [resistance,0]; east setFriend [west,0]; east setFriend [resistance,1]; resistance setFriend [west,0]; resistance setFriend [east,1]; Step 8: Sectors can be synced with civilian presence module (the one with area) to handle civ spawning. Just set up civ modules (presence module, spawnpoints and positions in presence area), sync presence area module to sector you want to handle it and bingo bango bongo. Too many of these modules can severly impact load time. Note, DO NOT OVERLAP SECTORS EVER, even if they are handling layers they will still disrupt another sectors functions. If you are using 2 sectors to handle spawning in a local area (for example the insurgent camps modules. Good practice to prioritize the insurgent camp sector area, as the area of this sector module is used to determine if the player is in a camp and able to send this specific camp to a position, or if the player is outside of the area of any camp and therefore will use spawning at supportstartpos method Step 9: Helpful stuff I found out: show a subtitle : ["_speaker", "_words"] call BIS_fnc_showsubtitles; change players clothing status : BIS_isWearingCSATHelmet = BOOL; BIS_isWearingCSATUniform = BOOL; BIS_isWearingNeutralUniform = BOOL; BIS_isWearingSuspiciousVest = BOOL; BIS_isWearingIDAPUniform = BOOL; BIS_isWearingWorkerUniform = BOOL; BIS_isWearingUndercoverFacewear = BOOL; BIS_isWearingCompleteUniform = BOOL; BIS_isWearingSuspiciousHeadgear = BOOL; if you want to escort an AI use : [unit] call BIS_fnc_escortAIHoldAction; if you want to enable the insurgent app without changing rep : ["Syndikatinfo", true] call BIS_fnc_OM_phone_enablebutton; to add an amount of money to the player (not sure how to add a notification yet) : [1,[amount]] call BIS_fnc_OM_ModuleEconomy; create dynamic persistant clash zones with the OM Patrol Area module. Set up one for opfor and one for independent, then overlap them anyhow you want. The patrol area module doesn't have any restrictions on overlapping other patrol modules or sectors. The groups synced to it must be foot patrols. check out the BIS_fnc_ambientanimcombat page on the wiki for animations that units can play and still go into combat. Put this command into the OM init script module synced to the units you want to animate. [_this, "STRING"] call BIS_fnc_ambientanimcombat; Step 10: Hopefully you can learn to use the modules better than I have explained here. Together with the other Old Man guide out on the steam page, and the info on the BI wiki regarding old man systems, this should give you plenty of functionality to make it worth creating a mission using these and other systems combined (HC, Support, Zues et al) Thank you for taking the time to read this. - T Also, here is a link to a steam workshop composition I made with working Old Man module setup. Just follow directions on the composition description. -
Napalm and WP Smoke marker rockets v2.0!!
ANZACSAS Steven posted a topic in ARMA 3 - ADDONS & MODS: COMPLETE
Napalm and WP Smoke marker rockets by ANZACSAS Steve v2.0. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Steam Link - https://steamcommunity.com/sharedfiles/filedetails/?id=1703765606 - This is a port of my work from Arma 2 and Unsung but updated to Arma 3 specs and standards.:) - Napalm bomb and White Phosphorus Smoke marker rockets. - Napalm fire gives damage for full length of time for AI and players. - AI cannot see through smoke and fire efx. - AI Suppression effect added. - Support module compatible.See example mission. - Works on US and Independent faction fixed wing aircraft. - CUP and RHS aircraft compatible. - Secret weapons mod and SAB's military aviation pack compatible. - Firewills A-10, F-14,15,16,18 compatible. - F/A-18 Super Hornet compatible. - Unsung, NZDF and USAF mod and many more. - Works for addons that use default naming system for pylons/hardpoints. - Airborne napalm efx and damage will travel in the direction of the strike! - Comes with Enhanced,more brutal and intense CAS modules to add into your missions for instant light and heavy ,high and low napalm and bomb airstrikes! - Comes with example mission for Support Module airstrikes.Found in your @ANZACSAS Napalm and WP Smoke marker rockets Mod folder. - Comes with two MP Missions with the MK77 Napalm added to aircraft. Altis - Save the Platoon and Tanoa - Carrier Ops day3. - Anyone wanting to use this addon /code in their addon or mod just ask.:) - Optional but recommended to be used with my other Particle efx mods - here - https://steamcommunity.com/sharedfiles/filedetails/?id=1484261993 and here - https://steamcommunity.com/sharedfiles/filedetails/?id=1537745369 - Thanks to BI and the community. - Enjoy.:) - Credits - - Code,Particle Efx and Sounds by ANZACSAS Steve. - Model and Texture by Mondkalb.Big Thank you.:) - Model and Texture modified file paths and alignment to Arma 3 by Firewill. - Dual Rail bomb mount model and Texture by Firewill.Thanks bud,nice one.:) - Big thanks for the awesome showcase vid by Viper1Zero and also one by Haze. - Thanks to DustSabre for setting up the reflective surface efx.🙂 -
Is there a way to jump-start a tracker module in S.O.G Prarie Fire? For example: Making it go from sentries to tracker or avalanche levels with a scripting command? If so, how do I do that?
-
Hi all, Need some tools to create your mission or spice it? I created an addon for mission markers. Do not hesitate to ask how things work and report any bug. I'll reply to suggestions and I'll share scripts as usual. On the other hand, please, don't copy/paste any part of this mod without my consent. I'm sharing some scripts already.
-
Custom Module Function and curatorInfoType not working
Michael LeMay posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
I can't get my custom module to work, followed the guide but the function is not working and neither is the display that's supposed to come up when placed by Zeus. Config file: class CfgPatches { class NAK_Main { units[] = {"NAK_ExecuteCode"}; requiredVersion = 1.0; requiredAddons[] = {"A3_UI_F","A3_UI_F_Curator","A3_Functions_F","A3_Functions_F_Curator","A3_Modules_F","A3_Modules_F_Curator","A3_Modules_F_Bootcamp_Misc"}; }; }; class CfgFactionClasses { class NO_CATEGORY; class NAK: NO_CATEGORY { displayName = "NAK"; }; }; class CfgVehicles { class Logic; class Module_F: Logic { class AttributesBase { class Default; class Edit; class ModuleDescription; class Units; }; class ModuleDescription { class AnyPlayer; class AnyBrain; class EmptyDetector; }; }; class NAK_ExecuteCode: Module_F { scope = 2; scopeCurator = 2; displayName = "Execute Code"; category = "NAK"; vehicleClass = "Modules"; function = "NAK_fnc_ExecuteCode"; functionPriority = 1; isGlobal = 1; isTriggerActivated = 0; isDisposable = 0; is3Den = 0; curatorInfoType = "RscDisplayAttributeExecuteCode"; class Attributes: AttributesBase { class Units: Units { property = "NAK_ExecuteCode_Units"; }; class SqfCode: Edit { property = "NAK_ExecuteCode_SqfCode"; displayName = "Execute Code"; tooltip = "Only use to load Zeus mission from clipboard, any other use will result in a suspension of Zeus privileges."; typeName = "STRING"; defaultValue = ""; }; class ModuleDescription: ModuleDescription{}; }; class ModuleDescription: ModuleDescription { description[] = { "This module can execute code."; }; sync[] = {}; }; }; }; class CfgFunctions { class NAK { class NAK { file = "\NAK_ExecuteCode\functions"; class ExecuteCode{}; }; }; }; Here is the function file: _logic = param [0,objNull,[objNull]]; _units = param [1,[],[[]]]; _activated = param [2,true,[true]]; if (_activated) then { _executeCode = _logic getVariable ["SqfCode", -1]; hint str format ["%1 is what you put."]; }; hint "It Works!"; true -
Custom module function not working.
Michael LeMay posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
I'm trying to create a custom module, but when I place it nothing happens. I also don't know what I'm supposed to put for curatorInfoType, here's my config.cpp: class CfgPatches { class NAK_Modules { units[] = {"NAK_spawnUnit"}; requiredVersion = 1.0; requiredAddons[] = {"A3_UI_F","A3_UI_F_Curator","A3_Functions_F","A3_Functions_F_Curator","A3_Modules_F","A3_Modules_F_Curator","A3_Modules_F_Bootcamp_Misc"}; weapons[] = {}; }; }; class CfgFactionClasses { class NO_CATEGORY; class NAK: NO_CATEGORY { displayName = "NAK"; }; }; class CfgVehicles { class Logic; class Module_F: Logic { class AttributesBase { class Default; class Edit; // Default edit box (i.e., text input field) class Combo; // Default combo box (i.e., drop-down menu) class Checkbox; // Default checkbox (returned value is Boolean) class CheckboxNumber; // Default checkbox (returned value is Number) class ModuleDescription; // Module description class Units; // Selection of units on which the module is applied }; // Description base classes, for more information see below class ModuleDescription { class AnyPlayer; class AnyBrain; class EmptyDetector; }; }; class NAK_spawnUnit: Module_F { // Standard object definitions scope = 2; // Editor visibility; 2 will show it in the menu, 1 will hide it. scopeCurator = 2; displayName = "Spawn Unit"; // Name displayed in the menu category = "NAK"; icon = "NAK_spawnUnit\media\naksquad.paa"; vehicleClass = "Modules"; side = 7; // Name of function triggered once conditions are met function = "NAK_fnc_spawnUnit"; // Execution priority, modules with lower number are executed first. 0 is used when the attribute is undefined functionPriority = 1; // 0 for server only execution, 1 for global execution, 2 for persistent global execution isGlobal = 1; // 1 for module waiting until all synced triggers are activated isTriggerActivated = 1; // 1 if modules is to be disabled once it is activated (i.e., repeated trigger activation won't work) isDisposable = 0; // 1 to run init function in Eden Editor as well is3DEN = 0; // Menu displayed when the module is placed or double-clicked on by Zeus curatorInfoType = "RscDisplayAttributeModuleNuke"; // Module attributes, uses https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes#Entity_Specific class Attributes: AttributesBase { // Arguments shared by specific module type (have to be mentioned in order to be present) class Units: Units { property = "NAK_spawnUnit_Units"; }; // Module specific arguments class UnitType: Edit { property = "NAK_spawnUnit_UnitType"; displayName = "Unit Type"; tooltip = "Put unit class here"; defaultValue = "B_Soldier_F"; }; class ModuleDescription: ModuleDescription{}; // Module description should be shown last }; // Module description. Must inherit from base class, otherwise pre-defined entities won't be available class ModuleDescription: ModuleDescription { description[] = { "Use this module to spawn a unit." }; // Short description, will be formatted as structured text sync[] = {}; // Array of synced entities (can contain base classes) }; }; }; class CfgFunctions { class NAK { class NAK { file = "\NAK_spawnUnit\functions"; class spawnUnit{}; }; }; }; And here's my function: // Argument 0 is module logic. _logic = param [0,objNull,[objNull]]; // Argument 1 is list of affected units (affected by value selected in the 'class Units' argument)) _units = param [1,[],[[]]]; // True when the module was activated, false when it is deactivated (i.e., synced triggers are no longer active) _activated = param [2,true,[true]]; // Module specific behavior. Function can extract arguments from logic and use them. if (_activated) then { // Attribute values are saved in module's object space under their class names hint "Hello"; }; hint "Hello"; // Module function is executed by spawn command, so returned value is not necessary, but it is good practice. true For now, I'm just trying to get it to hint Hello. Sorry if this is in the wrong forum. Here's my file structure: NAK_Modules (folder) @NAK_Modules (folder) addons (folder) NAK_spawnUnit (folder) config.cpp (file) functions (folder) media (folder) fn_spawn.sqf (file) naksquad.paa (file) -
modules Can't get custom module to show.
Michael LeMay posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
I'm trying to learn how to create a custom module, I've followed several guides, including the official one, I even copy and pasted everything from the official guide and followed it step by step, nothing is working. config.cpp (I've also tried to name it mod.cpp): class CfgPatches { class myTag_addonName { units[] = {"myTag_ModuleNuke"}; requiredVersion = 1.0; requiredAddons[] = {"A3_Modules_F"}; }; }; class CfgFactionClasses { class NO_CATEGORY; class myTag_explosions: NO_CATEGORY { displayName = "Explosions"; }; }; class CfgVehicles { class Logic; class Module_F: Logic { class AttributesBase { class Default; class Edit; // Default edit box (i.e., text input field) class Combo; // Default combo box (i.e., drop-down menu) class Checkbox; // Default checkbox (returned value is Boolean) class CheckboxNumber; // Default checkbox (returned value is Number) class ModuleDescription; // Module description class Units; // Selection of units on which the module is applied }; // Description base classes, for more information see below class ModuleDescription { class AnyBrain; }; }; class myTag_ModuleNuke: Module_F { // Standard object definitions scope = 2; // Editor visibility; 2 will show it in the menu, 1 will hide it. displayName = "Nuclear Explosion"; // Name displayed in the menu icon = "\myTag_addonName\data\iconNuke_ca.paa"; // Map icon. Delete this entry to use the default icon category = "Effects"; // Name of function triggered once conditions are met function = "myTag_fnc_moduleNuke"; // Execution priority, modules with lower number are executed first. 0 is used when the attribute is undefined functionPriority = 1; // 0 for server only execution, 1 for global execution, 2 for persistent global execution isGlobal = 1; // 1 for module waiting until all synced triggers are activated isTriggerActivated = 1; // 1 if modules is to be disabled once it is activated (i.e., repeated trigger activation won't work) isDisposable = 1; // 1 to run init function in Eden Editor as well is3DEN = 1; // Menu displayed when the module is placed or double-clicked on by Zeus curatorInfoType = "RscDisplayAttributeModuleNuke"; // Module attributes, uses https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes#Entity_Specific class Attributes: AttributesBase { // Arguments shared by specific module type (have to be mentioned in order to be present) class Units: Units { property = "myTag_ModuleNuke_Units"; }; // Module specific arguments class Yield: Combo { // Unique property, use "<moduleClass>_<attributeClass>" format to make sure the name is unique in the world property = "myTag_ModuleNuke_Yield"; displayName = "Nuclear weapon yield"; // Argument label tooltip = "How strong will the explosion be"; // Tooltip description typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" defaultValue = "50"; // Default attribute value. WARNING: This is an expression, and its returned value will be used (50 in this case) class Values { class 50Mt {name = "50 megatons"; value = 50;}; // Listbox item class 100Mt {name = "100 megatons"; value = 100;}; }; }; class Name: Edit { displayName = "Name"; tooltip = "Name of the nuclear device"; // Default text filled in the input box // Because it is an expression, to return a String one must have a string within a string defaultValue = """Tsar Bomba"""; }; class ModuleDescription: ModuleDescription{}; // Module description should be shown last }; // Module description. Must inherit from base class, otherwise pre-defined entities won't be available class ModuleDescription: ModuleDescription { description = "Short module description"; // Short description, will be formatted as structured text sync[] = {"LocationArea_F"}; // Array of synced entities (can contain base classes) class LocationArea_F { description[] = { // Multi-line descriptions are supported "First line", "Second line" }; position = 1; // Position is taken into effect direction = 1; // Direction is taken into effect optional = 1; // Synced entity is optional duplicate = 1; // Multiple entities of this type can be synced synced[] = {"BLUFORunit","AnyBrain"}; // Pre-define entities like "AnyBrain" can be used. See the list below }; class BLUFORunit { description = "Short description"; displayName = "Any BLUFOR unit"; // Custom name icon = "iconMan"; // Custom icon (can be file path or CfgVehicleIcons entry) side = 1; // Custom side (will determine icon color) }; }; }; }; class CfgFunctions { class myTag { class Effects { file = "\myTag_addonName\functions"; class moduleNuke{}; }; }; }; addons\functions.sqf: _mode = param [0,"",[""]]; _input = param [1,[],[[]]]; switch _mode do { // Default object init case "init": { _logic = _input param [0,objNull,[objNull]]; // Module logic _isActivated = _input param [1,true,[true]]; // True when the module was activated, false when it is deactivated _isCuratorPlaced = _input param [2,false,[true]]; // True if the module was placed by Zeus // ... code here... }; // When some attributes were changed (including position and rotation) case "attributesChanged3DEN": { _logic = _input param [0,objNull,[objNull]]; // ... code here... }; // When added to the world (e.g., after undoing and redoing creation) case "registeredToWorld3DEN": { _logic = _input param [0,objNull,[objNull]]; // ... code here... }; // When removed from the world (i.e., by deletion or undoing creation) case "unregisteredFromWorld3DEN": { _logic = _input param [0,objNull,[objNull]]; // ... code here... }; // When connection to object changes (i.e., new one is added or existing one removed) case "connectionChanged3DEN": { _logic = _input param [0,objNull,[objNull]]; // ... code here... }; // When object is being dragged case "dragged3DEN": { _logic = _input param [0,objNull,[objNull]]; // ...code here... }; }; true As you can see, it's basically exactly like the tutorial here: https://community.bistudio.com/wiki/Modules All I'm trying to do right now is get it to show up, I'll worry about functionality later, but it's not even appearing in the list of modules in the Eden Editor. -
New keyframe animation system in DEV build. What will this actually be? I an thinking some way to capture AI animations and create cutscenes, but it is early days, and I am not sure what to do with any of the modules. Is this meant for the TAC-OPS DLC or some other intention? I would love to be able to sync the camera to a screen or billboard and have a live video feed. There is a timeline module and curved paths. Does this mean playing back animations?
-
Trying to setup a custom defend mission with mod assets. I have the basic mission up and working. I have two things I need to figure out: 1) Trigger activated by wave completion. Want players to unlock classes and supports when when they beat a wave. I got the following from the tutorial I used to setup the mission, put in a trigger but it doesn't work. bis_fnc_modulemptypedefence_tier > 1; So I need to know how to correct this or another way to pull off the same effect. 2) Spawn ground vehicles At the moment the system will not spawn ground vehicles (cars, Apc, tanks etc.) But does spawn infantry and helicopters. I have tried with vanilla assets no change the helicopter is set up the same as everything else. Regardless how I set the spawn ratios no ground vehicles, it will sooner spawn nothing at all. My google-fu might just be trash I can find near nothing on this, even the bis wiki seems to be missing it, So any help will be greatly appreciated.
-
Hey, I'm new to coding and mission editing in Arma, so please go easy on me. I'm attempting to create a template of sorts to build future missions out of, I want to have a clean, easy & modular spawn system that can be easily tweaked for different scenarios, I also want to do this without mods. I am aware of 2 main ways of handling spawning AI, "createUnit" and "BIS_fnc_spawnGroup" I'm not exactly sure what is best for my specific use case, and I'm not entirely sure how to use either of them properly. Essentially what i want to do is have a trigger spawn multiple units of my choice on a marker and then have the units move towards another marker, I also want to be able to modify the behavior of these units (ex. start on limited speed.) I have tried a few different methods to achieve this, these are the issues I'm having with each: With "createUnit" the only way i have found to spawn multiple units is to repeat the code over and over, I'm sure there's a better way to do this and if so I'd love to know. Also with my current setup i have to repeat the domove code for each individual unit, I would also like to know if there is a better way to do this. Here is the code located in the triggers "On activation" field: With "BIS_fnc_spawnGroup" I'm not entirely sure how to order the units spawned within to move towards a marker, I would like to know how to do this, and I also read somewhere that the group will not be automatically deleted when all units are dead so I added a line at the end, I have no idea if it works though. Here's the code for that from the triggers activation field: I read that createUnit is better for performance when paired with the sleep command, however i have no idea how that works, and I also have my doubts, at-least with my current code repeating the same lines over and over for each unit seems very inefficient, the BIS command seems much cleaner however i don't know how to issue a move order with it which is my main problem. Additionally i would like to setup a headless client but that's a whole different topic and I don't want to draw this out any further, though if you feel like you have some useful advice on that please do share. Thanks and any advice & methods is appreciated. ❤️
- 6 replies
-
- bis_fnc_spawngroup
- spawn
-
(and 6 more)
Tagged with:
-
Old Man - What do the modules do and how to use them?
JoMiMi posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
What do the modules do that were added in the Old Man DLC and how to use them? How do you make malaria-infected civvies? -
Z E R O D A R K Z E R O by Richard Von Quest VERSION: v0.6.5 Beta UPDATED: 17 APR 2021 DONATE: Support Project // INTRODUCTION : This is a mega-pack of various projects for Black-Ops, Spec-Ops, You-Were-Never-Here Ops... A Full Package of everything you need for a Map Population System, Mission Generator, Infil and Exfil Options, and everything between. ArmA Dark-Ops Systems, Units, Modules, Scripts, Equipment, etc. SpookWarCom has been changed to Zero Dark Zero, which is the larger umbrella name for this collection. Zero Dark Zero, has now been broken down into numerous sub-projects on Steam. Subscribe there to get the most current releases. Zero Dark Zero is the mega-project of currently 11 addons/mods, SpookWarCom is the GameMode we play on the weekends. // GAMEMODE : SpookWarCom (Spooks + SPECWARCOM). Its also a GameMode! You start each game in an Ops Center, where you must decipher the SITREP, and decide HOW to conduct your Mission, working towards the larger goal of winning the Map. SpookWarCom was designed to be an complex game-mode, that stages NATO vs CSAT in a global chess game of geopolitical combat. Players must navigate through a labyrinth of dynamic scenarios and missions that have direct cause-and-effect consequences from the Battlefield all the way up to the Global Theatre. As an Operative, you have been activated by JSOC to conduct Special Reconnaissance, Direct Action, Intelligence, and Unconventional Warfare. You will analyze all Intelligence available, review the assigned Mission, then manage both your Infil and Exfil. After each game, you will adjust the "Game Board" and Modules, to reflect the previous game until you win or lose that Map. The games are random and dynamic. The Battle for a single map can last up to 6 months. 1-6 Maps per Front. Whoever wins the Front, frees or captures that Country. // THE PROJECT : This is both a GameMode, and a large collection of project Addons. Obviously most people will just play as they want, but if you want to follow along and play in an Open-World Black-Ops Sandbox, you can follow this thread and/or subscribe to the Steam Workshop. Use as many, or as few addons as you wish. I offer both stand-alone Downloads, and the full collection if you Subscribe on Steam. // ADDONS / MODULES : FROGS, LEAP, SCAR, FUSE, SCOUT, CORE, SOCOM Check each page for more information and specific details. "Tip of The Spear, You Were Never Here" // FEATURES : TBA // DOCUMENTATION : (See Example Below) // NOTES : Walkthrough & Example Setup Mission: Altis, Greece Quick & Dirty Notes --- Read Briefings // KEYBINDING : SHIFT + D // REQUIRED : 1. CBA A3 - Community Based Addons A3 2. Eden Objects - TOC2 - Advanced Ops Center (optional) 3. RHS and CUP - Units, Gear, Maps, etc. (recommended) // DONATE : Von Quest Industries // LICENSE :
- 722 replies
-
- 13
-
- systems
- enemy spawner
-
(and 7 more)
Tagged with:
-
Disabling/Enabling Support providers
Creeps98 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hello! I have been working on a mission for a while now, where the players have to take a big town. To do so there are multiple goals and my plan was to provide the players with little rewards for completing certain tasks. One of the rewards was supposed to be a new artillery provider (helicopter or artillery) but i cannot make it work. The mission always starts out with the player group already having access to all the support. Is there any way of setting up a trigger or something that will cause new support units to become available? Thanks in advance!- 5 replies
-
- scripting
- mission editing
-
(and 3 more)
Tagged with:
-
Using OLD MAN modules without init. module?
zagor64bz posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi, it could be interesting to use the "relationship" and "awareness" modules from the OLD MAN campaign to create a sort of vanilla "incognito" system. Is it possible to use them without the Old man init? module, as stated in the description of the modules. If not, could one create a scripted "init" for them, and how? Thank you all. -
Creating Unit Layout in Editor, Spawning with Trigger Script
Gwynoak posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hello, I tried to search the forum for something like this but can't find anything that really answers my question, this may belong in the mission scripting section but I don't know what I don't know so sorry if it does. I know how to spawn ai units using a trigger script, and even how to set their positions using waypoints and get/set POS, and how to change their alertness and guarding behavior. But Id like to add enemy AI bases that will be subject to additional scripts later on. I want to be able to place my units where I want them through the Eden editor, but set them to only spawn if a trigger and condition is met. For example, lets say we have Airbase 1 and 2. Both have encounters designed within them, but the player must clear airbase 1 before units at airbase 2 can be triggered to spawn. I'm not so worried about the condition variable, it should be simple enough to pass a Bool when airbase 1 is "captured" that airbase 2 reads, I can figure that out as I go. More importantly, I need the ability to place units in a 3 dimensional space and trigger them to spawn in those exact locations. As far as I know the marker system only works in 2D and while you can pass an elevation variable its not what I'd call accurate when dealing with buildings of different size. The ability to simply create an enemy base with AI in the editor, export it as a module or something and then give it a trigger to spawn would be best for server performance and future adaptation. My best guess: Naming AI and groups, setting some kind of object in their place like an ammo magazine, then on trigger activation replacing the appropriate magazine with the appropriate unit class? But I feel like there is a better way to do this. Very new to this, so I'm sorry if I'm missing something super basic and obvious, I've only been learning simple mission scripting up to this point and have a little bit C++, JS, python knowledge.-
- ai spawn
- eden editor
-
(and 2 more)
Tagged with:
-
Zeus Editing Hi, My names demestos, i like making missions and recently i've been given a question about restricting zeus's to certain factions and having said units in the factions cost. I unfortunately have no enditing experience with this request and have been puzzled to find out what to do. If anyone could help me make a template sort of thing where a CSAT officer has zeus, but once opened only has access to CSAT, CSAT Pacific forces, empty assets and modules and then having units in the tabs cost. Thank you in advance and i hope to hear from someone soon! 🙂
-
okay, here is the problem, i have my own RP mission that was made for ravage with some mods in it: also running everything on dedicated server, here is my server: so the problem: after 1 hour and 6 minutes the zeus become almost broken, i can still place units and objects on map but modules dosen't work (like smoke and other) when i place them nothing happens, the icon stays on the map and that's it, only restart is helping... no RPT errors, only this one when i trying to place module 22:50:09 Cannot create object 10:313 with type[AIUnit], param[unit], NMT code[113] (not even sure if it zeus problem or note) server fps is staying on 46-50, client fps is 60+ i also tried to test the problem on vanilla map, still the same... can someone help or tell me how can i fix it? because i can't play without modules, maybe i can restart the zeus somehow? via script maybe? because i also have infistart on my server so i can run scripts via console. Maybe it's because ravage zombie module spawning a lot of zombies, i have some people who are playing on my server 6 right now and the zombie module is set to 20 zombies per player and the max amount of them is 10000 but they are despawning anyway when the player is away from the cites and other places so... not really sure. or maybe VANDEANSON APOCALYPSE is causing the problem because it's spawns a lot of assets... but i can't play without that mod because its bound with my mission, so the question is it possible to reset zeus without restarting the mission?
-
Description: This is a GUI that allows the person who executed the script to add/assign or remove/unassign Zeus to any specified player(s). Downloads & More Information: GitHub: Pastebin: Video: Steam Guide: Curator Creator Version 1.0: * New version is coming out soon. The script was broken so I am going to re-make it myself. *
-
I have the following config for a custom module. The module works fine and all but for the life of me I can't get the description to show when I double click on it in the editor. I have read again and again the (I think) quite cryptic doc. And simply can't figure it out
-
Hi! We are a bit new to Arma scripting and could use some pointers: My friend and I are working on an Escape like mission and we are wondering: - Is it possible to write a script that for each town/village the Civilian presence and BLUFOR Site module are generated when Independent players get within e.g. 1000m of that town/village? My plan (not sure it's the right one): - In Eden set out the modules with variable name defined - make triggerSpawnScript.sqf --> write å script that applies a trigger area to each town/village that is activated when Independent is within 1000m of citycenter an executes the moduleSpawnScript.sqf below - make moduleSpawnScript.sqf --> write some code that looks like this: forEach town apply "module variable name" call ["CityCenter"] BIS_fnc_locations - Do all customFiles.sqf have to be executed via the init.sqf file? Are we on correct path? or way off? thank you
-
cba Create custom EdenEditor Modules vs. CBA Settings for Addon
Vandeanson posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Gentlemen, I finally got around to turn a script collection into a addon, ready to be uploaded to steam. I however need to provide the user with a ingame/eden editor module interface so the user can adjust the settings of the script/addon before i can release the addon in order to make it customizable. E.g. disable feature 1 from spawning, increasing the amount of times feature 2 spawns, define classnames for an array and so on. I have unsuccessfully tried to wrap my head around this wiki: https://community.bistudio.com/wiki/Modules I get the example from the wiki above to work in Eden Editor, however, I get quite lost when trying to adapt this example or create a new module from scratch for my addon. What do I want to do: Let the addon user define variables in Eden Editor that will then be executed accordingly in the features of my addon according to these settings. I want to have a "module - mask" per feature that lets the user change or set variables that have so far been defined and altered in a settings.sqf. (see below spoiler) As an example for the feature that spawns Banditcamps: the below variables need to pass on as true, false or representing a number, so once a feature is executed, it can access these variables with the desired values. Ideally i am looking for a template with a few options to enter a number, and a few options for true/false and one or two to enter a string (classnames, or marker names for arrays). Any help, insights or link to alternative guides is greatly appreciated!=) cheers Vd -
bi mystery Modules Lag when Mission does not
JohnKalo posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
A few months ago we started creating a campaign. And all is good. All apart from this one thing. The modules creating tasks take aboout 0,5 to 1 minute to be completed. Actually even a module unlocking a door took 0,5 to 1 minute to be activated. In short here is the description of the situation: 1.] We are talking about high end PCs. 2.] The mission does not lag. 3.] Triggers do not lag. 4.] Task modules lag up to a minute. The task completed panel appears 0,5 to 1 minute after completion to both the host and the clients. 5.] To the host even when the task appears to be completed, the tab showing "Task Completed" also lags. The clients have no such lag. 6.] Even modules unlocking a door lags up to a minute. 7.] A script showing text at the start of the mission lags only on the host. It is a script running through the initPlayerLocal.sqf so why? 8.] Testing modules while the map is empty has no lag. The lag takes place once the mission is in its final satges of development. 9.] We are talking about missions with intros, outros and much more. 10.] Sometimes I use safety triggers because the mission refuses to place playable units in vehicles. I just place the same trigger 2 or 3 times and all good... So up to episode 04 there was not an issue. The tasks did lag but cleverly I hidded that lag. In episode 04 however I cannot hide it. So for episode 04 and the next WHAT IS GOING ON??? Addons used: CBA, ASR AI3, Hellenic Armed Forces mod, Lythium Map, Vanilla DLCs -
As from topic, I was thinking that they are almost the same but, after a little bit of testing, it seems they work in pretty different ways: - Dynamic simulation stops the simulation of units at a given distance from the player without despawning them, leaving them "freezed" until the distance with the player doesn't fall under the give threshold; - The Simulation management module doesn't only stops simulation, but it seems to despawn units until the player reduces the distance to the given threshold; when this happens units respawn exactly where they was, in the same position, and the simulation restarts normally. I'm not sure but it seems that, to enable this behaviour, you don't need to flag the same voice in the unit attributes that enables the dynamic simulation. Am I correct? I've also noticed peculiar interaction between those two features: if Dynamic simulation threshold is smaller than the Simulation manager module, it seems that - since units should spawn when simulation is stopped, they cannot spawn anymore; in the opposite situation, simulation starts even if they are not spawned and, when this happens, they have already moved (similarly to ALive VI system) but (although I'm not sure) without interacting with other units, spawned or not. Any suggestions or corrections? Thanks!
- 14 replies
-
- modules
- dynamic simulation
-
(and 1 more)
Tagged with:
-
I have been having quite a few issues with the Zeus Interface. When I first load into the mission from the start, everything loads OK and all addons are available to be placed by Zeus. However when I save & exit and resume the mission, non of the addons show in the Zeus interface... Can anybody help me with this? Getting really annoying.
-
Adding modules to spawned unit with "createUnit"
John Midnight posted a topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
Hello, I'm creating a singleplayer mission, in wich I use "createUnit" for team switch when I die. But I don't know how to synchronize modules to the created unit, in particular the High Command one. I know there is the command "synchronizeObjectsAdd", but it doesn't seems to work. I created a radio trigger with player synchronizeObjectsAdd ["AmbientCombatManager"]; but doens't seems to work. Also, I don't know the classnames of the rest of modules. Thanks in advance.