//-----------------------------------------------------------------------------------------------------------
// Updated with gametype ban for itens, cores..
// code changes by RockeyRex, Legions Developer!
//-----------------------------------------------------------------------------------------------------------
function serverCmdSetupLoadout( %client, %armor, %weapons, %nade, %core )
{
%armorObj = %armor;
if (isObject(%armorObj) && !itemBanCheck(%armorObj)) // new Update, by RockeyRex, Legions Developer
//if (isObject(%armorObj) && !MissionItemBans.ban[%armorObj])
{
%maxWeaponInventory = %armorObj.maxWeaponInventory;
}
else
{
messageClient(%client, 'InvHudListInvalid', "InvHudListArmor", %armorObj);
return;
}
%weaponcount = 0;
for (%i = 0; %i < %maxWeaponInventory; %i++)
{
%wep = getField(%weapons, %i);
if (%armorObj.maxInventory[%wep] && !itemBanCheck(%wep)) // new Update, by RockeyRex, Legions Developer
//if (%armorObj.maxInventory[%wep] && !MissionItemBans.ban[%wep])
{
%weapon[%weaponcount] = %wep;
%weaponcount++;
}
else
messageClient(%client, 'InvHudListInvalid', "InvHudListWeapon", %i);
}
if (%weapon[0] $= "")
return;
%loadoutname = "CustomLoadout" @ %client;
if (!isObject(%loadoutname))
{
new ScriptObject(%loadoutname)
{
class = CustomLoadout;
name = "CustomLoadout";
};
}
%loadoutname.dataBlock = %armorObj;
%loadoutname.weapon[0] = %weapon[0];
%loadoutname.weapon[1] = %weapon[1];
%loadoutname.weapon[2] = %weapon[2];
%loadoutname.weaponCount = %weaponcount;
if ((%nade.class !$= "Grenade") || %armorObj.maxInventory[%nade] == 0 || itemBanCheck(%nade)) // new Update, by RockeyRex, Legions Developer
//if ((%nade.class !$= "Grenade") || (%armorObj.maxInventory[%nade] == 0) || MissionItemBans.ban[%nade])
{
messageClient(%client, 'InvHudListInvalid', "InvHudListOffhand", %nade);
%nade = "";
}
%loadoutname.grenade = %nade;
if ((%core.class !$= "PlayerCore") || %armorObj.maxInventory[%core] == 0 || itemBanCheck(%core)) // new Update, by RockeyRex, Legions Developer
//if ((%core.class !$= "PlayerCore") || (%armorObj.maxInventory[%core] == 0) || MissionItemBans.ban[%core])
{
messageClient(%client, 'InvHudListInvalid', "InvHudListCore", %core);
%core = "";
}
%loadoutname.core = %core;
%client.selectedLoadout = %loadoutname;
}
//$Host::ClassicMod =0;
//------------------------------------------------------------------------------------------------
//by RockeyRex, Legions Developer
//------------------------------------------------------------------------------------------------
function itemBanCheck(%item) // new ban function, new Update
{
if($Host::ClassicMod)
itemBan2(%item);
else
itemBan1(%item);
}
function itemBan1(%item) // new ban function, new Update
{
if (MissionItemBans.ban[%item] || Game.itemBan[%item])
return true;
}
function itemBan2(%item) // new ban function, new Update
{
if (MissionItemBans.ban[%item] || Game.itemBan[%item] || %item.gametypeBan[Game.shortname])
return true;
}