-
Content Count
344 -
Joined
-
Last visited
-
Medals
Everything posted by thy_
-
sandbox [Release] Controlled Spawn And Waypoints Randomizr (CSWR)
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
The script and its information in the main post have been updated! Oct, 25th 2023 | v6.0: Added > Markers scan > Now CSWR knows how to sectorize spawns and destinations, so the Editor can define which groups and vehicles must consider those sectors or not; Added > Vehicles > When a vehicle's lost but its crewmen survive, if allies are close, the crew will join them, taking their mission to themselves; Fixed > Paradrop > Civilian parachuters are landing without stuck in a crouched position (panic); Fixed > Debug > Small fix about marker message's examples; Fixed > Occupy > Vehicles configured to use Occupy-move markers were able badly to try to occupy a building; Improved > Helipcoter > Besides the regular move to the waypoint, now helicopter has 33% of chance to approach the current waypoint with Seek & Destroy style; Improved > Hold > Small improvement during the hold maneuver validation when solid objects around and group leader is out of the vehicle; Improved > Hold > Civilian tracked-vehicle cannot be booked center marker position anymore as a tank or trackedAPC; Improved > Destinations > All infantry and vehicles are able to restore their waypoints (doing a new search) if they are accidentally deleted; Improved > Markers scan > Small improvements; Documentation has been updated. Now, you can force one or more groups to spawn in a specific region of the map (sectorizing the spawnpoint options) and force them to move only (or not) to a specific sector-zone too (sectorizing the destination options): Above, Eden markers' names. Above, the list of vehicles and groups of BluFor in fn_CSWR_population.sqf file. -
[Solved] enableSimulation problem.
thy_ replied to Highlander500's topic in ARMA 3 - MISSION EDITING & SCRIPTING
So a good practice here in BIS forums is to set "[SOLVED]" at the beginning of the topic title. Cheers! -
When I create blufor units in the air, and make them use parachutes to touch the ground safely, everything runs fine, but if I do the same with civilians, the civilian units get panic (guess)! The same happens if I use ZEUS to throw the civilian in the air. Their parachute is opened and, when they touch the ground, they're crouched. What I want: That civilian parachuters when on land, walk normally, in the "UP" position. My snippet: Right before the CIVILIAN unit is created in the air, falling down from 1km altitude with a parachute bag: _grp setBehaviourStrong "CARELESS"; _grp allowFleeing 0; { _x setBehaviour "CARELESS"; _x disableAI "FSM"; } forEach units _grp; After landing: { // Wait the own unit (_x) touch the ground if not yet: waitUntil { sleep 3; (getPos _x select 2) < 0.2 || !alive _x }; sleep 2; _x enableAI "FSM"; _x switchmove ""; _x setUnitPos "UP"; //_x setUnitPosWeak "UP"; } forEach units _grp; The bad result: always the civilian units are walking in a crouch, even if there's no opfor, blufor, or independent on the map. Commands I'm using: https://community.bistudio.com/wiki/setBehaviourStrong https://community.bistudio.com/wiki/allowFleeing https://community.bistudio.com/wiki/disableAI https://community.bistudio.com/wiki/setUnitPosWeak https://community.bistudio.com/wiki/setUnitPos https://community.bistudio.com/wiki/switchAction
-
civilian [SOLVED] Prevent the civilian parachuter, when landing, from walking in a crouch
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Solution: Before to landing: nothing! //_grp setBehaviourStrong "CARELESS"; <<----------------- Not needed! //_grp allowFleeing 0; <<-------------------------------- Not needed! //{ //_x setBehaviour "CARELESS"; << -------------------- Not needed! //_x disableAI "FSM"; <<----------------------------- Not needed! //} forEach units _grp; Right after landing: { // Wait the own unit (_x) touch the ground if not yet: waitUntil { sleep 3; (getPos _x select 2) < 0.2 || !alive _x }; // Restart the unit animation, forcing them to be "UP": _x switchmove ""; } forEach units _grp; It works well even civilian parachuter is under fire. 😉 -
civilian [SOLVED] Prevent the civilian parachuter, when landing, from walking in a crouch
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
The unit just ignores the setUnitPos and the setUnitPosWeak. Super wierd but I understand the civilian gets panic when is falling down. Even with Zeus in vanilla if you trow the civilian, the behavior is the same. -
sandbox [Release] Controlled Spawn And Waypoints Randomizr (CSWR)
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
The script and its information in the main post have been updated! Oct, 11th 2023 | v5.5: Added > Spawn for helicopters can be set over the ship floors or platforms in water. Check the documentation; Added > All infantry soldiers and paratroopers can get easily flashlights on their rifles when the editor desactivates their night-vision-goggles; Improved > All CSWR markers are invisible since the Briefing screen (init.sqf file has been included in project); Improved > New method (more feasible to performance) to check if destinations and spawn-points are busy before accept new groups/vehicles, avoiding accidental explosions; Improved > Loadout > New method to build custom loadouts (more flexible and intuitive); Improved > Loadout > The global options to force apply backpack and/or vest for all units now will ignore civilian faction; Improved > Hold > New method to turn the tracked vehicle to hold-marker direction even more accurate and safe (against vehicle bounces); Improved > Hold > When in debug-mode-global is TRUE with debug-hold-mode is also TRUE, now the hold-markers and its direction are visible to the Mission Editor in-game; Improved > Spawn delay > from now the spawn delay timer is configured in-minutes and not in-seconds anymore, making the Mission Editor's life easier; Improved > Loadout > Now it's possible to turn On or Off which faction will get nightvision and what nightvision device model (supports NVG from mods too); Improved > Loadout > Ue the "RANDOM" command in civilian uniform slot in loadout file to gives a random outfit for each CIV unit created by CSWR; Improved > Debug > Marker error handling has been improved; Fixed > Paradrop > If editor added a custom nightvision for paratroopers, they received it duplicated; Fixed > Paradrop > Infantry Sniper groups when got the paratroop speciality and had their backpack "REMOVED", they weren't receiving parachutes; Fixed > Loadout > When editor used the global loadout settings (CSWR_isBackpackForAllByFoot and CSWR_isVestForAll) civilians get army gears too; Fixed > Watch > Sniper group's killed before to reach their spot to watch a location, CSWR kept waiting for them inappropriately; Fixed > Helicopters > They weren't spawn in the same direction defined through the Eden spawn-markers; Fixed > Wheeled APC and tracked APC crewmen were not receiving custom crew helmet; Removed > Civilian faction cannot move to anywhere ("_move_ANY" instruction) like a soldier, from now it's been limited to public markers ("_move_PUBLIC"); Documentation has been updated. Now, to set night-vision-googles or flashlights for one or more faction is easier: Units with flashlights if they are not allowed to use night-vision-goggles: Documentation even more detailed: All loadout customization has been reworked: -
[Solved] enableSimulation problem.
thy_ replied to Highlander500's topic in ARMA 3 - MISSION EDITING & SCRIPTING
so, is it solved? -
What's Zeus airdrop parachute classname? By the way, even checking the "config" prompt in-game, I couldn't find any clue about this huge static chute classname. Looking only at the official Arma 3 content, I got only the small one (Steerable_Parachute_F). I have checked the A3_jets functions to figure out some but nothing was found. If you can explain how works your investigation to find this kind of asset, it would be very much appreciated. EDIT: the answer is "B_Parachute_02_F" This effect happens when you, in-game, drap a vehicle and drop it in the air with Zeus allowed.
-
parachute [SOLVED] What's Zeus airdrop static parachute classname?
thy_ replied to thy_'s topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
❤️ Unit parachutes (working fine): NonSteerable_Parachute_F Steerable_Parachute_F Doesn't work (anymore?): B_Parachute <---------------- No visible parachute and whoever is using it will get stuck in the air. (???) B_B_Parachute_02_F <---------------- No visible parachute and whoever is using it will get stuck in the air. (???) B_I_Parachute_02_F <---------------- No visible parachute and whoever is using it will get stuck in the air. (???) B_O_Parachute_02_F <---------------- No visible parachute and whoever is using it will get stuck in the air. (???) blablabla_example_invalid_classname <---------------- No visible parachute and whoever is using it will fall down. Vehicle parachutes (working fine): B_Parachute_02_F <---------------- This one is exactly what I was looking for. I_Parachute_02_F <---------------- This one is exactly what I was looking for. O_Parachute_02_F <---------------- This one is exactly what I was looking for. -
parachute [SOLVED] What's Zeus airdrop static parachute classname?
thy_ replied to thy_'s topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hard task, huh? 😅 -
visual studio [VS CODE] Tutorial: how to config VS Code for Arma 3 (2024)
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Included the line below (already in the main post) setting a good delay to avoid at most (without losing the feature) that pop-up with a lot of info when we hover a variable with the mouse. "editor.hover.delay": 2500 // default is 300. -
sandbox [Release] Controlled Spawn And Waypoints Randomizr (CSWR)
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
HOTFIX! Main post updated! Sep, 18th 2023 | v5.1 Fixed > CRITICAL > In CSWR v5.0, all AI groups were stuck after the first waypoint to be completed; Fixed > Hold > In CSWR v5.0 the tracked-vehicles accidentaly stopped to execute correctly the hold-maneuver; Improved > Performance > BIS_fnc_spawnGroup method has been replaced by a saver server performance method; Improved > Performance > BIS_fnc_spawnVehicle method has been replaced by a saver server performance method; Improved > Paradrop > Paratroopers are executing the paradrop with much more space among each other (visual realistic); Improved > Paradrop > Paratroopers are regrouping with their leaders after the landing and before the first mission move on the field; Improved > Loadout > Paratroopers can receive helmet and nightvision customization separately from the regular faction loadout; Improved > Vehicles > Now it's possible turn off the Electronic Warfare Resources for vehicles of each faction in fn_CSWR_management.sqf file; Improved > Vehicles > UAV vehicles are blockers too if around the helipads if some helicopter will spawn; Documentation has been updated. -
sandbox [Release] Controlled Spawn And Waypoints Randomizr (CSWR)
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
The script and its information in the main post have been updated! Sep, 13th 2023 | v5.0: Added > All factions can spawn helicopters (cswr_spawnheli_faction_1); Added > All factions can be spawned by Air Paradrop, including vehicles (cswr_spawnparadrop_faction_1); Added > Special customization for AI units executing the Air Paradrops; Added > Exclusive Spawns for helicopters have automatic insertion of helipads (ON/OFF); Improved > Each spawn-point-type has a list of AI group-type allowed to spawn there; Improved > Hold-move markers now delete all small stones around them to preserve tracked-vehicles maneuver integraty; Improved > Loadout customization received deeper and friendly debug messages; Improved > Vehicles will spawn facing super accurate the same direction set in their spawn-markers in Eden; Fixed > Main CSWR script folder name on GitHub was accidentaly named as .VR instead of .STRATIS; Fixed > A faction group shouldn't spawn in another faction spawn-points if the Mission Editor would force it; Fixed > If snipers didn't find out spots to prone, the WATCH_MOVE wasn't restarting properly; Fixed > Since the last update (v4.5), loadout customization stops to recognize the "removed" instruction when in lowcase; Fixed > Debug > Hold-move should have [1800,3600,7200] as minimal range of time, and not [1800,7200,10800]; Fixed > Debug > Watch marker minimal range should be 1000, and not 500; Documentation has been greatly updated. Now there are Paradrop spawns for soldiers and vehicles: And another news is the possibility to spawn helicopters. The light classes will fly by default at 150 meters high. The heavy classes will fly over 300 meters: Enjoy! -
Hey you from the future, if you are like me that want the parachute (activated/opened) classname itself = "Steerable_Parachute_F" And even more options: Almost 10 years later 😉 Cheers.
-
Guys, dudes, folks, Can you help me to make my function a little bit more elegant to save server performance? I feel my snippet is not even a good way to do this: I want to call a function that will check an array of a couple of classnames (it should be only vehicles BUT mission editors can make mistakes). So, to verify this, the function will analyze if each classname corresponds to some of those object types. Calling: _itShouldBeOnlyVehiclesClassnames = ["B_G_Offroad_01_armed_F", "B_Soldier_F", "B_Heli_Light_01_dynamicLoadout_F"]; _isValid = [_itShouldBeOnlyVehiclesClassnames, ["Car", "Motorcycle", "Tank", "WheeledAPC", "TrackedAPC", "Helicopter"]] call TAG_fnc_is_valid_classnames_type; if _isValid then { /* a lot of things happen! */ }; The function itself: TAG_fnc_is_valid_classnames_type = { // This function checks if each classname in an array is one of the classname types allowed to be valid. // Returns _isValid. Bool. params ["_classnames", "_allowedTypes"]; private ["_isValid", "_classnamesOk", "_classnamesAmount", "_eachAllowedType"]; // Initial values: _isValid = true; _classnamesOk = []; // Declarations: _classnamesAmount = count _classnames; // Main function: { _eachAllowedType = _x; { // If the classname is an allowed type, include this valid classname in another array: if ( _x isKindOf _eachAllowedType ) then { _classnamesOk pushBack _x }; } forEach _classnames; } forEach _allowedTypes; // If there's difference between the size of both arrays, it's coz some classname is not an allowed type: if ( count _classnames isNotEqualTo count _classnamesOk ) then { // Update the validation flag: _isValid = false; }; // Return: _isValid; }; Small challenge: Print out an error message indicating exactly which classname(s) is/are not part of the "allowed type of objects".
-
sandbox [Release] Controlled Spawn And Waypoints Randomizr (CSWR)
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
@jandrews one of your requests is done! Enjoy! The script and its information in the main post have been updated! 🙃 Sep, 5th 2023 | v4.5: Added > Now the spawn points can be triggered by Timer delay, Trigger delay, and Target delay; Fixed > Occupy and Hold debug messages had a wrong trigger for the minimal value message alert; Fixed > When using Occupy-move the units had their speed behaviors badly replaced by the waypoint speed (always as "normal" instead of editor choices); Improved > If Occupy or Watch moves are used with vehicles (not allowed), now the vehicles and their crewmen are correctly deleted, leaving a warning message for the editor; Improved > Many debug improvements to fn_CSWR_population.sqf feedbacks and auto-fixing; Documentation has been updated (Tomorrow, actually)! Aug 2023 / @aldolammel / thy 😜 -
isnil [SOLVED] How to ignore with no errors on screen an inexistent object inside an array?
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
That's it! Thanks 😉 -
Hi there. Kind of basic stuff but my brain today is not hooking me up: I need to verify possible inexistent objects in an array: // Soldiers that Editor has been dropped and named through the Eden: _targetsOnEden = [varname_1, varname_2]; // Loop for check if some soldier doesn't exist: { if ( _x isEqualTo objNull ) exitWith { systemChat "One or more soldiers don't exist" }; } forEach _targetsOnEden; But the error prints out saying "Error undefined variable in expression: _x" for some reason. All I need is to print that systemChat out without any game errors on screen.
-
isnil [SOLVED] How to ignore with no errors on screen an inexistent object inside an array?
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
I am on the road now. Sunday or Monday i will check it out! Thanks, @Larrow! -
Are there smarter ways to know if my object is a trigger OR a visible object that can be killed/destroyed? My current solution looks not fancy at all, but works: // If the object is a trigger, when triggerActivation command is used, it returns this array: [by, type, repeating] if ( count (triggerActivation _myObject) == 3 ) then { systemChat "The obj is a trigger!"; } else { // If the object is a unit or a building or vehicle, triggerActivation command will return an empty array: [] systemChat "The obj is a visible object that can be destroyed or killed!"; }; Wiki of triggerActivation. Wiki of count.
-
iskindof [SOLVED] How to know if the object is a trigger or a visible object that can be destroyed?
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
@Harzach I am developing a new feature for the CSWR Script where it will be possible to SPAWN new AIs when one or more triggers are activated in-game. Also, the feature will bring another method to SPAWN new AIs through target elimination. That's why I need that snippet. -
iskindof [SOLVED] How to know if the object is a trigger or a visible object that can be destroyed?
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
i swear, I was coming here to say the same! hahaha! Thanks, ma man! -
iskindof [SOLVED] How to know if the object is a trigger or a visible object that can be destroyed?
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
@Harzach and @pierremgi My go with BIS_fnc_objectType didn't work well: _triggers = [trg_1, trg_2, ...]; // it's composed ONLY by varnamed triggers on the map. _targets = [tgt_1, tgt_2, ...]; // it's composed by many varnamed objects on the map that can be killed or destroyed. // selecting just trigger_1: if ( ((_triggers # 0) call BIS_fnc_objectType # 1) == "Trigger" ) then { // <<----- Unfortunately, it returns "UnknownObject" systemChat "It's a trigger for sure!"; //<Code for New AI Spawn by Trigger Activation Method> } else { systemChat "It's a soldier or building, basically!"; //<Code for New AI Spawn by Target Elimination Method> }; For now, I am using this format ( it's working) // <code> // Selecting just trigger_1: if ( typeOf (_spawnDelayCond # 0) in ["EmptyDetector", "EmptyDetectorAreaR50", "EmptyDetectorAreaR250", "EmptyDetectorArea10x10"] ) then { // <code> } else { // <code> }; -
iskindof [SOLVED] How to know if the object is a trigger or a visible object that can be destroyed?
thy_ replied to thy_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hey, @Harzach // Context _myObject is a trigger dropped on Eden: systemChat str (typeOf _myObject); // returns "EmptyDetectorAreaR50" Will triggers be always "EmptyDetectorAreaR50" or are there other classname variations for triggers (different shapes, sizes, settings...)? (I'm testing right now...) -
Yep, like the old fashion (before Arma 2.06). If the vehicle has no variableName but you have an identified (e.g.) group of soldiers inside, and you wanna delete the vehicle and its crewmen, they must be deleted in this way: // Context: // - You got a soldiers group called (variable name) "_grpOfSoldiers". // - The _grpOfSoldiers is inside a vehicle (without variablename itself). // First, delete the vehicle of _grpOfSoldiers leader: deleteVehicle (vehicle leader _grpOfSoldiers); // Last, delete the vehicle crew (not including players if there's some in _grpOfSoldiers): { deleteVehicle _x } forEach (units _grpOfSoldiers); // P.S.: the order of the line above is crucial for the delete command to work. If you delete // the named group first and, after that, you'd try to delete the "vehicle _grpOfSoldiers", // as the _grpOfSoldiers wouldn't exist anymore, it would print out an error. If the vehicle has variableName but the crewmen have not: // Context: // - You got a vehicle called (variable name) "_myVeh1". // - Inside _myVeh1 vehicle there is a group of soldiers (crew, without variablename itself). // First, delete the vehicle crewmen (not including players if there's some in the vehicle): deleteVehicleCrew _myVeh1; // Last, delete the vehicle itself: deleteVehicle _myVeh1; // P.S.: the order of the line above is crucial for the delete command to work. If you delete // the named vehicle (_myVeh1) first and, after that, you'd try to delete the unnamed crewmen, // as the vehicle _myVeh1 wouldn't exist anymore, it would print out an error.