dev-remote_buildings #62
187
_incl_data/Views/Locations/Shop.php
Normal file
187
_incl_data/Views/Locations/Shop.php
Normal 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;"> <?= $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; ?>
|
||||||
|
|
||||||
|
<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 . '"> ' . $v . '</a></div>';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
<div id="textgo" style="visibility:hidden;"></div>
|
||||||
|
|
18
_incl_data/class/Core/View.php
Normal file
18
_incl_data/class/Core/View.php
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
38
_incl_data/class/DTO/Present.php
Normal file
38
_incl_data/class/DTO/Present.php
Normal 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
26
_incl_data/class/Delo.php
Normal 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,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
122
_incl_data/class/Item/Data/Bonuses.php
Normal file
122
_incl_data/class/Item/Data/Bonuses.php
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
41
_incl_data/class/Item/Data/Properties.php
Normal file
41
_incl_data/class/Item/Data/Properties.php
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
84
_incl_data/class/Item/Data/Requirements.php
Normal file
84
_incl_data/class/Item/Data/Requirements.php
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
56
_incl_data/class/Item/DataModel.php
Normal file
56
_incl_data/class/Item/DataModel.php
Normal 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
90
_incl_data/class/Present.php
Normal file
90
_incl_data/class/Present.php
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3639,14 +3639,6 @@ class User
|
|||||||
return $plid;
|
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)
|
public function addNewbot($id, $botDate, $clon, $logins_bot = null, $luser = null, $round = null)
|
||||||
{
|
{
|
||||||
if ($clon != null) {
|
if ($clon != null) {
|
||||||
@ -3907,11 +3899,14 @@ class User
|
|||||||
return ItemsModel::addItem($id, $uid, $md, $dn, $mxiznos, $nosudba, $plavka);
|
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)
|
public function buyItem($sid, $itm, $x, $mdata = null, $vip = false)
|
||||||
{
|
{
|
||||||
global $c, $code, $sid;
|
global $c, $code, $sid;
|
||||||
@ -3932,7 +3927,7 @@ class User
|
|||||||
);
|
);
|
||||||
|
|
||||||
$r = '';
|
$r = '';
|
||||||
$vip = false;
|
|
||||||
if ($this->info['allLock'] > time()) {
|
if ($this->info['allLock'] > time()) {
|
||||||
$r = 'Вам запрещено совершать покупки до ' . date('d.m.y H:i', $this->info['allLock']) . '';
|
$r = 'Вам запрещено совершать покупки до ' . date('d.m.y H:i', $this->info['allLock']) . '';
|
||||||
} elseif (isset($i['id'])) {
|
} elseif (isset($i['id'])) {
|
||||||
@ -4540,13 +4535,11 @@ class User
|
|||||||
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
|
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
|
||||||
} elseif ($need_rep > 0) {
|
} elseif ($need_rep > 0) {
|
||||||
$r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.';
|
$r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.';
|
||||||
} elseif ($i['price_1'] * $x > $this->info['money4'] && $zuby == 1) {
|
|
||||||
$r = 'У вас недостаточно денег.';
|
|
||||||
} elseif ($mxby == -1) {
|
} elseif ($mxby == -1) {
|
||||||
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
|
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
|
||||||
} elseif ($trn == 0 && $this->info['admin'] == 0) {
|
} elseif ($trn == 0 && $this->info['admin'] == 0) {
|
||||||
$r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')';
|
$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']) . ' кр.)';
|
$r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)';
|
||||||
} else {
|
} else {
|
||||||
$d = mysql_fetch_array(
|
$d = mysql_fetch_array(
|
||||||
@ -4554,17 +4547,9 @@ class User
|
|||||||
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
|
'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);
|
||||||
$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 = '';
|
||||||
$data .= $d['data'];
|
$data .= $d['data'];
|
||||||
@ -4581,30 +4566,24 @@ class User
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (isset($itm['data']) && $itm['data'] != '' && $c_itm == 0) {
|
if (!empty($itm['data']) && $c_itm == 0) {
|
||||||
$po = ConversionHelper::dataStringToArray($itm['data']);
|
$po = ConversionHelper::dataStringToArray($itm['data']);
|
||||||
|
|
||||||
if (isset($po['sudba'])) {
|
|
||||||
if (isset($po['sudba'])) {
|
if (isset($po['sudba'])) {
|
||||||
$c_itm_data_a['sudba'] = $po['sudba'];
|
$c_itm_data_a['sudba'] = $po['sudba'];
|
||||||
}
|
}
|
||||||
}
|
if (!empty($po['gravi'])) {
|
||||||
if (isset($po['gravi']) && $po['gravi'] != '') {
|
|
||||||
if (isset($po['gravi'])) {
|
|
||||||
$c_itm_data_a['gravi'] = $po['gravi'];
|
$c_itm_data_a['gravi'] = $po['gravi'];
|
||||||
}
|
|
||||||
if (isset($po['gravic'])) {
|
if (isset($po['gravic'])) {
|
||||||
$c_itm_data_a['gravic'] = $po['gravic'];
|
$c_itm_data_a['gravic'] = $po['gravic'];
|
||||||
}
|
}
|
||||||
$c_itm++;
|
$c_itm++;
|
||||||
}
|
}
|
||||||
if (isset($po['imposed_id']) && $po['imposed_id'] > 0) {
|
if (!empty($po['imposed_id']) && $po['imposed_id'] > 0) {
|
||||||
|
$c_itm_data_a['imposed_id'] = $po['imposed_id'];
|
||||||
if (isset($po['imposed'])) {
|
if (isset($po['imposed'])) {
|
||||||
$c_itm_data_a['imposed'] = $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'])) {
|
if (isset($po['imposed_name'])) {
|
||||||
$c_itm_data_a['imposed_name'] = $po['imposed_name'];
|
$c_itm_data_a['imposed_name'] = $po['imposed_name'];
|
||||||
}
|
}
|
||||||
@ -4616,13 +4595,11 @@ class User
|
|||||||
}
|
}
|
||||||
$c_itm++;
|
$c_itm++;
|
||||||
}
|
}
|
||||||
if (isset($po['spell_id']) && $po['spell_id'] > 0) {
|
if (!empty($po['spell_id']) && $po['spell_id'] > 0) {
|
||||||
|
$c_itm_data_a['spell_id'] = $po['spell_id'];
|
||||||
if (isset($po['spell'])) {
|
if (isset($po['spell'])) {
|
||||||
$c_itm_data_a['spell'] = $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'])) {
|
if (isset($po['spell_name'])) {
|
||||||
$c_itm_data_a['spell_name'] = $po['spell_name'];
|
$c_itm_data_a['spell_name'] = $po['spell_name'];
|
||||||
}
|
}
|
||||||
@ -4637,13 +4614,11 @@ class User
|
|||||||
}
|
}
|
||||||
$c_itm++;
|
$c_itm++;
|
||||||
}
|
}
|
||||||
if (isset($po['rune_id']) && $po['rune_id'] > 0) {
|
if (!empty($po['rune_id']) && $po['rune_id'] > 0) {
|
||||||
|
$c_itm_data_a['rune_id'] = $po['rune_id'];
|
||||||
if (isset($po['rune'])) {
|
if (isset($po['rune'])) {
|
||||||
$c_itm_data_a['rune'] = $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'])) {
|
if (isset($po['rune_name'])) {
|
||||||
$c_itm_data_a['rune_name'] = $po['rune_name'];
|
$c_itm_data_a['rune_name'] = $po['rune_name'];
|
||||||
}
|
}
|
||||||
@ -4652,13 +4627,11 @@ class User
|
|||||||
}
|
}
|
||||||
$c_itm++;
|
$c_itm++;
|
||||||
}
|
}
|
||||||
if (isset($po['upatack_id']) && $po['upatack_id'] > 0) {
|
if (!empty($po['upatack_id']) && $po['upatack_id'] > 0) {
|
||||||
|
$c_itm_data_a['upatack_id'] = $po['upatack_id'];
|
||||||
if (isset($po['upatack'])) {
|
if (isset($po['upatack'])) {
|
||||||
$c_itm_data_a['upatack'] = $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'])) {
|
if (isset($po['upatack_name'])) {
|
||||||
$c_itm_data_a['upatack_name'] = $po['upatack_name'];
|
$c_itm_data_a['upatack_name'] = $po['upatack_name'];
|
||||||
}
|
}
|
||||||
@ -4749,13 +4722,7 @@ class User
|
|||||||
$trnt = ', ' . $trnt;
|
$trnt = ', ' . $trnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($zuby == 0) {
|
|
||||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||||
} else {
|
|
||||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $this->zuby(
|
|
||||||
$price
|
|
||||||
) . '. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
|
||||||
}
|
|
||||||
|
|
||||||
$j = 0;
|
$j = 0;
|
||||||
while ($j < count($detrn)) {
|
while ($j < count($detrn)) {
|
||||||
@ -4792,9 +4759,7 @@ class User
|
|||||||
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$r = 'Вам не удалось приобрести предмет...';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else { // Стандартная покупка предмета
|
} else { // Стандартная покупка предмета
|
||||||
if ($i['kolvo'] < $x) {
|
if ($i['kolvo'] < $x) {
|
||||||
@ -4886,52 +4851,30 @@ class User
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$zuby = 0;
|
|
||||||
if (isset($_GET['zuby']) && $i['level'] < 8 && Config::get('zuby') == true) {
|
|
||||||
$zuby = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$d = mysql_fetch_array(
|
$d = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
|
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
if (!empty($d['data'])) {
|
||||||
$po = ConversionHelper::dataStringToArray($d['data']);
|
$po = ConversionHelper::dataStringToArray($d['data']);
|
||||||
|
}
|
||||||
|
|
||||||
if ($zuby == 1 && $po['tr_lvl'] > 7) {
|
if ($i['max_buy'] < $x && $i['max_buy'] > 0) {
|
||||||
$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) {
|
|
||||||
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
|
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
|
||||||
} elseif (isset($need_rep) && $need_rep == 0) {
|
} elseif (isset($need_rep) && $need_rep == 0) {
|
||||||
$r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.';
|
$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) {
|
} elseif ($mxby == -1) {
|
||||||
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
|
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
|
||||||
} elseif ($trn == 0 && $this->info['admin'] == 0) {
|
} elseif ($trn == 0 && $this->info['admin'] == 0) {
|
||||||
$r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')';
|
$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']) . ' кр.)';
|
$r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)';
|
||||||
} else {
|
} else {
|
||||||
if ($zuby == 0) {
|
|
||||||
$this->info['money'] -= $price;
|
$this->info['money'] -= $price;
|
||||||
} else {
|
$this->addKr(-$price);
|
||||||
$this->info['money4'] -= $price;
|
|
||||||
}
|
|
||||||
$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 = '';
|
||||||
$data .= $d['data'];
|
$data .= $d['data'];
|
||||||
@ -4942,10 +4885,6 @@ class User
|
|||||||
}
|
}
|
||||||
|
|
||||||
$i['gift'] = '';
|
$i['gift'] = '';
|
||||||
if ($zuby == 1) {
|
|
||||||
$i['gift'] = '1';
|
|
||||||
$data .= '|nosale=1|zazuby=' . round($price / $x, 2) . '';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($sid == 404) {
|
if ($sid == 404) {
|
||||||
$data .= '|nosale=1|notransfer=1|fromshop=404|sudba=1';
|
$data .= '|nosale=1|notransfer=1|fromshop=404|sudba=1';
|
||||||
@ -5000,19 +4939,12 @@ class User
|
|||||||
$trnt = ', ' . $trnt;
|
$trnt = ', ' . $trnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($zuby == 0) {
|
|
||||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||||
} else {
|
|
||||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $this->zuby(
|
|
||||||
$price
|
|
||||||
) . '. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
|
||||||
}
|
|
||||||
|
|
||||||
$zx = 0;
|
$zx = 0;
|
||||||
$rs = 0;
|
$rs = 0;
|
||||||
while ($zx < $x) {
|
while ($zx < $x) {
|
||||||
if (($sid == 1 || $sid == 5) && $i['level'] >= 4 && round($price / $x) > 25) {
|
if (($sid == 1 || $sid == 5) && $i['level'] >= 4 && round($price / $x) > 25 && $this->stats['shopSale'] == 0 && !Config::get('nosanich')) {
|
||||||
if ($this->stats['shopSale'] == 0 && !Config::get('nosanich')) {
|
|
||||||
//Выдаем странички Саныча в гос магазине и канаве
|
//Выдаем странички Саныча в гос магазине и канаве
|
||||||
$prmn = 0; //дополнительный бонус
|
$prmn = 0; //дополнительный бонус
|
||||||
$prmn = (1 - (pow(0.5, ($price / $x / 200)))) * 100;
|
$prmn = (1 - (pow(0.5, ($price / $x / 200)))) * 100;
|
||||||
@ -5032,7 +4964,6 @@ class User
|
|||||||
$rs++;
|
$rs++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
$zx++;
|
$zx++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5074,13 +5005,9 @@ class User
|
|||||||
mysql_query(
|
mysql_query(
|
||||||
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
|
'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(
|
$ld = $this->addDelo(
|
||||||
1, $this->info['id'],
|
1, $this->info['id'],
|
||||||
'"<font color=green>Shop.' . $this->info['city'] . '</font>": Приобрел предмет "<strong>' . $i['name'] . '</strong>" (x' . $x . ') [#' . $i['iid'] . '] за <strong>' . $price . '</strong> кр.' . $zuby_inf . '',
|
'"<font color=green>Shop.' . $this->info['city'] . '</font>": Приобрел предмет "<strong>' . $i['name'] . '</strong>" (x' . $x . ') [#' . $i['iid'] . '] за <strong>' . $price . '</strong> кр.',
|
||||||
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
|
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@ -5095,9 +5022,6 @@ class User
|
|||||||
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$r = 'Вам не удалось приобрести предмет...';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -5106,59 +5030,37 @@ class User
|
|||||||
return '<div align="left">' . $r . '</div>';
|
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(
|
$dop = $vvv ?: '';
|
||||||
'insert into users_delo (uid, dop, time, city, text, login, `delete`, ip, moneyOut, type, no_right) values (?,?,?,?,?,?,?,?,?,?,?)',
|
Delo::add($type, $frm, $uid, $txt, $mo, $dop);
|
||||||
[
|
return true;
|
||||||
$uid,
|
|
||||||
$vvv,
|
|
||||||
$tm,
|
|
||||||
$ct,
|
|
||||||
$txt,
|
|
||||||
$frm,
|
|
||||||
0,
|
|
||||||
$_SERVER['HTTP_X_REAL_IP'],
|
|
||||||
$mo,
|
|
||||||
$type,
|
|
||||||
'',
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function zuby($v, $t = 0): string
|
public function addKr($amount, $uid = 0)
|
||||||
{
|
{
|
||||||
$r = '';
|
if ($uid === 0) {
|
||||||
if ($v < 0) {
|
$uid = $this->info['id'];
|
||||||
$v = 0;
|
|
||||||
}
|
}
|
||||||
if ($t == 0) {
|
Db::sql('update users set money = money + ? where id = ?', [$amount, $uid]);
|
||||||
$names[] = ' <img height=7 title=Гнилой Зуб src=' . Config::img() . '/zub_low1.gif />';
|
|
||||||
$names[] = ' <img height=7 title=Нормальный Зуб src=' . Config::img() . '/zub_low2.gif />';
|
|
||||||
$names[] = ' <img height=7 title=Белый Зуб src=' . Config::img() . '/zub_low3.gif />';
|
|
||||||
$names[] = ' <img height=7 title=Золотой Зуб src=' . Config::img() . '/zub_low4.gif />';
|
|
||||||
} else {
|
|
||||||
$names[] = ' <img style=vertical-align:baseline height=7 title=Гнилой Зуб src=' . Config::img() . '/zub_low1.gif />';
|
|
||||||
$names[] = ' <img style=vertical-align:baseline height=7 title=Нормальный Зуб src=' . Config::img() . '/zub_low2.gif />';
|
|
||||||
$names[] = ' <img style=vertical-align:baseline height=7 title=Белый Зуб src=' . Config::img() . '/zub_low3.gif />';
|
|
||||||
$names[] = ' <img style=vertical-align:baseline height=7 title=Золотой Зуб 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 newAct($test): bool
|
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=Гнилой Зуб src=' . Config::img() . '/zub_low1.gif />';
|
||||||
|
$names[] = ' <img height=7 title=Нормальный Зуб src=' . Config::img() . '/zub_low2.gif />';
|
||||||
|
$names[] = ' <img height=7 title=Белый Зуб src=' . Config::img() . '/zub_low3.gif />';
|
||||||
|
$names[] = ' <img height=7 title=Золотой Зуб src=' . Config::img() . '/zub_low4.gif />';
|
||||||
|
} else {
|
||||||
|
$names[] = ' <img style=vertical-align:baseline height=7 title=Гнилой Зуб src=' . Config::img() . '/zub_low1.gif />';
|
||||||
|
$names[] = ' <img style=vertical-align:baseline height=7 title=Нормальный Зуб src=' . Config::img() . '/zub_low2.gif />';
|
||||||
|
$names[] = ' <img style=vertical-align:baseline height=7 title=Белый Зуб src=' . Config::img() . '/zub_low3.gif />';
|
||||||
|
$names[] = ' <img style=vertical-align:baseline height=7 title=Золотой Зуб 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)
|
public function price($vl)
|
||||||
{
|
{
|
||||||
if ($vl == round($vl)) {
|
if ($vl == round($vl)) {
|
||||||
@ -10925,6 +10862,14 @@ LIMIT 1'
|
|||||||
return number_format($v, 2, '.', ' ');
|
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 за раз, в результате
|
* Эта функция сломана! Формулы hp и mp в любых условиях выдают числа около 1000 за раз, в результате
|
||||||
* любое восстановление - практически моментальное. 12.07.2022 Инс.
|
* любое восстановление - практически моментальное. 12.07.2022 Инс.
|
||||||
|
@ -4,6 +4,7 @@ namespace User;
|
|||||||
|
|
||||||
use Core\ConversionHelper;
|
use Core\ConversionHelper;
|
||||||
use Core\Db;
|
use Core\Db;
|
||||||
|
use Delo;
|
||||||
use User;
|
use User;
|
||||||
|
|
||||||
class ItemsModel
|
class ItemsModel
|
||||||
@ -101,24 +102,18 @@ class ItemsModel
|
|||||||
if ($mxiznos > 0) {
|
if ($mxiznos > 0) {
|
||||||
$i['iznosMAXi'] = $mxiznos;
|
$i['iznosMAXi'] = $mxiznos;
|
||||||
}
|
}
|
||||||
if ($user->info['dnow'] > 0) {
|
|
||||||
$room = $user->room['city'];
|
|
||||||
} else {
|
|
||||||
$room = $user->info['city'];
|
|
||||||
}
|
|
||||||
$args = [
|
$args = [
|
||||||
$i['overTypei'] ?? 0,
|
$i['overTypei'] ?? 0,
|
||||||
$i['id'],
|
$i['id'],
|
||||||
$uid,
|
$uid,
|
||||||
$data,
|
$data,
|
||||||
$i['iznosMAXi'],
|
$i['iznosMAXi'],
|
||||||
$i['geni'],
|
|
||||||
$i['magic_inci'],
|
$i['magic_inci'],
|
||||||
$room,
|
|
||||||
$i['dn_delete'] ?? 0,
|
$i['dn_delete'] ?? 0,
|
||||||
];
|
];
|
||||||
Db::sql(
|
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
|
$args
|
||||||
);
|
);
|
||||||
$rt = Db::lastInsertId() ?? 0;
|
$rt = Db::lastInsertId() ?? 0;
|
||||||
@ -132,16 +127,7 @@ class ItemsModel
|
|||||||
$ads = 'Расплавлен предмет : [' . $plavka . ']';
|
$ads = 'Расплавлен предмет : [' . $plavka . ']';
|
||||||
}
|
}
|
||||||
//Записываем в личное дело что предмет получен
|
//Записываем в личное дело что предмет получен
|
||||||
$user->addDelo(
|
Delo::add(1, 'additems', $uid, 'Получен предмет «' . $i['name'] . '» [id:' . $i['iid'] . ']' . $ads);
|
||||||
1,
|
|
||||||
$uid,
|
|
||||||
'"AddItems.' . $user->info['city'] . '": Получен предмет "<strong>' . $i['name'] . '</strong>" (x1) [#' . $i['iid'] . ']. ' . $ads,
|
|
||||||
time(),
|
|
||||||
$user->info['city'],
|
|
||||||
'AddItems.' . $user->info['city'],
|
|
||||||
0,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $rt;
|
return $rt;
|
||||||
|
40
inf.php
40
inf.php
@ -1643,8 +1643,23 @@ if (isset($uer)) {
|
|||||||
$glim = 1000;
|
$glim = 1000;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$ij1 = 1;
|
$ij1 = 1;
|
||||||
|
|
||||||
|
/* from WHERE
|
||||||
|
* (
|
||||||
|
`im`.`type` = "38" OR
|
||||||
|
`im`.`type` = "64" OR
|
||||||
|
`iu`.`data` LIKE "%|giftsee=1%"
|
||||||
|
) AND `iu`.`inOdet` = "0"
|
||||||
|
* */
|
||||||
$sp = mysql_query(
|
$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)) {
|
while ($pl = mysql_fetch_array($sp)) {
|
||||||
if (stristr($pl['data'], 'gift_id')) {
|
if (stristr($pl['data'], 'gift_id')) {
|
||||||
@ -1690,28 +1705,9 @@ if (isset($uer)) {
|
|||||||
$ij2++;
|
$ij2++;
|
||||||
}
|
}
|
||||||
$ij3 = 1;
|
$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[0] != '' || $gs[1] != '') {
|
||||||
if ($gs[2] != '') {
|
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>';
|
||||||
$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>';
|
|
||||||
$ij4 = mysql_fetch_array(
|
$ij4 = mysql_fetch_array(
|
||||||
mysql_query(
|
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'
|
'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'
|
||||||
|
@ -108,11 +108,10 @@ if (isset($_GET['nightatack'])) {
|
|||||||
|
|
||||||
function thisInfRm($id, $tp = null, $json = false)
|
function thisInfRm($id, $tp = null, $json = false)
|
||||||
{
|
{
|
||||||
global $u;
|
$rm = Db::getRow('select * from room where code = ? and city = ?', [$id, 'capitalcity']);
|
||||||
$rm = Db::getRow('select * from room where code = ? and city = ?', [$id, $u->info['city']]);
|
|
||||||
$inf = 'Здание было разрушено';
|
$inf = 'Здание было разрушено';
|
||||||
if (isset($rm['id'])) {
|
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) {
|
if ($tp == null) {
|
||||||
$inf = '<b>' . $rm['name'] . '</b><br>Сейчас в комнате ' . ($rown) . ' чел.';
|
$inf = '<b>' . $rm['name'] . '</b><br>Сейчас в комнате ' . ($rown) . ' чел.';
|
||||||
} else {
|
} else {
|
||||||
@ -135,13 +134,7 @@ function thisInfRm($id, $tp = null, $json = false)
|
|||||||
if (isset($_GET['loc'])) {
|
if (isset($_GET['loc'])) {
|
||||||
// $training_manager = \DarksLight2\Training\TrainingManager::getInstance();
|
// $training_manager = \DarksLight2\Training\TrainingManager::getInstance();
|
||||||
|
|
||||||
$go = mysql_fetch_array(
|
$go = Db::getRow('select * from room where code = ?', [$_GET['loc']]);
|
||||||
mysql_query(
|
|
||||||
'SELECT * FROM `room` WHERE `code` = "' . mysql_real_escape_string(
|
|
||||||
$_GET['loc']
|
|
||||||
) . '" AND `city` = "' . $u->info['city'] . '" LIMIT 1'
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// if (in_array(
|
// if (in_array(
|
||||||
// $go['file'], $training_manager->getRegistered()[$training_manager->getCurrentStepName()]->allowedToMove()
|
// $go['file'], $training_manager->getRegistered()[$training_manager->getCurrentStepName()]->allowedToMove()
|
||||||
@ -206,7 +199,15 @@ if (isset($_GET['loc'])) {
|
|||||||
$re = 'Проход для хаосников закрыт!';
|
$re = 'Проход для хаосников закрыт!';
|
||||||
} elseif ($u->info['inTurnir'] > 0) {
|
} elseif ($u->info['inTurnir'] > 0) {
|
||||||
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
|
$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')) {
|
} 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 = 'Вы не можете перемещаться, рюкзак переполнен ...';
|
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
|
||||||
} elseif (isset($go['id'])) {
|
} elseif (isset($go['id'])) {
|
||||||
$rmgo = [];
|
$rmgo = [];
|
||||||
@ -224,28 +225,21 @@ if (isset($_GET['loc'])) {
|
|||||||
1
|
1
|
||||||
);
|
);
|
||||||
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
|
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
|
||||||
$re = '<font color=red><b>Вы можете перемещаться только когда бодрствуете.</b></font>';
|
$re = '<b style="color: red;">Вы можете перемещаться только когда бодрствуете.</b>';
|
||||||
echo ' ' . $re;
|
echo ' ' . $re;
|
||||||
} elseif ($u->info['timeGo'] >= time()) {
|
} elseif ($u->info['timeGo'] >= time()) {
|
||||||
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time(
|
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time()) . ' сек.';
|
||||||
)) . ' сек.';
|
|
||||||
} elseif ($rmgo[$go['id']] == 1) {
|
} elseif ($rmgo[$go['id']] == 1) {
|
||||||
$alg = explode('-', $go['align']);
|
$alg = explode('-', $go['align']);
|
||||||
$ku = mysql_fetch_array(
|
$ku = (bool)Db::getValue('select 1 from katok_zv where uid = ?', [$u->info['id']]);
|
||||||
mysql_query(
|
if ($ku) {
|
||||||
'SELECT `id` FROM `katok_zv` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1'
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (isset($ku['id'])) {
|
|
||||||
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
|
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
|
||||||
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0 && $u->info['admin'] == 0) {
|
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0) {
|
||||||
$re = 'Ты не ту склонность выбрал.. Дружок :)';
|
$re = 'Ты не ту склонность выбрал.. Дружок :)';
|
||||||
} elseif ($u->info['zv'] > 0) {
|
} elseif ($u->info['zv'] > 0) {
|
||||||
$test_zv = mysql_fetch_array(
|
$test_zv = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time(
|
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time() - 60 * 60 * 2) . '" LIMIT 1'
|
||||||
) - 60 * 60 * 2) . '" LIMIT 1'
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
if (isset($test_zv['id'])) {
|
if (isset($test_zv['id'])) {
|
||||||
@ -256,16 +250,15 @@ if (isset($_GET['loc'])) {
|
|||||||
'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
'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) {
|
} elseif (($go['clan'] > 0 && $u->info['clan'] != $go['clan']) || ($go['clan'] == -1 && $u->info['clan'] == 0)) {
|
||||||
$re = 'Вы не можете попасть в эту комнату';
|
$re = 'Вы не можете попасть в эту комнату';
|
||||||
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time(
|
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time()) {
|
||||||
) && $u->info['admin'] == 0) {
|
|
||||||
$re = 'Вы не можете попасть в эту комнату';
|
$re = 'Вы не можете попасть в эту комнату';
|
||||||
} elseif ($mlvl[0] > $u->info['level'] && $u->info['admin'] == 0) {
|
} elseif ($mlvl[0] > $u->info['level']) {
|
||||||
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
|
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
|
||||||
} elseif ($mlvl[1] < $u->info['level'] && $u->info['admin'] == 0) {
|
} elseif ($mlvl[1] < $u->info['level']) {
|
||||||
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
|
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
|
||||||
} elseif ($go['close'] == 0 || $u->info['admin'] > 0) {
|
} elseif ($go['close'] == 0) {
|
||||||
$travms = mysql_fetch_array(
|
$travms = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
|
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
|
||||||
@ -278,12 +271,17 @@ if (isset($_GET['loc'])) {
|
|||||||
$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')) {
|
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;
|
$plus_timeGo += 2 * 60;
|
||||||
if ($kos1['good'] == 0) {
|
if ($kos1['good'] == 0) {
|
||||||
$plus_timeGo += 1.5 * 60;
|
$plus_timeGo += 1.5 * 60;
|
||||||
} elseif ($kos1['good'] == 0) {
|
|
||||||
$plus_timeGo += 1.5 * 60;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -300,8 +298,7 @@ if (isset($_GET['loc'])) {
|
|||||||
);
|
);
|
||||||
if ($upd) {
|
if ($upd) {
|
||||||
$upd2 = mysql_query(
|
$upd2 = mysql_query(
|
||||||
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time(
|
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time() . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||||
) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
|
||||||
);
|
);
|
||||||
if ($upd2) {
|
if ($upd2) {
|
||||||
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
|
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
|
||||||
@ -316,14 +313,12 @@ if (isset($_GET['loc'])) {
|
|||||||
}
|
}
|
||||||
unset($sp_bs, $pl_bs);
|
unset($sp_bs, $pl_bs);
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'UPDATE `bs_zv` SET `finish` = "' . time(
|
'UPDATE `bs_zv` SET `finish` = "' . time() . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||||
) . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$smt = $u->testAction(
|
$smt = $u->testAction(
|
||||||
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time(
|
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time() - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1',
|
||||||
) - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1',
|
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
if (isset($smt['id'])) {
|
if (isset($smt['id'])) {
|
||||||
@ -332,8 +327,7 @@ if (isset($_GET['loc'])) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'UPDATE `eff_users` SET `delete` = "' . time(
|
'UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
|
||||||
) . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
|
|
||||||
);
|
);
|
||||||
|
|
||||||
$u->info['room'] = $go['id'];
|
$u->info['room'] = $go['id'];
|
||||||
@ -384,22 +378,19 @@ if (isset($_GET['mAjax'])) {
|
|||||||
$rowonmax2 = 0;
|
$rowonmax2 = 0;
|
||||||
$rowonmax2 = mysql_fetch_array(
|
$rowonmax2 = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
'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'
|
||||||
) - 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 = 'Сейчас в клубе:<b> ' . $rowonmax2[0] . '</b> чел.';
|
||||||
$rowonmax = '' . $rowonmax . '';
|
$rowonmax = '' . $rowonmax . '';
|
||||||
$rowonmax2c = mysql_fetch_array(
|
$rowonmax2c = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
'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'
|
||||||
) - 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(
|
$rowonmax3c = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
'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'
|
||||||
) - 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] . ' чел.';
|
$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;
|
var i, doc_width, doc_height;
|
||||||
|
|
||||||
dx = new Array();
|
dx = [];
|
||||||
xp = new Array();
|
xp = [];
|
||||||
yp = new Array();
|
yp = [];
|
||||||
am = new Array();
|
am = [];
|
||||||
stx = new Array();
|
stx = [];
|
||||||
sty = new Array();
|
sty = [];
|
||||||
|
|
||||||
Array.prototype.exists = function (el) {
|
Array.prototype.exists = function (el) {
|
||||||
for (var i = 0; i < this.length; i++)
|
for (var i = 0; i < this.length; i++)
|
||||||
@ -636,21 +627,18 @@ if (isset($u->room['id'])) {
|
|||||||
|
|
||||||
$rowonmax2 = mysql_fetch_array(
|
$rowonmax2 = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
'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'
|
||||||
) - 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>';
|
$rowonmax = '<br><span style="font-size:14px;">Сейчас в клубе<b> ' . ($rowonmax2[0]) . '</b> реальных чел.</font>';
|
||||||
$rowonmax2c = mysql_fetch_array(
|
$rowonmax2c = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
'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'
|
||||||
) - 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(
|
$rowonmax3c = mysql_fetch_array(
|
||||||
mysql_query(
|
mysql_query(
|
||||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
'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'
|
||||||
) - 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) {
|
if ($rowonmax2c[0] - $rowonmax2[0] > 0) {
|
||||||
|
@ -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.' '; }
|
|
||||||
|
|
||||||
?>
|
|
||||||
<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.';
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
@ -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 = 'Вы успешно продали предмет "' . $itm['name'] . ' [x' . $col . ']" за ' . $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'], '"<font color="green">System.Ekrshop</font>": Предмет "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' екр.</B>.', time(), $u->info['city'], 'System.Ekrshop', 0, $shpCena);
|
|
||||||
} else {
|
|
||||||
$u->addDelo(2, $u->info['id'], '"<font color="green">System.Ekrshop</font>": Предмет "' . $itm['name'] . ' (x' . $col . ')" [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%> <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>Отдел "Оружие: кастеты,ножи"</b>',
|
|
||||||
2 => '<b>Отдел "Оружие: топоры"</b>',
|
|
||||||
3 => '<b>Отдел "Оружие: дубины,булавы"</b>',
|
|
||||||
4 => '<b>Отдел "Оружие: мечи"</b>',
|
|
||||||
5 => '<b>Отдел "Оружие: магические посохи"</b>',
|
|
||||||
6 => '<b>Отдел "Одежда: сапоги"</b>',
|
|
||||||
7 => '<b>Отдел "Одежда: перчатки"</b>',
|
|
||||||
8 => '<b>Отдел "Одежда: рубахи"</b>',
|
|
||||||
28 => '<b>Отдел "Одежда: плащи"</b>',
|
|
||||||
9 => '<b>Отдел "Одежда: легкая броня"</b>',
|
|
||||||
10 => '<b>Отдел "Одежда: тяжелая броня"</b>',
|
|
||||||
11 => '<b>Отдел "Одежда: шлемы"</b>',
|
|
||||||
12 => '<b>Отдел "Одежда: наручи"</b>',
|
|
||||||
13 => '<b>Отдел "Одежда: пояса"</b>',
|
|
||||||
14 => '<b>Отдел "Одежда: поножи"</b>',
|
|
||||||
15 => '<b>Отдел "Щиты"</b>',
|
|
||||||
16 => '<b>Отдел "Ювелирные товары: серьги"</b>',
|
|
||||||
17 => '<b>Отдел "Ювелирные товары: ожерелья"</b>',
|
|
||||||
18 => '<b>Отдел "Ювелирные товары: кольца"</b>',
|
|
||||||
19 => '<b>Отдел "Заклинания: нейтральные"</b>',
|
|
||||||
20 => '<b>Отдел "Заклинания: боевые и защитные"</b>',
|
|
||||||
21 => '<b>Отдел "Амуниция"</b>',
|
|
||||||
22 => '<b>Отдел "Амуниция: эликсиры"</b>',
|
|
||||||
23 => '<b>Отдел "Подарки"</b>',
|
|
||||||
24 => '<b>Отдел "Подарки: недобрые"</b>',
|
|
||||||
25 => '<b>Отдел "Подарки: открытки"</b>',
|
|
||||||
26 => '<b>Отдел "Подарки: упаковка"</b>',
|
|
||||||
27 => '<b>Отдел "Подарки: фейерверки"</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>Отдел "Продажа предметов"</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%"> </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> <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\'"> ';
|
|
||||||
} else {
|
|
||||||
echo '<INPUT TYPE="button" class="btn" value="Купить вещи" onclick="location=\'?otdel=' . $_GET['otdel'] . '\'"> ';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<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 => ' Кастеты,ножи',
|
|
||||||
2 => ' Топоры',
|
|
||||||
3 => ' Дубины,булавы',
|
|
||||||
4 => ' Мечи',
|
|
||||||
5 => ' Магические посохи',
|
|
||||||
6 => ' Сапоги',
|
|
||||||
7 => ' Перчатки',
|
|
||||||
8 => ' Рубахи',
|
|
||||||
9 => ' Легкая броня',
|
|
||||||
10 => ' Тяжелая броня',
|
|
||||||
11 => ' Шлемы',
|
|
||||||
12 => ' Наручи',
|
|
||||||
13 => ' Пояса',
|
|
||||||
14 => ' поножи',
|
|
||||||
15 => ' Щиты',
|
|
||||||
16 => ' Серьги',
|
|
||||||
17 => ' ожерелья',
|
|
||||||
18 => ' кольца',
|
|
||||||
19 => ' Нейтральные',
|
|
||||||
20 => ' Боевые и защитные',
|
|
||||||
21 => ' Амуниция',
|
|
||||||
22 => ' Эликсиры',
|
|
||||||
23 => ' Подарки',
|
|
||||||
24 => ' Недобрые',
|
|
||||||
25 => ' Открытки',
|
|
||||||
26 => ' Упаковка',
|
|
||||||
27 => ' Фейерверки',
|
|
||||||
28 => ' Плащи и накидки',
|
|
||||||
29 => ' Пещерные ресурсы',
|
|
||||||
30 => ' Еда',
|
|
||||||
31 => ' Чеки',
|
|
||||||
32 => ' Руны',
|
|
||||||
33 => ' Чарки',
|
|
||||||
34 => ' Тактики',
|
|
||||||
35 => ' Заточки',
|
|
||||||
36 => " <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>
|
|
@ -132,9 +132,6 @@ if (date("H") >= 6 && date("H") < 22) {
|
|||||||
document.getElementById('buttons_on_image').style.display = 'none';
|
document.getElementById('buttons_on_image').style.display = 'none';
|
||||||
}
|
}
|
||||||
</script>
|
</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;">
|
<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="">
|
<img <?php thisInfRm('1.180.0.263'); ?> src="<?= Config::img() ?>/city/capitalcity/day/1ubkill.gif" width="116" height="186" class="aFilter" alt="">
|
||||||
</div>
|
</div>
|
||||||
@ -178,12 +175,6 @@ if (date("H") >= 6 && date("H") < 22) {
|
|||||||
Башня Смерти
|
Башня Смерти
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</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="">
|
|
||||||
<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>
|
||||||
|
|
||||||
<div style="display:none; height:0;" id="moveto"></div>
|
<div style="display:none; height:0;" id="moveto"></div>
|
||||||
|
@ -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 = 'Вы успешно продали предмет "'.$itm['name'].' [x'.$col.']" за '.$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'],'"<font color="green">System.shop</font>": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за <B>'.$shpCena.' Воинственности.</B>.',time(),$u->info['city'],'System.shop',0,0);
|
|
||||||
}else{
|
|
||||||
$u->addDelo(2,$u->info['id'],'"<font color="green">System.shop</font>": Предмет "'.$itm['name'].' (x'.$col.')" [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%> <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>Отдел "Оружие: кастеты,ножи"</b>',
|
|
||||||
'<b>Отдел "Оружие: топоры"</b>',
|
|
||||||
'<b>Отдел "Оружие: дубины,булавы"</b>',
|
|
||||||
'<b>Отдел "Оружие: мечи"</b>',
|
|
||||||
'<b>Отдел "Оружие: магические посохи"</b>',
|
|
||||||
|
|
||||||
'<b>Отдел Ресурсы: пещерные </b>',
|
|
||||||
|
|
||||||
'<b>Отдел "Одежда: плащи и накидки"</b>',
|
|
||||||
|
|
||||||
'<b>Отдел "Заклинания: нейтральные"</b>',
|
|
||||||
'<b>Отдел "Одежда: "</b>',
|
|
||||||
'<b>Отдел "Усилений:"</b>',
|
|
||||||
'<b>Отдел "Сундуки"</b>',
|
|
||||||
'<b>Отдел "Одежда: шлемы"</b>',
|
|
||||||
'<b>Отдел "Одежда: наручи"</b>',
|
|
||||||
'<b>Отдел "Одежда: пояса"</b>',
|
|
||||||
'<b>Отдел "Одежда: поножи"</b>',
|
|
||||||
'<b>Отдел "Щиты"</b>',
|
|
||||||
'<b>Отдел "Ювелирные товары: серьги"</b>',
|
|
||||||
'<b>Отдел "Ювелирные товары: ожерелья"</b>',
|
|
||||||
'<b>Отдел "Ювелирные товары: кольца"</b>',
|
|
||||||
|
|
||||||
'<b>Отдел "Заклинания: нейтральные"</b>',
|
|
||||||
'<b>Отдел "Заклинания: боевые и защитные"</b>'
|
|
||||||
,'<b>Отдел "Заклинания: пирожки"</b>'
|
|
||||||
,'<b>Отдел "Заклинания: исцеляющие"</b>'
|
|
||||||
,'<b>Отдел "Заклинания: манящие"</b>'
|
|
||||||
,'<b>Отдел "Заклинания: стратегические"</b>'
|
|
||||||
,'<b>Отдел "Заклинания: тактические"</b>'
|
|
||||||
,'<b>Отдел "Заклинания: сервисные"</b>'
|
|
||||||
|
|
||||||
,'<b>Отдел "Амуниция"</b>',
|
|
||||||
'<b>Отдел "Эликсиры"</b>',
|
|
||||||
'<b>Отдел "Подарки"</b>',
|
|
||||||
'<b>Отдел "Подарки: недобрые"</b>',
|
|
||||||
'<b>Отдел "Подарки: упаковка"</b>',
|
|
||||||
'<b>Отдел "Подарки: открытки"</b>',
|
|
||||||
'<b>Отдел "Подарки: фейерверки"</b>',
|
|
||||||
'<b>Отдел "Усиление оружия: заточки"</b>',
|
|
||||||
'<b>Отдел "Наставничество: образы"</b>');
|
|
||||||
if(isset($otdels_small_array[$_GET['otdel']]))
|
|
||||||
{
|
|
||||||
echo $otdels_small_array[$_GET['otdel']];
|
|
||||||
}
|
|
||||||
|
|
||||||
} elseif (isset($_GET['sale']) && $_GET['sale'])
|
|
||||||
{
|
|
||||||
echo '
|
|
||||||
<B>Отдел "Скупка"</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%"> </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']?> <br />
|
|
||||||
У вас в наличии: <span class="icos_WL"><b><?= round($u->rep['rep3']-$u->rep['rep3_buy']); ?> Воинственности</small></span></b>
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<?php
|
|
||||||
/*кнопочки*/
|
|
||||||
/*if(!isset($_GET['sale']))
|
|
||||||
{
|
|
||||||
echo '<INPUT TYPE="button" value="Продать вещи" onclick="location=\'?otdel='.$_GET['otdel'].'&sale=1\'"> ';
|
|
||||||
} else {
|
|
||||||
echo '<INPUT TYPE="button" value="Купить вещи" onclick="location=\'?otdel='.$_GET['otdel'].'\'"> ';
|
|
||||||
}*/
|
|
||||||
?>
|
|
||||||
<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 (
|
|
||||||
'',
|
|
||||||
'Оружие: кастеты,ножи',
|
|
||||||
' топоры',
|
|
||||||
' дубины,булавы',
|
|
||||||
' мечи',
|
|
||||||
' магические посохи',
|
|
||||||
'Ресурсы: пещерные ',
|
|
||||||
'Одежда: плащи и накидки ',
|
|
||||||
'Заклинания: нейтральные',
|
|
||||||
'Одежда: обмундирование',
|
|
||||||
'Усиления: сумки',
|
|
||||||
'Сундуки'
|
|
||||||
/*' ',
|
|
||||||
/*' перчатки',
|
|
||||||
' рубахи',
|
|
||||||
' легкая броня',
|
|
||||||
' тяжелая броня',
|
|
||||||
' шлемы',
|
|
||||||
' наручи',
|
|
||||||
' пояса',
|
|
||||||
' поножи',
|
|
||||||
'Щиты',
|
|
||||||
'Ювелирные товары: серьги',
|
|
||||||
' ожерелья',
|
|
||||||
' кольца',
|
|
||||||
|
|
||||||
'Заклинания: нейтральные',
|
|
||||||
' боевые и защитные',
|
|
||||||
' пирожки',
|
|
||||||
' исцеляющие',
|
|
||||||
' манящие',
|
|
||||||
' стратегические',
|
|
||||||
' тактические',
|
|
||||||
' сервисные',
|
|
||||||
|
|
||||||
'Амуниция',
|
|
||||||
' Эликсиры',
|
|
||||||
'Подарки',
|
|
||||||
' недобрые',
|
|
||||||
' упаковка',
|
|
||||||
' открытки',
|
|
||||||
' фейерверки',
|
|
||||||
'Усиление оружия: заточки'*/);
|
|
||||||
$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
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,744 +1,140 @@
|
|||||||
<?php
|
<?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_') {
|
if ($u->room['file'] != 'shop_') {
|
||||||
return;
|
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'])) {
|
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'));
|
$present = new \DTO\Present();
|
||||||
if (isset($to['id'])) {
|
$present->sender = $u->info['login'];
|
||||||
$chat = new Chat();
|
$present->receiver = $_POST['to_login'];
|
||||||
$cmsg = new ChatMessage();
|
$present->textTitle = $_POST['podarok2'];
|
||||||
$cmsg->setCity($u->info['city']);
|
$present->text = $_POST['txt'];
|
||||||
$cmsg->setTo($to['login']);
|
if (intval($_POST['from']) === 1) {
|
||||||
$cmsg->setType(6);
|
$present->anonymousSender = true;
|
||||||
|
} elseif (intval($_POST['from'] === 2) && $u->info['clan'] > 0) {
|
||||||
if ($u->info['align'] == 2 || $u->info['haos'] > time()) {
|
$present->clanSender = true;
|
||||||
$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>';
|
|
||||||
}
|
}
|
||||||
|
$sendPresent = new Present($present);
|
||||||
|
$status = $sendPresent->getStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
$fspam = $filter->spamFiltr(str_replace('точка', '.', str_replace('ру', 'ru', $itm['gtxt1'])));
|
$shop = new Shop($shopId, $otdel);
|
||||||
if ($fspam != '0') {
|
$shopName = Db::getValue('select name from room where id = ?', [$u->info['room']]);
|
||||||
$itm['gtxt1'] = '<font color=red><b><РВС></b></font>';
|
|
||||||
$itm['gtxt2'] = '<font color=red><b><РВС></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'], '"<font color=#C65F00>Shop.' . $u->info['city'] . '</font>": Получен подарок от [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'], '"<font color=#C65F00>Shop.' . $u->info['city'] . '</font>": Сделал подарок персонажу [id="' . $to['id'] . '"/ Логин : "' . $whos['login'] . '"]. Предмет [id="' . $itm['id'] . '"/ Название : "' . $itm['name'] . '"] содержыит: "' . $itm['data'] . '"', time(), $u->info['city'], 'Shop.gift', 0, 0);
|
|
||||||
if ($upd) {
|
|
||||||
$re = '<div>Подарок был успешно отправлен к "' . $to['login'] . '" за ' . $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><РВС></b></font>';
|
|
||||||
$itm['gtxt2'] = '<font color=red><b><РВС></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']);
|
|
||||||
|
|
||||||
|
|
||||||
$iteminc = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `id` = "' . intval($items['item_inbox']) . '" LIMIT 1'));
|
if ($buyItemId) {
|
||||||
$iteminctru = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $iteminc['item_id'] . '" LIMIT 1'));
|
$status = $shop->buy($buyItemId);
|
||||||
|
} elseif ($buyEkrItemId) {
|
||||||
|
$status = $shop->buyEkr($buyEkrItemId);
|
||||||
$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');
|
} elseif ($buyVoinItemId) {
|
||||||
$whos = mysql_fetch_array(mysql_query('SELECT `login` FROM `users` WHERE `id` = "' . $to['id'] . '" LIMIT 1'));
|
$status = $shop->buyVn($buyVoinItemId);
|
||||||
$ld = $u->addDelo(1, $to['id'], '"<font color=#C65F00>Shop.' . $u->info['city'] . '</font>": Получен подарок от [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'], '"<font color=#C65F00>Shop.' . $u->info['city'] . '</font>": Сделал подарок персонажу [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">Подарок был успешно отправлен к "' . $to['login'] . '"</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);
|
if ($actionSale) {
|
||||||
$chat->sendMsg($cmsg);
|
$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');
|
||||||
} else {
|
|
||||||
$re = '<div align="left">Не удалось сделать подарок</div>';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$re = '<div align="left">Предмет не найден</div>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$re = '<div align="left">Персонаж с таким логином не найден</div>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 (!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 = 'Вы успешно продали предмет "' . $itm['name'] . ' (x' . $col . ')" за ' . $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'], '"<font color="green">System.shop</font>": Предмет "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' кр.</B>.', time(), $u->info['city'], 'System.shop', 0, 0);
|
|
||||||
} else {
|
|
||||||
$u->addDelo(2, $u->info['id'], '"<font color="green">System.shop</font>": Предмет "' . $itm['name'] . ' (x' . $col . ')" [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 = 'Вы успешно обменяли предмет "' . $itm['name'] . ' (x' . $col . ')" на +' . $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'], '"<font color="green">System.shop</font>": Предмет "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '] был продан в магазин за <B>' . $shpCena . ' воинственность.</B>.', time(), $u->info['city'], 'System.shop', 0, 0);
|
|
||||||
} else {
|
|
||||||
$u->addDelo(2, $u->info['id'], '"<font color="green">System.shop</font>": Предмет "' . $itm['name'] . ' (x' . $col . ')" [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%> <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>Отдел "Оружие: кастеты,ножи"</b>',
|
|
||||||
'<b>Отдел "Оружие: топоры"</b>',
|
|
||||||
'<b>Отдел "Оружие: дубины,булавы"</b>',
|
|
||||||
'<b>Отдел "Оружие: мечи"</b>',
|
|
||||||
'<b>Отдел "Оружие: магические посохи"</b>',
|
|
||||||
'<b>Отдел "Одежда: сапоги"</b>',
|
|
||||||
'<b>Отдел "Одежда: перчатки"</b>',
|
|
||||||
'<b>Отдел "Одежда: рубахи"</b>',
|
|
||||||
'<b>Отдел "Одежда: легкая броня"</b>',
|
|
||||||
'<b>Отдел "Одежда: тяжелая броня"</b>',
|
|
||||||
'<b>Отдел "Одежда: шлемы"</b>',
|
|
||||||
'<b>Отдел "Одежда: наручи"</b>',
|
|
||||||
'<b>Отдел "Одежда: пояса"</b>',
|
|
||||||
'<b>Отдел "Одежда: поножи"</b>',
|
|
||||||
'<b>Отдел "Щиты"</b>',
|
|
||||||
'<b>Отдел "Ювелирные товары: серьги"</b>',
|
|
||||||
'<b>Отдел "Ювелирные товары: ожерелья"</b>',
|
|
||||||
'<b>Отдел "Ювелирные товары: кольца"</b>',
|
|
||||||
|
|
||||||
'<b>Отдел "Заклинания: нейтральные"</b>',
|
|
||||||
'<b>Отдел "Заклинания: боевые и защитные"</b>'
|
|
||||||
, '<b>Отдел "Заклинания: пирожки"</b>'
|
|
||||||
, '<b>Отдел "Заклинания: исцеляющие"</b>'
|
|
||||||
, '<b>Отдел "Заклинания: манящие"</b>'
|
|
||||||
, '<b>Отдел "Заклинания: стратегические"</b>'
|
|
||||||
, '<b>Отдел "Заклинания: тактические"</b>'
|
|
||||||
, '<b>Отдел "Заклинания: сервисные"</b>'
|
|
||||||
|
|
||||||
, '<b>Отдел "Амуниция"</b>',
|
|
||||||
'<b>Отдел "Эликсиры"</b>',
|
|
||||||
'<b>Отдел "Еда"</b>',
|
|
||||||
'<b>Отдел "Подарки"</b>',
|
|
||||||
'<b>Отдел "Подарки: недобрые"</b>',
|
|
||||||
'<b>Отдел "Подарки: упаковка"</b>',
|
|
||||||
'<b>Отдел "Подарки: открытки"</b>',
|
|
||||||
'<b>Отдел "Подарки: фейерверки"</b>',
|
|
||||||
'<b>Отдел "Усиление оружия: Заточки"</b>',
|
|
||||||
'<b>Отдел "Плащи и Накидки:"</b>',
|
|
||||||
'<b>Отдел "Готовые Комплекты:"</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>Отдел "Скупка"</B><br>
|
|
||||||
Здесь вы можете продать свои вещи, за жалкие гроши...<br>' .
|
|
||||||
//<b>Магазин принимает вещи 0-7 уровней под 99%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.</b><br>
|
|
||||||
'У вас в наличии:
|
|
||||||
';
|
|
||||||
} elseif (isset($_GET['gifts'])) {
|
|
||||||
echo '
|
|
||||||
<B>Отдел "Сделать подарки"</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> (Масса: 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) {
|
if ($itmAll[0] == 0) {
|
||||||
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">У вас нет подходящих предметов</td></tr>';
|
$itmAllSee = '<tr><td style="text-align: center; background-color: lightgrey;">ПУСТО</td></tr>';
|
||||||
} else {
|
} else {
|
||||||
$itmAllSee = $itmAll[2];
|
$itmAllSee = $itmAll[2];
|
||||||
}
|
}
|
||||||
echo $itmAllSee;
|
if ($sellItemId) {
|
||||||
} elseif (!isset($_GET['sale'])) {
|
$item = ItemsModel::getOwnedItemById($sellItemId, User::start()->info['id']);
|
||||||
//Выводим вещи в магазине для покупки
|
$itemData = ConversionHelper::dataStringToArray($item['data']);
|
||||||
$u->shopItems($sid);
|
$status = $item['gift'] ? 'Подарки не продаются!' : '';
|
||||||
} else {
|
$status = $itemData['nosale'] ? 'Предмет не для продажи!' : '';
|
||||||
//Выводим вещи в инвентаре для продажи
|
if (!$status && $sellItemId) {
|
||||||
$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');
|
$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 ($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'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
$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) {
|
if ($itmAll[0] == 0) {
|
||||||
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">ПУСТО</td></tr>';
|
$itmAllSee = '<tr><td style="text-align: center; background-color: lightgrey;">У вас нет подходящих предметов</td></tr>';
|
||||||
} else {
|
} else {
|
||||||
$itmAllSee = $itmAll[2];
|
$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%"> </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> <br/>
|
|
||||||
У вас в наличии: <b style="color:#339900;"><?= round($u->info['money'], 2); ?> кр.</b>
|
|
||||||
<?php
|
|
||||||
if ($u->info['level'] < 8 && $c['zuby'] == true) {
|
|
||||||
?>
|
|
||||||
<br/>Зубов: <?= $u->zuby($u->info['money4']) ?>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
<br/>
|
|
||||||
<center>
|
|
||||||
<?php
|
|
||||||
/*кнопочки*/
|
|
||||||
if (!isset($_GET['sale'])) {
|
|
||||||
echo '<INPUT class="btn" TYPE="button" value="Продать вещи" onclick="location=\'?otdel=' . $_GET['otdel'] . '&sale=1\'"> ';
|
|
||||||
} else {
|
|
||||||
echo '<INPUT class="btn" TYPE="button" value="Купить вещи" onclick="location=\'?otdel=' . $_GET['otdel'] . '\'"> ';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<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(
|
|
||||||
'',
|
|
||||||
' Кастеты,ножи',
|
|
||||||
' Топоры',
|
|
||||||
' Дубины,булавы',
|
|
||||||
' Мечи',
|
|
||||||
' Магические посохи',
|
|
||||||
' Сапоги',
|
|
||||||
' Перчатки',
|
|
||||||
' Рубахи',
|
|
||||||
' Легкая броня',
|
|
||||||
' Тяжелая броня',
|
|
||||||
' Шлемы',
|
|
||||||
' Наручи',
|
|
||||||
' Пояса',
|
|
||||||
' Поножи',
|
|
||||||
' Щиты',
|
|
||||||
' Серьги',
|
|
||||||
' Ожерелья',
|
|
||||||
' Кольца',
|
|
||||||
|
|
||||||
' Нейтральные',
|
|
||||||
' Боевые и защитные',
|
|
||||||
' Пирожки',
|
|
||||||
' Исцеляющие',
|
|
||||||
' Манящие',
|
|
||||||
' Стратегические',
|
|
||||||
' Тактические',
|
|
||||||
' Сервисные',
|
|
||||||
|
|
||||||
' Амуниция',
|
|
||||||
' Эликсиры',
|
|
||||||
' Еда',
|
|
||||||
' Подарки',
|
|
||||||
' Недобрые',
|
|
||||||
' Упаковка',
|
|
||||||
' Открытки',
|
|
||||||
' Фейерверки',
|
|
||||||
' Усиление оружия: Заточки',
|
|
||||||
' Одежда: Плащи и Накидки',
|
|
||||||
"<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 == 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'])) {
|
/** @var string $goLis инициализируется в файле из которого вызван этот. Отрисовка датчика задержки смены локации. */
|
||||||
$color = 'C7C7C7';
|
/** @var string $code инициализируется в файле из которого вызван этот. Хеш-строка против кеширования. */
|
||||||
} else {
|
$renderArgs = [
|
||||||
$color = 'e2e0e0';
|
'shopName' => $shopName,
|
||||||
}
|
'status' => $status,
|
||||||
echo '<div class="shop_menu_txt"><b>Возможности:</b></div>';
|
'actionSale' => $actionSale,
|
||||||
echo '<A HREF="?otdel=32&gifts=1"><DIV style="background-color: #' . $color . '"> Сделать подарки</A>';
|
'actionGifts' => $actionGifts,
|
||||||
?>
|
'otdel' => $otdel,
|
||||||
</div>
|
'u' => $u,
|
||||||
</td>
|
'uc' => $uc,
|
||||||
</table>
|
'giftsvars' => $giftsvars,
|
||||||
<br>
|
'itmAllSee' => $itmAllSee,
|
||||||
<div id="textgo" style="visibility:hidden;"></div>
|
'shop' => $shop,
|
||||||
|
'goLis' => $goLis,
|
||||||
|
'code' => $code,
|
||||||
|
'shopId' => $shopId,
|
||||||
|
'otdels' => $shop->getUsedOtdels(),
|
||||||
|
'i' => 1,
|
||||||
|
];
|
||||||
|
View::render('Locations/Shop.php', $renderArgs);
|
||||||
|
Loading…
Reference in New Issue
Block a user