Jump to content

Search the Community

Showing results for tags 'script'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • BOHEMIA INTERACTIVE
    • BOHEMIA INTERACTIVE - NEWS
    • BOHEMIA INTERACTIVE - JOBS
    • BOHEMIA INTERACTIVE - GENERAL
  • FEATURED GAMES
    • Arma Reforger
    • Vigor
    • DAYZ
    • ARMA 3
    • ARMA 2
    • YLANDS
  • MOBILE GAMES
    • ARMA MOBILE OPS
    • MINIDAYZ
    • ARMA TACTICS
    • ARMA 2 FIRING RANGE
  • BI MILITARY GAMES FORUMS
  • BOHEMIA INCUBATOR
    • PROJECT LUCIE
  • OTHER BOHEMIA GAMES
    • ARGO
    • TAKE ON MARS
    • TAKE ON HELICOPTERS
    • CARRIER COMMAND: GAEA MISSION
    • ARMA: ARMED ASSAULT / COMBAT OPERATIONS
    • ARMA: COLD WAR ASSAULT / OPERATION FLASHPOINT
    • IRON FRONT: LIBERATION 1944
    • BACK CATALOGUE
  • OFFTOPIC
    • OFFTOPIC
  • Die Hard OFP Lovers' Club's Topics
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Japan in Arma's Topics
  • Arma 3 Photography Club's Discussions
  • The Order Of the Wolfs- Unit's Topics
  • 4th Infantry Brigade's Recruitment
  • 11th Marine Expeditionary Unit OFFICIAL | 11th MEU(SOC)'s 11th MEU(SOC) Recruitment Status - OPEN
  • Legion latina semper fi's New Server Legion latina next wick
  • Legion latina semper fi's https://www.facebook.com/groups/legionlatinasemperfidelis/
  • Legion latina semper fi's Server VPN LEGION LATINA SEMPER FI
  • Team Nederland's Welkom bij ons club
  • Team Nederland's Facebook
  • [H.S.O.] Hellenic Special Operations's Infos
  • BI Forum Ravage Club's Forum Topics
  • Exilemod (Unofficial)'s General Discussion
  • Exilemod (Unofficial)'s Scripts
  • Exilemod (Unofficial)'s Addons
  • Exilemod (Unofficial)'s Problems & Bugs
  • Exilemod (Unofficial)'s Exilemod Tweaks
  • Exilemod (Unofficial)'s Promotion
  • Exilemod (Unofficial)'s Maps - Mission Files
  • TKO's Weferlingen
  • TKO's Green Sea
  • TKO's Rules
  • TKO's Changelog
  • TKO's Help
  • TKO's What we Need
  • TKO's Cam Lao Nam
  • MSOF A3 Wasteland's Server Game Play Features
  • MSOF A3 Wasteland's Problems & Bugs
  • MSOF A3 Wasteland's Maps in Rotation
  • SOS GAMING's Server
  • SOS GAMING's News on Server
  • SOS GAMING's Regeln / Rules
  • SOS GAMING's Ghost-Town-Team
  • SOS GAMING's Steuerung / Keys
  • SOS GAMING's Div. Infos
  • SOS GAMING's Small Talk
  • NAMC's Topics
  • NTC's New Members
  • NTC's Enlisted Members
  • The STATE's Topics
  • CREATEANDGENERATION's Intoduction
  • CREATEANDGENERATION's HAVEN EMPIRE (NEW CREATORS COMMUNITY)
  • HavenEmpire Gaming community's HavenEmpire Gaming community
  • Polska_Rodzina's Polska_Rodzina-ARGO
  • Carrier command tips and tricks's Tips and tricks
  • Carrier command tips and tricks's Talk about carrier command
  • ItzChaos's Community's Socials
  • Photography club of Arma 3's Epic photos
  • Photography club of Arma 3's Team pics
  • Photography club of Arma 3's Vehicle pics
  • Photography club of Arma 3's Other
  • Spartan Gamers DayZ's Baneados del Servidor
  • Warriors Waging War's Vigor
  • Tales of the Republic's Republic News
  • Operazioni Arma Italia's CHI SIAMO
  • [GER] HUSKY-GAMING.CC / Roleplay at its best!'s Starte deine Reise noch heute!
  • empire brotherhood occult +2349082603448's empire money +2349082603448
  • NET88's Twitter

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Yahoo


Jabber (xmpp)


Skype


Biography


Twitter


Google+


Youtube


Vimeo


Xfire


Steam url id


Raptr


MySpace


Linkedin


Tumblr


Flickr


XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 652 results

  1. 🙂 PAC is a script for ARMA 3 that provides a full solution to control the map limits for players in multiplayer (Coop, PvP, TvT), preventing players from leaving the mission area. Creation concept: to be super easy to implement and customize, compatible with any mainstream mod, and functional for all types of servers: coop missions, PvP, and TvT. How to install / Documentation: https://github.com/aldolammel/Arma-3-Playable-Area-Control-Script/blob/main/_PAC_Script_Documentation.pdf What to expect from PAC script: No dependencies from other mods or scripts; PAC functions are in server's side (run once), but the checking (looping) is on the client's side; Easy installation: the playable area is defined by one named trigger added on the Eden Editor; The editor has the option to allow or not air vehicles (including drones and parachuters) to be tolerated when outside the playable area and on air; The editor has the option to allow or not minimum speed restriction if there's air-tolerance out of the playable area; The editor has the option to allow or not to notify the player about rules if they break some; Full documentation available. Video demo (old): Check the file above on GitHub. Check this data frame. Dependencies: None 🙃 Download: From Github: https://github.com/aldolammel/Arma-3-Playable-Area-Control-Script From Steam Workshop (no respawn): https://steamcommunity.com/sharedfiles/filedetails/?id=2835758829 From Steam Workshop (with respawn): https://steamcommunity.com/sharedfiles/filedetails/?id=2835759780 Missions running it: All my missions - - - - - - - - - - - Changelog: Nov, 30th 2023, v1.7: changelog Known issues: None. Feel free to bring some.
  2. Hi Guys, Background I want a simple script that spawns certain random vehicles from a pool at random intervals and attacks a random player. Here using the example of helicopters, the whole thing will follow later for jets, ground vehicles, etc. Distances and timings are greatly reduced for testing. Choice of Randomplayer is double made because of testings. Observation The script starts as expected, but when the helis reach the AO over Player they don't really attack with main or ship guns. Rarely a short salvo but no real attack. Trials doFire normally lets AI auto-aim, so I've tried without doTarget as well. But same result. If I read the table at the bottom of the BI Wiki, (Link: https://community.bistudio.com/wiki/fireAtTarget) fireAtTarget could be a solution.# What I wanted to avoid was spwawing AI, forming groups, occupying a vehicle and then acting via waypoints. Since I would like to send random vehicles from a larger pool and that would make things very extensive. Script My Question Do you have any tips and recommendations that could help me with my desired scenario goal of dealing with the AI? Am I on the right track or should I solve it completely differently? Thanks for your support.
  3. Hello everyone, Im new to editing missions, so i'm strugling with 3 addons that i downloaded from the steam workshop, in the editor when i add few modded flags and save the mission, put the mission the mpmission file and start the server, when i join it says "Error Loading Mission", also theses 3 mods are added as required mods but when joining the server they appear as optionnal and all other mods work perfecly and are categorized as required, and if i go back to the editor and i delete the modded flags entities, save the mission and put the mission in the mpmission file, the server work perfectly, so why theses 3 mods are categorised as optionnal when i put them as required by the server. Thanks to anyone who help me. Addons i'm talking about http://steamcommunity.com/sharedfiles/filedetails/?id=2576006559 https://steamcommunity.com/sharedfiles/filedetails/?id=2474961310 https://steamcommunity.com/sharedfiles/filedetails/?id=2764329011
  4. Hi there, Vehicles Overhauling (VO) is a system of repairing, refueling, and rearming vehicles by proximity and with any asset of your choice. Also, the services are divided by doctrine: Ground, Air, and Nautical. Each doctrine and even service is easily turned Off or On, according to the editor's needs. If needed, the editor can allow repairing just for ground vehicles while unavailable for air ones, for example. Triggering or code via Eden Editor is needless. VO is configured through only one file, prioritizing implementation simplicity and quick change management that the mission editor might want. How to install / Documentation: https://github.com/aldolammel/Arma-3-Vehicles-Overhauling-Script/blob/main/vehicles-overhauling.VR/vehiclesOverhauling/_VO_Script_Documentation.pdf What to expect from VO script: Define what vehicle type have automatically access to ground, air or nautical services (rearm, repair, refuel); Define what service each station (asset) will provide: repair, refuel or rearm or all of them (full service); Every object/asset on Eden Editor can be traceable as station automatically, it's up to the mission-editor; Once defined which assets are stations, on Eden you just drag and drop the asset and the script will track them; All repair, refuel, and rearm Arma 3 and its DLCs assets are already tracked; All repair, refuel, and rearm RHS and CUP assets are already tracked; 100% compatible with CBA+ACE. No code or triggers is needed on Eden Editor; Just one file to set your mission needs easily: fn_VO_parameters.sqf; Script working as gold on hosted and dedicated servers; Demo: Main file > fn_VO_parameters.sqf: Dependencies: None! Download: From Github: https://github.com/aldolammel/Arma-3-Vehicles-Overhauling-Script From Steam Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=2758919670 Missions running it: Tanks & Helicopters (Light) Tanks & Helicopters Livonia Tanks Theater TvT Bradley Furious - - - - - - - - - - - Changelog: 2022-Oct-07, v2.2: news, fixes and notes here. Known issues: Critical > Dedicated Server > If two or more players are in the same armed vehicle, the vehicle will rearm two or more times after spend some ammo ------ (WIP) Critical > RHS on > Air Doctrine > RHS airplanes are NOT rearming properly. ------ (WIP) Important > ACE on > Repairing > if the vehicle got damage only in wheels/tracks, guns and/or turret, the repairing doesn't run; Minor > ACE on > Refueling > I'm trying to hide the pump hose; Minor > ACE on > Repairing > If the vehicle starts to cook-off with a repair station close, the vehicle gets repaired, but still cooking. Cheers, thy
  5. Hi everyone, anyone know how can do infinite ammo for uav's, I tryed this script but didn't worked on the any uav's, so anyone can help me? My mod list; https://prnt.sc/eflQWhwdEtem https://prnt.sc/-deVg_rMlDUc
  6. Hi guys, I am trying to do a script, which allow me to spawn a "fuel smuggler" (trader) who buys fuel crates only and gives the player 500 cash for every fuel barrel he buys. After 10 min he will disappear only to show 20 minutes later on another place. Monetary system is Grad Money Menu. while {true} do { sleep 1200; _pos1 = [1323.44,7742.14,0]; _pos2 = [11845.7,7733.76,0]; _pos3 = [2177.42,10840.1,0]; _pos4 = [2936.97,3438.3,0]; _rpos = [_pos1,_pos2,_pos3,_pos4] call BIS_fnc_selectRandom; _smugveh = "C_Truck_02_fuel_F" createVehicle _rpos; _smugveh setFuel 0; _spos = [_rpos, 3, 15, 3, 0, 0.5, 0] call BIS_fnc_findSafePos; private _grp = createGroup [civilian,true]; _smuggler = _grp createUnit ["CUP_C_TK_Man_02",_spos]; _smuggler enableAI "PATH"; _smugtrig = createTrigger ["EmptyDetector",_spos]; _smugtrig setTriggerArea [5,5,0,false]; _smugtrig setTriggerActivation ["STATIC","PRESENT",true]; _smugtrig setTriggerStatements ["{_x isKindOf "CargoNet_01_barrels_F"} count thisList == 1", "_delete = nearestObjects [_smuggler, ["CargoNet_01_barrels_F"],50]; {deleteVehicle _x;} forEach _delete; [player, 500] call grad_moneymenu_fnc_addFunds;",""]; _marker = createMarker ["Smuggler present!", _rpos]; _marker setMarkerType "loc_LetterS"; _marker setMarkerColor "colorCivilian"; sleep 600; deleteMarker "Smuggler present!" deleteVehicle _smugtrig; deleteVehicle _smugveh; deleteVehicle _smuggler; }; No luck so far, nothing spawns. ¯\_(ツ)_/¯ I wonder where my mistake is ...
  7. Hey guys, I've searched for while but I can't find any solution for my problem. I'm creating a training map for our clan and I want to include a dogfight training. I want to spawn a pool of enemy jets at one of a predefined position and it have to give the jet one of a predefined movepoint to circle until he detects the player. I'm not the fittest in sqf and that's what I created yet: Pool of enemy jets (included in "init.sqf"): I set 5 "empty markers" to spawn on and 5 to move on at the map and included them in "init.sqf": After that I wrote a script to pick all three randomly and set the variables in my "cas.sqf"-file: Until here it worked fine. The script picks randomly the units and positions. Now the problem is to spawn it in and there I depair. =( I tried it like that... _jet = [_randomAirSpawn, "0", _randomAirTarget, east] call BIS_fnc_spawnVehicle; ...and nothing happens. =( And after that I've no idea how to give a waypoint to "_jet". What am I doing wrong?
  8. Hi, there. I am trying to make two "factories" in my mission - one producing fuel and the other vehicle ammo points. Both factories should produce a box filled with fuel and "ammo points" respectively. The fuel and ammo points use ACE3 framework. For the fuel factory I made these script and it works perfectly (executed via initServer) : while {true} do { sleep 1800; _fuel = "CargoNet_01_barrels_F" createVehicle [4694.33,9483.27,0]; [_fuel, 1000] call ace_refuel_fnc_makeSource; _marker = createMarker ["Fuel Produced!", [4697.51,9475.91,0]]; _marker setMarkerType "loc_Truck"; sleep 300; deleteMarker "Fuel Produced!" }; Every half hour it produces one barrel with 1000 fuel (ACE). I tried to make the same thing with ammo points for vehicle rearming but no success. I am trying to implement ACE3 Rearm framework code (taken from https://ace3.acemod.org/wiki/framework/rearm-framework.html) : while {true} do { sleep 600; _ammobox = "CargoNet_01_box_F" createVehicle [5058.03,6888.37,0]; _ammobox = setVariable ["ace_rearm_isSupplyVehicle",true]; [_ammobox, 1200] call ace_rearm_fnc_setSupplyCount; _marker = createMarker ["Ammo Produced!", [5056.13,6886.58,0]]; _marker setMarkerType "loc_Truck"; sleep 300; deleteMarker "Ammo Produced!" }; But it doesn't spawn anything, it doesn't show any error and I have no clue why isn't working. Big thanks to everyone who wants to help a big script nOOb like myself.
  9. I'm trying to edit the autorun script from [Release] Auto Run Script I want to set the keys that interrupt auto running to be only Shift, Tab, W, A, S, and D, but it seems that only Shift and WASD work. Any idea why? initPlayerLocal.sqf: //-------------------------AUTORUN------------------------------------- if (hasInterface) then{ waitUntil {!isNull findDisplay 46}; (findDisplay 46) displayAddEventHandler ["KeyDown", { if (_this select 1 == (actionKeys 'uavView') select 0) then { if (isNil "AR_active") then {AR_active = false}; if (AR_active) exitWith {AR_active = false}; if (!isNull objectParent player) exitWith {}; if (surfaceIsWater (getPos player)) exitWith {}; _legdamage = player getHit "legs"; AR_active = true; AR_weapon = currentWeapon player; AR_animation = switch (true) do { case (AR_weapon isEqualTo ""): {"AmovPercMevaSnonWnonDf"}; case (AR_weapon isEqualTo (handgunWeapon player)): {"AmovPercMevaSlowWpstDf"}; case (AR_weapon isEqualTo (primaryWeapon player)): {"AmovPercMevaSlowWrflDf"}; case (AR_weapon isEqualTo (secondaryWeapon player)): {"AmovPercMevaSlowWlnrDf"}; }; player addEventHandler ["AnimDone", { if ((!AR_active) || {!((currentWeapon player) isEqualTo AR_weapon)} || {!isNull objectParent player} || {surfaceIsWater (getPos player)} || {_this select 1 == AR_animation && speed (vehicle player) <= 0}) exitWith { player removeEventHandler ["AnimDone", _thisEventHandler]; AR_active = false; AR_weapon = nil; AR_animation = nil; }; player playMoveNow AR_animation; }]; player playMoveNow AR_animation; }; }]; // Stop running (uavView = Tab) (findDisplay 46) displayAddEventHandler ["KeyDown", { if ((_this select 1 == (actionKeys 'MoveForward') select 0) || (_this select 1 == (actionKeys 'vehicleTurbo') select 0) || (_this select 1 == (actionKeys 'uavView') select 0) || (_this select 1 == (actionKeys 'MoveBack') select 0) || (_this select 1 == (actionKeys 'TurnRight') select 0) || (_this select 1 == (actionKeys 'TurnLeft') select 0)) then { if (AR_active) then {AR_active = false}; }; }]; };
  10. I can't for the life of me figure out how to set a distance condition on the 3den Enhanced add actions. I don't want players to be able to see it from miles away as long as they are scrolling. I know it should be ran on "condition show" but I don't know exactly what to put there: Any help would be much appreciated. Thanks
  11. So I’m new to coding in general and thought I’d try out scripting in arma 3, I have written code but it does not do as intended. And I don’t even know if I’m using the right commands, I’m done trying to rack my brain scouring BI script command list and random YouTube videos if anyone know how to achieve this please post it here or reference me to where I can get help. so here’s what I want to do: 1. Give variable name in Eden editor. 2. Get variable name given in Eden editor for reference in script as a “class”. 3. Use variable name “class” to run a specific script. plot example: Object (unit) variable name given in editor = Assault //in script code to get the variable name of “This” unit. code to check if the variable name is equal to a specific class name. code that executes another code if the check returns true. if you have any insight on how to achieve this or even close to it please reply
  12. Greetings Community, I needed a gas mask overlay script for a MP mission I'm making. Unfortunately, I couldn't find anything that works across respawns... so I modified the overlay part of the script made by ALIAS - "Radiation - DEMO", after heavy modification the overlay is now MP compatible. There are currently some issues, which I hope I can resolve in near future: * Gas mask overlay will remain after respawn until the player equips and then unequips the "Gas mask" * For some reason the script doesn't work with the "Contact DLC" gas masks. It actually works. It appears the unit (cbrn_specialist) spawns with "G_AirPurifyingRespirator_01_nofilter_F" and later respawns with "G_AirPurifyingRespirator_01_F", keep that in mind. Feel free to contribute, I'm stuck as it is. I'll provide further updates in the github repository Enjoy! Modified multiplayer compatible overlay script. https://github.com/SubXi/arma3-2d-mask-overlay Original script: https://steamcommunity.com/sharedfiles/filedetails/?id=909790601
  13. Hi guys, I'm creating a fun map for my friends and after destroying a unit or vehicle I cannot hack UAV or operate another uav. UAV terminal disables. Here is a video: Arma 3 Editor problem. (youtube) Can you help me about it?
  14. I have created a simple menu. I want every player to be able to bring it up and use it with a scroll wheel when they enter the server. I put addAction into initPlayerLocal.sqf and added a hint as a run marker. But when I enter the server I get the message but no option to add. I ran my addAction code in the debug console and it proved that it works. How do I get the option to be added automatically for each player entering the server?
  15. JBOY Mace Trap for Prairie Fire is released! The jungles of Nam just got a little more dangerous! This is not MP tested yet, but hopefully will work. Please report any bugs found in this thread. Fun release vid: Editor demonstration showing how to set up mace traps: Original pre-release teaser video: Get sample mission here: https://www.dropbox.com/s/erki8qb50f9his9/JBOY_MacePunjiTrapDemo.vn_khe_sanh.7z?dl=0 Credits: Savage Game Design for objects and voice files used in the script. Bohemia Interactive for voice files and sound fx. How to add Mace Traps to mission in the Editor: Copy the JBOY folder from sample mission into your mission folder. Include these two lines (copy from sample mission init.sqf) into you init.sqf file. // ********************************************************************** // Compile JBOY functions // ********************************************************************** _n = execVM "JBOY\JBOY_compileFuncs.sqf"; // Compile general JBOY functions call compile preprocessFile "JBOY\mace\compileMaceScripts.sqf"; // Compile all Mace functions Place a Whip Trap object in the editor. The direction you set the trap will be the direction the mace will swing. Note that AI may be inclined to walk around the trap, so you might want to place more objects on map to funnel the AI path into the trap. In the Whip Trap object's init field, put the following code: [this,'WEST'] spawn {sleep 3; _this spawn JBOY_maceTrapCreate;}; The second parameter above determines who can activate the trap. This script creates a trigger for the trap, so these are the values you canuse for this parameter: "EAST", "WEST", "GUER", "CIV", "LOGIC", "ANY", "ANYPLAYER" For a Prairie Fire mission you might want to set it to WEST so only West units activate the trap. This simulates the locals (VC and Civs) knowing to avoid the trap.
  16. Does it work in multiplayer? Yes, MultiPlayer and SinglePlayer. What does this script/function do? This script requests a standard vehicle (unarmed) airdrop for moving purposes on player position. If there is enough space on the airdrop plane, it parachutes 2 vehicles. Supported factions and vehicles BLUFOR NATO (Blackfish NATO Apex Expansion, this place can only fit 1 Hunter or 2 Prowlers as unarmed vehicles) BLU_F BLU_T_F BLU_W_F → 1 Hunter or 2 Prowlers (random) BLUFOR RHS FACTIONS (cargo comes in a C-130 of RHS USAF mod) rhs_faction_usarmy_d rhs_faction_usmc_d rhs_faction_usarmy_wd rhs_faction_usmc_wd → 2 Unarmed Humvee INDEPENDENT (Blackfish NATO Apex Expansion) IND_F IND_E_F → 1 Strider OPFOR CSAT (Y-32 Xi'an Apex Expansion, this plane it only fits one vehicle) OPF_F OPF_T_F OPF_R_F → 1 Qilin (unarmed) OPFOR RHS FACTIONS (cargo comes in a Blackfish NATO Apex Expansion as there is no RHS AFRF plane for cargo (Y-32 Xi'an did not fit GAZ vehicle)) rhs_faction_msv rhs_faction_vdv → 1 GAZ (unarmed, green) How do I call the script? [player] execVM "vehicleDrop.sqf"; vehicleDrop.sqf //Uncomment following if used as function //_unit = param[0]; //Uncomment following if used as script _unit = _this select 0; _unitPos = position _unit; _randomTransportPos = [[_unitPos select 0, _unitPos select 1, 800], 3000, random 360] call BIS_fnc_relPos; _sideUnit = side _unit; _factionUnit = faction _unit; _vehicleType = 0; _transportType = "B_T_VTOL_01_vehicle_F"; switch(_factionUnit) do { //Vanilla units case "BLU_F": { _vehicleType = ["B_MRAP_01_F","B_LSV_01_unarmed_F"] call BIS_fnc_selectRandom; }; case "BLU_T_F"; case "BLU_W_F": { _vehicleType = ["B_T_MRAP_01_F","B_T_LSV_01_unarmed_F"] call BIS_fnc_selectRandom; }; case "OPF_F": { _vehicleType = "O_LSV_02_unarmed_F"; _transportType = "O_T_VTOL_02_vehicle_dynamicLoadout_F"; }; case "OPF_T_F"; case "OPF_R_F": { _vehicleType = "O_T_LSV_02_unarmed_F"; _transportType = "O_T_VTOL_02_vehicle_dynamicLoadout_F"; }; case "IND_F ": { _vehicleType = "I_MRAP_03_F"; }; case "IND_E_F": { _vehicleType = "I_E_Van_02_vehicle_F"; }; //RHS units case "rhs_faction_usarmy_d"; case "rhs_faction_usmc_d": { _vehicleType = "rhsusf_m1043_d"; _transportType = "RHS_C130J_Cargo"; }; case "rhs_faction_usarmy_wd"; case "rhs_faction_usmc_wd": { _vehicleType = "rhsusf_m1043_w"; _transportType = "RHS_C130J_Cargo"; }; case "rhs_faction_msv"; case "rhs_faction_vdv": { _vehicleType = "rhs_tigr_msv"; }; }; //Creating transport for cargo drop _transportArray = [_randomTransportPos, random 360, _transportType, _sideUnit] call BIS_fnc_spawnVehicle; _transportVeh = _transportArray select 0; _transportGrp = _transportArray select 2; //Support call _unit sideChat format["Crossroad this is %1 requesting vehicle drop at grid %2. Over.", name _unit, mapGridPosition _unitPos]; sleep 5; [_sideUnit, "HQ"] sideChat format["Solid copy %1, Buzzard it's 1 click out. ETA 1 minute.", name _unit]; //Spawning cargo and loading _cargoVehicle = _vehicleType createVehicle [0,0,1000]; _transportVeh setVehicleCargo _cargoVehicle; _cargoVehicle2 = _vehicleType createVehicle [20,20,1000]; if ((_transportVeh canVehicleCargo _cargoVehicle2) select 1) then { _transportVeh setVehicleCargo _cargoVehicle2; } else { deleteVehicle _cargoVehicle2; }; //Setting waypoints _waypoint = _transportGrp addWaypoint [_unitPos, 0]; _waypoint setWaypointBehaviour "CARELESS"; _waypoint setWaypointCombatMode "NOCHANGE"; _waypoint setWaypointSpeed "FULL"; _waypoint setWaypointType "MOVE"; _waypoint setWaypointStatements ["_transportVeh flyInHeight 200",""]; //Go to drop zone _transportGrp setCurrentWaypoint [_transportGrp, 0]; waitUntil { (_transportVeh distance _unitPos) < 200 }; //Drop cargo _transportVeh sideChat "Buzzard is making the drop. Code is purple, Good luck guys."; _transportVeh setVehicleCargo objNull; _transportVeh setVehicleCargo objNull; //Go away _waypoint2 = _transportGrp addWaypoint [[0,0,1000], 1]; _waypoint2 setWaypointBehaviour "CARELESS"; _waypoint2 setWaypointCombatMode "NOCHANGE"; _waypoint2 setWaypointSpeed "FULL"; _waypoint2 setWaypointType "MOVE"; _waypoint2 setWaypointStatements ["true",""]; _transportGrp setCurrentWaypoint [_transportGrp, 1]; waitUntil { (getPosATL _cargoVehicle) select 2 < 10 }; Signal = "SmokeShellPurple" createVehicle position _cargoVehicle; Signal = "SmokeShellPurple" createVehicle position _cargoVehicle2; sleep 30; //Cleanup {deleteVehicle _x} forEach (crew _transportVeh) + [_transportVeh];
  17. What does this script do? This script creates a minefield with a random number of mines and IED, positioning them in a random way inside the given area. Does not include APERSTripMine (mines with cable) Does it work in multiplayer? Yes, it works in MultiPlayer and SinglePlayer Parameters _area → Marker → Set a marker area with the size you like in editor _minMinesCount → int → Minimum number of mines you want in the area _maxMinesCount → int → Maximum number of mines you want in the area How do I call the script? Just get into your init.sqf and place it like this, has to be server only. If you have multiple minefields you have to add multiple lines with each marker and number of mines. if (isServer) { ["MarkerName", 10, 30] execVM "randomMinefield.sqf"; }; Next improvements - Will use marker position and specified range manually instead of marker size which is not very handy. randomMinefield.sqf (thanks to Hypoxic125 for the error feedback) //Uncomment following if used as function //params["_area", "_minMinesCount", "_maxMinesCount"]; //Uncomment following if used as script _area = _this select 0; _minMinesCount = _this select 1; _maxMinesCount = _this select 2; _minesArray = ["ATMine","APERSBoundingMine","APERSMine","IEDLandBig_F","IEDUrbanBig_F","IEDUrbanSmall_F","IEDLandSmall_F"]; _minesCountInArea = random[_minMinesCount, _maxMinesCount/2, _maxMinesCount]; _areaDimensions = getMarkerSize _markerArea; _minesPositionRange = _areaDimensions select 0; //Creating random position and spawning mines for "_i" from 0 to _minesCountInArea - 1 do { _randomPos = [[_markerArea], []] call BIS_fnc_randomPos; _randomPos set [2, 0]; createMine[selectRandom _minesArray, _randomPos, [], 0]; }
  18. What does this script do? This script spawns random reinforcements (group from 4 to 10 men) of the desired faction at the given position, and they will automatically redirect to players position (at the moment of script call, as Last Known Position). Does it work in multiplayer? Yes, it works in MultiPlayer and SinglePlayer Parameters _faction → String → Faction (see below) _sideReinforcements → Side → Side of reinforcements of which can be → west, east, independent _spawnPosition → Position → Center position of where you want to spawn reinforcements _rangeOfSpawn → int → Range of spawn from spawnPosition (if you like to narrow spawn just set this as 1) _addVehicle → Bool → Add a support vehicle Do you think side can be redundant? Maybe, but faction has been added secondly as I didn't want plain CSAT reinforcements when I'm playing on Livonia with Specnaz units, you know? I know not all RHS units have been added, I probably will, no guarantee. If you do script, you can.. Just look at the code, it's easy. Supported Factions SUPPORTED VANILLA FACTIONS: BLU_F NATO (standard) OPF_F CSAT (standard) IND_F AAF (standard) BLU_T_F NATO (Apex, pacific) OPF_T_F CSAT (Apex, pacific) IND_C_F Syndikat (Apex) BLU_W_F NATO Woodland (Contact) OPF_R_F Specnaz (Contact) IND_E_F LDF (Contact) SUPPORTED MODS FACTIONS: rhs_faction_usarmy_d RHS USAF (USA Army D OCP) rhs_faction_usarmy_wd RHS USAF (USA Army D UCP) rhs_faction_usmc_d RHS USAF (USA Army D MARPAT) rhs_faction_usmc_wd RHS USAF (USA Army WD MARPAT) rhs_faction_msv RHS AFRF (Russia MSV EMR) rhs_faction_vdv RHS AFRF (Russia VDV DES) rhssaf_faction_army RHS SAF (KOV Digital) Tban EricJ Taliban Units Edit: Added Syndikat faction IND_C_F (26/02/2022) How do I call the script? Let's say I am a BLUFOR player and I call for reinforcements, just put the following line in a activation trigger line: ["BLU_F", west, getMarkerPos "spawnMarkerPoint", 1, true] execVM "reinforcements.sqf"; Let's say RHS AFRF (Russians) enemy called reinforcements instead, those reinforcement will proceed to my position to engage: ["rhs_faction_msv", east, getMarkerPos "russianReinforcementsSpawnMarker", 1, false] execVM "reinforcements.sqf"; reinforcements.sqf //Uncomment following if used as function //params["_faction","_sideReinforcements","_spawnPosition", "_rangeOfSpawn","_addVehicle"]; //Uncomment following if used as script _faction = _this select 0; _sideReinforcements = _this select 1; _spawnPosition = _this select 2; _rangeOfSpawn = _this select 3; _addVehicle = _this select 4; _unitsArray = []; _vehicleArray = []; _unitsArrayToSpawn = []; _counter = 0; //Parsing factions switch (_faction) do { //Vanilla case "BLU_F": //NATO (standard) { _unitsArray = [ "B_Soldier_SL_F", "B_Medic_F", "B_Soldier_GL_F", "B_Soldier_F", "B_HeavyGunner_F", "B_Soldier_LAT_F", "B_Soldier_M_F", "B_Soldier_AR_F", "B_Soldier_LAT2_F", "B_Soldier_UAV_F" ]; _vehicleArray = [ "B_MRAP_01_hmg_F" ]; }; case "OPF_F": //CSAT (standard) { _unitsArray = [ "O_Soldier_SL_F", "O_Medic_F", "O_Soldier_HAT_F", "O_Soldier_GL_F", "O_Soldier_F", "O_HeavyGunner_F", "O_Soldier_F", "O_Soldier_M_F", "O_Soldier_AR_F", "O_Soldier_UAV_F" ]; _vehicleArray = [ "O_MRAP_02_hmg_F" ]; }; case "IND_F": //AAF units { _unitsArray = [ "I_Soldier_SL_F", "I_Medic_F", "I_Soldier_GL_F", "I_Soldier_F", "I_Soldier_AR_F", "I_Soldier_F", "I_Soldier_AT_F", "I_Soldier_AA_F", "I_Soldier_M_F", "I_Soldier_UAV_F" ]; _vehicleArray = [ "I_MRAP_03_hmg_F" ]; }; case "IND_C_F": //Syndikat units { _unitsArray = [ "I_C_Soldier_Para_1_F", "I_C_Soldier_Para_2_F", "I_C_Soldier_Bandit_7_F", "I_C_Soldier_Bandit_1_F", "I_C_Soldier_Para_5_F", "I_C_Soldier_Bandit_6_F", "I_C_Soldier_Bandit_5_F", "I_C_Soldier_Bandit_4_F", "I_C_Soldier_Para_6_F", "I_C_Soldier_Para_3_F" ]; _vehicleArray = [ "I_C_Offroad_02_AT_F" ]; }; case "OPF_T_F": //Chinese CSAT (Apex) { _unitsArray = [ "O_T_Soldier_SL_F", "O_T_Medic_F", "O_T_Soldier_HAT_F", "O_T_Soldier_GL_F", "O_T_Soldier_F", "O_T_HeavyGunner_F", "O_T_Soldier_F", "O_T_Soldier_M_F", "O_T_Soldier_AR_F", "O_T_Soldier_UAV_F" ]; _vehicleArray = [ "O_T_MRAP_02_hmg_ghex_F" ]; }; case "BLU_T_F": //NATO Pacific (Apex) { _unitsArray = [ "B_T_Soldier_SL_F", "B_T_Medic_F", "B_T_Soldier_GL_F", "B_T_Soldier_F", "B_T_HeavyGunner_F", "B_T_Soldier_LAT_F", "B_T_Soldier_M_F", "B_T_Soldier_AR_F", "B_T_Soldier_LAT2_F", "B_T_Soldier_UAV_F" ]; _vehicleArray = [ "B_T_MRAP_01_hmg_F" ]; }; case "BLU_W_F": //NATO (Contact) { _unitsArray = [ "B_W_Soldier_SL_F", "B_W_Medic_F", "B_W_Soldier_GL_F", "B_W_Soldier_F", "B_W_HeavyGunner_F", "B_W_Soldier_LAT_F", "B_W_Soldier_M_F", "B_W_Soldier_AR_F", "B_W_Soldier_LAT2_F", "B_W_Soldier_UAV_F" ]; _vehicleArray = [ "B_T_MRAP_01_hmg_F" ]; }; case "OPF_R_F": //Specnaz (Contact) { _unitsArray = [ "O_R_Soldier_SL_F", "O_R_Medic_F", "O_R_Soldier_LAT_F", "O_R_Soldier_GL_F", "O_R_JTAC_F", "O_R_JTAC_F", "O_R_JTAC_F", "O_R_Soldier_M_F", "O_R_Soldier_AR_F", "O_R_JTAC_F" ]; _vehicleArray = [ "O_T_LSV_02_armed_F" ]; }; case "INF_E_F": //LDF (Contact) { _unitsArray = [ "I_E_Soldier_TL_F", "I_E_Medic_F", "I_E_Soldier_GL_F", "I_E_Soldier_F", "I_E_Soldier_AR_F", "I_E_Soldier_F", "I_E_Soldier_AT_F", "I_E_Soldier_AA_F", "I_E_Soldier_M_F", "I_E_Soldier_UAV_F" ]; _vehicleArray = [ "I_E_Offroad_01_covered_F" ]; }; case "rhs_faction_usarmy_d": //RHS USAF (USA Army D OCP) { _unitsArray = [ "rhsusf_army_ocp_squadleader", "rhsusf_army_ocp_medic", "rhsusf_army_ocp_grenadier", "rhsusf_army_ocp_rifleman", "rhsusf_army_ocp_autorifleman", "rhsusf_army_ocp_rifleman", "rhsusf_army_ocp_javelin", "rhsusf_army_ocp_marksman", "rhsusf_army_ocp_aa", "rhsusf_army_ocp_uav" ]; _vehicleArray = [ "rhsusf_m1025_d_m2" ]; }; case "rhs_faction_usarmy_wd": //RHS USAF (USA Army W UCP) { _unitsArray = [ "rhsusf_army_ucp_squadleader", "rhsusf_army_ucp_medic", "rhsusf_army_ucp_grenadier", "rhsusf_army_ucp_rifleman", "rhsusf_army_ucp_autorifleman", "rhsusf_army_ucp_rifleman", "rhsusf_army_ucp_javelin", "rhsusf_army_ucp_marksman", "rhsusf_army_ucp_aa", "rhsusf_army_ucp_uav" ]; _vehicleArray = [ "rhsusf_m1025_w_m2" ]; }; case "rhs_faction_usmc_d": //RHS USAF (USMC D) { _unitsArray = [ "rhsusf_usmc_marpat_d_squadleader", "rhsusf_navy_sarc_d_fast", "rhsusf_usmc_marpat_d_grenadier", "rhsusf_usmc_marpat_d_rifleman", "rhsusf_usmc_marpat_d_autorifleman", "rhsusf_usmc_marpat_d_rifleman", "rhsusf_usmc_marpat_d_javelin", "rhsusf_usmc_marpat_d_marksman", "rhsusf_usmc_marpat_d_stinger", "rhsusf_usmc_marpat_d_uav" ]; _vehicleArray = [ "rhsusf_m1025_d_s_m2" ]; }; case "rhs_faction_usmc_wd": //RHS USAF (USMC WD MARPAT) { _unitsArray = [ "rhsusf_usmc_marpat_wd_squadleader", "rhsusf_navy_sarc_wd_fast", "rhsusf_usmc_marpat_wd_grenadier", "rhsusf_usmc_marpat_wd_rifleman", "rhsusf_usmc_marpat_wd_autorifleman", "rhsusf_usmc_marpat_wd_rifleman", "rhsusf_usmc_marpat_wd_javelin", "rhsusf_usmc_marpat_wd_marksman", "rhsusf_usmc_marpat_wd_stinger", "rhsusf_usmc_marpat_wd_uav" ]; _vehicleArray = [ "rhsusf_m1025_w_s_m2" ]; }; case "rhs_faction_msv": { _unitsArray = [ "rhs_msv_emr_sergeant", "rhs_msv_emr_medic", "rhs_msv_emr_grenadier_rpg", "rhs_msv_emr_rifleman", "rhs_msv_emr_arifleman_rpk", "rhs_msv_emr_rifleman", "rhs_msv_emr_rifleman", "rhs_msv_emr_aa", "rhs_msv_emr_LAT", "rhs_msv_emr_marksman" ]; _vehicleArray = [ "rhs_tigr_sts_msv" ]; }; case "rhs_faction_vdv": { _unitsArray = [ "rhs_vdv_des_sergeant", "rhs_vdv_des_medic", "rhs_vdv_des_grenadier_rpg", "rhs_vdv_des_rifleman", "rhs_vdv_des_arifleman_rpk", "rhs_vdv_des_rifleman", "rhs_vdv_des_rifleman", "rhs_vdv_des_LAT", "rhs_vdv_des_aa", "rhs_vdv_des_marksman" ]; _vehicleArray = [ "rhs_tigr_sts_3camo_msv" ]; }; case "Tban": { _unitsArray = [ "TBan_Fighter6", "TBan_Fighter5", "TBan_Fighter4", "TBan_Fighter3NH", "TBan_Fighter2NH", "TBan_Fighter1NH", "TBan_Fighter3", "TBan_Fighter2", "TBan_Fighter1" ]; _vehicleArray = [ "Tban_O_Offroad_01_F" ]; }; case "rhssaf_faction_army": { _unitsArray = [ "rhssaf_army_m10_digital_sq_Lead", "rhssaf_army_m10_digital_medic", "rhssaf_army_m10_digital_gl", "rhssaf_army_m10_digital_rifleman_m70", "rhssaf_army_m10_digital_mgun_m84", "rhssaf_army_m10_digital_rifleman_m70", "rhssaf_army_m10_digital_rifleman_m70", "rhssaf_army_m10_digital_spec_aa", "rhssaf_army_m10_digital_spec_at", "rhssaf_army_m10_digital_sniper_m76" ]; _vehicleArray = [ "rhssaf_m1151_olive_pkm" ]; }; }; _groupSize = [4,10] call BIS_fnc_randomInt; _unitsArray resize _groupSize; //Random position around given position _randomSpawnPosition = [_spawnPosition, random _rangeOfSpawn, random 360] call BIS_fnc_relPos; //Spawning group _spawnedGroup = [_randomSpawnPosition, _sideReinforcements, _unitsArray] call BIS_fnc_spawnGroup; _waypoint = _spawnedGroup addWaypoint [position (allPlayers select 0), 0]; _waypoint setWaypointBehaviour "AWARE"; _waypoint setWaypointCombatMode "RED"; _waypoint setWaypointSpeed "FULL"; _waypoint setWaypointType "MOVE"; _waypoint setWaypointStatements ["true",""]; _spawnedGroup setCurrentWaypoint [_spawnedGroup, 0]; //Spawning vehicle if (_addVehicle) then { _vehGroup = [_randomSpawnPosition, _sideReinforcements, _vehicleArray] call BIS_fnc_spawnGroup; _wp = _vehGroup addWaypoint [position (allPlayers select 0), 0]; _wp setWaypointBehaviour "AWARE"; _wp setWaypointCombatMode "RED"; _wp setWaypointSpeed "FULL"; _wp setWaypointType "MOVE"; _wp setWaypointStatements ["true",""]; _vehGroup setCurrentWaypoint [_vehGroup, 0]; };
  19. Hello, there are many ways to create an IED script but many things involve public or external variables, triggers and many stuff that makes it complex. This is a simple script that you also can use as function for multiple objects and triggers the IED automatically with just one script line inside the object you'd like to blow up. Does this work in multiplayer? Yes, it works in MultiPlayer and SinglePlayer How does this script work? As soon as AI or a player walks near it, it just explodes, leaving scripted debriefs and craters based on explosion intensity. Parameters It accept 3 parameters: - currentObject → it is the object in the editor that you trigger to explode; - iedIntensity → It used 3 level of intensity (how big is the blast), obviously you can put 1, 2 or 3. - isCar → boolean value (true, false) if is a car, if true keeps wreck of the vehicle. How do I call the script? Just open the object you'd like to have an IED and put the following line: [this, 1, true] execVM "iedBlast.sqf"; iedBlast.sqf //Uncomment following if used as function //params["_currentObject","_iedIntensity","_isCar"]; //Uncomment following if used as script _currentObject = _this select 0; _iedIntensity = _this select 1; _isCar = _this select 2; _positionCrater = getPosATL(_currentObject); _debriesCount = 0; _exploded = false; while { !_exploded } do { //Check if players are around { if((_x distance _currentObject) < 5) then { _exploded = true; }; } forEach allUnits; if(_exploded) then { switch(_iedIntensity) do { case 1: { _bombType = "M_Titan_AT" createVehicle (getPos _currentObject); soilCrater = "Land_ShellCrater_01_F" createVehicle ([0,0,0]); _debriesCount = 3; }; case 2: { _bombType = "Bo_Mk82" createVehicle (getPos _currentObject); soilCrater = "Land_ShellCrater_02_small_F" createVehicle ([0,0,0]); _debriesCount = 10; }; case 3: { _bombType = "IEDLandBig_Remote_Ammo" createVehicle (getPos _currentObject); soilCrater = "Land_ShellCrater_02_large_F" createVehicle ([0,0,0]); _debriesCount = 15; }; }; soilCrater setPos _positionCrater; //---Keep Car Wreck--- if(!_isCar) then { deletevehicle _currentObject; } else { _currentObject setDammage 1; }; //---Spawning debries--- //Land_ShellCrater_02_debris_F for "_i" from 1 to _debriesCount do { _distance = [2, _debriesCount] call BIS_fnc_randomInt; _direction = [0,359] call BIS_fnc_randomInt; _randomPos = [_positionCrater, _distance, _direction] call BIS_fnc_relPos; "Land_ShellCrater_02_debris_F" createVehicle _randomPos; }; }; };
  20. Hello, this is a simple script to halo jump a player. Does it work in Multiplayer? Yes, MultiPlayer and SinglePlayer. What does this script do? This script allows a player to HALO on a given point on a map. How do I use this script? Place the script in Select an object on the editor and place the following line into its init to allow HALO from the action menu: (remove <t color='#37A9E7'></t> to show it as plain white like any other action) //If script is in scenario root directory this addAction["<t color='#37A9E7'>H.A.L.O. Jump</t>","[player] execVM 'halo.sqf';"]; //If script is in other scenario directory this addAction["<t color='#37A9E7'>H.A.L.O. Jump</t>","[player] execVM 'yourFolder\halo.sqf';"]; halo.sqf //Uncomment following line if used as function //_unit = param[0]; //Uncomment following line if used as script _unit = _this select 0; _haloAltitude = 1000; //Opening map and handling click openMap true; mapclick = false; onMapSingleClick "clickpos = _pos; mapclick = true; onMapSingleClick """";true;"; waituntil {mapclick}; _haloLocation = clickpos; _unitLoadout = getUnitLoadout _unit; cutText ["H.A.L.O. in progress...", "BLACK OUT", 1]; sleep 1; openMap false; _unit setPos _haloLocation; _unit addBackpack "B_Parachute"; //Halo [_unit, _haloAltitude] call bis_fnc_halo; sleep 2; cutText ["", "BLACK IN", 1]; waitUntil {(getpos _unit select 2) < 2}; //Giving loadout back sleep 1; _unit setUnitLoadout _unitLoadout;
  21. Hello everyone, I've created this 2 scripts/functions because I was bored to find (for an hour) and kill the last enemy in a sector to get control of it, even though I had a hundred allies in it. I recommend to use both scripts as functions and not scripts, because both can be called multiple times and having functions can be a lot more handy if you guys are scripting. Does it work in multiplayer? Yes, MultiPlayer and SinglePlayer. What does this script/function do? This script accepts 2 parameters: - Position (center position of the sector) - Range (Ellipse range in meters) It calculates (by counting infantry of each side inside the sector) which side is owning the given sector and returns it as text. How does it calculate the infantry inside? It calls a second script which is getUnitsCount. This script can be also called by itself if you need it somewhere else, it accepts 3 parameters: - Position - Range - Side → of which you want to get the units count inside the area. If AI vehicles are inside the area, crew will be calculated. getUnitsCount returns the sum of the units, therefore an integer value. Return values - "west" → If BLUFOR are owning the sector; - "east" → If OPFOR are owning the sector; - "independent" → If Independents are owning the sector; - "civilian" → If no-one is owning the sector, which means not a single west, east or independent unit is inside the area, therefore civilians own it or it's currently contended (same units for each side) How do I call the script? [_positionParameter, _rangeInMeters] execVM "getCurrentOwnership.sqf"; How do I use it in a trigger? Simply put a trigger with the following condition, obviously on the right hand side instead of west you can use civilian, independent or east if you'd like to check if the given side has ownership of the area. It can be also called from other script if you like to do so. Make sure the trigger is ServerOnly!!!!! ([_positionParameter, _rangeInMeters] execVM "getCurrentOwnership.sqf") == "west" ----------------- SCRIPTS ----------------- getUnitsCount.sqf //Uncomment following if using as function //params [ "_position", "_distance", "_side" ]; //Uncomment following if using as script _position = _this select 0; _distance = _this select 1; _side = _this select 3; _infantrycount = 0; _countedvehicles = 0; _vehiclecrewcount = 0; _infantrycount = _side countSide ( [ _position nearEntities [ "Man", _distance],{ !(captive _x) && ((getpos _x) select 2 < 100) }] call BIS_fnc_conditionalSelect ); _countedvehicles = [ ( _position nearEntities [ ["Car", "Tank", "Air"], _distance] ), { ((getpos _x) select 2 < 750) && count (crew _x) > 0 } ] call BIS_fnc_conditionalSelect; _vehiclecrewcount = 0; { _vehiclecrewcount = _vehiclecrewcount + (_side countSide (crew _x)) } foreach _countedvehicles; //Return value (_infantrycount + _vehiclecrewcount) getCurrentOwnership.sqf (updated 08 march 2023) //Uncomment following if using as function //params["_position","_range"]; //Uncomment following if using as script _position = _this select 0; _range = _this select 1; _westCount = [_position, _range, west] call OFF_fnc_getUnitsCount; _eastCount = [_position, _range, east] call OFF_fnc_getUnitsCount; _indeCount = [_position, _range, independent] call OFF_fnc_getUnitsCount; _result = 0; if (_westCount > _eastCount && _westCount > _indeCount) then { _result = "west"; }; if (_westCount > _eastCount && _westCount < _indeCount) then { _result = "independent"; }; if (_eastCount > _westCount && _eastCount > _indeCount) then { _result = "east"; }; if (_eastCount > _westCount && _eastCount < _indeCount) then { _result = "independent"; }; if (_indeCount > _westCount && _indeCount > _eastCount) then { _result = "independent"; }; if (_indeCount > _westCount && _indeCount < _eastCount) then { _result = "east"; }; _result;
  22. Hi everyone, I've created this script to create a random weather and random forecasts each time you start a mission. It automatically passes all weather data to clients. The script is able to filter different kinds of weather based on supported terrain position: - Mediterranean islands; - Europe; - Middle east; Just put the script in the mission directory with the name you prefer and call it from the init.sqf file with the following. init.sqf if (isServer) then { [] execVM "nameYouPrefer.sqf"; }; Hope you enjoy. randomWeather.sqf /* Sets random weather and forecasts based on "real" world positioning. It supports add-ons maps. * Ombra 12/06/2020 * latest update 18/02/2022 */ CONST_MAX_RAIN_LEVEL = 0.6; //To avoid fps issues CONST_MAX_FOG_LEVEL = 0.6; //To prevent annoying fog _currentMap = worldName; _probabilityFog = random[0,0.5,1]; _probabilityRain = random[0,0.5,1]; //Declaring variables _currentOvercastCoef = 0; _forecastOvercastCoef = 0; _currentRainCoef = 0; _forecastRainCoef = 0; _currentFogCoef = 0; _forecastFogCoef = 0; _windSpeedN = 0; _windSpeedE = 0; _windDirection = 0; switch (_currentMap) do { //Calculating weather for desert terrains case "MCN_Aliabad"; case "takistan"; case "zargabad"; case "Mountains_ACR"; case "fallujah"; case "kunduz"; case "Shapur_BAF": { //Probability of 30% for deserts to encounter overcast (and therefore rain) if (_probabilityRain > 0.7) then { _currentOvercastCoef = random[0,0.5,1]; } else { _currentOvercastCoef = random[0,0.2,0.5]; }; _forecastOvercastCoef = random[0,0.5,1]; //Current rain only if overcast > 0.6 if (_currentOvercastCoef > 0.6) then { _currentRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; } else { _currentRainCoef = 0; }; _forecastRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; _currentFogCoef = 0; _forecastFogCoef = 0; //Some wind like sandstorms _windSpeedN = random[0,10,30]; _windSpeedE = random[0,10,30]; _windDirection = random[0, 180, 360]; }; //Calculating weather for european terrains (Vanilla and CUP) case "Bootcamp_ACR"; case "Woodland_ACR"; case "chernarus"; case "chernarus_summer"; case "Chernarus_Winter"; case "ProvingGrounds_PMC"; case "Enoch": { //Probability of 60% for northern EU to encounter overcast (and therefore rain) if (_probabilityRain > 0.4) then { _currentOvercastCoef = random[0,0.5,1]; } else { _currentOvercastCoef = random[0,0.2,0.5]; }; _currentOvercastCoef = random[0,0.5,1]; _forecastOvercastCoef = random[0,0.5,1]; if (_currentOvercastCoef > 0.6) then { _currentRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; } else { _currentRainCoef = 0; }; _forecastRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; //Probability of 30% for northern EU to encounter fog if (_probabilityFog > 0.7) then { _currentFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; } else { _currentFogCoef = 0; }; _forecastFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; //Not much wind in continental land _windSpeedN = random[0,10,20]; _windSpeedE = random[0,10,20]; _windDirection = random[0, 180, 360]; }; //Calculating weather for mediterranean terrains case "Stratis"; case "Altis"; case "Malden": { //Probability of 50% for northern EU to encounter overcast (and therefore rain) if (_probabilityRain > 0.5) then { _currentOvercastCoef = random[0,0.5,1]; } else { _currentOvercastCoef = random[0,0.2,0.5]; }; _currentOvercastCoef = random[0,0.5,1]; _forecastOvercastCoef = random[0,0.5,1]; if (_currentOvercastCoef > 0.6) then { _currentRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; } else { _currentRainCoef = 0; }; _forecastRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; _currentFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; _forecastFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; //Islands are windy _windSpeedN = random[0,20,40]; _windSpeedE = random[0,20,40]; _windDirection = random[0, 180, 360]; }; case "Tanoa": { //Probability of 80% for jungle areas to encounter overcast (and therefore rain) if (_probabilityRain > 0.2) then { _currentOvercastCoef = random[0,0.5,1]; } else { _currentOvercastCoef = random[0,0.2,0.5]; }; _currentOvercastCoef = random[0,0.5,1]; _forecastOvercastCoef = random[0,0.5,1]; if (_currentOvercastCoef > 0.5) then { _currentRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; } else { _currentRainCoef = 0; }; _forecastRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; //Probability of 20% for jungle areas to encounter fog if (_probabilityFog > 0.8) then { _currentFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; } else { _currentFogCoef = 0; }; _forecastFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; //Islands are windy _windSpeedN = random[0,20,40]; _windSpeedE = random[0,20,40]; _windDirection = random[0, 180, 360]; }; default { //Probability of 50% as default if (_probabilityRain > 0.5) then { _currentOvercastCoef = random[0,0.5,1]; } else { _currentOvercastCoef = random[0,0.2,0.5]; }; _currentOvercastCoef = random[0,0.5,1]; _forecastOvercastCoef = random[0,0.5,1]; if (_currentOvercastCoef > 0.5) then { _currentRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; } else { _currentRainCoef = 0; }; _forecastRainCoef = random[0, CONST_MAX_RAIN_LEVEL/2, CONST_MAX_RAIN_LEVEL]; //Probability of 30% to encounter fog if (_probabilityFog > 0.7) then { _currentFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; } else { _currentFogCoef = 0; }; _forecastFogCoef = random[0, CONST_MAX_FOG_LEVEL/2, CONST_MAX_FOG_LEVEL]; _windSpeedN = random[0,10,20]; _windSpeedE = random[0,10,20]; _windDirection = random[0, 180, 360]; }; }; //Setting weather 0 setOvercast _currentOvercastCoef; 0 setRain _currentRainCoef; 0 setFog _currentFogCoef; setWind [_windSpeedN, _windSpeedE, false]; 0 setWindDir _windDirection; forceWeatherChange; //Setting forecast 3600 setOvercast _forecastOvercastCoef; 3600 setRain _forecastRainCoef; 3600 setFog _forecastFogCoef; Up here it is posted as script but it can also be used as function: [] spawn YourTAG_fnc_randomWeather; Call the script file fn_randomWeather.sqf and place it in a scenario subfolder names functions. Then edit the description.ext file by putting standard function declaring: description.ext class CfgFunctions { class YourTAG { tag = "YourTAG"; class functions { file = "functions"; class randomWeather {}; }; }; }; If you use it in a function way you MUST call it from init.sqf in this way: if (isServer) then { [] spawn OFF_fnc_randomWeather; };
  23. CSWR is an Arma 3 script that allows the Mission Editor to spawn AI units and vehicles (by ground or air paradrop) and makes those groups move randomly to waypoints forever in life, where spawn-points and waypoints are easily pre-defined by Mission Editor through Eden marker's positions. CSWR accepts faction loadout customization, including additional customizations for sniper teams and paratroopers. CSWR almost doesn't change any original Arma AI behavior, saving server performance and Arma 3 integrity. Creation concept: bring life to the mission through non-stop units' movements with some level of unpredictability without losing control of server performance and what AI units can do. Special thanks: To the old (but gold) "T8 Units" script for the inspiration over the years. How to install / Documentation: https://github.com/aldolammel/Arma-3-Controlled-Spawn-And-Waypoints-Randomizr-Script/blob/main/controlled-spawn-and-waypoints-randomizr.stratis/CSWRandomizr/_CSWR_Script_Documentation.pdf What to expect from the CSWR script: No dependencies from other mods or scripts; Manually define which markers the faction can use as spawn-points; Create unlimited different types of spawn-points: Common spawn: for units and ground vehicles; Vehicle spawn: exclusive for ground vehicles; Heli spawn: exclusive for helicopters; Paradrop spawn: for units and ground vehicles; Sectorized spawn: all spawn types can be sectorized to be available only for specific groups/vehicles inside a faction; Spawn-points can be triggered by: Mission starts: right after the mission gets started; Timer delay: a down count; Trigger delay: when some editor's trigger is activated; Target delay: when a specific unit or vehicle or building is killed/destroyed; Once the spawn-points are created, the script will spawn the groups randomly through their faction spawns; There is no re-spawn. Death is death for units and vehicles spawned by CSWR; Vehicles with turrets spawned by CSWR, when damaged, their gunners never leave the vehicle, doing the last standing in combat until death; Manually define which markers will be used as one type of destinations (waypoints) for AI units and vehicles; Create unlimited different types of destination: Move: groups will move randomly through your predefined move-markers; IMPROVED! Watch: sniper groups will search for the best high position to cover one of your predefined watch-markers; Hold: soldiers, civilians, or ground vehicles (mainly tracked ones) will set position facing a specific direction predefined by you with hold-markers; IMPROVED! Occupy: soldiers and civilians will search for a building around a predefined occupy-marker, and will go there, get in and stay; IMPROVED! Sectorized destination: all destination types can be sectorized to be available only for specific groups/vehicles inside a faction; Once the destination markers are created, CSWR will take care of taking (or not) the groups there, randomly; Manually set the number of soldiers, who they are, their loadouts, who belongs in each group type, and even ground vehicles and helicopters; Add or remove Night-Vision-Goggles and Flashlights for one or more factions, easily through "True" or "False" management; There are 7 infantry templates and 8 vehicle templates to customize (with modded or vanilla things) for each faction; Define easily how many AI groups are in-game, what squad types they belong, and their behavior: safe, aware, stealth, combat, chaos. For more details, check the documentation; IMPROVED! Available white and blacklist for buildings and ruins when groups are using Occupy movements; All vehicles and units spawned by CSWR can be (ON/OFF) editable by Zeus; Set if the CSWR should wait for another script load first on the server; Debugging: friendly error handling; Debugging: hint monitor to control some AI numbers; IMPROVED! Debugging: full documentation available. . Video demo: Video installing: Check the file above on GitHub. Check the file above on GitHub. (Above) Editor set if all one side can use night vision goggles (or just parachuters, or only sniper teams), or only flashlights, or both gears or none. If flashlights are available they need to be on all the mission long or just when each AI decides. (Above) WATCH destination (specific for sniper groups) is working much better with high natural terrains, regardless of whether the map is an official one. (Above) Group executing OCCUPY destinations can get in high towers with better distribution positions inside. (Above) Group executing OCCUPY, if they select an acceptable ruin/destroyed building, the group will always get in a crouch in this kind of position. (Above) Even heavy ground vehicles can be paradropped. (Above) All groups paradropped, when touched the ground, they will focus on regrouping with their squad leader before starting their missions. (Above) Helicopters automatically identify where all safe and not busy helipads are to land if they need to rearm, repair, refuel, or heal their wounded crew. Dependencies: None 😉 Download: - On GitHub: https://github.com/aldolammel/Arma-3-Controlled-Spawn-And-Waypoints-Randomizr-Script - On Steam Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=2740912514 Missions using it: Tanks & Helicopters (light): https://steamcommunity.com/sharedfiles/filedetails/?id=2424050518 Escape from Kherson: https://steamcommunity.com/sharedfiles/filedetails/?id=2878171355 Ukrainian ATGM Team: https://steamcommunity.com/sharedfiles/filedetails/?id=2847369831 Fake SDF in Syria: https://steamcommunity.com/sharedfiles/filedetails/?id=2728537885 Tanks Theater: https://steamcommunity.com/sharedfiles/filedetails/?id=2160397214 ISIS VBIED: https://steamcommunity.com/sharedfiles/filedetails/?id=2732654349 - - - - - - - - - - - Changelog: Dec, 1st 2023 | v6.5.1: news, fixes and notes. Known issues: - Watch > Sniper groups still not considering buildings when no natural highlands to take a position for overwatching; - Occupy > If you hide a building and the building can be occupied, the groups will consider that hidden building as a regular place to occupy; Paradrop > When parachuters are civilians, they're crouched right after landing and stay like this forever. - Move Hold > Sometimes tracked vehicles are not facing exactly the marker direction configured by the editor;
  24. Hello everyone, Hope this script helps you in your missions. Feel free to improve my code but, please, don't re-post it on Workshop. Use this thread to share your advice and, if possible, already with your code ideas for fixing/improvement (will be very much appreciated). New features? Why not? Cheers. What to expect from this script AI: With just one unit, it's automatically able to... ...act through a VBIED with its specific behaviors; ...act as a deadman trigger with its specific behaviors; ...act as a suicide bomber with its specific behaviors. Demo: suicidalDoctrine.sqf: Features rules of VBIED method: A suicide operator steers the vehicle bomb (VBIED) to a target and, at the right moment, a remote detonation trigger is pressed by the suicide. All method behaviors are described on the Github readme file. Features rules of Deadman Trigger method: A suicide operator wears a suicidal belt/vest and detonates themselves by releasing a reverse-pressure trigger. All method behaviors are described on the Github readme file. Features rules of Classic Suicide Bomber method: A suicide operator wears a suicidal belt/vest and detonates themselves by releasing a reverse-pressure trigger. All method behaviors are described on the Github readme file. Dependencies: CBA mod; ACE mod; Download: From Github: https://github.com/aldolammel/Arma-3-Suicidal-Doctrine-Script From Steam Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=2739692983 Changelog: 2022-Feb-17, v1.3: news, fixes and notes. Known issues: In Deadman trigger method, when the suicidal is their belt/vest deactivated and, by long distances, they got a non-lethal shot, the suicidal should turn the vest detonation system on, but it's not happening. Although the functionality to lock the steering wheel if the suicide isn't allowed to drive is working, the suicide still insists on being seated in the driver's position. Expected behavior: change to passager seat.
  25. As you can see by the title, I'm trying to make a custom support CAS menu by utilizing the CfgCommunicationMenu. The script that activates after u call in support would make the player say something with apex subtitles and send in chopper support. Problem is, that it seems like the script only activates to whoever calls in the support. What I mean is that the player who called in chopper support would see the apex subtitles and the chopper incoming for CAS. But to the other players, they won't see the apex subtitles and only see the chopper incoming. Is there any way to make the script activates for all players by utilizing the CfgCommunicationMenu? I'm still considered a rookie when it comes to scripting, so expect me to be a little dumb. And this is one of my first posts on the forums.
×