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/classes/Battles/User.php b/classes/Battles/User.php
index be7afbe..869ae29 100644
--- a/classes/Battles/User.php
+++ b/classes/Battles/User.php
@@ -1,6 +1,9 @@
query('SELECT * FROM users WHERE id = "?s" OR login = "?s"', $user, $user)->fetch_assoc();
+ $user_query = db::c()->query('SELECT * FROM users WHERE id = "?s" OR login = "?s"', $user, $user)->fetch_assoc();
foreach ($this as $key => $value) {
if (isset($user_query[$key])) {
$this->$key = $user_query[$key];
@@ -65,7 +68,7 @@ class User
/**
* Отдаёт информацию о базовом(!) стате.
- * @param $stat_name - имя стата. Может принимать значения 'strength', 'dexterity', 'intuition', 'endurance', 'intelligence', 'wisdom'.
+ * @param $stat_name - имя стата. Может принимать значения 'strength', 'dexterity', 'intuition', 'endurance', 'intelligence', 'wisdom'.
* @param int $isMainWindow - переключатель "главного окна". Если включить, дополнительно будет показывать ссылку на повышение стата на 1, при условии наличия свободных очков статов.
* @return string
* @throws GameException
@@ -80,7 +83,7 @@ class User
return $this->$stat_name;
}
} else {
- throw new \Exceptions\GameException(self::ERROR_STAT_UNKNOWN);
+ throw new GameException(self::ERROR_STAT_UNKNOWN);
}
}
@@ -95,12 +98,12 @@ class User
if (in_array($stat_name, $allowed)) {
if ($this->free_stat_points > 0 && $this->$stat_name <= self::STAT_MAXIMUM_AMOUNT) {
$query = 'UPDATE users SET ?f = ?f + 1, free_stat_points = free_stat_points - 1 WHERE id = ?i';
- \db::c()->query($query, $stat_name, $stat_name, $this->id);
+ db::c()->query($query, $stat_name, $stat_name, $this->id);
} else {
- throw new \Exceptions\GameException(self::ERROR_STAT_IS_MAXIMUM);
+ throw new GameException(self::ERROR_STAT_IS_MAXIMUM);
}
} else {
- throw new \Exceptions\GameException(self::ERROR_STAT_UNKNOWN);
+ throw new GameException(self::ERROR_STAT_UNKNOWN);
}
}
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()) {
}
?>
- |
-
-
Масса всех ваших вещей: = getItemsMassaInfo() ?>
@@ -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;}">Модифицировать
за = $row['cost'] ?> кр.
-
-
|
-
+
Подогнать
за = $babki ?> = $cost_t ?>.
- |
- |
-
+
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('Магазин');
?>
Государственный магазин
|