public synchronized void linstep(int id, int frame, int l) {
        boolean isplayer = isplayerid(id);
        Gob g = getgob(id, frame);
        if (g == null)
            return;
        Moving m = g.getattr(Moving.class);
        if ((m == null) || !(m instanceof LinMove))
            return;
        LinMove lm = (LinMove) m;
        if ((l < 0) || (l >= lm.c)) {
            g.delattr(Moving.class);
            if (isplayer) {
                ismoving = false;
                checkqueue();
            }
        } else {
            lm.setl(l);
            if (isplayer) {
                ismoving = true;
            }
        }
    }