I was going to include overwatch / breaking point / dayzero specific bots, but I didn't want to go through all the trouble of retrieving the classnames. Distraught mentioned he might add them to the sticky so I didn't want to do all the work for nothing. Here is an overwatch 0.2.2 list:
https://www.opendayz.net/threads/full...t-0-2-2.12961/
This script will spawn a bot with all possible weapons and magazines (fake and legit) available on the server it is executed on. Could be helpful in making class names lists. creds: rustler, hangender, bigben
Code:
_gorebyss1 = [];
_gorebyss2 = [];
_cfgweapons = configFile >> "cfgWeapons";
for "_i" from 0 to (count _cfgweapons)-1 do
{
_weapon = _cfgweapons select _i;
if (isClass _weapon) then
{
_gorebyss3 = configName(_weapon);
_gorebyss4 = getText(configFile >> "cfgWeapons" >> _gorebyss3 >> "displayName");
_gorebyss5 = getText(configFile >> "cfgWeapons" >> _gorebyss3 >> "model");
_gorebyss6 = getNumber(configFile >> "cfgWeapons" >> _gorebyss3 >> "type");
_gorebyss7 = getNumber(configFile >> "cfgWeapons" >> _gorebyss3 >> "scope");
_gorebyss8 = getText(configFile >> "cfgWeapons" >> _gorebyss3 >> "picture");
_gorebyss9 = getText(configFile >> "cfgWeapons" >> _gorebyss3 >> "Library" >> "libTextDesc");
_isFake = false;
_gorebyss10=0;
_mags=[];
_gorebyss11 = getArray(configfile >> "cfgWeapons" >> _gorebyss3 >> "muzzles");
if ((_gorebyss11 select 0)=="this") then
{
_gorebyss11=[_gorebyss3];
_mags = getArray(configfile >> "cfgWeapons" >> _gorebyss3 >> "magazines");
}
else
{
{
_muzzle=_x;
_mags = getArray(configfile >> "cfgWeapons" >> _gorebyss3 >> _muzzle >> "magazines");
} forEach _gorebyss11;
};
{
_ammo = getText(configfile >> "cfgMagazines" >> _x >> "ammo");
_hit = getNumber(configfile >> "cfgAmmo" >> _ammo >> "hit");
_gorebyss10 = _gorebyss10 + _hit;
} forEach _mags;
if ((_gorebyss3!="") && (_gorebyss4!="") && (_gorebyss5!="") && (_gorebyss8!="")) then
{
if !(_gorebyss4 in _gorebyss2) then
{
_gorebyss1 = _gorebyss1 + [[_gorebyss3,_gorebyss4,_gorebyss8,_gorebyss9]];
_gorebyss2 = _gorebyss2 + [_gorebyss4];
};
};
};
};
_gorebyss2=nil;
_gorebyss12 = [];
_gorebyss2 = [];
_cfgmagazines = configFile >> "cfgmagazines";
for "_i" from 0 to (count _cfgmagazines)-1 do
{
_magazine = _cfgmagazines select _i;
if (isClass _magazine) then
{
_gorebyss13 = configName(_magazine);
_gorebyss14 = getText(configFile >> "cfgmagazines" >> _gorebyss13 >> "displayName");
_gorebyss15 = getText(configFile >> "cfgmagazines" >> _gorebyss13 >> "model");
_gorebyss16 = getNumber(configFile >> "cfgmagazines" >> _gorebyss13 >> "type");
_gorebyss17 = getNumber(configFile >> "cfgmagazines" >> _gorebyss13 >> "scope");
_gorebyss17 = getText(configFile >> "cfgmagazines" >> _gorebyss13 >> "picture");
_gorebyss18 = getText(configFile >> "cfgmagazines" >> _gorebyss13 >> "Library" >> "libTextDesc");
if ((_gorebyss13!="") && (_gorebyss14!="") && (_gorebyss15!="")) then
{
if !(_gorebyss14 in _gorebyss2) then
{
_gorebyss12 = _gorebyss12 + [[_gorebyss13,_gorebyss14,_gorebyss17,_gorebyss18]];
_gorebyss2 = _gorebyss2 + [_gorebyss14];
};
};
};
};
_gorebyss2=nil;
gorebyss19 = [];
_gorebyss20 = getposATL player;
_dir = getdir player;
_gorebyss20 = [(_gorebyss20 select 0)+4*sin(_dir),(_gorebyss20 select 1)+4*cos(_dir), (_gorebyss20 select 2)];
_agent = createAgent ["Bandit1_DZ", _gorebyss20, [], 5, "NONE"];
_position = [_position,0,20,10,0,20,0] call BIS_fnc_findSafePos;
{
if !(_x in gorebyss19) then
{
for "_i" from 1 to 5 do {_agent addWeapon (_x select 0);};
};
} forEach _gorebyss1;
{
if !(_x in gorebyss19) then
{
for "_i" from 1 to 30 do {_agent addMagazine (_x select 0);};
};
} forEach _gorebyss12;
Ctrl + h "gorebyss" and replace all occurrences with something random that won't be caught by variable scan (since I am posting this in the public eye).