Великое объединение магазинов. #54.

This commit is contained in:
Ivor Barhansky 2023-07-29 00:18:04 +03:00
parent ad182a21fe
commit 9de7415f08
19 changed files with 1865 additions and 3125 deletions

View File

@ -0,0 +1,187 @@
<style>
.wares {
display: grid;
grid-template-columns: 100px auto;
background-color: #d4d4d4;
}
.wares > div:nth-child(odd of .left), .wares > div:nth-child(odd of .left) + div {
background-color: #c8c8c8;
}
table.zerowide {
width: 100%;
border-spacing: 0;
border-collapse: collapse;
}
table.zerowide td {
padding: 0;
}
</style>
<form id="F1" name="F1" method="post"></form>
<table class="zerowide">
<tr>
<td style="vertical-align: top;">
<h3><?= $shopName ?></h3>
<div style="text-align: center; font-weight: bold;"><span style="color: crimson;">&nbsp;<?= $status ?></span></div>
<table class="zerowide">
<tr>
<td style="text-align: left; vertical-align: top; padding: 4px;">
<!--Магазин-->
<div id="hint3" style="visibility:hidden"></div>
<table class="zerowide" style="background-color: darkgrey;">
<tr>
<td style="text-align: center; height: 21px;">
<?php if ($actionSale): ?>
<strong>Отдел «Скупка»</strong><br>
Здесь вы можете продать свои вещи, за жалкие гроши...<br>
У вас в наличии:
<?php elseif ($actionGifts): ?>
<strong>Отдел «Сделать подарки»</strong>
<?php elseif (isset($shop::OTDEL_NAME[$otdel])): ?>
<strong>Отдел «<?= $shop::OTDEL_NAME[$otdel] ?>»</strong>
<?php endif; ?>
</td>
</tr>
<tr>
<td>
<!--Рюкзак / Прилавок-->
<table class="zerowide" style="background-color: dimgrey;">
<?php if ($actionGifts): ?>
<tr>
<td style="background-color: #d5d5d5;">
Вы можете сделать подарок дорогому человеку. Ваш подарок будет отображаться в информации о персонаже.
<input name="itemgift" id="itemgift" type="hidden" value="0" form="F1">
<ol>
<li>
Укажите имя персонажа, которому хотите сделать подарок.
<label>Имя <input name="to_login" form="F1"></label>
</li>
<?php if ($u->info['exp'] >= Present::EXP_NEEDED_FOR_ADD_PRESENT_TEXT): ?>
<li>
Поздравление. Будет отображаться в информации о персонаже (не более 60 символов).
<label><input name="podarok2" size="50" maxlength="60" form="F1"></label>
</li>
<li>
Приватное поздравление (в информации о персонаже не отображается).
<label><textarea name="txt" cols="80" rows="6" form="F1"></textarea></label>
</li>
<?php endif; ?>
<li>
Выберите, от чьего имени подарок:<br>
<label style="font-weight: bold;"><input type="radio" name="from" value="0" checked form="F1"> <?= $u->info['login'] ?></label><br>
<label><input type="radio" name="from" value="1" form="F1">анонимно</label><br>
<?php if ($uc->isRegistered()): ?>
<label><input type="radio" name="from" value="2" form="F1">от имени клана <?= $uc->getName() ?></label>
<?php endif; ?>
</li>
<li>
Нажмите кнопку <strong>Подарить</strong> под предметом, который хотите преподнести в подарок:<br>
</li>
</ol>
</td>
</tr>
<?php if ($giftsvars): ?>
<?php foreach ($giftsvars as $k => $v): ?>
<tr>
<td style="text-align: center; background-color: lightgrey;">
<?php if ($k === 0): ?>
<h3>Уникальные подарки</h3>
<?php endif; ?>
<table class="zerowide">
<tr>
<td style="width: 160px; text-align: center; border-right: 1px solid #a5a5a5; padding: 5px;">
<img style="padding-bottom: 5px;" src="<?= $v['img'] ?>" alt=""><br>
<button onclick="document.getElementById('itemgift').value=<?= $v['jsvalue'] ?>;document.getElementById('F1').submit();">
Подарить за <?= $v['money'] ?> кр.
</button>
</td>
<td style="vertical-align: top; border-right: 1px solid #a5a5a5; padding: 5px;">
<a href="/item/0"><?= $v['linkname'] ?></a><br><small>Это именной подарок, его можете подарить только вы.</small>
</td>
</tr>
</table>
</td>
</tr>
<?php endforeach; ?>
<tr>
<td style="text-align: center; background-color: lightgrey;"><h3>Стандартные подарки</h3></td>
</tr>
<?php endif; ?>
<?= $itmAllSee ?>
<?php elseif ($actionSale): ?>
<?= $itmAllSee ?>
<?php else: ?>
<div class="wares">
<?php $shop->printWares(); ?>
</div>
<?php endif; ?>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<td style="width: 280px; vertical-align: top;">
<div style="display: flex; align-items: flex-end; font-size: smaller; flex-direction: column; gap: 2px;">
<?= $goLis; ?>
<?php if ($shopId === $shop::MAIN): ?>
<button onclick="location.href='main.php?loc=1.180.0.9&rnd=<?= $code; ?>'">Центральная Площадь</button>
<button onclick="location.href='main.php?loc=1.180.0.368&rnd=<?= $code; ?>'">Подпольная лавка</button>
<button onclick="location.href='main.php?loc=1.180.0.13&rnd=<?= $code; ?>'">Магазин «Берёзка»</button>
<?php else: ?>
<button onclick="location.href='main.php?loc=1.180.0.10&rnd=<?= $code; ?>'">Государственный магазин</button>
<?php endif; ?>
</div>
<div>
<div style="display: grid; grid-template-columns: max-content max-content; font-size: smaller; justify-content: end; margin: 10px 0;">
<div style="text-align: right; margin-right: 5px;">Масса:</div>
<div style="font-weight: bold;"><?= $u->aves['now'] ?>/<?= $u->aves['max'] ?></div>
<div style="text-align: right; margin-right: 5px;">У вас в наличии:</div>
<div style="font-weight: bold; color: green"><?= $shop->getUserWallet() ?></div>
</div>
<div style="text-align: center;">
<?php if (!$actionSale): ?>
<INPUT class="btn" TYPE="button" value="Продать вещи" onclick="location='?otdel=<?= $otdel ?>&sale=1'">
<?php else: ?>
<INPUT class="btn" TYPE="button" value="Купить вещи" onclick="location='?otdel=<?= $otdel ?>'">
<?php endif; ?>
&nbsp;
<INPUT class="btn" TYPE="button" value="Обновить" onclick="location = '<?= str_replace('item', '', str_replace('buy', '', $_SERVER['REQUEST_URI'])); ?>';">
</div>
<BR>
</div>
<div style="background-color:#A5A5A5; padding:1px; text-align: center; font-weight: bold;">Отделы магазина</div>
<div style="line-height:17px;">
<?php
/*названия разделов (справа)*/
//$otdels = $shop->getUsedOtdels();
$otdels[37] = "<span style='color: red'>$otdels[37]</span>";
$otdels[100] = 'Сделать подарки';
//$i = 1;
foreach ($otdels as $k => $v) {
$color = $otdel === $k ? '#C7C7C7' : '#e2e0e0';
if (in_array($k, array_keys($shop::OTDEL_GROUP_NAME))) {
if ($i !== 1) {
echo '<br>';
}
echo sprintf('<div style="background-color: #d5d5d5;"><img src="/i/shop_ico/%s.png" alt="%s"> <strong>%s</strong></div>',
$i, $shop::OTDEL_GROUP_NAME[$k], $shop::OTDEL_GROUP_NAME[$k]);
$i++;
}
if ($k === 100) {
echo '<br><div style="background-color: #d5d5d5;"><b>Возможности:</b></div>';
$k = '32&gifts=1';
}
echo '<a href="?otdel=' . $k . '"><div style="background-color: ' . $color . '">&nbsp;&nbsp;' . $v . '</a></div>';
}
?>
</div>
</td>
</table>
<br>
<div id="textgo" style="visibility:hidden;"></div>

View File

@ -0,0 +1,18 @@
<?php
namespace Core;
class View
{
public static function render(string $view, array $arguments = [])
{
extract($arguments, EXTR_SKIP);
$file = $_SERVER['DOCUMENT_ROOT'] . "/_incl_data/Views/$view";
if (is_readable($file)) {
require $file;
} else {
trigger_error("File $file not found!", E_USER_ERROR);
}
}
}

View File

@ -0,0 +1,38 @@
<?php
namespace DTO;
class Present
{
/** Логин отправителя
* @var string
*/
public string $sender;
/** Логин получателя
* @var string
*/
public string $receiver;
/** id подарка
* @var int
*/
public int $itemId;
/** Заголовок поздравления.
* Обычно отображается в инфе персонажа в тултипе.
* @var string
*/
public string $textTitle = '';
/** Текст поздравления
* Отображается только получателю подарка в инвентаре.
* @var string
*/
public string $text = '';
/** Флаг анонимности. Если true, в поле "отправитель" будет "невидимка".
* @var bool
*/
public bool $anonymousSender = false;
/** Флаг кланового подарка. Если true, в поле "отправитель" будет имя клана в котором состоит игрок.
* @var bool
*/
public bool $clanSender = false;
}

26
_incl_data/class/Delo.php Normal file
View File

@ -0,0 +1,26 @@
<?php
use Core\Db;
use User\UserIp;
class Delo
{
/**
* Запись в личное дело персонажа.
* @param int $uid
* @param string $dop
* @param string $text
* @param string $from
* @param float $moneyOut
* @param int $type
* @return void
*/
public static function add(int $type, string $from, int $uid, string $text, float $moneyOut = 0, string $dop = '')
{
$sql = 'insert into users_delo (uid, dop, time, city, text, login, `delete`, no_right, ip, moneyOut, type) values (?,?,unix_timestamp(),?,?,?,0,?,?,?,?)';
Db::sql($sql, [
$uid, $dop, 'capitalcity', $text, $from, '', UserIp::get(), $moneyOut, $type,
]);
}
}

View File

@ -0,0 +1,122 @@
<?php
namespace Item\Data;
class Bonuses
{
private static array $names = [
'hpAll' => 'Уровень жизни (HP)',
'mpAll' => 'Уровень маны',
's1' => 'Сила',
's2' => 'Ловкость',
's3' => 'Интуиция',
's4' => 'Выносливость',
's5' => 'Интелект',
's6' => 'Мудрость',
'm1' => 'Мф. критического удара (%)',
'm2' => 'Мф. против критического удара (%)',
'm3' => 'Мф. мощности критического удара (%)',
'm4' => 'Мф. увертывания (%)',
'm5' => 'Мф. против увертывания (%)',
'm6' => 'Мф. контрудара (%)',
'm7' => 'Мф. парирования (%)',
'm8' => 'Мф. блока щитом (%)',
'm9' => 'Мф. пробоя брони (%)',
'm10' => 'Мф. мощности урона',
'm11' => 'Мф. мощности магии стихий',
'm14' => 'Мф. абс. критического удара (%)',
'm15' => 'Мф. абс. увертывания (%)',
'm18' => 'Мф. абс. блока щитом (%)',
'a1' => 'Мастерство владения ножами, кинжалами',
'a2' => 'Мастерство владения топорами, секирами',
'a3' => 'Мастерство владения дубинами, молотами',
'a4' => 'Мастерство владения мечами',
'a5' => 'Мастерство владения магическими посохами',
'aall' => 'Мастерство владения оружием',
'mall' => 'Мастерство владения магией стихий',
'mg1' => 'Мастерство владения магией огня',
'mg2' => 'Мастерство владения магией воздуха',
'mg3' => 'Мастерство владения магией воды',
'mg4' => 'Мастерство владения магией земли',
'mg7' => 'Мастерство владения серой магией',
'pa1' => 'Мф. мощности колющего урона',
'pa2' => 'Мф. мощности рубящего урона',
'pa3' => 'Мф. мощности дробящий урона',
'pa4' => 'Мф. мощности режущий урона',
'pm1' => 'Мф. мощности магии огня',
'pm2' => 'Мф. мощности магии воздуха',
'pm3' => 'Мф. мощности магии воды',
'pm4' => 'Мф. мощности магии земли',
'za' => 'Защита от урона',
'zm' => 'Защита от магии стихий',
'speedhp' => 'Регенерация здоровья (НР)',
'speedmp' => 'Регенерация маны (МР)',
'zona' => 'Дополнительная зона атаки',
'zonb' => 'Дополнительная зона блока',
'speed_dungeon' => 'Скорость перемещения по пещерам',
'antm3' => 'Мф. против мощности крит. удара',
'spasenie' => 'Спасение после смерти',
'exp' => 'Получаемый опыт (%)',
'repair_z' => 'Бесплатное извлечение заточек',
'repair_r' => 'Бесплатное извлечение рун',
'repair_discount' => 'Скидка на ремонт вещей',
'gold' => 'Благодать Ангела',
'magic_cast' => 'Дополнительное заклинание за ход',
];
private array $result = [];
public function __construct(array $data)
{
foreach ($data as $bonusName => $value) {
if (!self::$names[$bonusName]) {
continue;
}
$this->result[self::$names[$bonusName]] = $value;
}
$this->armor($data);
}
private function armor(array $data): void
{
$min = 0;
$max = 0;
$type = [
1 => 'головы',
2 => 'корпуса',
3 => 'пояса',
4 => 'ног',
];
foreach ($type as $k => $v) {
if (!empty($data['mib' . $k])) {
$min = $data['mib' . $k];
$max = $data['mib' . $k];
}
if (!empty($data['mab' . $k])) {
if (empty($data['mib' . $k])) {
$min = $data['mab' . $k];
}
$max = $data['mab' . $k];
}
if (empty($min) && empty($max)) {
return;
}
$this->result['Броня ' . $v] = $min . ' - ' . $max;
}
}
public function get(): array
{
return $this->result;
}
public function addZonb()
{
if (isset($this->result[self::$names['zonb']])) {
$this->result[self::$names['zonb']]++;
} else {
$this->result[self::$names['zonb']] = 1;
}
}
}

View File

@ -0,0 +1,41 @@
<?php
namespace Item\Data;
class Properties
{
private static array $names = [
'damage' => 'Урон',
];
private array $result = [];
public function __construct(array $data)
{
$this->damage($data);
}
private function damage(array $data): void
{
$min = 0;
$max = 0;
if (!empty($data['yron_min'])) {
$min = $data['yron_min'];
$max = $data['yron_min'];
}
if (!empty($data['yron_max'])) {
if (empty($data['yron_min'])) {
$min = $data['yron_max'];
}
$max = $data['yron_max'];
}
if (empty($min) && empty($max)) {
return;
}
$this->result[self::$names['damage']] = $min . ' - ' . $max;
}
public function get(): array
{
return $this->result;
}
}

View File

@ -0,0 +1,84 @@
<?php
namespace Item\Data;
class Requirements
{
private static array $names = [
'sex' => 'Пол',
'lvl' => 'Уровень',
's1' => 'Сила',
's2' => 'Ловкость',
's3' => 'Интуиция',
's4' => 'Выносливость',
's5' => 'Интелект',
's6' => 'Мудрость',
'a1' => 'Мастерство владения ножами, кинжалами',
'a2' => 'Мастерство владения топорами, секирами',
'a3' => 'Мастерство владения дубинами, молотами',
'a4' => 'Мастерство владения мечами',
'a5' => 'Мастерство владения магическими посохами',
'mg1' => 'Мастерство владения магией огня',
'mg2' => 'Мастерство владения магией воздуха',
'mg3' => 'Мастерство владения магией воды',
'mg4' => 'Мастерство владения магией земли',
'mg7' => 'Мастерство владения серой магией',
'align' => 'Склонность',
];
private static array $sex = [
0 => 'Мужской',
1 => 'Женский',
];
private static array $align = [
1 => 'Свет',
2 => 'Хаос',
3 => 'Тьма',
7 => 'Нейстралитет',
9 => 'Дитя подземелья',
];
private int $alignValue = 0;
private array $result = [];
public function __construct(array $data)
{
foreach ($data as $requirementName => $value) {
if (!self::$names[$requirementName]) {
continue;
}
if ($requirementName === 'sex') {
if (self::$sex[$value]) {
$value = self::$sex[$value];
} else {
continue;
}
}
if ($requirementName === 'align') {
if (self::$align[$value]) {
$this->alignValue = $value;
$value = self::$align[$value];
} else {
continue;
}
}
$this->result[$requirementName] = [
'name' => self::$names[$requirementName],
'value' => $value,
];
}
}
public function get(): array
{
return $this->result;
}
/** Число для отрисовки иконки.
* @return int
*/
public function getAlign(): int
{
return $this->alignValue;
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace Item;
use Core\ConversionHelper;
use Core\Db;
class DataModel
{
private array $data = [];
public function __construct(int $itemId)
{
$datastring = Db::getValue('select data from items_main_data where items_id = ?', [$itemId]);
if (empty($datastring)) {
return;
}
$this->data = ConversionHelper::dataStringToArray($datastring);
}
public function getAll(): array
{
return $this->data;
}
public function getRequirements(): array
{
return $this->getPrefixed('tr_');
}
private function getPrefixed(string $prefix): array
{
$result = [];
foreach ($this->data as $k => $v) {
if ($this->searchByPrefix($prefix, $k)) {
$result[str_replace($prefix, '', $k)] = $v;
}
}
return $result;
}
private function searchByPrefix(string $prefix, string $string): bool
{
return substr($string, 0, strlen($prefix)) === $prefix;
}
public function getBonuses(): array
{
return $this->getPrefixed('add_');
}
public function getProperties(): array
{
return $this->getPrefixed('sv_');
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,90 @@
<?php
use Core\Db;
use User\Clan;
class Present
{
const EXP_NEEDED_FOR_ADD_PRESENT_TEXT = 500000;
private array $sender;
private array $receiver;
private string $status;
private \DTO\Present $present;
private Clan $senderClan;
/**
* @param \DTO\Present $present
*/
public function __construct(\DTO\Present $present)
{
$check = Db::getValue('select count(id) from users where login in (?,?)', [$present->sender, $present->receiver]);
if ($check === 1) {
$this->status = 'Очень щедро дарить что-то самому себе 😉';
return;
}
if ($check === 0) {
$this->status = 'Ошибка: В городе нет такого персонажа!';
return;
}
$this->sender = User::getInfo($present->sender);
$this->receiver = User::getInfo($present->receiver);
$this->senderClan = new Clan($this->sender);
if ($present->anonymousSender) {
$this->sender['login'] = 'невидимки';
} elseif ($present->clanSender) {
$this->sender['login'] = 'клана ' . $this->senderClan->getName();
}
$this->present = $present;
if ($this->sender['exp'] < self::EXP_NEEDED_FOR_ADD_PRESENT_TEXT) {
$this->present->textTitle = '';
$this->present->text = '';
}
$this->send();
$this->sendResultToChat('Получен подарок от ' . $this->sender['login']);
$this->status = 'Подарок был успешно отправлен персонажу ' . $this->receiver['login'];
}
private function send()
{
$values = [
'textTitle' => strip_tags($this->present->textTitle),
'text' => strip_tags($this->present->text),
'sender' => $this->sender['login'],
'receiver' => $this->receiver['id'],
'presentId' => $this->present->itemId,
];
Db::sql('update items_users set gtxt1 = :textTitle, gtxt2 = :text, gift = :sender, time_create = unix_timestamp(), uid = :receiver where id = :presentId', $values);
$this->addDelo(['id' => $this->present->itemId, 'name' => (new ItemModel($this->present->itemId))->getName()]);
}
private function addDelo(array $item)
{
$from = 'present';
$senderLog = sprintf('Отправлен подарок к %s [id:%s]. Предмет %s [id:%s].', $this->receiver['login'], $this->receiver['id'], $item['name'], $item['id']);
$receiverLog = sprintf('Получен подарок от %s [id:%s]. Предмет %s [id:%s].', $this->sender['login'], $this->sender['id'], $item['name'], $item['id']);
Delo::add(1, $from, $this->receiver['id'], $receiverLog);
Delo::add(1, $from, $this->sender['id'], $senderLog);
}
private function sendResultToChat(string $text)
{
$msg = new ChatMessage();
$msg->setTo($this->receiver['login']);
$msg->setType(6);
$msg->setText($text);
(new Chat())->sendMsg($msg);
}
/**
* @return string
*/
public function getStatus(): string
{
return $this->status;
}
}

View File

@ -3639,14 +3639,6 @@ class User
return $plid;
}
public function addKr($amount, $uid = 0)
{
if ($uid === 0) {
$uid = $this->info['id'];
}
Db::sql('update users set money = money + ? where id = ?', [$amount, $uid]);
}
public function addNewbot($id, $botDate, $clon, $logins_bot = null, $luser = null, $round = null)
{
if ($clon != null) {
@ -3907,11 +3899,14 @@ class User
return ItemsModel::addItem($id, $uid, $md, $dn, $mxiznos, $nosudba, $plavka);
}
/*
* $iid Уникальный id прдемета и одновремено флаг что
* покупка из комка.
*/
/**
* @param $sid
* @param $itm
* @param mixed $x количество
* @param $mdata
* @param $vip
* @return string
*/
public function buyItem($sid, $itm, $x, $mdata = null, $vip = false)
{
global $c, $code, $sid;
@ -3932,7 +3927,7 @@ class User
);
$r = '';
$vip = false;
if ($this->info['allLock'] > time()) {
$r = 'Вам запрещено совершать покупки до ' . date('d.m.y H:i', $this->info['allLock']) . '';
} elseif (isset($i['id'])) {
@ -4540,13 +4535,11 @@ class User
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
} elseif ($need_rep > 0) {
$r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.';
} elseif ($i['price_1'] * $x > $this->info['money4'] && $zuby == 1) {
$r = 'У вас недостаточно денег.';
} elseif ($mxby == -1) {
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
} elseif ($trn == 0 && $this->info['admin'] == 0) {
$r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')';
} elseif ($i['price_1'] * $x > $this->info['money'] && $zuby == 0) {
} elseif ($i['price_1'] * $x > $this->info['money']) {
$r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)';
} else {
$d = mysql_fetch_array(
@ -4554,164 +4547,144 @@ class User
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
)
);
if ($zuby == 0) {
$this->info['money'] -= $price;
$this->info['money'] -= $price;
$this->addKr(-$price);
//новая дата
$data = '';
$data .= $d['data'];
if ($mdata != null) {
$data .= '|' . $mdata;
}
$upd = mysql_query(
'UPDATE `users` SET `money` = "' . mysql_real_escape_string(
round($this->info['money'], 2)
) . '",`money4` = "' . mysql_real_escape_string(
round($this->info['money4'], 2)
) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'
);
if ($upd) {
//новая дата
$data = '';
$data .= $d['data'];
if ($mdata != null) {
$data .= '|' . $mdata;
$j = 0;
$c_itm = 0;
$c_itm_data_a = [];
while ($j < count($detrn)) {
$itm = mysql_fetch_array(
mysql_query(
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0") AND `inShop` = "0" ORDER BY `inGroup` DESC LIMIT 1'
)
);
if (!empty($itm['data']) && $c_itm == 0) {
$po = ConversionHelper::dataStringToArray($itm['data']);
if (isset($po['sudba'])) {
$c_itm_data_a['sudba'] = $po['sudba'];
}
if (!empty($po['gravi'])) {
$c_itm_data_a['gravi'] = $po['gravi'];
if (isset($po['gravic'])) {
$c_itm_data_a['gravic'] = $po['gravic'];
}
$c_itm++;
}
if (!empty($po['imposed_id']) && $po['imposed_id'] > 0) {
$c_itm_data_a['imposed_id'] = $po['imposed_id'];
if (isset($po['imposed'])) {
$c_itm_data_a['imposed'] = $po['imposed'];
}
if (isset($po['imposed_name'])) {
$c_itm_data_a['imposed_name'] = $po['imposed_name'];
}
if (isset($po['imposed_level'])) {
$c_itm_data_a['imposed_level'] = $po['imposed_level'];
}
if (isset($po['bm_a1'])) {
$c_itm_data_a['bm_a1'] = $po['bm_a1'];
}
$c_itm++;
}
if (!empty($po['spell_id']) && $po['spell_id'] > 0) {
$c_itm_data_a['spell_id'] = $po['spell_id'];
if (isset($po['spell'])) {
$c_itm_data_a['spell'] = $po['spell'];
}
if (isset($po['spell_name'])) {
$c_itm_data_a['spell_name'] = $po['spell_name'];
}
if (isset($po['spell_lvl'])) {
$c_itm_data_a['spell_lvl'] = $po['spell_lvl'];
}
if (isset($po['spell_st_name'])) {
$c_itm_data_a['spell_st_name'] = $po['spell_st_name'];
}
if (isset($po['spell_st_val'])) {
$c_itm_data_a['spell_st_val'] = $po['spell_st_val'];
}
$c_itm++;
}
if (!empty($po['rune_id']) && $po['rune_id'] > 0) {
$c_itm_data_a['rune_id'] = $po['rune_id'];
if (isset($po['rune'])) {
$c_itm_data_a['rune'] = $po['rune'];
}
if (isset($po['rune_name'])) {
$c_itm_data_a['rune_name'] = $po['rune_name'];
}
if (isset($po['rune_lvl'])) {
$c_itm_data_a['rune_lvl'] = $po['rune_lvl'];
}
$c_itm++;
}
if (!empty($po['upatack_id']) && $po['upatack_id'] > 0) {
$c_itm_data_a['upatack_id'] = $po['upatack_id'];
if (isset($po['upatack'])) {
$c_itm_data_a['upatack'] = $po['upatack'];
}
if (isset($po['upatack_name'])) {
$c_itm_data_a['upatack_name'] = $po['upatack_name'];
}
if (isset($po['upatack_lvl'])) {
$c_itm_data_a['upatack_lvl'] = $po['upatack_lvl'];
}
$c_itm++;
}
}
$j = 0;
$c_itm = 0;
$c_itm_data_a = [];
while ($j < count($detrn)) {
$itm = mysql_fetch_array(
$j++;
}
if ($c_itm > 0) {
$data = ConversionHelper::dataStringToArray($data);
// Чарка
if (isset($c_itm_data_a['spell_st_name']) && isset($c_itm_data_a['spell_st_val']) && $c_itm_data_a['spell_st_name'] != '' && $c_itm_data_a['spell_st_val'] != '') {
$data['add_' . $c_itm_data_a['spell_st_name']] = (int)(isset($data['add_' . $c_itm_data_a['spell_st_name']]) ? (int)$data['add_' . $c_itm_data_a['spell_st_name']] : 0) + (int)$c_itm_data_a['spell_st_val'];
}
// Руна
if (isset($c_itm_data_a['rune']) && $c_itm_data_a['rune'] > 0) {
$ritm = mysql_fetch_array(
mysql_query(
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0") AND `inShop` = "0" ORDER BY `inGroup` DESC LIMIT 1'
'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $c_itm_data_a['rune_id'] . '" LIMIT 1'
)
);
if (isset($itm['data']) && $itm['data'] != '' && $c_itm == 0) {
$po = ConversionHelper::dataStringToArray($itm['data']);
if (isset($po['sudba'])) {
if (isset($po['sudba'])) {
$c_itm_data_a['sudba'] = $po['sudba'];
}
}
if (isset($po['gravi']) && $po['gravi'] != '') {
if (isset($po['gravi'])) {
$c_itm_data_a['gravi'] = $po['gravi'];
}
if (isset($po['gravic'])) {
$c_itm_data_a['gravic'] = $po['gravic'];
}
$c_itm++;
}
if (isset($po['imposed_id']) && $po['imposed_id'] > 0) {
if (isset($po['imposed'])) {
$c_itm_data_a['imposed'] = $po['imposed'];
}
if (isset($po['imposed_id'])) {
$c_itm_data_a['imposed_id'] = $po['imposed_id'];
}
if (isset($po['imposed_name'])) {
$c_itm_data_a['imposed_name'] = $po['imposed_name'];
}
if (isset($po['imposed_level'])) {
$c_itm_data_a['imposed_level'] = $po['imposed_level'];
}
if (isset($po['bm_a1'])) {
$c_itm_data_a['bm_a1'] = $po['bm_a1'];
}
$c_itm++;
}
if (isset($po['spell_id']) && $po['spell_id'] > 0) {
if (isset($po['spell'])) {
$c_itm_data_a['spell'] = $po['spell'];
}
if (isset($po['spell_id'])) {
$c_itm_data_a['spell_id'] = $po['spell_id'];
}
if (isset($po['spell_name'])) {
$c_itm_data_a['spell_name'] = $po['spell_name'];
}
if (isset($po['spell_lvl'])) {
$c_itm_data_a['spell_lvl'] = $po['spell_lvl'];
}
if (isset($po['spell_st_name'])) {
$c_itm_data_a['spell_st_name'] = $po['spell_st_name'];
}
if (isset($po['spell_st_val'])) {
$c_itm_data_a['spell_st_val'] = $po['spell_st_val'];
}
$c_itm++;
}
if (isset($po['rune_id']) && $po['rune_id'] > 0) {
if (isset($po['rune'])) {
$c_itm_data_a['rune'] = $po['rune'];
}
if (isset($po['rune_id'])) {
$c_itm_data_a['rune_id'] = $po['rune_id'];
}
if (isset($po['rune_name'])) {
$c_itm_data_a['rune_name'] = $po['rune_name'];
}
if (isset($po['rune_lvl'])) {
$c_itm_data_a['rune_lvl'] = $po['rune_lvl'];
}
$c_itm++;
}
if (isset($po['upatack_id']) && $po['upatack_id'] > 0) {
if (isset($po['upatack'])) {
$c_itm_data_a['upatack'] = $po['upatack'];
}
if (isset($po['upatack_id'])) {
$c_itm_data_a['upatack_id'] = $po['upatack_id'];
}
if (isset($po['upatack_name'])) {
$c_itm_data_a['upatack_name'] = $po['upatack_name'];
}
if (isset($po['upatack_lvl'])) {
$c_itm_data_a['upatack_lvl'] = $po['upatack_lvl'];
}
$c_itm++;
$j = 0;
$data_r = ConversionHelper::dataStringToArray($ritm['data']);
while ($j < count($this->items['add'])) {
if (isset($data_r['add_' . $this->items['add'][$j]])) {
$data['add_' . $this->items['add'][$j]] += $data_r['add_' . $this->items['add'][$j]];
}
$j++;
}
$j++;
}
if ($c_itm > 0) {
$data = ConversionHelper::dataStringToArray($data);
// Чарка
if (isset($c_itm_data_a['spell_st_name']) && isset($c_itm_data_a['spell_st_val']) && $c_itm_data_a['spell_st_name'] != '' && $c_itm_data_a['spell_st_val'] != '') {
$data['add_' . $c_itm_data_a['spell_st_name']] = (int)(isset($data['add_' . $c_itm_data_a['spell_st_name']]) ? (int)$data['add_' . $c_itm_data_a['spell_st_name']] : 0) + (int)$c_itm_data_a['spell_st_val'];
}
// Руна
if (isset($c_itm_data_a['rune']) && $c_itm_data_a['rune'] > 0) {
$ritm = mysql_fetch_array(
mysql_query(
'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $c_itm_data_a['rune_id'] . '" LIMIT 1'
)
);
$j = 0;
$data_r = ConversionHelper::dataStringToArray($ritm['data']);
while ($j < count($this->items['add'])) {
if (isset($data_r['add_' . $this->items['add'][$j]])) {
$data['add_' . $this->items['add'][$j]] += $data_r['add_' . $this->items['add'][$j]];
}
$j++;
}
}
$data = ConversionHelper::arrayToDataString($data);
$c_itm_data = ConversionHelper::arrayToDataString($c_itm_data_a);
$data .= '|' . $c_itm_data;
}
$i['gift'] = '';
$data = ConversionHelper::arrayToDataString($data);
$c_itm_data = ConversionHelper::arrayToDataString($c_itm_data_a);
$data .= '|' . $c_itm_data;
}
$ix = 1;
$gix = 0;
while ($ix <= $x) {
if ($i['type'] != 71) {
if ($i['iznos'] > 0) {
$i['iznosMAXi'] = $i['iznos'];
}
//
$i['price_2'] = 0;
//
$ins = mysql_query(
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
$i['gift'] = '';
$ix = 1;
$gix = 0;
while ($ix <= $x) {
if ($i['type'] != 71) {
if ($i['iznos'] > 0) {
$i['iznosMAXi'] = $i['iznos'];
}
//
$i['price_2'] = 0;
//
$ins = mysql_query(
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
"' . $i['price_1'] . '",
"' . $i['price_2'] . '",
"' . $i['gift'] . '",
@ -4725,76 +4698,68 @@ class User
"' . $this->info['city'] . '",
"' . time() . '",
"' . time() . '")'
);
} else {
mysql_query(
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
'.png', '.gif', $i['img']
) . '" LIMIT 1'
);
$ins = mysql_query(
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
'.png', '.gif', $i['img']
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
);
}
if ($ins) {
$gix++;
}
$ix++;
}
if ($ins) {
//Записываем в личное дело что предмет получен
if ($trnt != '' && $i['tr_items'] != '') {
$trnt = ', ' . $trnt;
}
if ($zuby == 0) {
$r = 'Вы приобрели предмет &quot;' . $i['name'] . '&quot; (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
} else {
$r = 'Вы приобрели предмет &quot;' . $i['name'] . '&quot; (x' . $x . ' / ' . $gix . ') за ' . $this->zuby(
$price
) . '. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
}
$j = 0;
while ($j < count($detrn)) {
$ost = ((int)$detrn[$j][1]);
$s4 = mysql_query(
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
);
while ($itm = mysql_fetch_array($s4)) {
//удаляем предмет
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
);
}
$j++;
}
mysql_query(
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
);
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: Приобрел предмет &quot;<strong>' . $i['name'] . '</strong>&quot; (x' . $x . ') [#' . $i['iid'] . '] за <strong>' . $price . '</strong> кр.',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
);
} else {
//Записываем в личное дело что предмет не получен
$r = 'Вам не удалось приобрести &quot;' . $i['name'] . '&quot;. Администрация магазина в &quot;' . $this->city_name[$this->info['city']] . '&quot; должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
mysql_query(
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
'.png', '.gif', $i['img']
) . '" LIMIT 1'
);
$ins = mysql_query(
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
'.png', '.gif', $i['img']
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
);
if (!$ld) {
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
}
}
} else {
$r = 'Вам не удалось приобрести предмет...';
if ($ins) {
$gix++;
}
$ix++;
}
if ($ins) {
//Записываем в личное дело что предмет получен
if ($trnt != '' && $i['tr_items'] != '') {
$trnt = ', ' . $trnt;
}
$r = 'Вы приобрели предмет &quot;' . $i['name'] . '&quot; (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
$j = 0;
while ($j < count($detrn)) {
$ost = ((int)$detrn[$j][1]);
$s4 = mysql_query(
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
);
while ($itm = mysql_fetch_array($s4)) {
//удаляем предмет
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
);
}
$j++;
}
mysql_query(
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
);
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: Приобрел предмет &quot;<strong>' . $i['name'] . '</strong>&quot; (x' . $x . ') [#' . $i['iid'] . '] за <strong>' . $price . '</strong> кр.',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
);
} else {
//Записываем в личное дело что предмет не получен
$r = 'Вам не удалось приобрести &quot;' . $i['name'] . '&quot;. Администрация магазина в &quot;' . $this->city_name[$this->info['city']] . '&quot; должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
);
if (!$ld) {
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
}
}
}
} else { // Стандартная покупка предмета
if ($i['kolvo'] < $x) {
@ -4886,83 +4851,57 @@ class User
}
}
$zuby = 0;
if (isset($_GET['zuby']) && $i['level'] < 8 && Config::get('zuby') == true) {
$zuby = 1;
}
$d = mysql_fetch_array(
mysql_query(
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
)
);
$po = ConversionHelper::dataStringToArray($d['data']);
if (!empty($d['data'])) {
$po = ConversionHelper::dataStringToArray($d['data']);
}
if ($zuby == 1 && $po['tr_lvl'] > 7) {
$r = 'Данный предмет нельзя приобрести за зубы.';
} elseif (!isset($this->sid_zuby[$sid]) && $zuby == 1) {
$r = 'Данный предмет нельзя приобрести за зубы.';
} elseif ($zuby == 1 && $i['nozuby'] == 1) {
$r = 'Данный предмет нельзя приобрести за зубы.';
} elseif ($i['max_buy'] < $x && $i['max_buy'] > 0) {
if ($i['max_buy'] < $x && $i['max_buy'] > 0) {
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
} elseif (isset($need_rep) && $need_rep == 0) {
$r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.';
} elseif ($zuby == 1 && $this->info['money4'] < $i['price_1']) {
$r = 'У вас недостаточно зубов.';
} elseif ($i['price_1'] * $x > $this->info['money4'] && $zuby == 1) {
$r = 'У вас недостаточно денег.';
} elseif ($mxby == -1) {
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
} elseif ($trn == 0 && $this->info['admin'] == 0) {
$r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')';
} elseif ($i['price_1'] * $x > $this->info['money'] && $zuby == 0) {
} elseif ($i['price_1'] * $x > $this->info['money']) {
$r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)';
} else {
if ($zuby == 0) {
$this->info['money'] -= $price;
} else {
$this->info['money4'] -= $price;
$this->info['money'] -= $price;
$this->addKr(-$price);
//новая дата
$data = '';
$data .= $d['data'];
$data = str_replace('sudba=1', 'sudba=' . $this->info['login'], $data);
if ($mdata != null) {
$data .= '|' . $mdata;
}
$upd = mysql_query(
'UPDATE `users` SET `money` = "' . mysql_real_escape_string(
round($this->info['money'], 2)
) . '",`money4` = "' . mysql_real_escape_string(
round($this->info['money4'], 2)
) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'
);
if ($upd) {
//новая дата
$data = '';
$data .= $d['data'];
$data = str_replace('sudba=1', 'sudba=' . $this->info['login'], $data);
if ($mdata != null) {
$data .= '|' . $mdata;
}
$i['gift'] = '';
$i['gift'] = '';
if ($zuby == 1) {
$i['gift'] = '1';
$data .= '|nosale=1|zazuby=' . round($price / $x, 2) . '';
}
if ($sid == 404) {
$data .= '|nosale=1|notransfer=1|fromshop=404|sudba=1';
}
if ($sid == 404) {
$data .= '|nosale=1|notransfer=1|fromshop=404|sudba=1';
}
$ix = 1;
$gix = 0;
while ($ix <= $x) {
if ($i['type'] != 71) {
if ($i['iznos'] > 0) {
$i['iznosMAXi'] = $i['iznos'];
}
//
$i['price_2'] = 0;
//
$ins = mysql_query(
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
$ix = 1;
$gix = 0;
while ($ix <= $x) {
if ($i['type'] != 71) {
if ($i['iznos'] > 0) {
$i['iznosMAXi'] = $i['iznos'];
}
//
$i['price_2'] = 0;
//
$ins = mysql_query(
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
"' . $i['price_1'] . '",
"' . $i['price_2'] . '",
"' . $i['gift'] . '",
@ -4976,127 +4915,112 @@ class User
"' . $this->info['city'] . '",
"' . time() . '",
"' . time() . '")'
);
} else {
mysql_query(
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
'.png', '.gif', $i['img']
) . '" LIMIT 1'
);
$ins = mysql_query(
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
'.png', '.gif', $i['img']
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
);
}
if ($ins) {
$gix++;
}
$ix++;
}
if ($ins) {
//Записываем в личное дело что предмет получен
if ($trnt != '' && $i['tr_items'] != '') {
$trnt = ', ' . $trnt;
}
if ($zuby == 0) {
$r = 'Вы приобрели предмет &quot;' . $i['name'] . '&quot; (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
} else {
$r = 'Вы приобрели предмет &quot;' . $i['name'] . '&quot; (x' . $x . ' / ' . $gix . ') за ' . $this->zuby(
$price
) . '. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
}
$zx = 0;
$rs = 0;
while ($zx < $x) {
if (($sid == 1 || $sid == 5) && $i['level'] >= 4 && round($price / $x) > 25) {
if ($this->stats['shopSale'] == 0 && !Config::get('nosanich')) {
//Выдаем странички Саныча в гос магазине и канаве
$prmn = 0; //дополнительный бонус
$prmn = (1 - (pow(0.5, ($price / $x / 200)))) * 100;
$prmn = round(20 / 100 * $prmn);
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
//3143 - 3192
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
//обложка
$gitm = rand(3193, 3195);
} else {
$gitm = rand(3143, 3192);
}
if ($gitm == 3193) {
$gitm = 3194;
}
$this->addItem($gitm, $this->info['id']);
$rs++;
}
}
}
$zx++;
}
if ($rs > 1) {
if (rand(0, 1) == 1) {
$r .= ' Предмет был завернут в какую-то бумажку. (x' . $rs . ')';
} elseif (rand(0, 1)) {
$r .= ' Предмет был завернут в странный свиток. (x' . $rs . ')';
} else {
$r .= ' К предмету была прикреплена какая-та бумажка. (x' . $rs . ')';
}
} elseif ($rs > 0) {
if (rand(0, 1) == 1) {
$r .= ' Предмет был завернут в какую-то бумажку.';
} elseif (rand(0, 1)) {
$r .= ' Предмет был завернут в странный свиток.';
} else {
$r .= ' К предмету была прикреплена какая-та бумажка.';
}
}
$j = 0;
while ($j < count($detrn)) {
$ost = ((int)$detrn[$j][1]);
$s4 = mysql_query(
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
);
while ($itm = mysql_fetch_array($s4)) {
//удаляем предмет
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
);
}
$j++;
}
mysql_query(
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
);
$zuby_inf = '';
if ($zuby == 1) {
$zuby_inf = ' <font color=red><small>(За зубы)</small></font>';
}
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: Приобрел предмет &quot;<strong>' . $i['name'] . '</strong>&quot; (x' . $x . ') [#' . $i['iid'] . '] за <strong>' . $price . '</strong> кр.' . $zuby_inf . '',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
);
} else {
//Записываем в личное дело что предмет не получен
$r = 'Вам не удалось приобрести &quot;' . $i['name'] . '&quot;. Администрация магазина в &quot;' . $this->city_name[$this->info['city']] . '&quot; должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
mysql_query(
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
'.png', '.gif', $i['img']
) . '" LIMIT 1'
);
if (!$ld) {
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
$ins = mysql_query(
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
'.png', '.gif', $i['img']
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
);
}
if ($ins) {
$gix++;
}
$ix++;
}
if ($ins) {
//Записываем в личное дело что предмет получен
if ($trnt != '' && $i['tr_items'] != '') {
$trnt = ', ' . $trnt;
}
$r = 'Вы приобрели предмет &quot;' . $i['name'] . '&quot; (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
$zx = 0;
$rs = 0;
while ($zx < $x) {
if (($sid == 1 || $sid == 5) && $i['level'] >= 4 && round($price / $x) > 25 && $this->stats['shopSale'] == 0 && !Config::get('nosanich')) {
//Выдаем странички Саныча в гос магазине и канаве
$prmn = 0; //дополнительный бонус
$prmn = (1 - (pow(0.5, ($price / $x / 200)))) * 100;
$prmn = round(20 / 100 * $prmn);
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
//3143 - 3192
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
//обложка
$gitm = rand(3193, 3195);
} else {
$gitm = rand(3143, 3192);
}
if ($gitm == 3193) {
$gitm = 3194;
}
$this->addItem($gitm, $this->info['id']);
$rs++;
}
}
$zx++;
}
if ($rs > 1) {
if (rand(0, 1) == 1) {
$r .= ' Предмет был завернут в какую-то бумажку. (x' . $rs . ')';
} elseif (rand(0, 1)) {
$r .= ' Предмет был завернут в странный свиток. (x' . $rs . ')';
} else {
$r .= ' К предмету была прикреплена какая-та бумажка. (x' . $rs . ')';
}
} elseif ($rs > 0) {
if (rand(0, 1) == 1) {
$r .= ' Предмет был завернут в какую-то бумажку.';
} elseif (rand(0, 1)) {
$r .= ' Предмет был завернут в странный свиток.';
} else {
$r .= ' К предмету была прикреплена какая-та бумажка.';
}
}
$j = 0;
while ($j < count($detrn)) {
$ost = ((int)$detrn[$j][1]);
$s4 = mysql_query(
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
);
while ($itm = mysql_fetch_array($s4)) {
//удаляем предмет
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
);
}
$j++;
}
mysql_query(
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
);
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: Приобрел предмет &quot;<strong>' . $i['name'] . '</strong>&quot; (x' . $x . ') [#' . $i['iid'] . '] за <strong>' . $price . '</strong> кр.',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
);
} else {
$r = 'Вам не удалось приобрести предмет...';
//Записываем в личное дело что предмет не получен
$r = 'Вам не удалось приобрести &quot;' . $i['name'] . '&quot;. Администрация магазина в &quot;' . $this->city_name[$this->info['city']] . '&quot; должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
$ld = $this->addDelo(
1, $this->info['id'],
'&quot;<font color=green>Shop.' . $this->info['city'] . '</font>&quot;: не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
);
if (!$ld) {
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
}
}
}
}
@ -5106,59 +5030,37 @@ class User
return '<div align="left">' . $r . '</div>';
}
public function addDelo($type, $uid, $txt, $tm, $ct, $frm, $mo, $mi, $vvv = false)
/*
* $iid Уникальный id прдемета и одновремено флаг что
* покупка из комка.
*/
/**
* @param $type
* @param $uid
* @param $txt
* @param @deprecated $tm
* @param @deprecated $ct
* @param $frm
* @param $mo
* @param @deprecated $mi
* @param $vvv
* @return bool
* @deprecated использовать Delo::add().
*/
public function addDelo($type, $uid, $txt, $tm, $ct, $frm, $mo, $mi, $vvv = false): bool
{
return Db::sql(
'insert into users_delo (uid, dop, time, city, text, login, `delete`, ip, moneyOut, type, no_right) values (?,?,?,?,?,?,?,?,?,?,?)',
[
$uid,
$vvv,
$tm,
$ct,
$txt,
$frm,
0,
$_SERVER['HTTP_X_REAL_IP'],
$mo,
$type,
'',
]
);
$dop = $vvv ?: '';
Delo::add($type, $frm, $uid, $txt, $mo, $dop);
return true;
}
public function zuby($v, $t = 0): string
public function addKr($amount, $uid = 0)
{
$r = '';
if ($v < 0) {
$v = 0;
if ($uid === 0) {
$uid = $this->info['id'];
}
if ($t == 0) {
$names[] = ' <img height=7 title=Гнилой&nbsp;Зуб src=' . Config::img() . '/zub_low1.gif />';
$names[] = ' <img height=7 title=Нормальный&nbsp;Зуб src=' . Config::img() . '/zub_low2.gif />';
$names[] = ' <img height=7 title=Белый&nbsp;Зуб src=' . Config::img() . '/zub_low3.gif />';
$names[] = ' <img height=7 title=Золотой&nbsp;Зуб src=' . Config::img() . '/zub_low4.gif />';
} else {
$names[] = ' <img style=vertical-align:baseline height=7 title=Гнилой&nbsp;Зуб src=' . Config::img() . '/zub_low1.gif />';
$names[] = ' <img style=vertical-align:baseline height=7 title=Нормальный&nbsp;Зуб src=' . Config::img() . '/zub_low2.gif />';
$names[] = ' <img style=vertical-align:baseline height=7 title=Белый&nbsp;Зуб src=' . Config::img() . '/zub_low3.gif />';
$names[] = ' <img style=vertical-align:baseline height=7 title=Золотой&nbsp;Зуб src=' . Config::img() . '/zub_low4.gif />';
}
$int = $v;
do {
$mod = $int % 10;
$int = floor($int / 10);//или быстрее $int = ($int-$mod)/10;
$r = array_shift($names) . "" . $mod . $r;
} while ($int);
$ost = explode('.', $v);
$ost = $ost[1];
if (empty($ost)) {
$ost = '00';
}
$r .= '.' . $ost;
return $r;
Db::sql('update users set money = money + ? where id = ?', [$amount, $uid]);
}
public function newAct($test): bool
@ -5973,6 +5875,41 @@ class User
}
}
public function zuby($v, $t = 0): string
{
$r = '';
if ($v < 0) {
$v = 0;
}
if ($t == 0) {
$names[] = ' <img height=7 title=Гнилой&nbsp;Зуб src=' . Config::img() . '/zub_low1.gif />';
$names[] = ' <img height=7 title=Нормальный&nbsp;Зуб src=' . Config::img() . '/zub_low2.gif />';
$names[] = ' <img height=7 title=Белый&nbsp;Зуб src=' . Config::img() . '/zub_low3.gif />';
$names[] = ' <img height=7 title=Золотой&nbsp;Зуб src=' . Config::img() . '/zub_low4.gif />';
} else {
$names[] = ' <img style=vertical-align:baseline height=7 title=Гнилой&nbsp;Зуб src=' . Config::img() . '/zub_low1.gif />';
$names[] = ' <img style=vertical-align:baseline height=7 title=Нормальный&nbsp;Зуб src=' . Config::img() . '/zub_low2.gif />';
$names[] = ' <img style=vertical-align:baseline height=7 title=Белый&nbsp;Зуб src=' . Config::img() . '/zub_low3.gif />';
$names[] = ' <img style=vertical-align:baseline height=7 title=Золотой&nbsp;Зуб src=' . Config::img() . '/zub_low4.gif />';
}
$int = $v;
do {
$mod = $int % 10;
$int = floor($int / 10);//или быстрее $int = ($int-$mod)/10;
$r = array_shift($names) . "" . $mod . $r;
} while ($int);
$ost = explode('.', $v);
$ost = $ost[1];
if (empty($ost)) {
$ost = '00';
}
$r .= '.' . $ost;
return $r;
}
public function price($vl)
{
if ($vl == round($vl)) {
@ -10925,6 +10862,14 @@ LIMIT 1'
return number_format($v, 2, '.', ' ');
}
public function addVoinstvennost($amount, $uid = 0)
{
if ($uid === 0) {
$uid = $this->info['id'];
}
Db::sql('update rep set rep3 = rep3 + ? where id = ?', [$amount, $uid]);
}
/**
* Эта функция сломана! Формулы hp и mp в любых условиях выдают числа около 1000 за раз, в результате
* любое восстановление - практически моментальное. 12.07.2022 Инс.

View File

@ -4,6 +4,7 @@ namespace User;
use Core\ConversionHelper;
use Core\Db;
use Delo;
use User;
class ItemsModel
@ -101,24 +102,18 @@ class ItemsModel
if ($mxiznos > 0) {
$i['iznosMAXi'] = $mxiznos;
}
if ($user->info['dnow'] > 0) {
$room = $user->room['city'];
} else {
$room = $user->info['city'];
}
$args = [
$i['overTypei'] ?? 0,
$i['id'],
$uid,
$data,
$i['iznosMAXi'],
$i['geni'],
$i['magic_inci'],
$room,
$i['dn_delete'] ?? 0,
];
Db::sql(
'insert into items_users (overType, item_id, uid, data, iznosMAX, geniration, magic_inc, maidin, lastUPD, time_create, dn_delete) values (?,?,?,?,?,?,?,?,unix_timestamp(),unix_timestamp(),?)',
'insert into items_users (overType, item_id, uid, data, iznosMAX, magic_inc, lastUPD, time_create, dn_delete) values (?,?,?,?,?,?,unix_timestamp(),unix_timestamp(),?)',
$args
);
$rt = Db::lastInsertId() ?? 0;
@ -132,16 +127,7 @@ class ItemsModel
$ads = 'Расплавлен предмет : [' . $plavka . ']';
}
//Записываем в личное дело что предмет получен
$user->addDelo(
1,
$uid,
'&quot;AddItems.' . $user->info['city'] . '&quot;: Получен предмет &quot;<strong>' . $i['name'] . '</strong>&quot; (x1) [#' . $i['iid'] . ']. ' . $ads,
time(),
$user->info['city'],
'AddItems.' . $user->info['city'],
0,
0
);
Delo::add(1, 'additems', $uid, 'Получен предмет «' . $i['name'] . '» [id:' . $i['iid'] . ']' . $ads);
}
}
return $rt;

40
inf.php
View File

@ -1643,8 +1643,23 @@ if (isset($uer)) {
$glim = 1000;
$i = 0;
$ij1 = 1;
/* from WHERE
* (
`im`.`type` = "38" OR
`im`.`type` = "64" OR
`iu`.`data` LIKE "%|giftsee=1%"
) AND `iu`.`inOdet` = "0"
* */
$sp = mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`im`.`type` = "38" OR `im`.`type` = "64" OR `iu`.`data` LIKE "%|giftsee=1%") AND `iu`.`uid` = "' . $inf['id'] . '" AND `iu`.`gift` != "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" ORDER BY `iu`.`id` DESC LIMIT ' . $glim
'SELECT `im`.*,`iu`.*
FROM `items_users` AS `iu`
LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`)
WHERE
`iu`.`uid` = "' . $inf['id'] . '" AND
`iu`.`gift` != "" AND
`iu`.`delete` = "0"
ORDER BY `iu`.`id` DESC LIMIT ' . $glim
);
while ($pl = mysql_fetch_array($sp)) {
if (stristr($pl['data'], 'gift_id')) {
@ -1690,28 +1705,9 @@ if (isset($uer)) {
$ij2++;
}
$ij3 = 1;
$sp = mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `im`.`type` = 28 AND `iu`.`uid` = "' . $inf['id'] . '" AND `iu`.`gift` != "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" ORDER BY `iu`.`id` DESC LIMIT ' . $glim
);
while ($pl = mysql_fetch_array($sp)) {
if ($pl['type'] == 28) {
//Букеты
if ($pl['gift'] == 1) {
$pl['gift2'] = 'Невидимка';
} else {
$pl['gift2'] = $pl['gift'];
}
$gs[2] .= '<img src="//img.new-combats.tech/i/items/' . $pl['img'] . '" style="margin:1px 1px 0 0;display:block;float:left;cursor:pointer;" onClick="lookGift(event,0,\'' . $pl['name'] . '\',\'' . $pl['img'] . '\',\'' . $pl['gtxt1'] . '\',\'' . $pl['gift'] . '\');" title="' . $pl['gtxt1'] . '
Подарок от ' . $pl['gift2'] . '" />';
}
$ij3++;
}
if ($gs[0] != '' || $gs[1] != '' || $gs[2] != '') {
if ($gs[2] != '') {
$gs[2] = '<tr><td style="padding-top:20px;"><div style="padding-bottom:2px;"><u>Букеты:</u></div><br>' . $gs[2] . '</td></tr>';
}
echo '<br><br><table style="max-width:1260px; width:800px;">' . $gs[2] . '<tr><td><div style="padding-top:20px; padding-bottom:2px;"><u>Подарки:</u></div><br>' . $gs[0] . '</td></tr><tr><td style="padding-top:7px;">' . $gs[1] . '</td></tr></table>';
if ($gs[0] != '' || $gs[1] != '') {
echo '<br><br><table style="max-width:1260px; width:800px;"><tr><td><div style="padding-top:20px; padding-bottom:2px;"><u>Подарки:</u></div><br>' . $gs[0] . '</td></tr><tr><td style="padding-top:7px;">' . $gs[1] . '</td></tr></table>';
$ij4 = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`iu`.`id`) FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`im`.`type` = 28 OR `im`.`type` = 63 OR `im`.`type` = 38 OR `im`.`type` = 64 OR `im`.`type` = 37 OR `iu`.`data` LIKE "%|giftsee=1%" OR `iu`.`data` LIKE "%|giftsee=2%") AND `iu`.`uid` = "' . $inf['id'] . '" AND `iu`.`gift` != "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" LIMIT 1'

View File

@ -108,11 +108,10 @@ if (isset($_GET['nightatack'])) {
function thisInfRm($id, $tp = null, $json = false)
{
global $u;
$rm = Db::getRow('select * from room where code = ? and city = ?', [$id, $u->info['city']]);
$rm = Db::getRow('select * from room where code = ? and city = ?', [$id, 'capitalcity']);
$inf = 'Здание было разрушено';
if (isset($rm['id'])) {
$rown = Db::getValue('select count(*) from users where online > unix_timestamp() - 120 and city = ? and room = ?', [$u->info['city'], $rm['id']]);
$rown = Db::getValue('select count(*) from users where online > unix_timestamp() - 120 and city = ? and room = ?', ['capitalcity', $rm['id']]);
if ($tp == null) {
$inf = '<b>' . $rm['name'] . '</b><br>Сейчас в комнате ' . ($rown) . ' чел.';
} else {
@ -135,229 +134,224 @@ function thisInfRm($id, $tp = null, $json = false)
if (isset($_GET['loc'])) {
// $training_manager = \DarksLight2\Training\TrainingManager::getInstance();
$go = mysql_fetch_array(
mysql_query(
'SELECT * FROM `room` WHERE `code` = "' . mysql_real_escape_string(
$_GET['loc']
) . '" AND `city` = "' . $u->info['city'] . '" LIMIT 1'
)
);
$go = Db::getRow('select * from room where code = ?', [$_GET['loc']]);
// if (in_array(
// $go['file'], $training_manager->getRegistered()[$training_manager->getCurrentStepName()]->allowedToMove()
// ) || $u->info['admin'] > 0) {
$tr_pl = mysql_fetch_array(
mysql_query(
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
)
);
$tr_pl = mysql_fetch_array(
mysql_query(
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
)
);
//Проверяем костыли
$kos1 = mysql_fetch_array(
mysql_query(
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
)
);
$kos2 = mysql_fetch_array(
mysql_query(
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
)
);
//Проверяем костыли
$kos1 = mysql_fetch_array(
mysql_query(
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
)
);
$kos2 = mysql_fetch_array(
mysql_query(
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
)
);
if ($kos1['item_id'] == 630 || $kos1['item_id'] == 631) {
$kos1['good'] = 1;
} else {
$kos1['good'] = 0;
}
if ($kos2['item_id'] == 630 || $kos2['item_id'] == 631) {
$kos2['good'] = 1;
} else {
$kos2['good'] = 0;
}
if ($kos1['item_id'] == 630 || $kos1['item_id'] == 631) {
$kos1['good'] = 1;
} else {
$kos1['good'] = 0;
}
if ($kos2['item_id'] == 630 || $kos2['item_id'] == 631) {
$kos2['good'] = 1;
} else {
$kos2['good'] = 0;
}
if (isset($tr_pl['id'])) {
$zadej = 0;
if (isset($tr_pl['id'])) {
$zadej = 0;
if ($tr_pl['v1'] == 2) {
if ($kos1['good'] == 0 && $kos2['good'] == 0) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
$zadej = -1;
} else {
$zadej = 20;
}
} elseif ($tr_pl['v1'] == 3 || $tr_pl['v1'] == 4) {
if ($kos1['good'] == 0 || $kos2['good'] == 0) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
$zadej = -1;
} else {
$zadej = 30;
}
if ($tr_pl['v1'] == 2) {
if ($kos1['good'] == 0 && $kos2['good'] == 0) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
$zadej = -1;
} else {
$zadej = 20;
}
} elseif ($tr_pl['v1'] == 3 || $tr_pl['v1'] == 4) {
if ($kos1['good'] == 0 || $kos2['good'] == 0) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
$zadej = -1;
} else {
$zadej = 30;
}
}
if ($u->room['extdlg'] > 0) {
header('location: main.php?talk=' . $u->room['extdlg'] . '');
} elseif (isset($zadej) && $zadej == -1) {
if (!isset($re) || $re == '') {
$re = 'У вас травма, нельзя перемещаться...';
}
if ($u->room['extdlg'] > 0) {
header('location: main.php?talk=' . $u->room['extdlg'] . '');
} elseif (isset($zadej) && $zadej == -1) {
if (!isset($re) || $re == '') {
$re = 'У вас травма, нельзя перемещаться...';
}
//Травма...
} elseif ($u->info['align'] == 2 && $go['nochaos'] == 1) {
$re = 'Проход для хаосников закрыт!';
} elseif ($u->info['inTurnir'] > 0) {
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
} elseif (
($kos1['good'] == 0 && $kos2['good'] == 0) && (
(!isset($zadej) || $zadej == 0) &&
$u->aves['now'] >= $u->aves['max'] &&
$u->room['name'] != 'Общежитие' &&
$u->room['name'] != 'Общ. Этаж 1' &&
$u->room['name'] != 'Общ. Этаж 2' &&
$u->room['name'] != 'Общ. Этаж 3'
)) {
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
} elseif (isset($go['id'])) {
$rmgo = [];
$rg = explode(',', $u->room['roomGo']);
$mlvl = explode('-', $go['level']);
$i = 0;
while ($i < count($rg)) {
if ($rg[$i] >= 0) {
$rmgo[$rg[$i]] = 1;
}
//Травма...
} elseif ($u->info['align'] == 2 && $go['nochaos'] == 1) {
$re = 'Проход для хаосников закрыт!';
} elseif ($u->info['inTurnir'] > 0) {
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
} elseif (($kos1['good'] == 0 && $kos2['good'] == 0) && ((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
} elseif (isset($go['id'])) {
$rmgo = [];
$rg = explode(',', $u->room['roomGo']);
$mlvl = explode('-', $go['level']);
$i = 0;
while ($i < count($rg)) {
if ($rg[$i] >= 0) {
$rmgo[$rg[$i]] = 1;
}
$i++;
}
$sleep = $u->testAction(
'`vars` = "sleep" AND `uid` = "' . $u->info['id'] . '" LIMIT 1',
1
);
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
$re = '<font color=red><b>Вы можете перемещаться только когда бодрствуете.</b></font>';
echo '&nbsp;' . $re;
} elseif ($u->info['timeGo'] >= time()) {
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time(
)) . ' сек.';
} elseif ($rmgo[$go['id']] == 1) {
$alg = explode('-', $go['align']);
$ku = mysql_fetch_array(
$i++;
}
$sleep = $u->testAction(
'`vars` = "sleep" AND `uid` = "' . $u->info['id'] . '" LIMIT 1',
1
);
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
$re = '<b style="color: red;">Вы можете перемещаться только когда бодрствуете.</b>';
echo '&nbsp;' . $re;
} elseif ($u->info['timeGo'] >= time()) {
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time()) . ' сек.';
} elseif ($rmgo[$go['id']] == 1) {
$alg = explode('-', $go['align']);
$ku = (bool)Db::getValue('select 1 from katok_zv where uid = ?', [$u->info['id']]);
if ($ku) {
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0) {
$re = 'Ты не ту склонность выбрал.. Дружок :)';
} elseif ($u->info['zv'] > 0) {
$test_zv = mysql_fetch_array(
mysql_query(
'SELECT `id` FROM `katok_zv` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1'
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time() - 60 * 60 * 2) . '" LIMIT 1'
)
);
if (isset($test_zv['id'])) {
$re = 'Подали заявку и убегаем?.. Не хорошо!';
} else {
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!';
mysql_query(
'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
}
} elseif (($go['clan'] > 0 && $u->info['clan'] != $go['clan']) || ($go['clan'] == -1 && $u->info['clan'] == 0)) {
$re = 'Вы не можете попасть в эту комнату';
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time()) {
$re = 'Вы не можете попасть в эту комнату';
} elseif ($mlvl[0] > $u->info['level']) {
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
} elseif ($mlvl[1] < $u->info['level']) {
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
} elseif ($go['close'] == 0) {
$travms = mysql_fetch_array(
mysql_query(
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
)
);
if (isset($ku['id'])) {
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0 && $u->info['admin'] == 0) {
$re = 'Ты не ту склонность выбрал.. Дружок :)';
} elseif ($u->info['zv'] > 0) {
$test_zv = mysql_fetch_array(
mysql_query(
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time(
) - 60 * 60 * 2) . '" LIMIT 1'
)
);
if (isset($test_zv['id'])) {
$re = 'Подали заявку и убегаем?.. Не хорошо!';
} else {
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!';
mysql_query(
'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
}
} elseif ((($go['clan'] > 0 && $u->info['clan'] != $go['clan']) || ($go['clan'] == -1 && $u->info['clan'] == 0)) && $u->info['admin'] == 0) {
$re = 'Вы не можете попасть в эту комнату';
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time(
) && $u->info['admin'] == 0) {
$re = 'Вы не можете попасть в эту комнату';
} elseif ($mlvl[0] > $u->info['level'] && $u->info['admin'] == 0) {
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
} elseif ($mlvl[1] < $u->info['level'] && $u->info['admin'] == 0) {
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
} elseif ($go['close'] == 0 || $u->info['admin'] > 0) {
$travms = mysql_fetch_array(
mysql_query(
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
)
);
//замедление перемешения при травмах
$plus_timeGo = 0 + $zadej; // добавочное время при травме
if ($plus_timeGo < 0) {
$plus_timeGo = 0;
}
if (((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
$plus_timeGo += 2 * 60;
if ($kos1['good'] == 0) {
$plus_timeGo += 1.5 * 60;
} elseif ($kos1['good'] == 0) {
$plus_timeGo += 1.5 * 60;
}
}
//end freez time go
if ($u->stats['silver'] >= 1) {//время перемещения -20%
$go['timeGO'] = floor($go['timeGO'] / 100 * 80);
$plus_timeGo = floor($plus_timeGo / 100 * 80);
}
$u->info['timeGo'] = time() + $go['timeGO'] + $plus_timeGo;
$u->info['timeGoL'] = time();
$upd = mysql_query(
'UPDATE `stats` SET `timeGo` = "' . $u->info['timeGo'] . '",`timeGoL` = "' . $u->info['timeGoL'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
if ($upd) {
$upd2 = mysql_query(
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time(
) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
if ($upd2) {
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
//Удаляем все ставки в БС
$sp_bs = mysql_query(
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
);
while ($pl_bs = mysql_fetch_array($sp_bs)) {
mysql_query(
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs['bsid'] . '" LIMIT 1'
);
}
unset($sp_bs, $pl_bs);
mysql_query(
'UPDATE `bs_zv` SET `finish` = "' . time(
) . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
);
}
$smt = $u->testAction(
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time(
) - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1',
1
);
if (isset($smt['id'])) {
mysql_query(
'DELETE FROM `actions` WHERE `id` = "' . $smt['id'] . '" LIMIT 1'
);
}
mysql_query(
'UPDATE `eff_users` SET `delete` = "' . time(
) . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
);
$u->info['room'] = $go['id'];
$u->room = $go;
if (!isset($_GET['mAjax'])) {
echo '<script>top.chat.reflesh();</script>';
}
} else {
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена';
}
} else {
$re = 'Вы не смогли перейти в локацию';
}
} elseif ($go['destroy'] == 1) {
$re = 'Здание было разрушено, в данный момент оно реставрируется';
} else {
$re = 'Временно закрыто';
//замедление перемешения при травмах
$plus_timeGo = 0 + $zadej; // добавочное время при травме
if ($plus_timeGo < 0) {
$plus_timeGo = 0;
}
if (
(!isset($zadej) || $zadej == 0) &&
$u->aves['now'] >= $u->aves['max'] &&
$u->room['name'] != 'Общежитие' &&
$u->room['name'] != 'Общ. Этаж 1' &&
$u->room['name'] != 'Общ. Этаж 2' &&
$u->room['name'] != 'Общ. Этаж 3'
) {
$plus_timeGo += 2 * 60;
if ($kos1['good'] == 0) {
$plus_timeGo += 1.5 * 60;
}
}
//end freez time go
if ($u->stats['silver'] >= 1) {//время перемещения -20%
$go['timeGO'] = floor($go['timeGO'] / 100 * 80);
$plus_timeGo = floor($plus_timeGo / 100 * 80);
}
$u->info['timeGo'] = time() + $go['timeGO'] + $plus_timeGo;
$u->info['timeGoL'] = time();
$upd = mysql_query(
'UPDATE `stats` SET `timeGo` = "' . $u->info['timeGo'] . '",`timeGoL` = "' . $u->info['timeGoL'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
if ($upd) {
$upd2 = mysql_query(
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time() . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
if ($upd2) {
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
//Удаляем все ставки в БС
$sp_bs = mysql_query(
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
);
while ($pl_bs = mysql_fetch_array($sp_bs)) {
mysql_query(
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs['bsid'] . '" LIMIT 1'
);
}
unset($sp_bs, $pl_bs);
mysql_query(
'UPDATE `bs_zv` SET `finish` = "' . time() . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
);
}
$smt = $u->testAction(
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time() - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1',
1
);
if (isset($smt['id'])) {
mysql_query(
'DELETE FROM `actions` WHERE `id` = "' . $smt['id'] . '" LIMIT 1'
);
}
mysql_query(
'UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
);
$u->info['room'] = $go['id'];
$u->room = $go;
if (!isset($_GET['mAjax'])) {
echo '<script>top.chat.reflesh();</script>';
}
} else {
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена';
}
} else {
$re = 'Вы не смогли перейти в локацию';
}
} elseif ($go['destroy'] == 1) {
$re = 'Здание было разрушено, в данный момент оно реставрируется';
} else {
$re = 'Проход не существует';
$re = 'Временно закрыто';
}
} else {
$re = 'Проход не существует';
}
} else {
$re = 'Проход не существует';
}
// } else {
// $re = 'Вам запрещено передвигаться до окончания обучения!!!';
// }
@ -384,22 +378,19 @@ if (isset($_GET['mAjax'])) {
$rowonmax2 = 0;
$rowonmax2 = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
) - 520) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 520) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
)
);
$rowonmax = 'Сейчас в клубе:<b> ' . $rowonmax2[0] . '</b> чел.';
$rowonmax = '' . $rowonmax . '';
$rowonmax2c = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
) - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
)
);
$rowonmax3c = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
) - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
)
);
$rowonmaxc = 'Всего в Игре: ' . $rowonmax2c[0] . ' чел.';
@ -537,12 +528,12 @@ if (date('m') == 11 || date('m') == 12 || date('m') == 1 || date('m') == 2) {
var i, doc_width, doc_height;
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
dx = [];
xp = [];
yp = [];
am = [];
stx = [];
sty = [];
Array.prototype.exists = function (el) {
for (var i = 0; i < this.length; i++)
@ -636,21 +627,18 @@ if (isset($u->room['id'])) {
$rowonmax2 = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
) - 777) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 777) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
)
);
$rowonmax = '<br><span style="font-size:14px;">Сейчас в клубе<b> ' . ($rowonmax2[0]) . '</b> реальных чел.</font>';
$rowonmax2c = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
) - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
)
);
$rowonmax3c = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
) - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
)
);
if ($rowonmax2c[0] - $rowonmax2[0] > 0) {

View File

@ -1,356 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
$re = '';
if(isset($u->error2))
{
$re = $u->error2;
}
function thisInfRm($id,$tp = NULL)
{
global $u;
$rm = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `code` = "'.mysql_real_escape_string($id).'" AND `city` = "'.$u->info['city'].'" LIMIT 1'));
$inf = 'Здание было разрушено';
if(isset($rm['id']))
{
$rown = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > '.(time()-120).' AND `city` = "'.$u->info['city'].'" AND `room` = "'.$rm['id'].'"'));
if($tp==NULL)
{
$inf = '<b>'.$rm['name'].'</b><br>Сейчас в комнате '.(0+$rown[0]).' чел.';
}else{
$inf = ''.$rm['name'].'
Сейчас в комнате '.(0+$rown[0]).' чел.';
}
}
if($tp==NULL)
{
echo 'onMouseOver="top.hi(this,\'<div align=right>'.$inf.'</div>\',event,0,1,1,1,\'max-height:240px\');" onMouseOut="top.hic();" onMouseDown="top.hic();" onClick="goLocal(\'main.php?loc='.$rm['code'].'\',\''.$rm['name'].'\');"';
}else{
echo $inf;
}
}
if(isset($_GET['loc']))
{
$go = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `code` = "'.mysql_real_escape_string($_GET['loc']).'" AND `city` = "'.$u->info['city'].'" LIMIT 1'));
if($u->info['id']=='340379' or $u->info['id']=='399105'){
//print_r($u->info);
}
if($u->info['inTurnir'] > 0)
{
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
}elseif($u->aves['now']>=$u->aves['max'] && $u->room['name']!='Общежитие' && $u->room['name']!='Общ. Этаж 1' && $u->room['name']!='Общ. Этаж 2' && $u->room['name']!='Общ. Этаж 3')
{
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
}elseif($u->room['name']=='Комната для новичков' && $u->info['active']!='')
{
echo '<script>alert("Для того чтобы перейти в город Вы должны активировать персонажа. На '.$u->info['mail'].' отправлено письмо с инструкцией по активации.");</script>';
}elseif(isset($go['id']))
{
$rmgo = array();
$rg = explode(',',$u->room['roomGo']);
$mlvl = explode('-',$go['level']);
$i = 0;
while($i<count($rg))
{
if($rg[$i]>=0)
{
$rmgo[$rg[$i]] = 1;
}
$i++;
}
$sleep = $u->testAction('`vars` = "sleep" AND `uid` = "'.$u->info['id'].'" LIMIT 1',1);
if(isset($sleep['id']) && $sleep['vars']=='sleep')
{
$re = 'Вы моежете перемещаться только когда бодрствуете.';
}elseif($u->info['timeGo']>=time())
{
$re = 'Вы не можете перемещаться еще '.($u->info['timeGo']-time()).' сек.';
}elseif($rmgo[$go['id']]==1 || $u->info['admin']>0)
{
if($rmgo[$go['id']]!=1)
{
echo '<script>alert("Данный проход не существует, но Ангелам нет преград в перемещении");</script>';
}
$alg = explode('-',$go['align']);
if(($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align']!=0)
{
$re = 'Вы не можете попасть в эту комнату';
}elseif($u->info['zv']>0)
{
$re = 'Подали заявку и убегаем?.. Не хорошо!';
}elseif($go['sex']>0 && $go['sex']-1!=$u->info['sex'])
{
$re = 'Вы не можете попасть в эту комнату';
}elseif($mlvl[0]>$u->info['level'] && $u->info['admin']==0)
{
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
}elseif($mlvl[1]<$u->info['level'] && $u->info['admin']==0)
{
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
}elseif($go['close']==0 || $u->info['admin']>0)
{
$travms = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$u->info['id'].'" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'));
//замедление перемешения при травмах
$plus_timeGo=0; // добавочное время при травме
$tr_nogo=false; // нету запрещения перемещения по травме
if($travms['v1']==3){
// тяжелая травма
$kostyls = mysql_query('SELECT * FROM `items_users` WHERE `uid`="'.$u->info['id'].'" and `inOdet`!="0" and (`item_id`="630" or `item_id`="631")');
if(mysql_num_rows($kostyls)==2){
$plus_timeGo=30;
}else{
$tr_nogo=true;
}
}elseif($travms['v1']==2){
//средняя
$plus_timeGo=20;
}
//end freez time go
if($tr_nogo==false){
$u->info['timeGo'] = time()+$go['timeGO']+$plus_timeGo;
$u->info['timeGoL'] = time();
$upd = mysql_query('UPDATE `stats` SET `timeGo` = "'.$u->info['timeGo'].'",`timeGoL` = "'.$u->info['timeGoL'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
}
if($upd)
{
$upd2 = mysql_query('UPDATE `users` SET `room` = "'.$go['id'].'",`online` = "'.time().'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
if($upd2)
{
$smt = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time`>='.(time()-600).' AND `vars` = "create_snowball_cp" LIMIT 1',1);
if(isset($smt['id']))
{
mysql_query('DELETE FROM `actions` WHERE `id` = "'.$smt['id'].'" LIMIT 1');
}
mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id_eff` = "24" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" LIMIT 24');
$u->info['room'] = $go['id'];
$u->room = $go;
echo '<script>top.chat.reflesh();</script>';
}else{
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена';
}
}elseif($tr_nogo==true){
$re = 'Вы травмированны. Не возможно с такими увечиями передвигатся без костылей.';
}else{
$re = 'Вы не смогли перейти в локацию';
}
}elseif($go['destroy']==1)
{
$re = 'Здание было разрушено, в данный момент оно реставрируется';
}else{
$re = 'Временно закрыто';
}
}else{
$re = 'Проход не существует';
}
}else{
$re = 'Проход не существует';
}
}
if($u->info['room']==209)
{
$zv = new FightRequest();
}
if($re!=''){ $re = $re.'&nbsp;'; }
?>
<style>
.MoveLine {
background:url(https://<?= $c['img']; ?>/i/move/wait2.gif) 0px 0px repeat-y;
}
</style>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
var speedLoc = 0;
var sLoc1 = 0;
var sLoc2 = 0;
var tgo = 0;
var tgol = 0;
var rgo_url = 0;
var rgo_nm = '';
function locGoLine()
{
var line = document.getElementById('MoveLine');
if(line!=undefined)
{
prc = 100-Math.floor(tgo/tgol*100);
sLoc1 = 64/100*prc;
if(sLoc1<0)
{
sLoc1 = 0;
}
if(sLoc1>64)
{
sLoc1 = 64;
}
line.style.width = sLoc1+'px';
if(tgo>0)
{
tgo -= 1;
setTimeout('locGoLine()',100);
}
if(document.getElementById('moveto') != null && document.getElementById('moveto') != undefined) {
if(rgo_nm != '') {
document.getElementById('moveto').innerHTML = 'Вы перейдете в: <b>' + nm + '</b> (<a onclick="gotoLocationCancel();" href="javascript:void(0)">отмена</a>)';
}else{
document.getElementById('moveto').innerHTML = '';
}
}
}
}
function goLocal(id,nm) {
rgo_url = id;
rgo_nm = nm;
}
</script>
<?php
if(date('m') == 12 || date('m') == 1 || date('m') == 2) {
$rsnow = array(
234 => 1,
267 => 1,
9 => 1,
286 => 1,
11 => 1,
236 => 1,
213 => 1,
252 => 1
);
if($rsnow[$u->room['id']]==1) {
?>
<script>
var no = 50; // snow number
var speed = 17; // smaller number moves the snow faster
var sp_rel = 1.4; //speed relevation
var snowflake1 = "/i/itimeges/snow1.gif";
var snowflake2 = "/i/itimeges/snow2.gif";
var i, doc_width, doc_height;
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
Array.prototype.exists = function(el)
{
for(var i=0;i<this.length;i++)
if(this[i]==el)
return true;
return false;
}
var rooms = ['1.100', '1.107', '1.111', '1.120'];
function SetVariable(c) {
dx[c] = 0; // set coordinate variables
am[c] = Math.random()*15; // set amplitude variables
xp[c] = Math.random()*(doc_width-35) + 0 + am[c]; // set position variables
yp[c] = 0;
stx[c] = 0.02 + Math.random()/10; // set step variables
sty[c] = 0.7 + Math.random(); // set step variables
}
function DrawWeather(room) {
doc_width = document.getElementById('img_ione').width;
doc_height = document.getElementById('img_ione').height;
var div = '';
for (i = 0; i < no; ++ i) {
SetVariable(i);
div += "<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: 30" + i +"; VISIBILITY: visible; TOP: " + 0 + "px; LEFT: " + 0 + "px;\"><img id=\"im"+ i +"\" src=\"" + (sty[i]<sp_rel ? snowflake2 : snowflake1 ) + "\" border=\"0\" alt=\"Снежинка\"></div>";
}
document.getElementById('snow').innerHTML = div;
return 1;
}
function WeatherBegin() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i] < sp_rel ? sty[i]/2 : sty[i];
if (yp[i] > doc_height-40) {
SetVariable(i);
var im = document.getElementById('im'+i);
im.src = (sty[i] < sp_rel) ? snowflake2 : snowflake1;
}
dx[i] += stx[i];
document.getElementById('dot'+i).style.top = yp[i]+'px';
document.getElementById('dot'+i).style.left = xp[i] + am[i]*Math.sin(dx[i])+'px';
}
setTimeout('WeatherBegin()', speed);
}
</script>
<?php
}
}
if(isset($u->room['id']))
{
$tmGo = $u->info['timeGo']-time(); //сколько секунд осталось
$tmGol = $u->info['timeGo']-$u->info['timeGoL']; //сколько секунд идти всего
if($tmGo<0)
{
$tmGo = 0;
}
if($tmGol<1)
{
$tmGol = 1;
}
//онлайн в этой комнате
$goLis = '<table height="15" border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="3" valign="bottom"><a href="main.php?rnd='.$code.'"><img style="display:block;" src="https://'.$c['img'].'/i/move/rel_1.gif" width="15" height="16" title="Обновить" border="0" /></a></td>
<td colspan="3"><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_462s.gif" width="80" height="4" /></td>
</tr>
<tr>
<td><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_481.gif" width="9" height="8" /></td>
<td width="64" bgcolor="black"><img src="https://'.$c['img'].'/1x1.gif" style="display:block;" id="MoveLine" height="8" class="MoveLine" style="width:33px;" /></td>
<td><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_50.gif" width="7" height="8" /></td>
</tr>
<tr>
<td colspan="3"><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_tt1_532.gif" width="80" height="5" /></td>
</tr>
</table>
<div id="test"></div><script>var tgo = '.($tmGo*10).'; var tgol = '.($tmGol*10).';locGoLine();</script>';
$goline = '<div style="position:absolute; top:0px; z-index:101; left:405px; width:80px;">
'.$goLis.'
</div>';
$rowonmax = '';
$rowonmax2 = 0;
$rowonmax2 = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > '.(time()-520).' AND `city` = "'.$u->info['city'].'" LIMIT 200'));
$rowonmax = 'Сейчас в городе: '.$rowonmax2[0].' чел.';
$rowonmax = ''.$rowonmax.'';
unset($sil,$pil,$rowonmax2);
if($u->room['file']!='')
{
include_once('modules_data/location/'.$u->room['file'].'.php');
if((date('m') == 11 || date('m') == 12 || date('m') == 1 || date('m') == 2) && $rsnow[$u->room['id']]==1) {
echo '<script>DrawWeather(31);WeatherBegin();</script>';
}
echo '<div align="right">'.$c['counters'].'</div>';
}
}else{
echo 'Location is lost.';
}
?>

View File

@ -1,447 +0,0 @@
<?php
use Core\ConversionHelper;
if (!defined('GAME')) {
die();
}
if ($u->room['file'] != 'berezka') {
return;
}
$u->info['inBerezka'] = 1;
if (isset($u->stats['shopSaleEkr'], $_GET['sale'])) {
$bns = 0 + $u->stats['shopSaleEkr'];
if ($bns != 0) {
if ($bns > 0) {
$bns = '+' . $bns;
}
if ($shopProcent > 90) {
$shopProcent = 90;
}
if ($shopProcent < 10) {
$shopProcent = 10;
}
}
}
if (!isset($_GET['otdel'])) {
$_GET['otdel'] = 1;
}
$sid = 2;
$sale_ekr = true;
if ($c['shop_type2'] == 0) {
$sale_ekr = false;
}
$error = '';
if (isset($_GET['buy'])) {
if ($u->newAct($_GET['sd4'])) {
$re = $u->buyItem($sid, (int)$_GET['buy'], (int)$_GET['x']);
} else {
$re = 'Вы уверены что хотите купить этот предмет?';
}
} elseif (isset($_GET['sale']) && isset($_GET['item']) && $u->newAct($_GET['sd4']) && $sale_ekr) {
$id = (int)$_GET['item'];
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.*, count(`iuu`.id) as inGroupCount
FROM `items_users` AS `iu`
LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`)
LEFT JOIN `items_users` as `iuu` ON (`iuu`.inGroup = `iu`.inGroup AND `iuu`.item_id = `im`.id )
WHERE `iuu`.`uid`="' . $u->info['id'] . '" AND `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`data` NOT LIKE "%|zazuby=%" AND `im`.`price2` > 0 AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . mysql_real_escape_string($id) . '" LIMIT 1'));
$po = ConversionHelper::dataStringToArray($itm['data']);
if ($u->info['allLock'] > time()) {
$po['nosale'] = 1;
}
if (isset($po['nosale'])) {
$error = 'Не удалось продать предмет ...';
} elseif (!empty($po['fromshop']) && ($po['fromshop'] != 777 && $po['fromshop'] != 2)) {
$error = 'Предмет не был приобретен за Евро-кредиты, его нельзя продать здесь...';
} elseif (!empty($itm['gift'])) {
$error = 'Не удалось продать предмет ... Все-таки подарок ;)';
} elseif (!empty($po['frompisher'])) {
$error = 'Не удалось продать предмет ... предмет из подземелья';
} elseif (isset($itm['id'])) {
if ($itm['2price'] > 0) {
$itm['price2'] = $itm['2price'];
}
$shpCena = round($itm['price2'], 2);
$plmx = 0;
if ($itm['iznosMAXi'] != $itm['iznosMAX'] && $itm['iznosMAX'] != 0) {
$plmx = round($itm['iznosMAX']);
} else {
$plmx = $itm['iznosMAXi'];
}
if ($itm['iznosNOW'] > 0) {
$prc1 = floor($itm['iznosNOW']) / ceil($plmx) * 100;
} else {
$prc1 = 0;
}
$shpCena = $u->shopSaleM($shpCena, $itm);
$shpCena = $shpCena / 100 * (100 - $prc1);
if ($itm['iznosMAX'] > 0 && $itm['iznosMAXi'] > 0 && $itm['iznosMAXi'] > ceil($itm['iznosMAX'])) {
$shpCena = $shpCena / 100 * (ceil($itm['iznosMAX']) / $itm['iznosMAXi'] * 100);
}
$shpCena = $u->round2($shpCena * $u->berezCena());
$col = $u->itemsX($itm['id']);
if ($col > 0) {
$shpCena = $shpCena * $col;
}
if ($shpCena < 0) {
$shpCena = 0;
}
$upd2 = mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
if ($upd2) {
if ($col > 1) {
mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `uid`="' . $itm['uid'] . '" AND `inGroup` = "' . $itm['inGroup'] . '" LIMIT ' . $col . '');
}
$u->info['money2'] += $shpCena;
$upd = mysql_query('UPDATE `users` SET `money2` = "' . $u->info['money2'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
if ($upd) {
mysql_query('INSERT INTO `ekr_sale` (`uid`,`time`,`money2`) VALUES ("' . $u->info['id'] . '","' . time() . '","' . mysql_real_escape_string($shpCena) . '")');
$u->info['catch'] += $shpCena;
mysql_query('UPDATE `users` SET `catch` = "' . $u->info['catch'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
$error = 'Вы успешно продали предмет &quot;' . $itm['name'] . ' [x' . $col . ']&quot; за ' . $shpCena . ' екр.';
mysql_query('UPDATE `items_users` SET `inGroup` = "0",`delete` = "' . time() . '" WHERE `inGroup` = "' . $itm['id'] . '" AND `uid` = "' . $u->info['id'] . '" LIMIT ' . $itm['group_max'] . '');
$u->addDelo(2, $u->info['id'], '&quot;<font color="green">System.Ekrshop</font>&quot;: Предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' екр.</B>.', time(), $u->info['city'], 'System.Ekrshop', 0, $shpCena);
} else {
$u->addDelo(2, $u->info['id'], '&quot;<font color="green">System.Ekrshop</font>&quot;: Предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' екр.</B> (кредиты не переведены).', time(), $u->info['city'], 'System.Ekrshop', 0, 0);
$error = 'Не удалось продать предмет ...';
}
} else {
$error = 'Не удалось продать предмет...';
}
} else {
$error = 'Предмет не найден в инвентаре.';
}
}
if ($re != '') {
echo '<div align="right"><font color="red"><b>' . $re . '</b></font></div>';
} ?>
<script type="text/javascript">
function AddCount(name, txt) {
document.getElementById("hint4").innerHTML = '<table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor="#CCC3AA"><tr><td align=center><B>Купить неск. штук</td><td width=20 align=right valign=top style="cursor: pointer" onclick="closehint3();"><BIG><B>x</TD></tr><tr><td colspan=2>' +
'<form method=post><table border=0 width=100% cellspacing=0 cellpadding=0 bgcolor="#FFF6DD"><tr><INPUT TYPE="hidden" name="set" value="' + name + '"><td colspan=2 align=center><B><I>' + txt + '</td></tr><tr><td width=80% align=right>' +
'Количество (шт.) <INPUT TYPE="text" NAME="count" id=count size=4></td><td width=20%>&nbsp;<INPUT TYPE="submit" value=" »» ">' +
'</TD></TR></form></TABLE></td></tr></table>';
document.getElementById("hint4").style.visibility = 'visible';
document.getElementById("hint4").style.left = '100px';
document.getElementById("hint4").style.top = '100px';
document.getElementById("count").focus();
}
function closehint3() {
document.getElementById('hint4').style.visibility = 'hidden';
Hint3Name = '';
}
</script>
<style type="text/css">
.pH3 {
COLOR: #8f0000;
FONT-FAMILY: Arial;
FONT-SIZE: 12pt;
FONT-WEIGHT: bold;
}
.class_ {
font-weight: bold;
color: #C5C5C5;
cursor: pointer;
}
.class_st {
font-weight: bold;
color: #659BA3;
cursor: pointer;
}
.class__ {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #659BA3;
}
.class__st {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #659BA3;
font-size: 10px;
}
.class_old {
font-weight: bold;
color: #919191;
cursor: pointer;
}
.class__old {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #838383;
font-size: 10px;
}
.shop_menu_txt {
background-color: #d5d5d5;
}
</style>
<TABLE width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<center><font color=brown><big><b>Магазин Березка</big><br></font><br>Магазин принимает ВСЕ вещи, свитки и эликсиры под 90%.</b></center>
<?php
echo '<b style="color:red">' . $error . '</b>';
?>
<br/>
<TABLE width="100%" cellspacing="0" cellpadding="4">
<TR>
<form name="F1" method="post">
<TD valign="top" align="left">
<?php if ($u->info['money2'] > 0 || $u->info['admin'] > 0){ ?>
<!--Магазин-->
<table width="100%" cellspacing="0" cellpadding="0" bgcolor="#a5a5a5">
<div id="hint3" style="visibility:hidden"></div>
<tr>
<td align="center" height="21">
<?php
/*названия разделов (сверху)*/
if (!isset($_GET['sale']) && isset($_GET['otdel'])) {
$otdels_small_array = [
1 => '<b>Отдел&nbsp;&quot;Оружие: кастеты,ножи&quot;</b>',
2 => '<b>Отдел&nbsp;&quot;Оружие: топоры&quot;</b>',
3 => '<b>Отдел&nbsp;&quot;Оружие: дубины,булавы&quot;</b>',
4 => '<b>Отдел&nbsp;&quot;Оружие: мечи&quot;</b>',
5 => '<b>Отдел&nbsp;&quot;Оружие: магические посохи&quot;</b>',
6 => '<b>Отдел&nbsp;&quot;Одежда: сапоги&quot;</b>',
7 => '<b>Отдел&nbsp;&quot;Одежда: перчатки&quot;</b>',
8 => '<b>Отдел&nbsp;&quot;Одежда: рубахи&quot;</b>',
28 => '<b>Отдел&nbsp;&quot;Одежда: плащи&quot;</b>',
9 => '<b>Отдел&nbsp;&quot;Одежда: легкая броня&quot;</b>',
10 => '<b>Отдел&nbsp;&quot;Одежда: тяжелая броня&quot;</b>',
11 => '<b>Отдел&nbsp;&quot;Одежда: шлемы&quot;</b>',
12 => '<b>Отдел&nbsp;&quot;Одежда: наручи&quot;</b>',
13 => '<b>Отдел&nbsp;&quot;Одежда: пояса&quot;</b>',
14 => '<b>Отдел&nbsp;&quot;Одежда: поножи&quot;</b>',
15 => '<b>Отдел&nbsp;&quot;Щиты&quot;</b>',
16 => '<b>Отдел&nbsp;&quot;Ювелирные товары: серьги&quot;</b>',
17 => '<b>Отдел&nbsp;&quot;Ювелирные товары: ожерелья&quot;</b>',
18 => '<b>Отдел&nbsp;&quot;Ювелирные товары: кольца&quot;</b>',
19 => '<b>Отдел&nbsp;&quot;Заклинания: нейтральные&quot;</b>',
20 => '<b>Отдел&nbsp;&quot;Заклинания: боевые и защитные&quot;</b>',
21 => '<b>Отдел&nbsp;&quot;Амуниция&quot;</b>',
22 => '<b>Отдел&nbsp;&quot;Амуниция: эликсиры&quot;</b>',
23 => '<b>Отдел&nbsp;&quot;Подарки&quot;</b>',
24 => '<b>Отдел&nbsp;&quot;Подарки: недобрые&quot;</b>',
25 => '<b>Отдел&nbsp;&quot;Подарки: открытки&quot;</b>',
26 => '<b>Отдел&nbsp;&quot;Подарки: упаковка&quot;</b>',
27 => '<b>Отдел&nbsp;&quot;Подарки: фейерверки&quot;</b>',
29 => '<b>Пещерные ресурсы</b>',
30 => '<b>Еда</b>',
31 => '<b>Чеки</b>',
32 => '<b>Руны</b>',
33 => '<b>Чарки</b>',
34 => '<b>Тактики</b>'
];
if (isset($otdels_small_array[$_GET['otdel']])) {
echo $otdels_small_array[$_GET['otdel']];
}
} elseif (isset($_GET['sale'])) {
echo '<B>Отдел&nbsp;&quot;Продажа предметов&quot;</B>';
}
?>
</tr>
<tr>
<td>
<!--Рюкзак / Прилавок-->
<table width="100%" CELLSPACING="1" CELLPADDING="1" bgcolor="#a5a5a5">
<?php
//Выводим вещи в магазине для покупки
if (isset($_GET['sale'])) {
//Выводим вещи в инвентаре для продажи
$itmAll = $u->genInv(16, '`iu`.`uid`="' . $u->info['id'] . '" AND
( `iu`.`data` LIKE "%fromshop=777|%" OR `iu`.`data` LIKE "%fromshop=777" OR `iu`.`data` LIKE "%fromshop=2|%" OR `iu`.`data` LIKE "%fromshop=2" ) AND
`iu`.`delete`="0" AND `im`.`price2` > 0 AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `lastUPD` DESC');
if ($itmAll[0] == 0) {
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">ПУСТО</td></tr>';
} else {
$itmAllSee = $itmAll[2];
}
if ($u->shopSaleM(100, array('data' => 'tr_lvl=10')) == $u->shopSaleM(100, array())) {
$procv = $u->shopSaleM(100, array('data' => 'tr_lvl=10')) . '%';
} else {
$procv = '' . $u->shopSaleM(100, array('data' => 'tr_lvl=10')) . '-' . $u->shopSaleM(100, array()) . '%';
}
echo '<tr><td align="center" bgcolor="#e2e0e0"><small>Продажа предметов купленных за екр. осуществляется с учетом износа предмета, а так-же налога на продажу.<br><b>(Так-же есть зависимость от уровня предмета и его износа)</b><br><b style="color: red;">Внимание!</b> Все улучшения, заточки, руны, зачарования предметов не входят в стоимость предмета при продаже! </small></td></tr>' . $itmAllSee;
} else {
$u->shopItems($sid);
}
?>
</TABLE>
</TD>
</TR>
</TABLE>
<div align="center">
<?php } else { ?>
<div style="text-align: center;">Магазин является валютным, вы можете войти только имея еврокредиты.</div>
<?php } ?>
</div>
</TD>
</FORM>
</TR>
</TABLE>
<td width="280" valign="top">
<TABLE cellspacing="0" cellpadding="0">
<TD width="100%">&nbsp;</TD>
<TD>
<table border="0" cellpadding="0" cellspacing="0">
<tr align="right" valign="top">
<td>
<!-- -->
<?= $goLis; ?>
<!-- -->
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td nowrap="nowrap">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE">
<tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7"/></td>
<td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.11&rnd=<?= $code; ?>';"
title="<?php thisInfRm('1.180.0.11', 1); ?>">Страшилкина Улица</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</table>
</td>
</table>
<div><br/>
<?php if ($u->info['money2'] > 0) { ?>
<div style="text-align: center;">
Масса всех ваших вещей: <b><?= $u->aves['now'] ?>/<?= $u->aves['max'] ?></b> &nbsp;<br/>
У вас в наличии: <b style="color:darkgreen;"><?= round($u->info['money2'], 2); ?> екр.</b>
<a href="/ekr.php" target="_blank" style="height:20px;color:#fff; margin: 10px;" class="btn btn-danger">Пополнить Екр</a>
<?php
/*кнопочки*/
if (($u->info['money2'] >= 0 || $u->info['admin'] > 0) && $sale_ekr) {
if (!isset($_GET['sale'])) {
echo '<INPUT TYPE="button" class="btn" value="Продать вещи" onclick="location=\'?otdel=' . $_GET['otdel'] . '&sale=1\'">&nbsp;';
} else {
echo '<INPUT TYPE="button" class="btn" value="Купить вещи" onclick="location=\'?otdel=' . $_GET['otdel'] . '\'">&nbsp;';
}
}
?>
<INPUT TYPE="button" class="btn" value="Обновить" onclick="location = '<?= $_SERVER['REQUEST_URI']; ?>';">
</center>
<BR>
</div>
<div style="background-color: #A5A5A5; padding: 1px; text-align: center; font-weight: bold;">
Отделы магазина
</div>
<div style="line-height:17px;">
<?php
/*названия разделов (справа)*/
$otdels_array = [
1 => '&nbsp;&nbsp;Кастеты,ножи',
2 => '&nbsp;&nbsp;Топоры',
3 => '&nbsp;&nbsp;Дубины,булавы',
4 => '&nbsp;&nbsp;Мечи',
5 => '&nbsp;&nbsp;Магические посохи',
6 => '&nbsp;&nbsp;Сапоги',
7 => '&nbsp;&nbsp;Перчатки',
8 => '&nbsp;&nbsp;Рубахи',
9 => '&nbsp;&nbsp;Легкая броня',
10 => '&nbsp;&nbsp;Тяжелая броня',
11 => '&nbsp;&nbsp;Шлемы',
12 => '&nbsp;&nbsp;Наручи',
13 => '&nbsp;&nbsp;Пояса',
14 => '&nbsp;&nbsp;поножи',
15 => '&nbsp;&nbsp;Щиты',
16 => '&nbsp;&nbsp;Серьги',
17 => '&nbsp;&nbsp;ожерелья',
18 => '&nbsp;&nbsp;кольца',
19 => '&nbsp;&nbsp;Нейтральные',
20 => '&nbsp;&nbsp;Боевые и защитные',
21 => '&nbsp;&nbsp;Амуниция',
22 => '&nbsp;&nbsp;Эликсиры',
23 => '&nbsp;&nbsp;Подарки',
24 => '&nbsp;&nbsp;Недобрые',
25 => '&nbsp;&nbsp;Открытки',
26 => '&nbsp;&nbsp;Упаковка',
27 => '&nbsp;&nbsp;Фейерверки',
28 => '&nbsp;&nbsp;Плащи и накидки',
29 => '&nbsp;&nbsp;Пещерные ресурсы',
30 => '&nbsp;&nbsp;&nbsp;&nbsp;Еда',
31 => '&nbsp;&nbsp;&nbsp;&nbsp;Чеки',
32 => '&nbsp;&nbsp;&nbsp;&nbsp;Руны',
33 => '&nbsp;&nbsp;&nbsp;&nbsp;Чарки',
34 => '&nbsp;&nbsp;Тактики',
35 => '&nbsp;&nbsp;Заточки',
36 => "&nbsp;&nbsp;<span style='color: #ff0000'>Клановые Артефакты</span>",
];
$i = 1;
while ($i != -1) {
if (isset($otdels_array[$i])) {
if (isset($_GET['otdel']) && $_GET['otdel'] == $i) {
$color = 'C7C7C7';
} else {
$color = 'e2e0e0';
}
if ($i == 1) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/1.png"> <b>Оружие:</b></div>';
} elseif ($i == 6) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/2.png"> <b>Одежда:</b></div>';
} elseif ($i == 15) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/3.png"> <b>Щиты:</b></div>';
} elseif ($i == 16) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/4.png"> <b>Ювелирные товары:</b></div>';
} elseif ($i == 19) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/6.png"> <b>Заклинания:</b></div>';
} elseif ($i == 21) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/7.png"> <b>Амуниция:</b></div>';
} elseif ($i == 22) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/5.png"> <b>Эликсиры:</b></div>';
} elseif ($i == 23) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/8.png"> <b>Подарки:</b></div>';
} elseif ($i == 28) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/9.png"> <b>Дополнительно:</b></div>';
}
echo '
<A HREF="?otdel=' . $i . '"><DIV style="background-color: #' . $color . '">
' . $otdels_array[$i] . '
</A></DIV>
';
} else {
$i = -2;
}
$i++;
}
if (isset($_GET['gifts'])) {
$color = 'C7C7C7';
}
echo '</DIV>';
?>
</div>
<?php } ?>
</td>
</table>
<br>
<div id="textgo" style="visibility:hidden;"></div>

View File

@ -132,9 +132,6 @@ if (date("H") >= 6 && date("H") < 22) {
document.getElementById('buttons_on_image').style.display = 'none';
}
</script>
<div style="position: absolute; left: 372px; top: 129px; width: 73px; height: 47px; z-index: 91;">
<img <?php thisInfRm('1.180.0.13'); ?> src="<?= Config::img() ?>/city/capitalcity/day/euroshop.gif" width="78" height="63" class="aFilter" alt="">
</div>
<div style="position: absolute; left: 179px; top: 13px; width: 73px; height: 47px; z-index: 92;">
<img <?php thisInfRm('1.180.0.263'); ?> src="<?= Config::img() ?>/city/capitalcity/day/1ubkill.gif" width="116" height="186" class="aFilter" alt="">
</div>
@ -178,12 +175,6 @@ if (date("H") >= 6 && date("H") < 22) {
Башня Смерти
</a>
</span>
<span style="white-space:nowrap; padding-left:3px; padding-right:3px; height:10px">
<img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7" alt="">&nbsp;
<a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.13&rnd=<?= $code; ?>';" title="<?php thisInfRm('1.180.0.13', 1); ?>">
Магазин Березка
</a>
</span>
</div>
<div style="display:none; height:0;" id="moveto"></div>

View File

@ -1,400 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
if($u->room['file']=='shop2_')
{
$shopProcent = 1;
unset($_GET['sale']);
if(!isset($_GET['otdel']))
{
$_GET['otdel'] = 1;
}
$sid = 609;
$error = '';
if(isset($_GET['buy']))
{
if($u->newAct($_GET['sd4'])==true)
{
$re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']);
}else{
$re = 'Вы уверены что хотите купить этот предмет?';
}
}elseif(isset($_GET['sale']) && isset($_GET['item']) && $u->newAct($_GET['sd4']))
{
$id = (int)$_GET['item'];
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "'.mysql_real_escape_string($id).'" LIMIT 1'));
$po = \Core\ConversionHelper::dataStringToArray($itm['data']);
if($u->info['allLock'] > time()) {
$po['nosale'] = 1;
}
if(isset($po['nosale']))
{
$error = 'Не удалось продать предмет, запрет продажи данного предмета ...';
}elseif($pl['type']<29 && ($po['srok'] > 0 || $pl['srok'] > 0))
{
$error = 'Не удалось продать предмет, вышел срок годности ...';
}elseif(isset($po['frompisher']))
//{
//$error = 'Не удалось продать предмет, предмет из подземелья ...';
//}elseif(isset($itm['id']))
{
if($itm['1price']>0)
{
$itm['price1'] = $itm['1price'];
}
$shpCena = $itm['price1'];
$plmx = 0;
if($itm['iznosMAXi']!=$itm['iznosMAX'] && $itm['iznosMAX']!=0)
{
$plmx = $itm['iznosMAX'];
}else{
$plmx = $itm['iznosMAXi'];
}
if($itm['iznosNOW']>0)
{
$prc1 = $itm['iznosNOW']/$plmx*100;
}else{
$prc1 = 0;
}
$shpCena = $shpCena/100*(100-$prc1);
if($itm['iznosMAX']>0 && $itm['iznosMAXi']>0 && $itm['iznosMAXi']>$itm['iznosMAX'])
{
$shpCena = $shpCena/100*($itm['iznosMAX']/$itm['iznosMAXi']*100);
}
$shpCena = $u->round2($shpCena/100*(100-$shopProcent));
if($shpCena<0)
{
$shpCena = 0;
}
$col = $u->itemsX($itm['id']);
if($col>0)
{
$shpCena = $shpCena*$col;
}
if($shpCena<0)
{
$shpCena = 0;
}
$upd2 = mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$itm['id'].'" LIMIT 1');
if($upd2)
{
mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `inGroup` = "'.$itm['id'].'"');
$u->rep['rep3'] += $shpCena;
$upd = mysql_query('UPDATE `rep` SET `rep3` = "'.$u->rep['rep3'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
if($upd)
{
$error = 'Вы успешно продали предмет &quot;'.$itm['name'].' [x'.$col.']&quot; за '.$shpCena.' Воинственности.';
mysql_query('UPDATE `items_users` SET `inGroup` = "0",`delete` = "'.time().'" WHERE `inGroup` = "'.$itm['id'].'" AND `uid` = "'.$u->info['id'].'" LIMIT '.$itm['group_max'].'');
$u->addDelo(2,$u->info['id'],'&quot;<font color="green">System.shop</font>&quot;: Предмет &quot;'.$itm['name'].' (x'.$col.')&quot; [itm:'.$itm['id'].'] был продан в магазин за <B>'.$shpCena.' Воинственности.</B>.',time(),$u->info['city'],'System.shop',0,0);
}else{
$u->addDelo(2,$u->info['id'],'&quot;<font color="green">System.shop</font>&quot;: Предмет &quot;'.$itm['name'].' (x'.$col.')&quot; [itm:'.$itm['id'].'] был продан в магазин за <B>'.$shpCena.' Воинственности.</B> (Воинственность не переведена).',time(),$u->info['city'],'System.shop',0,0);
$error = 'Не удалось продать предмет...';
}
}else{
$error = 'Не удалось продать предмет...';
}
}else{
$error = 'Предмет не найден в инвентаре.';
}
}
if($re!=''){ echo '<div align="right"><font color="red"><b>'.$re.'</b></font></div>'; } ?>
<script type="text/javascript">
function AddCount(name, txt)
{
document.getElementById("hint4").innerHTML = '<table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor="#CCC3AA"><tr><td align=center><B>Купить неск. штук</td><td width=20 align=right valign=top style="cursor: pointer" onclick="closehint3();"><BIG><B>x</TD></tr><tr><td colspan=2>'+
'<form method=post><table border=0 width=100% cellspacing=0 cellpadding=0 bgcolor="#FFF6DD"><tr><INPUT TYPE="hidden" name="set" value="'+name+'"><td colspan=2 align=center><B><I>'+txt+'</td></tr><tr><td width=80% align=right>'+
'Количество (шт.) <INPUT TYPE="text" NAME="count" id=count size=4></td><td width=20%>&nbsp;<INPUT TYPE="submit" value=" »» ">'+
'</TD></TR></form></TABLE></td></tr></table>';
document.getElementById("hint4").style.visibility = 'visible';
document.getElementById("hint4").style.left = '100px';
document.getElementById("hint4").style.top = '100px';
document.getElementById("count").focus();
}
function closehint3() {
document.getElementById('hint4').style.visibility='hidden';
Hint3Name='';
}
</script>
<style type="text/css">
.pH3 { COLOR: #8f0000; FONT-FAMILY: Arial; FONT-SIZE: 12pt; FONT-WEIGHT: bold; }
.class_ {
font-weight: bold;
color: #C5C5C5;
cursor:pointer;
}
.class_st {
font-weight: bold;
color: #659BA3;
cursor:pointer;
}
.class__ {
font-weight: bold;
color: #FFFFFF;
cursor:pointer;
background-color: #659BA3;
}
.class__st {
font-weight: bold;
color: #FFFFFF;
cursor:pointer;
background-color: #659BA3;
font-size: 10px;
}
.class_old {
font-weight: bold;
color: #919191;
cursor:pointer;
}
.class__old {
font-weight: bold;
color: #FFFFFF;
cursor:pointer;
background-color: #838383;
font-size: 10px;
}
</style>
<TABLE width="100%" cellspacing="0" cellpadding="0">
<tr><td valign="top"><?php
echo '<b style="color:red">'.$error.'</b>';
?>
<br />
<TABLE width="100%" cellspacing="0" cellpadding="4">
<TR>
<form name="F1" method="post">
<TD valign="top" align="left">
<!--Магазин-->
<table width="100%" cellspacing="0" cellpadding="0" bgcolor="#a5a5a5">
<div id="hint3" style="visibility:hidden"></div>
<tr>
<td align="center" height="21">
<?php
/*названия разделов (сверху)*/
if(!isset($_GET['sale']) && !isset($_GET['gifts']) && isset($_GET['otdel']))
{
$otdels_small_array = array (
'',
'<b>Отдел&nbsp;&quot;Оружие: кастеты,ножи&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: топоры&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: дубины,булавы&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: мечи&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: магические посохи&quot;</b>',
'<b>Отдел&nbsp;&nbsp;Ресурсы: пещерные&nbsp;</b>',
'<b>Отдел&nbsp;&quot;Одежда: плащи и накидки&quot;</b>',
'<b>Отдел&nbsp;&quot;Заклинания: нейтральные&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: &quot;</b>',
'<b>Отдел&nbsp;&quot;Усилений:&quot;</b>',
'<b>Отдел&nbsp;&quot;Сундуки&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: шлемы&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: наручи&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: пояса&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: поножи&quot;</b>',
'<b>Отдел&nbsp;&quot;Щиты&quot;</b>',
'<b>Отдел&nbsp;&quot;Ювелирные товары: серьги&quot;</b>',
'<b>Отдел&nbsp;&quot;Ювелирные товары: ожерелья&quot;</b>',
'<b>Отдел&nbsp;&quot;Ювелирные товары: кольца&quot;</b>',
'<b>Отдел&nbsp;&quot;Заклинания: нейтральные&quot;</b>',
'<b>Отдел&nbsp;&quot;Заклинания: боевые и защитные&quot;</b>'
,'<b>Отдел&nbsp;&quot;Заклинания: пирожки&quot;</b>'
,'<b>Отдел&nbsp;&quot;Заклинания: исцеляющие&quot;</b>'
,'<b>Отдел&nbsp;&quot;Заклинания: манящие&quot;</b>'
,'<b>Отдел&nbsp;&quot;Заклинания: стратегические&quot;</b>'
,'<b>Отдел&nbsp;&quot;Заклинания: тактические&quot;</b>'
,'<b>Отдел&nbsp;&quot;Заклинания: сервисные&quot;</b>'
,'<b>Отдел&nbsp;&quot;Амуниция&quot;</b>',
'<b>Отдел&nbsp;&quot;Эликсиры&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: недобрые&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: упаковка&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: открытки&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: фейерверки&quot;</b>',
'<b>Отдел&nbsp;&quot;Усиление оружия: заточки&quot;</b>',
'<b>Отдел&nbsp;&quot;Наставничество: образы&quot;</b>');
if(isset($otdels_small_array[$_GET['otdel']]))
{
echo $otdels_small_array[$_GET['otdel']];
}
} elseif (isset($_GET['sale']) && $_GET['sale'])
{
echo '
<B>Отдел&nbsp;&quot;Скупка&quot;</B><br>
Здесь вы можете продать свои вещи, за жалкие гроши...<br>
У вас в наличии:
';
}
?>
</tr>
<tr><td>
<!--Рюкзак / Прилавок-->
<table width="100%" CELLSPACING="1" CELLPADDING="1" bgcolor="#a5a5a5">
<?php
if(isset($_GET['gifts']))
{
$itmAll = $u->genInv(3,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = "28" OR `im`.`type` = "38" OR `im`.`type` = "63" OR `im`.`type` = "64") AND `iu`.`gift` = "" ORDER BY `lastUPD` DESC');
if($itmAll[0]==0)
{
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">У вас нет подходящих предметов</td></tr>';
}else{
$itmAllSee = $itmAll[2];
}
echo $itmAllSee;
}elseif(!isset($_GET['sale']))
{
//Выводим вещи в магазине для покупки
$u->shopItems($sid);
}else{
//Выводим вещи в инвентаре для продажи
//$itmAll = $u->genInv(2,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `iu`.`lastUPD` DESC');
$itmAll = $u->genInv(2,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%fromshop=609%" ORDER BY `lastUPD` DESC');
if($itmAll[0]==0)
{
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">ПУСТО</td></tr>';
}else{
$itmAllSee = $itmAll[2];
}
echo $itmAllSee;
}
?>
</TABLE>
</TD></TR>
</TABLE>
</TD>
</FORM>
</TR>
</TABLE>
<td width="280" valign="top">
<TABLE cellspacing="0" cellpadding="0"><TD width="100%">&nbsp;</TD><TD>
<table border="0" cellpadding="0" cellspacing="0">
<tr align="right" valign="top">
<td>
<!-- -->
<?= $goLis; ?>
<!-- -->
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td nowrap="nowrap">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE">
<tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7" /></td>
<td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.10&rnd=<?= $code; ?>';" title="<?php thisInfRm('1.180.0.10',1); ?>">Государственный магазин</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td></table>
</td></table>
<div><br />
<div align="right">
<small>
Масса: <?=$u->aves['now']?>/<?=$u->aves['max']?> &nbsp;<br />
У вас в наличии: <span class="icos_WL"><b><?= round($u->rep['rep3']-$u->rep['rep3_buy']); ?> Воинственности</small></span></b> &nbsp;
</small>
</div>
<br />
<?php
/*кнопочки*/
/*if(!isset($_GET['sale']))
{
echo '<INPUT TYPE="button" value="Продать вещи" onclick="location=\'?otdel='.$_GET['otdel'].'&sale=1\'">&nbsp;';
} else {
echo '<INPUT TYPE="button" value="Купить вещи" onclick="location=\'?otdel='.$_GET['otdel'].'\'">&nbsp;';
}*/
?>
<INPUT TYPE="button" value="Обновить" onclick="location = '<?= str_replace('item','',str_replace('buy','',$_SERVER['REQUEST_URI'])); ?>';"><BR>
</div>
<div style="background-color:#A5A5A5;padding:1"><center><B>Отделы магазина</B></center></div>
<div style="line-height:17px;">
<?php
/*названия разделов (справа)*/
$otdels_array = array (
'',
'Оружие: кастеты,ножи',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;топоры',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;дубины,булавы',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;мечи',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;магические посохи',
'Ресурсы: пещерные&nbsp;',
'Одежда: плащи и накидки&nbsp;',
'Заклинания: нейтральные',
'Одежда: обмундирование',
'Усиления: сумки',
'Сундуки'
/*'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',
/*'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;перчатки',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;рубахи',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;легкая броня',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;тяжелая броня',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;шлемы',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;наручи',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;пояса',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;поножи',
'Щиты',
'Ювелирные товары: серьги',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ожерелья',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;кольца',
'Заклинания: нейтральные',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;боевые и защитные',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;пирожки',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;исцеляющие',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;манящие',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;стратегические',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;тактические',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;сервисные',
'Амуниция',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Эликсиры',
'Подарки',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;недобрые',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;упаковка',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;открытки',
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;фейерверки',
'Усиление оружия: заточки'*/);
$i=1;
while ($i!=-1)
{
if(isset($otdels_array[$i]))
{
if(isset($_GET['otdel']) && $_GET['otdel']==$i)
{
$color = 'C7C7C7';
} else {
$color = 'e2e0e0';
}
echo '
<A HREF="?otdel='.$i.'"><DIV style="background-color: #'.$color.'">
'.$otdels_array[$i].'
</A></DIV>
';
} else {
$i = -2;
}
$i++;
}
?>
</div>
</td>
</table>
<br>
<div id="textgo" style="visibility:hidden;"></div>
<?php
}
?>

View File

@ -1,744 +1,140 @@
<?php
if (!defined('GAME')) {
die();
}
use Core\Config;
use Core\ConversionHelper;
use Core\Db;
use Core\View;
use Location\Shop;
use User\Clan;
use User\ItemsModel;
/* @var User $u */
if ($u->room['file'] != 'shop_') {
return;
}
$shopProcent = 100 - $c['shop_type1'];
$shopId = null;
$status = '';
$itmAllSee = '';
$actionSale = false;
$actionGifts = false;
$buyItemId = 0;
$buyEkrItemId = 0;
$buyVoinItemId = 0;
$sellItemId = 0;
$uc = null;
$giftsvars = [];
$otdel = 1;
if ((int)$u->info['room'] === 10) {
$shopId = Shop::MAIN;
}
if ((int)$u->info['room'] === 368) {
$shopId = Shop::SHOP_2;
}
if ((int)$u->info['room'] === 13) {
$shopId = Shop::BEREZKA;
}
if ($_SERVER["REQUEST_METHOD"] === "GET") { //неясно почему, $_GET вызывается буквалльно всегда, даже на пустом месте.
$actionSale = (bool)$_GET['sale'];
$actionGifts = (bool)$_GET['gifts'];
$buyItemId = intval($_GET['buy']);
$buyEkrItemId = intval($_GET['buyEkr']);
$buyVoinItemId = intval($_GET['buyVn']);
$sellItemId = intval($_GET['item']);
$otdel = $_GET['otdel'] ??= 1;
}
if (isset($_POST['itemgift'])) {
$to = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `login` = "' . mysql_real_escape_string($_POST['to_login']) . '" ORDER BY `id` LIMIT 1'));
if (isset($to['id'])) {
$chat = new Chat();
$cmsg = new ChatMessage();
$cmsg->setCity($u->info['city']);
$cmsg->setTo($to['login']);
$cmsg->setType(6);
$present = new \DTO\Present();
$present->sender = $u->info['login'];
$present->receiver = $_POST['to_login'];
$present->textTitle = $_POST['podarok2'];
$present->text = $_POST['txt'];
if (intval($_POST['from']) === 1) {
$present->anonymousSender = true;
} elseif (intval($_POST['from'] === 2) && $u->info['clan'] > 0) {
$present->clanSender = true;
}
$sendPresent = new Present($present);
$status = $sendPresent->getStatus();
}
if ($u->info['align'] == 2 || $u->info['haos'] > time()) {
$re = '<div align="left">Хаосникам запрещается делать подарки другим игрокам</div>';
} elseif ($to['id'] == $u->info['id']) {
$re = '<div align="left">Очень щедро дарить что-то самому себе ;)</div>';
} elseif ($u->info['level'] < 4) {
$re = '<div align="left">Дарить подарки можно начиная с 4-го уровня</div>';
} else {
if ($_POST['itemgift'] > 1000000000000) {
$itm_l = mysql_fetch_array(mysql_query('SELECT * FROM `users_gifts` WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . mysql_real_escape_string((int)$_POST['itemgift'] - 1000000000000) . '" LIMIT 1'));
if (isset($itm_l['id']) && $itm_l['money'] > $u->info['money']) {
$re = '<div>Недостаточно денег</div>';
} elseif (isset($itm_l['id'])) {
$itm = \User\ItemsModel::addItem(4533, 1, '|gift_id=' . $itm_l['id'] . '');
if ($itm > 0) {
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`im`.`type` = "28" OR `im`.`type` = "38" OR `im`.`type` = "63" OR `im`.`type` = "64" OR `im`.`type` = "37") AND `iu`.`id` = "' . mysql_real_escape_string($itm) . '" AND `iu`.`uid` = "1" AND `iu`.`gift` = "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" LIMIT 1'));
if (isset($itm['id'])) {
$u->info['money'] -= $itm_l['money'];
mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
$itm['gtxt1'] = $_POST['podarok2'];
$itm['gtxt2'] = $_POST['txt'];
$itm['gtxt1'] = str_replace('\x3C', '<', $itm['gtxt1']);
$itm['gtxt1'] = str_replace('\x3', '>', $itm['gtxt1']);
$itm['gtxt1'] = htmlspecialchars($itm['gtxt1'], null);
$itm['gtxt2'] = str_replace('\x3C', '<', $itm['gtxt2']);
$itm['gtxt2'] = str_replace('\x3', '>', $itm['gtxt2']);
$itm['gtxt2'] = htmlspecialchars($itm['gtxt2'], null);
$giftlogin = $u->info['login'];
if ($_POST['from'] == 1) {
//Анонимно
$giftlogin = '<i>Анонима</i>';
} elseif ($_POST['from'] == 2 && $u->info['clan'] > 0) {
//От клана
$cln = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $u->info['clan'] . '" LIMIT 1'));
if (isset($cln['id'])) {
$giftlogin = 'клана <img src=/i/clan/' . $cln['id'] . '.gif> <b>' . $cln['name'] . '</b>';
}
}
$fspam = $filter->spamFiltr(str_replace('точка', '.', str_replace('ру', 'ru', $itm['gtxt1'])));
if ($fspam != '0') {
$itm['gtxt1'] = '<font color=red><b>&lt;РВС&gt;</b></font>';
$itm['gtxt2'] = '<font color=red><b>&lt;РВС&gt;</b></font>';
}
$upd = mysql_query('UPDATE `items_users` SET `data` = "' . $itm['data'] . '",`gtxt1` = "' . mysql_real_escape_string($itm['gtxt1']) . '",`gtxt2` = "' . mysql_real_escape_string($itm['gtxt2']) . '", `uid` = "' . $to['id'] . '", `gift` = "' . $giftlogin . '",`time_create` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
$whos = mysql_fetch_array(mysql_query('SELECT `login` FROM `users` WHERE `id` = "' . $to['id'] . '" LIMIT 1'));
$ld = $u->addDelo(1, $to['id'], '&quot;<font color=#C65F00>Shop.' . $u->info['city'] . '</font>&quot;: Получен подарок от [id="' . $u->info['id'] . '"/ Логин : "' . $u->info['login'] . '"]. Предмет [id="' . $itm['id'] . '"/ Название : "' . $itm['name'] . '"] содержыит: "' . $itm['data'] . '"', time(), $u->info['city'], 'Shop.gift', 0, 0);
$ld = $u->addDelo(1, $u->info['id'], '&quot;<font color=#C65F00>Shop.' . $u->info['city'] . '</font>&quot;: Сделал подарок персонажу [id="' . $to['id'] . '"/ Логин : "' . $whos['login'] . '"]. Предмет [id="' . $itm['id'] . '"/ Название : "' . $itm['name'] . '"] содержыит: "' . $itm['data'] . '"', time(), $u->info['city'], 'Shop.gift', 0, 0);
if ($upd) {
$re = '<div>Подарок был успешно отправлен к &quot;' . $to['login'] . '&quot; за ' . $itm_l['money'] . ' кр.</div>';
if ($giftlogin == $u->info['login']) {
$text = ' Получен подарок <b>' . $itm_l['name'] . '</b>. От персонажа [login:' . $u->info['login'] . '] .';
} else {
$text = ' Получен подарок <b>' . $itm_l['name'] . '</b>. От персонажа ' . $giftlogin . ' .';
}
$cmsg->setText($text);
$chat->sendMsg($cmsg);
} else {
$re = '<div>Не удалось сделать подарок</div>';
}
} else {
$re = '<div>Не удалось сделать подарок, он испортился...</div>';
}
} else {
$re = '<div>Не удалось сделать подарок, курьер случайно сломал его...</div>';
}
} else {
$re = '<div>Предмет не найден</div>';
}
} else {
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`im`.`type` = "28" OR `im`.`type` = "38" OR `im`.`type` = "63" OR `im`.`type` = "64" OR `im`.`type` = "37") AND `iu`.`id` = "' . mysql_real_escape_string($_POST['itemgift']) . '" AND `iu`.`uid` = "' . $u->info['id'] . '" AND (`iu`.`gift` = "" OR (`iu`.`data` LIKE "%|zazuby=%" AND `iu`.`gift` = 1)) AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" LIMIT 1'));
$po = \Core\ConversionHelper::dataStringToArray($itm['data']);
if (isset($itm['id']) && $itm['type'] != 37) {
$re = '<div>Дарить подарки возможно только в упаковке!</div>';
} elseif (!isset($po['item_inbox'])) {
$re = '<div>Вы ничего не запоковали в упаковку!</div>';
} elseif (isset($itm['id'])) {
//$itm['data'] = '';
$itm['gtxt1'] = $_POST['podarok2'];
$itm['gtxt2'] = $_POST['txt'];
$itm['gtxt1'] = str_replace('\x3C', '<', $itm['gtxt1']);
$itm['gtxt1'] = str_replace('\x3', '>', $itm['gtxt1']);
$itm['gtxt1'] = htmlspecialchars($itm['gtxt1'], NULL);
$itm['gtxt2'] = str_replace('\x3C', '<', $itm['gtxt2']);
$itm['gtxt2'] = str_replace('\x3', '>', $itm['gtxt2']);
$itm['gtxt2'] = htmlspecialchars($itm['gtxt2'], NULL);
$fspam = $filter->spamFiltr(str_replace('точка', '.', str_replace('ру', 'ru', $itm['gtxt1'])));
if ($fspam != '0') {
$itm['gtxt1'] = '<font color=red><b>&lt;РВС&gt;</b></font>';
$itm['gtxt2'] = '<font color=red><b>&lt;РВС&gt;</b></font>';
}
$giftlogin = $u->info['login'];
if ($fspam != '0') {
//Если спам то хуй анонимно!
} elseif ($_POST['from'] == 1) {
//Анонимно
$giftlogin = '<i>Анонима</i>';
} elseif ($_POST['from'] == 2 && $u->info['clan'] > 0) {
//От клана
$cln = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $u->info['clan'] . '" LIMIT 1'));
if (isset($cln['id'])) {
$giftlogin = 'клана <img src=/i/clan/' . $cln['id'] . '.gif> <b>' . $cln['name'] . '</b>';
}
}
$items = \Core\ConversionHelper::dataStringToArray($itm['data']);
$shop = new Shop($shopId, $otdel);
$shopName = Db::getValue('select name from room where id = ?', [$u->info['room']]);
$iteminc = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `id` = "' . intval($items['item_inbox']) . '" LIMIT 1'));
$iteminctru = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $iteminc['item_id'] . '" LIMIT 1'));
if ($buyItemId) {
$status = $shop->buy($buyItemId);
} elseif ($buyEkrItemId) {
$status = $shop->buyEkr($buyEkrItemId);
} elseif ($buyVoinItemId) {
$status = $shop->buyVn($buyVoinItemId);
}
$upd = mysql_query('UPDATE `items_users` SET `data` = "' . $itm['data'] . '",`gtxt1` = "' . mysql_real_escape_string($itm['gtxt1']) . '",`gtxt2` = "' . mysql_real_escape_string($itm['gtxt2']) . '", `uid` = "' . $to['id'] . '", `gift` = "' . $giftlogin . '",`time_create` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
$whos = mysql_fetch_array(mysql_query('SELECT `login` FROM `users` WHERE `id` = "' . $to['id'] . '" LIMIT 1'));
$ld = $u->addDelo(1, $to['id'], '&quot;<font color=#C65F00>Shop.' . $u->info['city'] . '</font>&quot;: Получен подарок от [id="' . $u->info['id'] . '"/ Логин : "' . $u->info['login'] . '"]. Предмет [id="' . $itm['id'] . '"/ Название : "' . $itm['name'] . '"] (' . $giftlogin . ') содержит: ["' . $iteminc['item_id'] . '" / "' . $iteminctru['name'] . '"]', time(), $u->info['city'], 'Shop.gift', 0, 0);
$ld = $u->addDelo(1, $u->info['id'], '&quot;<font color=#C65F00>Shop.' . $u->info['city'] . '</font>&quot;: Сделал подарок персонажу [id="' . $to['id'] . '"/ Логин : "' . $whos['login'] . '"]. Предмет [id="' . $itm['id'] . '"/ Название : "' . $itm['name'] . '" (' . $giftlogin . ')] содержит: ["' . $iteminc['item_id'] . '" / "' . $iteminctru['name'] . '"]', time(), $u->info['city'], 'Shop.gift', 0, 0);
if ($upd) {
$re = '<div align="left">Подарок был успешно отправлен к &quot;' . $to['login'] . '&quot;</div>';
if ($giftlogin == $u->info['login']) {
$text = ' Получен подарок <b>' . $itm['name'] . '</b>. От персонажа [login:' . $u->info['login'] . '] .';
} else {
$text = ' Получен подарок <b>' . $itm['name'] . '</b>. От персонажа ' . $giftlogin . ' .';
}
$cmsg->setText($text);
$chat->sendMsg($cmsg);
} else {
$re = '<div align="left">Не удалось сделать подарок</div>';
}
} else {
$re = '<div align="left">Предмет не найден</div>';
}
}
}
if ($actionSale) {
$itmAll = $u->genInv(2, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`=0 AND `iu`.`inOdet`=0 AND `iu`.`inShop`=0 AND `iu`.`data` NOT LIKE "%fromshop=2%" ORDER BY `lastUPD` DESC');
if ($itmAll[0] == 0) {
$itmAllSee = '<tr><td style="text-align: center; background-color: lightgrey;">ПУСТО</td></tr>';
} else {
$re = '<div align="left">Персонаж с таким логином не найден</div>';
$itmAllSee = $itmAll[2];
}
if ($sellItemId) {
$item = ItemsModel::getOwnedItemById($sellItemId, User::start()->info['id']);
$itemData = ConversionHelper::dataStringToArray($item['data']);
$status = $item['gift'] ? 'Подарки не продаются!' : '';
$status = $itemData['nosale'] ? 'Предмет не для продажи!' : '';
if (!$status && $sellItemId) {
$sellprice = $item['1price'] - $item['1price'] * 0.1;
ItemsModel::delete($item['id']);
$u->addKr($sellprice);
$u->info['money'] += $sellprice;
$status = "Вы успешно продали предмет «{$item['name']}» за $sellprice кр.";
Delo::add(2, 'shopid:' . $shopId, $u->info['id'], "Предмет «{$item['name']}» [id:{$item['id']}] продан за $sellprice кр.", -$sellprice);
}
}
}
if (isset($u->stats['shopSale'], $_GET['sale'])) {
$bns = 0 + $u->stats['shopSale'];
if ($bns != 0) {
if ($bns > 0) {
$bns = '+' . $bns;
}
$shopProcent = $u->shopSaleM($shopProcent, $itm);
$shopProcent -= $bns;
if ($shopProcent > 99) {
$shopProcent = 99;
}
if ($shopProcent < 1) {
$shopProcent = 1;
}
echo '<div style="color:grey;"><b>У Вас действует бонус при продаже: ' . $bns . '%</b><br><small>Вы сможете продавать предметы за ' . $shopProcent . '% от их стоимости</small></div>';
if ($actionGifts) {
$uc = new Clan($u->info);
$imgsrc = Config::img();
$sp = Db::getRow('select * from users_gifts where uid = ?', [$u->info['id']]);
foreach ($sp as $pl) {
$giftsvars[] = [
'img' => $imgsrc . '/i/items/' . $pl['img'],
'jsvalue' => 1000000000000 + $pl['id'],
'money' => $pl['money'],
'linkname' => $pl['name'],
];
}
}
if (!isset($_GET['otdel'])) {
$_GET['otdel'] = 1;
}
$sid = 1;
$error = '';
if (isset($_GET['buy'])) {
if ($u->newAct($_GET['sd4']) == true) {
$re = $u->buyItem($sid, (int)$_GET['buy'], (int)$_GET['x']);
} else {
$re = 'Вы уверены что хотите купить этот предмет?';
}
} elseif (isset($_GET['sale']) && isset($_GET['item']) && $u->newAct($_GET['sd4'])) {
$id = (int)$_GET['item'];
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.*, count(`iuu`.id) as inGroupCount
FROM `items_users` AS `iu`
LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`)
LEFT JOIN `items_users` as `iuu` ON (`iuu`.inGroup = `iu`.inGroup AND `iuu`.item_id = `im`.id )
WHERE `iuu`.`uid`="' . $u->info['id'] . '" AND `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . mysql_real_escape_string($id) . '" LIMIT 1'));
$po = \Core\ConversionHelper::dataStringToArray($itm['data']);
if ($u->info['allLock'] > time()) {
$po['nosale'] = 1;
}
if (($itm['gift'] != '' && $itm['gift'] != '0') && ($itm['type'] == 37 || $itm['type'] == 38 || $itm['type'] == 39 || $itm['type'] == 63)) {
$error = 'Нельзя продавать подарки, они должны оставаться на память! :)';
} elseif (isset($po['nosale'])) {
$error = 'Не удалось продать предмет, запрет продажи данного предмета ...';
} elseif ($pl['type'] < 29 && ($po['srok'] > 0 || $pl['srok'] > 0) && $pl['type'] != 28) {
$error = 'Не удалось продать предмет, вышел срок годности ...';
//}elseif(isset($po['frompisher'])){
//$error = 'Не удалось продать предмет, предмет из подземелья ...';
} elseif (isset($po['fromlaba'])) {
$error = 'Не удалось продать предмет, предмет из лабиринта продается за воинственность ...';
} elseif (isset($itm['id'])) {
if ($itm['1price'] > 0) {
$itm['price1'] = $itm['1price'];
}
$shpCena = $itm['price1'];
$plmx = 0;
if ($itm['iznosMAXi'] != $itm['iznosMAX'] && $itm['iznosMAX'] != 0) {
$plmx = $itm['iznosMAX'];
} else {
$plmx = $itm['iznosMAXi'];
}
if ($itm['iznosNOW'] > 0) {
$prc1 = floor($itm['iznosNOW']) / ceil($plmx) * 100;
} else {
$prc1 = 0;
}
$shpCena = $u->shopSaleM($shpCena, $itm);
$shpCena = $shpCena / 100 * (100 - $prc1);
if ($itm['iznosMAXi'] < 999999999) {
if ($itm['iznosMAX'] > 0 && $itm['iznosMAXi'] > 0 && $itm['iznosMAXi'] > ceil($itm['iznosMAX'])) {
$shpCena = $shpCena / 100 * (ceil($itm['iznosMAX']) / $itm['iznosMAXi'] * 100);
}
}
$shpCena = $u->round2($shpCena / 100 * (100 - $shopProcent));
if ($shpCena < 0) {
$shpCena = 0;
}
$col = $u->itemsX($itm['id']);
if ($col > 0) {
$shpCena = $shpCena * $col;
}
if ($shpCena < 0) {
$shpCena = 0;
}
$upd2 = mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
if ($upd2) {
if ($col > 1) {
mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `uid`="' . $itm['uid'] . '" AND `inGroup` = "' . $itm['inGroup'] . '" LIMIT ' . $col . '');
}
$u->info['money'] += $shpCena;
$upd = mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
if ($upd) {
$error = 'Вы успешно продали предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; за ' . $shpCena . ' кр.';
mysql_query('UPDATE `items_users` SET `inGroup` = "0",`delete` = "' . time() . '" WHERE `inGroup` = "' . $itm['id'] . '" AND `uid` = "' . $u->info['id'] . '" LIMIT ' . $itm['group_max'] . '');
$u->addDelo(2, $u->info['id'], '&quot;<font color="green">System.shop</font>&quot;: Предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' кр.</B>.', time(), $u->info['city'], 'System.shop', 0, 0);
} else {
$u->addDelo(2, $u->info['id'], '&quot;<font color="green">System.shop</font>&quot;: Предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' кр.</B> (кредиты не переведены).', time(), $u->info['city'], 'System.shop', 0, 0);
$error = 'Не удалось продать предмет...';
}
} else {
$error = 'Не удалось продать предмет...';
}
} else {
$error = 'Предмет не найден в инвентаре.';
}
} elseif (isset($_GET['sale']) && isset($_GET['item_rep']) && $u->newAct($_GET['sd4'])) {
$id = (int)$_GET['item_rep'];
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `im`.`pricerep` > 0 AND `iu`.`inShop`="0" AND `iu`.`id` = "' . mysql_real_escape_string($id) . '" LIMIT 1'));
$po = \Core\ConversionHelper::dataStringToArray($itm['data']);
if ($u->info['allLock'] > time()) {
$po['nosale'] = 1;
}
if (isset($po['nosale'])) {
$error = 'Не удалось продать предмет, запрет продажи данного предмета ...';
} elseif ($pl['type'] < 29 && ($po['srok'] > 0 || $pl['srok'] > 0)) {
$error = 'Не удалось продать предмет, вышел срок годности ...';
} elseif (isset($po['frompisher'])) {
$error = 'Не удалось продать предмет, предмет из подземелья ...';
} elseif (isset($itm['id'])) {
$shpCena = $itm['pricerep'];
$plmx = 0;
if ($itm['iznosMAXi'] != $itm['iznosMAX'] && $itm['iznosMAX'] != 0) {
$plmx = $itm['iznosMAX'];
} else {
$plmx = $itm['iznosMAXi'];
}
if ($itm['iznosNOW'] > 0) {
$prc1 = floor($itm['iznosNOW']) / ceil($plmx) * 100;
} else {
$prc1 = 0;
}
$shpCena = floor($shpCena / 2);
//$shpCena = $u->round2($shpCena/100*(100-$shopProcent));
if ($shpCena < 0) {
$shpCena = 0;
}
$col = $u->itemsX($itm['id']);
if ($col > 0) {
$shpCena = $shpCena * $col;
}
$shpCena = floor($shpCena);
if ($shpCena < 0) {
$shpCena = 0;
}
$upd2 = mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
if ($upd2) {
if ($col > 1) {
mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `uid`="' . $itm['uid'] . '" AND `inGroup` = "' . $itm['inGroup'] . '" LIMIT ' . $col . '');
}
$u->rep['rep3'] += $shpCena;
$upd = mysql_query('UPDATE `rep` SET `rep3` = "' . $u->rep['rep3'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
if ($upd) {
$error = 'Вы успешно обменяли предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; на +' . $shpCena . ' воинственности.<br>
Ваша воинственность: ' . ($u->rep['rep3'] - $u->rep['rep3_buy']) . '';
mysql_query('UPDATE `items_users` SET `inGroup` = "0",`delete` = "' . time() . '" WHERE `inGroup` = "' . $itm['id'] . '" AND `uid` = "' . $u->info['id'] . '" LIMIT ' . $itm['group_max'] . '');
$u->addDelo(2, $u->info['id'], '&quot;<font color="green">System.shop</font>&quot;: Предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' воинственность.</B>.', time(), $u->info['city'], 'System.shop', 0, 0);
} else {
$u->addDelo(2, $u->info['id'], '&quot;<font color="green">System.shop</font>&quot;: Предмет &quot;' . $itm['name'] . ' (x' . $col . ')&quot; [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' воинственность.</B> (Репутация не переведена).', time(), $u->info['city'], 'System.shop', 0, 0);
$error = 'Не удалось обменять предмет...';
}
} else {
$error = 'Не удалось обменять предмет...';
}
$itmAll = $u->genInv(3, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`=0 AND `iu`.`inOdet`=0 AND `iu`.`inShop`=0 AND `im`.`type` in (28,38,63,64,37) AND (`iu`.`gift` = "" OR `iu`.`gift` = 1) ORDER BY `lastUPD` DESC');
if ($itmAll[0] == 0) {
$itmAllSee = '<tr><td style="text-align: center; background-color: lightgrey;">У вас нет подходящих предметов</td></tr>';
} else {
$error = 'Подходящий предмет не найден в инвентаре.';
$itmAllSee = $itmAll[2];
}
}
if ($re != '') {
echo '<div align="right"><font color="red"><b>' . $re . '</b></font></div>';
} ?>
<script type="text/javascript">
function AddCount(name, txt) {
document.getElementById("hint4").innerHTML = '<table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor="#CCC3AA"><tr><td align=center><B>Купить неск. штук</td><td width=20 align=right valign=top style="cursor: pointer" onclick="closehint3();"><BIG><B>x</TD></tr><tr><td colspan=2>' +
'<form method=post><table border=0 width=100% cellspacing=0 cellpadding=0 bgcolor="#FFF6DD"><tr><INPUT TYPE="hidden" name="set" value="' + name + '"><td colspan=2 align=center><B><I>' + txt + '</td></tr><tr><td width=80% align=right>' +
'Количество (шт.) <INPUT TYPE="text" NAME="count" id=count size=4></td><td width=20%>&nbsp;<INPUT TYPE="submit" value=" »» ">' +
'</TD></TR></form></TABLE></td></tr></table>';
document.getElementById("hint4").style.visibility = 'visible';
document.getElementById("hint4").style.left = '100px';
document.getElementById("hint4").style.top = '100px';
document.getElementById("count").focus();
}
function closehint3() {
document.getElementById('hint4').style.visibility = 'hidden';
Hint3Name = '';
}
</script>
<style type="text/css">
.pH3 {
COLOR: #8f0000;
FONT-FAMILY: Arial;
FONT-SIZE: 12pt;
FONT-WEIGHT: bold;
}
.class_ {
font-weight: bold;
color: #C5C5C5;
cursor: pointer;
}
.class_st {
font-weight: bold;
color: #659BA3;
cursor: pointer;
}
.class__ {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #659BA3;
}
.class__st {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #659BA3;
font-size: 10px;
}
.class_old {
font-weight: bold;
color: #919191;
cursor: pointer;
}
.class__old {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #838383;
font-size: 10px;
}
</style>
<TABLE width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<div align="center" class="pH3">Магазин</div>
<center><br><b>Магазин принимает вещи 0-7 уровней под 100%, вещи 8-го уровня под 95%, вещи 9-го уровня, а также свитки и эликсиры можно сдать в магазин под 70%.</b></div></center>
<?php
echo '<b style="color:red">' . $error . '</b>';
?>
<br/>
<TABLE width="100%" cellspacing="0" cellpadding="4">
<TR>
<form name="F1" method="post">
<TD valign="top" align="left">
<!--Магазин-->
<table width="100%" cellspacing="0" cellpadding="0" bgcolor="#a5a5a5">
<div id="hint3" style="visibility:hidden"></div>
<tr>
<td align="center" height="21">
<?php
/*названия разделов (сверху)*/
if (!isset($_GET['sale']) && !isset($_GET['gifts']) && isset($_GET['otdel'])) {
$otdels_small_array = array(
'',
'<b>Отдел&nbsp;&quot;Оружие: кастеты,ножи&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: топоры&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: дубины,булавы&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: мечи&quot;</b>',
'<b>Отдел&nbsp;&quot;Оружие: магические посохи&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: сапоги&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: перчатки&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: рубахи&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: легкая броня&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: тяжелая броня&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: шлемы&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: наручи&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: пояса&quot;</b>',
'<b>Отдел&nbsp;&quot;Одежда: поножи&quot;</b>',
'<b>Отдел&nbsp;&quot;Щиты&quot;</b>',
'<b>Отдел&nbsp;&quot;Ювелирные товары: серьги&quot;</b>',
'<b>Отдел&nbsp;&quot;Ювелирные товары: ожерелья&quot;</b>',
'<b>Отдел&nbsp;&quot;Ювелирные товары: кольца&quot;</b>',
'<b>Отдел&nbsp;&quot;Заклинания: нейтральные&quot;</b>',
'<b>Отдел&nbsp;&quot;Заклинания: боевые и защитные&quot;</b>'
, '<b>Отдел&nbsp;&quot;Заклинания: пирожки&quot;</b>'
, '<b>Отдел&nbsp;&quot;Заклинания: исцеляющие&quot;</b>'
, '<b>Отдел&nbsp;&quot;Заклинания: манящие&quot;</b>'
, '<b>Отдел&nbsp;&quot;Заклинания: стратегические&quot;</b>'
, '<b>Отдел&nbsp;&quot;Заклинания: тактические&quot;</b>'
, '<b>Отдел&nbsp;&quot;Заклинания: сервисные&quot;</b>'
, '<b>Отдел&nbsp;&quot;Амуниция&quot;</b>',
'<b>Отдел&nbsp;&quot;Эликсиры&quot;</b>',
'<b>Отдел&nbsp;&quot;Еда&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: недобрые&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: упаковка&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: открытки&quot;</b>',
'<b>Отдел&nbsp;&quot;Подарки: фейерверки&quot;</b>',
'<b>Отдел&nbsp;&quot;Усиление оружия: Заточки&quot;</b>',
'<b>Отдел&nbsp;&quot;Плащи и Накидки:&quot;</b>',
'<b>Отдел&nbsp;&quot;Готовые Комплекты:&quot;</b>');
if (isset($otdels_small_array[$_GET['otdel']])) {
echo $otdels_small_array[$_GET['otdel']];
}
//echo '<br><b>Магазин принимает вещи 0-7 уровней под 100%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.</b>';
} elseif (isset($_GET['sale']) && $_GET['sale']) {
echo '
<B>Отдел&nbsp;&quot;Скупка&quot;</B><br>
Здесь вы можете продать свои вещи, за жалкие гроши...<br>' .
//<b>Магазин принимает вещи 0-7 уровней под 99%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.</b><br>
'У вас в наличии:
';
} elseif (isset($_GET['gifts'])) {
echo '
<B>Отдел&nbsp;&quot;Сделать подарки&quot;</B>';
}
?>
</tr>
<tr>
<td>
<!--Рюкзак / Прилавок-->
<table width="100%" CELLSPACING="1" CELLPADDING="1" bgcolor="#a5a5a5">
<?php
if (isset($_GET['gifts'])) {
?>
<tr>
<td bgcolor="#D5D5D5">
Вы можете сделать подарок дорогому человеку. Ваш подарок будет отображаться в информации о персонаже.
<OL>
<LI>Укажите логин персонажа, которому хотите сделать подарок<BR>
Логин
<INPUT TYPE=text NAME=to_login value="">
<LI>Цель подарка. Будет отображаться в информации о персонаже (не более 60 символов)<BR>
<?php if ($u->info['exp'] >= 500000) { ?>
<INPUT TYPE=text NAME=podarok2 value="" maxlength=60 size=50>
<?php } else { ?>
<INPUT disabled TYPE=text NAME=podarok2 value="С уважением!" maxlength=60 size=50>
<BR><small><span>Для редактирования текста нужно 500000 Опыта!</span></small>
<?php
} ?>
<LI>Напишите текст сопроводительной записки (в информации о персонаже не отображается)<BR>
<?php if ($u->info['exp'] >= 500000) { ?>
<TEXTAREA NAME=txt ROWS=6 COLS=80></TEXTAREA>
<?php } else { ?>
<TEXTAREA NAME=txt ROWS=6 COLS=80 disabled>С уважением!</TEXTAREA>
<BR><small><span>Для редактирования текста нужно 500000 Опыта!</span></small>
<?php
} ?>
<LI>Выберите, от чьего имени подарок:<BR>
<INPUT TYPE=radio NAME=from value=0 checked> <B><?= $u->info['login'] ?></B> [<?= $u->info['level'] ?>]<BR>
<INPUT TYPE=radio NAME=from value=1> анонимно<BR>
<?php if ($u->info['clan'] > 0) { ?><INPUT TYPE=radio NAME=from value=2> от имени клана<BR><?php } ?>
<LI>Нажмите кнопку <B>Подарить</B> под предметом, который хотите преподнести в подарок:<BR>
</OL>
<input name="itemgift" id="itemgift" type="hidden" value="0"/>
</td>
</tr>
<?php
}
if (isset($_GET['gifts'])) {
$htmlg2 = '';
$sp = mysql_query('SELECT * FROM `users_gifts` WHERE `uid` = "' . $u->info['id'] . '"');
while ($pl = mysql_fetch_array($sp)) {
$itmg2 = '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="160" align="center" style="border-right:#A5A5A5 1px solid; padding:5px;">' .
//
'<img style="padding-bottom:5px;" src="//img.new-combats.tech/i/items/' . $pl['img'] . '"><br>' .
'<input onClick="document.getElementById(\'itemgift\').value=' . (1000000000000 + $pl['id']) . ';document.F1.submit();" type="button" value="Подарить за ' . $pl['money'] . ' кр.">' .
//
'</td><td align="left" valign="top" style="border-right:#A5A5A5 1px solid; padding:5px;">' .
//
'<a href="/item/0">' . $pl['name'] . '</a> &nbsp; (Масса: 1)<br>Долговечность: 0/1<br>' .
'<small><b>Описание:</b><br>Это именной подарок, его можете подарить только Вы.<br>Сделано в Capital city</small>' .
//
'</td></tr></table>';
$htmlg2 .= '<tr><td align="center" bgcolor="#e2e0e0">' . $itmg2 . '</td></tr>';
}
if ($htmlg2 != '') {
echo '<tr><td align="center" bgcolor="#e2e0e0"><h3>Уникальные подарки</h3>' . $htmlg2 . '</td></tr>';
echo '<tr><td align="center" bgcolor="#e2e0e0"><h3>Стандартные подарки</h3></td></tr>';
}
unset($htmlg2, $itmg2);
//
$itmAll = $u->genInv(3, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = "28" OR `im`.`type` = "38" OR `im`.`type` = "63" OR `im`.`type` = "64" OR `im`.`type` = "37") AND (`iu`.`gift` = "" OR (`iu`.`data` LIKE "%|zazuby=%" AND `iu`.`gift` = 1)) ORDER BY `lastUPD` DESC');
if ($itmAll[0] == 0) {
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">У вас нет подходящих предметов</td></tr>';
} else {
$itmAllSee = $itmAll[2];
}
echo $itmAllSee;
} elseif (!isset($_GET['sale'])) {
//Выводим вещи в магазине для покупки
$u->shopItems($sid);
} else {
//Выводим вещи в инвентаре для продажи
$itmAll = $u->genInv(2, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` NOT LIKE "%fromshop=2%" ORDER BY `lastUPD` DESC');
if ($itmAll[0] == 0) {
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">ПУСТО</td></tr>';
} else {
$itmAllSee = $itmAll[2];
}
echo $itmAllSee;
}
?>
</TABLE>
</TD>
</TR>
</TABLE>
</TD>
</FORM>
</TR>
</TABLE>
<td width="280" valign="top">
<TABLE cellspacing="0" cellpadding="0">
<TD width="100%">&nbsp;</TD>
<TD>
<table border="0" cellpadding="0" cellspacing="0">
<tr align="right" valign="top">
<td>
<!-- -->
<?= $goLis; ?>
<!-- -->
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td nowrap="nowrap">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE">
<tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7"/></td>
<td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.9&rnd=<?= $code; ?>';"
title="<?php thisInfRm('1.180.0.9', 1); ?>">Центральная Площадь</a></td>
</tr>
<tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7"/></td>
<td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.368&rnd=<?= $code; ?>';"
title="<?php thisInfRm('1.180.0.368', 1); ?>">Подпольная лавка</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</table>
</td>
</table>
<div><br/>
<div align="right">
<small>
Масса: <b><?= $u->aves['now'] ?>/<?= $u->aves['max'] ?></b> &nbsp;<br/>
У вас в наличии: <b style="color:#339900;"><?= round($u->info['money'], 2); ?> кр.</b> &nbsp;
<?php
if ($u->info['level'] < 8 && $c['zuby'] == true) {
?>
<br/>Зубов: <?= $u->zuby($u->info['money4']) ?> &nbsp; &nbsp;
<?php
}
?>
</small>
</div>
<br/>
<center>
<?php
/*кнопочки*/
if (!isset($_GET['sale'])) {
echo '<INPUT class="btn" TYPE="button" value="Продать вещи" onclick="location=\'?otdel=' . $_GET['otdel'] . '&sale=1\'">&nbsp;';
} else {
echo '<INPUT class="btn" TYPE="button" value="Купить вещи" onclick="location=\'?otdel=' . $_GET['otdel'] . '\'">&nbsp;';
}
?>
<INPUT class="btn" TYPE="button" value="Обновить" onclick="location = '<?= str_replace('item', '', str_replace('buy', '', $_SERVER['REQUEST_URI'])); ?>';">
</center>
<BR>
</div>
<div style="background-color:#A5A5A5;padding:1">
<center><B>Отделы магазина</B></center>
</div>
<div style="line-height:17px;">
<style>.shop_menu_txt {
background-color: #d5d5d5;
}</style>
<?php
/*названия разделов (справа)*/
$otdels_array = array(
'',
'&nbsp;&nbsp;Кастеты,ножи',
'&nbsp;&nbsp;Топоры',
'&nbsp;&nbsp;Дубины,булавы',
'&nbsp;&nbsp;Мечи',
'&nbsp;&nbsp;Магические посохи',
'&nbsp;&nbsp;Сапоги',
'&nbsp;&nbsp;Перчатки',
'&nbsp;&nbsp;Рубахи',
'&nbsp;&nbsp;Легкая броня',
'&nbsp;&nbsp;Тяжелая броня',
'&nbsp;&nbsp;Шлемы',
'&nbsp;&nbsp;Наручи',
'&nbsp;&nbsp;Пояса',
'&nbsp;&nbsp;Поножи',
'&nbsp;&nbsp;Щиты',
'&nbsp;&nbsp;Серьги',
'&nbsp;&nbsp;Ожерелья',
'&nbsp;&nbsp;Кольца',
'&nbsp;&nbsp;Нейтральные',
'&nbsp;&nbsp;Боевые и защитные',
'&nbsp;&nbsp;Пирожки',
'&nbsp;&nbsp;Исцеляющие',
'&nbsp;&nbsp;Манящие',
'&nbsp;&nbsp;Стратегические',
'&nbsp;&nbsp;Тактические',
'&nbsp;&nbsp;Сервисные',
'&nbsp;&nbsp;Амуниция',
'&nbsp;&nbsp;Эликсиры',
'&nbsp;&nbsp;Еда',
'&nbsp;&nbsp;Подарки',
'&nbsp;&nbsp;Недобрые',
'&nbsp;&nbsp;Упаковка',
'&nbsp;&nbsp;Открытки',
'&nbsp;&nbsp;Фейерверки',
'&nbsp;&nbsp;Усиление оружия: Заточки',
'&nbsp;&nbsp;Одежда: Плащи и Накидки',
"<span style='color: #ff0000'>&nbsp;&nbsp;Одежда: Готовые Комплекты</span>",
'');
$i = 1;
while ($i != -1) {
if (isset($otdels_array[$i])) {
if (isset($_GET['otdel']) && $_GET['otdel'] == $i) {
$color = 'C7C7C7';
} else {
$color = 'e2e0e0';
}
if ($i == 1) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/1.png"> <b>Оружие:</b></div>';
} elseif ($i == 6) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/2.png"> <b>Одежда:</b></div>';
} elseif ($i == 15) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/3.png"> <b>Щиты:</b></div>';
} elseif ($i == 16) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/4.png"> <b>Ювелирные товары:</b></div>';
} elseif ($i == 19) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/6.png"> <b>Заклинания:</b></div>';
} elseif ($i == 27) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/7.png"> <b>Амуниция:</b></div>';
} elseif ($i == 28) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/5.png"> <b>Эликсиры:</b></div>';
} elseif ($i == 30) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/8.png"> <b>Подарки:</b></div>';
} elseif ($i == 35) {
echo '<div class="shop_menu_txt"><img height="12" width="12" src="i/shop_ico/9.png"> <b>Прочее:</b></div>';
}
echo '
<A HREF="?otdel=' . $i . '"><DIV style="background-color: #' . $color . '">
' . $otdels_array[$i] . '
</A></DIV>
';
} else {
$i = -2;
}
$i++;
}
if (isset($_GET['gifts'])) {
$color = 'C7C7C7';
} else {
$color = 'e2e0e0';
}
echo '<div class="shop_menu_txt"><b>Возможности:</b></div>';
echo '<A HREF="?otdel=32&gifts=1"><DIV style="background-color: #' . $color . '">&nbsp;&nbsp;Сделать подарки</A>';
?>
</div>
</td>
</table>
<br>
<div id="textgo" style="visibility:hidden;"></div>
/** @var string $goLis инициализируется в файле из которого вызван этот. Отрисовка датчика задержки смены локации. */
/** @var string $code инициализируется в файле из которого вызван этот. Хеш-строка против кеширования. */
$renderArgs = [
'shopName' => $shopName,
'status' => $status,
'actionSale' => $actionSale,
'actionGifts' => $actionGifts,
'otdel' => $otdel,
'u' => $u,
'uc' => $uc,
'giftsvars' => $giftsvars,
'itmAllSee' => $itmAllSee,
'shop' => $shop,
'goLis' => $goLis,
'code' => $code,
'shopId' => $shopId,
'otdels' => $shop->getUsedOtdels(),
'i' => 1,
];
View::render('Locations/Shop.php', $renderArgs);