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;
|
||||
}
|
||||
|
||||
public function addKr($amount, $uid = 0)
|
||||
{
|
||||
if ($uid === 0) {
|
||||
$uid = $this->info['id'];
|
||||
}
|
||||
Db::sql('update users set money = money + ? where id = ?', [$amount, $uid]);
|
||||
}
|
||||
|
||||
public function addNewbot($id, $botDate, $clon, $logins_bot = null, $luser = null, $round = null)
|
||||
{
|
||||
if ($clon != null) {
|
||||
@ -3907,11 +3899,14 @@ class User
|
||||
return ItemsModel::addItem($id, $uid, $md, $dn, $mxiznos, $nosudba, $plavka);
|
||||
}
|
||||
|
||||
/*
|
||||
* $iid Уникальный id прдемета и одновремено флаг что
|
||||
* покупка из комка.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param $sid
|
||||
* @param $itm
|
||||
* @param mixed $x количество
|
||||
* @param $mdata
|
||||
* @param $vip
|
||||
* @return string
|
||||
*/
|
||||
public function buyItem($sid, $itm, $x, $mdata = null, $vip = false)
|
||||
{
|
||||
global $c, $code, $sid;
|
||||
@ -3932,7 +3927,7 @@ class User
|
||||
);
|
||||
|
||||
$r = '';
|
||||
$vip = false;
|
||||
|
||||
if ($this->info['allLock'] > time()) {
|
||||
$r = 'Вам запрещено совершать покупки до ' . date('d.m.y H:i', $this->info['allLock']) . '';
|
||||
} elseif (isset($i['id'])) {
|
||||
@ -4540,13 +4535,11 @@ class User
|
||||
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
|
||||
} elseif ($need_rep > 0) {
|
||||
$r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.';
|
||||
} elseif ($i['price_1'] * $x > $this->info['money4'] && $zuby == 1) {
|
||||
$r = 'У вас недостаточно денег.';
|
||||
} elseif ($mxby == -1) {
|
||||
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
|
||||
} elseif ($trn == 0 && $this->info['admin'] == 0) {
|
||||
$r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')';
|
||||
} elseif ($i['price_1'] * $x > $this->info['money'] && $zuby == 0) {
|
||||
} elseif ($i['price_1'] * $x > $this->info['money']) {
|
||||
$r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)';
|
||||
} else {
|
||||
$d = mysql_fetch_array(
|
||||
@ -4554,164 +4547,144 @@ class User
|
||||
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
if ($zuby == 0) {
|
||||
$this->info['money'] -= $price;
|
||||
$this->info['money'] -= $price;
|
||||
$this->addKr(-$price);
|
||||
|
||||
//новая дата
|
||||
$data = '';
|
||||
$data .= $d['data'];
|
||||
if ($mdata != null) {
|
||||
$data .= '|' . $mdata;
|
||||
}
|
||||
$upd = mysql_query(
|
||||
'UPDATE `users` SET `money` = "' . mysql_real_escape_string(
|
||||
round($this->info['money'], 2)
|
||||
) . '",`money4` = "' . mysql_real_escape_string(
|
||||
round($this->info['money4'], 2)
|
||||
) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd) {
|
||||
//новая дата
|
||||
$data = '';
|
||||
$data .= $d['data'];
|
||||
if ($mdata != null) {
|
||||
$data .= '|' . $mdata;
|
||||
$j = 0;
|
||||
$c_itm = 0;
|
||||
$c_itm_data_a = [];
|
||||
while ($j < count($detrn)) {
|
||||
$itm = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0") AND `inShop` = "0" ORDER BY `inGroup` DESC LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
if (!empty($itm['data']) && $c_itm == 0) {
|
||||
$po = ConversionHelper::dataStringToArray($itm['data']);
|
||||
|
||||
if (isset($po['sudba'])) {
|
||||
$c_itm_data_a['sudba'] = $po['sudba'];
|
||||
}
|
||||
if (!empty($po['gravi'])) {
|
||||
$c_itm_data_a['gravi'] = $po['gravi'];
|
||||
if (isset($po['gravic'])) {
|
||||
$c_itm_data_a['gravic'] = $po['gravic'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (!empty($po['imposed_id']) && $po['imposed_id'] > 0) {
|
||||
$c_itm_data_a['imposed_id'] = $po['imposed_id'];
|
||||
if (isset($po['imposed'])) {
|
||||
$c_itm_data_a['imposed'] = $po['imposed'];
|
||||
}
|
||||
if (isset($po['imposed_name'])) {
|
||||
$c_itm_data_a['imposed_name'] = $po['imposed_name'];
|
||||
}
|
||||
if (isset($po['imposed_level'])) {
|
||||
$c_itm_data_a['imposed_level'] = $po['imposed_level'];
|
||||
}
|
||||
if (isset($po['bm_a1'])) {
|
||||
$c_itm_data_a['bm_a1'] = $po['bm_a1'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (!empty($po['spell_id']) && $po['spell_id'] > 0) {
|
||||
$c_itm_data_a['spell_id'] = $po['spell_id'];
|
||||
if (isset($po['spell'])) {
|
||||
$c_itm_data_a['spell'] = $po['spell'];
|
||||
}
|
||||
if (isset($po['spell_name'])) {
|
||||
$c_itm_data_a['spell_name'] = $po['spell_name'];
|
||||
}
|
||||
if (isset($po['spell_lvl'])) {
|
||||
$c_itm_data_a['spell_lvl'] = $po['spell_lvl'];
|
||||
}
|
||||
if (isset($po['spell_st_name'])) {
|
||||
$c_itm_data_a['spell_st_name'] = $po['spell_st_name'];
|
||||
}
|
||||
if (isset($po['spell_st_val'])) {
|
||||
$c_itm_data_a['spell_st_val'] = $po['spell_st_val'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (!empty($po['rune_id']) && $po['rune_id'] > 0) {
|
||||
$c_itm_data_a['rune_id'] = $po['rune_id'];
|
||||
if (isset($po['rune'])) {
|
||||
$c_itm_data_a['rune'] = $po['rune'];
|
||||
}
|
||||
if (isset($po['rune_name'])) {
|
||||
$c_itm_data_a['rune_name'] = $po['rune_name'];
|
||||
}
|
||||
if (isset($po['rune_lvl'])) {
|
||||
$c_itm_data_a['rune_lvl'] = $po['rune_lvl'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (!empty($po['upatack_id']) && $po['upatack_id'] > 0) {
|
||||
$c_itm_data_a['upatack_id'] = $po['upatack_id'];
|
||||
if (isset($po['upatack'])) {
|
||||
$c_itm_data_a['upatack'] = $po['upatack'];
|
||||
}
|
||||
if (isset($po['upatack_name'])) {
|
||||
$c_itm_data_a['upatack_name'] = $po['upatack_name'];
|
||||
}
|
||||
if (isset($po['upatack_lvl'])) {
|
||||
$c_itm_data_a['upatack_lvl'] = $po['upatack_lvl'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
}
|
||||
$j = 0;
|
||||
$c_itm = 0;
|
||||
$c_itm_data_a = [];
|
||||
while ($j < count($detrn)) {
|
||||
$itm = mysql_fetch_array(
|
||||
$j++;
|
||||
}
|
||||
if ($c_itm > 0) {
|
||||
$data = ConversionHelper::dataStringToArray($data);
|
||||
// Чарка
|
||||
if (isset($c_itm_data_a['spell_st_name']) && isset($c_itm_data_a['spell_st_val']) && $c_itm_data_a['spell_st_name'] != '' && $c_itm_data_a['spell_st_val'] != '') {
|
||||
$data['add_' . $c_itm_data_a['spell_st_name']] = (int)(isset($data['add_' . $c_itm_data_a['spell_st_name']]) ? (int)$data['add_' . $c_itm_data_a['spell_st_name']] : 0) + (int)$c_itm_data_a['spell_st_val'];
|
||||
}
|
||||
// Руна
|
||||
if (isset($c_itm_data_a['rune']) && $c_itm_data_a['rune'] > 0) {
|
||||
$ritm = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0") AND `inShop` = "0" ORDER BY `inGroup` DESC LIMIT 1'
|
||||
'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $c_itm_data_a['rune_id'] . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
if (isset($itm['data']) && $itm['data'] != '' && $c_itm == 0) {
|
||||
$po = ConversionHelper::dataStringToArray($itm['data']);
|
||||
|
||||
if (isset($po['sudba'])) {
|
||||
if (isset($po['sudba'])) {
|
||||
$c_itm_data_a['sudba'] = $po['sudba'];
|
||||
}
|
||||
}
|
||||
if (isset($po['gravi']) && $po['gravi'] != '') {
|
||||
if (isset($po['gravi'])) {
|
||||
$c_itm_data_a['gravi'] = $po['gravi'];
|
||||
}
|
||||
if (isset($po['gravic'])) {
|
||||
$c_itm_data_a['gravic'] = $po['gravic'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (isset($po['imposed_id']) && $po['imposed_id'] > 0) {
|
||||
if (isset($po['imposed'])) {
|
||||
$c_itm_data_a['imposed'] = $po['imposed'];
|
||||
}
|
||||
if (isset($po['imposed_id'])) {
|
||||
$c_itm_data_a['imposed_id'] = $po['imposed_id'];
|
||||
}
|
||||
if (isset($po['imposed_name'])) {
|
||||
$c_itm_data_a['imposed_name'] = $po['imposed_name'];
|
||||
}
|
||||
if (isset($po['imposed_level'])) {
|
||||
$c_itm_data_a['imposed_level'] = $po['imposed_level'];
|
||||
}
|
||||
if (isset($po['bm_a1'])) {
|
||||
$c_itm_data_a['bm_a1'] = $po['bm_a1'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (isset($po['spell_id']) && $po['spell_id'] > 0) {
|
||||
if (isset($po['spell'])) {
|
||||
$c_itm_data_a['spell'] = $po['spell'];
|
||||
}
|
||||
if (isset($po['spell_id'])) {
|
||||
$c_itm_data_a['spell_id'] = $po['spell_id'];
|
||||
}
|
||||
if (isset($po['spell_name'])) {
|
||||
$c_itm_data_a['spell_name'] = $po['spell_name'];
|
||||
}
|
||||
if (isset($po['spell_lvl'])) {
|
||||
$c_itm_data_a['spell_lvl'] = $po['spell_lvl'];
|
||||
}
|
||||
if (isset($po['spell_st_name'])) {
|
||||
$c_itm_data_a['spell_st_name'] = $po['spell_st_name'];
|
||||
}
|
||||
if (isset($po['spell_st_val'])) {
|
||||
$c_itm_data_a['spell_st_val'] = $po['spell_st_val'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (isset($po['rune_id']) && $po['rune_id'] > 0) {
|
||||
if (isset($po['rune'])) {
|
||||
$c_itm_data_a['rune'] = $po['rune'];
|
||||
}
|
||||
if (isset($po['rune_id'])) {
|
||||
$c_itm_data_a['rune_id'] = $po['rune_id'];
|
||||
}
|
||||
if (isset($po['rune_name'])) {
|
||||
$c_itm_data_a['rune_name'] = $po['rune_name'];
|
||||
}
|
||||
if (isset($po['rune_lvl'])) {
|
||||
$c_itm_data_a['rune_lvl'] = $po['rune_lvl'];
|
||||
}
|
||||
$c_itm++;
|
||||
}
|
||||
if (isset($po['upatack_id']) && $po['upatack_id'] > 0) {
|
||||
if (isset($po['upatack'])) {
|
||||
$c_itm_data_a['upatack'] = $po['upatack'];
|
||||
}
|
||||
if (isset($po['upatack_id'])) {
|
||||
$c_itm_data_a['upatack_id'] = $po['upatack_id'];
|
||||
}
|
||||
if (isset($po['upatack_name'])) {
|
||||
$c_itm_data_a['upatack_name'] = $po['upatack_name'];
|
||||
}
|
||||
if (isset($po['upatack_lvl'])) {
|
||||
$c_itm_data_a['upatack_lvl'] = $po['upatack_lvl'];
|
||||
}
|
||||
$c_itm++;
|
||||
$j = 0;
|
||||
$data_r = ConversionHelper::dataStringToArray($ritm['data']);
|
||||
while ($j < count($this->items['add'])) {
|
||||
if (isset($data_r['add_' . $this->items['add'][$j]])) {
|
||||
$data['add_' . $this->items['add'][$j]] += $data_r['add_' . $this->items['add'][$j]];
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
if ($c_itm > 0) {
|
||||
$data = ConversionHelper::dataStringToArray($data);
|
||||
// Чарка
|
||||
if (isset($c_itm_data_a['spell_st_name']) && isset($c_itm_data_a['spell_st_val']) && $c_itm_data_a['spell_st_name'] != '' && $c_itm_data_a['spell_st_val'] != '') {
|
||||
$data['add_' . $c_itm_data_a['spell_st_name']] = (int)(isset($data['add_' . $c_itm_data_a['spell_st_name']]) ? (int)$data['add_' . $c_itm_data_a['spell_st_name']] : 0) + (int)$c_itm_data_a['spell_st_val'];
|
||||
}
|
||||
// Руна
|
||||
if (isset($c_itm_data_a['rune']) && $c_itm_data_a['rune'] > 0) {
|
||||
$ritm = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $c_itm_data_a['rune_id'] . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
$j = 0;
|
||||
$data_r = ConversionHelper::dataStringToArray($ritm['data']);
|
||||
while ($j < count($this->items['add'])) {
|
||||
if (isset($data_r['add_' . $this->items['add'][$j]])) {
|
||||
$data['add_' . $this->items['add'][$j]] += $data_r['add_' . $this->items['add'][$j]];
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
}
|
||||
|
||||
$data = ConversionHelper::arrayToDataString($data);
|
||||
$c_itm_data = ConversionHelper::arrayToDataString($c_itm_data_a);
|
||||
$data .= '|' . $c_itm_data;
|
||||
}
|
||||
|
||||
$i['gift'] = '';
|
||||
$data = ConversionHelper::arrayToDataString($data);
|
||||
$c_itm_data = ConversionHelper::arrayToDataString($c_itm_data_a);
|
||||
$data .= '|' . $c_itm_data;
|
||||
}
|
||||
|
||||
$ix = 1;
|
||||
$gix = 0;
|
||||
while ($ix <= $x) {
|
||||
if ($i['type'] != 71) {
|
||||
if ($i['iznos'] > 0) {
|
||||
$i['iznosMAXi'] = $i['iznos'];
|
||||
}
|
||||
//
|
||||
$i['price_2'] = 0;
|
||||
//
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
|
||||
$i['gift'] = '';
|
||||
|
||||
$ix = 1;
|
||||
$gix = 0;
|
||||
while ($ix <= $x) {
|
||||
if ($i['type'] != 71) {
|
||||
if ($i['iznos'] > 0) {
|
||||
$i['iznosMAXi'] = $i['iznos'];
|
||||
}
|
||||
//
|
||||
$i['price_2'] = 0;
|
||||
//
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
|
||||
"' . $i['price_1'] . '",
|
||||
"' . $i['price_2'] . '",
|
||||
"' . $i['gift'] . '",
|
||||
@ -4725,76 +4698,68 @@ class User
|
||||
"' . $this->info['city'] . '",
|
||||
"' . time() . '",
|
||||
"' . time() . '")'
|
||||
);
|
||||
} else {
|
||||
mysql_query(
|
||||
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '" LIMIT 1'
|
||||
);
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
|
||||
);
|
||||
}
|
||||
if ($ins) {
|
||||
$gix++;
|
||||
}
|
||||
$ix++;
|
||||
}
|
||||
if ($ins) {
|
||||
//Записываем в личное дело что предмет получен
|
||||
if ($trnt != '' && $i['tr_items'] != '') {
|
||||
$trnt = ', ' . $trnt;
|
||||
}
|
||||
|
||||
if ($zuby == 0) {
|
||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||
} else {
|
||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $this->zuby(
|
||||
$price
|
||||
) . '. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||
}
|
||||
|
||||
$j = 0;
|
||||
while ($j < count($detrn)) {
|
||||
$ost = ((int)$detrn[$j][1]);
|
||||
$s4 = mysql_query(
|
||||
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
|
||||
);
|
||||
while ($itm = mysql_fetch_array($s4)) {
|
||||
//удаляем предмет
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
|
||||
mysql_query(
|
||||
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
|
||||
);
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<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
|
||||
);
|
||||
} else {
|
||||
//Записываем в личное дело что предмет не получен
|
||||
$r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<font color=green>Shop.' . $this->info['city'] . '</font>": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
|
||||
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
|
||||
mysql_query(
|
||||
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '" LIMIT 1'
|
||||
);
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
|
||||
);
|
||||
if (!$ld) {
|
||||
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$r = 'Вам не удалось приобрести предмет...';
|
||||
if ($ins) {
|
||||
$gix++;
|
||||
}
|
||||
$ix++;
|
||||
}
|
||||
if ($ins) {
|
||||
//Записываем в личное дело что предмет получен
|
||||
if ($trnt != '' && $i['tr_items'] != '') {
|
||||
$trnt = ', ' . $trnt;
|
||||
}
|
||||
|
||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||
|
||||
$j = 0;
|
||||
while ($j < count($detrn)) {
|
||||
$ost = ((int)$detrn[$j][1]);
|
||||
$s4 = mysql_query(
|
||||
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
|
||||
);
|
||||
while ($itm = mysql_fetch_array($s4)) {
|
||||
//удаляем предмет
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
|
||||
mysql_query(
|
||||
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
|
||||
);
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<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
|
||||
);
|
||||
} else {
|
||||
//Записываем в личное дело что предмет не получен
|
||||
$r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<font color=green>Shop.' . $this->info['city'] . '</font>": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
|
||||
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
|
||||
);
|
||||
if (!$ld) {
|
||||
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} else { // Стандартная покупка предмета
|
||||
if ($i['kolvo'] < $x) {
|
||||
@ -4886,83 +4851,57 @@ class User
|
||||
}
|
||||
}
|
||||
|
||||
$zuby = 0;
|
||||
if (isset($_GET['zuby']) && $i['level'] < 8 && Config::get('zuby') == true) {
|
||||
$zuby = 1;
|
||||
}
|
||||
|
||||
$d = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
$po = ConversionHelper::dataStringToArray($d['data']);
|
||||
if (!empty($d['data'])) {
|
||||
$po = ConversionHelper::dataStringToArray($d['data']);
|
||||
}
|
||||
|
||||
if ($zuby == 1 && $po['tr_lvl'] > 7) {
|
||||
$r = 'Данный предмет нельзя приобрести за зубы.';
|
||||
} elseif (!isset($this->sid_zuby[$sid]) && $zuby == 1) {
|
||||
$r = 'Данный предмет нельзя приобрести за зубы.';
|
||||
} elseif ($zuby == 1 && $i['nozuby'] == 1) {
|
||||
$r = 'Данный предмет нельзя приобрести за зубы.';
|
||||
} elseif ($i['max_buy'] < $x && $i['max_buy'] > 0) {
|
||||
if ($i['max_buy'] < $x && $i['max_buy'] > 0) {
|
||||
$r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.';
|
||||
} elseif (isset($need_rep) && $need_rep == 0) {
|
||||
$r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.';
|
||||
} elseif ($zuby == 1 && $this->info['money4'] < $i['price_1']) {
|
||||
$r = 'У вас недостаточно зубов.';
|
||||
} elseif ($i['price_1'] * $x > $this->info['money4'] && $zuby == 1) {
|
||||
$r = 'У вас недостаточно денег.';
|
||||
} elseif ($mxby == -1) {
|
||||
$r = 'Максимальное количество покупок для данного предмета исчерпана<br>Возможно купить: ' . $i['max_buy'] . ' шт.';
|
||||
} elseif ($trn == 0 && $this->info['admin'] == 0) {
|
||||
$r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')';
|
||||
} elseif ($i['price_1'] * $x > $this->info['money'] && $zuby == 0) {
|
||||
} elseif ($i['price_1'] * $x > $this->info['money']) {
|
||||
$r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)';
|
||||
} else {
|
||||
if ($zuby == 0) {
|
||||
$this->info['money'] -= $price;
|
||||
} else {
|
||||
$this->info['money4'] -= $price;
|
||||
$this->info['money'] -= $price;
|
||||
$this->addKr(-$price);
|
||||
|
||||
|
||||
//новая дата
|
||||
$data = '';
|
||||
$data .= $d['data'];
|
||||
$data = str_replace('sudba=1', 'sudba=' . $this->info['login'], $data);
|
||||
|
||||
if ($mdata != null) {
|
||||
$data .= '|' . $mdata;
|
||||
}
|
||||
$upd = mysql_query(
|
||||
'UPDATE `users` SET `money` = "' . mysql_real_escape_string(
|
||||
round($this->info['money'], 2)
|
||||
) . '",`money4` = "' . mysql_real_escape_string(
|
||||
round($this->info['money4'], 2)
|
||||
) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd) {
|
||||
//новая дата
|
||||
$data = '';
|
||||
$data .= $d['data'];
|
||||
$data = str_replace('sudba=1', 'sudba=' . $this->info['login'], $data);
|
||||
|
||||
if ($mdata != null) {
|
||||
$data .= '|' . $mdata;
|
||||
}
|
||||
$i['gift'] = '';
|
||||
|
||||
$i['gift'] = '';
|
||||
if ($zuby == 1) {
|
||||
$i['gift'] = '1';
|
||||
$data .= '|nosale=1|zazuby=' . round($price / $x, 2) . '';
|
||||
}
|
||||
if ($sid == 404) {
|
||||
$data .= '|nosale=1|notransfer=1|fromshop=404|sudba=1';
|
||||
}
|
||||
|
||||
if ($sid == 404) {
|
||||
$data .= '|nosale=1|notransfer=1|fromshop=404|sudba=1';
|
||||
}
|
||||
|
||||
$ix = 1;
|
||||
$gix = 0;
|
||||
while ($ix <= $x) {
|
||||
if ($i['type'] != 71) {
|
||||
if ($i['iznos'] > 0) {
|
||||
$i['iznosMAXi'] = $i['iznos'];
|
||||
}
|
||||
//
|
||||
$i['price_2'] = 0;
|
||||
//
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
|
||||
$ix = 1;
|
||||
$gix = 0;
|
||||
while ($ix <= $x) {
|
||||
if ($i['type'] != 71) {
|
||||
if ($i['iznos'] > 0) {
|
||||
$i['iznosMAXi'] = $i['iznos'];
|
||||
}
|
||||
//
|
||||
$i['price_2'] = 0;
|
||||
//
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `items_users` (`1price`,`2price`,`gift`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES (
|
||||
"' . $i['price_1'] . '",
|
||||
"' . $i['price_2'] . '",
|
||||
"' . $i['gift'] . '",
|
||||
@ -4976,127 +4915,112 @@ class User
|
||||
"' . $this->info['city'] . '",
|
||||
"' . time() . '",
|
||||
"' . time() . '")'
|
||||
);
|
||||
} else {
|
||||
mysql_query(
|
||||
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '" LIMIT 1'
|
||||
);
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
|
||||
);
|
||||
}
|
||||
if ($ins) {
|
||||
$gix++;
|
||||
}
|
||||
$ix++;
|
||||
}
|
||||
if ($ins) {
|
||||
//Записываем в личное дело что предмет получен
|
||||
if ($trnt != '' && $i['tr_items'] != '') {
|
||||
$trnt = ', ' . $trnt;
|
||||
}
|
||||
|
||||
if ($zuby == 0) {
|
||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||
} else {
|
||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $this->zuby(
|
||||
$price
|
||||
) . '. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||
}
|
||||
|
||||
$zx = 0;
|
||||
$rs = 0;
|
||||
while ($zx < $x) {
|
||||
if (($sid == 1 || $sid == 5) && $i['level'] >= 4 && round($price / $x) > 25) {
|
||||
if ($this->stats['shopSale'] == 0 && !Config::get('nosanich')) {
|
||||
//Выдаем странички Саныча в гос магазине и канаве
|
||||
$prmn = 0; //дополнительный бонус
|
||||
$prmn = (1 - (pow(0.5, ($price / $x / 200)))) * 100;
|
||||
$prmn = round(20 / 100 * $prmn);
|
||||
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
|
||||
//3143 - 3192
|
||||
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
|
||||
//обложка
|
||||
$gitm = rand(3193, 3195);
|
||||
} else {
|
||||
$gitm = rand(3143, 3192);
|
||||
}
|
||||
if ($gitm == 3193) {
|
||||
$gitm = 3194;
|
||||
}
|
||||
$this->addItem($gitm, $this->info['id']);
|
||||
$rs++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$zx++;
|
||||
}
|
||||
|
||||
if ($rs > 1) {
|
||||
if (rand(0, 1) == 1) {
|
||||
$r .= ' Предмет был завернут в какую-то бумажку. (x' . $rs . ')';
|
||||
} elseif (rand(0, 1)) {
|
||||
$r .= ' Предмет был завернут в странный свиток. (x' . $rs . ')';
|
||||
} else {
|
||||
$r .= ' К предмету была прикреплена какая-та бумажка. (x' . $rs . ')';
|
||||
}
|
||||
} elseif ($rs > 0) {
|
||||
if (rand(0, 1) == 1) {
|
||||
$r .= ' Предмет был завернут в какую-то бумажку.';
|
||||
} elseif (rand(0, 1)) {
|
||||
$r .= ' Предмет был завернут в странный свиток.';
|
||||
} else {
|
||||
$r .= ' К предмету была прикреплена какая-та бумажка.';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$j = 0;
|
||||
while ($j < count($detrn)) {
|
||||
$ost = ((int)$detrn[$j][1]);
|
||||
$s4 = mysql_query(
|
||||
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
|
||||
);
|
||||
while ($itm = mysql_fetch_array($s4)) {
|
||||
//удаляем предмет
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
|
||||
|
||||
mysql_query(
|
||||
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
|
||||
);
|
||||
$zuby_inf = '';
|
||||
if ($zuby == 1) {
|
||||
$zuby_inf = ' <font color=red><small>(За зубы)</small></font>';
|
||||
}
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<font color=green>Shop.' . $this->info['city'] . '</font>": Приобрел предмет "<strong>' . $i['name'] . '</strong>" (x' . $x . ') [#' . $i['iid'] . '] за <strong>' . $price . '</strong> кр.' . $zuby_inf . '',
|
||||
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
|
||||
);
|
||||
} else {
|
||||
//Записываем в личное дело что предмет не получен
|
||||
$r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<font color=green>Shop.' . $this->info['city'] . '</font>": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
|
||||
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
|
||||
mysql_query(
|
||||
'DELETE FROM `obraz` WHERE `uid` = "' . $this->info['id'] . '" AND `sex` = "' . $i['sex'] . '" AND `img` = "' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '" LIMIT 1'
|
||||
);
|
||||
if (!$ld) {
|
||||
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
||||
$ins = mysql_query(
|
||||
'INSERT INTO `obraz` (`sex`,`img`,`level`,`uid`,`usr_add`) VALUES ("' . $i['sex'] . '","' . str_replace(
|
||||
'.png', '.gif', $i['img']
|
||||
) . '","' . $i['level'] . '","' . $this->info['id'] . '","' . time() . '")'
|
||||
);
|
||||
}
|
||||
if ($ins) {
|
||||
$gix++;
|
||||
}
|
||||
$ix++;
|
||||
}
|
||||
if ($ins) {
|
||||
//Записываем в личное дело что предмет получен
|
||||
if ($trnt != '' && $i['tr_items'] != '') {
|
||||
$trnt = ', ' . $trnt;
|
||||
}
|
||||
|
||||
$r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' кр. ' . $trnt . '<br>Предмет успешно добавлен в инвентарь.';
|
||||
|
||||
$zx = 0;
|
||||
$rs = 0;
|
||||
while ($zx < $x) {
|
||||
if (($sid == 1 || $sid == 5) && $i['level'] >= 4 && round($price / $x) > 25 && $this->stats['shopSale'] == 0 && !Config::get('nosanich')) {
|
||||
//Выдаем странички Саныча в гос магазине и канаве
|
||||
$prmn = 0; //дополнительный бонус
|
||||
$prmn = (1 - (pow(0.5, ($price / $x / 200)))) * 100;
|
||||
$prmn = round(20 / 100 * $prmn);
|
||||
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
|
||||
//3143 - 3192
|
||||
if (rand(0, 100) < 20 + $prmn && rand(0, 100) > 80 - $prmn) {
|
||||
//обложка
|
||||
$gitm = rand(3193, 3195);
|
||||
} else {
|
||||
$gitm = rand(3143, 3192);
|
||||
}
|
||||
if ($gitm == 3193) {
|
||||
$gitm = 3194;
|
||||
}
|
||||
$this->addItem($gitm, $this->info['id']);
|
||||
$rs++;
|
||||
}
|
||||
}
|
||||
$zx++;
|
||||
}
|
||||
|
||||
if ($rs > 1) {
|
||||
if (rand(0, 1) == 1) {
|
||||
$r .= ' Предмет был завернут в какую-то бумажку. (x' . $rs . ')';
|
||||
} elseif (rand(0, 1)) {
|
||||
$r .= ' Предмет был завернут в странный свиток. (x' . $rs . ')';
|
||||
} else {
|
||||
$r .= ' К предмету была прикреплена какая-та бумажка. (x' . $rs . ')';
|
||||
}
|
||||
} elseif ($rs > 0) {
|
||||
if (rand(0, 1) == 1) {
|
||||
$r .= ' Предмет был завернут в какую-то бумажку.';
|
||||
} elseif (rand(0, 1)) {
|
||||
$r .= ' Предмет был завернут в странный свиток.';
|
||||
} else {
|
||||
$r .= ' К предмету была прикреплена какая-та бумажка.';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$j = 0;
|
||||
while ($j < count($detrn)) {
|
||||
$ost = ((int)$detrn[$j][1]);
|
||||
$s4 = mysql_query(
|
||||
'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`uid`,`use_text`,`data`,`inOdet`,`inShop`,`delete`,`iznosNOW`,`iznosMAX`,`gift`,`gtxt1`,`gtxt2`,`kolvo`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`timeOver`,`overType`,`secret_id`,`time_create`,`inGroup`,`dn_delete`,`inTransfer`,`post_delivery`,`lbtl_`,`bexp`,`so`,`blvl` FROM `items_users` WHERE `item_id` = "' . ((int)$detrn[$j][0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" ORDER BY `inGroup` DESC LIMIT ' . ((int)$detrn[$j][1]) . ''
|
||||
);
|
||||
while ($itm = mysql_fetch_array($s4)) {
|
||||
//удаляем предмет
|
||||
mysql_query(
|
||||
'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
|
||||
|
||||
mysql_query(
|
||||
'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1'
|
||||
);
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<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
|
||||
);
|
||||
} else {
|
||||
$r = 'Вам не удалось приобрести предмет...';
|
||||
//Записываем в личное дело что предмет не получен
|
||||
$r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' кр.<br>Приносим свои извинения за неудобства.';
|
||||
$ld = $this->addDelo(
|
||||
1, $this->info['id'],
|
||||
'"<font color=green>Shop.' . $this->info['city'] . '</font>": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: <strong>' . $price . '</strong> кр.',
|
||||
time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0
|
||||
);
|
||||
if (!$ld) {
|
||||
echo '<div>Ошибка, невозможно добавить запись в /db/usersDelo/!</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5106,59 +5030,37 @@ class User
|
||||
return '<div align="left">' . $r . '</div>';
|
||||
}
|
||||
|
||||
public function addDelo($type, $uid, $txt, $tm, $ct, $frm, $mo, $mi, $vvv = false)
|
||||
/*
|
||||
* $iid Уникальный id прдемета и одновремено флаг что
|
||||
* покупка из комка.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param $type
|
||||
* @param $uid
|
||||
* @param $txt
|
||||
* @param @deprecated $tm
|
||||
* @param @deprecated $ct
|
||||
* @param $frm
|
||||
* @param $mo
|
||||
* @param @deprecated $mi
|
||||
* @param $vvv
|
||||
* @return bool
|
||||
* @deprecated использовать Delo::add().
|
||||
*/
|
||||
public function addDelo($type, $uid, $txt, $tm, $ct, $frm, $mo, $mi, $vvv = false): bool
|
||||
{
|
||||
return Db::sql(
|
||||
'insert into users_delo (uid, dop, time, city, text, login, `delete`, ip, moneyOut, type, no_right) values (?,?,?,?,?,?,?,?,?,?,?)',
|
||||
[
|
||||
$uid,
|
||||
$vvv,
|
||||
$tm,
|
||||
$ct,
|
||||
$txt,
|
||||
$frm,
|
||||
0,
|
||||
$_SERVER['HTTP_X_REAL_IP'],
|
||||
$mo,
|
||||
$type,
|
||||
'',
|
||||
]
|
||||
);
|
||||
$dop = $vvv ?: '';
|
||||
Delo::add($type, $frm, $uid, $txt, $mo, $dop);
|
||||
return true;
|
||||
}
|
||||
|
||||
public function zuby($v, $t = 0): string
|
||||
public function addKr($amount, $uid = 0)
|
||||
{
|
||||
$r = '';
|
||||
if ($v < 0) {
|
||||
$v = 0;
|
||||
if ($uid === 0) {
|
||||
$uid = $this->info['id'];
|
||||
}
|
||||
if ($t == 0) {
|
||||
$names[] = ' <img height=7 title=Гнилой Зуб 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;
|
||||
Db::sql('update users set money = money + ? where id = ?', [$amount, $uid]);
|
||||
}
|
||||
|
||||
public function newAct($test): bool
|
||||
@ -5973,6 +5875,41 @@ class User
|
||||
}
|
||||
}
|
||||
|
||||
public function zuby($v, $t = 0): string
|
||||
{
|
||||
$r = '';
|
||||
if ($v < 0) {
|
||||
$v = 0;
|
||||
}
|
||||
if ($t == 0) {
|
||||
$names[] = ' <img height=7 title=Гнилой Зуб 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)
|
||||
{
|
||||
if ($vl == round($vl)) {
|
||||
@ -10925,6 +10862,14 @@ LIMIT 1'
|
||||
return number_format($v, 2, '.', ' ');
|
||||
}
|
||||
|
||||
public function addVoinstvennost($amount, $uid = 0)
|
||||
{
|
||||
if ($uid === 0) {
|
||||
$uid = $this->info['id'];
|
||||
}
|
||||
Db::sql('update rep set rep3 = rep3 + ? where id = ?', [$amount, $uid]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Эта функция сломана! Формулы hp и mp в любых условиях выдают числа около 1000 за раз, в результате
|
||||
* любое восстановление - практически моментальное. 12.07.2022 Инс.
|
||||
|
@ -4,6 +4,7 @@ namespace User;
|
||||
|
||||
use Core\ConversionHelper;
|
||||
use Core\Db;
|
||||
use Delo;
|
||||
use User;
|
||||
|
||||
class ItemsModel
|
||||
@ -101,24 +102,18 @@ class ItemsModel
|
||||
if ($mxiznos > 0) {
|
||||
$i['iznosMAXi'] = $mxiznos;
|
||||
}
|
||||
if ($user->info['dnow'] > 0) {
|
||||
$room = $user->room['city'];
|
||||
} else {
|
||||
$room = $user->info['city'];
|
||||
}
|
||||
|
||||
$args = [
|
||||
$i['overTypei'] ?? 0,
|
||||
$i['id'],
|
||||
$uid,
|
||||
$data,
|
||||
$i['iznosMAXi'],
|
||||
$i['geni'],
|
||||
$i['magic_inci'],
|
||||
$room,
|
||||
$i['dn_delete'] ?? 0,
|
||||
];
|
||||
Db::sql(
|
||||
'insert into items_users (overType, item_id, uid, data, iznosMAX, geniration, magic_inc, maidin, lastUPD, time_create, dn_delete) values (?,?,?,?,?,?,?,?,unix_timestamp(),unix_timestamp(),?)',
|
||||
'insert into items_users (overType, item_id, uid, data, iznosMAX, magic_inc, lastUPD, time_create, dn_delete) values (?,?,?,?,?,?,unix_timestamp(),unix_timestamp(),?)',
|
||||
$args
|
||||
);
|
||||
$rt = Db::lastInsertId() ?? 0;
|
||||
@ -132,16 +127,7 @@ class ItemsModel
|
||||
$ads = 'Расплавлен предмет : [' . $plavka . ']';
|
||||
}
|
||||
//Записываем в личное дело что предмет получен
|
||||
$user->addDelo(
|
||||
1,
|
||||
$uid,
|
||||
'"AddItems.' . $user->info['city'] . '": Получен предмет "<strong>' . $i['name'] . '</strong>" (x1) [#' . $i['iid'] . ']. ' . $ads,
|
||||
time(),
|
||||
$user->info['city'],
|
||||
'AddItems.' . $user->info['city'],
|
||||
0,
|
||||
0
|
||||
);
|
||||
Delo::add(1, 'additems', $uid, 'Получен предмет «' . $i['name'] . '» [id:' . $i['iid'] . ']' . $ads);
|
||||
}
|
||||
}
|
||||
return $rt;
|
||||
|
40
inf.php
40
inf.php
@ -1643,8 +1643,23 @@ if (isset($uer)) {
|
||||
$glim = 1000;
|
||||
$i = 0;
|
||||
$ij1 = 1;
|
||||
|
||||
/* from WHERE
|
||||
* (
|
||||
`im`.`type` = "38" OR
|
||||
`im`.`type` = "64" OR
|
||||
`iu`.`data` LIKE "%|giftsee=1%"
|
||||
) AND `iu`.`inOdet` = "0"
|
||||
* */
|
||||
$sp = mysql_query(
|
||||
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`im`.`type` = "38" OR `im`.`type` = "64" OR `iu`.`data` LIKE "%|giftsee=1%") AND `iu`.`uid` = "' . $inf['id'] . '" AND `iu`.`gift` != "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" ORDER BY `iu`.`id` DESC LIMIT ' . $glim
|
||||
'SELECT `im`.*,`iu`.*
|
||||
FROM `items_users` AS `iu`
|
||||
LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`)
|
||||
WHERE
|
||||
`iu`.`uid` = "' . $inf['id'] . '" AND
|
||||
`iu`.`gift` != "" AND
|
||||
`iu`.`delete` = "0"
|
||||
ORDER BY `iu`.`id` DESC LIMIT ' . $glim
|
||||
);
|
||||
while ($pl = mysql_fetch_array($sp)) {
|
||||
if (stristr($pl['data'], 'gift_id')) {
|
||||
@ -1690,28 +1705,9 @@ if (isset($uer)) {
|
||||
$ij2++;
|
||||
}
|
||||
$ij3 = 1;
|
||||
$sp = mysql_query(
|
||||
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `im`.`type` = 28 AND `iu`.`uid` = "' . $inf['id'] . '" AND `iu`.`gift` != "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" ORDER BY `iu`.`id` DESC LIMIT ' . $glim
|
||||
);
|
||||
while ($pl = mysql_fetch_array($sp)) {
|
||||
if ($pl['type'] == 28) {
|
||||
//Букеты
|
||||
if ($pl['gift'] == 1) {
|
||||
$pl['gift2'] = 'Невидимка';
|
||||
} else {
|
||||
$pl['gift2'] = $pl['gift'];
|
||||
}
|
||||
$gs[2] .= '<img src="//img.new-combats.tech/i/items/' . $pl['img'] . '" style="margin:1px 1px 0 0;display:block;float:left;cursor:pointer;" onClick="lookGift(event,0,\'' . $pl['name'] . '\',\'' . $pl['img'] . '\',\'' . $pl['gtxt1'] . '\',\'' . $pl['gift'] . '\');" title="' . $pl['gtxt1'] . '
|
||||
Подарок от ' . $pl['gift2'] . '" />';
|
||||
}
|
||||
$ij3++;
|
||||
}
|
||||
|
||||
if ($gs[0] != '' || $gs[1] != '' || $gs[2] != '') {
|
||||
if ($gs[2] != '') {
|
||||
$gs[2] = '<tr><td style="padding-top:20px;"><div style="padding-bottom:2px;"><u>Букеты:</u></div><br>' . $gs[2] . '</td></tr>';
|
||||
}
|
||||
echo '<br><br><table style="max-width:1260px; width:800px;">' . $gs[2] . '<tr><td><div style="padding-top:20px; padding-bottom:2px;"><u>Подарки:</u></div><br>' . $gs[0] . '</td></tr><tr><td style="padding-top:7px;">' . $gs[1] . '</td></tr></table>';
|
||||
if ($gs[0] != '' || $gs[1] != '') {
|
||||
echo '<br><br><table style="max-width:1260px; width:800px;"><tr><td><div style="padding-top:20px; padding-bottom:2px;"><u>Подарки:</u></div><br>' . $gs[0] . '</td></tr><tr><td style="padding-top:7px;">' . $gs[1] . '</td></tr></table>';
|
||||
$ij4 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT COUNT(`iu`.`id`) FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`im`.`type` = 28 OR `im`.`type` = 63 OR `im`.`type` = 38 OR `im`.`type` = 64 OR `im`.`type` = 37 OR `iu`.`data` LIKE "%|giftsee=1%" OR `iu`.`data` LIKE "%|giftsee=2%") AND `iu`.`uid` = "' . $inf['id'] . '" AND `iu`.`gift` != "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" LIMIT 1'
|
||||
|
@ -108,11 +108,10 @@ if (isset($_GET['nightatack'])) {
|
||||
|
||||
function thisInfRm($id, $tp = null, $json = false)
|
||||
{
|
||||
global $u;
|
||||
$rm = Db::getRow('select * from room where code = ? and city = ?', [$id, $u->info['city']]);
|
||||
$rm = Db::getRow('select * from room where code = ? and city = ?', [$id, 'capitalcity']);
|
||||
$inf = 'Здание было разрушено';
|
||||
if (isset($rm['id'])) {
|
||||
$rown = Db::getValue('select count(*) from users where online > unix_timestamp() - 120 and city = ? and room = ?', [$u->info['city'], $rm['id']]);
|
||||
$rown = Db::getValue('select count(*) from users where online > unix_timestamp() - 120 and city = ? and room = ?', ['capitalcity', $rm['id']]);
|
||||
if ($tp == null) {
|
||||
$inf = '<b>' . $rm['name'] . '</b><br>Сейчас в комнате ' . ($rown) . ' чел.';
|
||||
} else {
|
||||
@ -135,229 +134,224 @@ function thisInfRm($id, $tp = null, $json = false)
|
||||
if (isset($_GET['loc'])) {
|
||||
// $training_manager = \DarksLight2\Training\TrainingManager::getInstance();
|
||||
|
||||
$go = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `room` WHERE `code` = "' . mysql_real_escape_string(
|
||||
$_GET['loc']
|
||||
) . '" AND `city` = "' . $u->info['city'] . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
$go = Db::getRow('select * from room where code = ?', [$_GET['loc']]);
|
||||
|
||||
// if (in_array(
|
||||
// $go['file'], $training_manager->getRegistered()[$training_manager->getCurrentStepName()]->allowedToMove()
|
||||
// ) || $u->info['admin'] > 0) {
|
||||
|
||||
$tr_pl = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
|
||||
)
|
||||
);
|
||||
$tr_pl = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
//Проверяем костыли
|
||||
$kos1 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$kos2 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
//Проверяем костыли
|
||||
$kos1 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$kos2 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
if ($kos1['item_id'] == 630 || $kos1['item_id'] == 631) {
|
||||
$kos1['good'] = 1;
|
||||
} else {
|
||||
$kos1['good'] = 0;
|
||||
}
|
||||
if ($kos2['item_id'] == 630 || $kos2['item_id'] == 631) {
|
||||
$kos2['good'] = 1;
|
||||
} else {
|
||||
$kos2['good'] = 0;
|
||||
}
|
||||
if ($kos1['item_id'] == 630 || $kos1['item_id'] == 631) {
|
||||
$kos1['good'] = 1;
|
||||
} else {
|
||||
$kos1['good'] = 0;
|
||||
}
|
||||
if ($kos2['item_id'] == 630 || $kos2['item_id'] == 631) {
|
||||
$kos2['good'] = 1;
|
||||
} else {
|
||||
$kos2['good'] = 0;
|
||||
}
|
||||
|
||||
if (isset($tr_pl['id'])) {
|
||||
$zadej = 0;
|
||||
if (isset($tr_pl['id'])) {
|
||||
$zadej = 0;
|
||||
|
||||
if ($tr_pl['v1'] == 2) {
|
||||
if ($kos1['good'] == 0 && $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$zadej = 20;
|
||||
}
|
||||
} elseif ($tr_pl['v1'] == 3 || $tr_pl['v1'] == 4) {
|
||||
if ($kos1['good'] == 0 || $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$zadej = 30;
|
||||
}
|
||||
if ($tr_pl['v1'] == 2) {
|
||||
if ($kos1['good'] == 0 && $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$zadej = 20;
|
||||
}
|
||||
} elseif ($tr_pl['v1'] == 3 || $tr_pl['v1'] == 4) {
|
||||
if ($kos1['good'] == 0 || $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$zadej = 30;
|
||||
}
|
||||
}
|
||||
if ($u->room['extdlg'] > 0) {
|
||||
header('location: main.php?talk=' . $u->room['extdlg'] . '');
|
||||
} elseif (isset($zadej) && $zadej == -1) {
|
||||
if (!isset($re) || $re == '') {
|
||||
$re = 'У вас травма, нельзя перемещаться...';
|
||||
}
|
||||
if ($u->room['extdlg'] > 0) {
|
||||
header('location: main.php?talk=' . $u->room['extdlg'] . '');
|
||||
} elseif (isset($zadej) && $zadej == -1) {
|
||||
if (!isset($re) || $re == '') {
|
||||
$re = 'У вас травма, нельзя перемещаться...';
|
||||
}
|
||||
//Травма...
|
||||
} elseif ($u->info['align'] == 2 && $go['nochaos'] == 1) {
|
||||
$re = 'Проход для хаосников закрыт!';
|
||||
} elseif ($u->info['inTurnir'] > 0) {
|
||||
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
|
||||
} elseif (
|
||||
($kos1['good'] == 0 && $kos2['good'] == 0) && (
|
||||
(!isset($zadej) || $zadej == 0) &&
|
||||
$u->aves['now'] >= $u->aves['max'] &&
|
||||
$u->room['name'] != 'Общежитие' &&
|
||||
$u->room['name'] != 'Общ. Этаж 1' &&
|
||||
$u->room['name'] != 'Общ. Этаж 2' &&
|
||||
$u->room['name'] != 'Общ. Этаж 3'
|
||||
)) {
|
||||
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
|
||||
} elseif (isset($go['id'])) {
|
||||
$rmgo = [];
|
||||
$rg = explode(',', $u->room['roomGo']);
|
||||
$mlvl = explode('-', $go['level']);
|
||||
$i = 0;
|
||||
while ($i < count($rg)) {
|
||||
if ($rg[$i] >= 0) {
|
||||
$rmgo[$rg[$i]] = 1;
|
||||
}
|
||||
//Травма...
|
||||
} elseif ($u->info['align'] == 2 && $go['nochaos'] == 1) {
|
||||
$re = 'Проход для хаосников закрыт!';
|
||||
} elseif ($u->info['inTurnir'] > 0) {
|
||||
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
|
||||
} elseif (($kos1['good'] == 0 && $kos2['good'] == 0) && ((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
|
||||
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
|
||||
} elseif (isset($go['id'])) {
|
||||
$rmgo = [];
|
||||
$rg = explode(',', $u->room['roomGo']);
|
||||
$mlvl = explode('-', $go['level']);
|
||||
$i = 0;
|
||||
while ($i < count($rg)) {
|
||||
if ($rg[$i] >= 0) {
|
||||
$rmgo[$rg[$i]] = 1;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$sleep = $u->testAction(
|
||||
'`vars` = "sleep" AND `uid` = "' . $u->info['id'] . '" LIMIT 1',
|
||||
1
|
||||
);
|
||||
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
|
||||
$re = '<font color=red><b>Вы можете перемещаться только когда бодрствуете.</b></font>';
|
||||
echo ' ' . $re;
|
||||
} elseif ($u->info['timeGo'] >= time()) {
|
||||
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time(
|
||||
)) . ' сек.';
|
||||
} elseif ($rmgo[$go['id']] == 1) {
|
||||
$alg = explode('-', $go['align']);
|
||||
$ku = mysql_fetch_array(
|
||||
$i++;
|
||||
}
|
||||
$sleep = $u->testAction(
|
||||
'`vars` = "sleep" AND `uid` = "' . $u->info['id'] . '" LIMIT 1',
|
||||
1
|
||||
);
|
||||
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
|
||||
$re = '<b style="color: red;">Вы можете перемещаться только когда бодрствуете.</b>';
|
||||
echo ' ' . $re;
|
||||
} elseif ($u->info['timeGo'] >= time()) {
|
||||
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time()) . ' сек.';
|
||||
} elseif ($rmgo[$go['id']] == 1) {
|
||||
$alg = explode('-', $go['align']);
|
||||
$ku = (bool)Db::getValue('select 1 from katok_zv where uid = ?', [$u->info['id']]);
|
||||
if ($ku) {
|
||||
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
|
||||
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0) {
|
||||
$re = 'Ты не ту склонность выбрал.. Дружок :)';
|
||||
} elseif ($u->info['zv'] > 0) {
|
||||
$test_zv = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id` FROM `katok_zv` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time() - 60 * 60 * 2) . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
if (isset($test_zv['id'])) {
|
||||
$re = 'Подали заявку и убегаем?.. Не хорошо!';
|
||||
} else {
|
||||
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!';
|
||||
mysql_query(
|
||||
'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
} elseif (($go['clan'] > 0 && $u->info['clan'] != $go['clan']) || ($go['clan'] == -1 && $u->info['clan'] == 0)) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time()) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($mlvl[0] > $u->info['level']) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
|
||||
} elseif ($mlvl[1] < $u->info['level']) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
|
||||
} elseif ($go['close'] == 0) {
|
||||
$travms = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
|
||||
)
|
||||
);
|
||||
|
||||
if (isset($ku['id'])) {
|
||||
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
|
||||
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0 && $u->info['admin'] == 0) {
|
||||
$re = 'Ты не ту склонность выбрал.. Дружок :)';
|
||||
} elseif ($u->info['zv'] > 0) {
|
||||
$test_zv = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time(
|
||||
) - 60 * 60 * 2) . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
if (isset($test_zv['id'])) {
|
||||
$re = 'Подали заявку и убегаем?.. Не хорошо!';
|
||||
} else {
|
||||
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!';
|
||||
mysql_query(
|
||||
'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
} elseif ((($go['clan'] > 0 && $u->info['clan'] != $go['clan']) || ($go['clan'] == -1 && $u->info['clan'] == 0)) && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time(
|
||||
) && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($mlvl[0] > $u->info['level'] && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
|
||||
} elseif ($mlvl[1] < $u->info['level'] && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
|
||||
} elseif ($go['close'] == 0 || $u->info['admin'] > 0) {
|
||||
$travms = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
|
||||
)
|
||||
);
|
||||
|
||||
//замедление перемешения при травмах
|
||||
$plus_timeGo = 0 + $zadej; // добавочное время при травме
|
||||
if ($plus_timeGo < 0) {
|
||||
$plus_timeGo = 0;
|
||||
}
|
||||
|
||||
if (((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
|
||||
$plus_timeGo += 2 * 60;
|
||||
if ($kos1['good'] == 0) {
|
||||
$plus_timeGo += 1.5 * 60;
|
||||
} elseif ($kos1['good'] == 0) {
|
||||
$plus_timeGo += 1.5 * 60;
|
||||
}
|
||||
}
|
||||
|
||||
//end freez time go
|
||||
|
||||
if ($u->stats['silver'] >= 1) {//время перемещения -20%
|
||||
$go['timeGO'] = floor($go['timeGO'] / 100 * 80);
|
||||
$plus_timeGo = floor($plus_timeGo / 100 * 80);
|
||||
}
|
||||
$u->info['timeGo'] = time() + $go['timeGO'] + $plus_timeGo;
|
||||
$u->info['timeGoL'] = time();
|
||||
$upd = mysql_query(
|
||||
'UPDATE `stats` SET `timeGo` = "' . $u->info['timeGo'] . '",`timeGoL` = "' . $u->info['timeGoL'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd) {
|
||||
$upd2 = mysql_query(
|
||||
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time(
|
||||
) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd2) {
|
||||
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
|
||||
//Удаляем все ставки в БС
|
||||
$sp_bs = mysql_query(
|
||||
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
);
|
||||
while ($pl_bs = mysql_fetch_array($sp_bs)) {
|
||||
mysql_query(
|
||||
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs['bsid'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
unset($sp_bs, $pl_bs);
|
||||
mysql_query(
|
||||
'UPDATE `bs_zv` SET `finish` = "' . time(
|
||||
) . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
);
|
||||
}
|
||||
|
||||
$smt = $u->testAction(
|
||||
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time(
|
||||
) - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1',
|
||||
1
|
||||
);
|
||||
if (isset($smt['id'])) {
|
||||
mysql_query(
|
||||
'DELETE FROM `actions` WHERE `id` = "' . $smt['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
mysql_query(
|
||||
'UPDATE `eff_users` SET `delete` = "' . time(
|
||||
) . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
|
||||
);
|
||||
|
||||
$u->info['room'] = $go['id'];
|
||||
$u->room = $go;
|
||||
if (!isset($_GET['mAjax'])) {
|
||||
echo '<script>top.chat.reflesh();</script>';
|
||||
}
|
||||
} else {
|
||||
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена';
|
||||
}
|
||||
} else {
|
||||
$re = 'Вы не смогли перейти в локацию';
|
||||
}
|
||||
} elseif ($go['destroy'] == 1) {
|
||||
$re = 'Здание было разрушено, в данный момент оно реставрируется';
|
||||
} else {
|
||||
$re = 'Временно закрыто';
|
||||
//замедление перемешения при травмах
|
||||
$plus_timeGo = 0 + $zadej; // добавочное время при травме
|
||||
if ($plus_timeGo < 0) {
|
||||
$plus_timeGo = 0;
|
||||
}
|
||||
|
||||
if (
|
||||
(!isset($zadej) || $zadej == 0) &&
|
||||
$u->aves['now'] >= $u->aves['max'] &&
|
||||
$u->room['name'] != 'Общежитие' &&
|
||||
$u->room['name'] != 'Общ. Этаж 1' &&
|
||||
$u->room['name'] != 'Общ. Этаж 2' &&
|
||||
$u->room['name'] != 'Общ. Этаж 3'
|
||||
) {
|
||||
$plus_timeGo += 2 * 60;
|
||||
if ($kos1['good'] == 0) {
|
||||
$plus_timeGo += 1.5 * 60;
|
||||
}
|
||||
}
|
||||
|
||||
//end freez time go
|
||||
|
||||
if ($u->stats['silver'] >= 1) {//время перемещения -20%
|
||||
$go['timeGO'] = floor($go['timeGO'] / 100 * 80);
|
||||
$plus_timeGo = floor($plus_timeGo / 100 * 80);
|
||||
}
|
||||
$u->info['timeGo'] = time() + $go['timeGO'] + $plus_timeGo;
|
||||
$u->info['timeGoL'] = time();
|
||||
$upd = mysql_query(
|
||||
'UPDATE `stats` SET `timeGo` = "' . $u->info['timeGo'] . '",`timeGoL` = "' . $u->info['timeGoL'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd) {
|
||||
$upd2 = mysql_query(
|
||||
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time() . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd2) {
|
||||
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
|
||||
//Удаляем все ставки в БС
|
||||
$sp_bs = mysql_query(
|
||||
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
);
|
||||
while ($pl_bs = mysql_fetch_array($sp_bs)) {
|
||||
mysql_query(
|
||||
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs['bsid'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
unset($sp_bs, $pl_bs);
|
||||
mysql_query(
|
||||
'UPDATE `bs_zv` SET `finish` = "' . time() . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
);
|
||||
}
|
||||
|
||||
$smt = $u->testAction(
|
||||
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time() - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1',
|
||||
1
|
||||
);
|
||||
if (isset($smt['id'])) {
|
||||
mysql_query(
|
||||
'DELETE FROM `actions` WHERE `id` = "' . $smt['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
mysql_query(
|
||||
'UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
|
||||
);
|
||||
|
||||
$u->info['room'] = $go['id'];
|
||||
$u->room = $go;
|
||||
if (!isset($_GET['mAjax'])) {
|
||||
echo '<script>top.chat.reflesh();</script>';
|
||||
}
|
||||
} else {
|
||||
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена';
|
||||
}
|
||||
} else {
|
||||
$re = 'Вы не смогли перейти в локацию';
|
||||
}
|
||||
} elseif ($go['destroy'] == 1) {
|
||||
$re = 'Здание было разрушено, в данный момент оно реставрируется';
|
||||
} else {
|
||||
$re = 'Проход не существует';
|
||||
$re = 'Временно закрыто';
|
||||
}
|
||||
} else {
|
||||
$re = 'Проход не существует';
|
||||
}
|
||||
} else {
|
||||
$re = 'Проход не существует';
|
||||
}
|
||||
// } else {
|
||||
// $re = 'Вам запрещено передвигаться до окончания обучения!!!';
|
||||
// }
|
||||
@ -384,22 +378,19 @@ if (isset($_GET['mAjax'])) {
|
||||
$rowonmax2 = 0;
|
||||
$rowonmax2 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
||||
) - 520) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 520) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$rowonmax = 'Сейчас в клубе:<b> ' . $rowonmax2[0] . '</b> чел.';
|
||||
$rowonmax = '' . $rowonmax . '';
|
||||
$rowonmax2c = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
||||
) - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$rowonmax3c = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
||||
) - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 520) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$rowonmaxc = 'Всего в Игре: ' . $rowonmax2c[0] . ' чел.';
|
||||
@ -537,12 +528,12 @@ if (date('m') == 11 || date('m') == 12 || date('m') == 1 || date('m') == 2) {
|
||||
|
||||
var i, doc_width, doc_height;
|
||||
|
||||
dx = new Array();
|
||||
xp = new Array();
|
||||
yp = new Array();
|
||||
am = new Array();
|
||||
stx = new Array();
|
||||
sty = new Array();
|
||||
dx = [];
|
||||
xp = [];
|
||||
yp = [];
|
||||
am = [];
|
||||
stx = [];
|
||||
sty = [];
|
||||
|
||||
Array.prototype.exists = function (el) {
|
||||
for (var i = 0; i < this.length; i++)
|
||||
@ -636,21 +627,18 @@ if (isset($u->room['id'])) {
|
||||
|
||||
$rowonmax2 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
||||
) - 777) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 777) . ' AND `inUser` = "0" AND `city` = "' . $u->info['city'] . '" AND `no_ip` != "trupojor" AND `pass` != "saintlucia" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$rowonmax = '<br><span style="font-size:14px;">Сейчас в клубе<b> ' . ($rowonmax2[0]) . '</b> реальных чел.</font>';
|
||||
$rowonmax2c = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
||||
) - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$rowonmax3c = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time(
|
||||
) - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
'SELECT COUNT(`id`) FROM `users` WHERE `online` > ' . (time() - 770) . ' AND `inUser` = "0" AND `no_ip` != "trupojor" AND `login` NOT LIKE "%(%" AND `banned` = 0 AND `bot_id` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
if ($rowonmax2c[0] - $rowonmax2[0] > 0) {
|
||||
|
@ -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';
|
||||
}
|
||||
</script>
|
||||
<div style="position: absolute; left: 372px; top: 129px; width: 73px; height: 47px; z-index: 91;">
|
||||
<img <?php thisInfRm('1.180.0.13'); ?> src="<?= Config::img() ?>/city/capitalcity/day/euroshop.gif" width="78" height="63" class="aFilter" alt="">
|
||||
</div>
|
||||
<div style="position: absolute; left: 179px; top: 13px; width: 73px; height: 47px; z-index: 92;">
|
||||
<img <?php thisInfRm('1.180.0.263'); ?> src="<?= Config::img() ?>/city/capitalcity/day/1ubkill.gif" width="116" height="186" class="aFilter" alt="">
|
||||
</div>
|
||||
@ -178,12 +175,6 @@ if (date("H") >= 6 && date("H") < 22) {
|
||||
Башня Смерти
|
||||
</a>
|
||||
</span>
|
||||
<span style="white-space:nowrap; padding-left:3px; padding-right:3px; height:10px">
|
||||
<img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7" alt="">
|
||||
<a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.13&rnd=<?= $code; ?>';" title="<?php thisInfRm('1.180.0.13', 1); ?>">
|
||||
Магазин Березка
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div style="display:none; height:0;" id="moveto"></div>
|
||||
|
@ -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
|
||||
if (!defined('GAME')) {
|
||||
die();
|
||||
}
|
||||
|
||||
use Core\Config;
|
||||
use Core\ConversionHelper;
|
||||
use Core\Db;
|
||||
use Core\View;
|
||||
use Location\Shop;
|
||||
use User\Clan;
|
||||
use User\ItemsModel;
|
||||
|
||||
/* @var User $u */
|
||||
|
||||
if ($u->room['file'] != 'shop_') {
|
||||
return;
|
||||
}
|
||||
$shopProcent = 100 - $c['shop_type1'];
|
||||
|
||||
$shopId = null;
|
||||
$status = '';
|
||||
$itmAllSee = '';
|
||||
$actionSale = false;
|
||||
$actionGifts = false;
|
||||
$buyItemId = 0;
|
||||
$buyEkrItemId = 0;
|
||||
$buyVoinItemId = 0;
|
||||
$sellItemId = 0;
|
||||
$uc = null;
|
||||
$giftsvars = [];
|
||||
$otdel = 1;
|
||||
|
||||
if ((int)$u->info['room'] === 10) {
|
||||
$shopId = Shop::MAIN;
|
||||
}
|
||||
if ((int)$u->info['room'] === 368) {
|
||||
$shopId = Shop::SHOP_2;
|
||||
}
|
||||
if ((int)$u->info['room'] === 13) {
|
||||
$shopId = Shop::BEREZKA;
|
||||
}
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "GET") { //неясно почему, $_GET вызывается буквалльно всегда, даже на пустом месте.
|
||||
$actionSale = (bool)$_GET['sale'];
|
||||
$actionGifts = (bool)$_GET['gifts'];
|
||||
$buyItemId = intval($_GET['buy']);
|
||||
$buyEkrItemId = intval($_GET['buyEkr']);
|
||||
$buyVoinItemId = intval($_GET['buyVn']);
|
||||
$sellItemId = intval($_GET['item']);
|
||||
$otdel = $_GET['otdel'] ??= 1;
|
||||
}
|
||||
|
||||
if (isset($_POST['itemgift'])) {
|
||||
$to = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `login` = "' . mysql_real_escape_string($_POST['to_login']) . '" ORDER BY `id` LIMIT 1'));
|
||||
if (isset($to['id'])) {
|
||||
$chat = new Chat();
|
||||
$cmsg = new ChatMessage();
|
||||
$cmsg->setCity($u->info['city']);
|
||||
$cmsg->setTo($to['login']);
|
||||
$cmsg->setType(6);
|
||||
$present = new \DTO\Present();
|
||||
$present->sender = $u->info['login'];
|
||||
$present->receiver = $_POST['to_login'];
|
||||
$present->textTitle = $_POST['podarok2'];
|
||||
$present->text = $_POST['txt'];
|
||||
if (intval($_POST['from']) === 1) {
|
||||
$present->anonymousSender = true;
|
||||
} elseif (intval($_POST['from'] === 2) && $u->info['clan'] > 0) {
|
||||
$present->clanSender = true;
|
||||
}
|
||||
$sendPresent = new Present($present);
|
||||
$status = $sendPresent->getStatus();
|
||||
}
|
||||
|
||||
if ($u->info['align'] == 2 || $u->info['haos'] > time()) {
|
||||
$re = '<div align="left">Хаосникам запрещается делать подарки другим игрокам</div>';
|
||||
} elseif ($to['id'] == $u->info['id']) {
|
||||
$re = '<div align="left">Очень щедро дарить что-то самому себе ;)</div>';
|
||||
} elseif ($u->info['level'] < 4) {
|
||||
$re = '<div align="left">Дарить подарки можно начиная с 4-го уровня</div>';
|
||||
} else {
|
||||
if ($_POST['itemgift'] > 1000000000000) {
|
||||
$itm_l = mysql_fetch_array(mysql_query('SELECT * FROM `users_gifts` WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . mysql_real_escape_string((int)$_POST['itemgift'] - 1000000000000) . '" LIMIT 1'));
|
||||
if (isset($itm_l['id']) && $itm_l['money'] > $u->info['money']) {
|
||||
$re = '<div>Недостаточно денег</div>';
|
||||
} elseif (isset($itm_l['id'])) {
|
||||
$itm = \User\ItemsModel::addItem(4533, 1, '|gift_id=' . $itm_l['id'] . '');
|
||||
if ($itm > 0) {
|
||||
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`im`.`type` = "28" OR `im`.`type` = "38" OR `im`.`type` = "63" OR `im`.`type` = "64" OR `im`.`type` = "37") AND `iu`.`id` = "' . mysql_real_escape_string($itm) . '" AND `iu`.`uid` = "1" AND `iu`.`gift` = "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" LIMIT 1'));
|
||||
if (isset($itm['id'])) {
|
||||
$u->info['money'] -= $itm_l['money'];
|
||||
mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
|
||||
|
||||
$itm['gtxt1'] = $_POST['podarok2'];
|
||||
$itm['gtxt2'] = $_POST['txt'];
|
||||
|
||||
$itm['gtxt1'] = str_replace('\x3C', '<', $itm['gtxt1']);
|
||||
$itm['gtxt1'] = str_replace('\x3', '>', $itm['gtxt1']);
|
||||
$itm['gtxt1'] = htmlspecialchars($itm['gtxt1'], null);
|
||||
$itm['gtxt2'] = str_replace('\x3C', '<', $itm['gtxt2']);
|
||||
$itm['gtxt2'] = str_replace('\x3', '>', $itm['gtxt2']);
|
||||
$itm['gtxt2'] = htmlspecialchars($itm['gtxt2'], null);
|
||||
|
||||
$giftlogin = $u->info['login'];
|
||||
|
||||
if ($_POST['from'] == 1) {
|
||||
//Анонимно
|
||||
$giftlogin = '<i>Анонима</i>';
|
||||
} elseif ($_POST['from'] == 2 && $u->info['clan'] > 0) {
|
||||
//От клана
|
||||
$cln = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $u->info['clan'] . '" LIMIT 1'));
|
||||
if (isset($cln['id'])) {
|
||||
$giftlogin = 'клана <img src=/i/clan/' . $cln['id'] . '.gif> <b>' . $cln['name'] . '</b>';
|
||||
}
|
||||
}
|
||||
|
||||
$fspam = $filter->spamFiltr(str_replace('точка', '.', str_replace('ру', 'ru', $itm['gtxt1'])));
|
||||
if ($fspam != '0') {
|
||||
$itm['gtxt1'] = '<font color=red><b><РВС></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']);
|
||||
$shop = new Shop($shopId, $otdel);
|
||||
$shopName = Db::getValue('select name from room where id = ?', [$u->info['room']]);
|
||||
|
||||
|
||||
$iteminc = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `id` = "' . intval($items['item_inbox']) . '" LIMIT 1'));
|
||||
$iteminctru = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $iteminc['item_id'] . '" LIMIT 1'));
|
||||
if ($buyItemId) {
|
||||
$status = $shop->buy($buyItemId);
|
||||
} elseif ($buyEkrItemId) {
|
||||
$status = $shop->buyEkr($buyEkrItemId);
|
||||
} elseif ($buyVoinItemId) {
|
||||
$status = $shop->buyVn($buyVoinItemId);
|
||||
}
|
||||
|
||||
|
||||
$upd = mysql_query('UPDATE `items_users` SET `data` = "' . $itm['data'] . '",`gtxt1` = "' . mysql_real_escape_string($itm['gtxt1']) . '",`gtxt2` = "' . mysql_real_escape_string($itm['gtxt2']) . '", `uid` = "' . $to['id'] . '", `gift` = "' . $giftlogin . '",`time_create` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
|
||||
$whos = mysql_fetch_array(mysql_query('SELECT `login` FROM `users` WHERE `id` = "' . $to['id'] . '" LIMIT 1'));
|
||||
$ld = $u->addDelo(1, $to['id'], '"<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);
|
||||
$chat->sendMsg($cmsg);
|
||||
} else {
|
||||
$re = '<div align="left">Не удалось сделать подарок</div>';
|
||||
}
|
||||
} else {
|
||||
$re = '<div align="left">Предмет не найден</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($actionSale) {
|
||||
$itmAll = $u->genInv(2, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`=0 AND `iu`.`inOdet`=0 AND `iu`.`inShop`=0 AND `iu`.`data` NOT LIKE "%fromshop=2%" ORDER BY `lastUPD` DESC');
|
||||
if ($itmAll[0] == 0) {
|
||||
$itmAllSee = '<tr><td style="text-align: center; background-color: lightgrey;">ПУСТО</td></tr>';
|
||||
} else {
|
||||
$re = '<div align="left">Персонаж с таким логином не найден</div>';
|
||||
$itmAllSee = $itmAll[2];
|
||||
}
|
||||
if ($sellItemId) {
|
||||
$item = ItemsModel::getOwnedItemById($sellItemId, User::start()->info['id']);
|
||||
$itemData = ConversionHelper::dataStringToArray($item['data']);
|
||||
$status = $item['gift'] ? 'Подарки не продаются!' : '';
|
||||
$status = $itemData['nosale'] ? 'Предмет не для продажи!' : '';
|
||||
if (!$status && $sellItemId) {
|
||||
$sellprice = $item['1price'] - $item['1price'] * 0.1;
|
||||
ItemsModel::delete($item['id']);
|
||||
$u->addKr($sellprice);
|
||||
$u->info['money'] += $sellprice;
|
||||
$status = "Вы успешно продали предмет «{$item['name']}» за $sellprice кр.";
|
||||
Delo::add(2, 'shopid:' . $shopId, $u->info['id'], "Предмет «{$item['name']}» [id:{$item['id']}] продан за $sellprice кр.", -$sellprice);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($u->stats['shopSale'], $_GET['sale'])) {
|
||||
$bns = 0 + $u->stats['shopSale'];
|
||||
if ($bns != 0) {
|
||||
if ($bns > 0) {
|
||||
$bns = '+' . $bns;
|
||||
}
|
||||
$shopProcent = $u->shopSaleM($shopProcent, $itm);
|
||||
$shopProcent -= $bns;
|
||||
if ($shopProcent > 99) {
|
||||
$shopProcent = 99;
|
||||
}
|
||||
if ($shopProcent < 1) {
|
||||
$shopProcent = 1;
|
||||
}
|
||||
echo '<div style="color:grey;"><b>У Вас действует бонус при продаже: ' . $bns . '%</b><br><small>Вы сможете продавать предметы за ' . $shopProcent . '% от их стоимости</small></div>';
|
||||
if ($actionGifts) {
|
||||
$uc = new Clan($u->info);
|
||||
$imgsrc = Config::img();
|
||||
$sp = Db::getRow('select * from users_gifts where uid = ?', [$u->info['id']]);
|
||||
foreach ($sp as $pl) {
|
||||
$giftsvars[] = [
|
||||
'img' => $imgsrc . '/i/items/' . $pl['img'],
|
||||
'jsvalue' => 1000000000000 + $pl['id'],
|
||||
'money' => $pl['money'],
|
||||
'linkname' => $pl['name'],
|
||||
];
|
||||
}
|
||||
}
|
||||
if (!isset($_GET['otdel'])) {
|
||||
$_GET['otdel'] = 1;
|
||||
}
|
||||
$sid = 1;
|
||||
$error = '';
|
||||
if (isset($_GET['buy'])) {
|
||||
if ($u->newAct($_GET['sd4']) == true) {
|
||||
$re = $u->buyItem($sid, (int)$_GET['buy'], (int)$_GET['x']);
|
||||
} else {
|
||||
$re = 'Вы уверены что хотите купить этот предмет?';
|
||||
}
|
||||
} elseif (isset($_GET['sale']) && isset($_GET['item']) && $u->newAct($_GET['sd4'])) {
|
||||
$id = (int)$_GET['item'];
|
||||
$itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.*, count(`iuu`.id) as inGroupCount
|
||||
FROM `items_users` AS `iu`
|
||||
LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`)
|
||||
LEFT JOIN `items_users` as `iuu` ON (`iuu`.inGroup = `iu`.inGroup AND `iuu`.item_id = `im`.id )
|
||||
WHERE `iuu`.`uid`="' . $u->info['id'] . '" AND `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . mysql_real_escape_string($id) . '" LIMIT 1'));
|
||||
$po = \Core\ConversionHelper::dataStringToArray($itm['data']);
|
||||
if ($u->info['allLock'] > time()) {
|
||||
$po['nosale'] = 1;
|
||||
}
|
||||
if (($itm['gift'] != '' && $itm['gift'] != '0') && ($itm['type'] == 37 || $itm['type'] == 38 || $itm['type'] == 39 || $itm['type'] == 63)) {
|
||||
$error = 'Нельзя продавать подарки, они должны оставаться на память! :)';
|
||||
} elseif (isset($po['nosale'])) {
|
||||
$error = 'Не удалось продать предмет, запрет продажи данного предмета ...';
|
||||
} elseif ($pl['type'] < 29 && ($po['srok'] > 0 || $pl['srok'] > 0) && $pl['type'] != 28) {
|
||||
$error = 'Не удалось продать предмет, вышел срок годности ...';
|
||||
//}elseif(isset($po['frompisher'])){
|
||||
//$error = 'Не удалось продать предмет, предмет из подземелья ...';
|
||||
} elseif (isset($po['fromlaba'])) {
|
||||
$error = 'Не удалось продать предмет, предмет из лабиринта продается за воинственность ...';
|
||||
} elseif (isset($itm['id'])) {
|
||||
if ($itm['1price'] > 0) {
|
||||
$itm['price1'] = $itm['1price'];
|
||||
}
|
||||
$shpCena = $itm['price1'];
|
||||
$plmx = 0;
|
||||
if ($itm['iznosMAXi'] != $itm['iznosMAX'] && $itm['iznosMAX'] != 0) {
|
||||
$plmx = $itm['iznosMAX'];
|
||||
} else {
|
||||
$plmx = $itm['iznosMAXi'];
|
||||
}
|
||||
if ($itm['iznosNOW'] > 0) {
|
||||
$prc1 = floor($itm['iznosNOW']) / ceil($plmx) * 100;
|
||||
} else {
|
||||
$prc1 = 0;
|
||||
}
|
||||
$shpCena = $u->shopSaleM($shpCena, $itm);
|
||||
$shpCena = $shpCena / 100 * (100 - $prc1);
|
||||
if ($itm['iznosMAXi'] < 999999999) {
|
||||
if ($itm['iznosMAX'] > 0 && $itm['iznosMAXi'] > 0 && $itm['iznosMAXi'] > ceil($itm['iznosMAX'])) {
|
||||
$shpCena = $shpCena / 100 * (ceil($itm['iznosMAX']) / $itm['iznosMAXi'] * 100);
|
||||
}
|
||||
}
|
||||
$shpCena = $u->round2($shpCena / 100 * (100 - $shopProcent));
|
||||
if ($shpCena < 0) {
|
||||
$shpCena = 0;
|
||||
}
|
||||
$col = $u->itemsX($itm['id']);
|
||||
if ($col > 0) {
|
||||
$shpCena = $shpCena * $col;
|
||||
}
|
||||
if ($shpCena < 0) {
|
||||
$shpCena = 0;
|
||||
}
|
||||
$upd2 = mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
|
||||
if ($upd2) {
|
||||
if ($col > 1) {
|
||||
mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `uid`="' . $itm['uid'] . '" AND `inGroup` = "' . $itm['inGroup'] . '" LIMIT ' . $col . '');
|
||||
}
|
||||
$u->info['money'] += $shpCena;
|
||||
$upd = mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
|
||||
if ($upd) {
|
||||
$error = 'Вы успешно продали предмет "' . $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 = 'Не удалось обменять предмет...';
|
||||
}
|
||||
$itmAll = $u->genInv(3, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`=0 AND `iu`.`inOdet`=0 AND `iu`.`inShop`=0 AND `im`.`type` in (28,38,63,64,37) AND (`iu`.`gift` = "" OR `iu`.`gift` = 1) ORDER BY `lastUPD` DESC');
|
||||
if ($itmAll[0] == 0) {
|
||||
$itmAllSee = '<tr><td style="text-align: center; background-color: lightgrey;">У вас нет подходящих предметов</td></tr>';
|
||||
} else {
|
||||
$error = 'Подходящий предмет не найден в инвентаре.';
|
||||
$itmAllSee = $itmAll[2];
|
||||
}
|
||||
}
|
||||
|
||||
if ($re != '') {
|
||||
echo '<div align="right"><font color="red"><b>' . $re . '</b></font></div>';
|
||||
} ?>
|
||||
<script type="text/javascript">
|
||||
function AddCount(name, txt) {
|
||||
document.getElementById("hint4").innerHTML = '<table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor="#CCC3AA"><tr><td align=center><B>Купить неск. штук</td><td width=20 align=right valign=top style="cursor: pointer" onclick="closehint3();"><BIG><B>x</TD></tr><tr><td colspan=2>' +
|
||||
'<form method=post><table border=0 width=100% cellspacing=0 cellpadding=0 bgcolor="#FFF6DD"><tr><INPUT TYPE="hidden" name="set" value="' + name + '"><td colspan=2 align=center><B><I>' + txt + '</td></tr><tr><td width=80% align=right>' +
|
||||
'Количество (шт.) <INPUT TYPE="text" NAME="count" id=count size=4></td><td width=20%> <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) {
|
||||
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">У вас нет подходящих предметов</td></tr>';
|
||||
} else {
|
||||
$itmAllSee = $itmAll[2];
|
||||
}
|
||||
echo $itmAllSee;
|
||||
} elseif (!isset($_GET['sale'])) {
|
||||
//Выводим вещи в магазине для покупки
|
||||
$u->shopItems($sid);
|
||||
} else {
|
||||
//Выводим вещи в инвентаре для продажи
|
||||
$itmAll = $u->genInv(2, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` NOT LIKE "%fromshop=2%" ORDER BY `lastUPD` DESC');
|
||||
if ($itmAll[0] == 0) {
|
||||
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">ПУСТО</td></tr>';
|
||||
} else {
|
||||
$itmAllSee = $itmAll[2];
|
||||
}
|
||||
echo $itmAllSee;
|
||||
}
|
||||
?>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</FORM>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<td width="280" valign="top">
|
||||
<TABLE cellspacing="0" cellpadding="0">
|
||||
<TD width="100%"> </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'])) {
|
||||
$color = 'C7C7C7';
|
||||
} else {
|
||||
$color = 'e2e0e0';
|
||||
}
|
||||
echo '<div class="shop_menu_txt"><b>Возможности:</b></div>';
|
||||
echo '<A HREF="?otdel=32&gifts=1"><DIV style="background-color: #' . $color . '"> Сделать подарки</A>';
|
||||
?>
|
||||
</div>
|
||||
</td>
|
||||
</table>
|
||||
<br>
|
||||
<div id="textgo" style="visibility:hidden;"></div>
|
||||
/** @var string $goLis инициализируется в файле из которого вызван этот. Отрисовка датчика задержки смены локации. */
|
||||
/** @var string $code инициализируется в файле из которого вызван этот. Хеш-строка против кеширования. */
|
||||
$renderArgs = [
|
||||
'shopName' => $shopName,
|
||||
'status' => $status,
|
||||
'actionSale' => $actionSale,
|
||||
'actionGifts' => $actionGifts,
|
||||
'otdel' => $otdel,
|
||||
'u' => $u,
|
||||
'uc' => $uc,
|
||||
'giftsvars' => $giftsvars,
|
||||
'itmAllSee' => $itmAllSee,
|
||||
'shop' => $shop,
|
||||
'goLis' => $goLis,
|
||||
'code' => $code,
|
||||
'shopId' => $shopId,
|
||||
'otdels' => $shop->getUsedOtdels(),
|
||||
'i' => 1,
|
||||
];
|
||||
View::render('Locations/Shop.php', $renderArgs);
|
||||
|
Loading…
Reference in New Issue
Block a user