ID:1038862
 
Code:
mob
Move()
if(src.lock) return

if(..())
if(src.monstermove)
var/monsterspawn/S = new src.monstermove
if(S)
if(prob(S.spawnchance))
var/battlefield/A
for(var/battlefield/b in world)
if(b.fieldtype==S.fieldtype)
if(!b.inuse)
A = b
break
if(A)
var/list/MonList = S.monsterspawnlist
var/thattype = pick(MonList)
var/mob/monsters/M = new thattype
src.lastx = src.x
src.lasty = src.y
src.lastz = src.z
src.loc = A.loc
src.lock = 1
M.lock = 1
M.loc = A.loc
src.y -= 2
M.y += 2
src.dir = NORTH
M.dir = SOUTH
src.inbattle = 1
M.inbattle = 1

new /battle_sorters (A.loc, src, M)


Problem description:
Everyone spawns onto the same map when they encounter a battle.

PS(Turn Based System)
You never set A.inuse.

Also:
To preserve the return value of Move() for other overrides, you should be doing this instead:
. = ..()
if(.)
// ...
When I set inuse others cant battle until who ever battled first is done. I need to find a way were eyeryone can battle at same time but not see each other.
In response to ImmeasurableHate
Off the top of my head, your best bet would be to use HUD objects as everything that isn't a background. Add them to the clients involved while the client eyes are set to the background.