updating a level doesn't keep the lag down, it will increase it. The process of updating a level involves sending all level and NPC information to every player in the updated level. I also believe an NPC function to update levels is a bad idea. What if someone did this
NPC Code:
for ($i=0;$i==$i;$i++) {npc_levelupdate($currlevel);}
this isn't real GScript but you understand the idea. An infinant levle update. LAGMONSTER