Fixed in CVS. There have been some of those in the past also - slowly they get fixed as discovered, as the fix is easy. Just no one has bothered to look at all the code which could generate such cases. Michael Toennies wrote: > I find some bad bug in player movement, > which can course this client affects too. > > Because we track in the client now more accurate > what happens on the map, this bug will come in effect - > missing > > esrv_map_scroll(&op->contr->socket, freearr_x[dir],freearr_y[dir]); > > functions when the player moves. > > This is the right way to move a player (from move_ob() ). > > remove_ob(op); > op->x+=freearr_x[dir]; > op->y+=freearr_y[dir]; > insert_ob_in_map(op,op->map,originator,0); > /* Currently, assume that players will only be single space objects */ > if (op->type==PLAYER) { > esrv_map_scroll(&op->contr->socket, freearr_x[dir],freearr_y[dir]); > op->contr->socket.update_look=1; > op->contr->socket.look_position=0; > } > > This is, how for example the shop_mat function teleports a player back > in the shop when he can't pay all unpaid items: > > else { > /* if we get here, a player tried to leave a shop but was not able > * to afford the items he has. We try to move the player so that > * they are not on the mat anymore > */ > > int i = find_free_spot (op->arch, op->map, op->x, op->y, 1, 9); > if(i == -1) { > LOG (llevError, "Internal shop-mat problem.\n"); > } else { > remove_ob (op); > op->x += freearr_x[i]; > op->y += freearr_y[i]; > rv = insert_ob_in_map (op, op->map, shop_mat,0) == NULL; > } > } > > The map scroll cmd is missed. This will bring every feature out of track, > which > depends on exactly map data & position data. > > You will notice this effect sometimes, when you get ported/moved, and a > "shadow" > of your player char animation stays on the position where you was before. > > This missing scroll cmds are numerous in the code - better to check every > insert_ob_in_map() and add it when needed. > > > _______________________________________________ > crossfire-devel mailing list > crossfire-devel at lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel