mirror of
https://github.com/Ghostrider-DbD-/Config-Extraction-Tools.git
synced 2024-08-30 16:42:11 +00:00
commit
e74527d7be
58
testConfig.Altis/Code/functions.sqf
Normal file
58
testConfig.Altis/Code/functions.sqf
Normal file
@ -0,0 +1,58 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
fn_generateItemList = {
|
||||
params["_items"];
|
||||
private["_clipBoard"];
|
||||
_clipBoard = "";
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
}forEach _items;
|
||||
_clipBoard;
|
||||
};
|
||||
|
||||
fn_generatePriceList = {
|
||||
params["_items"];
|
||||
private["_clipBoard"];
|
||||
_clipBoard = "";
|
||||
{
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
|
||||
//_clipboard = _clipboard + format["5, %1 %2",_x,endl];
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 100; };%2",_x,endl];
|
||||
};
|
||||
}forEach _items;
|
||||
_clipBoard
|
||||
};
|
||||
|
||||
fn_generateLootTableEntries = {
|
||||
params["_items"];
|
||||
private["_clipBoard"];
|
||||
_clipBoard = "";
|
||||
{
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["5, %1 %2",_x,endl];
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format['{ { "%1", "item" /*"backpack" "magazine" "item" "weapon"*/ }, 5 },%2',_x,endl];
|
||||
};
|
||||
}forEach _items;
|
||||
_clipBoard
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
20
testConfig.Altis/Code/variables.sqf
Normal file
20
testConfig.Altis/Code/variables.sqf
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
GRG_Epoch_Pricelist_Header = endl + endl + "/*" + endl + endl + " Epoch Pricelists" + endl + endl + "*/";
|
||||
GRG_Epoch_Loottable_Header = endl + endl + "/*" + endl + endl + " Epoch Loottable Entries" + endl + endl + "*/";
|
||||
GRG_Epoch_ItemLists_Header = endl + endl + "/*" + endl + endl + " Epoch Item Name Lists" + endl + endl + "*/";
|
||||
GRG_Exile_Pricelist_Header = endl + endl + "/*" + endl + endl + " Exile Pricelists" + endl + endl + "*/";
|
||||
GRG_Exile_TraderItemLists_Header = endl + endl + "/*" + endl + endl + " Exile Trader Item Lists" + endl + endl + "*/";
|
||||
GRG_Exile_Loottable_Header = endl + endl + "/*" + endl + endl + " Exile Loottable Entries" + endl + endl + "*/";
|
||||
|
||||
|
||||
|
||||
|
26
testConfig.Altis/ExcludedClassNames/baseMagazines.sqf
Normal file
26
testConfig.Altis/ExcludedClassNames/baseMagazines.sqf
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
Lists magazines that should excluded from the output for the script.
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
// Magazines
|
||||
/*
|
||||
Add the class names of any magazines you wish to exclude to _baseMagazines using the formating shown in the example below.
|
||||
|
||||
For example, if you wish to exclude smoke rounds add:
|
||||
|
||||
"VehicleMagazine",
|
||||
"SmokeLauncherMag",
|
||||
"SmokeLauncherMag_boat"
|
||||
|
||||
*/
|
||||
_baseMagazines = [
|
||||
|
||||
|
||||
];
|
34
testConfig.Altis/ExcludedClassNames/baseVehicles.sqf
Normal file
34
testConfig.Altis/ExcludedClassNames/baseVehicles.sqf
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
Lists weapons that should excluded from the output for the script.
|
||||
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
Include any classnames you wish to exclude from the lists generated by the tool by adding them to _airBase using the formating below.
|
||||
The list below includes the default Arma 3 UAVs of APEX.
|
||||
|
||||
"B_UAV_01_F",
|
||||
"O_UAV_01_F",
|
||||
"I_UAV_01_F",
|
||||
"UAV_02_base_F",
|
||||
"UAV_02_CAS_base_F",
|
||||
"B_UAV_02_F",
|
||||
"O_UAV_02_F",
|
||||
"I_UAV_02_F",
|
||||
"B_UAV_02_CAS_F",
|
||||
"O_UAV_02_CAS_F",
|
||||
"I_UAV_02_CAS_F"
|
||||
*/
|
||||
_airBase = [
|
||||
|
||||
|
||||
];
|
31
testConfig.Altis/ExcludedClassNames/baseWeapons.sqf
Normal file
31
testConfig.Altis/ExcludedClassNames/baseWeapons.sqf
Normal file
@ -0,0 +1,31 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
Lists weapons that should excluded from the output for the script.
|
||||
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
Include any classnames you wish to exclude from the lists generated by the tool by adding them to _knownWeapons using the formating below.
|
||||
The list below includes the default Arma 3 MX series of assaault rifles as of APEX.
|
||||
|
||||
"arifle_MX_Base_F",
|
||||
"arifle_MXC_F",
|
||||
"arifle_MX_F",
|
||||
"arifle_MXM_F",
|
||||
"arifle_MXC_Black_F",
|
||||
"arifle_MX_Black_F",
|
||||
"arifle_MXM_Black_F"
|
||||
*/
|
||||
_knownWeapons = [
|
||||
|
||||
|
||||
|
||||
];
|
34
testConfig.Altis/ExcludedClassNames/baseWearables.sqf
Normal file
34
testConfig.Altis/ExcludedClassNames/baseWearables.sqf
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
Lists weapons that should excluded from the output for the script.
|
||||
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
/*
|
||||
|
||||
Include any classnames you wish to exclude from the lists generated by the tool using the formating below.
|
||||
The list below includes certains default Arma 3 glasses as of APEX.
|
||||
|
||||
|
||||
"G_Sport_Red",
|
||||
"G_Tactical_Black",
|
||||
"G_Aviator",
|
||||
"G_Lady_Mirror",
|
||||
"G_Lady_Dark",
|
||||
"G_Lady_Red",
|
||||
"G_Lady_Blue",
|
||||
"G_Diving",
|
||||
"G_B_Diving",
|
||||
"G_O_Diving",
|
||||
"G_I_Diving"
|
||||
*/
|
||||
|
||||
_baseWearables = [
|
||||
|
||||
];
|
33
testConfig.Altis/OldVersions/initgobalvariables.sqf
Normal file
33
testConfig.Altis/OldVersions/initgobalvariables.sqf
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
// load string library
|
||||
nul=[] execVM "KRON_Strings.sqf";
|
||||
DBD_priceConfiguration = "Exile"; // Options are "Exile" or "Epoch". This configuration pertains only to generating pre-formated price lists.
|
||||
DBD_includedWeaponMagazines = false;
|
||||
|
||||
player addAction["Run vehiclesConfig","vehiclesConfig.sqf"];
|
||||
player addAction["Run vehiclesPricelist","vehiclesPriceList.sqf"];
|
||||
player addAction["Run airConfig","airConfig.sqf"];
|
||||
player addAction["Run airPriceList","airPriceList.sqf"];
|
||||
player addAction["Run weaponsConfig","weaponsConfig.sqf"];
|
||||
player addAction["Run weaponsPriceList","weaponsPriceList.sqf"];
|
||||
player addAction["Run magazinesConfig","magazinesConfig.sqf"];
|
||||
player addAction["Run magazinesPriceList","magazinesPriceList.sqf"];
|
||||
player addAction["Run wearablesConfig","wearablesConfig.sqf"];
|
||||
player addAction["Run wearablesPriceList","wearablesPriceList.sqf"];
|
||||
|
||||
player addAction["Run headgearConfig","headgearConfig.sqf"];
|
||||
player addAction["Run headgearPriceList","headgearPriceList.sqf"];
|
||||
player addAction["Run vestsConfig","vestsConfig.sqf"];
|
||||
player addAction["Run vestsPriceList","vestsPriceList.sqf"];
|
||||
player addAction["Run uniformsConfig","uniformsConfig.sqf"];
|
||||
player addAction["Run uniformsPriceList","uniformsPriceList.sqf"];
|
||||
|
@ -2,7 +2,7 @@
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
7/20/17
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
@ -17,7 +17,7 @@ _cars = [];
|
||||
_clipboard = "";
|
||||
_wpnSmokeShell = []; // "B_IR_Grenade"
|
||||
_wpnLauncherRound = [];
|
||||
_wpnMagazines = [];
|
||||
//_wpnMagazines = [];
|
||||
_wpnVehicleAmmo = [];
|
||||
_wpnMines = []; // "ATMine_Range_Mag" "SatchelCharge_Remote_Mag" "DemoCharge_Remote_Mag" "IEDUrbanSmall_Remote_Mag"
|
||||
_isMagazine = true;
|
||||
@ -41,10 +41,7 @@ _scannedMags = [];
|
||||
};
|
||||
};
|
||||
}forEach _veh;
|
||||
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
|
||||
}forEach _wpnMagazines;
|
||||
|
||||
_clipBoard = _clipBoard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
|
||||
@ -57,5 +54,11 @@ _clipBoard = _clipBoard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
|
||||
}forEach _wpnVehicleAmmo;
|
||||
|
||||
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
|
||||
_clipBoard = _clipBoard + format["%1%2// Includes Weapon Magazines and anything not captured above%3",endl,endl,endl];
|
||||
_clipBoard = _clipBoard + format["%1%2// Check for duplicates if you also run the extraction tool for weapons%3",endl,endl,endl];
|
||||
_clipBoard = _clipBoard + format["%1%2// Which extracts all magazines available for player weapons%3",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1",%2',_x,endl];
|
||||
}forEach _wpnMagazines;
|
||||
copyToClipboard _clipboard;
|
@ -2,7 +2,7 @@
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
7/20/17
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
@ -37,17 +37,7 @@ _scannedMags = [];
|
||||
};
|
||||
};
|
||||
}forEach _veh;
|
||||
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 15; };%2",_x,endl];
|
||||
};
|
||||
if (DBD_priceConfiguration == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 15; };%2",_x,endl];
|
||||
};
|
||||
}forEach _wpnMagazines;
|
||||
|
||||
_clipBoard = _clipBoard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
@ -82,5 +72,20 @@ _clipBoard = _clipBoard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
|
||||
};
|
||||
}forEach _wpnVehicleAmmo;
|
||||
|
||||
_clipBoard = _clipBoard + format["%1%2// Magazines%3",endl,endl,endl];
|
||||
_clipBoard = _clipBoard + format["%1%2// Includes Weapon Magazines and anything not captured above%3",endl,endl,endl];
|
||||
_clipBoard = _clipBoard + format["%1%2// Check for duplicates if you also run the extraction tool for weapons%3",endl,endl,endl];
|
||||
_clipBoard = _clipBoard + format["%1%2// Which extracts all magazines available for player weapons%3",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 15; };%2",_x,endl];
|
||||
};
|
||||
if (DBD_priceConfiguration == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 15; };%2",_x,endl];
|
||||
};
|
||||
}forEach _wpnMagazines;
|
||||
|
||||
copyToClipboard _clipboard;
|
||||
systemChat "Magazines Pricelist Generated";
|
@ -2,7 +2,7 @@
|
||||
Original script by KiloSwiss
|
||||
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
|
||||
Modified and enhanced by GhostriderDbD
|
||||
5/22/17
|
||||
7/20/17
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
@ -27,6 +27,10 @@ _wpnShotGun = []; //Shotguns
|
||||
_wpnThrow = []; // throwables
|
||||
_wpnUnknown = []; //Misc
|
||||
|
||||
_wpnMagazines = [];
|
||||
_wpnOptics = [];
|
||||
_wpnPointers = [];
|
||||
_wpnMuzzles = [];
|
||||
|
||||
_aBaseNames = [];
|
||||
_wpList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
|
||||
@ -67,9 +71,30 @@ _wpList sort true;
|
||||
case "Throw" : {_wpnThrow pushBack _baseName};
|
||||
default{_wpnUnknown pushBack _baseName};
|
||||
};
|
||||
|
||||
// Get options for magazines and attachments for that weapon and store these if they are not duplicates for items already listed.
|
||||
_ammoChoices = getArray (configFile >> "CfgWeapons" >> _baseName >> "magazines");
|
||||
{
|
||||
if !(_x in _wpnMagazines) then {_wpnMagazines pushback _x};
|
||||
}forEach _ammoChoices;
|
||||
_optics = getArray (configfile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnOptics) then {_wpnOptics pushback _x};
|
||||
}forEach _optics;
|
||||
_pointers = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnPointers) then {_wpnPointers pushback _x};
|
||||
}forEach _pointers;
|
||||
_muzzles = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnMuzzles) then {_wpnMuzzles pushback _x};
|
||||
}forEach _muzzles;
|
||||
_underbarrel = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnUnderbarrel) then {_wpnUnderbarrel pushback _x};
|
||||
}forEach _underbarrel;
|
||||
};
|
||||
};
|
||||
//};
|
||||
};
|
||||
} foreach _wpList;
|
||||
|
||||
@ -125,7 +150,32 @@ _clipBoard = _clipBoard + format["%2%3// Throwables %1",endl,endl,endl];
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
}forEach _wpnUnknown;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Magazines %1",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
}forEach _wpnMagazines;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Optics %1",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
}forEach _wpnOptics;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Muzzles %1",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
}forEach _wpnMuzzles;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Pointers %1",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
}forEach _wpnPointers;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Underbarrel %1",endl,endl,endl];
|
||||
{
|
||||
_clipBoard = _clipBoard + format['"%1%",%2',_x,endl]
|
||||
}forEach _wpnUnderbarrel;
|
||||
|
||||
copyToClipboard _clipBoard;
|
@ -2,7 +2,7 @@
|
||||
Original script by KiloSwiss
|
||||
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
|
||||
Modified and enhanced by GhostriderDbD
|
||||
5/22/17
|
||||
7/20/17
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
@ -27,6 +27,10 @@ _wpnShotGun = []; //Shotguns
|
||||
_wpnThrow = []; // throwables
|
||||
_wpnUnknown = []; //Misc
|
||||
|
||||
_wpnMagazines = [];
|
||||
_wpnOptics = [];
|
||||
_wpnPointers = [];
|
||||
_wpnMuzzles = [];
|
||||
|
||||
_aBaseNames = [];
|
||||
_wpList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
|
||||
@ -67,6 +71,28 @@ _wpList sort true;
|
||||
case "Throw" : {_wpnThrow pushBack _baseName};
|
||||
default{_wpnUnknown pushBack _baseName};
|
||||
};
|
||||
|
||||
// Get options for magazines and attachments for that weapon and store these if they are not duplicates for items already listed.
|
||||
_ammoChoices = getArray (configFile >> "CfgWeapons" >> _baseName >> "magazines");
|
||||
{
|
||||
if !(_x in _wpnMagazines) then {_wpnMagazines pushback _x};
|
||||
}forEach _ammoChoices;
|
||||
_optics = getArray (configfile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnOptics) then {_wpnOptics pushback _x};
|
||||
}forEach _optics;
|
||||
_pointers = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnPointers) then {_wpnPointers pushback _x};
|
||||
}forEach _pointers;
|
||||
_muzzles = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnMuzzles) then {_wpnMuzzles pushback _x};
|
||||
}forEach _muzzles;
|
||||
_underbarrel = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnUnderbarrel) then {_wpnUnderbarrel pushback _x};
|
||||
}forEach _underbarrel;
|
||||
};
|
||||
};
|
||||
//};
|
||||
@ -205,5 +231,65 @@ _clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
|
||||
};
|
||||
}forEach _wpnUnknown;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Magazines %1",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
|
||||
};
|
||||
if (DBD_priceConfiguration == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
|
||||
};
|
||||
}forEach _wpnMagazines;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Optics %1",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
|
||||
};
|
||||
if (DBD_priceConfiguration == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
|
||||
};
|
||||
}forEach _wpnOptics;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Muzzles %1",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
|
||||
};
|
||||
if (DBD_priceConfiguration == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
|
||||
};
|
||||
}forEach _wpnMuzzles;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Pointers %1",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
|
||||
};
|
||||
if (DBD_priceConfiguration == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
|
||||
};
|
||||
}forEach _wpnPointers;
|
||||
|
||||
_clipBoard = _clipBoard + format["%2%3// Underbarrel %1",endl,endl,endl];
|
||||
{
|
||||
if (DBD_priceConfiguration == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { quality = 3; price = 150; };%2",_x,endl];
|
||||
};
|
||||
if (DBD_priceConfiguration == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + format["class %1 { price = 150; };%2",_x,endl];
|
||||
};
|
||||
}forEach _wpnUnderbarrel;
|
||||
|
||||
copyToClipboard _clipBoard;
|
||||
systemChat "Weapon Pricelist Generated";
|
@ -15,15 +15,15 @@ _allWearableRoots = ["Pistol","Rifle","Launcher"];
|
||||
_allWearableTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
|
||||
_addedBaseNames = [];
|
||||
_allBannedWearables = [];
|
||||
_uniforms = []; //Assault Rifles
|
||||
_headgear = []; //Assault Rifles with GL
|
||||
_glasses = []; //Light Machine Guns
|
||||
_masks = []; //Sub Machine Guns
|
||||
_backpacks = []; //Designated Marksman Rifles
|
||||
_uniforms = [];
|
||||
_headgear = [];
|
||||
_glasses = [];
|
||||
_masks = [];
|
||||
_backpacks = [];
|
||||
_vests = [];
|
||||
_goggles = []; //Sniper rifles
|
||||
_binocs = []; //HandGuns/Pistols
|
||||
_NVG = []; //Shotguns // NVGoggles
|
||||
_goggles = [];
|
||||
_binocs = [];
|
||||
_NVG = [];
|
||||
//_wpnThrow = []; // throwables
|
||||
//_wpnUnknown = []; //Misc
|
||||
|
||||
@ -116,3 +116,5 @@ _clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
|
||||
}forEach _wpnUnknown;
|
||||
*/
|
||||
copyToClipboard _clipBoard;
|
||||
|
||||
_clipboard
|
@ -15,15 +15,15 @@ _allWearableRoots = ["Pistol","Rifle","Launcher"];
|
||||
_allWearableTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
|
||||
_addedBaseNames = [];
|
||||
_allBannedWearables = [];
|
||||
_uniforms = []; //Assault Rifles
|
||||
_headgear = []; //Assault Rifles with GL
|
||||
_glasses = []; //Light Machine Guns
|
||||
_masks = []; //Sub Machine Guns
|
||||
_backpacks = []; //Designated Marksman Rifles
|
||||
_uniforms = [];
|
||||
_headgear = [];
|
||||
_glasses = [];
|
||||
_masks = [];
|
||||
_backpacks = [];
|
||||
_vests = [];
|
||||
_goggles = []; //Sniper rifles
|
||||
_binocs = []; //HandGuns/Pistols
|
||||
_NVG = []; //Shotguns // NVGoggles
|
||||
_goggles = [];
|
||||
_binocs = [];
|
||||
_NVG = [];
|
||||
//_wpnThrow = []; // throwables
|
||||
//_wpnUnknown = []; //Misc
|
||||
|
||||
@ -193,3 +193,5 @@ _clipBoard = _clipBoard + format["%2%3// Unknown %1",endl,endl,endl];
|
||||
}forEach _wpnUnknown;
|
||||
*/
|
||||
copyToClipboard _clipBoard;
|
||||
|
||||
_clipBoard
|
@ -4,14 +4,21 @@ How To Use This Tool.
|
||||
2) Start the Eden Editor.
|
||||
3) Open the testConfig.Altis mission.
|
||||
|
||||
You are now ready to generate the class names. The tools copy these to the clipboard. All you need to do to generate a list of classnames is select the tool, Alt-Tab out of Arma, and paste the contents of the clipboard into a text editor such as notepad ++.
|
||||
For each category (e.g., uniforms, weapons, vehicles) there are two tools.
|
||||
One generates a simple list of class names which could be used when configuring traders for Exile.
|
||||
The second will generate a pre-configured price list using either Epoch or Exile formats.
|
||||
You can determine which format of price list will be generated by changing DBD_priceConfiguration in init.sqf.
|
||||
You are now ready to generate the class names. The tools copy these to the clipboard.
|
||||
All you need to do to generate a list of classnames:
|
||||
- is select the tool for the category for which you want to generate lists of class names,
|
||||
- Alt-Tab out of Arma,
|
||||
- and paste the contents of the clipboard into a text editor such as notepad ++.
|
||||
|
||||
For each category (e.g., uniforms, weapons, vehicles) the tools will generate three types of lists:
|
||||
|
||||
- a list of class names in quotes, useful for putting together lists of items that are available through certain traders.
|
||||
- pricelists formated in either Epoch or Exile format (which, of course need prices adjusted).
|
||||
- a list suitable for addition to either the loot tables in Epoch or the loot table compiler in Exile.
|
||||
|
||||
You can determine which format of price list will be generated by changing GRG_mod in init.sqf.
|
||||
|
||||
Credits:
|
||||
This tool uses Kronzky's string library: http://www.kronzky.info/snippets/strings/index.htm
|
||||
The algorithm for extracting weapons class names is derived from one posted by KiloSwiss on EpochMod:
|
||||
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
|
||||
|
||||
@ -21,7 +28,7 @@ License
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
|
||||
|
||||
there is no charge to use these tools.
|
||||
There is no charge to use these tools.
|
||||
You may modify any of the tools as you like.
|
||||
Please give credit to me and those listed above if redistributing modified code.
|
||||
|
||||
|
71
testConfig.Altis/help.sqf
Normal file
71
testConfig.Altis/help.sqf
Normal file
@ -0,0 +1,71 @@
|
||||
disableSerialization;
|
||||
["",0,0.2,10,0,0,8] spawn BIS_fnc_dynamicText;
|
||||
createDialog "RscDisplayWelcome";
|
||||
_display = findDisplay 999999;
|
||||
_text1 = _display displayCtrl 1100;
|
||||
_buttonSpoiler = _display displayCtrl 2400;
|
||||
_textSpoiler = _display displayCtrl 1101;
|
||||
_text2 = _display displayCtrl 1102;
|
||||
|
||||
_message = _message + "<t align='left' size='1' shadow='0'><t color='#ff9900'>General rules:</t><br/><br/>";
|
||||
_message = _message + "We ask that you follow just a few basic rules.<br/><br/>";
|
||||
_message = _message + "<br/>";
|
||||
_message = _message + "* There is NO PVP allowed except in designated PVP Zones, should these be present on the server.<br/><br/>";
|
||||
_message = _message + "* STEALING from players, vehicles, bases or corpses is not allowed.<br/><br/>";
|
||||
_message = _message + "* Please be respectful toward other players<br/>";
|
||||
_message = _message + "* Foul language will result in an automatick kick.<br/>";
|
||||
_message = _message + "* Hacking, taking advantage of glitches or dupping is just a no-no.<br/>";
|
||||
_message = _message + "* Please Respect Admins: They work hard to keep order and help players with issues.<br/><br/><br/>";
|
||||
_message = _message + "* To keep language respectful you will be kicked for using certain words in chat. <br/>";
|
||||
_message = _message + "* This is not intended to stiffle play but to maintain a polite decorum.<br/>";
|
||||
|
||||
_message = _message + "<a color='#ff9900'>Base Building Rules:</a><br/><br/>";
|
||||
_message = _message + "* Please do not build closer thaan 150 meeters from the nearest building or structure.<br/>";
|
||||
_message = _message + "* Your flag or frequency jammer may block spawning of loot for other players.<br/>";
|
||||
_message = _message + "* Please do Not block roads.<br/><br/>";
|
||||
_message = _message + "* Do Not build in airfields or place safes at these locations.<br/><br/>";
|
||||
_message = _message + "* Please do not build snipping towers at strongholds.<br/>";
|
||||
|
||||
_message = _message + "<a color='#ff9900'>Mission Rules:</a><br/><br/>";
|
||||
_message = _message + "* Call Missions in Side Chat AND place a marker with your name on the map in Side Chat.<br/><br/>";
|
||||
_message = _message + "* Call missions once you are ready to go there.<br/><br/>";
|
||||
_message = _message + "* Each player or group may only claim one mission at a time.<br/><br/>";
|
||||
|
||||
_message = _message + "<a color='#ff9900'>PVP Zone Rules:</a><br/><br/>";
|
||||
_message = _message + "* Anything goes in PVP Zones.<br/><br/>";
|
||||
|
||||
_message = _message + "<a color='#ff9900'>Player Tips:</a><br/><br/>";
|
||||
_message = _message + "* AI are sneaky and the last few AI at a mission often lay hidden and waiting for unwary players<br/><br/>";
|
||||
_message = _message + "* Grenades and HE rounds are your friend, especially at town invasions<br/><br/>";
|
||||
_message = _message + "* You can starve or die of thrist in Exile - never leave home without snacks<br/><br/>";
|
||||
_message = _message + "* You can die of hypothermia on Namalsk - bundle up, light fires, bring thermal buddies<br/><br/>";
|
||||
_message = _message + "* Missions tend to spawn in certain locations. If you build there do not be surprised if AI are waiting<br/><br/>";
|
||||
_message = _message + "* If you build near missions or Mafia locations the AI may destroy any vehicles left outside even if you are not in-game<br/><br/>";
|
||||
_message = _message + "* Arma and Exile are glitchy. Do not park vehicles/aircraft on roofs if you are not prepared for them to go Boom<br/><br/>";
|
||||
_message = _message + "* Use the grid function to place pieces oriented north/south and park vehicles headed North to reduce issues with them going Boom<br/><br/>";
|
||||
_message = _message + "* Remember that players and AI share the same roads.<br/><br/>";
|
||||
_message = _message + "* Admins are here to keep order and enforce rules. They volunteer their time based on a love of Arma. Please respect them.<br/><br/>";
|
||||
|
||||
_message = _message + "<a color='#ff9900'>Roles of our Admins:</a><br/><br/>";
|
||||
_message = _message + "* Our Admins volunteer their time to keep our servers running smoothly<br/><br/>";
|
||||
_message = _message + "* Please treat them with the respect you would ask if you fulfilled their roles<br/><br/>";
|
||||
_message = _message + "* Admins are responsible for ensuring that players adhere to our rules as stated above<br/><br/>";
|
||||
_message = _message + "* If you have an issue with a player please check our teamspeak or post a report of the incident on our website or discord<br/><br/>";
|
||||
_message = _message + "* Admins MAY offer assistance to players who are getting started, or who lost gear or vehicles. <br/><br/>";
|
||||
_message = _message + "* However, we are not responsible for damaged or destroyed vehicles, missing gear or lost tabs or respect<br/><br/>";
|
||||
|
||||
_message = _message + "Have fun and play fair. <a color='#ff9900'></a><br/><br/><t/>";
|
||||
|
||||
_text1 ctrlSetStructuredText (parseText _message);
|
||||
_positionText1 = ctrlPosition _text1;
|
||||
_yText1 = _positionText1 select 1;
|
||||
_hText1 = ctrlTextHeight _text1;
|
||||
_text1 ctrlSetPosition [_positionText1 select 0, _yText1, _positionText1 select 2, _hText1];
|
||||
_text1 ctrlCommit 0;
|
||||
_buttonSpoiler ctrlSetFade 1;
|
||||
_buttonSpoiler ctrlCommit 0;
|
||||
_buttonSpoiler ctrlEnable false;
|
||||
_textSpoiler ctrlSetFade 1;
|
||||
_textSpoiler ctrlCommit 0;
|
||||
_text2 ctrlSetFade 1;
|
||||
_text2 ctrlCommit 0;
|
@ -9,24 +9,21 @@
|
||||
*/
|
||||
|
||||
// load string library
|
||||
nul=[] execVM "KRON_Strings.sqf";
|
||||
DBD_priceConfiguration = "Exile"; // Options are "Exile" or "Epoch". This configuration pertains only to generating pre-formated price lists.
|
||||
//nul=[] execVM "KRON_Strings.sqf";
|
||||
GRG_mod = "Exile"; // Options are "Exile" or "Epoch". This configuration pertains only to generating pre-formated price lists.
|
||||
GRG_includedWeaponMagazines = false;
|
||||
GRG_configuratorPathName = "ExcludedClassNames\";
|
||||
|
||||
#include "code\variables.sqf";
|
||||
#include "code\functions.sqf";
|
||||
|
||||
player addAction ["Vehicles","vehicles.sqf", [], 9];
|
||||
player addAction ["Weapons","weapons.sqf",[], 8.9];
|
||||
player addAction ["Magazines","magazines.sqf", 8.7];
|
||||
player addAction ["Wearables","wearables.sqf", 8.8];
|
||||
|
||||
|
||||
|
||||
|
||||
player addAction["Run vehiclesConfig","vehiclesConfig.sqf"];
|
||||
player addAction["Run vehiclesPricelist","vehiclesPriceList.sqf"];
|
||||
player addAction["Run airConfig","airConfig.sqf"];
|
||||
player addAction["Run airPriceList","airPriceList.sqf"];
|
||||
player addAction["Run weaponsConfig","weaponsConfig.sqf"];
|
||||
player addAction["Run weaponsPriceList","weaponsPriceList.sqf"];
|
||||
player addAction["Run magazinesConfig","magazinesConfig.sqf"];
|
||||
player addAction["Run magazinesPriceList","magazinesPriceList.sqf"];
|
||||
player addAction["Run wearablesConfig","wearablesConfig.sqf"];
|
||||
player addAction["Run wearablesPriceList","wearablesPriceList.sqf"];
|
||||
|
||||
player addAction["Run headgearConfig","headgearConfig.sqf"];
|
||||
player addAction["Run headgearPriceList","headgearPriceList.sqf"];
|
||||
player addAction["Run vestsConfig","vestsConfig.sqf"];
|
||||
player addAction["Run vestsPriceList","vestsPriceList.sqf"];
|
||||
player addAction["Run uniformsConfig","uniformsConfig.sqf"];
|
||||
player addAction["Run uniformsPriceList","uniformsPriceList.sqf"];
|
||||
|
||||
|
102
testConfig.Altis/magazines.sqf
Normal file
102
testConfig.Altis/magazines.sqf
Normal file
@ -0,0 +1,102 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
7/20/17
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
_baseMagazines = [];
|
||||
#include "ExcludedClassNames\baseMagazines.sqf"
|
||||
_cfgMagazines = (configfile >> "CfgMagazines") call BIS_fnc_getCfgSubClasses;
|
||||
//_cfgMagazines sort true;
|
||||
_sortedMagazines = [];
|
||||
_clipboard = "";
|
||||
_wpnSmokeShell = []; // "B_IR_Grenade"
|
||||
_wpnLauncherRound = [];
|
||||
_wpnMagazines = [];
|
||||
_wpnVehicleAmmo = [];
|
||||
_wpnMines = []; // "ATMine_Range_Mag" "SatchelCharge_Remote_Mag" "DemoCharge_Remote_Mag" "IEDUrbanSmall_Remote_Mag"
|
||||
_isMagazine = true;
|
||||
|
||||
_scannedMags = [];
|
||||
{
|
||||
//diag_log format["Magazine = %1",_x];
|
||||
_isKindOf = (_x isKindOF ["CA_Magazine", configFile >> "CfgMagazines"]);
|
||||
if (true) then
|
||||
{
|
||||
//diag_log format["Acceptable Magazine = %1",_x];
|
||||
if (_isKindOf and !(_x in _baseMagazines)) then
|
||||
{
|
||||
//diag_log format["Evaluated Magazine = %1",_x];
|
||||
//if (!(_x isKindOF ["CA_LauncherMagazine", configFile >> "CfgMagazines"]) && !(_x isKindOF ["HandGrenade", configFile >> "CfgMagazines"]) && !(_x isKindOf ["VehicleMagazine", configFile >> "CfgMagazines"]) && !(_x isKindOf ["Exile_AbstractItem", configFile >> "CfgMagazines"])) then {_wpnMagazines pushBack _x};
|
||||
if (_x isKindOF ["CA_LauncherMagazine", configFile >> "CfgMagazines"]) then {_wpnLauncherRound pushBack _x; _scannedMags pushBack _x;};
|
||||
if(_x isKindOF ["HandGrenade", configFile >> "CfgMagazines"]) then {_wpnSmokeShell pushBack _x; _scannedMags pushBack _x;};
|
||||
if (_x isKindOf ["VehicleMagazine", configFile >> "CfgMagazines"]) then {_wpnVehicleAmmo pushBack _x; _scannedMags pushBack _x;};
|
||||
if (_x isKindOf ["Exile_AbstractItem", configFile >> "CfgMagazines"]) then { _scannedMags pushBack _x;}; // Ignore these for now
|
||||
if !(_x in _scannedMags) then {_wpnMagazines pushBack _x; _scannedMags pushBack _x;};
|
||||
};
|
||||
};
|
||||
}forEach _cfgMagazines;
|
||||
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + GRG_Exile_TraderItemLists_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + GRG_Epoch_ItemLists_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
|
||||
_temp = [_wpnSmokeShell] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1%2// Launcher Rounds%3",endl,endl,endl];
|
||||
_temp = [_wpnLauncherRound] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
|
||||
_temp = [_wpnVehicleAmmo] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
|
||||
};
|
||||
_clipboard = _clipboard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
|
||||
_temp = [_wpnSmokeShell] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1%2// Launcher Rounds%3",endl,endl,endl];
|
||||
_temp = [_wpnLauncherRound] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
|
||||
_temp = [_wpnVehicleAmmo] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
|
||||
};
|
||||
_clipboard = _clipboard + format["%1%2// Grenades, Smoke Grenades, Chemlights and Flares%3",endl,endl,endl];
|
||||
_temp = [_wpnSmokeShell] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1%2// Launcher Rounds%3",endl,endl,endl];
|
||||
_temp = [_wpnLauncherRound] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1%2// Vehicle Ammo%3",endl,endl,endl];
|
||||
_temp = [_wpnVehicleAmmo] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
copyToClipboard _clipboard;
|
||||
|
||||
hint format["Special Magazines Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];
|
@ -8,7 +8,7 @@ class EditorData
|
||||
toggles=1;
|
||||
class ItemIDProvider
|
||||
{
|
||||
nextID=3;
|
||||
nextID=5;
|
||||
};
|
||||
class Camera
|
||||
{
|
||||
@ -21,25 +21,17 @@ class EditorData
|
||||
binarizationWanted=0;
|
||||
addons[]=
|
||||
{
|
||||
"A3_Characters_F_Exp",
|
||||
"A3_Soft_F_Exp_Offroad_01"
|
||||
"A3_Characters_F"
|
||||
};
|
||||
class AddonsMetaData
|
||||
{
|
||||
class List
|
||||
{
|
||||
items=2;
|
||||
items=1;
|
||||
class Item0
|
||||
{
|
||||
className="A3_Characters_F_Exp";
|
||||
name="Arma 3 Apex - Characters and Clothing";
|
||||
author="Bohemia Interactive";
|
||||
url="https://www.arma3.com";
|
||||
};
|
||||
class Item1
|
||||
{
|
||||
className="A3_Soft_F_Exp";
|
||||
name="Arma 3 Apex - Unarmored Land Vehicles";
|
||||
className="A3_Characters_F";
|
||||
name="Arma 3 Alpha - Characters and Clothing";
|
||||
author="Bohemia Interactive";
|
||||
url="https://www.arma3.com";
|
||||
};
|
||||
@ -72,7 +64,7 @@ class Mission
|
||||
};
|
||||
class Entities
|
||||
{
|
||||
items=2;
|
||||
items=1;
|
||||
class Item0
|
||||
{
|
||||
dataType="Group";
|
||||
@ -85,59 +77,22 @@ class Mission
|
||||
dataType="Object";
|
||||
class PositionInfo
|
||||
{
|
||||
position[]={15192.831,17.911438,16745.836};
|
||||
position[]={14380.203,17.801437,15920.507};
|
||||
};
|
||||
side="West";
|
||||
flags=6;
|
||||
flags=7;
|
||||
class Attributes
|
||||
{
|
||||
isPlayer=1;
|
||||
};
|
||||
id=2;
|
||||
type="B_GEN_Commander_F";
|
||||
id=4;
|
||||
type="B_RangeMaster_F";
|
||||
};
|
||||
};
|
||||
class Attributes
|
||||
{
|
||||
};
|
||||
class CrewLinks
|
||||
{
|
||||
class LinkIDProvider
|
||||
{
|
||||
nextID=1;
|
||||
};
|
||||
class Links
|
||||
{
|
||||
items=1;
|
||||
class Item0
|
||||
{
|
||||
linkID=0;
|
||||
item0=2;
|
||||
item1=1;
|
||||
class CustomData
|
||||
{
|
||||
role=1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
id=0;
|
||||
};
|
||||
class Item1
|
||||
{
|
||||
dataType="Object";
|
||||
class PositionInfo
|
||||
{
|
||||
position[]={15192.831,19.521503,16745.816};
|
||||
};
|
||||
side="West";
|
||||
flags=6;
|
||||
class Attributes
|
||||
{
|
||||
aiRadarUsage=-861312960;
|
||||
};
|
||||
id=1;
|
||||
type="B_GEN_Offroad_01_gen_F";
|
||||
id=3;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
96
testConfig.Altis/vehicles.sqf
Normal file
96
testConfig.Altis/vehicles.sqf
Normal file
@ -0,0 +1,96 @@
|
||||
/*
|
||||
Class Name Extraction Tool
|
||||
By GhostriderDbD
|
||||
For Arma 3
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
_vehiclesBase = [];
|
||||
#include "ExcludedClassNames\baseVehicles.sqf"
|
||||
_veh = (configfile >> "CfgVehicles") call BIS_fnc_getCfgSubClasses;
|
||||
//_veh sort true;
|
||||
systemChat format[" _veh contains %1 entries",count _veh];
|
||||
_index = 0;
|
||||
_cars = [];
|
||||
_boats = [];
|
||||
_air = [];
|
||||
_exile = 0;
|
||||
|
||||
{
|
||||
if (_x isKindOf "Car" && !(_x in _vehiclesBase)) then
|
||||
{
|
||||
_cars pushback _x;
|
||||
};
|
||||
if (_x isKindOf "Air" && !(_x in _vehiclesBase)) then
|
||||
{
|
||||
_air pushback _x;
|
||||
};
|
||||
if (_x isKindOf "Boat" && !(_x in _vehiclesBase)) then
|
||||
{
|
||||
_boat pushback _x;
|
||||
};
|
||||
}forEach _veh;
|
||||
|
||||
_clipBoard = "";
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + GRG_Exile_TraderItemLists_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + GRG_Epoch_ItemLists_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["// Cars%1%2",endl,endl,endl];
|
||||
_temp = [_cars] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1// Boats%2%3",endl,endl,endl];
|
||||
_temp = [_boats] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1// Air%2%3",endl,endl,endl];
|
||||
_temp = [_air] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
|
||||
};
|
||||
_clipboard = _clipboard + format["// Cars%1%2",endl,endl,endl];
|
||||
_temp = [_cars] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1// Boats%2%3",endl,endl,endl];
|
||||
_temp = [_boats] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1// Air%2%3",endl,endl,endl];
|
||||
_temp = [_air] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
|
||||
};
|
||||
_clipboard = _clipboard + format["// Cars%1%2",endl,endl,endl];
|
||||
_temp = [_cars] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1// Boats%2%3",endl,endl,endl];
|
||||
_temp = [_boats] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%1// Air%2%3",endl,endl,endl];
|
||||
_temp = [_air] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
copyToClipboard _clipboard;
|
||||
|
||||
hint format["Vehicles Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];
|
326
testConfig.Altis/weapons.sqf
Normal file
326
testConfig.Altis/weapons.sqf
Normal file
@ -0,0 +1,326 @@
|
||||
/*
|
||||
Original script by KiloSwiss
|
||||
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
|
||||
Modified and enhanced by GhostriderDbD
|
||||
7/20/17
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
_weaponsBase = [];
|
||||
#include "ExcludedClassNames\baseWeapons.sqf"
|
||||
_knownWeapons = [];
|
||||
|
||||
_allWeaponRoots = ["Pistol","Rifle","Launcher"];
|
||||
_allWeaponTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
|
||||
_addedBaseNames = [];
|
||||
_allBannedWeapons = [];
|
||||
_wpnAR = []; //Assault Rifles
|
||||
_wpnARG = []; //Assault Rifles with GL
|
||||
_wpnLMG = []; //Light Machine Guns
|
||||
_wpnSMG = []; //Sub Machine Guns
|
||||
_wpnDMR = []; //Designated Marksman Rifles
|
||||
_wpnLauncher = [];
|
||||
_wpnSniper = []; //Sniper rifles
|
||||
_wpnHandGun = []; //HandGuns/Pistols
|
||||
_wpnShotGun = []; //Shotguns
|
||||
_wpnThrow = []; // throwables
|
||||
_wpnUnknown = []; //Misc
|
||||
_wpnUnderbarrel = [];
|
||||
_wpnMagazines = [];
|
||||
_wpnOptics = [];
|
||||
_wpnPointers = [];
|
||||
_wpnMuzzles = [];
|
||||
|
||||
_aBaseNames = [];
|
||||
_wpList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
|
||||
//_wpList sort true;
|
||||
{
|
||||
_item = _x;
|
||||
_isWeap = false;
|
||||
_isKindOf = false;
|
||||
{
|
||||
_isKindOf = (_item isKindOF [_x, configFile >> "CfgWeapons"]);
|
||||
if (_isKindOf) exitWith {};
|
||||
} forEach _allWeaponRoots;
|
||||
if (_isKindOf) then
|
||||
{
|
||||
//if (getnumber (configFile >> "cfgWeapons" >> _x >> "scope") == 2) then {
|
||||
_itemType = _x call bis_fnc_itemType;
|
||||
_itemCategory = _itemType select 1;
|
||||
//diag_log format["pullWepClassNames:: _itemType = %1 || _itemCategory = %2",_itemType, _itemCategory];
|
||||
if (((_itemType select 0) == "Weapon") && ((_itemType select 1) in _allWeaponTypes)) then {
|
||||
_baseName = _x call BIS_fnc_baseWeapon;
|
||||
//diag_log format["pullWepClassNames:: Processing for _baseName %3 || _itemType = %1 || _itemCategory = %2",_itemType, _itemCategory, _baseName];
|
||||
if (!(_baseName in _addedBaseNames) && !(_baseName in _allBannedWeapons)) then {
|
||||
_addedBaseNames pushBack _baseName;
|
||||
|
||||
switch(_itemCategory)do{
|
||||
case "AssaultRifle" :{
|
||||
if(count getArray(configfile >> "cfgWeapons" >> _baseName >> "muzzles") > 1)then[{_wpnARG pushBack _baseName},{_wpnAR pushBack _baseName}];
|
||||
};
|
||||
case "MachineGun" :{_wpnLMG pushBack _baseName};
|
||||
case "SubmachineGun" :{_wpnSMG pushBack _baseName};
|
||||
case "Rifle" :{_wpnDMR pushBack _baseName};
|
||||
case "SniperRifle" :{_wpnSniper pushBack _baseName};
|
||||
case "Shotgun" :{_wpnShotGun pushBack _baseName};
|
||||
case "Handgun" :{_wpnHandGun pushBack _baseName};
|
||||
case "MissileLauncher" :{_wpnLauncher pushBack _baseName};
|
||||
case "RocketLauncher" :{_wpnLauncher pushBack _baseName};
|
||||
case "DMR" : {_wpnDMR pushBack _baseName};
|
||||
case "Throw" : {_wpnThrow pushBack _baseName};
|
||||
default{_wpnUnknown pushBack _baseName};
|
||||
};
|
||||
|
||||
// Get options for magazines and attachments for that weapon and store these if they are not duplicates for items already listed.
|
||||
_ammoChoices = getArray (configFile >> "CfgWeapons" >> _baseName >> "magazines");
|
||||
{
|
||||
if !(_x in _wpnMagazines) then {_wpnMagazines pushback _x};
|
||||
}forEach _ammoChoices;
|
||||
_optics = getArray (configfile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnOptics) then {_wpnOptics pushback _x};
|
||||
}forEach _optics;
|
||||
_pointers = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnPointers) then {_wpnPointers pushback _x};
|
||||
}forEach _pointers;
|
||||
_muzzles = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnMuzzles) then {_wpnMuzzles pushback _x};
|
||||
}forEach _muzzles;
|
||||
_underbarrel = getArray (configFile >> "CfgWeapons" >> _baseName >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems");
|
||||
{
|
||||
if !(_x in _wpnUnderbarrel) then {_wpnUnderbarrel pushback _x};
|
||||
}forEach _underbarrel;
|
||||
};
|
||||
};
|
||||
};
|
||||
} foreach _wpList;
|
||||
|
||||
_clipboard = "";
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_TraderItemLists_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_ItemLists_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// // Assault Rifles %1",endl,endl,endl];
|
||||
_temp = [_wpnAR] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Assault Rifles with GL %1",endl,endl,endl];
|
||||
_temp = [_wpnARG] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// LMGs %1",endl,endl,endl];
|
||||
_temp = [_wpnLMG] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// SMGs %1",endl,endl,endl];
|
||||
_temp = [_wpnSMG] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Snipers %1",endl,endl,endl];
|
||||
_temp = [_wpnSniper] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// DMRs %1",endl,endl,endl];
|
||||
_temp = [_wpnDMR] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Launchers %1",endl,endl,endl];
|
||||
_temp = [_wpnLauncher] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Handguns %1",endl,endl,endl];
|
||||
_temp = [_wpnHandGun] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Shotguns %1",endl,endl,endl];
|
||||
_temp = [_wpnShotGun] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Throwables %1",endl,endl,endl];
|
||||
_temp = [_wpnThrow] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Unknown %1",endl,endl,endl];
|
||||
_temp = [_wpnUnknown] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Magazines %1",endl,endl,endl];
|
||||
_temp = [_wpnMagazines] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Optics %1",endl,endl,endl];
|
||||
_temp = [_wpnOptics] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Muzzles %1",endl,endl,endl];
|
||||
_temp = [_wpnMuzzles] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Pointers %1",endl,endl,endl];
|
||||
_temp = [_wpnPointers] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Underbarrel %1",endl,endl,endl];
|
||||
_temp = [_wpnUnderbarrel] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// // Assault Rifles %1",endl,endl,endl];
|
||||
_temp = [_wpnAR] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Assault Rifles with GL %1",endl,endl,endl];
|
||||
_temp = [_wpnARG] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// LMGs %1",endl,endl,endl];
|
||||
_temp = [_wpnLMG] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// SMGs %1",endl,endl,endl];
|
||||
_temp = [_wpnSMG] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Snipers %1",endl,endl,endl];
|
||||
_temp = [_wpnSniper] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// DMRs %1",endl,endl,endl];
|
||||
_temp = [_wpnDMR] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Launchers %1",endl,endl,endl];
|
||||
_temp = [_wpnLauncher] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Handguns %1",endl,endl,endl];
|
||||
_temp = [_wpnHandGun] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Shotguns %1",endl,endl,endl];
|
||||
_temp = [_wpnShotGun] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Throwables %1",endl,endl,endl];
|
||||
_temp = [_wpnThrow] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Unknown %1",endl,endl,endl];
|
||||
_temp = [_wpnUnknown] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Magazines %1",endl,endl,endl];
|
||||
_temp = [_wpnMagazines] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Optics %1",endl,endl,endl];
|
||||
_temp = [_wpnOptics] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Muzzles %1",endl,endl,endl];
|
||||
_temp = [_wpnMuzzles] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Pointers %1",endl,endl,endl];
|
||||
_temp = [_wpnPointers] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Underbarrel %1",endl,endl,endl];
|
||||
_temp = [_wpnUnderbarrel] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// // Assault Rifles %1",endl,endl,endl];
|
||||
_temp = [_wpnAR] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Assault Rifles with GL %1",endl,endl,endl];
|
||||
_temp = [_wpnARG] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// LMGs %1",endl,endl,endl];
|
||||
_temp = [_wpnLMG] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// SMGs %1",endl,endl,endl];
|
||||
_temp = [_wpnSMG] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Snipers %1",endl,endl,endl];
|
||||
_temp = [_wpnSniper] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// DMRs %1",endl,endl,endl];
|
||||
_temp = [_wpnDMR] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Launchers %1",endl,endl,endl];
|
||||
_temp = [_wpnLauncher] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Handguns %1",endl,endl,endl];
|
||||
_temp = [_wpnHandGun] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Shotguns %1",endl,endl,endl];
|
||||
_temp = [_wpnShotGun] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Throwables %1",endl,endl,endl];
|
||||
_temp = [_wpnThrow] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Unknown %1",endl,endl,endl];
|
||||
_temp = [_wpnUnknown] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Magazines %1",endl,endl,endl];
|
||||
_temp = [_wpnMagazines] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Optics %1",endl,endl,endl];
|
||||
_temp = [_wpnOptics] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Muzzles %1",endl,endl,endl];
|
||||
_temp = [_wpnMuzzles] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Pointers %1",endl,endl,endl];
|
||||
_temp = [_wpnPointers] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// Underbarrel %1",endl,endl,endl];
|
||||
_temp = [_wpnUnderbarrel] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
copyToClipboard _clipBoard;
|
||||
|
||||
hint format["Weapons Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];
|
158
testConfig.Altis/wearables.sqf
Normal file
158
testConfig.Altis/wearables.sqf
Normal file
@ -0,0 +1,158 @@
|
||||
/*
|
||||
some of the algorithm/script is based on a script by KiloSwiss
|
||||
https://epochmod.com/forum/topic/32239-howto-get-available-weapons-mod-independent/
|
||||
Modified and enhanced by GhostriderDbD
|
||||
5/22/17
|
||||
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
_baseWearables = [];
|
||||
#include "ExcludedClassNames\baseWearables.sqf"
|
||||
_allWearableRoots = ["Pistol","Rifle","Launcher"];
|
||||
_allWearableTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"];
|
||||
_addedBaseNames = [];
|
||||
_allBannedWearables = [];
|
||||
_uniforms = [];
|
||||
_headgear = [];
|
||||
_glasses = [];
|
||||
_masks = [];
|
||||
_backpacks = [];
|
||||
_vests = [];
|
||||
_goggles = [];
|
||||
_binocs = [];
|
||||
_NVG = [];
|
||||
|
||||
_wearablesList = (configfile >> "cfgGlasses") call BIS_fnc_getCfgSubClasses;
|
||||
{
|
||||
if ( !(_x in _baseWearables) && !(_x in _addedBaseNames) ) then
|
||||
{
|
||||
_addedBaseNames pushBack _x;
|
||||
_glasses pushBack _x;
|
||||
};
|
||||
}forEach _wearablesList;
|
||||
|
||||
_aBaseNames = [];
|
||||
_wearablesList = (configFile >> "cfgWeapons") call BIS_fnc_getCfgSubClasses;
|
||||
//_wearablesList sort true;
|
||||
{
|
||||
if ( !(_x in _baseWearables) && !(_x in _addedBaseNames) ) then
|
||||
{
|
||||
_addedBaseNames pushBack _x;
|
||||
// Uniforms
|
||||
if (_x isKindOF ["Uniform_Base", configFile >> "CfgWeapons"]) then {_uniforms pushBack _x};
|
||||
// Headgear / Masks
|
||||
if ( (_x isKindOF ["HelmetBase", configFile >> "CfgWeapons"]) or (_x isKindOF ["H_HelmetB", configFile >> "CfgWeapons"]) ) then {_headgear pushBack _x};
|
||||
// Goggles
|
||||
if (_x isKindOF ["GoggleItem", configFile >> "CfgWeapons"]) then {_goggles pushBack _x};
|
||||
// NVG
|
||||
if (_x isKindOF ["NVGoggles", configFile >> "CfgWeapons"]) then {_NVG pushBack _x};
|
||||
// Masks
|
||||
|
||||
// Vests
|
||||
if ( (_x isKindOF ["Vest_Camo_Base", configFile >> "CfgWeapons"]) or (_x isKindOF ["Vest_NoCamo_Base", configFile >> "CfgWeapons"]) ) then {_vests pushBack _x};
|
||||
// Backpacks
|
||||
if (_x isKindOF ["Bag_Base", configFile >> "CfgVehicles"]) then {_backpacks pushBack _x};
|
||||
};
|
||||
} foreach _wearablesList;
|
||||
|
||||
_clipBoard = "";
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipboard + GRG_Exile_TraderItemLists_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipboard + GRG_Epoch_ItemLists_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// // Uniforms %1",endl,endl,endl];
|
||||
_temp = [_uniforms] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%2%3// Headgear / Masks %1",endl,endl,endl];
|
||||
_temp = [_headgear] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%2%3// Goggles %1",endl,endl,endl];
|
||||
_temp = [_goggles] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// Vests %1",endl,endl,endl];
|
||||
_temp = [_vests] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// Backpacks %1",endl,endl,endl];
|
||||
_temp = [_backpacks] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3//Glasses %1",endl,endl,endl];
|
||||
_temp = [_glasses] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// NVG %1",endl,endl,endl];
|
||||
_temp = [_NVG] call fn_generateItemList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Pricelist_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Pricelist_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// // Uniforms %1",endl,endl,endl];
|
||||
_temp = [_uniforms] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%2%3// Headgear / Masks %1",endl,endl,endl];
|
||||
_temp = [_headgear] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%2%3// Goggles %1",endl,endl,endl];
|
||||
_temp = [_goggles] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// Vests %1",endl,endl,endl];
|
||||
_temp = [_vests] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// Backpacks %1",endl,endl,endl];
|
||||
_temp = [_backpacks] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3//Glasses %1",endl,endl,endl];
|
||||
_temp = [_glasses] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// NVG %1",endl,endl,endl];
|
||||
_temp = [_NVG] call fn_generatePriceList;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
if (GRG_mod == "Exile") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Exile_Loottable_Header;
|
||||
};
|
||||
if (GRG_mod == "Epoch") then
|
||||
{
|
||||
_clipboard = _clipBoard + GRG_Epoch_Loottable_Header;
|
||||
};
|
||||
|
||||
_clipboard = _clipboard + format["%2%3// // Uniforms %1",endl,endl,endl];
|
||||
_temp = [_uniforms] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%2%3// Headgear / Masks %1",endl,endl,endl];
|
||||
_temp = [_headgear] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipboard = _clipboard + format["%2%3// Goggles %1",endl,endl,endl];
|
||||
_temp = [_goggles] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// Vests %1",endl,endl,endl];
|
||||
_temp = [_vests] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// Backpacks %1",endl,endl,endl];
|
||||
_temp = [_backpacks] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3//Glasses %1",endl,endl,endl];
|
||||
_temp = [_glasses] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
_clipBoard = _clipBoard + format["%2%3// NVG %1",endl,endl,endl];
|
||||
_temp = [_NVG] call fn_generateLootTableEntries;
|
||||
_clipBoard = _clipBoard + _temp;
|
||||
|
||||
copyToClipboard _clipBoard;
|
||||
|
||||
hint format["Wearables Config Extractor Run complete%1Output copied to clipboard%1Paste it into a text editor to acces",endl];
|
Loading…
Reference in New Issue
Block a user