GEORGE FLOROS GR 4207 Posted April 9, 2019 This List has reached 50 : On 4/5/2018 at 3:46 PM, GEORGE FLOROS GR said: On 8/30/2018 at 11:00 PM, GEORGE FLOROS GR said: This is the list so far: 1. GF Custom Deathscreen Script 2. GF Headshot + Killfeed Script 3. GF Earthquake Script 4. GF Crashsites Script 5. GF Cargo Airdrops Script 6. GF Ravage Status Bar script 7. GF Drop Loot Script 8. GF Holster script 9. GF Earplugs Script 10.GF Custom Loot Position Spawn Script 11.GF Cleanup Script 12.GF Vehicles Configurable Loot Script 13.GF Status Bar Script 14.GF Blood Stains and SFX Script 15.GF Use Every Uniform 16.GF Vehicle Radio chatter script 17.GF Blood Stains and SFX LITE Script 18.GF Ravage Static Traders Script 19.GF Skinning Script 20.GF Missions Script 21.GF Police and Siren Script 22.GF Set AISkill Script 23.GF Ravage Heros Money Reward Script 24.GF Heros Status Bar Script 25.GF Set Custom Loadout Script 26.GF Units Map Markers and Symbols Script 27.GF Ambient Environment Sounds Script 28.GF Kill info Script 29.GF ColorCorrections Script 30.GF Weather Script 31.GF Fog Script 32.GF Breath Script 33.GF Ambient Environment Winter Script 34.GF Gunlights Script 35.GF Auto Loot Script 36.GF Auto Loot Crashsites Script - Mod 37.GF Auto Random Loadout Script 38.GF Auto Loot Airdrops Script - Mod 39.GF Auto Loot Vehicles Script - Mod 40.GF Visors Script - Mod 41.GF Exported Loadouts Script - Mod 42.GF Temperature Script - Mod 43.GF Auto Loot Road Crash Script - Mod 44.GF Building Replacement Script - Mod 45.GF Vegetation Replacement Script - Mod 46.GF Auto Population Script - Mod 47.GF Auto Population Zombie Script - Mod 48.GF ALIAS Anomaly Spawner Script 49.GF Explosive Objects Script - Mod 50.GF Set Custom Loadout with userconfig Mod 51.GF Auto Loot with userconfig Mod Thanks ! 4 Share this post Link to post Share on other sites
Rockapes 103 Posted April 10, 2019 12 hours ago, GEORGE FLOROS GR said: Oh, I could see this being alot of fun and dangerous 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 10, 2019 2 hours ago, Rockapes said: Oh, I could see this being alot of fun and dangerous A LOT , by far ! Especially if you enable also the big explosions ! Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 10, 2019 Here is the next : WIP GF Object Spawner Script - Mod a simple object spawner. with 3 presets included : vehicles , wrecks and structures. There is also as an option , for the vehicles an autodetection mods script , for the classnames , instead of lists. Some pics : available soon ! thanks ! 2 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 12, 2019 This new script - mod , has added to the compilation list : GF Object Spawner Script - Mod Thanks ! 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 14, 2019 Hello there to Everyone ! Since messing with the AI path for building topic , i have almost finished my urban patrol script : WIP GF Building Clearing some pics here : Thanks ! 4 1 Share this post Link to post Share on other sites
lordfrith 401 Posted April 23, 2019 On 4/15/2019 at 12:02 AM, GEORGE FLOROS GR said: i have almost finished my urban patrol script : WIP GF Building Clearing is this for adding in waypoints to any building of that class? i've been trying to get AI's to behave in those military cargo towers but i think something like this would be what i need! been away from arma for a bit and you've put out some cool stuff in that time, the auto population script is very interesting as well, good work as always, remember to sleep 😉 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 24, 2019 Hello there lordfrith ! This script will work on random building selection in the given area and the patrol will be updating according to the current position of the patrol , so this way it may be more random. So far testing , the ai's are not following all the building positions on 100% , so in case of stack , i have adjust this to select again a new route. The default is every 10 sec to check , if the patrol is not moving. I don't think that it's much of a problem if they don't enter a building or a certain room , because so else the patrol will procced to the the next point and when it will come up again this may change as well. I think that BIS should have implement a function for urban patrols. It will be soon available ! 3 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 25, 2019 On 4/23/2019 at 10:49 PM, lordfrith said: in those military cargo towers 3 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 25, 2019 What i haven't found though , is how to make the group members to follow through! Sometimes they just get in , but generally they don't follow the certain path of the leader ! Spoiler # KORN : Follow the leader Share this post Link to post Share on other sites
lordfrith 401 Posted April 26, 2019 10 hours ago, GEORGE FLOROS GR said: Sometimes they just get in , but generally they don't follow the certain path of the leader ! yeah they just love to hang out at the bottom of the stairs don't they, i just checked my function and i got round that by running the patrol script on each group member, which worked fine for me as i just wanted a few units patrolling the one building, but is maybe not a good fix for your needs i think, for a group patrolling many buildings. I feel like the more stairs there are in a building the less the AI wants to behave, perhaps arma AI is scared of heights 😉 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted May 3, 2019 WIP GF Suppression Script - Mod The whole stuff started here by LSValmont : 18 minutes ago, GEORGE FLOROS GR said: Here is the code so far , for anyone who wants to test : Reveal hidden contents //________________ Author : GEORGE FLOROS [GR] ___________ 04.05.19 ___________ /* ________________ GF Suppression Script - Mod ________________ Not yet Please keep the Credits or add them to your Diary 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/ ArmA 3 | Notepad ++ SQF tutorial https://www.youtube.com/watch?v=aI5P7gp3x90 and also use the extra pluggins (this way will be better , it will give also some certain colors 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/ BI Forum Ravage Club Owner : https://forums.bohemia.net/clubs/73-bi-forum-ravage-club/ */ //________________ Settings ________________ //________________ Set true or false ________________ GF_Suppression_Systemchat_info = true; GF_Suppression_diag_log_info = true; if (GF_Suppression_Systemchat_info) then { systemchat "GF Suppression Script initializing"; }; if (GF_Suppression_diag_log_info) then { diag_log "//________________ GF Suppression Script initializing ________________"; }; GF_Suppression_Effects = { _Blur = { "dynamicBlur" ppEffectEnable true; "dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 0.2; }; _RadialBlur = { _pp = ppEffectCreate ["RadialBlur", 1000]; _pp ppEffectEnable true; _pp ppEffectForceInNVG true; _pp ppEffectAdjust [0.01, 0.01, 0.06, 0.06]; _pp ppEffectCommit 0.1; uisleep 0.2; ppeffectdestroy _pp; }; _ChromAberration = { _pp = ppEffectCreate ["ChromAberration",200]; _pp ppEffectEnable true; _pp ppEffectForceInNVG true; _pp ppEffectAdjust [0.03, 0.03, true]; _pp ppEffectCommit 0.1; uisleep 0.2; ppeffectdestroy _pp; }; _Grain = { _pp = ppEffectCreate ["filmGrain", 2012]; _pp ppEffectEnable true; _pp ppEffectForceInNVG true; _pp ppEffectAdjust [random 0.2, 1, 1, 0, 1]; _pp ppEffectCommit 0.1; uisleep 0.2; ppeffectdestroy _pp; }; _setaperture = { setaperture 150; uisleep 0.01; setaperture 0; }; _blink = { _pp = ppEffectCreate ["ColorCorrections", 1001]; _pp ppEffectEnable true; _pp ppEffectForceInNVG true; _pp ppEffectAdjust [0.26, 1, 0, [0,0,0,0], [0,0,0,0], [0,0,0,0]]; _pp ppEffectCommit 0.2; uisleep 0.15; _pp ppEffectAdjust [1, 1, 0, [0, 0, 0, 0], [1, 1, 1, 1],[0.5, 0.5, 0.5, 0.5]]; _pp ppEffectCommit 0.15; uisleep 0.15; _pp ppEffectEnable false; ppEffectDestroy _pp; }; if(random 3 > 2)then{_this spawn _Blur}; if(random 3 > 2)then{_this spawn _RadialBlur}; // RadialBlur will not do anything if RADIAL BLUR is disabled in Video Options if(random 3 > 2)then{_this spawn _ChromAberration}; if(random 3 > 2)then{_this spawn _Grain}; if(random 3 > 2)then{_this spawn _setaperture}; if(random 3 > 2)then{_this spawn _blink}; }; GF_Suppression = { _this addEventHandler ["Fired", { params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_vehicle"]; _Target = assignedTarget _unit; // systemchat format["%1",_Target]; if ((_Target distance _unit) > 1000) exitWith {}; if !(isplayer _Target) exitWith {}; if !(isNull objectParent _Target) exitWith {}; _distance = _unit distance _Target; _distance = round _distance; _random = 0; switch true do { case(_distance > 600) : {_random = random 10 > 9;}; case((_distance >= 400) && (_distance < 600)) : {_random = random 10 > 7;}; case((_distance >= 200) && (_distance < 400)) : {_random = random 10 > 6;}; case((_distance >= 100) && (_distance < 200)) : {_random = random 10 > 4;}; case((_distance >= 50) && (_distance < 100)) : {_random = random 10 > 2;}; case((_distance > 0) && (_distance < 50)) : {_random = random 2 > 1;}; }; if(_random)then{ _pos = getpos _Target; _list = _pos nearEntities ["MAN",2]; { if(isplayer _x)then{ //[_x]call GF_Suppression_Effects; _null = [_x] remoteExecCall ["GF_Suppression_Effects",_x]; }; }forEach _list; // systemchat format["%1",_distance]; }; // systemchat "fire"; }]; }; [] spawn{ while {true} do{ waituntil{uisleep 1; { if( (alive _x) && (!(isplayer _x)) && (!(_x getVariable ["Var_GF_Suppression",false])) )then{ _x spawn GF_Suppression; }; _x setVariable ["Var_GF_Suppression",true]; }forEach allUnits + vehicles; }; }; }; if (GF_Suppression_Systemchat_info) then { systemchat "GF Suppression Script initialized"; }; if (GF_Suppression_diag_log_info) then { diag_log "//________________ GF Suppression Script initialized ________________"; }; + some pics : 2 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted May 7, 2019 This is now available here : 3 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted June 17, 2019 Hello there to everyone ! On 6/16/2019 at 7:12 AM, Weapon-Fetish said: I always play MP alone because no respawn in SP , missing everytime my Bed 😄 So after this post i decided to create a [WIP] Single Player Respawn Script - Mod. For anyone who wants to check about it : Download [ Script - Mod ] : +GF_Respawn_SP.VR.zip code only : Spoiler //________________ Author : GEORGE FLOROS [GR] ___________ 19.06.19 _____________ /* ________________ GF Respawn SP Script - Mod ________________ // Not yet Please keep the Credits or add them to your Diary 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/ ArmA 3 | Notepad ++ SQF tutorial https://www.youtube.com/watch?v=aI5P7gp3x90 and also use the extra pluggins (this way will be better , it will give also some certain colors 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/ BI Forum Ravage Club Owner : https://forums.bohemia.net/clubs/73-bi-forum-ravage-club/ */ //________________ Settings ________________ //________________ Set true or false ________________ GF_Respawn_SP_Systemchat_info = true; GF_Respawn_SP_diag_log_info = true; GF_Respawn_SP_time = 5; GF_Respawn_SP_Position_Select = 3; // 1 = random position , 2 = position on Marker , 3 = position on random Markers GF_Respawn_SP_Loadout_Select = 2; // 1 = No change , 2 = Random , 3 = Custom (paste from arsenal) if(GF_Respawn_SP_Systemchat_info)then{ systemchat "GF_Respawn_SP Script initializing"; }; if(GF_Respawn_SP_diag_log_info)then{ diag_log "//________________ GF_Respawn_SP Script initializing ________________"; }; GF_Respawn_SP_Loadout = { switch (GF_Respawn_SP_Loadout_Select) do{ case 1 : { // No change }; case 2 : { removeallweapons _this; removeAllItems _this; removeAllAssignedItems _this; removeUniform _this; removeVest _this; removeBackpack _this; removeHeadgear _this; removeGoggles _this; //________________ _Uniform_array ________________ _Uniform_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 801 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; //________________ _handgunWeapon_array ________________ _handgunWeapon_array = ("getNumber (_x >> 'type') isEqualTo 2 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _primaryWeapon_array = ("getNumber (_x >> 'type') isEqualTo 1 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _secondaryWeapon_array = ("getNumber (_x >> 'type') isEqualTo 4 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Magazines_array = ("getNumber (_x >> 'scope') isEqualTo 2 && getNumber (_x >> 'type') in [256,16,2*256,3*256,6*256]"configClasses (configFile >> "CfgMagazines"))apply{configName _x}; _Vests_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 701 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Headgear_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 605 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Backpacks_array = ("getNumber (_x >> 'isbackpack') isEqualTo 1 && getNumber (_x>> 'scope') >1 && getNumber (_x>> 'maximumLoad') != 0" configClasses (configfile >> "CfgVehicles"))apply{configName _x}; _Goggles_array = ("getNumber (_x >> 'scope') > 1" configClasses (configfile >> "CfgGlasses"))apply{configName _x}; _Items_array = ("getNumber (_x >> 'type') isEqualTo 4096 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Attachments_array = ("getNumber (_x >> 'type') isEqualTo 131072 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Binocular_and_Nvg_array = ( "(!(getText( _x >> 'DLC' ) == 'mcc_sandbox_a3')) && getNumber ( _x >> 'scope' ) isEqualTo 2 && getNumber ( _x >> 'type' ) in [ 131072, 4096 ] && getNumber ( _x >> 'ItemInfo' >> 'type' ) in [ 0 , 616 ] "configClasses (configfile >> "CfgWeapons") )apply {configName _x}; _Uniform = selectRandom _Uniform_array; _Headgear = selectRandom _Headgear_array; _Goggles = selectRandom _Goggles_array; _Vests = selectRandom _Vests_array; _Backpacks = selectRandom _Backpacks_array; _primaryWeapon = selectRandom _primaryWeapon_array; _secondaryWeapon = selectRandom _secondaryWeapon_array; _handgunWeapon = selectRandom _handgunWeapon_array; //________________ _Items ________________ _Items = selectRandom _Items_array; _Attachments = selectRandom _Attachments_array; _Magazines = selectRandom _Magazines_array; //________________ add Gear ________________ _this forceAddUniform _Uniform; _this addVest _Vests; _this addHeadgear _Headgear; _this addGoggles _Goggles; _this addWeapon _primaryWeapon; _this addWeaponGlobal _handgunWeapon; if(random 10 < 3) then{_this addBackpack _Backpacks;}; if(!(backpack _this isEqualTo ""))then{ if(random 10 < 3) then{_this addWeapon _secondaryWeapon}; }; //________________ addItemToUniform ________________ for "_i" from 1 to 1 do{_this addItemToUniform "FirstAidKit";}; //________________ addItemToVest ________________ for "_i" from 1 to 1 do{_this addItemToVest "FirstAidKit";}; for "_i" from 1 to 1 do{_this addItemToVest "HandGrenade";}; for "_i" from 1 to 1 do{_this addItemToVest "MiniGrenade";}; for "_i" from 1 to 1 do{_this addItemToVest "SmokeShell";}; if(random 10 < 3) then{_this addItemToVest _Items;}; if(random 10 < 3) then{_this addItemToVest _Attachments;}; if(random 10 < 3) then{_this addItemToVest _Magazines;}; for "_i" from 1 to random 6 do{ _assignableItems = selectRandom _Binocular_and_Nvg_array; if(random 10 < 3) then{_this linkItem _assignableItems;}; }; //________________ add _primaryWeapon's compatible attachments ________________ _primaryWeapon_MuzzleSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"); if(count _primaryWeapon_MuzzleSlot >= 1)then{_primaryWeapon_Muzzle = selectRandom _primaryWeapon_MuzzleSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Muzzle;};}; _primaryWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _primaryWeapon_CowsSlot >= 1)then{_primaryWeapon_Optic = selectRandom _primaryWeapon_CowsSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Optic;};}; _primaryWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _primaryWeapon_PointerSlot >= 1)then{_primaryWeapon_Pointer = selectRandom _primaryWeapon_PointerSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Pointer;};}; _primaryWeapon_UnderBarrelSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems"); if(count _primaryWeapon_UnderBarrelSlot >= 1)then{_primaryWeapon_UnderBarrel = selectRandom _primaryWeapon_UnderBarrelSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_UnderBarrel;};}; //________________ add _secondaryWeapon 's compatible attachments ________________ _secondaryWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _secondaryWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _secondaryWeapon_CowsSlot >= 1)then{_secondaryWeapon_Optic = selectRandom _secondaryWeapon_CowsSlot; if(random 10 < 3) then{_this addSecondaryWeaponItem _secondaryWeapon_Optic;};}; _secondaryWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _secondaryWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _secondaryWeapon_PointerSlot >= 1)then{_secondaryWeapon_Pointer = selectRandom _secondaryWeapon_PointerSlot; if(random 10 < 3) then{_this addSecondaryWeaponItem _secondaryWeapon_Pointer;};}; //________________ add _handgunWeapon's compatible attachments ________________ _handgunWeapon_MuzzleSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"); if(count _handgunWeapon_MuzzleSlot >= 1)then{_handgunWeapon_Muzzle = selectRandom _handgunWeapon_MuzzleSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Muzzle;};}; _handgunWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _handgunWeapon_CowsSlot >= 1)then{_handgunWeapon_Optic = selectRandom _handgunWeapon_CowsSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Optic;};}; _handgunWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _handgunWeapon_PointerSlot >= 1)then{_handgunWeapon_Pointer = selectRandom _handgunWeapon_PointerSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Pointer;};}; //________________ add _primaryWeapon's mags ________________ _primaryWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _primaryWeapon / "magazines"); if(count _primaryWeapon_Magazines_array > 0)then{ private _primaryWeapon_magazines = selectRandom _primaryWeapon_Magazines_array; for "_i" from 1 to 2 do{_this addItemToUniform _primaryWeapon_magazines;}; for "_i" from 1 to 5 do{_this addItemToVest _primaryWeapon_magazines;}; }; //________________ add _secondaryWeapon's mags ________________ _secondaryWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _secondaryWeapon / "magazines"); if(count _secondaryWeapon_Magazines_array > 0)then{ private _secondaryWeapon_Magazines = selectRandom _secondaryWeapon_Magazines_array; if(!(backpack _this isEqualTo ""))then{ for "_i" from 1 to 5 do{_this addItemTobackpack _secondaryWeapon_Magazines;}; }; }; //________________ add _handgunWeapon's mags ________________ _handgunWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _handgunWeapon / "magazines"); if(count _handgunWeapon_Magazines_array > 0)then{ private _handgunWeapon_Magazines = selectRandom _handgunWeapon_Magazines_array; for "_i" from 1 to 2 do{_this addItemToUniform _handgunWeapon_Magazines;}; }; }; case 3 : { comment "You must change , this to _this"; comment "Exported from Arsenal by [GR]GEORGE F"; comment "[!] UNIT MUST BE LOCAL [!]"; if (!local _this) exitWith {}; comment "Remove existing items"; removeAllWeapons _this; removeAllItems _this; removeAllAssignedItems _this; removeUniform _this; removeVest _this; removeBackpack _this; removeHeadgear _this; removeGoggles _this; comment "Add containers"; _this forceAddUniform "U_B_HeliPilotCoveralls"; _this addItemToUniform "FirstAidKit"; _this addItemToUniform "HandGrenade"; _this addItemToUniform "Chemlight_green"; _this addItemToUniform "30Rnd_65x39_caseless_green"; _this addVest "V_TacVestIR_blk"; _this addItemToVest "Chemlight_green"; for "_i" from 1 to 2 do {_this addItemToVest "30Rnd_65x39_caseless_green";}; for "_i" from 1 to 3 do {_this addItemToVest "11Rnd_45ACP_Mag";}; _this addHeadgear "H_Cap_blk"; comment "Add weapons"; _this addWeapon "arifle_Katiba_C_F"; _this addWeapon "hgun_Pistol_heavy_01_F"; _this addHandgunItem "optic_MRD"; _this addWeapon "Rangefinder"; comment "Add items"; _this linkItem "ItemMap"; _this linkItem "ItemCompass"; _this linkItem "ItemWatch"; _this linkItem "ItemRadio"; comment "Set identity"; [_this,"WhiteHead_09","male05eng"] call BIS_fnc_setIdentity; }; }; }; GF_Respawn_SP_Position = { switch (GF_Respawn_SP_Position_Select) do{ case 1 : { // for random position _pos = [] call BIS_fnc_randomPos; _this setposASL _pos; }; case 2 : { // Create a Marker if you want a certain position _pos = getmarkerPos "respawn"; _this setposASL _pos; }; case 3 : { // select a random marker , copy this inside the mission that you want to suffle the markers _array = selectRandom[ "respawn_1", "respawn_2", "respawn_3" ]; _pos = getmarkerPos _array; _this setposASL _pos; }; }; }; GF_Respawn_SP_Effects = { if(isPlayer _this && {local _this}) then{ _this allowDamage false; private ["_soundvolume","_musicvolume"]; _musicvolume = musicvolume; _soundvolume = soundvolume; 1 fadeSound 0.3; _this spawn{ "dynamicBlur" ppEffectEnable true; "dynamicBlur" ppEffectAdjust [20]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectAdjust [0.0]; "dynamicBlur" ppEffectCommit 4; }; cutText ["", "BLACK OUT", 0.001]; [1000] call BIS_fnc_bloodEffect; cutText ["<t size='2' font= 'EtelkaMonospaceProBold' >You are dead</t>", "BLACK OUT", -1, true, true]; uisleep 1; _this setdamage 0; _this spawn GF_Respawn_SP_Loadout; _this spawn GF_Respawn_SP_Position; uisleep GF_Respawn_SP_time; 2 fadesound _soundvolume; 2 fademusic _musicvolume; cutText ["", "BLACK IN", 3]; uisleep 3; _this allowDamage true; _this setCaptive false; }; }; GF_Respawn_SP_Loop = { params ["_unit"]; if(vehicle _unit != _unit) then{_unit action ["eject", vehicle _unit]}; _unit spawn GF_Respawn_SP; if(damage _unit == 0)then{ _unit setCaptive true; systemchat format ["Respawn :%1 / Damage :%2",name _unit, damage _unit]; _unit spawn GF_Respawn_SP_Effects; }; }; GF_Respawn_SP = { params ["_unit"]; _unit addEventHandler ["HandleDamage", { params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"]; _selection = _this select 2; if(damage _unit + _selection < 1)then{ _unit allowDamage true; }; if(damage _unit + _selection >= 1)then{ _damage = 0; _unit allowDamage false; systemchat format ["HandleDamage %1 / Damage :%2",typeOf _unit,damage _unit]; _unit removeEventHandler ["HandleDamage",_thisEventHandler]; _unit spawn GF_Respawn_SP_Loop; _damage; }; }]; }; player spawn GF_Respawn_SP; if(GF_Respawn_SP_Systemchat_info)then{ systemchat "GF_Respawn_SP Script initialized"; }; if(GF_Respawn_SP_diag_log_info)then{ diag_log "//________________ GF_Respawn_SP Script initialized ________________"; }; There are so far , settings for : GF_Respawn_SP_time = 5; GF_Respawn_SP_Position_Select = 3; // 1 = random position , 2 = position on Marker , 3 = position on random Markers GF_Respawn_SP_Loadout_Select = 2; // 1 = No change , 2 = Random , 3 = Custom (paste from arsenal) Thanks and have Fun ! 2 1 Share this post Link to post Share on other sites
zagor64bz 1225 Posted June 17, 2019 3 55 minutes ago, GEORGE FLOROS GR said: Hello there to everyone ! So after this post i decided to create a [WIP] Single Player Respawn Script - Mod. For anyone who wants to check about it : Download [ Script - Mod ] : +GF_Respawn_SP.VR.zip code only : Reveal hidden contents //________________ Author : GEORGE FLOROS [GR] ___________ 19.06.19 _____________ /* ________________ GF Respawn SP Script - Mod ________________ // Not yet Please keep the Credits or add them to your Diary 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/ ArmA 3 | Notepad ++ SQF tutorial https://www.youtube.com/watch?v=aI5P7gp3x90 and also use the extra pluggins (this way will be better , it will give also some certain colors 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/ BI Forum Ravage Club Owner : https://forums.bohemia.net/clubs/73-bi-forum-ravage-club/ */ //________________ Settings ________________ //________________ Set true or false ________________ GF_Respawn_SP_Systemchat_info = true; GF_Respawn_SP_diag_log_info = true; GF_Respawn_SP_time = 5; GF_Respawn_SP_Position_Select = 3; // 1 = random position , 2 = position on Marker , 3 = position on random Markers GF_Respawn_SP_Loadout_Select = 2; // 1 = No change , 2 = Random , 3 = Custom (paste from arsenal) if(GF_Respawn_SP_Systemchat_info)then{ systemchat "GF_Respawn_SP Script initializing"; }; if(GF_Respawn_SP_diag_log_info)then{ diag_log "//________________ GF_Respawn_SP Script initializing ________________"; }; GF_Respawn_SP_Loadout = { switch (GF_Respawn_SP_Loadout_Select) do{ case 1 : { // No change }; case 2 : { removeallweapons _this; removeAllItems _this; removeAllAssignedItems _this; removeUniform _this; removeVest _this; removeBackpack _this; removeHeadgear _this; removeGoggles _this; //________________ _Uniform_array ________________ _Uniform_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 801 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; //________________ _handgunWeapon_array ________________ _handgunWeapon_array = ("getNumber (_x >> 'type') isEqualTo 2 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _primaryWeapon_array = ("getNumber (_x >> 'type') isEqualTo 1 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _secondaryWeapon_array = ("getNumber (_x >> 'type') isEqualTo 4 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Magazines_array = ("getNumber (_x >> 'scope') isEqualTo 2 && getNumber (_x >> 'type') in [256,16,2*256,3*256,6*256]"configClasses (configFile >> "CfgMagazines"))apply{configName _x}; _Vests_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 701 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Headgear_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 605 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Backpacks_array = ("getNumber (_x >> 'isbackpack') isEqualTo 1 && getNumber (_x>> 'scope') >1 && getNumber (_x>> 'maximumLoad') != 0" configClasses (configfile >> "CfgVehicles"))apply{configName _x}; _Goggles_array = ("getNumber (_x >> 'scope') > 1" configClasses (configfile >> "CfgGlasses"))apply{configName _x}; _Items_array = ("getNumber (_x >> 'type') isEqualTo 4096 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Attachments_array = ("getNumber (_x >> 'type') isEqualTo 131072 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Binocular_and_Nvg_array = ( "(!(getText( _x >> 'DLC' ) == 'mcc_sandbox_a3')) && getNumber ( _x >> 'scope' ) isEqualTo 2 && getNumber ( _x >> 'type' ) in [ 131072, 4096 ] && getNumber ( _x >> 'ItemInfo' >> 'type' ) in [ 0 , 616 ] "configClasses (configfile >> "CfgWeapons") )apply {configName _x}; _Uniform = selectRandom _Uniform_array; _Headgear = selectRandom _Headgear_array; _Goggles = selectRandom _Goggles_array; _Vests = selectRandom _Vests_array; _Backpacks = selectRandom _Backpacks_array; _primaryWeapon = selectRandom _primaryWeapon_array; _secondaryWeapon = selectRandom _secondaryWeapon_array; _handgunWeapon = selectRandom _handgunWeapon_array; //________________ _Items ________________ _Items = selectRandom _Items_array; _Attachments = selectRandom _Attachments_array; _Magazines = selectRandom _Magazines_array; //________________ add Gear ________________ _this forceAddUniform _Uniform; _this addVest _Vests; _this addHeadgear _Headgear; _this addGoggles _Goggles; _this addWeapon _primaryWeapon; _this addWeaponGlobal _handgunWeapon; if(random 10 < 3) then{_this addBackpack _Backpacks;}; if(!(backpack _this isEqualTo ""))then{ if(random 10 < 3) then{_this addWeapon _secondaryWeapon}; }; //________________ addItemToUniform ________________ for "_i" from 1 to 1 do{_this addItemToUniform "FirstAidKit";}; //________________ addItemToVest ________________ for "_i" from 1 to 1 do{_this addItemToVest "FirstAidKit";}; for "_i" from 1 to 1 do{_this addItemToVest "HandGrenade";}; for "_i" from 1 to 1 do{_this addItemToVest "MiniGrenade";}; for "_i" from 1 to 1 do{_this addItemToVest "SmokeShell";}; if(random 10 < 3) then{_this addItemToVest _Items;}; if(random 10 < 3) then{_this addItemToVest _Attachments;}; if(random 10 < 3) then{_this addItemToVest _Magazines;}; for "_i" from 1 to random 6 do{ _assignableItems = selectRandom _Binocular_and_Nvg_array; if(random 10 < 3) then{_this linkItem _assignableItems;}; }; //________________ add _primaryWeapon's compatible attachments ________________ _primaryWeapon_MuzzleSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"); if(count _primaryWeapon_MuzzleSlot >= 1)then{_primaryWeapon_Muzzle = selectRandom _primaryWeapon_MuzzleSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Muzzle;};}; _primaryWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _primaryWeapon_CowsSlot >= 1)then{_primaryWeapon_Optic = selectRandom _primaryWeapon_CowsSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Optic;};}; _primaryWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _primaryWeapon_PointerSlot >= 1)then{_primaryWeapon_Pointer = selectRandom _primaryWeapon_PointerSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Pointer;};}; _primaryWeapon_UnderBarrelSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems"); if(count _primaryWeapon_UnderBarrelSlot >= 1)then{_primaryWeapon_UnderBarrel = selectRandom _primaryWeapon_UnderBarrelSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_UnderBarrel;};}; //________________ add _secondaryWeapon 's compatible attachments ________________ _secondaryWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _secondaryWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _secondaryWeapon_CowsSlot >= 1)then{_secondaryWeapon_Optic = selectRandom _secondaryWeapon_CowsSlot; if(random 10 < 3) then{_this addSecondaryWeaponItem _secondaryWeapon_Optic;};}; _secondaryWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _secondaryWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _secondaryWeapon_PointerSlot >= 1)then{_secondaryWeapon_Pointer = selectRandom _secondaryWeapon_PointerSlot; if(random 10 < 3) then{_this addSecondaryWeaponItem _secondaryWeapon_Pointer;};}; //________________ add _handgunWeapon's compatible attachments ________________ _handgunWeapon_MuzzleSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"); if(count _handgunWeapon_MuzzleSlot >= 1)then{_handgunWeapon_Muzzle = selectRandom _handgunWeapon_MuzzleSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Muzzle;};}; _handgunWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _handgunWeapon_CowsSlot >= 1)then{_handgunWeapon_Optic = selectRandom _handgunWeapon_CowsSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Optic;};}; _handgunWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _handgunWeapon_PointerSlot >= 1)then{_handgunWeapon_Pointer = selectRandom _handgunWeapon_PointerSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Pointer;};}; //________________ add _primaryWeapon's mags ________________ _primaryWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _primaryWeapon / "magazines"); if(count _primaryWeapon_Magazines_array > 0)then{ private _primaryWeapon_magazines = selectRandom _primaryWeapon_Magazines_array; for "_i" from 1 to 2 do{_this addItemToUniform _primaryWeapon_magazines;}; for "_i" from 1 to 5 do{_this addItemToVest _primaryWeapon_magazines;}; }; //________________ add _secondaryWeapon's mags ________________ _secondaryWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _secondaryWeapon / "magazines"); if(count _secondaryWeapon_Magazines_array > 0)then{ private _secondaryWeapon_Magazines = selectRandom _secondaryWeapon_Magazines_array; if(!(backpack _this isEqualTo ""))then{ for "_i" from 1 to 5 do{_this addItemTobackpack _secondaryWeapon_Magazines;}; }; }; //________________ add _handgunWeapon's mags ________________ _handgunWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _handgunWeapon / "magazines"); if(count _handgunWeapon_Magazines_array > 0)then{ private _handgunWeapon_Magazines = selectRandom _handgunWeapon_Magazines_array; for "_i" from 1 to 2 do{_this addItemToUniform _handgunWeapon_Magazines;}; }; }; case 3 : { comment "You must change , this to _this"; comment "Exported from Arsenal by [GR]GEORGE F"; comment "[!] UNIT MUST BE LOCAL [!]"; if (!local _this) exitWith {}; comment "Remove existing items"; removeAllWeapons _this; removeAllItems _this; removeAllAssignedItems _this; removeUniform _this; removeVest _this; removeBackpack _this; removeHeadgear _this; removeGoggles _this; comment "Add containers"; _this forceAddUniform "U_B_HeliPilotCoveralls"; _this addItemToUniform "FirstAidKit"; _this addItemToUniform "HandGrenade"; _this addItemToUniform "Chemlight_green"; _this addItemToUniform "30Rnd_65x39_caseless_green"; _this addVest "V_TacVestIR_blk"; _this addItemToVest "Chemlight_green"; for "_i" from 1 to 2 do {_this addItemToVest "30Rnd_65x39_caseless_green";}; for "_i" from 1 to 3 do {_this addItemToVest "11Rnd_45ACP_Mag";}; _this addHeadgear "H_Cap_blk"; comment "Add weapons"; _this addWeapon "arifle_Katiba_C_F"; _this addWeapon "hgun_Pistol_heavy_01_F"; _this addHandgunItem "optic_MRD"; _this addWeapon "Rangefinder"; comment "Add items"; _this linkItem "ItemMap"; _this linkItem "ItemCompass"; _this linkItem "ItemWatch"; _this linkItem "ItemRadio"; comment "Set identity"; [_this,"WhiteHead_09","male05eng"] call BIS_fnc_setIdentity; }; }; }; GF_Respawn_SP_Position = { switch (GF_Respawn_SP_Position_Select) do{ case 1 : { // for random position _pos = [] call BIS_fnc_randomPos; _this setposASL _pos; }; case 2 : { // Create a Marker if you want a certain position _pos = getmarkerPos "respawn"; _this setposASL _pos; }; case 3 : { // select a random marker , copy this inside the mission that you want to suffle the markers _array = selectRandom[ "respawn_1", "respawn_2", "respawn_3" ]; _pos = getmarkerPos _array; _this setposASL _pos; }; }; }; GF_Respawn_SP_Effects = { if(isPlayer _this && {local _this}) then{ _this allowDamage false; private ["_soundvolume","_musicvolume"]; _musicvolume = musicvolume; _soundvolume = soundvolume; 1 fadeSound 0.3; _this spawn{ "dynamicBlur" ppEffectEnable true; "dynamicBlur" ppEffectAdjust [20]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectAdjust [0.0]; "dynamicBlur" ppEffectCommit 4; }; cutText ["", "BLACK OUT", 0.001]; [1000] call BIS_fnc_bloodEffect; cutText ["<t size='2' font= 'EtelkaMonospaceProBold' >You are dead</t>", "BLACK OUT", -1, true, true]; uisleep 1; _this setdamage 0; _this spawn GF_Respawn_SP_Loadout; _this spawn GF_Respawn_SP_Position; uisleep GF_Respawn_SP_time; 2 fadesound _soundvolume; 2 fademusic _musicvolume; cutText ["", "BLACK IN", 3]; uisleep 3; _this allowDamage true; _this setCaptive false; }; }; GF_Respawn_SP_Loop = { params ["_unit"]; if(vehicle _unit != _unit) then{_unit action ["eject", vehicle _unit]}; _unit spawn GF_Respawn_SP; if(damage _unit == 0)then{ _unit setCaptive true; systemchat format ["Respawn :%1 / Damage :%2",name _unit, damage _unit]; _unit spawn GF_Respawn_SP_Effects; }; }; GF_Respawn_SP = { params ["_unit"]; _unit addEventHandler ["HandleDamage", { params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"]; _selection = _this select 2; if(damage _unit + _selection < 1)then{ _unit allowDamage true; }; if(damage _unit + _selection >= 1)then{ _damage = 0; _unit allowDamage false; systemchat format ["HandleDamage %1 / Damage :%2",typeOf _unit,damage _unit]; _unit removeEventHandler ["HandleDamage",_thisEventHandler]; _unit spawn GF_Respawn_SP_Loop; _damage; }; }]; }; player spawn GF_Respawn_SP; if(GF_Respawn_SP_Systemchat_info)then{ systemchat "GF_Respawn_SP Script initialized"; }; if(GF_Respawn_SP_diag_log_info)then{ diag_log "//________________ GF_Respawn_SP Script initialized ________________"; }; 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted June 17, 2019 6 minutes ago, zagor64bz said: Thank you very much Zagor ! Share this post Link to post Share on other sites
Weapon-Fetish 26 Posted June 18, 2019 4 hours ago, GEORGE FLOROS GR said: Hello there to everyone ! So after this post i decided to create a [WIP] Single Player Respawn Script - Mod. For anyone who wants to check about it : Download [ Script - Mod ] : +GF_Respawn_SP.VR.zip code only : Reveal hidden contents //________________ Author : GEORGE FLOROS [GR] ___________ 19.06.19 _____________ /* ________________ GF Respawn SP Script - Mod ________________ // Not yet Please keep the Credits or add them to your Diary 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/ ArmA 3 | Notepad ++ SQF tutorial https://www.youtube.com/watch?v=aI5P7gp3x90 and also use the extra pluggins (this way will be better , it will give also some certain colors 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/ BI Forum Ravage Club Owner : https://forums.bohemia.net/clubs/73-bi-forum-ravage-club/ */ //________________ Settings ________________ //________________ Set true or false ________________ GF_Respawn_SP_Systemchat_info = true; GF_Respawn_SP_diag_log_info = true; GF_Respawn_SP_time = 5; GF_Respawn_SP_Position_Select = 3; // 1 = random position , 2 = position on Marker , 3 = position on random Markers GF_Respawn_SP_Loadout_Select = 2; // 1 = No change , 2 = Random , 3 = Custom (paste from arsenal) if(GF_Respawn_SP_Systemchat_info)then{ systemchat "GF_Respawn_SP Script initializing"; }; if(GF_Respawn_SP_diag_log_info)then{ diag_log "//________________ GF_Respawn_SP Script initializing ________________"; }; GF_Respawn_SP_Loadout = { switch (GF_Respawn_SP_Loadout_Select) do{ case 1 : { // No change }; case 2 : { removeallweapons _this; removeAllItems _this; removeAllAssignedItems _this; removeUniform _this; removeVest _this; removeBackpack _this; removeHeadgear _this; removeGoggles _this; //________________ _Uniform_array ________________ _Uniform_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 801 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; //________________ _handgunWeapon_array ________________ _handgunWeapon_array = ("getNumber (_x >> 'type') isEqualTo 2 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _primaryWeapon_array = ("getNumber (_x >> 'type') isEqualTo 1 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _secondaryWeapon_array = ("getNumber (_x >> 'type') isEqualTo 4 && getNumber (_x>> 'scope') isEqualTo 2" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Magazines_array = ("getNumber (_x >> 'scope') isEqualTo 2 && getNumber (_x >> 'type') in [256,16,2*256,3*256,6*256]"configClasses (configFile >> "CfgMagazines"))apply{configName _x}; _Vests_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 701 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Headgear_array = ("getNumber (_x >> 'itemInfo' >> 'type') isEqualTo 605 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Backpacks_array = ("getNumber (_x >> 'isbackpack') isEqualTo 1 && getNumber (_x>> 'scope') >1 && getNumber (_x>> 'maximumLoad') != 0" configClasses (configfile >> "CfgVehicles"))apply{configName _x}; _Goggles_array = ("getNumber (_x >> 'scope') > 1" configClasses (configfile >> "CfgGlasses"))apply{configName _x}; _Items_array = ("getNumber (_x >> 'type') isEqualTo 4096 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Attachments_array = ("getNumber (_x >> 'type') isEqualTo 131072 && getNumber (_x>> 'scope') >1" configClasses (configfile >> "CfgWeapons"))apply{configName _x}; _Binocular_and_Nvg_array = ( "(!(getText( _x >> 'DLC' ) == 'mcc_sandbox_a3')) && getNumber ( _x >> 'scope' ) isEqualTo 2 && getNumber ( _x >> 'type' ) in [ 131072, 4096 ] && getNumber ( _x >> 'ItemInfo' >> 'type' ) in [ 0 , 616 ] "configClasses (configfile >> "CfgWeapons") )apply {configName _x}; _Uniform = selectRandom _Uniform_array; _Headgear = selectRandom _Headgear_array; _Goggles = selectRandom _Goggles_array; _Vests = selectRandom _Vests_array; _Backpacks = selectRandom _Backpacks_array; _primaryWeapon = selectRandom _primaryWeapon_array; _secondaryWeapon = selectRandom _secondaryWeapon_array; _handgunWeapon = selectRandom _handgunWeapon_array; //________________ _Items ________________ _Items = selectRandom _Items_array; _Attachments = selectRandom _Attachments_array; _Magazines = selectRandom _Magazines_array; //________________ add Gear ________________ _this forceAddUniform _Uniform; _this addVest _Vests; _this addHeadgear _Headgear; _this addGoggles _Goggles; _this addWeapon _primaryWeapon; _this addWeaponGlobal _handgunWeapon; if(random 10 < 3) then{_this addBackpack _Backpacks;}; if(!(backpack _this isEqualTo ""))then{ if(random 10 < 3) then{_this addWeapon _secondaryWeapon}; }; //________________ addItemToUniform ________________ for "_i" from 1 to 1 do{_this addItemToUniform "FirstAidKit";}; //________________ addItemToVest ________________ for "_i" from 1 to 1 do{_this addItemToVest "FirstAidKit";}; for "_i" from 1 to 1 do{_this addItemToVest "HandGrenade";}; for "_i" from 1 to 1 do{_this addItemToVest "MiniGrenade";}; for "_i" from 1 to 1 do{_this addItemToVest "SmokeShell";}; if(random 10 < 3) then{_this addItemToVest _Items;}; if(random 10 < 3) then{_this addItemToVest _Attachments;}; if(random 10 < 3) then{_this addItemToVest _Magazines;}; for "_i" from 1 to random 6 do{ _assignableItems = selectRandom _Binocular_and_Nvg_array; if(random 10 < 3) then{_this linkItem _assignableItems;}; }; //________________ add _primaryWeapon's compatible attachments ________________ _primaryWeapon_MuzzleSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"); if(count _primaryWeapon_MuzzleSlot >= 1)then{_primaryWeapon_Muzzle = selectRandom _primaryWeapon_MuzzleSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Muzzle;};}; _primaryWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _primaryWeapon_CowsSlot >= 1)then{_primaryWeapon_Optic = selectRandom _primaryWeapon_CowsSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Optic;};}; _primaryWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _primaryWeapon_PointerSlot >= 1)then{_primaryWeapon_Pointer = selectRandom _primaryWeapon_PointerSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_Pointer;};}; _primaryWeapon_UnderBarrelSlot = getArray (configFile / "CfgWeapons" >> _primaryWeapon >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems"); if(count _primaryWeapon_UnderBarrelSlot >= 1)then{_primaryWeapon_UnderBarrel = selectRandom _primaryWeapon_UnderBarrelSlot; if(random 10 < 3) then{_this addPrimaryWeaponItem _primaryWeapon_UnderBarrel;};}; //________________ add _secondaryWeapon 's compatible attachments ________________ _secondaryWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _secondaryWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _secondaryWeapon_CowsSlot >= 1)then{_secondaryWeapon_Optic = selectRandom _secondaryWeapon_CowsSlot; if(random 10 < 3) then{_this addSecondaryWeaponItem _secondaryWeapon_Optic;};}; _secondaryWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _secondaryWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _secondaryWeapon_PointerSlot >= 1)then{_secondaryWeapon_Pointer = selectRandom _secondaryWeapon_PointerSlot; if(random 10 < 3) then{_this addSecondaryWeaponItem _secondaryWeapon_Pointer;};}; //________________ add _handgunWeapon's compatible attachments ________________ _handgunWeapon_MuzzleSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"); if(count _handgunWeapon_MuzzleSlot >= 1)then{_handgunWeapon_Muzzle = selectRandom _handgunWeapon_MuzzleSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Muzzle;};}; _handgunWeapon_CowsSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); if(count _handgunWeapon_CowsSlot >= 1)then{_handgunWeapon_Optic = selectRandom _handgunWeapon_CowsSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Optic;};}; _handgunWeapon_PointerSlot = getArray (configFile / "CfgWeapons" >> _handgunWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); if(count _handgunWeapon_PointerSlot >= 1)then{_handgunWeapon_Pointer = selectRandom _handgunWeapon_PointerSlot; if(random 10 < 3) then{_this addHandgunItem _handgunWeapon_Pointer;};}; //________________ add _primaryWeapon's mags ________________ _primaryWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _primaryWeapon / "magazines"); if(count _primaryWeapon_Magazines_array > 0)then{ private _primaryWeapon_magazines = selectRandom _primaryWeapon_Magazines_array; for "_i" from 1 to 2 do{_this addItemToUniform _primaryWeapon_magazines;}; for "_i" from 1 to 5 do{_this addItemToVest _primaryWeapon_magazines;}; }; //________________ add _secondaryWeapon's mags ________________ _secondaryWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _secondaryWeapon / "magazines"); if(count _secondaryWeapon_Magazines_array > 0)then{ private _secondaryWeapon_Magazines = selectRandom _secondaryWeapon_Magazines_array; if(!(backpack _this isEqualTo ""))then{ for "_i" from 1 to 5 do{_this addItemTobackpack _secondaryWeapon_Magazines;}; }; }; //________________ add _handgunWeapon's mags ________________ _handgunWeapon_Magazines_array = getArray (configFile / "CfgWeapons" / _handgunWeapon / "magazines"); if(count _handgunWeapon_Magazines_array > 0)then{ private _handgunWeapon_Magazines = selectRandom _handgunWeapon_Magazines_array; for "_i" from 1 to 2 do{_this addItemToUniform _handgunWeapon_Magazines;}; }; }; case 3 : { comment "You must change , this to _this"; comment "Exported from Arsenal by [GR]GEORGE F"; comment "[!] UNIT MUST BE LOCAL [!]"; if (!local _this) exitWith {}; comment "Remove existing items"; removeAllWeapons _this; removeAllItems _this; removeAllAssignedItems _this; removeUniform _this; removeVest _this; removeBackpack _this; removeHeadgear _this; removeGoggles _this; comment "Add containers"; _this forceAddUniform "U_B_HeliPilotCoveralls"; _this addItemToUniform "FirstAidKit"; _this addItemToUniform "HandGrenade"; _this addItemToUniform "Chemlight_green"; _this addItemToUniform "30Rnd_65x39_caseless_green"; _this addVest "V_TacVestIR_blk"; _this addItemToVest "Chemlight_green"; for "_i" from 1 to 2 do {_this addItemToVest "30Rnd_65x39_caseless_green";}; for "_i" from 1 to 3 do {_this addItemToVest "11Rnd_45ACP_Mag";}; _this addHeadgear "H_Cap_blk"; comment "Add weapons"; _this addWeapon "arifle_Katiba_C_F"; _this addWeapon "hgun_Pistol_heavy_01_F"; _this addHandgunItem "optic_MRD"; _this addWeapon "Rangefinder"; comment "Add items"; _this linkItem "ItemMap"; _this linkItem "ItemCompass"; _this linkItem "ItemWatch"; _this linkItem "ItemRadio"; comment "Set identity"; [_this,"WhiteHead_09","male05eng"] call BIS_fnc_setIdentity; }; }; }; GF_Respawn_SP_Position = { switch (GF_Respawn_SP_Position_Select) do{ case 1 : { // for random position _pos = [] call BIS_fnc_randomPos; _this setposASL _pos; }; case 2 : { // Create a Marker if you want a certain position _pos = getmarkerPos "respawn"; _this setposASL _pos; }; case 3 : { // select a random marker , copy this inside the mission that you want to suffle the markers _array = selectRandom[ "respawn_1", "respawn_2", "respawn_3" ]; _pos = getmarkerPos _array; _this setposASL _pos; }; }; }; GF_Respawn_SP_Effects = { if(isPlayer _this && {local _this}) then{ _this allowDamage false; private ["_soundvolume","_musicvolume"]; _musicvolume = musicvolume; _soundvolume = soundvolume; 1 fadeSound 0.3; _this spawn{ "dynamicBlur" ppEffectEnable true; "dynamicBlur" ppEffectAdjust [20]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectAdjust [0.0]; "dynamicBlur" ppEffectCommit 4; }; cutText ["", "BLACK OUT", 0.001]; [1000] call BIS_fnc_bloodEffect; cutText ["<t size='2' font= 'EtelkaMonospaceProBold' >You are dead</t>", "BLACK OUT", -1, true, true]; uisleep 1; _this setdamage 0; _this spawn GF_Respawn_SP_Loadout; _this spawn GF_Respawn_SP_Position; uisleep GF_Respawn_SP_time; 2 fadesound _soundvolume; 2 fademusic _musicvolume; cutText ["", "BLACK IN", 3]; uisleep 3; _this allowDamage true; _this setCaptive false; }; }; GF_Respawn_SP_Loop = { params ["_unit"]; if(vehicle _unit != _unit) then{_unit action ["eject", vehicle _unit]}; _unit spawn GF_Respawn_SP; if(damage _unit == 0)then{ _unit setCaptive true; systemchat format ["Respawn :%1 / Damage :%2",name _unit, damage _unit]; _unit spawn GF_Respawn_SP_Effects; }; }; GF_Respawn_SP = { params ["_unit"]; _unit addEventHandler ["HandleDamage", { params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"]; _selection = _this select 2; if(damage _unit + _selection < 1)then{ _unit allowDamage true; }; if(damage _unit + _selection >= 1)then{ _damage = 0; _unit allowDamage false; systemchat format ["HandleDamage %1 / Damage :%2",typeOf _unit,damage _unit]; _unit removeEventHandler ["HandleDamage",_thisEventHandler]; _unit spawn GF_Respawn_SP_Loop; _damage; }; }]; }; player spawn GF_Respawn_SP; if(GF_Respawn_SP_Systemchat_info)then{ systemchat "GF_Respawn_SP Script initialized"; }; if(GF_Respawn_SP_diag_log_info)then{ diag_log "//________________ GF_Respawn_SP Script initialized ________________"; }; There are so far , settings for : GF_Respawn_SP_time = 5; GF_Respawn_SP_Position_Select = 3; // 1 = random position , 2 = position on Marker , 3 = position on random Markers GF_Respawn_SP_Loadout_Select = 2; // 1 = No change , 2 = Random , 3 = Custom (paste from arsenal) Thanks and have Fun ! HAHA Absolut Amazing ! Thanks GR ! 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted June 18, 2019 3 hours ago, Weapon-Fetish said: HAHA Absolut Amazing ! Thanks GR ! Thank you very much Weapon-Fetish ! Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted July 20, 2019 Hello there to everyone ! I was writing the above revive script but paused it , because i had and still have personal issues to care about ! In the meantime , here is a WIP Vehicle Spawner Script , that is using the BIS Virtual Garage : 7 minutes ago, GEORGE FLOROS GR said: Some big improvement : Reveal hidden contents //________________ Author : GEORGE FLOROS [GR] ___________ 20.06.19 _____________ /* ________________ GF VSpawner Script - Mod ________________ Please keep the Credits or add them to your Diary 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 colors 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/ */ /* To use the script add this code to the init field of an object : nul = this spawn {waitUntil {!isNil "GF_VSpawner"}; call GF_VSpawner;}; */ //________________ Settings ________________ //________________ Set true or false ________________ GF_VSpawner_Systemchat_info = true; GF_VSpawner_Hintsilent_info = true; GF_VSpawner_diag_log_info = true; GF_VSpawner_Max_distance = 100; if(GF_VSpawner_Systemchat_info)then{ systemchat "GF VSpawner Script initializing"; }; if(GF_VSpawner_diag_log_info)then{ diag_log "//________________ GF VSpawner Script initializing ________________"; }; GF_VSpawner_Closed = { _nearestObjects = BIS_fnc_garage_center nearEntities [["Car","Tank","Ship","Air"], 1]; if(!isNil "_nearestObjects")then{ _Object = selectrandom _nearestObjects; _veh = typeOf _Object; _textures = getObjectTextures _Object; _animationNames = animationNames _Object; {deletevehicle _x}forEach _nearestObjects; _position = GF_VSpawner_pos findEmptyPosition [10,GF_VSpawner_Max_distance,_veh]; _createVehicle = createVehicle [_veh, _position, [], 0, "None"]; if(count _textures > 0)then{ _count = 0; { _createVehicle setObjectTextureglobal[_count,_x]; _count = _count + 1; }forEach _textures; }; if(count _animationNames > 0)then{ _animationPhase = []; for '_i' from 0 to count _animationNames -1 do{ _animationPhase pushBack[_animationNames select _i,_Object animationPhase(_animationNames select _i)]; {_createVehicle animate _x}forEach _animationPhase; }; }; }; }; [missionNamespace, "garageClosed",{ []call GF_VSpawner_Closed; }]call BIS_fnc_addScriptedEventHandler; GF_VSpawner = { [_this,[ "<t size=""1.2"" font=""RobotoCondensedBold"" color=""#FF9933"">" + "Open Spawner", { params ["_target", "_caller", "_actionId", "_arguments"]; GF_VSpawner_pos = [getPos _target, 1, GF_VSpawner_Max_distance, 3, 0, 20, 0] call BIS_fnc_findSafePos; BIS_fnc_garage_center = createVehicle ["Land_HelipadEmpty_F", GF_VSpawner_pos, [], 0, "CAN_COLLIDE"]; ["Open",true] call BIS_fnc_garage; },[], 1.5,true,true,"","true",8,false,"","" ]]remoteExec["addAction"]; }; if(GF_VSpawner_Systemchat_info)then{ systemchat "GF VSpawner Script initialized"; }; if(GF_VSpawner_diag_log_info)then{ diag_log "//________________ GF VSpawner Script initialized ________________"; }; + test mission : +GF_VSpawner_Script.Stratis.zip Expires in: 29 days 20:55:08 | Size: 7.5 KB | 21.06.19 Thanks and Have Fun ! 2 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted July 21, 2019 Working with mods + extras : this is from @CUP mod : Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted July 24, 2019 Hello there to Everyone ! This is the WIP GF_Zone_Spawner , just add the zones in the editor and the enemies will spawn and despawn in a certain distance. The spawner and script are 100% ready and on right now just for the example of this , it will spawn only a helicopter type with full crew and infantry to all cargo seats , patroling. +GF_Zone_Spawner.Stratis.zip Expires in: 29 days 20:59:36 | Size: 16.5 KB | 24.07.19 Once i will have some real time i 'll check about changing complete the population spawner scripts. Thanks ! 2 2 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted July 24, 2019 I just remember that i need to add a distance from the players, so that it won't spawn again ( if the player is close ) so i'm going to add this as soon as possible ! Share this post Link to post Share on other sites
_Unnamed_ 8 Posted July 28, 2019 Thanks for all the scripts it has become one of my default script pack for messing in editor. 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted July 28, 2019 5 hours ago, _Unnamed_ said: Thanks Thank you very much _Unnamed_ and welcome also to Bis Forums ! I'm here if i can help for anything you might need ! Have fun ! 1 Share this post Link to post Share on other sites
_Unnamed_ 8 Posted July 28, 2019 49 minutes ago, GEORGE FLOROS GR said: Thank you very much _Unnamed_ and welcome also to Bis Forums ! I'm here if i can help for anything you might need ! Have fun ! Thanks again, I'll do ! 1 Share this post Link to post Share on other sites