--- deliantra/server/socket/item.C 2006/12/13 21:27:09 1.11 +++ deliantra/server/socket/item.C 2006/12/14 00:01:37 1.12 @@ -661,24 +661,23 @@ /** Client wants to apply some object. Lets do so. */ void -LockItem (uint8 * data, int len, player *pl) +LockItem (uint8 *data, int len, player *pl) { - int flag, tag; - object *op; - - flag = data[0]; - tag = GetInt_String (data + 1); - op = esrv_get_ob_from_count (pl->ob, tag); + int flag = data[0]; + tag_t tag = net_uint32 (data + 1); + object *op = esrv_get_ob_from_count (pl->ob, tag); if (!op) { new_draw_info (NDI_UNIQUE, 0, pl->ob, "Could not find object to lock/unlock"); return; } + if (!flag) CLEAR_FLAG (op, FLAG_INV_LOCKED); else SET_FLAG (op, FLAG_INV_LOCKED); + esrv_update_item (UPD_FLAGS, pl->ob, op); } @@ -686,11 +685,8 @@ void MarkItem (uint8 * data, int len, player *pl) { - int tag; - object *op; - - tag = GetInt_String (data); - op = esrv_get_ob_from_count (pl->ob, tag); + tag_t tag = net_uint32 (data); + object *op = esrv_get_ob_from_count (pl->ob, tag); if (!op) { @@ -702,7 +698,6 @@ new_draw_info_format (NDI_UNIQUE, 0, pl->ob, "Marked item %s", query_name (op)); } - /** * look_at prints items on the specified square. *