Jump to content

Grumpy Old Man

Member
  • Content Count

    4313
  • Joined

  • Last visited

  • Medals

Everything posted by Grumpy Old Man

  1. Grumpy Old Man

    Tv Guided System

    Oh boy, there has to be a way to display this on one of the jets built in monitors!
  2. Added sorting for scopes and UGLs, gonna add a filter for suppressed weapons too if there's interest.
  3. Hey folks! I threw together a small script that reads all firearms from the Cfg and filters them in a list. The big advantage of this script is that it will automatically add all custom weapons from addon packs to help with randomization of unit loadouts. UPDATE: Added filter for rifles with more than one muzzle (UGL) Added filter and arrays for close combat optics/reflex sights, medium range scopes and sniper scopes for low, medium and high damage rifles. Might add further arrays for suppressed weapons if there's interest. Here's how the arrays are looking now: Enjoy!
  4. Grumpy Old Man

    [Release] GOM_CB - Carpet Bombing V1.1

    Added some features.
  5. Grumpy Old Man

    Getting player name to sideChat

    the format command can be very powerful hint format ["My name is %1",name player]; will put out "My name is Grumpy Old Man" in the hint window. Have a look at https://community.bistudio.com/wiki/format for further reference.
  6. Grumpy Old Man

    Item 3D spin and hover

    Just save this in a .sqf file called weaponrotate.sqf and put it in your mission folder: _turntable = createVehicle [ "Land_Can_V3_F", _this select 0, [], 0, "CAN_COLLIDE" ]; _turntable hideObject true; _holder = createVehicle [ "WeaponHolderSimulated", _this select 0, [], 0, "CAN_COLLIDE" ]; _holder addWeaponCargoGlobal [_this select 1, 1]; _holder attachTo [_turntable, [0,-0.63,0.7]]; _holder setVectorDirAndUp [[0,0,1],[0,-1,0]]; _time = time + 10; _dir = getDir _turntable; waitUntil { _dir = _dir + ( if (_dir > 360) then [{-360},{3}] ); _turntable setDir _dir; time > _time }; deleteVehicle _holder; deleteVehicle _turntable; then call it from a trigger or wherever you want using this: _nul = [ player modelToWorld [0,2,0], "arifle_Mk20_ACO_pointer_F" ] execVM "weaponrotate.sqf"; that's as basic as it will get ;)
  7. Grumpy Old Man

    Make AI sprint

    Didn't know about these, thanks for sharing!
  8. Grumpy Old Man

    Item 3D spin and hover

    It's arma, what do you think? http://killzonekid.com/arma-rotating-weapon-holders/
  9. Grumpy Old Man

    Civilian Crates?

    Hey Meatball, correct me if I'm wrong, but isn't sideEnemy a side on its own? You could probably use that for zombies, no idea how it will work out though because they might be hostile to each other. Then there's still sideFriendly...
  10. Grumpy Old Man

    BL1Ps BenchMark fun.

    Thanks for sharing this, added it to all my spawning scripts, with the right values you barely notice anything going on in the background. Much appreciated!
  11. If you put all possible start positions into an array it could look like this: _mystartpositions = [[0,0,0],[5234,7345,0]]; _rndstartposition = _mystartpositions call BIS_fnc_selectRandom; player setpos _rndstartposition;
  12. Grumpy Old Man

    Activate Effects Modules via Script

    You forgot the most essential points: 1. Make script. 2. Wonder why it's not working. 3. Get it working. 4. Wonder why it's working. 5. Make it pretty. 6. Wonder why it's not working. repeat n times
  13. Aerial Denial Script by Grumpy Old Man Tired of nasty pilots unloading troops right in the middle of an AO? Got a score to settle with that filthy Kajman? Want to show off in the next duck hunting season? This script will put an end to all of your issues, force pilots to carry a second pair of pants and spawn static weapons armed with 35mm autocannons on predefined marker locations. http://vimeo.com/98261014 It's pretty easy to use and should work fine in multiplayer. Copy this into a file and name it GOM_fnc_AD.sqf: Usage: place markers and name them, i.e.: noflyzone1, noflyzone2 etc. Call this file from where you seem fit with a line like this: nul = [["noflyzone1","noflyzone1","noflyzone3","noflyzone4"],3,50,west] execVM "GOM_fnc_AD.sqf"; param1 = array of markers where AA units should be placed param2 = amount of AA units to place on each(!) marker (don't go nuts with this, even 5 units per marker will annihilate any aircrafts) param3 = occupied area (should be 50 or higher for effectiveness) param4 = side of the AA units (west,east,resistance) If you need to delete all AA units simply use: {deletevehicle _x} foreach GOM_list_ADunits; note: be careful when placing the markers since the engagement range can be really high Feel free to use! Enjoy! Edit: Added all units to an array for easier deletion.
  14. Grumpy Old Man

    We need worse weapon systems

    I really miss low budget units like the Takistani Locals from OA. Nothing better than wreaking havoc with a trusty lee-enfield and a rpg-7.
  15. Grumpy Old Man

    Activate Effects Modules via Script

    Since modules are basically scripts you could easily achieve what you want without using modules at all, makes it way easier to control. What are you trying to do?
  16. From what I've tried in the past custom marker icons are only possible as an addon, unfortunately.
  17. Grumpy Old Man

    Two Simple Problems With Bargate

    Place two triggers as shown in these pictures: Trigger1: Trigger2: Now the bargate will stay open for at least n seconds (Timeout value in trigger2) before closing.
  18. Hey folks, I'm trying to read all weapons (rifles, pistols) from the CfgWeapons and sort them depending on the caliber, optics etc., into different "firepower" arrays. The goal is to make at least 3 arrays ascending from "low firepower" (5.56mm rifles without RCO/MRCO/ARCO) up to "high firepower" (7.62mm rifles with DMS/SOS/LRPS), you get the idea. Using this script it would be possible to dynamically use addon weapons depending on their "firepower" (for low to high threat engagements) without any further efforts. Where I'm currently struggling is how to determine the caliber of a weapon (is there a config value that I'm missing?) and if it has any optics mounted (so that "arifle_Mk20_F" and "arifle_Mk20_MRCO_F" won't end up in the same "firepower" array). Any ideas? Cheers
  19. I was doing the same approach as you for custom loadouts, with future weapon additions and user made content this would surely be a nightmare to fix, hence the idea for this script. Gonna add checks and filters for optics, attachments and UGL later this weekend, and also trying to find a way to exclude vanilla weapons/addon weapons from being added to the array, will open another thread for release ;)
  20. Thanks for sharing, Squeeze, good insight on the LinkedItems entry, will be of use! Cheers ---------- Post added at 09:06 ---------- Previous post was at 08:33 ---------- Got it sorted finally, gonna implement a further filter for scopes and attachments later this weekend. Working script: //This script will filter all weapons including AddOn weapons to improve custom loadout handling //All weapons are stored in the GOM_list_allweapons array: // //Handguns: GOM_list_allweapons select 0; //Low damage rifles: (GOM_list_allweapons select 1) select 0; //Medium damage rifles: (GOM_list_allweapons select 1) select 1; //High damage rifles: (GOM_list_allweapons select 1) select 2; //Non-locking Launchers: (GOM_list_allweapons select 2) select 0; //Locking Launchers: (GOM_list_allweapons select 2) select 1; _pistols = []; _lowrifles = []; _medrifles = []; _highrifles = []; _lowlaunchers = []; _highlaunchers = []; _cfg = (configFile >> "CfgWeapons"); for "_i" from 0 to ((count _cfg)-1) do { if (isClass ((_cfg select _i) )) then { _cfgName = configName (_cfg select _i); _getmagazines = getarray (configfile >> "CfgWeapons" >> _cfgName >> "magazines"); _gettype = getnumber (configfile >> "CfgWeapons" >> _cfgName >> "type"); _check = (configfile >> "CfgWeapons" >> _cfgName >> "type"); if ((_gettype <= 4 AND _gettype > 0) AND (getNumber ((_cfg select _i) >> "scope") == 2) AND (count _getmagazines != 0)) then { _magazine = _getmagazines select 0; _ammo = gettext (configfile >> "CfgMagazines" >> _magazine >> "ammo"); _hitvalue = getnumber (configfile >> "CfgAmmo" >> _ammo >> "hit"); if (_gettype == 2) then { _pistols set [count _pistols, _cfgName]; }; if (_gettype == 1) then { if (_hitvalue < 10) then { _lowrifles set [count _lowrifles, _cfgName]; }; if (_hitvalue >= 10 AND _hitvalue < 12) then { _medrifles set [count _medrifles, _cfgName]; }; if (_hitvalue >= 12) then { _highrifles set [count _highrifles, _cfgName]; }; }; _getlock = getnumber (configfile >> "CfgWeapons" >> _cfgName >> "canLock"); if (_gettype == 4 AND _getlock < 2) then { _lowlaunchers set [count _lowlaunchers, _cfgName]; }; if (_gettype == 4 AND _getlock == 2) then { _highlaunchers set [count _highlaunchers, _cfgName]; }; }; }; }; GOM_list_allweapons = [_pistols,[_lowrifles,_medrifles,_highrifles],[_lowlaunchers,_highlaunchers]]; true How the array looks like with vanilla A3 weapons: [ //handguns: ["hgun_ACPC2_F","hgun_ACPC2_snds_F","hgun_P07_F","hgun_P07_snds_F","hgun_Pistol_heavy_01_F","hgun_Pistol_heavy_01_snds_F","hgun_Pistol_heavy_01_MRD_F","hgun_Pistol_heavy_02_F","hgun_Pistol_heavy_02_Yorris_F","hgun_Rook40_F","hgun_Rook40_snds_F","hgun_Pistol_Signal_F"], [ //low damage rifles: ["arifle_Mk20_F","arifle_Mk20_plain_F","arifle_Mk20C_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_F","arifle_Mk20_GL_plain_F","arifle_Mk20C_ACO_F","arifle_Mk20C_ACO_pointer_F","arifle_Mk20_pointer_F","arifle_Mk20_Holo_F","arifle_Mk20_ACO_F","arifle_Mk20_ACO_pointer_F","arifle_Mk20_MRCO_F","arifle_Mk20_MRCO_plain_F","arifle_Mk20_MRCO_pointer_F","arifle_Mk20_GL_MRCO_pointer_F","arifle_Mk20_GL_ACO_F","arifle_SDAR_F","arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_TRG20_Holo_F","arifle_TRG20_ACO_pointer_F","arifle_TRG20_ACO_Flash_F","arifle_TRG20_ACO_F","arifle_TRG21_ACO_pointer_F","arifle_TRG21_ARCO_pointer_F","arifle_TRG21_MRCO_F","arifle_TRG21_GL_MRCO_F","arifle_TRG21_GL_ACO_pointer_F","hgun_PDW2000_F","hgun_PDW2000_snds_F","hgun_PDW2000_Holo_F","hgun_PDW2000_Holo_snds_F","SMG_01_F","SMG_01_Holo_F","SMG_01_Holo_pointer_snds_F","SMG_01_ACO_F","SMG_02_F","SMG_02_ACO_F","SMG_02_ARCO_pointg_F"], //medium damage rifles: ["LMG_Mk200_F","LMG_Mk200_MRCO_F","LMG_Mk200_pointer_F","arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_Katiba_C_ACO_pointer_F","arifle_Katiba_C_ACO_F","arifle_Katiba_ACO_F","arifle_Katiba_ACO_pointer_F","arifle_Katiba_ARCO_F","arifle_Katiba_ARCO_pointer_F","arifle_Katiba_GL_ACO_F","arifle_Katiba_GL_ARCO_pointer_F","arifle_Katiba_GL_ACO_pointer_F","arifle_Katiba_GL_Nstalker_pointer_F","arifle_Katiba_GL_ACO_pointer_snds_F","arifle_Katiba_C_ACO_pointer_snds_F","arifle_Katiba_ACO_pointer_snds_F","arifle_Katiba_ARCO_pointer_snds_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MX_SW_F","arifle_MXM_F","arifle_MX_pointer_F","arifle_MX_Holo_pointer_F","arifle_MX_Hamr_pointer_F","arifle_MX_ACO_pointer_F","arifle_MX_ACO_F","arifle_MX_GL_ACO_F","arifle_MX_GL_ACO_pointer_F","arifle_MX_GL_Hamr_pointer_F","arifle_MXC_Holo_F","arifle_MXC_Holo_pointer_F","arifle_MX_SW_pointer_F","arifle_MX_SW_Hamr_pointer_F","arifle_MXM_Hamr_pointer_F","arifle_MXC_ACO_F","arifle_MXC_Holo_pointer_snds_F","arifle_MXC_SOS_point_snds_F","arifle_MXC_ACO_pointer_snds_F","arifle_MXC_ACO_pointer_F","arifle_MX_ACO_pointer_snds_F","arifle_MX_RCO_pointer_snds_F","arifle_MX_GL_Holo_pointer_snds_F","arifle_MXM_SOS_pointer_F","arifle_MXM_RCO_pointer_snds_F","arifle_MXM_DMS_F","arifle_MXC_Black_F","arifle_MX_Black_F","arifle_MX_GL_Black_F","arifle_MX_SW_Black_F","arifle_MXM_Black_F","arifle_MX_GL_Black_Hamr_pointer_F","arifle_MX_Black_Hamr_pointer_F","arifle_MX_SW_Black_Hamr_pointer_F"], //high damage rifles: ["srifle_DMR_01_F","srifle_DMR_01_ACO_F","srifle_DMR_01_MRCO_F","srifle_DMR_01_SOS_F","srifle_DMR_01_DMS_F","srifle_DMR_01_DMS_snds_F","srifle_DMR_01_ARCO_F","srifle_EBR_F","srifle_EBR_ACO_F","srifle_EBR_MRCO_pointer_F","srifle_EBR_ARCO_pointer_F","srifle_EBR_SOS_F","srifle_EBR_ARCO_pointer_snds_F","srifle_EBR_DMS_F","srifle_EBR_Hamr_pointer_F","srifle_EBR_DMS_pointer_snds_F","srifle_GM6_F","srifle_GM6_SOS_F","srifle_GM6_LRPS_F","srifle_LRR_F","srifle_LRR_SOS_F","srifle_LRR_LRPS_F","LMG_Zafir_F","LMG_Zafir_pointer_F"] ], [ //launchers without lock: ["launch_RPG32_F"], //launchers with lock ["launch_NLAW_F","launch_B_Titan_F","launch_I_Titan_F","launch_O_Titan_F","launch_B_Titan_short_F","launch_I_Titan_short_F","launch_O_Titan_short_F"] ] ] And here's the array with 3 random weapon AddOns loaded: [ //handguns ["hgun_ACPC2_F","hgun_ACPC2_snds_F","hgun_P07_F","hgun_P07_snds_F","hgun_Pistol_heavy_01_F","hgun_Pistol_heavy_01_snds_F","hgun_Pistol_heavy_01_MRD_F","hgun_Pistol_heavy_02_F","hgun_Pistol_heavy_02_Yorris_F","hgun_Rook40_F","hgun_Rook40_snds_F","hgun_Pistol_Signal_F"], [ //low damage rifles: ["arifle_Mk20_F","arifle_Mk20_plain_F","arifle_Mk20C_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_F","arifle_Mk20_GL_plain_F","arifle_Mk20C_ACO_F","arifle_Mk20C_ACO_pointer_F","arifle_Mk20_pointer_F","arifle_Mk20_Holo_F","arifle_Mk20_ACO_F","arifle_Mk20_ACO_pointer_F","arifle_Mk20_MRCO_F","arifle_Mk20_MRCO_plain_F","arifle_Mk20_MRCO_pointer_F","arifle_Mk20_GL_MRCO_pointer_F","arifle_Mk20_GL_ACO_F","arifle_SDAR_F","arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_TRG20_Holo_F","arifle_TRG20_ACO_pointer_F","arifle_TRG20_ACO_Flash_F","arifle_TRG20_ACO_F","arifle_TRG21_ACO_pointer_F","arifle_TRG21_ARCO_pointer_F","arifle_TRG21_MRCO_F","arifle_TRG21_GL_MRCO_F","arifle_TRG21_GL_ACO_pointer_F","hgun_PDW2000_F","hgun_PDW2000_snds_F","hgun_PDW2000_Holo_F","hgun_PDW2000_Holo_snds_F","SMG_01_F","SMG_01_Holo_F","SMG_01_Holo_pointer_snds_F","SMG_01_ACO_F","SMG_02_F","SMG_02_ACO_F","SMG_02_ARCO_pointg_F","sgun_AA12_F","sgun_AA12_ACO_IR","BTC_m4a3","BTC_m4a3_gl","BTC_m16a4","BTC_m16a4_gl","BTC_mk16","BTC_mk16_gl","BTC_m249"], //medium damage rifles: ["LMG_Mk200_F","LMG_Mk200_MRCO_F","LMG_Mk200_pointer_F","arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_Katiba_C_ACO_pointer_F","arifle_Katiba_C_ACO_F","arifle_Katiba_ACO_F","arifle_Katiba_ACO_pointer_F","arifle_Katiba_ARCO_F","arifle_Katiba_ARCO_pointer_F","arifle_Katiba_GL_ACO_F","arifle_Katiba_GL_ARCO_pointer_F","arifle_Katiba_GL_ACO_pointer_F","arifle_Katiba_GL_Nstalker_pointer_F","arifle_Katiba_GL_ACO_pointer_snds_F","arifle_Katiba_C_ACO_pointer_snds_F","arifle_Katiba_ACO_pointer_snds_F","arifle_Katiba_ARCO_pointer_snds_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MX_SW_F","arifle_MXM_F","arifle_MX_pointer_F","arifle_MX_Holo_pointer_F","arifle_MX_Hamr_pointer_F","arifle_MX_ACO_pointer_F","arifle_MX_ACO_F","arifle_MX_GL_ACO_F","arifle_MX_GL_ACO_pointer_F","arifle_MX_GL_Hamr_pointer_F","arifle_MXC_Holo_F","arifle_MXC_Holo_pointer_F","arifle_MX_SW_pointer_F","arifle_MX_SW_Hamr_pointer_F","arifle_MXM_Hamr_pointer_F","arifle_MXC_ACO_F","arifle_MXC_Holo_pointer_snds_F","arifle_MXC_SOS_point_snds_F","arifle_MXC_ACO_pointer_snds_F","arifle_MXC_ACO_pointer_F","arifle_MX_ACO_pointer_snds_F","arifle_MX_RCO_pointer_snds_F","arifle_MX_GL_Holo_pointer_snds_F","arifle_MXM_SOS_pointer_F","arifle_MXM_RCO_pointer_snds_F","arifle_MXM_DMS_F","arifle_MXC_Black_F","arifle_MX_Black_F","arifle_MX_GL_Black_F","arifle_MX_SW_Black_F","arifle_MXM_Black_F","arifle_MX_GL_Black_Hamr_pointer_F","arifle_MX_Black_Hamr_pointer_F","arifle_MX_SW_Black_Hamr_pointer_F"], //high damage rifles: ["srifle_DMR_01_F","srifle_DMR_01_ACO_F","srifle_DMR_01_MRCO_F","srifle_DMR_01_SOS_F","srifle_DMR_01_DMS_F","srifle_DMR_01_DMS_snds_F","srifle_DMR_01_ARCO_F","srifle_EBR_F","srifle_EBR_ACO_F","srifle_EBR_MRCO_pointer_F","srifle_EBR_ARCO_pointer_F","srifle_EBR_SOS_F","srifle_EBR_ARCO_pointer_snds_F","srifle_EBR_DMS_F","srifle_EBR_Hamr_pointer_F","srifle_EBR_DMS_pointer_snds_F","srifle_GM6_F","srifle_GM6_SOS_F","srifle_GM6_LRPS_F","srifle_LRR_F","srifle_LRR_SOS_F","srifle_LRR_LRPS_F","LMG_Zafir_F","LMG_Zafir_pointer_F","srifle_BISAK107GL_F","srifle_BISAK107_F","srifle_BISAK47S_F","srifle_BISAK74GLVOG_F","srifle_BISAK74_F","srifle_BISAK74GL_F","srifle_BISAKM_F","srifle_BISAKS74_F","srifle_BISAKS74Cobra_F","srifle_BISAKS74u_F","srifle_BISRPK74_F","BTC_mk17","BTC_mk17_gl","BTC_m14","BTC_dmr","BTC_m107","BTC_m240","BTC_mk48"] ], [ //launchers without lock: ["launch_RPG32_F","BTC_smaw","BTC_maaws","BTC_m136"], //launchers with lock: ["launch_NLAW_F","launch_B_Titan_F","launch_I_Titan_F","launch_O_Titan_F","launch_B_Titan_short_F","launch_I_Titan_short_F","launch_O_Titan_short_F","BTC_stinger"] ] ]
  21. Seems that caliber is an abstract value that doesn't have anything to do with the actual caliber, just like you said. I can just try to filter for the hit value now, no idea if this is gonna work out. That's what I got so far: _filtered = []; _cfg = (configFile >> "CfgWeapons"); for "_i" from 0 to ((count _cfg)-1) do { if (isClass ((_cfg select _i) )) then { _cfgName = configName (_cfg select _i); _getmagazines = getarray (configfile >> "CfgWeapons" >> _cfgName >> "magazines"); _gettype = getnumber (configfile >> "CfgWeapons" >> _cfgName >> "type"); if ((_gettype <= 4 AND _gettype > 0) AND (getNumber ((_cfg select _i) >> "scope") == 2) AND (count _getmagazines > 0)) then { _magazine = _getmagazines select 0; _ammo = gettext (configfile >> "CfgMagazines" >> _magazine >> "ammo"); _hitvalue = getnumber (configfile >> "CfgAmmo" >> _ammo >> "hit"); _filtered set [_i, _cfgName]; }; }; }; GOM_list_allweapons = _filtered; hint str _filtered; copytoclipboard str _filtered; For some weird reason it's throwing a lot of <null> element into the array, all other elements consist of only equippable weapons just as intended. Now to find a way to filter for attachments/hit value.
  22. try this in the activation field: vehicle player in thislist Will work if the player is in the trigger area, with or without vehicle, works in both cases.
  23. The wiki only holds a fraction of all built in functions for arma 3. When you're in the editor hit CTRL+F. Lots of good stuff there.
  24. Grumpy Old Man

    idea for making a mission

    For a fancy ending use BIS_fnc_endmission: "end1" call BIS_fnc_endMission; in a trigger when the mission should end. To avoid the "20%" stuff simply use underscores instead of empty space (spacebar). You can name your mission in the Intel window inside the editor.
  25. Grumpy Old Man

    [Release] GOM_AD - Aerial Denial script

    Hey bamse, added all AA units to an array called GOM_list_ADunits, if you need to delete them simply use: {deletevehicle _x} foreach GOM_list_ADunits; If you want to spawn them again simply call the script again. :coop: To your first question: AA units will spawn as soon as you use the execVM command. The occupied area parameter (param3) just indicates the size of the area used to place those AA units. Additional parameters are best entered as a string at the end of the arguments: "MISSILES" so it looks like this: [["noflyzone1","noflyzone2"],3,50,east,"MISSILES"] execVM "GOM_fnc_AD.sqf"; @barbolani no idea, unfortunately. I'm only sure that it isn't Maria Callas, heh. I have a few versions of this particular piece and the singer is missing on this one, it's from the Hitman Absolution soundtrack if that's of any help.:p Cheers
×