I dont know if this code would be of any use just something I seen but lost the page looking for a better example.
Also it looks like a volume trigger may work best, then you can just call isTouching
init(){ // handle disabled weapon check variable level thread onPlayerConnect(); level thread setupTrigger();}onPlayerConnect(){ while(1) { level waittill( "connected", player ); player thread onDeath(); player.weaponsDisabled = false; }}onDeath(){ self endon( "disconnect" ); while(1) { self waittill( "death" ); self.weaponsDisabled = false; }}setupTrigger(){ weapon_disable = getEnt( "weap_disable", "targetname" ); while(1) { weapon_disable waittill( "trigger", player ); if( player.pers["team"] == "allies" && !player.weaponsDisabled ) { player.weaponsDisabled = true; player thread disablePlayerWeapons( weapon_disable ); } }}disablePlayerWeapons( trigger ){ self endon( "disconnect" ); self endon( "death" ); self endon( "joined_spectator" ); self endon( "left_weapon_trigger" ); self iPrintLnBold( "Weapons disabled" ); self disableWeapons(); while(1) { if( !self isTouching( trigger ) ) { self iPrintLnBold( "Weapons enabled" ); self enableWeapons(); self.weaponsDisabled = false; self notify( "left_weapon_trigger" ); } wait 0.05; }}