--- deliantra/server/socket/item.C 2007/01/06 14:42:31 1.30 +++ deliantra/server/socket/item.C 2007/01/08 18:18:36 1.31 @@ -522,6 +522,10 @@ */ } + client *ns = pl->contr->ns; + if (!ns) + return; + if (!QUERY_FLAG (op, FLAG_CLIENT_SENT)) { /* FLAG_CLIENT_SENT is debug only. We are using it to see where @@ -553,13 +557,13 @@ sl << uint32 (QUERY_FLAG (op, FLAG_NO_PICK) ? -1 : weight); if (pl == op) - op->contr->last_weight = weight; + ns->last_weight = weight; } if (flags & UPD_FACE) { - if (!(pl->contr->ns->faces_sent[op->face->number] & NS_FACESENT_FACE)) - esrv_send_face (pl->contr->ns, op->face->number, 0); + if (!(ns->faces_sent[op->face->number] & NS_FACESENT_FACE)) + esrv_send_face (ns, op->face->number, 0); sl << uint32 (op->face->number); }