Функция повышения статов и её тест. Отладка 4.

This commit is contained in:
lopar 2018-12-11 22:33:20 +02:00
parent 957c9c03cd
commit a6c8f9ce3e
2 changed files with 36 additions and 194 deletions

View File

@ -2895,12 +2895,12 @@ function addOnePoint($name, $param = null)
]; ];
if ($param == 'stat' AND in_array($name, $allowed_stats)) { 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']); db::c()->query('UPDATE `users` SET ?f = ?f + 1, `stats` = `stats` - 1 WHERE `id` = ?i', $name, $name, $_SESSION['uid']);
echo "<span style='color:#00ffaa'>Параметр {$naming[$name]} увеличен на 1 ед.</span>"; echo "<span style='color:darkgreen'>Параметр {$naming[$name]} увеличен на 1 ед.</span>";
} elseif ($param == 'mastery' AND in_array($name, $allowed_mastery)) { } 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(); $mastery_level = db::c()->query('SELECT ?f FROM `users` WHERE `id` = ?i', $name, $_SESSION['uid'])->fetch_assoc();
if ($mastery_level[$name] < 10) { if ($mastery_level[$name] < 10) {
db::c()->query('UPDATE `users` SET ?f = ?f + 1, `stats` = `stats` - 1 WHERE `id` = ?i', $name, $name, $_SESSION['uid']); db::c()->query('UPDATE `users` SET ?f = ?f + 1, `stats` = `stats` - 1 WHERE `id` = ?i', $name, $name, $_SESSION['uid']);
echo "<span style='color:#00ffaa'>Параметр {$naming[$name]} увеличен на 1 ед.</span>"; echo "<span style='color:darkgreen'>Параметр {$naming[$name]} увеличен на 1 ед.</span>";
} else echo "<span style='color: maroon;'>Ошибка: параметр достиг максимального значения!</span>"; } else echo "<span style='color: maroon;'>Ошибка: параметр достиг максимального значения!</span>";
} else return null; } else return null;
} }

226
main.php
View File

@ -1539,223 +1539,56 @@ if (input::get('edit')) {
if (input::get('ups')) { if (input::get('ups')) {
switch (input::get('ups')) { switch (input::get('ups')) {
case 11 : case 'sila' :
addOnePoint('sila','stat'); addOnePoint('sila','stat');
break; break;
case 12 : case 'lovk' :
addOnePoint('lovk','stat'); addOnePoint('lovk','stat');
break; break;
case 13 : case 'inta' :
addOnePoint('inta','stat'); addOnePoint('inta','stat');
break; break;
case 'vinos' :
case 14 : addOnePoint('vinos','stat');
if ($user['stats'] > 0 && $user['sid'] == $_GET['s4i']) {
if ($user['stats'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['vinos'] += (int)$_POST['stat'];
$user['stats'] -= (int)$_POST['stat'];
$user['maxhp'] += (int)($_POST['stat'] * 6);
mysql_query("UPDATE `users` SET `vinos` = '" . $user['vinos'] . "', `stats` = '" . $user['stats'] . "', `maxhp` = '" . $user['maxhp'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Выносливость увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно статов</b>";
}
}
break; break;
case 15 : case 15 :
if ($user['stats'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('intel','stat');
if ($user['stats'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) { break;
$user['intel'] += (int)$_POST['stat']; case 16 :
$user['stats'] -= (int)$_POST['stat']; addOnePoint('mudra','stat');
mysql_query("UPDATE `users` SET `intel` = '" . $user['intel'] . "', `stats` = '" . $user['stats'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Интеллект увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно статов</b>";
}
}
break; break;
case 21 : case 21 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('noj','mastery');
if ($user['master'] >= (int)$_POST['stat'] && $user['noj'] < 10 && ((int)$_POST['stat'] > 0)) {
$user['noj'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `noj` = '" . $user['noj'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Кастетами увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ($user['noj'] > 9) {
echo "<b style=\"color: Red;\">Достигнут лимит владения</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 22 : case 22 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mec','mastery');
if ($user['master'] >= (int)$_POST['stat'] && $user['mec'] < 10 && ((int)$_POST['stat'] > 0)) {
$user['mec'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mec` = '" . $user['mec'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Мечами увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ($user['mec'] > 9) {
echo "<b style=\"color: Red;\">Достигнут лимит владения</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 23 : case 23 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('dubina','mastery');
if ($user['master'] >= (int)$_POST['stat'] && $user['dubina'] < 10 && ((int)$_POST['stat'] > 0)) {
$user['dubina'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `dubina` = '" . $user['dubina'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Дубинами увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ($user['dubina'] > 9) {
echo "<b style=\"color: Red;\">Достигнут лимит владения</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 24 : case 24 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('topor','mastery');
if ($user['master'] >= (int)$_POST['stat'] && $user['topor'] < 10 && ((int)$_POST['stat'] > 0)) {
$user['topor'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `topor` = '" . $user['topor'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение топорами увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ($user['topor'] > 9) {
echo "<b style=\"color: Red;\">Достигнут лимит владения</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 25 : case 25 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mfire','mastery');
if ($user['master'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['mfire'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mfire` = '" . $user['mfire'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Магией Огня увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 26 : case 26 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mwater','mastery');
if ($user['master'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['mwater'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mwater` = '" . $user['mwater'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Магией Воды увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 27 : case 27 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mair','mastery');
if ($user['master'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['mair'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mair` = '" . $user['mair'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Магией Воздуха увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 28 : case 28 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mearth','mastery');
if ($user['master'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['mearth'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mearth` = '" . $user['mearth'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Магией Земли увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 29 : case 29 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mlight','mastery');
if ($user['master'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['mlight'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mlight` = '" . $user['mlight'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Магией Света увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 210 : case 210 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mgray','mastery');
if ($user['master'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['mgray'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mgray` = '" . $user['mgray'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Серой Магией увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
case 211 : case 211 :
if ($user['master'] > 0 && $user['sid'] == $_GET['s4i']) { addOnePoint('mdark','mastery');
if ($user['master'] >= (int)$_POST['stat'] && ((int)$_POST['stat'] > 0)) {
$user['mdark'] += (int)$_POST['stat'];
$user['master'] -= (int)$_POST['stat'];
mysql_query("UPDATE `users` SET `mdark` = '" . $user['mdark'] . "', `master` = '" . $user['master'] . "' WHERE `id` = '{$user['id']}' LIMIT 1");
echo "<b style=\"color: Red;\">Параметр Владение Магией Тьмы увеличен на " . (int)$_POST['stat'] . " ед.</b>";
} elseif ((int)$_POST['stat'] <= 0) {
echo "<b style=\"color: Red;\">Не верное количество</b>";
} else {
echo "<b style=\"color: Red;\">Недостаточно мастерства</b>";
}
}
break; break;
} }
} }
@ -1986,15 +1819,24 @@ if (input::get('edit')) {
<!--href='?up=11&edit=1&s4i=".($user['sid'])."'--> <!--href='?up=11&edit=1&s4i=".($user['sid'])."'-->
Сила: <?= $user['sila'] ?> Сила: <?= $user['sila'] ?>
<?php if (!empty($user['stats'])): ?> <?php if (!empty($user['stats'])): ?>
<img src=i/up.gif onclick="location.href='?edit=1&ups=11'"> <img src=i/up.gif onclick="location.href='?edit=1&ups=sila'">
<?php endif; ?> <?php endif; ?>
<?= ($user['stats']==70) ? " <img src=i/up.gif onclick=\"stats('Увеличить Силу', '', 1, '', '', '', '?ups=11&edit=1&s4i=" . ($user['sid']) . "');\">" : "" ?>
<BR> <BR>
Ловкость: <?= $user['lovk'] ?><?= ($user['stats']) ? " <img src=i/up.gif onclick=\"stats('Увеличить Ловкость', '', 1, '', '', '', '?ups=12&edit=1&s4i=" . ($user['sid']) . "');\">" : "" ?> Ловкость: <?= $user['lovk'] ?>
<?php if (!empty($user['stats'])): ?>
<img src=i/up.gif onclick="location.href='?edit=1&ups=lovk'">
<?php endif; ?>
<BR> <BR>
Интуиция: <?= $user['inta'] ?><?= ($user['stats']) ? " <img src=i/up.gif onclick=\"stats('Увеличить Интуицию', '', 1, '', '', '', '?ups=13&edit=1&s4i=" . ($user['sid']) . "');\">" : "" ?> Интуиция: <?= $user['inta'] ?>
<?php if (!empty($user['stats'])): ?>
<img src=i/up.gif onclick="location.href='?edit=1&ups=inta'">
<?php endif; ?>
<BR> <BR>
Выносливость: <?= $user['vinos'] ?><?= ($user['stats']) ? " <img src=i/up.gif onclick=\"stats('Увеличить Выносливость', '', 1, '', '', '', '?ups=14&edit=1&s4i=" . ($user['sid']) . "');\">" : "" ?> Выносливость: <?= $user['vinos'] ?>
<?php if (!empty($user['stats'])): ?>
<img src=i/up.gif onclick="location.href='?edit=1&ups=vinos'">
<?php endif; ?>
<BR> <BR>
<? <?
echo ($user['level'] > 3) ? "Интеллект: {$user['intel']}" : ""; echo ($user['level'] > 3) ? "Интеллект: {$user['intel']}" : "";