Ivor Barhansky
36bf662112
Upload code Изменил(а) на 'README.md' Изменил(а) на 'README.md' Reviewed-on: https://src.lopar.us/lopar/AntiBK/pulls/1 Co-Authored-By: Ivor Barhansky <lopar@noreply.lopar.us> Co-Committed-By: Ivor Barhansky <lopar@noreply.lopar.us>
263 lines
12 KiB
PHP
263 lines
12 KiB
PHP
<?
|
||
defined('AntiBK') or die("Доступ запрещен!");
|
||
|
||
$stats = array();
|
||
$up_text = '';
|
||
|
||
if (isset($_POST['save_ability']) && $char_stats['ups'] > 0)
|
||
{
|
||
foreach ($behaviour as $key => $min_level)
|
||
{
|
||
if (!isset($_POST['base_'.$key]) || $char_stats[$key] == $_POST['base_'.$key] || $level < $min_level)
|
||
continue;
|
||
|
||
$stats[$key] = abs($_POST['base_'.$key] - $char_stats[$key]);
|
||
$up_text .= " Увеличение способности \"<b>".utf8_substr($lang[$key], 0, -1)."</b>\" произведено удачно<br>";
|
||
}
|
||
$ups = array_sum($stats);
|
||
|
||
if ($ups > $char_stats['ups'] || $ups == 0)
|
||
$char->error->Skills(200);
|
||
|
||
if ($char->changeStats($stats) && $adb->query("UPDATE `character_stats` SET `ups` = `ups` - ?d WHERE `guid` = ?d", $ups , $guid))
|
||
{
|
||
$error = 1;
|
||
$parameters = $up_text;
|
||
}
|
||
$char_stats = $char->getChar('char_stats', '*');
|
||
}
|
||
else if (isset($_POST['save_skill']) && $char_stats['skills'] > 0)
|
||
{
|
||
foreach ($mastery as $key => $min_level)
|
||
{
|
||
if (!isset($_POST['base_'.$key]) || $key == 'phisic' || $char_stats[$key] == $_POST['base_'.$key] || $level < $min_level)
|
||
continue;
|
||
|
||
$stats[$key] = abs($_POST['base_'.$key] - $char_stats[$key]);
|
||
$up_text .= " Увеличение способности \"<b>".utf8_substr($lang[$key], 0, -1)."</b>\" произведено удачно<br>";
|
||
}
|
||
$ups = array_sum($stats);
|
||
|
||
if ($ups > $char_stats['skills'] || $ups == 0)
|
||
$char->error->Skills(200);
|
||
|
||
if ($adb->query("UPDATE `character_stats` SET `skills` = `skills` - ?d WHERE `guid` = ?d", $ups , $guid))
|
||
{
|
||
foreach ($stats as $key => $value)
|
||
$adb->query("UPDATE `character_stats` SET ?# = ?# + ?d WHERE `guid` = ?d", $key ,$key ,$value ,$guid);
|
||
|
||
$error = 1;
|
||
$parameters = $up_text;
|
||
}
|
||
$char_stats = $char->getChar('char_stats', '*');
|
||
}
|
||
|
||
$dis_buttons = "<td><img src='img/minus.gif' class='nonactive' title='уменьшить'> <img src='img/plus.gif' class='nonactive' title='увеличить'></td>";
|
||
$char->showStatAddition();
|
||
?>
|
||
<script src="scripts/skills.js" type="text/javascript"></script>
|
||
<img src="img/1x1.gif" width="1" height="5"><br>
|
||
<font color='red' id='error'><?$char->error->getFormattedError($error, $parameters);?></font>
|
||
<table width="100%">
|
||
<tr>
|
||
<td> <?echo $char->getLogin();?></td>
|
||
<td valign="top" align="right">
|
||
<input type="button" class="nav" value="<?echo $lang['refresh'];?>" id="link" link="skills">
|
||
<input type="button" class="nav" value="<?echo $lang['return'];?>" id="link" link="inv">
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||
<td width="30%" valign="top">
|
||
<table border="0" cellspacing="1" cellpadding="0" width="100%">
|
||
<tr><td class="tzS">Характеристики персонажа</td></tr>
|
||
<tr>
|
||
<td style="padding-left: 5px;">
|
||
<table cellspacing="0">
|
||
<form action='?action=skills' name='SaveAbilityPoints' method='post'>
|
||
<? foreach ($behaviour as $key => $min_level)
|
||
{
|
||
if ($level < $min_level)
|
||
continue;
|
||
|
||
$stat_text = (in_array($key, array('str', 'dex', 'con', 'int'))) ?"style='color: ".getColor($char_stats[$key], $added[$key]).";'></td><td>".getBraces($char_stats[$key], $added[$key], $key)." </td>" :"></td><td></td>";
|
||
echo "<tr>";
|
||
echo "<td>• $lang[$key] </td>";
|
||
printf("<td align='right'><input name='base_$key' type='text' readonly value='$char_stats[$key]' class='show' onFocus='this.blur();' %s", $stat_text);
|
||
echo ($char_stats['ups'] > 0) ?"<td><img id='minus_$key' src='img/minus.gif' class='nonactive' onclick=\"MakeSkillStep(-1, '$key');\" alt='уменьшить' /> <img id='plus_$key' src='img/plus.gif' class='skill' onclick=\"MakeSkillStep(1, '$key');\" alt='увеличить' /></td>" :"";
|
||
echo "</tr>";
|
||
}
|
||
?> </table>
|
||
<input type='submit' name='save_ability' value='сохранить' id='save_button0' class='nonactive' disabled><input type='checkbox' onClick='ChangeButtonState(0)' style='vertical-align: middle;'><br>
|
||
</form>
|
||
<font color="green">
|
||
<? if ($char_stats['ups'] > 0)
|
||
echo "<br> Возможных увеличений: <font id='ups'>$char_stats[ups]</font>";
|
||
if ($char_stats['skills'] > 0 && $level > 0)
|
||
echo "<br> Свободных умений: <font id='skills'>$char_stats[skills]</font>";
|
||
?> </font>
|
||
<br><br><br><small>Подробнее о Силе, Ловкости, Интуиции и Выносливости вы можете прочитать <a href="" target="_blank" class="nick" style="font-size: 7pt;">здесь</a></small>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td width="1" bgcolor="#a0a0a0"></td>
|
||
<td valign="top">
|
||
<table border="0" cellspacing="1" cellpadding="0" width="100%">
|
||
<tr>
|
||
<?
|
||
if ($level > 0)
|
||
{
|
||
?>
|
||
<td class="tz" id="L1">Мастерство</td>
|
||
<?
|
||
}
|
||
if ($level > 1)
|
||
{
|
||
?>
|
||
<td class="tz" id="L3">Особенности</td>
|
||
<td class="tz" id="L4">Приемы</td>
|
||
<?
|
||
}
|
||
if ($level > 4)
|
||
{
|
||
?>
|
||
<td class="tz" id="L7">Знания</td>
|
||
<?
|
||
}
|
||
?>
|
||
<td class="tz" id="L5">Состояние</td>
|
||
<?
|
||
if ($level > 1)
|
||
{
|
||
?>
|
||
<td class="tz" id="L6">Репутация</td>
|
||
<?
|
||
}
|
||
?>
|
||
<td class="notz"> </td>
|
||
</tr>
|
||
</table>
|
||
<table border="0" cellspacing="1" cellpadding="0" width="100%">
|
||
<td width="100%" style="padding-left: 7px;">
|
||
<div class="dtz" id="dL1">
|
||
<?
|
||
if ($level > 0)
|
||
{
|
||
echo "<form action='?action=skills' name='SaveAbilityPoints' method='post'>";
|
||
$weapon = array('sword', 'bow', 'crossbow', 'fail', 'staff', 'knife', 'axe');
|
||
$magic = array('fire', 'water', 'air', 'earth', 'light', 'gray', 'dark');
|
||
$wmax = ($level < 5) ?$level :5;
|
||
$mmax = ($level < 10) ?$level :10;
|
||
echo "<table>";
|
||
echo "<tr><td class='skill' colspan='3'>$lang[weapon]</td></tr>";
|
||
foreach ($weapon as $key)
|
||
{
|
||
$dif = $char_stats[$key] - $added[$key];
|
||
echo "<tr>";
|
||
echo "<td> • $lang[$key]</td>";
|
||
echo "<td width='40' class='skill' align='right'><input name='base_$key' type='text' readonly value='$char_stats[$key]' class='show' style='color: ".getColor($char_stats[$key], $added[$key]).";' onFocus='this.blur();'></td>";
|
||
echo "<td>".getBraces($char_stats[$key], $added[$key], $key)."</td>";
|
||
|
||
if ($char_stats['skills'] > 0 && $dif < 5 && $level >= $mastery[$key])
|
||
echo "<td><img id='minus_$key' src='img/minus.gif' class='nonactive' onclick=\"ChangeAbility('$key', -1, $dif, $wmax)\" title='уменьшить' /> <img id='plus_$key' src='img/plus.gif' class='skill' onclick=\"ChangeAbility('$key', 1, $dif, $wmax)\" title='увеличить' /></td>";
|
||
else if ($char_stats['skills'] > 0 && $dif >= 5)
|
||
echo $dis_buttons;
|
||
|
||
echo "</tr>";
|
||
}
|
||
if ($level >= 4)
|
||
{
|
||
echo "<tr><td class='skill' colspan='3'>$lang[magic]</td></tr>";
|
||
foreach ($magic as $key)
|
||
{
|
||
$dif = $char_stats[$key] - $added[$key];
|
||
echo "<tr>";
|
||
echo "<td> • $lang[$key]</td>";
|
||
echo "<td width='40' class='skill' align='right'><input name='base_$key' type='text' readonly value='$char_stats[$key]' class='show' style='color: ".getColor($char_stats[$key], $added[$key]).";' onFocus='this.blur();'></td>";
|
||
echo "<td>".getBraces($char_stats[$key], $added[$key], $key)."</td>";
|
||
if ($char_stats['skills'] > 0 && $dif < 10)
|
||
echo "<td><img id='minus_$key' src='img/minus.gif' class='nonactive' onclick=\"ChangeAbility('$key', -1, $dif, $mmax)\" title='уменьшить' /> <img id='plus_$key' src='img/plus.gif' class='skill' onclick=\"ChangeAbility('$key', 1, $dif, $mmax)\" title='увеличить' /></td>";
|
||
else if ($char_stats['skills'] > 0 && $dif[$key] >= 10)
|
||
echo $dis_buttons;
|
||
echo "</tr>";
|
||
}
|
||
}
|
||
echo "<tr><td><input name='save_skill' type='submit' value='сохранить' disabled id='save_button1' class='nonactive'><input type='checkbox' onClick='ChangeButtonState(1)' style='vertical-align: middle;'></td></tr>";
|
||
echo "</table>";
|
||
echo "</form>";
|
||
}
|
||
?>
|
||
</div>
|
||
<div class="dtz" id="dL2">
|
||
</div>
|
||
<div class="dtz" id="dL3">
|
||
Не реализовано!
|
||
<?
|
||
// <br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Изворотливый\"?")'>Изворотливый</a><br>
|
||
// <small>Снижение стоимости передач на 0.1 кр.</small><br><br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Стойкий\"?")'>Стойкий</a><br>
|
||
// <small>Время травмы меньше на 5%.</small><br><br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Быстрый\"?")'>Быстрый</a><br>
|
||
// <small>Кнопка «Возврат» появляется раньше на 5 минут</small><br><br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Сообразительный - 2\"?")'>Сообразительный - 2</a><br>
|
||
// <small>Получаемый опыт больше на 2%</small><br><br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Дружелюбный\"?")'>Дружелюбный</a><br>
|
||
// <small>Cписок друзей больше на 5</small><br><br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Общительный\"?")'>Общительный</a><br>
|
||
// <small>Увеличение максимального размера раздела "Увлечения / хобби" на 200 символов</small><br><br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Запасливый\"?")'>Запасливый</a><br>
|
||
// <small>Больше места в рюкзаке на 10 единиц</small><br><br>
|
||
// • <a href="#" onclick='return confirm("Вы уверены, что хотите выбрать особенность \"Коммуникабельный\"?")'>Коммуникабельный</a><br>
|
||
// <small>Лимит передач в день +20</small><br><br>
|
||
// <b>Выбранные особенности:</b><br>
|
||
// • Сообразительный<br>
|
||
// • Двужильный<br>
|
||
// • Двужильный - 2<br>
|
||
// • Двужильный - 3<br>
|
||
// • Двужильный - 4<br>
|
||
// • Здоровый сон<br>
|
||
// • Здоровый сон - 2<br>
|
||
?>
|
||
</div>
|
||
<div class="dtz" id="dL4">
|
||
Не реализовано!
|
||
</div>
|
||
<div class="dtz" id="dL5">
|
||
<?
|
||
if ($char_db['chat_shut'])
|
||
echo "<img src='img/icon/sleeps$sex.gif'><small>На персонажа наложено заклятие молчания. Будет молчать еще ".getFormatedTime($char_db['chat_shut'])."</small><br>";
|
||
?>
|
||
<b>Эффекты:</b><br>
|
||
<div style="padding-left: 10">
|
||
<?
|
||
$effects = $adb->select("SELECT * FROM `character_effects` WHERE `guid` = ?d and `end_time` = '0';", $guid);
|
||
foreach ($effects as $effect)
|
||
{
|
||
$effect_s = $adb->selectRow("SELECT * FROM `player_effects` WHERE `id` = ?d", $effect['effect_id']);
|
||
$name = $effect_s['name'];
|
||
$effect_adds = array('add_hp', 'add_mp', 'mp_regen', 'mp_cons', 'res_magic', 'res_dmg', 'mf_magic', 'mf_dmg', 'add_hit_min', 'add_hit_max', 'mf_critp', 'mf_acrit', 'mf_dodge', 'mf_adodge');
|
||
echo "<b>$name</b><br>";
|
||
foreach ($effect_adds as $key)
|
||
{
|
||
if ($effect_s[$key] == 0)
|
||
continue;
|
||
|
||
if ($effect_s[$key] > 0) echo "• $lang[$key] +$effect_s[$key]<br>";
|
||
else if ($effect_s[$key] < 0) echo "• $lang[$key] $effect_s[$key]<br>";
|
||
}
|
||
echo "<br>";
|
||
}
|
||
?>
|
||
</div>
|
||
</div>
|
||
<div class="dtz" id="dL6">
|
||
Не реализовано!
|
||
</div>
|
||
<div class="dtz" id="dL7">
|
||
Не реализовано!
|
||
</div>
|
||
</table>
|
||
</td>
|
||
</table>
|