-
Content Count
311 -
Joined
-
Last visited
-
Medals
Community Reputation
146 ExcellentAbout Blackheart_Six
-
Rank
Staff Sergeant
Profile Information
-
Gender
Male
-
Location
Virginia
Contact Methods
-
Biography
US Army, 2 Armored Division.
Arma user since Arma I -
Steam url id
http://steamcommunity.com/id/blackheart_six/
Recent Profile Visitors
-
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
From Discord: Roy86Today at 7:34 AM @[AWG]Blackheart_Six Well the good news is all the bugs are fixed. I am just in the process of adding each feature back and testing as I had to rewrite the core event framework and fix the CfgTask creation. It's all working now but just adding all the features back. I've been pulling many late nights after work to get this done so we can have a good 2021 plus I added modularisation so that took some recoding too and then some -
Blackheart_Six changed their profile photo
-
Combat Service Support Script
Blackheart_Six posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
A simple script to add an action to the menu to create a combat service support vehicle at a random location on the map. //Combat Service Support //Blackheart_Six //Feel free to optimize script for the good of all mankind. //Instructions For Use: //Copy combatServiceSupport.sqf to your mission folder or scripts folder. //Place a unit and name it "sl1". //Place the following command in the init.sqf file: //call compile preprocessFileLineNumbers "combatServiceSupport.sqf"; // //RECOMMENDATIONS: Don't let everyone call the script. You'll have a server full of vehicles. Let a leader use the script. IE Squad Leader or Officer. //If you have to have unit named to a certian variable, then do a find and replace for sl1, and replace with required name. //Code by Serena (BI Forums) RemoveActionByName = { params ["_object", "_name"]; {if (_object actionParams _x select 0 == _name) exitWith {_object removeAction _x}} forEach actionIDs _object; }; level1 = { sl1 addAction [ "<t color='#FFBB00'>Combat Service Support</t>", { [sl1, "<t color='#FFBB00'>Combat Service Support</t>"] call RemoveActionByName; call level2a; call level2b; call level2c; call level2d; }, nil, -1, false, true,"", "_this == _target"]; }; level2a = { sl1 addAction ["<t color='#FFBB00'>Request Class III - Fuel</t>", { delvehs = nearestObjects [getMarkerPos "classIIIMrk", [], 10];{ if (isPlayer _x) then { hint ""} else { deleteVehicle _x}; }forEach delvehs; deleteMarker "classIIIMrk"; //Position _rndmPos1 = [[[position sl1, 3000]],["water"]] call BIS_fnc_randomPos; _pos = _rndmPos1; _radius = 500; _exp = "(1 + meadow) * (1 - forest) * (1 - trees) * (1 - hills)"; _prec = 10; _bestplace = selectBestPlaces [_pos,_radius,_exp,_prec,1]; _spot = _bestplace select 0; _spot2 = _spot select 0; //Create marker _classIIImrk = createMarker ["classIIIMrk",_spot2]; "classIIIMrk" setMarkerShape "ICON"; "classIIIMrk" setMarkerType "B_Support"; "classIIIMrk" setMarkerText "CLASS III - FUEL"; //Create Vehicle _classIIIVeh = createVehicle ["B_Truck_01_fuel_F",getMarkerPos "classIIIMrk",[],0,"NONE"]; _classIIIVeh allowDamage false; //Cleanup [sl1, "<t color='#FFBB00'>Request Class III - Fuel</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class V - Ammo</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class VIII - Medical</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class IX - Repair</t>"] call RemoveActionByName; call level1; }, nil, -1, false, true,"", "_this == _target"]; }; level2b = { //Class V - Ammunitions _L2B = sl1 addAction ["<t color='#FFBB00'>Request Class V - Ammo</t>",{ delvehs = nearestObjects [getMarkerPos "classVMrk", [], 10];{ if (isPlayer _x) then { hint ""} else { deleteVehicle _x}; }forEach delvehs; deleteMarker "classVMrk"; _rndmPos1 = [[[position sl1, 3000]],["water"]] call BIS_fnc_randomPos; _pos = _rndmPos1; _radius = 500; _exp = "(1 + meadow) * (1 - forest) * (1 - trees) * (1 - hills)"; _prec = 10; _bestplace = selectBestPlaces [_pos,_radius,_exp,_prec,1]; _spot = _bestplace select 0; _spot2 = _spot select 0; //Create Logistics marker _classVmrk = createMarker ["classVMrk",_spot2]; "classVMrk" setMarkerShape "ICON"; "classVMrk" setMarkerType "B_Support"; "classVMrk" setMarkerText "CLASS V - AMMO"; //Create Vehicle _classVVeh = createVehicle ["B_Truck_01_ammo_F",getMarkerPos "classVMrk",[],0,"NONE"]; _classVVeh allowDamage false; //Cleanup [sl1, "<t color='#FFBB00'>Request Class III - Fuel</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class V - Ammo</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class VIII - Medical</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class IX - Repair</t>"] call RemoveActionByName; call level1; }, nil, -1, false, true,"", "_this == _target"]; }; level2c = { //Class VIII - Medical sl1 addAction ["<t color='#FFBB00'>Request Class VIII - Medical</t>",{ delvehs = nearestObjects [getMarkerPos "classVIIIMrk", [], 10];{ if (isPlayer _x) then { hint ""} else { deleteVehicle _x}; }forEach delvehs; deleteMarker "classVIIIMrk"; _rndmPos1 = [[[position sl1, 3000]],["water"]] call BIS_fnc_randomPos; _pos = _rndmPos1; _radius = 500; _exp = "(1 + meadow) * (1 - forest) * (1 - trees) * (1 - hills)"; _prec = 10; _bestplace = selectBestPlaces [_pos,_radius,_exp,_prec,1]; _spot = _bestplace select 0; _spot2 = _spot select 0; //_cssPos1 = [_spot2,0,100,0,1,0.3,0] call BIS_fnc_findSafePos; //Create Logistics marker _classVIIImrk = createMarker ["classVIIIMrk",_spot2]; "classVIIIMrk" setMarkerShape "ICON"; "classVIIIMrk" setMarkerType "B_med"; "classVIIIMrk" setMarkerText "CLASS VIII - MEDICAL"; //Create Vehicle _classVVeh = createVehicle ["B_Truck_01_medical_F",getMarkerPos "classVIIIMrk",[],0,"NONE"]; _classVVeh allowDamage false; //Cleanup [sl1, "<t color='#FFBB00'>Request Class III - Fuel</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class V - Ammo</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class VIII - Medical</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class IX - Repair</t>"] call RemoveActionByName; call level1; }, nil, -1, false, true,"", "_this == _target"]; }; level2d = { //Class IX - Repair sl1 addAction ["<t color='#FFBB00'>Request Class IX - Repair</t>",{ //Removes existing objects delvehs = nearestObjects [getMarkerPos "classIXMrk", [], 10];{ if (isPlayer _x) then { hint ""} else { deleteVehicle _x}; }forEach delvehs; deleteMarker "classIXMrk"; //Create Position _rndmPos1 = [[[position sl1, 3000]],["water"]] call BIS_fnc_randomPos; _pos = _rndmPos1; _radius = 500; _exp = "(1 + meadow) * (1 - forest) * (1 - trees) * (1 - hills)"; _prec = 10; _bestplace = selectBestPlaces [_pos,_radius,_exp,_prec,1]; _spot = _bestplace select 0; _spot2 = _spot select 0; //Create marker _classIXmrk = createMarker ["classIXMrk",_spot2]; "classIXMrk" setMarkerShape "ICON"; "classIXMrk" setMarkerType "B_Service"; "classIXMrk" setMarkerText "CLASS IX - REPAIR"; //Create Vehicle _classIIIVeh = createVehicle ["B_Truck_01_repair_F",getMarkerPos "classIXMrk",[],0,"NONE"]; _classIIIVeh allowDamage false; //Cleanup [sl1, "<t color='#FFBB00'>Request Class III - Fuel</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class V - Ammo</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class VIII - Medical</t>"] call RemoveActionByName; [sl1, "<t color='#FFBB00'>Request Class IX - Repair</t>"] call RemoveActionByName; call level1; }, nil, -1, false, true,"", "_this == _target"]; }; call level1; -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
Well if you are only doing applications work, then no excuse! :-) -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
LDL, I don't think that is a fair assumption. Roy is not dabbling. That's not right. I don't have any insight to what he is doing, but I do know this...he is hand coding tens of thousands of lines of code. He is creating a framework from the ground up, by himself, all for the total cost to you and me of ZERO dollars. I have been waiting as long as anyone, and I will wait as long as it takes. Form Follows Function. If it doesn't function, then it ain't worth a hill of beans. He is programmer by trade. Do you think he wants to work all day doing software programming and coding, then come home and do more programming? I think not. -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
-
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
Update post. See above. Now when that will be, only Roy knows. -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
-
[RELEASE] Engima's Traffic Script
Blackheart_Six replied to engima's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Another item I was working on is getting patrolling insurgent units in boats. I tried using JBOY Longboat script to convert the boats, and create crews, but it just wouldn't work. So this is what I came up with for this. This will create a syndicate rhib, add crew to all positions. With this method, when the boat gets destroyed, the crew will get cleaned up as well. Additionally the position code puts the boat in deep water off shore. I am by no means a scripter, programmer, and coder. If you have a better way, more optimized please feel free to correct. I just read the biki's and guess. _pirates = [ ["SIDE", resistance], ["VEHICLES", ["I_C_Boat_Transport_02_F"]], ["VEHICLES_COUNT", 5], ["MAX_GROUPS_COUNT", 0], ["MIN_SPAWN_DISTANCE", 0], ["MAX_SPAWN_DISTANCE", 15000], ["MIN_SKILL", 0.4], ["MAX_SKILL", 0.6], ["AREA_MARKER", ""], ["ON_UNIT_CREATING",{}], ["ON_UNIT_CREATED", { private ["_centerposition","_pos","_radius","_exp","_prec","_bestplace","_spot","_spot2"]; _centerposition = [worldSize/2, worldsize/2,0]; _pos = _centerPosition; _radius = worldSize/2; _exp = "(4 * (WaterDepth interpolate [1,15,0,1]))"; _prec = 100; _bestplace = selectBestPlaces [_pos,_radius,_exp,_prec,1]; _spot = _bestplace select 0; _spot2 = _spot select 0; (_this select 0) setVehiclePosition [_spot2, [],0, "NONE"]; if (canMove (_this select 0)) then { _pirate2 = (_this select 1) createUnit ["I_C_Soldier_Bandit_1_F",(_this select 0), [], 0, "CARGO"];_pirate2 moveInCargo [(_this select 0), 2];(units _pirate2) join (_this select 1); _pirate3 = (_this select 1) createUnit ["I_C_Soldier_Bandit_1_F",(_this select 0), [], 0, "CARGO"];_pirate3 moveInCargo [(_this select 0), 3];(units _pirate3) join (_this select 1); _pirate4 = (_this select 1) createUnit ["I_C_Soldier_Bandit_1_F",(_this select 0), [], 0, "CARGO"];_pirate4 moveInCargo [(_this select 0), 4];(units _pirate4) join (_this select 1); _pirate5 = (_this select 1) createUnit ["I_C_Soldier_Bandit_1_F",(_this select 0), [], 0, "CARGO"];_pirate5 moveInCargo [(_this select 0), 5];(units _pirate5) join (_this select 1); _pirate6 = (_this select 1) createUnit ["I_C_Soldier_Bandit_1_F",(_this select 0), [], 0, "CARGO"];_pirate6 moveInCargo [(_this select 0), 7];(units _pirate6) join (_this select 1); _pirate7 = (_this select 1) createUnit ["I_C_Soldier_Bandit_1_F",(_this select 0), [], 0, "CARGO"];_pirate7 moveInCargo [(_this select 0), 7];(units _pirate7) join (_this select 1); }; 0 = [(_this select 0),"colorBlue",true,2000] execVM "Scripts\JBOY_boatRandomPatrol.sqf"; }], ["ON_UNIT_REMOVING", { }], ["DEBUG", false] ]; _pirates spawn ENGIMA_TRAFFIC_StartTraffic; -
[RELEASE] Engima's Traffic Script
Blackheart_Six replied to engima's topic in ARMA 3 - MISSION EDITING & SCRIPTING
FYI... Here is what I use to spawn civilian boat traffic. I haven't done a lot of testing on path finding, and how the boats move. But so far so good. At least this gets them on the water and moving. _civSea = [ ["SIDE", civilian], ["VEHICLES", [ "C_boat_civil_01_F", "C_boat_civil_01__boat_F", "C_boat_civil_01__rescue_F", "C_rubberboat_F", "C_boat_transport_02_F", "C_scooter_Transport_01_F" ]], ["VEHICLES_COUNT", 10], ["MIN_SPAWN_DISTANCE", 2000], ["MAX_SPAWN_DISTANCE", 5000], ["MIN_SKILL", 0.4], ["MAX_SKILL", 0.6], ["AREA_MARKER", ""], ["HIDE_AREA_MARKER", false], ["ON_UNIT_CREATING",{}], ["ON_UNIT_CREATED", { _ranPos = [nil, ["ground"]] call BIS_fnc_randomPos; (_this select 0) setVehiclePosition [_ranPos, [],50, "NONE"]; 0 = [(_this select 0), "ColorBlue",true,2000] execVM "Scripts\JBOY_boatRandomPatrol.sqf"; }], ["ON_UNIT_REMOVING", {}], ["DEBUG", false] ]; CHANGE 1: Changed position commands to not use markers. Working on using FindSafePos as well. -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
A bit, is like a yonder. It is only known to the person who utters it. "Just go down yonder, and hold it". -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
I tried. He has one. LOL! -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
@roy86 just a thought, but if your building missions, can we assume the framework is done and ready for beta test 2? Additionally are the modules i.e. vehicle depot, stand alone module? Or is there dependencies on the framework? imho and ive truly have been humbled trying to create small functions, its amazing the coding you’ve put into this. I understand the time it takes to write test rewrite and repeat that thousands of times across hundreds of files. THANK YOU! -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
Hi Roy, Can't handle watching the videos! Driving me crazy! It's looking great. Can't wait to be able to create content. Comparing to original documentation, looks very familiar. IMHO on locations, if possible... Insurgents would establish camps in forested valley areas, far from roads and urban areas to conceal smoke from fires, and overhead drone and satellite views. They would occupy steeper and narrower terrain to limit forces to maneuver in that space. NW Altis mountains is an example of that. Not sure if possible to find a location based on terrain features like valley, or draw. I've tried using BIS_fnc_findSafePos and selectBestPlaces with not much success. Just an idea... Keep up the great work. Amazing stuff in the videos. -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
If you need help with documentation I am sure there are a few, that will help out, me included. As I stated before, I am really interested in the A3 MPSF side of things. A3 MPSF could become the "combat patrol" mode we all envisioned, but BI has ignored. On a side note..... I uploaded PO3 to our group server. And it still runs like a champ. Which after 6 years since it's release is amazing! Outside of some mission issues that were known, I haven't seen any NEW issues. That is a testament to your code. After all the Arma updates, and PO3 still runs great. -
large [SP/MP][COOP] Patrol Operations - Official Thread
Blackheart_Six replied to roy86's topic in ARMA 3 - USER MISSIONS
Wow, looks great, Roy! Good insight to what your doing, and how you code it with the dev video. Glad to see event/task code structure resembles what is up in the wiki and the beta MPSF. I think that is a great system for creating missions quickly. Are you thinking of doing another beta? Looks like a lot of changes/additions since Dec. 2017 beta. Seeing all this is very exciting, but don't want to get out too far over my ski's. ⛷️ Still just around.