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
    • Vigor
    • DAYZ
    • ARMA 3
    • TAKE ON MARS
    • ARMA 2
    • ARGO
    • YLANDS
  • MOBILE GAMES
    • ARMA MOBILE OPS
    • MINIDAYZ
    • ARMA TACTICS
    • ARMA 2 FIRING RANGE
  • BI MILITARY GAMES FORUMS
  • BOHEMIA INCUBATOR
    • PROJECT LUCIE
  • OTHER BOHEMIA GAMES
    • 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
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Die Hard OFP Lovers' Club's Topics
  • 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

XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 281 results

  1. Project Argo runs nearly like Arma, making the use of scripts possible for custom missions. Third person view was not intended to be used in Argo, however it is possibly accessible using this script: (findDisplay 46) displayAddEventHandler ["KeyDown",{ if ((_this select 1) == 156) then {//I'm using 156 to represent "Enter" on NumPad while {true} do {//Must loop constantly or 3rd person will disable player switchCamera "EXTERNAL"; sleep 0.0005; }; }; }]; I'd like it so that this particular script is "Toggle-able" or enabled/disabled via one key-press, rather than to hold the key down continuously in order for it to do its job .... If anyone has the decent script-expertise and would like to share with me a finished version of what I want, I'd appreciate it! P.S. I would also like a script that allows one to access/open "BIS_fnc_arsenal" anywhere using a specific keyboard key, much like the way to activate third person view, but using the "home" key on NumPad (DIK code 199) instead. Best of regards.
  2. INCONTINENTIA'S UNDERCOVER / CIVILIAN RECRUITMENT This is a complex and performance friendly undercover simulation for players and their AI subordinates. Work as a guerrilla cell, go undercover, recruit comrades, and cause mayhem. SP / Coop and Dedi compatible. (For those of you who've used my previous undercover scripts, this release is a significant upgrade and represents a few hundred hours' work and testing over the last version, so hopefully you'll see the improvement!) Requires: CBA FEATURES General Virtually every factor that can affect your cover (within engine limitations and the caveats mentioned below) has been accounted for. Optimised to the max; should not noticably affect performance at all - no noticeable performance impact even during a stress test of 45+ undercover units simultaneously undercoverising several enemy patrols. Operates primarily on each client - server / client interaction is therefore kept to a minimum even when multiple players are undercover at the same time Compatible with RHS, ACE, ALiVE, Zeus, ASR, bCombat, TPWCAS, VCOM... pretty much everything its been tested on (some factions' helmets and bandannas may not be recognised but the overall effect of this will be minimal - if you desperately want all features, use vanilla or RHS versions of these assets) Comprehensive undercover / incognito simulation - Works on players and their AI group members Quick, easy setup: most aspects of the script are automatically implemented based on the settings you choose Can run in the background even when the mission isn't focused around undercover operations - automatically reduces checking overhead when unit isn't undercover so it should be practically unnoticeable No need to turn the script on or off - it just works No checkboxes, compromised notifications or any other "gamey" stuff; just an optional hint when you're obviously hostile and when you aren't - the rest is up to you Responds to whether the units are in vehicles or on foot, dressed as enemies or civilians, whether the unit's face fits or doesn't fit in with the faction they are pretending to be, or whether it is day or night, with each situation requiring players to behave appropriately Suspicious enemies may challenge or watch and follow undercover units if they act weirdly; the more weird stuff you do, the more likely they are to see through your disguise (you can even use this to your advantage to draw enemies attention away from another unit while they do something suspicious - just don't get too cocky or they will open fire on you) Players must "act" their role; doing weird stuff will raise suspicion and could blow your cover - if you point your weapon at an enemy and they see you doing it, they will get suspicious very quickly. Equally, if an enemy sees you crawling around or planting explosives, you're not going to stay undercover for long. Enemies will detect if undercover units are the nationality of the group they are impersonating; covering your face with a scarf or bandanna will reduce this but not as much as choosing undercover units whose faces fit in with the people they are trying to impersonate All actions have consequences, good or bad. If the MRAP you're driving gets a bit close to a patrol, moving into the back of it and out of sight of the enemy might just save your skin. Equally, putting a balaclava on when you're a civilian will attract a lot of attention - which is especially not good if you're already carrying a military rucksack. Once undercover units become compromised, enemies will remember the vehicles they are spotted in and clothes they are wearing - change your clothing (both uniform and either headgear or goggles) and if no enemies see you doing it, your new disguise may stick Easily switch disguises: take enemy uniforms from nearby crates, vehicles, dead bodies and the ground (and order AI subordinates to do the same) Quickly conceal and un-conceal your (and your subordinates') weapons if you have the inventory space - without faffing with inventories Different configurable detection systems for regular and asymetric enemy forces Stealth kills work - If nobody sees you firing a shot, your cover will remain intact BUT, enemies do remember suspicious units - if you kill someone and other enemies of that side already know who you are and that you are nearby, there is a chance your cover will be blown regardless However, your cover will return if you kill everyone who knows about you before they can spread the word Different behaviour for regular and asymmetric forces Define a side as asymmetric and they will not be able to share your identity outside of the local area, but they will be better at spotting imposters Define a side as regular and your cover will stay blown for much longer and for a much wider area once compromised... but they may not have such a good nose for imposters (Optional) Civilian Recruitment Undercover units can recruit civilians to join their group The more enemies you kill, and the more chaos you are associated with, the better your reputation will become The better your reputation, the more likely civilians are to join you Kill enemies without getting spotted and there is a chance they will lash out against civilians, with a potential to cause a civilian uprising (optional) Automatically arm ambient civilians with weapons and items which they may use if recruited or during an uprising Try to steal civilians' clothes from them (but be prepared that your reputation will take a hit or you may become compromised) (Requires ALiVE) Turn recruited units into a profiled group to be used by AI commander of the same faction as the undercover unit (add to object init: this addaction ["Profile group","[player,'profileGroup'] remoteExecCall ['INCON_ucr_fnc_ucrMain',2]",[],1,false,true]); USAGE Add all files from Incon-Undercover folder into your mission folder. If you already have a description.ext or initPlayerLocal.sqf then add the code to your existing files. (Make sure to delete any previous version of my undercover scripts). In description.ext, if the class is already defined (for instance, cfgFunctions), just add the #include line to the given class. Configure your settings in the UCR_setup.sqf file in the INC_undercover folder (pay close attention to these, one wrong setting can lead to some weird behaviour). For each out of bounds area, place a marker over the area with "INC_tre" somewhere in the marker name (e.g. "MyMarkerINC_tre" or "INC_tre_sillyMarkerName_15"). The script will handle the rest. But if you want, you can also include other markers by listing them in the relevant array in UCR_setup.sqf. Add in Incon Persistence if you want your band of merry men to persist between ALiVE sessions (this is now a separate script but automatically persists reputation). For each playable undercover unit, put this in their unit init in the editor: this setVariable ["isSneaky",true,true]; Non-player units in the undercover unit's group do not need anything; the script will run on them automatically on mission start. Caveats / Compatibility: Only one side can have undercover units at a time (so no east undercover and west undercover units undercoverising each other at the same time) Only one side can be defined as asymmetric at a time and only one side can be defined as regular - and both must be hostile to the undercover unit's side. So if having a three-way war, one side must be asym and the other regular. If having a three-way (...war), it is recommended to not have any incognito factions as an engine limitation means that incognito units (i.e. those disguised as the enemy) will be seen as friendly to all - could break the immersion if you're dressed as OPFOR and GreenFOR don't shoot at you when they should. For mission makers - just be aware that the following could affect your mission: enemy units may wander from their original positions to follow undercover units if they become suspicious. Also, when compromised by regular forces, an undercover unit's description will be shared across other enemies in the local area after some time if they don't kill everyone who knows about them Works on all tested mods. If you find an incompatibility, tell me! Credits Massive thanks to Spyderblack723 for his help creating some of the functions and correcting my mistakes / oversights on the original release. Also for generally being super helpful over the past year as I've got into modding. Grumpy Old Man, Tajin and sarogahtyp are responsible for creating a performant detection script, which I then adapted and used as a basis for the undercover script, so thank you to those guys too. Also thanks to das attorney, davidoss, Bad Benson, Tankbuster, dedmen, fn_Quiksilver, marceldev89, baermitumlaut and Duda123 for some top optimisation tips. And huge thanks to accuracythruvolume for testing and feedback. DOWNLOAD v1.0 FROM GITHUB. CHANGELOG
  3. So i've been quite busy with a Zeus mission and already have multiple pieces of code inside of it. These pieces of code are all taken from submissions either on the forums or armaholic. I have no clue what it all means. When I test my mission in Singleplayer all the code runs fine and everything does what it's supposed to do. But whenever I try to test it in Multiplayer some of the stuff stops working. I'll just note the scripts that i'm using here: Enigma Civilians: Works Player keeps loadout on respawn: Works Show/hide certain markers to certain logged players: Semi works. Markers will hide but not re-appear. INCON Undercover: Does not work. Will only show a hint saying "Initializing Undercover" I've been working on fixing this for days but have not had a single succes. If anyone knows a solution or is willing to help would be awesome!
  4. Been playing with a group for a longer time now and noticed that people immediately know if players are dead or not just according to the way they go down when shot. I kind of wanted to add some uncertainty back to the gameplay when using ace medical. With this script players will not go into the ace death animation immediately when losing consciousness. Just like they are dying they ragdoll, but will snap to the ace death animation once the ragdolling is done, which pretty much means other players need to check the body to confirm death. This script only works for players, it can be expanded for AI as well if people want that. It works in SP and MP. Requirements: CBA ACE Known bugs: None right now, you tell me I guess. Media: Download: GitHub (Script version) Steam Workshop (Mod version)
  5. DESCRIPTION: This is a script which enhances the in-game VOIP by adding radio effects when communicating with other players, while factoring distance between the sender/receiver of the transmissions. No mods or third-party programs required. Setup is easy! I created a Feature Request ticket for BI to add a mutePlayer command. Please up vote! VIDEO: SCREENSHOTS: FEATURES: No mods required! No third-party programs required! Script will initialize only if TFAR / ACRE2 aren't enabled Tiny file size (104 KB) No performance impact Admin/clients don't have to download anything to play your mission No custom sounds; AFAR recycles Arma 3's audio files No custom artwork; AFAR recycles Arma 3's models/textures No custom animations; AFAR uses an animation already Arma 3 No custom items; Players just need a radio equipped to talk on radio channels Adds interesting depth to VOIP, which it has lacked for so long Talking on VOIP channels in-game will broadcast radio noise to all friendlies in range with a radio Radio noise gets louder based on distance, until out of radio range Incapacitated / dead players cannot use radio Compatible with land, sea, and air vehicles Compatible with Arma's End Game respawn templates Compatible with Arma's End Game Spectator Compatible with Arma's Dynamic Groups More information in the "ReadMe.txt" TO DO LIST: Fix all known bugs Include terrain / weather interference Include Zeus compatibility Release a separate standalone mod version KNOWN BUGS: (Upcoming Change-Log) Mouse button inputs (LMB, RMB, MMB) are not supported Not Zeus compatible Talking while reloading will delete the new magazine, if anAFAR = TRUE CREDITS: • Phronk: Script Creator • Bohemia Interactive: Radio model, audio, animation, and BIS_fncs CONTRIBUTIONS: • BadBenson: Helped with private variables • DirtySanchez: Helped organize functions/define CfgRemoteExec • Larrow: Helped improve radio keybind detection TESTERS: • BadBenson • BruceAlmightyy • KingCarter • Limey • Sjakal • statsback2zero • PRYMSUSPEC INSTALLATION: Download Link (Google Drive) Download Link (Steam Workshop) Download Link (Armaholic) v0.8 (22NOV2017) CHANGE-LOGS:
  6. Hello everyone. Does anyone know a way to turn on the UAV nightvision via a script?
  7. Hello I have 10 extra mission at my wasteland server. but 4 of them isn´t working, can you mayb help me out. have tryed 2 days now and my hair is grey right now. have tryed with _nbUnits and without. from log: 16:44:32 "WASTELAND SERVER - Extra Mission started: Weapon Smugglers" 16:44:33 Error in expression <eGroup CIVILIAN; [_aiGroup,_missionPos, _nbUnits] call smugglerGroup; _aiGroup > 16:44:33 Error position: <_nbUnits] call smugglerGroup; _aiGroup > 16:44:33 Error Undefined variable in expression: _nbunits 16:44:33 File mpmissions\__cur_mp.Malden\server\missions\extraMissions\mission_Smugglers.sqf, line 49 mission_Smugglers.sqf, line 49 [_aiGroup, _missionPos, _nbUnits] call smugglerGroup; smugglerGroup.sqf: if (!isServer) exitWith {}; private ["_group", "_pos", "_leader", "_man2", "_man3", "_man4", "_man5", "_man6", "_man7", "_man8", "_man9", "_man10"]; _group = _this select 0; _pos = _this select 1; // Leader _leader = _group createUnit ["C_man_polo_1_F", [(_pos select 0) + 10, _pos select 1, 0], [], 1, "Form"]; _leader addUniform "U_IG_leader"; _leader addVest "V_TacVestIR_blk"; _leader addBackpack "B_AssaultPack_blk"; _leader addMagazine "30Rnd_556x45_Stanag"; _leader addWeapon "arifle_TRG21_F"; _leader addPrimaryWeaponItem "optic_Holosight"; _leader addMagazine "30Rnd_556x45_Stanag"; _leader addMagazine "30Rnd_556x45_Stanag"; _leader addMagazine "Titan_AA"; _leader addWeapon "launch_Titan_F"; _leader addMagazine "Titan_AA"; _leader selectWeapon "launch_Titan_F"; Mission: // ****************************************************************************************** // * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com * // ****************************************************************************************** // @file Name: mission_Smugglers.sqf // @file Author: JoSchaap, AgentRev, LouD if (!isServer) exitwith {}; #include "extraMissionDefines.sqf"; private ["_positions", "_smugglerVeh", "_vehicle1", "_vehicle2", "_boxes1", "_currBox1", "_box1", "_boxes2", "_currBox2", "_box2", "_cashrandomizera", "_cashamountrandomizera", "_cashpilerandomizera", "_casha", "_cashamounta", "_cashpilea", "_cashrandomizerb", "_cashamountrandomizerb", "_cashpilerandomizerb", "_cashb", "_cashamountb", "_cashpileb", "_cash1", "_cash2"]; _setupVars = { _missionType = "Weapon Smugglers"; _locationsArray = MissionSpawnMarkers; _nbUnits = if (missionDifficultyHard) then { AI_GROUP_LARGE } else { AI_GROUP_MEDIUM }; }; _setupObjects = { _missionPos = markerPos _missionLocation; _smugglerVeh = ["B_G_Offroad_01_armed_F"] call BIS_fnc_selectRandom; _vehicle1 = [_smugglerVeh,[(_missionPos select 0) - 5, (_missionPos select 1) + 10,0],0.5,1,0,"NONE"] call createMissionVehicle; _vehicle1 setVariable [call vChecksum, true, false]; _vehicle1 setFuel 1; _vehicle1 setVehicleLock "UNLOCKED"; _vehicle1 setVariable ["R3F_LOG_disabled", false, true]; _vehicle2 = [_smugglerVeh,[(_missionPos select 0) - 5, (_missionPos select 1) - 10,0],0.5,1,0,"NONE"] call createMissionVehicle; _vehicle2 setVariable [call vChecksum, true, false]; _vehicle2 setFuel 1; _vehicle2 setVehicleLock "UNLOCKED"; _vehicle2 setVariable ["R3F_LOG_disabled", false, true]; _boxes1 = ["Box_IND_Wps_F","Box_NATO_Wps_F","Box_IND_WpsLaunch_F"]; _currBox1 = _boxes1 call BIS_fnc_selectRandom; _box1 = createVehicle [_currBox1,[(_missionPos select 0), (_missionPos select 1),0],[], 0, "NONE"]; _box1 allowDamage false; _box1 setVariable ["R3F_LOG_disabled", true, true]; _boxes2 = ["Box_IND_Wps_F","Box_NATO_Wps_F","Box_IND_WpsLaunch_F"]; _currBox2 = _boxes2 call BIS_fnc_selectRandom; _box2 = createVehicle [_currBox2,[(_missionPos select 0) - 5, (_missionPos select 1) - 8,0],[], 0, "NONE"]; _box2 allowDamage false; _box2 setVariable ["R3F_LOG_disabled", true, true]; _aiGroup = createGroup CIVILIAN; [_aiGroup,_missionPos, _nbUnits] call smugglerGroup; _aiGroup setCombatMode "RED"; _aiGroup setBehaviour "COMBAT"; _missionPicture = getText (configFile >> "CfgVehicles" >> _smugglerVeh >> "picture"); _missionHintText = format ["A group of weapon smugglers have been spotted. Stop the weapon deal and take their weapons and money.", extraMissionColor]; }; _waitUntilMarkerPos = nil; _waitUntilExec = nil; _waitUntilCondition = nil; _failedExec = { // Mission failed { deleteVehicle _x } forEach [_box1, _box2, _vehicle1, _vehicle2]; }; _successExec = { // Mission completed { _x setVariable ["R3F_LOG_disabled", false, true] } forEach [_box1, _box2]; { _x setVariable ["A3W_missionVehicle", true] } forEach [_vehicle1, _vehicle2]; //Random fake - real money _cashrandomizera = ["money","cmoney","money","cmoney"]; _cashamountrandomizera = [1000,1500,2000,2500,3000,3500,4000,4500,5000]; _cashpilerandomizera = [3,5]; _casha = _cashrandomizera call BIS_fnc_SelectRandom; _cashamounta = _cashamountrandomizera call BIS_fnc_SelectRandom; _cashpilea = _cashpilerandomizera call BIS_fnc_SelectRandom; for "_i" from 1 to _cashpilea do { _cash1 = createVehicle ["Land_Money_F",[(_lastPos select 0), (_lastPos select 1) - 5,0],[], 0, "NONE"]; _cash1 setPos ([_lastPos, [[2 + random 3,0,0], random 360] call BIS_fnc_rotateVector2D] call BIS_fnc_vectorAdd); _cash1 setDir random 360; _cash1 setVariable [_casha, _cashamounta, true]; _cash1 setVariable ["owner", "world", true]; }; _cashrandomizerb = ["money","cmoney","money","cmoney"]; _cashamountrandomizerb = [1000,1500,2000,2500,3000,3500,4000,4500,5000]; _cashpilerandomizerb = [3,5]; _cashb = _cashrandomizerb call BIS_fnc_SelectRandom; _cashamountb = _cashamountrandomizerb call BIS_fnc_SelectRandom; _cashpileb = _cashpilerandomizerb call BIS_fnc_SelectRandom; for "_i" from 1 to _cashpileb do { _cash2 = createVehicle ["Land_Money_F",[(_lastPos select 0), (_lastPos select 1) - 5,0],[], 0, "NONE"]; _cash2 setPos ([_lastPos, [[2 + random 3,0,0], random 360] call BIS_fnc_rotateVector2D] call BIS_fnc_vectorAdd); _cash2 setDir random 360; _cash2 setVariable [_cashb, _cashamountb, true]; _cash2 setVariable ["owner", "world", true]; }; _successHintMessage = format ["The smugglers are dead, the weapons and money are yours!"]; }; _this call extraMissionProcessor; what am i doring wrong?
  8. So I got a problem with my server. I'm renting through Host Havoc and we are trying to set up an Antistasi server. When I put the Antistasi pbo file into the mpmissions and type in that I want to run it, it doesnt work. So we tryed something else and went to the Antistasi server and tryed doing some copy and paste fun...... Well we got the game to run the base Antistasi but vehicles don't spawn now and when you go to buy vehicles it doesn't work? With that being said we haven't added the RHS mods yet not sure if Antistasi needs it or not? Lastly does anyone know a better server renting site that is easier to use than host havoc? Thanks all who respond
  9. GF Blood Stains and SFX Script by GEORGE FLOROS [GR] WARNING!!! This AddOn increases seriously the gore factor in ArmA. It is not recommended for use by children under the age of 15 years. Description: GF Blood Stains and SFX Script , configurable scripts. You are free to do anything but i would like to give me Credits for this! Simple and easy to use and adapt . Have Fun ! Installation / Usage: For usage instructions and information of how to use the GF Blood Stains and SFX Script please refer to the included documentation and/or example mission. Place in your mission the files . There is everything included , in the init.sqf and description.ext , to copy paste in your mission . https://community.bistudio.com/wiki/SQF_syntax Don't try to open this with the simple notepad. For everything that is with comment // in front or between /* means that it is disabled , so there is no need to delete the extra lines. You can open this ex: with notepad++ https://notepad-plus-plus.org/ and also use the extra pluggins (this way will be better , it will give also some certain colours to be able to detect ex. problems ) http://www.armaholic.com/page.php?id=8680 or use any other program for editing . For the Compilation List of my GF Scripts , you can search in: https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/ Notes: Everything is created as a standalone script , in order to have the possibility , to use also the desired scripts only. 1. GF_Bleeding script : This is including 100 different type of Blood. The Bleeding starts when the health is on 40% , for some random time and amount of Blood. 2. GF_Blood_Pool script : This is including 30 different type of Blood , when a unit is killed. There is an option for normal size Blood Pools and Large. There is an option to spawn Flies when killed . 3. GF_Blood_Pool_BIS_Blood script This is including the BIS Blood from BIS Orange DLC , when a unit is killed. There is an option to spawn Flies when killed . 4. GF_Blood_shot script : This is including 35 different type of Blood , for every shot dealt. 5. GF_Particles script This is including a Blood particle when bleeding or killed. 6. GF_SFX scripts This is including some custom and game SFX . GF_SFX_Bullet_Impact for the bullet impact at the bodies . GF_SFX_Killed hear a pain sound when killed . GF_SFX_Screaming for the units when they are getting shot . Credits & Thanks: Thanks to All script contributors Thanks to everyone who tries to do the best for this game! Thanks to BIS for such a great platform . Thanks to BIS Community and BIS Community Forums . Thanks to Armaholic Community and Forums . Changelog: v.2.0 The Known issue , is now fixed, added Custom Scream Sounds for GF_SFX_Screaming, added Lip movement for GF_SFX_Screaming, added more sounds for GF_SFX_Bullet_Impact, added more sounds for GF_SFX_Killed, added an SFX sound for Flies, added some extra options, code optimisation and minor fixes. v1.0 Forum topic: - Armaholic forums http://www.armaholic.com/forums.php?m=posts&q=40082 Armaholic GF Blood Stains and SFX Script
  10. GF Cleanup Script

    GF Cleanup Script by GEORGE FLOROS [GR] Description: GF Cleanup Script , configurable script. You are free to do anything but i would like to give me Credits for this! Simple and easy to use and adapt . Have Fun ! Installation / Usage: For usage instructions and information of how to use the GF Cleanup Script please refer to the included documentation and/or example mission. Place in your mission the files . There is everything included , in the init.sqf , to copy paste in your mission . https://community.bistudio.com/wiki/SQF_syntax Don't try to open this with the simple notepad. For everything that is with comment // in front or between /* means that it is disabled , so there is no need to delete the extra lines. You can open this ex: with notepad++ https://notepad-plus-plus.org/ and also use the extra pluggins (this way will be better , it will give also some certain colours to be able to detect ex. problems ) http://www.armaholic.com/page.php?id=8680 or use any other program for editing . For the Compilation List of my GF Scripts , you can search in: https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/ Notes: Configurable Script. You can select to delete : Particlesource,Dead,Mines,Ruins,Craters, Dropped Items,Static Weapon,Empty Groups, Empty Vehicles,emptyDetector MP triggers. Credits & Thanks: Thanks to All script contributors Thanks to everyone who tries to do the best for this game! Thanks to BIS for such a great platform . Thanks to BIS Community and BIS Community Forums . Thanks to Armaholic Community and Forums . Changelog: v2.0 Added distance parameter added more options and minor changes. v1.0 Forum topic: - Armaholic forums http://www.armaholic.com/forums.php?m=posts&q=39927 Armaholic download GF Cleanup Script
  11. v1_002. You can find blacklist|whitelist for objects dragging at top of file; v1_001 to disable ability to drag something: this setvariable['st_a',false]; (editor's example) Notes: (all through standard action menu) (when killing enemy hold crosshair (or place (on screen) where it would be) on the enemy) Download. Just insert in your mission's folder (supporting any type of session, any mission, any mods). Problems: have few MP issues, will fix them when will can get to it. (if understanding can change something) Some problems, wishes -> post here.
  12. Hi everyone ! I want to move an UAV ( with ~ 2/4 meter precision ). I used this script VEH = createVehicle ["B_UGV_01_rcws_F",position player, [], 1, "NONE"]; createVehicleCrew VEH; VEH setCombatMode "BLUE"; VEH setBehaviour "STEALTH"; VEH move position player; VEH disableAI "ALL"; VEH enableAI "MOVE"; But the vehicle stop at 20 meter of the position where he should be . I tried also with waypoint and i have the same issues Thank :)
  13. Hi, I need help! when I start the dedicated server using TADST, with the mod ASR_AI3, which I try to access a mission, it tells me the following error: Script \userconfig\asr_ai3\asr_ai3_config.sqf not found and take me out how can I solve that? try applying -filePatching, but nothing Can somebody help me?
  14. I am pleased to announce my first script release. GRAD Fireworks What it does Shoots rockets in the air. Takes input: Position Color (Random, Red, Green, Blue, White) Type (Random, Fizzer, Normal, Rain) Rain is always white. Sample Call (you can call from any client or server) [getPos objectname, 'normal','red'] remoteExec ["GRAD_fireworks_fnc_prepareFireworks", 2]; Installation Copy GRAD_fireworks to your mission directory Put code below in description.ext Call the script via trigger, radio, script, whatever. Sample call above. class cfgFunctions { #include "GRAD_fireworks\cfgFunctions.hpp" }; class cfgSounds { #include "GRAD_fireworks\cfgSounds.hpp" }; How it works Uses Flares, Lightpoints and some sounds to achieve the effect. Therefore totally vanilla compatible. Computation is done on the server which then sends precalculated stuff to the clients. Those display the effects locally, but it should look the same on every computer. In usage example here: Download Script + Sample Mission http://www.armaholic.com/page.php?id=29255 Feedback welcome If you have any suggestions codewise or effectwise, let me know.
  15. Dynamic Bandit Camp Spawn Script The idea behind this script is, that bandits or survivors in your survival mission will set up a camp somewhere to store their loot, money, even cars or helicopters. Inspired by countless hours of searching for player hideouts in DayZ SA back in the days. As the camps are spawned dynamically (de- and re-spawn every hour, in different compositions and randomly selected markers) this should give your mission a nice immersive touch which will improve replay ability. Showcase Videos: (slightly outdated, might provide a new one at some point) Functions of the script - random selection of 1 of 5 pre-placed markers - random selection of structures to be placed around that marker - random loot in main "treasure" lootbox - random loot in the buildings - random props spawn in buildings (that can be looted if you are running the Ravage mod) - survival supplies (FAK, food, drinks) (food and drink is depending on the Ravage mod) - AI group that patrols the camp - the camp will be deleted after 3600 seconds and the script will loop, starting from scratch How to create, use and Install the script: Step 1 - init.sqf 1. Open notepad. 2. Copy this code -------> [] execVM "banditcamp.sqf"; 3. Paste the code into your notepad doc. 4. Save the notepad document with this name -----> init.sqf 5. Move the init.sqf to your mission folder. =================================== Note - if you already have an init.sqf then just add the code from 2 to it. Step 2 - banditcamp.sqf 1. Open notepad. 2. Copy this code ------> from the spoiler below 3. Paste the code into your notepad doc. 4. Save the notepad document with this name ------> banditcamp.sqf 5. Move the banditcamp.sqf to your mission folder. ========================================= banditcamp.sqf (uses CUP assets as there are more tents) CUP Version: - CUP Core -CUP Terrain banditcamp.sqf (vanilla version) Version that runs with Ravage and CBA only Script Dependencies: Ravage mod is required to run this script you can find it here: LINK CUP (if first version is used, what I recommend as there are more tents): CUP: Terrain - Core, Maps, Units, Weapons (can be subscribed to in the Steam Workshop) Setting up the Script in the editor: 1. Start your mission via editor and place markers named: mrkrA_1 mrkrA_2 mrkrA_3 mrkrA_4 mrkrA_5 2. To name a marker, add the above name into the Variable Names field like this: mrkrA_1 3. Place your markers on flat ground to avoid issues with the object placement. 4. Note the following: - place mrkrA_1 in the center of a 4000 meters radius and all other markers spread around that marker. - why? The script will check a radius of 4000 meters around that marker (mrkrA_1) to see if the player is close. If not, the script will pause to safe performance. 5. Place your player and start your mission. The script will now select one of the 5 markers randomly every 3600 seconds and will place the Camp, AI units and loot around this marker. After 3600 seconds everything will be deleted and the script starts from the beginning. The script loops infinitely. The script will only run, once you are within 4000 meters proximity of mrkrA_1, as mentioned above. Personalize the script - (additional markers) 1. To place more markers, just add additional marker names under _mark = [.....]. in the script. 2. The last marker needs to end without comma "mrkrA_15"];. Leaving a comma at the end of the array "mrkrA_15,"]; would not work. 3. Place the new markers on the map. Adding weapons To add your weapon classname into _weaponArray = ["yourweaponclassname","yoursecondweaponclassname","yourlastweaponclassname"]; this will drop in the loot box. Adding items To add your item classnames into _itemArray2 = ["youritemclassname","yourseconditemclassname","yourlastitemclassname"]; ("_itemArray =."will spawn large amounts of ravage money into the main lootbox, hence you should not amend that one) Add another category to items To add another category of items such as (silencers, optics etc.,.), add your classnames into _itemArray3 = ["youritemclassname","yourseconditemclassname","yourlastitemclassname"]; Add hand grenades, mines, explosives To add your classname into _explosivesArray = ["youritemclassname","yourseconditemclassname","yourlastitemclassname"]; Add or remove house/tent structures _tents = [], _tents2 = [],_tents3 = [],_tents4 = [] are the arrays of possible buildings that can spawn. Add your additional building classnames here. In these brackets e.g. _tents = ["Camp","Land_tent_east"]; Each array is linked to a different spawn point e.g. structures from the _tents array, will spawn in _tent. I recommend having a different set of buildings in each category (_tents, _ tents2,....) else you will end up with two identical buildings next to each other in a camp which might look weird. Using the script without Ravage mod If you want to use this without the Ravage and CBA mod, delete all classnames that start with "rvg_". Camps to despawn and respawn faster or slower go to line 287 (Sleep (random 3600); Sleep 1000) and update the numbers to your liking. The first number will select a random amount of seconds (1-3600) and the second number is a actual valua (e.g. the script would pause for a random amount of seconds between 1-3600 seconds + a definitive 1000 seconds to despawn and respawn). If you want to have multiple sets of camps spawned, do the following: Copy & paste the file "banditcamp.sqf" and rename it to e.g. "banditcampB.sqf" in your mission folder. [] execVM "banditcampB.sqf"; <--- place this text onto a new line into the init.sqf file in your mission folder. in "banditcampB.sqf", change all the marker names under " _mark" and give it a new unique name such as "_mrkrB_1",_mrkrB_2",..... place markers with those new names on the map. banditcamp.sqf may have markers in the southern part of your map whilst banditcampB.sqf has its markers in the northern part, as an example. =================================== Changelog 27.03.2018 - Updated the OP to hopefully add clear instruction on script usage (thanks @Gunter Severloh) - updated the script to contain line-per-line explanation - added CUP version as the structures fit better to the "camp" feeling - added clean up code for loot able objects/furniture that are spawned into camp structures by the ravage loot module - added range check for script to only run if player is within 4000 meters proximity of the markers 08.03.2018 - sorted the arrays and put them at one place on top (easier to enter your own buildings, tents, weapons or items from other mods) - added a bigger variety of vanilla structures and weapons that may spawn (includes a chance to spawn working Car or Helicopter) - random amount of enemy AI spawns and patrols now with random gear based on your ravage equipment module settings - added a WaitUntil function to stop the camps from de-spawning if the player is within 200 meters of the current camp - added some explanation on how to install and edit the script - removed all dependencies other than CBA and Ravage
  16. I need help. I recently started doing things related to ARMA 3 and not where I can not find information on the command \ tag on the visual display of the screen during the game. Help please
  17. I wrote a radio script for vehicles, but only those who execute the script can listen to the music, the expected would be everyone inside the vehicle could hear. I already researched how to use RemoteExec and other methods, but I was unable to reach my goal. Anyone Have Any Ideas On How Can I Do This? 'Sorry, I used Google Translate'
  18. GF Cargo Airdrops Script by GEORGE FLOROS [GR] Description: Spawn Cargo Airdrops, including configurable loot and it can be a random or supply drop , of any kind of item - vehicle. You are free to do anything but i would like to give me Credits for this! Simple and easy to use and adapt . Have Fun ! Installation / Usage: For usage instructions and information of how to use the GF Cargo Airdrops Script please refer to the included documentation and/or example mission. Place in your mission the files . There is everything included , in the init.sqf , to copy paste in your mission . https://community.bistudio.com/wiki/SQF_syntax Don't try to open this with the simple notepad. For everything that is with comment // in front or between /* means that it is disabled , so there is no need to delete the extra lines. You can open this ex: with notepad++ https://notepad-plus-plus.org/ and also use the extra pluggins (this way will be better , it will give also some certain colours to be able to detect ex. problems ) http://www.armaholic.com/page.php?id=8680 or use any other program for editing . For the Compilation List of my GF Scripts , you can search in: https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/ Notes: The Airdrops can be spawn , on certain locations or random. It can be used for a supply Airdrop. You can select the number of Airdrops to spawn. The type of Cargo can be anyting , item or vehicle. The type of loot of this item , is configurable. It is possible to adapt this script easy , by your own needs. Credits & Thanks: Thanks to All script contributors Thanks to everyone who tries to do the best for this game! Thanks to BIS for such a great platform . Thanks to BIS Community and BIS Community Forums . Thanks to Armaholic Community and Forums . Special thanks to : zagor64bz https://forums.bohemia.net/profile/805186-zagor64bz/ lordfrith https://forums.bohemia.net/profile/1079222-lordfrith/ Changelog: v3.0 added option for : show the Airdrop position with a marker, random loot, minor changes. v2.0 added a modified Script by zagor64bz and lordfrith , GF_Cargo_Airdrops_ZAG_LORD , added a modified Script for requested Airdrops, added an option , for spawning groups , that try to find and secure the dropped Cargo , added some options and small additions inside the scripts , changed the name of all the scripts , starting now with GF . v1.0 Forum topic: - Armaholic forums http://www.armaholic.com/forums.php?m=posts&q=39846 Armaholic download GF Cargo Airdrops Script
  19. GF Crashsites Script by GEORGE FLOROS [GR] Description: Spawn Random Crash sites , at Random position, including configurable loot, to spice it a little bit.You are free to do anything but i would like to give me Credits for this! Simple and easy to use and adapt . Have Fun ! Installation / Usage: For usage instructions and information of how to use the GF Crashsites Script please refer to the included documentation and/or example mission. Place in your mission the files . There is everything included , in the init.sqf , to copy paste in your mission . https://community.bistudio.com/wiki/SQF_syntax Don't try to open this with the simple notepad. For everything that is with comment // in front or between /* means that it is disabled , so there is no need to delete the extra lines. You can open this ex: with notepad++ https://notepad-plus-plus.org/ and also use the extra pluggins (this way will be better , it will give also some certain colours to be able to detect ex. problems ) http://www.armaholic.com/page.php?id=8680 or use any other program for editing . For the Compilation List of my GF Scripts , you can search in: https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/ Notes: You can select the number of Crash sites to spawn. The type of Wrecks at the crash sites. The type of loot is configurable. The position of the loot placed. 5 different kind of loot lists. It is possible to change the Crater. It is possible to change the Smoke effect. I tried to fix everything more clear , for everyone to be able to edit this , by their own needs. For the rarity of the items : you can adjust this , by putting double (or more) items (x2) of this kind that you want more. For the ammount of the items : you can adjust this , by changing the last number on theese lines: //lootitems5 items 2 Here ONLY :items , PointerAttachments , BipodAttachments , MuzzleAttachments , OpticAttachments , NVG lootitems5 = "groundweaponHolder" createVehicle _lootPos5; lootitems5 addItemCargo [_items_loot2, 2]; Credits & Thanks: Thanks to All script contributors Thanks to everyone who tries to do the best for this game! Thanks to BIS for such a great platform . Thanks to BIS Community and BIS Community Forums . Thanks to Armaholic Community and Forums . Changelog: v4.0 Code optimization, added options to: cut the grass around the Crashsites, create a Marker for the Crashsites, added some options and small additions inside the scripts , changed the name of all the scripts , starting now with GF . v3.0 Fixed an error to spawn correctly the Attachments There is availale loot for Unsung , CUP , Ravage and combination of this CUP mod http://cup-arma3.org/ Ravage mod http://www.armaholic.com/page.php?id=29638 v2.0 Change the Smoke particles Added a second file , with loot for the Unsung mod http://www.armaholic.com/page.php?id=29948 v1.0 Forum topic: - BI forums https://forums.bistudio.com/forums/topic/212505-crashsite-script/?do=edit - Armaholic forums http://www.armaholic.com/forums.php?m=posts&q=39709&n=last#bottom Armaholic GF Crashsites Script
  20. This script , is for replacing automatically , the Buildings in any map. //["Building to replace","replaced Building"] myBuildings = [["Land_i_Stone_HouseSmall_V3_F","Land_HouseV_1I4",0], ["Land_i_House_Big_02_V3_F","Land_HouseV_1T",0], ["Land_i_Stone_HouseBig_V2_F","Land_HouseV_2T2",0], ["Land_i_House_Big_01_V1_F","Land_HouseV2_01A",0], ["Land_i_Shop_02_V1_F","Land_HouseBlock_C2",0], ["Land_i_Shop_02_V3_F","Land_HouseBlock_C5",0], ["Land_Slum_House01_F","Land_Shed_W4",0], ["Land_Hut06","Land_Shed_W02",0], ["Land_i_Shop_02_V2_F","Land_HouseBlock_B5",0], ["Land_Slum_House03_F","Land_HouseBlock_B3",0], ["Land_i_House_Small_01_V3_F","Land_HouseBlock_B4",0], ["Land_i_House_Small_01_V2_F","Land_HouseBlock_A1",0], ["Land_Kiosk_gyros_F","Land_HouseBlock_C4",0], ["Land_d_House_Big_01_V1_F","Land_HouseBlock_C3",0], ["Land_Unfinished_Building_01_F","Land_HouseBlock_B6",0], ["Land_Factory_Main_F","Land_Ind_Pec_03a",0], ["Land_MilOffices_V1_F","Land_a_stationhouse",0], ["Land_i_Stone_HouseBig_V3_dam_F","Land_HouseV_3I2",0], ["Land_i_Shed_Ind_F","Land_Shed_Ind02",0], ["Land_CarService_F","Land_Repair_center",0], ["Misc_Cargo1Bo_civil","Land_Shed_M02",0], ["Land_i_Stone_HouseBig_V2_dam_F","Land_HouseV_1L1",0], ["Land_i_Stone_HouseBig_V1_dam_F","Land_HouseV_1I1",0], ["Land_FuelStation_Build_F","Land_Misc_WaterStation",0], ["Land_Chapel_V2_F","Land_Church_02a",0], ["Land_i_Stone_Shed_V3_F","Land_HouseV_2L",0], ["Land_Chapel_V1_F","Land_HouseV_2I",0], ["Land_i_Barracks_V1_F","Land_Mil_House",0], ["Land_Mil_Barracks_i","Land_Mil_Barracks",0], ["Land_Cargo_HQ_V3_F","Land_Mil_Barracks_L",0], ["Land_Airport_Tower_F","Land_Mil_ControlTower",0] ]; for "_i" from 0 to(count myBuildings-1) do { _CurrentBuilding = (myBuildings select _i) select 0; _ReplacementBuilding = (myBuildings select _i) select 1; _DirectionOffset = (myBuildings select _i) select 2; { systemchat format["getPosATL: %2 getDir: %4 _CurrentBuilding %5",getpos _x, getPosATL _x, getPosASL _x, getdir _x, _x]; //diag_log format["getPosATL: %1 getDir: %2 _CurrentBuilding %3 _ReplacementBuilding %4 _x %5", getPosATL _x, getdir _x, _CurrentBuilding, _ReplacementBuilding, _x]; hideObjectGlobal _x; _myReplacement = createVehicle [_ReplacementBuilding, getPosATL _x, [], 0, "CAN_COLLIDE"]; _myReplacement setDir (getdir _x) + _DirectionOffset; _myReplacement setPosATL (getPosATL _x) ; _myReplacement enableSimulationGlobal false; } forEach nearestObjects [markerpos "center", [_CurrentBuilding], 25000]; }; hint "Replacmentscript end"; Thanks! and also for trees (p3d) replacement:
  21. Hello there to Everyone ! I 'm trying to replace the a3 Trees (with the CUP ones) , but i can't find the classnames. I 'm using the following script to replace the Buildings and i would like to do that , with more objects of the map, except , if there is another way. //["Building to replace","replaced Building"] myBuildings = [["Land_i_Stone_HouseSmall_V3_F","Land_HouseV_1I4",0], ["Land_i_House_Big_02_V3_F","Land_HouseV_1T",0], ["Land_i_Stone_HouseBig_V2_F","Land_HouseV_2T2",0], ["Land_i_House_Big_01_V1_F","Land_HouseV2_01A",0], ["Land_i_Shop_02_V1_F","Land_HouseBlock_C2",0], ["Land_i_Shop_02_V3_F","Land_HouseBlock_C5",0], ["Land_Slum_House01_F","Land_Shed_W4",0], ["Land_Hut06","Land_Shed_W02",0], ["Land_i_Shop_02_V2_F","Land_HouseBlock_B5",0], ["Land_Slum_House03_F","Land_HouseBlock_B3",0], ["Land_i_House_Small_01_V3_F","Land_HouseBlock_B4",0], ["Land_i_House_Small_01_V2_F","Land_HouseBlock_A1",0], ["Land_Kiosk_gyros_F","Land_HouseBlock_C4",0], ["Land_d_House_Big_01_V1_F","Land_HouseBlock_C3",0], ["Land_Unfinished_Building_01_F","Land_HouseBlock_B6",0], ["Land_Factory_Main_F","Land_Ind_Pec_03a",0], ["Land_MilOffices_V1_F","Land_a_stationhouse",0], ["Land_i_Stone_HouseBig_V3_dam_F","Land_HouseV_3I2",0], ["Land_i_Shed_Ind_F","Land_Shed_Ind02",0], ["Land_CarService_F","Land_Repair_center",0], ["Misc_Cargo1Bo_civil","Land_Shed_M02",0], ["Land_i_Stone_HouseBig_V2_dam_F","Land_HouseV_1L1",0], ["Land_i_Stone_HouseBig_V1_dam_F","Land_HouseV_1I1",0], ["Land_FuelStation_Build_F","Land_Misc_WaterStation",0], ["Land_Chapel_V2_F","Land_Church_02a",0], ["Land_i_Stone_Shed_V3_F","Land_HouseV_2L",0], ["Land_Chapel_V1_F","Land_HouseV_2I",0], ["Land_i_Barracks_V1_F","Land_Mil_House",0], ["Land_Mil_Barracks_i","Land_Mil_Barracks",0], ["Land_Cargo_HQ_V3_F","Land_Mil_Barracks_L",0], ["Land_Airport_Tower_F","Land_Mil_ControlTower",0] ]; for "_i" from 0 to(count myBuildings-1) do { _CurrentBuilding = (myBuildings select _i) select 0; _ReplacementBuilding = (myBuildings select _i) select 1; _DirectionOffset = (myBuildings select _i) select 2; { systemchat format["getPosATL: %2 getDir: %4 _CurrentBuilding %5",getpos _x, getPosATL _x, getPosASL _x, getdir _x, _x]; //diag_log format["getPosATL: %1 getDir: %2 _CurrentBuilding %3 _ReplacementBuilding %4 _x %5", getPosATL _x, getdir _x, _CurrentBuilding, _ReplacementBuilding, _x]; hideObjectGlobal _x; _myReplacement = createVehicle [_ReplacementBuilding, getPosATL _x, [], 0, "CAN_COLLIDE"]; _myReplacement setDir (getdir _x) + _DirectionOffset; _myReplacement setPosATL (getPosATL _x) ; _myReplacement enableSimulationGlobal false; } forEach nearestObjects [markerpos "center", [_CurrentBuilding], 25000]; }; hint "Replacmentscript end"; Thanks to everyone!
  22. I dont know why but everytime I run this script and I'm in zeus interface, it kicks me out of the interface and does not let me get in again. I'm loggin in to the zeus interface via #adminLogged. script: { if (typeOf _x == "B_Boat_Transport_01_F" || (!alive _x) ) then { deleteVehicle _x; }; } forEach entities [[], [], false, false]; Hope someone can help me, because the script does what i want it to do but it keeps doing this annoying kicking
  23. GF Drop Loot Script by GEORGE FLOROS [GR] Description: GF Drop Loot Script , Enemies , will drop items or add to their inventory , when killed , configurable . You are free to do anything but i would like to give me Credits for this! Simple and easy to use and adapt . Have Fun ! Installation / Usage: For usage instructions and information of how to use the GF Drop Loot Script please refer to the included documentation and/or example mission. Place in your mission the files . There is everything included in the description.ext and initPlayerLocal.sqf , to copy paste in your mission . https://community.bistudio.com/wiki/SQF_syntax Don't try to open this with the simple notepad. For everything that is with comment // in front or between /* means that it is disabled , so there is no need to delete the extra lines. You can open this ex: with notepad++ https://notepad-plus-plus.org/ and also use the extra pluggins (this way will be better , it will give also some certain colours to be able to detect ex. problems ) http://www.armaholic.com/page.php?id=8680 or use any other program for editing . For the Compilation List of my GF Scripts , you can search in: https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/ Notes: The Loot is configurable Credits & Thanks: Thanks to All script contributors Thanks to everyone who tries to do the best for this game! Thanks to BIS for such a great platform . Thanks to BIS Community and BIS Community Forums . Thanks to Armaholic Community and Forums . Changelog: v2.0 Code optimization, added configurable items inside uniforms, added setting options and small additions inside the script, changed the name of all the scripts , starting now with GF . Version 1.0 - first release Forum topic: - Armaholic forums http://www.armaholic.com/forums.php?m=posts&q=39889 Armaholic download GF Drop Loot script
  24. <Insert fancy Logo here > Disclaimer: If you don't use unscheduled scripts or you don't know what "unscheduled" means this won't be useful for you. If you are a beginner in Scripting this is also likely nothing for you. This is a tool aimed to help intermediate/advanced Programmers. Also No Battleye! I'm proud to present the first public Intercept based mod! I have a tiny script performance OCD so when I had the Idea about this last week I couldn't stop myself. Arma Script Profiler is a mod that allows you to profile scripts in a way that wasn't possible like this before. ASP replicates what the profiling binary already provides via it's diag_captureFrame commands but instead of only showing Engine Internals it shows Scripts. In fact it is even using it's UI. Which sadly means that you also need to use the Profiling Binary to use ASP to it's full potential. I wrote a full Wiki page explaining how to use it. Let me show you how it looks like instead of rambling on further. Here is an example of what happens when you place a Vehicle in Zeus while using ACE and CBA: Let me explain what you are seeing here. If you ever used diag_captureFrame This Interface will be familiar to you. Right at the top we have a graphical representation of the different Frames. The first row is always just the "total" bar which shows the total length of time that was captured. Under that there are one or more rows for each Frame that was captured. In this example there is only one but there are ways to capture more than one. This gives you a visual representation of when in the Frame a script was executed. In the lower part of the window we come to the real meat of this. Here we have a Tree view of all "Scopes" that were executed that Frame. The first element here is again the "total" time you can ignore it. Next we have the first Frame. There are 2 kinds of elements that can be displayed in the Tree. Scopes and Log messages. The first scope inside that Frame is "ace_interact_menu_fnc_render". That is the Name of the Script function that the scope belongs to. You can choose the displayed Name yourself when you instrument your own Scripts. Right next to that there are 2 "times". The first time shows the number of milliseconds since the start of the Capture/Frame. The second time shows how long everything inside that scope took to execute. Basically the runtime of that function. Both times are with nanosecond precision but I truncate them to 5 decimal places when writing to clipboard and the in-game UI truncates them again to 3 decimal places. The next number is just the number of sub--elements of that scope. You can ignore it. After that we have again the Name of the scope. I might add a way so you can define both names independently of each other in the future. You can click on the Arrow to expand a Scope. Like I did with "CBA_xeh_fnc_init" in this example. That will show you which scopes are below that scope. Essentially this gives you a full list of what functions your function called and how long each of them took. At the Arrow you can see an example of a log message. This shows the output of a ACE TRACE macro. You can use log message to print _this for example. So you can get a Calltrace of all your functions together with the arguments passed to the functions. By using math and the "Time since start of frame" you can also calculate how much time was spent between 2 log messages. Log messages are precise to 2 microseconds. This only works with unscheduled scripts. Because it measures the time between the start and end of a scope. And you can imagine how useless it would be if your scope starts and only ends several frames later. To see all script commands added by ASP you can check the wiki but here are the most important ones: createProfileScope is the heart of ASP. You use this to create your Scopes. It returns a custom Variable Type. You have to store the result in a private local variable! When the variable goes out of scope, the scope is also ended. This is how ASP measures the time. profilerCaptureFrame works just like diag_captureFrame. It tells ASP to record from the start of the next frame till it's end and will then post the captured (A Capture is a frame that was recorded and is displayed. I will refer to it as Capture from now on) data into your Clipboard. If you are using the Profiling Binary it will automatically open the UI and you have to press "PASTE ALL" on the bottom to paste the data and display it. It is sometimes hard to find the Frame you are interested in. That's why ASP has the Trigger capture mode. Using profilerCaptureTrigger you can start the Trigger mode. In this mode ASP will record every frame and look for a Trigger event. If a Frame contains a Trigger it will display it to you. profilerTrigger is that trigger. If you call it while in Trigger mode the current frame will be captured. Using this you can just place the trigger inside the script you want to profile. Then just start Trigger mode and wait till your script executes. ASP was already successfully used to find and fix performance problems in ACE. And will most likely help prevent them in the future. Currently ASP hooks into compile and compileFinal script commands and automatically adds a Scope to every compiled script. I will probably disable that in the Future. But this way you can immediately start profiling all your scripts without having to instrument them before. If you find some nice optimizations by using this please share :3 Download: You can get the Mod here: https://github.com/dedmen/ArmaScriptProfiler/releases Currently it requires a unreleased development version of Intercept. Till it's release you can get it from here: https://github.com/dedmen/ArmaScriptProfiler/releases/download/1.0.20/Intercept_0.10.0.588.zip Edit: I know that profv7 x64 is broken. Already have a hotfix but I'm working on a future-proof permanent fix for that. This is still a bit experimental, I should really do a partial rewrite of the code. In case of Game crashes please PM me your crash report or crashdump files. For bugs and feature requests please refer to the Github page. This is also on Reddit! I'm not really good in writing fancy forum posts. If someone wants to make this more splendid feel free to PM me. Uploading this to Armaholic, withSix, Steam workshop or similar is not allowed! Please refer to the License.
  25. So as the title states I'm curious what you all think about efficiency/optimizations when it comes to writing a lengthy script/mod for a mission. My current scripted mod is AC-C4I (Air Craft Command, Contol, Computers, Communications, & Intelligence). It has to do with sensors and targeting. The scripts have a lot of "waitUntil" commands for locking the targeting camera to screenToWorld amongst other functions. What would be the most efficient way to write this/integrate it into a mission. I can write the whole thing in one file and "call compile preprocessFileLineNumbers" on init. I can create a CfgFunctions.hpp and add it to the description.ext, or I could make it an FSM. I'd love to hear from you guys. Thanks.
×