From a1c052f5854a3002f3df4653bc8d92cd8aa66241 Mon Sep 17 00:00:00 2001 From: "Igor Barkov (iwork)" Date: Wed, 27 Jan 2021 17:19:05 +0200 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0=20=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D1=80=D0=B5=D0=B2=D1=88=D0=B5=D0=B9=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20addToDelo()=20=D0=BD?= =?UTF-8?q?=D0=B0=20GameLogs::addUserLog.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- akadem.php | 12 +++++++++--- comission.php | 47 +++++++++++++++++++++++------------------------ functions.php | 29 +++++++---------------------- main.php | 24 ++++++++++++++++-------- repair.php | 17 +++++++++-------- shop.php | 22 ++++++++++++++-------- 6 files changed, 78 insertions(+), 73 deletions(-) diff --git a/akadem.php b/akadem.php index a8d18bd..de879be 100644 --- a/akadem.php +++ b/akadem.php @@ -1,7 +1,13 @@ money, $user->id); db::c()->query('UPDATE `users` SET ?f = ?i WHERE `id` = ?i', 'prof' . $type, $profId, $user->id); $deloText = "{$user['login']} купил профессию «{$name}» в академии за {$needMoney} кр."; - addToDelo($deloText); + GameLogs::addUserLog($_SESSION['uid'], $deloText); $user['prof' . $type] = true; $status = 'Вы получили профессию!'; } else { @@ -66,7 +72,7 @@ if ($get == 'exit') { db::c()->query('UPDATE `users`,`online` SET `users`.`room` = 2702, `online`.`room` = 2702 WHERE `users`.`id` = ?i AND `online`.`id` = ?i', $user->id, $user->id); header('Location: city.php'); } -\Battles\Template::header('Академия'); +Template::header('Академия'); ?>
diff --git a/comission.php b/comission.php index d475239..8699c5e 100644 --- a/comission.php +++ b/comission.php @@ -1,7 +1,13 @@ ['min_range' => 1]]); $putItemId = (int)filter_input(INPUT_POST, 'putId', FILTER_VALIDATE_INT, ['options' => ['min_range' => 1]]); @@ -14,11 +20,11 @@ if ($putItemId) { $putItemCost = $dress['cost']; } $commission = ceil($putItemCost / 10); # 10% от суммы с округлением вверх. - if ($user['money'] > $commission) { + if ($user->money > $commission) { if (db::c()->getAffectedRows()) { - $deloText = "{$user['login']} выставил товар: «{$dress['name']}» id:({$putItemId}) [{$dress['duration']}/{$dress['maxdur']}] на продажу в комиссионку за {$putItemCost} кр. "; - addToDelo($deloText); + $deloText = "{$user->login} выставил товар: «{$dress['name']}» id:({$putItemId}) [{$dress['duration']}/{$dress['maxdur']}] на продажу в комиссионку за {$putItemCost} кр. "; + GameLogs::addUserLog($user->id, $deloText); db::c()->query('UPDATE `inventory` SET `setsale` = ?i WHERE `id` = ?i', $putItemCost, $putItemId); db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', $commission, $_SESSION['uid']); $status = "Вы сдали в магазин «{$dress['name']}» за {$putItemCost} кр. Вычтено за услуги магазина: {$commission} кр."; @@ -26,15 +32,15 @@ if ($putItemId) { $status = "Предмет не найден в инвентаре!"; } } else { - $status = "У вас не хватает " . $commission - $user['money'] . " кр. чтобы оплатить комиссию!"; + $status = "У вас не хватает " . $commission - $user->money . " кр. чтобы оплатить комиссию!"; } } if ($returningItemId) { $dress = db::c()->query('SELECT `name`,`duration`,`maxdur` FROM `inventory` WHERE `dressed` = 0 AND `setsale` > 0 AND `id` = ?i AND `owner` = ?i', $returningItemId, $_SESSION['uid'])->fetch_assoc(); if (db::c()->getAffectedRows()) { - $deloText = "{$user['login']} забрал свой товар: «{$dress['name']}» id:({$returningItemId}) [{$dress['duration']}/{$dress['maxdur']}] из комиссионки."; - addToDelo($deloText); + $deloText = "{$user->login} забрал свой товар: «{$dress['name']}» id:({$returningItemId}) [{$dress['duration']}/{$dress['maxdur']}] из комиссионки."; + GameLogs::addUserLog($user->id, $deloText); db::c()->query('UPDATE `inventory` SET `setsale` = 0 WHERE `id` = ?i', $returningItemId); $status = "Вы забрали из магазина ваш «{$dress['name']}»."; } else { @@ -47,16 +53,16 @@ if ($byingItemId) { $seller = db::c()->query('SELECT `login` FROM `users` WHERE `id` =?i', $dress['owner'])->fetch_assoc(); if ($dress['setsale']) { - if ($user['money'] >= $dress['setsale']) { - db::c()->query('UPDATE `inventory` SET `setsale` = 0, `owner` = ?i WHERE `id` = ?i', $_SESSION['uid'], $byingItemId); - db::c()->query('UPDATE `users` set `money` = `money` - ?i WHERE `id` = ?i', $dress['setsale'], $_SESSION['uid']); + if ($user->money >= $dress['setsale']) { + db::c()->query('UPDATE `inventory` SET `setsale` = 0, `owner` = ?i WHERE `id` = ?i', $user->id, $byingItemId); + db::c()->query('UPDATE `users` set `money` = `money` - ?i WHERE `id` = ?i', $dress['setsale'], $user->id); db::c()->query('UPDATE `users` set `money` = `money` + ?i WHERE `id` = ?i', $dress['setsale'], $dress['owner']); $status = "Вы купили «{$dress['name']}» за {$dress['setsale']} кр."; - $deloText = "{$user['login']} купил на рынке товар: «{$dress['name']}» id:({$byingItemId}) [{$dress['duration']}/{$dress['maxdur']}] у {$seller['login']} за {$dress['setsale']} кр."; - addToDelo($deloText); - $deloText = "{$seller['login']} продал на рынке товар: «{$dress['name']}» id:({$byingItemId}) [{$dress['duration']}/{$dress['maxdur']}] персонажу {$user['login']} за {$dress['setsale']} кр."; - addToDelo($deloText, $dress['owner']); - $user['money'] = $user['money'] - $dress['setsale']; + $deloText = "{$user->login} купил на рынке товар: «{$dress['name']}» id:({$byingItemId}) [{$dress['duration']}/{$dress['maxdur']}] у {$seller['login']} за {$dress['setsale']} кр."; + GameLogs::addUserLog($user->id, $deloText); + $deloText = "{$seller['login']} продал на рынке товар: «{$dress['name']}» id:({$byingItemId}) [{$dress['duration']}/{$dress['maxdur']}] персонажу {$user->login} за {$dress['setsale']} кр."; + GameLogs::addUserLog($dress['owner'], $deloText); + $user->money -= $dress['setsale']; telegraph($dress['owner'], "Предмет «{$dress['name']}» продан на рынке за {$dress['setsale']} кр."); } else { $status = "Недостаточно средств!"; @@ -122,10 +128,10 @@ FROM `inventory` LEFT JOIN `magic` ON `magic` = `magic`.`id` WHERE `dressed` = 0 $iteminfo = []; while ($row = $data->fetch_assoc()) { - $iteminfo[] = new \Battles\ShopItem($row); + $iteminfo[] = new ShopItem($row); } -\Battles\Template::header('Рынок'); +Template::header('Рынок'); ?>

Рынок

@@ -148,8 +154,6 @@ while ($row = $data->fetch_assoc()) { - - @@ -165,10 +169,7 @@ while ($row = $data->fetch_assoc()) { } ?>
- - -
Масса всех ваших вещей: @@ -183,6 +184,4 @@ while ($row = $data->fetch_assoc()) {
- - \ No newline at end of file diff --git a/functions.php b/functions.php index 9175be7..ce9f122 100644 --- a/functions.php +++ b/functions.php @@ -4,9 +4,13 @@ * Author: Igor Barkov * Project name: Battles-Game */ + +use Battles\Travel; +use Battles\User; + require_once 'config.php'; -$user = new \Battles\User($_SESSION['uid']); +$user = new User($_SESSION['uid']); if ($user->id && $user->block) { exit('user blocked!'); } @@ -58,8 +62,8 @@ $roomsCheck = [22, 23, 25, 27, 29, 30, 31, 37, 38, 39, 40, 41, 45, 53, 61, 401, // [И] Имя файла который инклюдит файл с проверкой не совпадает с именем файла локации в которой я нахожусь // [И] Номер комнаты который я пытаюсь открыть есть в списке проверяемых if (in_array($user->room, $roomsCheck) - && pathinfo(debug_backtrace()[0]['file'])['basename'] != \Battles\Travel::$roomFileName[$user->room] - && in_array(array_search(pathinfo(debug_backtrace()[0]['file'])['basename'], \Battles\Travel::$roomFileName), $roomsCheck)) { + && pathinfo(debug_backtrace()[0]['file'])['basename'] != Travel::$roomFileName[$user->room] + && in_array(array_search(pathinfo(debug_backtrace()[0]['file'])['basename'], Travel::$roomFileName), $roomsCheck)) { header('location: main.php'); exit; } @@ -1132,25 +1136,6 @@ function SolveExp($at_id, $def_id, $damage) return round((($baseexp[$def['level']]) * ($def_cost[0] / (($at_cost[0] + $def_cost[0]) / 2)) * ($damage / $def['maxhp']) * $expmf * $mfit * $mfbot * $mfbot2) / 3, 0); } -/** - * Функция записи в личное дело. - * - * @param string $message - текст записи. - * @param int $user_id - ID пользователя которому добавляется запись. - * @param int $type - тип записи: (1)обычная, (2)модераторская. - * - * @return bool - */ -function addToDelo($message, $user_id = 0, $type = 1) -{ - if (empty($user_id)) { - $user_id = $_SESSION['uid']; - } - db::c()->query('INSERT INTO `delo` (pers, text, type, date) VALUES (?i,"?s",?i,?i)', $user_id, $message, $type, time()); - return true; -} - - /** * Апаем стат или мастерство на единицу. * diff --git a/main.php b/main.php index bd37591..ad4d56e 100644 --- a/main.php +++ b/main.php @@ -1,4 +1,12 @@ id); -$getItemsBonuses = new \Battles\DressedItems($_SESSION['uid']); +$userInfo = new UserInfo($user->id); +$getItemsBonuses = new DressedItems($_SESSION['uid']); $data_query = 'SELECT * FROM inventory WHERE owner_id = ?i AND dressed_slot = 0 AND on_sale = 0'; $data = db::c()->query($data_query, $_SESSION['uid']); $iteminfo = []; while ($row = $data->fetch_assoc()) { - $iteminfo[] = new \Battles\InventoryItem($row); + $iteminfo[] = new InventoryItem($row); } //Обработчики нажатий на кнопки. @@ -64,7 +72,7 @@ if ($edit === null) { exit(); } if (in_array($user->room, [22, 23, 25, 27, 29, 30, 31, 34, 45, 53, 61, 402, 403, 600, 601, 602, 603, 620, 621, 650, 660, 661, 662, 666, 760, 1051, 1052, 1055])) { - header('location: ' . \Battles\Travel::$roomFileName[$user->room]); + header('location: ' . Travel::$roomFileName[$user->room]); exit(); } } @@ -247,7 +255,7 @@ if ($mfs && $ids) { } } if ($setShadow) { - \Battles\Template::header('Образ персонажа'); + Template::header('Образ персонажа'); ?>
@@ -298,7 +306,7 @@ if ($edit) { addOnePoint($upm, 'mastery'); } if ($drop) { - $items = new \Battles\DressedItems($_SESSION['uid']); + $items = new DressedItems($_SESSION['uid']); $items->undressItem($drop); } //Пока что одеваем предмет отсюда. @@ -311,7 +319,7 @@ if ($edit) { $q = $q->fetch_assoc(); if (empty($q['dressed'])) { destructitem($q['id']); - addToDelo($user->login . " выбросил предмет " . $q['name'] . " id:(cap" . $q['id'] . ")"); + GameLogs::addUserLog($user->id, $user->login . " выбросил предмет " . $q['name'] . " id:(cap" . $q['id'] . ")"); err('Предмет ' . $q['name'] . ' выброшен.'); } else { err('Ошибка: нельзя выбросить одетый предмет!'); @@ -327,7 +335,7 @@ if ($edit) { undressall($_SESSION['uid']); } } -\Battles\Template::header('Игра'); +Template::header('Игра'); ?> @@ -151,9 +156,7 @@ if ($goto == 'modding') { onClick="if(!confirm('Вы действительно хотите модифицировать эту вещь?')){ return false;}">Модифицировать за кр.
- - - + Подогнать за .
- - - + query('SELECT * FROM `ahero_shop` WHERE `count` > 0 AND `razdel` = ?i ORDER by `point` ASC', $_GET['otdel']); @@ -90,7 +96,7 @@ FROM `shop` LEFT JOIN `magic` ON `magic` = `magic`.`id` WHERE `count` > 0 AND `c $iteminfo = []; while ($row = $shopItems->fetch_assoc()) { - $iteminfo[] = new \Battles\ShopItem($row); + $iteminfo[] = new ShopItem($row); } } else { $inventoryItems = db::c()->query('SELECT `inventory`.*, @@ -110,7 +116,7 @@ ORDER BY `update` DESC', null, $_SESSION['uid']); $iteminfo = []; while ($row = $inventoryItems->fetch_assoc()) { - $iteminfo[] = new \Battles\ShopItem($row); + $iteminfo[] = new ShopItem($row); } } @@ -134,8 +140,8 @@ if ($sellItemId) { $status = "Вы продали «{$dress['name']}» $kols за " . $allcost . " кр."; } - $deloText = "{$user['login']} продал товар «{$dress['name']}» {$kols}id:({$dress['id']}) в магазине за {$allcost} кр."; - addToDelo($deloText); + $deloText = "{$user->login} продал товар «{$dress['name']}» {$kols}id:({$dress['id']}) в магазине за {$allcost} кр."; + GameLogs::addUserLog($user->id, $deloText); // Для обновления данных о деньгах на странице $user['money'] += $allcost; } @@ -223,8 +229,8 @@ if (!empty($_GET['buy'])) { } $status = "Вы купили «{$dress['name']}» за {$dress['cost']} кр."; db::c()->query('UPDATE `users` set `money` = `money` - ?i WHERE `id` = ?i', $dress['cost'], $_SESSION['uid']); - $deloText = "{$user['login']} купил товар «{$dress['name']}» id:({$inventoryItemId}) в магазине за {$dress['cost']} кр."; - addToDelo($deloText); + $deloText = "{$user->login} купил товар «{$dress['name']}» id:({$inventoryItemId}) в магазине за {$dress['cost']} кр."; + GameLogs::addUserLog($user->id, $deloText); // Для обновления данных о деньгах на странице $user['money'] -= $dress['cost']; @@ -232,7 +238,7 @@ if (!empty($_GET['buy'])) { $status = "Недостаточно денег или нет вещей в наличии."; } } -\Battles\Template::header('Магазин'); +Template::header('Магазин'); ?>

Государственный магазин