> I bet that it hangs because the value overflows (becomes negative), thus > never actually reaching 'to'.
Yeah, slight problem here... I'm not sure there's an easy way to fix it without changing power to a "long long", which could impact performance.. You can fake it, of course. long vnum; vnum = number_range(0, 21474) * 100000; vnum += number_range(0, 83647); room = get_room_index(vnum); er.. it's really not a very good algorithm if you've only filled, say, 0.01% of 2 billion rooms, though. It could take a while to find a valid room in all that. --Palrich.

