





and Jimmy, aren't you using my code? 
, but it doesnt give lagg. I tested it many times, and in your terminal museum mod, I dont have any lagg problem, at any moment,
.self thread SpawnWeapon(undefined,"tmp_akimbo_silencer_mp","TMP",(14148,-11028,-700)+(0,0,0),1);
SpawnWeapon(WFunc,Weapon,WeaponName,Location,TakeOnce)
{
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model=="")weapon_model=Weapon;
Wep=spawn("script_model",Location+(0,0,3));
Wep setModel(weapon_model);
for(;;){
foreach(player in level.players){
Radius=distance(Location,player.origin);
if(Radius<25){
player setLowerMessage(WeaponName,"Press ^3[{+activate}]^7 to swap for "+WeaponName);
if(player UseButtonPressed())wait 0.1;
if(player UseButtonPressed()){
if(!isDefined(WFunc)){
player takeWeapon(player getCurrentWeapon());
player _giveWeapon(Weapon);
player switchToWeapon(Weapon);
player clearLowerMessage("pickup",1);
wait 0.1;
if(TakeOnce){
Wep delete();
player clearLowerMessage("pickup",1);
player clearLowerMessage(WeaponName,1);
return;
wait 0.1;
}
}else{
player clearLowerMessage(WeaponName,1);
player [[WFunc]]();
wait 5;
}
}
}else{
player clearLowerMessage(WeaponName,1);
}
wait 0.1;
}
wait 0.5;
}
}

SpawnWeapon(WFunc, Weapon, WeaponName, Location, TakeOnce)
{
self endon("disconnect");
weapon_model = getWeaponModel(Weapon);
if(weapon_model == "") weapon_model = Weapon;
Wep=spawn("script_model", Location);
Wep setModel(weapon_model);
for(;;)
{
foreach(player in level.players)
{
Radius=distance(Location, player.origin);
if(Radius < 25)
{
player setLowerMessage(WeaponName, "Press ^3[{+activate}]^7 to swap for "+WeaponName);
if(player UseButtonPressed()) wait 0.1;
if(player UseButtonPressed())
{
if(!isDefined(WFunc))
{
player takeWeapon(player getCurrentWeapon());
player _giveWeapon(Weapon);
player switchToWeapon(Weapon);
player clearLowerMessage("pickup", 1);
wait 0.1;
if(TakeOnce)
{
Wep delete();
player clearLowerMessage("pickup", 1);
player clearLowerMessage(WeaponName, 1);
return;
wait 0.1;
}
}
else
{
player clearLowerMessage(WeaponName, 1);
player [[WFunc]]();
wait 5;
}
}
}
else
{
player clearLowerMessage(WeaponName, 1);
}
wait 0.1;
}
wait 0.5;
}
}