Jump to content

Matthijs

Member
  • Content Count

    708
  • Joined

  • Last visited

  • Medals

Everything posted by Matthijs

  1. Thanks for the heads up. Added new download link and included the APL agreement.
  2. Inspired by MKY's blizzard script, I created functions that provide you with climatological information. The functions contain a simple climatological model and statistical data, that I gathered from all kinds or sources on the web. The climatological data can be overridden by terrain makers, using config entries. I hope that this will contribute to the creation of weather add-ons, realism- and survival mods. The archive includes a demonstration script. Download: https://drive.google.com/file/d/1mkwaLX9Mxri2tIQvB-25OJ99t-K_WPq6/view?usp=sharing FEATURES Input variables for functions are mostly limited to time, date and a position or object. Besides climatological data, the functions determine Latitude, time, date, overcast, fog, cloud occlusion, terrain occlusion, and object occlusion to calculate output values. The following features are included: * Air and Sea temperatures (array of numbers: °C) - llw_fnc_getTemperature * Date and time (text: YYYY-MM-DD hh:mm:ss) - llw_fnc_getDateTime * Shadow detection (boolean: true / false) - llw_fnc_inShadow * Solar Azimuth and Elevation angles (array of numbers: degrees) - llw_fnc_getSunAngle * Solar Elevation angle at 12:00PM (number: degrees) - llw_fnc_getSunElevationNoon * Solar Radiation energy (number: W/m²) - llw_fnc_getSunRadiation * Sunrise and Sunset time (array of numebers: hours) - llw_fnc_getSunRise Please refer to the enclosed README.TXT for further details.
  3. As per PM, feel free to re-use. Please be aware that the inShadow function is rather CPU intensive. Have fun!
  4. I noticed that it can take a long time before dead bodies in an AI group are removed from their group. In order to make sure that I only have living men in my group, without deleting the bodies, I do the following: units _MyGroup select {not alive _x} join grpNull; However, this creates a new group every time I cleanup a group with casualties. The alternative I can think of is butt-ugly: if (isNil "GraveYardGroup") then { GraveYardGroup = createGroup [Friendly,False]; }; units _MyGroup select {not alive _x} join grpNull; Isn''t it possible to force some kind of cleanup without actually deleting the dead bodies? For example something like this: TRASHCOLLECT (units _MyGroup select {not alive _x});
  5. Cool! Please be aware that there is a native ArmA3 function that I was not aware of. (I haven't tried it myself though) Thanks to Tortuosit for pointing it out:
  6. Cool idea! Maybe putting the concept in an FSM and train a neural network for decisionmaking. It would probably also need the inclusion of contact drills, or the result will be rather weak and hellishly boring to look at. I have to agree with x3kj's remark though. [ click here to start now ]
  7. I was wondering: what did Altis look like before the war? This script will replace all destroyed and neglected buildings with their maintained versions. Copy & Paste the code below to an INIT.SQF This is just a quick test to satisfy my own curiosity. - Not suitable for multiplayer - Renovation of Altis will take quite some time to complete - Not all vehicle wrecks will be removed from the map Have fun! // configuration items _position = [15360,15360,0]; _range = 21723; // main _replaceList = [ [ "Land_d_Addon_02_V1_F" , "Land_i_Addon_02_V1_F" ], [ "Land_d_House_Big_01_V1_F" , "Land_i_House_Big_01_V1_F" ], [ "Land_d_House_Big_02_V1_F" , "Land_i_House_Big_01_V1_F" ], [ "Land_d_House_Small_01_V1_F" , "Land_i_House_Small_01_V1_F" ], [ "Land_d_House_Small_02_V1_F" , "Land_i_House_Small_02_V1_F" ], [ "Land_d_Shop_01_V1_F" , "Land_i_Shop_01_V1_F" ], [ "Land_d_Shop_02_V1_F" , "Land_i_Shop_02_V1_F" ], [ "Land_i_Barracks_V1_dam_F" , "Land_i_Barracks_V1_F" ], [ "Land_i_Barracks_V2_dam_F" , "Land_i_Barracks_V2_F" ], [ "Land_i_Garage_V1_dam_F" , "Land_i_Garage_V1_F" ], [ "Land_i_Garage_V2_dam_F" , "Land_i_Garage_V1_F" ], [ "Land_i_Garage_V2_F" , "Land_i_Garage_V1_F" ], [ "Land_i_House_Big_01_V1_dam_F" , "Land_i_House_Big_01_V1_F" ], [ "Land_i_House_Big_01_V2_dam_F" , "Land_i_House_Big_01_V2_F" ], [ "Land_i_House_Big_01_V3_dam_F" , "Land_i_House_Big_01_V3_F" ], [ "Land_i_House_Big_02_V1_dam_F" , "Land_i_House_Big_02_V1_F" ], [ "Land_i_House_Big_02_V2_dam_F" , "Land_i_House_Big_02_V2_F" ], [ "Land_i_House_Big_02_V3_dam_F" , "Land_i_House_Big_02_V3_F" ], [ "Land_i_House_Small_01_V1_dam_F" , "Land_i_House_Small_01_V1_F" ], [ "Land_i_House_Small_01_V2_dam_F" , "Land_i_House_Small_01_V2_F" ], [ "Land_i_House_Small_01_V3_dam_F" , "Land_i_House_Small_01_V3_F" ], [ "Land_i_House_Small_02_V1_dam_F" , "Land_i_House_Small_02_V1_F" ], [ "Land_i_House_Small_02_V2_dam_F" , "Land_i_House_Small_02_V2_F" ], [ "Land_i_House_Small_02_V3_dam_F" , "Land_i_House_Small_02_V3_F" ], [ "Land_i_House_Small_03_V1_dam_F" , "Land_i_House_Small_03_V1_F" ], [ "Land_i_Shed_Ind_F" , "Land_i_Shed_Ind_F" ], [ "Land_i_Shop_01_V1_dam_F" , "Land_i_Shop_01_V1_F" ], [ "Land_i_Shop_01_V2_dam_F" , "Land_i_Shop_01_V2_F" ], [ "Land_i_Shop_01_V3_dam_F" , "Land_i_Shop_01_V3_F" ], [ "Land_i_Shop_02_V1_dam_F" , "Land_i_Shop_02_V1_F" ], [ "Land_i_Shop_02_V2_dam_F" , "Land_i_Shop_02_V2_F" ], [ "Land_i_Shop_02_V3_dam_F" , "Land_i_Shop_02_V3_F" ], [ "Land_u_Addon_01_V1_dam_F" , "Land_i_Addon_02_V1_F" ], [ "Land_u_Addon_01_V1_F" , "Land_i_Addon_02_V1_F" ], [ "Land_u_Barracks_V2_F" , "Land_i_Barracks_V2_F" ], [ "Land_u_House_Big_01_V1_dam_F" , "Land_i_House_Big_01_V1_F" ], [ "Land_u_House_Big_01_V1_F" , "Land_i_House_Big_01_V1_F" ], [ "Land_u_House_Big_02_V1_dam_F" , "Land_i_House_Big_01_V1_F" ], [ "Land_u_House_Big_02_V1_F" , "Land_i_House_Big_01_V1_F" ], [ "Land_u_House_Small_01_V1_dam_F" , "Land_i_House_Small_01_V1_F" ], [ "Land_u_House_Small_01_V1_F" , "Land_i_House_Small_01_V1_F" ], [ "Land_u_House_Small_02_V1_F" , "Land_i_House_Small_02_V1_F" ], [ "Land_u_House_Small_02_V1_F" , "Land_i_House_Small_02_V1_F" ], [ "Land_u_Shop_01_V1_dam_F" , "Land_i_Shop_01_V1_F" ], [ "Land_u_Shop_01_V1_F" , "Land_i_Shop_01_V1_F" ], [ "Land_u_Shop_02_V1_dam_F" , "Land_i_Shop_02_V1_F" ], [ "Land_u_Shop_02_V1_F" , "Land_i_Shop_02_V1_F" ], [ " Land_i_Stone_HouseBig_V1_dam_F" , " Land_i_Stone_HouseBig_V1_F" ], [ " Land_i_Stone_HouseBig_V2_dam_F" , " Land_i_Stone_HouseBig_V2_F" ], [ " Land_i_Stone_HouseBig_V3_dam_F" , " Land_i_Stone_HouseBig_V3_F" ], [ " Land_d_Stone_HouseBig_V1_F" , " Land_i_Stone_HouseBig_V1_F" ], [ " Land_i_Stone_Shed_V1_dam_F" , "Land_i_Stone_Shed_V1_F" ], [ "Land_i_Stone_Shed_V2_dam_F" , " Land_i_Stone_Shed_V2_F" ], [ "Land_i_Stone_Shed_V3_dam_F" , " Land_i_Stone_Shed_V3_F" ], [ " Land_d_Stone_Shed_V1_F" , "Land_i_Stone_Shed_V1_F" ], [ " Land_i_Stone_HouseSmall_V1_dam_F" , " Land_i_Stone_HouseSmall_V1_F" ], [ "Land_i_Stone_HouseSmall_V2_dam_F" , " Land_i_Stone_HouseSmall_V2_F" ], [ "Land_i_Stone_HouseSmall_V3_dam_F" , " Land_i_Stone_HouseSmall_V3_F" ], [ "Land_d_Stone_HouseSmall_V1_F" , " Land_i_Stone_HouseSmall_V1_F" ], [ "Land_Airport_Tower_dam_F" , " Land_Airport_Tower_F" ], [ " Land_HighVoltageTower_dam_F" , " Land_HighVoltageTower_F" ], [ " Land_spp_Tower_dam_F" , " Land_spp_Tower_F" ], [ "Land_TentHangar_V1_dam_F" , "Land_TentHangar_V1_F" ], [ "Land_New_WiredFence_10m_Dam_F" , "Land_New_WiredFence_10m_F" ], [ " Land_Net_FenceD_8m_F" , " Land_Net_Fence_8m_F" ], [ "Land_Stone_8mD_F" , "Land_Stone_8m_F" ], [ "Land_WiredFence_01_8m_d_F" , "Land_WiredFence_01_8m_F" ] ]; { _objects = _position nearObjects [_x select 0, _range]; _replaceWith = _x select 1; { hideObjectGlobal _x; _house = _replaceWith createvehicle getpos _x; _house setdir direction _x; _house setposASL getposASL _x; hintSilent ("Renovating: " + _replaceWith); } forEach _objects; } foreach _replaceList; _junkList = [ "Land_Addon_01_ruins_F", "Land_Addon_01_V1_ruins_F", "Land_Addon_02_ruins_F", "Land_Addon_02_V1_ruins_F", "Land_Addon_03_ruins_F", "Land_Addon_03_V1_ruins_F", "Land_Addon_03mid_V1_ruins_F", "Land_Addon_04_ruins_F", "Land_Addon_04_V1_ruins_F", "Land_Addon_05_ruins_F", "Land_Airport_Tower_ruins_F", "Land_Barracks_ruins_F", "Land_BellTower_02_V1_ruins_F", "Land_BellTower_02_V2_ruins_F", "Land_Boat_01_abandoned_blue_F", "Land_Boat_01_abandoned_red_F", "Land_Boat_02_abandoned_F", "Land_Boat_03_abandoned_F", "Land_Boat_04_wreck_F", "Land_Boat_05_wreck_F", "Land_Boat_06_wreck_F", "Land_Bulldozer_01_abandoned_F", "Land_Bulldozer_01_wreck_F", "Land_cargo_house_slum_ruins_F", "Land_Cargo_House_V1_ruins_F", "Land_Cargo_House_V2_ruins_F", "Land_Cargo_House_V3_ruins_F", "Land_Cargo_House_V4_ruins_F", "Land_Cargo_HQ_V1_ruins_F", "Land_Cargo_HQ_V2_ruins_F", "Land_Cargo_HQ_V3_ruins_F", "Land_Cargo_HQ_V4_ruins_F", "Land_Cargo_Patrol_V1_ruins_F", "Land_Cargo_Patrol_V2_ruins_F", "Land_Cargo_Patrol_V3_ruins_F", "Land_Cargo_Patrol_V4_ruins_F", "Land_Cargo_Tower_V1_ruins_F", "Land_Cargo_Tower_V2_ruins_F", "Land_Cargo_Tower_V3_ruins_F", "Land_Cargo_Tower_V4_ruins_F", "Land_Cargo20_china_color_V1_ruins_F", "Land_Cargo20_china_color_V2_ruins_F", "Land_Cargo20_color_V1_ruins_F", "Land_Cargo20_color_V2_ruins_F", "Land_Cargo20_color_V3_ruins_F", "Land_Cargo20_idap_ruins_F", "Land_Cargo20_military_ruins_F", "Land_Cargo40_china_color_V1_ruins_F", "Land_Cargo40_china_color_V2_ruins_F", "Land_Cargo40_color_V1_ruins_F", "Land_Cargo40_color_V2_ruins_F", "Land_Cargo40_color_V3_ruins_F", "Land_Cargo40_idap_ruins_F", "Land_Cargo40_military_ruins_F", "Land_Castle_01_tower_ruins_F", "Land_Chapel_Small_V1_ruins_F", "Land_Chapel_Small_V2_ruins_F", "Land_Chapel_V1_ruins_F", "Land_Chapel_V2_ruins_F", "Land_Church_01_ruins_F", "Land_Church_02_ruins_F", "Land_cmp_Hopper_ruins_F", "Land_cmp_Shed_ruins_F", "Land_cmp_Tower_ruins_F", "Land_CombineHarvester_01_wreck_F", "Land_dp_bigTank_ruins_F", "Land_dp_smallTank_ruins_F", "Land_Excavator_01_abandoned_F", "Land_Excavator_01_wreck_F", "Land_Factory_Conv1_10_ruins_F", "Land_Factory_Conv1_Main_ruins_F", "Land_Factory_Conv2_ruins_F", "Land_Factory_Hopper_ruins_F", "Land_Factory_Main_ruins_F", "Land_FuelStation_Build_ruins_F", "Land_FuelStation_Shed_ruins_F", "Land_Garage_V1_ruins_F", "Land_GH_Gazebo_ruins_F", "Land_GH_House_ruins_F", "Land_HaulTruck_01_abandoned_F", "Land_HistoricalPlaneDebris_01_F", "Land_HistoricalPlaneDebris_02_F", "Land_HistoricalPlaneDebris_03_F", "Land_HistoricalPlaneDebris_04_F", "Land_HistoricalPlaneWreck_01_F", "Land_HistoricalPlaneWreck_02_front_F", "Land_HistoricalPlaneWreck_02_front_water_F", "Land_HistoricalPlaneWreck_02_rear_F", "Land_HistoricalPlaneWreck_02_rear_water_F", "Land_HistoricalPlaneWreck_02_wing_left_F", "Land_HistoricalPlaneWreck_02_wing_right_F", "Land_HistoricalPlaneWreck_03_F", "Land_House_Big_01_ruins_F", "Land_House_Big_01_V1_ruins_F", "Land_House_Big_02_V1_ruins_F", "Land_House_Native_01_ruins_F", "Land_House_Native_02_ruins_F", "Land_House_Small_01_ruins_F", "Land_House_Small_01_V1_ruins_F", "Land_House_Small_02_ruins_F", "Land_House_Small_02_V1_ruins_F", "Land_House_Small_03_ruins_F", "Land_House_Small_03_V1_ruins_F", "Land_Kiosk_blueking_ruins_F", "Land_LightHouse_ruins_F", "Land_Lighthouse_small_ruins_F", "Land_Locomotive_01_v1_F", "Land_Locomotive_01_v2_F", "Land_Locomotive_01_v3_F", "Land_Medevac_house_V1_ruins_F", "Land_Medevac_HQ_V1_ruins_F", "Land_Metal_Shed_ruins_F", "Land_MetalShelter_01_ruins_F", "Land_MetalShelter_02_ruins_F", "Land_MiningShovel_01_abandoned_F", "Land_Radar_ruins_F", "Land_Radar_Small_ruins_F", "Land_RailwayCar_01_passenger_F", "Land_RailwayCar_01_sugarcane_empty_F", "Land_RailwayCar_01_sugarcane_F", "Land_RailwayCar_01_tank_F", "Land_Research_house_V1_ruins_F", "Land_Research_HQ_ruins_F", "Land_ReservoirTank_Airport_ruins_F", "Land_ReservoirTank_Rust_ruins_F", "Land_ReservoirTank_V1_ruins_F", "Land_ReservoirTower_ruins_F", "Land_RowBoat_V1_F", "Land_RowBoat_V2_F", "Land_RowBoat_V3_F", "Land_Shed_01_ruins_F", "Land_Shed_02_ruins_F", "Land_Shed_03_ruins_F", "Land_Shed_04_ruins_F", "Land_Shed_05_ruins_F", "Land_Shed_06_ruins_F", "Land_Shed_Big_ruins_F", "Land_Shed_Ind_ruins_F", "Land_Shed_Small_ruins_F", "Land_Shop_01_V1_ruins_F", "Land_Shop_02_V1_ruins_F", "Land_Shop_Town_01_ruins_F", "Land_Shop_Town_02_ruins_F", "Land_Shop_Town_03_ruins_F", "Land_Shop_Town_04_ruins_F", "Land_SlideCastle_ruins_F", "Land_Slum_House01_ruins_F", "Land_Slum_House02_ruins_F", "Land_Slum_House03_ruins_F", "Land_spp_Mirror_ruins_F", "Land_spp_Tower_ruins_F", "Land_spp_Transformer_ruins_F", "Land_Stone_HouseBig_V1_ruins_F", "Land_Stone_HouseSmall_V1_ruins_F", "Land_Stone_Shed_V1_ruins_F", "Land_TankWreck_01_turret_F", "Land_TBox_ruins_F", "Land_Temple_Native_01_ruins_F", "Land_TentHangar_V1_ruins_F", "Land_TTowerBig_1_ruins_F", "Land_TTowerBig_2_ruins_F", "Land_Unfinished_Building_01_ruins_F", "Land_Unfinished_Building_02_ruins_F", "Land_UWreck_FishingBoat_F", "Land_UWreck_Heli_Attack_02_F", "Land_UWreck_MV22_F", "Land_Windmill01_ruins_F", "Land_WIP_ruins_F", "Land_Wreck_BMP2_F", "Land_Wreck_BRDM2_F", "Land_Wreck_Car_F", "Land_Wreck_Car2_F", "Land_Wreck_Car3_F", "Land_Wreck_CarDismantled_F", "Land_Wreck_Heli_Attack_01_F", "Land_Wreck_Heli_Attack_02_F", "Land_Wreck_HMMWV_F", "Land_Wreck_Hunter_F", "Land_Wreck_Offroad_F", "Land_Wreck_Offroad2_F", "Land_Wreck_Plane_Transport_01_F", "Land_Wreck_Skodovka_F", "Land_Wreck_Slammer_F", "Land_Wreck_Slammer_hull_F", "Land_Wreck_Slammer_turret_F", "Land_Wreck_T72_hull_F", "Land_Wreck_T72_turret_F", "Land_Wreck_Traw_F", "Land_Wreck_Traw2_F", "Land_Wreck_Truck_dropside_F", "Land_Wreck_Truck_F", "Land_Wreck_UAZ_F", "Land_Wreck_Ural_F", "Land_Wreck_Van_F", "Plane_Fighter_01_wreck_F", "Plane_Fighter_02_wreck_F", "Plane_Fighter_03_wreck_F", "Plane_Fighter_04_wreck_F" ]; { _hide = _x; _objects = _position nearObjects [_x, _range]; { hideObjectGlobal _x; hintSilent ("Hiding: " + _hide); } forEach _objects; } foreach _junkList; hint "Altis renovation done.";
  8. That is correct. The function was created to allow calculation of energy build-up in a body. It does this by calculating the position of the sun and checks for collissions between the body and the sun. (a rather CPU intensive thing I must admit) I did not account for moon, stars nor artificial light, because their energy radiation is negligible. Sorry...
  9. Matthijs

    Making an addon

    C# is easier. --- On 8-12-2017 at 4:00 PM, Matthijs said: C#, is fairly easy to learn from Bob Taylor's series. Probably also a nice step-up to C++. I never tried to compile on Linux using Mono (http://www.mono-project.com) and have not heard of it. Trying to compile a C# library using Mono would be a nice contribution to the community if you figure out if it can be done. If it does not work, your newly acquired C# experience is probably a nice basis to get into C++.
  10. Matthijs

    Making an addon

    If you want to create an extension (.dll / .so), I don't think you will have any other option than using C++ or C#.
  11. Matthijs

    Making an addon

    C#, is fairly easy to learn from Bob Taylor's series. Probably also a nice step-up to C++. I never tried to compile on Linux using Mono (http://www.mono-project.com) and have not heard of it. Trying to compile a C# library using Mono would be a nice contribution to the community if you figure out if it can be done. If it does not work, your newly acquired C# experience is probably a nice basis to get into C++. Good luck!
  12. Matthijs

    Making an addon

    Maybe you could give a bit more information. Do you have programming experience? If not, you may want to start here: https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949 After Bob Taylor's course, you should be use this and create what you want: https://community.bistudio.com/wiki/Extensions#How_to_make_an_extension_in_C.23 If you are an experienced programmer, you may want to try this: https://www.google.com/webhp?q=develop+arma+3+extension
  13. Matthijs

    Server Transfer System

    This is sooooo awesome! It's the missing piece to enable a persistent virtual world across different islands. Great work KeganH and KZK! Isn't this a missing feature or known issue, instead of a bug? Maybe an "Abort game" button on the overlay could fix this issue?
  14. I reported the issue on the CUP bug tracker, because it could be reproduced on Chernarus, Everon, and Bystrica. The problem is in their powlines_woodl object.
  15. I love the atmosphere of this terrain and especially the enterable buildings! Great work! I will be playing on this map a lot. Bug report Small issue with street lights: if you shoot a street light, the illumination is gone but the street light itself is still "on." Shooting the lamp again will turn it off for a fraction of a second, but it comes back on right away. I tried demolition charges but that also did not help.
  16. I wrote: "... I am running Java Version 8 Update 144 on Windows ..." This is the latest Java version AFAIK. Verstuurd vanaf mijn SM-T580 met Tapatalk
  17. This is awesome, I love it! Great work! However, I can only run it by doubleclicking the adc.jar file, after downloading the adc_installation.zip The .EXE files are useless for me. I am running Java Version 8 Update 144 on Windows: The installer fails to run, stating "This application requires Java Runtime Environment 1.8.0_51", redirecting me to the download page of Java Version 8 Update 144 The executable from adc_installation.zip fails to run, stating "This application requires Java Runtime Environment 1.8.0_51", redirecting me to the download page of Java Version 8 Update 144
  18. Depth of Field Verstuurd vanaf mijn SM-T580 met Tapatalk
  19. Matthijs

    Lowlands Warrior

    Thanks, I feel flattered.
  20. Ouch, seems I should visit the forums more often. Thanks, it's great to hear that! Thanks, I could have saved myself a lot of time. On the other hand, it has been a nice learning experience.
  21. Matthijs

    [How To] C# ARMA Extension

    The latest implementation of CallExtension supports "RVExtensionVersion": //--- Extension version information shown in .rpt file void __stdcall RVExtensionVersion(char *output, int outputSize) { //--- max outputSize is 32 bytes strncpy_s(output, outputSize, CURRENT_VERSION, _TRUNCATE); } I have 2 questions: For now: what would the 32-bit implementation in C# look like? It seems to need _ and @, and a number. For the future: how can I find out what _method@number to use, if I had to find it out myself? I hope you can help me out, thanks!
  22. It seems that you are judging ArmA 3 by the number of weapons and vehicles in it. I couldn't care less about weapons and vehicles. I don't even like the science-fiction style stuff of ArmA 3. Then again, there are hundreds of free add-ons out there that provide me what I need. The only thing I really like about ArmA 3 is its features. I love BI Studios because they give new features away for free: - a system to support gamemaster led scenario's: Free - Advanced helicopter RotorLib flight models: Free - weapon resting, advanced optics features, bipods: Free - Graphics engine & audio upgrade: Free - Advanced fixed-wing flight models, sensors, carrier ops, and an aircraft carrier: Free You can look at the Bohemia's DLC in two ways: 1) Either a big corporation screwing over customers with only a few SF models; 2) Or a group of nerds following their hearts and giving the world the best military sim ever, rewarding donations with some additional content. My bet is on nr. 2. I have been buying all BI's OFP and ArmA products since the first release of OFP and will continue to do so for as long as I can. Just to keep those BI guys following their hearts. If you cannot afford the DLC, don't worry. Do without the SciFi vehicles and enjoy the best milsim ever, including its stunning free upgrades and community content.
  23. I just want it to hover, for fastroping from a cargo helicopter and for attack helicopters to take station in CAS missions. Ooh, that's a possible solution! I'm going to spawn an invisible helipad in mid-air. B) I'll let you know if this works. Thanks!! Edit: Yes, that worked! Spawn an invisible helipad MYHELIPAD mid-air (e.g. 15 meters altitude), and then: air1 domove getpos MYHELIPAD; air1 land "LAND"; Now, the helicopter starts hovering at the altitude of the invisible helipad. Good enough for fastroping. Not good enough for attack helicopters on station though. I guess you can't have everything; too bad, because flyInHeight worked just fine in OFP.
  24. AI refuses to hover at lower altitudes between 5 and 60 meters. Everything below or above this bandwidth is quite ok. Is there a workaround for this behaviour? I would like to avoid setpos loops. This works fine, for any altitude over 60, and SOMETIMES works for altitude 20: myHeli domove getpos player; myHeli flyinHeight 60; The helicopter never responds to this, nor to and any other altitude between 10 and 20: myHeli domove getpos player; myHeli flyinHeight 10; This works fine, for any altitude of 0 to 5: myHeli domove getpos player; myHeli flyinHeight 5; Interestingly, the helicopter hovers at 5 meters altitude when I issue a flyInHeight between 5 and 10. Is there any way to change this behaviour?
×