

o5_
Member-
Content Count
47 -
Joined
-
Last visited
-
Medals
Everything posted by o5_
-
ACC4I - Air Craft Command Control Computers Communications and Intelligence This script/mod brings enhanced situational awareness and targeting capabilities for air Craft (something I feel the game is lacking). + adds an invisible UAV to serve as the targeting pod and laser + Interactive MFD + adds ability to interact with data links in real time + adds ability to interact with sensors in real time + TGP camera can lock to position or follow pilots view + TGP cam has night vision, IR+, and IR- + Adds navigational display + TGP cam and navigational display zoom + adds ability to cycle know targets present on data link and those known to pilot (I doubt the pilot would have knowledge of targets that the sensors don't). I plan to make the latter an option you can disable + while cycling system targets the TGP will lock to the current target, if in range (currently 3km) This is very much a work in progress, but I want to share it as a proof of concept to get feedback for suggestions and help if/where needed. Right now it's a set of scripts (easily hosted on a server and remote executed for clients). When it reaches a stable and near complete state I'll package it as a mod. Controls (editable in game settings > controls > add-on settings) Ctrl+z: toggle TGP cam mode Ctrl+x: ACC4I action menu Ctrl+c: MFD interaction Ctrl+v: TGP/nav zoom out Ctrl+b: TGP/nav zoom in Ctrl+n: arm/desarm TGP laser When you climb in a Air Craft you have to initialize ACC4I with Ctrl+x *Download example mission*
-
AC-C4I - Air Craft Command Control Computers Communications and Intelligence
o5_ replied to o5_'s topic in ARMA 3 - ADDONS & MODS: DISCUSSION
Sorry gents. Should be fixed. -
ACC4I - Air Craft Command Control Computers Communications and Intelligence This script/mod brings enhanced situational awareness and targeting capabilities for air Craft (something I feel the game is lacking). + adds an invisible UAV to serve as the targeting pod and laser + Interactive MFD + adds ability to interact with data links in real time + adds ability to interact with sensors in real time + TGP camera can lock to position or follow pilots view + TGP cam has night vision, IR+, and IR- + Adds navigational display + TGP cam and navigational display zoom + adds ability to cycle know targets present on data link and those known to pilot (I doubt the pilot would have knowledge of targets that the sensors don't). I plan to make the latter an option you can disable + while cycling system targets the TGP will lock to the current target, if in range (currently 3km) This is very much a work in progress, but I want to share it as a proof of concept to get feedback for suggestions and help if/where needed. Right now it's a set of scripts (easily hosted on a server and remote executed for clients). When it reaches a stable and near complete state I'll package it as a mod. Controls (editable in game settings > controls > add-on settings) Ctrl+z: toggle TGP cam mode Ctrl+x: ACC4I action menu Ctrl+c: MFD interaction Ctrl+v: TGP/nav zoom out Ctrl+b: TGP/nav zoom in Ctrl+n: arm/disarm TGP laser When you climb in a Air Craft you have to initialize ACC4I with Ctrl+x *download mission template with scripts*
-
RscMapControl on main display not centered
o5_ posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Gentlemen, greetings again. I created a display control to mimic a MFD screen with a map/nav page with the following code... with uiNamespace do { disableSerialization; TGPMFD = findDisplay 46 ctrlCreate ["RscPicture", 89978]; TGPMFD ctrlSetPosition [ 0.69 * safezoneW + safezoneX, 0.578 * safezoneH + safezoneY, 0.31 * safezoneW, 0.415 * safezoneH ]; TGPMFD ctrlSetText "ACC4I\mfd.paa"; TGPNav = findDisplay 46 ctrlCreate ["RscMapControl", 89980]; TGPNav ctrlSetPosition [ 0.7205 * safezoneW + safezoneX, 0.619 * safezoneH + safezoneY, 0.2475 * safezoneW, 0.33 * safezoneH ]; }; I have it updating properly but I'll use this picture to describe the issue... . any ideas how I can fix this. I think I have to center the map on the center of the control.?.? Thank you! -
RscMapControl on main display not centered
o5_ replied to o5_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Thanks man. I look into using config classes. -
Move soldiers into vehicles of same group
o5_ posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
If I spawn a random group not knowing how many vehicles are in it or how many dismounted soldiers it has in it (assuming there are both), what's the easiest way (code) to mount all dismounted soldiers in vacant vehicles positions? Thanks for the help guys. Sent from my SM-G930F using Tapatalk -
Move soldiers into vehicles of same group
o5_ replied to o5_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Amazing, just what I was looking for! Thanks! -
Move soldiers into vehicles of same group
o5_ replied to o5_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hey George, thanks. I'm on my mobile and I'm having a hard time viewing the content in the link you sent. Is there a particular part that would benefit me? Again, thanks man. Sent from my SM-G930F using Tapatalk -
ai mod [Release] Vcom AI 3 - Dangerous AI
o5_ replied to genesis92x's topic in ARMA 3 - MISSION EDITING & SCRIPTING
I suggest leaving out the postInits in functions. Cfg so I, as a mission maker, have the flexibility to add enable/disable in mission parameters. Thanks@genesis92x and@Freddo3000. Love vcom Sent from my SM-G930F using Tapatalk -
Target detection methods? (Sensors overhaul)
o5_ posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Is there a way to distinguish how a target is detected? I want to list targets picked up by my aircraft sensors exclusively, not just some vehicle detected visually. For example we can list tracks tracks sent over the datalink with listremotetargets. Anything similar for local targets? Or a workaround? Thanks. Sent from my SM-G930F using Tapatalk -
Target detection methods? (Sensors overhaul)
o5_ replied to o5_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Thanks for the reply grumpy Sent from my SM-G930F using Tapatalk -
so I spend a lot of time playing arma by myself so this is something that I would enjoy. whats the best way to control the main gun as the pilot? I'll include a few ideas I had and hopefully someone can provide some insight towards a better solution. #1. private _laser = ("LaserTargetW" createVehicleLocal [0,0,0]); private _gunner = ((group player) createUnit ["B_soldier_F", [0,0,0], [], 0, "NONE"]); missionNamespace setVariable ["LASE", _laser]; missionNamespace setVariable ["GUN", _gunner]; _gunner moveInAny (vehicle player); hideObject _gunner; _gunner setSpeaker "NoVoice"; _gunner setSkill 1; _gunner disableAI "TARGET"; _gunner disableAI "AUTOTARGET"; _gunner disableAI "AUTOCOMBAT"; _gunner disableAI "FSM"; (group player) setBehaviour "COMBAT"; (group player) setCombatMode "BLUE"; [_laser,_gunner] spawn { _laser = (_this param [0]); _gunner = (_this param [1]); waitUntil { _laser setPos (AGLtoASL (screenToWorld [.5,.5])); //_gunner reveal _laser; //_gunner doTarget _laser; (not (missionNamespace getVariable "laserOn")) }; }; _gunner commandTarget _laser; or use an actual laser 2. animateSource: AH99 animateSource ["MainTurret", -rad 90]; AH99 animateSource ["MainGun", rad 30]; what do you guys think? are there better ideas or methods? thanks.
-
So as the title states I'm curious what you all think about efficiency/optimizations when it comes to writing a lengthy script/mod for a mission. My current scripted mod is AC-C4I (Air Craft Command, Contol, Computers, Communications, & Intelligence). It has to do with sensors and targeting. The scripts have a lot of "waitUntil" commands for locking the targeting camera to screenToWorld amongst other functions. What would be the most efficient way to write this/integrate it into a mission. I can write the whole thing in one file and "call compile preprocessFileLineNumbers" on init. I can create a CfgFunctions.hpp and add it to the description.ext, or I could make it an FSM. I'd love to hear from you guys. Thanks.
- 2 replies
-
- optimize
- efficiency
- (and 10 more)
-
most efficient way to intigrate scripted mod into mission
o5_ replied to o5_'s topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Thanks for the reply. I'll certainly consider your recommendations and see what I can do. Sent from my SM-G930F using Tapatalk- 2 replies
-
- optimize
- efficiency
- (and 10 more)
-
if I had the darter I could lock the camera simply by doing- _uav lockCameraTo [(screenToworld [0.5,0.5]), [0]]; and if I wanted to show an on screen PIP of the uav feed I create a camera object and place it like this- _cam attachTo [_uav, [0,0,0], "PiP0_pos"]; how can I do both of these for the pilotCamera found on planes in the new jets DLC? Thanks guys. -o5
-
how do I reference (through scripting) targets that have already been identified and tracked by the new sensors active radar? Sent from my SM-G930F using Tapatalk
-
it is. thank you so much! Sent from my SM-G930F using Tapatalk
-
Here is what I currently use.... Init.sqf: if ((not (hasInterface)) and (not (isDedicated))) then { [] spawn { waitUntil {!isNull player}; HC_init = (vehicle player); publicVariableServer "HC_init"; }; }; initServer.sqf: missionNamespace setVariable ["HCs",[]]; "HC_init" addPublicVariableEventHandler { _hc_name = (_this select 1); _hc_id = (owner _hc_name); _hcs = (missionNamespace getVariable "HCs"); _hcs set [(count _hcs), [_hc_name,_hc_id]]; missionNamespace setVariable ["HCs",_hcs]; }; as the title says, is there a more efficient way to accomplish this? Thanks.
-
Help getting 3dVector from azimuth
o5_ replied to o5_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
I know its late but I appreciate the help! I see you on the forums frequently @grumpyoldman, can you help me with my most recent question/post? its regarding registering headless clients to an array as they initialize or join. -
As the title states Im trying to get a 3d vector from an azimuth. like if my unit was facing north I could do... _azimuth = (getDir player); _vector = ([_azimuth] call fnc_azimuth_to_vector); and _vector would be [0,1,0]... Thanks. PS. I'm aware of vectorDir. I want a function to return the vector based on an azimuth or number, not object.
-
DISCUSSION/QUESTION: most efficient way to register headless clients?
o5_ replied to o5_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
The other way I was using was... { if (_x isKindOf VRENTITYCLASSNAME) then { ... }; } forEach allEntities; the only issue with this is with AI enabled if on of the virtual entities is controlled by AI and not a player (or PC) it will still show up in the list and break scripts -
DISCUSSION/QUESTION: most efficient way to register headless clients?
o5_ replied to o5_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Yes they are. And I like to make my missions with AI enabled so my scripts don't fail when looking for variables (entities). With that said I wait for the player or headless client to initialize to avoid errors. -
Adding AI sector tactic to AI spawn script waypoints
o5_ replied to LT.DANG's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Any luck with this? I'm trying to do the same thing and I've tried syncing a side logic to the SectorTactic then syncing my spawned units to the side logic, syncing directly to the SectorTactic and to the spawnAI module. Its a great idea though. EDIT: I found this in the functions viewer... private["_module"]; _module = _this param [0,objNull,[objNull]]; /*-------------------------------------------------------------------------------------------------- RUN ONCE --------------------------------------------------------------------------------------------------*/ private["_initialized"]; _initialized = missionNamespace getVariable ["bis_fnc_moduleSpawnAISectorTactic_initialized",false]; //make sure the module script runs only once if (_initialized) exitWith {}; missionNamespace setVariable ["bis_fnc_moduleSpawnAISectorTactic_initialized",true]; /*-------------------------------------------------------------------------------------------------- LOAD FUNCTIONS --------------------------------------------------------------------------------------------------*/ _path = "\A3\Modules_F_Heli\Misc\Functions\ModuleSpawnAISectorTactic\"; [ _path, "bis_fnc_moduleSpawnAISectorTactic_", [ "enableAI", "disableAI", "startFSM", "initGroup", "copyGroup", "getNearTransportVehicle", "getGrpAvgMagazines", "execWidgetFSM", "deployLocValid", "getGroupIdVar", "resetEventHandlerFlags", "adjustGear", "widgetInit", "widgetUpdate", "isVehicleArmed", "getVehicleWeapons", "vehicleHit", "splitGroup", "unstuck", "getClosestSector", "main" ] ] call bis_fnc_loadFunctions; /*-------------------------------------------------------------------------------------------------- INITIALIZE EMITTERS --------------------------------------------------------------------------------------------------*/ private["_affectedEmitters","_allEmitters"]; _affectedEmitters = [_module,["ModuleSpawnAI_F"]] call bis_fnc_synchronizedObjects; _allEmitters = allMissionObjects "ModuleSpawnAI_F"; if (count _affectedEmitters == 0) then { _affectedEmitters =+ _allEmitters; }; { if (_x in _affectedEmitters) then { _x setVariable ["useSectorTactic",true]; } else { _x setVariable ["useSectorTactic",false]; }; } forEach _allEmitters; /*-------------------------------------------------------------------------------------------------- INITIALIZE SECTORS & AREAS & TRIGGERS --------------------------------------------------------------------------------------------------*/ private["_fn_onSectorCaptured"]; bis_fnc_moduleSpawnAISectorTactic_areas = []; bis_fnc_moduleSpawnAISectorTactic_sectors = [true] call bis_fnc_moduleSector; bis_fnc_moduleSpawnAISectorTactic_sectorsWest = []; bis_fnc_moduleSpawnAISectorTactic_sectorsEast = []; bis_fnc_moduleSpawnAISectorTactic_sectorsGuer = []; bis_fnc_moduleSpawnAISectorTactic_sectorsNonWest = []; bis_fnc_moduleSpawnAISectorTactic_sectorsNonEast = []; bis_fnc_moduleSpawnAISectorTactic_sectorsNonGuer = []; bis_fnc_moduleSpawnAISectorTactic_sectorsUnknown = []; _fn_onSectorCaptured = { private["_sector","_capper","_looser"]; _sector = _this param [0,objNull,[objNull]]; _capper = _this param [1,west,[west]]; _looser = _this param [2,west,[west]]; _capperSectors = missionNamespace getVariable [format["bis_fnc_moduleSpawnAISectorTactic_sectors%1",_capper],[]]; _looserSectors = missionNamespace getVariable [format["bis_fnc_moduleSpawnAISectorTactic_sectors%1",_looser],[]]; _capperSectors = _capperSectors + [_sector]; _looserSectors = _looserSectors - [_sector]; missionNamespace setVariable [format["bis_fnc_moduleSpawnAISectorTactic_sectors%1",_capper],_capperSectors]; missionNamespace setVariable [format["bis_fnc_moduleSpawnAISectorTactic_sectors%1",_looser],_looserSectors]; bis_fnc_moduleSpawnAISectorTactic_sectorsNonWest = bis_fnc_moduleSpawnAISectorTactic_sectors - bis_fnc_moduleSpawnAISectorTactic_sectorsWest; bis_fnc_moduleSpawnAISectorTactic_sectorsNonEast = bis_fnc_moduleSpawnAISectorTactic_sectors - bis_fnc_moduleSpawnAISectorTactic_sectorsEast; bis_fnc_moduleSpawnAISectorTactic_sectorsNonGuer = bis_fnc_moduleSpawnAISectorTactic_sectors - bis_fnc_moduleSpawnAISectorTactic_sectorsGuer; }; private["_area","_sector"]; { if (true) then { _sector = _x; //setup event handler for tracking changes of the sector ownership [_sector,"ownerChanged",_fn_onSectorCaptured] call bis_fnc_addScriptedEventHandler; //get area synced with the sector _area = [_sector, "LocationArea_F", true] call bis_fnc_synchronizedObjects; if (count _area == 0) exitWith { ["[x] No valid area is linked to the sector %1!", _sector] call bis_fnc_error; }; if (count _area > 1) exitWith { ["[x] More then 1 area is linked to the sector %1!", _sector] call bis_fnc_error; }; _area = _area select 0; _sector setVariable ["area",_area]; _sector setVariable ["position",getPos _area]; _area setVariable ["sector",_sector]; bis_fnc_moduleSpawnAISectorTactic_areas set [count bis_fnc_moduleSpawnAISectorTactic_areas, _area]; }; } forEach bis_fnc_moduleSpawnAISectorTactic_sectors; //initialize gvars with sector owners private["_sector","_owner","_sectors"]; { _sector = _x; _owner = _sector getVariable ["owner","Unknown"]; _sectors = missionNamespace getVariable format["bis_fnc_moduleSpawnAISectorTactic_sectors%1",_owner]; _sectors set [count _sectors, _sector]; } forEach bis_fnc_moduleSpawnAISectorTactic_sectors; bis_fnc_moduleSpawnAISectorTactic_sectorsNonWest = bis_fnc_moduleSpawnAISectorTactic_sectors - bis_fnc_moduleSpawnAISectorTactic_sectorsWest; bis_fnc_moduleSpawnAISectorTactic_sectorsNonEast = bis_fnc_moduleSpawnAISectorTactic_sectors - bis_fnc_moduleSpawnAISectorTactic_sectorsEast; bis_fnc_moduleSpawnAISectorTactic_sectorsNonGuer = bis_fnc_moduleSpawnAISectorTactic_sectors - bis_fnc_moduleSpawnAISectorTactic_sectorsGuer; private["_area","_triggers"]; //get all triggeres and store them in areas and sectors { _area = _x; _triggers = [_area,"EmptyDetector"] call bis_fnc_synchronizedObjects; _area setVariable ["triggers",_triggers]; (_area getVariable "sector") setVariable ["triggers",_triggers]; } forEach bis_fnc_moduleSpawnAISectorTactic_areas; /*-------------------------------------------------------------------------------------------------- START THE GROUP MONITOR --------------------------------------------------------------------------------------------------*/ [] spawn bis_fnc_moduleSpawnAISectorTactic_main; anyone know how to do what LT.DANG is asking based on the code above? Thanks.- 1 reply
-
- sector tactic
- ai waypoints
-
(and 2 more)
Tagged with:
-
How does becti handle headless clients? And does it have any performance tweaks like caching or dynamic simulation? Would headless clients work on becti? Thanks guys. Sent from my SM-G930F using Tapatalk