diff --git a/functions.php b/functions.php index 257e75c..ffcf59a 100644 --- a/functions.php +++ b/functions.php @@ -1204,7 +1204,7 @@ function showinf_pers($id, $pas = 0, $battle = 0, $me = 0, $main = false) //FIXM } elseif ($user['klan']) { $clann = db::c()->query('SELECT `name`, `glava` FROM `clans` WHERE `id` = ?i', $user['klan'])->fetch_assoc(); if ($clann['glava'] == $user['id']) $r .= "👑 "; - $r .= $clann['name'] ." - ". $user['status'] . "
"; + $r .= $clann['name'] . " - " . $user['status'] . "
"; } if ($user['admin'] == 1) $r .= "Администратор
"; @@ -1848,7 +1848,7 @@ function showitem($row, $type, $returned = false, $infOnly = false) if (!empty($magic['name']) AND $row['type'] != 50) $returnHTML .= "
Наложены заклятия:" . $magic['name']; if (!empty($row['text'])) - $returnHTML .= "
" .$row['text']. ""; + $returnHTML .= "
" . $row['text'] . ""; if (!empty($incmagic['max'])) $returnHTML .= "
Встроено заклятие " . $incmagic['cur'] . " шт."; @@ -2867,15 +2867,40 @@ function addToDelo($message, $user_id = 0, $type = 1) * Апаем стат или мастерство на единицу. * @param $name - техническое имя параметра, как в базе. * @param null $param - выбор что повышать. - * @return bool + * @return void * @throws \Krugozor\Database\Mysql\Exception */ function addOnePoint($name, $param = null) { - $allowed_stats = ['sila','lovk','inta','vinos','intel','mudra']; - $allowed_mastery = ['noj','mec','dubina','topor','mfire','mwater','mair','mearth','mlight','mgray','mdark']; - if ($param == 'stat' AND in_array($name, $allowed_stats) OR $param == 'mastery' AND in_array($name, $allowed_mastery)) { + $allowed_stats = ['sila', 'lovk', 'inta', 'vinos', 'intel', 'mudra']; + $allowed_mastery = ['noj', 'mec', 'dubina', 'topor', 'mfire', 'mwater', 'mair', 'mearth', 'mlight', 'mgray', 'mdark']; + $naming = [ + 'sila' => 'Сила', + 'lovk' => 'Ловкость', + 'inta' => 'Интуиция', + 'vinos' => 'Выносливость', + 'intel' => 'Интеллект', + 'mudra' => 'Мудрость', + 'noj' => 'Владение кинжалами', + 'mec' => 'Владение мечами', + 'dubina' => 'Владение дубинами', + 'topor' => 'Владение топорами', + 'mfire' => 'Магия огня', + 'mwater' => 'Магия воды', + 'mair' => 'Магия воздуха', + 'mearth' => 'Магия земли', + 'mlight' => 'Магия света', + 'mgray' => 'Магия серости', + 'mdark' => 'Магия тьмы' + ]; + if ($param == 'stat' AND in_array($name, $allowed_stats)) { db::c()->query('UPDATE `users` SET ?f = ?f + 1, `stats` = `stats` - 1 WHERE `id` = ?i', $name, $name, $_SESSION['uid']); - return true; - } else return false; + echo "Параметр {$naming[$name]} увеличен на 1 ед."; + } elseif ($param == 'mastery' AND in_array($name, $allowed_mastery)) { + $mastery_level = db::c()->query('SELECT ?f FROM `users` WHERE `id` = ?i', $name, $_SESSION['uid'])->fetch_assoc(); + if ($mastery_level[$name] < 10) { + db::c()->query('UPDATE `users` SET ?f = ?f + 1, `stats` = `stats` - 1 WHERE `id` = ?i', $name, $name, $_SESSION['uid']); + echo "Параметр {$naming[$name]} увеличен на 1 ед."; + } else echo "Ошибка: параметр достиг максимального значения!"; + } else return null; } \ No newline at end of file diff --git a/main.php b/main.php index f87706d..cf17b5f 100644 --- a/main.php +++ b/main.php @@ -1537,66 +1537,16 @@ if (input::get('setch')) { header("Cache-Control: no-cache"); if (input::get('edit')) { - function ups($type, $stat, $statName) - { - global $user; - if ($user[$type] > 0 && $user['sid'] == $_GET['s4i']) { - if ($user[$type] >= (int)$_POST['stat'] && (int)$_POST['stat'] > 0) { - $user[$stat] += (int)$_POST['stat']; - $user[$type] -= (int)$_POST['stat']; - db::c()->query('UPDATE `users` SET ?f = ?i, ?f = ?i WHERE `id` = ?i', $stat, $user[$stat], $type, $user[$type], $user['id']); - err('Параметр ' . $statName . ' увеличен на ' . (int)$_POST['stat'] . ' ед.'); - } else err('Ошибка в количестве.'); - } - } - if (input::get('ups')) { switch (input::get('ups')) { case 11 : - #ups('stats', 'sila', 'Сила'); -// if ($user['stats'] > 0 && $user['sid'] == $_GET['s4i']) { -// if ($user['stats'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) { -// $user['sila'] += (int)$_POST['stat']; -// $user['stats'] -= (int)$_POST['stat']; -// mysql_query("UPDATE `users` SET `sila` = '" . $user['sila'] . "', `stats` = '" . $user['stats'] . "' WHERE `id` = '{$user['id']}' LIMIT 1"); -// echo "Параметр Сила увеличен на " . (int)$_POST['stat'] . " ед."; -// } elseif ((int)$_POST['stat'] <= 0) { -// echo "Не верное количество"; -// } else { -// echo "Недостаточно статов"; -// } -// } - if (addOnePoint('sila','stat')) err('Параметр Сила увеличен'); + addOnePoint('sila','stat'); break; case 12 : - ups('stats', 'lovk', 'Ловкость'); -// if ($user['stats'] > 0 && $user['sid'] == $_GET['s4i']) { -// if ($user['stats'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) { -// $user['lovk'] += (int)$_POST['stat']; -// $user['stats'] -= (int)$_POST['stat']; -// mysql_query("UPDATE `users` SET `lovk` = '" . $user['lovk'] . "', `stats` = '" . $user['stats'] . "' WHERE `id` = '{$user['id']}' LIMIT 1"); -// echo "Параметр Ловкость увеличен на " . (int)$_POST['stat'] . " ед."; -// } elseif ((int)$_POST['stat'] <= 0) { -// echo "Не верное количество"; -// } else { -// echo "Недостаточно статов"; -// } -// } + addOnePoint('lovk','stat'); break; - case 13 : - if ($user['stats'] > 0 && $user['sid'] == $_GET['s4i']) { - if ($user['stats'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) { - $user['inta'] += (int)$_POST['stat']; - $user['stats'] -= (int)$_POST['stat']; - mysql_query("UPDATE `users` SET `inta` = '" . $user['inta'] . "', `stats` = '" . $user['stats'] . "' WHERE `id` = '{$user['id']}' LIMIT 1"); - echo "Параметр Интуиция увеличен на " . (int)$_POST['stat'] . " ед."; - } elseif ((int)$_POST['stat'] <= 0) { - echo "Не верное количество"; - } else { - echo "Недостаточно статов"; - } - } + addOnePoint('inta','stat'); break; case 14 :