From 6c37d1ce1b6de4b09550bef00a00ccf576b46fe5 Mon Sep 17 00:00:00 2001 From: lopar Date: Sat, 29 Aug 2020 16:44:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BB=D1=8C=D1=86=D0=B0=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BA=D0=B0=D0=BB=D0=B8=D1=81=D1=8C=20=D0=B2=20?= =?UTF-8?q?=D0=BE=D0=B4=D0=BD=D0=BE=D0=BC=20=D1=81=D0=BB=D0=BE=D1=82=D0=B5?= =?UTF-8?q?=20=D0=BF=D0=BE=D1=82=D0=BE=D0=BC=D1=83=20=D1=87=D1=82=D0=BE=20?= =?UTF-8?q?=D1=83=20=D0=BD=D0=B8=D1=85=20=D0=BE=D0=B4=D0=B8=D0=BD=20=D1=82?= =?UTF-8?q?=D0=B8=D0=BF.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/main.php b/main.php index d3e5bc6..bf879a5 100644 --- a/main.php +++ b/main.php @@ -315,8 +315,11 @@ function dressitem($id) $itemInSlotRow = db::c()->query('SELECT dressed_slot FROM inventory WHERE owner_id = ?i AND dressed_slot > 0 AND item_type = ?i', $_SESSION['uid'], $selectedItem->item_type); $itemInSlotQuantity = $itemInSlotRow->getNumRows(); if ($itemInSlotQuantity) { - $itemInSlot = $itemInSlotRow->fetch_assoc_array(); - print_r($itemInSlot['dressed_slot']).'
'; + //$itemInSlot = $itemInSlotRow->fetch_assoc(); + while ($row = $itemInSlotRow->fetch_assoc()) { + $itemInSlot[] = $row; + } + print_r($itemInSlot).'
'; } if (in_array($selectedItem->item_type,[HELMET,ARMOR,LEGS,BOOTS,GLOVES,WEAPON,SHIELD,BELT,AMULET])) { //работаем с нормальными слотами @@ -325,7 +328,7 @@ function dressitem($id) db::c()->query('UPDATE inventory SET dressed_slot = item_type WHERE item_id = ?i', $id); } elseif ($itemInSlotQuantity === 1) { // снимаем предмет и одеваем вместо - db::c()->query('UPDATE inventory SET dressed_slot = 0 WHERE dressed_slot = ?i', $itemInSlot['dressed_slot']); + db::c()->query('UPDATE inventory SET dressed_slot = 0 WHERE dressed_slot = ?i', $itemInSlot); db::c()->query('UPDATE inventory SET dressed_slot = item_type WHERE item_id = ?i', $id); } else { // невозможная ситуация - два предмета в одиночном слоте. критическая ошибка, запись в лог, раздевание. @@ -340,7 +343,7 @@ function dressitem($id) } elseif ($itemInSlotQuantity > 0 && $itemInSlotQuantity < 3) { // Сравниваем массив колец и массив слотов для колец. //FIXME Два кольца стакаются в среднем слоте! - $emptyRingSlots = array_diff([9,10,11], $itemInSlot['dressed_slot']); + $emptyRingSlots = array_diff([9,10,11], $itemInSlot); // Сортируем массив свободных слотов по возрастанию. sort($emptyRingSlots); print_r($emptyRingSlots);