giveRanomWeaponWithAttachment()
{
id = random(level.tbl_weaponids);
attachmentlist = id["attachment"]; // Returns all attachments in the game
attachments = strtok( attachmentlist, " " );
attachments[attachments.size] = "";
attachment = random(attachments);
self giveWeapon((id["reference"] + "_mp+") + attachment);
}
getCompatibleAttachments(weapon)
{
// ...
return attachments;
}

giveRandomWeapon()
{
while(true)
{
id = random(level.tbl_weaponIDs);
if ((id["group"] != "weapon_launcher") && (id["group"] != "weapon_sniper") && (id["group"] != "weapon_lmg") && (id["group"] != "weapon_assault") && (id["group"] != "weapon_smg") && (id["group"] != "weapon_pistol") && (id["group"] != "weapon_cqb") && (id["group"] != "weapon_special"))
{
// Prevent connection interrupted freeze
wait 0.1;
continue;
}
chosenWeapon = id + "_mp";
self giveWeapon(chosenWeapon);
self switchToWeapon(chosenWeapon);
return;
}
}
giveRandomAttachment()
{
weapon = self getCurrentWeapon();
self takeWeapon(weapon);
foreach(weaponId in level.tbl_weaponIDs)
{
baseWeaponName = weaponId["reference"];
if(baseWeaponName + "_mp" == weapon)
{
attachmentList = weaponId["attachment"];
weaponWithAttachment = maps\mp\gametypes\shrp::addRandomAttachmentToWeaponName(baseWeaponName, attachmentList);
self giveWeapon(weaponWithAttachment);
self switchToWeapon(weaponWithAttachment);
}
wait 0.01;
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.