Чистка и оптимизация функций. Вырезание хвостов.

This commit is contained in:
lopar 2018-01-28 23:22:28 +02:00
parent 63b8b408c4
commit 4617365148
4 changed files with 55 additions and 164 deletions

View File

@ -1,9 +1,23 @@
<?
<?php
session_start();
if(!isset($_SESSION['uid'])) { header('Location: ../../index.php'); exit(); }
include('../../config.php');
include('../../functions.php');
$clan_acces = array(
1 => array(0, 'Просмотр событий клана'),
2 => array(0, 'Создание событий клана'),
3 => array(0, 'Просмотр хранилища'),
4 => array(0, 'Использование вещей из хранилища'),
5 => array(0, 'Изъятие предметов из хранилища'),
6 => array(0, 'Просмотр казны и списка игроков, пополнявших казну'),
7 => array(0, 'Пополнение казны'),
8 => array(0, 'Использование казны'),
9 => array(0, 'Прием в клан'),
10 => array(0, 'Изгнание из клана'),
11 => array(0, 'Редактирование информации о клане')
);
if($user['klan'] == '') { header('Location: ../../main.php'); exit(); }
$clan = mysql_fetch_array(mysql_query('SELECT `id`, `recruits`, `short`, `name`, `descr`, `glava`, `money`, `ekr`, `vozm`, `align`, `mshadow`, `wshadow`, `homepage`, `rating`, `zbor`, `zamok`, `izamok`, `ifon` FROM `clans` WHERE `id` = "'.$user['klan'].'" LIMIT 1'));
$err = '';
@ -82,7 +96,8 @@ if($_GET['addecredits']) {
}
function form_pay($us, $clan) {
global $clan_acces, $banks;
global $clan_acces $banks;
$user = mysql_fetch_array(mysql_query('SELECT `id`, `login`, `level`, `money` FROM `users` WHERE `id` = "'.$us.'" LIMIT 1'));
$r = '';
if($clan_acces[7][0] == 1) {
@ -127,13 +142,13 @@ function addeCredits() {
<tr>
<td><br />
<center><br />
<? if($err != '') { echo $err.'<br />'; } ?>
<?php if($err != '') { echo $err.'<br />'; } ?>
<b>Клановая казна: <font color="#339900"><?=$clan['money']; ?></font> кр, <font color="#339900"><?=$clan['ekr']; ?></font> екр.</b><br /><br />
<fieldset style="width: 300px; height: 100px;">
<legend align="center"><b>Пополнить казну:</b></legend>
<? if($clan_acces[7][0] == 1) { echo form_pay($user['id'], $clan['id']); } else { echo '<b>Вы не можете пополнять казну</b>'; } ?>
<?php if($clan_acces[7][0] == 1) { echo form_pay($user['id'], $clan['id']); } else { echo '<b>Вы не можете пополнять казну</b>'; } ?>
</fieldset>
<? if($clan_acces[6][0] == 1) { ?>
<?php if($clan_acces[6][0] == 1) { ?>
<a href="http://capitalcity.old-dark.ru/clan_log.php?act=caznalog&clan=<?=$clan['id'];?>&hash=<?=md5($user['id'].'|'.$user['login']);?>" target="_blank">Просмотр действий с казной</a>
<? } ?>
</center>

View File

@ -68,6 +68,23 @@ $al = db::c()->query('SELECT * FROM `aligns` WHERE `align` = "?s" LIMIT 1', $use
header("Cache-Control: no-cache");
function statsat($nu)
{ /*in admin.php*/
global $exptable;
$stats = 0;
$master = 0;
$vinos = 0;
foreach ($exptable as $k => $v) {
if ($k == $nu) break;
$stats += $v[0];
$master += $v[1];
$vinos += $v[2];
$money += $v[3];
}
return array("stats" => $stats + 12, "master" => $master + 1, "vinos" => $vinos + 3, "money" => $money);
}
function imp($array)
{
$str = '';

View File

@ -1,113 +1,32 @@
<?php
require_once 'config.php';
define("HPADDICTIONEFFECT", 33);
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
//function show_fields($table) {
// $fields = array();
// $res = mysql_query("SHOW COLUMNS FROM `$table`");
// while($x = mysql_fetch_assoc($res)) {
// $fields[] = $x['Field'];
// }
// foreach($fields as $f) {
// echo "`".$f."`, ";
// }
//}
$ip = filter_input(INPUT_SERVER,'REMOTE_ADDR', FILTER_VALIDATE_IP);
if (isset($_GET['goto']) and isset($_GET['tStamp']) and isset($_GET['vcode'])) {
if ($_GET['vcode'] == md5(sha1($_GET['goto'] . SECURECODE . $_GET['tStamp']))) {
mysql_query("UPDATE `users`,`online` SET `users`.`room` = '" . intval($_GET['goto']) . "',`online`.`room` = '" . intval($_GET['goto']) . "' WHERE `online`.`id` = `users`.`id` AND `online`.`id` = '{$_SESSION['uid']}' ;");
db::c()->query('UPDATE `users`,`online` SET `users`.`room` = ?i, `online`.`room` = ?i WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ?i', $_GET['goto'], $_GET['goto'], $_SESSION['uid']);
$user['room'] = intval($_GET['goto']);
}
}
function createbot($bot, $login = "")
{
// $rec = mysql_fetch_array(mysql_query("SELECT `id`, `login`, `maxhp` FROM `users` WHERE `id` = '$bot' LIMIT 1"));
// $rec = db::c('SELECT `id`, `login`, `maxhp` FROM `users` WHERE `id` = "$bot" LIMIT 1');
$rec = db::c()->query('SELECT `id`, `login`, `maxhp` FROM `users` WHERE `id` = "?s" LIMIT 1', $bot)->fetch_assoc();
if (isset($rec['id'])) {
if ($login) {
$rec['login'] = $login;
}
$botname = $rec['login'];
mysql_query("INSERT INTO `bots` (`name`, `prototype`, `battle`, `hp`) VALUES ('$botname', '$bot', '$battle', '$rec[maxhp]')");
return array("id" => mysql_insert_id(), "login" => $botname);
db::c()->query('INSERT INTO `bots` (`name`, `prototype`, `battle`, `hp`) VALUES ("?s", "?s", "?s", "?s")', $botname, $bot, $battle, $rec['maxhp']);
$nid = db::c()->getLastInsertId();
return array("id" => $nid, "login" => $botname);
} else {
return false;
}
}
function statsat($nu)
{ /*in admin.php*/
global $exptable;
$stats = 0;
$master = 0;
$vinos = 0;
foreach ($exptable as $k => $v) {
if ($k == $nu) break;
$stats += $v[0];
$master += $v[1];
$vinos += $v[2];
$money += $v[3];
}
return array("stats" => $stats + 12, "master" => $master + 1, "vinos" => $vinos + 3, "money" => $money);
}
//function basestats($user) {
// $rec1 = mysql_fetch_array(mysql_query("SELECT * FROM `userdata` WHERE `id` = '$user' LIMIT 1"));
// $hp = 30;
// $r = mysql_query("SELECT `sila`, `lovk`, `inta`, `vinos`, `hp`, `intel`, `type` FROM `effects` WHERE `owner` = '$user'");
// while($rec = mysql_fetch_assoc($r)) {
// if($rec['type'] == 11 || $rec['type'] == 12 || $rec['type'] == 13 || $rec['type'] == 14) {
// $rec1['sila'] -= $rec['sila'];
// $rec1['lovk'] -= $rec['lovk'];
// $rec1['inta'] -= $rec['inta'];
// $rec1['vinos'] -= $rec['vinos'];
// $rec1['intel'] -= $rec['intel'];
// $rec1['mudra'] -= $rec['mudra'];
// } else {
// $rec1['sila'] += $rec['sila'];
// $rec1['lovk'] += $rec['lovk'];
// $rec1['inta'] += $rec[ 'inta'];
// $rec1['vinos'] += $rec['vinos'];
// $rec1['intel'] += $rec['intel'];
// $rec1['mudra'] += $rec['mudra'];
// }
// $hp += $rec['hp'];
// }
// $hp += $rec1['vinos']*6;
// $rec1['maxhp'] = $hp;
// return $rec1;
//}
//
//function statsback($user, $room = 0) {
// global $dressslots;
// $rec1 = basestats($user);
// $nu = mysql_fetch_array(mysql_query("SELECT `nextup` FROM `users` WHERE `id` = '$user' LIMIT 1"));
// mysql_query("UPDATE `inventory` SET `dressed` = 0 WHERE `owner` = '$user'");
// mysql_query("UPDATE `users` SET `in_tower` = 0, `sila` = '$rec1[sila]', `lovk` = '$rec1[lovk]', `inta` = '$rec1[inta]', `vinos` = '$rec1[vinos]', `intel` = '$rec1[intel]', `stats` = '$rec1[stats]', `hp` = '$rec1[maxhp]', `maxhp` = '$rec1[maxhp]', `level` = '".levelatnextup($nu['nextup'])."', `mec` = '$rec1[mec]', `topor` = '$rec1[topor]', `dubina` = '$rec1[dubina]', `noj` = '$rec1[noj]', `mfire` = '$rec1[mfire]', `mwater` = '$rec1[mwater]', `mair` = '$rec1[mair]', `mearth` = '$rec1[mearth]', `mlight` = '$rec1[mlight]', `mgray` = '$rec1[mgray]', `mdark` = '$rec1[mdark]', `master` = '$rec1[master]', `align` = '$rec1[align]', ".($room?"`room` = '$room',":"")."".implode("=0, ", $dressslots)."=0 WHERE `id` = '$user' LIMIT 1");
//}
//
//function levelatnextup($exp) {
// global $exptable;
// $ret = 0;
// foreach($exptable as $k => $v) {
// if($v[5] > $exp) return $ret;
// if($v[4]) $ret++;
// }
// return $ret;
//}
#####Для нападалок. Сперва комнаты в которых нельзя напасть, потом персонаж на которого нельзя напасть.
$unkilable = array(
@ -115,19 +34,6 @@ $unkilable = array(
'users' => array(10962, 10964, 10965)
);
$clan_acces = array(
1 => array(0, 'Просмотр событий клана'),
2 => array(0, 'Создание событий клана'),
3 => array(0, 'Просмотр хранилища'),
4 => array(0, 'Использование вещей из хранилища'),
5 => array(0, 'Изъятие предметов из хранилища'),
6 => array(0, 'Просмотр казны и списка игроков, пополнявших казну'),
7 => array(0, 'Пополнение казны'),
8 => array(0, 'Использование казны'),
9 => array(0, 'Прием в клан'),
10 => array(0, 'Изгнание из клана'),
11 => array(0, 'Редактирование информации о клане')
);
$runes_exp = array('1' => 10500, '2' => 23500, '3' => 38500, '4' => 57000, '5' => 77000, '6' => 103000, '7' => 136500, '8' => 171500, '9' => 212500, '10' => 257500);
#####
@ -135,7 +41,7 @@ $runes_exp = array('1' => 10500, '2' => 23500, '3' => 38500, '4' => 57000, '5' =
$canalenters = array(620);
$caverooms = array(621);
$userslots = array('sergi', 'kulon', 'perchi', 'weap', 'bron', 'r1', 'r2', 'r3', 'helm', 'shit', 'boots', 'rybax', 'plaw', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9', 'm10');
$dressslots = array('sergi', 'kulon', 'perchi', 'weap', 'bron', 'r1', 'r2', 'r3', 'helm', 'shit', 'boots', 'rybax', 'plaw', 'rune_1', 'rune_2', 'rune_3');
//$dressslots = array('sergi', 'kulon', 'perchi', 'weap', 'bron', 'r1', 'r2', 'r3', 'helm', 'shit', 'boots', 'rybax', 'plaw', 'rune_1', 'rune_2', 'rune_3');
function getuserdata($id = 0)
{
@ -160,30 +66,27 @@ if ($user['battle'] == 0 && $user['hp'] < $user['maxhp']) {
}
if (!isset($banks['id'])) {
//$banks = mysql_fetch_array(mysql_query('SELECT `id`, `cr`, `ekr` FROM `bank` WHERE `id` = "' . $_COOKIE['inder'] . '" AND `owner` = "' . $user['id'] . '" LIMIT 1'));
$banks = db::c()->query('SELECT `id`, `cr`, `ekr` FROM `bank` WHERE `id` = "?s" AND `owner` = "?S" LIMIT 1', $_COOKIE['inder'], $user['id'])->fetch_assoc();
}
function auth_bank($id, $pass, $us)
{
global $banks;
$r = '';
// $bn = mysql_fetch_array(mysql_query('SELECT `id`, `pass` FROM `bank` WHERE `id` = "' . (int)$id . '" AND `owner` = "' . $us . '" LIMIT 1'));
$bn = db::c()->query('SELECT `id`, `pass` FROM `bank` WHERE `id` = ?i AND `owner` = "?s" LIMIT 1', $id, $us)->fetch_assoc();
$bn = db::c()->query('SELECT `id`, `pass` FROM `bank` WHERE `id` = ?i AND `owner` = "?s"', $id, $us)->fetch_assoc();
if (isset($bn['id'])) {
if ($bn['pass'] == md5($pass)) {
setcookie('inder', $bn['id'], time() + 60 * 60 * 24 * 7, '/', GAMEDOMAIN, 0, true);
$banks['id'] = $bn['id'];
// $banks['cr'] = $banks['cr'];
// $banks['ekr'] = $banks['ekr'];
$r = 'Успешная авторизация ...';
$msg = 'Успешная авторизация ...';
} else {
$r = 'Неверный пароль ...';
$msg = 'Неверный пароль ...';
}
} else {
$r = 'Счёт не найден ...';
$msg = 'Счёт не найден ...';
}
return $r;
return $msg;
}
function exit_bank($link)
@ -873,7 +776,7 @@ function bank_check($item, $table = "shop", $present = '', $onlyonetrip = '', $f
}
if ($cost) {
$cost = $cost;
$rec1['cost'] = $cost;
}
if ($fields) {
@ -3452,9 +3355,9 @@ function showpersout($id, $pas = 0, $battle = 0, $me = 0)
} ?>
Уровень: <?= $user['level'] ?><BR></small>
<? if ($user['id'] != 233 && $user['id'] != 234 && $user['id'] != 235) { ?>
Побед:&nbsp;<span title='Побед: <?= $user['win'] ?>'><?= $user['win'] ?></span></small><br>
Поражений:&nbsp;<span title='Поражений: <?= $user['lose'] ?>'><?= $user['lose'] ?></span></small><br>
Ничьих:&nbsp;<span title='Ничьих: <?= $user['nich'] ?>'><?= $user['nich'] ?></span></small><br>
Побед:&nbsp;<span title='Побед: <?= $user['win'] ?>'><?= $user['win'] ?></span><br>
Поражений:&nbsp;<span title='Поражений: <?= $user['lose'] ?>'><?= $user['lose'] ?></span><br>
Ничьих:&nbsp;<span title='Ничьих: <?= $user['nich'] ?>'><?= $user['nich'] ?></span><br>
<? } ?>
<?php
$my_inf = mysql_fetch_assoc(mysql_query("SELECT `align`,`deal` FROM `users` WHERE `id`='" . $_SESSION['uid'] . "'"));
@ -3591,21 +3494,6 @@ function unstack($it_id, $it_count)
}
}
function upgrade_rune($id, $uid)
{
global $runes_exp;
$runes_mfs = array('1' => 10, '2' => 20, '3' => 30, '4' => 40, '5' => 50, '6' => 60, '7' => 70, '8' => 80, '9' => 90, '10' => 100);
$runes_bron = array('1' => 5, '2' => 10, '3' => 15, '4' => 20, '5' => 25, '6' => 30, '7' => 35, '8' => 40, '9' => 45, '10' => 50);
$runes_hp = array('1' => 10, '2' => 10, '3' => 10, '4' => 10, '1' => 15, '1' => 20, '1' => 20, '1' => 20, '1' => 20, '1' => 20);
$tec_rune = mysql_fetch_array(mysql_query('SELECT `id`, `type`, `rune_level`, `rune_exp`, `owner` FROM `inventory` WHERE `id` = "' . $id . '" AND `owner` = "' . $uid . '" LIMIT 1'));
if (isset($tec_rune['id'])) {
if ($tec_rune['type'] == 24) {
if ($tec_rune['rune_exp'] >= $runes_exp[$tec_rune['level'] + 1]) {
}
}
}
}
function plusorminus($n, $shownum = 1)
{
@ -3768,7 +3656,7 @@ function show_shop_items($it, $from = 'shop')
$r .= (($item['gmeshok']) ? "• Увеличивает рюкзак: +{$item['gmeshok']}<br />" : "") . "
" . (($item['letter']) ? "Количество символов: " . strlen($item['letter']) . "</div>" : "") . "
" . (($item['letter']) ? "На бумаге записан текст:<div style='background-color:FAF0E6;'> " . nl2br($item['letter']) . "</div>" : "") . "
" . (($item['letter']) ? "На бумаге записан текст:<div style='background-color:#FAF0E6;'> " . nl2br($item['letter']) . "</div>" : "") . "
" . (($item['opisan']) ? "&bull; " . nl2br($item['opisan']) . "<br />" : "") . "
" . (($magic['name'] && $item['type'] != 50) ? "<font color=maroon>Наложены заклятия:</font> " . $magic['name'] . "<br />" : "") . "
" . (($item['text']) ? "На ручке выгравирована надпись:<center>" . $item['text'] . "</center><br />" : "") . "
@ -4096,7 +3984,7 @@ function showitem($row, $type, $link = '', $returned = false)
$returnHTML .= (($row['gmeshok']) ? "• Увеличивает рюкзак: +{$row['gmeshok']}<BR>" : "") . "
" . (($row['letter']) ? "Количество символов: " . strlen($row['letter']) . "</div>" : "") . "
" . (($row['letter']) ? "На бумаге записан текст:<div style='background-color:FAF0E6;'> " . nl2br($row['letter']) . "</div>" : "") . "
" . (($row['letter']) ? "На бумаге записан текст:<div style='background-color:#FAF0E6;'> " . nl2br($row['letter']) . "</div>" : "") . "
" . (($row['opisan']) ? "&bull; " . nl2br($row['opisan']) . "<br />" : "") . "
" . (($magic['name'] && $row['type'] != 50) ? "<font color=maroon>Наложены заклятия:</font> " . $magic['name'] . "<BR>" : "") . "
" . (($row['text']) ? "На ручке выгравирована надпись:<center>" . $row['text'] . "</center><BR>" : "") . "
@ -4360,7 +4248,7 @@ function show_item($row, $type, $txt, $place)
$r .= '</div">';
if ($row['letter']) $r .= 'На бумаге записан текст: <div style="background-color: FAF0E6;"> ' . nl2br($row['letter']) . '</div><br />';
if ($row['letter']) $r .= 'На бумаге записан текст: <div style="background-color:#FAF0E6;"> ' . nl2br($row['letter']) . '</div><br />';
if ($magic['name'] && $row['type'] != 50) $r .= '<span style="color: maroon;">Наложены заклятия:</span> ' . $magic['name'] . '<br />';
if ($row['text']) $r .= 'На ручке выгравирована надпись: <center>' . $row['text'] . '</center><br />';
if ($incmagic['max']) $r .= 'Встроено заклятие <img src="i/magic/' . $incmagic['img'] . '" /> ' . $incmagic['cur'] . ' шт.<br />';

View File

@ -144,8 +144,6 @@ function closehint3()
<TD align=center bgcolor="<?=($_GET['razdel']==1)?"#A5A5A5":"#C7C7C7"?>"><A HREF="?razdel=1">Гравировка</A></TD>
<TD align=center bgcolor="<?=($_GET['razdel']==2)?"#A5A5A5":"#C7C7C7"?>"><A HREF="?razdel=2">Перезарядка магии</A></TD>
<TD align=center bgcolor="<?=($_GET['razdel']==3)?"#A5A5A5":"#C7C7C7"?>"><A HREF="?razdel=3">Модифицирование</A></TD>
<!--<TD align=center bgcolor="<?=($_GET['razdel']==4)?"#A5A5A5":"#C7C7C7"?>"><A HREF="?razdel=4">Подгонка</A></TD>-->
<TD align=center bgcolor="<?=($_GET['razdel']==5)?"#A5A5A5":"#C7C7C7"?>"><A HREF="?razdel=5">Улучшение Рун</A></TD>
</TR>
<TR>
<td colspan=7 bgcolor=#A5A5A5>
@ -155,8 +153,6 @@ function closehint3()
case 1: echo "Нанесение надписей на оружие"; break;
case 2: echo "Перезарядка встроеной магии</B><BR><i>Если в предмет встроена магия, мы поможем ее перезарядить за умеренную плату. Учтите, ничто не вечно под луной, в том числе и магия, рано или поздно встроенный свиток исчерпает все свои ресурсы, и мы уже не сможем его перезарядить.</i>"; break;
case 3: echo "Модификация предметов</B><BR><I>Наши мастера помогут вам модифицировать ваши доспехи. К сожалению, технология не позволяет повторно модифицировать вещи. Чем выше у вас интеллект, тем яснее вы сможете объяснить мастерам желаемый результат. Результат может быть непредсказуем!</I><B>"; break;
case 4: echo "Подгонка вещей</B><BR><I>Наши мастера помогут подогнать уже подифицированные вещи под себя по лучшей цене!</I><B>"; break;
case 5: echo "Улучшение Рун</B><BR><I>Наши мастера помогут повысить уровень Ваших рун.</I><B>"; break;
}
?></B></CENTER>
</td>
@ -186,31 +182,6 @@ if ($_GET['razdel']==0) {
}
}
if($_GET['razdel'] == 5) {
if($_GET['update_rune']) {
upgrade_rune((int)$_GET['update_rune'], $user['id']);
}
$data = mysql_query("SELECT * FROM `inventory` WHERE `type` = 24 AND `owner` = '{$user['id']}' AND `dressed` = 0 AND `isrep` = 1 AND `setsale`=0 ORDER by `update` DESC");
while($row = mysql_fetch_array($data)) {
$row['count'] = 1;
if($i == 0) { $i = 1; $color = '#C7C7C7'; } else { $i = 0; $color = '#D5D5D5'; }
echo "<TR bgcolor={$color}><TD align=center ><IMG SRC=\"i/sh/{$row['img']}\" BORDER=0>";
if($row['rune_exp'] >= $runes_exp[$row['rune_level']+1] && $row['rune_level'] < 10) {
echo '<br /><small><a href=\'?razdel=5&update_rune='.$row['id'].'\'>Повысить уровень руны</a></small><br />';
} elseif($row['rune_level'] >= 10) {
echo '<br /><small><b style=\'color: Red;\'>Максимальный уровень</b><br />';
} else {
echo '<br /><small><b style=\'color: Red;\'>'.$row['rune_exp'].'/'.$runes_exp[$row['rune_level']+1].'</b><br />';
}
echo '</td>';
echo "<TD valign=top>";
showitem ($row);
echo "</TD></TR>";
}
}
if ($_GET['razdel']==1) {
$data = mysql_query("SELECT * FROM `inventory` WHERE `owner` = '{$user['id']}' AND `dressed` = 0 AND `type` = 3 AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");