champ-1 40 Posted March 29, 2015 (edited) CH Mobile Headquarters v0.91 Download from Dropbox Download on Armaholic Description:This script modifies certain vehicles for use as a mobile headquarters. In other words it allows to teleport from the object at the base to one of the HQ vehicles deployed on the map. For now it supports these vehicles:- HEMTT Transport- Tempest Transport- Zamak Transport (CSAT)- Zamak Transport (AAF)- Truck (FIA)But you can configure any vehicle for use with this script. (see section "for advanced users")Features:- HQ composition for every faction- any action (Arsenal, VAS) can be attached to any object in composition- customizable HQ and cargo objects- immersive HQ deployment- can work with any custom vehicles and objects- different map markers for mobile and deployed HQ- immersive teleport to HQ- supports multiple HQs at a timeInstallation: 1. Copy "CHHQ.sqf" into your mission folder. 2. Place any object (for example: map or flag) in editor that will be used to teleport to HQ. 3. Add following code in that object init line: null = [this, SIDE] execVM "CHHQ.sqf" Where SIDE is the name of the side (west, east or resistance) MHQ belongs to. 4. Place one of the supported vehicles in editor. 5. Add following code to the init line of that vehicle: null = [this, SIDE (optional)] execVM "CHHQ.sqf" Where SIDE is the name of the side (west, east or resistance) this MHQ will belong to. If SIDE is left empty, default vehicle side is used. 6. (Optional) Add the following code in your "init.sqf" if you wish enable or disable map markers for HQs: CHHQ_showMarkers = false; // Set 'true' if you want real time map markers for all HQs on your side. (Default: true) For advanced users: You can add your own presets and edit existing ones for any HQ vehicle. Go to the bottom of the "CHHQ.sqf" and find line: switch (toLower typeOf _obj) do { Under this line are stored blocks of code with configuration of every supported vehicle. For example: case ("b_truck_01_transport_f"): { // Type of HQ vehicle this configuration is used for. Warning: use only lower case letters! _composition = [ // Array of arrays that contains object composition for deployed HQ [ "Land_Cargo20_grey_F", [4.11963,-0.677246,0.0971179], 271.612, {_this animate ["Door_1_rot",1]; _this animate ["Door_2_rot",1]} // executed localy on every PC ] ]; _cargoInfo = [ // Array that contains information about cargo attached to HQ "Land_Cargo20_grey_F", [0.045,-2.31,1.15], 270, "_this setVariable ['bis_disabled_Door_1',1]; _this setVariable ['bis_disabled_Door_2',1]" // executed localy on every PC ]; [_obj, _side, _cargoInfo, _composition] call CHHQ_fnc_startingSetup; // Function that starts this script }; _composition: Array of Arrays in format: String - type of object Array - offset from HQ Scalar - relative direction from HQ String or Code - init code for the object. Special variables passed to the script code are _target (HQ vehicle) and _this (object itself). _cargoInfo: Array in format: String - type of object Array - offset from HQ Scalar - relative direction from HQ String or Code - init code for the object. Special variables passed to the script code are _target (HQ vehicle) and _this (object itself). To create your own object composition you can use my function below. Place in editor (preferably on an empty VR map) vehicle you would like to create composition for. Add some objects around it (you can use Zeus for that). Get in that vehicle and run this function: CHHQ_fnc_getComposition = { _radius = _this select 0; _veh = if (vehicle player isEqualTo player) then {objNull} else {vehicle player}; if (isNull _veh) exitWith {systemChat "You need to be inside the vehicle to grab object composition around it."}; _objArray = []; _vehPos = getPosASL _veh; _vehDir = getDir _veh; { if (_x != _veh && !(_x isKindOf "Man")) then { _type = typeOf _x; _offset = [_vehPos, getPosASL _x] call BIS_fnc_vectorDiff; _rotVector = [_offset, _vehDir] call BIS_fnc_rotateVector2D; _dirOffset = (getDir _x) - _vehDir; _objArray pushBack [_type, _rotVector, _dirOffset]; }; } forEach nearestObjects [_veh, ["all"], _radius]; copyToClipboard str _objArray; }; [15] call CHHQ_fnc_getComposition; // radius in meters from vehicle to grab objects Object composition will be copied in your clipboard. Videos: Changelog:v0.91- added: ability to execute code for every object in composition (for more information read section "for advanced users")- added: algorithm to measure object composition size and check for suitable conditions only in that radius- changed: removed dummy unit inside deployed HQ until (forever?) I learn how to make him invisible and stop from getting out of the vehicle- fixed: marker names not having a proper ID- fixed: disabled simulation for some objects in compositionv0.9- beta releaseDownload Edited April 6, 2015 by Champ-1 1 Share this post Link to post Share on other sites
Guest Posted March 29, 2015 Release frontpaged on the Armaholic homepage. CH Mobile Headquarters v0.9 ================================================ We have also "connected" these pages to your account on Armaholic. This means soon you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have. When you have any questions already feel free to PM or email me! Share this post Link to post Share on other sites
alexgardien5 6 Posted March 29, 2015 Great script really like it :D But there is a problem when the vehicle respawn its no longer a MHQ vehicle just a normal truck... Share this post Link to post Share on other sites
champ-1 40 Posted March 29, 2015 Great script really like it :D But there is a problem when the vehicle respawn its no longer a MHQ vehicle just a normal truck...Well obviously. Because it's not the same vehicle.Some respawn scripts have an option to execute code on vehicle respawn, you can add [this] execVM 'CHHQ.sqf' there and it should work fine. Share this post Link to post Share on other sites
ice_age0815 37 Posted March 29, 2015 Nice work bin messing around this it and try to spwan an rhs ammo box for us side but the virtual ammo box is not working any ideas ? Share this post Link to post Share on other sites
champ-1 40 Posted March 30, 2015 Nice work bin messing around this it and try to spwan an rhs ammo box for us side but the virtual ammo box is not working any ideas ?You mean Arsenal?My guess is that when you place object in editor it has different process of initialization from when you spawn it with command. In other words: I DUNNO LOL Share this post Link to post Share on other sites
ice_age0815 37 Posted March 30, 2015 Damn thanks for the info any idea how to fix this Share this post Link to post Share on other sites
champ-1 40 Posted March 30, 2015 Damn thanks for the info any idea how to fix thisI might add some virtual ammo box feature in the future. Although I don't see much point in that. You teleporting from base to HQ you just got all ammo and weapons at the base. Why would you need more at the HQ? Share this post Link to post Share on other sites
ice_age0815 37 Posted March 30, 2015 I KNOW WHAT YOU MEAN BUT TRY TO build this in to a mission so when you die you can start at different spwan points and when you start at mhq would be nice to have the ammo box there Share this post Link to post Share on other sites
hydrobull3t 13 Posted March 30, 2015 Maybe i answered my question but, logically it is compatible with MP? I KNOW WHAT YOU MEAN BUT TRY TO build this in to a mission so when you die you can start at different spwan points and when you start at mhq would be nice to have the ammo box there There is no need in this as Champ Said Share this post Link to post Share on other sites
Jastreb 69 Posted March 30, 2015 This is great and thanks for sharing it. However I seem to have a problem with certain objects. I was trying to create very advanced HQ, well more like a FOB, so I have spent a lot of time building. I have used MCC and Zeus, cause sometimes one of them is just not enough. In the end I use your function to generate a composition and ended up with this: [["HouseFly",[2.20801,-2.77197,2.13987],332.548],["HoneyBee",[-1.8501,-3.80566,0.698578],90.1849],["HouseFly",[3.20483,-4.96436,1.83639],84.0151],["HoneyBee",[0.131836,-1.29834,0.573361],212.148],["Oil_Spill_F",[2.41821,-2.12646,0.124091],178.645],["HouseFly",[-1.48145,-6.24048,2.16958],281.517],["ButterFly_random",[3.18115,-6.34546,0.147679],296.454],["ButterFly_random",[3.62866,-1.97583,0.583371],190.194],["B_Truck_01_Repair_F",[0,0,0],0],["HouseFly",[3.85596,-1.38086,1.89677],331.981],["HoneyBee",[-3.46094,-2.89209,0.458437],316.015],["Land_TTowerSmall_1_F",[1.89038,-8.44263,0.124091],178.645],["TF_NATO_Radio_Crate",[4.6355,-7.34351,0.099093],178.595],["HoneyBee",[6.08472,-4.95972,0.507335],112.188],["HouseFly",[-2.19043,0.732422,1.82737],135.612],["HouseFly",[5.12646,-7.89111,1.16623],161.094],["Land_HBarrierBig_F",[-4.47852,-1.38086,-0.146642],270.668],["HoneyBee",[3.29736,-9.70313,0.461686],118.543],["HouseFly",[0.838379,-10.4756,1.61881],113.42],["Land_Leaflet_04_F",[4.44653,-9.25513,1.44228],82.5485],["Land_HBarrierBig_F",[-4.46362,-0.0490723,0.124091],269.705],["Land_PCSet_01_screen_F",[4.87476,-9.15234,0.0534067],130.108],["HouseFly",[2.40601,-10.4524,1.78818],112.196],["Land_HBarrierBig_F",[-5.10669,-7.94556,-0.010169],270.668],["Mosquito",[2.01685,2.33423,0.985028],41.5494],["Land_HBarrierBig_F",[-4.41455,-8.37817,0.124091],270.467],["HouseFly",[5.64771,-8.63867,1.55979],241.324],["Land_Cargo_House_V3_F",[6.98438,-7.67749,0.124091],359.166],["OfficeTable_01_new_F",[4.91309,-9.47607,0.0990925],90.5304],["Item_FirstAidKit",[4.93652,-9.65552,0.124108],178.645],["Mosquito",[4.92578,-9.79224,1.12723],339.258],["Land_TacticalBacon_F",[4.77759,-9.97656,0.879985],178.731],["Land_PCSet_01_case_F",[4.8833,-9.95825,0.0990858],89.4273],["HoneyBee",[-6.19238,-6.74658,0.482352],148.11],["HouseFly",[7.17212,-7.88818,1.93985],79.0445],["Land_Graffiti_02_F",[7.94922,-6.39038,1.84769],1.85938],["Land_OfficeCabinet_01_F",[4.76611,-10.6641,0.099133],355.795],["Land_OfficeChair_01_F",[5.84619,-10.2996,0.0990939],308.684],["HoneyBee",[-7.26416,-5.4043,0.420335],39.1662],["Land_Pallet_MilBoxes_F",[8.24341,-7.46484,0.131279],359.913],["HoneyBee",[9.04639,-5.12915,0.370598],331.418],["Land_MapBoard_F",[7.22852,-10.2676,0.0968647],331.444],["Land_HBarrierBig_F",[-1.25562,-13.7913,0.0187016],181.054],["Land_HBarrierBig_F",[-1.18726,-13.6331,0.124091],180.626],["Land_PaperBox_open_full_F",[8.4751,-9.76099,-0.00475693],359.913],["Land_HBarrierBig_F",[7.18457,-13.874,-0.0496759],181.054],["Land_HBarrierBig_F",[7.21753,-13.5759,0.124091],180.626],["ButterFly_random",[11.5613,0.400391,0.13834],254.106],["Land_HBarrierBig_F",[-4.39575,7.177,-0.144029],270.668],["Land_HBarrierBig_F",[-4.44897,8.2561,0.124091],271.217],["Land_HBarrierBig_F",[12.6018,-10.3816,0.424091],270.558],["Misc_cargo_cont_net3",[2.66968,9.35181,1.62409],180.91],["Land_HBarrierBig_F",[12.6001,-11.1089,-0.14962],270.558],["Misc_cargo_cont_net3",[2.56396,9.42163,0.124091],180.91],["Misc_cargo_cont_net3",[-0.558594,9.46143,1.62409],180.91],["Misc_cargo_cont_net3",[-0.605469,9.49097,0.124091],180.91],["Misc_cargo_cont_net3",[5.76392,9.3064,0.124091],180.91],["PowGen_Big_EP1",[14.6819,-2.39844,0.124091],88.0809]] Housefly, HoneyBee and Mosquito? I have used some object that came form mods, such as AIATP and RHS, TFAR, but I have no idea why would some objects be recognized as bugs? Could it be that those objects are with scope=1 ( private ) or this script cant get classnames from mods? Here is how my deployed HQ ( FOB ) should look like. But when I deploy it here is what I get. Two trucks instead of one, and they spawn one of top another causing them to both blow up, the hesco bag fence is missing, at least half of it is, and its missing Z coordinate ( not one on top of another, they are all on ground, the HQ container house spawns rotated 180, and all of the furniture inside is thrown out. So, what do I need to add to your grabber function in order to achieve what I want? Also ammobox idea is fine, it just needs to be added trough the code t the cargo space of the truck and need a initialization code for virtual arsenal. https://community.bistudio.com/wiki/Arsenal Share this post Link to post Share on other sites
champ-1 40 Posted March 30, 2015 Housefly, HoneyBee and Mosquito? I have used some object that came form mods, such as AIATP and RHS, TFAR, but I have no idea why would some objects be recognized as bugs? Could it be that those objects are with scope=1 ( private ) or this script cant get classnames from mods? Flies are fine, they are spawned by the game near houses and trees and some other objects. You can filter them or just ignore. Two trucks instead of one, and they spawn one of top another causing them to both blow up, the hesco bag fence is missing, at least half of it is, and its missing Z coordinate ( not one on top of another, they are all on ground, the HQ container house spawns rotated 180, and all of the furniture inside is thrown out. For my function to work properly you need to sit in the HQ truck, I'm guessing you didn't do that? the hesco bag fence is missing, at least half of it isFor now this function copies objects around truck in radius of 15 meters. That's because when you deploy HQ it checks for empty and flat terrain around HQ. You may have troubles finding flat and empty land for such a big FOB you've build._MaSSive, I called that category "for advanced users" for a reasons. You have to understand what you are doing. Post you mission with object composition here. Will see what's up with it. Share this post Link to post Share on other sites
Jastreb 69 Posted March 30, 2015 (edited) Figured out about the double truck part, I had to remove the actual truck from composition. Now that part works fine. Still Hesco bags are not how I set them, and I ran the function from debug console while being inside the truck. Will attach the missions soon. Here is the mission > Dropbox link I have removed the housefly's, mosquitoes and other pests from array, increased scan range to 100 ( dont care about Altis and Stratis I dont play on them ) and from what I have is that all objects are there, but they seem to be flipped for 180 degrees ( not a problem Ill fix that in the grabber function, or you do it ) and still object place on top of each other dont work. Its missing Z coordinate, so I guess Ill have to add that to the grabber function. There is no Z ATL offset, and that is why ( I think ) landbags spawn all on the ground. Note: You will need AIATP, TFAR and AGM possibly to run this mission. Place it in %userprofile%\Documents\Arma 3 - Other Profiles\**Your_Nickname**\MPMissions and run it from MP editor. Edited March 30, 2015 by _MaSSive Share this post Link to post Share on other sites
champ-1 40 Posted March 30, 2015 I think you uploaded wrong mission. There are only two objects on the map. ---------- Post added at 18:11 ---------- Previous post was at 18:07 ---------- increased scan range to 100 ( dont care about Altis and Stratis I dont play on them )It's not only limitation of this function that grabs object composition, but of the CHHQ script iteself. If your FOB composition bigger then 15 meters in radius, some objects may end up inside houses, rocks, trees, etc. Because they are spawned outside of the range that checked for empty terrain. Share this post Link to post Share on other sites
Jastreb 69 Posted March 30, 2015 (edited) Its not wrong mission. Go ahead and deploy HQ. If you want composition is SQM format I can give you that. And Im just now trying to use getPosATL and 100m range. Ill see where it gets me. PS: Pls forgive me I forgot that you need RHS Escalation also. Missions.sqm Edited March 30, 2015 by _MaSSive Share this post Link to post Share on other sites
champ-1 40 Posted March 30, 2015 (edited) Dude, you saying you cant grab compisition correctly from placed objects and then you give me that wrong composition. Why would I need that? I asked you for your FOB placed in editor, but whatevs. Fixed couple things, try it now: CHHQ_fnc_getComposition = { _radius = _this select 0; _veh = if (vehicle player isEqualTo player) then {objNull} else {vehicle player}; if (isNull _veh) exitWith {systemChat "You need to be inside the vehicle to grab object composition around it."}; _objArray = []; _vehPos = getPosASL _veh; _vehDir = getDir _veh; { if (_x != _veh && !(_x isKindOf "Man")) then { _pos = getPosASL _x; _dir = getDir _x; _type = typeOf _x; _offset = [ (_vehPos select 0) - (_pos select 0), (_vehPos select 1) - (_pos select 1), (_pos select 2) - (_vehPos select 2) ]; _diroffset = _dir - _vehDir; _objArray pushBack [_type,_offset,_diroffset]; }; } forEach nearestObjects [_veh, ["all"], _radius]; copyToClipboard str _objArray; }; [15] call CHHQ_fnc_getComposition; // radius in meters from vehicle to grab objects Edited March 30, 2015 by Champ-1 Share this post Link to post Share on other sites
Jastreb 69 Posted March 30, 2015 Whatever "dude". I gave you right composition I have no idea what are you talking about. Its not like BI has a 3D editor, I gave you MCC grabbed missions.sqm. getPos wont work right, you need to use getPosATL or ASL, but I see you did that. Now it works with Y offset. CHHQ_fnc_getOffset = { _veh = if (vehicle player isEqualTo player) then {nearestObject [player, "allVehicles"]} else {vehicle player}; _objArray = []; _vehPos = getPosATL _veh; _vehDir = getDir _veh; { if !(_x isEqualTo _veh && _x isEqualTo player) then { _pos = getPosATL _x; _dir = getDir _x; _type = typeOf _x; _offset = [(_pos select 0) - (_vehPos select 0),(_pos select 1) - (_vehPos select 1),(_pos select 2) - (_vehPos select 2)]; _diroffset = (_dir + 180 - _vehDir) % 180; _objArray pushBack [_type,_offset,_diroffset]; }; } forEach nearestObjects [player, [], 100]; copyToClipboard str _objArray; }; With this I was able to grab what I wanted, Ill try getPosASL with your updated script and Ill tell you how it went. Of cousre this is pretty much demanding what I am doing. Average Joe wont need this, so your script will work nicely. Just add killed MHQ notification, and remove all other remaining composition objects after XX seconds MHQ is killed, not to clutter the server. Perhaps add ammobox with VA in the truck. FOB or MHQ, every forward outpost must have supplies. Without it its not FO. Share this post Link to post Share on other sites
champ-1 40 Posted March 30, 2015 Whatever "dude". I gave you right compositionIn the second post, yes.I have no idea what are you talking about.Obviously you have an idea :DUpdated function above. Nothing is fliped now. Check it out. ---------- Post added at 19:16 ---------- Previous post was at 19:12 ---------- Just add killed MHQ notification, and remove all other remaining composition objects after XX seconds MHQ is killed, not to clutter the server.All objects spawned by HQ removed when HQ is removed. You can add any notifications you like outside of this script. Some respawn scripts already have such notifications.Perhaps add ammobox with VA in the truck. FOB or MHQ, every forward outpost must have supplies. Without it its not FO.Lol dude, it's just an "immersive" way to teleport from base. It's not like its real HQ or anything :D---------- Post added at 19:31 ---------- Previous post was at 19:16 ---------- By the way, really cool FOB (although I didn't see any moded objects), I hope it works on rugged terrain. Share this post Link to post Share on other sites
Jastreb 69 Posted March 30, 2015 You are evil you know? It works, and thanks for the help I guess. Respawn, ammobox with VA, notification and all other parts will work for me with NSLVR script from Larrow. I wont bugg you with it. This is intended to work on Fallujah, Takistan, Sahrani and Rahmadi, we dont play on Stratis and Altis. Ill make another composition with light FO, which will be about 20m in radius. This one is not actually 100m I just used 100 to be on the safe side. Its 50 perhaps. Anyways thanks for the script, now it works wonderful. Will need a playtest on dedicated server, so I guess I let you know if it has any other issues. Cheers. Share this post Link to post Share on other sites
twisted 128 Posted March 31, 2015 (edited) really nice script. Thanks 2 things. is it MP compatible? and sometimes get messgae that the HQ cantt be delployed here. be good to have info in that message as to why. Edited March 31, 2015 by twisted Share this post Link to post Share on other sites
Moon_chilD 200 Posted April 2, 2015 I experienced yesterday that it is not really MP compatible. We had some bugs: 1. Its not JIP compatible 2. For some people it bugs around. The Box from the MQH disappears. Some can't open the container door. Sometimes it does not move for some people even tough it is been driven.... Share this post Link to post Share on other sites
champ-1 40 Posted April 2, 2015 (edited) I experienced yesterday that it is not really MP compatible. We had some bugs: 1. Its not JIP compatible 2. For some people it bugs around. The Box from the MQH disappears. Some can't open the container door. Sometimes it does not move for some people even tough it is been driven.... I'll double check it again, but last time I checked everything worked in MP.Sometimes it does not move for some people even tough it is been driven.... This doesn't seems like its a bug with the script. Maybe you have major desync on server? ---------- Post added at 15:48 ---------- Previous post was at 15:44 ---------- is it MP compatible?I thought so. :Dand sometimes get messgae that the HQ cantt be delployed here. be good to have info in that message as to why.There is always two reasons: slope too steep or there are some objects nearby that may interfere with deployed HQ.In the next update I will improve this part. It will check radius based on current object composition for HQ. So if you have really small HQ, you will be able to deploy it almost everywhere. Edited April 2, 2015 by Champ-1 Share this post Link to post Share on other sites
Moon_chilD 200 Posted April 2, 2015 I'll double check it again, but last time I checked everything worked in MP. When we had a play yesterday, one member that JIP couldn't move to an deployed MHQ. (The MHQ was deployed before he joined) This doesn't seems like its a bug with the script. Maybe you have major desync on server? I was the only one that experienced these troubles. We probably have another session today. We will give it further testing and I can tell you later then! ^^ Share this post Link to post Share on other sites
champ-1 40 Posted April 2, 2015 We will give it further testing and I can tell you later then! ^^Yeah, thanks---------- Post added at 17:23 ---------- Previous post was at 16:44 ---------- Just tested it on dedicated server. There are some bugs, but nothing as serious as you described. At least for me. It works with JIP and JIP can teleport to HQ. Share this post Link to post Share on other sites
champ-1 40 Posted April 3, 2015 (edited) CH Mobile Headquarters v0.91 Download Description: Here you go guys, now you can have any virtual boxes and arsenals attached to any objects. I hope you like it :D Changelog: v0.91 - added: ability to execute code for every object in composition (for more information read section "for advanced users") - added: algorithm to measure object composition size and check for suitable conditions only in that radius - changed: removed dummy unit inside deployed HQ until (forever?) I learn how to make him invisible and stop from getting out of the vehicle - fixed: marker names not having a proper ID - fixed: disabled simulation for some objects in composition Download Edited April 3, 2015 by Champ-1 Share this post Link to post Share on other sites