Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //config based loadouts by Matt L
- private ["_type","_muzzles","_add","_pack","_modVariant","_speedPacks","_pistolBlacklist","_primaryBlacklist","_safePos","_bp","_playerMag","_playerTool","_playerBPMag","_playerBPWep","_magazines","_tools","_bpMags","_bpWeps","_magazines2","_tools2","_bpMags2","_bpWeps2","_magazines3","_tools3","_bpMags3","_bpWeps3","_magsToAdd","_toolsToAdd","_bpMagToAdd","_bpWepsToAdd","_magNum"];
- cutText ["","BLACK OUT"];
- removeAllWeapons player;removeAllItems player;removeBackpack player;
- //////////Config//////////
- _speedPacks = true; //default: true, set to false to slow the script but 100% randomize it using configs.
- _playerMag = true; //default: false, set to true to add defined items from _magazines arrays below to player
- _playerTool = true; //default: false, set to true to add defined items from _tools arrays below to player
- _playerBPMag = false; //default: false, set to true to add defined items from _bpMags arrays below to player
- _playerBPWep = false; //default: false, set to true to add defined items from _bpWep arrays below to player
- _safePos = [5034.52,15036.8,0.0017395]; // position player is moved to during looping of configs so they don't get fooked. ATL format. (This is for Chernarus)
- _pistolBlacklist = ["MeleeFlashlight","MeleeWeapon","HandGunBase","WeaponExplosive","MeleeFlashlightRed"]; // things that will be skipped in the pistol check
- _primaryBlacklist = ["CZ805_A1_ACR","MeleeWeapon","HandGunBase","BAF_L17_40mm","MeleeMachete","MeleeHatchet_DZE","MeleeCrowbar","MeleeBaseBallBat","MeleeFishingPole","MeleeSledge",// things that will be skipped in the primary check
- "AKS_BASE","PipeBomb","MineE","Default","GrenadeCore","AK_BASE","AK_107_BASE","MGunCore",// things that will be skipped in the primary check
- "MGun","MeleeFlashlightRed","Pistol","Launcher","LauncherCore","GrenadeLauncher","TimeBomb","ItemCore","PistolCore","CannonCore",// things that will be skipped in the primary check
- "RifleCore","MeleeFlashlight","MeleeWeapon","HandGunBase","Mine","L85A2_base_BAF","m107","BAF_AS50_scoped_Large","ksvk","BAF_LRR_scoped","BAF_LRR_scoped_W","M107_DZ","m107_DZ","USSR_cheytacM200","USSR_cheytacM200_sd","FHQ_RSASS_TWS_TAN","FHQ_RSASS_TWS_SD_TAN","FHQ_MSR_TWS_DESERT","FHQ_MSR_TWS_SD_DESERT","FHQ_XM2010_TWS_DESERT","FHQ_XM2010_TWS_SD_DESERT","FHQ_ACR_WDL_TWS_F","FHQ_ACR_WDL_TWS_SD","FHQ_ACR_WDL_TWS_SD_F","FHQ_ACR_BLK_TWS","FHQ_ACR_BLK_TWS_F","FHQ_ACR_BLK_TWS_SD","FHQ_ACR_BLK_TWS_SD_F","FHQ_ACR_TAN_TWS_F","FHQ_ACR_TAN_TWS_SD","FHQ_ACR_TAN_TWS_SD_F","FHQ_ACR_SNW_TWS","FHQ_ACR_SNW_TWS_F","FHQ_ACR_SNW_TWS_SD","FHQ_ACR_SNW_TWS_SD_F","FHQ_ACR_WDL_CCO_F","FHQ_ACR_WDL_CCO_SD","FHQ_ACR_WDL_CCO_SD_F","FHQ_ACR_WDL_RCO_F","FHQ_ACR_WDL_RCO_SD","FHQ_ACR_WDL_RCO_SD_F","FHQ_ACR_WDL_HWS","FHQ_ACR_WDL_HWS_F","FHQ_ACR_WDL_HWS_SD","FHQ_ACR_WDL_HWS_SD_F","FHQ_ACR_WDL_G33","FHQ_ACR_WDL_G33_F","FHQ_ACR_WDL_G33_SD","FHQ_ACR_WDL_G33_SD_F","FHQ_ACR_WDL_HAMR","FHQ_ACR_WDL_HAMR_F","FHQ_ACR_WDL_HAMR_SD","FHQ_ACR_BLK_CCO_SD","FHQ_ACR_WDL_HAMR_SD_F","FHQ_ACR_BLK_IRN_F","FHQ_ACR_BLK_IRN_SD","FHQ_ACR_BLK_IRN_SD_F","FHQ_ACR_BLK_CCO","FHQ_ACR_BLK_CCO_F","FHQ_ACR_BLK_CCO_SD_F","FHQ_ACR_BLK_RCO","FHQ_ACR_BLK_RCO_SD","FHQ_ACR_BLK_RCO_SD_F","FHQ_ACR_BLK_HWS","FHQ_ACR_BLK_HWS_F","FHQ_ACR_BLK_HWS_SD","FHQ_ACR_BLK_HWS_SD_F","FHQ_ACR_BLK_G33","FHQ_ACR_BLK_G33_F","FHQ_ACR_BLK_G33_SD","FHQ_ACR_BLK_G33_SD_F","FHQ_ACR_BLK_HAMR","FHQ_ACR_BLK_HAMR_F","FHQ_ACR_BLK_HAMR_SD","FHQ_ACR_BLK_HAMR_SD_F","FHQ_ACR_TAN_IRN","FHQ_ACR_TAN_IRN_F","FHQ_ACR_TAN_IRN_SD","FHQ_ACR_TAN_IRN_SD_F","FHQ_ACR_TAN_CCO","FHQ_ACR_TAN_CCO_F","FHQ_ACR_TAN_CCO_SD","FHQ_ACR_TAN_CCO_SD_F","FHQ_ACR_TAN_RCO","FHQ_ACR_TAN_RCO_F","FHQ_ACR_TAN_RCO_SD","FHQ_ACR_TAN_RCO_SD_F","FHQ_ACR_TAN_HWS","FHQ_ACR_TAN_HWS_F","FHQ_ACR_TAN_HWS_SD","FHQ_ACR_TAN_HWS_SD_F","FHQ_ACR_TAN_G33","FHQ_ACR_TAN_G33_F","FHQ_ACR_TAN_G33_SD","FHQ_ACR_TAN_G33_SD_F","FHQ_ACR_TAN_HAMR","FHQ_ACR_TAN_HAMR_F","FHQ_ACR_TAN_HAMR_SD","FHQ_ACR_TAN_HAMR_SD_F","FHQ_ACR_SNW_IRN","FHQ_ACR_SNW_IRN_F","FHQ_ACR_SNW_IRN_SD","FHQ_ACR_SNW_CCO_F","FHQ_ACR_SNW_CCO_SD","FHQ_ACR_SNW_CCO_SD_F","FHQ_ACR_SNW_RCO","FHQ_ACR_SNW_RCO_F","FHQ_ACR_SNW_RCO_SD","FHQ_ACR_SNW_RCO_SD_F","FHQ_ACR_SNW_HWS","FHQ_ACR_SNW_HWS_F","FHQ_ACR_SNW_HWS_SD","FHQ_ACR_SNW_HWS_SD_F","FHQ_ACR_SNW_G33","FHQ_ACR_SNW_G33_F","FHQ_ACR_SNW_G33_SD","FHQ_ACR_SNW_G33_SD_F","FHQ_ACR_SNW_HAMR","FHQ_ACR_SNW_HAMR_F","FHQ_ACR_SNW_HAMR_SD","FHQ_ACR_SNW_HAMR_SD_F","SVD_NSPU_EP1","FN_FAL_ANPVS4","AKS_74_GOSHAWK","m107_TWS_EP1","m107_TWS_EP1_DZ","vil_NATO_AK"]; // things that will be skipped in the primary check
- /////////Config///////////
- _food = ["FoodbaconCooked","FishCookedTuna","FoodRabbitCooked"];
- _drink = ["ItemSodaLvg","ItemSodaRabbit","ItemSodaGrapeDrink"];
- _tools = ["ItemToolbox","Binocular","ItemMachete","ItemCompass","ItemGPS","ItemKnife","ItemMatchbox"];
- _tools2 = ["ItemToolbox","Binocular_Vector","ItemCompass","ItemMap","ItemHatchet","ItemKnife","ItemMatchbox"];
- _bpMags = [""];
- _bpMags2 = [""];
- _bpMags3 = [""];
- _bpWeps = [""];
- _bpWeps2 = [""];
- _bpWeps3 = [""];
- _bandages = ["ItemMorphine","ItemAntibiotic","ItemPainkiller","ItemAntibacterialWipe","ItemBandage","ItemBandage","ItemBandage"];
- _toolsToAdd = [_tools,_tools2];
- _bpMagToAdd = [_bpMags,_bpMags2,_bpMags3];
- _bpWepsToAdd = [_bpWeps,_bpWeps2,_bpWeps3];
- KRON_StrToArray = {
- private["_in","_i","_arr","_out"];
- _in=_this select 0;
- _arr = toArray(_in);
- _out=[];
- for "_i" from 0 to (count _arr)-1 do {
- _out=_out+[toString([_arr select _i])];
- };
- _out
- };
- KRON_StrLen = {
- private["_in","_arr","_len"];
- _in=_this select 0;
- _arr=[_in] call KRON_StrToArray;
- _len=count (_arr);
- _len
- };
- KRON_StrIndex = {
- private["_hay","_ndl","_lh","_ln","_arr","_tmp","_i","_j","_out"];
- _hay=_this select 0;
- _ndl=_this select 1;
- _out=-1;
- _i=0;
- if (_hay == _ndl) exitWith {0};
- _lh=[_hay] call KRON_StrLen;
- _ln=[_ndl] call KRON_StrLen;
- if (_lh < _ln) exitWith {-1};
- _arr=[_hay] call KRON_StrToArray;
- for "_i" from 0 to (_lh-_ln) do {
- _tmp="";
- for "_j" from _i to (_i+_ln-1) do {
- _tmp=_tmp + (_arr select _j);
- };
- if (_tmp==_ndl) exitWith {_out=_i};
- };
- _out
- };
- KRON_StrInStr = {
- private["_out"];
- _in=_this select 0;
- _out=if (([_this select 0,_this select 1] call KRON_StrIndex)==-1) then {false} else {true};
- _out
- };
- private ["_varrr","_pos","_backpack","_cfg","_eventOn","_possibleMags","_mag","_wpn_type","_weapon","_ranvar","_2eventOn","_possibleMags2","_mag2","_wpn_type2","_weapon2","_3eventOn","_veh_type","_vehicle","_CfgWeapons","_cfgvehicles","_ranvar2","_ranvar3","_isPistol","_isPack","_cfgLoot","_cfgLootSubSection","_cfgLootSubSectionArray","_isBackPackinLootTables"];
- _pos = getPosATL player;
- UIsleep 1;
- systemChat "Loadout commencing, please allow up to 1 minute before flipping shit.";
- //player setPosATL _safePos;
- {player addMagazine _x;} forEach _bandages;
- player addMagazine (_food select (floor(random(count _food)-1)));
- player addMagazine (_drink select (floor(random(count _drink)-1)));
- if (_playerTool) then {
- {player addWeapon _x;} forEach (_toolsToAdd select (floor(random(count _toolsToAdd)-1)));
- };
- _CfgWeapons = configFile >> "CfgWeapons";
- _cfgvehicles = configFile >> "cfgVehicles";
- _eventOn = true;
- _2eventOn = true;
- _3eventOn = true;
- while {_eventOn}do{
- //diag_log "_eventOn loop started";
- _ranvar = (floor (random (count _CfgWeapons) -1));
- _weapon = _CfgWeapons select _ranvar;
- if (isClass _weapon) then {
- _wpn_type = configName _weapon;
- _cfg = configFile >> "CfgWeapons" >> _wpn_type >> "type";
- _muzzles = getArray(configFile >> "cfgWeapons" >> _wpn_type >> "muzzles");
- _isBase = [_wpn_type,"_base"] call KRON_StrInStr;
- _isBase2 = [_wpn_type,"_BASE"] call KRON_StrInStr;
- _isBase3 = [_wpn_type,"_Base"] call KRON_StrInStr;
- _isTank = [_wpn_type,"_AI"] call KRON_StrInStr;
- _isCRV = [_wpn_type,"CRV"] call KRON_StrInStr;
- if (!(_wpn_type in _primaryBlacklist) && (_wpn_type != "MissileLaunche.scope") && !(getNumber _cfg == 5) && !(_isCRV) && !(_isBase) && !(_isBase2) && !(_isBase3) && !(_isTank) && !(count _muzzles > 1)) then {
- player addWeapon _wpn_type;
- if ((primaryWeapon player) == _wpn_type) then {
- diag_log(format["%1 passed primary check",_wpn_type]);
- _eventOn = false;
- _possibleMags = getArray (configfile >> "cfgWeapons" >> _wpn_type >> "magazines");
- _mag = _possibleMags select 0;
- for "_i" from 0 to 2 do {
- player addMagazine _mag;
- };
- } else {
- player removeWeapon _wpn_type;
- };
- };
- };
- };
- while {_2eventOn}do{
- //diag_log "_eventOn loop started";
- _ranvar2 = (floor (random (count _CfgWeapons) -1));
- _weapon2 = _CfgWeapons select _ranvar2;
- diag_log(format["_weapon = %1",_weapon2]);
- if (isClass _weapon2) then {
- _wpn_type2 = configName _weapon2;
- diag_log(format["_wpn_type2: %1",_wpn_type2]);
- if (!(_wpn_type2 in _pistolBlacklist)) then {
- _isPistol = inheritsFrom (configFile >> "CfgWeapons" >> _wpn_type2);
- diag_log(format["inheritsFrom: %1",_isPistol]);
- if (str(_isPistol) == "bin\config.bin/CfgWeapons/Pistol") then {
- player addWeapon _wpn_type2;
- diag_log "weapon is a pistol";
- _2eventOn = false;
- _possibleMags2 = getArray (configfile >> "cfgWeapons" >> _wpn_type2 >> "magazines");
- _mag2 = _possibleMags2 select 0;
- for "_i" from 0 to 2 do {
- player addMagazine _mag2;
- };
- };
- };
- };
- };
- _modVariant = toLower( getText (configFile >> "CfgMods" >> "DayZ" >> "dir"));
- if (_speedPacks) then {
- if (_modVariant == "dayz") then {
- _pack = ["CZ_VestPouch_EP1","DZ_Patrol_Pack_EP1","DZ_Assault_Pack_EP1","DZ_CivilBackpack_EP1","DZ_ALICE_Pack_EP1","DZ_Backpack_EP1"];
- _add = _pack select (floor (random (count _pack)-1));
- player addBackPack _add;
- };
- if (_modVariant == "@dayz_epoch") then {
- _pack = ["DZ_ALICE_Pack_EP1","DZ_Assault_Pack_EP1","DZ_Backpack_EP1","DZ_British_ACU","DZ_CivilBackpack_EP1","DZ_CompactPack_EP1","DZ_Czech_Vest_Puch","DZ_GunBag_EP1","DZ_LargeGunBag_EP1","DZ_TerminalPack_EP1","DZ_TK_Assault_Pack_EP1"];
- _add = _pack select (floor (random (count _pack)-1));
- player addBackPack _add;
- };
- if (_modVariant == "dayzoverwatch") then {
- _pack = ["DZ_Patrol_Pack_EP1","DZ_Assault_Pack_EP1","DZ_Czech_Vest_Puch","DZ_ALICE_Pack_EP1","DZ_TK_Assault_Pack_EP1","DZ_British_ACU","DZ_CivilBackpack_EP1","DZ_Backpack_EP1","UKSF_wdl_Bergan","UKSF_wdl_Bergan2"];
- _add = _pack select (floor (random (count _pack)-1));
- player addBackPack _add;
- };
- _backpack = unitBackpack player;
- clearWeaponCargo _backpack;
- clearMagazineCargo _backpack;
- } else {
- while {_3eventOn}do{
- //diag_log "_eventOn loop started";
- _ranvar3 = (floor (random (count _cfgVehicles) -1));
- _vehicle = _cfgvehicles select _ranvar3;
- if (isClass _vehicle) then {
- diag_log(format["_vehicle: %1",_vehicle]);
- _veh_type = configName _vehicle;
- _isPack = inheritsFrom (configFile >> "CfgVehicles" >> _veh_type);
- diag_log(format["vehicle inheritsFrom: %1",_isPack]);
- if (!(_veh_type iskindof "Weapon_Bag_Base_EP1") && !(_veh_type iskindof "Tripod_Bag") && getNumber (_vehicle >> "scope") == 2 && {str(_isPack) == "bin\config.bin/CfgVehicles/Bag_Base_EP1"}) then {
- diag_log(format["_veh_type: %1",_veh_type]);
- _isBackPack = [_veh_type,"DZ"] call KRON_StrInStr;
- if (_isBackPack) then {
- _3eventOn = false;
- player addBackpack _veh_type;
- _backpack = unitBackpack player;
- clearWeaponCargo _backpack;
- clearMagazineCargo _backpack;
- };
- };
- };
- };
- };
- player addWeapon "ItemToolbox";
- _type = primaryWeapon player;
- // check for multiple muzzles (eg: GL)
- _muzzles = getArray(configFile >> "cfgWeapons" >> _type >> "muzzles");
- if (count _muzzles > 1) then {
- player selectWeapon (_muzzles select 0);
- } else {
- player selectWeapon _type;
- };
- reload player;
- _bp = unitBackpack player;
- if (_playerBPMag) then {
- {_bp addMagazine _x;} forEach (_bpMagToAdd select (floor(random(count _bpMagToAdd)-1)));
- };
- if (_playerBPWep) then {
- {_bp addWeapon _x;} forEach (_bpWepsToAdd select (floor(random(count _bpWepsToAdd)-1)));
- };
- _varrr = random 100;
- if (_varrr > 50) then {
- player addMagazine "HandGrenade_West";
- };
- systemChat "Loadout recieved, please wait.";
- Uisleep 1;
- MC_BIS_halo_spawn = compile preprocessFileLineNumbers "fixes\haloInit.sqf";
- player spawn MC_BIS_halo_spawn;
- _nul = [] execVM "custom\altimeter.sqf";
- Uisleep 2;
- cutText ["","BLACK IN"];
Advertisement
Add Comment
Please, Sign In to add comment