diff -w -r -c xpilot-4.1.0_very_orig/src/server/event.c xpilot-4.1.0_orig/src/server/event.c *** xpilot-4.1.0_very_orig/src/server/event.c Fri Oct 2 20:39:26 1998 --- xpilot-4.1.0_orig/src/server/event.c Sun Mar 28 07:25:28 1999 *************** *** 715,721 **** *l = pl->lock.pl_id; } } else { ! if (Player_lock_allowed(ind, *l)) { pl->lock.pl_id = *l; SET_BIT(pl->lock.tagged, LOCK_PLAYER); } --- 715,729 ---- *l = pl->lock.pl_id; } } else { ! if (*l < NOT_CONNECTED || *l > Players[NumPlayers-1]->id){ ! sprintf(msg, "lockbank.id invalid, %s", pl->name); ! printf("%s\n", msg); ! Set_message(msg); ! } ! if (*l != NOT_CONNECTED ! && *l > NOT_CONNECTED /*not needed?*/ ! && *l <= Players[NumPlayers-1]->id /*not needed?*/ ! && Player_lock_allowed(ind, GetInd[*l]) ) { pl->lock.pl_id = *l; SET_BIT(pl->lock.tagged, LOCK_PLAYER); } diff -w -r -c xpilot-4.1.0_very_orig/src/server/update.c xpilot-4.1.0_orig/src/server/update.c *** xpilot-4.1.0_very_orig/src/server/update.c Sat Aug 29 21:49:57 1998 --- xpilot-4.1.0_orig/src/server/update.c Sun Mar 28 07:19:20 1999 *************** *** 1094,1102 **** --- 1094,1109 ---- #endif if (BIT(pl->lock.tagged, LOCK_PLAYER)) { + if ( pl->lock.pl_id < 0 + || pl->lock.pl_id > Players[NumPlayers-1]->id ){ + sprintf(msg, "lock.tagged vs lock.pl_id, %s", pl->name); + printf("%s\n", msg); + Set_message(msg); + } else { pl->lock.distance = Wrap_length(pl->pos.x - Players[GetInd[pl->lock.pl_id]]->pos.x, pl->pos.y - Players[GetInd[pl->lock.pl_id]]->pos.y); + } } Compute_sensor_range(pl);