А мне кажется, реал. Игрок заходит в зону - получаем его оружие с помощью GetPlayerWeaponsData с занесением их в переменные и делаем ResetPlayerWeapons на игроке, при выходе из зоны выдаем его имеющееся оружие и очищаем переменные. Это в начало скрипта.
Code
new NOWEAPONZONE_Weapon[MAX_PLAYERS][13];
new NOWEAPONZONE_Ammo[MAX_PLAYERS][13];
Это - когда игрок выходит из зоны
Code
for(new w;w<13;w++){
GivePlayerWeapon(playerid,NOWEAPONZONE_Weapon[playerid][w],NOWEAPONZONE_Ammo[playerid][w]);
}
А это - когда входит
Code
for(new w;w<13;w++){
GetPlayerWeaponData(playerid,w,NOWEAPONZONE_Weapon[playerid][w],NOWEAPONZONE_Ammo[playerid][w]);
}
ResetPlayerWeapons(playerid);
Не проверял, но работать должно.