--- deliantra/server/socket/request.C 2006/12/23 09:41:55 1.52 +++ deliantra/server/socket/request.C 2007/01/04 00:08:08 1.57 @@ -178,7 +178,7 @@ flags |= 8; snprintf (buf, MAX_BUF, "mapinfo - spatial %d %d %d %d %d %s", - flags, socket.mapx / 2 - ob->x, socket.mapy / 2 - ob->y, ob->map->width, ob->map->height, ob->map->path); + flags, socket.mapx / 2 - ob->x, socket.mapy / 2 - ob->y, ob->map->width, ob->map->height, &ob->map->path); } else snprintf (buf, MAX_BUF, "mapinfo current"); @@ -336,7 +336,7 @@ if (map->tile_path[3]) flags |= 8; - snprintf (bigbuf, MAX_BUF, "mapinfo %s spatial %d %d %d %d %d %s", token, flags, mapx, mapy, map->width, map->height, map->path); + snprintf (bigbuf, MAX_BUF, "mapinfo %s spatial %d %d %d %d %d %s", token, flags, mapx, mapy, map->width, map->height, &map->path); } else snprintf (bigbuf, MAX_BUF, "mapinfo %s nomap", token); @@ -916,7 +916,6 @@ } /** client wants the map resent */ - void MapRedrawCmd (char *buf, int len, player *pl) { @@ -1013,6 +1012,9 @@ char buf[MAX_BUF]; uint16 flags; + if (!pl->ns) + return; + packet sl ("stats"); if (pl->ob) @@ -1505,7 +1507,7 @@ /* If there is no object for this space, or if the face for the object * is the blank face, set the smoothlevel to zero. */ - if (!ob || ob->face == blank_face || MAP_NOSMOOTH (mp)) + if (!ob || ob->face == blank_face) smoothlevel = 0; else { @@ -1717,6 +1719,8 @@ } else if (d > 3) { + m->touch (); + int need_send = 0, count; /* This block deals with spaces that are not visible for whatever @@ -1759,6 +1763,8 @@ } else { + m->touch (); + /* In this block, the space is visible or there are head objects * we need to send. */ @@ -2083,6 +2089,9 @@ void esrv_update_spells (player *pl) { + if (!pl->ns) + return; + if (!pl->ns->monitor_spells) return;