diff --git a/_incl_data/Views/Locations/Shop.php b/_incl_data/Views/Locations/Shop.php new file mode 100644 index 00000000..13e1fa94 --- /dev/null +++ b/_incl_data/Views/Locations/Shop.php @@ -0,0 +1,187 @@ + +
+ + + +
+

+
 
+ + + + +
+ + + + + + + + + +
+ + Отдел «Скупка»
+ Здесь вы можете продать свои вещи, за жалкие гроши...
+ У вас в наличии: + + Отдел «Сделать подарки» + + Отдел «» + +
+ + + + + + + + $v): ?> + + + + + + + + + + + + +
+ printWares(); ?> +
+ +
+ Вы можете сделать подарок дорогому человеку. Ваш подарок будет отображаться в информации о персонаже. + +
    +
  1. + Укажите имя персонажа, которому хотите сделать подарок. + +
  2. + info['exp'] >= Present::EXP_NEEDED_FOR_ADD_PRESENT_TEXT): ?> +
  3. + Поздравление. Будет отображаться в информации о персонаже (не более 60 символов). + +
  4. +
  5. + Приватное поздравление (в информации о персонаже не отображается). + +
  6. + +
  7. + Выберите, от чьего имени подарок:
    +
    +
    + isRegistered()): ?> + + +
  8. +
  9. + Нажмите кнопку Подарить под предметом, который хотите преподнести в подарок:
    +
  10. +
+
+ +

Уникальные подарки

+ + + + + + +
+
+ +
+
Это именной подарок, его можете подарить только вы. +
+

Стандартные подарки

+
+
+
+
+ + + + + + + + +
+
+
+
Масса:
+
aves['now'] ?>/aves['max'] ?>
+
У вас в наличии:
+
getUserWallet() ?>
+
+
+ + + + + +   + +
+
+
+
Отделы магазина
+
+ getUsedOtdels(); + $otdels[37] = "$otdels[37]"; + $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 '
'; + } + echo sprintf('
%s %s
', + $i, $shop::OTDEL_GROUP_NAME[$k], $shop::OTDEL_GROUP_NAME[$k]); + $i++; + } + if ($k === 100) { + echo '
Возможности:
'; + $k = '32&gifts=1'; + } + echo ''; + } + ?> +
+
+
+ + diff --git a/_incl_data/__config.php b/_incl_data/__config.php index 065cadeb..adb311d7 100644 --- a/_incl_data/__config.php +++ b/_incl_data/__config.php @@ -1,10 +1,9 @@ 0; + } +} diff --git a/_incl_data/class/Clan/ItemStorage.php b/_incl_data/class/Clan/ItemStorage.php index 1984da6c..5b256e5f 100644 --- a/_incl_data/class/Clan/ItemStorage.php +++ b/_incl_data/class/Clan/ItemStorage.php @@ -11,33 +11,13 @@ class ItemStorage { private string $error = ''; - private function isGoodForStorage(array $item, $userClanId): bool - { - if (empty($item['inslot']) || !empty($item['gift'])) { - $this->error = ' .'; - } - $idata = ConversionHelper::dataStringToArray($item['data']); - if ( - !empty($idata['frompisher']) || - !empty($idata['sudba']) || - !empty($idata['icos']) || - !empty($idata['fromlaba']) - ) { - $this->error = ' .'; - } - if (!empty($idata['toclan']) && explode('#', $idata['toclan'])[0] == $userClanId) { - $this->error = ' .'; - } - return empty($this->error); - } - public function put(int $itemId, int $clanId): string { $user = User::start()->info; $item = ItemsModel::getOwnedItemById($itemId, $user['id']); $clanName = Db::getValue('select name from clan where id = ?', [$clanId]) ?? ''; if (empty($clanName)) { - return ' .'; + return 'Клан не найден.'; } if (!$this->isGoodForStorage($item, $user['clan'])) { return $this->error; @@ -50,7 +30,7 @@ class ItemStorage User::start()->addDelo( 2, $user['id'], - '"System.transfer.MONEY": "' . $item['name'] . '" (#id : "' . $itemId . '") (x' . $col . ') "' . $clanName . '" (' . $clanId . ').', + '"System.transfer.MONEY": Предмет "' . $item['name'] . '" (#id : "' . $itemId . '") (x' . $col . ') был пожертвован клану "' . $clanName . '" (' . $clanId . ').', time(), $user['city'], 'System.transfer.clan', @@ -63,16 +43,35 @@ class ItemStorage } Db::sql( 'insert into clan_operations (clan, time, type, text, val, uid) values (?,unix_timestamp(),?,?,?,?)', - [$clanId, $sendType, $user['login'], $item['name'] . ("x$col : [$itemId]"), $user['id']] + [$clanId, $sendType, $user['login'], $item['name'] . ("x$col Ид: [$itemId]"), $user['id']] ); Db::sql( 'update items_users set lastUPD = unix_timestamp(), uid = ?, data = ? where id = ?', ['-21' . $user['clan'], $item['data'], $itemId] ); - return ' "' . $item['name'] . '" .'; + return 'Вы передали предмет "' . $item['name'] . '" клану.'; } + private function isGoodForStorage(array $item, $userClanId): bool + { + if (empty($item['inslot']) || !empty($item['gift'])) { + $this->error = 'Предмет не найден.'; + } + $idata = ConversionHelper::dataStringToArray($item['data']); + if ( + !empty($idata['frompisher']) || + !empty($idata['sudba']) || + !empty($idata['icos']) || + !empty($idata['fromlaba']) + ) { + $this->error = 'Предмет не подходит.'; + } + if (!empty($idata['toclan']) && explode('#', $idata['toclan'])[0] == $userClanId) { + $this->error = 'Предмет уже принадлежит клану.'; + } + return empty($this->error); + } public function ungive_itm_cl($id, $user, $cl): string { @@ -86,27 +85,25 @@ class ItemStorage mysql_query('SELECT `id`,`bot`,`clone` FROM `stats` WHERE `id` = "' . $itm_['uid'] . '" LIMIT 1') ); if ($user_itm['bot'] > 0 || $user_itm['clone'] > 0 || !isset($user_itm['id'])) { - $r = ' ,
'; + $r = 'Вы не можете изьять данный предмет, он не принадлежит клану
'; } elseif (isset($itm_['id'])) { - if ($itm_['inOdet'] != 0) { - $o = ', `inOdet` = 0'; - } else { - $o = ''; - } - $r = ' "' . $itm_['name'] . '"
'; - $col = $this->itemsX(((int)$id)); - mysql_query( - 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time( - ) . '", "6", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') : [' . $id . '] | : [' . $itm_['uid'] . ']", "' . $user['id'] . '")' - ); - mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time( - ) . '", `uid` = "-21' . $res['id'] . '" ' . $o . ' WHERE `id` = "' . $id . '" LIMIT 1' - ); + if ($itm_['inOdet'] != 0) { + $o = ', `inOdet` = 0'; + } else { + $o = ''; + } + $r = 'Вы успешно изъяли предмет "' . $itm_['name'] . '"
'; + $col = $this->itemsX(((int)$id)); + mysql_query( + 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "6", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') Ид : [' . $id . '] | У персонажа : [' . $itm_['uid'] . ']", "' . $user['id'] . '")' + ); + mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "-21' . $res['id'] . '" ' . $o . ' WHERE `id` = "' . $id . '" LIMIT 1' + ); } else { - $r = ' .
'; + $r = 'Предмет не найден.
'; } return $r; } @@ -126,19 +123,17 @@ class ItemStorage $cls = $cls[1]; } - $col = $this->itemsX(((int)$id)); - mysql_query( - 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time( - ) . '", "5", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') : [' . $id . '] : [' . $cls . ']", "' . $user['id'] . '")' - ); - mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time( - ) . '", `uid` = "' . $user['id'] . '" WHERE `id` = "' . $id . '" LIMIT 1' - ); - $r = ' "' . $itm_['name'] . '"
'; + $col = $this->itemsX(((int)$id)); + mysql_query( + 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "5", "' . $user['login'] . '", "' . $itm_['name'] . ' (x' . $col . ') Ид : [' . $id . '] Хозяин : [' . $cls . ']", "' . $user['id'] . '")' + ); + mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "' . $user['id'] . '" WHERE `id` = "' . $id . '" LIMIT 1' + ); + $r = 'Вы успешно взяли предмет "' . $itm_['name'] . '" из хранилища
'; } else { - $r = ' .
' . $id; + $r = 'Предмет не найден.
' . $id; } return $r; } @@ -167,12 +162,10 @@ class ItemStorage mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "' . $pl['item_id'] . '"') ); mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time( - ) . '", `uid` = "' . $user['id'] . '", `data` = "' . $pl['data'] . '" WHERE `id` = "' . $pl['id'] . '"' + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "' . $user['id'] . '", `data` = "' . $pl['data'] . '" WHERE `id` = "' . $pl['id'] . '"' ); mysql_query( - 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time( - ) . '", "' . $type . '", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') : [' . $pl['id'] . ']", "' . $user['id'] . '")' + 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "' . $type . '", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') Ид : [' . $pl['id'] . ']", "' . $user['id'] . '")' ); } elseif ($pl['uid'] == $user['id']) { $col = $this->itemsX(((int)$pl['id'])); @@ -180,14 +173,12 @@ class ItemStorage mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "' . $pl['item_id'] . '"') ); mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time( - ) . '", `uid` = "-21' . $user['clan'] . '" WHERE `id` = "' . $pl['id'] . '"' + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `uid` = "-21' . $user['clan'] . '" WHERE `id` = "' . $pl['id'] . '"' ); mysql_query( - 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time( - ) . '", "9", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') : [' . $pl['id'] . ']", "' . $user['id'] . '")' + 'INSERT INTO `clan_operations` (`clan`, `time`, `type`, `text`, `val`, `uid`) VALUES ("' . $res['id'] . '", "' . time() . '", "9", "' . $user['login'] . '", "' . $it_n['name'] . ' (x' . $col . ') Ид : [' . $pl['id'] . ']", "' . $user['id'] . '")' ); } } } -} \ No newline at end of file +} diff --git a/_incl_data/class/Clan/Register.php b/_incl_data/class/Clan/Register.php new file mode 100644 index 00000000..6ed2e428 --- /dev/null +++ b/_incl_data/class/Clan/Register.php @@ -0,0 +1,136 @@ +setName($_POST['newclanname']); + $this->setLogo(); + $this->setAlign(intval($_POST['newclanalign'])); + $this->new(); + } + + private function setName(string $name) + { + $this->name = $name; + } + + private function setLogo() + { + $this->logo = new Uploader('newclanlogo'); + $this->logo->setMaxFileSize(.03); + $this->logo->setDimensions(24, 15); + $this->logo->setExtentions(['gif', 'png']); + } + + private function setAlign(int $align) + { + if (!in_array($align, [0, 1, 3, 7])) { + $align = 0; + } + $this->align = $align; + } + + public function new() + { + if (!$this->hasGoodName()) { + return; + } + $imageId = $this->logo->saveToDb(); + if (!$imageId) { + echo $this->logo::$error; + return; + } + Db::sql('insert into clan (name, align, logo) values (?,?,?)', [$this->name, $this->align, $imageId]); + $this->newClanId = Db::lastInsertId(); + } + + private function hasGoodName(): bool + { + return Db::getValue('select count(id) from clan where name = ?', [$this->name]) === 0; + } + + public static function approve(int $clanId) + { + Db::sql('update clan set status = 1, time_reg = unix_timestamp() where id = ?', [$clanId]); + } + + public static function reject(int $clanId) + { + Db::sql('delete from clan where id = ?', [$clanId]); + } + + public static function printForm(): string + { + $img = Config::img() . '/i/align'; + return << + div.regclangrid [type=radio] { + position: absolute; + opacity: 0; + width: 0; + height: 0; + } + + /* IMAGE STYLES */ + div.regclangrid [type=radio] + img { + cursor: pointer; + } + + /* CHECKED STYLES */ + div.regclangrid [type=radio]:checked + img { + outline: 1px solid brown; + padding: 2px; + } + + div.regclangrid { + display: grid; + grid-template-columns: 100px auto; + } + +
+
+
+
+
+
размер: 24×15, формат: png или gif, до 30Кб
+
Склонность:
+
+ + + + +
+
+
+
+ +
+ REGISTERFORM; + } + + /** + * @return int + */ + public function getNewClanId(): int + { + return $this->newClanId; + } + +} diff --git a/_incl_data/class/Core/ConversionHelper.php b/_incl_data/class/Core/ConversionHelper.php index 4564f705..568b61d7 100644 --- a/_incl_data/class/Core/ConversionHelper.php +++ b/_incl_data/class/Core/ConversionHelper.php @@ -9,6 +9,9 @@ class ConversionHelper */ public static function dataStringToArray(string $dataString): array { + if (mb_substr($dataString, -1) === '|') { + $dataString = rtrim($dataString, '|'); + } $arr = json_decode(str_replace(['=', '|'], ['":', ',"'], '{"' . $dataString . '}'), true); return $arr ?: []; } diff --git a/_incl_data/class/Core/Db.php b/_incl_data/class/Core/Db.php index c8ce4ba7..222e1b93 100644 --- a/_incl_data/class/Core/Db.php +++ b/_incl_data/class/Core/Db.php @@ -2,7 +2,6 @@ namespace Core; -use Exception; use PDO; use PDOException; use PDOStatement; @@ -15,22 +14,71 @@ class Db /** * DB constructor. - * @throws Exception + * @throws PDOException */ public function __construct() { try { self::$db = Database::pdoinit(); } catch (PDOException $e) { - throw new Exception($e->getMessage()); + throw new PDOException($e->getMessage()); } } + /** + * @param string $query + * @return int + */ + public static function exec(string $query): int + { + self::init(); + return self::$db->exec($query); + } + private static function init(): void { self::$instance ??= new self(); } + /** + * @param ?string $name [optional] Name of the sequence object from which the ID should be returned. + * @return string + */ + public static function lastInsertId(?string $name = null): string + { + self::init(); + return self::$db->lastInsertId($name); + } + + /** + * @param string $query + * @param array $args + * @return array + */ + public static function getRows(string $query, array $args = []): array + { + return self::run($query, $args)->fetchAll(); + } + + /** + * @param string $query + * @param array $args + * @return PDOStatement + */ + public static function run(string $query, array $args = []): PDOStatement + { + try { + if (!$args) { + return self::query($query); + } + $stmt = self::prepare($query); + $stmt->execute($args); + return $stmt; + } catch (PDOException $e) { + throw new PDOException($e->getMessage()); + } + } + /** * @param string $stmt * @return PDOStatement @@ -51,64 +99,6 @@ class Db return self::$db->prepare($stmt); } - /** - * @param string $query - * @return int - */ - static public function exec(string $query): int - { - self::init(); - return self::$db->exec($query); - } - - /** - * @return string - */ - static public function lastInsertId(): string - { - self::init(); - return self::$db->lastInsertId(); - } - - /** - * @param string $query - * @param array $args - * @return PDOStatement - */ - public static function run(string $query, array $args = []): PDOStatement - { - try { - if (!$args) { - return self::query($query); - } - $stmt = self::prepare($query); - $stmt->execute($args); - return $stmt; - } catch (PDOException $e) { - throw new PDOException($e->getMessage()); - } - } - - /** - * @param string $query - * @param array $args - * @return mixed - */ - public static function getRow(string $query, array $args = []) - { - return self::run($query, $args)->fetch(); - } - - /** - * @param string $query - * @param array $args - * @return array - */ - public static function getRows(string $query, array $args = []): array - { - return self::run($query, $args)->fetchAll(); - } - /** * @param string $query * @param array $args @@ -123,6 +113,16 @@ class Db return $result; } + /** + * @param string $query + * @param array $args + * @return mixed + */ + public static function getRow(string $query, array $args = []) + { + return self::run($query, $args)->fetch(); + } + /** * @param string $query * @param array $args diff --git a/_incl_data/class/Core/View.php b/_incl_data/class/Core/View.php new file mode 100644 index 00000000..e7828c4a --- /dev/null +++ b/_incl_data/class/Core/View.php @@ -0,0 +1,18 @@ +type = intval($item['type']); $this->name = $item['name']; - // + . + // Общий + конкретный. $itemData = array_merge( ConversionHelper::dataStringToArray(ItemModel::getItemData($this->id)), ConversionHelper::dataStringToArray($item['data']), @@ -35,4 +36,5 @@ class KnowledgeTempleItem { return !empty($this->rowId); } -} \ No newline at end of file +} + diff --git a/_incl_data/class/DTO/Present.php b/_incl_data/class/DTO/Present.php new file mode 100644 index 00000000..486bbd3c --- /dev/null +++ b/_incl_data/class/DTO/Present.php @@ -0,0 +1,38 @@ + 'Уровень жизни (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; + } + } +} + diff --git a/_incl_data/class/Item/Data/Properties.php b/_incl_data/class/Item/Data/Properties.php new file mode 100644 index 00000000..2fe882f7 --- /dev/null +++ b/_incl_data/class/Item/Data/Properties.php @@ -0,0 +1,41 @@ + 'Урон', + ]; + 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; + } +} diff --git a/_incl_data/class/Item/Data/Requirements.php b/_incl_data/class/Item/Data/Requirements.php new file mode 100644 index 00000000..6bf123be --- /dev/null +++ b/_incl_data/class/Item/Data/Requirements.php @@ -0,0 +1,84 @@ + 'Пол', + '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; + } +} + diff --git a/_incl_data/class/Item/DataModel.php b/_incl_data/class/Item/DataModel.php new file mode 100644 index 00000000..00877e4d --- /dev/null +++ b/_incl_data/class/Item/DataModel.php @@ -0,0 +1,56 @@ +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_'); + } +} \ No newline at end of file diff --git a/_incl_data/class/Location/Shop.php b/_incl_data/class/Location/Shop.php index bf200794..a5eaabbc 100644 --- a/_incl_data/class/Location/Shop.php +++ b/_incl_data/class/Location/Shop.php @@ -5,102 +5,182 @@ namespace Location; use Core\Config; use Core\ConversionHelper; use Core\Db; +use Delo; +use Item\Data\Bonuses; +use Item\Data\Properties; +use Item\Data\Requirements; +use Item\DataModel; use User; class Shop { + private const ITEM_GENERATION_CURRENT = 2; + public const MAIN = 1; + public const BEREZKA = 2; + public const CRYSTALS = 1050; + public const REFERALS = 27; + public const TEMPLE = 14; + public const IZLOM = 10; + public const LABORATORY = 45; + public const ARTEFACTS = 777; //магазин самоцветов + public const KNIGHTS_MAIN = 400; //магазин рефералов + public const DUNGEON_BEZDNA = 801; // храм?! + public const DUNGEON_PTP = 802; // излом?! + public const DUNGEON_CATACOMBS = 803; //лаборатория?!?! + public const DUNGEON_MISTY = 804; + //public const BOOKS = 7; + public const MUSHROOMS = 17; // общий рыцарский + public const RULF_HRUNT = 33; // бездна + public const LUKA = 5; // пещера тысячи проклятий + public const ANVIL = 700; // катакомбы + public const NEWBIE = 106; // пещера мглы + //public const FLOWER = 6; + public const SHOP_2 = 609; // магазин грибоеда?? + public const SHOP_KAT = 44; // магазин рульфа хрунта, а ты что такое? + public const SHOP_PRIZ = 404; // каморка Луки + //public const BLOOD_ALTAR = 11; //алтарь крови + public const TAVERN = 9; // наковальня + public const ANIMALS = 8; // магазин новичка + public const OTDEL_NAME = [ + 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 => 'Плащи и Накидки:', + 37 => 'Готовые Комплекты:', + ]; + public const OTDEL_GROUP_NAME = [ + 1 => 'Оружие', + 6 => 'Одежда', + 15 => 'Щиты', + 16 => 'Ювелирные товары', + 19 => 'Заклинания', + 27 => 'Амуниция', + 28 => 'Эликсиры', + 30 => 'Подарки', + 35 => 'Прочее', + ]; private int $shopId; private array $wares; private int $otdel; private int $itemId; private $buyer; - private const ITEM_GENERATION_CURRENT = 2; - public const MAIN = 1; - public const BEREZKA = 2; - public const CRYSTALS = 1050; //магазин самоцветов - public const REFERALS = 27; //магазин рефералов - public const TEMPLE = 14; // храм?! - public const IZLOM = 10; // излом?! - public const LABORATORY = 45; //лаборатория?!?! - public const ARTEFACTS = 777; - public const BOOKS = 7; - public const KNIGHTS_MAIN = 400; // общий рыцарский - public const DUNGEON_BEZDNA = 801; // бездна - public const DUNGEON_PTP = 802; // пещера тысячи проклятий - public const DUNGEON_CATACOMBS = 803; // катакомбы - public const DUNGEON_MISTY = 804; // пещера мглы - public const FLOWER = 6; - public const MUSHROOMS = 17; // магазин грибоеда?? - public const RULF_HRUNT = 33; // магазин рульфа хрунта, а ты что такое? - public const LUKA = 5; // каморка Луки - public const BLOOD_ALTAR = 11; //алтарь крови - public const ANVIL = 700; // наковальня - public const NEWBIE = 106; // магазин новичка - public const SHOP_2 = 609; // неизвестный магазин - public const SHOP_KAT = 44; // неизвестный магазин - public const SHOP_PRIZ = 404; // неизвестный магазин - public const TAVERN = 9; - public const ANIMALS = 8; - public function __construct(int $shopId) + + public function __construct(int $shopId, int $otdel = 1) { - $this->otdel = intval($_GET['otdel']); + $this->otdel = $otdel; $this->itemId = intval($_GET['itmid']); $this->shopId = $shopId; $this->wares = Db::getRows('select * from items_shop left join items_main on items_shop.item_id = items_main.id - left join items_main_data on items_main_data.items_id = items_main.id - where sid = ? and r = ? and kolvo > 0 order by pos', [$this->shopId, $this->otdel]); + where sid = ? and r = ? and kolvo > 0 order by pos', [$shopId, $otdel]); $this->buyer = new class { - private User $user; - - public function __construct() + public function getId(): int { - $this->user = User::start(); + return User::start()->info['id']; } - public function getId() + public function getCredits(): float { - return $this->user->info['id']; + return User::start()->info['money']; } - public function getCredits() + public function getEuroCredits(): float { - return $this->user->info['money1']; + return User::start()->info['money2']; } - public function getEuroCredits() + public function getVoinstvennost(): int { - return $this->user->info['money2']; - } - - public function getMoney3() - { - return $this->user->info['money3']; - } - - public function getVoinstvennost() - { - return $this->user->rep['rep3'] - $this->user->rep['rep3_buy']; - } - - public function getAlign() - { - return $this->user->info['align']; + return (int)User::start()->rep['rep3'] - (int)User::start()->rep['rep3_buy']; } public function getNextAct() { - return $this->user->info['nextAct']; // что ты такое?! + return User::start()->info['nextAct']; // что ты такое?! } public function isAdmin(): bool { - return $this->user->info['admin'] > 0; + return User::start()->isAdmin(); + } + + public function hasEnough(string $parameter, int $value): bool + { + return User::start()->stats[$parameter] >= $value; + } + + public function hasExactly(string $parameter, int $value): bool + { + return User::start()->stats[$parameter] === $value; + } + + public function hasEnoughCredits(int $itemprice): bool + { + return $this->getCredits() >= $itemprice; + } + + public function hasEnoughEuroCredits(int $itemprice): bool + { + return $this->getEuroCredits() >= $itemprice; + } + + public function hasEnoughVoinstvennost(int $itemprice): bool + { + return $this->getVoinstvennost() >= $itemprice; } }; + if ($this->buyer->isAdmin()) { + if (isset($_GET['itmup'])) { + $this->itemUp(); + } elseif (isset($_GET['itmdown'])) { + $this->itemDown(); + } + } + if ($_SERVER["REQUEST_METHOD"] === "GET") { + if ($_GET['itmup']) { + $this->itemUp(); + } + } + } + + private function itemUp() + { + $this->changeItemPositionByInt(-1); } private function changeItemPositionByInt(int $modificator) @@ -109,16 +189,194 @@ class Shop [$modificator, $this->shopId, $this->otdel, $this->itemId]); } - private function itemUp() - { - $this->changeItemPositionByInt(-1); - } - private function itemDown() { $this->changeItemPositionByInt(1); } + public function printWares() + { + foreach ($this->wares as $pl) { + $data = new DataModel($pl['item_id']); + $itemRequirements = new Requirements($data->getRequirements()); + $itemBonuses = new Bonuses($data->getBonuses()); + $itemProperties = new Properties($data->getProperties()); + $itemData = $data->getAll(); + + $pl['price_1'] = $this->calculateMinimalPrice($pl['price1'], $pl['price_1'], $pl['tr_items']); + $pl['price_2'] = $this->calculateMinimalPrice($pl['price2'], $pl['price_2'], $pl['tr_items']); + + if (($pl['type'] >= 18 && $pl['type'] <= 24) || $pl['type'] == 26 || $pl['type'] == 27) { + $itemBonuses->addZonb(); + } + + $is2 = $this->name($pl['name'], $pl['renameadd'], $pl['item_id']); + + if ($pl['massa'] > 0) { + $is2 .= '(Масса: ' . round($pl['massa'], 2) . ')'; + } + + $is2 .= $this->icons($itemRequirements->getAlign(), $itemData['art'], $itemData['sudba']); + $is2 .= $this->price($pl['price_1'], $pl['price_2'], $pl['price_4']); + + if ($pl['kolvo'] < 50) { + $is2 .= '     (остаток на складе: ' . $pl['kolvo'] . ')'; + } + + $is2 .= $this->needItems($pl['tr_items']); + + //долговечность + if ($pl['iznos'] > 0) { + $pl['iznosMAXi'] = $pl['iznos']; + } + if ($pl['iznosMAXi'] > 0 && $pl['iznosMAXi'] !== 999999999) { + $is2 .= 'Долговечность: 0/' . $pl['iznosMAXi'] . '
'; + } + + if ($itemData['battleUseZd'] > 0) { + $is2 .= 'Задержка использования: ' . ConversionHelper::secondsToTimeout($itemData['battleUseZd']) . '
'; + } + + $is2 = rtrim($is2, '
'); + + //Срок годности предмета + if ($itemData['srok'] > 0) { + $pl['srok'] = $itemData['srok']; + } + if ($pl['srok'] > 0) { + $is2 .= '
Срок годности: ' . ConversionHelper::secondsToTimeout($pl['srok']); + } + if ($pl['magic_chance'] > 0) { + $is2 .= '
Вероятность срабатывания: ' . min([$pl['magic_chance'], 100]) . '%'; + } + + //Продолжительность действия магии: + if ((int)$pl['magic_inci'] > 0) { + $magicDuration = Db::getValue('select actiontime from eff_main where id2 = ?', [(int)$pl['magic_inci']]); + + if ($magicDuration > 0) { + $is2 .= '
Продолжительность действия: ' . ConversionHelper::secondsToTimeout($magicDuration); + } + } + + if ($itemRequirements->get()) { + $is2 .= '
Требуется минимальное:'; + $is2 .= ''; + } + + if ($itemBonuses->get()) { + $is2 .= '
Действует на:'; + $is2 .= ''; + } + + $is2 .= '
Свойства предмета:'; + foreach ($itemProperties->get() as $name => $value) { + $is2 .= '
' . $name . ': ' . $value; + } + + if ($pl['2too'] === 1) { + $is2 .= '
Второе оружие'; + } + if ($pl['2h'] === 1) { + $is2 .= '
Двуручное оружие'; + } + + if (!empty($itemData['imposed'])) { + if (empty($itemData['imposed_name'])) { + $itemData['imposed_name'] = 'Неизвестное зачарование'; + } + $itemData['imposed_name'] = str_replace('Чары ', '', $itemData['imposed_name']); + $is2 .= '
Зачарование: ' . $itemData['imposed_name']; + } + + if (!empty($itemData['free_stats']) && $itemData['free_stats'] > 0) { + $is2 .= '
+' . $itemData['free_stats'] . ' дополнительных характеристик'; + } + + //Встроенная магия + if (!empty($pl['magic_inci']) || !empty($pl['magic_inc'])) { + if (empty($pl['magic_inc'])) { + $pl['magic_inc'] = $pl['magic_inci']; + } + $magic = Db::getRow('select id2, mname, minfo, img from eff_main where type1 = 12345 and id2 = ?', [$pl['magic_inc']]); + if ($magic['id2']) { + $is2 .= '
Встроено заклятие ' . $magic['mname'] . ' ' . $magic['minfo'] . '
'; + } + } + + $is2 .= $this->getcomplect($itemData['complect']); + + if ($pl['max_text'] - $pl['use_text'] > 0) { + $is2 .= '
Количество символов: ' . ($pl['max_text'] - $pl['use_text']) . '
'; + } + + $is2 .= ''; + + if (!empty($itemData['gravi'])) { + $is2 .= '
' . $itemData['gravi'] . ''; + } + + if (!empty($itemData['info'])) { + $pl['info'] .= '
' . $itemData['info']; + } + if (!empty($pl['info'])) { + $is2 .= '
' . $pl['info'] . '
'; + } + + if (isset($itemData['noremont'])) { + $is2 .= '
Предмет не подлежит ремонту
'; + } + + if (isset($itemData['nosale'])) { + $is2 .= '
Предмет нельзя продать
'; + } + + if (isset($itemData['nomodif'])) { + $is2 .= '
Предмет нельзя улучшать
'; + } + + if (isset($itemData['nodelete'])) { + $is2 .= '
Предмет нельзя выбросить
'; + } + + if (isset($itemData['sleep_moroz']) && $itemData['sleep_moroz'] > 0) { + $is2 .= '
Предмет не портится во время сна
'; + } + + $is2 .= '
'; + + $is1 = $this->imageAndControls($pl['id'], $pl['type'], $pl['img'], $pl['name'], $pl['price_1'], $pl['price_2']); + + echo <<$is1 +
{$this->adminOptions($pl['id'], $pl['pos'])} $is2
+HTML; + + } + if (empty($this->wares)) { + echo '
Прилавок магазина пуст.
'; + } + } + private function calculateMinimalPrice($basePrice, $shopPrice, $needItems) { if ($shopPrice < 0.01 && !$needItems) { @@ -130,30 +388,32 @@ class Shop return $shopPrice; } - /** - * Если в первом параметре передаётся false, строка во втором параметре красится в красный цвет. - * @param bool $check - * @param $value - * @return string - */ - private function printColoredValue(bool $check, $value): string + private function name(string $name, ?string $defaultName, int $itemid): string { - $color = $check ? 'inherit' : 'red'; - return sprintf('%s', $color, $value); + $styleSuffix = ''; + if ($this->shopId == self::SHOP_2) { + $styleSuffix = 'WL'; + } + if (!empty($defaultName)) { + $name .= ' (Предмет: ' . $defaultName . ')'; + } + if (!empty($styleSuffix)) { + $name = '' . $name . '  ' . $styleSuffix . ' '; + } + return '' . $name . '    '; } - private function align($needAlign, $needAlignBs): string + private function icons(?int $align, ?int $artefact, ?int $destiny): string { - if ($needAlignBs == '1') { - $align = '1.75'; - } elseif ($needAlignBs == '3') { - $align = '3.01'; - } elseif (!empty($needAlign) && empty($needAlignBs)) { - $align = $needAlign; + $str = '  '; + if (!empty($align)) { + $str .= 'Требуется склонность'; } - - return !empty($align) ? - 'Требуется склонность' : ''; + if (!empty($artefact)) { + $str .= 'Артефакт'; + } + $str .= $this->destiny($destiny); + return $str; } private function destiny($d): string @@ -174,6 +434,35 @@ class Shop alt="Общая судьба">'; } + private function price(int $credits, int $eurocredits, int $voinstvennost): string + { + $result = 'Цена: '; + if ($this->shopId === self::SHOP_2) { + $result .= $this->printColoredValue($this->buyer->getVoinstvennost() >= $voinstvennost, $voinstvennost); + $result .= ' Воинственности '; + } elseif ($this->shopId === self::BEREZKA || $this->shopId === self::ARTEFACTS) { + $result .= ''; + $result .= $this->printColoredValue($this->buyer->getEuroCredits() >= $eurocredits, $eurocredits); + $result .= ' екр. '; + } else { + $result .= $this->printColoredValue($this->buyer->getCredits() >= $credits, $credits); + $result .= ' кр.'; + } + return '
' . $result . ' '; + } + + /** + * Если в первом параметре передаётся false, строка во втором параметре красится в красный цвет. + * @param bool $check + * @param $value + * @return string + */ + private function printColoredValue(bool $check, $value): string + { + $color = $check ? 'inherit' : 'red'; + return sprintf('%s', $color, $value); + } + private function needItems(string $items): string { if (!$items || Config::get('noitembuy')) { @@ -184,7 +473,7 @@ class Shop $itemsArray = explode(',', $items); foreach ($itemsArray as $keyvalue) { - list($key, $value) = explode('=', $keyvalue); + [$key, $value] = explode('=', $keyvalue); if (!empty($key) && !empty($value)) { $neededItemName = Db::getValue('select name from items_main where id = ?', [$key]); if ($neededItemName) { @@ -202,445 +491,136 @@ class Shop return $this->printColoredValue($trn, '
Требует предмет: ' . rtrim($result, ', ') . ' ') . '
'; } - public function printWares(string $plu = '') + private function getcomplect(?int $complect): string { - if ($this->buyer->isAdmin()) { - if (isset($_GET['itmup'])) { - $this->itemUp(); - } elseif (isset($_GET['itmdown'])) { - $this->itemDown(); + if (!isset($complect)) { + return ''; + } + $cname = 'Неизвестный Комплект'; + $text = ''; + $stmt = Db::getRows('select * from complects where com = ? order by x', [$complect]); + foreach ($stmt as $row) { + $cname = $row['name']; + $text .= '  • ' . $row['x'] . ' предметов:
'; + //действие комплекта + $complectBonuses = new Bonuses(ConversionHelper::dataStringToArray($row['data'])); + foreach ($complectBonuses->get() as $name => $value) { + $text .= '    '; + if ($name === 'Броня') { + $text .= $name . ': ' . $value; + } else { + $text .= $name . ': ' . ($value > 0 ? '+' . $value : $value); + } + $text .= '
'; } } + return "
Часть комплекта: $cname
$text"; + } - $cr = 'c8c8c8'; + private function imageAndControls(int $id, int $type, string $image, string $name, float $credits, float $eurocredits): string + { + if ($type == 71) { + $result = '' . $name . '
'; + } else { + $result = '' . $name . '
'; + } + if ($this->shopId == self::SHOP_2) { + $result .= 'купить'; + } elseif (($this->shopId == self::BEREZKA || $this->shopId == self::ARTEFACTS) && $this->buyer->hasEnoughEuroCredits($eurocredits)) { + $result .= 'купить'; + } elseif ($this->buyer->hasEnoughCredits($credits)) { + $result .= 'купить'; + } + return $result; + } - foreach ($this->wares as $pl) { - $cr = $cr == 'd4d4d4' ? 'c8c8c8' : 'd4d4d4'; - $pl['price_1'] = $this->calculateMinimalPrice($pl['price1'], $pl['price_1'], $pl['tr_items']); - $pl['price_2'] = $this->calculateMinimalPrice($pl['price2'], $pl['price_2'], $pl['tr_items']); + private function adminOptions(int $itemId, int $itemPosition): string + { + if (!$this->buyer->isAdmin()) { + return ''; + } + $time = microtime(); + return << + +   $itemPosition   + + + +
+HTML; + } - if (empty($pl['data'])) { - $pl['data'] = ''; - } - - $itemData = ConversionHelper::dataStringToArray($pl['data']); - - if ($this->shopId == self::SHOP_2) { - $itemData['icos'] = 'WL'; - } - - if (($pl['type'] >= 18 && $pl['type'] <= 24) || $pl['type'] == 26 || $pl['type'] == 27) { - //Зоны блока + - $itemData['zonb']++; - } - - $is2 = ''; - if ($pl['type'] == 71) { - $is1 = '
'; - } else { - $is1 = '
'; - } - if ($this->shopId == self::SHOP_2) { - $is1 .= ' - купить'; - } else { - if ($this->shopId == self::BEREZKA || $this->shopId == self::ARTEFACTS) { - $is1 .= 'купить '; - } else { - $is1 .= 'купить '; - } - } - - //название - $pl['name'] = $this->align($itemData['tr_align'], $itemData['tr_align_bs']); - - if (!empty($itemData['renameadd'])) { - $pl['name'] .= ' (Предмет: ' . $itemData['renameadd'] . ')'; - } - if (!empty($itemData['icos'])) { - $pl['name'] = '' . $pl['name'] . '  ' . $itemData['icos'] . ' '; - } - $is2 .= '' . $pl['name'] . '    '; - - - if ($pl['massa'] > 0) { - $is2 .= '(Масса: ' . round($pl['massa'], 2) . ')'; - } - - if (isset($itemData['art'])) { - $is2 .= ' '; - } - - $is2 .= $this->destiny($itemData['sudba']); - - //цена - if ($this->buyer->isAdmin()) { - $is2 .= '
  ' . $pl['pos'] . '  
'; - } - - $is2 .= '
Цена: '; - - if ($this->shopId == self::SHOP_2) { - $is2 .= $this->printColoredValue($this->buyer->getVoinstvennost() >= $pl['price_4'], $pl['price_4']); - $is2 .= ' Воинственности '; - } elseif ($pl['price_3'] > 0) { - $is2 .= $this->printColoredValue($this->buyer->getMoney3() >= $pl['price_3'], $pl['price_3']); - $is2 .= ' $ '; - } elseif ($this->shopId == self::BEREZKA || $this->shopId == self::ARTEFACTS) { - $is2 .= ''; - $is2 .= $this->printColoredValue($this->buyer->getEuroCredits() >= $pl['price_2'], $pl['price_2']); - $is2 .= ' екр. '; - } else { - $is2 .= $this->printColoredValue($this->buyer->getCredits() >= $pl['price_1'], $pl['price_1']); - $is2 .= ' кр. '; - } - - if ($pl['pricerep'] > 0) { - $is2 .= ' (' . round($pl['pricerep'], 2) . ' Воинственности)'; - } - - if ($pl['kolvo'] < 100000) { - $is2 .= '     (количество: ' . $pl['kolvo'] . ')'; - } - - $is2 .= $this->needItems($pl['tr_items']); - - //долговечность - if ($pl['iznos'] > 0) { - $pl['iznosMAXi'] = $pl['iznos']; - } - if ($pl['iznosMAXi'] > 0) { - if ($pl['iznosMAXi'] == 999999999) { - $is2 .= 'Долговечность: неразрушимо
'; - } else { - $is2 .= 'Долговечность: 0/' . $pl['iznosMAXi'] . '
'; - } - } - - if ($itemData['battleUseZd'] > 0) { - $is2 .= 'Задержка использования: ' . $this->timeOut($itemData['battleUseZd']) . '
'; - } - - $is2 = rtrim($is2, '
'); - - //Срок годности предмета - if ($itemData['srok'] > 0) { - $pl['srok'] = $itemData['srok']; - } - if ($pl['srok'] > 0) { - $is2 .= '
Срок годности: ' . $this->timeOut($pl['srok']); - } - if ($pl['magic_chance'] > 0) { - $is2 .= '
Вероятность срабатывания: ' . min([$pl['magic_chance'], 100]) . '%'; - } - - //Продолжительность действия магии: - if ((int)$pl['magic_inci'] > 0) { - $magicDuration = Db::getValue('select actiontime from eff_main where id2 = ?', [(int)$pl['magic_inci']]); - - if ($magicDuration > 0) { - $is2 .= '
Продолжительность действия: ' . ConversionHelper::secondsToTimeout($magicDuration); - } - } - - //Требуется минимальное: - $tr = ''; - $t = $this->items['tr']; - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($itemData['tr_' . $n]) && $itemData['tr_' . $n] != 0) { - if ($itemData['tr_' . $n] > $this->stats[$n]) { - if ($n == 'rep') { - $temp = explode('::', $itemData['tr_' . $n]); - if ($this->rep['rep' . $temp[1]] < $temp[0]) { - $tr .= ''; - $notr++; - } - unset($temp); - } elseif ($n != 'align' || floor($this->buyer->getAlign()) != $itemData['tr_' . $n]) { - $tr .= ''; - $notr++; - } - } - $tr .= '
• '; - if ($n == 'rep') { - $temp = explode('::', $itemData['tr_' . $n]); - $tr .= $this->is[$n] . ' ' . ucfirst( - str_replace('city', ' city', $temp[1]) - ) . ': ' . $temp[0]; - unset($temp); - } elseif ($n != 'align') { - if ($n == 'sex') { - if ($itemData['tr_' . $n] == 1) { - $tr .= $this->is[$n] . ': Женский'; - } else { - $tr .= $this->is[$n] . ': Мужской'; - } - } else { - $tr .= $this->is[$n] . ': ' . $itemData['tr_' . $n]; - } - } else { - $tr .= $this->is[$n] . ': ' . $this->align_nm[$itemData['tr_' . $n]]; - } - if ($itemData['tr_' . $n] > $this->stats[$n]) { - if ($n != 'align' || floor($this->buyer->getAlign()) != $itemData['tr_' . $n]) { - $tr .= '
'; - } - } - } - $x++; - } - if ($tr != '') { - $is2 .= '
Требуется минимальное:' . $tr; - } - //Действует на: - $tr = ''; - $t = $this->items['add']; - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($itemData['add_' . $n], $this->is[$n])) { - $z = '+'; - if ($itemData['add_' . $n] < 0) { - $z = ''; - } - $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $itemData['add_' . $n]; - } - $x++; - } - //действует на (броня) - $i = 1; - $bn = [1 => 'головы', 2 => 'корпуса', 3 => 'пояса', 4 => 'ног']; - while ($i <= 4) { - if (isset($itemData['add_mab' . $i])) { - if ($itemData['add_mab' . $i] == $itemData['add_mib' . $i] && $pl['geniration'] == 1) { - $z = '+'; - if ($itemData['add_mab' . $i] < 0) { - $z = ''; - } - $tr .= '
• Броня ' . $bn[$i] . ': ' . $z . '' . $itemData['add_mab' . $i]; - } else { - $tr .= '
• Броня ' . $bn[$i] . ': ' . $itemData['add_mib' . $i] . '-' . $itemData['add_mab' . $i]; - } - } - $i++; - } - - if ($tr != '') { - $is2 .= '
Действует на:' . $tr; - } - //Свойства предмета: - $tr = ''; - $t = $this->items['sv']; - if (isset($itemData['sv_yron_min'], $itemData['sv_yron_max'])) { - $tr .= '
• Урон: ' . $itemData['sv_yron_min'] . ' - ' . $itemData['sv_yron_max']; - } - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($itemData['sv_' . $n])) { - $z = '+'; - if ($itemData['sv_' . $n] < 0) { - $z = ''; - } - $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $itemData['sv_' . $n]; - } - $x++; - } - if ($pl['2too'] == 1) { - $tr .= '
• Второе оружие'; - } - if ($pl['2h'] == 1) { - $tr .= '
• Двуручное оружие'; - } - if (isset($itemData['zonb'])) { - $tr .= '
• Зоны блокирования: '; - if ($itemData['zonb'] > 0) { - $x = 1; - while ($x <= $itemData['zonb']) { - $tr .= '+'; - $x++; - } - } else { - $tr .= '—'; - } - } - if ($tr != '') { - $is2 .= '
Свойства предмета:' . $tr; - } - - //Особенности - - $tr = ''; - - if (isset($itemData['imposed']) && $itemData['imposed'] > 0) { - if ($itemData['imposed_lvl'] == 0) { - $rnc = 'maroon'; - } elseif ($itemData['imposed_lvl'] == 1) { - $rnc = '#624542'; - } elseif ($itemData['imposed_lvl'] == 2) { - $rnc = '#77090b'; - } elseif ($itemData['imposed_lvl'] == 3) { - $rnc = '#d99800'; - } else { - $rnc = '#282828'; - } - $itemData['imposed_name'] = str_replace('Чары ', '', $itemData['imposed_name']); - $tr .= '
Наложены заклятия: ' . $itemData['imposed_name'] . ' '; - unset($rnc); - } - if ($tr != '') { - $is2 .= '
Улучшения предмета:'; - $is2 .= $tr; - } - - - if ($notr == 0 && $pl['magic_inc'] != '') { - $pl['data'] = 1; - } - - if (isset($itemData['free_stats']) && $itemData['free_stats'] > 0) { - $is2 .= '
Распределение статов:
'; - $is2 .= '• Возможных распределений: +' . $itemData['free_stats'] . ' характеристик'; - } - - //Встроенная магия - if ($pl['magic_inci'] != '' || $pl['magic_inc'] != '') { - if ($pl['magic_inc'] == '') { - $pl['magic_inc'] = $pl['magic_inci']; - } - $mgi = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `eff_main` WHERE `id2` = "' . $pl['magic_inc'] . '" AND `type1` = "12345" LIMIT 1' - ) - ); - if (isset($mgi['id2'])) { - $is2 .= '
Встроено заклятие ' . $mgi['minfo'] . '
'; - } - } - - if (floor($pl['iznosNOW']) >= ceil($pl['iznosMAX'])) { - $pl['data'] = 0; - } - if (isset($itemData['complect'])) { - $is2 .= '
Дополнительная информация:'; - } - if (isset($itemData['complect'])) { - //не отображается - $com1 = ['name' => 'Неизвестный Комплект', 'x' => 0, 'text' => '']; - $spc = mysql_query( - 'SELECT `id`,`com`,`name`,`x`,`data` FROM `complects` WHERE `com` = "' . $itemData['complect'] . '" ORDER BY `x` ASC LIMIT 20' - ); - while ($plc = mysql_fetch_array($spc)) { - $com1['name'] = $plc['name']; - $com1['text'] .= '    • ' . $plc['x'] . ': '; - //действие комплекта - $i1c = 0; - $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($plc['data']); - while ($i1c < count($this->items['add'])) { - if (isset($i1e[$this->items['add'][$i1c]])) { - $i3c = $i1e[$this->items['add'][$i1c]]; - if ($i3c > 0) { - $i3c = '+' . $i3c; - } - if ($i2c > 0) { - $com1['text'] .= '    ' . $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } else { - $com1['text'] .= $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } - $com1['text'] .= '
'; - $i2c++; - } - $i1c++; - } - unset($i1c, $i2c, $i3c); - $com1['x']++; - } - $is2 .= '
• Часть комплекта: ' . $com1['name'] . '
'; - $is2 .= $com1['text']; - $is2 .= ''; - } - - if ($pl['max_text'] - $pl['use_text'] > 0) { - $is2 .= '
Количество символов: ' . ($pl['max_text'] - $pl['use_text']) . '
'; - } - - $is2 .= ''; - - if (isset($itemData['gravi'])) { - $is2 .= '
На поверхности выгравирована надпись: ' . $itemData['gravi'] . ''; - } - - if ($pl['info'] != '') { - $is2 .= '
Рекомендации:
' . $pl['info'] . '
'; - } - - if ($itemData['info'] != '') { - $is2 .= '
' . $itemData['info'] . '
'; - } - - if (isset($itemData['noremont'])) { - $is2 .= '
Предмет не подлежит ремонту
'; - } - - if (isset($itemData['nosale'])) { - $is2 .= '
Предмет нельзя продать
'; - } - - if (isset($itemData['nomodif'])) { - $is2 .= '
Предмет нельзя улучшать
'; - } - - if (isset($itemData['nodelete'])) { - $is2 .= '
Предмет нельзя выбросить
'; - } - - if (isset($itemData['frompisher']) && $itemData['frompisher'] > 0) { - $is2 .= '
Предмет из подземелья
'; - } - - if (isset($itemData['sleep_moroz']) && $itemData['sleep_moroz'] > 0) { - $is2 .= '
Предмет не портится во время сна
'; - } - - if (isset($itemData['fromlaba']) && $itemData['fromlaba'] > 0) { - $is2 .= '
Предмет из лабиринта
'; - } - - if (isset($itemData['vip_sale']) && $itemData['vip_sale'] > 0) { - $is2 .= '
Предмет куплен за 10% от стоимости
'; - } - - if ($pl['dn_delete'] > 0) { - $is2 .= '
Предмет будет удален при выходе из подземелья
'; - } - - if (self::ITEM_GENERATION_CURRENT > $pl['geni']) { - $is2 .= '
Предмет устарел
'; - } - - $is2 .= '
'; - - $crd = ''; - - if ($this->buyer->isAdmin()) { - $crd = ' - Редактировать предмет   обновить -
'; - } - - echo ' - ' . $is1 . ' -  ' . $crd . '' . $is2 . ' - '; + public function buy(int $itemid): string + { + $sql = 'select sid, items_shop.price_1, name from items_shop left join items_main on item_id = id where item_id = ? and sid = ?'; + $item = Db::getRow($sql, [$itemid, $this->shopId]); + if (!$this->buyer->hasEnoughCredits($item['price_1'])) { + return 'Покупка не удалась.'; } - if (empty($this->wares)) { - echo ' - Прилавок магазина пуст - '; + $newId = User\ItemsModel::addItem($itemid, $this->buyer->getId()); + Db::sql('update items_users set `1price` = ? where id = ?', [$item['price_1'], $newId]); + User::start()->info['money'] -= $item['price_1']; + User::start()->addKr(-$item['price_1']); + Delo::add(1, "shopid:{$item['sid']}", $this->buyer->getId(), "Покупка «{$item['name']}» по цене {$item['price_1']}.", $item['price_1']); + return "Вы купили «{$item['name']}» по цене {$item['price_1']}."; + } + + public function buyEkr(int $itemid): string + { + $sql = 'select sid, items_shop.price_2, name from items_shop left join items_main on item_id = id where item_id = ? and sid = ?'; + $item = Db::getRow($sql, [$itemid, $this->shopId]); + if (!$this->buyer->hasEnoughEuroCredits($item['price_2'])) { + return 'Покупка не удалась.'; } + + $newId = User\ItemsModel::addItem($itemid, $this->buyer->getId()); + Db::sql('update items_users set `2price` = ? where id = ?', [$item['price_2'], $newId]); + User::start()->info['money2'] -= $item['price_2']; + User::start()->addEkr(-$item['price_2']); + Delo::add(1, "shopid:{$item['sid']}", $this->buyer->getId(), "Покупка «{$item['name']}» по цене {$item['price_2']}.", $item['price_2']); + return "Вы купили «{$item['name']}» по цене {$item['price_2']}."; + } + + public function buyVn(int $itemid): string + { + $sql = 'select sid, items_shop.price_4, name from items_shop left join items_main on item_id = id where item_id = ? and sid = ?'; + $item = Db::getRow($sql, [$itemid, $this->shopId]); + if (!$this->buyer->hasEnoughVoinstvennost($item['price_4'])) { + return 'Покупка не удалась.'; + } + + $newId = User\ItemsModel::addItem($itemid, $this->buyer->getId()); + Db::sql('update items_users set `4price` = ? where id = ?', [$item['price_4'], $newId]); + User::start()->rep['rep3'] -= $item['price_4']; + User::start()->addVoinstvennost(-$item['price_4']); + Delo::add(1, "shopid:{$item['sid']}", $this->buyer->getId(), "Покупка «{$item['name']}» по цене {$item['price_4']}.", $item['price_4']); + return "Вы купили «{$item['name']}» по цене {$item['price_4']}."; + } + + public function getUsedOtdels(): array + { + $result = []; + $o = Db::getColumn('select r from items_shop where sid = ? group by r', [$this->shopId]); + foreach ($o as $v) { + $result[$v] = self::OTDEL_NAME[$v]; + } + return $result; + } + + public function getUserWallet(): string + { + $result = ''; + if ($this->shopId === self::MAIN) { + $result = $this->buyer->getCredits() . ' кр.'; + } elseif (in_array($this->shopId, [self::BEREZKA, self::ARTEFACTS])) { + $result = $this->buyer->getEuroCredits() . ' екр.'; + } elseif ($this->shopId === self::SHOP_2) { + $result = $this->buyer->getVoinstvennost() . ' воинственности.'; + } + return $result; } } diff --git a/_incl_data/class/Present.php b/_incl_data/class/Present.php new file mode 100644 index 00000000..53d4bb3b --- /dev/null +++ b/_incl_data/class/Present.php @@ -0,0 +1,90 @@ +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; + } +} + diff --git a/_incl_data/class/Uploader.php b/_incl_data/class/Uploader.php index e17cde79..f2a5116e 100644 --- a/_incl_data/class/Uploader.php +++ b/_incl_data/class/Uploader.php @@ -1,62 +1,39 @@ * @version 1 */ - class Uploader { + public static string $error; private array $width = ['min' => 0, 'max' => 0]; private array $height = ['min' => 0, 'max' => 0]; private int $maxFileSizeMb; private string $savePath; private string $extensions = 'jpg|png|jpeg|gif'; private array $extMatches = []; - private array $FILE; - private $cnm; - public static string $error; + private array $file; + private string $customName; - public function __construct($name, $cnm = null) + public function __construct($name) { if (!isset($_FILES[$name])) { return; } - $this->FILE = $_FILES[$name]; - $this->cnm = $cnm; + $this->file = $_FILES[$name]; } /** - * @param int $max - * @param int|null $min - * @return void + * @param string $customName */ - public function setWidth(int $max, ?int $min = null) + public function setCustomName(string $customName): void { - $this->width['min'] = is_null($min) ? $max : $min; - $this->width['max'] = $max; - } - - /** - * @param int $max - * @param int|null $min - * @return void - */ - public function setHeight(int $max, ?int $min = null) - { - $this->height['min'] = is_null($min) ? $max : $min; - $this->height['max'] = $max; - } - - /** - * @param $megabytes - * @return void - */ - public function setMaxFileSize($megabytes) - { - $this->maxFileSizeMb = $megabytes; + $this->customName = $customName; } /** @@ -96,9 +73,48 @@ class Uploader $this->setHeight($height); } + /** + * @param int $max + * @param int|null $min + * @return void + */ + public function setWidth(int $max, ?int $min = null) + { + $this->width['min'] = is_null($min) ? $max : $min; + $this->width['max'] = $max; + } + + /** + * @param int $max + * @param int|null $min + * @return void + */ + public function setHeight(int $max, ?int $min = null) + { + $this->height['min'] = is_null($min) ? $max : $min; + $this->height['max'] = $max; + } + + public function saveimg() + { + return $this->hasNormalFilePath() && + $this->hasNormalDimensions() && + $this->hasNormalFileSize() && + $this->hasNormalType() ? $this->upload() : false; + } + + private function hasNormalFilePath(): bool + { + if (!$this->savePath || !is_dir($this->savePath)) { + self::$error = 'Ошибка загрузки: нет такой папки.'; + return false; + } + return true; + } + private function hasNormalDimensions(): bool { - [$width, $height] = getimagesize($this->FILE['tmp_name']); + [$width, $height] = getimagesize($this->file['tmp_name']); if (!$width || !$height) { self::$error = 'Не подтянулись размеры файла.'; return false; @@ -123,18 +139,27 @@ class Uploader if (!$this->maxFileSizeMb) { $this->setMaxFileSize(2); } - if ($this->FILE['size'] > $this->maxFileSizeMb * (1024 * 1024) || $this->FILE['size'] <= 0) { + if ($this->file['size'] > $this->maxFileSizeMb * (1024 * 1024) || $this->file['size'] <= 0) { self::$error = 'Неверный размер файла. Максимальный размер файла ' . $this->maxFileSizeMb . ' МБ'; return false; } return true; } + /** + * @param $megabytes + * @return void + */ + public function setMaxFileSize($megabytes) + { + $this->maxFileSizeMb = $megabytes; + } + private function hasNormalType(): bool { if ( - !preg_match('/\.(' . $this->extensions . ')$/i', $this->FILE['name'], $this->extMatches) || - !preg_match('/image/i', $this->FILE['type']) + !preg_match('/\.(' . $this->extensions . ')$/i', $this->file['name'], $this->extMatches) || + !preg_match('/image/i', $this->file['type']) ) { self::$error = 'Неверный тип файла. Допустимые типы : ' . $this->extensions; return false; @@ -142,36 +167,34 @@ class Uploader return true; } - private function hasNormalFilePath(): bool - { - if (!$this->savePath || !is_dir($this->savePath)) { - self::$error = 'Ошибка загрузки: нет такой папки.'; - return false; - } - return true; - } - private function upload() { $this->extMatches[1] = strtolower($this->extMatches[1]); $fn = uniqid('f_', true) . '.' . $this->extMatches[1]; $fn2 = uniqid('f_', true) . '.gif'; - if ($this->cnm) { - $fn = $this->cnm; - $fn2 = $this->cnm; + if ($this->customName) { + $fn = $this->customName . '.' . pathinfo($this->file['name'], PATHINFO_EXTENSION); + $fn2 = $this->customName; } - if (!move_uploaded_file($this->FILE['tmp_name'], $this->savePath . $fn)) { + if (!move_uploaded_file($this->file['tmp_name'], $this->savePath . $fn)) { self::$error = 'Ошибка загрузки файла'; return false; } + var_dump([$fn2, $fn, $this->savePath . $fn]); return [$fn2, $fn, $this->savePath . $fn]; } - public function saveimg() + public function saveToDb() { - return $this->hasNormalFilePath() && - $this->hasNormalDimensions() && + return $this->hasNormalDimensions() && $this->hasNormalFileSize() && - $this->hasNormalType() ? $this->upload() : false; + $this->hasNormalType() ? $this->uploadToDatabase() : false; } -} \ No newline at end of file + + private function uploadToDatabase(): int + { + $id = time(); + Db::sql('insert into images (mime_type, img, id) VALUES (?,?,?)', [$this->file['type'], file_get_contents($this->file['tmp_name']), $id]); + return $id; + } +} diff --git a/_incl_data/class/User.php b/_incl_data/class/User.php index 2bf4b894..60550904 100644 --- a/_incl_data/class/User.php +++ b/_incl_data/class/User.php @@ -6,7 +6,6 @@ use Core\Database; use Core\Db; use Model\ActionModel; use User\ItemsModel; -use User\Reputation; class User { @@ -14,7 +13,6 @@ class User public int $pokol = 2; //Акктуальное поколение предметов public array $aves = ['now' => 0, 'max' => 0]; public array $room = []; - public array $bank = []; public array $align_nm = [ 1 => 'Свет', 2 => 'Хаос', @@ -258,7 +256,7 @@ class User 'm2all', 'aall', 'rep', - 'align_bs' + 'align_bs', ], 'add' => [ 'no_vor', @@ -582,876 +580,10 @@ class User public $tfer; public $stats; - public function dayquest(int $id): string - { - $test = Db::getRow('select id, vals from actions where uid = ? and vars = ?', [$id, 'day_quest']); - $q = [ - '1' => 'Убийство Трупожоров', - '2' => 'Победы в хаотических боях', - '3' => 'Спуск в Подземелия', - '4' => 'Набрать в хаотических поединках 100 000 Опыта', - '5' => 'Открыть Сундук Трупожора', - '6' => 'Посетить Излом Хаоса', - '7' => 'Сдача 3 заданий в пещерах', - '8' => 'Поучаствовать в Башне Смерти', - ]; - if (!isset($test['id'])) { - $n = "Получить задание"; - } else { - $n = "Сдать задание"; - $n = $n . "
" . $q[$test['vals']] . ""; - } - return $n; - } - - public function testAlign($an, int $uid): int - { - $r = 1; - if (floor($an) > 0) { - $a = Db::getValue( - 'select align from users_align where uid = ? and (`delete` = 0 or `delete` > unix_timestamp())', - [$uid] - ); - - if (floor((float)$a['align']) != $an) { - $r = 0; - } - } - return $r; - } - - public function abilsRoom(string $type): string - { - $r = ''; - // - if ($this->info['clan'] > 0 || !in_array($this->room['name'], ['Зал Света', 'Зал Нейтралов', 'Зал Тьмы'])) { - //Нельзя использовать персонажам в клане - return ''; - } - if ($type == 'test') { - if (isset($_GET['vhp'])) { - $v = Db::getValue('select time from vortex where uid = ? and type = 1 order by time desc limit 1'); - if ($v > time() - 60 * 60) { - //Уже юзали - $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); - } else { - if ($this->stats['hpNow'] < 1) { - $this->stats['hpNow'] = 0; - } - $this->error = 'Вы успешно восстановили ' . round($this->stats['hpAll'] - $this->stats['hpNow']) . ' HP.'; - Db::sql( - 'insert into vortex (uid, room, time, val, type) VALUES (?,?,unix_timestamp(),?,1)', - [$this->info['id'], $this->info['room'], round($this->stats['hpAll'] - $this->stats['hpNow'])] - ); - $this->stats['hpNow'] = $this->stats['hpAll']; - Db::sql('update stats set hpNow = ? where id = ?', [$this->stats['hpNow'], $this->info['id']]); - } - } elseif (isset($_GET['vmp'])) { - $v = Db::getValue('select time from vortex where uid = ? and type = 2 order by time desc limit 1'); - if ($v > time() - 60 * 60) { - //Уже юзали - $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); - } else { - if ($this->stats['mpNow'] < 1) { - $this->stats['mpNow'] = 0; - } - $this->error = 'Вы успешно восстановили ' . round($this->stats['mpAll'] - $this->stats['mpNow']) . ' MP.'; - Db::sql( - 'insert into vortex (uid, room, time, val, type) VALUES (?,?,unix_timestamp(),?,2)', - [$this->info['id'], $this->info['room'], round($this->stats['mpAll'] - $this->stats['mpNow'])] - ); - $this->stats['mpNow'] = $this->stats['mpAll']; - Db::sql('update stats set mpNow = ? where id = ?', [$this->stats['mpNow'], $this->info['id']]); - } - } - - } elseif ($type == 'look') { - $vid = 0; - if ($this->room['name'] == 'Зал Света') { - $vid = 6; - } elseif ($this->room['name'] == 'Зал Тьмы') { - $vid = 7; - } elseif ($this->room['name'] == 'Зал Нейтралов') { - $vid = 10; - } - $v = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `vortex` WHERE `uid` = "' . $this->info['id'] . '" AND `type` = 1 ORDER BY `time` DESC LIMIT 1' - ) - ); - if (isset($v['id']) && $v['time'] + 60 * 60 > time()) { - $r .= ' '; - } else { - $r .= ' '; - } - $v = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `vortex` WHERE `uid` = "' . $this->info['id'] . '" AND `type` = 2 ORDER BY `time` DESC LIMIT 1' - ) - ); - if (isset($v['id']) && $v['time'] + 60 * 60 > time()) { - $r .= ' '; - } else { - $r .= ' '; - } - } - return $r; - } - - public function insertAlign($an, $uid) - { - if ($an > 0) { - mysql_query( - 'UPDATE `users_align` SET `delete` = "' . (time() + 1) . '" WHERE `uid` = "' . mysql_real_escape_string( - $uid - ) . '" AND `align` = "' . mysql_real_escape_string(floor($an)) . '"' - ); - mysql_query( - 'INSERT INTO `users_align` (`uid`,`time`,`delete`,`align`) VALUES ( - "' . mysql_real_escape_string($uid) . '","' . time() . '","0","' . mysql_real_escape_string( - floor($an) - ) . '" - ) ' - ); - } - } - - public function deleteAlign($an, $uid) - { - if ($an > 0) { - mysql_query( - 'UPDATE `users_align` SET `delete` = "' . (time() + 86400 * 60) . '" WHERE `uid` = "' . mysql_real_escape_string( - $uid - ) . '" AND `align` = "' . mysql_real_escape_string(floor($an)) . '"' - ); - } - } - - public function shopSaleM($val, $itm): float - { - $procs = [ - 0, //0 - 0, //1 - 0, //2 - 0, //3 - 0, //4 - 0, //5 - 0, //6 - 0, //7 - 5, - 30, - 30, - 30, - 30, - 30, - 30, - 30, - 30, - 30, - 30, - 30, - 30, - 30, - ]; - $po = ConversionHelper::dataStringToArray($itm['data']); - $proc = $procs[$po['tr_lvl']]; - // - if ($itm['type'] >= 28) { - $proc = 50; - } - if ($itm['type'] == 46) { - $proc = 0; - } - if (Config::get('shop_all') > 0) { - $proc = 100 - Config::get('shop_all'); - } elseif (Config::get('shop_all_type1') > 0 && !isset($this->info['inBerezka'])) { - $proc = 100 - Config::get('shop_all_type1'); - } elseif (Config::get('shop_all_type2') > 0 && isset($this->info['inBerezka'])) { - $proc = 100 - Config::get('shop_all_type2'); - } - return round(($val / 100 * (100 - $proc)), 2); - } - - //Удаление определенного типа предметов - - public function repobmen($id, $type) - { - //echo 'обмен'; - $pl = 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`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1;' - ) - ); - $po = ConversionHelper::dataStringToArray($pl['data']); - if ((!isset($po['frompisher']) || $po['tr_lvl'] < 4) && $pl['type'] != 31) { - $e = 'Не удалось обменять предмет на репутацию.'; - } else { - $e = 'Обмен предмета "' . $pl['name'] . '" на репутацию Сapitalcity прошел удачно.'; - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' - ); - $this->rep['repcapitalcity'] += 1; - mysql_query( - 'UPDATE `rep` SET `repcapitalcity` = "' . $this->rep['repcapitalcity'] . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - } - return $e; - } - - /** Singletone. - * @return User - */ - public static function start(): self - { - if (is_null(self::$flag_one)) { - self::$flag_one = new self(); - } - return self::$flag_one; - } - - public function lookKeys($m, $i): array - { - - $e = explode('|', $m); - $r = []; - while ($i < count($e)) { - $j = explode('=', $e[$i]); - $r[$i] = $j[0]; - $i++; - } - return $r; - } - - //Выводим вещи котоыре нужно отремонтировать - public function info_remont(): string - { - $r = ''; - $sp = mysql_query( - 'SELECT `im`.`name`,`iu`.`iznosNOW`,`iu`.`iznosMAX` - FROM `items_users` AS `iu` - LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) - WHERE - `iu`.`uid` = ' . ($this->info['id']) . ' AND - `iu`.`delete` = 0 AND - `iu`.`inShop` = 0 AND - `iu`.`inOdet` > 0 AND - `iu`.`inOdet` < 18 - LIMIT 18' - ); - while ($pl = mysql_fetch_array($sp)) { - if ($pl['iznosNOW'] <= ceil($pl['iznosMAX'] * 0.80)) { - continue; - } - $r .= '' . $pl['name'] . ' [' . floor($pl['iznosNOW']) . '/' . - ceil($pl['iznosMAX']) . '] требуется ремонт
'; - } - return '
' . $r . '
'; - } - - //Расчет урона от оружия - private function weaponAtc($item, $st, $x): array - { - if (empty($item['id'])) { - return [0,0,0,0]; - } - $stDefault = [ - 'minAtack' => 0, - 'maxAtack' => 0, - 'yron_min' => 0, - 'yron_max' => 0, - ]; - $itmDefault = [ - 'yron_min' => 0, - 'yron_max' => 0, - 'sv_yron_min' => 0, - 'sv_yron_max' => 0, - ]; - - $itm = ConversionHelper::dataStringToArray($item['data']); - //начинаем расчет урона - $st = array_merge($stDefault, $st); - $itm = array_merge($itmDefault, $itm); - - $min = $itm['sv_yron_min'] + $st['minAtack'] + $itm['yron_min'] + $st['yron_min']; - $max = $itm['sv_yron_max'] + $st['maxAtack'] + $itm['yron_max'] + $st['yron_max']; - - //Тип урона: 0 - нет урона, 1 - колющий, 2 - рубящий, 3 - дробящий, 4 - режущий, 5 - огонь, 6 - воздух, 7 - вода, 8 - земля, 9 - свет, 10 - тьма, 11 - серая - if ($item['type'] == 18) { - //колющий - $sss = ceil($st['s2'] * 0.75); - } elseif ($item['type'] == 19) { - //рубящий - $sss = ceil($st['s1'] * 0.75); - } elseif ($item['type'] == 20) { - //дробящий - $sss = ceil($st['s4'] * 1.5); - } elseif ($item['type'] == 21) { - //режущий - $sss = ceil($st['s3'] * 0.75); - } else { - //без профильного урона - $sss = ceil($st['s1'] * 0.1); - } - - //Обычный урон - - $p['B'][0] = ceil($st['s1'] * 1); - $p['B'][1] = ceil(0.4 + $p['B'][0] / 0.9); - - $p['B'][0] = 2 + $st['level'] + $st['s1'] - round($st['s1'] / 5); - $p['B'][1] = $p['B'][0] + 3; - - $p['B']['rnd'] = rand($p['B'][0], $p['B'][1]); - //Добавочный минимальный урон - $p['W'][0] = $min; - $p['W'][1] = $max; - $p['W']['rnd'] = rand($p['W'][0], $p['W'][1]); - // Коэф. оружия - $p['T'] = 1; - //Владения - $bn = 0; - if ($item['type'] == 21) { - // меч - $p['M'] = $st['pa4']; - $bn = $st['a4']; - //ТУТ $p['M'] = $st['pa'.$x]; - } elseif ($item['type'] == 20) { - // дубина - $p['M'] = $st['pa3']; - $bn = $st['a3']; - } elseif ($item['type'] == 19) { - // топор - $p['M'] = $st['pa2']; - $bn = $st['a2']; - } elseif ($item['type'] == 18) { - // нож - $p['M'] = $st['pa1']; - $bn = $st['pa1']; - } elseif ($item['type'] == 22) { - // посох - $p['M'] = $st['pa3']; - $bn = $st['a5']; - } - //Мощнность - - $min = (($p['B'][0] + $sss + $p['W'][0]) * $p['T'] * (1 + 0.005 * $bn)) * (1 + $p['M'] / 100); - $max = (($p['B'][1] + $sss + $p['W'][1]) * $p['T'] * (1 + 0.005 * $bn)) * (1 + $p['M'] / 100); - // - $kmin = ceil((2 * (1 + $st['m3'] / 100)) * $min); - $kmax = ceil((2 * (1 + $st['m3'] / 100)) * $max); - - return [0 => ceil($min), 1 => ceil($max), 2 => ceil($kmin), 3 => ceil($kmax)]; - } - - //Расчет защиты - public function zago($v): float - { - if ($v > 1700) { - $v = 1700; - } - return round((1 - (pow(0.5, ($v / 399.51)))) * 100, 2); - } - - //Расчет защиты (магия) - public function zmgo($v) - { - if ($v > 1000) { - $v = 1000; - } - return (1 - (pow(0.5, ($v / 250)))) * 100; - } - - public function inform(string $v) - { - $r = ''; - $y = []; - $w1 = 0; - $w2 = 0; - $i = 0; - if ($v == 'yrontest' || $v == 'yrontest-krit') { - /* первое оружие или кулак */ - if (is_array($this->stats['items'])) { - while ($i < count($this->stats['items'])) { - if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { - $w1 = $this->stats['items'][$i]; - } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { - $w2 = $this->stats['items'][$i]; - } - $i++; - } - } - if (isset($w1['id']) && $w1['inOdet'] != 14) { - $tp = 0; - $t = 0; - $i = 1; - $d = ConversionHelper::dataStringToArray($w1['data']); - while ($i <= 4) { - if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { - $t = $d['tya' . $i]; - $tp = $i; - } - $i++; - } - $y = $this->weaponAtc($w1, $this->stats, $tp); - if ($v == 'yrontest-krit') { - $y[0] = $y[2]; - $y[1] = $y[3]; - } - if ($y[0] < 1) { - $y[0] = 1; - } - if ($y[1] < 1) { - $y[1] = 1; - } - $r .= '' . $y[0] . '-' . $y[1] . ''; - } else { - //урон кулаком - $y[0] = ceil( - 2 + $this->info['level'] + $this->stats ['s1'] - round($this->stats['s1'] / 5) - ) + $this->stats['minAtack'] + $this->stats['yron_min']; - $y[1] = ceil($y[0] + 3) + $this->stats['maxAtack'] + $this->stats['yron_max']; - if ($y[0] < 1) { - $y[0] = 1; - } - if ($y[1] < 1) { - $y[1] = 1; - } - $r .= $y[0] . '-' . $y[1]; - } - /* второе оружие */ - if (isset($w2['id'])) { - $tp = 0; - $t = 0; - $i = 1; - $d = ConversionHelper::dataStringToArray($w2['data']); - while ($i <= 4) { - if ($t < $d['tya' . $i]) { - $t = $d['tya' . $i]; - $tp = $i; - } - $i++; - } - $y = $this->weaponAtc($w2, $this->stats, $tp); - if ($v == 'yrontest-krit') { - $y[0] = $y[2]; - $y[1] = $y[3]; - } - if ($y[0] < 1) { - $y[0] = 1; - } - if ($y[1] < 1) { - $y[1] = 1; - } - $r .= ' / ' . $y[0] . '-' . $y[1] . ''; - } - /* --- */ - } elseif ($v == 'yron') { - /* первое оружие или кулак */ - while ($i < count($this->stats['items'])) { - if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { - $w1 = $this->stats['items'][$i]; - } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { - $w2 = $this->stats['items'][$i]; - } - $i++; - } - if (isset($w1['id']) && $w1['inOdet'] != 14) { - $tp = 0; - $t = 0; - $i = 1; - $d = ConversionHelper::dataStringToArray($w1['data']); - while ($i <= 4) { - if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { - $t = $d['tya' . $i]; - $tp = $i; - } - $i++; - } - $y = $this->weaponAtc($w1, $this->stats, $tp); - if ($y[0] < 1) { - $y[0] = 1; - } - if ($y[1] < 1) { - $y[1] = 1; - } - $r .= '' . $y[0] . '-' . $y[1] . ''; - } else { - //урон кулаком - $y[0] = ceil($this->stats['s1'] * 1.4) + $this->stats['minAtack'] + $this->stats['yron_min']; - $y[1] = ceil(0.4 + $y[0] / 0.9) + $this->stats['maxAtack'] + $this->stats['yron_max']; - if ($y[0] < 1) { - $y[0] = 1; - } - if ($y[1] < 1) { - $y[1] = 1; - } - $r .= $y[0] . '-' . $y[1]; - } - /* второе оружие */ - if (isset($w2['id'])) { - $tp = 0; - $t = 0; - $i = 1; - $d = ConversionHelper::dataStringToArray($w2['data']); - while ($i <= 4) { - if ($t < $d['tya' . $i]) { - $t = $d['tya' . $i]; - $tp = $i; - } - $i++; - } - $y = $this->weaponAtc($w2, $this->stats, $tp); - if ($y[0] < 1) { - $y[0] = 1; - } - if ($y[1] < 1) { - $y[1] = 1; - } - $r .= ' / ' . $y[0] . '-' . $y[1] . ''; - } - } else { - //модификаторы - /* первое оружие или кулак */ - $ry = 0; - while ($i < count($this->stats['items'])) { - if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { - $w1 = $this->stats['items'][$i]; - } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { - $w2 = $this->stats['items'][$i]; - } - $i++; - } - if (isset($w1['id']) && $w1['inOdet'] != 14) { - $tp = 0; - $t = 0; - $i = 1; - $d = ConversionHelper::dataStringToArray($w1['data']); - $y = 0; - if (isset($d['sv_' . $v])) { - $y += $d['sv_' . $v]; - } - if (isset($this->stats[$v])) { - $y += $this->stats[$v]; - } - $ry = $y; - $r .= '' . $y . ''; - } else { - //кулаком - $r .= $this->stats[$v]; - $ry = $this->stats[$v]; - } - /* второе оружие */ - if (isset($w2['id'])) { - $tp = 0; - $t = 0; - $i = 1; - $d = ConversionHelper::dataStringToArray($w2['data']); - $y = @$this->stats[$v] + @$d['sv_' . $v]; - if ($y != $ry) { - $r .= ' / ' . $y . ''; - } else { - $r = str_replace('title="' . $w1['name'] . '"', '', $r); - } - } - //модификаторы - } - return $r; - } - - /** - * @param $ttm - * @return string - * @deprecated использовать ConversionHelper::secondsToTimeout() - */ - public function timeOut($ttm): string - { - return ConversionHelper::secondsToTimeout($ttm); - } - - public function rep_zv(int $id, int $e): string - { - $r = '0 / 0'; - if ($id == 1) { - //Храм знаний - if ($e > 9999) { - $r = 'Посвященный третьего круга, ' . $e . ' / ??'; - } elseif ($e > 999) { - $r = 'Посвященный второго круга, ' . $e . ' / 9999'; - } elseif ($e > 99) { - $r = 'Посвященный первого круга, ' . $e . ' / 999'; - } else { - $r = $e . ' / 99'; - } - } elseif ($id == 2 || $id == 3 || $id == 4 || $id == 6 || $id == 7 || $id == 8) { - //Capital city - if ($e > 24999) { - $r = 'Рыцарь второго круга, ' . $e . ' / ??'; - } elseif ($e > 9999) { - $r = 'Рыцарь первого круга, ' . $e . ' / 24999'; - } else { - $r = $e . ' / 10000'; - } - } elseif ($id == 5) { - //Алтарь Крови - if ($e > 99) { - $r = 'Посвященный первого круга ' . $e . ' / 999'; - } else { - $r = $e . ' / 99'; - } - } elseif ($id == 9) { - //Dreams city - if ($e > 9999) { - $r = 'Посвященный третьего круга, [' . $e . ']'; - } elseif ($e > 4999) { - $r = 'Посвященный второго круга,' . $e . ' / 9999'; - } elseif ($e > 999) { - $r = 'Посвященный первого круга, ' . $e . ' / 4999'; - } else { - $r = $e . ' / 999'; - } - } elseif ($id == 10) { - //Гора легиона - if ($e > 9999) { - $r = 'Посвященный второго круга,[' . $e . ']'; - } elseif ($e > 999) { - $r = 'Посвященный первого круга, ' . $e . ' / 4999'; - } else { - $r = $e . ' / 999'; - } - } elseif ($id == 11) { - //Излом Хаоса - if ($e > 9999) { - $r = 'Легенда Излома Хаоса, [' . $e . ']'; - } elseif ($e > 4999) { - $r = 'Чемпион Излома Хаоса,' . $e . ' / 9999'; - } elseif ($e > 999) { - $r = 'Знаток Излома Хаоса, ' . $e . ' / 4999'; - } else { - $r = $e . ' / 999'; - } - } - - return $r; - } - - /** Для совместимости. Поиск по файлам $this->additem выдаёт сотни отсылок с видимо подключаемымим файлами - * в которых невозможно отследить зависимость и сделать полноценную замену. - * @param $id - * @param $uid - * @param $md - * @param $dn - * @param $mxiznos - * @param $nosudba - * @param $plavka - * @return int|mixed|string - */ - public function addItem($id, $uid, $md = null, $dn = null, $mxiznos = null, $nosudba = null, $plavka = null) - { - return ItemsModel::addItem($id, $uid, $md, $dn, $mxiznos, $nosudba, $plavka); - } - - public function getNum($v): string - { - return sprintf('%06d', $v); - } - - public function microLogin2(array $userInfo): string - { - $result = ''; - if ($userInfo['align'] > 0) { - $result .= ''; - } - if ($userInfo['clan'] > 0) { - $clanName = Db::getValue('select name_mini from clan where id = ?', [$userInfo['clan']]); - $result .= ''; - } - $result .= '' . $userInfo['login'] . '[' . $userInfo['level'] . ']'; - $result .= ''; - return $result; - } - - public function microLogin(int $id, int $t = 1, int $nnz = 1): string - { - if ($t !== 1) { - $inf['id'] = $id; - } else { - $inf = Db::getRow( - 'select - users.id, - invis, - users.align, - align2, - clan, - cityreg, - login, - users.level, - c.name_mini - from users left join clan as c on c.id = users.clan - where users.id = ?', - [$id] - ); - } - $r = ''; - if ( - isset($inf['id']) && - ( - ($inf['invis'] < time() && $inf['invis'] !== 1) || - ($this->info['id'] == $inf['id'] && $nnz === 1) - ) - ) { - $r = $this->microLogin2($inf); - } else { - $r = 'Невидимка [??]'; - } - return $r; - } - - public function testHome(): array - { - /*----Быстрый(Особенность)----*/ - $timeforwait = 3600; - if (isset($st['os3']) && $st['os3'] > 0) { - $timeforwait = 3600 - (($st['os6'] * 5) * 60); - } - /*----Быстрый(Особенность)----*/ - $hgo = $this->testAction( - '`uid` = "' . $this->info['id'] . '" AND `time` >= ' . (time() - $timeforwait) . ' AND `vars` = "go_homeworld" LIMIT 1', - 1 - ); - if ( - $this->info['level'] == 0 || - $this->info['active'] != '' || - $this->info['inTurnir'] > 0 || - $this->info['inTurnirnew'] > 0 || - $this->info['zv'] > 0 || - $this->info['dnow'] > 0 || - isset($this->info['noreal']) || - Db::getValue('select count(*) from katok_zv where uid = ?', [$this->info['id']]) > 0 - ) { - $hgo['id'] = true; - } - - return $hgo ?? []; - } - - public function addKr($amount) - { - Db::sql('update users set money = money + ? where id = ?', [$amount, $this->info['id']]); - } - - public function addEkr($amount) - { - Db::sql('update users set money2 = money2 + ? where id = ?', [$amount, $this->info['id']]); - } - - private function infoTasks() - { - if (empty($this->info)) { - //trigger_error('user->info is empty in constructor', E_USER_WARNING); - return; - } - - $this->getStats($this->info); // Бля, а вдруг? - - $this->info['achiv'] = Db::getRow('select * from users_achiv where id = ?', [$this->info['id']]); - if (!isset($this->info['achiv']['id'])) { - Db::sql('insert into users_achiv (id) value (?)', [$this->info['id']]); - $this->info['achiv'] = Db::getRow('select * from users_achiv where id = ?', [$this->info['id']]); - } - - if (isset($this->info['id']) && $this->info['exp'] > 300000 && $this->info['twink'] > 0) { - $this->info['exp'] = 300000; - Db::sql('update stats set exp = ? where id = ?', [$this->info['exp'], $this->info['id']]); - } - - if (isset($this->info['id']) && $this->info['inUser']) { - $md = [ - $this->info['molch1'], - $this->info['molch2'], - $this->info['molch3'], - $this->info['admin'], - $this->info['nadmin'], - $this->info['banned'], - $this->info['align'], - $this->info['id'], - $this->info['level'], - ]; - - $this->info = $this->getUserInfoById($this->info['inUser']); - - if ($this->info['molch1'] < $md[0]) { - $this->info['molch1'] = $md[0]; - } - if ($this->info['molch2'] < $md[1]) { - $this->info['molch2'] = $md[1]; - } - if ($this->info['molch3'] < $md[2]) { - $this->info['molch3'] = $md[2]; - } - if ($this->info['admin'] < $md[3]) { - $this->info['admin'] = $md[3]; - } - if ($this->info['nadmin'] < $md[4]) { - $this->info['nadmin'] = $md[4]; - } - if ($this->info['banned'] < $md[5]) { - $this->info['banned'] = $md[5]; - } - - $this->info['noreal'] = 1; - $this->info['align_real'] = $md[7]; - $this->info['__id'] = $md[8]; - $this->info['__level'] = $md[9]; - } - } - private function __construct() { - if (!empty($_SESSION['uid'])) { - $user = Db::getRow( - 'select - *, - users.id as id, - users.level as level, - users.align as align, - users.sex as sex, - users.clan as clan, - stats.timeGo as timeGo, - users.name as name, - stats.lider as lider - from users - left join stats on users.id = stats.id - left join room on users.room = room.id - where users.id = ?', - [$_SESSION['uid']] - ); - } else { - $user = Db::getRow( - 'select - *, - users.id as id, - users.level as level, - users.align as align, - users.sex as sex, - users.clan as clan, - stats.timeGo as timeGo, - users.name as name, - stats.lider as lider - from users - left join stats on users.id = stats.id - left join room on users.room = room.id - where login = ?', - [$_COOKIE['login']] - ); - } - - if (!empty($user) && is_array($user)) { - $this->info = $user; - } + $user = !empty($_SESSION['uid']) ? $_SESSION['uid'] : $_COOKIE['login']; + $this->info = self::getInfo($user); unset($user); Database::init(); // для всяких mysql_* @@ -1473,21 +605,6 @@ class User setcookie('btl', $this->info['battle'], time() + 86400); } - // if (!isset($this->info['id'])) { - // $this->info = Db::getRow('select * from users where login = ?', [$_COOKIE['login']]); - // - // if ($this->info['dateEnter'] != $_SERVER['HTTP_USER_AGENT']) { - // unset($this->info); - // } - // $this->btl_txt = $this->info['battle_text']; - // if (!isset($this->info['id'])) { - // unset($this->info); - // setcookie('login', '', time() - 60 * 60 * 24, '', Core\Config::get('host')); - // } else { - // echo 'stats is lost.'; - // } - // } - if (isset($this->info['id'])) { if ($this->info['invis'] == 1 || $this->info['invis'] > time()) { $this->info['cast_login'] = 'Невидимка'; @@ -1497,10 +614,7 @@ class User } if (isset($this->info['id']) && $this->info['battle'] == 0) { - $sb = mysql_fetch_array( - mysql_query('SELECT SUM(`money2`) FROM `bank` WHERE `uid` = ' . $this->info['id'] . ' LIMIT 100') - ); - $sb = $sb[0]; + $sb = $this->info['money2']; if ($sb - 1 > $this->info['catch'] - $this->info['frg']) { if ($this->info['frg'] == -1) { @@ -1538,7 +652,20 @@ class User $this->info['login2'] = ''; } - $this->rep = (new Reputation($this->info['id']))->get(); + $this->rep = mysql_fetch_array( + mysql_query( + 'SELECT + `add_slot`,`nu_sandcity`,`n_sandcity`, + `dl1`,`id`,`rep1`,`repcapitalcity`,`repdemonscity`,`repangelscity`,`repabandonedplain`, + `repdevilscity`,`repmooncity`,`repsuncity`,`repsandcity`,`repemeraldscity`,`repdreamscity`,`repizlom`, + `n_capitalcity`,`n_demonscity`,`n_suncity`,`nu_demonscity`,`nu_angelscity`,`nu_abandonedplain`,`nu_emeraldscity`, + `nu_capitalcity`,`nu_suncity`,`nu_devilscity`,`nu_dreamscity`,`add_stats`,`add_money`,`add_skills`,`add_skills2`, + `rep3`,`rep3_buy`,`repdragonscity`,`n_dragonscity`,`nu_dragonscity`, + (`repcapitalcity`+`repdemonscity`+`repangelscity`+`repsuncity`+`repdreamscity`+`repabandonedplain`+`repsandcity`+`repemeraldscity`+`repdevilscity`) as allrep, + (`nu_capitalcity`+`nu_demonscity`+`nu_angelscity`+`nu_suncity`+`nu_dreamscity`+`nu_abandonedplain`+`nu_sandcity`+`nu_emeraldscity`+`nu_devilscity`) as allnurep + FROM `rep` WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ) + ); if ($this->info['login2'] != '' && $this->info['zv'] == 0 && $this->info['battle'] == 0) { $this->info['login2'] = ''; @@ -1799,34 +926,6 @@ class User ) ); - if (isset($_POST['bankpsw'])) { - $this->bank = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`uid`,`block`,`create`,`pass`,`money1`,`money2`,`useNow`,`notmail` FROM `bank` WHERE `uid` = "' . $this->info['id'] . '" AND `block` = "0" AND `id` = "' . mysql_real_escape_string( - (int)$_POST['bank'] - ) . '" AND `pass` = "' . mysql_real_escape_string($_POST['bankpsw']) . '" LIMIT 1' - ) - ); - if (isset($this->bank)) { - mysql_query( - 'UPDATE `bank` SET `useNow` = "' . (time() + 24 * 60 * 60) . '" WHERE `id` = "' . $this->bank['id'] . '" LIMIT 1' - ); - } else { - $this->bank['error'] = 'Неверный пароль от счета'; - } - } elseif (!isset($_GET['bank_exit'])) { - $bank = Db::getRow( - 'select * from bank where uid = ? and block = 0 and useNow > unix_timestamp()', [$this->info['id']] - ); - $this->bank = $bank ? $bank : []; - } - - if (isset($_GET['bank_exit'])) { - mysql_query( - 'UPDATE `bank` SET `useNow` = "0" WHERE `uid` = "' . $this->info['id'] . '" AND `useNow`!="0" LIMIT 1' - ); - } - if (!isset($_GET['obt_sel']) && $this->info['battle'] == 0 && $this->info['obraz'] != '0.gif') { //Проверяем текущий образ $this->stats = $this->getStats($this->info['id'], 0); @@ -1994,7047 +1093,89 @@ class User } } - public function allActionsStart() + /** + * @param int|string $user + * @return array + */ + public static function getInfo($user): array { - global $magic; - if (!isset($_GET['use_snowball'])) { + $cell = is_numeric($user) ? 'id' : 'login'; + $query = 'select + *, + users.id as id, + users.level as level, + users.align as align, + users.sex as sex, + users.clan as clan, + stats.timeGo as timeGo, + users.name as name, + stats.lider as lider + from users + left join stats on users.id = stats.id + left join room on users.room = room.id + where users.' . $cell . ' = ?'; + $result = Db::getRow($query, [$user]); + return $result ?: []; + } + + private function infoTasks() + { + if (empty($this->info)) { + //trigger_error('user->info is empty in constructor', E_USER_WARNING); return; } - $this->stats = $this->getStats($this->info, 0); - //Начинаем лепить снежок на ЦП - if (!isset($this->stats['items'][$this->stats['wp13id']]['id']) || $this->stats['items'][$this->stats['wp13id']]['item_id'] != 998) { - return; - }//варежки одеты, все ок - if ($this->room['name'] != 'Центральная площадь') { - $this->error2 = 'Собирать снег можно только на Центральной площади'; - } else { - $smt = $this->testAction( - '`uid` = "' . $this->info['id'] . '" AND `time`>=' . (time() - 120) . ' AND `vars` = "create_snowball_cp" LIMIT 1', - 1 - ); - if (isset($smt['id'])) { - $this->error2 = 'Нельзя лепить несколько снежков одновременно ;)'; - } else { - $smt = $this->testAction( - '`uid` = "' . $this->info['id'] . '" AND `time`>=' . strtotime( - 'now 00:00:00' - ) . ' AND `vars` = "create_snowball_cp" LIMIT 25', - 2 - ); - $smt = $smt[0]; - if ($smt < 10) { - $this->addAction(time(), 'create_snowball_cp', $this->info['city']); - $magic->add_eff($this->info['id'], 24); - $this->error2 = 'Начинаем лепить снежок, осталось ' . (10 - $smt) . ' раз на сегодня ...'; - } else { - $this->error2 = 'Вы уже слепили 10 снежка за сегодня ...'; - } - } - } - } - - public function round2($v) - { - $v = explode('.', $v); - $v = doubleval($v[0] . '.' . $v[1][0] . '' . $v[1][1]); - $f = explode('.', $v); - if (!isset($f[1])) { - $v = $v . '.00'; - } - return $v; - } - - public function zuby($v, $t = 0): string - { - $r = ''; - if ($v < 0) { - $v = 0; - } - if ($t == 0) { - $names[] = ' '; - $names[] = ' '; - $names[] = ' '; - $names[] = ' '; - } else { - $names[] = ' '; - $names[] = ' '; - $names[] = ' '; - $names[] = ' '; - } - $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 addAction($time, $vars, $vls, $uid = null): bool - { - $info = $this->info; - if ($uid) { - $info['id'] = $uid; - } - ActionModel::new($info, $vls, $vars, $time); - return true; - } - - public function testAction($filter, $tp) - { - if ($tp == 1) { - $query = 'select * from actions where ' . $filter; - } elseif ($tp == 2) { - $query = 'select count(*) from actions where ' . $filter; - } - - $stmt = mysql_query($query); - return $stmt ? mysql_fetch_array($stmt) : []; - } - - public function getUserInfoById($id) - { - return Db::getRow('select * from users left join stats on users.id = stats.id where users.id = ?', [$id]); - } - - public function addNewbot($id, $botDate, $clon, $logins_bot = null, $luser = null, $round = null) - { - if ($clon != null) { - $r = 0; - if (!is_array($clon)) { - $clon = $this->getUserInfoById((int)$clon); - } - if (isset($clon['id'])) { - if (!isset($clon['loclon'])) { - $clon['login'] .= ' (Клон)'; - } - //копируем пользователя - $ins1 = mysql_query( - 'INSERT INTO `users` ( - `align`, - `login`, - `level`, - `pass`, - `city`, - `cityreg`, - `name`, - `sex`, - `hobby`, - `timereg`, - `obraz`, - `bot_id`, - `inTurnir`, - `temp` - ) VALUES ( - "' . $clon['align'] . '", - "' . $clon['login'] . '", - "' . $clon['level'] . '", - "' . md5('bot_pass_' . $clon['login'] . '_') . '", - "' . $this->info['city'] . '", - "' . $clon['city_reg'] . '", - "' . $clon['login'] . '", - "' . $clon['sex'] . '", - "", - "' . $clon['time_reg'] . '", - "' . $clon['obraz'] . '", - "' . mysql_real_escape_string($id) . '", - "' . $clon['inTurnir'] . '", - 5 - )' - ); - if ($ins1) { - if ($round > 0) { - //Улучшаем мф. и статы и НР 1 раунд = +10% - $statss = ConversionHelper::dataStringToArray($clon['stats']); - // - $statss['s1'] = ceil($statss['s1'] * (1 + 0.1 * ($round))); - $statss['s2'] = ceil($statss['s2'] * (1 + 0.1 * ($round))); - $statss['s3'] = ceil($statss['s3'] * (1 + 0.1 * ($round))); - $statss['s4'] = ceil($statss['s4'] * (1 + 0.1 * ($round))); - // - $statss['hpAll'] = ceil($statss['hpAll'] * (1 + 0.1 * ($round))); - $statss['mpAll'] = ceil($statss['mpAll'] * (1 + 0.1 * ($round))); - // - $statss['m1'] = ceil($statss['m1'] * (1 + 0.1 * ($round))); - $statss['m2'] = ceil($statss['m2'] * (1 + 0.1 * ($round))); - $statss['m3'] = ceil($statss['m3'] * (1 + 0.1 * ($round))); - $statss['m4'] = ceil($statss['m4'] * (1 + 0.1 * ($round))); - $statss['m5'] = ceil($statss['m5'] * (1 + 0.1 * ($round))); - $statss['za'] = ceil($statss['za'] * (1 + 0.1 * ($round))); - $statss['zm'] = ceil($statss['zm'] * (1 + 0.1 * ($round))); - $clon['stats'] = ConversionHelper::arrayToDataString($statss); - unset($statss); - } - if ($luser && $clon['level'] < 8) { - //Хуже уворот, крит и защита - $statss = ConversionHelper::dataStringToArray($clon['stats']); - $statss['m1'] = ceil($statss['m1'] * 0.75); - $statss['m2'] = ceil($statss['m2'] * 0.75); - $statss['m3'] = ceil($statss['m3'] * 0.75); - $statss['m4'] = ceil($statss['m4'] * 0.75); - $statss['m5'] = ceil($statss['m5'] * 0.75); - $statss['za'] = ceil($statss['za'] * 0.25); - - $clon['stats'] = ConversionHelper::arrayToDataString($statss); - unset($statss); - } - $uid = mysql_insert_id(); - //копируем статы - $ins2 = mysql_query( - 'INSERT INTO `stats` (`clone`,`id`,`stats`,`hpNow`,`upLevel`,`bot`,`priems`) VALUES ("' . $clon['id'] . '","' . $uid . '","' . $clon['stats'] . '","1000000","' . $clon['upLevel'] . '","1","' . $clon['priems'] . '")' - ); - if ($ins2) { - //копируем предметы - $sp = 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 `uid` = "' . $clon['id'] . '" AND `inOdet` > 0 AND `delete` = "0" LIMIT 50' - ); - while ($pl = mysql_fetch_array($sp)) { - $pl['data'] = str_replace('toclan', 'to_clan_', $pl['data']); - mysql_query( - 'INSERT INTO `items_users` (`uid`,`item_id`,`data`,`inOdet`,`iznosMAX`,`kolvo`) VALUES ("' . $uid . '","' . $pl['item_id'] . '","' . $pl['data'] . '","' . $pl['inOdet'] . '","' . $pl['iznosMAX'] . '","' . $pl['kolvo'] . '")' - ); - } - //копируем эффекты - $sp = mysql_query( - 'SELECT `id`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`timeAce`,`user_use`,`delete`,`v1`,`v2`,`img2`,`x`,`hod`,`bj`,`sleeptime`,`no_Ace`,`tr_life_user` FROM `eff_users` WHERE `uid` = "' . $clon['id'] . '" AND `delete` = "0" AND `deactiveTime` < "' . time() . '" AND `v1` != "priem" LIMIT 50' - ); - while ($pl = mysql_fetch_array($sp)) { - mysql_query( - 'INSERT INTO `eff_users` (`uid`,`id_eff`,`data`,`name`,`overType`,`timeUse`,`x`) VALUES ("' . $uid . '","' . $pl['id_eff'] . '","' . $pl['data'] . '","' . $pl['name'] . '","' . $pl['overType'] . '","' . $pl['timeUse'] . '","' . $pl['x'] . '")' - ); - } - $r = $uid; - } - } - } - return $r; - } else { - if ($botDate == null) { - $bot = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`login`,`stats`,`obraz`,`level`,`sex`,`name`,`hobby`,`type`,`itemsUse`,`priemUse`,`align`,`clan`,`align_zvanie`,`bonus`,`clan_zvanie`,`time_reg`,`city_reg`,`upLevel`,`active`,`expB`,`p_items`,`agressor`,`priems`,`priems_z`,`award` FROM `test_bot` WHERE `id` = "' . $id . '" LIMIT 1' - ) - ); - } else { - $bot = $botDate; - } - if (isset($bot['id'])) { - if (isset($logins_bot[$bot['login']])) { - $logins_bot[$bot['login']]++; - $bot['login'] = $bot['login'] . ' (' . $logins_bot[$bot['login']] . ')'; - } else { - $logins_bot[$bot['login']] = 1; - } - $ret = true; - if ($bot['time_reg'] == 100) { - $bot['time_reg'] = time(); - } - if ($bot['city_reg'] == '{thiscity}') { - $bot['city_reg'] = $this->info['city']; - } - - $ins1 = mysql_query( - 'INSERT INTO `users` ( - `align`, - `login`, - `level`, - `pass`, - `city`, - `cityreg`, - `name`, - `sex`, - `hobby`, - `timereg`, - `obraz`, - `bot_id`, - `temp` - ) VALUES ( - "' . $bot['align'] . '", - "' . $bot['login'] . '", - "' . $bot['level'] . '", - "' . md5('bot_pass_' . $bot['login'] . '_') . '", - "' . $this->info['city'] . '", - "' . $bot['city_reg'] . '", - "' . $bot['name'] . '", - "' . $bot['sex'] . '", - "' . $bot['hobby'] . '", - "' . $bot['time_reg'] . '", - "' . $bot['obraz'] . '", - "' . mysql_real_escape_string($id) . '", - 6 - )' - ); - if ($ins1) { - $uid = mysql_insert_id(); - if ($round > 0) { - //Улучшаем мф. и статы и НР 1 раунд = +20% - $statss = ConversionHelper::dataStringToArray($bot['stats']); - // - $statss['s1'] = ceil($statss['s1'] * (1 + 0.20 * ($round))); - $statss['s2'] = ceil($statss['s2'] * (1 + 0.20 * ($round))); - $statss['s3'] = ceil($statss['s3'] * (1 + 0.20 * ($round))); - $statss['s4'] = ceil($statss['s4'] * (1 + 0.20 * ($round))); - // - $statss['hpAll'] = ceil($statss['hpAll'] * (1 + 0.20 * ($round))); - $statss['mpAll'] = ceil($statss['mpAll'] * (1 + 0.20 * ($round))); - // - $statss['m1'] = ceil($statss['m1'] * (1 + 0.20 * ($round))); - $statss['m2'] = ceil($statss['m2'] * (1 + 0.20 * ($round))); - $statss['m3'] = ceil($statss['m3'] * (1 + 0.20 * ($round))); - $statss['m4'] = ceil($statss['m4'] * (1 + 0.20 * ($round))); - $statss['m5'] = ceil($statss['m5'] * (1 + 0.20 * ($round))); - $statss['za'] = ceil($statss['za'] * (1 + 0.20 * ($round))); - $statss['zm'] = ceil($statss['zm'] * (1 + 0.20 * ($round))); - $bot['stats'] = ConversionHelper::arrayToDataString($statss); - unset($statss); - } - $ins2 = mysql_query( - 'INSERT INTO `stats` (`id`,`stats`,`hpNow`,`upLevel`,`bot`) VALUES ("' . $uid . '","' . $bot['stats'] . '","1000000","' . $bot['upLevel'] . '","1")' - ); - if ($ins2) { - $bot['id'] = $uid; - $bot['logins_bot'] = $logins_bot; - $ret = $bot; - - //Выдаем предметы - $iu = explode(',', $bot['itemsUse']); - $i = 0; - $w3b = 0; - while ($i < count($iu)) { - if ($iu[$i] > 0) { - $idiu = $this->addItem($iu[$i], $bot['id']); - $islot = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`inslot` FROM `items_main` WHERE `id` = "' . $iu[$i] . '" LIMIT 1' - ) - ); - if (isset($islot['id'])) { - if ($islot['inslot'] == 3) { - if ($w3b == 1) { - $islot = 14; - } else { - $islot = 3; - $w3b = 1; - } - } else { - $islot = $islot['inslot']; - } - } else { - $islot = 2000; - } - mysql_query( - 'UPDATE `items_users` SET `inOdet` = "' . $islot . '" WHERE `id` = "' . $idiu . '" LIMIT 1' - ); - } - $i++; - } - } else { - $ret = false; - } - } else { - $ret = false; - } - return $ret; - } else { - return false; - } - } - } - - /* - * $iid Уникальный id прдемета и одновремено флаг что - * покупка из комка. - */ - public function buyItem($sid, $itm, $x, $mdata = null, $vip = false) - { - global $c, $code, $sid; - // sid 700 - 730 зарезервированный диапазон для кузниц в пещере (АП вешей до 10лвл) - $x = round((int)$x); - if ($x < 1) { - $x = 1; - } - if ($x > 99) { - $x = 99; - } - $i = mysql_fetch_array( - mysql_query( - 'SELECT `im`.*,`ish`.* FROM `items_shop` AS `ish` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `ish`.`item_id`) WHERE `ish`.`sid` = "' . mysql_real_escape_string( - $sid - ) . '" AND `ish`.`kolvo` > 0 AND `ish`.`item_id` = "' . mysql_real_escape_string($itm) . '" LIMIT 1' - ) - ); - - $r = ''; - $vip = false; - if ($this->info['allLock'] > time()) { - $r = 'Вам запрещено совершать покупки до ' . date('d.m.y H:i', $this->info['allLock']) . ''; - } elseif (isset($i['id'])) { - if ($i['price_4'] <= 0) { - $i['price_4'] = $i['price3']; - } - if ($i['price_4'] > 0) { - if ($i['kolvo'] < $x) { - $x = $i['kolvo']; - } - if ($x < 1) { - $x = 1; - } - $price = $i['price_4'] * $x; - $trnt = ''; - $detrn = []; - $trn = 1; - if ($i['tr_items'] != '') { - $tims2 = explode(',', $i['tr_items']); - $j = 0; - while ($j < count($tims2)) { - $tims = explode('=', $tims2[$j]); - if ($tims[0] > 0 && $tims[1] > 0) { - $tis = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`price4`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $tims[0] . '" LIMIT 1' - ) - ); - if (isset($tis['id'])) { - $num_rows = 0; - $s1p = mysql_query( - 'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`4price`,`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)$tims[0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" LIMIT ' . ((int)$tims[1] * $x) . '' - ); - while ($p1l = mysql_fetch_array($s1p)) { - $num_rows++; - } - if ($num_rows < (int)$tims[1] * $x) { - $trn = 0; - } else { - $detrn[count($detrn)] = [0 => $tims[0], 1 => ((int)$tims[1] * $x)]; //id_item - } - $trnt .= '[' . $tis['name'] . ' (x' . $x . ')]x' . $tims[1] . ', '; - } - } - $j++; - } - $trnt = rtrim($trnt, ', '); - } - - if (Config::get('noitembuy')) { - $trn = 1; - } - - if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки - $need_rep = 0; - $tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']); - foreach ($tr_rep as $row) { - if ($this->rep[$row[0]] >= $row[1]) { - $need_rep++; - } - } - } else { - $need_rep = 0; - } - - $mxby = 0; - if ($i['max_buy'] > 0) { - $mxby = mysql_fetch_array( - mysql_query( - 'SELECT COUNT(`id`) FROM `items_users` WHERE ( `delete` = "0" OR `delete` = "1000" ) AND `item_id` = "' . mysql_real_escape_string( - $itm - ) . '" AND `uid` = "' . $this->info['id'] . '" LIMIT ' . $i['max_buy'] - ) - ); - if ($mxby[0] >= $i['max_buy']) { - $mxby = -1; - } - } - - if ($i['max_buy'] < $x && $i['max_buy'] > 0) { - $r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.'; - } elseif ($need_rep > 0) { - $r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.'; - } elseif ($mxby == -1) { - $r = 'Максимальное количество покупок для данного предмета исчерпана'; - } elseif ($trn == 0 && $this->info['admin'] == 0) { - $r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')'; - } elseif ($i['price_4'] * $x > ($this->rep['rep3'] - $this->rep['rep3_buy'])) { - $r = 'У вас недостаточно репутации (не хватает ' . ($price - ($this->rep['rep3'] - $this->rep['rep3_buy'])) . ' репутации.)'; - } else { - $d = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1' - ) - ); - $this->rep['rep3_buy'] += $price; - $upd = mysql_query( - 'UPDATE `rep` SET `rep3_buy` = "' . mysql_real_escape_string( - $this->rep['rep3_buy'] - ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if ($upd) { - //новая дата - $data = ''; - $data .= $d['data']; - if ($mdata != null) { - $data .= '|' . $mdata; - } - $ix = 1; - $gix = 0; - while ($ix <= $x) { - if ($i['type'] != 71) { - if ($i['iznos'] > 0) { - $i['iznosMAXi'] = $i['iznos']; - } - $ins = mysql_query( - 'INSERT INTO `items_users` (`1price`,`2price`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES ( - "1", - "1", - "' . $i['overType'] . '", - "' . $i['item_id'] . '", - "' . $this->info['id'] . '", - "' . str_replace( - 'sudba=0', '', $data - ) . '|sudba=' . $this->info['login'] . '|icos=WL|fromshop=' . $sid . '", - "' . $i['iznosMAXi'] . '", - "' . $i['geniration'] . '", - "' . $i['magic_inc'] . '", - "' . $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; - } - $r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' репутации. ' . $trnt . '
Предмет успешно добавлен в инвентарь.'; - - $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'], - '"Shop.' . $this->info['city'] . '": Приобрел предмет "' . $i['name'] . '" (x' . $x . ') [#' . $i['iid'] . '] за ' . $price . ' репутации.', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - } else { - //Записываем в личное дело что предмет не получен - $r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' репутации.
Приносим свои извинения за неудобства.'; - $ld = $this->addDelo( - 1, $this->info['id'], - '"Shop.' . $this->info['city'] . '": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: ' . $price . ' репутации. ', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - if (!$ld) { - echo '
Ошибка, невозможно добавить запись в /db/usersDelo/!
'; - } - } - } else { - $r = 'Вам не удалось приобрести предмет...'; - } - } - } elseif ($i['price_3'] > 0) { - if ($i['kolvo'] < $x) { - $x = $i['kolvo']; - } - if ($x < 1) { - $x = 1; - } - $price = $i['price_3'] * $x; - $trnt = ''; - $detrn = []; - $trn = 1; - if ($i['tr_items'] != '') { - $tims2 = explode(',', $i['tr_items']); - $j = 0; - while ($j < count($tims2)) { - $tims = explode('=', $tims2[$j]); - if ($tims[0] > 0 && $tims[1] > 0) { - $tis = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`price4`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $tims[0] . '" LIMIT 1' - ) - ); - if (isset($tis['id'])) { - $num_rows = 0; - $s1p = mysql_query( - 'SELECT `id`,`item_id`,`1price`,`2price`,`3price`,`4price`,`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)$tims[0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" LIMIT ' . ((int)$tims[1] * $x) . '' - ); - while ($p1l = mysql_fetch_array($s1p)) { - $num_rows++; - } - if ($num_rows < (int)$tims[1] * $x) { - $trn = 0; - } else { - $detrn[count($detrn)] = [0 => $tims[0], 1 => ((int)$tims[1] * $x)]; //id_item - } - $trnt .= '[' . $tis['name'] . ' (x' . $x . ')]x' . $tims[1] . ', '; - } - } - $j++; - } - $trnt = rtrim($trnt, ', '); - } - if (Config::get('noitembuy')) { - $trn = 1; - } - - $need_rep = 0; - if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки - $tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']); - foreach ($tr_rep as $row) { - if ($this->rep[$row[0]] >= $row[1]) { - $need_rep++; - } - } - } - - $mxby = 0; - if ($i['max_buy'] > 0) { - $mxby = mysql_fetch_array( - mysql_query( - 'SELECT COUNT(`id`) FROM `items_users` WHERE ( `delete` = "0" OR `delete` = "1000" ) AND `item_id` = "' . mysql_real_escape_string( - $itm - ) . '" AND `uid` = "' . $this->info['id'] . '" LIMIT ' . $i['max_buy'] - ) - ); - if ($mxby[0] >= $i['max_buy']) { - $mxby = -1; - } - } - - if ($i['max_buy'] < $x && $i['max_buy'] > 0) { - $r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.'; - } elseif ($need_rep > 0) { - $r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.'; - } elseif ($mxby == -1) { - $r = 'Максимальное количество покупок для данного предмета исчерпана'; - } elseif ($trn == 0 && $this->info['admin'] == 0) { - $r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')'; - } elseif ($i['price_3'] * $x > $this->info['money3']) { - $r = 'У вас недостаточно валюты (не хватает ' . ($price - $this->info['money3']) . ' $)'; - } else { - $d = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1' - ) - ); - $this->info['money3'] -= $price; - $upd = mysql_query( - 'UPDATE `users` SET `money3` = "' . mysql_real_escape_string( - $this->info['money3'] - ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if ($upd) { - //новая дата - $data = ''; - $data .= $d['data']; - if ($mdata != null) { - $data .= '|' . $mdata; - } - $ix = 1; - $gix = 0; - while ($ix <= $x) { - if ($i['type'] != 71) { - if ($i['iznos'] > 0) { - $i['iznosMAXi'] = $i['iznos']; - } - $ins = mysql_query( - 'INSERT INTO `items_users` (`1price`,`2price`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES ( - "1", - "1", - "' . $i['overType'] . '", - "' . $i['item_id'] . '", - "' . $this->info['id'] . '", - "' . str_replace( - 'sudba=0', '', $data - ) . '|sudba=' . $this->info['login'] . '|frombax=1|fromshop=' . $sid . '", - "' . $i['iznosMAXi'] . '", - "' . $i['geniration'] . '", - "' . $i['magic_inc'] . '", - "' . $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; - } - $r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' $. ' . $trnt . '
Предмет успешно добавлен в инвентарь.'; - - $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'], - '"Shop.' . $this->info['city'] . '": Приобрел предмет "' . $i['name'] . '" (x' . $x . ') [#' . $i['iid'] . '] за ' . $price . ' $', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - } else { - //Записываем в личное дело что предмет не получен - $r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' $
Приносим свои извинения за неудобства.'; - $ld = $this->addDelo( - 1, $this->info['id'], - '"Shop.' . $this->info['city'] . '": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: ' . $price . ' $ ', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - if (!$ld) { - echo '
Ошибка, невозможно добавить запись в /db/usersDelo/!
'; - } - } - } else { - $r = 'Вам не удалось приобрести предмет...'; - } - } - } elseif ($sid == 2 || $sid == 777) { - if ($i['kolvo'] < $x) { - $x = $i['kolvo']; - } - if ($i['price_2'] <= 0) { - $i['price_2'] = $i['price2']; - } - if ($i['price_1'] <= 0) { - $i['price_1'] = $i['price1']; - } - if ($vip) { - $i['price_2'] = round($i['price_2'] / 20, 2); - } - - //Скидка в государственный магазин 5% - if ($this->stats['silver'] >= 1 && $sid == 2) { - $i['price_1'] = round($i['price_1'] / 100 * 95, 2); - } - - //Скидка в березку магазин 5% - if ($this->stats['silver'] >= 5 && $sid == 2) { - $i['price_2'] = round($i['price_2'] / 100 * 95, 2); - } - - $price = $i['price_2'] * $x; - $mxby = 0; - if ($i['max_buy'] > 0) { - $mxby = mysql_fetch_array( - mysql_query( - 'SELECT COUNT(`id`) FROM `items_users` WHERE ( `delete` = "0" OR `delete` = "1000" ) AND `item_id` = "' . mysql_real_escape_string( - $itm - ) . '" AND `uid` = "' . $this->info['id'] . '" LIMIT ' . $i['max_buy'] - ) - ); - if ($mxby[0] >= $i['max_buy']) { - $mxby = -1; - } - } - - if ($i['max_buy'] < $x && $i['max_buy'] > 0) { - $r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.'; - } elseif ($mxby == -1) { - $r = 'Максимальное количество покупок для данного предмета исчерпана'; - } elseif ($i['price_2'] * $x > $this->info['money2']) { - $r = 'У вас недостаточно денег на счете (не хватает ' . ($price - $this->info['money2']) . ' екр.)'; - } else { - $d = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1' - ) - ); - $this->info['money2'] -= $price; - $upd = mysql_query( - 'UPDATE `users` SET `money2` = "' . mysql_real_escape_string( - round($this->info['money2'], 2) - ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if ($upd) { - $this->info['frg'] += $price; - mysql_query( - 'UPDATE `users` SET `frg` = "' . floor( - $this->info['frg'] - ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - //новая дата - $data = ''; - $data .= $d['data']; - $i['time_create'] = time(); - if ($vip) { - $i['time_create'] = $this->stats['slvtm']; - $mdata .= '|vip_sale=1|sudba=' . $this->info['login'] . ''; - $data = str_replace('sudba=0', '', $data); - $data = str_replace('sudba=1', '', $data); - } - if ($mdata != null) { - $data .= '|' . $mdata; - } - $ix = 1; - $gix = 0; - while ($ix <= $x) { - if ($i['type'] != 71) { - if ($i['iznos'] > 0) { - $i['iznosMAXi'] = $i['iznos']; - } - $ins = mysql_query( - 'INSERT INTO `items_users` (`1price`,`2price`,`overType`,`item_id`,`uid`,`data`,`iznosMAX`,`geniration`,`magic_inc`,`maidin`,`lastUPD`,`time_create`) VALUES ( - "' . ($i['price_1'] / 2) . '", - "' . $i['price_2'] . '", - "' . $i['overType'] . '", - "' . $i['item_id'] . '", - "' . $this->info['id'] . '", - "' . $data . '|fromshop=' . $sid . '", - "' . $i['iznosMAXi'] . '", - "' . $i['geniration'] . '", - "' . $i['magic_inc'] . '", - "' . $this->info['city'] . '", - "' . time() . '", - "' . $i['time_create'] . '")' - ); - } 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) { - //Записываем в личное дело что предмет получен - $r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $price . ' екр.
Предмет успешно добавлен в инвентарь.'; - mysql_query( - 'UPDATE `items_shop` SET `kolvo` = "' . ($i['kolvo'] - $x) . '" WHERE `iid` = "' . $i['iid'] . '" LIMIT 1' - ); - $ld = $this->addDelo( - 1, $this->info['id'], - '"EkrShop.' . $this->info['city'] . '": Приобрел предмет "' . $i['name'] . '" (x' . $x . ',add items ' . $gix . ') [#' . $i['iid'] . '] за ' . $price . ' екр.', - time(), $this->info['city'], 'EkrShop.' . $this->info['city'] . '', (int)$price, 0 - ); - } else { - //Записываем в личное дело что предмет не получен - $r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' екр.
Приносим свои извинения за неудобства.'; - $ld = $this->addDelo( - 1, $this->info['id'], - '"EkrShop.' . $this->info['city'] . '": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: ' . $price . ' екр.', - time(), $this->info['city'], 'EkrShop.' . $this->info['city'] . '', 0, 0 - ); - if (!$ld) { - echo '
Ошибка, невозможно добавить запись в /db/usersDelo/!
'; - } - } - } else { - $r = 'Вам не удалось приобрести предмет...'; - } - } - } elseif (($sid >= 700 && $sid <= 730) /*OR ( $sid >= 800 && $sid <=805 )*/) { // nalpva2.php Покупаем предмет, и перемещаем в него Чарку, Руну и прочее. - if ($i['kolvo'] < $x) { - $x = $i['kolvo']; - } - if ($x < 1) { - $x = 1; - } - if ($i['price_1'] <= 0 && $i['tr_items'] == '') { - $i['price_1'] = $i['price1']; - } - if ($i['price_2'] <= 0 && $i['tr_items'] == '') { - $i['price_2'] = $i['price2']; - } - - $price = $i['price_1'] * $x; - $trnt = ''; - $detrn = []; - $trn = 1; - if ($i['tr_items'] != '') { - $tims2 = explode(',', $i['tr_items']); - $j = 0; - while ($j < count($tims2)) { - $tims = explode('=', $tims2[$j]); - if ($tims[0] > 0 && $tims[1] > 0) { - $tis = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $tims[0] . '" LIMIT 1' - ) - ); - if (isset($tis['id'])) { - $num_rows = 0; - $s1p = 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)$tims[0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" LIMIT ' . ((int)$tims[1] * $x) . '' - ); - while ($p1l = mysql_fetch_array($s1p)) { - $num_rows++; - } - if ($num_rows < (int)$tims[1] * $x) { - $trn = 0; - } else { - $detrn[count($detrn)] = [0 => $tims[0], 1 => ((int)$tims[1] * $x)]; //id_item - } - $trnt .= '[' . $tis['name'] . ' (x' . $x . ')]x' . $tims[1] . ', '; - } - } - $j++; - } - $trnt = rtrim($trnt, ', '); - } - if (Config::get('noitembuy')) { - $trn = 1; - } - - if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки - $need_rep = 0; - $tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']); - foreach ($tr_rep as $row) { - if ($this->rep[$row[0]] >= $row[1]) { - $need_rep++; - } - } - } else { - $need_rep = 0; - } - - $mxby = 0; - if ($i['max_buy'] > 0) { - $mxby = mysql_fetch_array( - mysql_query( - 'SELECT COUNT(`id`) FROM `items_users` WHERE ( `delete` = "0" OR `delete` = "1000" ) AND `item_id` = "' . mysql_real_escape_string( - $itm - ) . '" AND `uid` = "' . $this->info['id'] . '" LIMIT ' . $i['max_buy'] - ) - ); - if ($mxby[0] >= $i['max_buy']) { - $mxby = -1; - } - } - - if ($i['max_buy'] < $x && $i['max_buy'] > 0) { - $r = 'Для покупки доступно ' . $i['max_buy'] . ' шт.'; - } elseif ($need_rep > 0) { - $r = 'Вы не заслужили нашего доверия, мы не продадим вам этот товар.'; - } elseif ($i['price_1'] * $x > $this->info['money4'] && $zuby == 1) { - $r = 'У вас недостаточно денег.'; - } elseif ($mxby == -1) { - $r = 'Максимальное количество покупок для данного предмета исчерпана
Возможно купить: ' . $i['max_buy'] . ' шт.'; - } elseif ($trn == 0 && $this->info['admin'] == 0) { - $r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')'; - } elseif ($i['price_1'] * $x > $this->info['money'] && $zuby == 0) { - $r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)'; - } else { - $d = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $i['id'] . '" LIMIT 1' - ) - ); - if ($zuby == 0) { - $this->info['money'] -= $price; - } - $upd = mysql_query( - 'UPDATE `users` SET `money` = "' . mysql_real_escape_string( - round($this->info['money'], 2) - ) . '",`money4` = "' . mysql_real_escape_string( - round($this->info['money4'], 2) - ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if ($upd) { - //новая дата - $data = ''; - $data .= $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' - ) - ); + $this->getStats($this->info); // Бля, а вдруг? - 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++; - } - 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'] = ''; - - $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'] . '", - "' . $i['overType'] . '", - "' . $i['item_id'] . '", - "' . $this->info['id'] . '", - "' . $data . '|fromshop=' . $sid . '", - "' . $i['iznosMAXi'] . '", - "' . $i['geniration'] . '", - "' . $i['magic_inc'] . '", - "' . $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 . '
Предмет успешно добавлен в инвентарь.'; - } else { - $r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $this->zuby( - $price - ) . '. ' . $trnt . '
Предмет успешно добавлен в инвентарь.'; - } - - $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'], - '"Shop.' . $this->info['city'] . '": Приобрел предмет "' . $i['name'] . '" (x' . $x . ') [#' . $i['iid'] . '] за ' . $price . ' кр.', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - } else { - //Записываем в личное дело что предмет не получен - $r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' кр.
Приносим свои извинения за неудобства.'; - $ld = $this->addDelo( - 1, $this->info['id'], - '"Shop.' . $this->info['city'] . '": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: ' . $price . ' кр.', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - if (!$ld) { - echo '
Ошибка, невозможно добавить запись в /db/usersDelo/!
'; - } - } - } else { - $r = 'Вам не удалось приобрести предмет...'; - } - } - } else { // Стандартная покупка предмета - if ($i['kolvo'] < $x) { - $x = $i['kolvo']; - } - if ($x < 1) { - $x = 1; - } - if ($i['price_1'] <= 0 && $i['tr_items'] == '') { - $i['price_1'] = $i['price1']; - } - if ($i['price_2'] <= 0 && $i['tr_items'] == '') { - $i['price_2'] = $i['price2']; - } - - //Скидка в государственный магазин 5% - if ($this->stats['silver'] >= 1 && $sid == 1) { - $i['price_1'] = round($i['price_1'] / 100 * 95, 2); - } - - //Скидка в березку магазин 5% - if ($this->stats['silver'] >= 5 && $sid == 2) { - $i['price_2'] = round($i['price_2'] / 100 * 95, 2); - } - - $price = $i['price_1'] * $x; - - $trnt = ''; - $detrn = []; - $trn = 1; - if ($i['tr_items'] != '') { - $tims2 = explode(',', $i['tr_items']); - $j = 0; - while ($j < count($tims2)) { - $tims = explode('=', $tims2[$j]); - if ($tims[0] > 0 && $tims[1] > 0) { - $tis = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $tims[0] . '" LIMIT 1' - ) - ); - if (isset($tis['id'])) { - $num_rows = 0; - $s1p = 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)$tims[0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0" LIMIT ' . ((int)$tims[1] * $x) . '' - ); - while ($p1l = mysql_fetch_array($s1p)) { - $num_rows++; - } - if ($num_rows < (int)$tims[1] * $x) { - $trn = 0; - } else { - $detrn[count($detrn)] = [0 => $tims[0], 1 => ((int)$tims[1] * $x)]; //id_item - } - $trnt .= '[' . $tis['name'] . ' (x' . $x . ')]x' . $tims[1] . ', '; - } - } - $j++; - } - $trnt = rtrim($trnt, ', '); - } - if (Config::get('noitembuy')) { - $trn = 1; - } - - if (isset($i['tr_reputation']) && $i['tr_reputation'] != '') { // Требуемая репутация для покупки - $need_rep = 0; - $tr_rep = ConversionHelper::dataStringToArray($i['tr_reputation']); - foreach ($tr_rep as $key => $val) { - if ((int)$this->rep[$key] > (int)$val) { - $need_rep++; - } - } - } else { - unset($need_rep); - } - - $mxby = 0; - if ($i['max_buy'] > 0) { - $mxby = mysql_fetch_array( - mysql_query( - 'SELECT COUNT(`id`) FROM `items_users` WHERE ( `delete` = "0" OR `delete` = "1000" ) AND `item_id` = "' . mysql_real_escape_string( - $itm - ) . '" AND `uid` = "' . $this->info['id'] . '" LIMIT ' . $i['max_buy'] - ) - ); - if ($mxby[0] >= $i['max_buy']) { - $mxby = -1; - } - } - - $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 ($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) { - $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 = 'Максимальное количество покупок для данного предмета исчерпана
Возможно купить: ' . $i['max_buy'] . ' шт.'; - } elseif ($trn == 0 && $this->info['admin'] == 0) { - $r = 'У вас недостаточно требуемых предметов (не хватает ' . $trnt . ')'; - } elseif ($i['price_1'] * $x > $this->info['money'] && $zuby == 0) { - $r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)'; - } else { - if ($zuby == 0) { - $this->info['money'] -= $price; - } else { - $this->info['money4'] -= $price; - } - $upd = mysql_query( - 'UPDATE `users` SET `money` = "' . mysql_real_escape_string( - round($this->info['money'], 2) - ) . '",`money4` = "' . mysql_real_escape_string( - round($this->info['money4'], 2) - ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if ($upd) { - //новая дата - $data = ''; - $data .= $d['data']; - $data = str_replace('sudba=1', 'sudba=' . $this->info['login'], $data); - - if ($mdata != null) { - $data .= '|' . $mdata; - } - - $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'; - } - - $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'] . '", - "' . $i['overType'] . '", - "' . $i['item_id'] . '", - "' . $this->info['id'] . '", - "' . $data . '|fromshop=' . $sid . '", - "' . $i['iznosMAXi'] . '", - "' . $i['geniration'] . '", - "' . $i['magic_inc'] . '", - "' . $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 . '
Предмет успешно добавлен в инвентарь.'; - } else { - $r = 'Вы приобрели предмет "' . $i['name'] . '" (x' . $x . ' / ' . $gix . ') за ' . $this->zuby( - $price - ) . '. ' . $trnt . '
Предмет успешно добавлен в инвентарь.'; - } - - $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 = ' (За зубы)'; - } - $ld = $this->addDelo( - 1, $this->info['id'], - '"Shop.' . $this->info['city'] . '": Приобрел предмет "' . $i['name'] . '" (x' . $x . ') [#' . $i['iid'] . '] за ' . $price . ' кр.' . $zuby_inf . '', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - } else { - //Записываем в личное дело что предмет не получен - $r = 'Вам не удалось приобрести "' . $i['name'] . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' кр.
Приносим свои извинения за неудобства.'; - $ld = $this->addDelo( - 1, $this->info['id'], - '"Shop.' . $this->info['city'] . '": не удалось приобрести предмет #' . $i['iid'] . '. К возрату: ' . $price . ' кр.', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - if (!$ld) { - echo '
Ошибка, невозможно добавить запись в /db/usersDelo/!
'; - } - } - } else { - $r = 'Вам не удалось приобрести предмет...'; - } - } - } - } else { - $r = 'Предмет не найден на прилавке'; - } - return '
' . $r . '
'; - } - - public function addDelo($type, $uid, $txt, $tm, $ct, $frm, $mo, $mi, $vvv = false) - { - 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, - '', - ] - ); - } - - public function newAct($test): bool - { - $r = true; - if ($test != $this->info['nextAct'] && $this->info['nextAct'] != '0') { - $r = false; - } else { - $na = md5(time() . '_nextAct_' . rand(0, 100)); - $upd = mysql_query( - 'UPDATE `stats` SET `nextAct` = "' . $na . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if (!$upd) { - $r = false; - } else { - $this->info['nextAct'] = $na; - } - } - return $r; - } - - public function buyItemCommison($sid, $item, $iid = null): string - { - global $sid; - $sid = mysql_real_escape_string($sid); - $itme = mysql_real_escape_string($item); - $iid = mysql_real_escape_string($iid); - $i2 = mysql_fetch_array( - mysql_query( - 'SELECT `iu`.`uid`, `iu`.`id`, `iu`.`uid`, `iu`.`1price`, `iu`.inGroup, `iu`.`data`, `iu`.`inShop`, `iu`.`item_id`, `u`.`login` as login FROM `items_users` as `iu` LEFT JOIN `users` as `u` ON `u`.id=`iu`.uid WHERE `iu`.`id` = ' . $iid . ' AND `iu`.`inShop` = 30 LIMIT 1' - ) - ); - $i1 = mysql_fetch_array( - mysql_query('SELECT `name`,`price1` FROM `items_main` WHERE `id` = ' . $i2['item_id'] . ' LIMIT 1') - ); - $price = $i2['1price']; - if (isset($i2['id']) && isset($iid) && $sid == 1 && $i2['inShop'] == 30) { - if ($price > $this->info['money']) { - $r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)'; - } else { - $UpdMoney = mysql_query( - 'UPDATE `users` SET `money` = "' . mysql_real_escape_string( - round($this->info['money'] - $price, 2) - ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if ($UpdMoney) { - $this->info['money'] -= $price; - $UpMoney2 = mysql_query( - 'UPDATE `users` SET `money` = `money` + ' . $price . ' WHERE `id` = ' . $i2['uid'] . ' LIMIT 1' - ); - - $col = $this->itemsX($iid); - if ($col > 1) { - $UpItems = mysql_query( - 'UPDATE `items_users` SET `uid` = ' . $this->info['id'] . ', `inGroup` = `inGroup`+1000, `1price` = "' . $i1['price1'] . '", `lastUPD` = "' . time() . '", `inShop` = 0 WHERE `inShop` = 30 AND `inOdet` = "0"AND `item_id`="' . $i2['item_id'] . '" AND `uid`="' . $i2['uid'] . '" AND `inGroup` = "' . $i2['inGroup'] . '" LIMIT ' . $col . '' - ); - } else { - $UpItems = mysql_query( - 'UPDATE `items_users` SET `uid` = ' . $this->info['id'] . ', `1price` = "' . $i1['price1'] . '", `lastUPD` = "' . time() . '", `inShop` = 0 WHERE `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" AND `uid`="' . $i2['uid'] . '" LIMIT 1' - ); - } - //Вставляем функцию передачи кредитов владельцу предмета - if ($UpItems) { - //Записываем в личное дело что предмет получен - $r = 'Вы приобрели предмет "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '" за ' . $price . ' кр.
Предмет успешно добавлен в инвентарь.'; - $ld = $this->addDelo( - 1, $this->info['id'], - '"ComissShop.' . $this->info['city'] . '": Приобрел предмет "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '" [item:' . $iid . '] в коммисионном магазине за ' . $price . ' кр. [Продавец: ' . ($i2['login'] != '' ? '' . $i2['login'] . '' : '(' . $i2['uid'] . ')') . ']', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', $price, 0 - ); - $u2s = mysql_fetch_array( - mysql_query('SELECT * FROM `users` WHERE `id` = "' . $i2['uid'] . '" LIMIT 1') - ); - $ld = $this->addDelo( - 1, $u2s['id'], - '"ComissShop.' . $this->info['city'] . '": Продал предмет "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '" [item:' . $iid . '] через коммисионный магазине за ' . $price . ' кр. [Покупатель: ' . $this->info['login'] . ']', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', 0, $price - ); - } else { - //Записываем в личное дело что предмет не получен - $r = 'Вам не удалось приобрести "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' екр.
Приносим свои извинения за неудобства.'; - $ld = $this->addDelo( - 1, $this->info['id'], - '"EkrShop.' . $this->info['city'] . '": не удалось приобрести предмет #' . $i1['iid'] . '. К возрату: ' . $price . ' кр.', - time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 - ); - if (!$ld) { - echo '
Ошибка, невозможно добавить запись в /db/usersDelo/!
'; - } - } - } else { - $r = 'Вам не удалось приобрести предмет...'; - } - } - } else { - $r = 'Предмет не найден на прилавке'; - } - return '
' . $r . '
'; - } - - public function commisonRent($action, $iid, $price = null) - { - if ($action == "Сдать в магазин" && isset($iid) && $price > 0) { - $ChImtem = mysql_fetch_array( - mysql_query( - 'SELECT `id`, `item_id`, `data`, `inGroup`, `uid` FROM `items_users` WHERE `id` = ' . $iid . ' LIMIT 1' - ) - ); - $ChSudba = ConversionHelper::dataStringToArray($ChImtem['data']); - if (!isset($ChSudba['sudba']) && $ChSudba['sudba'] == 0 && $ChSudba['sudba'] != 1 && !isset($ChSudba['toclan'])) { - if (isset($ChImtem['inGroup']) and $ChImtem['inGroup'] > 0) { - $col = $this->itemsX($ChImtem['id']); - if ($col > 1) { - mysql_query( - 'UPDATE `items_users` SET `inShop` = 30, `1price` = ' . $price . ' WHERE `item_id`="' . $ChImtem['item_id'] . '" AND `uid`="' . $ChImtem['uid'] . '" AND `inGroup` = "' . $ChImtem['inGroup'] . '" LIMIT ' . $col . '' - ); - } else { - mysql_query( - 'UPDATE `items_users` SET `inShop` = 30, `1price` = ' . $price . ' WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } - } else { - mysql_query( - 'UPDATE `items_users` set `inShop` = 30, `1price` = ' . $price . ' where `uid` = "' . $this->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } - } - } elseif ($action == "Забрать" && isset($iid)) { - $i = mysql_fetch_array( - mysql_query( - 'SELECT `im`.`price1`,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . $iid . '" AND `iu`.`inShop` = "30" AND `iu`.`delete` = "0" LIMIT 1' - ) - ); - if (isset($i['inGroup']) and $i['inGroup'] > 0) { - $col = $this->itemsX($i['id']); - if ($col > 1) { - mysql_query( - 'UPDATE `items_users` SET `inShop` = 0, `1price` = ' . $i['price1'] . ' WHERE `item_id`="' . $i['item_id'] . '" AND `inShop` = "30" AND `uid`="' . $i['uid'] . '" AND `inGroup` = "' . $i['inGroup'] . '" LIMIT ' . $col . '' - ); - } else { - mysql_query( - 'UPDATE `items_users` SET `inShop` = 0, `1price` = ' . $i['price1'] . ' WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } - } else { - mysql_query( - 'UPDATE `items_users` SET `inShop` = 0, `1price` = "' . $i['price1'] . '" WHERE `id` = "' . $iid . '" and `inShop` = "30" LIMIT 1' - ); - } + $this->info['achiv'] = Db::getRow('select * from users_achiv where id = ?', [$this->info['id']]); + if (!isset($this->info['achiv']['id'])) { + Db::sql('insert into users_achiv (id) value (?)', [$this->info['id']]); + $this->info['achiv'] = Db::getRow('select * from users_achiv where id = ?', [$this->info['id']]); } - } - public function bronFx($br): string - { - $r = ''; - if ($br[0] > 0) { - $r .= $br[0] - 1; - } else { - $r .= 0; - } - $r .= 'd'; - if ($br[0] > 0) { - $r .= $br[1] - $br[0]; - } else { - $r .= 0; + if (isset($this->info['id']) && $this->info['exp'] > 300000 && $this->info['twink'] > 0) { + $this->info['exp'] = 300000; + Db::sql('update stats set exp = ? where id = ?', [$this->info['exp'], $this->info['id']]); } - return $r; - } - - public $sid_zuby = [ - //Кэпитал - 1 => 1, //гос - 9 => 1, //таверна - 8 => 1, //зоо - ]; - - public function shopItems($sid, $plu = '') - { - global $c, $code, $sid; - - $sid_zuby = 0; - - if (isset($this->sid_zuby[$sid])) { - $sid_zuby = 1; - } - - if ($this->info['admin'] > 0) { - $ishp = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `items_shop` WHERE `sid` = "' . mysql_real_escape_string( - $sid - ) . '" AND `r` = "' . mysql_real_escape_string( - $_GET['otdel'] - ) . '" AND `item_id` = "' . mysql_real_escape_string($_GET['itmid']) . '" AND `kolvo` > 0 LIMIT 1' - ) - ); - if (isset($_GET['itmup'])) { - mysql_query( - 'UPDATE `items_shop` SET `pos` = "' . ($ishp['pos'] - 1) . '" WHERE `sid` = "' . mysql_real_escape_string( - $sid - ) . '" AND `r` = "' . mysql_real_escape_string( - $_GET['otdel'] - ) . '" AND `item_id` = "' . mysql_real_escape_string($_GET['itmid']) . '" AND `kolvo` > 0 LIMIT 1' - ); - } elseif (isset($_GET['itmdown'])) { - mysql_query( - 'UPDATE `items_shop` SET `pos` = "' . ($ishp['pos'] + 1) . '" WHERE `sid` = "' . mysql_real_escape_string( - $sid - ) . '" AND `r` = "' . mysql_real_escape_string( - $_GET['otdel'] - ) . '" AND `item_id` = "' . mysql_real_escape_string($_GET['itmid']) . '" AND `kolvo` > 0 LIMIT 1' - ); - } - } - - - $cl = mysql_query( - 'SELECT - `ish`.`price_4`,`im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `ish`.`iid`,`ish`.`item_id`,`ish`.`data2`,`ish`.`iznos`,`ish`.`pos`,`ish`.`cantBuy`,`ish`.`kolvo`,`ish`.`geniration`,`ish`.`magic_inc`,`ish`.`timeOver`,`ish`.`overType`,`ish`.`secret_id`,`ish`.`sid`,`ish`.`r`,`ish`.`price_1`,`ish`.`price_2`,`ish`.`price_3`,`ish`.`level`,`ish`.`tr_items`,`ish`.`max_buy`,`ish`.`real`,`ish`.`nozuby` - FROM `items_shop` AS `ish` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `ish`.`item_id`) WHERE `ish`.`sid` = "' . mysql_real_escape_string( - $sid - ) . '" AND `ish`.`r` = "' . mysql_real_escape_string($_GET['otdel']) . '" ORDER BY `ish`.`pos` ASC' - ); - - $cr = 'c8c8c8'; - $i = 0; - $jid = 0; - while ($pl = mysql_fetch_array($cl)) { - if ($pl['kolvo'] > 0) { - $jid++; - $cr = $cr == 'd4d4d4' ? 'c8c8c8' : 'd4d4d4'; - if ($pl['price_1'] < 0.01 && $pl['tr_items'] == '') { - $pl['price_1'] = $pl['price1']; - } - if ($pl['price_2'] < 0.01 && $pl['tr_items'] == '') { - $pl['price_2'] = $pl['price2']; - } - - if ($pl['price_1'] < 0) { - $pl['price_1'] = 0; - } - if ($pl['price_2'] < 0) { - $pl['price_2'] = 0; - } - $d = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`items_id`,`data` FROM `items_main_data` WHERE `items_id` = "' . $pl['id'] . '" LIMIT 1' - ) - ); - if (empty($d['data'])) { - $d['data'] = ''; - } - $po = ConversionHelper::dataStringToArray($d['data']); - - if ($sid == 609) { - $po['icos'] = 'WL'; - } - - if (($pl['type'] >= 18 && $pl['type'] <= 24) || $pl['type'] == 26 || $pl['type'] == 27) { - //Зоны блока + - $po['zonb']++; - } - - $is2 = ''; - if ($pl['type'] == 71) { - $is1 = '
'; - } else { - $is1 = '
'; - } - if ($sid == 609) { - $is1 .= 'купить'; - } else { - //if($this->info['money']>$pl['price']) - //{ - if ($sid == 2 || $sid == 777) { - $is1 .= 'купить '; - } else { - $is1 .= 'купить '; - } - //} - - if ($pl['nozuby'] == 0 && $this->info['level'] > 0 && $this->info['level'] < 8 && $pl['level'] < 8 && $sid_zuby == 1 && Config::get( - 'zuby' - )) { - $is1 .= '
купить за зубы'; - } - } - - //название - - if (isset($po['tr_align']) && !isset($po['tr_align_bs'])) { - $pl['name'] .= ''; - } elseif (isset($po['tr_align_bs'])) { - if ($po['tr_align_bs'] == '1') { - $pl['name'] .= ''; - } elseif ($po['tr_align_bs'] == '3') { - $pl['name'] .= ''; - } - } - - if (isset($po['renameadd']) && $po['renameadd'] != '') { - $pl['name'] .= ' (Предмет: ' . $po['renameadd'] . ')'; - } - if (isset($po['icos'])) { - $pl['name'] = '' . $pl['name'] . '  ' . $po['icos'] . ' '; - } - $is2 .= '' . $pl['name'] . '    '; - - - if ($pl['massa'] > 0) { - $is2 .= '(Масса: ' . round($pl['massa'], 2) . ')'; - } - - if (isset($po['art'])) { - $is2 .= ' '; - } - - if (isset($po['sudba'])) { - if ($po['sudba'] == '0') { - $is2 .= ' '; - } elseif ($po['sudba'] == '1') { - $is2 .= ' '; - } else { - $is2 .= ' '; - } - } - - //цена - if ($this->info['admin'] > 0) { - $is2 .= '
  ' . $pl['pos'] . '  
'; - } - $is2 .= '
Цена: '; - if ($this->stats['silver'] >= 1 && $sid == 1 || $this->stats['silver'] >= 5 && ($sid == 2 || $sid == 777)) { - $is2 .= ''; - } - if ($sid == 609) { - if ($pl['price_4'] > ($this->rep['rep3'] - $this->rep['rep3_buy'])) { - $is2 .= '' . round($pl['price_4']) . ''; - } else { - $is2 .= '' . round($pl['price_4']) . ''; - } - - $is2 .= ' Воинственности '; - } elseif ($pl['price_3'] > 0) { - if ($pl['price_3'] > $this->info['money3']) { - $is2 .= '' . $pl['price_3'] . ''; - } else { - $is2 .= $pl['price_3']; - } - $is2 .= ' $ '; - } elseif ($sid == 2 || $sid == 777) { - $is .= ''; - if ($pl['price_2'] > $this->info['money2']) { - $is2 .= '' . $pl['price_2'] . ''; - } else { - $is2 .= $pl['price_2']; - } - $is2 .= ' екр. '; - } else { - if ($pl['price_1'] > $this->info['money']) { - $is2 .= '' . $pl['price_1'] . ''; - } else { - $is2 .= $pl['price_1']; - } - $is2 .= ' кр. '; - } - if ($this->stats['silver'] >= 1 && $sid == 1) { - $is2 .= '   '; - if ($pl['price_1'] > $this->info['money']) { - $is2 .= '' . round($pl['price_1'] * 0.95, 2) . ''; - } else { - $is2 .= round($pl['price_1'] * 0.95, 2); - } - $is2 .= ' кр. Скидка -5%'; - } elseif ($this->stats['silver'] >= 5 && ($sid == 2 || $sid == 777)) { - $is2 .= '   '; - if ($pl['price_2'] > $this->info['money2']) { - $is2 .= '' . round($pl['price_2'] * 0.95, 2) . ''; - } else { - $is2 .= round($pl['price_2'] * 0.95, 2); - } - $is2 .= ' екр. Скидка -5%'; - } - - if ($pl['pricerep'] > 0) { - $is2 .= ' (' . round($pl['pricerep'], 2) . ' Воинственности)'; - } - - if ($pl['kolvo'] < 100000) { - $is2 .= '     (количество: ' . $pl['kolvo'] . ')'; - } - - if ($pl['nozuby'] == 0 && $sid != 609 && Config::get( - 'zuby' - ) && $this->info['level'] > 0 && $this->info['level'] < 8 && $pl['level'] < 8 && $sid_zuby == 1) { - if ($this->stats['silver'] > 0 && $sid == 1) { - $is2 .= ' (' . ltrim($this->zuby(round($pl['price_1'] * 0.95, 2)), ' ') . ')'; - } else { - $is2 .= ' (' . ltrim($this->zuby($pl['price_1']), ' ') . ')'; - } - } - - if ($pl['tr_items'] != '') { - $ttmm = ''; - $trn = 1; - $tims2 = explode(',', $pl['tr_items']); - $j = 0; - while ($j < count($tims2)) { - $tims = explode('=', $tims2[$j]); - if ($tims[0] > 0 && $tims[1] > 0) { - $tis = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $tims[0] . '" LIMIT 1' - ) - ); - if (isset($tis['id'])) { - $num_rows = 0; - $s1p = 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)$tims[0]) . '" AND `uid` = "' . $this->info['id'] . '" AND (`delete` = "0" OR `delete` = "1000") AND `inShop` = "0" AND `inOdet` = "0"' - ); - while ($p1l = mysql_fetch_array($s1p)) { - $num_rows++; - } - if ($num_rows < (int)$tims[1]) { - $trn = 0; - } - $ttmm .= '[' . $tis['name'] . '] x' . $tims[1] . ', '; - } - } - $j++; - } - if (Config::get('noitembuy')) { - $trn = 1; - $ttmm = ''; - } - - if ($ttmm != '') { - $ttmm = '
Требует предмет: ' . rtrim($ttmm, ', ') . ' '; - if ($trn == 0) { - $ttmm = '' . $ttmm . ''; - } - } - } - - $is2 .= $ttmm . '
'; - unset($ttmm); - - - //долговечность - if ($pl['iznos'] > 0) { - $pl['iznosMAXi'] = $pl['iznos']; - } - if ($pl['iznosMAXi'] > 0) { - if ($pl['iznosMAXi'] == 999999999) { - $is2 .= 'Долговечность: неразрушимо
'; - } else { - $is2 .= 'Долговечность: 0/' . $pl['iznosMAXi'] . '
'; - } - } - - if ($po['battleUseZd'] > 0) { - $is2 .= 'Задержка использования: ' . $this->timeOut($po['battleUseZd']) . '
'; - } - - $is2 = rtrim($is2, '
'); - - //Срок годности предмета - if ($po['srok'] > 0) { - $pl['srok'] = $po['srok']; - } - if ($pl['srok'] > 0) { - $is2 .= '
Срок годности: ' . $this->timeOut($pl['srok']); - } - if ($pl['magic_chance'] > 0) { - $is2 .= '
Вероятность срабатывания: ' . min([$pl['magic_chance'], 100]) . '%'; - } - - //Продолжительность действия магии: - if ((int)$pl['magic_inci'] > 0) { - $efi = mysql_fetch_array( - mysql_query( - 'SELECT `id2`,`mname`,`type1`,`img`,`mdata`,`actionTime`,`type2`,`type3`,`onlyOne`,`oneType`,`noAce`,`see`,`info`,`overch`,`bp`,`noch` FROM `eff_main` WHERE `id2` = "' . ((int)$pl['magic_inci']) . '" LIMIT 1' - ) - ); - if (isset($efi['id2']) && $efi['actionTime'] > 0) { - $is2 .= '
Продолжительность действия: ' . $this->timeOut($efi['actionTime']); - } - } - - //Требуется минимальное: - $tr = ''; - $t = $this->items['tr']; - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['tr_' . $n]) && $po['tr_' . $n] != 0) { - if ($po['tr_' . $n] > $this->stats[$n]) { - if ($n == 'rep') { - $temp = explode('::', $po['tr_' . $n]); - if ($this->rep['rep' . $temp[1]] < $temp[0]) { - $tr .= ''; - $notr++; - } - unset($temp); - } elseif ($n != 'align' || floor($this->info['align']) != $po['tr_' . $n]) { - $tr .= ''; - $notr++; - } - } - $tr .= '
• '; - if ($n == 'rep') { - $temp = explode('::', $po['tr_' . $n]); - $tr .= $this->is[$n] . ' ' . ucfirst( - str_replace('city', ' city', $temp[1]) - ) . ': ' . $temp[0]; - unset($temp); - } elseif ($n != 'align') { - if ($n == 'sex') { - if ($po['tr_' . $n] == 1) { - $tr .= $this->is[$n] . ': Женский'; - } else { - $tr .= $this->is[$n] . ': Мужской'; - } - } else { - $tr .= $this->is[$n] . ': ' . $po['tr_' . $n]; - } - } else { - $tr .= $this->is[$n] . ': ' . $this->align_nm[$po['tr_' . $n]]; - } - if ($po['tr_' . $n] > $this->stats[$n]) { - if ($n != 'align' || floor($this->info['align']) != $po['tr_' . $n]) { - $tr .= '
'; - } - } - } - $x++; - } - if ($tr != '') { - $is2 .= '
Требуется минимальное:' . $tr; - } - //Действует на: - $tr = ''; - $t = $this->items['add']; - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['add_' . $n], $this->is[$n])) { - $z = '+'; - if ($po['add_' . $n] < 0) { - $z = ''; - } - $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $po['add_' . $n]; - } - $x++; - } - //действует на (броня) - $i = 1; - $bn = [1 => 'головы', 2 => 'корпуса', 3 => 'пояса', 4 => 'ног']; - while ($i <= 4) { - if (isset($po['add_mab' . $i])) { - if ($po['add_mab' . $i] == $po['add_mib' . $i] && $pl['geniration'] == 1) { - $z = '+'; - if ($po['add_mab' . $i] < 0) { - $z = ''; - } - $tr .= '
• Броня ' . $bn[$i] . ': ' . $z . '' . $po['add_mab' . $i]; - } else { - $tr .= '
• Броня ' . $bn[$i] . ': ' . $po['add_mib' . $i] . '-' . $po['add_mab' . $i]; - } - } - $i++; - } - - if ($tr != '') { - $is2 .= '
Действует на:' . $tr; - } - //Свойства предмета: - $tr = ''; - $t = $this->items['sv']; - if (isset($po['sv_yron_min'], $po['sv_yron_max'])) { - $tr .= '
• Урон: ' . $po['sv_yron_min'] . ' - ' . $po['sv_yron_max']; - } - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['sv_' . $n])) { - $z = '+'; - if ($po['sv_' . $n] < 0) { - $z = ''; - } - $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $po['sv_' . $n]; - } - $x++; - } - if ($pl['2too'] == 1) { - $tr .= '
• Второе оружие'; - } - if ($pl['2h'] == 1) { - $tr .= '
• Двуручное оружие'; - } - if (isset($po['zonb'])) { - $tr .= '
• Зоны блокирования: '; - if ($po['zonb'] > 0) { - $x = 1; - while ($x <= $po['zonb']) { - $tr .= '+'; - $x++; - } - } else { - $tr .= '—'; - } - } - if ($tr != '') { - $is2 .= '
Свойства предмета:' . $tr; - } - - //Особенности - - $tr = ''; - - if (isset($po['imposed']) && $po['imposed'] > 0) { - if ($po['imposed_lvl'] == 0) { - $rnc = 'maroon'; - } elseif ($po['imposed_lvl'] == 1) { - $rnc = '#624542'; - } elseif ($po['imposed_lvl'] == 2) { - $rnc = '#77090b'; - } elseif ($po['imposed_lvl'] == 3) { - $rnc = '#d99800'; - } else { - $rnc = '#282828'; - } - $po['imposed_name'] = str_replace('Чары ', '', $po['imposed_name']); - $tr .= '
Наложены заклятия: ' . $po['imposed_name'] . ' '; - unset($rnc); - } - if ($tr != '') { - $is2 .= '
Улучшения предмета:'; - $is2 .= $tr; - } - - - if ($notr == 0) { - $d[0] = 1; - if ($pl['magic_inc'] != '') { - $d[2] = 1; - } - } - - if (isset($po['free_stats']) && $po['free_stats'] > 0) { - $is2 .= '
Распределение статов:
'; - $is2 .= '• Возможных распределений: +' . $po['free_stats'] . ' характеристик'; - } - - //Встроенная магия - if ($pl['magic_inci'] != '' || $pl['magic_inc'] != '') { - if ($pl['magic_inc'] == '') { - $pl['magic_inc'] = $pl['magic_inci']; - } - $mgi = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `eff_main` WHERE `id2` = "' . $pl['magic_inc'] . '" AND `type1` = "12345" LIMIT 1' - ) - ); - if (isset($mgi['id2'])) { - $is2 .= '
Встроено заклятие ' . $mgi['minfo'] . '
'; - } - } - - if (floor($pl['iznosNOW']) >= ceil($pl['iznosMAX'])) { - $d[0] = 0; - $d[2] = 0; - } - if (isset($po['complect'])) { - $is2 .= '
Дополнительная информация:'; - } - if (isset($po['complect'])) { - //не отображается - $com1 = ['name' => 'Неизвестный Комплект', 'x' => 0, 'text' => '']; - $spc = mysql_query( - 'SELECT `id`,`com`,`name`,`x`,`data` FROM `complects` WHERE `com` = "' . $po['complect'] . '" ORDER BY `x` ASC LIMIT 20' - ); - while ($plc = mysql_fetch_array($spc)) { - $com1['name'] = $plc['name']; - $com1['text'] .= '    • ' . $plc['x'] . ': '; - //действие комплекта - $i1c = 0; - $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($plc['data']); - while ($i1c < count($this->items['add'])) { - if (isset($i1e[$this->items['add'][$i1c]])) { - $i3c = $i1e[$this->items['add'][$i1c]]; - if ($i3c > 0) { - $i3c = '+' . $i3c; - } - if ($i2c > 0) { - $com1['text'] .= '    ' . $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } else { - $com1['text'] .= $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } - $com1['text'] .= '
'; - $i2c++; - } - $i1c++; - } - unset($i1c, $i2c, $i3c); - $com1['x']++; - } - $is2 .= '
• Часть комплекта: ' . $com1['name'] . '
'; - $is2 .= $com1['text']; - $is2 .= ''; - } - - if ($pl['max_text'] - $pl['use_text'] > 0) { - $is2 .= '
Количество символов: ' . ($pl['max_text'] - $pl['use_text']) . '
'; - } - - $is2 .= ''; - - if (isset($po['gravi'])) { - $is2 .= '
На поверхности выгравирована надпись: ' . $po['gravi'] . ''; - } - - if ($pl['info'] != '') { - $is2 .= '
Рекомендации:
' . $pl['info'] . '
'; - } - - if ($po['info'] != '') { - $is2 .= '
' . $po['info'] . '
'; - } - - if (isset($po['noremont'])) { - $is2 .= '
Предмет не подлежит ремонту
'; - } - - if (isset($po['nosale'])) { - $is2 .= '
Предмет нельзя продать
'; - } - - if (isset($po['nomodif'])) { - $is2 .= '
Предмет нельзя улучшать
'; - } - - if (isset($po['nodelete'])) { - $is2 .= '
Предмет нельзя выбросить
'; - } - - if (isset($po['frompisher']) && $po['frompisher'] > 0) { - $is2 .= '
Предмет из подземелья
'; - } - - if (isset($po['sleep_moroz']) && $po['sleep_moroz'] > 0) { - $is2 .= '
Предмет не портится во время сна
'; - } - - if (isset($po['fromlaba']) && $po['fromlaba'] > 0) { - $is2 .= '
Предмет из лабиринта
'; - } - - if (isset($po['vip_sale']) && $po['vip_sale'] > 0) { - $is2 .= '
Предмет куплен за 10% от стоимости
'; - } - - if ($pl['dn_delete'] > 0) { - $is2 .= '
Предмет будет удален при выходе из подземелья
'; - } - - if ($this->pokol > $pl['geni']) { - $is2 .= '
Предмет устарел
'; - } - - if (isset($po['zazuby']) && $po['zazuby'] > 0) { - $is2 .= '
Предмет куплен за зубы
'; - } - - $is2 .= '
'; - - $crd = ''; - - if ($this->info['admin'] > 0) { - $crd = 'Редактировать предмет   обновить
'; - } - - echo '' . $is1 . ' ' . $crd . '' . $is2 . ''; - $i++; - } - } - if ($i == 0) { - echo 'Прилавок магазина пуст'; - } - } - - public function price($vl) - { - if ($vl == round($vl)) { - $vl = $vl . '.00'; - } - $vl = explode('.', $vl); - $vl = $vl[0] . '.' . $vl[1] . ''; - return $vl; - } - - public function wipe() - { - if ($this->info['wipe'] > 0 && $this->info['battle'] == 0) { - //wipe = 1 , значит обнуляем статы и умения - if ($this->info['wipe'] < 4) { - $st = ConversionHelper::dataStringToArray($this->info['stats']); - $n1 = $this->info['ability']; //способности - $n2 = $this->info['skills']; //владение магией и оружием - $n3 = $this->info['sskills']; //особенности - $n4 = $this->info['nskills']; //??? - if ($this->info['wipe'] == 1 || $this->info['wipe'] == 2) { - $i = 1; - while ($i <= 11) { - if ($i <= 4) { - $n1 += $st['s' . $i] - 3; - $st['s' . $i] = 3; - } else { - $n1 += $st['s' . $i]; - $st['s' . $i] = 0; - } - $i++; - } - $n1 -= $this->info['level']; - $st['s4'] = 3 + $this->info['level']; - if ($this->info['level'] >= 9) { - $st['s4'] += 1; - $n1 -= 1; - } - if ($this->info['level'] >= 10) { - $st['s4'] += 2; - $n1 -= 2; - } - if ($this->info['level'] >= 11) { - $st['s4'] += 4; - $n1 -= 4; - } - } - - if ($this->info['wipe'] == 1 || $this->info['wipe'] == 3) { - $i = 1; - while ($i <= 7) { - $n2 += $st['a' . $i]; - $n2 += $st['mg' . $i]; - $st['a' . $i] = 0; - $st['mg' . $i] = 0; - $i++; - } - } - if ($this->info['wipe'] == 1 || $this->info['wipe'] == 3.5)#---Сброс особенностей - { - $i = 1; - while ($i <= 11) { - $n3 += $st['os' . $i]; - $st['os' . $i] = 0; - $i++; - } - } - //сохраняем данные - $st = ConversionHelper::arrayToDataString($st); - $upd = mysql_query( - 'UPDATE `stats` SET `wipe`="0",`stats`="' . $st . '",`ability`="' . $n1 . '",`skills`="' . $n2 . '",`sskills`="' . $n3 . '",`nskills`="' . $n4 . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - if ($upd) { - $this->info['stats'] = $st; - $this->info['ability'] = $n1; - $this->info['skills'] = $n2; - $this->info['sskills'] = $n3; - $this->info['nskills'] = $n4; - } - } - } - } - - public function __clone() - { - trigger_error('Дублирование не допускается.', E_USER_ERROR); - } - - //Сверяем требования предмета для его использования - public function trItem($po) - { - $tr = ''; - $t = $this->items['tr']; - $x = 0; - $notr = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['tr_' . $n])) { - if ($n == 'sex') { - if ($this->info['sex'] != $po['tr_' . $n]) { - $notr++; - } - } elseif ($po['tr_' . $n] > $this->stats[$n] && $n != 'align') { - $notr++; - } - } - $x++; - } - return $notr; - } - - public function freeStatsMod($id, $s, $uid) - { - $itm = mysql_fetch_array( - mysql_query( - 'SELECT - `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` - FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' - ) - ); - if (isset($itm['id'])) { - $po = ConversionHelper::dataStringToArray($itm['data']); - - //статы - if ($_GET['mf'] == 's1' || $_GET['mf'] == 's2' || $_GET['mf'] == 's3' || $_GET['mf'] == 's5') { - if (isset($po['mf_stats']) && $po['mf_stats'] > 0 && isset($po['add_' . $_GET['mf']])) { - $po['mf_stats'] = (int)$po['mf_stats']; - $po['mf_stats'] -= 1; - $po['add_' . $_GET['mf']] += 1; - - $po = ConversionHelper::arrayToDataString($po); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - } elseif ($_GET['mf'] == 'm1' || $_GET['mf'] == 'm2' || $_GET['mf'] == 'm4' || $_GET['mf'] == 'm5') { - if (isset($po['mf_mod']) && $po['mf_mod'] > 0 && isset($po['add_' . $_GET['mf']])) { - $po['mf_mod'] = (int)$po['mf_mod']; - $po['mf_mod'] -= 1; - $po['add_' . $_GET['mf']] += 1; - - $po = ConversionHelper::arrayToDataString($po); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - } elseif ($_GET['mf'] == 'mib1' || $_GET['mf'] == 'mib2' || $_GET['mf'] == 'mib3' || $_GET['mf'] == 'mib4') { - $s = $_GET['mf']; - $s = str_replace('mib', '', $s); - $s = (int)$s; - if (isset($po['mf_mib']) && $po['mf_mib'] > 0 && (isset($po['add_mib' . $s]) || isset($po['add_mab' . $s]))) { - $po['mf_mib'] = (int)$po['mf_mib']; - $po['mf_mib'] -= 1; - if (isset($po['add_mab' . $s])) { - $po['add_mab' . $s] += 1; - } - if (isset($po['add_mib' . $s])) { - $po['add_mib' . $s] += 1; - } - - $po = ConversionHelper::arrayToDataString($po); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - } - } - } - - public function freeStatsItem($id, $s, $uid) - { - $itm = mysql_fetch_array( - mysql_query( - 'SELECT - `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` - FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' - ) - ); - if (isset($itm['id']) && ($s == 1 || $s == 2 || $s == 3 || $s == 5)) { - $po = ConversionHelper::dataStringToArray($itm['data']); - if (isset($po['free_stats']) && $po['free_stats'] > 0) { - $s = (int)$s; - if ($s >= 1 || $s <= 3 || $s == 5) { - $po['free_stats'] = (int)$po['free_stats']; - $po['free_stats'] -= 1; - $po['add_s' . $s] += 1; - } - } - $po = ConversionHelper::arrayToDataString($po); - - mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'); - } - } - - public function freeStats2Item($id, $s, $uid, $tp) - { - $itm = mysql_fetch_array( - mysql_query( - 'SELECT - `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` - FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' - ) - ); - if (isset($itm['id'])) { - $po = ConversionHelper::dataStringToArray($itm['data']); - if ($itm['so'] > 0) { - $s = (int)$s; - if ($tp == 1) { - //статы - if ($s == 1 || $s == 2 || $s == 3 || $s == 5) { - if (10 + 25 * $po['add_s' . $s] <= $itm['so'] && $itm['so'] > 0) { - $itm['so'] -= 10 + 25 * $po['add_s' . $s]; - $po['add_s' . $s]++; - $this->error = 'Характеристика улучшена...'; - } else { - $this->error = 'Не хватает очков развития...'; - } - } - } elseif ($tp == 2) { - //мф - if ($s > 0 && $s < 13) { - $s2 = 0; - if ($s == 9 || $s == 12) { - if ($s == 9) { - $s = 'm10'; - } elseif ($s == 12) { - $s = 'zm'; - } - $s2 = 4 + 4 * $po['add_' . $s]; - } else { - if ($s == 1) { - $s = 'm1'; - } elseif ($s == 2) { - $s = 'm2'; - } elseif ($s == 3) { - $s = 'm4'; - } elseif ($s == 4) { - $s = 'm5'; - } elseif ($s == 5) { - $s = 'mab1'; - } elseif ($s == 6) { - $s = 'mab2'; - } elseif ($s == 7) { - $s = 'mab3'; - } elseif ($s == 8) { - $s = 'mab4'; - } elseif ($s == 10) { - $s = 'za'; - } elseif ($s == 11) { - $s = 'm11a'; - } - $s2 = 5 + 5 * $po['add_' . $s]; - } - - if (4 + 4 * $po['add_' . $s] <= $itm['so'] && $itm['so'] > 0) { - $itm['so'] -= $s2; - if ($s == 'mab1') { - $po['add_mib1']++; - } elseif ($s == 'mab2') { - $po['add_mib2']++; - } elseif ($s == 'mab3') { - $po['add_mib3']++; - } elseif ($s == 'mab4') { - $po['add_mib4']++; - } - $po['add_' . $s]++; - } else { - $this->error = 'Не хватает очков развития...'; - } - } - } - } - $po = ConversionHelper::arrayToDataString($po); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $po . '",`so` = "' . $itm['so'] . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - } - - public function obj_addItem($id) - { - $itm = mysql_fetch_array( - mysql_query( - 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1' - ) - ); - if ($this->info['transfers'] < 1) { - $this->error = 'На сегодня лимит передач исчерпан.'; - } elseif (isset($itm['id'])) { - if (isset($itm['inGroup']) and $itm['inGroup'] > 0) { - $col = $this->itemsX($itm['id']); - if ($col > 1) { - $upd = mysql_query( - 'UPDATE `items_users` SET `inShop` = 1 WHERE `item_id`="' . $itm['item_id'] . '" AND `inShop` != "30" AND `uid`="' . $itm['uid'] . '" AND `inGroup` = "' . $itm['inGroup'] . '" LIMIT ' . $col . '' - ); - } else { - $upd = mysql_query( - 'UPDATE `items_users` SET `inShop` = 1 WHERE `uid` = "' . $this->info['id'] . '" AND `inShop` != "30" AND `id` = "' . $itm['id'] . '" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } - } else { - $upd = mysql_query( - 'UPDATE `items_users` SET `inShop` = 1 WHERE `uid` = "' . $this->info['id'] . '" AND `inShop` != "30" AND `id` = "' . $id . '" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } - } else { - $this->error = 'Предмет не найден в рюкзаке'; - } - } - - public function obj_takeItem($id) - { - $itm = mysql_fetch_array( - mysql_query( - 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` -FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="1" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1' - ) - ); - if ($this->info['transfers'] < 1) { - $this->error = 'На сегодня лимит передач исчерпан.'; - } elseif (isset($itm['id'])) { - if (isset($itm['inGroup']) && $itm['inGroup'] > 0) { - $col = $this->itemsX($itm['id']); - if ($col > 1) { - $upd = mysql_query( - 'UPDATE `items_users` SET `inShop` = 0 WHERE `uid` = "' . $this->info['id'] . '" AND ( `id` = "' . $itm['id'] . '" OR `inGroup` = "' . $itm['inGroup'] . '") AND `inShop` != "30" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } else { - $upd = mysql_query( - 'UPDATE `items_users` SET `inShop` = 0 WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $itm['id'] . '" AND `inShop` != "30" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } - } else { - $upd = mysql_query( - 'UPDATE `items_users` SET `inShop` = 0 WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $id . '" AND `inShop` != "30" AND `inOdet` = "0" AND `delete` = "0" ' - ); - } - } else { - $this->error = 'Предмет не найден в сундуке'; - } - } - - public function itemsSmSave($id, $s, $uid) - { - $itm = mysql_fetch_array( - mysql_query( - 'SELECT - `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` - FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' - ) - ); - if (!isset($itm['id'])) { - return; - } - $s = (int)$s; - $po = ConversionHelper::dataStringToArray($itm['data']); - if (isset($po['sudba']) && $po['sudba'] == '0') { - return; - } - if (isset($po['sm_skill']) && $s > 100) { - $mx2 = 1; - $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); - while ($mx2 <= 7) { - $mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]); - $mx2++; - } - $mx1 += $this->info['skills']; - if ($mx1 > 0) { - //умения - $s = $s - 100; - if ($s > 5 && $s <= 12) { - //магия - $po['add_mg' . ($s - 5)]++; - } elseif ($s > 0) { - //оружие - $po['add_a' . $s]++; - } - } - } elseif (isset($po['sm_abil']) && $s < 11 && $s > 0) { - $mx2 = 1; - $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); - while ($mx2 <= 7) { - $mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2]; - $mx2++; - } - $mx1 += $this->info['ability']; - if ($mx1 > 0) { - $po['add_s' . $s]++; - } - } - - $po = ConversionHelper::arrayToDataString($po); - mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'); - - unset($mx1, $mx2, $mx3, $po); - } - - public function runeItem($id, $name = 0, $ruid = 0) - { - if ($id == null) { - if ($ruid < 1 && isset($_GET['use_rune'])) { - $ruid = $_GET['use_rune']; - echo " - - "; - } - $rune = mysql_fetch_array( - mysql_query( - 'SELECT - `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` - ,`m`.`name`,`m`.`type`,`m`.`level` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `i`.`item_id` = `m`.`id` WHERE - `i`.`id` = "' . mysql_real_escape_string($ruid) . '" - AND `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`inShop` = "0" LIMIT 1' - ) - ); - - $it_type = 0; - if (isset($_GET['item_rune'])) { - $name = $_GET['item_rune']; - } - $vi = 0; - $vid = ''; - if (isset($_GET['item_rune_id'])) { - $sp = mysql_query( - 'SELECT - `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` - ,`m`.`type`,`m`.`2h`,`m`.`inslot`,`m`.`name`,`m`.`img` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON (`i`.`item_id` = `m`.`id`) - WHERE `i`.`inShop` = "0" AND - - ( (`m`.`inslot` > 0 AND `m`.`inslot` < 18) OR "' . $rune['type'] . '" = "37" OR `m`.`inslot` = "51" ) - - AND `i`.`delete` = "0" AND `i`.`inOdet` = "0" AND `i`.`id` = "' . mysql_real_escape_string( - $_GET['item_rune_id'] - ) . '" AND `i`.`uid` = "' . mysql_real_escape_string($this->info['id']) . '"' - ); - $vi = -1; - } else { - $sp = mysql_query( - 'SELECT - `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` - ,`m`.`type`,`m`.`2h`,`m`.`inslot`,`m`.`name`,`m`.`img` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON (`i`.`item_id` = `m`.`id`) - - WHERE - - ( (`m`.`inslot` > 0 AND `m`.`inslot` < 18) OR "' . $rune['type'] . '" = "37" OR `m`.`inslot` = "51" ) AND - - `i`.`inShop` = "0" AND `i`.`delete` = "0" AND `i`.`inOdet` = "0" AND `m`.`name` LIKE "%' . mysql_real_escape_string( - str_replace('"', '"', $name) - ) . '%" AND `i`.`uid` = "' . mysql_real_escape_string($this->info['id']) . '"' - ); - } - while ($pl = mysql_fetch_array($sp)) { - $vibor .= '
'; - if (!isset($id['id'])) { - $dt = ConversionHelper::dataStringToArray($pl['data']); - $id = []; - $id = $pl; - $id_type = $pl['type']; - } - if ($vi != -1) { - $vi++; - $vid .= '`iu`.`id` = "' . $pl[0] . '" OR'; - } - } - } - - if ($vi > 0) { - $itm_inv = $this->genInv(80, ' ' . rtrim($vid, 'OR') . ' '); - echo 'Выберите предмет для использования "' . $rune['name'] . '":

' . $itm_inv[2] . '
'; - die(); - } else { - unset($rune); - } - - if ($id['id'] > 0) { - if ($ruid < 1 && isset($_GET['use_rune'])) { - $ruid = $_GET['use_rune']; - } - - $idtrue = false; - - $rune = mysql_fetch_array( - mysql_query( - 'SELECT - `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` - ,`m`.`name`,`m`.`type`,`m`.`level` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `i`.`item_id` = `m`.`id` WHERE `i`.`id` = "' . mysql_real_escape_string( - $ruid - ) . '" AND `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`inShop` = "0" LIMIT 1' - ) - ); - if ($rune['level'] > $this->info['level'] && $rune['type'] == 31) { - $this->error = 'У вас слишком маленький уровень чтобы использовать эту руну'; - } elseif ($rune['type'] == 31) { - //Встраиваем руну - if ($idt['type'] == 7) { - $idt['type'] = 6; - } - if ($idt['type'] == 5) { - $idt['type'] = 6; - } - if ($idt['type'] == 4) { - $idt['type'] = 6; - } - $data = ConversionHelper::dataStringToArray($id['data']); - $type_rune = [ - 'хи' => 9, //Серьги - 'хэ' => 10, //Ожерелье - 'ви' => 11, //Кольцо - 'во' => 12, //Перчатки - 'кэ' => 14, //Поножи - 'ки' => 15, //Обувь - 'ми' => 1, //Шлем - 'си' => 3, //Наручи - 'мо' => 6, //Броня - 'со' => 8, //Пояс - ]; - - $type_rune = $type_rune[substr($rune['name'], -2, 2)]; - if ($type_rune != $id['type'] && $type_rune != '') { - $type_rune2 = [ - 'хи' => 'серьги', //Серьги - 'хэ' => 'ожерелья', //Ожерелье - 'ви' => 'кольцо', //Кольцо - 'во' => 'перчатки', //Перчатки - 'кэ' => 'поножи', //Поножи - 'ки' => 'обувь', //Обувь - 'ми' => 'шлем', //Шлем - 'си' => 'наручи', //Наручи - 'мо' => 'броню', //Броня - 'со' => 'пояс', //Пояс - ]; - $this->error = 'Встроить данную руну возможно только в ' . $type_rune2[substr( - $rune['name'], -2, 2 - )] . ' (Тип предмета: ' . $id['type'] . '. Требуемый тип: ' . $type_rune . ')'; - } elseif (isset($data['nomodif'])) { - $this->error = 'Улучшить данный предмет невозможно'; - } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { - $this->error = 'Встраивание усилений в артефакты ниже 10-го уровня недоступно'; - } else { - if (isset($data['rune']) && $data['rune'] > 0) { - $ritm = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $data['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['rune'] = $rune['id']; - $data['rune_id'] = $rune['item_id']; - $data['rune_name'] = $rune['name']; - $data['rune_lvl'] = $rune['level']; - //Добавляем характеристики руны - $add = ConversionHelper::dataStringToArray($rune['data']); - $i = 0; - while ($i < count($this->items['add'])) { - if (isset($add['add_' . $this->items['add'][$i]])) { - $data['add_' . $this->items['add'][$i]] += $add['add_' . $this->items['add'][$i]]; - } - $i++; - } - - $data = ConversionHelper::arrayToDataString($data); - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - - - $this->error = 'Встраивание руны прошло успешно'; - } - } else { - $rune = mysql_fetch_array( - mysql_query( - 'SELECT - `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` - ,`m`.`name`,`m`.`level`,`m`.`type` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `i`.`item_id` = `m`.`id` WHERE `i`.`id` = "' . mysql_real_escape_string( - $ruid - ) . '" AND `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`inShop` = "0" LIMIT 1' - ) - ); - if (!isset($rune['id'])) { - $this->error = 'Усиление которое вы использовали не найдено'; - } elseif ($rune['type'] == 62 && $rune['item_id'] == 6167) { - //----------------------------------------------- - $idt = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT` 1' - ) - ); - - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); - if (isset($data['nomodif'])) { - $this->error = 'Улучшить данный предмет невозможно'; - } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { - $this->error = 'Встраивание усилений в артефакты ниже 10-го уровня недоступно'; - } else { - if (isset($data['spell']) && $data['spell'] > 0) { - if (isset($data['spell_st_val_hp'])) { - $data['add_hpAll'] -= $data['spell_st_val_hp']; - unset($data['spell_st_val_hp']); - } - if (isset($data['addspell_mpAll'])) { - $data['add_mpAll'] -= $data['addspell_mpAll']; - unset($data['addspell_mpAll']); - } - - - unset($data['spell']); - if (isset($data['spell_id'])) { - unset($data['spell_id']); - } - if (isset($data['spell_name'])) { - unset($data['spell_name']); - } - if (isset($data['spell_lvl'])) { - unset($data['spell_lvl']); - } - if (isset($data['spell_st_name'])) { - $data['add_' . $data['spell_st_name']] -= $data['spell_st_val']; - if ($data['add_' . $data['spell_st_name']] == 0) { - unset($data['add_' . $data['spell_st_name']]); - } - unset($data['spell_st_name']); - } - if (isset($data['spell_st_val'])) { - unset($data['spell_st_val']); - } - } - //Новая чарка - - $srune = mysql_query('SELECT * FROM `new_charov` WHERE 1'); - $irun = 0; - while ($nrune = mysql_fetch_array($srune)) { - $irun++; - $ntrune[$irun] = $nrune; - } - if ($irun > 0) { - $addrune = $ntrune[rand(1, $irun)]; - $addrunes = rand($addrune['min'], $addrune['max']); - if (isset($data['add_' . $addrune['gname']])) { - $data['add_' . $addrune['gname']] += $addrunes; - } else { - $data['add_' . $addrune['gname']] = $addrunes; - } - } - $data['spell'] = $rune['id']; - if (!isset($data['sudba'])) { - $data['sudba'] = '0'; - } - $data['spell_name'] = 'Зачарованно'; //$info - $data['spell_st_name'] = $addrune['gname']; - $data['spell_st_val'] = $addrunes; - $data['spell_id'] = $rune['item_id']; - $data['spell_lvl'] = 8; - - - // - $data = ConversionHelper::arrayToDataString($data); - unset($srune, $irun, $nrune, $ntrune, $addrune, $addrunes); - $tid = mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - if (isset($tid)) { - $this->error = 'Чарование прошло успешно!'; - } else { - $this->error = 'Что то пошло не так!'; - } - unset($tid); - } - //----------------------------------------------- - - } elseif ($rune['type'] == 62) { - $idt = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT` 1' - ) - ); - if ($idt['type'] == 7) { - $idt['type'] = 6; - } - if ($idt['type'] == 5) { - $idt['type'] = 6; - } - if ($idt['type'] == 4) { - $idt['type'] = 6; - } - //$id['type'] = $idt['type']; - //Встраиваем руну - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); - if (isset($data['nomodif'])) { - $this->error = 'Улучшить данный предмет невозможно'; - } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { - $this->error = 'Встраивание усилений в артефакты ниже 10-го уровня недоступно'; - } elseif (isset($add['onimposed'])) { - //Встраиваем магию - //Новая чарка - $i = 0; - $j = 0; - $utp = explode(',', $add['onItemType']); - while ($i < count($utp)) { - if ($utp[$i] == $id['type']) { - $j++; - } - $i++; - } - if ($j > 0) { - unset($data['imposed'], $data['imposed_name'], $data['bm_a1']); - - $imposed = [ - 'imposed' => 1, - 'imposed_name' => $add['onSpellName'], - 'bm_a1' => $add['onSpellFile'], - ]; - - if (!isset($add['onSpellFile'])) { - unset($imposed['bm_a1']); - // - if (isset($add['onSpell_mpAll'])) { - $imposed['addspell_mpAll'] = $add['onSpell_mpAll']; - $imposed['add_mpAll'] = $data['add_mpAll'] + $add['onSpell_mpAll'] - $data['addspell_mpAll']; - } - // - } - - $imposed['sudba'] = 1; - - $data = array_merge($data, $imposed); - $data = ConversionHelper::arrayToDataString($data); - - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - $this->error = 'Наложены чары "' . $add['onSpellName'] . '" на предмет "' . $id['name'] . '"'; - } else { - $this->error = 'Предмет "' . $id['name'] . '" не подходит для усиления.,.'; - } - } else { - if (isset($data['spell']) && $data['spell'] > 0) { - //Отнимаем эффект от прошлых чарок - $litm = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $id['item_id'] . '" LIMIT 1' - ) - ); - - $data_l = ConversionHelper::dataStringToArray($litm['data']); - $pvr = [ - 'i' => 0, - 'spell' => [], - 'rune' => [], - 'atack' => [], - 'podgon' => [], - ]; - - if (isset($data['podgon'])) { - if ($data['tr_lvl'] > $id['level']) { - $id['level'] = $data['tr_lvl']; - } - $pvr['podgon']['hpAll'] = 6 * $id['level'] + 6; - } - if (isset($data['addspell_hpAll'])) { - $pvr['podgon']['hpAll'] += $data['addspell_hpAll']; - } - if (isset($data['rune_id']) && $data['rune_id'] > 0) { - $ritm = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $data['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]])) { - $pvr['rune'][$this->items['add'][$j]] = $data_r['add_' . $this->items['add'][$j]]; - } - $j++; - } - } - - if (isset($data['spell_st_val_hp'])) { - $data['add_hpAll'] -= $data['spell_st_val_hp']; - } - - //$i = 0; - //while( $i < count($data)) { - if (!isset($data['spell_st_name'])) { - $delk = count($this->items['add']); - $this->items['add'][] = 'mib1'; - $this->items['add'][] = 'mib2'; - $this->items['add'][] = 'mib3'; - $this->items['add'][] = 'mib4'; - $this->items['add'][] = 'mab1'; - $this->items['add'][] = 'mab2'; - $this->items['add'][] = 'mab3'; - $this->items['add'][] = 'mab4'; - $j = 0; - while ($j < count($this->items['add'])) { - if (isset($data['add_' . $this->items['add'][$j]])) { - if ($data_l['add_' . $this->items['add'][$j]] != $data['add_' . $this->items['add'][$j]] - $pvr['rune'][$this->items['add'][$j]] - $pvr['podgon'][$this->items['add'][$j]]) { - //echo ''.$this->items['add'][$j].' -> '.$data_l['add_'.$this->items['add'][$j]].' / '.$data['add_'.$this->items['add'][$j]].'
'; - if (!isset($data_l['add_' . $this->items['add'][$j]])) { - unset($data['add_' . $this->items['add'][$j]]); - } else { - $data['add_' . $this->items['add'][$j]] = $data_l['add_' . $this->items['add'][$j]]; - } - } - } - $j++; - } - $i = 0; - while ($i < 8) { - unset($this->items['add'][$delk + $i]); - $i++; - } - } - } - //Новая чарка - $i = 0; - $utp = explode(',', $add['onItemType']); - while ($i < count($utp)) { - if ($utp[$i] == $id['type']) { - // Определили нужный тип оружия. - $itm_twohand = mysql_fetch_array( - mysql_query( - 'SELECT `2h` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT 1' - ) - ); - if (isset($itm_twohand['2h']) && $itm_twohand['2h'] == 1) { - $tw = '2'; - } else { - $tw = ''; - } - $j = 0; - while ($j < count($this->items['add'])) { - if (isset($add[$tw . 'add' . $utp[$i] . '_' . $this->items['add'][$j]])) { - $rnda[count($rnda)] = $this->items['add'][$j]; - } - $j++; - } - - if (isset($add['imposed']) && $add['imposed'] != '') { - $imposed = [ - 'imposed' => '1', // Активно - 'imposed_id' => $rune['id'], // ID чарки свитка - 'imposed_name' => $rune['name'], // Наименование чар, которое отображается на предмете - 'imposed_level' => $rune['level'], // Цвет подсветки заклинания при отображении. По умолчанию: 0; - 'bm_a1' => $add['imposed'], // Имя файла заклинания. - 'sudba' => $this->info['login'], // Цвет подсветки заклинания при отображении. По умолчанию: 0; - ]; - if (isset($add['imposed_name'])) { - $imposed['imposed_name'] = $add['imposed_name']; - } - if (isset($add['imposed_level'])) { - $imposed['imposed_level'] = $add['imposed_level']; - } - $rnda[0] = 1; - } - if (count($rnda) >= 0) { - $rnda = $rnda[rand(0, count($rnda) - 1)]; - if ($rnda == 'mib1' || $rnda == 'mib2' || $rnda == 'mib3' || $rnda == 'mib4') { - $rnda = str_replace('mib', 'mab', $rnda); - } - - if (!isset($this->is[$rnda]) && isset($imposed)) { - $data = array_merge($data, $imposed); - $data = ConversionHelper::arrayToDataString($data); - - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - $this->error = 'Наложены чары "' . $imposed['imposed_name'] . '" на предмет "' . $id['name'] . '"'; - } elseif (!isset($this->is[$rnda]) - && $rnda != 'mib1' && $rnda != 'mib2' && $rnda != 'mib3' && $rnda != 'mib4' - && $rnda != 'mab1' && $rnda != 'mab2' && $rnda != 'mab3' && $rnda != 'mab4' - ) { - $this->error = 'Попробуйте зачарить предмет снова. ( ' . $rnda . ' )'; - } else { - $data['add_' . $rnda] += $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; - if ($rnda == 'mab1' || $rnda == 'mab2' || $rnda == 'mab3' || $rnda == 'mab4') { - $data['add_' . str_replace( - 'mab', 'mib', $rnda - )] += $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; - } - - $data['spell'] = $rune['id']; - if (!isset($data['sudba'])) { - $data['sudba'] = '0'; - } - - if (isset($data['spell_st_name'])) { - $data['add_' . $data['spell_st_name']] -= $data['spell_st_val']; - if ($data['spell_st_name'] == 'mab1' || $data['spell_st_name'] == 'mab2' || $data['spell_st_name'] == 'mab3' || $data['spell_st_name'] == 'mab4') { - $data['add_' . str_replace( - 'mab', 'mib', $data['spell_st_name'] - )] -= $data['spell_st_val']; - } - - if ($data['add_' . $data['spell_st_name']] == 0) { - unset($data['add_' . $data['spell_st_name']]); - } - } - - $data['spell_id'] = $rune['item_id']; - $data['spell_name'] = $rune['name']; - $data['spell_lvl'] = $rune['level']; - $data['spell_st_name'] = $rnda; - $data['spell_st_val'] = $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; - if (isset($add['addspell_hpAll'])) { - $data['spell_st_val_hp'] = $add['addspell_hpAll']; - $data['add_hpAll'] += $add['addspell_hpAll']; - } else { - unset($data['spell_st_val_hp']); - } - $data = ConversionHelper::arrayToDataString($data); - - $this->is['mab1'] = 'Броня головы'; - $this->is['mab2'] = 'Броня корпуса'; - $this->is['mab3'] = 'Броня пояса'; - $this->is['mab4'] = 'Броня ног'; - $this->error = 'Увеличина характеристика предмета "' . $id['name'] . '", ' . $this->is[$rnda] . ': +' . $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; - - - unset($this->is['mab1'], $this->is['mab2'], $this->is['mab3'], $this->is['mab4']); - - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - } - } else { - $this->error = 'Что-то не так, невозможно зачаровать данным свитком'; - } - $i = 100499; - } - $i++; - } - if ($i < 100500) { - $this->error = 'Данный предмет не подходит для зачарования...'; - } - } - } elseif ($rune['type'] == 47) { - $add = ConversionHelper::dataStringToArray($id['data']); - $data = ConversionHelper::dataStringToArray($rune['data']); - if ($add['art'] == 1) { - if ($id['iznosNOW'] > 0) { - $id['iznosNOW'] -= $data['repairLevel']; - if ($id['iznosNOW'] < 0) { - $id['iznosNOW'] = 0; - } - mysql_query( - 'UPDATE `items_users` SET `iznosNOW` = "' . $id['iznosNOW'] . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - $this->error = 'Предмет ' . $id['name'] . ' успешно отремонтирован.'; - } else { - $this->error = 'Предмет не нуждаеться в ремонте...'; - } - } else { - $this->error = 'Свиток ремонтирует только артефакты...'; - } - } elseif ($rune['type'] == 46) { - $idt = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = ' . $id['item_id'] - ) - ); - if ($idt['type'] == 5) { - $idt['type'] = 6; - } - $id['type'] = $idt['type']; - if ($id_type < 18 || $id_type > 24) { - $add = ConversionHelper::dataStringToArray($rune['data']); - if (isset($add['uptimeitem'])) { - $data = ConversionHelper::dataStringToArray($id['data']); - if ($data['srok'] > 0 || $id['srok'] > 0) { - if (!isset($data['srok'])) { - $data['srok'] = $id['srok']; - } - if ($data['srok'] + $id['time_create'] - time() > 86400 + 30) { - $this->error = 'Нельзя использовать на предметы с сроком годности 30 и более дней.'; - } elseif ($id['inslot'] > 0 && $id['inslot'] < 20) { - $this->error = 'Срок годности предмета "' . $id['name'] . '" продлен на ' . $this->timeOut( - $add['uptimeitem'] - ) . '.'; - - if (isset($data['sleep_moroz'])) { - unset($data['sleep_moroz']); - } - - $data = ConversionHelper::arrayToDataString($data); - - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $data . '",`time_create` = `time_create` + ' . floor( - $add['uptimeitem'] - ) . ' WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - } else { - $this->error = 'Предмет данного типа нельзя продлить...'; - } - } else { - $this->error = 'Это работает только на предметы с сроком годности...'; - } - } else { - $this->error = 'Затачивать можно только оружие...'; - } - } else { - //Заточка - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); - if (isset($data['upatack_id'])) { - $this->error = 'Предмет уже заточен, вытащите заточку в Ремонтной мастерской.'; - } elseif (isset($data['nomodif'])) { - $this->error = 'Улучшить данный предмет невозможно'; - } elseif ($add['uptype'] != $id_type || $add['uptype'] == 0) { - $this->error = 'Заточка не подходит к данному предмету...'; - } else { - if (isset($data['upatack_id']) && $data['upatack_id'] > 0) { - $ritm = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $data['upatack_id'] . '" LIMIT 1' - ) - ); - $data_r = ConversionHelper::dataStringToArray($ritm['data']); - if ($id_type == 22) { - $data['add_m11'] -= $data_r['upatack']; //*2 - } - $data['sv_yron_min'] -= $data_r['upatack']; - $data['sv_yron_max'] -= $data_r['upatack']; - } - $data['upatack'] = $rune['id']; - $data['upatack_id'] = $rune['item_id']; - $data['upatack_name'] = $rune['name']; - $data['upatack_lvl'] = $add['upatack']; - $data['upatack_lvl'] = $add['upatack']; - - //Добавляем характеристики руны - $i = 0; - while ($i < count($this->items['add'])) { - if (isset($add['add_' . $this->items['add'][$i]])) { - $data['add_' . $this->items['add'][$i]] += $add['add_' . $this->items['add'][$i]]; - } - $i++; - } - - $data['sv_yron_min'] += $add['upatack']; - $data['sv_yron_max'] += $add['upatack']; - - $this->addDelo( - 2, $this->info['id'], - '"System.remont.upatack": Заточка "' . $data['upatack_name'] . '" была успешно встроена в предмет "' . $id['name'] . '" [itm:' . $id['id'] . ']', - time(), $this->info['city'], 'System.remont.upatack', 0, 0 - ); - - $data = ConversionHelper::arrayToDataString($data); - - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `1price` = "' . $id['1price'] . '",`2price` = "' . $id['2price'] . '",`data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - $this->error = 'Заточка "' . $id['name'] . '" прошла успешно'; - } - } - } elseif ($rune['type'] == 48) { - //Профиль - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); - - if ($data['tya1'] >= 90 || $data['tya2'] >= 90 || $data['tya3'] >= 90 || $data['tya4'] >= 90) { - $this->error = 'Предмет уже имеет 90 своего профиля'; - } elseif (isset($data['nomodif'])) { - $this->error = 'Улучшить данный предмет невозможно'; - } elseif ($add['uptype'] != $id_type || $add['uptype'] == 0) { - $this->error = 'Заточка не подходит к данному предмету...'; - } else { - if ($add['tya1'] == 1) { - $data['tya1'] += $add['tya1']; - if ($data['tya3'] > 10) { - $data['tya3'] -= $add['tya1']; - } - } elseif ($add['tya2'] == 1) { - $data['tya2'] += $add['tya2']; - if ($data['tya4'] > 10) { - $data['tya4'] -= $add['tya2']; - } - } elseif ($add['tya3'] == 1) { - $data['tya3'] += $add['tya3']; - if ($data['tya1'] > 10) { - $data['tya1'] -= $add['tya3']; - } - } elseif ($add['tya4'] == 1) { - $data['tya4'] += $add['tya4']; - if ($data['tya2'] > 10) { - $data['tya2'] -= $add['tya4']; - } - } - - - $this->addDelo( - 2, $this->info['id'], - '"System.remont.upatack": Заточка "' . $data['upatack_name'] . '" была успешно встроена в предмет "' . $id['name'] . '" [itm:' . $id['id'] . ']', - time(), $this->info['city'], 'System.remont.upatack', 0, 0 - ); - $this->error = 'Заточка "' . $id['name'] . '" прошла успешно! Колка:' . $data['tya1'] . ' Руб:' . $data['tya2'] . ' Дробь:' . $data['tya3'] . ' Реж:' . $data['tya4'] . ' '; - $data = ConversionHelper::arrayToDataString($data); - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `1price` = "' . $id['1price'] . '",`2price` = "' . $id['2price'] . '",`data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - } - } elseif ($rune['type'] == 50) { - //Страничка саныча - if ($id['item_id'] == 3196 || $id['item_id'] == 3197 || $id['item_id'] == 3198) { - if ($id['iznosNOW'] > 0) { - $id['iznosNOW']--; - $this->error = 'Восстановление "' . $id['name'] . '" прошла успешно! [' . round( - $id['iznosNOW'] - ) . '/' . round($id['iznosMAX']) . ']'; - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `iznosNOW` = "' . $id['iznosNOW'] . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - } else { - $this->error = 'Предмет "' . $id['name'] . '" имеет макисмальное значение прочности! [' . round( - $id['iznosNOW'] - ) . '/' . round($id['iznosMAX']) . ']'; - } - } else { - $this->error = 'Данный предмет не подходит для восстановления!!'; - } - } elseif ($rune['type'] == 68) { - $idt = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT` 1' - ) - ); - if ($idt['type'] == 5) { - $idt['type'] = 6; - } - $id['type'] = $idt['type']; - - //Встраиваем руну - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); - if (isset($data['nomodif'])) { - $this->error = 'Улучшить данный предмет невозможно'; - } elseif (!isset($data['close']) && $data['close'] != 0) { - $this->error = 'Не подходит к данному предмету, он не закрыт...'; - } else { - $data['unopen'] = $rune['id']; - $data['unopen_id'] = $rune['item_id']; - $data['unopen_name'] = $rune['name']; - - unset($data['close']); - - $data['open'] = 1; - - $data = ConversionHelper::arrayToDataString($data); - - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - $this->error = 'Открытие "' . $id['name'] . '" прошло успешно'; - } - } elseif ($rune['type'] == 37) { - $idt = mysql_fetch_array( - mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT 1') - ); - if ($idt['type'] != 37) { - // - $data = ConversionHelper::dataStringToArray($id['data']); - $add = ConversionHelper::dataStringToArray($rune['data']); - // - if ($id['gift'] == '' || $id['gift'] == '0') { - if (isset($data['notransfer'])) { - $this->error = 'Предмет нельзя передавать...'; - } elseif (isset($data['sudba']) && $data['sudba'] != 0) { - $this->error = 'Предмет связан общей судьбой...'; - } else { - if (isset($add['item_inbox']) && $add['item_inbox'] > 0) { - $this->error = 'В упаковке уже что-то есть, осталось сделать подарок!'; - } elseif ($id['inTransfer'] > 0 || $id['inShop'] > 0 || $id['inGroup'] > 0) { - $this->error = 'Нельзя передать этот предмет, он в передаче, на прилавке или в группе...'; - } else { - //Закидываем предмет в упаковку - $add['item_inbox'] = $id['id']; - $add['open'] = 1; - $add['nosale'] = 1; - $add = ConversionHelper::arrayToDataString($add); - // - mysql_query( - 'UPDATE `items_users` SET `inGroup` = 0,`data` = "' . $add . '" WHERE `id` = "' . $rune['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `uid` = -1 WHERE `id` = "' . $id['id'] . '" LIMIT 1' - ); - // - $this->error = 'Предмет "' . $idt['name'] . '" упакован в коробку.'; - // - } - } - } else { - $this->error = 'Даренное не дарят...'; - } - // - } else { - $this->error = 'Вы не сможете упаковать упаковку...'; - } - } else { - $this->error = '(' . $rune['type'] . ') Усиление которое вы использовали не найдено...'; - } - } - } else { - $this->error = 'Подходящего предмета не нашлось...'; - } - } - - public function floordec($zahl, $decimals = 2) - { - return floor($zahl * pow(10, $decimals)) / pow(10, $decimals); - } - - public function testBattle($id) - { - $r = true; - if ($id == 0) { - $r = false; - } else { - $btla = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`team_win` FROM `battle` WHERE `id` = "' . mysql_real_escape_string($id) . '" LIMIT 1' - ) - ); - if (isset($btla['id']) && $btla['team_win'] > -1) { - $r = false; - } - } - return $r; - } - - public function testVipItems($slot_new): bool - { - $sp = mysql_query( - 'SELECT `i`.`id`,`m`.`type`,`i`.`2price`,`m`.`price2` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `m`.`id` = `i`.`item_id` WHERE `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`data` LIKE "%vip_sale%" LIMIT 20' - ); - $itm = []; - $slot = []; - $j = 0; - if ($slot_new > 0) { - $itm[$j] = ['new']; - $slot[$slot_new][] = $j; - $j++; - } - $r = true; - while ($pl = mysql_fetch_array($sp)) { - $itm[$j] = $pl; - $slot[$pl['type']][] = $j; - $j++; - } - $l = count($slot[18]) + count($slot[19]) + count($slot[20]) + count($slot[21]) + count($slot[22]) + count( - $slot[23] - ) + count($slot[24]) + count($slot[25]) + count($slot[26]) + count($slot[27]) + count($slot[28]); - $v = count($slot[9]) + count($slot[10]) + count($slot[11]); - $a = count($itm) - $l - $v; - if ($this->stats['silver'] == 2) { - // 3 Артефакта (1оружие и все кроме ювелирки) - if ($j > 3 || $l > 1 || $v > 0) { - $r = false; - } - } elseif ($this->stats['silver'] == 3) { - // 6 Артефактов (1 оружие, 1 ювелирка и 4 вещи на выбор) - if ($j > 6 || $l > 1 || $v > 1) { - $r = false; - } - } elseif ($this->stats['silver'] == 4) { - // 9 Артефактов (2 оружия, 2 ювелирки и 5 вещей на выбор) - if ($j > 9 || $l > 2 || $v > 2) { - $r = false; - } - } - return $r; - } - - public function berezCena(): float - { - return round((Config::get('shop_type2') / 100), 2); - } - - public function genInv($type, $sort): array - { - global $c, $code; - - $i = 0; // счетчик, просто обнуняем. - $j = 0; // Всего предметов while ++ - $k = 1; // 0 или 1 - $rt = [0 => 0, 1 => 0, 2 => '']; // Количество? Непонятно - $clr = [0 => 'c8c8c8', 1 => 'd4d4d4']; // Цвет фона для предметов - $sort = explode('ORDER BY', $sort); - $where = $sort[0]; - $sort = isset($sort[0], $sort[1]) ? ($sort[1] != '' ? $sort[1] : '') : ' `lastUPD` DESC'; - $cl = mysql_query( - 'SELECT count(`iu`.item_id) as inGroupCount, `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`so`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE ' . $where . ' GROUP BY `im`.id,`iu`.item_id, `iu`.inGroup HAVING `iu`.inGroup > 0 UNION ALL SELECT count(`iu`.item_id) as inGroupCount, `im`.`id`,`im`.`name`,`im`.`img`, `im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`, `im`.`iznosMAXi`,`im`.`inRazdel`, `im`.`price1`,`im`.`price2`, `im`.`pricerep`,`im`.`magic_chance`, `im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`, `im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`, `im`.`ts`,`im`.`srok`,`im`.`class`, `im`.`class_point`,`im`.`anti_class`, `im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`, `im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`so`,`iu`.`id`,`iu`.`item_id`, `iu`.`1price`,`iu`.`2price`,`iu`.`uid`, `iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`, `iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`, `iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`, `iu`.`magic_inc`, `iu`.`maidin`,`iu`.`lastUPD`, `iu`.`timeOver`, `iu`.`overType`, `iu`.`secret_id`, `iu`.`time_create`, `iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`, `iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.inGroup=0 AND ' . $where . ' GROUP BY `iu`.id, `iu`.item_id ORDER BY ' . $sort . ' -' - ); - - if ($type == 15) { - $anm = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`type`,`name`,`uid`,`delete`,`inBattle`,`eda`,`exp`,`obraz`,`stats`,`level`,`sex`,`levelUp`,`pet_in_cage`,`max_exp`,`priems`,`bonus` FROM `users_animal` WHERE `id` = "' . $this->info['animal'] . '" AND `pet_in_cage` = 0 AND `delete` = "0" LIMIT 1' - ) - ); - } - while ($pl = mysql_fetch_array($cl)) { - if ($type == 30) { - $ChSudba = ConversionHelper::dataStringToArray($pl['data']); - if (isset($ChSudba['sudba']) || $ChSudba['sudba'] != 0 || $ChSudba['nosale'] == 1) { - continue; - } - } - if ($pl['1price'] > 0) { - $pl['price1'] = $pl['1price']; - } - $is1 = ''; - $is2 = ''; - $d = []; - //тест - $d[0] = 0; - $d[1] = 1; - $d[2] = 0; - $po = ConversionHelper::dataStringToArray($pl['data']); - - $see1 = 1; - if ($type == 15) { //кормушка зверя - if ($anm['type'] == 3 && substr_count($pl['img'], 'wisp') == 0) { - $see1 = 0; //светляк - } elseif ($anm['type'] == 2 && substr_count($pl['img'], 'owl') == 0) { - $see1 = 0; //сова - } elseif ($anm['type'] == 1 && substr_count($pl['img'], 'cat') == 0) { - $see1 = 0; //кот - } elseif ($anm['type'] == 4 && substr_count($pl['img'], 'chrt') == 0) { - $see1 = 0; //чертяка - } elseif ($anm['type'] == 5 && substr_count($pl['img'], 'dog') == 0) { - $see1 = 0; //собака - } elseif ($anm['type'] == 6 && substr_count($pl['img'], 'pig') == 0) { - $see1 = 0; //свинья - } elseif ($anm['type'] == 7 && substr_count($pl['img'], 'dragon') == 0) { - $see1 = 0; //дракон - } - } elseif (isset($po['nosale']) && $type == 2) { - $see1 = 0; - } elseif (isset($po['noremont']) && $type == 4) { - $see1 = 0; - } elseif ($type == 5 && $pl['gift'] != '') { - $see1 = 0; - } elseif (($type == 9 || $type == 10) && $pl['gift'] == '') { - $see1 = 0; - } elseif ($type == 5 && isset($po['sudba']) && $po['sudba'] != '0') { - $see1 = 0; - } elseif ($type == 5 && $pl['inTransfer'] > 0) { - $see1 = 0; - } elseif ($type == 6 && !isset($po['fshop'])) { - $see1 = 0; - } elseif ($type == 67 && isset($po['art'])) { - $see1 = 0; - } elseif ($type == 67 && isset($po['sudba'])) { - $see1 = 0; - } elseif ($type == 67 && $pl['gift'] != '') { - $see1 = 0; - } elseif ($type == 11) { // Храм Знаний (плавка предметов) - if ( - $pl['inTransfer'] > 0 || - (!empty($po['sudba']) && $po['sudba'] != $this->info['login']) || - !in_array($pl['type'], [1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 72, 1035]) || - ($po['tr_lvl'] < 4 && $pl['item_id'] != 1035) - ) { - $see1 = 0; - } - } elseif ($type == 14) { // Храм Знаний (плавка рун) - if ($pl['inTransfer'] > 0 || !in_array($pl['type'], [31, 6001, 6002, 6003])) { - $see1 = 0; - } - } elseif ($type == 12) { - if ($pl['inslot'] != 3 && $pl['inslot'] != 14 && $pl['type'] != 31) { - $see1 = 0; - } - if (!isset($po['frompisher']) && $pl['type'] != 31) { - $see1 = 0; - } - } elseif ($type == 56 && ($pl['inslot'] != 5 || isset($po['podgon']))) { - $see1 = 0; - } elseif (isset($po['musor']) && $po['musor'] > 0 && $pl['iznosNOW'] >= $pl['iznosMAX']) { - $see1 = 0; - } elseif ($type == 57) { - //Подгонка - if ($pl['type'] < 18 || $pl['type'] > 28 || $pl['type'] == 25) { - $see1 = 0; - } - } elseif ($type == 58) { - //Вытаскивание рун - if (!isset($po['rune_id'])) { - $see1 = 0; - } - } elseif ($type == 65) { - if (isset($po['sudba']) && $po['sudba'] != '0') { - $see1 = 0; - } - if (isset($po['toclan'])) { - $po['toclan1'] = explode('#', $po['toclan']); - $po['toclan1'] = $po['toclan1'][0]; - if ($po['toclan1'] != $this->info['clan']) { - $see1 = 0; - } - } - } elseif ($type == 67) { - $po['toclan1'] = explode('#', $po['toclan']); - $po['toclan1'] = $po['toclan1'][0]; - if ($po['toclan1'] > 0) { - $see1 = 0; - } - if ($po['frompisher'] > 0) { - $see1 = 0; - } - if ($pl['gift'] > 0) { - $see1 = 0; - } - if ($po['sudba'] > 0) { - $see1 = 0; - } - } elseif ($type == 69) { - $po['toclan1'] = explode('#', $po['toclan']); - $po['toclan1'] = $po['toclan1'][0]; - if ($po['toclan1'] > 0) { - $see1 = 0; - } - if ($po['frompisher'] == 0) { - $see1 = 0; - } - if ($pl['gift'] > 0) { - $see1 = 0; - } - } - - if ($see1 == 1) { - if ($k == 1) { - $k = 0; - } else { - $k = 1; - } - if (($pl['type'] >= 18 && $pl['type'] <= 24) || $pl['type'] == 26 || $pl['type'] == 27) { //Зоны блока + - if (!isset($po['zonb'])) { - $po['zonb'] = 0; - } - $po['zonb']++; - } - //правая часть - $mx = ''; - if (isset($po['upatack_lvl'])) { - $mx .= ' +' . $po['upatack_lvl']; - } - if (isset($po['modif'])) { - $mx .= ' (мф)'; - } - $col = $this->itemsX($pl['id']); - if ($col > 1 && $pl['inGroup'] != 0) { - $pl['kolvo'] = $col; - $mx .= ' (x' . $col . ')'; - } - if (isset($po['tr_align']) && !isset($po['tr_align_bs'])) { - $pl['name'] .= ''; - } elseif (isset($po['tr_align_bs'])) { - if ($po['tr_align_bs'] == '1') { - $pl['name'] .= ''; - } elseif ($po['tr_align_bs'] == '3') { - $pl['name'] .= ''; - } - } - if (isset($po['renameadd']) && $po['renameadd'] != '') { - $pl['name'] .= ' (Предмет: ' . $po['renameadd'] . ')'; - } - if (isset($po['icos'])) { - $pl['name'] = '' . $pl['name'] . '  ' . $po['icos'] . ' '; - } - $is2 = '' . $pl['name'] . '' . $mx . ''; - $is2 .= '  '; - if ($pl['massa'] > 0) { - $is2 .= ' (Масса: ' . ($pl['massa'] * $col) . ')'; - } - if ($pl['gift'] != '') { - $ttl = ''; - if ($pl['gift'] == 1) { - $ttl = 'Вы не можете передать этот предмет кому-либо'; - } else { - $ttl = 'Этот предмет вам подарил ' . $pl['gift'] . '. Вы не сможете передать этот предмет кому-либо еще'; - } - $is2 .= ' '; - } - - if (isset($po['art'])) { - $is2 .= ' '; - } - - if (isset($po['sudba'])) { - if ($po['sudba'] == '0') { - $is2 .= ' '; - } elseif ($po['sudba'] == '1') { - $is2 .= ' '; - } else { - $is2 .= ' '; - } - } - if ($pl['price1'] > 0) { //цена - $pex = explode('.', $pl['price1']); - if ($pex[1] == '00') { - $pl['price1'] = $pex[0]; - } - if ($_GET['toRent'] == 2) { - $is2 .= '
Цена: ' . ($pl['price1']) . ' кр.'; - } else { - $is2 .= '
Цена: ' . ($pl['price1'] * $col) . ' кр.'; - } - } - if ($pl['pricerep'] > 0) { - $is2 .= ' (' . round( - $pl['pricerep'] * $col, 2 - ) . ' Воинственности)'; - } - if ($pl['iznosMAX'] > 0) { //долговечность - $izcol = ''; - if (floor($pl['iznosNOW']) >= (floor($pl['iznosMAX']) - ceil($pl['iznosMAX']) / 100 * 20)) { - $izcol = 'brown'; - } - if ($pl['iznosMAXi'] == 999999999) { - $is2 .= '
Долговечность: неразрушимо'; - } else { - $is2 .= '
Долговечность: ' . floor( - $pl['iznosNOW'] - ) . '/' . ceil($pl['iznosMAX']) . ''; - } - } - if ($po['battleUseZd'] > 0) { - $is2 .= '
Задержка использования: ' . $this->timeOut($po['battleUseZd']) . ''; - } - if (isset($po['srok']) && $po['srok'] > 0) { - $pl['srok'] = $po['srok']; - } - if ($pl['srok'] > 0) { //Срок годности предмета - $is2 .= '
Срок годности: ' . $this->timeOut($pl['srok']) . ' (до ' . date( - 'd.m.Y H:i', $pl['time_create'] + $pl['srok'] - ) . ')'; - } - if ($pl['magic_chance'] > 0) { - $is2 .= '
Вероятность срабатывания: ' . min([$pl['magic_chance'], 100]) . '%'; - } - if ((int)$pl['magic_inci'] > 0) { //Продолжительность действия магии: - $efi = mysql_fetch_array( - mysql_query( - 'SELECT `id2`,`mname`,`type1`,`img`,`mdata`,`actionTime`,`type2`,`type3`,`onlyOne`,`oneType`,`noAce`,`see`,`info`,`overch`,`bp`,`noch` FROM `eff_main` WHERE `id2` = "' . ((int)$pl['magic_inci']) . '" LIMIT 1' - ) - ); - if (isset($efi['id2']) && $efi['actionTime'] > 0) { - $is2 .= '
Продолжительность действия: ' . $this->timeOut($efi['actionTime']); - } - } - - $notr = 0; - if (isset($po['sudba']) && $po['sudba'] != '0' && $po['sudba'] != $this->info['login']) { - $notr++; - } - $tr = ''; - $t = $this->items['tr']; - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['tr_' . $n]) && $po['tr_' . $n] != 0) { - if ($n == 'sex') { - if ($this->info['sex'] != $po['tr_' . $n]) { - $tr .= ''; - $notr++; - } - } elseif ($po['tr_' . $n] > $this->stats[$n]) { - if ($n == 'align_bs' && $this->info['inTurnir'] > 0) { - if ($po['tr_align_bs'] == '1') { - $pal = !($this->info['align_real'] <= 1 || $this->info['align_real'] >= 2); - } elseif ($po['tr_align_bs'] == '3') { - $tar = !($this->info['align_real'] <= 3 || $this->info['align_real'] >= 4); - } - } - if ($n == 'rep') { - $temp = explode('::', $po['tr_' . $n]); - if ($this->rep['rep' . $temp[1]] < $temp[0]) { - $tr .= ''; - $notr++; - } - unset($temp); - } elseif ($n == 'align_bs' && $this->info['inTurnir'] > 0 && ($pal = false || $tar = false)) { - $tr .= ''; - $notr++; - } elseif ($n != 'align' && $n != 'align_bs' || floor( - $this->info['align'] - ) != $po['tr_' . $n]) { - $tr .= ''; - $notr++; - } - } - $tr .= '
• '; - if ($n == 'rep') { - $temp = explode('::', $po['tr_' . $n]); - $tr .= $this->is[$n] . ' ' . ucfirst( - str_replace('city', ' city', $temp[1]) - ) . ': ' . $temp[0]; - unset($temp); - } elseif ($n != 'align' && $n != 'align_bs') { - if ($n == 'sex') { - if ($po['tr_' . $n] == 1) { - $tr .= $this->is[$n] . ': Женский'; - } else { - $tr .= $this->is[$n] . ': Мужской'; - } - } else { - $tr .= $this->is[$n] . ': ' . $po['tr_' . $n]; - } - } else { - $tr .= $this->is[$n] . ': ' . $this->align_nm[$po['tr_' . $n]]; - } - if ($n == 'sex') { - if ($this->info['sex'] != $po['tr_' . $n]) { - $tr .= '
'; - } - } elseif ($po['tr_' . $n] > $this->stats[$n]) { - if ($n == 'align_bs' && $this->info['inTurnir'] > 0 && ($pal = false || $tar = false)) { - $tr .= '
'; - } elseif ($n != 'align' && $n != 'align_bs' || floor( - $this->info['align'] - ) != $po['tr_' . $n]) { - $tr .= '
'; - } - } - } - $x++; - } - if ($tr != '') { - $is2 .= '
Требуется минимальное:' . $tr; - } - //Действует на: - $tr = ''; - $t = $this->items['add']; - if (isset($po['mf_stats']) && $po['mf_stats'] > 0) { - $tr .= '
Свободные характеристики: ' . $po['mf_stats']; - } - if (isset($po['mf_mod']) && $po['mf_mod'] > 0) { - $tr .= '
Свободные модификаторы: ' . $po['mf_mod']; - } - if (isset($po['mf_mib']) && $po['mf_mib'] > 0) { - $tr .= '
Свободные улучшения брони: ' . $po['mf_mib']; - } - - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['add_' . $n], $this->is[$n])) { - $z = '+'; - if ($po['add_' . $n] < 0) { - $z = ''; - } - $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $po['add_' . $n]; - if (isset($po['mf_stats']) && $po['mf_stats'] > 0 && ($n == 's1' || $n == 's2' || $n == 's3' || $n == 's5')) { - $tr .= ' '; - } - if (isset($po['mf_mod']) && $po['mf_mod'] > 0 && ($n == 'm1' || $n == 'm2' || $n == 'm4' || $n == 'm5')) { - $tr .= ' '; - } - } - $x++; - } - //действует на (броня) - $i = 1; - $bn = [1 => 'головы', 2 => 'корпуса', 3 => 'пояса', 4 => 'ног']; - while ($i <= 4) { - if (isset($po['add_mab' . $i])) { - if ($po['add_mab' . $i] == $po['add_mib' . $i] && $pl['geniration'] == 1) { - $z = '+'; - if ($po['add_mab' . $i] < 0) { - $z = ''; - } - $tr .= '
• Броня ' . $bn[$i] . ': ' . $z . '' . $po['add_mab' . $i]; - } else { - $tr .= '
• Броня ' . $bn[$i] . ': ' . $po['add_mib' . $i] . '-' . $po['add_mab' . $i]; - } - if (isset($po['mf_mib']) && $po['mf_mib'] > 0) { - $tr .= ' '; - } - } - $i++; - } - - if ($tr != '') { - $is2 .= '
Действует на:' . $tr; - } - //Свойства предмета: - $tr = ''; - $t = $this->items['sv']; - if (isset($po['sv_yron_min'], $po['sv_yron_max'])) { - $tr .= '
• Урон: ' . $po['sv_yron_min'] . ' - ' . $po['sv_yron_max']; - } - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['sv_' . $n])) { - $z = '+'; - if ($po['sv_' . $n] < 0) { - $z = ''; - } - $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $po['sv_' . $n]; - } - $x++; - } - if ($pl['2too'] == 1) { - $tr .= '
• Второе оружие'; - } - if ($pl['2h'] == 1) { - $tr .= '
• Двуручное оружие'; - } - if (isset($po['zonb'])) { - $tr .= '
• Зоны блокирования: '; - if ($po['zonb'] > 0) { - $x = 1; - while ($x <= $po['zonb']) { - $tr .= '+'; - $x++; - } - } else { - $tr .= '—'; - } - } - if ($tr != '') { - $is2 .= '
Свойства предмета:' . $tr; - } - - - if ($notr == 0) { - $d[0] = 1; - if ($pl['magic_inci'] != '' || $pl['magic_inc'] != '') { - $d[2] = 1; - } - } - - $tr = ''; - - if (floor($pl['iznosNOW']) >= ceil($pl['iznosMAX'])) { - $d[0] = 0; - $d[2] = 0; - } - //Апгрейды вещей - - //Встроенная магия - if ($pl['magic_inci'] != '' || $pl['magic_inc'] != '') { - if ($pl['magic_inc'] == '') { - $pl['magic_inc'] = $pl['magic_inci']; - } - $mgi = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `eff_main` WHERE `id2` = "' . $pl['magic_inc'] . '" AND `type1` = "12345" LIMIT 1' - ) - ); - if (isset($mgi['id2'])) { - $is2 .= '
Встроено заклятие ' . $mgi['minfo'] . '
'; - } - } - - if (isset($po['rune']) && $po['rune'] > 0) { - $rnc = explode(' ', $po['rune_name']); - if ($rnc[0] == 'Игнис') { - $rnc = '#9b5d40'; - } elseif ($rnc[0] == 'Аква') { - $rnc = '#3a2b64'; - } elseif ($rnc[0] == 'Аура') { - $rnc = '#20a3b0'; - } elseif ($rnc[0] == 'Тера') { - $rnc = '#4c7718'; - } else { - $rnc = '#4c4c4c'; - } - - $tr .= '
• Встроенная руна: ' . $po['rune_name'] . ''; - unset($rnc); - } - - if (isset($po['spell']) && $po['spell'] > 0) { - $rnc = explode(' ', $po['spell_name']); - if ($rnc[2] == '[0]') { - $rnc = '#282828'; - } elseif ($rnc[2] == '[1]') { - $rnc = '#624542'; - } elseif ($rnc[2] == '[2]') { - $rnc = '#77090b'; - } elseif ($rnc[2] == '[3]') { - $rnc = '#d99800'; - } else { - $rnc = '#d99800'; - } - $po['spell_name'] = str_replace('Зачаровать ', '', $po['spell_name']); - $this->is['mab1'] = 'Броня головы'; - $this->is['mab2'] = 'Броня корпуса'; - $this->is['mab3'] = 'Броня пояса'; - $this->is['mab4'] = 'Броня ног'; - $tr .= '
• Встроенно зачарование: ' . $po['spell_name'] . ' (' . $this->is[$po['spell_st_name']] . ': +' . $po['spell_st_val'] . ')'; - unset($this->is['mab1'], $this->is['mab2'], $this->is['mab3'], $this->is['mab4']); - unset($rnc); - } - - if (isset($po['imposed']) && $po['imposed'] > 0) { - if ($po['imposed_lvl'] == 0) { - $rnc = 'maroon'; - } elseif ($po['imposed_lvl'] == 1) { - $rnc = '#624542'; - } elseif ($po['imposed_lvl'] == 2) { - $rnc = '#77090b'; - } elseif ($po['imposed_lvl'] == 3) { - $rnc = '#d99800'; - } else { - $rnc = '#282828'; - } - $po['imposed_name'] = str_replace('Чары ', '', $po['imposed_name']); - $tr .= '
Наложены заклятия: ' . $po['imposed_name'] . ' '; - unset($rnc); - } - if ($tr != '') { - $is2 .= '
Улучшения предмета:'; - $is2 .= $tr; - } - - if (isset($po['free_stats']) && $po['free_stats'] > 0) { - $is2 .= '
Распределение статов:'; - $is2 .= '
Сила: ' . $po['add_s1'] . '
Ловкость: ' . $po['add_s2'] . '
Интуиция: ' . $po['add_s3'] . '
Интеллект: ' . $po['add_s5'] . '
'; - $is2 .= '• Осталось распределений: ' . $po['free_stats'] . ''; - } - - if (isset($po['sm_abil'])) { - //Возможно сохранять и распределять скилы - $mx2 = 1; - $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); - while ($mx2 <= 7) { - $mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2]; - $mx2++; - } - $mx1 += $this->info['ability']; - if ($mx1 > 0) { - $is2 .= '
Распределение характеристик:'; - if (isset($po['sudba']) && $po['sudba'] == '0') { - $mx1 = 0; - $is2 .= '
• Распределение характеристик будет доступно после первого одевания
'; - } else { - $is2 .= '
- Сила: ' . (0 + $po['add_s1']) . '
- Ловкость: ' . (0 + $po['add_s2']) . '
- Интуиция: ' . (0 + $po['add_s3']) . '
- Выносливость: ' . (0 + $po['add_s4']) . '
- Интеллект: ' . (0 + $po['add_s5']) . '
- Мудрость: ' . (0 + $po['add_s6']) . '
-
'; - $is2 .= 'Осталось распределений: ' . $mx1; - } - } - unset($mx1, $mx2, $mx3); - } - - if (isset($po['sm_skill'])) { - //Возможно сохранять и распределять скилы - $mx2 = 1; - $mx1 = 0; - $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); - while ($mx2 <= 7) { - $mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]); - $mx2++; - } - $mx1 += $this->info['skills']; - if ($mx1 > 0) { - $is2 .= '
Распределение владений оружием и магией:'; - if (isset($po['sudba']) && $po['sudba'] == '0') { - $mx1 = 0; - $is2 .= '
• Распределение владений будет доступно после первого одевания
'; - } else { - $is2 .= '
- Мастерство владения мечами: ' . (0 + $po['add_a1']) . '
- Мастерство владения дубинами, булавами: ' . (0 + $po['add_a2']) . '
- Мастерство владения ножами, кастетами: ' . (0 + $po['add_a3']) . '
- Мастерство владения топорами, секирами: ' . (0 + $po['add_a4']) . '
- Мастерство владения магическими посохами: ' . (0 + $po['add_a5']) . '
- Мастерство владения стихией Огня: ' . (0 + $po['add_mg1']) . '
- Мастерство владения стихией Воздуха: ' . (0 + $po['add_mg2']) . '
- Мастерство владения стихией Воды: ' . (0 + $po['add_mg3']) . '
- Мастерство владения стихией Земли: ' . (0 + $po['add_mg4']) . '
- Мастерство владения магией Света: ' . (0 + $po['add_mg5']) . '
- Мастерство владения магией Тьмы: ' . (0 + $po['add_mg6']) . '
- Мастерство владения серой магией: ' . (0 + $po['add_mg7']) . '
-
'; - $is2 .= 'Осталось распределений: ' . $mx1; - } - } - unset($mx1, $mx2, $mx3); - } - - if (isset($po['complect']) || isset($po['complect2'])) { - $is2 .= '
Дополнительная информация:'; - } - if (isset($po['complect'])) { - //не отображается - $com1 = ['name' => 'Неизвестный Комплект', 'x' => 0, 'text' => '']; - $spc = mysql_query( - 'SELECT `id`,`com`,`name`,`x`,`data` FROM `complects` WHERE `com` = "' . $po['complect'] . '" ORDER BY `x` ASC LIMIT 20' - ); - while ($plc = mysql_fetch_array($spc)) { - $com1['name'] = $plc['name']; - $com1['text'] .= '    • ' . $plc['x'] . ': '; - //действие комплекта - $i1c = 0; - $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($plc['data']); - while ($i1c < count($this->items['add'])) { - if (isset($i1e[$this->items['add'][$i1c]])) { - $i3c = $i1e[$this->items['add'][$i1c]]; - if ($i3c > 0) { - $i3c = '+' . $i3c; - } - if ($i2c > 0) { - $com1['text'] .= '    ' . $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } else { - $com1['text'] .= $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } - $com1['text'] .= '
'; - $i2c++; - } - $i1c++; - } - unset($i1c, $i2c, $i3c); - $com1['x']++; - } - $is2 .= '
• Часть комплекта: ' . $com1['name'] . '
'; - $is2 .= $com1['text']; - $is2 .= ''; - } - if (isset($po['complect2'])) { - //не отображается - $com1 = ['name' => 'Неизвестный Комплект', 'x' => 0, 'text' => '']; - $spc = mysql_query( - 'SELECT `id`,`com`,`name`,`x`,`data` FROM `complects` WHERE `com` = "' . $po['complect2'] . '" ORDER BY `x` ASC LIMIT 20' - ); - while ($plc = mysql_fetch_array($spc)) { - $com1['name'] = $plc['name']; - $com1['text'] .= '    • ' . $plc['x'] . ': '; - //действие комплекта - $i1c = 0; - $i2c = 0; - $i1e = ConversionHelper::dataStringToArray($plc['data']); - while ($i1c < count($this->items['add'])) { - if (isset($i1e[$this->items['add'][$i1c]])) { - $i3c = $i1e[$this->items['add'][$i1c]]; - if ($i3c > 0) { - $i3c = '+' . $i3c; - } - if ($i2c > 0) { - $com1['text'] .= '    ' . $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } else { - $com1['text'] .= $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; - } - $com1['text'] .= '
'; - $i2c++; - } - $i1c++; - } - unset($i1c, $i2c, $i3c); - $com1['x']++; - } - $is2 .= '
• Часть комплекта (подгонка): ' . $com1['name'] . '
'; - $is2 .= $com1['text']; - $is2 .= ''; - } - - if ($pl['max_text'] > 0) { - //Инвентарь - $sm_sp = mysql_query( - 'SELECT `id`,`item_id`,`time`,`login`,`type`,`text`,`city`,`x` FROM `items_text` WHERE `item_id` = "' . $pl['id'] . '" ORDER BY `id` ASC LIMIT 500' - ); - $sma = 0; - $smt = ''; - $ixi = 0; - while ($sm_pl = mysql_fetch_array($sm_sp)) { - if ($sm_pl['type'] == 0) { - $smt .= '' . date( - 'd.m.Y H:i', $sm_pl['time'] - ) . ' ' . $sm_pl['login'] . '. ' . $sm_pl['text'] . '
'; - } else { - $smt .= $sm_pl['text'] . '
'; - } - if ($ixi == 2) { - $smt .= ''; - if ($pl['max_text'] - $pl['use_text'] > 0) { - $is2 .= '
Количество символов: ' . ($pl['max_text'] - $pl['use_text']) . '
'; - } - if ($sma > 0) { - $is2 .= '
На предмете записан текст:
- - - - - -
' . $smt . '
-
'; - } - unset($sm_sp, $sma, $sm_pl); - } elseif (isset($po['onitm_text'])) { - $is2 .= '
На предмете записан текст:
- - - - -
' . $po['onitm_text'] . '
-
'; - } - - if (isset($po['gravi'])) { - $is2 .= '
На поверхности выгравирована надпись: ' . $po['gravi'] . ''; - } - - $is2 .= ''; - - if ($pl['info'] != '') { - $is2 .= '
Рекомендации:
' . $pl['info'] . '
'; - } - - if (isset($po['info']) && $po['info'] != '') { - $is2 .= '
' . $po['info'] . '
'; - } - - if (isset($po['toclan'])) { - $po['toclan1'] = explode('#', $po['toclan']); - $clpo = mysql_fetch_array( - mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $po['toclan1'][0] . '" LIMIT 1') - ); - if (isset($clpo['id'])) { - $is2 .= '
Предмет принадлежит клану ' . $clpo['name'] . ''; - $plpo = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`login`,`cityreg` FROM `users` WHERE `id` = "' . $po['toclan1'][1] . '" LIMIT 1' - ) - ); - if (isset($plpo['id'])) { - $is2 .= ' (Дар игрока ' . $plpo['login'] . ')'; - if ($plpo['login'] == $this->info['login']) { - if (isset($_GET['backmyitm'])) { - $pl['inOdet'] = 0; - $pl['uid'] = $plpo['id']; - unset($po['toclan1'], $po['toclan']); - $pl['data'] = ConversionHelper::arrayToDataString($po); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . mysql_real_escape_string( - $pl['data'] - ) . '",`inOdet` = 0,`uid` = "' . $pl['uid'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' - ); - } - $is2 .= '
(Вы владелец предмета: Вернуть предмет себе)'; - } - } - $is2 .= '
'; - } - } - if (isset($po['noremont'])) { - $is2 .= '
Предмет не подлежит ремонту
'; - } - if (isset($po['nosale'])) { - $is2 .= '
Предмет нельзя продать
'; - } - if (isset($po['nomodif'])) { - $is2 .= '
Предмет нельзя улучшать
'; - } - if (isset($po['nodelete'])) { - $is2 .= '
Предмет нельзя выбросить
'; - } - if (isset($po['frompisher'])) { - $is2 .= '
Предмет из подземелья
'; - } - if (isset($po['sleep_moroz']) && $po['sleep_moroz'] > 0) { - $is2 .= '
Предмет не портится во время сна
'; - } - - if (isset($po['fromlaba']) && $po['fromlaba'] > 0) { - $is2 .= '
Предмет из лабиринта
'; - } - - if (isset($po['vip_sale']) && $po['vip_sale'] > 0) { - if ($this->stats['slvtm'] > time() && $this->stats['silver'] > 1) { - if ($pl['time_create'] != $this->stats['slvtm']) { - $pl['time_create'] = $this->stats['slvtm']; - mysql_query( - 'UPDATE `items_users` SET `time_create` = "' . $pl['time_create'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' - ); - } - $is2 .= '
Предмет будет недоступен через ' . $this->timeOut( - $pl['time_create'] - time() - ) . '
'; - } else { - $is2 .= '
Предмет недоступен, приобретите конкретный VIP
'; - if (($pl['time_create'] - time() + 86400 * 30) < 1) { - $is2 .= '
Предмет рассыпался у Вас на глазах...
'; - } else { - $is2 .= '
Предмет исчезнет через ' . $this->timeOut( - $pl['time_create'] - time() + 86400 * 30 - ) . '
'; - } - } - } - - if ($pl['dn_delete'] > 0) { - $is2 .= '
Предмет будет удален при выходе из подземелья
'; - } - - if ($this->pokol > $pl['geni']) { - $is2 .= '
Предмет устарел
'; - } - - if (isset($po['zazuby']) && $po['zazuby'] > 0) { - $is2 .= '
Предмет куплен за зубы
'; - } - - $is2 .= '
'; - - if ($col > 1000) { - $is1 .= ' - - - - - - -
x' . $col . '
'; - } else { - $is1 .= ''; - } - - $is1 .= '
'; - - if ($type == 81) { - $is1 .= 'Выбрать данный предмет'; - } elseif ($type == 80) { - $itemrun = mysql_fetch_array( - mysql_query('SELECT * FROM `items_users` WHERE `id` ="' . $pl['id'] . '" LIMIT 1') - ); - $it = ConversionHelper::dataStringToArray($itemrun['data']); - if (!isset($it['rune_name']) || $_GET['otdel'] == 2) //отдел 2(заточки) - { - $is1 .= 'Выбрать данный предмет'; - } else { - $is1 .= 'Установленна:
' . $it['rune_name'] . '
'; - } - unset($itemrun, $it); - } elseif ($type == 69) { - if (!isset($po['hprs'])) { - $po['hprs'] = 0.001; - } - if (!isset($po['hprp'])) { - $po['hprp'] = 0.0001; - } - $prs1 = $this->floordec($po['hprs'] * $col, 2); - $rps1 = $this->floordec($po['hprp'] * $col); - $is1 .= 'Обменять на ' . $prs1 . ' кр.
Обменять на ' . $rps1 . ' ед. репутации'; - $is1 .= '
'; - } elseif ($type == 68) { - $is1 .= 'Забрать
Отказаться'; - if ($pl['lastUPD'] > 0) { - $is1 .= '

(' . $this->timeOut(($pl['lastUPD'] + 7 * 24 * 60 * 60) - time()) . ')'; - } - $is1 .= '
'; - } elseif ($type == 67) { - $is1 .= 'передать за ' . (round( - 1 + $pl['price1'] / 100 * 7 - ) * $col) . ' кр.'; - } elseif ($type == 66) { - $pos = explode('#', $po['toclan']); - $us_1 = $pos[1]; - if ($pl['uid'] < 1) { - $is1 .= 'Взять предмет'; - } else { - $yui = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`login`,`cityreg` FROM `users` WHERE `id` = "' . mysql_real_escape_string( - $pl['uid'] - ) . '" LIMIT 1' - ) - ); - $is1 .= 'Предмет у игрока
' . $yui['login'] . '
'; - if ($this->info['tt'][14][0] == 1 || ($this->info['id'] == $us_1)) { - $is1 .= '
Изъять предмет'; - } - } - } elseif ($type == 65) { - if (!isset($po['toclan'])) { - $is1 .= 'Пожертвовать'; - } else { - $is1 .= 'Вернуть'; - } - } elseif ($type == 62) { - $upgitm = mysql_fetch_array( - mysql_query('SELECT * FROM `items_upgrade` WHERE `iid` = "' . $pl['item_id'] . '" LIMIT 1') - ); - if (!isset($upgitm['id'])) { - $is1 .= 'Улучшение невозможно'; - } else { - $prcup = ''; - if ($upgitm['price1'] > 0) { - $prcup .= $upgitm['price1'] . ' кр.'; - } - if ($upgitm['price2'] > 0) { - if ($prcup != '') { - $prcup .= ' и '; - } - $prcup .= $upgitm['price2'] . ' екр.'; - } - $is1 .= 'Улучшить за ' . $prcup . ''; - unset($prcup); - } - } elseif ($type == 63) { - $prcup = ''; - $is1 .= 'комплект'; - unset($prcup); - } elseif ($type == 64) { - $prcup = ''; - $is1 .= 'Выбрать другой предмет'; - unset($prcup); - } elseif ($type == 61) { //улучшение предмета - if ($pl['price1'] > $pl['1price']) { - $pl['1price'] = $pl['price1']; - } - $prpod = $pl['1price'] / 2.37; - if ($pl['price2'] > $pl['2price']) { - $pl['2price'] = $pl['price2']; - } - $prpod2 = 30 * ($pl['2price'] / 2.37); - if ($prpod2 > $prpod) { - $prpod = $prpod2; - } - if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { - $prpod = $prpod / 2.37; - } - $prpod = round($prpod + $prpod / 100 * (37.795 * ($po['upgrade'] + 1))); - $is1 .= 'Усилить за ' . $prpod . ' кр.'; - } elseif ($type == 60) { //модифицирование - if ($pl['price1'] > $pl['1price']) { - $pl['1price'] = $pl['price1']; - } - $prpod = $pl['1price'] / 2; - if ($pl['price2'] > $pl['2price']) { - $pl['2price'] = $pl['price2']; - } - $prpod2 = 30 * ($pl['2price'] / 2.37); - if ($prpod2 > $prpod) { - $prpod = $prpod2; - } - if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { - $prpod = $prpod / 2; - } - $prpod = round($prpod); - $is1 .= 'Модифицировать за ' . $prpod . ' кр.'; - } elseif ($type == 59) { //дезинтеграция - if ($po['tr_lvl'] > $pl['level']) { - $pl['level'] = $po['tr_lvl']; - } - $prpod = 250; - $prpod_ekr = $pl['level'] * 0.25; - - if ($this->stats['repair_z'] >= 1) { - $is1 .= 'Бесплатная дезинтеграция'; - } else { - $is1 .= 'Дезинтегрировать за ' . $prpod . ' Кр. - '; - } - } elseif ($type == 58) { //вытаскивание рун - if ($po['tr_lvl'] > $pl['level']) { - $pl['level'] = $po['tr_lvl']; - } - $prpod = 2500; - $prpod_ekr = $pl['level'] * 0.15; - if ($this->stats['repair_r'] >= 1) { - $is1 .= 'Бесплатно извлечь руны'; - } else { - $is1 .= 'Извлечь руны за ' . $prpod . ' Кр.
- '; - } - } elseif ($type == 57) { - $prpod = 30; - if ($pl['type'] == 22) { - $prpod = 35; - } elseif ($pl['type'] == 18) { - $prpod = 15; - } - if (isset($po['gravi'])) { - $is1 .= 'Изменить надпись за ' . $prpod . ' кр.'; - } else { - $is1 .= 'Выгравировать надпись за ' . $prpod . ' кр.'; - } - } elseif ($type == 56) { //Подгонка - if ($po['tr_lvl'] > $pl['level']) { - $pl['level'] = $po['tr_lvl']; - } - $prpod = 5 * $pl['level'] + 10; - $prhp = 6 * $pl['level'] + 6; - $is1 .= 'Подогнать за ' . $prpod . ' кр.'; - } elseif ($type == 15) { //кормушка зверя - $is1 .= 'Кормить'; - } elseif ($type == 11) { - $pl['rep'] = 0; - if ($this->rep['rep1'] < 100) { - if ($po['tr_lvl'] >= 4 && $po['tr_lvl'] <= 6) { - $pl['rep'] = 1; - } - if ($pl['item_id'] == 1035) { - $pl['rep'] = 2; - } - } elseif ($this->rep['rep1'] > 99 && $this->rep['rep1'] < 1000) { - if ($po['tr_lvl'] >= 7 && $po['tr_lvl'] <= 8) { - $pl['rep'] = 1; - } - if ($pl['item_id'] == 1035) { - $pl['rep'] = 1; - } - } elseif ($this->rep['rep1'] > 999) { - if ($po['tr_lvl'] >= 9 && $po['tr_lvl'] <= 10) { - $pl['rep'] = 1; - } - if ($pl['item_id'] == 1035) { - $pl['rep'] = 1; - } - } else { - if ($pl['item_id'] == 1035) { - $pl['rep'] = 2; - } - } - $is1 .= 'Выбрать'; - } elseif ($type == 14) { - $is1 .= 'Выбрать'; - } elseif ($type == 12) { - $is1 .= 'Выбрать'; - } elseif ($type == 10) { - //Общага (отображение предметов в общаге (под стеклом)) - $is1 .= 'В рюкзак'; - } elseif ($type == 9) { - //Общага (отображение предметов в инвентаре (под стеклом)) - $is1 .= 'Под стекло'; - } elseif ($type == 8) { - //Общага (отображение предметов в инвентаре) - $is1 .= 'В сундук'; - } elseif ($type == 7) { - //Общага (отображение предметов в общаге) - $is1 .= 'В рюкзак'; - } elseif ($type == 6) { - //Цветочный магазин - $is1 .= 'Добавить'; - } elseif ($type == 5) { - //передача - $is1 .= 'подарить
передать
(налог: 1 кр.)'; - } elseif ($type == 12) { - //передача почта - $skcd = round($col * ($pl['price1'] * 0.06 - 0.01 * $this->stats['os1']), 2); - if ($skcd < 0.06) { - $skcd = 0.06; - } - $is1 .= 'передать за ' . (1 + $skcd) . ' кр.'; - } elseif ($type == 13) { - //Забираем шмот - if ($pl['1price'] > 0) { - $mess = "Отказаться от предмета? Предмет будет уничтожен!"; - $pl['name'] = 'Деньги ' . $pl['1price'] . ' кр.'; - } else { - $mess = "Отказаться от предмета? Предмет будет возвращен отправителю"; - } - $date1 = $pl['delete'] - time(); - $is1 .= '
Забрать -
Отказаться

(' . date( - "j дн. H ч.", $date1 - ) . ' )
'; - } elseif ($type == 4) { - //ремонт - $r1 = round($pl['price1'] * 0.1 / 100, 2); - $r2 = round($pl['price1'] * 0.1 / 10, 2); - $r3 = round($pl['price1'] * $pl['iznosNOW'] * 0.10 / 100, 2); - - if ($this->stats['repair_discount'] >= 1) { - $r1 = round(($r1 / 100 * 25), 2); - $r2 = round(($r2 / 100 * 25), 2); - $r3 = round(($r3 / 100 * 25), 2); - } - - if ($r1 < 0.01) { - $r1 = 0.01; - } - if ($r2 < 0.01) { - $r2 = 0.01; - } - if ($r3 < 0.01) { - $r3 = 0.01; - } - $is1 .= 'Ремонт 1 ед. за ' . $r1 . ' кр.
'; - if ($pl['iznosNOW'] >= 10) { - $is1 .= 'Ремонт 10 ед. за ' . $r2 . ' кр.
'; - } - $is1 .= 'Полный ремонт за ' . $r3 . ' кр.
'; - if (Config::get('zuby') == true) { - if ($this->info['level'] < 8) { - $is1 .= '
Ремонт 1 ед. за ' . $this->zuby( - $r1 - ) . '
'; - if ($pl['iznosNOW'] >= 10) { - $is1 .= 'Ремонт 10 ед. за ' . $this->zuby( - $r2 - ) . '
'; - } - $is1 .= 'Полный ремонт за ' . $this->zuby( - $r3 - ) . '
'; - } - } - } elseif ($type == 3) { - $is1 .= ''; - } elseif ($type == 2) { - global $shopProcent; - $shpCena = $pl['1price']; - if ($pl['1price'] == 0) { - $shpCena = $pl['price1']; - } - $plmx = 0; - if ($pl['iznosMAXi'] != $pl['iznosMAX'] && $pl['iznosMAX'] != 0) { - $plmx = $pl['iznosMAX']; - } else { - $plmx = $pl['iznosMAXi']; - } - if ($pl['iznosNOW'] > 0) { - $prc1 = floor($pl['iznosNOW']) / ceil($plmx) * 100; - } else { - $prc1 = 0; - } - $shpCena = $this->shopSaleM($shpCena, $pl); - $shpCena = $shpCena / 100 * (100 - $prc1); - if ($pl['iznosMAXi'] < 999999999) { - if ($pl['iznosMAX'] > 0 && $pl['iznosMAXi'] > 0 && $pl['iznosMAXi'] > ceil($pl['iznosMAX'])) { - $shpCena = $shpCena / 100 * (ceil($pl['iznosMAX']) / $pl['iznosMAXi'] * 100); - } - } - $shpCena = $this->round2($shpCena / 100 * (100 - $shopProcent)); - if ($shpCena < 0) { - $shpCena = 0; - } - if ($pl['kolvo'] > 0) { - $shpCena = $shpCena * $pl['kolvo']; - } - if (isset($po['toclan'])) { - $po['toclan1'] = explode('#', $po['toclan']); - $us_1 = $po['toclan1'][1]; - if ($us_1 != $this->info['id']) { - $d_s = false; - } else { - $d_s = true; - } - } else { - $d_s = true; - } - if ($d_s) { // Продать за кр тут - $is1 .= 'Продать за ' . $shpCena . ' кр.'; - if ($pl['pricerep'] > 0) { - $is1 .= '
Обменять на ' . floor( - $pl['pricerep'] * $pl['kolvo'] / 2 - ) . ' Воинc. '; - } - } else { - $is1 .= 'Это не ваш предмет.'; - } - } elseif ($type == 16) { - $shpCena = $pl['price2']; - if ($pl['2price'] > 0) { - $shpCena = $pl['2price']; - } - $shpCena = $this->shopSaleM($shpCena, $pl); - if ($pl['kolvo'] > 0) { - $shpCena = $shpCena * $pl['kolvo']; - } - $plmx = 0; - if ($pl['iznosMAXi'] != $pl['iznosMAX'] && $pl['iznosMAX'] != 0) { - $plmx = $pl['iznosMAX']; - } else { - $plmx = $pl['iznosMAXi']; - } - if ($pl['iznosNOW'] > 0) { - $prc1 = floor($pl['iznosNOW']) / ceil($plmx) * 100; - } else { - $prc1 = 0; - } - $shpCena = $shpCena / 100 * (100 - $prc1); - if ($pl['iznosMAX'] > 0 && $pl['iznosMAXi'] > 0 && $pl['iznosMAXi'] > $pl['iznosMAX']) { - $shpCena = $shpCena / 100 * ($pl['iznosMAX'] / $pl['iznosMAXi'] * 100); - } - $shpCena = $this->round2($shpCena * $this->berezCena()); - if ($shpCena < 0) { - $shpCena = 0; - } - if (isset($po['toclan'])) { - $po['toclan1'] = explode('#', $po['toclan']); - $us_1 = $po['toclan1'][1]; - if ($us_1 != $this->info['id']) { - $d_s = false; - } else { - $d_s = true; - } - } else { - $d_s = true; - } - if ($d_s) { - $is1 .= 'Продать за ' . $shpCena . ' екр.'; - } else { - $is1 .= 'Это не ваш предмет.'; - } - } elseif ($type == 30) { - if (isset($po['toclan'])) { - $po['toclan1'] = explode('#', $po['toclan']); - $us_1 = $po['toclan1'][1]; - $d_s = !($us_1 != $this->info['id']); - } else { - $d_s = true; - } - if ($d_s) { - $is1 .= '
'; - } else { - $is1 .= 'Это не ваш предмет.'; - } - } elseif ($type == 31) { - $is1 .= '
'; - } else { - if ($d[2] == 1) { //можно использовать - $inv1 = ''; - if (isset($_GET['inv'])) { - $inv1 = 'inv=1&'; - } - if ($pl['item_id'] == 74) { - $is1 .= 'исп-ть'; - } else { - $useUrl = ''; - if ($pl['magic_inc'] == '') { - $pl['magic_inc'] = $pl['magic_inci']; - } - if ($pl['magic_inc'] && $pl['type'] == 30) { - //используем эликсир - $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; - $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\');'; - } elseif ($pl['magic_inc'] && $pl['type'] == 29) { //используем заклятие - if (isset($po['useOnLogin']) && !isset($po['zazuby'])) { //на персонажа - $useUrl = 'top.useMagic(\'' . $pl['name'] . '\',' . (0 + $pl['id']) . ',\'' . $pl['img'] . '\',1,\'main.php?' . $inv1 . 'otdel=' . ((int)$_GET['otdel']) . '&use_pid=' . $pl['id'] . '&rnd=' . $code . '\');'; - } else { //просто использование (на себя, либо без указания предмета\логина) - $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; - $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\',' . (0 + $_GET['otdel']) . ');'; - } - //на предмет - } - if ($useUrl != '') { - $is1 .= 'исп-ть'; - } else { - $d[2] = 0; - } - } - } - - if ($pl['max_text'] > 0 && $pl['max_text'] - $pl['use_text'] > 0) { - $is1 .= 'Записать
'; - } - if ($pl['type'] == 31 || $pl['type'] == 46 || $pl['type'] == 48 || $pl['type'] == 50 || $pl['type'] == 62 || $pl['type'] == 68 || $pl['type'] == 37 || $pl['type'] == 47) { - if ($d[2] == 1) { - $is1 .= '
'; - } - if (($pl['type'] != 37 || !isset($po['item_inbox']) || $po['item_inbox'] == 0) && $pl['item_id'] != 10038 && $pl['item_id'] != 10039 && $pl['item_id'] != 10040) { - $is1 .= 'исп-ть'; - } - } - - //можно одеть - if ($d[0] == 1 && $pl['type'] != 30 && $pl['type'] != 31 && (($pl['type'] != 38 && $pl['type'] != 39 && $pl['type'] != 37) || $pl['gift'] != '') && !isset($po['noodet']) && $pl['inslot'] > 0) { - if ($d[2] == 1) { - $is1 .= '
'; - } - $is1 .= 'надеть'; - } - if (isset($po['open']) && $d[0] == 1) { - if ($d[2] == 1) { - $is1 .= '
'; - } - $is1 .= 'Открыть'; - } - if (isset($po['close'])) { - if ($d[2] == 1) { - $is1 .= '
'; - } - $is1 .= 'Предмет закрыт'; - } - if ($pl['group'] > 0) { - $is1 .= '
'; - if ($this->itemsX($pl['id']) < $pl['group_max']) { - $is1 .= ''; - } - if ($this->itemsX($pl['id']) > 1) { - $is1 .= ' ' . $script; - } - } - if (isset($po['toclan'])) { - $po['toclan1'] = explode('#', $po['toclan']); - $us_1 = $po['toclan1'][1]; - if ($us_1 != $this->info['id']) { - $d[1] = 0; - } - } - - $is1 .= ' '; - - if ($d[1] == 1) { //можно выкинуть - if (!isset($po['nodelete'])) { - $is1 .= ' '; - } - } - } - - //собираем все в одно (: - $rt[2] .= '
' . $is1 . '
' . $is2 . '
'; - $rt[1] += $pl['massa']; - $i++; - } - $j++; - } - $rt[0] = $i; - $rt['collich'] = $j; - return $rt; - } - - public function itemsX($id, $uid = null, $item_id = null) - { - - $item = mysql_fetch_array( - mysql_query( - 'SELECT `iu`.`id`,`iu`.`item_id`,`iu`.`uid`,`iu`.`inGroup`,`iu`.`inShop` FROM `items_users` AS `iu` WHERE `iu`.`delete` = "0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1 ' - ) - ); - if ($item['inGroup'] == 0) { - $grp = ' LIMIT 1'; - } else { - $grp = ' LIMIT 1000'; - } - $r = mysql_num_rows( - mysql_query( - 'SELECT `iu`.`id` FROM `items_users` AS `iu` WHERE `iu`.`inShop` = "' . $item['inShop'] . '" AND `iu`.`item_id` = "' . $item['item_id'] . '" AND `iu`.`uid` = "' . ($item['uid']) . '" AND `iu`.`delete` = "0" AND `iu`.`inGroup` = "' . ($item['inGroup']) . '" ' . $grp . ' ' - ) - ); - unset($item); - return $r; - } - - private function stackGroupCheck($uid, $group, $item) - { // Находит неиспользованный ID группы предметов. - $g = 0; - $i = 0; - do { - $i++; - $gr = mysql_fetch_array( - mysql_query( - 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` - WHERE `iu`.`uid`="' . $uid . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="' . $i . '" AND `iu`.item_id="' . $item . '" - LIMIT 1' - ) - ); - if (empty($gr['inGroup'])) { - $g = 1; - } - } while ($g == 0); - return $i; - } - - public function stack($id) - { - global $c, $code; - $where = ''; - $itm = mysql_fetch_array( - mysql_query( - 'SELECT -`im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl`, 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 AND `iuu`.inShop = 0) - WHERE `iu`.`id` = "' . mysql_real_escape_string( - (int)$id - ) . '" AND `iu`.`uid` = "' . $this->info['id'] . '" AND `iuu`.`uid` = "' . $this->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" AND `im`.`group` = "1" LIMIT 1' - ) - ); - - if (isset($itm['id']) && $itm['iznosNOW'] == 0) { //группируем похожие свободные предметы с этим - // создаем группу - if ($itm['inGroup'] == 0) { // Если предмет не в группе, собираем все похожие предметы по группам. - $items = mysql_num_rows( - mysql_query( - 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="0" AND `iu`.item_id="' . $itm['item_id'] . '"' - ) - ); - $items = ceil($items / $itm['group_max']); - } else { // Добираем предметы в группу до полного количества, из предметов с inGroup == 0 - $curG = mysql_num_rows( - mysql_query( - 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="' . $itm['inGroup'] . '" AND `iu`.item_id="' . $itm['item_id'] . '"' - ) - ); // Текущее количество предметов в выбранной группе - $curNG = mysql_num_rows( - mysql_query( - 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="0" AND `iu`.item_id="' . $itm['item_id'] . '"' - ) - ); // Текущее количество предметов которые без группы - $needG = $itm['group_max'] - $curG; // Задаем требуемое количество для добора, если нужно больше 0 и требуемое количество меньше - - if ($needG > 0 && $curNG == 0) { - $curItem = mysql_fetch_array( - mysql_query( - 'SELECT `iu`.id, `iu`.inGroup, count(`iu`.inGroup) as itemsInGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`inGroup`!="' . $itm['inGroup'] . '" AND `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.item_id="' . $itm['item_id'] . '" GROUP BY `iu`.inGroup HAVING itemsInGroup <= "' . $needG . '" ORDER BY itemsInGroup DESC LIMIT 1' - ) - ); - if (isset($curItem['id'])) { - $where = ' `iu`.`inGroup` = "' . $curItem['inGroup'] . '" AND '; - } - } - $itm['group_max'] = $needG; - $items = 1; - } - $s = 0; - do { - if (!isset($curG) && $curNG == 0) { - $itm['inGroup'] = $this->stackGroupCheck($this->info['id'], $itm['inGroup'], $itm['item_id']); - } - $sp = mysql_query( - 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE ' . $where . ' `iu`.`kolvo` = "1" AND `iu`.`item_id` = "' . $itm['item_id'] . '" AND `iu`.`uid` = "' . $this->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" AND `im`.`group` = "1" ORDER BY `iu`.`inGroup` ASC LIMIT ' . $itm['group_max'] . '' - ); - $i = 0; - $j = 0; - while ($pl = mysql_fetch_array($sp)) { - $pl['data'] = ConversionHelper::dataStringToArray($pl['data']); - unset($pl['data']['frompisher']); - $pl['data'] = ConversionHelper::arrayToDataString($pl['data']); - $itm['data'] = ConversionHelper::dataStringToArray($itm['data']); - unset($itm['data']['frompisher']); - $itm['data'] = ConversionHelper::arrayToDataString($itm['data']); - if ($pl['data'] == $itm['data'] && $pl['name'] == $itm['name'] && $itm['iznosMAX'] == $pl['iznosMAX'] && $pl['iznosNOW'] == 0 && ($pl['timeOver'] == 0 || $pl['timeOver'] > time()) && $pl['gift'] == $itm['gift']) { - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `inGroup` = "' . $itm['inGroup'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' - ); - if ($upd) { - $j++; - } - $i++; - } - } - mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - $s++; - } while ($s < $items); - } - } - - public function unstack($id, $x = null) - { - $id = (int)$id; - $itm = mysql_fetch_array( - mysql_query( - 'SELECT `iu`.id, `iu`.inGroup, `im`.`id` as item_id,`im`.`name`, 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`="' . $this->info['id'] . '" AND `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `im`.`group` = "1" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.id=' . mysql_real_escape_string( - (int)$id - ) . ' -ORDER BY `iu`.lastUPD DESC -LIMIT 1' - ) - ); - if (isset($itm['id']) && $itm['inGroup'] > 0 && $itm['inGroupCount'] > 0) { - if ($x == 0 or $x == null) { - $x = $this->itemsX($itm['id']); //кол-во распада - $inGroup = 0; - } elseif ($x != 0) { - $inGroup = $this->stackGroupCheck($this->info['id'], $itm['inGroup'], $itm['item_id']); - } else { - $inGroup = 0; - } - $sp = mysql_query( - 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid` = "' . $this->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inGroup` = "' . $itm['inGroup'] . '" AND `iu`.`item_id` = "' . $itm['item_id'] . '" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" AND `im`.`group` = "1" LIMIT ' . $x . '' - ); - $i = 0; - $j = 0; - while ($pl = mysql_fetch_array($sp)) { - $upd = mysql_query( - 'UPDATE `items_users` SET `inGroup` = "' . $inGroup . '", `lastUPD` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' - ); - if ($upd) { - $j++; - } - $i++; - } - if ($this->itemsX($itm['id']) == 1) { - mysql_query( - 'UPDATE `items_users` SET `inGroup` = "0", `lastUPD` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - if ($this->itemsX($pl['id']) == 1) { - mysql_query( - 'UPDATE `items_users` SET `inGroup` = "0", `lastUPD` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' - ); - } - } - } - - public function testItems($uid, $sn, $dt) - { - global $c, $code; - $st = false; - $rt = false; - if ($uid != $this->info['id']) { - $u = mysql_fetch_array( - mysql_query( - 'SELECT `u`.`align`,`u`.`align2`,`u`.`battle`,`u`.`clan`,`u`.`animal`,`u`.`id`,`u`.`level`,`u`.`login`,`u`.`sex`,`u`.`autospell`,`u`.`noplaw`,`u`.`obraz`, - `st`.`id`,`st`.`lider`,`st`.`btl_cof`,`st`.`last_hp`,`st`.`last_pr`,`st`.`smena`,`st`.`stats`,`st`.`hpAll`,`st`.`mpAll`,`st`.`hpNow`,`st`.`mpNow`,`st`.`enNow`,`st`.`transfers`,`st`.`regHP`,`st`.`regMP`,`st`.`showmenu`,`st`.`prmenu`,`st`.`ability`,`st`.`skills`,`st`.`sskills`,`st`.`nskills`,`st`.`exp`,`st`.`minHP`,`st`.`minMP`,`st`.`zv`,`st`.`dn`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`last_a`,`st`.`last_b`,`st`.`battle_text`,`st`.`upLevel`,`st`.`wipe`,`st`.`bagStats`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`nextAct`,`st`.`active`,`st`.`bot`,`st`.`lastAlign`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`s`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`ref_data`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`bn_capitalcity`,`st`.`bn_demonscity` - FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`id`="' . mysql_real_escape_string( - $uid - ) . '" OR `u`.`login`="' . mysql_real_escape_string($uid) . '" LIMIT 1' - ) - ); - if ($sn == 0) { - $sn = $this->getStats($uid, $i1); - } - } else { - $u = $this->info; - if (isset($this->stats['hpAll'])) { - $sn = $this->stats; - } elseif ($sn == 0) { - $sn = $this->getStats($uid, $i1); - } - } - if (isset($u['id'])) { - $snIt = 0; - //Проверяем одетые вещи и вещи с сроком годности - $cl = mysql_query( - 'SELECT - `iu`.`id` AS `iduid`, - `iu`.`time_sleep`,`im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` - FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`iu`.`inOdet`!="0" OR `iu`.`data` LIKE "%srok%" OR `iu`.`data` LIKE "%vip_sale%" OR `iu`.`data` LIKE "%sudba=1%" OR ( `iu`.`data` LIKE "%zazuby=%" AND `iu`.`data` NOT LIKE "%srok=%" ) OR `iu`.`iznosNOW` > 0 OR `im`.`srok` > 0 OR (`iu`.`timeOver`<' . time() . ' AND `iu`.`timeOver`!="0")) AND `iu`.`uid`="' . $u['id'] . '" AND (`iu`.`delete`="0" OR `iu`.`delete`="1000")' - ); - while ($itm = mysql_fetch_array($cl)) { - $po = []; - $po = ConversionHelper::dataStringToArray($itm['data']); - $po['lvl'] = $u['level']; - //проверяем требования - $t = $this->items['tr']; - $x = 0; - $notr = 0; - $j = 1; - while ($j <= 4) { - if (!isset($po['tr_s' . $j]) && $itm['type'] != 26) { - $po['tr_s' . $j] = 0; - } - $j++; - } - while ($x < count($t)) { - $n = $t[$x]; - if (isset($po['tr_' . $n]) && $n == 'sex') { - if ($po['tr_' . $n] != $this->info['sex']) { - $notr++; - } - } elseif (isset($po['tr_' . $n])) { - if ($po['tr_' . $n] > $this->stats[$n] && $n != 'align' && $n != 'align_bs') { - $notr++; - } - } - $x++; - } - if ($this->info['twink'] > 0) { - //Не дороже 100 екр. - if ($itm['price2'] > 1 || $itm['2price'] > 1) { - $notr++; - } - //Нельзя руны + чарки - if (isset($po['rune']) && $po['rune'] > 0) { - $notr++; - } - if (isset($po['spell_id']) && $po['spell_id'] > 0) { - $notr++; - } - } - if (isset($po['sudba']) && $po['sudba'] == 1) { - $po['sudba'] = $u['login']; - $itm['data'] = ConversionHelper::arrayToDataString($po); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $itm['data'] . '" WHERE `id` = "' . $itm['iduid'] . '" AND `uid` = "' . $u['id'] . '" LIMIT 1' - ); - } - if (isset($po['zazuby']) && !isset($po['srok']) && ($itm['type'] == 29 || $itm['type'] == 30 || $itm['type'] == 36 || $itm['type'] == 49 || $itm['type'] == 46 || $itm['type'] == 34)) { - //Предметы за зубы со сроком годности - $po['srok'] = 86400 * 7; - $itm['data'] = ConversionHelper::arrayToDataString($po); - mysql_query( - 'UPDATE `items_users` SET `data` = "' . $itm['data'] . '" WHERE `id` = "' . $itm['iduid'] . '" AND `uid` = "' . $u['id'] . '" LIMIT 1' - ); - } - if (isset($po['srok']) && $po['srok'] > 0) { - $itm['srok'] = $po['srok']; - } - if (isset($po['vip_sale']) && $sn['silver'] < 2 && ($itm['time_create'] - time()) < 0) { - if ($itm['item_id'] == 4704) { - $po['musor2'] = 4708; - } - $this->isport( - $itm['id'], $itm['timeOver'], $itm['overType'], $u['id'], (int)$po['musor2'], $itm['type'], - $itm['name'], $po['zazuby'] - ); - $notr++; - } - if ($itm['iznosNOW'] >= ceil($itm['iznosMAX']) && $itm['iznosMAXi'] != 999999999) { - $notr++; - } - if ($notr > 0 && $itm['inOdet'] != 0) { - //снимаем предмет - $this->snatItem($itm['id'], $u['id']); - $snIt++; - } - //проверяем срок годности - if ($itm['iznosNOW'] >= ceil($itm['iznosMAX']) && $itm['iznosMAXi'] != 999999999) { - //предмет сломался - if (isset($po['musor'])) { - if ($po['musor'] > 0) { - $this->recr($itm['id'], $itm['type'], $u['id'], (int)$po['musor']); - } - } - } - if ($itm['time_create'] + $itm['srok'] <= time() && $itm['srok'] > 0 && $itm['time_sleep'] == 0) { - if ($itm['inOdet'] != 0) { - $this->snatItem($itm['id'], $u['id']); - $snIt++; - } - //удаляем предмет - if ($itm['item_id'] == 4704) { - $po['musor2'] = 4708; - } - $this->isport( - $itm['id'], $itm['timeOver'], $itm['overType'], $u['id'], (int)$po['musor2'], $itm['type'], - $itm['name'], $po['zazuby'] - ); - } elseif ($itm['time_create'] + $itm['srok'] <= time() && $itm['srok'] > 0) { - echo 'test'; - } - } - - if ($snIt > 0) { - $this->testItems($uid, $sn, 1); - } elseif ($dt == 0) { - return -2; - } - } else { - return 0; - } - } - - public function recr($id, $tp, $uid, $id2) - { - if ($id != 0) { - if ($uid != 0) { - $uid2 = 'AND `uid`="' . $uid . '"'; - } else { - $uid2 = ''; - } - $upd = mysql_query( - 'UPDATE `items_users` SET `delete`="' . time() . '" WHERE `id` = "' . $id . '" ' . $uid2 . ' LIMIT 1' - ); - if ($upd) { - $this->addDelo( - 2, $uid, - '"System.inventory": Предмет [itm:' . $it . '] был сломан.', - time(), $this->info['city'], 'System.inventory', 0, 0 - ); - if ($id2 > 1) { - //Добавляем пустую бутылку - $this->addItem($id2, $uid, 'noodet=1|noremont=1'); - } - } - } - } - - public function isport($it, $t, $tp, $uid, $id2, $type, $name, $zub) - { - if ($id2 == 4708) { - $tp = 1; - } - if ($it != 0) { - if ($uid != 0) { - $uid2 = 'AND `uid`="' . $uid . '"'; - } else { - $uid2 = ''; - } - $upd = mysql_query( - 'UPDATE `items_users` SET `delete`="' . time() . '",`timeOver`="1" WHERE `id` = "' . $it . '" ' . $uid2 . ' LIMIT 1' - ); - if ($upd) { - $upd = mysql_query( - 'UPDATE `items_users` SET `inGroup`="0",`timeOver`="' . time() . '" WHERE `inGroup` = "' . $it . '" ' . $uid2 . '' - ); - $this->addDelo( - 2, $uid, - '"System.inventory": Предмет ' . $name . ' [itm:' . $it . '] был испорчен.', - time(), $this->info['city'], 'System.inventory', 0, 0 - ); - if ($tp != 0) { - //Добавляем испорченый предмет в инвентарь, в зависимости от типа - $zzba = ''; - if ($zub > 0) { - $zzba = '|zazuby=1'; - } - $po = ConversionHelper::dataStringToArray($this->stats['items'][$i]['data']); - if ($id2 > 0) { - if ($id2 == 4708) { - $this->addItem($id2, $uid, '|notransfer=1|nosale=1' . $zzba); - } else { - $this->addItem($id2, $uid, '|noodet=1' . $zzba); - } - } else { - if ($type == 30) { - //испорченный эликсир - $this->addItem(4036, $uid, '|renameadd=' . $name . '|noodet=1' . $zzba); - } - } - } - } - } - } - - public function btlMagicList() - { - global $c; - $i = 1; - $sv = []; - while ($i <= 10) { - $sv[$i] = ''; - $i++; - } - $i = 0; - while ($i < count($this->stats['items'])) { - if ($this->stats['items'][$i]['inslot'] == 40 || $this->stats['items'][$i]['inslot'] == 51) { - if ($this->stats['items'][$i]['useInBattle'] == 0 || $this->stats['items'][$i]['btl_zd'] > 0 || $this->stats['items'][$i]['iznosNOW'] >= $this->stats['items'][$i]['iznosMAX'] || $this->stats['items'][$i]['magic_inci'] == '' || $this->stats['items'][$i]['magic_inci'] == '0') { - $vl = ' class="nopriemuse"'; - } else { - $po = ConversionHelper::dataStringToArray($this->stats['items'][$i]['data']); - if ($po['useOnLogin'] == 1) { - $useUrl = 'top.useMagicBattle(\'' . $this->stats['items'][$i]['name'] . '\',' . $this->stats['items'][$i]['id'] . ',\'' . $this->stats['items'][$i]['img'] . '\',1,1,\'\',\'' . $this->stats['items'][$i]['useInBattle'] . '\');'; - } else { - $useUrl = 'top.useMagicBattle(\'' . $this->stats['items'][$i]['name'] . '\',' . $this->stats['items'][$i]['id'] . ',\'' . $this->stats['items'][$i]['img'] . '\',1,2);'; - } - $vl = 'style="cursor:pointer" onclick="' . $useUrl . '"'; - } - $sv[$this->stats['items'][$i]['inOdet'] - 39] = ''; - } - $i++; - } - $r = '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '' . - '
' . $sv[1] . '' . $sv[2] . '' . $sv[3] . '' . $sv[4] . '' . $sv[5] . '' . $sv[6] . '' . $sv[7] . '' . $sv[8] . '' . $sv[9] . '' . $sv[10] . '' . $sv[11] . '' . $sv[12] . '
'; - return str_replace('"', '\"', $r); - } - - public function nameItemMf($pl, $po) - { - $r = $pl['name']; - if (isset($po['icos'])) { - $r = '' . $pl['name'] . '  ' . $po['icos'] . ' '; - } - //if( $this->info['admin'] > 0 ) { - if (isset($po['rune']) && $po['rune'] > 0) { - $rnc = explode(' ', $po['rune_name']); - if ($rnc[0] == 'Игнис') { - $rnc = '#9b5d40'; - } elseif ($rnc[0] == 'Аква') { - $rnc = '#3a2b64'; - } elseif ($rnc[0] == 'Аура') { - $rnc = '#20a3b0'; - } elseif ($rnc[0] == 'Тера') { - $rnc = '#4c7718'; - } else { - $rnc = '#4c4c4c'; - } - $r .= '
Руна: ' . $po['rune_name'] . ''; - unset($rnc); - } - if (isset($po['spell'])) { - $rnc = explode(' ', $po['spell_name']); - if ($rnc[2] == '[0]') { - $rnc = '#282828'; - } elseif ($rnc[2] == '[1]') { - $rnc = '#624542'; - } elseif ($rnc[2] == '[2]') { - $rnc = '#77090b'; - } elseif ($rnc[2] == '[3]') { - $rnc = '#d99800'; - } else { - $rnc = '#d99800'; - } - $r .= '
' . $po['spell_name'] . ''; - unset($rnc); - } - return $r; - } - - public function getInfoItemInfo($pl): string - { - $lvar = ''; - $td = ConversionHelper::dataStringToArray($pl['data']); - - if (isset($td['sv_yron_max']) && $td['sv_yron_max'] > 0) { - $lvar .= '
Урон: ' . $td['sv_yron_min'] . '-' . $td['sv_yron_max'] . ''; - } - if (isset($td['add_mab1']) && $td['add_mab1'] > 0) { - if ($td['add_mib1'] == $td['add_mab1'] && $pl['geniration'] == 1) { - $m1l = '+'; - if ($td['add_mab1'] < 0) { - $m1l = ''; - } - $lvar .= '
Броня головы: ' . $m1l . '' . (0 + $td['add_mab1']) . ''; - } else { - $lvar .= '
Броня головы: ' . (0 + $td['add_mib1']) . '-' . (0 + $td['add_mab1']) . ''; - } - } - // - $t = $this->items['add']; - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($td['add_' . $n], $this->is[$n])) { - $z = '+'; - if ($td['add_' . $n] < 0) { - $z = ''; - } - $lvar .= '
' . $this->is[$n] . ': ' . $z . '' . $td['add_' . $n]; - } - $x++; - } - // - $x = 0; - while ($x < count($t)) { - $n = $t[$x]; - if (isset($td['sv_' . $n])) { - $z = '+'; - if ($td['sv_' . $n] < 0) { - $z = ''; - } - if ($n != 'yron_min' && $n != 'yron_max') { - $lvar .= '
' . $this->is[$n] . ': ' . $z . '' . $td['sv_' . $n]; - } - } - $x++; - } - if ($pl['2h'] == 1) { - $lvar .= '
• Двуручное оружие'; - } - if (isset($po['zonb'])) { - $lvar .= '
Зоны блокирования: '; - if ($lvar['zonb'] > 0) { - $x = 1; - while ($x <= $td['zonb']) { - $lvar .= '+'; - $x++; - } - } else { - $lvar .= '—'; - } - } - - // - if (isset($td['add_mab2']) && $td['add_mab2'] > 0) { - if ($td['add_mib2'] == $td['add_mab2'] && $pl['geniration'] == 1) { - $m1l = '+'; - if ($td['add_mab2'] < 0) { - $m1l = ''; - } - $lvar .= '
Броня корпуса: ' . $m1l . '' . (0 + $td['add_mab2']) . ''; - } else { - $lvar .= '
Броня корпуса: ' . (0 + $td['add_mib2']) . '-' . (0 + $td['add_mab2']) . ''; - } - } - if (isset($td['add_mab3']) && $td['add_mab3'] > 0) { - if ($td['add_mib3'] == $td['add_mab3'] && $pl['geniration'] == 1) { - $m1l = '+'; - if ($td['add_mab3'] < 0) { - $m1l = ''; - } - $lvar .= '
Броня пояса: ' . $m1l . '' . (0 + $td['add_mab3']) . ''; - } else { - $lvar .= '
Броня пояса: ' . (0 + $td['add_mib3']) . '-' . (0 + $td['add_mab3']) . ''; - } - } - if (isset($td['add_mab4']) && $td['add_mab4'] > 0) { - if ($td['add_mib4'] == $td['add_mab4'] && $pl['geniration'] == 1) { - $m1l = '+'; - if ($td['add_mab4'] < 0) { - $m1l = ''; - } - $lvar .= '
Броня ног: ' . $m1l . '' . (0 + $td['add_mab4']) . ''; - } else { - $lvar .= '
Броня ног: ' . (0 + $td['add_mib4']) . '-' . (0 + $td['add_mab4']) . ''; - } - } - if ($pl['iznosMAX'] > 0) { - $lvar .= '
Долговечность: ' . floor($pl['iznosNOW']) . '/' . ceil($pl['iznosMAX']); - } - - if ($po['battleUseZd'] > 0) { - $lvar .= '
Задержка использования: ' . $this->timeOut($po['battleUseZd']) . ''; - } - - if (isset($td['gravi'])) { - $lvar .= '
"' . $td['gravi'] . '"'; - } - - return $lvar; - } - - - public function getInfoPers($uid, $i1, $sn = 0, $ivv = 0): array - { - global $c, $code; - - $st = false; - $rt = false; - $type_info = 1; - if ($uid != $this->info['id']) { - $u = mysql_fetch_array( - mysql_query( - 'SELECT `u`.`inTurnir`,`u`.`allLock`,`u`.`battle`,`u`.`zag`,`u`.`banned`,`u`.`align`,`u`.`align2`,`u`.`clan`,`u`.`animal`,`u`.`id`,`u`.`level`,`u`.`login`,`u`.`sex`,`u`.`autospell`,`u`.`noplaw`,`u`.`obraz`,`u`.`vip`, - `st`.`id`,`st`.`lider`,`st`.`btl_cof`,`st`.`last_hp`,`st`.`last_pr`,`st`.`smena`,`st`.`stats`,`st`.`hpAll`,`st`.`mpAll`,`st`.`hpNow`,`st`.`mpNow`,`st`.`enNow`,`st`.`transfers`,`st`.`regHP`,`st`.`regMP`,`st`.`showmenu`,`st`.`prmenu`,`st`.`ability`,`st`.`skills`,`st`.`sskills`,`st`.`nskills`,`st`.`exp`,`st`.`minHP`,`st`.`minMP`,`st`.`zv`,`st`.`dn`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`last_a`,`st`.`last_b`,`st`.`battle_text`,`st`.`upLevel`,`st`.`wipe`,`st`.`bagStats`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`nextAct`,`st`.`active`,`st`.`bot`,`st`.`lastAlign`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`s`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`ref_data`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`bn_capitalcity`,`st`.`bn_demonscity` - FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`id`="' . mysql_real_escape_string( - $uid - ) . '" OR `u`.`login`="' . mysql_real_escape_string($uid) . '" LIMIT 1' - ) - ); - if ($sn == 0) { - $sn = $this->getStats($uid, $i1); - } - } else { - $u = $this->info; - if (isset($this->stats['hpAll'])) { - $sn = $this->stats; - } elseif ($sn == 0) { - $sn = $this->getStats($uid, $i1); - } - } - - $tp_img = [ - 1 => 4, - 2 => 5, - 14 => 6, - 3 => 7, - 5 => 8, - 7 => 9, - 17 => 10, - 16 => 11, - 13 => 12, - 10 => 13, - 9 => 14, - 8 => 15, - 11 => 17, //кольцо 2 - 12 => 18, //кольцо 3 - ]; - - if (isset($u['id'], $u['stats'])) { - $rt = [0 => '', 1 => []]; - $st = []; - $st['id'] = $u['id']; - $st['login'] = $u['login']; - $st['lvl'] = $u['level']; - - //Характеристики от предметов и их изображение - $witm = []; - $witm[1] = ''; - $witm[2] = ''; - $witm[3] = ''; - $witm[4] = ''; - $witm[7] = ''; - $witm[8] = ''; - $witm[9] = ''; - $witm[10] = ''; - $witm[11] = ''; - $witm[12] = ''; - $witm[13] = ''; - $witm[14] = ''; - $witm[16] = ''; - $witm[17] = ''; - //40-52 слот под магию - $witm[53] = ''; - $witm[54] = ''; - $witm[55] = ''; - $witm[56] = ''; - $witm[57] = ''; - $witm[58] = ''; - $cl = mysql_query( - 'SELECT - `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` - FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`inOdet`!="0" AND `iu`.`uid`="' . $u['id'] . '" AND `iu`.`delete`="0"' - ); - $wj = [1 => false, 2 => false, 4 => false, 5 => false, 6 => false]; - $b1 = '
'; - - while ($pl = mysql_fetch_array($cl)) { - $td = ConversionHelper::dataStringToArray($pl['data']); - - if (isset($td['modif'])) { - $pl['name'] = $pl['name'] . ' (мф)'; - } - - if (isset($td['upatack_lvl'])) { - $pl['name'] = $pl['name'] . ' +' . $td['upatack_lvl']; - } - - if (isset($td['mod_lvl'])) { - $pl['name'] = $pl['name'] . ' ' . $mx . ' [' . $td['mod_lvl'] . ']'; - } - - if ($pl['inOdet'] == 1 || $pl['inOdet'] == 52 || ($pl['inOdet'] >= 4 && $pl['inOdet'] <= 6)) { - $wj[$pl['inOdet']] = $pl; - } - - $pl['name'] = $this->nameItemMf($pl, $td); - - $lvar = $this->getInfoItemInfo($pl); - - if (@isset($sn['items_img'][$tp_img[$pl['inOdet']]])) { - $uimg = 'rimg/r' . $sn['items_img'][$tp_img[$pl['inOdet']]]; - } else { - $uimg = 'i/items/' . $pl['img'] . ''; - } - - $witm[$pl['inOdet']] = ''; - - if ($i1 == 1) { - $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; - } else { - if ($pl['inOdet'] >= 40 && $pl['inOdet'] <= 52 && !isset($_GET['inv'])) { - $useUrl = ''; - if ($pl['magic_inc'] == '') { - $pl['magic_inc'] = $pl['magic_inci']; - } - if ($pl['magic_inc'] && $pl['type'] == 30) { - //используем эликсир - $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; - $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\');'; - } elseif ($pl['magic_inc'] && $pl['type'] == 29) { - //используем заклятие - //на персонажа - if (isset($td['useOnLogin'])) { - $inv1 = ''; - if (isset($_GET['inv'])) { - $inv1 = 'inv=1&otdel=' . ((int)$_GET['otdel']) . '&'; - } - $useUrl = 'top.useMagic(\'' . $pl['name'] . '\',' . (0 + $pl['id']) . ',\'' . $pl['img'] . '\',1,\'main.php?' . $inv1 . 'use_pid=' . $pl['id'] . '&rnd=' . $code . '\');'; - } else { - //просто использование (на селя, либо без указания предмета\логина) - $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; - $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\');'; - } - } - $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; - } elseif ($pl['item_id'] == 998 && !isset($_GET['inv'])) { - //варежки - $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; - } else { - $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; - } - } - } - //Шлем,Венок - $wj1i = ''; - $br = '
'; - if ($wj[1]) { - if ($wj[52]) { - $wj1i .= $br; - } - $td = []; - $td = ConversionHelper::dataStringToArray($wj[1]['data']); - $wj[1]['name'] = $this->nameItemMf($wj[1], $td); - $wj1i .= '' . $wj[1]['name'] . ''; - $wj1i .= $this->getInfoItemInfo($wj[1]); - } - if (isset($wj[52]) && $wj[52]) { - $td = ConversionHelper::dataStringToArray($wj[52]['data']); - $wj[52]['name'] = $this->nameItemMf($wj[52], $td); - - - $wj1i = '' . $wj[52]['name'] . '' . $wj1i; - $wj1i .= $this->getInfoItemInfo($wj[52]); - $wj[1]['img'] = $wj[52]['img']; - $wj[1]['id'] = $wj[52]['id']; - $wj[1]['inRazdel'] = $wj[52]['inRazdel']; - } - //Рубаха,Броня,Плащ - $wj4idd = $wj[5]['item_id']; - $wj4i = ''; - if ($wj[6]) { - $td = []; - $td = ConversionHelper::dataStringToArray($wj[6]['data']); - $wj[6]['name'] = $this->nameItemMf($wj[6], $td); - $wj4i .= '' . $wj[6]['name'] . ''; - - $wj4i .= $this->getInfoItemInfo($wj[6]); - if ($wj[5] || $wj[4]) { - $wj4i .= $br; - } - } - if ($wj[5]) { - $td = []; - $td = ConversionHelper::dataStringToArray($wj[5]['data']); - $wj[5]['name'] = $this->nameItemMf($wj[5], $td); - $wj4i .= '' . $wj[5]['name'] . ''; - - $wj4i .= $this->getInfoItemInfo($wj[5]); - if ($wj[4]) { - $wj4i .= $br; - } - } - if ($wj[4]) { - $td = []; - $td = ConversionHelper::dataStringToArray($wj[4]['data']); - $wj[4]['name'] = $this->nameItemMf($wj[4], $td); - $wj4i .= '' . $wj[4]['name'] . ''; - - $wj4i .= $this->getInfoItemInfo($wj[4]); - } - if ($this->info['noplaw'] == 1 && !isset($_GET['hide_plaw']) || ($this->info['noplaw'] == 0 && isset($_GET['hide_plaw']))) { - if ($wj[5]) { - $wj[4]['img'] = $wj[5]['img']; - $wj[4]['id'] = $wj[5]['id']; - $wj[4]['inRazdel'] = $wj[5]['inRazdel']; - } - } else { - if ($wj[6]) { - $wj[4]['img'] = $wj[6]['img']; - $wj[4]['id'] = $wj[6]['id']; - $wj[4]['inRazdel'] = $wj[6]['inRazdel']; - } elseif ($wj[5]) { - $wj[4]['img'] = $wj[5]['img']; - $wj[4]['id'] = $wj[5]['id']; - $wj[4]['inRazdel'] = $wj[5]['inRazdel']; - } - } - if ($wj[1] || $wj[2]) { - if (isset($sn['items_img'][$tp_img[1]])) { - $uimg = 'rimg/r' . $sn['items_img'][$tp_img[1]]; - } else { - $uimg = 'i/items/' . $wj[1]['img'] . ''; - } - $witm[1] = ''; - if ($i1 == 1) { - $witm[1] = '' . $witm[1] . ''; - } else { - $witm[1] = '' . $witm[1] . ''; - } - } - if ($wj[4] || $wj[5] || $wj[6]) { - if (isset($sn['items_img'][$tp_img[5]])) { - $uimg = 'rimg/r' . $sn['items_img'][$tp_img[5]]; - } else { - $uimg = 'i/items/' . $wj[4]['img'] . ''; - } - $witm[4] = ''; - if ($i1 == 1) { - if ($wj4idd > 0) { - $wj[4]['item_id'] = $wj4idd; - } - $witm[4] = '' . $witm[4] . ''; - } else { - $witm[4] = '' . $witm[4] . ''; - } - } - /*------------ ГЕНЕРИРУЕМ ИНФ. О ПЕРСОНАЖЕ ---------------*/ - $nmmsgl1 = 0; - if ($u['align'] >= 1 && $u['align'] < 2) { - $nmmsgl1 = 1; - } elseif ($u['align'] >= 3 && $u['align'] < 4) { - $nmmsgl1 = 3; - } elseif ($u['align'] >= 7 && $u['align'] < 8) { - $nmmsgl1 = 7; - } elseif ($u['align'] >= 50 && $u['align'] < 50) { - $nmmsgl1 = 60; - } - if ($u['admin'] > 0) { - $nmmsgl1 = 60; - } - $anan = [ - 1 => 'cat', - 2 => 'owl', - 3 => 'wisp', - 4 => 'demon', - 5 => 'dog', - 6 => 'pig', - 7 => 'dragon', + if (isset($this->info['id']) && $this->info['inUser']) { + $md = [ + $this->info['molch1'], + $this->info['molch2'], + $this->info['molch3'], + $this->info['admin'], + $this->info['nadmin'], + $this->info['banned'], + $this->info['align'], + $this->info['id'], + $this->info['level'], ]; - $anan2 = [ - 1 => 'Кот', - 2 => 'Сова', - 3 => 'Светляк', - 4 => 'Чертяка', - 5 => 'Пёс', - 6 => 'Свин', - 7 => 'Дракон', - ]; - $anml = ''; - if ($u['animal'] > 0) { - $an = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`type`,`name`,`uid`,`delete`,`inBattle`,`eda`,`exp`,`obraz`,`stats`,`level`,`sex`,`levelUp`,`pet_in_cage`,`max_exp`,`priems`,`bonus` FROM `users_animal` WHERE `id` = "' . $u['animal'] . '" AND `pet_in_cage` = 0 AND `delete` = "0" LIMIT 1' - ) - ); - if (isset($an['id'])) { - $petimg = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`img` FROM `obraz_pet` WHERE `uid` = "' . $u['id'] . '" AND `use` = 1 LIMIT 1' - ) - ); - if (isset($petimg['id'])) { - $anml = ''; - } else { - $anml = ''; - } - } + + $this->info = $this->getUserInfoById($this->info['inUser']); + + if ($this->info['molch1'] < $md[0]) { + $this->info['molch1'] = $md[0]; } - unset($anan); - - if (isset($sn['items_img'][2])) { - $msl = ''; - } else { - if ($anml == '') { - $msl = ''; - } else { - $msl = $anml; - } + if ($this->info['molch2'] < $md[1]) { + $this->info['molch2'] = $md[1]; } - unset($nmmsgl1); - $jf = ''; - $oi = ''; - if ($i1 != 1) { - $jf = 'main'; - $oi = 'onMouseOver="top.hi(this,\'' . $u['login'] . ' (Перейти в "Инвентарь")\',event,3,1,1,1,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"'; - $msl = ' - - - - - - - - - - -
' . $witm[53] . '' . $witm[55] . '' . $witm[54] . '
' . $witm[56] . '' . $witm[57] . '' . $witm[58] . '
'; + if ($this->info['molch3'] < $md[2]) { + $this->info['molch3'] = $md[2]; } - $hpmp = ''; - $eff = ''; - //-------- генерируем эффекты - $efs = mysql_query( - 'SELECT - `eu`.`id`,`eu`.`id_eff`,`eu`.`uid`,`eu`.`tr_life_user`,`eu`.`name`,`eu`.`data`,`eu`.`overType`,`eu`.`timeUse`,`eu`.`timeAce`,`eu`.`user_use`,`eu`.`delete`,`eu`.`v1`,`eu`.`v2`,`eu`.`img2`,`eu`.`x`,`eu`.`hod`,`eu`.`bj`,`eu`.`sleeptime`,`eu`.`no_Ace`, - `em`.`id2`,`em`.`mname`,`em`.`type1`,`em`.`img`,`em`.`mdata`,`em`.`actionTime`,`em`.`type2`,`em`.`type3`,`em`.`onlyOne`,`em`.`oneType`,`em`.`noAce`,`em`.`see`,`em`.`info`,`em`.`overch`,`em`.`bp`,`em`.`noch` - FROM `eff_users` AS `eu` LEFT JOIN `eff_main` AS `em` ON (`eu`.`id_eff` = `em`.`id2`) WHERE `eu`.`uid`="' . mysql_real_escape_string( - $u['id'] - ) . '" AND `delete`="0" AND `deactiveTime` < "' . time() . '" ORDER BY `deactiveTime` DESC,`timeUse` ASC' - ); - while ($e = mysql_fetch_array($efs)) { - $esee = 1; - if ($e['see'] == 0 && $i1 == 1) { - $esee = 0; - } - if ($e['see'] == 2 && ($u['battle'] != $this->info['battle'] || $this->info['battle'] == 0)) { - $esee = 0; - } - if ($e['see'] == 3 && $i1 == 0) { - $esee = 0; - } - if ($e['img'] == '') { - $esee = 0; - } - - if (($e['timeUse'] + $e['timeAce'] + $e['actionTime'] >= time() || $e['timeUse'] == 77) && $esee == 1) { - $ei = '' . $e['name'] . ''; - if ($e['type1'] > 0 && $e['type1'] < 7) { - $ei .= ' (Эликсир)'; - } elseif (($e['type1'] > 6 && $e['type1'] < 11) || $e['type1'] == 16) { - $ei .= ' (Заклятие)'; - } elseif ($e['type1'] == 14) { - $ei .= ' (Прием)'; - } elseif ($e['type1'] == 15) { - $ei .= ' (Изучение)'; - } elseif ($e['type1'] == 17) { - $ei .= ' (Проклятие)'; - } elseif ($e['type1'] == 18 || $e['type1'] == 19) { - $ei .= ' (Травма)'; - } elseif ($e['type1'] == 20) { - $ei .= ' (Пристрастие)'; - } elseif ($e['type1'] == 22) { - $ei .= ' (Ожидание)'; - } else { - $ei .= ' (Эффект)'; - } - $ei .= '
'; - - if ($e['type1'] != 13 && $e['timeUse'] != 77) { - $out = ''; - $time_still = ($e['timeUse'] + $e['timeAce'] + $e['actionTime']) - time(); - $tmp = floor($time_still / 2592000); - $id = 0; - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " мес. "; - } - $time_still = $time_still - $tmp * 2592000; - } - $tmp = floor($time_still / 604800); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " нед. "; - } - $time_still = $time_still - $tmp * 604800; - } - $tmp = floor($time_still / 86400); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " дн. "; - } - $time_still = $time_still - $tmp * 86400; - } - $tmp = floor($time_still / 3600); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " ч. "; - } - $time_still = $time_still - $tmp * 3600; - } - $tmp = floor($time_still / 60); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " мин. "; - } - } - if ($out == '') { - $out = $time_still . ' сек.'; - } - $ei .= 'Осталось: ' . $out . ''; - } - - //Действие эффекта - $tr = ''; - $t = $this->items['add']; - $x = 0; - $ed = ConversionHelper::dataStringToArray($e['data']); - while ($x < count($t)) { - $n = $t[$x]; - if (isset($ed['add_' . $n], $this->is[$n])) { - $z = ''; - if ($ed['add_' . $n] > 0) { - $z = '+'; - } - $tr .= '
' . $this->is[$n] . ': ' . $z . '' . $ed['add_' . $n]; - } - $x++; - } - if ($tr != '') { - $ei .= $tr; - } - if ($e['info'] != '') { - $ei .= '
Информация:
' . $e['info']; - } - if ($e['img2'] != '' && $e['img'] == 'icon_none.gif') { - $e['img'] = $e['img2']; - } - if ($e['type1'] == 18 || $e['type1'] == 19) { - $e['img'] = $e['img2']; - } - $eff .= ''; - } elseif ($e['timeUse'] + $e['timeAce'] + $e['actionTime'] < time() && $e['timeUse'] != 77) { - //удаляем эффект - $ed = ConversionHelper::dataStringToArray($e['data']); - if (!isset($ed['finish_file']) || $this->info['id'] == $e['uid']) { - $this->endEffect($e['id'], $u); - } - } + if ($this->info['admin'] < $md[3]) { + $this->info['admin'] = $md[3]; + } + if ($this->info['nadmin'] < $md[4]) { + $this->info['nadmin'] = $md[4]; + } + if ($this->info['banned'] < $md[5]) { + $this->info['banned'] = $md[5]; } - //здоровье - - $hptop = 0; - $lh = [0 => 'hp_none', 1 => 1]; - $lh[1] = floor((0 + $sn['hpNow']) / (0 + $sn['hpAll']) * 120); - if ($lh[1] > 0) { - $lh[0] = 'hp_1'; - } - if ($lh[1] > 32) { - $lh[0] = 'hp_2'; - } - if ($lh[1] > 65) { - $lh[0] = 'hp_3'; - } - if ($sn['mpAll'] > 0) { - //мана - $lm = [0 => 'hp_none', 1 => 1]; - $lm[1] = floor($sn['mpNow'] / $sn['mpAll'] * 120); - if ($lm[1] > 0) { - $lm[0] = 'hp_mp'; - } - $hpmp .= '
' . floor( - $sn['mpNow'] - ) . '/' . (0 + $sn['mpAll']) . '
-
-
-
'; - } else { - $hptop = 5; - } - $hpmp = '
' . floor( - $sn['hpNow'] - ) . '/' . (0 + $sn['hpAll']) . '
-
-
-
' . $hpmp; - //Собираем НР и МР - $hpmp = '
' . $hpmp . '
'; - - - $lgn = '' . $u['login'] . ' [' . $u['level'] . ']'; - if ($u['clan'] != 0) { - $pc = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`name_mini`,`align`,`type_m`,`money1`,`exp` FROM `clan` WHERE `id`="' . $u['clan'] . '" LIMIT 1' - ) - ); - $pc['img'] = $pc['name_mini'] . '.gif'; - $lgn = '' . $lgn; - } - if ($u['align2'] > 0) { - $lgn = '' . $lgn; - } - if ($u['align'] > 0) { - $lgn = '' . $lgn; - } - $pb = ''; - if ($u['banned'] > 0) { - $pb .= '
Персонаж заблокирован
'; - } - if ($u['allLock'] > time()) { - $pb .= '
Временный запрет передач!
'; - } - - $swm = 0; //свитки магии - $l = 40; - while ($l <= 52) { - if (isset($witm[$l])) { - $swm++; - } else { - $witm[$l] = ''; - } - $l++; - } - - $ssm = 0; //слоты сумки - $l = 59; - while ($l <= 62) { - if (isset($witm[$l])) { - $ssm++; - } else { - $witm[$l] = ''; - } - $l++; - } - - $witmg = ''; - - if ($ssm > 0 && $i1 == 0) { - $witmg .= ' - - - - - - -
' . $witm[59] . '' . $witm[60] . '' . $witm[61] . '' . $witm[62] . '
'; - } - - if ($swm > 0 && $i1 == 0) { - $witmg .= ' - - - - - - - - - - - - - - - - - -
' . $witm[40] . '' . $witm[41] . '' . $witm[42] . '' . $witm[43] . '' . $witm[44] . '' . $witm[50] . '
' . $witm[45] . '' . $witm[46] . '' . $witm[47] . '' . $witm[48] . '' . $witm[49] . '' . $witm[51] . '
'; - } - $zag = ''; - if ($u['zag'] != '' && $i1 == 1) { - $rt[0] .= ''; - - $zag = ''; - - $j2 = 0; - while ($j2 <= 17) { - $witm[$j2] = '
' . $witm[$j2] . '
'; - $j2++; - } - } - - if ($pb != '') { - $pb = '
' . $pb . '
'; - } - $rt[0] .= '
' . $lgn . '
' . $pb . ' -
- - - - - - -
- - - - - - - - - - - - - - - - -
' . $zag . '' . $witm[1] . '
' . $witm[2] . '
' . $witm[3] . '
' . $witm[4] . '
' . $witm[7] . '
-
- - - - - - - - - - -
- - ' . $hpmp . ' - -
'; - if ($zag == '') { - if ($i1 == 0) { - if (!isset($_GET['inv'])) { - $invg = [0 => 'main.php?inv=1', 1 => 'Рюкзак']; - } else { - $invg = [0 => 'main.php?skills=1', 1 => 'Умения']; - } - } else { - $o = mysql_fetch_array( - mysql_query( - 'SELECT `id` FROM `obraz` WHERE `img` = "' . mysql_real_escape_string( - $this->info['obraz'] - ) . '" AND `sex` = "' . $this->info['sex'] . '" LIMIT 1' - ) - ); - $invg = [0 => '/shadow/' . $o['id'] . '" target="_blank', 1 => 'Галерея образов']; - } - $uobr = 'i/obraz/' . $u['sex'] . '/' . $u['obraz'] . ''; - if (isset($sn['items_img'][1])) { - $uobr = 'rimg/r' . $sn['items_img'][1]; - } - $rt[0] .= '
- -
-
' . $eff . '
' . $anml . ' -
'; - } else { - if ($i1 == 0) { - if (!isset($_GET['inv'])) { - $invg = [0 => 'main.php?inv=1', 1 => 'Рюкзак']; - } else { - $invg = [0 => 'main.php?skills=1', 1 => 'Умения']; - } - } else { - $invg = [0 => 'https://lib.new-combats.com/obraz.php?namez=' . $u['zag'] . '" target="_blank', 1 => 'Галерея образов']; - } - $rt[0] .= '
- -
-
' . $eff . '
' . $anml . ' -
'; - } - - unset($invg); - - $rt[0] .= '
' . $msl . '
-
- - - - - - - - - - - - - - - - - - - - - - -
' . $witm[8] . '
' . $witm[9] . '
- - - - - -
' . $witm[10] . '' . $witm[11] . '' . $witm[12] . '
' . $witm[13] . '
' . $witm[14] . '
' . $witm[16] . '
' . $witm[17] . '
-
' . $witmg . '
'; - - - if ($i1 == 0 && $u['battle'] == 0) { - $rt[0] .= ''; - } - if ($ivv == 0 && $i1 == 0) { - $rt[0] .= $this->info_remont(); - } - } - return $rt; - } - - public function endEffect($id, $u, $test = null): int - { - if (!$test) { - $test = 0; - } - - $e = mysql_fetch_array( - mysql_query( - 'SELECT - `eu`.`id`,`eu`.`tr_life_user`,`eu`.`id_eff`,`eu`.`uid`,`eu`.`name`,`eu`.`data`,`eu`.`overType`,`eu`.`timeUse`,`eu`.`timeAce`,`eu`.`user_use`,`eu`.`delete`,`eu`.`v1`,`eu`.`v2`,`eu`.`img2`,`eu`.`x`,`eu`.`hod`,`eu`.`bj`,`eu`.`sleeptime`,`eu`.`no_Ace`, - `em`.`id2`,`em`.`mname`,`em`.`type1`,`em`.`img`,`em`.`mdata`,`em`.`actionTime`,`em`.`type2`,`em`.`type3`,`em`.`onlyOne`,`em`.`oneType`,`em`.`noAce`,`em`.`see`,`em`.`info`,`em`.`overch`,`em`.`bp`,`em`.`noch` - FROM `eff_users` AS `eu` LEFT JOIN `eff_main` AS `em` ON (`eu`.`id_eff` = `em`.`id2`) WHERE `eu`.`id`="' . mysql_real_escape_string( - $id - ) . '" AND `delete`="0" AND `deactiveTime` < "' . time() . '"' - ) - ); - - if (isset($e['id'])) { - $sleep = $this->testAction('`vars` = "sleep" AND `uid` = "' . $e['uid'] . '" LIMIT 1', 1); - if ($e['id_eff'] == 2) { - //Проверка - $ev = mysql_fetch_array( - mysql_query( - 'SELECT `id` FROM `items_main` WHERE `name` = "' . mysql_real_escape_string( - str_replace('Изучение: ', '', $e['name']) - ) . '" LIMIT 1' - ) - ); - $et = mysql_fetch_array( - mysql_query( - 'SELECT `id` FROM `actions` WHERE `uid` = "' . $e['uid'] . '" AND `vars` LIKE "%read%" AND `vals` = "' . $ev['id'] . '" LIMIT 1' - ) - ); - if (isset($et['id'])) { - if ($et['time'] < time()) { - $et = false; - } else { - $et = true; - } - } else { - $et = false; - } - } else { - $et = false; - } - if (!$et && $e['sleeptime'] == 0 && $sleep['vars'] != 'sleep') { - $upd = mysql_query( - 'UPDATE `eff_users` SET `delete`="' . time() . '" WHERE `id` = "' . $e['id'] . '" LIMIT 1' - ); - if ($upd) { - $po = ConversionHelper::dataStringToArray($e['data']); - if (isset($po['finish_file'])) { - if (file_exists('_incl_data/class/magic/' . $po['finish_file'] . '.php')) { - require('_incl_data/class/magic/' . $po['finish_file'] . '.php'); - } else { - $this->error2 = '!File not exists "cgi-bin/magic.pl?use_' . $po['finish_file'] . '".'; - } - } - if (isset($u['id']) && ($e['type1'] < 11 || ($e['type1'] > 16 && $e['type1'] < 23)) && $e['noch'] == 0) { - $text = "Закончилось действие эффекта «{$e['name']}»"; - $cmsg = new ChatMessage(); - $cmsg->setCity($u['city']); - $cmsg->setRoom($u['room']); - $cmsg->setTo($u['login']); - $cmsg->setText($text); - $cmsg->setType(6); - (new Chat())->sendMsg($cmsg); - - if ($u['battle'] > 0) { - $lastHOD = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type` FROM `battle_logs` WHERE `battle` = "' . $u['battle'] . '" ORDER BY `id_hod` DESC LIMIT 1' - ) - ); - if (isset($lastHOD['id'])) { - $id_hod = $lastHOD['id_hod']; - if ($lastHOD['type'] != 6) { - $id_hod++; - } - mysql_query( - 'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . time() . '","' . $u['battle'] . '","' . ($id_hod) . '","{tm1} ' . $text . ' у персонажа {u1}.","login1=' . $u['login'] . '||t1=' . $u['team'] . '||time1=' . time() . '","","","","","6")' - ); - } - } - } - return 1; - } else { - return 0; - } - } else { - return 0; - } - } else { - return 0; - } - } - - public function snatItem(?int $id, int $uid = 0): int - { - if (empty($id)) { - return 0; - } - $au = "select count(*) from items_users where id = $id and inOdet != 0 and `delete` = 0"; - $au .= $uid > 0 ? " and uid = $uid" : ''; - $itm = Db::getValue($au); - if (empty($itm)) { - return 0; - } - Db::sql('update items_users set lastUPD = unix_timestamp(), inOdet = 0 where id = ?', [$id]); - if (isset($_GET['remitem']) || isset($_GET['sid'])) { - $this->info['autospell'] = 1; - Db::sql('update users set autospell = 1 where id = ?', [$this->info['id']]); - } - return 1; - } - - public function snatItemAll(int $uid): int - { - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD`= unix_timestamp(),`inOdet`=0 WHERE `uid`=' . $uid . ' AND `inOdet`!= 0 AND `delete`= 0 LIMIT 100' - ); - return $upd ? 1 : 0; - } - - public function odetItem(int $id, int $uid) - { - if ($uid != 0) { - $au = 'AND `iu`.`uid` = "' . $uid . '"'; - } else { - $au = ''; - } - - $itm = mysql_fetch_array( - mysql_query( - 'SELECT - `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, - `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` - FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id`=' . $id . ' AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ' . $au . ' AND `iu`.`delete`="0" LIMIT 1' - ) - ); - if (isset($itm['id'])) { - if ($itm['group'] == 1 && $this->itemsX($itm['id']) > 1) { - $this->unstack($itm['id'], 1); - } - - - $tr = ConversionHelper::dataStringToArray($itm['data']); - $notr = $this->trItem($tr); - $msb = ''; - if (isset($tr['maks_itm_one']) && $tr['maks_itm_one'] > 0) { - $test = mysql_fetch_array( - mysql_query( - 'SELECT `id` FROM `items_users` WHERE `uid` = "' . $this->info['id'] . '" AND `inOdet` > 0 AND `delete` = 0 AND `data` LIKE "%maks_itm_one=' . $tr['maks_itm_one'] . '%" LIMIT 1' - ) - ); - if (isset($test['id'])) { - $this->error = 'Возможное использование максимум одного предмета!'; - $notr++; - } - } - if ($this->info['twink'] > 0) { - //Не дороже 100 екр. - if ($itm['price2'] > 100 || $itm['2price'] > 100) { - $notr++; - } - //Нельзя руны + чарки - if (isset($tr['rune']) && $tr['rune'] > 0) { - $notr++; - } - if (isset($tr['spell_id']) && $tr['spell_id'] > 0) { - $notr++; - } - } - if (isset($tr['vip_sale'])) { - if ($this->stats['silver'] < 2) { - $notr++; - } - } - if (isset($tr['sudba'])) { - if ($tr['sudba'] != '0' && $tr['sudba'] != $this->info['login']) { - $notr++; - } elseif ($tr['sudba'] == '0') { - $tr['sudba'] = $this->info['login']; - $itm['data'] = ConversionHelper::arrayToDataString($tr); - $msb = ',`data`="' . $itm['data'] . '"'; - } - } - if (isset($tr['tr_align_bs']) && $this->info['inTurnir'] > 0) { - if ($tr['tr_align_bs'] == '1') { - if ($this->info['align_real'] <= 1 || $this->info['align_real'] >= 2) { - $notr++; - } else { - $notr = 0; - } - } else { - if ($this->info['align_real'] <= 3 || $this->info['align_real'] >= 4) { - $notr++; - } else { - $notr = 0; - } - } - } - if ($notr > 0) { - //Не хватает характеристик или не совпадают условия - if (isset($tr['open']) && isset($_GET['open'])) { - $this->error = 'Вы не можете открыть данный предмет'; - } else { - $this->error = 'Нельзя одеть больше одного предмета данного типа'; - } - return 0; - } elseif (isset($tr['open']) && isset($_GET['open']) && isset($tr['items_in_file'])) { - $io = ''; - if ($itm['inGroup'] > 0) { - mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time() . '",`inGroup` = "0", `delete` = "0" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - if (file_exists('_incl_data/class/magic/' . $tr['items_in_file'] . '.php')) { - require('_incl_data/class/magic/' . $tr['items_in_file'] . '.php'); - if (!isset($no_open_itm)) { - $this->deleteItem($itm['id'], $this->info['id']); - $this->error = 'Вы успешно открыли "' . $itm['name'] . '":
' . $io . '...'; - } else { - unset($no_open_itm); - } - } else { - $this->error = 'Предмет "' . $itm['name'] . '" невозможно открыть...'; - } - } elseif (isset($tr['open']) && isset($_GET['open'])) { - //открываем предмет - $io = ''; - $i = 0; - $itms = explode(',', $tr['items_in']); - - - if ($itm['type'] == 37) { - //Распаковываем упаковку - $itmin = mysql_fetch_array( - mysql_query('SELECT * FROM `items_users` WHERE `id` = "' . $tr['item_inbox'] . '" LIMIT 1') - ); - $itmmn = mysql_fetch_array( - mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $itmin['item_id'] . '" LIMIT 1') - ); - // - if ($itm['gift'] == '' || $itm['gift'] == '0') { - $this->error = 'Предмет должен быть подарен, прежде чем его открывать!'; - } elseif (!isset($itmin['id'])) { - $this->error = 'В упаковке ничего нет, скорее всего предмет кто-то вытащил от туда...'; - } else { - $io .= $itmmn['name']; - if ($itmin['item_id'] == 4867) { - //Не откроешь - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - $this->error = 'Не удалось открыть подарок. Содержимое испорчено.'; - } elseif ($itmin['item_id'] == 4868) { - //Летучая мышь - mysql_query( - 'UPDATE `stats` SET `hpNow` = 1,`mpNow` = 1 WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - $this->error = 'Вы потеряли все HP...'; - } elseif ($itmin['item_id'] == 4870) { - //Минута молчания - if ($this->info['molch1'] > time()) { - $this->info['molch1'] += 3600; - } else { - $this->info['molch1'] = time() + 3600; - } - mysql_query( - 'UPDATE `users` SET `molch1` = "' . $this->info['molch1'] . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - $this->error = 'Вы оказались под действие заклятия молчания...'; - } elseif ($itmin['item_id'] == 4873) { - //Крысиный яд - $a = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`type`,`name`,`uid`,`delete`,`inBattle`,`eda`,`exp`,`obraz`,`stats`,`level`,`sex`,`levelUp`,`pet_in_cage`,`max_exp`,`priems`,`bonus` FROM `users_animal` WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $this->info['animal'] . '" AND `pet_in_cage` = "0" AND `delete` = "0" LIMIT 1' - ) - ); - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - if (isset($a['id'])) { - $this->error = 'Ваш зверь "' . $a['name'] . '" странно позеленел...'; - mysql_query( - 'UPDATE `users_animal` SET `eda` = 0, `yad` = "' . (time() + 86400 * 7) . '" WHERE `id` = "' . $a['id'] . '" LIMIT 1' - ); - } else { - $this->error = 'Кто-то пытался отравить вашего зверя, которого у вас нет :)'; - } - } elseif ($itmin['item_id'] == 4869) { - //Неасчастный случай (легкая травма на 1 час) - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - mysql_query( - 'INSERT INTO `eff_users` - (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( - "0","' . (time() + 3600) . '","-1", - "Неверие в человечество","add_s' . rand(1, 3) . '=-' . rand( - 5, 15 - ) . '","' . $this->info['id'] . '", - "4", "bad_present_travma1.gif","0", "1" - )' - ); - $this->error = 'Вы травмированы. В том числе и физически...'; - } elseif ($itmin['item_id'] == 4872) { - //Трагедия (средняя травма на 1 час) - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - mysql_query( - 'INSERT INTO `eff_users` - (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( - "0","' . (time() + 3600) . '","-1", - "Неверие в человечество","add_s' . rand(1, 3) . '=-' . rand( - 16, 25 - ) . '","' . $this->info['id'] . '", - "4", "bad_present_travma2.gif","0", "2" - )' - ); - $this->error = 'Вы травмированы. В том числе и физически...'; - } elseif ($itmin['item_id'] == 4876) { - //Катастрофа (тяжелая травма на 1 час) - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - mysql_query( - 'INSERT INTO `eff_users` - (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( - "0","' . (time() + 3600) . '","-1", - "Неверие в человечество","add_s' . rand(1, 3) . '=-' . rand( - 26, 35 - ) . '","' . $this->info['id'] . '", - "4", "bad_present_travma3.gif","0", "3" - )' - ); - $this->error = 'Вы травмированы. В том числе и физически...'; - } elseif ($itmin['item_id'] == 4878) { - //Недвижимость (add_puti=7200) - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - mysql_query( - 'INSERT INTO `eff_users` - (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( - "0","' . (time() + 7200) . '","-1", - "Недвижимость","add_puti=1","' . $this->info['id'] . '", - "4", "bad_present_chains.gif","0", "3" - )' - ); - $this->error = 'Вы не можете передвигаться...'; - } elseif ($itmin['item_id'] == 4874) { - //Сюрприз для мага на час - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - mysql_query( - 'INSERT INTO `eff_users` - (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( - "0","' . (time() + 3600) . '","-1", - "Сюрприз для Мага","add_s5=-50","' . $this->info['id'] . '", - "4", "bad_present_dmage.gif","0", "3" - )' - ); - $this->error = 'Вам нехорошо...'; - } elseif ($itmin['item_id'] == 4871) { - //Сюрприз для воина на час - $this->deleteItem($itm['id'], $this->info['id']); - $this->deleteItem($itmin['id'], $this->info['id']); - mysql_query( - 'INSERT INTO `eff_users` - (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( - "0","' . (time() + 3600) . '","-1", - "Сюрприз для Воина","add_s1=-50","' . $this->info['id'] . '", - "4", "bad_present_dfighter.gif","0", "3" - )' - ); - $this->error = 'Вам нехорошо...'; - } elseif (mysql_query( - 'UPDATE `items_users` SET `uid` = "' . $this->info['id'] . '",`lastUPD` = "' . time() . '",`gift` = "' . $itm['gift'] . '",`gtxt1` = "' . $itm['gtxt1'] . '",`gtxt2` = "Предмет из упаковки. Дата запаковки: ' . date( - 'd.m.Y H:i:s', $itmin['time_create'] - ) . '" WHERE `id` = "' . $itmin['id'] . '" LIMIT 1' - )) { - //Удаляем упаковку - $this->deleteItem($itm['id'], $this->info['id']); - $this->error = 'Вы успешно открыли "' . $itm['name'] . '", внутри было найдено:
' . $io . '...'; - } else { - $this->error = 'Неудалось открыть подарок, что же там?'; - } - // - } - // - } else { - while ($i < count($itms)) { - if (isset($itms[$i])) { - $x = 0; - $itms[$i] = explode('*', $itms[$i]); - $x += (int)$itms[$i][1]; - $itms[$i] = $itms[$i][0]; - $s = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id`="' . ((int)$itms[$i]) . '" LIMIT 1' - ) - ); - if (isset($s['id'])) { - $j = 1; - while ($j <= $x) { - $pid = $this->addItem($s['id'], $this->info['id']); - if ($pid > 0) { - mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time() . '",`gift` = "' . $itm['gift'] . '" WHERE `id` = "' . $pid . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' - ); - } - $j++; - } - $io .= '' . $s['name'] . ' (x' . $x . '), '; - } - } - $i++; - } - if ($itm['inGroup'] > 0) { - mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time() . '",`inGroup` = "0", `delete` = "0" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - $this->deleteItem($itm['id'], $this->info['id']); - $this->error = 'Вы успешно открыли "' . $itm['name'] . '", внутри было найдено:
' . $io . '...'; - } - } else { - $inSlot = $itm['inslot']; - $s = mysql_query( - 'SELECT `iu`.`id`,`iu`.`inOdet` FROM `items_users` AS `iu` WHERE `iu`.`inOdet`!="0" AND `iu`.`uid`="' . $uid . '" AND `iu`.`delete`="0"' - ); - $d = []; - while ($p = mysql_fetch_array($s)) { - $d[$p['inOdet']] = $p['id']; - } - - //Если в слот оружия и можно одеть в левую руку - if ($itm['2too'] == 1 && $inSlot == 3 && isset($d[3])) { - $inSlot = 14; - } - - if ($inSlot == 3 || $inSlot == 14) { - //Проверяем есть-ли двуручное оружие - //И естественно снимаем его, даже если руки пусты, отправляя туда NULL и ломая игру. Сука! - if ($this->stats['items'][$this->stats['wp3id']]['2h'] == 1 || $this->stats['items'][$this->stats['wp14id']]['2h'] == 1 || $itm['2h'] == 1) { - $this->snatItem($this->stats['items'][$this->stats['wp3id']]['id'], $uid); - $this->snatItem($this->stats['items'][$this->stats['wp14id']]['id'], $uid); - } - } - - if (isset($d[$inSlot])) { - if ($inSlot == 10) { - if (!isset($d[12])) { - $inSlot = 12; - } elseif (!isset($d[11])) { - $inSlot = 11; - } - } elseif ($inSlot == 40) { - $i = 40; - while ($i <= 51) { - if (!isset($d[$i])) { - $inSlot = $i; - $i = 52; - } elseif ($i == 50) { - $inSlot = 50; - } - $i++; - } - } elseif ($inSlot == 53) { - if (!isset($d[53])) { - $inSlot = 53; - } elseif (!isset($d[54])) { - $inSlot = 54; - } - } elseif ($inSlot == 56) { - if (!isset($d[56])) { - $inSlot = 56; - } elseif (!isset($d[57])) { - $inSlot = 57; - } elseif (!isset($d[58])) { - $inSlot = 58; - } else { - $inSlot = 58; - } - } elseif ($inSlot == 59) { - if (!isset($d[59])) { - $inSlot = 59; - } elseif (!isset($d[60])) { - $inSlot = 60; - } elseif (!isset($d[61])) { - $inSlot = 61; - } elseif (!isset($d[62])) { - $inSlot = 62; - } - } - } - if (isset($d[$inSlot])) { - $this->snatItem($d[$inSlot], $uid); - } - - - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `inOdet` = "' . $inSlot . '"' . $msb . ' WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - if ($itm['inGroup'] > 0) { - mysql_query( - 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `inGroup` = 0, `delete` = 0 WHERE `id` = "' . $itm['id'] . '" LIMIT 1' - ); - } - if ($upd) { - //Если предмет привязывается после одевания - $this->info['autospell'] = 1; - mysql_query( - 'UPDATE `users` SET `autospell` = "1" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' - ); - return 1; - } else { - $this->error = '(!) Ошибка обновления данных'; - return 0; - } - } - } else { - $this->error = 'Предмет не найден в вашем рюкзаке'; - return 0; - } - } - - public function deleteItem($id, $uid = 0, $coldel = 0) - { - if ($uid != 0) { - $au = 'AND `iu`.`uid`="' . mysql_real_escape_string($uid) . '"'; - } else { - $au = ''; - } - $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`.`id`="' . mysql_real_escape_string( - $id - ) . '" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ' . $au . ' AND (`iu`.`delete`="0" OR `iu`.`delete`="1000") LIMIT 1' - ) - ); - if (isset($itm['id'])) { - if ($coldel == 0) { - //Удаляем целиком - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `id`="' . $itm['id'] . '" LIMIT 1' - ); - $col = $this->itemsX($itm['id']); - if ($col > 0) { - mysql_query( - 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '",`inGroup` = "0" WHERE `inGroup`="' . $itm['id'] . '" LIMIT ' . $col - ); - } - } else { - //Удаляем конкретное кол-во - $col = $this->itemsX($itm['id']); - if ($col > 1) { - if ($col <= $coldel) { - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `id`="' . $itm['id'] . '" LIMIT 1' - ); - } - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '",`inGroup` = "0" WHERE `inGroup`="' . $itm['id'] . '" AND `delete` = "1000" LIMIT ' . $coldel - ); - } else { - //Удаляем целиком - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `id`="' . $itm['id'] . '" LIMIT 1' - ); - $upd = mysql_query( - 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '",`inGroup` = "0" WHERE `inGroup`="' . $itm['id'] . '" AND `delete` = "1000" LIMIT ' . $col - ); - } - } - if ($upd) { - if (isset($_GET['deleteall7'])) { - $st = ConversionHelper::dataStringToArray($itm['data']); - $whr = ''; - if (isset($st['frompisher'])) { - $whr .= 'AND `data` LIKE "%frompisher=' . $st['frompisher'] . '%"'; - } - $col = mysql_fetch_array( - mysql_query( - 'SELECT COUNT(*) FROM `items_users` WHERE `item_id`="' . $itm['item_id'] . '" AND `inOdet` = 0 AND `delete` < 100000 AND `uid` = "' . $itm['uid'] . '" AND `data` NOT LIKE "%nodelete%"' . $whr - ) - ); - $col = $col[0]; - mysql_query( - 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `inOdet` = 0 AND `delete` < 100000 AND `uid` = "' . $itm['uid'] . '" AND `data` NOT LIKE "%nodelete%"' . $whr - ); - $this->error = 'Предметы "' . $itm['name'] . ' (x' . ($col + 1) . ')" выброшены'; - $this->addDelo( - 1, $uid, - '"System.inventory": Предметы "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '=' . time() . '] были выброшены.', time(), - $this->info['city'], 'System.inventory', 0, 0 - ); - } else { - $this->error = 'Предмет "' . $itm['name'] . '" выброшен'; - $this->addDelo( - 1, $uid, - '"System.inventory": Предмет "' . $itm['name'] . '" [itm:' . $itm['id'] . '] был выброшен.', - time(), $this->info['city'], 'System.inventory', 0, 0 - ); - } - return 1; - } else { - return 0; - } - } else { - $this->error = 'Предмет не найден в вашем рюкзаке'; + $this->info['noreal'] = 1; + $this->info['align_real'] = $md[7]; + $this->info['__id'] = $md[8]; + $this->info['__level'] = $md[9]; } } @@ -10419,7 +2560,7 @@ LIMIT 1' mysql_query( 'SELECT `add_slot`,`nu_sandcity`,`n_sandcity`, - `dl1`,`id`,`rep1`,`rep2`,`repcapitalcity`,`repdemonscity`,`repangelscity`,`repabandonedplain`, + `dl1`,`id`,`rep1`,`repcapitalcity`,`repdemonscity`,`repangelscity`,`repabandonedplain`, `repdevilscity`,`repmooncity`,`repsuncity`,`repsandcity`,`repemeraldscity`,`repdreamscity`,`repizlom`, `n_capitalcity`,`n_demonscity`,`n_suncity`,`nu_demonscity`,`nu_angelscity`,`nu_abandonedplain`,`nu_emeraldscity`, `nu_capitalcity`,`nu_suncity`,`nu_devilscity`,`nu_dreamscity`,`add_stats`,`add_money`,`add_skills`,`add_skills2`, @@ -10572,7 +2713,6844 @@ LIMIT 1' return $rt; } - //получаем уровень + public function endEffect($id, $u, $test = null): int + { + if (!$test) { + $test = 0; + } + + $e = mysql_fetch_array( + mysql_query( + 'SELECT + `eu`.`id`,`eu`.`tr_life_user`,`eu`.`id_eff`,`eu`.`uid`,`eu`.`name`,`eu`.`data`,`eu`.`overType`,`eu`.`timeUse`,`eu`.`timeAce`,`eu`.`user_use`,`eu`.`delete`,`eu`.`v1`,`eu`.`v2`,`eu`.`img2`,`eu`.`x`,`eu`.`hod`,`eu`.`bj`,`eu`.`sleeptime`,`eu`.`no_Ace`, + `em`.`id2`,`em`.`mname`,`em`.`type1`,`em`.`img`,`em`.`mdata`,`em`.`actionTime`,`em`.`type2`,`em`.`type3`,`em`.`onlyOne`,`em`.`oneType`,`em`.`noAce`,`em`.`see`,`em`.`info`,`em`.`overch`,`em`.`bp`,`em`.`noch` + FROM `eff_users` AS `eu` LEFT JOIN `eff_main` AS `em` ON (`eu`.`id_eff` = `em`.`id2`) WHERE `eu`.`id`="' . mysql_real_escape_string( + $id + ) . '" AND `delete`="0" AND `deactiveTime` < "' . time() . '"' + ) + ); + + if (isset($e['id'])) { + $sleep = $this->testAction('`vars` = "sleep" AND `uid` = "' . $e['uid'] . '" LIMIT 1', 1); + if ($e['id_eff'] == 2) { + //Проверка + $ev = mysql_fetch_array( + mysql_query( + 'SELECT `id` FROM `items_main` WHERE `name` = "' . mysql_real_escape_string( + str_replace('Изучение: ', '', $e['name']) + ) . '" LIMIT 1' + ) + ); + $et = mysql_fetch_array( + mysql_query( + 'SELECT `id` FROM `actions` WHERE `uid` = "' . $e['uid'] . '" AND `vars` LIKE "%read%" AND `vals` = "' . $ev['id'] . '" LIMIT 1' + ) + ); + if (isset($et['id'])) { + if ($et['time'] < time()) { + $et = false; + } else { + $et = true; + } + } else { + $et = false; + } + } else { + $et = false; + } + if (!$et && $e['sleeptime'] == 0 && $sleep['vars'] != 'sleep') { + $upd = mysql_query( + 'UPDATE `eff_users` SET `delete`="' . time() . '" WHERE `id` = "' . $e['id'] . '" LIMIT 1' + ); + if ($upd) { + $po = ConversionHelper::dataStringToArray($e['data']); + if (isset($po['finish_file'])) { + if (file_exists('_incl_data/class/magic/' . $po['finish_file'] . '.php')) { + require('_incl_data/class/magic/' . $po['finish_file'] . '.php'); + } else { + $this->error2 = '!File not exists "cgi-bin/magic.pl?use_' . $po['finish_file'] . '".'; + } + } + if (isset($u['id']) && ($e['type1'] < 11 || ($e['type1'] > 16 && $e['type1'] < 23)) && $e['noch'] == 0) { + $text = "Закончилось действие эффекта «{$e['name']}»"; + $cmsg = new ChatMessage(); + $cmsg->setCity($u['city']); + $cmsg->setRoom($u['room']); + $cmsg->setTo($u['login']); + $cmsg->setText($text); + $cmsg->setType(6); + (new Chat())->sendMsg($cmsg); + + if ($u['battle'] > 0) { + $lastHOD = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type` FROM `battle_logs` WHERE `battle` = "' . $u['battle'] . '" ORDER BY `id_hod` DESC LIMIT 1' + ) + ); + if (isset($lastHOD['id'])) { + $id_hod = $lastHOD['id_hod']; + if ($lastHOD['type'] != 6) { + $id_hod++; + } + mysql_query( + 'INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . time() . '","' . $u['battle'] . '","' . ($id_hod) . '","{tm1} ' . $text . ' у персонажа {u1}.","login1=' . $u['login'] . '||t1=' . $u['team'] . '||time1=' . time() . '","","","","","6")' + ); + } + } + } + return 1; + } else { + return 0; + } + } else { + return 0; + } + } else { + return 0; + } + } + + public function testAction($filter, $tp) + { + if ($tp == 1) { + $query = 'select * from actions where ' . $filter; + } elseif ($tp == 2) { + $query = 'select count(*) from actions where ' . $filter; + } + + $stmt = mysql_query($query); + return $stmt ? mysql_fetch_array($stmt) : []; + } + + //Удаление определенного типа предметов + + public function getUserInfoById($id) + { + return Db::getRow('select * from users left join stats on users.id = stats.id where users.id = ?', [$id]); + } + + private function infoTasks() + { + if (empty($this->info)) { + //trigger_error('user->info is empty in constructor', E_USER_WARNING); + return; + } + + $this->getStats($this->info); // Бля, а вдруг? + + $this->info['achiv'] = Db::getRow('select * from users_achiv where id = ?', [$this->info['id']]); + if (!isset($this->info['achiv']['id'])) { + Db::sql('insert into users_achiv (id) value (?)', [$this->info['id']]); + $this->info['achiv'] = Db::getRow('select * from users_achiv where id = ?', [$this->info['id']]); + } + + if (isset($this->info['id']) && $this->info['exp'] > 300000 && $this->info['twink'] > 0) { + $this->info['exp'] = 300000; + Db::sql('update stats set exp = ? where id = ?', [$this->info['exp'], $this->info['id']]); + } + + if (isset($this->info['id']) && $this->info['inUser']) { + $md = [ + $this->info['molch1'], + $this->info['molch2'], + $this->info['molch3'], + $this->info['admin'], + $this->info['nadmin'], + $this->info['banned'], + $this->info['align'], + $this->info['id'], + $this->info['level'], + ]; + + $this->info = $this->getUserInfoById($this->info['inUser']); + + if ($this->info['molch1'] < $md[0]) { + $this->info['molch1'] = $md[0]; + } + if ($this->info['molch2'] < $md[1]) { + $this->info['molch2'] = $md[1]; + } + if ($this->info['molch3'] < $md[2]) { + $this->info['molch3'] = $md[2]; + } + if ($this->info['admin'] < $md[3]) { + $this->info['admin'] = $md[3]; + } + if ($this->info['nadmin'] < $md[4]) { + $this->info['nadmin'] = $md[4]; + } + if ($this->info['banned'] < $md[5]) { + $this->info['banned'] = $md[5]; + } + + $this->info['noreal'] = 1; + $this->info['align_real'] = $md[7]; + $this->info['__id'] = $md[8]; + $this->info['__level'] = $md[9]; + } + } + + public function addAction($time, $vars, $vls, $uid = null): bool + { + $info = $this->info; + if ($uid) { + $info['id'] = $uid; + } + ActionModel::new($info, $vls, $vars, $time); + return true; + } + + //Выводим вещи котоыре нужно отремонтировать + + public function testHome(): array + { + /*----Быстрый(Особенность)----*/ + $timeforwait = 3600; + if (isset($st['os3']) && $st['os3'] > 0) { + $timeforwait = 3600 - (($st['os6'] * 5) * 60); + } + /*----Быстрый(Особенность)----*/ + $hgo = $this->testAction( + '`uid` = "' . $this->info['id'] . '" AND `time` >= ' . (time() - $timeforwait) . ' AND `vars` = "go_homeworld" LIMIT 1', + 1 + ); + if ($this->info['level'] == 0 || $this->info['active'] != '' || $this->info['inTurnir'] > 0 || $this->info['inTurnirnew'] > 0 || $this->info['zv'] > 0 || $this->info['dnow'] > 0) { + $hgo['id'] = true; + } + if (isset($this->info['noreal']) || $this->info['dnow'] > 0) { + $hgo['id'] = true; + } + if (!isset($hgo['id'])) { + $ku = mysql_fetch_array( + mysql_query('SELECT `id` FROM `katok_zv` WHERE `uid` = ' . $this->info['id']) + ); + if (isset($ku['id'])) { + $hgo['id'] = true; + } + } + return $hgo ?? []; + } + + //Расчет урона от оружия + + public function testHome(): array + { + /*----Быстрый(Особенность)----*/ + $timeforwait = 3600; + if (isset($st['os3']) && $st['os3'] > 0) { + $timeforwait = 3600 - (($st['os6'] * 5) * 60); + } + /*----Быстрый(Особенность)----*/ + $hgo = $this->testAction( + '`uid` = "' . $this->info['id'] . '" AND `time` >= ' . (time() - $timeforwait) . ' AND `vars` = "go_homeworld" LIMIT 1', + 1 + ); + if ($this->info['level'] == 0 || $this->info['active'] != '' || $this->info['inTurnir'] > 0 || $this->info['inTurnirnew'] > 0 || $this->info['zv'] > 0 || $this->info['dnow'] > 0) { + $hgo['id'] = true; + } + if (isset($this->info['noreal']) || $this->info['dnow'] > 0) { + $hgo['id'] = true; + } + if (!isset($hgo['id'])) { + $ku = mysql_fetch_array( + mysql_query('SELECT `id` FROM `katok_zv` WHERE `uid` = ' . $this->info['id']) + ); + if (isset($ku['id'])) { + $hgo['id'] = true; + } + } + return $hgo ?? []; + } + + //Расчет защиты + + public function wipe() + { + if ($this->info['wipe'] > 0 && $this->info['battle'] == 0) { + //wipe = 1 , значит обнуляем статы и умения + if ($this->info['wipe'] < 4) { + $st = ConversionHelper::dataStringToArray($this->info['stats']); + $n1 = $this->info['ability']; //способности + $n2 = $this->info['skills']; //владение магией и оружием + $n3 = $this->info['sskills']; //особенности + $n4 = $this->info['nskills']; //??? + if ($this->info['wipe'] == 1 || $this->info['wipe'] == 2) { + $i = 1; + while ($i <= 11) { + if ($i <= 4) { + $n1 += $st['s' . $i] - 3; + $st['s' . $i] = 3; + } else { + $n1 += $st['s' . $i]; + $st['s' . $i] = 0; + } + $i++; + } + $n1 -= $this->info['level']; + $st['s4'] = 3 + $this->info['level']; + if ($this->info['level'] >= 9) { + $st['s4'] += 1; + $n1 -= 1; + } + if ($this->info['level'] >= 10) { + $st['s4'] += 2; + $n1 -= 2; + } + if ($this->info['level'] >= 11) { + $st['s4'] += 4; + $n1 -= 4; + } + } + + if ($this->info['wipe'] == 1 || $this->info['wipe'] == 3) { + $i = 1; + while ($i <= 7) { + $n2 += $st['a' . $i]; + $n2 += $st['mg' . $i]; + $st['a' . $i] = 0; + $st['mg' . $i] = 0; + $i++; + } + } + if ($this->info['wipe'] == 1 || $this->info['wipe'] == 3.5)#---Сброс особенностей + { + $i = 1; + while ($i <= 11) { + $n3 += $st['os' . $i]; + $st['os' . $i] = 0; + $i++; + } + } + //сохраняем данные + $st = ConversionHelper::arrayToDataString($st); + $upd = mysql_query( + 'UPDATE `stats` SET `wipe`="0",`stats`="' . $st . '",`ability`="' . $n1 . '",`skills`="' . $n2 . '",`sskills`="' . $n3 . '",`nskills`="' . $n4 . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + if ($upd) { + $this->info['stats'] = $st; + $this->info['ability'] = $n1; + $this->info['skills'] = $n2; + $this->info['sskills'] = $n3; + $this->info['nskills'] = $n4; + } + } + } + } + + //Расчет защиты (магия) + + public function allActionsStart() + { + global $magic; + if (!isset($_GET['use_snowball'])) { + return; + } + $this->stats = $this->getStats($this->info, 0); + //Начинаем лепить снежок на ЦП + if (!isset($this->stats['items'][$this->stats['wp13id']]['id']) || $this->stats['items'][$this->stats['wp13id']]['item_id'] != 998) { + return; + }//варежки одеты, все ок + if ($this->room['name'] != 'Центральная площадь') { + $this->error2 = 'Собирать снег можно только на Центральной площади'; + } else { + $smt = $this->testAction( + '`uid` = "' . $this->info['id'] . '" AND `time`>=' . (time() - 120) . ' AND `vars` = "create_snowball_cp" LIMIT 1', + 1 + ); + if (isset($smt['id'])) { + $this->error2 = 'Нельзя лепить несколько снежков одновременно ;)'; + } else { + $smt = $this->testAction( + '`uid` = "' . $this->info['id'] . '" AND `time`>=' . strtotime( + 'now 00:00:00' + ) . ' AND `vars` = "create_snowball_cp" LIMIT 25', + 2 + ); + $smt = $smt[0]; + if ($smt < 10) { + $this->addAction(time(), 'create_snowball_cp', $this->info['city']); + + $magic->add_eff($this->info['id'], 24); + $this->error2 = 'Начинаем лепить снежок, осталось ' . (10 - $smt) . ' раз на сегодня ...'; + } else { + $this->error2 = 'Вы уже слепили 10 снежка за сегодня ...'; + } + } + } + } + + /** Singletone. + * @return User + */ + public static function start(): User + { + if (!isset(self::$flag_one)) { + self::$flag_one = new self(); + } + return self::$flag_one; + } + + /** Singletone. + * @return User + */ + public static function start(): User + { + if (!isset(self::$flag_one)) { + self::$flag_one = new self(); + } + return self::$flag_one; + } + + public static function setOnline(int $uid): void + { + Db::sql('update users set online = unix_timestamp() where id = ?', [$uid]); + } + + public function dayquest(int $id): string + { + $test = Db::getRow('select id, vals from actions where uid = ? and vars = ?', [$id, 'day_quest']); + $q = [ + '1' => 'Убийство Трупожоров', + '2' => 'Победы в хаотических боях', + '3' => 'Спуск в Подземелия', + '4' => 'Набрать в хаотических поединках 100 000 Опыта', + '5' => 'Открыть Сундук Трупожора', + '6' => 'Посетить Излом Хаоса', + '7' => 'Сдача 3 заданий в пещерах', + '8' => 'Поучаствовать в Башне Смерти', + ]; + if (!isset($test['id'])) { + $n = "Получить задание"; + } else { + $n = "Сдать задание"; + $n = $n . "
" . $q[$test['vals']] . ""; + } + return $n; + } + + public function testAlign($an, int $uid): int + { + $r = 1; + if (floor($an) > 0) { + $a = Db::getValue( + 'select align from users_align where uid = ? and (`delete` = 0 or `delete` > unix_timestamp())', + [$uid] + ); + + if (floor((float)$a['align']) != $an) { + $r = 0; + } + } + return $r; + } + + public function abilsRoom(string $type): string + { + $r = ''; + // + if ($this->info['clan'] > 0 || !in_array($this->room['name'], ['Зал Света', 'Зал Нейтралов', 'Зал Тьмы'])) { + //Нельзя использовать персонажам в клане + return ''; + } + if ($type == 'test') { + if (isset($_GET['vhp'])) { + $v = Db::getValue('select time from vortex where uid = ? and type = 1 order by time desc limit 1'); + if ($v > time() - 60 * 60) { + //Уже юзали + $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); + } else { + if ($this->stats['hpNow'] < 1) { + $this->stats['hpNow'] = 0; + } + $this->error = 'Вы успешно восстановили ' . round($this->stats['hpAll'] - $this->stats['hpNow']) . ' HP.'; + Db::sql( + 'insert into vortex (uid, room, time, val, type) VALUES (?,?,unix_timestamp(),?,1)', + [$this->info['id'], $this->info['room'], round($this->stats['hpAll'] - $this->stats['hpNow'])] + ); + $this->stats['hpNow'] = $this->stats['hpAll']; + Db::sql('update stats set hpNow = ? where id = ?', [$this->stats['hpNow'], $this->info['id']]); + } + } elseif (isset($_GET['vmp'])) { + $v = Db::getValue('select time from vortex where uid = ? and type = 2 order by time desc limit 1'); + if ($v > time() - 60 * 60) { + //Уже юзали + $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); + } else { + if ($this->stats['mpNow'] < 1) { + $this->stats['mpNow'] = 0; + } + $this->error = 'Вы успешно восстановили ' . round($this->stats['mpAll'] - $this->stats['mpNow']) . ' MP.'; + Db::sql( + 'insert into vortex (uid, room, time, val, type) VALUES (?,?,unix_timestamp(),?,2)', + [$this->info['id'], $this->info['room'], round($this->stats['mpAll'] - $this->stats['mpNow'])] + ); + $this->stats['mpNow'] = $this->stats['mpAll']; + Db::sql('update stats set mpNow = ? where id = ?', [$this->stats['mpNow'], $this->info['id']]); + } + } + + } elseif ($type == 'look') { + $vid = 0; + if ($this->room['name'] == 'Зал Света') { + $vid = 6; + } elseif ($this->room['name'] == 'Зал Тьмы') { + $vid = 7; + } elseif ($this->room['name'] == 'Зал Нейтралов') { + $vid = 10; + } + $v = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `vortex` WHERE `uid` = "' . $this->info['id'] . '" AND `type` = 1 ORDER BY `time` DESC LIMIT 1' + ) + ); + if (isset($v['id']) && $v['time'] + 60 * 60 > time()) { + $r .= ' '; + } else { + $r .= ' '; + } + $v = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `vortex` WHERE `uid` = "' . $this->info['id'] . '" AND `type` = 2 ORDER BY `time` DESC LIMIT 1' + ) + ); + if (isset($v['id']) && $v['time'] + 60 * 60 > time()) { + $r .= ' '; + } else { + $r .= ' '; + } + } + return $r; + } + + /** + * @param $ttm + * @return string + * @deprecated использовать ConversionHelper::secondsToTimeout() + */ + public function timeOut($ttm): string + { + return ConversionHelper::secondsToTimeout($ttm); + } + + /** + * @param $ttm + * @return string + * @deprecated использовать ConversionHelper::secondsToTimeout() + */ + public function timeOut($ttm): string + { + return ConversionHelper::secondsToTimeout($ttm); + } + + public function insertAlign($an, $uid) + { + if ($an > 0) { + mysql_query( + 'UPDATE `users_align` SET `delete` = "' . (time() + 1) . '" WHERE `uid` = "' . mysql_real_escape_string( + $uid + ) . '" AND `align` = "' . mysql_real_escape_string(floor($an)) . '"' + ); + mysql_query( + 'INSERT INTO `users_align` (`uid`,`time`,`delete`,`align`) VALUES ( + "' . mysql_real_escape_string($uid) . '","' . time() . '","0","' . mysql_real_escape_string( + floor($an) + ) . '" + ) ' + ); + } + } + + public function deleteAlign($an, $uid) + { + if ($an > 0) { + mysql_query( + 'UPDATE `users_align` SET `delete` = "' . (time() + 86400 * 60) . '" WHERE `uid` = "' . mysql_real_escape_string( + $uid + ) . '" AND `align` = "' . mysql_real_escape_string(floor($an)) . '"' + ); + } + } + + public function repobmen($id, $type) + { + //echo 'обмен'; + $pl = 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`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1;' + ) + ); + $po = ConversionHelper::dataStringToArray($pl['data']); + if ((!isset($po['frompisher']) || $po['tr_lvl'] < 4) && $pl['type'] != 31) { + $e = 'Не удалось обменять предмет на репутацию.'; + } else { + $e = 'Обмен предмета "' . $pl['name'] . '" на репутацию Сapitalcity прошел удачно.'; + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + ); + $this->rep['repcapitalcity'] += 1; + mysql_query( + 'UPDATE `rep` SET `repcapitalcity` = "' . $this->rep['repcapitalcity'] . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + } + return $e; + } + + public function lookKeys($m, $i): array + { + + $e = explode('|', $m); + $r = []; + while ($i < count($e)) { + $j = explode('=', $e[$i]); + $r[$i] = $j[0]; + $i++; + } + return $r; + } + + public function zago($v): float + { + if ($v > 1700) { + $v = 1700; + } + return round((1 - (pow(0.5, ($v / 399.51)))) * 100, 2); + } + + public function zmgo($v) + { + if ($v > 1000) { + $v = 1000; + } + return (1 - (pow(0.5, ($v / 250)))) * 100; + } + + public function inform(string $v) + { + $r = ''; + $y = []; + $w1 = 0; + $w2 = 0; + $i = 0; + if ($v == 'yrontest' || $v == 'yrontest-krit') { + /* первое оружие или кулак */ + if (is_array($this->stats['items'])) { + while ($i < count($this->stats['items'])) { + if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w1 = $this->stats['items'][$i]; + } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w2 = $this->stats['items'][$i]; + } + $i++; + } + } + if (isset($w1['id']) && $w1['inOdet'] != 14) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w1['data']); + while ($i <= 4) { + if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w1, $this->stats, $tp); + if ($v == 'yrontest-krit') { + $y[0] = $y[2]; + $y[1] = $y[3]; + } + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= '' . $y[0] . '-' . $y[1] . ''; + } else { + //урон кулаком + $y[0] = ceil( + 2 + $this->info['level'] + $this->stats ['s1'] - round($this->stats['s1'] / 5) + ) + $this->stats['minAtack'] + $this->stats['yron_min']; + $y[1] = ceil($y[0] + 3) + $this->stats['maxAtack'] + $this->stats['yron_max']; + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= $y[0] . '-' . $y[1]; + } + /* второе оружие */ + if (isset($w2['id'])) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w2['data']); + while ($i <= 4) { + if ($t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w2, $this->stats, $tp); + if ($v == 'yrontest-krit') { + $y[0] = $y[2]; + $y[1] = $y[3]; + } + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= ' / ' . $y[0] . '-' . $y[1] . ''; + } + /* --- */ + } elseif ($v == 'yron') { + /* первое оружие или кулак */ + while ($i < count($this->stats['items'])) { + if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w1 = $this->stats['items'][$i]; + } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w2 = $this->stats['items'][$i]; + } + $i++; + } + if (isset($w1['id']) && $w1['inOdet'] != 14) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w1['data']); + while ($i <= 4) { + if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w1, $this->stats, $tp); + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= '' . $y[0] . '-' . $y[1] . ''; + } else { + //урон кулаком + $y[0] = ceil($this->stats['s1'] * 1.4) + $this->stats['minAtack'] + $this->stats['yron_min']; + $y[1] = ceil(0.4 + $y[0] / 0.9) + $this->stats['maxAtack'] + $this->stats['yron_max']; + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= $y[0] . '-' . $y[1]; + } + /* второе оружие */ + if (isset($w2['id'])) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w2['data']); + while ($i <= 4) { + if ($t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w2, $this->stats, $tp); + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= ' / ' . $y[0] . '-' . $y[1] . ''; + } + } else { + //модификаторы + /* первое оружие или кулак */ + $ry = 0; + while ($i < count($this->stats['items'])) { + if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w1 = $this->stats['items'][$i]; + } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w2 = $this->stats['items'][$i]; + } + $i++; + } + if (isset($w1['id']) && $w1['inOdet'] != 14) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w1['data']); + $y = 0; + if (isset($d['sv_' . $v])) { + $y += $d['sv_' . $v]; + } + if (isset($this->stats[$v])) { + $y += $this->stats[$v]; + } + $ry = $y; + $r .= '' . $y . ''; + } else { + //кулаком + $r .= $this->stats[$v]; + $ry = $this->stats[$v]; + } + /* второе оружие */ + if (isset($w2['id'])) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w2['data']); + $y = @$this->stats[$v] + @$d['sv_' . $v]; + if ($y != $ry) { + $r .= ' / ' . $y . ''; + } else { + $r = str_replace('title="' . $w1['name'] . '"', '', $r); + } + } + //модификаторы + } + return $r; + } + + private function weaponAtc($item, $st, $x) + { + $tp = 0; + if (isset($item['id'])) { + $itm = ConversionHelper::dataStringToArray($item['data']); + //начинаем расчет урона + if (!isset($st['minAtack'])) { + $st['minAtack'] = 0; + } + if (!isset($st['maxAtack'])) { + $st['maxAtack'] = 0; + } + if (!isset($st['yron_min'])) { + $st['yron_min'] = 0; + } + if (!isset($st['yron_max'])) { + $st['yron_max'] = 0; + } + if (!isset($itm['yron_min'])) { + $itm['yron_min'] = 0; + } + if (!isset($itm['yron_max'])) { + $itm['yron_max'] = 0; + } + if (!isset($itm['sv_yron_min'])) { + $itm['sv_yron_min'] = 0; + } + if (!isset($itm['sv_yron_max'])) { + $itm['sv_yron_max'] = 0; + } + + $min = $itm['sv_yron_min'] + $st['minAtack'] + $itm['yron_min'] + $st['yron_min']; + $max = $itm['sv_yron_max'] + $st['maxAtack'] + $itm['yron_max'] + $st['yron_max']; + + //Тип урона: 0 - нет урона, 1 - колющий, 2 - рубящий, 3 - дробящий, 4 - режущий, 5 - огонь, 6 - воздух, 7 - вода, 8 - земля, 9 - свет, 10 - тьма, 11 - серая + if ($item['type'] == 18) { + //колющий + $sss = ceil($st['s2'] * 0.75); + } elseif ($item['type'] == 19) { + //рубящий + $sss = ceil($st['s1'] * 0.75); + } elseif ($item['type'] == 20) { + //дробящий + $sss = ceil($st['s4'] * 1.5); + } elseif ($item['type'] == 21) { + //режущий + $sss = ceil($st['s3'] * 0.75); + } else { + //без профильного урона + $sss = ceil($st['s1'] * 0.1); + } + + //Обычный урон + + $p['B'][0] = ceil($st['s1'] * 1); + $p['B'][1] = ceil(0.4 + $p['B'][0] / 0.9); + + $p['B'][0] = 2 + $st['level'] + $st['s1'] - round($st['s1'] / 5); + $p['B'][1] = $p['B'][0] + 3; + + $p['B']['rnd'] = rand($p['B'][0], $p['B'][1]); + //Добавочный минимальный урон + $p['W'][0] = $min; + $p['W'][1] = $max; + $p['W']['rnd'] = rand($p['W'][0], $p['W'][1]); + // Коэф. оружия + $p['T'] = 1; + //Владения + $bn = 0; + if ($item['type'] == 21) { + // меч + $p['M'] = $st['pa4']; + $bn = $st['a4']; + //ТУТ $p['M'] = $st['pa'.$x]; + } elseif ($item['type'] == 20) { + // дубина + $p['M'] = $st['pa3']; + $bn = $st['a3']; + } elseif ($item['type'] == 19) { + // топор + $p['M'] = $st['pa2']; + $bn = $st['a2']; + } elseif ($item['type'] == 18) { + // нож + $p['M'] = $st['pa1']; + $bn = $st['pa1']; + } elseif ($item['type'] == 22) { + // посох + $p['M'] = $st['pa3']; + $bn = $st['a5']; + } + //Мощнность + + $min = (($p['B'][0] + $sss + $p['W'][0]) * $p['T'] * (1 + 0.005 * $bn)) * (1 + $p['M'] / 100); + $max = (($p['B'][1] + $sss + $p['W'][1]) * $p['T'] * (1 + 0.005 * $bn)) * (1 + $p['M'] / 100); + // + $kmin = ceil((2 * (1 + $st['m3'] / 100)) * $min); + $kmax = ceil((2 * (1 + $st['m3'] / 100)) * $max); + + $tp = [0 => ceil($min), 1 => ceil($max), 2 => ceil($kmin), 3 => ceil($kmax)]; + } + return $tp; + } + + private function weaponAtc($item, $st, $x) + { + $tp = 0; + if (isset($item['id'])) { + $itm = ConversionHelper::dataStringToArray($item['data']); + //начинаем расчет урона + if (!isset($st['minAtack'])) { + $st['minAtack'] = 0; + } + if (!isset($st['maxAtack'])) { + $st['maxAtack'] = 0; + } + if (!isset($st['yron_min'])) { + $st['yron_min'] = 0; + } + if (!isset($st['yron_max'])) { + $st['yron_max'] = 0; + } + if (!isset($itm['yron_min'])) { + $itm['yron_min'] = 0; + } + if (!isset($itm['yron_max'])) { + $itm['yron_max'] = 0; + } + if (!isset($itm['sv_yron_min'])) { + $itm['sv_yron_min'] = 0; + } + if (!isset($itm['sv_yron_max'])) { + $itm['sv_yron_max'] = 0; + } + + $min = $itm['sv_yron_min'] + $st['minAtack'] + $itm['yron_min'] + $st['yron_min']; + $max = $itm['sv_yron_max'] + $st['maxAtack'] + $itm['yron_max'] + $st['yron_max']; + + //Тип урона: 0 - нет урона, 1 - колющий, 2 - рубящий, 3 - дробящий, 4 - режущий, 5 - огонь, 6 - воздух, 7 - вода, 8 - земля, 9 - свет, 10 - тьма, 11 - серая + if ($item['type'] == 18) { + //колющий + $sss = ceil($st['s2'] * 0.75); + } elseif ($item['type'] == 19) { + //рубящий + $sss = ceil($st['s1'] * 0.75); + } elseif ($item['type'] == 20) { + //дробящий + $sss = ceil($st['s4'] * 1.5); + } elseif ($item['type'] == 21) { + //режущий + $sss = ceil($st['s3'] * 0.75); + } else { + //без профильного урона + $sss = ceil($st['s1'] * 0.1); + } + + //Обычный урон + + $p['B'][0] = ceil($st['s1'] * 1); + $p['B'][1] = ceil(0.4 + $p['B'][0] / 0.9); + + $p['B'][0] = 2 + $st['level'] + $st['s1'] - round($st['s1'] / 5); + $p['B'][1] = $p['B'][0] + 3; + + $p['B']['rnd'] = rand($p['B'][0], $p['B'][1]); + //Добавочный минимальный урон + $p['W'][0] = $min; + $p['W'][1] = $max; + $p['W']['rnd'] = rand($p['W'][0], $p['W'][1]); + // Коэф. оружия + $p['T'] = 1; + //Владения + $bn = 0; + if ($item['type'] == 21) { + // меч + $p['M'] = $st['pa4']; + $bn = $st['a4']; + //ТУТ $p['M'] = $st['pa'.$x]; + } elseif ($item['type'] == 20) { + // дубина + $p['M'] = $st['pa3']; + $bn = $st['a3']; + } elseif ($item['type'] == 19) { + // топор + $p['M'] = $st['pa2']; + $bn = $st['a2']; + } elseif ($item['type'] == 18) { + // нож + $p['M'] = $st['pa1']; + $bn = $st['pa1']; + } elseif ($item['type'] == 22) { + // посох + $p['M'] = $st['pa3']; + $bn = $st['a5']; + } + //Мощнность + + $min = (($p['B'][0] + $sss + $p['W'][0]) * $p['T'] * (1 + 0.005 * $bn)) * (1 + $p['M'] / 100); + $max = (($p['B'][1] + $sss + $p['W'][1]) * $p['T'] * (1 + 0.005 * $bn)) * (1 + $p['M'] / 100); + // + $kmin = ceil((2 * (1 + $st['m3'] / 100)) * $min); + $kmax = ceil((2 * (1 + $st['m3'] / 100)) * $max); + + $tp = [0 => ceil($min), 1 => ceil($max), 2 => ceil($kmin), 3 => ceil($kmax)]; + } + return $tp; + } + + //Удаление определенного типа предметов + + public function rep_zv(int $id, int $e): string + { + $r = '0 / 0'; + if ($id == 1) { + //Храм знаний + if ($e > 9999) { + $r = 'Посвященный третьего круга, ' . $e . ' / ??'; + } elseif ($e > 999) { + $r = 'Посвященный второго круга, ' . $e . ' / 9999'; + } elseif ($e > 99) { + $r = 'Посвященный первого круга, ' . $e . ' / 999'; + } else { + $r = $e . ' / 99'; + } + } elseif ($id == 2 || $id == 3 || $id == 4 || $id == 6 || $id == 7 || $id == 8) { + //Capital city + if ($e > 24999) { + $r = 'Рыцарь второго круга, ' . $e . ' / ??'; + } elseif ($e > 9999) { + $r = 'Рыцарь первого круга, ' . $e . ' / 24999'; + } else { + $r = $e . ' / 10000'; + } + } elseif ($id == 5) { + //Алтарь Крови + if ($e > 99) { + $r = 'Посвященный первого круга ' . $e . ' / 999'; + } else { + $r = $e . ' / 99'; + } + } elseif ($id == 9) { + //Dreams city + if ($e > 9999) { + $r = 'Посвященный третьего круга, [' . $e . ']'; + } elseif ($e > 4999) { + $r = 'Посвященный второго круга,' . $e . ' / 9999'; + } elseif ($e > 999) { + $r = 'Посвященный первого круга, ' . $e . ' / 4999'; + } else { + $r = $e . ' / 999'; + } + } elseif ($id == 10) { + //Гора легиона + if ($e > 9999) { + $r = 'Посвященный второго круга,[' . $e . ']'; + } elseif ($e > 999) { + $r = 'Посвященный первого круга, ' . $e . ' / 4999'; + } else { + $r = $e . ' / 999'; + } + } elseif ($id == 11) { + //Излом Хаоса + if ($e > 9999) { + $r = 'Легенда Излома Хаоса, [' . $e . ']'; + } elseif ($e > 4999) { + $r = 'Чемпион Излома Хаоса,' . $e . ' / 9999'; + } elseif ($e > 999) { + $r = 'Знаток Излома Хаоса, ' . $e . ' / 4999'; + } else { + $r = $e . ' / 999'; + } + } + + return $r; + } + + public function getNum($v) + { + $plid = $v; + $pi = iconv_strlen($plid); + if ($pi < 5) { + $i = 0; + while ($i <= 5 - $pi) { + $plid = '0' . $plid; + $i++; + } + } + return $plid; + } + + public function microLogin(int $id, int $t = 1, int $nnz = 1): string + { + if ($t !== 1) { + $inf['id'] = $id; + } else { + $inf = Db::getRow( + 'select + users.id, + invis, + users.align, + align2, + clan, + cityreg, + login, + users.level, + c.name_mini + from users left join clan as c on c.id = users.clan + where users.id = ?', + [$id] + ); + } + $r = ''; + if ( + isset($inf['id']) && + ( + ($inf['invis'] < time() && $inf['invis'] !== 1) || + ($this->info['id'] == $inf['id'] && $nnz === 1) + ) + ) { + $r = $this->microLogin2($inf); + } else { + $r = 'Невидимка [??]'; + } + return $r; + } + + //Выводим вещи котоыре нужно отремонтировать + + public function microLogin2(array $userInfo): string + { + $result = ''; + if ($userInfo['align'] > 0) { + $result .= ''; + } + if ($userInfo['clan'] > 0) { + $clanName = Db::getValue('select name_mini from clan where id = ?', [$userInfo['clan']]); + $result .= ''; + } + $result .= '' . $userInfo['login'] . '[' . $userInfo['level'] . ']'; + $result .= ''; + return $result; + } + + //Расчет урона от оружия + + private function microLogin2(array $userInfo): string + { + $result = ''; + if ($userInfo['align'] > 0) { + $result .= ''; + } + if ($userInfo['clan'] > 0) { + $result .= '' . $userInfo['clanName'] . ''; + } + $result .= '' . $userInfo['login'] . '[' . $userInfo['level'] . ']'; + if ($userInfo['login'] !== 'невидимка') { + $result .= ''; + } + return $result; + } + + //Расчет защиты + + public function addKr($amount) + { + Db::sql('update users set money = money + ? where id = ?', [$amount, $this->info['id']]); + } + + //Расчет защиты (магия) + + public function microLogin(int $id, int $t = 1, int $nnz = 1): string + { + if ($t !== 1) { + $inf['id'] = $id; + } else { + $inf = Db::getRow( + 'select + users.id, + if(invis = 1 or invis < unix_timestamp(), login, ?) as login, + if(invis = 1 or invis < unix_timestamp(), users.align, 0) as align, + if(status > 0, clan, 0) as clan, + if(invis = 1 or invis < unix_timestamp(), users.level, ?) as level, + if(status > 0, clan.name, ?) as clanName + from users left join clan on clan.id = users.clan and status > 0 where users.id = ?', + ['невидимка', '??', '', $id] + ); + } + return isset($inf['id']) ? $this->microLogin2($inf) : ''; + } + + public function dayquest(int $id): string + { + $test = Db::getRow('select id, vals from actions where uid = ? and vars = ?', [$id, 'day_quest']); + $q = [ + '1' => 'Убийство Трупожоров', + '2' => 'Победы в хаотических боях', + '3' => 'Спуск в Подземелия', + '4' => 'Набрать в хаотических поединках 100 000 Опыта', + '5' => 'Открыть Сундук Трупожора', + '6' => 'Посетить Излом Хаоса', + '7' => 'Сдача 3 заданий в пещерах', + '8' => 'Поучаствовать в Башне Смерти', + ]; + if (!isset($test['id'])) { + $n = "Получить задание"; + } else { + $n = "Сдать задание"; + $n = $n . "
" . $q[$test['vals']] . ""; + } + return $n; + } + + public function testAlign($an, int $uid): int + { + $r = 1; + if (floor($an) > 0) { + $a = Db::getValue( + 'select align from users_align where uid = ? and (`delete` = 0 or `delete` > unix_timestamp())', + [$uid] + ); + + if (floor((float)$a['align']) != $an) { + $r = 0; + } + } + return $r; + } + + public function abilsRoom(string $type): string + { + $r = ''; + // + if ($this->info['clan'] > 0 || !in_array($this->room['name'], ['Зал Света', 'Зал Нейтралов', 'Зал Тьмы'])) { + //Нельзя использовать персонажам в клане + return ''; + } + if ($type == 'test') { + if (isset($_GET['vhp'])) { + $v = Db::getValue('select time from vortex where uid = ? and type = 1 order by time desc limit 1'); + if ($v > time() - 60 * 60) { + //Уже юзали + $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); + } else { + if ($this->stats['hpNow'] < 1) { + $this->stats['hpNow'] = 0; + } + $this->error = 'Вы успешно восстановили ' . round($this->stats['hpAll'] - $this->stats['hpNow']) . ' HP.'; + Db::sql( + 'insert into vortex (uid, room, time, val, type) VALUES (?,?,unix_timestamp(),?,1)', + [$this->info['id'], $this->info['room'], round($this->stats['hpAll'] - $this->stats['hpNow'])] + ); + $this->stats['hpNow'] = $this->stats['hpAll']; + Db::sql('update stats set hpNow = ? where id = ?', [$this->stats['hpNow'], $this->info['id']]); + } + } elseif (isset($_GET['vmp'])) { + $v = Db::getValue('select time from vortex where uid = ? and type = 2 order by time desc limit 1'); + if ($v > time() - 60 * 60) { + //Уже юзали + $this->error = 'Необходимо подождать еще ' . ConversionHelper::secondsToTimeout($v + 60 * 60 - time()); + } else { + if ($this->stats['mpNow'] < 1) { + $this->stats['mpNow'] = 0; + } + $this->error = 'Вы успешно восстановили ' . round($this->stats['mpAll'] - $this->stats['mpNow']) . ' MP.'; + Db::sql( + 'insert into vortex (uid, room, time, val, type) VALUES (?,?,unix_timestamp(),?,2)', + [$this->info['id'], $this->info['room'], round($this->stats['mpAll'] - $this->stats['mpNow'])] + ); + $this->stats['mpNow'] = $this->stats['mpAll']; + Db::sql('update stats set mpNow = ? where id = ?', [$this->stats['mpNow'], $this->info['id']]); + } + } + + } elseif ($type == 'look') { + $vid = 0; + if ($this->room['name'] == 'Зал Света') { + $vid = 6; + } elseif ($this->room['name'] == 'Зал Тьмы') { + $vid = 7; + } elseif ($this->room['name'] == 'Зал Нейтралов') { + $vid = 10; + } + $v = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `vortex` WHERE `uid` = "' . $this->info['id'] . '" AND `type` = 1 ORDER BY `time` DESC LIMIT 1' + ) + ); + if (isset($v['id']) && $v['time'] + 60 * 60 > time()) { + $r .= ' '; + } else { + $r .= ' '; + } + $v = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `vortex` WHERE `uid` = "' . $this->info['id'] . '" AND `type` = 2 ORDER BY `time` DESC LIMIT 1' + ) + ); + if (isset($v['id']) && $v['time'] + 60 * 60 > time()) { + $r .= ' '; + } else { + $r .= ' '; + } + } + return $r; + } + + public function insertAlign($an, $uid) + { + if ($an > 0) { + mysql_query( + 'UPDATE `users_align` SET `delete` = "' . (time() + 1) . '" WHERE `uid` = "' . mysql_real_escape_string( + $uid + ) . '" AND `align` = "' . mysql_real_escape_string(floor($an)) . '"' + ); + mysql_query( + 'INSERT INTO `users_align` (`uid`,`time`,`delete`,`align`) VALUES ( + "' . mysql_real_escape_string($uid) . '","' . time() . '","0","' . mysql_real_escape_string( + floor($an) + ) . '" + ) ' + ); + } + } + + public function deleteAlign($an, $uid) + { + if ($an > 0) { + mysql_query( + 'UPDATE `users_align` SET `delete` = "' . (time() + 86400 * 60) . '" WHERE `uid` = "' . mysql_real_escape_string( + $uid + ) . '" AND `align` = "' . mysql_real_escape_string(floor($an)) . '"' + ); + } + } + + public function repobmen($id, $type) + { + //echo 'обмен'; + $pl = 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`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1;' + ) + ); + $po = ConversionHelper::dataStringToArray($pl['data']); + if ((!isset($po['frompisher']) || $po['tr_lvl'] < 4) && $pl['type'] != 31) { + $e = 'Не удалось обменять предмет на репутацию.'; + } else { + $e = 'Обмен предмета "' . $pl['name'] . '" на репутацию Сapitalcity прошел удачно.'; + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + ); + $this->rep['repcapitalcity'] += 1; + mysql_query( + 'UPDATE `rep` SET `repcapitalcity` = "' . $this->rep['repcapitalcity'] . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + } + return $e; + } + + public function lookKeys($m, $i): array + { + + $e = explode('|', $m); + $r = []; + while ($i < count($e)) { + $j = explode('=', $e[$i]); + $r[$i] = $j[0]; + $i++; + } + return $r; + } + + public function zago($v): float + { + if ($v > 1700) { + $v = 1700; + } + return round((1 - (pow(0.5, ($v / 399.51)))) * 100, 2); + } + + public function zmgo($v) + { + if ($v > 1000) { + $v = 1000; + } + return (1 - (pow(0.5, ($v / 250)))) * 100; + } + + public function inform(string $v) + { + $r = ''; + $y = []; + $w1 = 0; + $w2 = 0; + $i = 0; + if ($v == 'yrontest' || $v == 'yrontest-krit') { + /* первое оружие или кулак */ + if (is_array($this->stats['items'])) { + while ($i < count($this->stats['items'])) { + if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w1 = $this->stats['items'][$i]; + } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w2 = $this->stats['items'][$i]; + } + $i++; + } + } + if (isset($w1['id']) && $w1['inOdet'] != 14) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w1['data']); + while ($i <= 4) { + if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w1, $this->stats, $tp); + if ($v == 'yrontest-krit') { + $y[0] = $y[2]; + $y[1] = $y[3]; + } + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= '' . $y[0] . '-' . $y[1] . ''; + } else { + //урон кулаком + $y[0] = ceil( + 2 + $this->info['level'] + $this->stats ['s1'] - round($this->stats['s1'] / 5) + ) + $this->stats['minAtack'] + $this->stats['yron_min']; + $y[1] = ceil($y[0] + 3) + $this->stats['maxAtack'] + $this->stats['yron_max']; + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= $y[0] . '-' . $y[1]; + } + /* второе оружие */ + if (isset($w2['id'])) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w2['data']); + while ($i <= 4) { + if ($t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w2, $this->stats, $tp); + if ($v == 'yrontest-krit') { + $y[0] = $y[2]; + $y[1] = $y[3]; + } + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= ' / ' . $y[0] . '-' . $y[1] . ''; + } + /* --- */ + } elseif ($v == 'yron') { + /* первое оружие или кулак */ + while ($i < count($this->stats['items'])) { + if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w1 = $this->stats['items'][$i]; + } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w2 = $this->stats['items'][$i]; + } + $i++; + } + if (isset($w1['id']) && $w1['inOdet'] != 14) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w1['data']); + while ($i <= 4) { + if (isset($d['tya' . $i]) && $t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w1, $this->stats, $tp); + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= '' . $y[0] . '-' . $y[1] . ''; + } else { + //урон кулаком + $y[0] = ceil($this->stats['s1'] * 1.4) + $this->stats['minAtack'] + $this->stats['yron_min']; + $y[1] = ceil(0.4 + $y[0] / 0.9) + $this->stats['maxAtack'] + $this->stats['yron_max']; + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= $y[0] . '-' . $y[1]; + } + /* второе оружие */ + if (isset($w2['id'])) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w2['data']); + while ($i <= 4) { + if ($t < $d['tya' . $i]) { + $t = $d['tya' . $i]; + $tp = $i; + } + $i++; + } + $y = $this->weaponAtc($w2, $this->stats, $tp); + if ($y[0] < 1) { + $y[0] = 1; + } + if ($y[1] < 1) { + $y[1] = 1; + } + $r .= ' / ' . $y[0] . '-' . $y[1] . ''; + } + } else { + //модификаторы + /* первое оружие или кулак */ + $ry = 0; + while ($i < count($this->stats['items'])) { + if ($this->stats['items'][$i]['inOdet'] == 3 && $w1 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w1 = $this->stats['items'][$i]; + } elseif ($this->stats['items'][$i]['inOdet'] == 14 && $w2 == 0 && $this->stats['items'][$i]['type'] >= 18 && $this->stats['items'][$i]['type'] <= 28) { + $w2 = $this->stats['items'][$i]; + } + $i++; + } + if (isset($w1['id']) && $w1['inOdet'] != 14) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w1['data']); + $y = 0; + if (isset($d['sv_' . $v])) { + $y += $d['sv_' . $v]; + } + if (isset($this->stats[$v])) { + $y += $this->stats[$v]; + } + $ry = $y; + $r .= '' . $y . ''; + } else { + //кулаком + $r .= $this->stats[$v]; + $ry = $this->stats[$v]; + } + /* второе оружие */ + if (isset($w2['id'])) { + $tp = 0; + $t = 0; + $i = 1; + $d = ConversionHelper::dataStringToArray($w2['data']); + $y = @$this->stats[$v] + @$d['sv_' . $v]; + if ($y != $ry) { + $r .= ' / ' . $y . ''; + } else { + $r = str_replace('title="' . $w1['name'] . '"', '', $r); + } + } + //модификаторы + } + return $r; + } + + public function rep_zv(int $id, int $e): string + { + $r = '0 / 0'; + if ($id == 1) { + //Храм знаний + if ($e > 9999) { + $r = 'Посвященный третьего круга, ' . $e . ' / ??'; + } elseif ($e > 999) { + $r = 'Посвященный второго круга, ' . $e . ' / 9999'; + } elseif ($e > 99) { + $r = 'Посвященный первого круга, ' . $e . ' / 999'; + } else { + $r = $e . ' / 99'; + } + } elseif ($id == 2 || $id == 3 || $id == 4 || $id == 6 || $id == 7 || $id == 8) { + //Capital city + if ($e > 24999) { + $r = 'Рыцарь второго круга, ' . $e . ' / ??'; + } elseif ($e > 9999) { + $r = 'Рыцарь первого круга, ' . $e . ' / 24999'; + } else { + $r = $e . ' / 10000'; + } + } elseif ($id == 9) { + //Dreams city + if ($e > 9999) { + $r = 'Посвященный третьего круга, [' . $e . ']'; + } elseif ($e > 4999) { + $r = 'Посвященный второго круга,' . $e . ' / 9999'; + } elseif ($e > 999) { + $r = 'Посвященный первого круга, ' . $e . ' / 4999'; + } else { + $r = $e . ' / 999'; + } + } elseif ($id == 10) { + //Гора легиона + if ($e > 9999) { + $r = 'Посвященный второго круга,[' . $e . ']'; + } elseif ($e > 999) { + $r = 'Посвященный первого круга, ' . $e . ' / 4999'; + } else { + $r = $e . ' / 999'; + } + } elseif ($id == 11) { + //Излом Хаоса + if ($e > 9999) { + $r = 'Легенда Излома Хаоса, [' . $e . ']'; + } elseif ($e > 4999) { + $r = 'Чемпион Излома Хаоса,' . $e . ' / 9999'; + } elseif ($e > 999) { + $r = 'Знаток Излома Хаоса, ' . $e . ' / 4999'; + } else { + $r = $e . ' / 999'; + } + } + + return $r; + } + + public function getNum($v) + { + $plid = $v; + $pi = iconv_strlen($plid); + if ($pi < 5) { + $i = 0; + while ($i <= 5 - $pi) { + $plid = '0' . $plid; + $i++; + } + } + return $plid; + } + + public function addNewbot($id, $botDate, $clon, $logins_bot = null, $luser = null, $round = null) + { + if ($clon != null) { + $r = 0; + if (!is_array($clon)) { + $clon = $this->getUserInfoById((int)$clon); + } + if (isset($clon['id'])) { + if (!isset($clon['loclon'])) { + $clon['login'] .= ' (Клон)'; + } + //копируем пользователя + $ins1 = mysql_query( + 'INSERT INTO `users` ( + `align`, + `login`, + `level`, + `pass`, + `city`, + `cityreg`, + `name`, + `sex`, + `hobby`, + `timereg`, + `obraz`, + `bot_id`, + `inTurnir`, + `temp` + ) VALUES ( + "' . $clon['align'] . '", + "' . $clon['login'] . '", + "' . $clon['level'] . '", + "' . md5('bot_pass_' . $clon['login'] . '_') . '", + "' . $this->info['city'] . '", + "' . $clon['city_reg'] . '", + "' . $clon['login'] . '", + "' . $clon['sex'] . '", + "", + "' . $clon['time_reg'] . '", + "' . $clon['obraz'] . '", + "' . mysql_real_escape_string($id) . '", + "' . $clon['inTurnir'] . '", + 5 + )' + ); + if ($ins1) { + if ($round > 0) { + //Улучшаем мф. и статы и НР 1 раунд = +10% + $statss = ConversionHelper::dataStringToArray($clon['stats']); + // + $statss['s1'] = ceil($statss['s1'] * (1 + 0.1 * ($round))); + $statss['s2'] = ceil($statss['s2'] * (1 + 0.1 * ($round))); + $statss['s3'] = ceil($statss['s3'] * (1 + 0.1 * ($round))); + $statss['s4'] = ceil($statss['s4'] * (1 + 0.1 * ($round))); + // + $statss['hpAll'] = ceil($statss['hpAll'] * (1 + 0.1 * ($round))); + $statss['mpAll'] = ceil($statss['mpAll'] * (1 + 0.1 * ($round))); + // + $statss['m1'] = ceil($statss['m1'] * (1 + 0.1 * ($round))); + $statss['m2'] = ceil($statss['m2'] * (1 + 0.1 * ($round))); + $statss['m3'] = ceil($statss['m3'] * (1 + 0.1 * ($round))); + $statss['m4'] = ceil($statss['m4'] * (1 + 0.1 * ($round))); + $statss['m5'] = ceil($statss['m5'] * (1 + 0.1 * ($round))); + $statss['za'] = ceil($statss['za'] * (1 + 0.1 * ($round))); + $statss['zm'] = ceil($statss['zm'] * (1 + 0.1 * ($round))); + $clon['stats'] = ConversionHelper::arrayToDataString($statss); + unset($statss); + } + if ($luser && $clon['level'] < 8) { + //Хуже уворот, крит и защита + $statss = ConversionHelper::dataStringToArray($clon['stats']); + $statss['m1'] = ceil($statss['m1'] * 0.75); + $statss['m2'] = ceil($statss['m2'] * 0.75); + $statss['m3'] = ceil($statss['m3'] * 0.75); + $statss['m4'] = ceil($statss['m4'] * 0.75); + $statss['m5'] = ceil($statss['m5'] * 0.75); + $statss['za'] = ceil($statss['za'] * 0.25); + + $clon['stats'] = ConversionHelper::arrayToDataString($statss); + unset($statss); + } + $uid = mysql_insert_id(); + //копируем статы + $ins2 = mysql_query( + 'INSERT INTO `stats` (`clone`,`id`,`stats`,`hpNow`,`upLevel`,`bot`,`priems`) VALUES ("' . $clon['id'] . '","' . $uid . '","' . $clon['stats'] . '","1000000","' . $clon['upLevel'] . '","1","' . $clon['priems'] . '")' + ); + if ($ins2) { + //копируем предметы + $sp = 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 `uid` = "' . $clon['id'] . '" AND `inOdet` > 0 AND `delete` = "0" LIMIT 50' + ); + while ($pl = mysql_fetch_array($sp)) { + $pl['data'] = str_replace('toclan', 'to_clan_', $pl['data']); + mysql_query( + 'INSERT INTO `items_users` (`uid`,`item_id`,`data`,`inOdet`,`iznosMAX`,`kolvo`) VALUES ("' . $uid . '","' . $pl['item_id'] . '","' . $pl['data'] . '","' . $pl['inOdet'] . '","' . $pl['iznosMAX'] . '","' . $pl['kolvo'] . '")' + ); + } + //копируем эффекты + $sp = mysql_query( + 'SELECT `id`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`timeAce`,`user_use`,`delete`,`v1`,`v2`,`img2`,`x`,`hod`,`bj`,`sleeptime`,`no_Ace`,`tr_life_user` FROM `eff_users` WHERE `uid` = "' . $clon['id'] . '" AND `delete` = "0" AND `deactiveTime` < "' . time() . '" AND `v1` != "priem" LIMIT 50' + ); + while ($pl = mysql_fetch_array($sp)) { + mysql_query( + 'INSERT INTO `eff_users` (`uid`,`id_eff`,`data`,`name`,`overType`,`timeUse`,`x`) VALUES ("' . $uid . '","' . $pl['id_eff'] . '","' . $pl['data'] . '","' . $pl['name'] . '","' . $pl['overType'] . '","' . $pl['timeUse'] . '","' . $pl['x'] . '")' + ); + } + $r = $uid; + } + } + } + return $r; + } else { + if ($botDate == null) { + $bot = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`login`,`stats`,`obraz`,`level`,`sex`,`name`,`hobby`,`type`,`itemsUse`,`priemUse`,`align`,`clan`,`align_zvanie`,`bonus`,`clan_zvanie`,`time_reg`,`city_reg`,`upLevel`,`active`,`expB`,`p_items`,`agressor`,`priems`,`priems_z`,`award` FROM `test_bot` WHERE `id` = "' . $id . '" LIMIT 1' + ) + ); + } else { + $bot = $botDate; + } + if (isset($bot['id'])) { + if (isset($logins_bot[$bot['login']])) { + $logins_bot[$bot['login']]++; + $bot['login'] = $bot['login'] . ' (' . $logins_bot[$bot['login']] . ')'; + } else { + $logins_bot[$bot['login']] = 1; + } + $ret = true; + if ($bot['time_reg'] == 100) { + $bot['time_reg'] = time(); + } + if ($bot['city_reg'] == '{thiscity}') { + $bot['city_reg'] = $this->info['city']; + } + + $ins1 = mysql_query( + 'INSERT INTO `users` ( + `align`, + `login`, + `level`, + `pass`, + `city`, + `cityreg`, + `name`, + `sex`, + `hobby`, + `timereg`, + `obraz`, + `bot_id`, + `temp` + ) VALUES ( + "' . $bot['align'] . '", + "' . $bot['login'] . '", + "' . $bot['level'] . '", + "' . md5('bot_pass_' . $bot['login'] . '_') . '", + "' . $this->info['city'] . '", + "' . $bot['city_reg'] . '", + "' . $bot['name'] . '", + "' . $bot['sex'] . '", + "' . $bot['hobby'] . '", + "' . $bot['time_reg'] . '", + "' . $bot['obraz'] . '", + "' . mysql_real_escape_string($id) . '", + 6 + )' + ); + if ($ins1) { + $uid = mysql_insert_id(); + if ($round > 0) { + //Улучшаем мф. и статы и НР 1 раунд = +20% + $statss = ConversionHelper::dataStringToArray($bot['stats']); + // + $statss['s1'] = ceil($statss['s1'] * (1 + 0.20 * ($round))); + $statss['s2'] = ceil($statss['s2'] * (1 + 0.20 * ($round))); + $statss['s3'] = ceil($statss['s3'] * (1 + 0.20 * ($round))); + $statss['s4'] = ceil($statss['s4'] * (1 + 0.20 * ($round))); + // + $statss['hpAll'] = ceil($statss['hpAll'] * (1 + 0.20 * ($round))); + $statss['mpAll'] = ceil($statss['mpAll'] * (1 + 0.20 * ($round))); + // + $statss['m1'] = ceil($statss['m1'] * (1 + 0.20 * ($round))); + $statss['m2'] = ceil($statss['m2'] * (1 + 0.20 * ($round))); + $statss['m3'] = ceil($statss['m3'] * (1 + 0.20 * ($round))); + $statss['m4'] = ceil($statss['m4'] * (1 + 0.20 * ($round))); + $statss['m5'] = ceil($statss['m5'] * (1 + 0.20 * ($round))); + $statss['za'] = ceil($statss['za'] * (1 + 0.20 * ($round))); + $statss['zm'] = ceil($statss['zm'] * (1 + 0.20 * ($round))); + $bot['stats'] = ConversionHelper::arrayToDataString($statss); + unset($statss); + } + $ins2 = mysql_query( + 'INSERT INTO `stats` (`id`,`stats`,`hpNow`,`upLevel`,`bot`) VALUES ("' . $uid . '","' . $bot['stats'] . '","1000000","' . $bot['upLevel'] . '","1")' + ); + if ($ins2) { + $bot['id'] = $uid; + $bot['logins_bot'] = $logins_bot; + $ret = $bot; + + //Выдаем предметы + $iu = explode(',', $bot['itemsUse']); + $i = 0; + $w3b = 0; + while ($i < count($iu)) { + if ($iu[$i] > 0) { + $idiu = $this->addItem($iu[$i], $bot['id']); + $islot = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`inslot` FROM `items_main` WHERE `id` = "' . $iu[$i] . '" LIMIT 1' + ) + ); + if (isset($islot['id'])) { + if ($islot['inslot'] == 3) { + if ($w3b == 1) { + $islot = 14; + } else { + $islot = 3; + $w3b = 1; + } + } else { + $islot = $islot['inslot']; + } + } else { + $islot = 2000; + } + mysql_query( + 'UPDATE `items_users` SET `inOdet` = "' . $islot . '" WHERE `id` = "' . $idiu . '" LIMIT 1' + ); + } + $i++; + } + } else { + $ret = false; + } + } else { + $ret = false; + } + return $ret; + } else { + return false; + } + } + } + + /** Для совместимости. Поиск по файлам $this->additem выдаёт сотни отсылок с видимо подключаемымим файлами + * в которых невозможно отследить зависимость и сделать полноценную замену. + * @param $id + * @param $uid + * @param $md + * @param $dn + * @param $mxiznos + * @param $nosudba + * @param $plavka + * @return int|mixed|string + * @deprecated use ItemsModel::addItem() + */ + public function addItem($id, $uid, $md = null, $dn = null, $mxiznos = null, $nosudba = null, $plavka = null) + { + return ItemsModel::addItem($id, $uid, $md, $dn, $mxiznos, $nosudba, $plavka); + } + + /** Для совместимости. Поиск по файлам $this->additem выдаёт сотни отсылок с видимо подключаемымим файлами + * в которых невозможно отследить зависимость и сделать полноценную замену. + * @param $id + * @param $uid + * @param $md + * @param $dn + * @param $mxiznos + * @param $nosudba + * @param $plavka + * @return int|mixed|string + */ + public function addItem($id, $uid, $md = null, $dn = null, $mxiznos = null, $nosudba = null, $plavka = null) + { + return ItemsModel::addItem($id, $uid, $md, $dn, $mxiznos, $nosudba, $plavka); + } + + 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 newAct($test): bool + { + $r = true; + if ($test != $this->info['nextAct'] && $this->info['nextAct'] != '0') { + $r = false; + } else { + $na = md5(time() . '_nextAct_' . rand(0, 100)); + $upd = mysql_query( + 'UPDATE `stats` SET `nextAct` = "' . $na . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + if (!$upd) { + $r = false; + } else { + $this->info['nextAct'] = $na; + } + } + return $r; + } + + public function buyItemCommison($sid, $item, $iid = null): string + { + global $sid; + $sid = mysql_real_escape_string($sid); + $itme = mysql_real_escape_string($item); + $iid = mysql_real_escape_string($iid); + $i2 = mysql_fetch_array( + mysql_query( + 'SELECT `iu`.`uid`, `iu`.`id`, `iu`.`uid`, `iu`.`1price`, `iu`.inGroup, `iu`.`data`, `iu`.`inShop`, `iu`.`item_id`, `u`.`login` as login FROM `items_users` as `iu` LEFT JOIN `users` as `u` ON `u`.id=`iu`.uid WHERE `iu`.`id` = ' . $iid . ' AND `iu`.`inShop` = 30 LIMIT 1' + ) + ); + $i1 = mysql_fetch_array( + mysql_query('SELECT `name`,`price1` FROM `items_main` WHERE `id` = ' . $i2['item_id'] . ' LIMIT 1') + ); + $price = $i2['1price']; + if (isset($i2['id']) && isset($iid) && $sid == 1 && $i2['inShop'] == 30) { + if ($price > $this->info['money']) { + $r = 'У вас недостаточно денег (не хватает ' . ($price - $this->info['money']) . ' кр.)'; + } else { + $UpdMoney = mysql_query( + 'UPDATE `users` SET `money` = "' . mysql_real_escape_string( + round($this->info['money'] - $price, 2) + ) . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + if ($UpdMoney) { + $this->info['money'] -= $price; + $UpMoney2 = mysql_query( + 'UPDATE `users` SET `money` = `money` + ' . $price . ' WHERE `id` = ' . $i2['uid'] . ' LIMIT 1' + ); + + $col = $this->itemsX($iid); + if ($col > 1) { + $UpItems = mysql_query( + 'UPDATE `items_users` SET `uid` = ' . $this->info['id'] . ', `inGroup` = `inGroup`+1000, `1price` = "' . $i1['price1'] . '", `lastUPD` = "' . time() . '", `inShop` = 0 WHERE `inShop` = 30 AND `inOdet` = "0"AND `item_id`="' . $i2['item_id'] . '" AND `uid`="' . $i2['uid'] . '" AND `inGroup` = "' . $i2['inGroup'] . '" LIMIT ' . $col . '' + ); + } else { + $UpItems = mysql_query( + 'UPDATE `items_users` SET `uid` = ' . $this->info['id'] . ', `1price` = "' . $i1['price1'] . '", `lastUPD` = "' . time() . '", `inShop` = 0 WHERE `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" AND `uid`="' . $i2['uid'] . '" LIMIT 1' + ); + } + //Вставляем функцию передачи кредитов владельцу предмета + if ($UpItems) { + //Записываем в личное дело что предмет получен + $r = 'Вы приобрели предмет "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '" за ' . $price . ' кр.
Предмет успешно добавлен в инвентарь.'; + $ld = $this->addDelo( + 1, $this->info['id'], + '"ComissShop.' . $this->info['city'] . '": Приобрел предмет "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '" [item:' . $iid . '] в коммисионном магазине за ' . $price . ' кр. [Продавец: ' . ($i2['login'] != '' ? '' . $i2['login'] . '' : '(' . $i2['uid'] . ')') . ']', + time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', $price, 0 + ); + $u2s = mysql_fetch_array( + mysql_query('SELECT * FROM `users` WHERE `id` = "' . $i2['uid'] . '" LIMIT 1') + ); + $ld = $this->addDelo( + 1, $u2s['id'], + '"ComissShop.' . $this->info['city'] . '": Продал предмет "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '" [item:' . $iid . '] через коммисионный магазине за ' . $price . ' кр. [Покупатель: ' . $this->info['login'] . ']', + time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', 0, $price + ); + } else { + //Записываем в личное дело что предмет не получен + $r = 'Вам не удалось приобрести "' . $i1['name'] . ($col > 1 ? ' (x' . $col . ')' : '') . '". Администрация магазина в "' . $this->city_name[$this->info['city']] . '" должна Вам ' . $price . ' екр.
Приносим свои извинения за неудобства.'; + $ld = $this->addDelo( + 1, $this->info['id'], + '"EkrShop.' . $this->info['city'] . '": не удалось приобрести предмет #' . $i1['iid'] . '. К возрату: ' . $price . ' кр.', + time(), $this->info['city'], 'Shop.' . $this->info['city'] . '', (int)$price, 0 + ); + if (!$ld) { + echo '
Ошибка, невозможно добавить запись в /db/usersDelo/!
'; + } + } + } else { + $r = 'Вам не удалось приобрести предмет...'; + } + } + } else { + $r = 'Предмет не найден на прилавке'; + } + return '
' . $r . '
'; + } + + /* + * $iid Уникальный id прдемета и одновремено флаг что + * покупка из комка. + */ + + public function itemsX($id, $uid = null, $item_id = null) + { + + $item = mysql_fetch_array( + mysql_query( + 'SELECT `iu`.`id`,`iu`.`item_id`,`iu`.`uid`,`iu`.`inGroup`,`iu`.`inShop` FROM `items_users` AS `iu` WHERE `iu`.`delete` = "0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1 ' + ) + ); + if ($item['inGroup'] == 0) { + $grp = ' LIMIT 1'; + } else { + $grp = ' LIMIT 1000'; + } + $r = mysql_num_rows( + mysql_query( + 'SELECT `iu`.`id` FROM `items_users` AS `iu` WHERE `iu`.`inShop` = "' . $item['inShop'] . '" AND `iu`.`item_id` = "' . $item['item_id'] . '" AND `iu`.`uid` = "' . ($item['uid']) . '" AND `iu`.`delete` = "0" AND `iu`.`inGroup` = "' . ($item['inGroup']) . '" ' . $grp . ' ' + ) + ); + unset($item); + return $r; + } + + /** + * @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 + { + $dop = $vvv ?: ''; + Delo::add($type, $frm, $uid, $txt, $mo, $dop); + return true; + } + + public function commisonRent($action, $iid, $price = null) + { + if ($action == "Сдать в магазин" && isset($iid) && $price > 0) { + $ChImtem = mysql_fetch_array( + mysql_query( + 'SELECT `id`, `item_id`, `data`, `inGroup`, `uid` FROM `items_users` WHERE `id` = ' . $iid . ' LIMIT 1' + ) + ); + $ChSudba = ConversionHelper::dataStringToArray($ChImtem['data']); + if (!isset($ChSudba['sudba']) && $ChSudba['sudba'] == 0 && $ChSudba['sudba'] != 1 && !isset($ChSudba['toclan'])) { + if (isset($ChImtem['inGroup']) and $ChImtem['inGroup'] > 0) { + $col = $this->itemsX($ChImtem['id']); + if ($col > 1) { + mysql_query( + 'UPDATE `items_users` SET `inShop` = 30, `1price` = ' . $price . ' WHERE `item_id`="' . $ChImtem['item_id'] . '" AND `uid`="' . $ChImtem['uid'] . '" AND `inGroup` = "' . $ChImtem['inGroup'] . '" LIMIT ' . $col . '' + ); + } else { + mysql_query( + 'UPDATE `items_users` SET `inShop` = 30, `1price` = ' . $price . ' WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } + } else { + mysql_query( + 'UPDATE `items_users` set `inShop` = 30, `1price` = ' . $price . ' where `uid` = "' . $this->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } + } + } elseif ($action == "Забрать" && isset($iid)) { + $i = mysql_fetch_array( + mysql_query( + 'SELECT `im`.`price1`,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . $iid . '" AND `iu`.`inShop` = "30" AND `iu`.`delete` = "0" LIMIT 1' + ) + ); + if (isset($i['inGroup']) and $i['inGroup'] > 0) { + $col = $this->itemsX($i['id']); + if ($col > 1) { + mysql_query( + 'UPDATE `items_users` SET `inShop` = 0, `1price` = ' . $i['price1'] . ' WHERE `item_id`="' . $i['item_id'] . '" AND `inShop` = "30" AND `uid`="' . $i['uid'] . '" AND `inGroup` = "' . $i['inGroup'] . '" LIMIT ' . $col . '' + ); + } else { + mysql_query( + 'UPDATE `items_users` SET `inShop` = 0, `1price` = ' . $i['price1'] . ' WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $iid . '" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } + } else { + mysql_query( + 'UPDATE `items_users` SET `inShop` = 0, `1price` = "' . $i['price1'] . '" WHERE `id` = "' . $iid . '" and `inShop` = "30" LIMIT 1' + ); + } + } + } + + public function bronFx($br): string + { + $r = ''; + if ($br[0] > 0) { + $r .= $br[0] - 1; + } else { + $r .= 0; + } + $r .= 'd'; + if ($br[0] > 0) { + $r .= $br[1] - $br[0]; + } else { + $r .= 0; + } + return $r; + } + + public function price($vl) + { + if ($vl == round($vl)) { + $vl = $vl . '.00'; + } + $vl = explode('.', $vl); + $vl = $vl[0] . '.' . $vl[1] . ''; + return $vl; + } + + public function __clone() + { + trigger_error('Дублирование не допускается.', E_USER_ERROR); + } + + public function freeStatsMod($id, $s, $uid) + { + $itm = mysql_fetch_array( + mysql_query( + 'SELECT + `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, + `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` + FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' + ) + ); + if (isset($itm['id'])) { + $po = ConversionHelper::dataStringToArray($itm['data']); + + //статы + if ($_GET['mf'] == 's1' || $_GET['mf'] == 's2' || $_GET['mf'] == 's3' || $_GET['mf'] == 's5') { + if (isset($po['mf_stats']) && $po['mf_stats'] > 0 && isset($po['add_' . $_GET['mf']])) { + $po['mf_stats'] = (int)$po['mf_stats']; + $po['mf_stats'] -= 1; + $po['add_' . $_GET['mf']] += 1; + + $po = ConversionHelper::arrayToDataString($po); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + } elseif ($_GET['mf'] == 'm1' || $_GET['mf'] == 'm2' || $_GET['mf'] == 'm4' || $_GET['mf'] == 'm5') { + if (isset($po['mf_mod']) && $po['mf_mod'] > 0 && isset($po['add_' . $_GET['mf']])) { + $po['mf_mod'] = (int)$po['mf_mod']; + $po['mf_mod'] -= 1; + $po['add_' . $_GET['mf']] += 1; + + $po = ConversionHelper::arrayToDataString($po); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + } elseif ($_GET['mf'] == 'mib1' || $_GET['mf'] == 'mib2' || $_GET['mf'] == 'mib3' || $_GET['mf'] == 'mib4') { + $s = $_GET['mf']; + $s = str_replace('mib', '', $s); + $s = (int)$s; + if (isset($po['mf_mib']) && $po['mf_mib'] > 0 && (isset($po['add_mib' . $s]) || isset($po['add_mab' . $s]))) { + $po['mf_mib'] = (int)$po['mf_mib']; + $po['mf_mib'] -= 1; + if (isset($po['add_mab' . $s])) { + $po['add_mab' . $s] += 1; + } + if (isset($po['add_mib' . $s])) { + $po['add_mib' . $s] += 1; + } + + $po = ConversionHelper::arrayToDataString($po); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + } + } + } + + public function freeStatsItem($id, $s, $uid) + { + $itm = mysql_fetch_array( + mysql_query( + 'SELECT + `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, + `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` + FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' + ) + ); + if (isset($itm['id']) && ($s == 1 || $s == 2 || $s == 3 || $s == 5)) { + $po = ConversionHelper::dataStringToArray($itm['data']); + if (isset($po['free_stats']) && $po['free_stats'] > 0) { + $s = (int)$s; + if ($s >= 1 || $s <= 3 || $s == 5) { + $po['free_stats'] = (int)$po['free_stats']; + $po['free_stats'] -= 1; + $po['add_s' . $s] += 1; + } + } + $po = ConversionHelper::arrayToDataString($po); + + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'); + } + } + + public function freeStats2Item($id, $s, $uid, $tp) + { + $itm = mysql_fetch_array( + mysql_query( + 'SELECT + `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, + `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` + FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' + ) + ); + if (isset($itm['id'])) { + $po = ConversionHelper::dataStringToArray($itm['data']); + if ($itm['so'] > 0) { + $s = (int)$s; + if ($tp == 1) { + //статы + if ($s == 1 || $s == 2 || $s == 3 || $s == 5) { + if (10 + 25 * $po['add_s' . $s] <= $itm['so'] && $itm['so'] > 0) { + $itm['so'] -= 10 + 25 * $po['add_s' . $s]; + $po['add_s' . $s]++; + $this->error = 'Характеристика улучшена...'; + } else { + $this->error = 'Не хватает очков развития...'; + } + } + } elseif ($tp == 2) { + //мф + if ($s > 0 && $s < 13) { + $s2 = 0; + if ($s == 9 || $s == 12) { + if ($s == 9) { + $s = 'm10'; + } elseif ($s == 12) { + $s = 'zm'; + } + $s2 = 4 + 4 * $po['add_' . $s]; + } else { + if ($s == 1) { + $s = 'm1'; + } elseif ($s == 2) { + $s = 'm2'; + } elseif ($s == 3) { + $s = 'm4'; + } elseif ($s == 4) { + $s = 'm5'; + } elseif ($s == 5) { + $s = 'mab1'; + } elseif ($s == 6) { + $s = 'mab2'; + } elseif ($s == 7) { + $s = 'mab3'; + } elseif ($s == 8) { + $s = 'mab4'; + } elseif ($s == 10) { + $s = 'za'; + } elseif ($s == 11) { + $s = 'm11a'; + } + $s2 = 5 + 5 * $po['add_' . $s]; + } + + if (4 + 4 * $po['add_' . $s] <= $itm['so'] && $itm['so'] > 0) { + $itm['so'] -= $s2; + if ($s == 'mab1') { + $po['add_mib1']++; + } elseif ($s == 'mab2') { + $po['add_mib2']++; + } elseif ($s == 'mab3') { + $po['add_mib3']++; + } elseif ($s == 'mab4') { + $po['add_mib4']++; + } + $po['add_' . $s]++; + } else { + $this->error = 'Не хватает очков развития...'; + } + } + } + } + $po = ConversionHelper::arrayToDataString($po); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $po . '",`so` = "' . $itm['so'] . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + } + + public function obj_addItem($id) + { + $itm = mysql_fetch_array( + mysql_query( + 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1' + ) + ); + if ($this->info['transfers'] < 1) { + $this->error = 'На сегодня лимит передач исчерпан.'; + } elseif (isset($itm['id'])) { + if (isset($itm['inGroup']) and $itm['inGroup'] > 0) { + $col = $this->itemsX($itm['id']); + if ($col > 1) { + $upd = mysql_query( + 'UPDATE `items_users` SET `inShop` = 1 WHERE `item_id`="' . $itm['item_id'] . '" AND `inShop` != "30" AND `uid`="' . $itm['uid'] . '" AND `inGroup` = "' . $itm['inGroup'] . '" LIMIT ' . $col . '' + ); + } else { + $upd = mysql_query( + 'UPDATE `items_users` SET `inShop` = 1 WHERE `uid` = "' . $this->info['id'] . '" AND `inShop` != "30" AND `id` = "' . $itm['id'] . '" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } + } else { + $upd = mysql_query( + 'UPDATE `items_users` SET `inShop` = 1 WHERE `uid` = "' . $this->info['id'] . '" AND `inShop` != "30" AND `id` = "' . $id . '" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } + } else { + $this->error = 'Предмет не найден в рюкзаке'; + } + } + + //Сверяем требования предмета для его использования + + public function obj_takeItem($id) + { + $itm = mysql_fetch_array( + mysql_query( + 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` +FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="1" AND `iu`.`id` = "' . ((int)$id) . '" LIMIT 1' + ) + ); + if ($this->info['transfers'] < 1) { + $this->error = 'На сегодня лимит передач исчерпан.'; + } elseif (isset($itm['id'])) { + if (isset($itm['inGroup']) && $itm['inGroup'] > 0) { + $col = $this->itemsX($itm['id']); + if ($col > 1) { + $upd = mysql_query( + 'UPDATE `items_users` SET `inShop` = 0 WHERE `uid` = "' . $this->info['id'] . '" AND ( `id` = "' . $itm['id'] . '" OR `inGroup` = "' . $itm['inGroup'] . '") AND `inShop` != "30" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } else { + $upd = mysql_query( + 'UPDATE `items_users` SET `inShop` = 0 WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $itm['id'] . '" AND `inShop` != "30" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } + } else { + $upd = mysql_query( + 'UPDATE `items_users` SET `inShop` = 0 WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $id . '" AND `inShop` != "30" AND `inOdet` = "0" AND `delete` = "0" ' + ); + } + } else { + $this->error = 'Предмет не найден в сундуке'; + } + } + + public function itemsSmSave($id, $s, $uid) + { + $itm = mysql_fetch_array( + mysql_query( + 'SELECT + `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, + `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` + FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . ((int)$id) . '" AND `iu`.`uid` = "' . $uid . '" AND `iu`.`delete` = "0" AND `iu`.`inShop` = "0" AND `iu`.`inOdet` = "0" LIMIT 1' + ) + ); + if (!isset($itm['id'])) { + return; + } + $s = (int)$s; + $po = ConversionHelper::dataStringToArray($itm['data']); + if (isset($po['sudba']) && $po['sudba'] == '0') { + return; + } + if (isset($po['sm_skill']) && $s > 100) { + $mx2 = 1; + $mx1 = 0; + $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + while ($mx2 <= 7) { + $mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]); + $mx2++; + } + $mx1 += $this->info['skills']; + if ($mx1 > 0) { + //умения + $s = $s - 100; + if ($s > 5 && $s <= 12) { + //магия + $po['add_mg' . ($s - 5)]++; + } elseif ($s > 0) { + //оружие + $po['add_a' . $s]++; + } + } + } elseif (isset($po['sm_abil']) && $s < 11 && $s > 0) { + $mx2 = 1; + $mx1 = 0; + $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + while ($mx2 <= 7) { + $mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2]; + $mx2++; + } + $mx1 += $this->info['ability']; + if ($mx1 > 0) { + $po['add_s' . $s]++; + } + } + + $po = ConversionHelper::arrayToDataString($po); + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1'); + + unset($mx1, $mx2, $mx3, $po); + } + + public function runeItem($id, $name = 0, $ruid = 0) + { + if ($id == null) { + if ($ruid < 1 && isset($_GET['use_rune'])) { + $ruid = $_GET['use_rune']; + echo " + + "; + } + $rune = mysql_fetch_array( + mysql_query( + 'SELECT + `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` + ,`m`.`name`,`m`.`type`,`m`.`level` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `i`.`item_id` = `m`.`id` WHERE + `i`.`id` = "' . mysql_real_escape_string($ruid) . '" + AND `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`inShop` = "0" LIMIT 1' + ) + ); + + $it_type = 0; + if (isset($_GET['item_rune'])) { + $name = $_GET['item_rune']; + } + $vi = 0; + $vid = ''; + if (isset($_GET['item_rune_id'])) { + $sp = mysql_query( + 'SELECT + `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` + ,`m`.`type`,`m`.`2h`,`m`.`inslot`,`m`.`name`,`m`.`img` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON (`i`.`item_id` = `m`.`id`) + WHERE `i`.`inShop` = "0" AND + + ( (`m`.`inslot` > 0 AND `m`.`inslot` < 18) OR "' . $rune['type'] . '" = "37" OR `m`.`inslot` = "51" ) + + AND `i`.`delete` = "0" AND `i`.`inOdet` = "0" AND `i`.`id` = "' . mysql_real_escape_string( + $_GET['item_rune_id'] + ) . '" AND `i`.`uid` = "' . mysql_real_escape_string($this->info['id']) . '"' + ); + $vi = -1; + } else { + $sp = mysql_query( + 'SELECT + `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` + ,`m`.`type`,`m`.`2h`,`m`.`inslot`,`m`.`name`,`m`.`img` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON (`i`.`item_id` = `m`.`id`) + + WHERE + + ( (`m`.`inslot` > 0 AND `m`.`inslot` < 18) OR "' . $rune['type'] . '" = "37" OR `m`.`inslot` = "51" ) AND + + `i`.`inShop` = "0" AND `i`.`delete` = "0" AND `i`.`inOdet` = "0" AND `m`.`name` LIKE "%' . mysql_real_escape_string( + str_replace('"', '"', $name) + ) . '%" AND `i`.`uid` = "' . mysql_real_escape_string($this->info['id']) . '"' + ); + } + while ($pl = mysql_fetch_array($sp)) { + $vibor .= '
'; + if (!isset($id['id'])) { + $dt = ConversionHelper::dataStringToArray($pl['data']); + $id = []; + $id = $pl; + $id_type = $pl['type']; + } + if ($vi != -1) { + $vi++; + $vid .= '`iu`.`id` = "' . $pl[0] . '" OR'; + } + } + } + + if ($vi > 0) { + $itm_inv = $this->genInv(80, ' ' . rtrim($vid, 'OR') . ' '); + echo 'Выберите предмет для использования "' . $rune['name'] . '":

' . $itm_inv[2] . '
'; + die(); + } else { + unset($rune); + } + + if ($id['id'] > 0) { + if ($ruid < 1 && isset($_GET['use_rune'])) { + $ruid = $_GET['use_rune']; + } + + $idtrue = false; + + $rune = mysql_fetch_array( + mysql_query( + 'SELECT + `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` + ,`m`.`name`,`m`.`type`,`m`.`level` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `i`.`item_id` = `m`.`id` WHERE `i`.`id` = "' . mysql_real_escape_string( + $ruid + ) . '" AND `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`inShop` = "0" LIMIT 1' + ) + ); + if ($rune['level'] > $this->info['level'] && $rune['type'] == 31) { + $this->error = 'У вас слишком маленький уровень чтобы использовать эту руну'; + } elseif ($rune['type'] == 31) { + //Встраиваем руну + if ($idt['type'] == 7) { + $idt['type'] = 6; + } + if ($idt['type'] == 5) { + $idt['type'] = 6; + } + if ($idt['type'] == 4) { + $idt['type'] = 6; + } + $data = ConversionHelper::dataStringToArray($id['data']); + $type_rune = [ + 'хи' => 9, //Серьги + 'хэ' => 10, //Ожерелье + 'ви' => 11, //Кольцо + 'во' => 12, //Перчатки + 'кэ' => 14, //Поножи + 'ки' => 15, //Обувь + 'ми' => 1, //Шлем + 'си' => 3, //Наручи + 'мо' => 6, //Броня + 'со' => 8, //Пояс + ]; + + $type_rune = $type_rune[substr($rune['name'], -2, 2)]; + if ($type_rune != $id['type'] && $type_rune != '') { + $type_rune2 = [ + 'хи' => 'серьги', //Серьги + 'хэ' => 'ожерелья', //Ожерелье + 'ви' => 'кольцо', //Кольцо + 'во' => 'перчатки', //Перчатки + 'кэ' => 'поножи', //Поножи + 'ки' => 'обувь', //Обувь + 'ми' => 'шлем', //Шлем + 'си' => 'наручи', //Наручи + 'мо' => 'броню', //Броня + 'со' => 'пояс', //Пояс + ]; + $this->error = 'Встроить данную руну возможно только в ' . $type_rune2[substr( + $rune['name'], -2, 2 + )] . ' (Тип предмета: ' . $id['type'] . '. Требуемый тип: ' . $type_rune . ')'; + } elseif (isset($data['nomodif'])) { + $this->error = 'Улучшить данный предмет невозможно'; + } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { + $this->error = 'Встраивание усилений в артефакты ниже 10-го уровня недоступно'; + } else { + if (isset($data['rune']) && $data['rune'] > 0) { + $ritm = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $data['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['rune'] = $rune['id']; + $data['rune_id'] = $rune['item_id']; + $data['rune_name'] = $rune['name']; + $data['rune_lvl'] = $rune['level']; + //Добавляем характеристики руны + $add = ConversionHelper::dataStringToArray($rune['data']); + $i = 0; + while ($i < count($this->items['add'])) { + if (isset($add['add_' . $this->items['add'][$i]])) { + $data['add_' . $this->items['add'][$i]] += $add['add_' . $this->items['add'][$i]]; + } + $i++; + } + + $data = ConversionHelper::arrayToDataString($data); + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + + + $this->error = 'Встраивание руны прошло успешно'; + } + } else { + $rune = mysql_fetch_array( + mysql_query( + 'SELECT + `i`.`id`,`i`.`item_id`,`i`.`1price`,`i`.`2price`,`i`.`uid`,`i`.`use_text`,`i`.`data`,`i`.`inOdet`,`i`.`inShop`,`i`.`delete`,`i`.`iznosNOW`,`i`.`iznosMAX`,`i`.`gift`,`i`.`gtxt1`,`i`.`gtxt2`,`i`.`kolvo`,`i`.`geniration`,`i`.`magic_inc`,`i`.`maidin`,`i`.`lastUPD`,`i`.`timeOver`,`i`.`overType`,`i`.`secret_id`,`i`.`time_create`,`i`.`inGroup`,`i`.`dn_delete`,`i`.`inTransfer`,`i`.`post_delivery`,`i`.`lbtl_`,`i`.`bexp`,`i`.`so`,`i`.`blvl` + ,`m`.`name`,`m`.`level`,`m`.`type` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `i`.`item_id` = `m`.`id` WHERE `i`.`id` = "' . mysql_real_escape_string( + $ruid + ) . '" AND `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`inShop` = "0" LIMIT 1' + ) + ); + if (!isset($rune['id'])) { + $this->error = 'Усиление которое вы использовали не найдено'; + } elseif ($rune['type'] == 62 && $rune['item_id'] == 6167) { + //----------------------------------------------- + $idt = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT` 1' + ) + ); + + $data = ConversionHelper::dataStringToArray($id['data']); + $add = ConversionHelper::dataStringToArray($rune['data']); + if (isset($data['nomodif'])) { + $this->error = 'Улучшить данный предмет невозможно'; + } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { + $this->error = 'Встраивание усилений в артефакты ниже 10-го уровня недоступно'; + } else { + if (isset($data['spell']) && $data['spell'] > 0) { + if (isset($data['spell_st_val_hp'])) { + $data['add_hpAll'] -= $data['spell_st_val_hp']; + unset($data['spell_st_val_hp']); + } + if (isset($data['addspell_mpAll'])) { + $data['add_mpAll'] -= $data['addspell_mpAll']; + unset($data['addspell_mpAll']); + } + + + unset($data['spell']); + if (isset($data['spell_id'])) { + unset($data['spell_id']); + } + if (isset($data['spell_name'])) { + unset($data['spell_name']); + } + if (isset($data['spell_lvl'])) { + unset($data['spell_lvl']); + } + if (isset($data['spell_st_name'])) { + $data['add_' . $data['spell_st_name']] -= $data['spell_st_val']; + if ($data['add_' . $data['spell_st_name']] == 0) { + unset($data['add_' . $data['spell_st_name']]); + } + unset($data['spell_st_name']); + } + if (isset($data['spell_st_val'])) { + unset($data['spell_st_val']); + } + } + //Новая чарка + + $srune = mysql_query('SELECT * FROM `new_charov` WHERE 1'); + $irun = 0; + while ($nrune = mysql_fetch_array($srune)) { + $irun++; + $ntrune[$irun] = $nrune; + } + if ($irun > 0) { + $addrune = $ntrune[rand(1, $irun)]; + $addrunes = rand($addrune['min'], $addrune['max']); + if (isset($data['add_' . $addrune['gname']])) { + $data['add_' . $addrune['gname']] += $addrunes; + } else { + $data['add_' . $addrune['gname']] = $addrunes; + } + } + $data['spell'] = $rune['id']; + if (!isset($data['sudba'])) { + $data['sudba'] = '0'; + } + $data['spell_name'] = 'Зачарованно'; //$info + $data['spell_st_name'] = $addrune['gname']; + $data['spell_st_val'] = $addrunes; + $data['spell_id'] = $rune['item_id']; + $data['spell_lvl'] = 8; + + + // + $data = ConversionHelper::arrayToDataString($data); + unset($srune, $irun, $nrune, $ntrune, $addrune, $addrunes); + $tid = mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + if (isset($tid)) { + $this->error = 'Чарование прошло успешно!'; + } else { + $this->error = 'Что то пошло не так!'; + } + unset($tid); + } + //----------------------------------------------- + + } elseif ($rune['type'] == 62) { + $idt = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT` 1' + ) + ); + if ($idt['type'] == 7) { + $idt['type'] = 6; + } + if ($idt['type'] == 5) { + $idt['type'] = 6; + } + if ($idt['type'] == 4) { + $idt['type'] = 6; + } + //$id['type'] = $idt['type']; + //Встраиваем руну + $data = ConversionHelper::dataStringToArray($id['data']); + $add = ConversionHelper::dataStringToArray($rune['data']); + if (isset($data['nomodif'])) { + $this->error = 'Улучшить данный предмет невозможно'; + } elseif (isset($data['art']) && $data['tr_lvl'] < 0) { + $this->error = 'Встраивание усилений в артефакты ниже 10-го уровня недоступно'; + } elseif (isset($add['onimposed'])) { + //Встраиваем магию + //Новая чарка + $i = 0; + $j = 0; + $utp = explode(',', $add['onItemType']); + while ($i < count($utp)) { + if ($utp[$i] == $id['type']) { + $j++; + } + $i++; + } + if ($j > 0) { + unset($data['imposed'], $data['imposed_name'], $data['bm_a1']); + + $imposed = [ + 'imposed' => 1, + 'imposed_name' => $add['onSpellName'], + 'bm_a1' => $add['onSpellFile'], + ]; + + if (!isset($add['onSpellFile'])) { + unset($imposed['bm_a1']); + // + if (isset($add['onSpell_mpAll'])) { + $imposed['addspell_mpAll'] = $add['onSpell_mpAll']; + $imposed['add_mpAll'] = $data['add_mpAll'] + $add['onSpell_mpAll'] - $data['addspell_mpAll']; + } + // + } + + $imposed['sudba'] = 1; + + $data = array_merge($data, $imposed); + $data = ConversionHelper::arrayToDataString($data); + + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + $this->error = 'Наложены чары "' . $add['onSpellName'] . '" на предмет "' . $id['name'] . '"'; + } else { + $this->error = 'Предмет "' . $id['name'] . '" не подходит для усиления.,.'; + } + } else { + if (isset($data['spell']) && $data['spell'] > 0) { + //Отнимаем эффект от прошлых чарок + $litm = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $id['item_id'] . '" LIMIT 1' + ) + ); + + $data_l = ConversionHelper::dataStringToArray($litm['data']); + $pvr = [ + 'i' => 0, + 'spell' => [], + 'rune' => [], + 'atack' => [], + 'podgon' => [], + ]; + + if (isset($data['podgon'])) { + if ($data['tr_lvl'] > $id['level']) { + $id['level'] = $data['tr_lvl']; + } + $pvr['podgon']['hpAll'] = 6 * $id['level'] + 6; + } + if (isset($data['addspell_hpAll'])) { + $pvr['podgon']['hpAll'] += $data['addspell_hpAll']; + } + if (isset($data['rune_id']) && $data['rune_id'] > 0) { + $ritm = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $data['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]])) { + $pvr['rune'][$this->items['add'][$j]] = $data_r['add_' . $this->items['add'][$j]]; + } + $j++; + } + } + + if (isset($data['spell_st_val_hp'])) { + $data['add_hpAll'] -= $data['spell_st_val_hp']; + } + + //$i = 0; + //while( $i < count($data)) { + if (!isset($data['spell_st_name'])) { + $delk = count($this->items['add']); + $this->items['add'][] = 'mib1'; + $this->items['add'][] = 'mib2'; + $this->items['add'][] = 'mib3'; + $this->items['add'][] = 'mib4'; + $this->items['add'][] = 'mab1'; + $this->items['add'][] = 'mab2'; + $this->items['add'][] = 'mab3'; + $this->items['add'][] = 'mab4'; + $j = 0; + while ($j < count($this->items['add'])) { + if (isset($data['add_' . $this->items['add'][$j]])) { + if ($data_l['add_' . $this->items['add'][$j]] != $data['add_' . $this->items['add'][$j]] - $pvr['rune'][$this->items['add'][$j]] - $pvr['podgon'][$this->items['add'][$j]]) { + //echo ''.$this->items['add'][$j].' -> '.$data_l['add_'.$this->items['add'][$j]].' / '.$data['add_'.$this->items['add'][$j]].'
'; + if (!isset($data_l['add_' . $this->items['add'][$j]])) { + unset($data['add_' . $this->items['add'][$j]]); + } else { + $data['add_' . $this->items['add'][$j]] = $data_l['add_' . $this->items['add'][$j]]; + } + } + } + $j++; + } + $i = 0; + while ($i < 8) { + unset($this->items['add'][$delk + $i]); + $i++; + } + } + } + //Новая чарка + $i = 0; + $utp = explode(',', $add['onItemType']); + while ($i < count($utp)) { + if ($utp[$i] == $id['type']) { + // Определили нужный тип оружия. + $itm_twohand = mysql_fetch_array( + mysql_query( + 'SELECT `2h` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT 1' + ) + ); + if (isset($itm_twohand['2h']) && $itm_twohand['2h'] == 1) { + $tw = '2'; + } else { + $tw = ''; + } + $j = 0; + while ($j < count($this->items['add'])) { + if (isset($add[$tw . 'add' . $utp[$i] . '_' . $this->items['add'][$j]])) { + $rnda[count($rnda)] = $this->items['add'][$j]; + } + $j++; + } + + if (isset($add['imposed']) && $add['imposed'] != '') { + $imposed = [ + 'imposed' => '1', // Активно + 'imposed_id' => $rune['id'], // ID чарки свитка + 'imposed_name' => $rune['name'], // Наименование чар, которое отображается на предмете + 'imposed_level' => $rune['level'], // Цвет подсветки заклинания при отображении. По умолчанию: 0; + 'bm_a1' => $add['imposed'], // Имя файла заклинания. + 'sudba' => $this->info['login'], // Цвет подсветки заклинания при отображении. По умолчанию: 0; + ]; + if (isset($add['imposed_name'])) { + $imposed['imposed_name'] = $add['imposed_name']; + } + if (isset($add['imposed_level'])) { + $imposed['imposed_level'] = $add['imposed_level']; + } + $rnda[0] = 1; + } + if (count($rnda) >= 0) { + $rnda = $rnda[rand(0, count($rnda) - 1)]; + if ($rnda == 'mib1' || $rnda == 'mib2' || $rnda == 'mib3' || $rnda == 'mib4') { + $rnda = str_replace('mib', 'mab', $rnda); + } + + if (!isset($this->is[$rnda]) && isset($imposed)) { + $data = array_merge($data, $imposed); + $data = ConversionHelper::arrayToDataString($data); + + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + $this->error = 'Наложены чары "' . $imposed['imposed_name'] . '" на предмет "' . $id['name'] . '"'; + } elseif (!isset($this->is[$rnda]) + && $rnda != 'mib1' && $rnda != 'mib2' && $rnda != 'mib3' && $rnda != 'mib4' + && $rnda != 'mab1' && $rnda != 'mab2' && $rnda != 'mab3' && $rnda != 'mab4' + ) { + $this->error = 'Попробуйте зачарить предмет снова. ( ' . $rnda . ' )'; + } else { + $data['add_' . $rnda] += $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; + if ($rnda == 'mab1' || $rnda == 'mab2' || $rnda == 'mab3' || $rnda == 'mab4') { + $data['add_' . str_replace( + 'mab', 'mib', $rnda + )] += $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; + } + + $data['spell'] = $rune['id']; + if (!isset($data['sudba'])) { + $data['sudba'] = '0'; + } + + if (isset($data['spell_st_name'])) { + $data['add_' . $data['spell_st_name']] -= $data['spell_st_val']; + if ($data['spell_st_name'] == 'mab1' || $data['spell_st_name'] == 'mab2' || $data['spell_st_name'] == 'mab3' || $data['spell_st_name'] == 'mab4') { + $data['add_' . str_replace( + 'mab', 'mib', $data['spell_st_name'] + )] -= $data['spell_st_val']; + } + + if ($data['add_' . $data['spell_st_name']] == 0) { + unset($data['add_' . $data['spell_st_name']]); + } + } + + $data['spell_id'] = $rune['item_id']; + $data['spell_name'] = $rune['name']; + $data['spell_lvl'] = $rune['level']; + $data['spell_st_name'] = $rnda; + $data['spell_st_val'] = $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; + if (isset($add['addspell_hpAll'])) { + $data['spell_st_val_hp'] = $add['addspell_hpAll']; + $data['add_hpAll'] += $add['addspell_hpAll']; + } else { + unset($data['spell_st_val_hp']); + } + $data = ConversionHelper::arrayToDataString($data); + + $this->is['mab1'] = 'Броня головы'; + $this->is['mab2'] = 'Броня корпуса'; + $this->is['mab3'] = 'Броня пояса'; + $this->is['mab4'] = 'Броня ног'; + $this->error = 'Увеличина характеристика предмета "' . $id['name'] . '", ' . $this->is[$rnda] . ': +' . $add[$tw . 'add' . $utp[$i] . '_' . $rnda]; + + + unset($this->is['mab1'], $this->is['mab2'], $this->is['mab3'], $this->is['mab4']); + + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + } + } else { + $this->error = 'Что-то не так, невозможно зачаровать данным свитком'; + } + $i = 100499; + } + $i++; + } + if ($i < 100500) { + $this->error = 'Данный предмет не подходит для зачарования...'; + } + } + } elseif ($rune['type'] == 47) { + $add = ConversionHelper::dataStringToArray($id['data']); + $data = ConversionHelper::dataStringToArray($rune['data']); + if ($add['art'] == 1) { + if ($id['iznosNOW'] > 0) { + $id['iznosNOW'] -= $data['repairLevel']; + if ($id['iznosNOW'] < 0) { + $id['iznosNOW'] = 0; + } + mysql_query( + 'UPDATE `items_users` SET `iznosNOW` = "' . $id['iznosNOW'] . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + $this->error = 'Предмет ' . $id['name'] . ' успешно отремонтирован.'; + } else { + $this->error = 'Предмет не нуждаеться в ремонте...'; + } + } else { + $this->error = 'Свиток ремонтирует только артефакты...'; + } + } elseif ($rune['type'] == 46) { + $idt = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = ' . $id['item_id'] + ) + ); + if ($idt['type'] == 5) { + $idt['type'] = 6; + } + $id['type'] = $idt['type']; + if ($id_type < 18 || $id_type > 24) { + $add = ConversionHelper::dataStringToArray($rune['data']); + if (isset($add['uptimeitem'])) { + $data = ConversionHelper::dataStringToArray($id['data']); + if ($data['srok'] > 0 || $id['srok'] > 0) { + if (!isset($data['srok'])) { + $data['srok'] = $id['srok']; + } + if ($data['srok'] + $id['time_create'] - time() > 86400 + 30) { + $this->error = 'Нельзя использовать на предметы с сроком годности 30 и более дней.'; + } elseif ($id['inslot'] > 0 && $id['inslot'] < 20) { + $this->error = 'Срок годности предмета "' . $id['name'] . '" продлен на ' . $this->timeOut( + $add['uptimeitem'] + ) . '.'; + + if (isset($data['sleep_moroz'])) { + unset($data['sleep_moroz']); + } + + $data = ConversionHelper::arrayToDataString($data); + + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $data . '",`time_create` = `time_create` + ' . floor( + $add['uptimeitem'] + ) . ' WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + } else { + $this->error = 'Предмет данного типа нельзя продлить...'; + } + } else { + $this->error = 'Это работает только на предметы с сроком годности...'; + } + } else { + $this->error = 'Затачивать можно только оружие...'; + } + } else { + //Заточка + $data = ConversionHelper::dataStringToArray($id['data']); + $add = ConversionHelper::dataStringToArray($rune['data']); + if (isset($data['upatack_id'])) { + $this->error = 'Предмет уже заточен, вытащите заточку в Ремонтной мастерской.'; + } elseif (isset($data['nomodif'])) { + $this->error = 'Улучшить данный предмет невозможно'; + } elseif ($add['uptype'] != $id_type || $add['uptype'] == 0) { + $this->error = 'Заточка не подходит к данному предмету...'; + } else { + if (isset($data['upatack_id']) && $data['upatack_id'] > 0) { + $ritm = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `items_main_data` WHERE `items_id` = "' . $data['upatack_id'] . '" LIMIT 1' + ) + ); + $data_r = ConversionHelper::dataStringToArray($ritm['data']); + if ($id_type == 22) { + $data['add_m11'] -= $data_r['upatack']; //*2 + } + $data['sv_yron_min'] -= $data_r['upatack']; + $data['sv_yron_max'] -= $data_r['upatack']; + } + $data['upatack'] = $rune['id']; + $data['upatack_id'] = $rune['item_id']; + $data['upatack_name'] = $rune['name']; + $data['upatack_lvl'] = $add['upatack']; + $data['upatack_lvl'] = $add['upatack']; + + //Добавляем характеристики руны + $i = 0; + while ($i < count($this->items['add'])) { + if (isset($add['add_' . $this->items['add'][$i]])) { + $data['add_' . $this->items['add'][$i]] += $add['add_' . $this->items['add'][$i]]; + } + $i++; + } + + $data['sv_yron_min'] += $add['upatack']; + $data['sv_yron_max'] += $add['upatack']; + + $this->addDelo( + 2, $this->info['id'], + '"System.remont.upatack": Заточка "' . $data['upatack_name'] . '" была успешно встроена в предмет "' . $id['name'] . '" [itm:' . $id['id'] . ']', + time(), $this->info['city'], 'System.remont.upatack', 0, 0 + ); + + $data = ConversionHelper::arrayToDataString($data); + + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `1price` = "' . $id['1price'] . '",`2price` = "' . $id['2price'] . '",`data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + $this->error = 'Заточка "' . $id['name'] . '" прошла успешно'; + } + } + } elseif ($rune['type'] == 48) { + //Профиль + $data = ConversionHelper::dataStringToArray($id['data']); + $add = ConversionHelper::dataStringToArray($rune['data']); + + if ($data['tya1'] >= 90 || $data['tya2'] >= 90 || $data['tya3'] >= 90 || $data['tya4'] >= 90) { + $this->error = 'Предмет уже имеет 90 своего профиля'; + } elseif (isset($data['nomodif'])) { + $this->error = 'Улучшить данный предмет невозможно'; + } elseif ($add['uptype'] != $id_type || $add['uptype'] == 0) { + $this->error = 'Заточка не подходит к данному предмету...'; + } else { + if ($add['tya1'] == 1) { + $data['tya1'] += $add['tya1']; + if ($data['tya3'] > 10) { + $data['tya3'] -= $add['tya1']; + } + } elseif ($add['tya2'] == 1) { + $data['tya2'] += $add['tya2']; + if ($data['tya4'] > 10) { + $data['tya4'] -= $add['tya2']; + } + } elseif ($add['tya3'] == 1) { + $data['tya3'] += $add['tya3']; + if ($data['tya1'] > 10) { + $data['tya1'] -= $add['tya3']; + } + } elseif ($add['tya4'] == 1) { + $data['tya4'] += $add['tya4']; + if ($data['tya2'] > 10) { + $data['tya2'] -= $add['tya4']; + } + } + + + $this->addDelo( + 2, $this->info['id'], + '"System.remont.upatack": Заточка "' . $data['upatack_name'] . '" была успешно встроена в предмет "' . $id['name'] . '" [itm:' . $id['id'] . ']', + time(), $this->info['city'], 'System.remont.upatack', 0, 0 + ); + $this->error = 'Заточка "' . $id['name'] . '" прошла успешно! Колка:' . $data['tya1'] . ' Руб:' . $data['tya2'] . ' Дробь:' . $data['tya3'] . ' Реж:' . $data['tya4'] . ' '; + $data = ConversionHelper::arrayToDataString($data); + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `1price` = "' . $id['1price'] . '",`2price` = "' . $id['2price'] . '",`data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + } + } elseif ($rune['type'] == 50) { + //Страничка саныча + if ($id['item_id'] == 3196 || $id['item_id'] == 3197 || $id['item_id'] == 3198) { + if ($id['iznosNOW'] > 0) { + $id['iznosNOW']--; + $this->error = 'Восстановление "' . $id['name'] . '" прошла успешно! [' . round( + $id['iznosNOW'] + ) . '/' . round($id['iznosMAX']) . ']'; + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `iznosNOW` = "' . $id['iznosNOW'] . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + } else { + $this->error = 'Предмет "' . $id['name'] . '" имеет макисмальное значение прочности! [' . round( + $id['iznosNOW'] + ) . '/' . round($id['iznosMAX']) . ']'; + } + } else { + $this->error = 'Данный предмет не подходит для восстановления!!'; + } + } elseif ($rune['type'] == 68) { + $idt = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT` 1' + ) + ); + if ($idt['type'] == 5) { + $idt['type'] = 6; + } + $id['type'] = $idt['type']; + + //Встраиваем руну + $data = ConversionHelper::dataStringToArray($id['data']); + $add = ConversionHelper::dataStringToArray($rune['data']); + if (isset($data['nomodif'])) { + $this->error = 'Улучшить данный предмет невозможно'; + } elseif (!isset($data['close']) && $data['close'] != 0) { + $this->error = 'Не подходит к данному предмету, он не закрыт...'; + } else { + $data['unopen'] = $rune['id']; + $data['unopen_id'] = $rune['item_id']; + $data['unopen_name'] = $rune['name']; + + unset($data['close']); + + $data['open'] = 1; + + $data = ConversionHelper::arrayToDataString($data); + + mysql_query( + 'UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $rune['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $data . '" WHERE `id` = "' . $id['id'] . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + $this->error = 'Открытие "' . $id['name'] . '" прошло успешно'; + } + } elseif ($rune['type'] == 37) { + $idt = mysql_fetch_array( + mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $id['item_id'] . '" LIMIT 1') + ); + if ($idt['type'] != 37) { + // + $data = ConversionHelper::dataStringToArray($id['data']); + $add = ConversionHelper::dataStringToArray($rune['data']); + // + if ($id['gift'] == '' || $id['gift'] == '0') { + if (isset($data['notransfer'])) { + $this->error = 'Предмет нельзя передавать...'; + } elseif (isset($data['sudba']) && $data['sudba'] != 0) { + $this->error = 'Предмет связан общей судьбой...'; + } else { + if (isset($add['item_inbox']) && $add['item_inbox'] > 0) { + $this->error = 'В упаковке уже что-то есть, осталось сделать подарок!'; + } elseif ($id['inTransfer'] > 0 || $id['inShop'] > 0 || $id['inGroup'] > 0) { + $this->error = 'Нельзя передать этот предмет, он в передаче, на прилавке или в группе...'; + } else { + //Закидываем предмет в упаковку + $add['item_inbox'] = $id['id']; + $add['open'] = 1; + $add['nosale'] = 1; + $add = ConversionHelper::arrayToDataString($add); + // + mysql_query( + 'UPDATE `items_users` SET `inGroup` = 0,`data` = "' . $add . '" WHERE `id` = "' . $rune['id'] . '" LIMIT 1' + ); + mysql_query( + 'UPDATE `items_users` SET `uid` = -1 WHERE `id` = "' . $id['id'] . '" LIMIT 1' + ); + // + $this->error = 'Предмет "' . $idt['name'] . '" упакован в коробку.'; + // + } + } + } else { + $this->error = 'Даренное не дарят...'; + } + // + } else { + $this->error = 'Вы не сможете упаковать упаковку...'; + } + } else { + $this->error = '(' . $rune['type'] . ') Усиление которое вы использовали не найдено...'; + } + } + } else { + $this->error = 'Подходящего предмета не нашлось...'; + } + } + + public function genInv($type, $sort): array + { + global $c, $code; + + $i = 0; // счетчик, просто обнуняем. + $j = 0; // Всего предметов while ++ + $k = 1; // 0 или 1 + $rt = [0 => 0, 1 => 0, 2 => '']; // Количество? Непонятно + $clr = [0 => 'c8c8c8', 1 => 'd4d4d4']; // Цвет фона для предметов + $sort = explode('ORDER BY', $sort); + $where = $sort[0]; + $sort = isset($sort[0], $sort[1]) ? ($sort[1] != '' ? $sort[1] : '') : ' `lastUPD` DESC'; + $cl = mysql_query( + 'SELECT count(`iu`.item_id) as inGroupCount, `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`so`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE ' . $where . ' GROUP BY `im`.id,`iu`.item_id, `iu`.inGroup HAVING `iu`.inGroup > 0 UNION ALL SELECT count(`iu`.item_id) as inGroupCount, `im`.`id`,`im`.`name`,`im`.`img`, `im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`, `im`.`iznosMAXi`,`im`.`inRazdel`, `im`.`price1`,`im`.`price2`, `im`.`pricerep`,`im`.`magic_chance`, `im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`, `im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`, `im`.`ts`,`im`.`srok`,`im`.`class`, `im`.`class_point`,`im`.`anti_class`, `im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`, `im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`so`,`iu`.`id`,`iu`.`item_id`, `iu`.`1price`,`iu`.`2price`,`iu`.`uid`, `iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`, `iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`, `iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`, `iu`.`magic_inc`, `iu`.`maidin`,`iu`.`lastUPD`, `iu`.`timeOver`, `iu`.`overType`, `iu`.`secret_id`, `iu`.`time_create`, `iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`, `iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.inGroup=0 AND ' . $where . ' GROUP BY `iu`.id, `iu`.item_id ORDER BY ' . $sort . ' +' + ); + + if ($type == 15) { + $anm = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`type`,`name`,`uid`,`delete`,`inBattle`,`eda`,`exp`,`obraz`,`stats`,`level`,`sex`,`levelUp`,`pet_in_cage`,`max_exp`,`priems`,`bonus` FROM `users_animal` WHERE `id` = "' . $this->info['animal'] . '" AND `pet_in_cage` = 0 AND `delete` = "0" LIMIT 1' + ) + ); + } + while ($pl = mysql_fetch_array($cl)) { + if ($type == 30) { + $ChSudba = ConversionHelper::dataStringToArray($pl['data']); + if (isset($ChSudba['sudba']) || $ChSudba['sudba'] != 0 || $ChSudba['nosale'] == 1) { + continue; + } + } + if ($pl['1price'] > 0) { + $pl['price1'] = $pl['1price']; + } + $is1 = ''; + $is2 = ''; + $d = []; + //тест + $d[0] = 0; + $d[1] = 1; + $d[2] = 0; + $po = ConversionHelper::dataStringToArray($pl['data']); + + $see1 = 1; + if ($type == 15) { //кормушка зверя + if ($anm['type'] == 3 && substr_count($pl['img'], 'wisp') == 0) { + $see1 = 0; //светляк + } elseif ($anm['type'] == 2 && substr_count($pl['img'], 'owl') == 0) { + $see1 = 0; //сова + } elseif ($anm['type'] == 1 && substr_count($pl['img'], 'cat') == 0) { + $see1 = 0; //кот + } elseif ($anm['type'] == 4 && substr_count($pl['img'], 'chrt') == 0) { + $see1 = 0; //чертяка + } elseif ($anm['type'] == 5 && substr_count($pl['img'], 'dog') == 0) { + $see1 = 0; //собака + } elseif ($anm['type'] == 6 && substr_count($pl['img'], 'pig') == 0) { + $see1 = 0; //свинья + } elseif ($anm['type'] == 7 && substr_count($pl['img'], 'dragon') == 0) { + $see1 = 0; //дракон + } + } elseif (isset($po['nosale']) && $type == 2) { + $see1 = 0; + } elseif (isset($po['noremont']) && $type == 4) { + $see1 = 0; + } elseif ($type == 5 && $pl['gift'] != '') { + $see1 = 0; + } elseif (($type == 9 || $type == 10) && $pl['gift'] == '') { + $see1 = 0; + } elseif ($type == 5 && isset($po['sudba']) && $po['sudba'] != '0') { + $see1 = 0; + } elseif ($type == 5 && $pl['inTransfer'] > 0) { + $see1 = 0; + } elseif ($type == 6 && !isset($po['fshop'])) { + $see1 = 0; + } elseif ($type == 67 && isset($po['art'])) { + $see1 = 0; + } elseif ($type == 67 && isset($po['sudba'])) { + $see1 = 0; + } elseif ($type == 67 && $pl['gift'] != '') { + $see1 = 0; + } elseif ($type == 11) { // Храм Знаний (плавка предметов) + if ( + $pl['inTransfer'] > 0 || + (!empty($po['sudba']) && $po['sudba'] != $this->info['login']) || + !in_array($pl['type'], [1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 72, 1035]) || + ($po['tr_lvl'] < 4 && $pl['item_id'] != 1035) + ) { + $see1 = 0; + } + } elseif ($type == 14) { // Храм Знаний (плавка рун) + if ($pl['inTransfer'] > 0 || !in_array($pl['type'], [31, 6001, 6002, 6003])) { + $see1 = 0; + } + } elseif ($type == 12) { + if ($pl['inslot'] != 3 && $pl['inslot'] != 14 && $pl['type'] != 31) { + $see1 = 0; + } + if (!isset($po['frompisher']) && $pl['type'] != 31) { + $see1 = 0; + } + } elseif ($type == 56 && ($pl['inslot'] != 5 || isset($po['podgon']))) { + $see1 = 0; + } elseif (isset($po['musor']) && $po['musor'] > 0 && $pl['iznosNOW'] >= $pl['iznosMAX']) { + $see1 = 0; + } elseif ($type == 57) { + //Подгонка + if ($pl['type'] < 18 || $pl['type'] > 28 || $pl['type'] == 25) { + $see1 = 0; + } + } elseif ($type == 58) { + //Вытаскивание рун + if (!isset($po['rune_id'])) { + $see1 = 0; + } + } elseif ($type == 65) { + if (isset($po['sudba']) && $po['sudba'] != '0') { + $see1 = 0; + } + if (isset($po['toclan'])) { + $po['toclan1'] = explode('#', $po['toclan']); + $po['toclan1'] = $po['toclan1'][0]; + if ($po['toclan1'] != $this->info['clan']) { + $see1 = 0; + } + } + } elseif ($type == 67) { + $po['toclan1'] = explode('#', $po['toclan']); + $po['toclan1'] = $po['toclan1'][0]; + if ($po['toclan1'] > 0) { + $see1 = 0; + } + if ($po['frompisher'] > 0) { + $see1 = 0; + } + if ($pl['gift'] > 0) { + $see1 = 0; + } + if ($po['sudba'] > 0) { + $see1 = 0; + } + } elseif ($type == 69) { + $po['toclan1'] = explode('#', $po['toclan']); + $po['toclan1'] = $po['toclan1'][0]; + if ($po['toclan1'] > 0) { + $see1 = 0; + } + if ($po['frompisher'] == 0) { + $see1 = 0; + } + if ($pl['gift'] > 0) { + $see1 = 0; + } + } + + if ($see1 == 1) { + if ($k == 1) { + $k = 0; + } else { + $k = 1; + } + if (($pl['type'] >= 18 && $pl['type'] <= 24) || $pl['type'] == 26 || $pl['type'] == 27) { //Зоны блока + + if (!isset($po['zonb'])) { + $po['zonb'] = 0; + } + $po['zonb']++; + } + //правая часть + $mx = ''; + if (isset($po['upatack_lvl'])) { + $mx .= ' +' . $po['upatack_lvl']; + } + if (isset($po['modif'])) { + $mx .= ' (мф)'; + } + $col = $this->itemsX($pl['id']); + if ($col > 1 && $pl['inGroup'] != 0) { + $pl['kolvo'] = $col; + $mx .= ' (x' . $col . ')'; + } + if (isset($po['tr_align']) && !isset($po['tr_align_bs'])) { + $pl['name'] .= ''; + } elseif (isset($po['tr_align_bs'])) { + if ($po['tr_align_bs'] == '1') { + $pl['name'] .= ''; + } elseif ($po['tr_align_bs'] == '3') { + $pl['name'] .= ''; + } + } + if (isset($po['renameadd']) && $po['renameadd'] != '') { + $pl['name'] .= ' (Предмет: ' . $po['renameadd'] . ')'; + } + if (isset($po['icos'])) { + $pl['name'] = '' . $pl['name'] . '  ' . $po['icos'] . ' '; + } + $is2 = '' . $pl['name'] . '' . $mx . ''; + $is2 .= '  '; + if ($pl['massa'] > 0) { + $is2 .= ' (Масса: ' . ($pl['massa'] * $col) . ')'; + } + if ($pl['gift'] != '') { + $ttl = ''; + if ($pl['gift'] == 1) { + $ttl = 'Вы не можете передать этот предмет кому-либо'; + } else { + $ttl = 'Этот предмет вам подарил ' . $pl['gift'] . '. Вы не сможете передать этот предмет кому-либо еще'; + } + $is2 .= ' '; + } + + if (isset($po['art'])) { + $is2 .= ' '; + } + + if (isset($po['sudba'])) { + if ($po['sudba'] == '0') { + $is2 .= ' '; + } elseif ($po['sudba'] == '1') { + $is2 .= ' '; + } else { + $is2 .= ' '; + } + } + if ($pl['price1'] > 0) { //цена + $pex = explode('.', $pl['price1']); + if ($pex[1] == '00') { + $pl['price1'] = $pex[0]; + } + if ($_GET['toRent'] == 2) { + $is2 .= '
Цена: ' . ($pl['price1']) . ' кр.'; + } else { + $is2 .= '
Цена: ' . ($pl['price1'] * $col) . ' кр.'; + } + } + if ($pl['pricerep'] > 0) { + $is2 .= ' (' . round( + $pl['pricerep'] * $col, 2 + ) . ' Воинственности)'; + } + if ($pl['iznosMAX'] > 0) { //долговечность + $izcol = ''; + if (floor($pl['iznosNOW']) >= (floor($pl['iznosMAX']) - ceil($pl['iznosMAX']) / 100 * 20)) { + $izcol = 'brown'; + } + if ($pl['iznosMAXi'] == 999999999) { + $is2 .= '
Долговечность: неразрушимо'; + } else { + $is2 .= '
Долговечность: ' . floor( + $pl['iznosNOW'] + ) . '/' . ceil($pl['iznosMAX']) . ''; + } + } + if ($po['battleUseZd'] > 0) { + $is2 .= '
Задержка использования: ' . $this->timeOut($po['battleUseZd']) . ''; + } + if (isset($po['srok']) && $po['srok'] > 0) { + $pl['srok'] = $po['srok']; + } + if ($pl['srok'] > 0) { //Срок годности предмета + $is2 .= '
Срок годности: ' . $this->timeOut($pl['srok']) . ' (до ' . date( + 'd.m.Y H:i', $pl['time_create'] + $pl['srok'] + ) . ')'; + } + if ($pl['magic_chance'] > 0) { + $is2 .= '
Вероятность срабатывания: ' . min([$pl['magic_chance'], 100]) . '%'; + } + if ((int)$pl['magic_inci'] > 0) { //Продолжительность действия магии: + $efi = mysql_fetch_array( + mysql_query( + 'SELECT `id2`,`mname`,`type1`,`img`,`mdata`,`actionTime`,`type2`,`type3`,`onlyOne`,`oneType`,`noAce`,`see`,`info`,`overch`,`bp`,`noch` FROM `eff_main` WHERE `id2` = "' . ((int)$pl['magic_inci']) . '" LIMIT 1' + ) + ); + if (isset($efi['id2']) && $efi['actionTime'] > 0) { + $is2 .= '
Продолжительность действия: ' . $this->timeOut($efi['actionTime']); + } + } + + $notr = 0; + if (isset($po['sudba']) && $po['sudba'] != '0' && $po['sudba'] != $this->info['login']) { + $notr++; + } + $tr = ''; + $t = $this->items['tr']; + $x = 0; + while ($x < count($t)) { + $n = $t[$x]; + if (isset($po['tr_' . $n]) && $po['tr_' . $n] != 0) { + if ($n == 'sex') { + if ($this->info['sex'] != $po['tr_' . $n]) { + $tr .= ''; + $notr++; + } + } elseif ($po['tr_' . $n] > $this->stats[$n]) { + if ($n == 'align_bs' && $this->info['inTurnir'] > 0) { + if ($po['tr_align_bs'] == '1') { + $pal = !($this->info['align_real'] <= 1 || $this->info['align_real'] >= 2); + } elseif ($po['tr_align_bs'] == '3') { + $tar = !($this->info['align_real'] <= 3 || $this->info['align_real'] >= 4); + } + } + if ($n == 'rep') { + $temp = explode('::', $po['tr_' . $n]); + if ($this->rep['rep' . $temp[1]] < $temp[0]) { + $tr .= ''; + $notr++; + } + unset($temp); + } elseif ($n == 'align_bs' && $this->info['inTurnir'] > 0 && ($pal = false || $tar = false)) { + $tr .= ''; + $notr++; + } elseif ($n != 'align' && $n != 'align_bs' || floor( + $this->info['align'] + ) != $po['tr_' . $n]) { + $tr .= ''; + $notr++; + } + } + $tr .= '
• '; + if ($n == 'rep') { + $temp = explode('::', $po['tr_' . $n]); + $tr .= $this->is[$n] . ' ' . ucfirst( + str_replace('city', ' city', $temp[1]) + ) . ': ' . $temp[0]; + unset($temp); + } elseif ($n != 'align' && $n != 'align_bs') { + if ($n == 'sex') { + if ($po['tr_' . $n] == 1) { + $tr .= $this->is[$n] . ': Женский'; + } else { + $tr .= $this->is[$n] . ': Мужской'; + } + } else { + $tr .= $this->is[$n] . ': ' . $po['tr_' . $n]; + } + } else { + $tr .= $this->is[$n] . ': ' . $this->align_nm[$po['tr_' . $n]]; + } + if ($n == 'sex') { + if ($this->info['sex'] != $po['tr_' . $n]) { + $tr .= '
'; + } + } elseif ($po['tr_' . $n] > $this->stats[$n]) { + if ($n == 'align_bs' && $this->info['inTurnir'] > 0 && ($pal = false || $tar = false)) { + $tr .= '
'; + } elseif ($n != 'align' && $n != 'align_bs' || floor( + $this->info['align'] + ) != $po['tr_' . $n]) { + $tr .= '
'; + } + } + } + $x++; + } + if ($tr != '') { + $is2 .= '
Требуется минимальное:' . $tr; + } + //Действует на: + $tr = ''; + $t = $this->items['add']; + if (isset($po['mf_stats']) && $po['mf_stats'] > 0) { + $tr .= '
Свободные характеристики: ' . $po['mf_stats']; + } + if (isset($po['mf_mod']) && $po['mf_mod'] > 0) { + $tr .= '
Свободные модификаторы: ' . $po['mf_mod']; + } + if (isset($po['mf_mib']) && $po['mf_mib'] > 0) { + $tr .= '
Свободные улучшения брони: ' . $po['mf_mib']; + } + + $x = 0; + while ($x < count($t)) { + $n = $t[$x]; + if (isset($po['add_' . $n], $this->is[$n])) { + $z = '+'; + if ($po['add_' . $n] < 0) { + $z = ''; + } + $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $po['add_' . $n]; + if (isset($po['mf_stats']) && $po['mf_stats'] > 0 && ($n == 's1' || $n == 's2' || $n == 's3' || $n == 's5')) { + $tr .= ' '; + } + if (isset($po['mf_mod']) && $po['mf_mod'] > 0 && ($n == 'm1' || $n == 'm2' || $n == 'm4' || $n == 'm5')) { + $tr .= ' '; + } + } + $x++; + } + //действует на (броня) + $i = 1; + $bn = [1 => 'головы', 2 => 'корпуса', 3 => 'пояса', 4 => 'ног']; + while ($i <= 4) { + if (isset($po['add_mab' . $i])) { + if ($po['add_mab' . $i] == $po['add_mib' . $i] && $pl['geniration'] == 1) { + $z = '+'; + if ($po['add_mab' . $i] < 0) { + $z = ''; + } + $tr .= '
• Броня ' . $bn[$i] . ': ' . $z . '' . $po['add_mab' . $i]; + } else { + $tr .= '
• Броня ' . $bn[$i] . ': ' . $po['add_mib' . $i] . '-' . $po['add_mab' . $i]; + } + if (isset($po['mf_mib']) && $po['mf_mib'] > 0) { + $tr .= ' '; + } + } + $i++; + } + + if ($tr != '') { + $is2 .= '
Действует на:' . $tr; + } + //Свойства предмета: + $tr = ''; + $t = $this->items['sv']; + if (isset($po['sv_yron_min'], $po['sv_yron_max'])) { + $tr .= '
• Урон: ' . $po['sv_yron_min'] . ' - ' . $po['sv_yron_max']; + } + $x = 0; + while ($x < count($t)) { + $n = $t[$x]; + if (isset($po['sv_' . $n])) { + $z = '+'; + if ($po['sv_' . $n] < 0) { + $z = ''; + } + $tr .= '
• ' . $this->is[$n] . ': ' . $z . '' . $po['sv_' . $n]; + } + $x++; + } + if ($pl['2too'] == 1) { + $tr .= '
• Второе оружие'; + } + if ($pl['2h'] == 1) { + $tr .= '
• Двуручное оружие'; + } + if (isset($po['zonb'])) { + $tr .= '
• Зоны блокирования: '; + if ($po['zonb'] > 0) { + $x = 1; + while ($x <= $po['zonb']) { + $tr .= '+'; + $x++; + } + } else { + $tr .= '—'; + } + } + if ($tr != '') { + $is2 .= '
Свойства предмета:' . $tr; + } + + + if ($notr == 0) { + $d[0] = 1; + if ($pl['magic_inci'] != '' || $pl['magic_inc'] != '') { + $d[2] = 1; + } + } + + $tr = ''; + + if (floor($pl['iznosNOW']) >= ceil($pl['iznosMAX'])) { + $d[0] = 0; + $d[2] = 0; + } + //Апгрейды вещей + + //Встроенная магия + if ($pl['magic_inci'] != '' || $pl['magic_inc'] != '') { + if ($pl['magic_inc'] == '') { + $pl['magic_inc'] = $pl['magic_inci']; + } + $mgi = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `eff_main` WHERE `id2` = "' . $pl['magic_inc'] . '" AND `type1` = "12345" LIMIT 1' + ) + ); + if (isset($mgi['id2'])) { + $is2 .= '
Встроено заклятие ' . $mgi['minfo'] . '
'; + } + } + + if (isset($po['rune']) && $po['rune'] > 0) { + $rnc = explode(' ', $po['rune_name']); + if ($rnc[0] == 'Игнис') { + $rnc = '#9b5d40'; + } elseif ($rnc[0] == 'Аква') { + $rnc = '#3a2b64'; + } elseif ($rnc[0] == 'Аура') { + $rnc = '#20a3b0'; + } elseif ($rnc[0] == 'Тера') { + $rnc = '#4c7718'; + } else { + $rnc = '#4c4c4c'; + } + + $tr .= '
• Встроенная руна: ' . $po['rune_name'] . ''; + unset($rnc); + } + + if (isset($po['spell']) && $po['spell'] > 0) { + $rnc = explode(' ', $po['spell_name']); + if ($rnc[2] == '[0]') { + $rnc = '#282828'; + } elseif ($rnc[2] == '[1]') { + $rnc = '#624542'; + } elseif ($rnc[2] == '[2]') { + $rnc = '#77090b'; + } elseif ($rnc[2] == '[3]') { + $rnc = '#d99800'; + } else { + $rnc = '#d99800'; + } + $po['spell_name'] = str_replace('Зачаровать ', '', $po['spell_name']); + $this->is['mab1'] = 'Броня головы'; + $this->is['mab2'] = 'Броня корпуса'; + $this->is['mab3'] = 'Броня пояса'; + $this->is['mab4'] = 'Броня ног'; + $tr .= '
• Встроенно зачарование: ' . $po['spell_name'] . ' (' . $this->is[$po['spell_st_name']] . ': +' . $po['spell_st_val'] . ')'; + unset($this->is['mab1'], $this->is['mab2'], $this->is['mab3'], $this->is['mab4']); + unset($rnc); + } + + if (isset($po['imposed']) && $po['imposed'] > 0) { + if ($po['imposed_lvl'] == 0) { + $rnc = 'maroon'; + } elseif ($po['imposed_lvl'] == 1) { + $rnc = '#624542'; + } elseif ($po['imposed_lvl'] == 2) { + $rnc = '#77090b'; + } elseif ($po['imposed_lvl'] == 3) { + $rnc = '#d99800'; + } else { + $rnc = '#282828'; + } + $po['imposed_name'] = str_replace('Чары ', '', $po['imposed_name']); + $tr .= '
Наложены заклятия: ' . $po['imposed_name'] . ' '; + unset($rnc); + } + if ($tr != '') { + $is2 .= '
Улучшения предмета:'; + $is2 .= $tr; + } + + if (isset($po['free_stats']) && $po['free_stats'] > 0) { + $is2 .= '
Распределение статов:'; + $is2 .= '
Сила: ' . $po['add_s1'] . '
Ловкость: ' . $po['add_s2'] . '
Интуиция: ' . $po['add_s3'] . '
Интеллект: ' . $po['add_s5'] . '
'; + $is2 .= '• Осталось распределений: ' . $po['free_stats'] . ''; + } + + if (isset($po['sm_abil'])) { + //Возможно сохранять и распределять скилы + $mx2 = 1; + $mx1 = 0; + $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + while ($mx2 <= 7) { + $mx1 += $mx3['s' . $mx2] - $po['add_s' . $mx2]; + $mx2++; + } + $mx1 += $this->info['ability']; + if ($mx1 > 0) { + $is2 .= '
Распределение характеристик:'; + if (isset($po['sudba']) && $po['sudba'] == '0') { + $mx1 = 0; + $is2 .= '
• Распределение характеристик будет доступно после первого одевания
'; + } else { + $is2 .= '
+ Сила: ' . (0 + $po['add_s1']) . '
+ Ловкость: ' . (0 + $po['add_s2']) . '
+ Интуиция: ' . (0 + $po['add_s3']) . '
+ Выносливость: ' . (0 + $po['add_s4']) . '
+ Интеллект: ' . (0 + $po['add_s5']) . '
+ Мудрость: ' . (0 + $po['add_s6']) . '
+
'; + $is2 .= 'Осталось распределений: ' . $mx1; + } + } + unset($mx1, $mx2, $mx3); + } + + if (isset($po['sm_skill'])) { + //Возможно сохранять и распределять скилы + $mx2 = 1; + $mx1 = 0; + $mx3 = ConversionHelper::dataStringToArray($this->info['stats']); + while ($mx2 <= 7) { + $mx1 += ($mx3['a' . $mx2] + $mx3['mg' . $mx2]) - ($po['add_a' . $mx2] + $po['add_mg' . $mx2]); + $mx2++; + } + $mx1 += $this->info['skills']; + if ($mx1 > 0) { + $is2 .= '
Распределение владений оружием и магией:'; + if (isset($po['sudba']) && $po['sudba'] == '0') { + $mx1 = 0; + $is2 .= '
• Распределение владений будет доступно после первого одевания
'; + } else { + $is2 .= '
+ Мастерство владения мечами: ' . (0 + $po['add_a1']) . '
+ Мастерство владения дубинами, булавами: ' . (0 + $po['add_a2']) . '
+ Мастерство владения ножами, кастетами: ' . (0 + $po['add_a3']) . '
+ Мастерство владения топорами, секирами: ' . (0 + $po['add_a4']) . '
+ Мастерство владения магическими посохами: ' . (0 + $po['add_a5']) . '
+ Мастерство владения стихией Огня: ' . (0 + $po['add_mg1']) . '
+ Мастерство владения стихией Воздуха: ' . (0 + $po['add_mg2']) . '
+ Мастерство владения стихией Воды: ' . (0 + $po['add_mg3']) . '
+ Мастерство владения стихией Земли: ' . (0 + $po['add_mg4']) . '
+ Мастерство владения магией Света: ' . (0 + $po['add_mg5']) . '
+ Мастерство владения магией Тьмы: ' . (0 + $po['add_mg6']) . '
+ Мастерство владения серой магией: ' . (0 + $po['add_mg7']) . '
+
'; + $is2 .= 'Осталось распределений: ' . $mx1; + } + } + unset($mx1, $mx2, $mx3); + } + + if (isset($po['complect']) || isset($po['complect2'])) { + $is2 .= '
Дополнительная информация:'; + } + if (isset($po['complect'])) { + //не отображается + $com1 = ['name' => 'Неизвестный Комплект', 'x' => 0, 'text' => '']; + $spc = mysql_query( + 'SELECT `id`,`com`,`name`,`x`,`data` FROM `complects` WHERE `com` = "' . $po['complect'] . '" ORDER BY `x` ASC LIMIT 20' + ); + while ($plc = mysql_fetch_array($spc)) { + $com1['name'] = $plc['name']; + $com1['text'] .= '    • ' . $plc['x'] . ': '; + //действие комплекта + $i1c = 0; + $i2c = 0; + $i1e = ConversionHelper::dataStringToArray($plc['data']); + while ($i1c < count($this->items['add'])) { + if (isset($i1e[$this->items['add'][$i1c]])) { + $i3c = $i1e[$this->items['add'][$i1c]]; + if ($i3c > 0) { + $i3c = '+' . $i3c; + } + if ($i2c > 0) { + $com1['text'] .= '    ' . $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; + } else { + $com1['text'] .= $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; + } + $com1['text'] .= '
'; + $i2c++; + } + $i1c++; + } + unset($i1c, $i2c, $i3c); + $com1['x']++; + } + $is2 .= '
• Часть комплекта: ' . $com1['name'] . '
'; + $is2 .= $com1['text']; + $is2 .= ''; + } + if (isset($po['complect2'])) { + //не отображается + $com1 = ['name' => 'Неизвестный Комплект', 'x' => 0, 'text' => '']; + $spc = mysql_query( + 'SELECT `id`,`com`,`name`,`x`,`data` FROM `complects` WHERE `com` = "' . $po['complect2'] . '" ORDER BY `x` ASC LIMIT 20' + ); + while ($plc = mysql_fetch_array($spc)) { + $com1['name'] = $plc['name']; + $com1['text'] .= '    • ' . $plc['x'] . ': '; + //действие комплекта + $i1c = 0; + $i2c = 0; + $i1e = ConversionHelper::dataStringToArray($plc['data']); + while ($i1c < count($this->items['add'])) { + if (isset($i1e[$this->items['add'][$i1c]])) { + $i3c = $i1e[$this->items['add'][$i1c]]; + if ($i3c > 0) { + $i3c = '+' . $i3c; + } + if ($i2c > 0) { + $com1['text'] .= '    ' . $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; + } else { + $com1['text'] .= $this->is[$this->items['add'][$i1c]] . ': ' . $i3c; + } + $com1['text'] .= '
'; + $i2c++; + } + $i1c++; + } + unset($i1c, $i2c, $i3c); + $com1['x']++; + } + $is2 .= '
• Часть комплекта (подгонка): ' . $com1['name'] . '
'; + $is2 .= $com1['text']; + $is2 .= ''; + } + + if ($pl['max_text'] > 0) { + //Инвентарь + $sm_sp = mysql_query( + 'SELECT `id`,`item_id`,`time`,`login`,`type`,`text`,`city`,`x` FROM `items_text` WHERE `item_id` = "' . $pl['id'] . '" ORDER BY `id` ASC LIMIT 500' + ); + $sma = 0; + $smt = ''; + $ixi = 0; + while ($sm_pl = mysql_fetch_array($sm_sp)) { + if ($sm_pl['type'] == 0) { + $smt .= '' . date( + 'd.m.Y H:i', $sm_pl['time'] + ) . ' ' . $sm_pl['login'] . '. ' . $sm_pl['text'] . '
'; + } else { + $smt .= $sm_pl['text'] . '
'; + } + if ($ixi == 2) { + $smt .= ''; + if ($pl['max_text'] - $pl['use_text'] > 0) { + $is2 .= '
Количество символов: ' . ($pl['max_text'] - $pl['use_text']) . '
'; + } + if ($sma > 0) { + $is2 .= '
На предмете записан текст:
+ + + + + +
' . $smt . '
+
'; + } + unset($sm_sp, $sma, $sm_pl); + } elseif (isset($po['onitm_text'])) { + $is2 .= '
На предмете записан текст:
+ + + + +
' . $po['onitm_text'] . '
+
'; + } + + if (isset($po['gravi'])) { + $is2 .= '
На поверхности выгравирована надпись: ' . $po['gravi'] . ''; + } + + $is2 .= ''; + + if ($pl['info'] != '') { + $is2 .= '
Рекомендации:
' . $pl['info'] . '
'; + } + + if (isset($po['info']) && $po['info'] != '') { + $is2 .= '
' . $po['info'] . '
'; + } + + if (isset($po['toclan'])) { + $po['toclan1'] = explode('#', $po['toclan']); + $clpo = mysql_fetch_array( + mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $po['toclan1'][0] . '" LIMIT 1') + ); + if (isset($clpo['id'])) { + $is2 .= '
Предмет принадлежит клану ' . $clpo['name'] . ''; + $plpo = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`login`,`cityreg` FROM `users` WHERE `id` = "' . $po['toclan1'][1] . '" LIMIT 1' + ) + ); + if (isset($plpo['id'])) { + $is2 .= ' (Дар игрока ' . $plpo['login'] . ')'; + if ($plpo['login'] == $this->info['login']) { + if (isset($_GET['backmyitm'])) { + $pl['inOdet'] = 0; + $pl['uid'] = $plpo['id']; + unset($po['toclan1'], $po['toclan']); + $pl['data'] = ConversionHelper::arrayToDataString($po); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . mysql_real_escape_string( + $pl['data'] + ) . '",`inOdet` = 0,`uid` = "' . $pl['uid'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + ); + } + $is2 .= '
(Вы владелец предмета: Вернуть предмет себе)'; + } + } + $is2 .= '
'; + } + } + if (isset($po['noremont'])) { + $is2 .= '
Предмет не подлежит ремонту
'; + } + if (isset($po['nosale'])) { + $is2 .= '
Предмет нельзя продать
'; + } + if (isset($po['nomodif'])) { + $is2 .= '
Предмет нельзя улучшать
'; + } + if (isset($po['nodelete'])) { + $is2 .= '
Предмет нельзя выбросить
'; + } + if (isset($po['frompisher'])) { + $is2 .= '
Предмет из подземелья
'; + } + if (isset($po['sleep_moroz']) && $po['sleep_moroz'] > 0) { + $is2 .= '
Предмет не портится во время сна
'; + } + + if (isset($po['fromlaba']) && $po['fromlaba'] > 0) { + $is2 .= '
Предмет из лабиринта
'; + } + + if (isset($po['vip_sale']) && $po['vip_sale'] > 0) { + if ($this->stats['slvtm'] > time() && $this->stats['silver'] > 1) { + if ($pl['time_create'] != $this->stats['slvtm']) { + $pl['time_create'] = $this->stats['slvtm']; + mysql_query( + 'UPDATE `items_users` SET `time_create` = "' . $pl['time_create'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + ); + } + $is2 .= '
Предмет будет недоступен через ' . $this->timeOut( + $pl['time_create'] - time() + ) . '
'; + } else { + $is2 .= '
Предмет недоступен, приобретите конкретный VIP
'; + if (($pl['time_create'] - time() + 86400 * 30) < 1) { + $is2 .= '
Предмет рассыпался у Вас на глазах...
'; + } else { + $is2 .= '
Предмет исчезнет через ' . $this->timeOut( + $pl['time_create'] - time() + 86400 * 30 + ) . '
'; + } + } + } + + if ($pl['dn_delete'] > 0) { + $is2 .= '
Предмет будет удален при выходе из подземелья
'; + } + + if ($this->pokol > $pl['geni']) { + $is2 .= '
Предмет устарел
'; + } + + if (isset($po['zazuby']) && $po['zazuby'] > 0) { + $is2 .= '
Предмет куплен за зубы
'; + } + + $is2 .= '
'; + + if ($col > 1000) { + $is1 .= ' + + + + + + +
x' . $col . '
'; + } else { + $is1 .= ''; + } + + $is1 .= '
'; + + if ($type == 81) { + $is1 .= 'Выбрать данный предмет'; + } elseif ($type == 80) { + $itemrun = mysql_fetch_array( + mysql_query('SELECT * FROM `items_users` WHERE `id` ="' . $pl['id'] . '" LIMIT 1') + ); + $it = ConversionHelper::dataStringToArray($itemrun['data']); + if (!isset($it['rune_name']) || $_GET['otdel'] == 2) //отдел 2(заточки) + { + $is1 .= 'Выбрать данный предмет'; + } else { + $is1 .= 'Установленна:
' . $it['rune_name'] . '
'; + } + unset($itemrun, $it); + } elseif ($type == 69) { + if (!isset($po['hprs'])) { + $po['hprs'] = 0.001; + } + if (!isset($po['hprp'])) { + $po['hprp'] = 0.0001; + } + $prs1 = $this->floordec($po['hprs'] * $col, 2); + $rps1 = $this->floordec($po['hprp'] * $col); + $is1 .= 'Обменять на ' . $prs1 . ' кр.
Обменять на ' . $rps1 . ' ед. репутации'; + $is1 .= '
'; + } elseif ($type == 68) { + $is1 .= 'Забрать
Отказаться'; + if ($pl['lastUPD'] > 0) { + $is1 .= '

(' . $this->timeOut(($pl['lastUPD'] + 7 * 24 * 60 * 60) - time()) . ')'; + } + $is1 .= '
'; + } elseif ($type == 67) { + $is1 .= 'передать за ' . (round( + 1 + $pl['price1'] / 100 * 7 + ) * $col) . ' кр.'; + } elseif ($type == 66) { + $pos = explode('#', $po['toclan']); + $us_1 = $pos[1]; + if ($pl['uid'] < 1) { + $is1 .= 'Взять предмет'; + } else { + $yui = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`login`,`cityreg` FROM `users` WHERE `id` = "' . mysql_real_escape_string( + $pl['uid'] + ) . '" LIMIT 1' + ) + ); + $is1 .= 'Предмет у игрока
' . $yui['login'] . '
'; + if ($this->info['tt'][14][0] == 1 || ($this->info['id'] == $us_1)) { + $is1 .= '
Изъять предмет'; + } + } + } elseif ($type == 65) { + if (!isset($po['toclan'])) { + $is1 .= 'Пожертвовать'; + } else { + $is1 .= 'Вернуть'; + } + } elseif ($type == 62) { + $upgitm = mysql_fetch_array( + mysql_query('SELECT * FROM `items_upgrade` WHERE `iid` = "' . $pl['item_id'] . '" LIMIT 1') + ); + if (!isset($upgitm['id'])) { + $is1 .= 'Улучшение невозможно'; + } else { + $prcup = ''; + if ($upgitm['price1'] > 0) { + $prcup .= $upgitm['price1'] . ' кр.'; + } + if ($upgitm['price2'] > 0) { + if ($prcup != '') { + $prcup .= ' и '; + } + $prcup .= $upgitm['price2'] . ' екр.'; + } + $is1 .= 'Улучшить за ' . $prcup . ''; + unset($prcup); + } + } elseif ($type == 63) { + $prcup = ''; + $is1 .= 'комплект'; + unset($prcup); + } elseif ($type == 64) { + $prcup = ''; + $is1 .= 'Выбрать другой предмет'; + unset($prcup); + } elseif ($type == 61) { //улучшение предмета + if ($pl['price1'] > $pl['1price']) { + $pl['1price'] = $pl['price1']; + } + $prpod = $pl['1price'] / 2.37; + if ($pl['price2'] > $pl['2price']) { + $pl['2price'] = $pl['price2']; + } + $prpod2 = 30 * ($pl['2price'] / 2.37); + if ($prpod2 > $prpod) { + $prpod = $prpod2; + } + if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { + $prpod = $prpod / 2.37; + } + $prpod = round($prpod + $prpod / 100 * (37.795 * ($po['upgrade'] + 1))); + $is1 .= 'Усилить за ' . $prpod . ' кр.'; + } elseif ($type == 60) { //модифицирование + if ($pl['price1'] > $pl['1price']) { + $pl['1price'] = $pl['price1']; + } + $prpod = $pl['1price'] / 2; + if ($pl['price2'] > $pl['2price']) { + $pl['2price'] = $pl['price2']; + } + $prpod2 = 30 * ($pl['2price'] / 2.37); + if ($prpod2 > $prpod) { + $prpod = $prpod2; + } + if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { + $prpod = $prpod / 2; + } + $prpod = round($prpod); + $is1 .= 'Модифицировать за ' . $prpod . ' кр.'; + } elseif ($type == 59) { //дезинтеграция + if ($po['tr_lvl'] > $pl['level']) { + $pl['level'] = $po['tr_lvl']; + } + $prpod = 250; + $prpod_ekr = $pl['level'] * 0.25; + + if ($this->stats['repair_z'] >= 1) { + $is1 .= 'Бесплатная дезинтеграция'; + } else { + $is1 .= 'Дезинтегрировать за ' . $prpod . ' Кр. + '; + } + } elseif ($type == 58) { //вытаскивание рун + if ($po['tr_lvl'] > $pl['level']) { + $pl['level'] = $po['tr_lvl']; + } + $prpod = 2500; + $prpod_ekr = $pl['level'] * 0.15; + if ($this->stats['repair_r'] >= 1) { + $is1 .= 'Бесплатно извлечь руны'; + } else { + $is1 .= 'Извлечь руны за ' . $prpod . ' Кр.
+ '; + } + } elseif ($type == 57) { + $prpod = 30; + if ($pl['type'] == 22) { + $prpod = 35; + } elseif ($pl['type'] == 18) { + $prpod = 15; + } + if (isset($po['gravi'])) { + $is1 .= 'Изменить надпись за ' . $prpod . ' кр.'; + } else { + $is1 .= 'Выгравировать надпись за ' . $prpod . ' кр.'; + } + } elseif ($type == 56) { //Подгонка + if ($po['tr_lvl'] > $pl['level']) { + $pl['level'] = $po['tr_lvl']; + } + $prpod = 5 * $pl['level'] + 10; + $prhp = 6 * $pl['level'] + 6; + $is1 .= 'Подогнать за ' . $prpod . ' кр.'; + } elseif ($type == 15) { //кормушка зверя + $is1 .= 'Кормить'; + } elseif ($type == 11) { + $pl['rep'] = 0; + if ($this->rep['rep1'] < 100) { + if ($po['tr_lvl'] >= 4 && $po['tr_lvl'] <= 6) { + $pl['rep'] = 1; + } + if ($pl['item_id'] == 1035) { + $pl['rep'] = 2; + } + } elseif ($this->rep['rep1'] > 99 && $this->rep['rep1'] < 1000) { + if ($po['tr_lvl'] >= 7 && $po['tr_lvl'] <= 8) { + $pl['rep'] = 1; + } + if ($pl['item_id'] == 1035) { + $pl['rep'] = 1; + } + } elseif ($this->rep['rep1'] > 999) { + if ($po['tr_lvl'] >= 9 && $po['tr_lvl'] <= 10) { + $pl['rep'] = 1; + } + if ($pl['item_id'] == 1035) { + $pl['rep'] = 1; + } + } else { + if ($pl['item_id'] == 1035) { + $pl['rep'] = 2; + } + } + $is1 .= 'Выбрать'; + } elseif ($type == 14) { + $is1 .= 'Выбрать'; + } elseif ($type == 12) { + $is1 .= 'Выбрать'; + } elseif ($type == 10) { + //Общага (отображение предметов в общаге (под стеклом)) + $is1 .= 'В рюкзак'; + } elseif ($type == 9) { + //Общага (отображение предметов в инвентаре (под стеклом)) + $is1 .= 'Под стекло'; + } elseif ($type == 8) { + //Общага (отображение предметов в инвентаре) + $is1 .= 'В сундук'; + } elseif ($type == 7) { + //Общага (отображение предметов в общаге) + $is1 .= 'В рюкзак'; + } elseif ($type == 6) { + //Цветочный магазин + $is1 .= 'Добавить'; + } elseif ($type == 5) { + //передача + $is1 .= 'подарить
передать
(налог: 1 кр.)'; + } elseif ($type == 12) { + //передача почта + $skcd = round($col * ($pl['price1'] * 0.06 - 0.01 * $this->stats['os1']), 2); + if ($skcd < 0.06) { + $skcd = 0.06; + } + $is1 .= 'передать за ' . (1 + $skcd) . ' кр.'; + } elseif ($type == 13) { + //Забираем шмот + if ($pl['1price'] > 0) { + $mess = "Отказаться от предмета? Предмет будет уничтожен!"; + $pl['name'] = 'Деньги ' . $pl['1price'] . ' кр.'; + } else { + $mess = "Отказаться от предмета? Предмет будет возвращен отправителю"; + } + $date1 = $pl['delete'] - time(); + $is1 .= '
Забрать +
Отказаться

(' . date( + "j дн. H ч.", $date1 + ) . ' )
'; + } elseif ($type == 4) { + //ремонт + $r1 = round($pl['price1'] * 0.1 / 100, 2); + $r2 = round($pl['price1'] * 0.1 / 10, 2); + $r3 = round($pl['price1'] * $pl['iznosNOW'] * 0.10 / 100, 2); + + if ($this->stats['repair_discount'] >= 1) { + $r1 = round(($r1 / 100 * 25), 2); + $r2 = round(($r2 / 100 * 25), 2); + $r3 = round(($r3 / 100 * 25), 2); + } + + if ($r1 < 0.01) { + $r1 = 0.01; + } + if ($r2 < 0.01) { + $r2 = 0.01; + } + if ($r3 < 0.01) { + $r3 = 0.01; + } + $is1 .= 'Ремонт 1 ед. за ' . $r1 . ' кр.
'; + if ($pl['iznosNOW'] >= 10) { + $is1 .= 'Ремонт 10 ед. за ' . $r2 . ' кр.
'; + } + $is1 .= 'Полный ремонт за ' . $r3 . ' кр.
'; + if (Config::get('zuby') == true) { + if ($this->info['level'] < 8) { + $is1 .= '
Ремонт 1 ед. за ' . $this->zuby( + $r1 + ) . '
'; + if ($pl['iznosNOW'] >= 10) { + $is1 .= 'Ремонт 10 ед. за ' . $this->zuby( + $r2 + ) . '
'; + } + $is1 .= 'Полный ремонт за ' . $this->zuby( + $r3 + ) . '
'; + } + } + } elseif ($type == 3) { + $is1 .= ''; + } elseif ($type == 2) { + global $shopProcent; + $shpCena = $pl['1price']; + if ($pl['1price'] == 0) { + $shpCena = $pl['price1']; + } + $plmx = 0; + if ($pl['iznosMAXi'] != $pl['iznosMAX'] && $pl['iznosMAX'] != 0) { + $plmx = $pl['iznosMAX']; + } else { + $plmx = $pl['iznosMAXi']; + } + if ($pl['iznosNOW'] > 0) { + $prc1 = floor($pl['iznosNOW']) / ceil($plmx) * 100; + } else { + $prc1 = 0; + } + $shpCena = $this->shopSaleM($shpCena, $pl); + $shpCena = $shpCena / 100 * (100 - $prc1); + if ($pl['iznosMAXi'] < 999999999) { + if ($pl['iznosMAX'] > 0 && $pl['iznosMAXi'] > 0 && $pl['iznosMAXi'] > ceil($pl['iznosMAX'])) { + $shpCena = $shpCena / 100 * (ceil($pl['iznosMAX']) / $pl['iznosMAXi'] * 100); + } + } + $shpCena = $this->round2($shpCena / 100 * (100 - $shopProcent)); + if ($shpCena < 0) { + $shpCena = 0; + } + if ($pl['kolvo'] > 0) { + $shpCena = $shpCena * $pl['kolvo']; + } + if (isset($po['toclan'])) { + $po['toclan1'] = explode('#', $po['toclan']); + $us_1 = $po['toclan1'][1]; + if ($us_1 != $this->info['id']) { + $d_s = false; + } else { + $d_s = true; + } + } else { + $d_s = true; + } + if ($d_s) { // Продать за кр тут + $is1 .= 'Продать за ' . $shpCena . ' кр.'; + if ($pl['pricerep'] > 0) { + $is1 .= '
Обменять на ' . floor( + $pl['pricerep'] * $pl['kolvo'] / 2 + ) . ' Воинc. '; + } + } else { + $is1 .= 'Это не ваш предмет.'; + } + } elseif ($type == 16) { + $shpCena = $pl['price2']; + if ($pl['2price'] > 0) { + $shpCena = $pl['2price']; + } + $shpCena = $this->shopSaleM($shpCena, $pl); + if ($pl['kolvo'] > 0) { + $shpCena = $shpCena * $pl['kolvo']; + } + $plmx = 0; + if ($pl['iznosMAXi'] != $pl['iznosMAX'] && $pl['iznosMAX'] != 0) { + $plmx = $pl['iznosMAX']; + } else { + $plmx = $pl['iznosMAXi']; + } + if ($pl['iznosNOW'] > 0) { + $prc1 = floor($pl['iznosNOW']) / ceil($plmx) * 100; + } else { + $prc1 = 0; + } + $shpCena = $shpCena / 100 * (100 - $prc1); + if ($pl['iznosMAX'] > 0 && $pl['iznosMAXi'] > 0 && $pl['iznosMAXi'] > $pl['iznosMAX']) { + $shpCena = $shpCena / 100 * ($pl['iznosMAX'] / $pl['iznosMAXi'] * 100); + } + $shpCena = $this->round2($shpCena * $this->berezCena()); + if ($shpCena < 0) { + $shpCena = 0; + } + if (isset($po['toclan'])) { + $po['toclan1'] = explode('#', $po['toclan']); + $us_1 = $po['toclan1'][1]; + if ($us_1 != $this->info['id']) { + $d_s = false; + } else { + $d_s = true; + } + } else { + $d_s = true; + } + if ($d_s) { + $is1 .= 'Продать за ' . $shpCena . ' екр.'; + } else { + $is1 .= 'Это не ваш предмет.'; + } + } elseif ($type == 30) { + if (isset($po['toclan'])) { + $po['toclan1'] = explode('#', $po['toclan']); + $us_1 = $po['toclan1'][1]; + $d_s = !($us_1 != $this->info['id']); + } else { + $d_s = true; + } + if ($d_s) { + $is1 .= '
'; + } else { + $is1 .= 'Это не ваш предмет.'; + } + } elseif ($type == 31) { + $is1 .= '
'; + } else { + if ($d[2] == 1) { //можно использовать + $inv1 = ''; + if (isset($_GET['inv'])) { + $inv1 = 'inv=1&'; + } + if ($pl['item_id'] == 74) { + $is1 .= 'исп-ть'; + } else { + $useUrl = ''; + if ($pl['magic_inc'] == '') { + $pl['magic_inc'] = $pl['magic_inci']; + } + if ($pl['magic_inc'] && $pl['type'] == 30) { + //используем эликсир + $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; + $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\');'; + } elseif ($pl['magic_inc'] && $pl['type'] == 29) { //используем заклятие + if (isset($po['useOnLogin']) && !isset($po['zazuby'])) { //на персонажа + $useUrl = 'top.useMagic(\'' . $pl['name'] . '\',' . (0 + $pl['id']) . ',\'' . $pl['img'] . '\',1,\'main.php?' . $inv1 . 'otdel=' . ((int)$_GET['otdel']) . '&use_pid=' . $pl['id'] . '&rnd=' . $code . '\');'; + } else { //просто использование (на себя, либо без указания предмета\логина) + $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; + $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\',' . (0 + $_GET['otdel']) . ');'; + } + //на предмет + } + if ($useUrl != '') { + $is1 .= 'исп-ть'; + } else { + $d[2] = 0; + } + } + } + + if ($pl['max_text'] > 0 && $pl['max_text'] - $pl['use_text'] > 0) { + $is1 .= 'Записать
'; + } + if ($pl['type'] == 31 || $pl['type'] == 46 || $pl['type'] == 48 || $pl['type'] == 50 || $pl['type'] == 62 || $pl['type'] == 68 || $pl['type'] == 37 || $pl['type'] == 47) { + if ($d[2] == 1) { + $is1 .= '
'; + } + if (($pl['type'] != 37 || !isset($po['item_inbox']) || $po['item_inbox'] == 0) && $pl['item_id'] != 10038 && $pl['item_id'] != 10039 && $pl['item_id'] != 10040) { + $is1 .= 'исп-ть'; + } + } + + //можно одеть + if ($d[0] == 1 && $pl['type'] != 30 && $pl['type'] != 31 && (($pl['type'] != 38 && $pl['type'] != 39 && $pl['type'] != 37) || $pl['gift'] != '') && !isset($po['noodet']) && $pl['inslot'] > 0) { + if ($d[2] == 1) { + $is1 .= '
'; + } + $is1 .= 'надеть'; + } + if (isset($po['open']) && $d[0] == 1) { + if ($d[2] == 1) { + $is1 .= '
'; + } + $is1 .= 'Открыть'; + } + if (isset($po['close'])) { + if ($d[2] == 1) { + $is1 .= '
'; + } + $is1 .= 'Предмет закрыт'; + } + if ($pl['group'] > 0) { + $is1 .= '
'; + if ($this->itemsX($pl['id']) < $pl['group_max']) { + $is1 .= ''; + } + if ($this->itemsX($pl['id']) > 1) { + $is1 .= ' ' . $script; + } + } + if (isset($po['toclan'])) { + $po['toclan1'] = explode('#', $po['toclan']); + $us_1 = $po['toclan1'][1]; + if ($us_1 != $this->info['id']) { + $d[1] = 0; + } + } + + $is1 .= ' '; + + if ($d[1] == 1) { //можно выкинуть + if (!isset($po['nodelete'])) { + $is1 .= ' '; + } + } + } + + //собираем все в одно (: + $rt[2] .= '
' . $is1 . '
' . $is2 . '
'; + $rt[1] += $pl['massa']; + $i++; + } + $j++; + } + $rt[0] = $i; + $rt['collich'] = $j; + return $rt; + } + + public function floordec($zahl, $decimals = 2) + { + return floor($zahl * pow(10, $decimals)) / pow(10, $decimals); + } + + public function zuby($v, $t = 0): string + { + $r = ''; + if ($v < 0) { + $v = 0; + } + if ($t == 0) { + $names[] = ' '; + $names[] = ' '; + $names[] = ' '; + $names[] = ' '; + } else { + $names[] = ' '; + $names[] = ' '; + $names[] = ' '; + $names[] = ' '; + } + $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 shopSaleM($val, $itm): float + { + $procs = [ + 0, //0 + 0, //1 + 0, //2 + 0, //3 + 0, //4 + 0, //5 + 0, //6 + 0, //7 + 5, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + ]; + $po = ConversionHelper::dataStringToArray($itm['data']); + $proc = $procs[$po['tr_lvl']]; + // + if ($itm['type'] >= 28) { + $proc = 50; + } + if ($itm['type'] == 46) { + $proc = 0; + } + if (Config::get('shop_all') > 0) { + $proc = 100 - Config::get('shop_all'); + } elseif (Config::get('shop_all_type1') > 0 && !isset($this->info['inBerezka'])) { + $proc = 100 - Config::get('shop_all_type1'); + } elseif (Config::get('shop_all_type2') > 0 && isset($this->info['inBerezka'])) { + $proc = 100 - Config::get('shop_all_type2'); + } + return round(($val / 100 * (100 - $proc)), 2); + } + + private function shopSaleM($val, $itm): float + { + $procs = [ + 0, //0 + 0, //1 + 0, //2 + 0, //3 + 0, //4 + 0, //5 + 0, //6 + 0, //7 + 5, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + 30, + ]; + $po = ConversionHelper::dataStringToArray($itm['data']); + $proc = $procs[$po['tr_lvl']]; + // + if ($itm['type'] >= 28) { + $proc = 50; + } + if ($itm['type'] == 46) { + $proc = 0; + } + if (Config::get('shop_all') > 0) { + $proc = 100 - Config::get('shop_all'); + } elseif (Config::get('shop_all_type1') > 0 && !isset($this->info['inBerezka'])) { + $proc = 100 - Config::get('shop_all_type1'); + } elseif (Config::get('shop_all_type2') > 0 && isset($this->info['inBerezka'])) { + $proc = 100 - Config::get('shop_all_type2'); + } + return round(($val / 100 * (100 - $proc)), 2); + } + + public function round2($v) + { + $v = explode('.', $v); + $v = doubleval($v[0] . '.' . $v[1][0] . '' . $v[1][1]); + $f = explode('.', $v); + if (!isset($f[1])) { + $v = $v . '.00'; + } + return $v; + } + + public function berezCena(): float + { + return round((Config::get('shop_type2') / 100), 2); + } + + public function testBattle($id) + { + $r = true; + if ($id == 0) { + $r = false; + } else { + $btla = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`team_win` FROM `battle` WHERE `id` = "' . mysql_real_escape_string($id) . '" LIMIT 1' + ) + ); + if (isset($btla['id']) && $btla['team_win'] > -1) { + $r = false; + } + } + return $r; + } + + public function testVipItems($slot_new): bool + { + $sp = mysql_query( + 'SELECT `i`.`id`,`m`.`type`,`i`.`2price`,`m`.`price2` FROM `items_users` AS `i` LEFT JOIN `items_main` AS `m` ON `m`.`id` = `i`.`item_id` WHERE `i`.`uid` = "' . $this->info['id'] . '" AND `i`.`delete` = "0" AND `i`.`data` LIKE "%vip_sale%" LIMIT 20' + ); + $itm = []; + $slot = []; + $j = 0; + if ($slot_new > 0) { + $itm[$j] = ['new']; + $slot[$slot_new][] = $j; + $j++; + } + $r = true; + while ($pl = mysql_fetch_array($sp)) { + $itm[$j] = $pl; + $slot[$pl['type']][] = $j; + $j++; + } + $l = count($slot[18]) + count($slot[19]) + count($slot[20]) + count($slot[21]) + count($slot[22]) + count( + $slot[23] + ) + count($slot[24]) + count($slot[25]) + count($slot[26]) + count($slot[27]) + count($slot[28]); + $v = count($slot[9]) + count($slot[10]) + count($slot[11]); + $a = count($itm) - $l - $v; + if ($this->stats['silver'] == 2) { + // 3 Артефакта (1оружие и все кроме ювелирки) + if ($j > 3 || $l > 1 || $v > 0) { + $r = false; + } + } elseif ($this->stats['silver'] == 3) { + // 6 Артефактов (1 оружие, 1 ювелирка и 4 вещи на выбор) + if ($j > 6 || $l > 1 || $v > 1) { + $r = false; + } + } elseif ($this->stats['silver'] == 4) { + // 9 Артефактов (2 оружия, 2 ювелирки и 5 вещей на выбор) + if ($j > 9 || $l > 2 || $v > 2) { + $r = false; + } + } + return $r; + } + + public function stack($id) + { + global $c, $code; + $where = ''; + $itm = mysql_fetch_array( + mysql_query( + 'SELECT +`im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl`, 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 AND `iuu`.inShop = 0) + WHERE `iu`.`id` = "' . mysql_real_escape_string( + (int)$id + ) . '" AND `iu`.`uid` = "' . $this->info['id'] . '" AND `iuu`.`uid` = "' . $this->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" AND `im`.`group` = "1" LIMIT 1' + ) + ); + + if (isset($itm['id']) && $itm['iznosNOW'] == 0) { //группируем похожие свободные предметы с этим + // создаем группу + if ($itm['inGroup'] == 0) { // Если предмет не в группе, собираем все похожие предметы по группам. + $items = mysql_num_rows( + mysql_query( + 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="0" AND `iu`.item_id="' . $itm['item_id'] . '"' + ) + ); + $items = ceil($items / $itm['group_max']); + } else { // Добираем предметы в группу до полного количества, из предметов с inGroup == 0 + $curG = mysql_num_rows( + mysql_query( + 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="' . $itm['inGroup'] . '" AND `iu`.item_id="' . $itm['item_id'] . '"' + ) + ); // Текущее количество предметов в выбранной группе + $curNG = mysql_num_rows( + mysql_query( + 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="0" AND `iu`.item_id="' . $itm['item_id'] . '"' + ) + ); // Текущее количество предметов которые без группы + $needG = $itm['group_max'] - $curG; // Задаем требуемое количество для добора, если нужно больше 0 и требуемое количество меньше + + if ($needG > 0 && $curNG == 0) { + $curItem = mysql_fetch_array( + mysql_query( + 'SELECT `iu`.id, `iu`.inGroup, count(`iu`.inGroup) as itemsInGroup, `iu`.`item_id` FROM `items_users` AS `iu` WHERE `iu`.`inGroup`!="' . $itm['inGroup'] . '" AND `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.item_id="' . $itm['item_id'] . '" GROUP BY `iu`.inGroup HAVING itemsInGroup <= "' . $needG . '" ORDER BY itemsInGroup DESC LIMIT 1' + ) + ); + if (isset($curItem['id'])) { + $where = ' `iu`.`inGroup` = "' . $curItem['inGroup'] . '" AND '; + } + } + $itm['group_max'] = $needG; + $items = 1; + } + $s = 0; + do { + if (!isset($curG) && $curNG == 0) { + $itm['inGroup'] = $this->stackGroupCheck($this->info['id'], $itm['inGroup'], $itm['item_id']); + } + $sp = mysql_query( + 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE ' . $where . ' `iu`.`kolvo` = "1" AND `iu`.`item_id` = "' . $itm['item_id'] . '" AND `iu`.`uid` = "' . $this->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" AND `im`.`group` = "1" ORDER BY `iu`.`inGroup` ASC LIMIT ' . $itm['group_max'] . '' + ); + $i = 0; + $j = 0; + while ($pl = mysql_fetch_array($sp)) { + $pl['data'] = ConversionHelper::dataStringToArray($pl['data']); + unset($pl['data']['frompisher']); + $pl['data'] = ConversionHelper::arrayToDataString($pl['data']); + $itm['data'] = ConversionHelper::dataStringToArray($itm['data']); + unset($itm['data']['frompisher']); + $itm['data'] = ConversionHelper::arrayToDataString($itm['data']); + if ($pl['data'] == $itm['data'] && $pl['name'] == $itm['name'] && $itm['iznosMAX'] == $pl['iznosMAX'] && $pl['iznosNOW'] == 0 && ($pl['timeOver'] == 0 || $pl['timeOver'] > time()) && $pl['gift'] == $itm['gift']) { + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `inGroup` = "' . $itm['inGroup'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + ); + if ($upd) { + $j++; + } + $i++; + } + } + mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + $s++; + } while ($s < $items); + } + } + + private function stackGroupCheck($uid, $group, $item) + { // Находит неиспользованный ID группы предметов. + $g = 0; + $i = 0; + do { + $i++; + $gr = mysql_fetch_array( + mysql_query( + 'SELECT `iu`.id, `iu`.inGroup, `iu`.`item_id` FROM `items_users` AS `iu` + WHERE `iu`.`uid`="' . $uid . '" AND `iu`.`delete`="0"AND `iu`.`inGroup`="' . $i . '" AND `iu`.item_id="' . $item . '" + LIMIT 1' + ) + ); + if (empty($gr['inGroup'])) { + $g = 1; + } + } while ($g == 0); + return $i; + } + + public function testItems($uid, $sn, $dt) + { + global $c, $code; + $st = false; + $rt = false; + if ($uid != $this->info['id']) { + $u = mysql_fetch_array( + mysql_query( + 'SELECT `u`.`align`,`u`.`align2`,`u`.`battle`,`u`.`clan`,`u`.`animal`,`u`.`id`,`u`.`level`,`u`.`login`,`u`.`sex`,`u`.`autospell`,`u`.`noplaw`,`u`.`obraz`, + `st`.`id`,`st`.`lider`,`st`.`btl_cof`,`st`.`last_hp`,`st`.`last_pr`,`st`.`smena`,`st`.`stats`,`st`.`hpAll`,`st`.`mpAll`,`st`.`hpNow`,`st`.`mpNow`,`st`.`enNow`,`st`.`transfers`,`st`.`regHP`,`st`.`regMP`,`st`.`showmenu`,`st`.`prmenu`,`st`.`ability`,`st`.`skills`,`st`.`sskills`,`st`.`nskills`,`st`.`exp`,`st`.`minHP`,`st`.`minMP`,`st`.`zv`,`st`.`dn`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`last_a`,`st`.`last_b`,`st`.`battle_text`,`st`.`upLevel`,`st`.`wipe`,`st`.`bagStats`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`nextAct`,`st`.`active`,`st`.`bot`,`st`.`lastAlign`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`s`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`ref_data`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`bn_capitalcity`,`st`.`bn_demonscity` + FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`id`="' . mysql_real_escape_string( + $uid + ) . '" OR `u`.`login`="' . mysql_real_escape_string($uid) . '" LIMIT 1' + ) + ); + if ($sn == 0) { + $sn = $this->getStats($uid, $i1); + } + } else { + $u = $this->info; + if (isset($this->stats['hpAll'])) { + $sn = $this->stats; + } elseif ($sn == 0) { + $sn = $this->getStats($uid, $i1); + } + } + if (isset($u['id'])) { + $snIt = 0; + //Проверяем одетые вещи и вещи с сроком годности + $cl = mysql_query( + 'SELECT + `iu`.`id` AS `iduid`, + `iu`.`time_sleep`,`im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, + `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` + FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE (`iu`.`inOdet`!="0" OR `iu`.`data` LIKE "%srok%" OR `iu`.`data` LIKE "%vip_sale%" OR `iu`.`data` LIKE "%sudba=1%" OR ( `iu`.`data` LIKE "%zazuby=%" AND `iu`.`data` NOT LIKE "%srok=%" ) OR `iu`.`iznosNOW` > 0 OR `im`.`srok` > 0 OR (`iu`.`timeOver`<' . time() . ' AND `iu`.`timeOver`!="0")) AND `iu`.`uid`="' . $u['id'] . '" AND (`iu`.`delete`="0" OR `iu`.`delete`="1000")' + ); + while ($itm = mysql_fetch_array($cl)) { + $po = []; + $po = ConversionHelper::dataStringToArray($itm['data']); + $po['lvl'] = $u['level']; + //проверяем требования + $t = $this->items['tr']; + $x = 0; + $notr = 0; + $j = 1; + while ($j <= 4) { + if (!isset($po['tr_s' . $j]) && $itm['type'] != 26) { + $po['tr_s' . $j] = 0; + } + $j++; + } + while ($x < count($t)) { + $n = $t[$x]; + if (isset($po['tr_' . $n]) && $n == 'sex') { + if ($po['tr_' . $n] != $this->info['sex']) { + $notr++; + } + } elseif (isset($po['tr_' . $n])) { + if ($po['tr_' . $n] > $this->stats[$n] && $n != 'align' && $n != 'align_bs') { + $notr++; + } + } + $x++; + } + if ($this->info['twink'] > 0) { + //Не дороже 100 екр. + if ($itm['price2'] > 1 || $itm['2price'] > 1) { + $notr++; + } + //Нельзя руны + чарки + if (isset($po['rune']) && $po['rune'] > 0) { + $notr++; + } + if (isset($po['spell_id']) && $po['spell_id'] > 0) { + $notr++; + } + } + if (isset($po['sudba']) && $po['sudba'] == 1) { + $po['sudba'] = $u['login']; + $itm['data'] = ConversionHelper::arrayToDataString($po); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $itm['data'] . '" WHERE `id` = "' . $itm['iduid'] . '" AND `uid` = "' . $u['id'] . '" LIMIT 1' + ); + } + if (isset($po['zazuby']) && !isset($po['srok']) && ($itm['type'] == 29 || $itm['type'] == 30 || $itm['type'] == 36 || $itm['type'] == 49 || $itm['type'] == 46 || $itm['type'] == 34)) { + //Предметы за зубы со сроком годности + $po['srok'] = 86400 * 7; + $itm['data'] = ConversionHelper::arrayToDataString($po); + mysql_query( + 'UPDATE `items_users` SET `data` = "' . $itm['data'] . '" WHERE `id` = "' . $itm['iduid'] . '" AND `uid` = "' . $u['id'] . '" LIMIT 1' + ); + } + if (isset($po['srok']) && $po['srok'] > 0) { + $itm['srok'] = $po['srok']; + } + if (isset($po['vip_sale']) && $sn['silver'] < 2 && ($itm['time_create'] - time()) < 0) { + if ($itm['item_id'] == 4704) { + $po['musor2'] = 4708; + } + $this->isport( + $itm['id'], $itm['timeOver'], $itm['overType'], $u['id'], (int)$po['musor2'], $itm['type'], + $itm['name'], $po['zazuby'] + ); + $notr++; + } + if ($itm['iznosNOW'] >= ceil($itm['iznosMAX']) && $itm['iznosMAXi'] != 999999999) { + $notr++; + } + if ($notr > 0 && $itm['inOdet'] != 0) { + //снимаем предмет + $this->snatItem($itm['id'], $u['id']); + $snIt++; + } + //проверяем срок годности + if ($itm['iznosNOW'] >= ceil($itm['iznosMAX']) && $itm['iznosMAXi'] != 999999999) { + //предмет сломался + if (isset($po['musor'])) { + if ($po['musor'] > 0) { + $this->recr($itm['id'], $itm['type'], $u['id'], (int)$po['musor']); + } + } + } + if ($itm['time_create'] + $itm['srok'] <= time() && $itm['srok'] > 0 && $itm['time_sleep'] == 0) { + if ($itm['inOdet'] != 0) { + $this->snatItem($itm['id'], $u['id']); + $snIt++; + } + //удаляем предмет + if ($itm['item_id'] == 4704) { + $po['musor2'] = 4708; + } + $this->isport( + $itm['id'], $itm['timeOver'], $itm['overType'], $u['id'], (int)$po['musor2'], $itm['type'], + $itm['name'], $po['zazuby'] + ); + } elseif ($itm['time_create'] + $itm['srok'] <= time() && $itm['srok'] > 0) { + echo 'test'; + } + } + + if ($snIt > 0) { + $this->testItems($uid, $sn, 1); + } elseif ($dt == 0) { + return -2; + } + } else { + return 0; + } + } + + public function isport($it, $t, $tp, $uid, $id2, $type, $name, $zub) + { + if ($id2 == 4708) { + $tp = 1; + } + if ($it != 0) { + if ($uid != 0) { + $uid2 = 'AND `uid`="' . $uid . '"'; + } else { + $uid2 = ''; + } + $upd = mysql_query( + 'UPDATE `items_users` SET `delete`="' . time() . '",`timeOver`="1" WHERE `id` = "' . $it . '" ' . $uid2 . ' LIMIT 1' + ); + if ($upd) { + $upd = mysql_query( + 'UPDATE `items_users` SET `inGroup`="0",`timeOver`="' . time() . '" WHERE `inGroup` = "' . $it . '" ' . $uid2 . '' + ); + $this->addDelo( + 2, $uid, + '"System.inventory": Предмет ' . $name . ' [itm:' . $it . '] был испорчен.', + time(), $this->info['city'], 'System.inventory', 0, 0 + ); + if ($tp != 0) { + //Добавляем испорченый предмет в инвентарь, в зависимости от типа + $zzba = ''; + if ($zub > 0) { + $zzba = '|zazuby=1'; + } + $po = ConversionHelper::dataStringToArray($this->stats['items'][$i]['data']); + if ($id2 > 0) { + if ($id2 == 4708) { + $this->addItem($id2, $uid, '|notransfer=1|nosale=1' . $zzba); + } else { + $this->addItem($id2, $uid, '|noodet=1' . $zzba); + } + } else { + if ($type == 30) { + //испорченный эликсир + $this->addItem(4036, $uid, '|renameadd=' . $name . '|noodet=1' . $zzba); + } + } + } + } + } + } + + public function snatItem(?int $id, int $uid = 0): int + { + if (empty($id)) { + return 0; + } + $au = "select count(*) from items_users where id = $id and inOdet != 0 and `delete` = 0"; + $au .= $uid > 0 ? " and uid = $uid" : ''; + $itm = Db::getValue($au); + if (empty($itm)) { + return 0; + } + Db::sql('update items_users set lastUPD = unix_timestamp(), inOdet = 0 where id = ?', [$id]); + if (isset($_GET['remitem']) || isset($_GET['sid'])) { + $this->info['autospell'] = 1; + Db::sql('update users set autospell = 1 where id = ?', [$this->info['id']]); + } + return 1; + } + + public function recr($id, $tp, $uid, $id2) + { + if ($id != 0) { + if ($uid != 0) { + $uid2 = 'AND `uid`="' . $uid . '"'; + } else { + $uid2 = ''; + } + $upd = mysql_query( + 'UPDATE `items_users` SET `delete`="' . time() . '" WHERE `id` = "' . $id . '" ' . $uid2 . ' LIMIT 1' + ); + if ($upd) { + $this->addDelo( + 2, $uid, + '"System.inventory": Предмет [itm:' . $it . '] был сломан.', + time(), $this->info['city'], 'System.inventory', 0, 0 + ); + if ($id2 > 1) { + //Добавляем пустую бутылку + $this->addItem($id2, $uid, 'noodet=1|noremont=1'); + } + } + } + } + + public function btlMagicList() + { + global $c; + $i = 1; + $sv = []; + while ($i <= 10) { + $sv[$i] = ''; + $i++; + } + $i = 0; + while ($i < count($this->stats['items'])) { + if ($this->stats['items'][$i]['inslot'] == 40 || $this->stats['items'][$i]['inslot'] == 51) { + if ($this->stats['items'][$i]['useInBattle'] == 0 || $this->stats['items'][$i]['btl_zd'] > 0 || $this->stats['items'][$i]['iznosNOW'] >= $this->stats['items'][$i]['iznosMAX'] || $this->stats['items'][$i]['magic_inci'] == '' || $this->stats['items'][$i]['magic_inci'] == '0') { + $vl = ' class="nopriemuse"'; + } else { + $po = ConversionHelper::dataStringToArray($this->stats['items'][$i]['data']); + if ($po['useOnLogin'] == 1) { + $useUrl = 'top.useMagicBattle(\'' . $this->stats['items'][$i]['name'] . '\',' . $this->stats['items'][$i]['id'] . ',\'' . $this->stats['items'][$i]['img'] . '\',1,1,\'\',\'' . $this->stats['items'][$i]['useInBattle'] . '\');'; + } else { + $useUrl = 'top.useMagicBattle(\'' . $this->stats['items'][$i]['name'] . '\',' . $this->stats['items'][$i]['id'] . ',\'' . $this->stats['items'][$i]['img'] . '\',1,2);'; + } + $vl = 'style="cursor:pointer" onclick="' . $useUrl . '"'; + } + $sv[$this->stats['items'][$i]['inOdet'] - 39] = ''; + } + $i++; + } + $r = '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '
' . $sv[1] . '' . $sv[2] . '' . $sv[3] . '' . $sv[4] . '' . $sv[5] . '' . $sv[6] . '' . $sv[7] . '' . $sv[8] . '' . $sv[9] . '' . $sv[10] . '' . $sv[11] . '' . $sv[12] . '
'; + return str_replace('"', '\"', $r); + } + + public function getInfoPers($uid, $i1, $sn = 0, $ivv = 0): array + { + global $c, $code; + + $st = false; + $rt = false; + $type_info = 1; + if ($uid != $this->info['id']) { + $u = mysql_fetch_array( + mysql_query( + 'SELECT `u`.`inTurnir`,`u`.`allLock`,`u`.`battle`,`u`.`zag`,`u`.`banned`,`u`.`align`,`u`.`align2`,`u`.`clan`,`u`.`animal`,`u`.`id`,`u`.`level`,`u`.`login`,`u`.`sex`,`u`.`autospell`,`u`.`noplaw`,`u`.`obraz`,`u`.`vip`, + `st`.`id`,`st`.`lider`,`st`.`btl_cof`,`st`.`last_hp`,`st`.`last_pr`,`st`.`smena`,`st`.`stats`,`st`.`hpAll`,`st`.`mpAll`,`st`.`hpNow`,`st`.`mpNow`,`st`.`enNow`,`st`.`transfers`,`st`.`regHP`,`st`.`regMP`,`st`.`showmenu`,`st`.`prmenu`,`st`.`ability`,`st`.`skills`,`st`.`sskills`,`st`.`nskills`,`st`.`exp`,`st`.`minHP`,`st`.`minMP`,`st`.`zv`,`st`.`dn`,`st`.`dnow`,`st`.`team`,`st`.`battle_yron`,`st`.`battle_exp`,`st`.`enemy`,`st`.`last_a`,`st`.`last_b`,`st`.`battle_text`,`st`.`upLevel`,`st`.`wipe`,`st`.`bagStats`,`st`.`timeGo`,`st`.`timeGoL`,`st`.`nextAct`,`st`.`active`,`st`.`bot`,`st`.`lastAlign`,`st`.`tactic1`,`st`.`tactic2`,`st`.`tactic3`,`st`.`tactic4`,`st`.`tactic5`,`st`.`tactic6`,`st`.`tactic7`,`st`.`x`,`st`.`y`,`st`.`s`,`st`.`battleEnd`,`st`.`priemslot`,`st`.`priems`,`st`.`priems_z`,`st`.`bet`,`st`.`clone`,`st`.`atack`,`st`.`bbexp`,`st`.`ref_data`,`st`.`res_x`,`st`.`res_y`,`st`.`res_s`,`st`.`bn_capitalcity`,`st`.`bn_demonscity` + FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`id`="' . mysql_real_escape_string( + $uid + ) . '" OR `u`.`login`="' . mysql_real_escape_string($uid) . '" LIMIT 1' + ) + ); + if ($sn == 0) { + $sn = $this->getStats($uid, $i1); + } + } else { + $u = $this->info; + if (isset($this->stats['hpAll'])) { + $sn = $this->stats; + } elseif ($sn == 0) { + $sn = $this->getStats($uid, $i1); + } + } + + $tp_img = [ + 1 => 4, + 2 => 5, + 14 => 6, + 3 => 7, + 5 => 8, + 7 => 9, + 17 => 10, + 16 => 11, + 13 => 12, + 10 => 13, + 9 => 14, + 8 => 15, + 11 => 17, //кольцо 2 + 12 => 18, //кольцо 3 + ]; + + if (isset($u['id'], $u['stats'])) { + $rt = [0 => '', 1 => []]; + $st = []; + $st['id'] = $u['id']; + $st['login'] = $u['login']; + $st['lvl'] = $u['level']; + + //Характеристики от предметов и их изображение + $witm = []; + $witm[1] = ''; + $witm[2] = ''; + $witm[3] = ''; + $witm[4] = ''; + $witm[7] = ''; + $witm[8] = ''; + $witm[9] = ''; + $witm[10] = ''; + $witm[11] = ''; + $witm[12] = ''; + $witm[13] = ''; + $witm[14] = ''; + $witm[16] = ''; + $witm[17] = ''; + //40-52 слот под магию + $witm[53] = ''; + $witm[54] = ''; + $witm[55] = ''; + $witm[56] = ''; + $witm[57] = ''; + $witm[58] = ''; + $cl = mysql_query( + 'SELECT + `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, + `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` + FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`inOdet`!="0" AND `iu`.`uid`="' . $u['id'] . '" AND `iu`.`delete`="0"' + ); + $wj = [1 => false, 2 => false, 4 => false, 5 => false, 6 => false]; + $b1 = '
'; + + while ($pl = mysql_fetch_array($cl)) { + $td = ConversionHelper::dataStringToArray($pl['data']); + + if (isset($td['modif'])) { + $pl['name'] = $pl['name'] . ' (мф)'; + } + + if (isset($td['upatack_lvl'])) { + $pl['name'] = $pl['name'] . ' +' . $td['upatack_lvl']; + } + + if (isset($td['mod_lvl'])) { + $pl['name'] = $pl['name'] . ' ' . $mx . ' [' . $td['mod_lvl'] . ']'; + } + + if ($pl['inOdet'] == 1 || $pl['inOdet'] == 52 || ($pl['inOdet'] >= 4 && $pl['inOdet'] <= 6)) { + $wj[$pl['inOdet']] = $pl; + } + + $pl['name'] = $this->nameItemMf($pl, $td); + + $lvar = $this->getInfoItemInfo($pl); + + if (@isset($sn['items_img'][$tp_img[$pl['inOdet']]])) { + $uimg = 'rimg/r' . $sn['items_img'][$tp_img[$pl['inOdet']]]; + } else { + $uimg = 'i/items/' . $pl['img'] . ''; + } + + $witm[$pl['inOdet']] = ''; + + if ($i1 == 1) { + $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; + } else { + if ($pl['inOdet'] >= 40 && $pl['inOdet'] <= 52 && !isset($_GET['inv'])) { + $useUrl = ''; + if ($pl['magic_inc'] == '') { + $pl['magic_inc'] = $pl['magic_inci']; + } + if ($pl['magic_inc'] && $pl['type'] == 30) { + //используем эликсир + $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; + $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\');'; + } elseif ($pl['magic_inc'] && $pl['type'] == 29) { + //используем заклятие + //на персонажа + if (isset($td['useOnLogin'])) { + $inv1 = ''; + if (isset($_GET['inv'])) { + $inv1 = 'inv=1&otdel=' . ((int)$_GET['otdel']) . '&'; + } + $useUrl = 'top.useMagic(\'' . $pl['name'] . '\',' . (0 + $pl['id']) . ',\'' . $pl['img'] . '\',1,\'main.php?' . $inv1 . 'use_pid=' . $pl['id'] . '&rnd=' . $code . '\');'; + } else { + //просто использование (на селя, либо без указания предмета\логина) + $pldate = '
"' . $pl['name'] . '"
Использовать сейчас?
'; + $useUrl = 'top.useiteminv(\'' . (0 + $pl['id']) . '\',\'' . $pl['img'] . '\',\'' . $pl['img'] . '\',1,\'' . $pldate . '\',\'' . (0 + $_GET['otdel']) . '\');'; + } + } + $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; + } elseif ($pl['item_id'] == 998 && !isset($_GET['inv'])) { + //варежки + $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; + } else { + $witm[$pl['inOdet']] = '' . $witm[$pl['inOdet']] . ''; + } + } + } + //Шлем,Венок + $wj1i = ''; + $br = '
'; + if ($wj[1]) { + if ($wj[52]) { + $wj1i .= $br; + } + $td = []; + $td = ConversionHelper::dataStringToArray($wj[1]['data']); + $wj[1]['name'] = $this->nameItemMf($wj[1], $td); + $wj1i .= '' . $wj[1]['name'] . ''; + $wj1i .= $this->getInfoItemInfo($wj[1]); + } + if (isset($wj[52]) && $wj[52]) { + $td = ConversionHelper::dataStringToArray($wj[52]['data']); + $wj[52]['name'] = $this->nameItemMf($wj[52], $td); + + + $wj1i = '' . $wj[52]['name'] . '' . $wj1i; + $wj1i .= $this->getInfoItemInfo($wj[52]); + $wj[1]['img'] = $wj[52]['img']; + $wj[1]['id'] = $wj[52]['id']; + $wj[1]['inRazdel'] = $wj[52]['inRazdel']; + } + //Рубаха,Броня,Плащ + $wj4idd = $wj[5]['item_id']; + $wj4i = ''; + if ($wj[6]) { + $td = []; + $td = ConversionHelper::dataStringToArray($wj[6]['data']); + $wj[6]['name'] = $this->nameItemMf($wj[6], $td); + $wj4i .= '' . $wj[6]['name'] . ''; + + $wj4i .= $this->getInfoItemInfo($wj[6]); + if ($wj[5] || $wj[4]) { + $wj4i .= $br; + } + } + if ($wj[5]) { + $td = []; + $td = ConversionHelper::dataStringToArray($wj[5]['data']); + $wj[5]['name'] = $this->nameItemMf($wj[5], $td); + $wj4i .= '' . $wj[5]['name'] . ''; + + $wj4i .= $this->getInfoItemInfo($wj[5]); + if ($wj[4]) { + $wj4i .= $br; + } + } + if ($wj[4]) { + $td = []; + $td = ConversionHelper::dataStringToArray($wj[4]['data']); + $wj[4]['name'] = $this->nameItemMf($wj[4], $td); + $wj4i .= '' . $wj[4]['name'] . ''; + + $wj4i .= $this->getInfoItemInfo($wj[4]); + } + + if ($this->info['noplaw'] == 1 && !isset($_GET['hide_plaw']) || ($this->info['noplaw'] == 0 && isset($_GET['hide_plaw']))) { + if ($wj[5]) { + $wj[4]['img'] = $wj[5]['img']; + $wj[4]['id'] = $wj[5]['id']; + $wj[4]['inRazdel'] = $wj[5]['inRazdel']; + } + } else { + if ($wj[6]) { + $wj[4]['img'] = $wj[6]['img']; + $wj[4]['id'] = $wj[6]['id']; + $wj[4]['inRazdel'] = $wj[6]['inRazdel']; + } elseif ($wj[5]) { + $wj[4]['img'] = $wj[5]['img']; + $wj[4]['id'] = $wj[5]['id']; + $wj[4]['inRazdel'] = $wj[5]['inRazdel']; + } + } + if ($wj[1] || $wj[2]) { + if (isset($sn['items_img'][$tp_img[1]])) { + $uimg = 'rimg/r' . $sn['items_img'][$tp_img[1]]; + } else { + $uimg = 'i/items/' . $wj[1]['img'] . ''; + } + $witm[1] = ''; + if ($i1 == 1) { + $witm[1] = '' . $witm[1] . ''; + } else { + $witm[1] = '' . $witm[1] . ''; + } + } + if ($wj[4] || $wj[5] || $wj[6]) { + if (isset($sn['items_img'][$tp_img[5]])) { + $uimg = 'rimg/r' . $sn['items_img'][$tp_img[5]]; + } else { + $uimg = 'i/items/' . $wj[4]['img'] . ''; + } + $witm[4] = ''; + if ($i1 == 1) { + if ($wj4idd > 0) { + $wj[4]['item_id'] = $wj4idd; + } + $witm[4] = '' . $witm[4] . ''; + } else { + $witm[4] = '' . $witm[4] . ''; + } + } + /*------------ ГЕНЕРИРУЕМ ИНФ. О ПЕРСОНАЖЕ ---------------*/ + $nmmsgl1 = 0; + if ($u['align'] >= 1 && $u['align'] < 2) { + $nmmsgl1 = 1; + } elseif ($u['align'] >= 3 && $u['align'] < 4) { + $nmmsgl1 = 3; + } elseif ($u['align'] >= 7 && $u['align'] < 8) { + $nmmsgl1 = 7; + } elseif ($u['align'] >= 50 && $u['align'] < 50) { + $nmmsgl1 = 60; + } + if ($u['admin'] > 0) { + $nmmsgl1 = 60; + } + $anan = [ + 1 => 'cat', + 2 => 'owl', + 3 => 'wisp', + 4 => 'demon', + 5 => 'dog', + 6 => 'pig', + 7 => 'dragon', + ]; + $anan2 = [ + 1 => 'Кот', + 2 => 'Сова', + 3 => 'Светляк', + 4 => 'Чертяка', + 5 => 'Пёс', + 6 => 'Свин', + 7 => 'Дракон', + ]; + $anml = ''; + if ($u['animal'] > 0) { + $an = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`type`,`name`,`uid`,`delete`,`inBattle`,`eda`,`exp`,`obraz`,`stats`,`level`,`sex`,`levelUp`,`pet_in_cage`,`max_exp`,`priems`,`bonus` FROM `users_animal` WHERE `id` = "' . $u['animal'] . '" AND `pet_in_cage` = 0 AND `delete` = "0" LIMIT 1' + ) + ); + if (isset($an['id'])) { + $petimg = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`img` FROM `obraz_pet` WHERE `uid` = "' . $u['id'] . '" AND `use` = 1 LIMIT 1' + ) + ); + if (isset($petimg['id'])) { + $anml = ''; + } else { + $anml = ''; + } + } + } + unset($anan); + + if (isset($sn['items_img'][2])) { + $msl = ''; + } else { + if ($anml == '') { + $msl = ''; + } else { + $msl = $anml; + } + } + unset($nmmsgl1); + $jf = ''; + $oi = ''; + if ($i1 != 1) { + $jf = 'main'; + $oi = 'onMouseOver="top.hi(this,\'' . $u['login'] . ' (Перейти в "Инвентарь")\',event,3,1,1,1,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"'; + $msl = ' + + + + + + + + + + +
' . $witm[53] . '' . $witm[55] . '' . $witm[54] . '
' . $witm[56] . '' . $witm[57] . '' . $witm[58] . '
'; + } + $hpmp = ''; + $eff = ''; + //-------- генерируем эффекты + $efs = mysql_query( + 'SELECT + `eu`.`id`,`eu`.`id_eff`,`eu`.`uid`,`eu`.`tr_life_user`,`eu`.`name`,`eu`.`data`,`eu`.`overType`,`eu`.`timeUse`,`eu`.`timeAce`,`eu`.`user_use`,`eu`.`delete`,`eu`.`v1`,`eu`.`v2`,`eu`.`img2`,`eu`.`x`,`eu`.`hod`,`eu`.`bj`,`eu`.`sleeptime`,`eu`.`no_Ace`, + `em`.`id2`,`em`.`mname`,`em`.`type1`,`em`.`img`,`em`.`mdata`,`em`.`actionTime`,`em`.`type2`,`em`.`type3`,`em`.`onlyOne`,`em`.`oneType`,`em`.`noAce`,`em`.`see`,`em`.`info`,`em`.`overch`,`em`.`bp`,`em`.`noch` + FROM `eff_users` AS `eu` LEFT JOIN `eff_main` AS `em` ON (`eu`.`id_eff` = `em`.`id2`) WHERE `eu`.`uid`="' . mysql_real_escape_string( + $u['id'] + ) . '" AND `delete`="0" AND `deactiveTime` < "' . time() . '" ORDER BY `deactiveTime` DESC,`timeUse` ASC' + ); + while ($e = mysql_fetch_array($efs)) { + $esee = 1; + if ($e['see'] == 0 && $i1 == 1) { + $esee = 0; + } + if ($e['see'] == 2 && ($u['battle'] != $this->info['battle'] || $this->info['battle'] == 0)) { + $esee = 0; + } + if ($e['see'] == 3 && $i1 == 0) { + $esee = 0; + } + if ($e['img'] == '') { + $esee = 0; + } + + if (($e['timeUse'] + $e['timeAce'] + $e['actionTime'] >= time() || $e['timeUse'] == 77) && $esee == 1) { + $ei = '' . $e['name'] . ''; + if ($e['type1'] > 0 && $e['type1'] < 7) { + $ei .= ' (Эликсир)'; + } elseif (($e['type1'] > 6 && $e['type1'] < 11) || $e['type1'] == 16) { + $ei .= ' (Заклятие)'; + } elseif ($e['type1'] == 14) { + $ei .= ' (Прием)'; + } elseif ($e['type1'] == 15) { + $ei .= ' (Изучение)'; + } elseif ($e['type1'] == 17) { + $ei .= ' (Проклятие)'; + } elseif ($e['type1'] == 18 || $e['type1'] == 19) { + $ei .= ' (Травма)'; + } elseif ($e['type1'] == 20) { + $ei .= ' (Пристрастие)'; + } elseif ($e['type1'] == 22) { + $ei .= ' (Ожидание)'; + } else { + $ei .= ' (Эффект)'; + } + $ei .= '
'; + + if ($e['type1'] != 13 && $e['timeUse'] != 77) { + $out = ''; + $time_still = ($e['timeUse'] + $e['timeAce'] + $e['actionTime']) - time(); + $tmp = floor($time_still / 2592000); + $id = 0; + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " мес. "; + } + $time_still = $time_still - $tmp * 2592000; + } + $tmp = floor($time_still / 604800); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " нед. "; + } + $time_still = $time_still - $tmp * 604800; + } + $tmp = floor($time_still / 86400); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " дн. "; + } + $time_still = $time_still - $tmp * 86400; + } + $tmp = floor($time_still / 3600); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " ч. "; + } + $time_still = $time_still - $tmp * 3600; + } + $tmp = floor($time_still / 60); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " мин. "; + } + } + if ($out == '') { + $out = $time_still . ' сек.'; + } + $ei .= 'Осталось: ' . $out . ''; + } + + //Действие эффекта + $tr = ''; + $t = $this->items['add']; + $x = 0; + $ed = ConversionHelper::dataStringToArray($e['data']); + while ($x < count($t)) { + $n = $t[$x]; + if (isset($ed['add_' . $n], $this->is[$n])) { + $z = ''; + if ($ed['add_' . $n] > 0) { + $z = '+'; + } + $tr .= '
' . $this->is[$n] . ': ' . $z . '' . $ed['add_' . $n]; + } + $x++; + } + if ($tr != '') { + $ei .= $tr; + } + if ($e['info'] != '') { + $ei .= '
Информация:
' . $e['info']; + } + if ($e['img2'] != '' && $e['img'] == 'icon_none.gif') { + $e['img'] = $e['img2']; + } + if ($e['type1'] == 18 || $e['type1'] == 19) { + $e['img'] = $e['img2']; + } + $eff .= ''; + } elseif ($e['timeUse'] + $e['timeAce'] + $e['actionTime'] < time() && $e['timeUse'] != 77) { + //удаляем эффект + $ed = ConversionHelper::dataStringToArray($e['data']); + if (!isset($ed['finish_file']) || $this->info['id'] == $e['uid']) { + $this->endEffect($e['id'], $u); + } + } + } + + //здоровье + + $hptop = 0; + $lh = [0 => 'hp_none', 1 => 1]; + $lh[1] = floor((0 + $sn['hpNow']) / (0 + $sn['hpAll']) * 120); + if ($lh[1] > 0) { + $lh[0] = 'hp_1'; + } + if ($lh[1] > 32) { + $lh[0] = 'hp_2'; + } + if ($lh[1] > 65) { + $lh[0] = 'hp_3'; + } + if ($sn['mpAll'] > 0) { + //мана + $lm = [0 => 'hp_none', 1 => 1]; + $lm[1] = floor($sn['mpNow'] / $sn['mpAll'] * 120); + if ($lm[1] > 0) { + $lm[0] = 'hp_mp'; + } + $hpmp .= '
' . floor( + $sn['mpNow'] + ) . '/' . (0 + $sn['mpAll']) . '
+
+
+
'; + } else { + $hptop = 5; + } + $hpmp = '
' . floor( + $sn['hpNow'] + ) . '/' . (0 + $sn['hpAll']) . '
+
+
+
' . $hpmp; + //Собираем НР и МР + $hpmp = '
' . $hpmp . '
'; + + + $lgn = '' . $u['login'] . ' [' . $u['level'] . ']'; + if ($u['clan'] != 0) { + $pc = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`name`,`name_mini`,`align`,`type_m`,`money1`,`exp` FROM `clan` WHERE `id`="' . $u['clan'] . '" LIMIT 1' + ) + ); + $pc['img'] = $pc['name_mini'] . '.gif'; + $lgn = '' . $lgn; + } + if ($u['align2'] > 0) { + $lgn = '' . $lgn; + } + if ($u['align'] > 0) { + $lgn = '' . $lgn; + } + $pb = ''; + if ($u['banned'] > 0) { + $pb .= '
Персонаж заблокирован
'; + } + if ($u['allLock'] > time()) { + $pb .= '
Временный запрет передач!
'; + } + + $swm = 0; //свитки магии + $l = 40; + while ($l <= 52) { + if (isset($witm[$l])) { + $swm++; + } else { + $witm[$l] = ''; + } + $l++; + } + + $ssm = 0; //слоты сумки + $l = 59; + while ($l <= 62) { + if (isset($witm[$l])) { + $ssm++; + } else { + $witm[$l] = ''; + } + $l++; + } + + $witmg = ''; + + if ($ssm > 0 && $i1 == 0) { + $witmg .= ' + + + + + + +
' . $witm[59] . '' . $witm[60] . '' . $witm[61] . '' . $witm[62] . '
'; + } + + if ($swm > 0 && $i1 == 0) { + $witmg .= ' + + + + + + + + + + + + + + + + + +
' . $witm[40] . '' . $witm[41] . '' . $witm[42] . '' . $witm[43] . '' . $witm[44] . '' . $witm[50] . '
' . $witm[45] . '' . $witm[46] . '' . $witm[47] . '' . $witm[48] . '' . $witm[49] . '' . $witm[51] . '
'; + } + $zag = ''; + if ($u['zag'] != '' && $i1 == 1) { + $rt[0] .= ''; + + $zag = ''; + + $j2 = 0; + while ($j2 <= 17) { + $witm[$j2] = '
' . $witm[$j2] . '
'; + $j2++; + } + } + + if ($pb != '') { + $pb = '
' . $pb . '
'; + } + $rt[0] .= '
' . $lgn . '
' . $pb . ' +
+ + + + + + +
+ + + + + + + + + + + + + + + + +
' . $zag . '' . $witm[1] . '
' . $witm[2] . '
' . $witm[3] . '
' . $witm[4] . '
' . $witm[7] . '
+
+ + + + + + + + + + +
+ + ' . $hpmp . ' + +
'; + if ($zag == '') { + if ($i1 == 0) { + if (!isset($_GET['inv'])) { + $invg = [0 => 'main.php?inv=1', 1 => 'Рюкзак']; + } else { + $invg = [0 => 'main.php?skills=1', 1 => 'Умения']; + } + } else { + $o = mysql_fetch_array( + mysql_query( + 'SELECT `id` FROM `obraz` WHERE `img` = "' . mysql_real_escape_string( + $this->info['obraz'] + ) . '" AND `sex` = "' . $this->info['sex'] . '" LIMIT 1' + ) + ); + $invg = [0 => '/shadow/' . $o['id'] . '" target="_blank', 1 => 'Галерея образов']; + } + $uobr = 'i/obraz/' . $u['sex'] . '/' . $u['obraz'] . ''; + if (isset($sn['items_img'][1])) { + $uobr = 'rimg/r' . $sn['items_img'][1]; + } + $rt[0] .= '
+ +
+
' . $eff . '
' . $anml . ' +
'; + } else { + if ($i1 == 0) { + if (!isset($_GET['inv'])) { + $invg = [0 => 'main.php?inv=1', 1 => 'Рюкзак']; + } else { + $invg = [0 => 'main.php?skills=1', 1 => 'Умения']; + } + } else { + $invg = [0 => 'https://lib.new-combats.com/obraz.php?namez=' . $u['zag'] . '" target="_blank', 1 => 'Галерея образов']; + } + $rt[0] .= '
+ +
+
' . $eff . '
' . $anml . ' +
'; + } + + unset($invg); + + $rt[0] .= '
' . $msl . '
+
+ + + + + + + + + + + + + + + + + + + + + + +
' . $witm[8] . '
' . $witm[9] . '
+ + + + + +
' . $witm[10] . '' . $witm[11] . '' . $witm[12] . '
' . $witm[13] . '
' . $witm[14] . '
' . $witm[16] . '
' . $witm[17] . '
+
' . $witmg . '
'; + + + if ($i1 == 0 && $u['battle'] == 0) { + $rt[0] .= ''; + } + if ($ivv == 0 && $i1 == 0) { + $rt[0] .= $this->info_remont(); + } + } + return $rt; + } + + public function nameItemMf($pl, $po) + { + $r = $pl['name']; + if (isset($po['icos'])) { + $r = '' . $pl['name'] . '  ' . $po['icos'] . ' '; + } + //if( $this->info['admin'] > 0 ) { + if (isset($po['rune']) && $po['rune'] > 0) { + $rnc = explode(' ', $po['rune_name']); + if ($rnc[0] == 'Игнис') { + $rnc = '#9b5d40'; + } elseif ($rnc[0] == 'Аква') { + $rnc = '#3a2b64'; + } elseif ($rnc[0] == 'Аура') { + $rnc = '#20a3b0'; + } elseif ($rnc[0] == 'Тера') { + $rnc = '#4c7718'; + } else { + $rnc = '#4c4c4c'; + } + $r .= '
Руна: ' . $po['rune_name'] . ''; + unset($rnc); + } + if (isset($po['spell'])) { + $rnc = explode(' ', $po['spell_name']); + if ($rnc[2] == '[0]') { + $rnc = '#282828'; + } elseif ($rnc[2] == '[1]') { + $rnc = '#624542'; + } elseif ($rnc[2] == '[2]') { + $rnc = '#77090b'; + } elseif ($rnc[2] == '[3]') { + $rnc = '#d99800'; + } else { + $rnc = '#d99800'; + } + $r .= '
' . $po['spell_name'] . ''; + unset($rnc); + } + return $r; + } + + public function getInfoItemInfo($pl): string + { + $lvar = ''; + $td = ConversionHelper::dataStringToArray($pl['data']); + + if (isset($td['sv_yron_max']) && $td['sv_yron_max'] > 0) { + $lvar .= '
Урон: ' . $td['sv_yron_min'] . '-' . $td['sv_yron_max'] . ''; + } + if (isset($td['add_mab1']) && $td['add_mab1'] > 0) { + if ($td['add_mib1'] == $td['add_mab1'] && $pl['geniration'] == 1) { + $m1l = '+'; + if ($td['add_mab1'] < 0) { + $m1l = ''; + } + $lvar .= '
Броня головы: ' . $m1l . '' . (0 + $td['add_mab1']) . ''; + } else { + $lvar .= '
Броня головы: ' . (0 + $td['add_mib1']) . '-' . (0 + $td['add_mab1']) . ''; + } + } + // + $t = $this->items['add']; + $x = 0; + while ($x < count($t)) { + $n = $t[$x]; + if (isset($td['add_' . $n], $this->is[$n])) { + $z = '+'; + if ($td['add_' . $n] < 0) { + $z = ''; + } + $lvar .= '
' . $this->is[$n] . ': ' . $z . '' . $td['add_' . $n]; + } + $x++; + } + // + $x = 0; + while ($x < count($t)) { + $n = $t[$x]; + if (isset($td['sv_' . $n])) { + $z = '+'; + if ($td['sv_' . $n] < 0) { + $z = ''; + } + if ($n != 'yron_min' && $n != 'yron_max') { + $lvar .= '
' . $this->is[$n] . ': ' . $z . '' . $td['sv_' . $n]; + } + } + $x++; + } + if ($pl['2h'] == 1) { + $lvar .= '
• Двуручное оружие'; + } + if (isset($po['zonb'])) { + $lvar .= '
Зоны блокирования: '; + if ($lvar['zonb'] > 0) { + $x = 1; + while ($x <= $td['zonb']) { + $lvar .= '+'; + $x++; + } + } else { + $lvar .= '—'; + } + } + + // + if (isset($td['add_mab2']) && $td['add_mab2'] > 0) { + if ($td['add_mib2'] == $td['add_mab2'] && $pl['geniration'] == 1) { + $m1l = '+'; + if ($td['add_mab2'] < 0) { + $m1l = ''; + } + $lvar .= '
Броня корпуса: ' . $m1l . '' . (0 + $td['add_mab2']) . ''; + } else { + $lvar .= '
Броня корпуса: ' . (0 + $td['add_mib2']) . '-' . (0 + $td['add_mab2']) . ''; + } + } + if (isset($td['add_mab3']) && $td['add_mab3'] > 0) { + if ($td['add_mib3'] == $td['add_mab3'] && $pl['geniration'] == 1) { + $m1l = '+'; + if ($td['add_mab3'] < 0) { + $m1l = ''; + } + $lvar .= '
Броня пояса: ' . $m1l . '' . (0 + $td['add_mab3']) . ''; + } else { + $lvar .= '
Броня пояса: ' . (0 + $td['add_mib3']) . '-' . (0 + $td['add_mab3']) . ''; + } + } + if (isset($td['add_mab4']) && $td['add_mab4'] > 0) { + if ($td['add_mib4'] == $td['add_mab4'] && $pl['geniration'] == 1) { + $m1l = '+'; + if ($td['add_mab4'] < 0) { + $m1l = ''; + } + $lvar .= '
Броня ног: ' . $m1l . '' . (0 + $td['add_mab4']) . ''; + } else { + $lvar .= '
Броня ног: ' . (0 + $td['add_mib4']) . '-' . (0 + $td['add_mab4']) . ''; + } + } + if ($pl['iznosMAX'] > 0) { + $lvar .= '
Долговечность: ' . floor($pl['iznosNOW']) . '/' . ceil($pl['iznosMAX']); + } + + if ($po['battleUseZd'] > 0) { + $lvar .= '
Задержка использования: ' . $this->timeOut($po['battleUseZd']) . ''; + } + + if (isset($td['gravi'])) { + $lvar .= '
"' . $td['gravi'] . '"'; + } + + return $lvar; + } + + public function info_remont(): string + { + $r = ''; + $sp = mysql_query( + 'SELECT `im`.`name`,`iu`.`iznosNOW`,`iu`.`iznosMAX` + FROM `items_users` AS `iu` + LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) + WHERE + `iu`.`uid` = ' . ($this->info['id']) . ' AND + `iu`.`delete` = 0 AND + `iu`.`inShop` = 0 AND + `iu`.`inOdet` > 0 AND + `iu`.`inOdet` < 18 + LIMIT 18' + ); + while ($pl = mysql_fetch_array($sp)) { + if ($pl['iznosNOW'] <= ceil($pl['iznosMAX'] * 0.80)) { + continue; + } + $r .= '' . $pl['name'] . ' [' . floor($pl['iznosNOW']) . '/' . + ceil($pl['iznosMAX']) . '] требуется ремонт
'; + } + return '
' . $r . '
'; + } + + public function info_remont(): string + { + $r = ''; + $sp = mysql_query( + 'SELECT `im`.`name`,`iu`.`iznosNOW`,`iu`.`iznosMAX` + FROM `items_users` AS `iu` + LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) + WHERE + `iu`.`uid` = ' . ($this->info['id']) . ' AND + `iu`.`delete` = 0 AND + `iu`.`inShop` = 0 AND + `iu`.`inOdet` > 0 AND + `iu`.`inOdet` < 18 + LIMIT 18' + ); + while ($pl = mysql_fetch_array($sp)) { + if ($pl['iznosNOW'] <= ceil($pl['iznosMAX'] * 0.80)) { + continue; + } + $r .= '' . $pl['name'] . ' [' . floor($pl['iznosNOW']) . '/' . + ceil($pl['iznosMAX']) . '] требуется ремонт
'; + } + return '
' . $r . '
'; + } + + public function snatItemAll(int $uid): int + { + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD`= unix_timestamp(),`inOdet`=0 WHERE `uid`=' . $uid . ' AND `inOdet`!= 0 AND `delete`= 0 LIMIT 100' + ); + return $upd ? 1 : 0; + } + + public function odetItem(int $id, int $uid) + { + if ($uid != 0) { + $au = 'AND `iu`.`uid` = "' . $uid . '"'; + } else { + $au = ''; + } + + $itm = mysql_fetch_array( + mysql_query( + 'SELECT + `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`, + `iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` + FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id`=' . $id . ' AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ' . $au . ' AND `iu`.`delete`="0" LIMIT 1' + ) + ); + if (isset($itm['id'])) { + if ($itm['group'] == 1 && $this->itemsX($itm['id']) > 1) { + $this->unstack($itm['id'], 1); + } + + + $tr = ConversionHelper::dataStringToArray($itm['data']); + $notr = $this->trItem($tr); + $msb = ''; + if (isset($tr['maks_itm_one']) && $tr['maks_itm_one'] > 0) { + $test = mysql_fetch_array( + mysql_query( + 'SELECT `id` FROM `items_users` WHERE `uid` = "' . $this->info['id'] . '" AND `inOdet` > 0 AND `delete` = 0 AND `data` LIKE "%maks_itm_one=' . $tr['maks_itm_one'] . '%" LIMIT 1' + ) + ); + if (isset($test['id'])) { + $this->error = 'Возможное использование максимум одного предмета!'; + $notr++; + } + } + if ($this->info['twink'] > 0) { + //Не дороже 100 екр. + if ($itm['price2'] > 100 || $itm['2price'] > 100) { + $notr++; + } + //Нельзя руны + чарки + if (isset($tr['rune']) && $tr['rune'] > 0) { + $notr++; + } + if (isset($tr['spell_id']) && $tr['spell_id'] > 0) { + $notr++; + } + } + if (isset($tr['vip_sale'])) { + if ($this->stats['silver'] < 2) { + $notr++; + } + } + if (isset($tr['sudba'])) { + if ($tr['sudba'] != '0' && $tr['sudba'] != $this->info['login']) { + $notr++; + } elseif ($tr['sudba'] == '0') { + $tr['sudba'] = $this->info['login']; + $itm['data'] = ConversionHelper::arrayToDataString($tr); + $msb = ',`data`="' . $itm['data'] . '"'; + } + } + if (isset($tr['tr_align_bs']) && $this->info['inTurnir'] > 0) { + if ($tr['tr_align_bs'] == '1') { + if ($this->info['align_real'] <= 1 || $this->info['align_real'] >= 2) { + $notr++; + } else { + $notr = 0; + } + } else { + if ($this->info['align_real'] <= 3 || $this->info['align_real'] >= 4) { + $notr++; + } else { + $notr = 0; + } + } + } + if ($notr > 0) { + //Не хватает характеристик или не совпадают условия + if (isset($tr['open']) && isset($_GET['open'])) { + $this->error = 'Вы не можете открыть данный предмет'; + } else { + $this->error = 'Нельзя одеть больше одного предмета данного типа'; + } + return 0; + } elseif (isset($tr['open']) && isset($_GET['open']) && isset($tr['items_in_file'])) { + $io = ''; + if ($itm['inGroup'] > 0) { + mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '",`inGroup` = "0", `delete` = "0" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + if (file_exists('_incl_data/class/magic/' . $tr['items_in_file'] . '.php')) { + require('_incl_data/class/magic/' . $tr['items_in_file'] . '.php'); + if (!isset($no_open_itm)) { + $this->deleteItem($itm['id'], $this->info['id']); + $this->error = 'Вы успешно открыли "' . $itm['name'] . '":
' . $io . '...'; + } else { + unset($no_open_itm); + } + } else { + $this->error = 'Предмет "' . $itm['name'] . '" невозможно открыть...'; + } + } elseif (isset($tr['open']) && isset($_GET['open'])) { + //открываем предмет + $io = ''; + $i = 0; + $itms = explode(',', $tr['items_in']); + + + if ($itm['type'] == 37) { + //Распаковываем упаковку + $itmin = mysql_fetch_array( + mysql_query('SELECT * FROM `items_users` WHERE `id` = "' . $tr['item_inbox'] . '" LIMIT 1') + ); + $itmmn = mysql_fetch_array( + mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $itmin['item_id'] . '" LIMIT 1') + ); + // + if ($itm['gift'] == '' || $itm['gift'] == '0') { + $this->error = 'Предмет должен быть подарен, прежде чем его открывать!'; + } elseif (!isset($itmin['id'])) { + $this->error = 'В упаковке ничего нет, скорее всего предмет кто-то вытащил от туда...'; + } else { + $io .= $itmmn['name']; + if ($itmin['item_id'] == 4867) { + //Не откроешь + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + $this->error = 'Не удалось открыть подарок. Содержимое испорчено.'; + } elseif ($itmin['item_id'] == 4868) { + //Летучая мышь + mysql_query( + 'UPDATE `stats` SET `hpNow` = 1,`mpNow` = 1 WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + $this->error = 'Вы потеряли все HP...'; + } elseif ($itmin['item_id'] == 4870) { + //Минута молчания + if ($this->info['molch1'] > time()) { + $this->info['molch1'] += 3600; + } else { + $this->info['molch1'] = time() + 3600; + } + mysql_query( + 'UPDATE `users` SET `molch1` = "' . $this->info['molch1'] . '" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + $this->error = 'Вы оказались под действие заклятия молчания...'; + } elseif ($itmin['item_id'] == 4873) { + //Крысиный яд + $a = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`type`,`name`,`uid`,`delete`,`inBattle`,`eda`,`exp`,`obraz`,`stats`,`level`,`sex`,`levelUp`,`pet_in_cage`,`max_exp`,`priems`,`bonus` FROM `users_animal` WHERE `uid` = "' . $this->info['id'] . '" AND `id` = "' . $this->info['animal'] . '" AND `pet_in_cage` = "0" AND `delete` = "0" LIMIT 1' + ) + ); + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + if (isset($a['id'])) { + $this->error = 'Ваш зверь "' . $a['name'] . '" странно позеленел...'; + mysql_query( + 'UPDATE `users_animal` SET `eda` = 0, `yad` = "' . (time() + 86400 * 7) . '" WHERE `id` = "' . $a['id'] . '" LIMIT 1' + ); + } else { + $this->error = 'Кто-то пытался отравить вашего зверя, которого у вас нет :)'; + } + } elseif ($itmin['item_id'] == 4869) { + //Неасчастный случай (легкая травма на 1 час) + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + mysql_query( + 'INSERT INTO `eff_users` + (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( + "0","' . (time() + 3600) . '","-1", + "Неверие в человечество","add_s' . rand(1, 3) . '=-' . rand( + 5, 15 + ) . '","' . $this->info['id'] . '", + "4", "bad_present_travma1.gif","0", "1" + )' + ); + $this->error = 'Вы травмированы. В том числе и физически...'; + } elseif ($itmin['item_id'] == 4872) { + //Трагедия (средняя травма на 1 час) + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + mysql_query( + 'INSERT INTO `eff_users` + (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( + "0","' . (time() + 3600) . '","-1", + "Неверие в человечество","add_s' . rand(1, 3) . '=-' . rand( + 16, 25 + ) . '","' . $this->info['id'] . '", + "4", "bad_present_travma2.gif","0", "2" + )' + ); + $this->error = 'Вы травмированы. В том числе и физически...'; + } elseif ($itmin['item_id'] == 4876) { + //Катастрофа (тяжелая травма на 1 час) + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + mysql_query( + 'INSERT INTO `eff_users` + (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( + "0","' . (time() + 3600) . '","-1", + "Неверие в человечество","add_s' . rand(1, 3) . '=-' . rand( + 26, 35 + ) . '","' . $this->info['id'] . '", + "4", "bad_present_travma3.gif","0", "3" + )' + ); + $this->error = 'Вы травмированы. В том числе и физически...'; + } elseif ($itmin['item_id'] == 4878) { + //Недвижимость (add_puti=7200) + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + mysql_query( + 'INSERT INTO `eff_users` + (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( + "0","' . (time() + 7200) . '","-1", + "Недвижимость","add_puti=1","' . $this->info['id'] . '", + "4", "bad_present_chains.gif","0", "3" + )' + ); + $this->error = 'Вы не можете передвигаться...'; + } elseif ($itmin['item_id'] == 4874) { + //Сюрприз для мага на час + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + mysql_query( + 'INSERT INTO `eff_users` + (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( + "0","' . (time() + 3600) . '","-1", + "Сюрприз для Мага","add_s5=-50","' . $this->info['id'] . '", + "4", "bad_present_dmage.gif","0", "3" + )' + ); + $this->error = 'Вам нехорошо...'; + } elseif ($itmin['item_id'] == 4871) { + //Сюрприз для воина на час + $this->deleteItem($itm['id'], $this->info['id']); + $this->deleteItem($itmin['id'], $this->info['id']); + mysql_query( + 'INSERT INTO `eff_users` + (`overType`,`timeUse`,`hod`,`name`,`data`,`uid`, `id_eff`, `img2`, `timeAce`, `v1`) VALUES ( + "0","' . (time() + 3600) . '","-1", + "Сюрприз для Воина","add_s1=-50","' . $this->info['id'] . '", + "4", "bad_present_dfighter.gif","0", "3" + )' + ); + $this->error = 'Вам нехорошо...'; + } elseif (mysql_query( + 'UPDATE `items_users` SET `uid` = "' . $this->info['id'] . '",`lastUPD` = "' . time() . '",`gift` = "' . $itm['gift'] . '",`gtxt1` = "' . $itm['gtxt1'] . '",`gtxt2` = "Предмет из упаковки. Дата запаковки: ' . date( + 'd.m.Y H:i:s', $itmin['time_create'] + ) . '" WHERE `id` = "' . $itmin['id'] . '" LIMIT 1' + )) { + //Удаляем упаковку + $this->deleteItem($itm['id'], $this->info['id']); + $this->error = 'Вы успешно открыли "' . $itm['name'] . '", внутри было найдено:
' . $io . '...'; + } else { + $this->error = 'Неудалось открыть подарок, что же там?'; + } + // + } + // + } else { + while ($i < count($itms)) { + if (isset($itms[$i])) { + $x = 0; + $itms[$i] = explode('*', $itms[$i]); + $x += (int)$itms[$i][1]; + $itms[$i] = $itms[$i][0]; + $s = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`name`,`img`,`type`,`inslot`,`2h`,`2too`,`iznosMAXi`,`inRazdel`,`price1`,`price2`,`price3`,`magic_chance`,`info`,`massa`,`level`,`magic_inci`,`overTypei`,`group`,`group_max`,`geni`,`ts`,`srok`,`class`,`class_point`,`anti_class`,`anti_class_point`,`max_text`,`useInBattle`,`lbtl`,`lvl_itm`,`lvl_exp`,`lvl_aexp` FROM `items_main` WHERE `id`="' . ((int)$itms[$i]) . '" LIMIT 1' + ) + ); + if (isset($s['id'])) { + $j = 1; + while ($j <= $x) { + $pid = $this->addItem($s['id'], $this->info['id']); + if ($pid > 0) { + mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '",`gift` = "' . $itm['gift'] . '" WHERE `id` = "' . $pid . '" AND `uid` = "' . $this->info['id'] . '" LIMIT 1' + ); + } + $j++; + } + $io .= '' . $s['name'] . ' (x' . $x . '), '; + } + } + $i++; + } + if ($itm['inGroup'] > 0) { + mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '",`inGroup` = "0", `delete` = "0" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + $this->deleteItem($itm['id'], $this->info['id']); + $this->error = 'Вы успешно открыли "' . $itm['name'] . '", внутри было найдено:
' . $io . '...'; + } + } else { + $inSlot = $itm['inslot']; + $s = mysql_query( + 'SELECT `iu`.`id`,`iu`.`inOdet` FROM `items_users` AS `iu` WHERE `iu`.`inOdet`!="0" AND `iu`.`uid`="' . $uid . '" AND `iu`.`delete`="0"' + ); + $d = []; + while ($p = mysql_fetch_array($s)) { + $d[$p['inOdet']] = $p['id']; + } + + //Если в слот оружия и можно одеть в левую руку + if ($itm['2too'] == 1 && $inSlot == 3 && isset($d[3])) { + $inSlot = 14; + } + + if ($inSlot == 3 || $inSlot == 14) { + //Проверяем есть-ли двуручное оружие + //И естественно снимаем его, даже если руки пусты, отправляя туда NULL и ломая игру. Сука! + if ($this->stats['items'][$this->stats['wp3id']]['2h'] == 1 || $this->stats['items'][$this->stats['wp14id']]['2h'] == 1 || $itm['2h'] == 1) { + $this->snatItem($this->stats['items'][$this->stats['wp3id']]['id'], $uid); + $this->snatItem($this->stats['items'][$this->stats['wp14id']]['id'], $uid); + } + } + + if (isset($d[$inSlot])) { + if ($inSlot == 10) { + if (!isset($d[12])) { + $inSlot = 12; + } elseif (!isset($d[11])) { + $inSlot = 11; + } + } elseif ($inSlot == 40) { + $i = 40; + while ($i <= 51) { + if (!isset($d[$i])) { + $inSlot = $i; + $i = 52; + } elseif ($i == 50) { + $inSlot = 50; + } + $i++; + } + } elseif ($inSlot == 53) { + if (!isset($d[53])) { + $inSlot = 53; + } elseif (!isset($d[54])) { + $inSlot = 54; + } + } elseif ($inSlot == 56) { + if (!isset($d[56])) { + $inSlot = 56; + } elseif (!isset($d[57])) { + $inSlot = 57; + } elseif (!isset($d[58])) { + $inSlot = 58; + } else { + $inSlot = 58; + } + } elseif ($inSlot == 59) { + if (!isset($d[59])) { + $inSlot = 59; + } elseif (!isset($d[60])) { + $inSlot = 60; + } elseif (!isset($d[61])) { + $inSlot = 61; + } elseif (!isset($d[62])) { + $inSlot = 62; + } + } + } + if (isset($d[$inSlot])) { + $this->snatItem($d[$inSlot], $uid); + } + + + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `inOdet` = "' . $inSlot . '"' . $msb . ' WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + if ($itm['inGroup'] > 0) { + mysql_query( + 'UPDATE `items_users` SET `lastUPD` = "' . time() . '", `inGroup` = 0, `delete` = 0 WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + if ($upd) { + //Если предмет привязывается после одевания + $this->info['autospell'] = 1; + mysql_query( + 'UPDATE `users` SET `autospell` = "1" WHERE `id` = "' . $this->info['id'] . '" LIMIT 1' + ); + return 1; + } else { + $this->error = '(!) Ошибка обновления данных'; + return 0; + } + } + } else { + $this->error = 'Предмет не найден в вашем рюкзаке'; + return 0; + } + } + + public function unstack($id, $x = null) + { + $id = (int)$id; + $itm = mysql_fetch_array( + mysql_query( + 'SELECT `iu`.id, `iu`.inGroup, `im`.`id` as item_id,`im`.`name`, 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`="' . $this->info['id'] . '" AND `iu`.`uid`="' . $this->info['id'] . '" AND `iu`.`delete`="0" AND `im`.`group` = "1" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.id=' . mysql_real_escape_string( + (int)$id + ) . ' +ORDER BY `iu`.lastUPD DESC +LIMIT 1' + ) + ); + if (isset($itm['id']) && $itm['inGroup'] > 0 && $itm['inGroupCount'] > 0) { + if ($x == 0 or $x == null) { + $x = $this->itemsX($itm['id']); //кол-во распада + $inGroup = 0; + } elseif ($x != 0) { + $inGroup = $this->stackGroupCheck($this->info['id'], $itm['inGroup'], $itm['item_id']); + } else { + $inGroup = 0; + } + $sp = mysql_query( + 'SELECT `im`.`id`,`im`.`name`,`im`.`img`,`im`.`type`,`im`.`inslot`,`im`.`2h`,`im`.`2too`,`im`.`iznosMAXi`,`im`.`inRazdel`,`im`.`price1`,`im`.`price2`,`im`.`pricerep`,`im`.`magic_chance`,`im`.`info`,`im`.`massa`,`im`.`level`,`im`.`magic_inci`,`im`.`overTypei`,`im`.`group`,`im`.`group_max`,`im`.`geni`,`im`.`ts`,`im`.`srok`,`im`.`class`,`im`.`class_point`,`im`.`anti_class`,`im`.`anti_class_point`,`im`.`max_text`,`im`.`useInBattle`,`im`.`lbtl`,`im`.`lvl_itm`,`im`.`lvl_exp`,`im`.`lvl_aexp`,`iu`.`id`,`iu`.`item_id`,`iu`.`1price`,`iu`.`2price`,`iu`.`uid`,`iu`.`use_text`,`iu`.`data`,`iu`.`inOdet`,`iu`.`inShop`,`iu`.`delete`,`iu`.`iznosNOW`,`iu`.`iznosMAX`,`iu`.`gift`,`iu`.`gtxt1`,`iu`.`gtxt2`,`iu`.`kolvo`,`iu`.`geniration`,`iu`.`magic_inc`,`iu`.`maidin`,`iu`.`lastUPD`,`iu`.`timeOver`,`iu`.`overType`,`iu`.`secret_id`,`iu`.`time_create`,`iu`.`time_sleep`,`iu`.`inGroup`,`iu`.`dn_delete`,`iu`.`inTransfer`,`iu`.`post_delivery`,`iu`.`lbtl_`,`iu`.`bexp`,`iu`.`so`,`iu`.`blvl` FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid` = "' . $this->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inGroup` = "' . $itm['inGroup'] . '" AND `iu`.`item_id` = "' . $itm['item_id'] . '" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" AND `im`.`group` = "1" LIMIT ' . $x . '' + ); + $i = 0; + $j = 0; + while ($pl = mysql_fetch_array($sp)) { + $upd = mysql_query( + 'UPDATE `items_users` SET `inGroup` = "' . $inGroup . '", `lastUPD` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + ); + if ($upd) { + $j++; + } + $i++; + } + if ($this->itemsX($itm['id']) == 1) { + mysql_query( + 'UPDATE `items_users` SET `inGroup` = "0", `lastUPD` = "' . time() . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1' + ); + } + if ($this->itemsX($pl['id']) == 1) { + mysql_query( + 'UPDATE `items_users` SET `inGroup` = "0", `lastUPD` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + ); + } + } + } + + public function trItem($po) + { + $tr = ''; + $t = $this->items['tr']; + $x = 0; + $notr = 0; + while ($x < count($t)) { + $n = $t[$x]; + if (isset($po['tr_' . $n])) { + if ($n == 'sex') { + if ($this->info['sex'] != $po['tr_' . $n]) { + $notr++; + } + } elseif ($po['tr_' . $n] > $this->stats[$n] && $n != 'align') { + $notr++; + } + } + $x++; + } + return $notr; + } + + public function deleteItem($id, $uid = 0, $coldel = 0) + { + if ($uid != 0) { + $au = 'AND `iu`.`uid`="' . mysql_real_escape_string($uid) . '"'; + } else { + $au = ''; + } + $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`.`id`="' . mysql_real_escape_string( + $id + ) . '" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ' . $au . ' AND (`iu`.`delete`="0" OR `iu`.`delete`="1000") LIMIT 1' + ) + ); + if (isset($itm['id'])) { + if ($coldel == 0) { + //Удаляем целиком + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `id`="' . $itm['id'] . '" LIMIT 1' + ); + $col = $this->itemsX($itm['id']); + if ($col > 0) { + mysql_query( + 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '",`inGroup` = "0" WHERE `inGroup`="' . $itm['id'] . '" LIMIT ' . $col + ); + } + } else { + //Удаляем конкретное кол-во + $col = $this->itemsX($itm['id']); + if ($col > 1) { + if ($col <= $coldel) { + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `id`="' . $itm['id'] . '" LIMIT 1' + ); + } + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '",`inGroup` = "0" WHERE `inGroup`="' . $itm['id'] . '" AND `delete` = "1000" LIMIT ' . $coldel + ); + } else { + //Удаляем целиком + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `id`="' . $itm['id'] . '" LIMIT 1' + ); + $upd = mysql_query( + 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '",`inGroup` = "0" WHERE `inGroup`="' . $itm['id'] . '" AND `delete` = "1000" LIMIT ' . $col + ); + } + } + if ($upd) { + if (isset($_GET['deleteall7'])) { + $st = ConversionHelper::dataStringToArray($itm['data']); + $whr = ''; + if (isset($st['frompisher'])) { + $whr .= 'AND `data` LIKE "%frompisher=' . $st['frompisher'] . '%"'; + } + $col = mysql_fetch_array( + mysql_query( + 'SELECT COUNT(*) FROM `items_users` WHERE `item_id`="' . $itm['item_id'] . '" AND `inOdet` = 0 AND `delete` < 100000 AND `uid` = "' . $itm['uid'] . '" AND `data` NOT LIKE "%nodelete%"' . $whr + ) + ); + $col = $col[0]; + mysql_query( + 'UPDATE `items_users` SET `lastUPD`="' . time() . '",`delete`="' . time() . '" WHERE `item_id`="' . $itm['item_id'] . '" AND `inOdet` = 0 AND `delete` < 100000 AND `uid` = "' . $itm['uid'] . '" AND `data` NOT LIKE "%nodelete%"' . $whr + ); + $this->error = 'Предметы "' . $itm['name'] . ' (x' . ($col + 1) . ')" выброшены'; + $this->addDelo( + 1, $uid, + '"System.inventory": Предметы "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '=' . time() . '] были выброшены.', time(), + $this->info['city'], 'System.inventory', 0, 0 + ); + } else { + $this->error = 'Предмет "' . $itm['name'] . '" выброшен'; + $this->addDelo( + 1, $uid, + '"System.inventory": Предмет "' . $itm['name'] . '" [itm:' . $itm['id'] . '] был выброшен.', + time(), $this->info['city'], 'System.inventory', 0, 0 + ); + } + return 1; + } else { + return 0; + } + } else { + $this->error = 'Предмет не найден в вашем рюкзаке'; + } + } + public function testLevel() { $rt = 0; @@ -10731,109 +9709,68 @@ LIMIT 1' if (($rtg || !isset($mtest['id'])) && isset($rlog['id'])) { $rfs['data'] = explode('|', $rlogs['ref_data']); - $ekr = '0.00'; - $bn = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`type`,`level`,`add_bank`,`add_money`,`finish_battle`,`online`,`onlyOne`,`add_crystals` FROM `referal_bous` WHERE `type` = 1 AND `level` = "' . $lvl['nextLevel'] . '" LIMIT 1' - ) - ); - if (isset($bn['id']) && ($bn['add_bank'] > 0 || $bn['add_money'] > 0)) { - $ekr = $bn['add_bank']; - $kr = $bn['add_money']; - $up = mysql_query( - 'UPDATE `users` SET `money` = `money` + ' . $kr . ',`money2` = `money2` + ' . $ekr . ' WHERE `id` = "' . mysql_real_escape_string( - $rlog['id'] - ) . '" LIMIT 1' + + $bonus = [ + 9 => 30, + 10 => 75, + 11 => 150, + 12 => 250, + ]; + + $ekr = $bonus[$lvl['nextlevel']]; + + if (isset($ekr)) { + $this->addEkr($ekr, $rlog['id']); + + //Реферал 1-го уровня + $krtxt = ", $ekr екр."; + + $cmsg->setText( + 'Ваш реферал ' . $this->info['login'] . ' достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt ); + (new Chat())->sendMsg($cmsg); - if ($up) { - //Реферал 1-го уровня - $krtxt = ''; - if ($kr > 0) { - $krtxt .= "$kr КР"; - } - if ($ekr > 0) { - $krtxt .= ", $ekr ЕКР"; - } - - $cmsg->setText( - 'Ваш реферал ' . $this->info['login'] . ' достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt + $rlog['catch'] += $ekr; + mysql_query( + 'UPDATE `users` SET `catch` = "' . $rlog['catch'] . '" WHERE `id` = "' . $rlog['id'] . '" LIMIT 1' + ); + if ((int)$rlog['host_reg'] > 0) { + //Реферал 2-го уровня + $llogin = $rlog['login']; + $ekr = round($ekr * 0.4, 2); + $rlog = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`login`,`catch`,`host_reg` FROM `users` WHERE `id` = "' . ((int)$rlog['host_reg']) . '" LIMIT 1' + ) ); - (new Chat())->sendMsg($cmsg); - - $rlog['catch'] += $bn['add_bank']; - mysql_query( - 'UPDATE `users` SET `catch` = "' . $rlog['catch'] . '" WHERE `id` = "' . $rlog['id'] . '" LIMIT 1' - ); - // - if ((int)$rlog['host_reg'] > 0) { - //Реферал 2-го уровня - $llogin = $rlog['login']; - $ekr = round($bn['add_bank'] * 0.4, 2); - $kr = round($bn['add_money'] * 0.4, 2); - $rlog = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`login`,`catch`,`host_reg` FROM `users` WHERE `id` = "' . ((int)$rlog['host_reg']) . '" LIMIT 1' - ) + if (isset($rlog['id'])) { + $cmsg->setText( + 'Ваш реферал ' . $this->info['login'] . ' (2-го уровня от "' . $llogin . '" ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt ); - if (isset($rlog['id'])) { - $krtxt = ''; - if ($kr > 0) { - $krtxt .= "$kr КР"; - } - if ($ekr > 0) { - $krtxt .= ", $ekr ЕКР"; - } + (new Chat())->sendMsg($cmsg); - $cmsg->setText( - 'Ваш реферал ' . $this->info['login'] . ' (2-го уровня от "' . $llogin . '" ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt + $rlog['catch'] += $ekr; + $this->addEkr($ekr, $rlog['id']); + if ((int)$rlog['host_reg'] > 0) { + //Реферал 3-го уровня + $llogin2 = $rlog['login']; + $ekr = round($ekr * 0.2, 2); + $rlog = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`login`,`catch`,`host_reg` FROM `users` WHERE `id` = "' . ((int)$rlog['host_reg']) . '" LIMIT 1' + ) ); - (new Chat())->sendMsg($cmsg); - - $rlog['catch'] += $bn['add_bank']; - mysql_query( - 'UPDATE `users` SET `money` = `money` + ' . $kr . ',`money2` = `money2` + ' . $ekr . ' WHERE `id` = "' . $rlog['id'] . '" LIMIT 1' - ); - // - if ((int)$rlog['host_reg'] > 0) { - //Реферал 3-го уровня - $llogin2 = $rlog['login']; - $ekr = round($bn['add_bank'] * 0.2, 2); - $kr = round($bn['add_money'] * 0.2, 2); - $rlog = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`login`,`catch`,`host_reg` FROM `users` WHERE `id` = "' . ((int)$rlog['host_reg']) . '" LIMIT 1' - ) + if (isset($rlog['id'])) { + $cmsg->setText( + 'Ваш реферал ' . $this->info['login'] . ' (3-го уровня от "' . $llogin2 . '" (Реферал ' . $llogin . ') ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt ); - if (isset($rlog['id'])) { - $krtxt = ''; - if ($kr > 0) { - $krtxt .= "$kr КР"; - } - if ($ekr > 0) { - $krtxt .= ", $ekr ЕКР"; - } + (new Chat())->sendMsg($cmsg); - $cmsg->setText( - 'Ваш реферал ' . $this->info['login'] . ' (3-го уровня от "' . $llogin2 . '" (Реферал ' . $llogin . ') ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt - ); - (new Chat())->sendMsg($cmsg); - - $rlog['catch'] += $bn['add_bank']; - mysql_query( - 'UPDATE `users` SET `money` = `money` + ' . $kr . ',`money2` = `money2` + ' . $ekr . ' WHERE `id` = "' . $rlog['id'] . '" LIMIT 1' - ); - // - } + $rlog['catch'] += $ekr; + $this->addEkr($ekr, $rlog['id']); } - // } } - } else { - $cmsg->setText( - 'Ваш реферал ' . $this->info['login'] . ' достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! (Ошибка зачисления, обратитесь с Администрации проекта) На Ваш банковский счет №' . $bnk . ' зачисленно ' . $ekr . ' кр.' - ); - (new Chat())->sendMsg($cmsg); } } // @@ -10991,11 +9928,34 @@ LIMIT 1' } } + //получаем уровень + + public function addEkr($amount, $uid = 0) + { + if ($uid === 0) { + $uid = $this->info['id']; + } + Db::sql('update users set money2 = money2 + ? where id = ?', [$amount, $uid]); + } + + public function addEkr($amount) + { + Db::sql('update users set money2 = money2 + ? where id = ?', [$amount, $this->info['id']]); + } + public function r2($v): string { 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 Инс. @@ -11071,7 +10031,6 @@ LIMIT 1' return [$sh, $sm, 'hpNow' => $st['hpNow'], 'mpNow' => $st['mpNow']]; } - public function ungive_itm_cl($id, $user, $cl): string { $itm_ = mysql_fetch_array( @@ -11200,11 +10159,6 @@ LIMIT 1' return $roomInfo; } - public static function setOnline(int $uid): void - { - Db::sql('update users set online = unix_timestamp() where id = ?', [$uid]); - } - public function isModerator(): bool { return $this->isAdmin() || $this->info['align'] > 3 && $this->info['align'] < 4; diff --git a/_incl_data/class/User/Clan.php b/_incl_data/class/User/Clan.php new file mode 100644 index 00000000..f5374ede --- /dev/null +++ b/_incl_data/class/User/Clan.php @@ -0,0 +1,91 @@ +userid = $userinfo['id']; + if (isset($_POST['joinclan']) && ClanInfo::isJoinable($_POST['joinclan'])) { + $this->join($_POST['joinclan']); + exit(''); + } + $c = Db::getRow('select * from clan where id = ?', [$userinfo['clan']]); + if (!empty($c)) { + foreach ($c as $k => $v) { + $this->$k = $v; + } + } + } + + private function join(string $clanname) + { + Db::sql('update users set clan = (select id from clan where clan.name = ?) where id = ?', [$clanname, $this->userid]); + } + + public function getId(): int + { + return $this->id; + } + + public function getStatus(): ?int + { + return $this->status; + } + + public function printClan() + { + echo 'Склонность' . $this->printLogoImage() . $this->getName(); + } + + public function getAlign(): ?int + { + return $this->align; + } + + public function printLogoImage(): string + { + return ''; + } + + public function getName(): ?string + { + return $this->name; + } + + public function getLogo(): ?int + { + return $this->logo; + } + + /** + * Клан зарегистрирован и подверждён. + * @return bool + */ + public function isRegistered(): bool + { + return !empty($this->id) && $this->status !== 0; + } + + /** + * Клан зарегистрирован и ожидает подтверждения. + * @return bool + */ + public function isAwaitingConfirmation(): bool + { + return !empty($this->id) && $this->status === 0; + } +} diff --git a/_incl_data/class/User/ItemsModel.php b/_incl_data/class/User/ItemsModel.php index b2f1a7cb..99c17e91 100644 --- a/_incl_data/class/User/ItemsModel.php +++ b/_incl_data/class/User/ItemsModel.php @@ -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'] . '": Получен предмет "' . $i['name'] . '" (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; diff --git a/_incl_data/class/magic/arhmoney.php b/_incl_data/class/magic/arhmoney.php index c6465698..defd41ca 100644 --- a/_incl_data/class/magic/arhmoney.php +++ b/_incl_data/class/magic/arhmoney.php @@ -1,84 +1,76 @@ info['inTurnir'] == 0 ) { - $u->error = 'Необходимо участвовать в турнире Башни Смерти'; - }else{ - $noarh = true; - $bsd = mysql_fetch_array(mysql_query('SELECT `id`,`users`,`arhiv`,`count`,`city`,`money` FROM `bs_turnirs` WHERE `id` = "'.$u->info['inTurnir'].'" LIMIT 1')); - if( isset($bsd['id']) ) { - $bsd_arh = mysql_fetch_array(mysql_query('SELECT `u`.`id`,`u`.`battle`,`s`.`x`,`s`.`y` FROM `users` AS `u` LEFT JOIN `stats` AS `s` ON `s`.`id` = `u`.`id` WHERE `u`.`inTurnir` = "'.$u->info['inTurnir'].'" AND `u`.`login` = "Архивариус" AND `u`.`pass` = "bstowerbot" LIMIT 1')); - if( $bsd['users'] > 1 && $noarh == false && true == false ) { - $u->error = 'Вы должны остаться единственным участником Башни Смерти'; - }else{ - if( $u->info['inUser'] == 0 ) { - $usr_tk = mysql_fetch_array(mysql_query('SELECT `level`,`id`,`money`,`login`,`align`,`clan`,`sex` FROM `users` WHERE `inUser` = "'.$u->info['id'].'" LIMIT 1')); - if( isset($usr_tk['id']) ) { - if( $itm['price2'] > 0 ) { - $bnki = mysql_fetch_array(mysql_query('SELECT * FROM `bank` WHERE `uid` = "'.$usr_tk['id'].'" AND `block` = "0" ORDER BY `id` DESC LIMIT 1')); - } - if( $itm['price2'] == 0 ) { - mysql_query('UPDATE `users` SET `money` = `money` + "'.$itm['price1'].'" WHERE `inUser` = "'.$u->info['id'].'" LIMIT 1'); - }else{ - mysql_query('UPDATE `bank` SET `money2` = `money2` + "'.$itm['price2'].'" WHERE `id` = "'.$bnki['id'].'" LIMIT 1'); - } - mysql_query('UPDATE `items_users` SET `iznosNOW` = `iznosNOW` + 1 WHERE `id` = '.$itm['id'].' LIMIT 1'); - if( $itm['price2'] == 0 ) { - $u->error = 'Вы успешно обналичил чек на '.$itm['price1'].' кр.'; - }else{ - if( isset($bnki['id']) ) { - $u->error = 'Вы успешно обналичил чек на '.$itm['price2'].' екр. (Банк: №'.$bnki['id'].' )'; - }else{ - $u->error = 'Чек на '.$itm['price2'].' екр. был обналичен, но у Вас нет подходящего банковского счета! Деньги сгорели!'; - } - } - //Добавляем в лог БС - if( $itm['price2'] == 0 ) { - if( $u->info['sex'] == 0 ) { - $text = '{u1} обналичил чек на '.$itm['price1'].' кр.'; - }else{ - $text = '{u1} обналичила чек на '.$itm['price1'].' кр.'; - } - }else{ - if( $u->info['sex'] == 0 ) { - $text = '{u1} обналичил чек на '.$itm['price2'].' екр.'; - }else{ - $text = '{u1} обналичила чек на '.$itm['price2'].' екр.'; - } - } - if( isset($usr_tk['id']) ) { - $mereal = ''; - if( $usr_tk['align'] > 0 ) { - $mereal .= ''; - } - if( $usr_tk['clan'] > 0 ) { - $mereal .= ''; - } - $mereal .= ''.$usr_tk['login'].' ['.$usr_tk['level'].']'; - }else{ - $mereal = 'Невидимка[??]'; - } - $text = str_replace('{u1}',$mereal,$text); - //Добавляем в лог БС - mysql_query('INSERT INTO `bs_logs` (`type`,`text`,`time`,`id_bs`,`count_bs`,`city`,`m`,`u`) VALUES ( - "1", "'.mysql_real_escape_string($text).'", "'.time().'", "'.$bsd['id'].'", "'.$bsd['count'].'", "'.$bsd['city'].'", - "'.round($bsd['money']*0.85,2).'","'.$i.'" +if ($itm['magic_inci'] == 'arhmoney') { + if ($u->info['inTurnir'] == 0) { + $u->error = 'Необходимо участвовать в турнире Башни Смерти'; + } else { + $noarh = true; + $bsd = mysql_fetch_array(mysql_query('SELECT `id`,`users`,`arhiv`,`count`,`city`,`money` FROM `bs_turnirs` WHERE `id` = "' . $u->info['inTurnir'] . '" LIMIT 1')); + if (isset($bsd['id'])) { + $bsd_arh = mysql_fetch_array(mysql_query('SELECT `u`.`id`,`u`.`battle`,`s`.`x`,`s`.`y` FROM `users` AS `u` LEFT JOIN `stats` AS `s` ON `s`.`id` = `u`.`id` WHERE `u`.`inTurnir` = "' . $u->info['inTurnir'] . '" AND `u`.`login` = "Архивариус" AND `u`.`pass` = "bstowerbot" LIMIT 1')); + if ($bsd['users'] > 1 && $noarh == false && true == false) { + $u->error = 'Вы должны остаться единственным участником Башни Смерти'; + } else { + if ($u->info['inUser'] == 0) { + $usr_tk = mysql_fetch_array(mysql_query('SELECT `level`,`id`,`money`,`login`,`align`,`clan`,`sex` FROM `users` WHERE `inUser` = "' . $u->info['id'] . '" LIMIT 1')); + if (isset($usr_tk['id'])) { + if ($itm['price2'] == 0) { + $u->addKr($itm['price1']); + } else { + $u->addEkr($itm['price2'], $usr_tk['id']); + } + mysql_query('UPDATE `items_users` SET `iznosNOW` = `iznosNOW` + 1 WHERE `id` = ' . $itm['id'] . ' LIMIT 1'); + if ($itm['price2'] == 0) { + $u->error = 'Вы успешно обналичил чек на ' . $itm['price1'] . ' кр.'; + } else { + $u->error = 'Вы успешно обналичил чек на ' . $itm['price2'] . ' екр.'; + } + //Добавляем в лог БС + if ($itm['price2'] == 0) { + if ($u->info['sex'] == 0) { + $text = '{u1} обналичил чек на ' . $itm['price1'] . ' кр.'; + } else { + $text = '{u1} обналичила чек на ' . $itm['price1'] . ' кр.'; + } + } else { + if ($u->info['sex'] == 0) { + $text = '{u1} обналичил чек на ' . $itm['price2'] . ' екр.'; + } else { + $text = '{u1} обналичила чек на ' . $itm['price2'] . ' екр.'; + } + } + if (isset($usr_tk['id'])) { + $mereal = ''; + if ($usr_tk['align'] > 0) { + $mereal .= ''; + } + if ($usr_tk['clan'] > 0) { + $mereal .= ''; + } + $mereal .= '' . $usr_tk['login'] . ' [' . $usr_tk['level'] . ']'; + } else { + $mereal = 'Невидимка[??]'; + } + $text = str_replace('{u1}', $mereal, $text); + //Добавляем в лог БС + mysql_query('INSERT INTO `bs_logs` (`type`,`text`,`time`,`id_bs`,`count_bs`,`city`,`m`,`u`) VALUES ( + "1", "' . mysql_real_escape_string($text) . '", "' . time() . '", "' . $bsd['id'] . '", "' . $bsd['count'] . '", "' . $bsd['city'] . '", + "' . round($bsd['money'] * 0.85, 2) . '","' . $i . '" )'); - // - }else{ - $u->error = 'Что-то здесь не так...'; - } - }else{ - $u->error = 'Вы должны участвовать в турнире Башни Смерти'; - } - } - }else{ - $u->error = 'Необходимо участвовать в турнире Башни Смерти'; - } - } + // + } else { + $u->error = 'Что-то здесь не так...'; + } + } else { + $u->error = 'Вы должны участвовать в турнире Башни Смерти'; + } + } + } else { + $u->error = 'Необходимо участвовать в турнире Башни Смерти'; + } + } } ?> \ No newline at end of file diff --git a/_incl_data/class/magic/bloodcrystal.php b/_incl_data/class/magic/bloodcrystal.php deleted file mode 100644 index 74c0704e..00000000 --- a/_incl_data/class/magic/bloodcrystal.php +++ /dev/null @@ -1,15 +0,0 @@ -info['room'] == 322) { - $u->deleteItem($itm['id']); - mysql_query('UPDATE `rep` SET `rep2` = `rep2` + 1 WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->error = 'Вы успешно использовали "'.$itm['name'].'"...'; -}else{ - $u->error = 'Нельзя использовать в этой локации...'; -} -?> \ No newline at end of file diff --git a/_incl_data/crons/dungeon_clear.php b/_incl_data/crons/dungeon_clear.php index 64d29052..b6eb4bf2 100644 --- a/_incl_data/crons/dungeon_clear.php +++ b/_incl_data/crons/dungeon_clear.php @@ -18,11 +18,11 @@ require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . 'autoload.php'; # Пещера запущена более 3х часов назад # Время пещеры вышло (?!) # ??? bsid +# Это не пещера №15 (было захардкодено) $dungeons = Db::getRows( ' select - dungeon_now.city, dungeon_now.id as did from dungeon_now @@ -33,48 +33,41 @@ $dungeons = Db::getRows( users.online < unix_timestamp() - 10800 and dungeon_now.time_start < unix_timestamp() - 10800 and dungeon_now.time_finish = 0 and - dungeon_now.bsid = 0 + dungeon_now.bsid = 0 and + dungeon_now.id != 15 group by dungeon_now.id order by dungeon_now.id desc ' ); -foreach ($dungeons as $dungeon) { - if (!$dungeon['did'] || $dungeon['did'] === 15) { - continue; - } - # [1] Выкидываем игроков с подземелья и перемещаем его в `382` подвальное помещение - - $podvalRoom = 382; - if ($dungeon['city'] === 'capitalcity') { - $podvalRoom = 321; - } elseif ($dungeon['city'] === 'angelscity') { - $podvalRoom = 242; - } - - Db::sql('update stats set dnow = 0 where id in (select id from stats where dnow = ? limit 10)', [$dungeon['did']]); - # Выбросили игрока с подземелья и переместили в подвальное помещение - Db::sql( - 'update users set room = ? where id in (select id from stats where dnow = ? limit 10)', - [$podvalRoom, $dungeon['did']] - ); - # Выбрасываем пещерные предметы у игрока - Db::sql( - 'update items_users set `delete` = unix_timestamp() where dn_delete = 1 and uid in (select id from stats where dnow = ? limit 10)', - [$dungeon['did']] - ); - - # [2] Удаляем объекты. - Db::sql('delete from dungeon_obj where for_dn = 0 and dn = ?', [$dungeon['did']]); - - # [3] Удаляем монстров. - Db::sql('delete from dungeon_bots where for_dn = 0 and dn = ?', [$dungeon['did']]); - - # [4] Удаляем предметы. - Db::sql('delete from dungeon_items where for_dn = 0 and dn = ?', [$dungeon['did']]); - - # [5] Удаляем действия (actions) - Db::sql('delete from dungeon_actions where dn = ?', [$dungeon['did']]); - - # [6] Закрываем Подземелье Dungeon_Now - time_finish = time(); - Db::sql('update dungeon_now set time_finish = unix_timestamp() where id = ?', [$dungeon['did']]); +$arr = []; +foreach ($dungeons as $dungeonid) { + $arr[] = $dungeonid; } +$dungeonids = implode(',', $arr); + +$stats = Db::getRows('select id from stats where dnow in (?)', [$dungeonids]); +$arr2 = []; +foreach ($stats as $statid) { + $arr2[] = $statid; +} +$statids = implode(',', $arr2); + +# [1] Выкидываем игроков с подземелья и перемещаем его в `321` портал +Db::sql('update stats set dnow = 0 where id in (?)', [$statids]); +Db::sql('update users set room = 321 where id in (?)', [$statids]); +Db::sql('update items_users set `delete` = unix_timestamp() where dn_delete = 1 and uid in (?)', [$statids]); + +# [2] Удаляем объекты. +Db::sql('delete from dungeon_obj where for_dn = 0 and dn in (?)', [$dungeonids]); + +# [3] Удаляем монстров. +Db::sql('delete from dungeon_bots where for_dn = 0 and dn in (?)', [$dungeonids]); + +# [4] Удаляем предметы. +Db::sql('delete from dungeon_items where for_dn = 0 and dn in (?)', [$dungeonids]); + +# [5] Удаляем действия (actions) +Db::sql('delete from dungeon_actions where dn in (?)', [$dungeonids]); + +# [6] Закрываем Подземелье Dungeon_Now - time_finish = time(); +Db::sql('update dungeon_now set time_finish = unix_timestamp() where id in (?)', [$dungeonids]); diff --git a/_incl_data/crons/undone/clear.php b/_incl_data/crons/undone/clear.php index 0fbfe622..336e2122 100644 --- a/_incl_data/crons/undone/clear.php +++ b/_incl_data/crons/undone/clear.php @@ -49,7 +49,6 @@ function delete_user_all( $uid , $login ) { mysql_query('DELETE FROM `add_smiles` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `a_com_act` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `bandit` WHERE `uid` = "'.$uid.'"'); - mysql_query('DELETE FROM `bank` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `bank_alh` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `battle_act` WHERE `uid1` = "'.$uid.'" OR `uid2` = "'.$uid.'"'); mysql_query('DELETE FROM `battle_actions` WHERE `uid` = "'.$uid.'"'); @@ -92,7 +91,6 @@ function delete_user_all( $uid , $login ) { mysql_query('DELETE FROM `obraz` WHERE `uid` = "'.$uid.'" OR `login` = "'.$login.'"'); mysql_query('DELETE FROM `online` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `pirogi` WHERE `uid` = "'.$uid.'"'); - mysql_query('DELETE FROM `post` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `reimage` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `rep` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `repass` WHERE `uid` = "'.$uid.'"'); @@ -110,7 +108,6 @@ function delete_user_all( $uid , $login ) { mysql_query('DELETE FROM `users_turnirs` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `users_twink` WHERE `uid` = "'.$uid.'"'); mysql_query('DELETE FROM `zayavki` WHERE `creator` = "'.$uid.'"'); - mysql_query('DELETE FROM `_clan` WHERE `uid` = "'.$uid.'"'); } //1. Очистка чата, остается чат только за последние 3 дня diff --git a/bandit.php b/bandit.php index 357f6b30..8e78e573 100644 --- a/bandit.php +++ b/bandit.php @@ -1,161 +1,86 @@ room['name'] != 'Однорукий бандит') { die(); } -//Раздаем выйгрыши - - -function get2str($key = '', $val = '') +function roll(int $w1, int $w2, int $w3): array { - $get = $_GET; - if (is_array($key)) { - if (count($key) > 0) { - foreach ($key as $k => $v) { - $get[$k] = $v; - } - } - } else { - $get[$key] = $val; - } - if (count($get) > 0) { - foreach ($get as $k => $v) { - if (empty($v)) { - unset($get[$k]); - } - } - } - if (count($get) > 0) { - foreach ($get as $k => $v) { - $get[$k] = $k . '=' . urlencode($v); - } - return '?' . implode('&', $get); + $w = $w1 . $w2 . $w3; + $combo = [ + '000' => [50, 0], + '111' => [20, 1], + '222' => [10, 2], + '333' => [4, 3], + '444' => [2, 4], + ]; + + $win = 0; + $n = 99; + + if (isset($combo[$w])) { + [$win, $n] = $combo[$w]; + } elseif ($w1 == 4 && $w2 == 4 || $w1 == 4 && $w3 == 4 || $w2 == 4 && $w3 == 4) { + // 1 2 3 + $win = 1; + $n = 5; } + return ['win' => $win, 'n' => $n, 'combination' => $w]; } +//Раздаем выйгрыши + $r = ''; if (isset($_GET['bet'])) { - $s = 1; + $bet = 1; if ($_GET['bet'] == 2) { - $s = 2; + $bet = 2; } elseif ($_GET['bet'] == 3) { - $s = 3; + $bet = 3; } - if ($u->bank['money2'] >= $s) { + if ($u->info['money2'] >= $bet) { //Играем! - $w1 = rand(0, 4); - $w2 = rand(0, 4); - $w3 = rand(0, 4); - // - $win = 0; - $n = 99; - - if ($w1 == 0 && $w2 == 0 && $w3 == 0) { - // 50 100 150 - $win = 50; - $n = 0; - } elseif ($w1 == 1 && $w2 == 1 && $w3 == 1) { - // 20 40 60 - $win = 20; - $n = 1; - } elseif ($w1 == 2 && $w2 == 2 && $w3 == 2) { - // 10 20 30 - $win = 10; - $n = 2; - } elseif ($w1 == 3 && $w2 == 3 && $w3 == 3) { - // 4 8 12 - $win = 4; - $n = 3; - } elseif ($w1 == 4 && $w2 == 4 && $w3 == 4) { - // 2 4 6 - $win = 2; - $n = 4; - } elseif ($w1 == 4 && $w2 == 4) { - // 1 2 3 - $win = 1; - $n = 5; - } elseif ($w1 == 4 && $w3 == 4 || $w2 == 4 && $w3 == 4) { - // 1 2 3 - $win = 1; - $n = 5; - } + [$win, $n, $combination] = roll(rand(0, 4), rand(0, 4), rand(0, 4)); if (($n == 5 || $n == 4 || $n == 3) && rand(0, 100) >= 50) { //Играем! - $w1 = rand(0, 2); - $w2 = rand(0, 3); - $w3 = rand(0, 3); - // - $win = 0; - $n = 99; - - if ($w1 == 0 && $w2 == 0 && $w3 == 0) { - // 50 100 150 - $win = 50; - $n = 0; - } elseif ($w1 == 1 && $w2 == 1 && $w3 == 1) { - // 20 40 60 - $win = 20; - $n = 1; - } elseif ($w1 == 2 && $w2 == 2 && $w3 == 2) { - // 10 20 30 - $win = 10; - $n = 2; - } elseif ($w1 == 3 && $w2 == 3 && $w3 == 3) { - // 4 8 12 - $win = 4; - $n = 3; - } elseif ($w1 == 4 && $w2 == 4 && $w3 == 4) { - // 2 4 6 - $win = 2; - $n = 4; - } elseif ($w1 == 4 && $w2 == 4) { - // 1 2 3 - $win = 1; - $n = 5; - } elseif ($w1 == 4 && $w3 == 4 || $w2 == 4 && $w3 == 4) { - // 1 2 3 - $win = 1; - $n = 5; - } + [$win, $n, $combination] = roll(rand(0, 2), rand(0, 3), rand(0, 3)); } // - $u->bank['money2'] -= $s; - $u->bank['money2'] += $s * $win; - mysql_query( - 'UPDATE `bank` SET `money2` = "' . $u->bank['money2'] . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); + $u->info['money2'] -= $bet; + $u->info['money2'] += $bet * $win; + $u->addEkr($bet * $win - $bet); + // - mysql_query( - 'INSERT INTO `bandit` (`uid`,`time`,`room`,`s`,`wm`,`w`) VALUES ( - "' . $u->info['id'] . '","' . time( - ) . '","' . $u->info['room'] . '","' . $s . '","' . ($s * $win) . '","' . $w1 . $w2 . $w3 . '" - ) ' - ); - $gid = mysql_insert_id(); + Db::sql('insert into bandit (uid, time, room, s, wm, w) VALUES (?,unix_timestamp(), ?, ?, ?, ?)', + [$u->info['id'], $u->info['room'], $bet, $bet * $win, $combination]); + + $gid = Db::lastInsertId(); // if ($win > 0) { - $prize = $s * $win; + $prize = $bet * $win; $chatDto = new ChatMessage(); $chatDto->setCity($u->info['city']); $chatDto->setRoom(390); $chatDto->setLogin('Крупье'); - $chatDto->setText("Игрок {$u->info['login']} выиграл $prize екр, ставка $s екр, игра №$gid"); + $chatDto->setText("Игрок {$u->info['login']} выиграл $prize екр, ставка $bet екр, игра №$gid"); $chatDto->setType(6); (new Chat())->sendMsg($chatDto); } // - $r .= 'cash=' . floor($u->bank['money2']); - $r .= '&w1=' . $w1 . '&w2=' . $w2 . '&w3=' . $w3 . '&n=' . $n . '&win=' . ($s * $win); + $r .= 'cash=' . floor($u->info['money2']); + $r .= '&combination=' . $combination . '&n=' . $n . '&win=' . ($bet * $win); } } else { - $r .= 'cash=' . floor($u->bank['money2']); + $r .= 'cash=' . floor($u->info['money2']); } echo $r; diff --git a/buttons.php b/buttons.php index 4197a210..038c06a7 100644 --- a/buttons.php +++ b/buttons.php @@ -5,6 +5,7 @@ use Core\Config; use Core\Database; use Core\Db; +use User\Clan; use User\UserIp; if (!defined('GAME_VERSION')) { @@ -32,6 +33,9 @@ $u = User::start(); $filter = new Filter(); $chat = new Chat(); +$userclan = new Clan($u->info); + + ini_set('max_execution_time', '120'); if (isset($_GET['showcode'])) { @@ -58,6 +62,15 @@ if ($u->info['online'] < time() - 60) { $u->stats = $u->getStats($u->info['id'], 0); +if (!isset($_COOKIE['d1c'])) { + $detect = new MobileDetect; + $deviceType = $detect->isMobile() ? $detect->isTablet() ? 'tablet' : 'phone' : 'computer'; + $_COOKIE['d1c'] = $deviceType; + setcookie('d1c', $deviceType, (time() + 86400)); +} else { + $deviceType = $_COOKIE['d1c']; +} + ?> @@ -73,6 +86,8 @@ $u->stats = $u->getStats($u->info['id'], 0); - - isMobile() ? $detect->isTablet() ? 'tablet' : 'phone' : 'computer'; - $_COOKIE['d1c'] = $deviceType; - setcookie('d1c', $deviceType, (time() + 86400)); - } else { - $deviceType = $_COOKIE['d1c']; - } - - if ($deviceType == 'tablet' || $deviceType == 'phone'): ?> + - - - -
- - - - - - - info['id'])) { ?> -
Персонаж: '.$u->microLogin($u->info['id'],1).'';?>
- error != '' ) { - echo '
'.$u->error.'
'; - } - ?> - - - - - - - - - - - - - - - -
Акция! При первом пополнении баланса,
Вы получаете дополнительно 20% ЕКР к сумме покупки БЕСПЛАТНО.
-
- Ваш накопительный бонус: % ( ЕКР) -
- -
- - -
 
 
 
- - - - - - -
1 ЕКР Рублей
1 ЕКР Доллара *
-

-
- -
-
- Ваш баланс счёта: bank['money2']?> ЕКР и info['money']?> КР. -
- -
- Обмен -
- Обменять ЕКР на КР по курсу 1ЕКР=КР:    
-
-
- Обменять КР на ЕКР по курсу КР=1ЕКР:  
-
- -
- -
- Накопительные бонусы - - - - - - - - - - - - -
ЕКРБонусЕКРБонус
800 ЕКР10%3 000 ЕКР 30%
700 ЕКР9%2 500 ЕКР 27%
600 ЕКР8%2 000 ЕКР 25%
500 ЕКР7%1 700 ЕКР 23%
400 ЕКР6%1 500 ЕКР 21%
300 ЕКР5%1 300 ЕКР 19%
200 ЕКР4%1 200 ЕКР 17%
100 ЕКР3%1 100 ЕКР 15%
50 ЕКР2%1 000 ЕКР 13%
10 ЕКР1%900 ЕКР11%
-
- -
- Оптовые бонусы - - - - - - -
Бонус1%2%3%4%5%
Сумма10 ЕКР20 ЕКР30 ЕКР40 ЕКР50 ЕКР
Бонус6%7%8%9%10%
Сумма60 ЕКР70 ЕКР80 ЕКР90 ЕКР100 ЕКР
-
- -
Коммерческие услуги
- - - - -
- Покупка личного образа - - Стоимость услуги: ЕКР
- Требования к персональному образу:
- GIF-картинка размером 120x220 (ШхВ) и весом до 300 Кб.
-
- Выберите картинку: - -
-
- - - - - -
- Покупка образа питомца - - Стоимость услуги: ЕКР
- Требования к образу питомца:
- GIF-картинка размером 120x40 (ШхВ) и весом до 100 Кб.
-
- Выберите картинку: - -
-
- - - - -
- Покупка личного смайлика - - Стоимость услуги: ЕКР
- Требования к смайлику:
- GIF-картинка размером от 15x15 до 95x45 (ШхВ) и весом до 30 Кб.
-
- Выберите картинку: - -
-
- - - - - - -
- - - -
- Покупка кланового образа - - Стоимость услуги: ЕКР
- Требования к клановому образу:
- GIF-картинка размером 120x220 (ШхВ) и весом до 300 Кб.
-
- Выберите картинку: - -
-
- - -
- Смена имени персонажа - - Стоимость услуги: ЕКР
- Текущее имя: info['login']?>
-
- -
- -
- -
-
- info['clan'].'" LIMIT 1')); - if(date('m') == 12 || date('m') == 1) { - $price = 2; - }else{ - $price = 4.99; - } - if($u->bank['money2'] < $price) { - echo 'У вас недостаточно средств :)'; - }else{ - $u->bank['money2'] -= $price; - mysql_query('UPDATE `clan` SET `align` = "1" WHERE `id` = "'.$u->info['clan'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `align` = "1" WHERE `clan` = "'.$clan['id'].'"'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сменили склонность клану '.$clan['name'].'
С вас снятно '.$price.' ЕКР.'; - } - } - - elseif($_GET['align7']=='7') { - $clan = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`align` FROM `clan` WHERE `id` = "'.$u->info['clan'].'" LIMIT 1')); - if(date('m') == 12 || date('m') == 1) { - $price = 2; - }else{ - $price = 4.99; - } - if($u->bank['money2'] < $price) { - echo 'У вас недостаточно средств :)'; - }else{ - $u->bank['money2'] -= $price; - mysql_query('UPDATE `clan` SET `align` = "7" WHERE `id` = "'.$u->info['clan'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `align` = "7" WHERE `clan` = "'.$clan['id'].'"'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сменили склонность клану '.$clan['name'].'
С вас снятно '.$price.' ЕКР.'; - } - } - - elseif($_GET['align3']=='3') { - $clan = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`align` FROM `clan` WHERE `id` = "'.$u->info['clan'].'" LIMIT 1')); - if(date('m') == 12 || date('m') == 1) { - $price = 2; - }else{ - $price = 4.99; - } - if($u->bank['money2'] < $price) { - echo 'У вас недостаточно средств :)'; - }elseif($clan['align'] == 3) { - echo 'У вашего клана Темная склонность...'; - }else{ - $u->bank['money2'] -= $price; - mysql_query('UPDATE `clan` SET `align` = "3" WHERE `id` = "'.$u->info['clan'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `align` = "3" WHERE `clan` = "'.$clan['id'].'"'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сменили склонность клану '.$clan['name'].'
С вас снятно '.$price.' ЕКР.'; - } - } - ?> - info['clan_prava'] == 'glava') { ?> -
- Изменение склонности клана: - Стоимость услуги: ЕКР
- - Светлая  


- - Нейтральная  


- - Темная  


-
- - -
 
- -
- - - \ No newline at end of file diff --git a/img.new-combats.com/i/obraz/0/ekr.php b/img.new-combats.com/i/obraz/0/ekr.php deleted file mode 100644 index c7b07e8d..00000000 --- a/img.new-combats.com/i/obraz/0/ekr.php +++ /dev/null @@ -1,1192 +0,0 @@ -0.13 ЕКР. Приятной Вам игры! - - include('_incl_data/__config.php'); - include('_incl_data/class/__db_connect.php'); - include('_incl_data/class/__user.php'); - if(!isset($u->info['id'])) { - header('location: http://new-combats.com/'); - die(); - } - - class upload { - - protected function __construct() { } - - //static $save_path = '/var/www/bk2ru/data/www/new-combats.com/clan_prw/'; - static $save_path = 'clan_prw/'; - static $error = ''; - - static function saveimg($name,$max_mb = 2,$exts = 'jpg|png|jpeg|gif',$cnm = '',$mnw = 0,$mxw = 0,$mnh = 0,$mxh = 0) { - if (isset($_FILES[$name])) { - $f = &$_FILES[$name]; - if(isset($f['tmp_name'])) { - $width = 0; - $height = 0; - list($width, $height) = getimagesize($f['tmp_name']); - } - - if( $mnw != 0 && $mnw > $width ) { - self::$error = 'Минимальная ширина картинки '.$mnw.' пикселей. (Размер этой картинки '.$width.'x'.$height.')'; - }elseif( $mxw != 0 && $mxw < $width ) { - self::$error = 'Максимальная ширина картинки '.$mxw.' пикселей. (Размер этой картинки '.$width.'x'.$height.')'; - }elseif( $mnh != 0 && $mnh > $height ) { - self::$error = 'Минимальная высота картинки '.$mnh.' пикселей. (Размер этой картинки '.$width.'x'.$height.')'; - }elseif( $mxh != 0 && $mxh < $height ) { - self::$error = 'Максимальная высота картинки '.$mxh.' пикселей. (Размер этой картинки '.$width.'x'.$height.')'; - }elseif( !is_dir( self::$save_path ) ) { - self::$error = 'Ошибка на стороне сервера!'; - }elseif (($f['size'] <= $max_mb*1024*1024) && ($f['size'] > 0)) { - if ( - (preg_match('/\.('.$exts.')$/i',$f['name'],$ext))&& - (preg_match('/image/i',$f['type'])) - ) { - - $ext[1] = strtolower($ext[1]); - $fn = uniqid('f_',true).'.'.$ext[1]; - $fn2 = uniqid('f_',true).'.gif'; - if( $cnm != '' ) { - $fn = $cnm; - $fn2 = $cnm; - } - if (move_uploaded_file($f['tmp_name'], self::$save_path . $fn)) { - // система изменения размера , требуется Rimage - //Rimage::resize(self::$save_path . $fn, self::$save_path . $fn2); - //@unlink(self::$save_path . $fn); // удаление файла - return array($fn2,$fn,self::$save_path . $fn); - } else { - self::$error = 'Ошибка загрузки файла'; - } - } else { - self::$error = 'Неверный тип файла. Допустимые типы : '.$exts.''; - } - } else { - self::$error = 'Неверный размер файла. Максимальный размер файла '.$max_mb.' МБ'; - } - } else { - self::$error = 'Файл не найден'; - } - return false; - } // end saveimg - - } // end class - - $ball = mysql_fetch_array(mysql_query('SELECT SUM(`ekr`) FROM `pay_operation` WHERE `uid` = "'.$u->info['id'].'" AND `good` > 0 LIMIT 1')); - $ball = 0+$ball[0]; -}else{ - $ball = mysql_fetch_array(mysql_query('SELECT SUM(`ekr`) FROM `pay_operation` WHERE `uid` = "'.$user['id'].'" AND `good` > 0 LIMIT 1')); - $ball = 0+$ball[0]; -} - -$day1def = 50; //сколько екр. в день можно менять на кр. -$day2def = 5000 * ($u->info['level']-8); //сколько кр. в день можно менять на екр. - -$day1 = $day1def; -$day2 = $day2def; - -if( $day2 < 0 ) { $day2 = 0; } - -$timetoday = strtotime(date('d.m.Y')); -// -$dc1 = mysql_fetch_array(mysql_query('SELECT SUM(`money2`) FROM `user_operation` WHERE `time` >= "'.$timetoday.'" AND `uid` = "'.$u->info['id'].'" AND `type` = "Обмен ЕКР на КР" LIMIT 1')); -$dc2 = mysql_fetch_array(mysql_query('SELECT SUM(`money`) FROM `user_operation` WHERE `time` >= "'.$timetoday.'" AND `uid` = "'.$u->info['id'].'" AND `type` = "Обмен КР на ЕКР" LIMIT 1')); -$dc1 = $dc1[0]; -$dc2 = $dc2[0]; - -$day1 = round($day1+$dc1,2); -$day2 = round($day2+$dc2,2); - -if($day1 < 0) { $day1 = 0; } -if($day2 < 0) { $day2 = 0; } - - -$b1 = 0; //бонус накопительный - -$bt = mysql_fetch_array(mysql_query('SELECT * FROM `bank_table` ORDER BY `time` DESC LIMIT 1')); - -$bns = array( - array( 0 , 0 , 0 ), - array( 10 , 1 , 0 ), - array( 50 , 2 , 0 ), - array( 100 , 3 , 0 ), - array( 200 , 4 , 0 ), - array( 300 , 5 , 0 ), - array( 400 , 6 , 0 ), - array( 500 , 7 , 0 ), - array( 600 , 8 , 0 ), - array( 700 , 9 , 0 ), - array( 800 , 10 , 0 ), - array( 900 , 11 , 0 ), - array( 1000 , 13 , 1 ), - array( 1100 , 15 , 2 ), - array( 1200 , 17 , 3 ), - array( 1300 , 19 , 4 ), - array( 1500 , 21 , 5 ), - array( 1700 , 23 , 6 ), - array( 2000 , 25 , 7 ), - array( 2500 , 27 , 8 ), - array( 3000 , 30 , 9 ) -); - -$bns2 = array( - array(0,0), - array(10,1), - array(20,2), - array(30,3), - array(40,4), - array(50,5), - array(60,6), - array(70,7), - array(80,8), - array(90,9), - array(100,10) -); - -$i = 0; -while( $i < count($bns) ) { - if( isset($bns[$i][0]) && $ball > $bns[$i][0] ) { - $b1 = $i; - } - $i++; -} - -if( isset($backdoor) ) { - $i = 0; - while( $i < count($bns2) ) { - if( isset($bns2[$i][0]) && $pay['ekr'] >= $bns2[$i][0] ) { - $b2 = $i; - } - $i++; - } -} - -if(!isset($backdoor)) { - - if(isset($_POST['do']) && $_POST['do'] == 'newShadow') { - $o = mysql_fetch_array(mysql_query('SELECT * FROM `_obraz` WHERE `uid` = "'.$u->info['id'].'" AND `good` = 0 AND `cancel` = 0 AND `img` = "'.mysql_real_escape_string($_POST['ffinput']).'" LIMIT 1')); - if(!isset($o['id'])) { - $u->error = 'Данный образ не найден! Возможно он уже был подтвержден!'; - }elseif( $o['price'] > $u->bank['money2'] ) { - $u->error = 'На счету недостаточно ЕКР'; - }else{ - // - $u->bank['money2'] -= $o['price']; - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - // - mysql_query('UPDATE `_obraz` SET `good` = "'.time().'" WHERE `id` = "'.$o['id'].'" LIMIT 1'); - if( $o['type'] == 1 || $o['type'] == 2 ) { - //Личный или Клановый - copy('clan_prw/'.$o['img'],'../img.new-combats.com/i/obraz/'.$o['sex'].'/buy'.$o['id'].'.gif'); - }elseif( $o['type'] == 3 ) { - //Питомец - copy('clan_prw/'.$o['img'],'../img.new-combats.com/i/obraz/0/buy'.$o['id'].'.gif'); - }elseif( $o['type'] == 5 ) { - //Смайлы - copy('clan_prw/'.$o['img'],'../img.new-combats.com/i/smile/s'.$o['id'].'.gif'); - } - // - if( $_POST['ffsex'] == 1 ) { - $o['sex'] = 1; - }elseif( $_POST['ffsex'] == 0 ) { - $o['sex'] = 0; - } - // - if( $o['clan'] > 0 ) { - $o['uid1'] = 0; - }else{ - $o['uid1'] = $o['uid']; - } - // - $animal = 1; - if( $o['type'] == 1 || $o['type'] == 2 ) { - //Личный и клановый - mysql_query('INSERT INTO `obraz` ( - `sex`,`uid`,`img`,`usr_add`,`clan` - ) VALUES ( - "'.$o['sex'].'","'.$o['uid1'].'","buy'.$o['id'].'.gif","'.$o['uid'].'","'.$o['clan'].'" - )'); - }elseif( $o['type'] == 3 ) { - //Питомца - mysql_query('INSERT INTO `obraz` ( - `uid`,`animal`,`img` - ) VALUES ( - "'.$u->info['id'].'","'.$animal.'","'.mysql_real_escape_string('buy'.$o['id'].'.gif').'" - )'); - }elseif( $o['type'] == 5 ) { - //Смайлик - $u->info['add_smiles'] .= ',s'.$o['id'].''; - $u->info['add_smiles'] = ltrim($u->info['add_smiles'],','); - mysql_query('UPDATE `users` SET `add_smiles` = "'.$u->info['add_smiles'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } - // - if( $o['type'] == 1 ) { - $u->error = 'Личный образ успешно установлен! Можете выбрать его в инвентаре, в разделе Образ.'; - }elseif( $o['type'] == 2 ) { - $u->error = 'Клановый образ успешно установлен! Можете выбрать его в инвентаре, в разделе Образ.'; - }elseif( $o['type'] == 3 ) { - $u->error = 'Личный образ питомца успешно установлен! Можете выбрать его в инвентаре, в разделе Звери.'; - }elseif( $o['type'] == 5 ) { - $u->error = 'Личный смайлик успешно установлен! Можете выбрать его в разделе Личные смайлики. Код смайлика :s'.$o['id'].':'; - } - } - }elseif(isset($_FILES['img'])) { - //Личный образ - if(date('m') == 12 || date('m') == 1) { - $ekr = 5; - }else{ - $ekr = 5; - } - if( $u->bank['money2'] < $ekr ) { - echo '{"err":"На счету недостаточно ЕКР"}'; - }else{ - $obraz = 'f_shadow1_'.$u->info['id'].'-'.md5((time()-rand(0,1000)).'#shadow1').'.gif'; - // - if($file = upload::saveimg('img',0.3,'gif',$obraz,120,120,220,220)) { - // - //$u->info['money2'] -= $ekr; - //mysql_query('UPDATE `users` SET `money2` = "'.$u->info['money2'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - // - mysql_query('INSERT INTO `_obraz` ( `uid`,`time`,`price`,`good`,`cancel`,`img`,`sex`,`type`,`clan` ) VALUES ( - "'.$u->info['id'].'", - "'.time().'", - "'.mysql_real_escape_string($ekr).'", - "0", - "0", - "'.mysql_real_escape_string($obraz).'", - "'.$u->info['sex'].'", - "1", - "0" - ) '); - echo '{"img":"'.$obraz.'"}'; - }else{ - echo '{"err":"'.upload::$error.'"}'; - } - } - die(); - }elseif(isset($_FILES['img5'])) { - //Личный смайлик - if(date('m') == 12 || date('m') == 1) { - $ekr = 1.20; - }else{ - $ekr = 2.99; - } - if( $u->bank['money2'] < $ekr ) { - echo '{"err":"На счету недостаточно ЕКР"}'; - }else{ - $obraz = 'f_smile_'.$u->info['id'].'-'.md5((time()-rand(0,1000)).'#smile').'.gif'; - // - if($file = upload::saveimg('img5',0.03,'gif',$obraz,15,100,15,50)) { - // - //$u->info['money2'] -= $ekr; - //mysql_query('UPDATE `users` SET `money2` = "'.$u->info['money2'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - // - mysql_query('INSERT INTO `_obraz` ( `uid`,`time`,`price`,`good`,`cancel`,`img`,`sex`,`type`,`clan` ) VALUES ( - "'.$u->info['id'].'", - "'.time().'", - "'.mysql_real_escape_string($ekr).'", - "0", - "0", - "'.mysql_real_escape_string($obraz).'", - "0", - "5", - "0" - ) '); - echo '{"img":"'.$obraz.'"}'; - }else{ - echo '{"err":"'.upload::$error.'"}'; - } - } - die(); - }elseif(isset($_FILES['img2'])) { - //Клановый образ - if(date('m') == 12 || date('m') == 1) { - $ekr = 20; - }else{ - $ekr = 49.99; - } - if( $u->info['clan'] == 0 ) { - echo '{"err":"Вы должны состоять в клане"}'; - }elseif( $u->bank['money2'] < $ekr ) { - echo '{"err":"На счету недостаточно ЕКР"}'; - }else{ - $obraz = 'f_shadow2_'.$u->info['id'].'-'.md5((time()-rand(0,1000)).'#shadow2').'.gif'; - // - if($file = upload::saveimg('img2',0.3,'gif',$obraz,120,120,220,220)) { - // - //$u->info['money2'] -= $ekr; - //mysql_query('UPDATE `users` SET `money2` = "'.$u->info['money2'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - // - mysql_query('INSERT INTO `_obraz` ( `uid`,`time`,`price`,`good`,`cancel`,`img`,`sex`,`type`,`clan` ) VALUES ( - "'.$u->info['id'].'", - "'.time().'", - "'.mysql_real_escape_string($ekr).'", - "0", - "0", - "'.mysql_real_escape_string($obraz).'", - "'.$u->info['sex'].'", - "2", - "'.$u->info['clan'].'" - ) '); - echo '{"img":"'.$obraz.'"}'; - }else{ - echo '{"err":"'.upload::$error.'"}'; - } - } - die(); - }elseif(isset($_FILES['img4'])) { - //Питомец образ - if(date('m') == 12 || date('m') == 1) { - $ekr = 2; - }else{ - $ekr = 4.99; - } - if( $u->bank['money2'] < $ekr ) { - echo '{"err":"На счету недостаточно ЕКР"}'; - }else{ - $obraz = 'f_shadow3_'.$u->info['id'].'-'.md5((time()-rand(0,1000)).'#shadow3').'.gif'; - // - if($file = upload::saveimg('img4',0.3,'gif',$obraz,120,120,40,40)) { - // - //$u->info['money2'] -= $ekr; - //mysql_query('UPDATE `users` SET `money2` = "'.$u->info['money2'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - // - mysql_query('INSERT INTO `_obraz` ( `uid`,`time`,`price`,`good`,`cancel`,`img`,`sex`,`type`,`clan` ) VALUES ( - "'.$u->info['id'].'", - "'.time().'", - "'.mysql_real_escape_string($ekr).'", - "0", - "0", - "'.mysql_real_escape_string($obraz).'", - "'.$u->info['sex'].'", - "3", - "'.$u->info['clan'].'" - ) '); - echo '{"img":"'.$obraz.'"}'; - }else{ - echo '{"err":"'.upload::$error.'"}'; - } - } - die(); - }elseif(isset($_POST['kr001'])) { - //Обмен екр на кр. - $kr = round($_POST['kr001'],2); - if( $c['crtoecr'] < 0.01 ) { - $u->error = 'Сегодня обменник закрыт.'; - }elseif( $day2 < 0.01 ) { - $u->error = 'Сегодня для вас обмен закрыт, приходите завтра.'; - }elseif( $kr < round($c['crtoecr']/100,2) ) { - $u->error = 'Минимальная сумма обмена '.round($c['crtoecr']/100,2).' КР.'; - }elseif( $kr > $day2 ) { - $u->error = 'Вы можете обменять еще '.$day2.' КР сегодня.'; - }elseif( $kr > $u->info['money']) { - $u->error = 'Недостаточно денег для обмена.'; - }else{ - $ekr = round($kr / $c['crtoecr'],2); - $u->error = 'Вы успешно обменяли '.$kr.' КР на '.$ekr.' ЕКР.'; - // - $u->info['money'] -= $kr; - $u->bank['money2'] += $ekr; - // - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('INSERT INTO `user_operation` ( `uid`,`time`,`money`,`money2`,`type`,`b1`,`b2` ) VALUES ( - "'.$u->info['id'].'","'.time().'","'.round(-$kr,2).'","'.round($ekr,2).'","Обмен КР на ЕКР","'.$u->info['money'].'","'.$u->bank['money2'].'" - )'); - } - $dc1 = mysql_fetch_array(mysql_query('SELECT SUM(`money2`) FROM `user_operation` WHERE `time` >= "'.$timetoday.'" AND `uid` = "'.$u->info['id'].'" AND `type` = "Обмен ЕКР на КР" LIMIT 1')); - $dc2 = mysql_fetch_array(mysql_query('SELECT SUM(`money`) FROM `user_operation` WHERE `time` >= "'.$timetoday.'" AND `uid` = "'.$u->info['id'].'" AND `type` = "Обмен КР на ЕКР" LIMIT 1')); - $dc1 = $dc1[0]; - $dc2 = $dc2[0]; - $day1 = round($day1def+$dc1,2); - $day2 = round($day2def+$dc2,2); - }elseif(isset($_POST['ekr2'])) { - //Обмен екр на кр. - $ekr = round($_POST['ekr2'],2); - if( $c['ecrtocr'] < 0.01 ) { - $u->error = 'Сегодня обменник закрыт.'; - }elseif( $day1 < 0.01 ) { - $u->error = 'Сегодня для вас обмен закрыт, приходите завтра.'; - }elseif( $ekr < 0.01 ) { - $u->error = 'Минимальная сумма обмена 0.01 ЕКР.'; - }elseif( $ekr > $day1 ) { - $u->error = 'Вы можете обменять еще '.$day1.' ЕКР сегодня.'; - }elseif( $ekr > $u->bank['money2']) { - $u->error = 'Недостаточно денег для обмена.'; - }else{ - $kr = round($ekr * $c['ecrtocr'],2); - $u->error = 'Вы успешно обменяли '.$ekr.' ЕКР на '.$kr.' КР.'; - // - $u->info['money'] += $kr; - $u->bank['money2'] -= $ekr; - // - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('INSERT INTO `user_operation` ( `uid`,`time`,`money`,`money2`,`type`,`b1`,`b2` ) VALUES ( - "'.$u->info['id'].'","'.time().'","'.round($kr,2).'","'.round(-$ekr,2).'","Обмен ЕКР на КР","'.$u->info['money'].'","'.$u->bank['money2'].'" - )'); - } - $dc1 = mysql_fetch_array(mysql_query('SELECT SUM(`money2`) FROM `user_operation` WHERE `time` >= "'.$timetoday.'" AND `uid` = "'.$u->info['id'].'" AND `type` = "Обмен ЕКР на КР" LIMIT 1')); - $dc2 = mysql_fetch_array(mysql_query('SELECT SUM(`money`) FROM `user_operation` WHERE `time` >= "'.$timetoday.'" AND `uid` = "'.$u->info['id'].'" AND `type` = "Обмен КР на ЕКР" LIMIT 1')); - $dc1 = $dc1[0]; - $dc2 = $dc2[0]; - $day1 = round($day1def+$dc1,2); - $day2 = round($day2def+$dc2,2); - }elseif(isset($_POST['login'])) { - // - function en_ru($txt) { - $g = false; - $en = preg_match("/^(([0-9a-zA-Z _-])+)$/i", $txt); - $ru = preg_match("/^(([0-9а-яА-Я _-])+)$/i", $txt); - if(($ru && $en) || (!$ru && !$en)) { - $g = true; - } - return $g; - } - // - function testBad($txt) { - $white = '-_ 0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёйцукенгшщзхъфывапролджэячсмитьбю'; - $r = false; - $i = 0; - while( $i != -1 ) { - if( isset($txt[$i]) ) { - $g = false; - $j = 0; - while( $j != -1 ) { - if(isset($white[$j])) { - if( $white[$j] == $txt[$i] ) { - $g = true; - } - }else{ - $j = -2; - } - $j++; - } - if( $g == false ) { - $r = true; - } - }else{ - $i = -2; - } - $i++; - } - return $r; - } - - function is_login($login) { - $r = true; - // - $login = htmlspecialchars($login,NULL); - // - $bad = array( - 'Мусорщик' => 1, - 'Мироздатель' => 1 - ); - // - $login_db = mysql_fetch_array(mysql_query('SELECT `id` FROM `users` WHERE `login` = "'.mysql_real_escape_string($login).'" LIMIT 1')); - if( isset($login_db['id']) || isset($bad[$login]) ) { - $r = false; - }else{ - $true = true; - // - /* - Логин может содержать от 2 до 16 символов, и состоять только из букв русского ИЛИ английского алфавита, цифр, символов '_', '-' и пробела. - Логин не может начинаться или заканчиваться символами '_', '-' или пробелом. - */ - // - $login = str_replace(' ',' ',$login); - $login = str_replace('%',' ',$login); - $login = str_replace(' ',' ',$login); - // - if( strlen($login) > 16 ) { - $true = false; - }elseif( strlen($login) < 2 ) { - $true = false; - }elseif( strripos($login,' ') == true ) { - $true = false; - }elseif( substr($login,1) == ' ' || substr($login,-1) == ' ' ) { - $true = false; - }elseif( substr($login,1) == '-' || substr($login,-1) == '-' ) { - $true = false; - }elseif( substr($login,1) == '_' || substr($login,-1) == '_' ) { - $true = false; - }elseif( testBad($login) == true ) { - $true = false; - }elseif( en_ru(str_replace('ё','е',str_replace('Ё','Е',$login))) == true ) { - $true = false; - } - // - if( $true == false ) { - $r = false; - }else{ - $r = true; - } - } - return $r; - } - if(date('m') == 12 || date('m') == 1) { - $ekr = 2; - }else{ - $ekr = 4.99; - } - if( $u->info['login'] == $_POST['login'] ) { - $u->error = 'Выберите другой логин...'; - }elseif( $u->bank['money2'] < $ekr ) { - $u->error = 'Недостаточно средств.'; - }else{ - $login = htmlspecialchars($_POST['login'],NULL); - if( is_login($login) == true ) { - mysql_query('INSERT INTO `lastnames` ( `uid`,`login`,`newlogin`,`time` ) VALUES ( - "'.$u->info['id'].'","'.$u->info['login'].'","'.mysql_real_escape_string($login).'","'.time().'" - )'); - $u->info['login_last'] = $u->info['login']; - $u->info['login'] = $login; - if(date('m') == 12 || date('m') == 1) { - $u->info['money2'] -= 2; - }else{ - $u->bank['money2'] -= 4.99; - } - // - mysql_query("UPDATE `items_users` SET `data` = replace( `data` , 'sudba=".$u->info['login_last']."', 'sudba=".mysql_real_escape_string($u->info['login'])."') WHERE `data` LIKE '%sudba=".mysql_real_escape_string($u->info['login_last'])."%' AND `uid` = '".$u->info['id']."'"); - // - mysql_query('UPDATE `users` SET `login` = "'.mysql_real_escape_string($u->info['login']).'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - $u->error = 'Вы успешно сменили логин на "'.$u->info['login'].'" перезайдите в игру с главной страницы.'; - }else{ - $u->error = 'Выберите другой логин...'; - } - } - }elseif(isset($_GET['buy_ekr'])) { - // - $mrh_login = "28706"; - $mrh_pass1 = "ugmhd7vi"; - // - $inv_id = 0; - // - $out_ekr = round($_POST['ekr'],2); - if( $out_ekr < 0) { - // - $out_ekr = 0; - } - $out_summ = round($out_ekr*$bt['cur'],2); - $inv_desc = 'Приобрести '.$out_ekr.' екр., персонаж №'.$u->info['id'].', дилер №'.round((int)$_POST['ref']).''; - // - $shp_item = 0; - // - //Бонус опытовый, первичный и накопительный - $out_ekr0 = $out_ekr; - // - $out_ekr += round($out_ekr0/100*$bns[$b1][1],2); - $i = 0; - while( $i < count($bns2) ) { - if( isset($bns2[$i][0]) && $out_ekr >= $bns2[$i][0] ) { - $b2_2 = $i; - } - $i++; - } - $out_ekr += round($out_ekr0/100*$bns2[$b2_2][1],2); - if($ball == 0) { - $out_ekr += round($out_ekr0/100*20,2); - } - // - //Добавляем в базу - mysql_query('INSERT INTO `pay_operation` ( - `uid`,`bank`,`code`,`ekr`,`time`,`good`,`cur`,`var`,`val`,`ref`,`ref2`,`ip`,`date` - ) VALUES ( - "'.$u->info['id'].'","'.$u->bank['id'].'","'.mysql_real_escape_string((int)$_GET['code']).'","'.mysql_real_escape_string($out_ekr).'", - "'.time().'","0","'.mysql_real_escape_string($cur['cur']).'","buy_ekr","0","'.mysql_real_escape_string($u->info['host_reg']).'", - "'.mysql_real_escape_string((int)$_GET['ref']).'","'.mysql_real_escape_string(IP).'","'.date('Y-m-d H:i:s').'" - )'); - - $shp_item = mysql_insert_id(); - - if($shp_item > 0) { - //ожидаем оплаты - }else{ - die('Ошибка в обработке платежа, обратитесь к Администрации'); - } - if($out_ekr < 1) { - die('Минимальная сумма покупки 1 екр.'); - } - // - // предлагаемая валюта платежа - // default payment e-currency - $in_curr = ""; - - // язык - // language - $culture = "ru"; - - // формирование подписи - // generate signature - $crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item"); - - // форма оплаты товара - // payment form - $url = 'http://www.free-kassa.ru/merchant/cash.php?'; - $url .= 'MrchLogin='.$mrh_login.'&'; - $url .= 'OutSum='.$out_summ.'&'; - $url .= 'InvId='.$inv_id.'&'; - $url .= 'Desc='.$inv_desc.'&'; - $url .= 'SignatureValue='.$crc.'&'; - $url .= 'Shp_item='.$shp_item.'&'; - $url .= 'IncCurrLabel='.$in_curr.'&'; - $url .= 'Culture='.$culture.'&'; - // - header('location: '.$url); - die(); - print "". - "
". - "Сумма платежа: ".$out_ekr." Екр. ". - "". - "". - "". - "". - "". - "". - "". - "". - "
". - "(Все средства идут на развитие и улучшение игры)". - "
"; - die(); - } - //цены - if(date('m') >= 12 || date('m') == 1) { - $ekr_pet = 2; - $ekr_shadow = 8; - $ekr_clan_shadow = 20; - $ekr_smile = 1.20; - $ekr_login = 2; - $ekr_align = 2; - }else{ - $ekr_pet = 4.99; - $ekr_shadow = 5; - $ekr_clan_shadow = 49.99; - $ekr_smile = 2.99; - $ekr_login = 4.99; - $ekr_align = 4.99; - } - -?> - - - Покупка ЕвроКредитов - - - - - - - - - - -
- - - - - - - info['id'])) { ?> -
Персонаж: '.$u->microLogin($u->info['id'],1).'';?>
- error != '' ) { - echo '
'.$u->error.'
'; - } - ?> - - - - - - - - - - - - - - - -
Акция! При первом пополнении баланса,
Вы получаете дополнительно 20% ЕКР к сумме покупки БЕСПЛАТНО.
-
- Ваш накопительный бонус: % ( ЕКР) -
- -
- - -
 
 
 
- - - - - - -
1 ЕКР Рублей
1 ЕКР Доллара *
- - -

-
- -
-
- Ваш баланс счёта: bank['money2']?> ЕКР и info['money']?> КР. -
- -
- Обмен -
- Обменять ЕКР на КР по курсу 1ЕКР=КР:    
-
-
- Обменять КР на ЕКР по курсу КР=1ЕКР:  
-
- -
- -
- Накопительные бонусы - - - - - - - - - - - - -
ЕКРБонусЕКРБонус
800 ЕКР10%3 000 ЕКР 30%
700 ЕКР9%2 500 ЕКР 27%
600 ЕКР8%2 000 ЕКР 25%
500 ЕКР7%1 700 ЕКР 23%
400 ЕКР6%1 500 ЕКР 21%
300 ЕКР5%1 300 ЕКР 19%
200 ЕКР4%1 200 ЕКР 17%
100 ЕКР3%1 100 ЕКР 15%
50 ЕКР2%1 000 ЕКР 13%
10 ЕКР1%900 ЕКР11%
-
- -
- Оптовые бонусы - - - - - - -
Бонус1%2%3%4%5%
Сумма10 ЕКР20 ЕКР30 ЕКР40 ЕКР50 ЕКР
Бонус6%7%8%9%10%
Сумма60 ЕКР70 ЕКР80 ЕКР90 ЕКР100 ЕКР
-
- -
Коммерческие услуги
- - - - -
- Покупка личного образа - - Стоимость услуги: ЕКР
- Требования к персональному образу:
- GIF-картинка размером 120x220 (ШхВ) и весом до 300 Кб.
-
- Выберите картинку: - -
-
- - - - - -
- Покупка образа питомца - - Стоимость услуги: ЕКР
- Требования к образу питомца:
- GIF-картинка размером 120x40 (ШхВ) и весом до 100 Кб.
-
- Выберите картинку: - -
-
- - - - -
- Покупка личного смайлика - - Стоимость услуги: ЕКР
- Требования к смайлику:
- GIF-картинка размером от 15x15 до 95x45 (ШхВ) и весом до 30 Кб.
-
- Выберите картинку: - -
-
- - - - - - -
- - - -
- Покупка кланового образа - - Стоимость услуги: ЕКР
- Требования к клановому образу:
- GIF-картинка размером 120x220 (ШхВ) и весом до 300 Кб.
-
- Выберите картинку: - -
-
- - -
- Смена имени персонажа - - Стоимость услуги: ЕКР
- Текущее имя: info['login']?>
-
- -
- -
- -
-
- info['clan'].'" LIMIT 1')); - if(date('m') == 12 || date('m') == 1) { - $price = 2; - }else{ - $price = 4.99; - } - if($u->bank['money2'] < $price) { - echo 'У вас недостаточно средств :)'; - }else{ - $u->bank['money2'] -= $price; - mysql_query('UPDATE `clan` SET `align` = "1" WHERE `id` = "'.$u->info['clan'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `align` = "1" WHERE `clan` = "'.$clan['id'].'"'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сменили склонность клану '.$clan['name'].'
С вас снятно '.$price.' ЕКР.'; - } - } - - elseif($_GET['align7']=='7') { - $clan = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`align` FROM `clan` WHERE `id` = "'.$u->info['clan'].'" LIMIT 1')); - if(date('m') == 12 || date('m') == 1) { - $price = 2; - }else{ - $price = 4.99; - } - if($u->bank['money2'] < $price) { - echo 'У вас недостаточно средств :)'; - }else{ - $u->bank['money2'] -= $price; - mysql_query('UPDATE `clan` SET `align` = "7" WHERE `id` = "'.$u->info['clan'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `align` = "7" WHERE `clan` = "'.$clan['id'].'"'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сменили склонность клану '.$clan['name'].'
С вас снятно '.$price.' ЕКР.'; - } - } - - elseif($_GET['align3']=='3') { - $clan = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`align` FROM `clan` WHERE `id` = "'.$u->info['clan'].'" LIMIT 1')); - if(date('m') == 12 || date('m') == 1) { - $price = 2; - }else{ - $price = 4.99; - } - if($u->bank['money2'] < $price) { - echo 'У вас недостаточно средств :)'; - }elseif($clan['align'] == 3) { - echo 'У вашего клана Темная склонность...'; - }else{ - $u->bank['money2'] -= $price; - mysql_query('UPDATE `clan` SET `align` = "3" WHERE `id` = "'.$u->info['clan'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `align` = "3" WHERE `clan` = "'.$clan['id'].'"'); - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `uid` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сменили склонность клану '.$clan['name'].'
С вас снятно '.$price.' ЕКР.'; - } - } - ?> - info['clan_prava'] == 'glava') { ?> -
- Изменение склонности клана: - Стоимость услуги: ЕКР
- - Светлая  


- - Нейтральная  


- - Темная  


-
- - -
 
- -
- - - \ No newline at end of file diff --git a/inf.php b/inf.php index ffe0ab8a..ddd3c2a9 100644 --- a/inf.php +++ b/inf.php @@ -467,7 +467,7 @@ if ($inf['inTurnir'] > 0 && ($u->info['inTurnir'] == $inf['inTurnir'] || $u->inf - + Информация о <?= $inf['login']; ?> var lafstReg = {}; function lookGift(e, id, nm, img, txt, from) { if (from == 1) { from = 'Невидимка'; } if (!e) { e = window.event; } var body2 = document.body; mX = e.x; mY = e.y + (body2 && body2.scrollTop || 0); var gf = document.getElementById('gi'); if (gf != undefined) { gf.style.top = mY + 'px'; gf.style.left = mX + 'px'; if (from == 'Анонима') { from = 'Анонима'; } gf.innerHTML = `${nm}   X
${txt}
Подарок от ${from}
`; gf.innerHTML = `${gf.innerHTML}`; gf.style.display = ''; } } function closeGift() { var gf = document.getElementById('gi'); if (gf != undefined) { gf.innerHTML = ''; gf.style.display = 'none'; } } function tstlgnthm() { if (window.opener && (window.opener.textmsg != undefined || window.opener.parent.textmsg != undefined)) { if (window.opener.textmsg != undefined) { $('#lgnthm').html('' + $('#lgnthm').html()); return } $('#lgnthm').html('' + $('#lgnthm').html()); } } + - info['align'] == 50) { - $bnk = ''; - $bmn1 = 0; - $bmn2 = 0; - $sp = mysql_query('SELECT * FROM `bank` WHERE `uid` = "' . $inf['id'] . '"'); - while ($pl = mysql_fetch_array($sp)) { - $bnk .= '
'; - $bnk .= '  • ' . $pl['id'] . ''; - $bnk .= '
'; - } - if ($bnk != '') { - echo '
Банковские счета:  ' . $bnk . '
'; - } - echo ''; - } - ?>
- - - - - + + + + '; + } + } + + $sp = mysql_query( + 'SELECT * FROM `users_ico` WHERE `uid` = "' . $inf['id'] . '" AND (`endTime` = 0 OR `endTime` > ' . time() . ') LIMIT 100' + ); + while ($pl = mysql_fetch_array($sp)) { + $stlico = ''; + + if ($pl['type'] == 2) { + $stlico .= 'width:37px;height:37xp;padding:2px;'; + } + + if ($stlico != '') { + $stlico = 'style="' . $stlico . '"'; + } + $icon = ' '; + + if ($pl['href'] != '#' && $pl['href'] != '') { + $ico[$pl['type']] .= '' . $icon . ''; + } else { + $ico[$pl['type']] .= $icon; + } + } + unset($icon); + + + if ($inf['vip'] == 1) { + $ico[1] .= ' '; + } + + //сильвер + if ($st['silver'] > 0) { + $ico[1] .= ' '; + } + + $irep = mysql_fetch_array( + mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $inf['id'] . '" LIMIT 1') + ); + if (isset($irep['id'])) { + //Водосток + if ($irep['repdreamscity'] > 9999) { + $ico[1] .= ''; + } elseif ($irep['repdreamscity'] > 4999) { + $ico[1] .= ''; + } elseif ($irep['repdreamscity'] > 999) { + $ico[1] .= ''; + } + + //Храм знаний + if ($irep['rep1'] > 9999) { + $ico[1] .= ''; + } elseif ($irep['rep1'] > 999) { + $ico[1] .= ''; + } elseif ($irep['rep1'] > 99) { + $ico[1] .= ''; + } + + //Излом хаоса + if ($irep['repizlom'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repizlom'] > 9999) { + $ico[1] .= ''; + } elseif ($irep['repizlom'] > 999) { + $ico[1] .= ''; + } elseif ($irep['repizlom'] > 99) { + $ico[1] .= ''; + } + + //capitalcity + if ($irep['repcapitalcity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repcapitalcity'] > 9999) { + $ico[1] .= ''; + } + + //angelscity + if ($irep['repangelscity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repangelscity'] > 9999) { + $ico[1] .= ''; + } + + //demonscity + if ($irep['repdemonscity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repdemonscity'] > 9999) { + $ico[1] .= ''; + } + + //devilscity + if ($irep['repdevilscity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repdevilscity'] > 9999) { + $ico[1] .= ''; + } + + //suncity + if ($irep['repsuncity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repsuncity'] > 9999) { + $ico[1] .= ''; + } + //Гора легиона (сука как она меня заебала) by R + if ($irep['repabandonedplain'] > 9999) { + $ico[1] .= ''; + } elseif ($irep['repabandonedplain'] > 999) { + $ico[1] .= ''; + } + + //emeraldscity + if ($irep['repemeraldscity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repemeraldscity'] > 9999) { + $ico[1] .= ''; + } + + //sandcity + if ($irep['repsandcity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repsandcity'] > 9999) { + $ico[1] .= ''; + } + + //mooncity + if ($irep['repmooncity'] > 24999) { + $ico[1] .= ''; + } elseif ($irep['repmooncity'] > 9999) { + $ico[1] .= ''; + } + if ($inf['referals'] >= 3000) // значок за рефов + { + $ico[1] .= ''; + } elseif ($inf['referals'] > 1500) { + $ico[1] .= ''; + } elseif ($inf['referals'] > 600) { + $ico[1] .= ''; + } + } + + if ($inf['banned'] == 0) { + $ai = new Achievements($u); + $ico[3] .= '
'; + + foreach ($ai->getTypes() as $type) { + $tmp_1 = $ai->getInfo($inf['id']); + if (!empty($tmp_1[$type])) { + $ico[3] .= '
' . $tmp_1['name' . $type] . '
Ранг ' . $tmp_1['klas' . $type] . ' :
' . $tmp_1['name' . $type] . '
'; + } + } + + $ico[3] .= '
'; + } + + + function timeOut($ttm, $travm = false) + { + if (!$travm) { + $out = ''; + $time_still = $ttm; + $tmp = floor($time_still / 2592000); + $id = 0; + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " мес. "; } + $time_still = $time_still - $tmp * 2592000; + } + $tmp = floor($time_still / 604800); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " нед. "; + } + $time_still = $time_still - $tmp * 604800; + } + $tmp = floor($time_still / 86400); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " дн. "; + } + $time_still = $time_still - $tmp * 86400; + } + $tmp = floor($time_still / 3600); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " ч. "; + } + $time_still = $time_still - $tmp * 3600; + } + $tmp = floor($time_still / 60); + if ($tmp > 0) { + $id++; + if ($id < 3) { + $out .= $tmp . " мин. "; + } + } + if ($out == '') { + if ($time_still < 0) { + $time_still = 0; + } + $out = $time_still . ' сек.'; + } + } + return $out; + } - $ico = []; + if ($ico[1] != '') { + echo $ico[1]; + } - if ($inf['marry'] != 0) { - $marry = mysql_fetch_array( + echo ''; + if ($inf['jail'] > time()) { + echo '
Персонаж находится в заточении еще ' . timeOut( + $inf['jail'] - time() + ) . ' '; + } + if (isset($st['puti'])) { + echo '
Персонаж не может передвигаться еще ' . timeOut( + $st['puti'] - time() + ) . ' '; + } + if ($inf['molch1'] > time()) { + echo '
На персонажа наложено заклятие молчания. Будет молчать еще ' . timeOut( + $inf['molch1'] - time() + ) . ' '; + } + if ($inf['molch2'] > time()) { + echo '
На персонажа наложено заклятие молчания на форуме. Будет молчать еще ' . timeOut( + $inf['molch2'] - time() + ) . ' '; + } + if ($inf['clan_delay'] > time()) { + echo '
У персонажа запрет на вступление в кланы ещё: ' . timeOut( + $inf['clan_delay'] - time() + ) . ' '; + } + if ($inf['info_delete'] > time() || $inf['info_delete'] == 1) { + echo '
На персонажа наложено заклятие обезличивания.'; + if ($inf['info_delete'] > 1) { + echo ' Будет обезличен еще ' . timeOut($inf['info_delete'] - time()) . ''; + } + } + + //Если у персонажа есть травмы, физ. и маг. травмы + $sp = mysql_query( + 'SELECT * FROM `eff_users` WHERE `uid` = "' . $inf['id'] . '" AND (`id_eff` = "4" OR `id_eff` = "6") AND `delete` = "0" ORDER BY `id_eff` ASC LIMIT 6' + ); + while ($pl = mysql_fetch_array($sp)) { + echo '
У персонажа - "' . $pl['name'] . '" еще ' . $u->timeOut( + $pl['timeUse'] - time() + $pl['timeAce'] + ); + } + + //Персонаж ослаблен из-за смерти в бою, еще 4 мин. 24 сек. + $nn = 0; + while ($nn < count($st['effects'])) { + if ($st['effects'][$nn]['id_eff'] == 5) { + $osl = mysql_fetch_array( + mysql_query( + 'SELECT `id2`,`actionTime` FROM `eff_main` WHERE `id2` = "5" LIMIT 1' + ) + ); + echo '
Персонаж ослаблен из-за смерти в бою, еще ' . timeOut( + $st['effects'][$nn]['timeUse'] + $st['effects'][$nn]['timeAce'] + $osl['actionTime'] - time() + ) . ' '; + $nn = count($st['effects']) + 1; + } + $nn++; + } + + echo '
'; + + if (!empty($ico[3])) { + echo '
Достижения персонажа:
' . $ico[3] . '
'; + } + unset($ico); + + if ( + ( + $inf['align'] >= 2 && + $inf['align'] < 3 && + ( + $inf['haos'] > time() || + $inf['haos'] == 1 + ) + ) || + $inf['banned'] > 0 || + $inf['jail'] > time()) { + $to = ''; + if ($inf['align'] >= 2 && $inf['align'] < 3 && ($inf['haos'] > time() || $inf['haos'] == 1)) { + $to = 'хаос'; + } + if ($inf['banned'] > 0) { + if ($to = '') { + $to = 'блок'; + } else { + $to = $to . '/блок'; + } + } + $fm = mysql_fetch_array( + mysql_query( + 'SELECT `id`,`hb`,`text` FROM `users_delo` WHERE `uid` = "' . $inf['id'] . '" AND `hb`!=0 ORDER BY `id` DESC LIMIT 1' + ) + ); + echo '
'; + if (isset($fm['id'])) { + $from = 'паладинов'; + if ($fm['hb'] == 2) { + $from = 'Ангелов'; + } elseif ($fm['hb'] == 3) { + $from = 'тарманов'; + } + echo 'Сообщение от модераторов:
'; + echo '' . $fm['text'] . '
'; + } + if ($inf['align'] >= 2 && $inf['align'] < 3 && ($inf['haos'] > time() || $inf['haos'] == 1)) { + if ($inf['haos'] == 1) { + echo 'Хаос бессрочно.'; + } else { + echo 'Хаос еще ' . timeOut($inf['haos'] - time()) . ''; + } + } + echo '
'; + } + + //подарки + if (($inf['info_delete'] < time() && $inf['info_delete'] != 1) || ($u->info['align'] > 1 && $u->info['align'] < 2 || $u->info['align'] > 3 && $u->info['align'] < 4 || $u->info['admin'] > 0 || $u->info['nadmin'] > 0)) { + $gs = ['', '', '']; + $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 + `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')) { + $po = ConversionHelper::dataStringToArray($pl['data']); + $pl_gift = $po['gift_id']; + if ($pl_gift > 0) { + $pl_gift = mysql_fetch_array( mysql_query( - 'SELECT `id`,`login` FROM `users` WHERE `id` = "' . $inf['marry'] . '" LIMIT 1' + 'SELECT `name`,`img`,`id` FROM `users_gifts` WHERE `id` = "' . mysql_real_escape_string( + $pl_gift + ) . '" LIMIT 1' ) ); - if (isset($marry['id'])) { - $mrtxt = ''; - if ($inf['sex'] == 0) { - $mrtxt = 'Женат на'; - } else { - $mrtxt = 'Замужем за'; - } - $ico[1] .= ''; + if (isset($pl_gift['id'])) { + //Именной подарок + $pl['name'] = $pl_gift['name']; + $pl['img'] = $pl_gift['img']; } } - - $sp = mysql_query( - 'SELECT * FROM `users_ico` WHERE `uid` = "' . $inf['id'] . '" AND (`endTime` = 0 OR `endTime` > ' . time( - ) . ') LIMIT 100' - ); - while ($pl = mysql_fetch_array($sp)) { - $stlico = ''; - - if ($pl['type'] == 2) { - $stlico .= 'width:37px;height:37xp;padding:2px;'; - } - - if ($stlico != '') { - $stlico = 'style="' . $stlico . '"'; - } - $icon = ' '; - - if ($pl['href'] != '#' && $pl['href'] != '') { - $ico[$pl['type']] .= '' . $icon . ''; - } else { - $ico[$pl['type']] .= $icon; - } - } - unset($icon); - - - if ($inf['vip'] == 1) { - $ico[1] .= ' '; - } - - //сильвер - if ($st['silver'] > 0) { - $ico[1] .= ' '; - } - - $irep = mysql_fetch_array( - mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $inf['id'] . '" LIMIT 1') - ); - if (isset($irep['id'])) { - //Водосток - if ($irep['repdreamscity'] > 9999) { - $ico[1] .= ''; - } elseif ($irep['repdreamscity'] > 4999) { - $ico[1] .= ''; - } elseif ($irep['repdreamscity'] > 999) { - $ico[1] .= ''; - } - - //Храм знаний - if ($irep['rep1'] > 9999) { - $ico[1] .= ''; - } elseif ($irep['rep1'] > 999) { - $ico[1] .= ''; - } elseif ($irep['rep1'] > 99) { - $ico[1] .= ''; - } - - //Алтарь крови - if ($irep['rep2'] > 99) { - $ico[1] .= ''; - } - - //Излом хаоса - if ($irep['repizlom'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repizlom'] > 9999) { - $ico[1] .= ''; - } elseif ($irep['repizlom'] > 999) { - $ico[1] .= ''; - } elseif ($irep['repizlom'] > 99) { - $ico[1] .= ''; - } - - - //capitalcity - if ($irep['repcapitalcity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repcapitalcity'] > 9999) { - $ico[1] .= ''; - } - - //angelscity - if ($irep['repangelscity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repangelscity'] > 9999) { - $ico[1] .= ''; - } - - //demonscity - if ($irep['repdemonscity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repdemonscity'] > 9999) { - $ico[1] .= ''; - } - - //devilscity - if ($irep['repdevilscity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repdevilscity'] > 9999) { - $ico[1] .= ''; - } - - //suncity - if ($irep['repsuncity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repsuncity'] > 9999) { - $ico[1] .= ''; - } - //Гора легиона (сука как она меня заебала) by R - if ($irep['repabandonedplain'] > 9999) { - $ico[1] .= ''; - } elseif ($irep['repabandonedplain'] > 999) { - $ico[1] .= ''; - } - - //emeraldscity - if ($irep['repemeraldscity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repemeraldscity'] > 9999) { - $ico[1] .= ''; - } - - //sandcity - if ($irep['repsandcity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repsandcity'] > 9999) { - $ico[1] .= ''; - } - - //mooncity - if ($irep['repmooncity'] > 24999) { - $ico[1] .= ''; - } elseif ($irep['repmooncity'] > 9999) { - $ico[1] .= ''; - } - if ($inf['referals'] >= 3000) // значок за рефов - { - $ico[1] .= ''; - } elseif ($inf['referals'] > 1500) { - $ico[1] .= ''; - } elseif ($inf['referals'] > 600) { - $ico[1] .= ''; - } - } - - if ($inf['banned'] == 0) { - $ai = new Achievements($u); - $ico[3] .= '
'; - - foreach ($ai->getTypes() as $type) { - $tmp_1 = $ai->getInfo($inf['id']); - if (!empty($tmp_1[$type])) { - $ico[3] .= '
' . $tmp_1['name' . $type] . '
Ранг ' . $tmp_1['klas' . $type] . ' :
' . $tmp_1['name' . $type] . '
'; - } - } - - $ico[3] .= '
'; - } - - - function timeOut($ttm, $travm = false) - { - if (!$travm) { - $out = ''; - $time_still = $ttm; - $tmp = floor($time_still / 2592000); - $id = 0; - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " мес. "; - } - $time_still = $time_still - $tmp * 2592000; - } - $tmp = floor($time_still / 604800); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " нед. "; - } - $time_still = $time_still - $tmp * 604800; - } - $tmp = floor($time_still / 86400); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " дн. "; - } - $time_still = $time_still - $tmp * 86400; - } - $tmp = floor($time_still / 3600); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " ч. "; - } - $time_still = $time_still - $tmp * 3600; - } - $tmp = floor($time_still / 60); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " мин. "; - } - } - if ($out == '') { - if ($time_still < 0) { - $time_still = 0; - } - $out = $time_still . ' сек.'; - } - } - return $out; - } - - if ($ico[1] != '') { - echo $ico[1]; - } - - echo ''; - if ($inf['jail'] > time()) { - echo '
Персонаж находится в заточении еще ' . timeOut( - $inf['jail'] - time() - ) . ' '; - } - if (isset($st['puti'])) { - echo '
Персонаж не может передвигаться еще ' . timeOut( - $st['puti'] - time() - ) . ' '; - } - if ($inf['molch1'] > time()) { - echo '
На персонажа наложено заклятие молчания. Будет молчать еще ' . timeOut( - $inf['molch1'] - time() - ) . ' '; - } - if ($inf['molch2'] > time()) { - echo '
На персонажа наложено заклятие молчания на форуме. Будет молчать еще ' . timeOut( - $inf['molch2'] - time() - ) . ' '; - } - if ($inf['clan_delay'] > time()) { - echo '
У персонажа запрет на вступление в кланы ещё: ' . timeOut( - $inf['clan_delay'] - time() - ) . ' '; - } - if ($inf['info_delete'] > time() || $inf['info_delete'] == 1) { - echo '
На персонажа наложено заклятие обезличивания.'; - if ($inf['info_delete'] > 1) { - echo ' Будет обезличен еще ' . timeOut($inf['info_delete'] - time()) . ''; - } - } - - //Если у персонажа есть травмы, физ. и маг. травмы - $sp = mysql_query( - 'SELECT * FROM `eff_users` WHERE `uid` = "' . $inf['id'] . '" AND (`id_eff` = "4" OR `id_eff` = "6") AND `delete` = "0" ORDER BY `id_eff` ASC LIMIT 6' - ); - while ($pl = mysql_fetch_array($sp)) { - echo '
У персонажа - "' . $pl['name'] . '" еще ' . $u->timeOut( - $pl['timeUse'] - time() + $pl['timeAce'] - ); - } - - //Персонаж ослаблен из-за смерти в бою, еще 4 мин. 24 сек. - $nn = 0; - while ($nn < count($st['effects'])) { - if ($st['effects'][$nn]['id_eff'] == 5) { - $osl = mysql_fetch_array( - mysql_query( - 'SELECT `id2`,`actionTime` FROM `eff_main` WHERE `id2` = "5" LIMIT 1' - ) - ); - echo '
Персонаж ослаблен из-за смерти в бою, еще ' . timeOut( - $st['effects'][$nn]['timeUse'] + $st['effects'][$nn]['timeAce'] + $osl['actionTime'] - time( - ) - ) . ' '; - $nn = count($st['effects']) + 1; - } - $nn++; - } - - echo '
'; - - if (!empty($ico[3])) { - echo '
Достижения персонажа:
' . $ico[3] . '
'; - } - unset($ico); - - if ( - ( - $inf['align'] >= 2 && - $inf['align'] < 3 && - ( - $inf['haos'] > time() || - $inf['haos'] == 1 - ) - ) || - $inf['banned'] > 0 || - $inf['jail'] > time()) { - $to = ''; - if ($inf['align'] >= 2 && $inf['align'] < 3 && ($inf['haos'] > time( - ) || $inf['haos'] == 1)) { - $to = 'хаос'; - } - if ($inf['banned'] > 0) { - if ($to = '') { - $to = 'блок'; - } else { - $to = $to . '/блок'; - } - } - $fm = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`hb`,`text` FROM `users_delo` WHERE `uid` = "' . $inf['id'] . '" AND `hb`!=0 ORDER BY `id` DESC LIMIT 1' - ) - ); - echo '
'; - if (isset($fm['id'])) { - $from = 'паладинов'; - if ($fm['hb'] == 2) { - $from = 'Ангелов'; - } elseif ($fm['hb'] == 3) { - $from = 'тарманов'; - } - echo 'Сообщение от модераторов:
'; - echo '' . $fm['text'] . '
'; - } - if ($inf['align'] >= 2 && $inf['align'] < 3 && ($inf['haos'] > time( - ) || $inf['haos'] == 1)) { - if ($inf['haos'] == 1) { - echo 'Хаос бессрочно.'; - } else { - echo 'Хаос еще ' . timeOut($inf['haos'] - time()) . ''; - } - } - echo '
'; - } - - //подарки - if (($inf['info_delete'] < time( - ) && $inf['info_delete'] != 1) || ($u->info['align'] > 1 && $u->info['align'] < 2 || $u->info['align'] > 3 && $u->info['align'] < 4 || $u->info['admin'] > 0 || $u->info['nadmin'] > 0)) { - $gs = ['', '', '']; - $glim = 1000; - $i = 0; - $ij1 = 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` = "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 - ); - while ($pl = mysql_fetch_array($sp)) { - if (stristr($pl['data'], 'gift_id')) { - $po = ConversionHelper::dataStringToArray($pl['data']); - $pl_gift = $po['gift_id']; - if ($pl_gift > 0) { - $pl_gift = mysql_fetch_array( - mysql_query( - 'SELECT `name`,`img`,`id` FROM `users_gifts` WHERE `id` = "' . mysql_real_escape_string( - $pl_gift - ) . '" LIMIT 1' - ) - ); - if (isset($pl_gift['id'])) { - //Именной подарок - $pl['name'] = $pl_gift['name']; - $pl['img'] = $pl_gift['img']; - } - } - } - //подарки - if ($pl['gift'] == 1) { - $pl['gift2'] = 'Невидимка'; - } else { - $pl['gift2'] = $pl['gift']; - } - $gs[0] .= ''; - $ij1++; - } - $ij2 = 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` = "63" OR `im`.`type` = "37" OR `iu`.`data` LIKE "%|giftsee=2%") 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['gift'] == 1) { - $pl['gift2'] = 'Невидимка'; - } else { - $pl['gift2'] = $pl['gift']; - } - $gs[1] .= ''; - $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] .= ''; - } - $ij3++; - } - - if ($gs[0] != '' || $gs[1] != '' || $gs[2] != '') { - if ($gs[2] != '') { - $gs[2] = '
Букеты:

' . $gs[2] . ''; - } - echo '

' . $gs[2] . '
Подарки:

' . $gs[0] . '
' . $gs[1] . '
'; - $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' - ) - ); - $ij4 = $ij4[0]; - if ($ij1 + $ij2 + $ij3 < $ij4) { - if (!isset($_GET['maxgift'])) { - echo 'Нажмите сюда, чтобы увидеть все подарки...'; - } else { - echo 'Нажмите сюда, чтобы скрыть подарки'; - } - } - } + $ij2++; + } + $ij3 = 1; + if ($gs[0] != '' || $gs[1] != '') { + echo '

Подарки:

' . $gs[0] . '
' . $gs[1] . '
'; + $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' + ) + ); + $ij4 = $ij4[0]; + if ($ij1 + $ij2 + $ij3 < $ij4) { + if (!isset($_GET['maxgift'])) { + echo 'Нажмите сюда, чтобы увидеть все подарки...'; + } else { + echo 'Нажмите сюда, чтобы скрыть подарки'; } - if ($inf['no_ip'] == 'trupojor' && $u->info['admin'] > 0) { - if (isset($_GET['emonster'])) { + } + } - $monster = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `aaa_monsters` WHERE `uid` = "' . mysql_real_escape_string( - $inf['id'] - ) . '" LIMIT 1' - ) - ); + } + if ($inf['no_ip'] == 'trupojor' && $u->info['admin'] > 0) { + if (isset($_GET['emonster'])) { - if (isset($_POST['bot_sroom'])) { - $monster['start_room'] = (int)$_POST['bot_sroom']; + $monster = mysql_fetch_array( + mysql_query( + 'SELECT * FROM `aaa_monsters` WHERE `uid` = "' . mysql_real_escape_string( + $inf['id'] + ) . '" LIMIT 1' + ) + ); - $monster['start_day'] = (int)$_POST['bot_sday']; - $monster['start_dd'] = (int)$_POST['bot_sdd']; - $monster['start_mm'] = (int)$_POST['bot_smm']; - $monster['start_hh'] = (int)$_POST['bot_shh']; - $monster['start_min'] = (int)$_POST['bot_smin']; + if (isset($_POST['bot_sroom'])) { + $monster['start_room'] = (int)$_POST['bot_sroom']; - $monster['back_day'] = (int)$_POST['bot_bday']; - $monster['back_dd'] = (int)$_POST['bot_bdd']; - $monster['back_mm'] = (int)$_POST['bot_bmm']; - $monster['back_hh'] = (int)$_POST['bot_bhh']; - $monster['back_min'] = (int)$_POST['bot_bmin']; + $monster['start_day'] = (int)$_POST['bot_sday']; + $monster['start_dd'] = (int)$_POST['bot_sdd']; + $monster['start_mm'] = (int)$_POST['bot_smm']; + $monster['start_hh'] = (int)$_POST['bot_shh']; + $monster['start_min'] = (int)$_POST['bot_smin']; - $monster['start_text'] = $_POST['bot_stext']; - $monster['back_text'] = $_POST['bot_btext']; - $monster['win_text'] = $_POST['bot_wintext']; - $monster['lose_text'] = $_POST['bot_losetext']; - $monster['nich_text'] = $_POST['bot_nichtext']; + $monster['back_day'] = (int)$_POST['bot_bday']; + $monster['back_dd'] = (int)$_POST['bot_bdd']; + $monster['back_mm'] = (int)$_POST['bot_bmm']; + $monster['back_hh'] = (int)$_POST['bot_bhh']; + $monster['back_min'] = (int)$_POST['bot_bmin']; - $monster['win_back'] = $_POST['bot_winback']; - $monster['time_restart'] = $_POST['bot_trs']; + $monster['start_text'] = $_POST['bot_stext']; + $monster['back_text'] = $_POST['bot_btext']; + $monster['win_text'] = $_POST['bot_wintext']; + $monster['lose_text'] = $_POST['bot_losetext']; + $monster['nich_text'] = $_POST['bot_nichtext']; - $monster['win_itm'] = $_POST['bot_winitm']; - $monster['win_money1'] = $_POST['bot_winmoney1']; - $monster['win_money2'] = $_POST['bot_winmoney2']; - $monster['win_exp'] = $_POST['bot_winexp']; - $monster['win_eff'] = $_POST['bot_wineff']; - $monster['win_ico'] = $_POST['bot_winico']; + $monster['win_back'] = $_POST['bot_winback']; + $monster['time_restart'] = $_POST['bot_trs']; - $monster['lose_itm'] = $_POST['bot_loseitm']; - $monster['lose_money1'] = $_POST['bot_losemoney1']; - $monster['lose_money2'] = $_POST['bot_losemoney2']; - $monster['lose_exp'] = $_POST['bot_loseexp']; - $monster['lose_eff'] = $_POST['bot_loseeff']; - $monster['lose_ico'] = $_POST['bot_loseico']; + $monster['win_itm'] = $_POST['bot_winitm']; + $monster['win_money1'] = $_POST['bot_winmoney1']; + $monster['win_money2'] = $_POST['bot_winmoney2']; + $monster['win_exp'] = $_POST['bot_winexp']; + $monster['win_eff'] = $_POST['bot_wineff']; + $monster['win_ico'] = $_POST['bot_winico']; - if (!isset($monster['id'])) { - mysql_query( - 'INSERT INTO `aaa_monsters` ( + $monster['lose_itm'] = $_POST['bot_loseitm']; + $monster['lose_money1'] = $_POST['bot_losemoney1']; + $monster['lose_money2'] = $_POST['bot_losemoney2']; + $monster['lose_exp'] = $_POST['bot_loseexp']; + $monster['lose_eff'] = $_POST['bot_loseeff']; + $monster['lose_ico'] = $_POST['bot_loseico']; + + if (!isset($monster['id'])) { + mysql_query( + 'INSERT INTO `aaa_monsters` ( `uid`,`start_room`,`start_day`,`back_day`,`start_dd`,`start_mm`,`start_hh`,`start_min`,`back_min`,`back_dd`,`back_mm`,`back_hh`, `start_text`,`back_text`,`win_text`,`lose_text`,`win_money1`,`win_money2`,`lose_money`,`lose_money2`,`win_exp`,`lose_exp`,`win_itm`, `lose_itm`,`win_eff`,`lose_eff`,`win_ico`,`lose_ico`,`win_back`,`time_restart`,`nich_text` @@ -1809,10 +1812,10 @@ if (isset($uer)) { "' . mysql_real_escape_string($monster['time_restart']) . '", "' . mysql_real_escape_string($monster['nich_text']) . '" ) ' - ); - } else { - mysql_query( - 'UPDATE `aaa_monsters` SET + ); + } else { + mysql_query( + 'UPDATE `aaa_monsters` SET `uid` = "' . mysql_real_escape_string($inf['id']) . '", `start_room` = "' . mysql_real_escape_string($monster['start_room']) . '", `start_day` = "' . mysql_real_escape_string($monster['start_day']) . '", @@ -1845,617 +1848,592 @@ if (isset($uer)) { `time_restart` = "' . mysql_real_escape_string($monster['time_restart']) . '", `nich_text` = "' . mysql_real_escape_string($monster['nich_text']) . '" WHERE `id` = "' . mysql_real_escape_string($monster['id']) . '" LIMIT 1' - ); - } - - echo 'Новые данные были успешно сохранены!'; - } - - ?> - Параметры монстра:
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Место появления (id комнаты): - -   -
Время ожидания после поражения бота: мин. -
Исчезнет после своей победы: -
-
-
Появляется, - ДН - - Д - - - М - - Ч - - Мин - -
Исчезает,    ДН - - Д - - - М - - Ч - - Мин -
-
-
Текст появления (Логин бота {b}, Логины игроков {u}):
Текст исчезновения:
Текст победы игрока:
Текст поражения игрока:
Текст ничьей:
-
- Награда (победа игрока):
Кр.:
Екр.:
Опыт (За 100% НР монстра):
Предметы (id@kolvo@data, ...):
Эффект:
Подвиги:
-
- Награда (поражение игрока):
Кр.:
Екр.:
Опыт:
Предметы:
Эффект:
Подвиги:
-
- -
-

-
-
-
- Скрыть -
-
- -
-
- Настройка монстра -
-
- info['align'] >= 1.1 && $u->info['align'] <= 1.99 && $inf['admin'] < 1) || - ($u->info['align'] >= 3.05 && $u->info['align'] <= 3.99 && $inf['admin'] < 1) || - $u->info['admin'] > 0 || - $u->info['nadmin'] > 0 - ) - ) { - $mults = ''; - $bIP = []; - - $spl = mysql_query( - 'SELECT * FROM `mults` WHERE (`uid` = "' . $inf['id'] . '" OR `uid2` = "' . $inf['id'] . '") AND `uid`!="0" AND `uid2`!="0" and id != "2495806"' ); - while ($pls = mysql_fetch_array($spl)) { - $usr = $pls['uid']; - if ($usr == $inf['id']) { - $usr = $pls['uid2']; - } - if ($usr != $inf['id']) { - $si = Db::getRow('select id, admin, online from users where id = ? and login != ?', [$usr, 'delete']); - if (isset($si['id'])) { - if ($si['admin'] == 0) { - if ($si['online'] > time() - 520) { - $mults .= '' . $u->microLogin($si['id'], 1) . ', '; - } else { - $mults .= $u->microLogin($si['id'], 1) . ', '; - } - } - } - } - } + } + echo 'Новые данные были успешно сохранены!'; + } + ?> + Параметры монстра:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Место появления (id комнаты): + +   +
Время ожидания после поражения бота: мин. +
Исчезнет после своей победы: +
+
+
Появляется, + ДН + + Д - if (!$nopal && ($u->info['admin'] != 0 || $inf['admin'] == 0)) { - echo '
За игроком замечены следующие темные делишки:
'; - if (!isset($_GET['mod_inf'])) { - echo 'Показать личное дело'; + + М + + Ч + + Мин + +
Исчезает,    ДН + + Д + + + М + + Ч + + Мин +
+
+
Текст появления (Логин бота {b}, Логины игроков {u}):
Текст исчезновения:
Текст победы игрока:
Текст поражения игрока:
Текст ничьей:
+
+ Награда (победа игрока):
Кр.:
Екр.:
Опыт (За 100% НР монстра):
Предметы (id@kolvo@data, ...):
Эффект:
Подвиги:
+
+ Награда (поражение игрока):
Кр.:
Екр.:
Опыт:
Предметы:
Эффект:
Подвиги:
+
+ +
+

+
+
+
+ Скрыть +
+
+ +
+
+ Настройка монстра +
+
+ info['align'] >= 1.1 && $u->info['align'] <= 1.99 && $inf['admin'] < 1) || + ($u->info['align'] >= 3.05 && $u->info['align'] <= 3.99 && $inf['admin'] < 1) || + $u->info['admin'] > 0 || + $u->info['nadmin'] > 0 + ) + ) { + $mults = ''; + $bIP = []; + + $spl = mysql_query( + 'SELECT * FROM `mults` WHERE (`uid` = "' . $inf['id'] . '" OR `uid2` = "' . $inf['id'] . '") AND `uid`!="0" AND `uid2`!="0" and id != "2495806"' + ); + while ($pls = mysql_fetch_array($spl)) { + $usr = $pls['uid']; + if ($usr == $inf['id']) { + $usr = $pls['uid2']; + } + if ($usr != $inf['id']) { + $si = Db::getRow('select id, admin, online from users where id = ? and login != ?', [$usr, 'delete']); + if (isset($si['id'])) { + if ($si['admin'] == 0) { + if ($si['online'] > time() - 520) { + $mults .= '' . $u->microLogin($si['id'], 1) . ', '; } else { - //Личное дело персонажа - $logs = Db::getRows('select * from users_delo where uid = ? and type = 0 order by id desc', [$inf['id']]); //limit 21 ? - foreach ($logs as $logstr) { - echo date('d.m.Y H:i:s', $logstr['time']) . ' ' . $logstr['text'] . '
'; - } - echo 'Скрыть личное дело'; - } - echo '

'; - //Информация для паладинов\тарманов\ангелов - if ( - ($u->info['align'] >= 1.4 && $u->info['align'] <= 1.99 && $u->info['align'] != 1.6 && $u->info['align'] != 1.75 && $inf['admin'] < 1) || - ($u->info['align'] >= 3.05 && $u->info['align'] <= 3.99 && $u->info['align'] != 3.06 && $inf['admin'] < 1) || - $u->info['admin'] > 0 - ) { - if ((int)$inf['host_reg'] >= 1) { - $inf['ref'] = $u->microLogin((int)$inf['host_reg'], 1); - } else { - $inf['ref'] = '--'; - } - if (!isset($inf['ipReg'])) { - $inf['ipReg'] = '--'; - } - echo '
Секретно!
'; - echo 'День рождения: ' . $inf['bithday'] . '
'; - if ($inf['vip'] == 1) { - echo 'VIP персонаж
'; - } - - if ($u->info['admin'] > 0) { - echo 'Комната: ' . $inf['room'] . '
'; - echo ''; - $mls = Db::getValue('select count(*) from users_rbk where email = ? limit 1', [$inf['mail']]); - if (isset($mls)) { - echo 'E-mail: ' . $inf['mail'] . ' (РАССЫЛКА)'; - } else { - echo 'E-mail: ' . $inf['mail']; - } - echo '   &   ' . $inf['send'] . '
'; - echo '
'; - } else { - echo '
'; - } - if ($inf['no_ip'] != 0) { - $inf['ipReg'] = $inf['no_ip']; - $inf['ip'] = $inf['no_ip']; - } - echo 'Персонажа пригласили: ' . $inf['ref'] . - '
Последний раз заходил в клуб: ' . date('d.m.Y H:i', $inf['online']) . '
' . - $pr['login'] . 'IP при регистрации: ' . $inf['ipReg'] . '
'; - if ($inf['no_ip'] == '' || $u->info['admin'] > 0) { - echo 'IP последние: ' . $inf['ip'] . ''; - $auth = mysql_query( - 'SELECT * FROM `logs_auth` WHERE `uid`="' . $inf['id'] . '" AND `type`="1" ORDER by `id` DESC LIMIT 10' - ); - $country = ''; - while ($auth_w = mysql_fetch_array($auth)) { - echo '
' . $auth_w['ip'] . ' (' . date( - 'd.m.Y H:i', $auth_w['time'] - ) . ')'; - } - } else { - echo 'IP последние: ' . $inf['no_ip'] . ''; - } - - if ((empty($inf['no_ip']) || $u->info['admin'] > 0) && !empty($mults) && $inf['admin'] == 0) { - $mults = trim($mults, ', '); - echo 'Другие ники этого бойца: ' . $mults . '
'; - } - - $referalos = ''; - $rfs = 0; - - $sp = mysql_query( - 'SELECT `id`,`login`,`ip`,`ipreg`,`timereg`,`online` FROM `users` WHERE `host_reg` = "' . $inf['id'] . '" ORDER BY `timereg` DESC' - ); - while ($pl = mysql_fetch_array($sp)) { - $referalos .= '
Дата рег.: ' . date( - 'd.m.Y H:i', $pl['timereg'] - ) . ' / Был тут: ' . date( - 'd.m.Y H:i', $pl['online'] - ) . '   ' . $u->microLogin( - $pl['id'], 1 - ) . ' ( ' . $pl['ip'] . ' , ' . $pl['ipreg'] . ' )'; - $rfs++; - } - - if ($referalos == '') { - $referalos = 'Отсутствуют'; - } - echo '
Рефералы бойца:' . $referalos . '
'; - if ($u->info['admin'] > 0) { - echo 'Доп. возможности: сбросить характеристики
'; - $on1 = mysql_fetch_array( - mysql_query( - 'SELECT `time_all`,`time_today` FROM `online` WHERE `uid` = "' . $inf['id'] . '" LIMIT 1' - ) - ); - echo 'Время в онлайне (всего): ' . timeOut( - $on1['time_all'] - ) . '
Время в онлайне (сегодня): ' . timeOut( - $on1['time_today'] - ) . '
'; - } - if ($inf['molch3'] < time() && $inf['molch1'] > time()) { - echo 'Запретить персонажу отправлять сообщения с молчанкой
'; - } - - echo 'Опыт: ' . $inf['exp'] . - '
Число неиспользованных UP-ов: ' . $inf['ability'] . - '
Кредитов: ' . $inf['money'] . - '
ЕвроКредитов: ' . $inf['money2']; - $bnk = ''; - $bmn1 = 0; - $bmn2 = 0; - $sp = mysql_query('SELECT * FROM `bank` WHERE `uid` = "' . $inf['id'] . '"'); - while ($pl = mysql_fetch_array($sp)) { - if ($pl['useNow'] > 0) { - $bnk .= '
'; - } else { - $bnk .= '
'; - } - $bnk .= '  • ' . $pl['id'] . ''; - $bnk .= '' . $pl['money1'] . ' кр.'; - $bnk .= '' . $pl['money2'] . ' екр.'; - if ($u->info['admin'] > 0) { - $bnk .= 'Пароль: ' . htmlspecialchars( - $pl['pass'], null - ) . ''; - } - if ($pl['moneyBuy'] > 0) { - $ds = 'Персонаж покупал еврокредиты  Сумма : ' . $pl['moneyBuy'] . '
'; - } - $bmn1 += $pl['money1']; - $bmn2 += $pl['money2']; - $bnk .= '
'; - } - $pk = mysql_fetch_array( - mysql_query( - 'SELECT SUM(`ekr`) FROM `pay_operation` WHERE `uid` = "' . $inf['id'] . '" AND `good` > 0 LIMIT 1' - ) - ); - echo '
Персонаж покупал еврокредиты  Сумма : ' . $pk[0] . ' ЕКР
'; - if ($bnk != '') { - echo '
Банковские счета:' . $bnk . '   Деньги (Всего в банке):   ' . $bmn1 . ' кр.     ' . $bmn2 . ' екр.
' . $ds; - } - if ($u->info['admin'] > 0 && $inf['admin'] > 0) { - echo '
admin: ' . $inf['admin'] . ''; - } - - echo '
'; + $mults .= $u->microLogin($si['id'], 1) . ', '; } } } - ?> - -
- - - - -
- -

+ } + } - = 0) { ?> - 1 && $inf['align'] < 2) { ?> - /' target='_blank'> - -
- /' target='_blank'> - Орден Света - = 3.01 && $inf['align'] <= 3.99) { ?> - /'> - -
- /' target='_blank'>Армада - = 2 && $inf['align'] < 3) { ?> - /'> - -
- /' target='_blank'> - Цитадель Хаоса - - - - -
- Новости
- -
-
- - + if (!$nopal && ($u->info['admin'] != 0 || $inf['admin'] == 0)) { + echo '
За игроком замечены следующие темные делишки:
'; + if (!isset($_GET['mod_inf'])) { + echo 'Показать личное дело'; + } else { + //Личное дело персонажа + $logs = Db::getRows('select * from users_delo where uid = ? and type = 0 order by id desc', [$inf['id']]); //limit 21 ? + foreach ($logs as $logstr) { + echo date('d.m.Y H:i:s', $logstr['time']) . ' ' . $logstr['text'] . '
'; + } + echo 'Скрыть личное дело'; + } + echo '

'; + //Информация для паладинов\тарманов\ангелов + if ( + ($u->info['align'] >= 1.4 && $u->info['align'] <= 1.99 && $u->info['align'] != 1.6 && $u->info['align'] != 1.75 && $inf['admin'] < 1) || + ($u->info['align'] >= 3.05 && $u->info['align'] <= 3.99 && $u->info['align'] != 3.06 && $inf['admin'] < 1) || + $u->info['admin'] > 0 + ) { + if ((int)$inf['host_reg'] >= 1) { + $inf['ref'] = $u->microLogin((int)$inf['host_reg'], 1); + } else { + $inf['ref'] = '--'; + } + if (!isset($inf['ipReg'])) { + $inf['ipReg'] = '--'; + } + echo '
Секретно!
'; + echo 'День рождения: ' . $inf['bithday'] . '
'; + if ($inf['vip'] == 1) { + echo 'VIP персонаж
'; + } + + if ($u->info['admin'] > 0) { + echo 'Комната: ' . $inf['room'] . '
'; + echo ''; + $mls = Db::getValue('select count(*) from users_rbk where email = ? limit 1', [$inf['mail']]); + if (isset($mls)) { + echo 'E-mail: ' . $inf['mail'] . ' (РАССЫЛКА)'; + } else { + echo 'E-mail: ' . $inf['mail']; + } + echo '   &   ' . $inf['send'] . '
'; + echo '
'; + } else { + echo '
'; + } + if ($inf['no_ip'] != 0) { + $inf['ipReg'] = $inf['no_ip']; + $inf['ip'] = $inf['no_ip']; + } + echo 'Персонажа пригласили: ' . $inf['ref'] . + '
Последний раз заходил в клуб: ' . date('d.m.Y H:i', $inf['online']) . '
' . + $pr['login'] . 'IP при регистрации: ' . $inf['ipReg'] . '
'; + if ($inf['no_ip'] == '' || $u->info['admin'] > 0) { + echo 'IP последние: ' . $inf['ip'] . ''; + $auth = mysql_query( + 'SELECT * FROM `logs_auth` WHERE `uid`="' . $inf['id'] . '" AND `type`="1" ORDER by `id` DESC LIMIT 10' + ); + $country = ''; + while ($auth_w = mysql_fetch_array($auth)) { + echo '
' . $auth_w['ip'] . ' (' . date( + 'd.m.Y H:i', $auth_w['time'] + ) . ')'; + } + } else { + echo 'IP последние: ' . $inf['no_ip'] . ''; + } + + if ((empty($inf['no_ip']) || $u->info['admin'] > 0) && !empty($mults) && $inf['admin'] == 0) { + $mults = trim($mults, ', '); + echo 'Другие ники этого бойца: ' . $mults . '
'; + } + + $referalos = ''; + $rfs = 0; + + $sp = mysql_query( + 'SELECT `id`,`login`,`ip`,`ipreg`,`timereg`,`online` FROM `users` WHERE `host_reg` = "' . $inf['id'] . '" ORDER BY `timereg` DESC' + ); + while ($pl = mysql_fetch_array($sp)) { + $referalos .= '
Дата рег.: ' . date( + 'd.m.Y H:i', $pl['timereg'] + ) . ' / Был тут: ' . date( + 'd.m.Y H:i', $pl['online'] + ) . '   ' . $u->microLogin( + $pl['id'], 1 + ) . ' ( ' . $pl['ip'] . ' , ' . $pl['ipreg'] . ' )'; + $rfs++; + } + + if ($referalos == '') { + $referalos = 'Отсутствуют'; + } + echo '
Рефералы бойца:' . $referalos . '
'; + if ($u->info['admin'] > 0) { + echo 'Доп. возможности: сбросить характеристики
'; + $on1 = mysql_fetch_array( + mysql_query( + 'SELECT `time_all`,`time_today` FROM `online` WHERE `uid` = "' . $inf['id'] . '" LIMIT 1' + ) + ); + echo 'Время в онлайне (всего): ' . timeOut( + $on1['time_all'] + ) . '
Время в онлайне (сегодня): ' . timeOut( + $on1['time_today'] + ) . '
'; + } + if ($inf['molch3'] < time() && $inf['molch1'] > time()) { + echo 'Запретить персонажу отправлять сообщения с молчанкой
'; + } + + echo 'Опыт: ' . $inf['exp'] . + '
Число неиспользованных UP-ов: ' . $inf['ability'] . + '
Кредитов: ' . $inf['money'] . + '
ЕвроКредитов: ' . $inf['money2']; + $bmn1 = 0; + $bmn2 = 0; + + $pk = mysql_fetch_array( + mysql_query( + 'SELECT SUM(`ekr`) FROM `pay_operation` WHERE `uid` = "' . $inf['id'] . '" AND `good` > 0 LIMIT 1' + ) + ); + echo '
Персонаж покупал еврокредиты  Сумма : ' . $pk[0] . ' ЕКР
'; + + if ($u->info['admin'] > 0 && $inf['admin'] > 0) { + echo '
admin: ' . $inf['admin'] . ''; + } + + echo '
'; + } + } + } + ?> + +
+ + + + +
+ +

+ + = 0) { ?> + + 1 && $inf['align'] < 2) { ?> + /' target='_blank'> + +
+ /' target='_blank'> + Орден Света + = 3.01 && $inf['align'] <= 3.99) { ?> + /'> + +
+ /' target='_blank'>Армада + = 2 && $inf['align'] < 3) { ?> + /'> + +
+ /' target='_blank'> + Цитадель Хаоса + + + + +
+ Новости
+ +
+
- + + + 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " мес. "; - } - $time_still = $time_still - $tmp * 2592000; - } - $tmp = floor($time_still / 86400); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " дн. "; - } - $time_still = $time_still - $tmp * 86400; - } - $tmp = floor($time_still / 3600); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " ч. "; - } - $time_still = $time_still - $tmp * 3600; - } - $tmp = floor($time_still / 60); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " мин. "; - } - } - if ($out == '') { - if ($time_still < 0) { - $time_still = 0; - } - $out = $time_still . ' сек.'; - } - return $out; + ConversionHelper::secondsToTimeout($ttm); } if (empty($itm['id']) && !empty($_GET['id'])) { @@ -153,7 +114,7 @@ if (empty($itm['id']) && !empty($_GET['id'])) { } else { $data = Db::getValue('select data from items_main_data where items_id = ?', [$itm['id']]); } -$itd = !empty($data) ? \Core\ConversionHelper::dataStringToArray($data) : []; +$itd = !empty($data) ? ConversionHelper::dataStringToArray($data) : []; $items = [ 'tr' => ['lvl', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 's8', 's9', 's10', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'mg1', 'mg2', 'mg3', 'mg4', 'mg5', 'mg6', 'mg7', 'mall', 'm2all', 'aall'], @@ -176,7 +137,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы'; - + Бойцовский клуб | Библиотека <?php if (isset($itm['id'])) { ?> | <?= $rz[$rt[$itm['type']]][1] ?> | <?= $itm['name'] ?><?php } ?> @@ -292,14 +253,16 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы'; /i/big/3d.jpg/i/big/back.jpg" alt="" width="480" height="360" border=1 id="bigim"> @@ -575,7 +538,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы'; //действие комплекта $i1c = 0; $i2c = 0; - $i1e = \Core\ConversionHelper::dataStringToArray($itmc['data']); + $i1e = ConversionHelper::dataStringToArray($itmc['data']); while ($i1c < count($items['add'])) { if (isset($i1e[$items['add'][$i1c]])) { $i3c = $i1e[$items['add'][$i1c]]; @@ -648,7 +611,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';

- +
@@ -1054,7 +1017,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы'; //действие комплекта $i1c = 0; $i2c = 0; - $i1e = \Core\ConversionHelper::dataStringToArray($itmc['data']); + $i1e = ConversionHelper::dataStringToArray($itmc['data']); while ($i1c < count($items['add'])) { if (isset($i1e[$items['add'][$i1c]])) { $i3c = $i1e[$items['add'][$i1c]]; diff --git a/js/onlineList.js b/js/onlineList.js index d6def1a6..c63fd945 100644 --- a/js/onlineList.js +++ b/js/onlineList.js @@ -318,7 +318,7 @@ const chat = { gUser: function (data, ol) { let rt = ''; - + // ["27205347","Merlin","8","1.99","Radminion","capitalcity","capitalcity","349","","","0","-4","0","0","","0",""] function data_work(count) { data[count] = data[count].replaceAll("\\", '\\\\'); data[count] = data[count].replaceAll("[s1;]", '"'); @@ -329,64 +329,66 @@ const chat = { data[count] = data[count].replaceAll(">", ''); } - if (data[1] !== undefined) { - rt = data[1]; - if (rt === 'Администратор') rt = this.efftxt('fire', rt); - if (ol === true) { - rt = `${rt}`; - } else rt = `${rt}`; - if (data[13] !== 0) rt = `${rt}`; + if (data[1] === undefined) { + return 'невидимка[??]' + } + rt = data[1]; + if (rt === 'Администратор') rt = this.efftxt('fire', rt); + if (ol === true) { + rt = `${rt}`; + } else rt = `${rt}`; + if (parseInt(data[13]) !== 0) rt = `${rt}`; - if (data[10] > 0) { - rt = `${rt}`; - } + if (parseInt(data[10]) > 0) { + rt = `${rt}`; + } - if (data[8] !== 0) data_work(8) - else if (data[9] !== 0) data_work(9) + if (data[8] !== undefined) data_work(8) + else if (data[9] !== undefined) data_work(9) - // тут - function rtData(count) { - return rt = `Склонность${rt}`; - } + // тут + function rtData(count) { + return rt = `Склонность${rt}`; + } - if (data[4] !== 0) { - rt = `Клан${rt}`; - } + if (parseInt(data[4]) !== 0 && clanImage !== undefined) { + //data:${c.clanImage.mime_type};base64,${c.clanImage.img} + rt = `Клан${rt}`; + } - if (data[16] > 0) rtData(16) + if (parseInt(data[16]) > 0) rtData(16) - rtData(3) + rtData(3) - if (c.lvl > -1) { - if (c.city === data[6]) { - if (data[12] > 0) { - rt = `Персонаж сражается${rt}`; - } else { - rt = `Приват${rt}`; - } + if (c.lvl > -1) { + if (c.city === data[6]) { + if (parseInt(data[12]) > 0) { + rt = `Персонаж сражается${rt}`; } else { - rt = `Город${rt}`; + rt = `Приват${rt}`; } + } else { + rt = `Город${rt}`; } - rt += `[${data[2]}]Инф. о ${data[1]}`; + } + rt += `[${data[2]}]Инф. о ${data[1]}`; - if (data[11] > c.time) { - rt += ` Кляп`; - this.addRefMolch(data[0], data[11]); - } + if (parseInt(data[11]) > c.time) { + rt += ` Кляп`; + this.addRefMolch(data[0], data[11]); + } - if (data[14] !== "") { - rt += ` Травма`; + if (data[14] !== "") { + rt += ` Травма`; + } + if (parseInt(data[13]) > 0) { + if (parseInt(data[13]) === 2) { + rt += ` `; + } else { + rt += ` `; } - if (data[13] > 0) { - if (data[13] === 2) { - rt += ` `; - } else { - rt += ` `; - } - } - if (data[15] === 1) rt = `${rt}` - } else rt = 'невидимка[??]' + } + if (parseInt(data[15]) === 1) rt = `${rt}` return rt; }, mlch: {}, @@ -937,6 +939,12 @@ const chat = { if (data.list !== undefined && data.list !== null) { //делаем список людей онлайн let jj; i = 0; + + /*{ + "0":["27318846","Дмитрий","8","50","0","capitalcity","capitalcity","9","","","0","0","0","0","","0",""], + "1":["27205347","Merlin","8","1.99","Radminion","capitalcity","capitalcity","349","","","0","-4","0","0","","0",""] + } */ + let ji = JSON.parse(data.list), onll = '', fSort = {}, diff --git a/mailconf.php b/mailconf.php index 559ce3a8..5e928d17 100644 --- a/mailconf.php +++ b/mailconf.php @@ -23,14 +23,11 @@ if (isset($_GET['mail'])) { if (!isset($user['id'])) { echo 'Зарегистрируйтесь чтобы привязать эл.почту ' . $_GET['mail'] . ' к персонажу.'; } else { - $bank = Db::getRow('select * from bank where uid = (select uid from mini_actions where var = ?) order by id desc limit 1', [$_GET['mail']]); if ($mcf['ok'] > 0) { echo 'Вы уже подтверждали этот E-mail ранее! ' . date('d.m.Y H:i:s', $mcf['ok']) . ''; - } elseif (!isset($bank['id'])) { - echo 'Сначала создайте счет в игровом банке, чтобы мы смогли перевести туда 1 екр.'; } else { Db::sql('update mini_actions set ok = unix_timestamp() where id = ?', [$mcf['id']]); - Db::sql('update bank set money2 = money2 + 1 where id = ?', [$bank['id']]); + Db::sql('update users set money2 = money2 + 1 where id = ?', [$mcf['uid']]); echo 'Вы успешно подписались на рассылку новостей для эл.почты ' . $_GET['mail'] . ', на счет персонажа ' . $user['login'] . ' зачислен 1 екр.'; } } diff --git a/main.php b/main.php index 55927450..bf720743 100644 --- a/main.php +++ b/main.php @@ -4,9 +4,9 @@ if (!defined('GAME_VERSION')) { } use Core\{Config, Database, Db}; -use DarksLight2\Training\TrainingManager; use User\ItemsModel; use User\UserIp; + ?> - +
+ + +
- - + +isAwaitingConfirmation()) { + exit('
Заявка на регистрацию клана ' . $userclan->printClan() . ' в процессе рассмотрения.
'); +} + +if (!isset($res['id'])) { + $clans = Db::getRows('select name, align, level from clan where status = 1 order by align, level desc, name'); + ?> + +
+ + +
+
Вы можете вступить в один из существующих кланов, либо же создать свой.
+
+

Заявка на регистрацию клана

+
    +
  • При подаче заявки с вас снимается сумма необходимая для регистрации клана.
  • +
  • В случаи отказа в регистрации клана (по любой причине), еврокредиты возвращаются персонажу.
  • +
  • Администрация вправе отказать в регистрации без объяснения причин.
  • +
  • При регистрации клана, глава клана в течении 60 дней не имеет право передавать своё главенство другому игроку.
  • +
  • Стоимость регистрации клана: екр.
  • +
+
+ $u->info['money2']): ?> + × У вас недостаточно еврокредитов! В наличии: info['money2'] ?> екр. + + + +
+ Дописать сам факт регистрации. +
+
+

Заявка на вступление в клан

+
+ +
+ + + + Дописать логотип и, собственно, вступление. +
+ + info['clan_prava'] != 'glava') { if (isset($_GET['clan_exit']) && $u->newAct($_GET['sd4']) == true) { if ($u->info['money'] >= 50) { $txt = 'Игрок ' . $u->info['login'] . '[' . $u->info['level'] . '] покинул клан. (50 кр.)'; mysql_query( - 'INSERT INTO `clan_news` (`clan`, `time`, `ddmmyyyy`, `uid`, `ip`, `login`, `title`, `text`) VALUES ("' . $res['id'] . '", "' . time( - ) . '", "' . date( + 'INSERT INTO `clan_news` (`clan`, `time`, `ddmmyyyy`, `uid`, `ip`, `login`, `title`, `text`) VALUES ("' . $res['id'] . '", "' . time() . '", "' . date( 'd.m.Y' ) . '", "0", "127.0.0.1", "Администрация", "Клановое сообщение", "' . mysql_real_escape_string( $txt @@ -446,8 +544,7 @@ if ($u->info['clan_prava'] != 'glava') { ); } else { mysql_query( - 'UPDATE `users` SET `palpro` = 0, `clan` = 0, `clan_zv` = 0, `align` = 0, `clan_prava` = "0|0|0|0", `money` = `money` - 50 , `clan_delay` = "' . time( - ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' + 'UPDATE `users` SET `palpro` = 0, `clan` = 0, `clan_zv` = 0, `align` = 0, `clan_prava` = "0|0|0|0", `money` = `money` - 50 , `clan_delay` = "' . time() . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' ); } $ar = $u->rem_itm_cl($u->info, $res['id'], 7); @@ -577,8 +674,7 @@ if ($u->info['clan_prava'] != 'glava') { if (isset($_GET['add'], $_POST['textadd']) && $tt[2][0] == 1) { $lmsg = mysql_fetch_array( mysql_query( - 'SELECT `id` FROM `clan_news` WHERE `uid` = "' . $u->info['id'] . '" AND `time` > ' . (time( - ) - 10) . ' LIMIT 1' + 'SELECT `id` FROM `clan_news` WHERE `uid` = "' . $u->info['id'] . '" AND `time` > ' . (time() - 10) . ' LIMIT 1' ) ); if (isset($lmsg['id'])) { @@ -859,7 +955,7 @@ if ($u->info['clan_prava'] != 'glava') { $c_pr = [ 100, //принять 50, //выгнать - 100 //сменить главу + 100, //сменить главу ]; if (isset($_POST['svb_canals']) && $tt[11][0] == 1) { @@ -911,8 +1007,7 @@ if ($u->info['clan_prava'] != 'glava') { ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' ); mysql_query( - 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time( - ) . '","1","' . $u->info['login'] . '","' . mysql_real_escape_string( + 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time() . '","1","' . $u->info['login'] . '","' . mysql_real_escape_string( $mn ) . '","' . $u->info['id'] . '")' ); @@ -939,8 +1034,7 @@ if ($u->info['clan_prava'] != 'glava') { ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' ); mysql_query( - 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time( - ) . '","3","' . $u->info['login'] . '","' . (mysql_real_escape_string( + 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time() . '","3","' . $u->info['login'] . '","' . (mysql_real_escape_string( $mn ) * -1) . '","' . $u->info['id'] . '")' ); @@ -969,8 +1063,7 @@ if ($u->info['clan_prava'] != 'glava') { ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' ); mysql_query( - 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time( - ) . '","2","' . $u->info['login'] . '","' . mysql_real_escape_string( + 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time() . '","2","' . $u->info['login'] . '","' . mysql_real_escape_string( $mn ) . '","' . $u->info['id'] . '")' ); @@ -1007,8 +1100,7 @@ if ($u->info['clan_prava'] != 'glava') { ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' ); mysql_query( - 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time( - ) . '","3","' . $u->info['login'] . '","' . mysql_real_escape_string( + 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time() . '","3","' . $u->info['login'] . '","' . mysql_real_escape_string( $mn ) . '","' . $u->info['id'] . '")' ); @@ -1041,8 +1133,7 @@ if ($u->info['clan_prava'] != 'glava') { ); } else { mysql_query( - 'UPDATE `users` SET `palpro` = 0, `clan_prava` = 0, `clan` = 0, `clan_zv` = 0, `mod_zvanie` = "", `align` = 0, `clan_delay` = "' . time( - ) . '" WHERE `id` = "' . $usr['id'] . '" LIMIT 1' + 'UPDATE `users` SET `palpro` = 0, `clan_prava` = 0, `clan` = 0, `clan_zv` = 0, `mod_zvanie` = "", `align` = 0, `clan_delay` = "' . time() . '" WHERE `id` = "' . $usr['id'] . '" LIMIT 1' ); } $u->info['money'] -= $c_pr[1]; @@ -1589,8 +1680,7 @@ if ($u->info['clan_prava'] != 'glava') { } else { $lwar = mysql_fetch_array( mysql_query( - 'SELECT * FROM `clan_wars` WHERE `time_finish` > ' . time( - ) . ' AND ((`clan1` = "' . $cln['id'] . '" AND `clan2` = "' . $res['id'] . '") OR (`clan2` = "' . $cln['id'] . '" AND `clan1` = "' . $res['id'] . '")) LIMIT 1 ' + 'SELECT * FROM `clan_wars` WHERE `time_finish` > ' . time() . ' AND ((`clan1` = "' . $cln['id'] . '" AND `clan2` = "' . $res['id'] . '") OR (`clan2` = "' . $cln['id'] . '" AND `clan1` = "' . $res['id'] . '")) LIMIT 1 ' ) ); if (!isset($lwar['id'])) { @@ -1609,12 +1699,10 @@ if ($u->info['clan_prava'] != 'glava') { 'UPDATE `clan` SET `money2` = `money2` - ' . $mkr . ' WHERE `id` = "' . $res['id'] . '" LIMIT 1' ); mysql_query( - 'INSERT INTO `clan_wars` (`clan1`,`clan2`,`time_start`,`time_finish`,`type`,`text`) VALUES ("' . $res['id'] . '","' . $cln['id'] . '","' . time( - ) . '","' . (time() + 60 * 60 * 24) . '","' . $tpcw . '","Война!")' + 'INSERT INTO `clan_wars` (`clan1`,`clan2`,`time_start`,`time_finish`,`type`,`text`) VALUES ("' . $res['id'] . '","' . $cln['id'] . '","' . time() . '","' . (time() + 60 * 60 * 24) . '","' . $tpcw . '","Война!")' ); mysql_query( - 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time( - ) . '","4","' . $u->info['login'] . '","clanwar_' . $mkr . '_' . $cln['id'] . '","' . $u->info['id'] . '")' + 'INSERT INTO `clan_operations` (`clan`,`time`,`type`,`text`,`val`,`uid`) VALUES ("' . $res['id'] . '","' . time() . '","4","' . $u->info['login'] . '","clanwar_' . $mkr . '_' . $cln['id'] . '","' . $u->info['id'] . '")' ); echo 'Вы успешно обьявили войну клану "' . $cln['name'] . '" за ' . $mkr . ' екр.
'; } @@ -1635,8 +1723,7 @@ if ($u->info['clan_prava'] != 'glava') { "' . time( - ) . '" LIMIT 1' + 'SELECT COUNT(`id`) FROM `clan_wars` WHERE (`clan1` = "' . $res['id'] . '" OR `clan2` = "' . $res['id'] . '") AND `time_finish` > "' . time() . '" LIMIT 1' ) ); $warc = $warc[0]; @@ -1658,8 +1745,7 @@ if ($u->info['clan_prava'] != 'glava') { "' . time( - ) . '"' + 'SELECT * FROM `clan_wars` WHERE (`clan1` = "' . $res['id'] . '" OR `clan2` = "' . $res['id'] . '") AND `time_finish` > "' . time() . '"' ); while ($pl = mysql_fetch_array($sp)) { $cln1 = mysql_fetch_array( @@ -1716,8 +1802,7 @@ if ($u->info['clan_prava'] != 'glava') { ); echo 'Вы успешно подали заявку в союз "' . $cnm['name'] . '"
'; mysql_query( - 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`) VALUES ("' . $res['id'] . '","' . $cnm['id'] . '","' . time( - ) . '","1")' + 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`) VALUES ("' . $res['id'] . '","' . $cnm['id'] . '","' . time() . '","1")' ); } } else { @@ -1751,8 +1836,7 @@ if ($u->info['clan_prava'] != 'glava') { ); echo 'Вы успешно подали заявку в альянс "' . $cnm['name'] . '"
'; mysql_query( - 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`) VALUES ("' . $res['id'] . '","' . $cnm['id'] . '","' . time( - ) . '","2")' + 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`) VALUES ("' . $res['id'] . '","' . $cnm['id'] . '","' . time() . '","2")' ); } } else { @@ -1778,16 +1862,14 @@ if ($u->info['clan_prava'] != 'glava') { ); if (!isset($cnm['id'])) { mysql_query( - 'INSERT INTO `clan_joint` (`time_open`,`name`,`type`,`clan_open`,`clan_glava`) VALUES ("' . time( - ) . '","' . mysql_real_escape_string( + 'INSERT INTO `clan_joint` (`time_open`,`name`,`type`,`clan_open`,`clan_glava`) VALUES ("' . time() . '","' . mysql_real_escape_string( $nm ) . '","1","' . $res['id'] . '","' . $res['id'] . '")' ); $id = mysql_insert_id(); $res['join1'] = $id; mysql_query( - 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`,`time_start`) VALUES ("' . $res['id'] . '","' . $id . '","' . time( - ) . '","1","' . time() . '")' + 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`,`time_start`) VALUES ("' . $res['id'] . '","' . $id . '","' . time() . '","1","' . time() . '")' ); mysql_query( 'UPDATE `clan` SET `join1` = "' . $id . '" WHERE `id` = "' . $res['id'] . '" LIMIT 1' @@ -1818,16 +1900,14 @@ if ($u->info['clan_prava'] != 'glava') { ); if (!isset($cnm['id'])) { mysql_query( - 'INSERT INTO `clan_joint` (`time_open`,`name`,`type`,`clan_open`,`clan_glava`) VALUES ("' . time( - ) . '","' . mysql_real_escape_string( + 'INSERT INTO `clan_joint` (`time_open`,`name`,`type`,`clan_open`,`clan_glava`) VALUES ("' . time() . '","' . mysql_real_escape_string( $nm ) . '","2","' . $res['id'] . '","' . $res['id'] . '")' ); $id = mysql_insert_id(); $res['join2'] = $id; mysql_query( - 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`,`time_start`) VALUES ("' . $res['id'] . '","' . $id . '","' . time( - ) . '","2","' . time() . '")' + 'INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`,`time_start`) VALUES ("' . $res['id'] . '","' . $id . '","' . time() . '","2","' . time() . '")' ); mysql_query( 'UPDATE `clan` SET `join2` = "' . $id . '" WHERE `id` = "' . $res['id'] . '" LIMIT 1' @@ -1909,8 +1989,7 @@ if ($u->info['clan_prava'] != 'glava') { ); $rzv = 'Союз ' . $szu['name'] . ' принял клан ' . $zvy['name'] . '.'; mysql_query( - 'UPDATE `clan_join` SET `time_end` = "' . time( - ) . '" WHERE `id` != "' . $zvn['id'] . '" AND `clan` = "' . $szu['clan'] . '" AND `type` = "1"' + 'UPDATE `clan_join` SET `time_end` = "' . time() . '" WHERE `id` != "' . $zvn['id'] . '" AND `clan` = "' . $szu['clan'] . '" AND `type` = "1"' ); //mysql_query('INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`) VALUES ("'.$res['id'].'","'.$szu['id'].'","'.time().'","1")'); mysql_query( @@ -1926,8 +2005,7 @@ if ($u->info['clan_prava'] != 'glava') { ); $rzv = 'Альянс ' . $szu['name'] . ' принял клан ' . $zvy['name'] . '.'; mysql_query( - 'UPDATE `clan_join` SET `time_end` = "' . time( - ) . '" WHERE `id` != "' . $zvn['id'] . '" AND `clan` = "' . $szu['clan'] . '" AND `type` = "2" AND `time_end` = "0"' + 'UPDATE `clan_join` SET `time_end` = "' . time() . '" WHERE `id` != "' . $zvn['id'] . '" AND `clan` = "' . $szu['clan'] . '" AND `type` = "2" AND `time_end` = "0"' ); //mysql_query('INSERT INTO `clan_join` (`clan`,`alians`,`time`,`type`) VALUES ("'.$res['id'].'","'.$szu['id'].'","'.time().'","2")'); mysql_query( @@ -1986,8 +2064,7 @@ if ($u->info['clan_prava'] != 'glava') { 'UPDATE `clan` SET `join1` = "0" WHERE `id` = "' . $res['id'] . '" LIMIT 1' ); mysql_query( - 'UPDATE `clan_join` SET `time_end` = "' . time( - ) . '" WHERE `id` = "' . $dels['id'] . '" LIMIT 1' + 'UPDATE `clan_join` SET `time_end` = "' . time() . '" WHERE `id` = "' . $dels['id'] . '" LIMIT 1' ); echo '
Вы успешно покинули союз "' . $j1['name'] . '"
'; header('location: main.php?clan&diplom'); @@ -2019,8 +2096,7 @@ if ($u->info['clan_prava'] != 'glava') { 'UPDATE `clan` SET `join1` = "0" WHERE `id` = "' . $dels['id'] . '" LIMIT 1' ); mysql_query( - 'UPDATE `clan_join` SET `time_end` = "' . time( - ) . '" WHERE `id` = "' . $dels['id'] . '" LIMIT 1' + 'UPDATE `clan_join` SET `time_end` = "' . time() . '" WHERE `id` = "' . $dels['id'] . '" LIMIT 1' ); echo '
Клан "' . $delc['name'] . '" был исключен из данного союза
'; header('location: main.php?clan&diplom'); @@ -2256,7 +2332,9 @@ if ($u->info['clan_prava'] != 'glava') { AND `iu`.`id` = "' . mysql_real_escape_string($_GET['ungive_itm']) . '" LIMIT 1' ) ); - $ps = \Core\ConversionHelper::dataStringToArray($itms['data']); + if (isset($itms['data'])) { + $ps = ConversionHelper::dataStringToArray($itms['data']); + } $ps['cl'] = explode('#', $ps['toclan']); $use_s = $ps['cl'][1]; if (isset($_GET['ungive_itm']) && $ps['cl'][0] == $res['id'] && ($tt[14][0] == 1 || ($u->info['id'] == $use_s))) { @@ -2372,8 +2450,7 @@ if ($u->info['clan_prava'] != 'glava') { echo 'Название титула не должно быть пустым
'; } else { mysql_query( - 'INSERT INTO `clan_tituls` (`clan`,`user_add`,`time_add`,`name`) VALUES ("' . $res['id'] . '","' . $u->info['id'] . '","' . time( - ) . '","' . mysql_real_escape_string($nm) . '")' + 'INSERT INTO `clan_tituls` (`clan`,`user_add`,`time_add`,`name`) VALUES ("' . $res['id'] . '","' . $u->info['id'] . '","' . time() . '","' . mysql_real_escape_string($nm) . '")' ); echo 'Титул был успешно добавлен
'; } @@ -2409,24 +2486,23 @@ if ($u->info['clan_prava'] != 'glava') { } $i++; } - $_POST['colorsp'] = preg_replace('/[^a-zа-яё0-9]/i', '', $_POST['colorsp']); + + preg_match('/#([a-f\d]{6})/i', $_POST['colorsp'], $colorCode); // #dedede + $colorCode = isset($colorCode[0]) ? substr($colorCode[0], 1) : '000000'; + // Тут if ($tc['prava'][11] == 1) { mysql_query( 'UPDATE `clan_tituls` SET `prioritet` = 1, `info` = "' . mysql_real_escape_string( $tc['info'] - ) . '", `color` = "' . mysql_real_escape_string( - $_POST['colorsp'] - ) . '", `canals` = "' . $tc['canals'] . '", `prava` = "' . $tc['prava'] . '" WHERE `id` = "' . $tc['id'] . '" LIMIT 1' + ) . '", `color` = "' . $colorCode . '", `canals` = "' . $tc['canals'] . '", `prava` = "' . $tc['prava'] . '" WHERE `id` = "' . $tc['id'] . '" LIMIT 1' ); } else { mysql_query( 'UPDATE `clan_tituls` SET `prioritet` = 0, `info` = "' . mysql_real_escape_string( $tc['info'] - ) . '", `color` = "' . mysql_real_escape_string( - $_POST['colorsp'] - ) . '", `canals` = "' . $tc['canals'] . '", `prava` = "' . $tc['prava'] . '" WHERE `id` = "' . $tc['id'] . '" LIMIT 1' + ) . '", `color` = "' . $colorCode . '", `canals` = "' . $tc['canals'] . '", `prava` = "' . $tc['prava'] . '" WHERE `id` = "' . $tc['id'] . '" LIMIT 1' ); } echo 'Титул был успешно сохранен
'; @@ -2450,602 +2526,7 @@ if ($u->info['clan_prava'] != 'glava') { echo 'Титул не найден
'; } } - ?> -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
0000000000330000660000990000cc0000ff
0033000033330033660033990033cc0033ff
0066000066330066660066990066cc0066ff
0099000099330099660099990099cc0099ff
00cc0000cc3300cc6600cc9900cccc00ccff
00ff0000ff3300ff6600ff9900ffcc00ffff
3300003300333300663300993300cc3300ff
3333003333333333663333993333cc3333ff
3366003366333366663366993366cc3366ff
3399003399333399663399993399cc3399ff
33cc0033cc3333cc6633cc9933cccc33ccff
33ff0033ff3333ff6633ff9933ffcc33ffff
6600006600336600666600996600cc6600ff
6633006633336633666633996633cc6633ff
6666006666336666666666996666cc6666ff
6699006699336699666699996699cc6699ff
66cc0066cc3366cc6666cc9966cccc66ccff
66ff0066ff3366ff6666ff9966ffcc66ffff
9900009900339900669900999900cc9900ff
9933009933339933669933999933cc9933ff
9966009966339966669966999966cc9966ff
9999009999339999669999999999cc9999ff
99cc0099cc3399cc6699cc9999cccc99ccff
99ff0099ff3399ff6699ff9999ffcc99ffff
cc0000cc0033cc0066cc0099cc00cccc00ff
cc3300cc3333cc3366cc3399cc33cccc33ff
cc6600cc6633cc6666cc6699cc66cccc66ff
cc9900cc9933cc9966cc9999cc99cccc99ff
cccc00cccc33cccc66cccc99ccccccccccff
ccff00ccff33ccff66ccff99ccffccccffff
ff0000ff0033ff0066ff0099ff00ccff00ff
ff3300ff3333ff3366ff3399ff33ccff33ff
ff6600ff6633ff6666ff6699ff66ccff66ff
ff9900ff9933ff9966ff9999ff99ccff99ff
ffcc00ffcc33ffcc66ffcc99ffccccffccff
ffff00ffff33ffff66ffff99ffffccffffff
- - - info['clan_prava'] != 'glava') { while ($pl = mysql_fetch_array($sp)) { ?>

- - *   *   info['clan_prava'] != 'glava') { } ?>
- Картинка: *
- Цвет:       -
-   -
- #
- (вы можете воспользовать таблицей - цветов - показать/скрыть)
-

+

+
@@ -3594,4 +3066,4 @@ if ($u->info['clan_prava'] != 'glava') { - \ No newline at end of file + diff --git a/modules_data/_cryshop.php b/modules_data/_cryshop.php deleted file mode 100644 index 7af37a3c..00000000 --- a/modules_data/_cryshop.php +++ /dev/null @@ -1,160 +0,0 @@ -newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Магазин Самоцветов
- '.$error.''; - ?> -
- - - - - - -
- - - - -
- - - shopItems($sid,'cryshop=1&'); - ?> -
-
-
-
-
-
- - -
-
-
Отделы магазина
-
- 'Усиления: временные',2=>'    постоянные',3=>'    негативные',3=>'Эликсиры: на статы'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - echo '
'; - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/_locations.php b/modules_data/_locations.php index 6d61452e..a812a238 100644 --- a/modules_data/_locations.php +++ b/modules_data/_locations.php @@ -8,7 +8,7 @@ if (!defined('GAME')) { $re = ''; if (isset($u->error2)) { - $re = $u->error2; + $re = '' . $u->error . ''; } if (isset($_GET['nightatack'])) { @@ -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 = '' . $rm['name'] . '
Сейчас в комнате ' . ($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 = 'Вы можете перемещаться только когда бодрствуете.'; - 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 = 'Вы можете перемещаться только когда бодрствуете.'; + 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 ''; - } - } 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 ''; + } + } 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 = 'Сейчас в клубе: ' . $rowonmax2[0] . ' чел.'; $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 = '
Сейчас в клубе ' . ($rowonmax2[0]) . ' реальных чел.'; $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) { diff --git a/modules_data/_mod.php b/modules_data/_mod.php index 9b15b9ec..2124eac9 100644 --- a/modules_data/_mod.php +++ b/modules_data/_mod.php @@ -1511,20 +1511,11 @@ if (isset($p['id']) || $u->info['align'] == 1 || $u->info['align'] == 3) { "Вам было отказано в регистрации кланового изображения -{$types[$vr['type']][0]}- , {$vr['money2']} екр. были переведены в казну клана." ); } else { - //возврат для игрока в банк - //fixme: вы такие классные! а если счёта в банке вдруг нет, соси лапу? :) - $bnk = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `bank` WHERE `uid` = "' . $vr['uid'] . '" AND `block` = "0" ORDER BY `id` DESC LIMIT 1' - ) - ); - if (isset($bnk['id'])) { - mysql_query( - 'UPDATE `bank` SET `money2` = `money2` + ' . $vr['money2'] . ' WHERE `id` = "' . $bnk['id'] . '" LIMIT 1' - ); - } + $u->addEkr($vr['money2'], $vr['uid']); + //возврат для игрока + $cmsg->setText( - "Вам было отказано в регистрации изображения -{$types[$vr['type']][0]}- , {$vr['money2']} екр. были переведены на ваш банковский счет №{$bnk['id']}." + "Вам было отказано в регистрации изображения -{$types[$vr['type']][0]}- , {$vr['money2']} екр. были возвращены." ); } (new Chat())->sendMsg($cmsg); @@ -1600,233 +1591,6 @@ if (isset($p['id']) || $u->info['align'] == 1 || $u->info['align'] == 3) { 0) { - $chat = new Chat(); - $cmsg = new ChatMessage(); - $cmsg->setLogin('Регистратура кланов'); - $cmsg->setType(5); - $cmsg->setIsAlert(true); - ?> -
-
Заявки на регистрацию кланов:   Персонаж выступающий в роли Главы клана не найден, id ' . $cl['uid'] . '
'; - } elseif ($pu['clan'] > 0 || $pu['align'] > 0 || $pu['banned'] > 0) { - echo 'Персонаж выступающий в роли Главы клана уже находится в клане, либо имеет склонность, либо заблокирован
'; - } elseif ($u->testAlign($cl['align'], $pu['id']) == 0) { - echo 'Персонаж выступающий в роли Главы клана не может создавать клан с данной склонностью!
'; - } elseif (isset($tc['id'])) { - echo 'Схожий клан был зарегистрирован ранее, клана №' . $tc['id'] . ' (' . $tc['name'] . ').
'; - } else { - mysql_query( - 'UPDATE `_clan` SET `admin_time` = "' . time( - ) . '",`admin_ok` = "' . $u->info['id'] . '" WHERE `id` = "' . $cl['id'] . '" LIMIT 1' - ); - //Переносим изображения в img.*/i/clan/{name}.gif / {name}_big.gif / {id}.gif / {id}.gif - //Маленький значок - if (copy( - 'clan_prw/' . $cl['img1'], - 'img.new-combats.com/i/clan/' . $cl['name2'] . '.gif' - )) { - $ins = mysql_query( - 'INSERT INTO `clan` (`name`,`name_rus`,`name_mini`,`site`,`align`,`time_reg`) VALUES ( - "' . $cl['name2'] . '", - "' . $cl['name'] . '", - "' . $cl['name2'] . '", - "' . $cl['site'] . '", - "' . $cl['align'] . '", - "' . time() . '" - )' - ); - if ($ins) { - // - $cl['_id'] = mysql_insert_id(); - $u->insertAlign($cl['align'], $pu['id']); - mysql_query( - 'INSERT INTO `clan_info` (`id`,`info`) VALUES ( - "' . $cl['_id'] . '", - "' . mysql_real_escape_string($cl['info']) . '" - )' - ); - copy( - 'clan_prw/' . $cl['img1'], - '../img.new-combats.com/i/clan/' . $cl['_id'] . '.gif' - ); - copy( - 'clan_prw/' . $cl['img2'], - '../img.new-combats.com/i/clan/' . $cl['_id'] . '_big.gif' - ); - copy( - 'clan_prw/' . $cl['img2'], - '../img.new-combats.com/i/clan/cln' . $cl['_id'] . '.gif' - ); - copy( - 'clan_prw/' . $cl['img2'], - '../img.new-combats.com/i/clan/' . $cl['name2'] . '_big.gif' - ); - mysql_query( - 'UPDATE `users` SET `clan` = "' . $cl['_id'] . '",`clan_prava` = "glava",`align` = "' . $cl['align'] . '" WHERE `id` = "' . $pu['id'] . '" LIMIT 1' - ); - - echo 'Вы одобрили регистрацию клана "' . $cl['name'] . '"
'; - } else { - echo 'Не удалось перенести значок
'; - } - } else { - echo 'Не удалось перенести значок
'; - } - //Отправляем системку главе клана - $cmsg->setCity($pu['city']); - $cmsg->setTo($pu['login']); - $cmsg->setText("Поздравляем Вас с регистрацией клана "{$cl['name']}", будьте успешны!"); - $chat->sendMsg($cmsg); - } - } - } elseif (isset($_GET['badClan'])) { - //Отказ - $cl = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `_clan` WHERE `admin_time` = "0" AND `id` = "' . mysql_real_escape_string( - $_GET['badClan'] - ) . '" LIMIT 1' - ) - ); - if (isset($cl['id'])) { - $pu = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`city`,`room`,`clan`,`login`,`align`,`level`,`sex`,`money`,`banned` FROM `users` WHERE `id` = "' . mysql_real_escape_string( - $cl['uid'] - ) . '" LIMIT 1' - ) - ); - echo 'Вы отказали в регистрации клану "' . $cl['name'] . '"
'; - mysql_query( - 'UPDATE `_clan` SET `admin_time` = "' . time( - ) . '",`admin_ca` = "' . $u->info['id'] . '" WHERE `id` = "' . $cl['id'] . '" LIMIT 1' - ); - //Отправляем системку персонажу - $cmsg->setCity($pu['city']); - $cmsg->setTo($pu['login']); - $cmsg->setText("К сожалению Вам отказано в регистрации клана "{$cl['name']}". Вам зачисленно 50 екр."); - $chat->sendMsg($cmsg); - //Отправляем сумму - mysql_query( - 'UPDATE `users` SET `money2` = `money2` + 50 WHERE `id` = "' . $pu['id'] . '" LIMIT 1;' - ); - $txt = 'Возврат за регистрацию клана от Администрации: 50 екр. Зачисленны: ' . date( - 'd.m.Y H:i', time() - ); - mysql_query( - 'INSERT INTO `post` (`uid`,`sender_id`,`time`,`money`,`text`) VALUES( - "' . $pu['id'] . '", - 0, - "' . time() . '", - 0, - "' . $txt . '")' - ); - - //чат - $cmsg->setText('Получена новая почта от Администрации!'); - $chat->sendMsg($cmsg); - } - } - ?>
- - - #' . $pl['id'] . ' | - ' . date('d.m.y H:i', $pl['time']) . ' / ' . $pl['money'] . '.00 кр. - | - ' . - '' . - ' - - | - ' . - '' . - ' - - | - ' . $u->microLogin($pl['uid'], 1) . ' - | - ' . $pl['name'] . ' - | - ' . $pl['name2'] . ' (EN) - | - - | - Сайт и Описание - | -    |  - -
'; - } - ?> - - info['admin'] > 0) { @@ -2069,8 +1833,6 @@ if (isset($p['id']) || $u->info['align'] == 1 || $u->info['align'] == 3) { $se = 1; if ($dl[0] == 'AddItems' && $dsee[7] == 0) { $se = 0; - } elseif ($dl[0] == 'Bank' && $dsee[3] == 0) { - $se = 0; } elseif (($dl[0] == 'Shop' || $dl[0] == 'EkrShop') && $dsee[4] == 0) { $se = 0; } elseif ($dl[1] == 'remont' && $dsee[4] == 0) { diff --git a/modules_data/_umenie.php b/modules_data/_umenie.php index bee84c0b..6d4df3a0 100644 --- a/modules_data/_umenie.php +++ b/modules_data/_umenie.php @@ -6,6 +6,8 @@ elem.parentNode.removeChild(elem); "; use Core\Config; +use Core\ConversionHelper; +use DarksLight2\Battle\Techniques\TechniqueCategoryEntity; use DarksLight2\Training\TrainingManager; if (!defined('GAME')) { @@ -199,7 +201,7 @@ $tma = ''; microLogin($u->info['id']); - $st = \Core\ConversionHelper::dataStringToArray($u->info['stats']); + $st = ConversionHelper::dataStringToArray($u->info['stats']); if ( $_GET['dec_transfer'] || $_GET['dec_travma'] || @@ -259,7 +261,7 @@ $tma = ''; $st['os9'] += (int)$_GET['speed_HP']; $st['os10'] += (int)$_GET['speed_MP']; $st['os11'] += (int)$_GET['speed_debuff']; - $u->info['stats'] = \Core\ConversionHelper::arrayToDataString($st); + $u->info['stats'] = ConversionHelper::arrayToDataString($st); } if ($u->info['sskills'] - (int)$summs < 0) { echo '   У вас нет свободных особенностей
'; @@ -464,7 +466,7 @@ $tma = ''; $st['s10'] += (int)$_GET['god']; } - $u->info['stats'] = \Core\ConversionHelper::arrayToDataString($st); + $u->info['stats'] = ConversionHelper::arrayToDataString($st); if ( $_GET['str'] < 0 || @@ -504,12 +506,12 @@ $tma = ''; )) { if ((int)$u->info['ability'] === 0 && (int)$u->info['skills'] === 0) { TrainingManager::getInstance() - ->addPoint( - 'my_user_third_quest', - function (TrainingManager $manager) { - $manager->store(); - } - ); + ->addPoint( + 'my_user_third_quest', + function (TrainingManager $manager) { + $manager->store(); + } + ); } function getSuccessStatusStat(string $name): string { @@ -817,17 +819,17 @@ $tma = ''; font-weight: bold; } - - + - - info['ability'] > 0): ?> - - + info['ability'] > 0) { ?> + @@ -848,10 +850,10 @@ $tma = ''; info['ability'] > 0) { ?> - + ALT="увеличить" id="plus_dex"> @@ -860,10 +862,10 @@ $tma = ''; info['ability'] > 0) { ?> - + ALT="увеличить" id="plus_dex">info['level'] > 3) { ?> @@ -963,7 +965,6 @@ $tma = '';
• Сила: stats['s1'] ?>
- /i/minus.gif class="nonactive" ALT="уменьшить"> - /i/plus.gif class=skill ALT="увеличить"> /i/minus.gif class="nonactive" + ALT="уменьшить"> /i/plus.gif + class=skill + ALT="увеличить" id="plus_dex">
/i/minus.gif class="nonactive" + /i/minus.gif class="nonactive" ALT="уменьшить"> /i/plus.gif class=skill - ALT="увеличить" id="plus_inst">
/i/minus.gif class="nonactive" + /i/minus.gif class="nonactive" ALT="уменьшить"> /i/plus.gif class=skill - ALT="увеличить" id="plus_power">
- @@ -1403,14 +1404,15 @@ $tma = '';
Категории -
+
findAll(); foreach ($categories as $category) { ?> @@ -1446,7 +1448,7 @@ $tma = ''; $clr = $clr == 'C7' ? 'D5' : 'C7'; $v1 = ''; $v2 = ''; - $v3 = \Core\ConversionHelper::dataStringToArray($u->stats['effects'][$i]['data']); + $v3 = ConversionHelper::dataStringToArray($u->stats['effects'][$i]['data']); $j = 0; while ($j < count($u->items['add'])) { if (isset($v3['add_' . $u->items['add'][$j]])) { @@ -1505,7 +1507,7 @@ $tma = ''; $clr = $clr == 'C7' ? 'D5' : 'C7'; $v1 = ''; $v2 = ''; - $v3 = \Core\ConversionHelper::dataStringToArray($e['bonus']); + $v3 = ConversionHelper::dataStringToArray($e['bonus']); $j = 0; while ($j < count($u->items['add'])) { @@ -1564,8 +1566,7 @@ $tma = ''; $ae = ''; $sp = mysql_query( - 'SELECT * FROM `eff_users` WHERE `v1` LIKE "pgb%" AND `delete` = "0" AND `deactiveTime` > ' . time( - ) . ' AND `uid` = "' . $u->info['id'] . '" ORDER BY `timeUse` DESC' + 'SELECT * FROM `eff_users` WHERE `v1` LIKE "pgb%" AND `delete` = "0" AND `deactiveTime` > ' . time() . ' AND `uid` = "' . $u->info['id'] . '" ORDER BY `timeUse` DESC' ); while ($pl = mysql_fetch_array($sp)) { $tp = (int)str_replace('pgb', '', $pl['v1']); @@ -1593,7 +1594,7 @@ $tma = ''; '; $ij = 0; - $sti = \Core\ConversionHelper::dataStringToArray($plc['data']); + $sti = ConversionHelper::dataStringToArray($plc['data']); while ($ij < count($ia)) { if (isset($ia[$ij]) && isset($sti[$ia[$ij]])) { $mad = $sti[$ia[$ij]]; @@ -2020,7 +2021,7 @@ $tma = ''; god: }; - var skillsArr = new Array(); + var skillsArr = []; skillsArr["m_axe"] = ; skillsArr["m_molot"] = ; skillsArr["m_staff"] = ; @@ -2035,7 +2036,7 @@ $tma = ''; skillsArr["m_magic7"] = ; function SetAllSkills(isOn) { - var arrSkills = new Array("str", "dex", "inst", "power", "intel", "wis", "spirit", "will", "freedom", "god"); + var arrSkills = ["str", "dex", "inst", "power", "intel", "wis", "spirit", "will", "freedom", "god"]; for (var i in arrSkills) { var clname = (isOn) ? "skill" : "nonactive"; if (oNode = document.getElementById("plus_" + arrSkills[i])) oNode.className = clname; @@ -2258,7 +2259,7 @@ $tma = ''; } ?>
- Текущее Ежедневное задание: + Текущее Ежедневное задание:
@@ -2326,10 +2327,6 @@ $tma = ''; • Храм Знаний - rep_zv(1, $u->rep['rep1']) ?>
rep['rep2'] > 0) { ?> - • Алтарь Крови - rep_zv(5, $u->rep['rep2']) ?>
- rep['repdreamscity'] > 0) { ?> • Водосток - rep_zv(9, $u->rep['repdreamscity']) ?>
info['exp'] - (int)$sfe['e']; $sf[1] = $u->info['win'] - (int)$sfe['w']; $sf[2] = $u->info['lose'] - (int)$sfe['l']; diff --git a/modules_data/act_trf.php b/modules_data/act_trf.php index 270da09f..2a1e74b9 100644 --- a/modules_data/act_trf.php +++ b/modules_data/act_trf.php @@ -1,59 +1,59 @@ var elem = document.getElementById('se-pre-con'); elem.parentNode.removeChild(elem); "; -if(!defined('GAME')) -{ - die(); +if (!defined('GAME')) { + die(); } $red = ''; $odate = time(); -if(isset($_POST['date'])) { - $_POST['date'] = explode('.',$_POST['date']); - $odate = strtotime($_POST['date'][0].'-'.$_POST['date'][1].'-'.$_POST['date'][2].' 00:00:00'); - if($u->info['money'] >= 0.5) { - $red = 'Отчеты о переводах за '.date('d.m.Y',$odate).' передан Вам и находится в разделе "Заклятия".
'; - //создаем отчет - $itm = \User\ItemsModel::addItem(2435,$u->info['id'],'noodet=1|noremont=1'); - $u->info['money'] -= 0.5; - mysql_query('UPDATE `users` SET `money` = `money` - 0.5 WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `use_text` = 100 WHERE `id` = "'.$itm.'" LIMIT 1'); - /* Заносим данные на Бумагу */ - mysql_query('INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`,`type`) VALUES ("'.$itm.'","'.time().'","","'.mysql_real_escape_string("Действий и переводов персонажа ".$u->info['login']." за ".date('d.m.Y',$odate).".").'","'.$pl['city'].'","1","1")'); - $sp = mysql_query('SELECT * FROM `users_delo` WHERE `uid` = "'.$u->info['id'].'" AND `time` >= "'.$odate.'" AND `time` <= "'.($odate+86399).'" LIMIT 10000'); - $zps = 0; - while($pl = mysql_fetch_array($sp)) - { - $dl = explode('.',$pl['login']); - $se = 0; - if($dl[1]=='Shop' || $dl[1] == 'ComShop' || $dl[1]=='EkrShop' || $dl[1]=='EkrShop' || $dl[1]=='Bank' || $dl[1]=='remont' || $dl[1]=='inventory' || $dl[1]=='transfer') { - $se = 1; - } - if($se==1) - { - mysql_query('INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`) VALUES ("'.$itm.'","'.$pl['time'].'","'.$pl['login'].'","'.mysql_real_escape_string($pl['text']).'","'.$pl['city'].'","1")'); - $zps++; - } - } - if($zps == 0) - { - mysql_query('INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`,`type`) VALUES ("'.$itm.'","'.mysql_real_escape_string($odate).'","Архивариус","'.mysql_real_escape_string("Действий и переводы за данное число отсутствуют.").'","'.$pl['city'].'","1","1")'); - } - }else{ - echo 'У вас недостаточно денег. Стоимость отчета составляет 0.5 кр.'; - } +if (isset($_POST['date'])) { + $_POST['date'] = explode('.', $_POST['date']); + $odate = strtotime($_POST['date'][0] . '-' . $_POST['date'][1] . '-' . $_POST['date'][2] . ' 00:00:00'); + if ($u->info['money'] >= 0.5) { + $red = 'Отчеты о переводах за ' . date('d.m.Y', $odate) . ' передан Вам и находится в разделе "Заклятия".
'; + //создаем отчет + $itm = ItemsModel::addItem(2435, $u->info['id'], 'noodet=1|noremont=1'); + $u->info['money'] -= 0.5; + mysql_query('UPDATE `users` SET `money` = `money` - 0.5 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `items_users` SET `use_text` = 100 WHERE `id` = "' . $itm . '" LIMIT 1'); + /* Заносим данные на Бумагу */ + mysql_query('INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`,`type`) VALUES ("' . $itm . '","' . time() . '","","' . mysql_real_escape_string("Действий и переводов персонажа " . $u->info['login'] . " за " . date('d.m.Y', $odate) . ".") . '","' . $pl['city'] . '","1","1")'); + $sp = mysql_query('SELECT * FROM `users_delo` WHERE `uid` = "' . $u->info['id'] . '" AND `time` >= "' . $odate . '" AND `time` <= "' . ($odate + 86399) . '" LIMIT 10000'); + $zps = 0; + while ($pl = mysql_fetch_array($sp)) { + $dl = explode('.', $pl['login']); + $se = 0; + if ($dl[1] == 'Shop' || $dl[1] == 'ComShop' || $dl[1] == 'EkrShop' || $dl[1] == 'EkrShop' || $dl[1] == 'remont' || $dl[1] == 'inventory' || $dl[1] == 'transfer') { + $se = 1; + } + if ($se == 1) { + mysql_query('INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`) VALUES ("' . $itm . '","' . $pl['time'] . '","' . $pl['login'] . '","' . mysql_real_escape_string($pl['text']) . '","' . $pl['city'] . '","1")'); + $zps++; + } + } + if ($zps == 0) { + mysql_query('INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`city`,`x`,`type`) VALUES ("' . $itm . '","' . mysql_real_escape_string($odate) . '","Архивариус","' . mysql_real_escape_string("Действий и переводы за данное число отсутствуют.") . '","' . $pl['city'] . '","1","1")'); + } + } else { + echo 'У вас недостаточно денег. Стоимость отчета составляет 0.5 кр.'; + } } ?> -
-

-

-

Отчет о переводах

+ +

+

+

Отчет о переводах

-Вы можете получить отчет о переводах кредитов/вещей от вас/к вам за указанный день. Услуга платная, стоит 0.5 кр.
-У вас на счету: info['money']?> кр.
-Укажите дату, на которую хотите получить отчет: -
-'.$red?> \ No newline at end of file + Вы можете получить отчет о переводах кредитов/вещей от вас/к вам за указанный день. Услуга платная, стоит 0.5 кр.
+ У вас на счету: info['money'] ?> кр.
+ Укажите дату, на которую хотите получить отчет: + +' . $red ?> \ No newline at end of file diff --git a/modules_data/location/_locations.php b/modules_data/location/_locations.php deleted file mode 100644 index 41103018..00000000 --- a/modules_data/location/_locations.php +++ /dev/null @@ -1,356 +0,0 @@ -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 = ''.$rm['name'].'
Сейчас в комнате '.(0+$rown[0]).' чел.'; - }else{ - $inf = ''.$rm['name'].' -Сейчас в комнате '.(0+$rown[0]).' чел.'; - } - } - if($tp==NULL) - { - echo 'onMouseOver="top.hi(this,\'
'.$inf.'
\',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 ''; - }elseif(isset($go['id'])) - { - $rmgo = array(); - $rg = explode(',',$u->room['roomGo']); - $mlvl = explode('-',$go['level']); - $i = 0; - while($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 ''; - } - $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 ''; - }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.' '; } - -?> - - - - 1, - 267 => 1, - 9 => 1, - 286 => 1, - 11 => 1, - 236 => 1, - 213 => 1, - 252 => 1 - ); - if($rsnow[$u->room['id']]==1) { - ?> - - 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 = ' - - - - - - - - - - - - -
-
'; - - $goline = '
- '.$goLis.' -
'; - $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 ''; - } - echo '
'.$c['counters'].'
'; - } -}else{ - echo 'Location is lost.'; -} - -?> \ No newline at end of file diff --git a/modules_data/location/_ref.php b/modules_data/location/_ref.php deleted file mode 100644 index 7e4cf086..00000000 --- a/modules_data/location/_ref.php +++ /dev/null @@ -1,92 +0,0 @@ -info['id'].'" AND `active` = "" LIMIT 1000')); -$rfs['count'] = 0+$rfs['count'][0]; -$rfs['c'] = 1; -$rfs['see'] = ''; -$sp = mysql_query('SELECT `id`,`level` FROM `users` WHERE `host_reg` = "'.$u->info['id'].'" AND `active` = "" ORDER BY `level` DESC LIMIT '.$rfs['count']); -while($pl = mysql_fetch_array($sp)) -{ - $rfs['c2'] = '  '.$rfs['c'].'.   '.$u->microLogin($pl['id'],1).'
'; - if($pl['level']<1) - { - $rfs['c2'] = ''.$rfs['c2'].''; - }elseif($pl['level']>5) - { - $rfs['c2'] = ''.$rfs['c2'].''; - } - $rfs['see'] .= $rfs['c2']; - $rfs['c']++; -} -if($rfs['see']=='') -{ - $rfs['see'] = 'К сожалению у Вас нет рефералов'; -} -?> - - - - - - -
- - - - - - - - - - - - - - - -

Рефералы

Ваша уникальная ссылка
 
Количество рефералов: шт.
  - - - - - - - - - -
-   -

Настройка реферальной системы

- - - - - - - - - - - - -
Счет зачисления Екр.:
Тип регистрации: -
- -
 
diff --git a/modules_data/location/_shop_referal_.php b/modules_data/location/_shop_referal_.php deleted file mode 100644 index 28cc17ac..00000000 --- a/modules_data/location/_shop_referal_.php +++ /dev/null @@ -1,499 +0,0 @@ -room['file'] != '_shop_referal_') { - return; -} -$shopProcent = 0; - -function sendSysChat(string $city, string $to, string $message) { - $cmsg = new ChatMessage(); - $cmsg->setCity($city); - $cmsg->setTo($to); - $cmsg->setText($message); - $cmsg->setType(6); - (new Chat())->sendMsg($cmsg); -} - -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` ASC LIMIT 1')); - if(isset($to['id'])) - { - if($u->info['align'] == 2 || $u->info['haos'] > time()) { - $re = '
Хаосникам запрещается делать подарки другим игрокам
'; - }elseif($to['id']==$u->info['id']) - { - $re = '
Очень щедро дарить что-то самому себе ;)
'; - }elseif($u->info['level']<4) - { - $re = '
Дарить подарки можно начиная с 4-го уровня
'; - }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 = '
Недостаточно денег
'; - }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") 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); - - $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` = "'.$u->info['login'].'",`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'],'"Shop.'.$u->info['city'].'": Получен подарок от [id="'.$u->info['id'].'"/ Логин : "'.$u->info['login'].'"]. Предмет [id="'.$itm['id'].'"/ Название : "'.$itm['name'].'"]',time(),$u->info['city'],'Shop.gift',0,0); - $ld = $u->addDelo(1, $u->info['id'],'"Shop.'.$u->info['city'].'": Сделал подарок персонажу [id="'.$to['id'].'"/ Логин : "'.$whos['login'].'"]. Предмет [id="'.$itm['id'].'"/ Название : "'.$itm['name'].'"]',time(),$u->info['city'],'Shop.gift',0,0); - if($upd) - { - $re = '
Подарок был успешно отправлен к "'.$to['login'].'" за '.$itm_l['money'].' кр.
'; - $text = ' Получен подарок '.$itm_l['name'].'. От персонажа [login:'.$u->info['login'].'] .'; - sendSysChat($u->info['city'], $to['login'], $text); - }else{ - $re = '
Не удалось сделать подарок
'; - } - }else{ - $re = '
Не удалось сделать подарок, он испортился...
'; - } - }else{ - $re = '
Не удалось сделать подарок, курьер случайно сломал его...
'; - } - }else{ - $re = '
Предмет не найден
'; - } - }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") AND `iu`.`id` = "'.mysql_real_escape_string($_POST['itemgift']).'" AND `iu`.`uid` = "'.$u->info['id'].'" AND `iu`.`gift` = "" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" LIMIT 1')); - if(isset($itm['id'])) - { - $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); - - $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` = "'.$u->info['login'].'",`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'],'"Shop.'.$u->info['city'].'": Получен подарок от [id="'.$u->info['id'].'"/ Логин : "'.$u->info['login'].'"]. Предмет [id="'.$itm['id'].'"/ Название : "'.$itm['name'].'"]',time(),$u->info['city'],'Shop.gift',0,0); - $ld = $u->addDelo(1, $u->info['id'],'"Shop.'.$u->info['city'].'": Сделал подарок персонажу [id="'.$to['id'].'"/ Логин : "'.$whos['login'].'"]. Предмет [id="'.$itm['id'].'"/ Название : "'.$itm['name'].'"]',time(),$u->info['city'],'Shop.gift',0,0); - if($upd) - { - $re = '
Подарок был успешно отправлен к "'.$to['login'].'"
'; - $text = ' Получен подарок '.$itm['name'].'. От персонажа [login:'.$u->info['login'].'] .'; - sendSysChat($u->info['city'], $to['login'], $text); - }else{ - $re = '
Не удалось сделать подарок
'; - } - }else{ - $re = '
Предмет не найден
'; - } - } - } - }else{ - $re = '
Персонаж с таким логином не найден
'; - } -} - -if(isset($u->stats['shopSale'],$_GET['sale'])){ - $bns = 0+$u->stats['shopSale']; - if($bns!=0){ - if($bns>0){ - $bns = '+'.$bns; - } - $shopProcent -= $bns; - if($shopProcent>99){ $shopProcent = 99; } - if($shopProcent<1){ $shopProcent = 1; } - echo '
У Вас действует бонус при продаже: '.$bns.'%
Вы сможете продавать предметы за 50% от их стоимости
'; - } -} -if(!isset($_GET['otdel'])) { - $_GET['otdel'] = 1; -} -$sid = 27; -$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['fromlaba'])){ - $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 = $u->shopSaleM( $shpCena , $itm ); - $shpCena = $shpCena/100*(90-$prc1); - if( $itm['iznosMAXi'] < 999999999 ) { - if($itm['iznosMAX']>0 && $itm['iznosMAXi']>0 && $itm['iznosMAXi']>$itm['iznosMAX']){ - $shpCena = $shpCena/100*($itm['iznosMAX']/$itm['iznosMAXi']*90); - } - } - $shpCena = $u->round2($shpCena/100*(90-$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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр..',time(),$u->info['city'],'System.shop',0,0); - } else { - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр. (кредиты не переведены).',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($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 = $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; - } - $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.' воинственности.
- Ваша воинственность: '.($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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' воинственность..',time(),$u->info['city'],'System.shop',0,0); - }else{ - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' воинственность. (Репутация не переведена).',time(),$u->info['city'],'System.shop',0,0); - $error = 'Не удалось обменять предмет...'; - } - }else{ - $error = 'Не удалось обменять предмет...'; - } - }else{ - $error = 'Подходящий предмет не найден в инвентаре.'; - } -} - -if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
-Образы', - 'Заклинания', - 'Учебник'); - if(isset($otdels_small_array[$_GET['otdel']])){ - echo $otdels_small_array[$_GET['otdel']]; - } - //echo '
Магазин принимает вещи 0-7 уровней под 100%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.'; - - } elseif (isset($_GET['sale']) && $_GET['sale']) { - echo ' - Отдел "Скупка"
- Здесь вы можете продать свои вещи, за жалкие гроши...
'. - //Магазин принимает вещи 0-7 уровней под 99%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.
- 'У вас в наличии: - '; - } elseif (isset($_GET['gifts'])) { - echo ' - Отдел "Сделать подарки"'; - } - ?> -
- - - - - -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 `lastUPD` DESC'); - if($itmAll[0]==0){ - $itmAllSee = ''; - }else{ - $itmAllSee = $itmAll[2]; - } - echo $itmAllSee; - } - ?> -
-Вы можете сделать подарок дорогому человеку. Ваш подарок будет отображаться в информации о персонаже. -
    -
  1. Укажите логин персонажа, которому хотите сделать подарок
    -Логин - -
  2. Цель подарка. Будет отображаться в информации о персонаже (не более 60 символов)
    - -
  3. Напишите текст сопроводительной записки (в информации о персонаже не отображается)
    - -
  4. Выберите, от чьего имени подарок:
    - info['login']?> [info['level']?>]
    - анонимно
    -info['clan']>0){ ?> от имени клана
    -
  5. Нажмите кнопку Подарить под предметом, который хотите преподнести в подарок:
    -
- -
ПУСТО
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Большая парковая улица
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'], 2); ?> кр.   -info['level'] < 8) { - ?> -
Зубов: zuby($u->info['money4'])?>     - -
-
-
-
-
-
Отделы магазина
-
-
- '.$otdels_array[$i].' -
- '; - } else { - $i = -2; - } - $i++; - } - ?> -
-
-
- diff --git a/modules_data/location/a_clanreg.php b/modules_data/location/a_clanreg.php deleted file mode 100644 index bbd489b3..00000000 --- a/modules_data/location/a_clanreg.php +++ /dev/null @@ -1,292 +0,0 @@ -room['file'] != 'a_clanreg') { - return; -} -function alignc($al) -{ - if ($al == 1) { - $value = "(светлый)"; - } elseif ($al == 3) { - $value = "(темный)"; - } elseif ($al == 7) { - $value = "(нейтральный)"; - } else { - $value = "(серый)"; - } - return $value; -} - -$lzv = mysql_fetch_array( - mysql_query('SELECT * FROM `_clan` WHERE `uid` = "' . $u->info['id'] . '" AND `admin_time` = "0" LIMIT 1') -); -/*Заявка на вступление*/ - -if (isset($_POST['clan_enter'])) { - - mysql_query('UPDATE `users` SET `clan_zv`= "' . $_POST['clan_enter'] . '" WHERE `id` = "' . $u->info['id'] . '" '); - -} - -/* Регистрация клана */ -if (isset($_POST['clan_name'])) { - - $tr_money2 = 0; - if ($_POST['clan_align'] == 1) { - $tr_money2 = 50; - $_POST['clan_align'] = 1; - } elseif ($_POST['clan_align'] == 3) { - $tr_money2 = 50; - $_POST['clan_align'] = 3; - } elseif ($_POST['clan_align'] == 7) { - $tr_money2 = 50; - $_POST['clan_align'] = 7; - } - - $clan_name = substr(htmlspecialchars($_POST['clan_name'], null), 0, 30); - - $cnt = mysql_fetch_array( - mysql_query('SELECT * FROM `clan` WHERE `name` = "' . mysql_real_escape_string($clan_name) . '" LIMIT 1') - ); - - $upload = new Uploader($clan_name); - $upload->setMaxFileSize(.3); - $upload->setDimensions(24, 15); - $upload->setExtentions('gif'); - $upload->setSavePath('clan_prw/'); - - if (isset($cnt['id'])) { - $re = 'Клан с названием "' . $cnt['name'] . '" уже зарегистрирован.'; - } elseif (isset($lzv['id'])) { - $re = 'Вы уже подали заявку на регистрацию клана, ожидайте ответа от администрации'; - } elseif ($tr_money2 > $u->info['money2']) { - $re = 'У вас не хватает денег, требуется ' . $tr_money2 . 'екр.'; - } elseif ($u->info['clan'] > 0) { - $re = 'Вы состоите в одном из кланов, требуется покинуть его'; - } elseif ($u->info['align'] > 0) { - $re = 'Персонажи со склонностью не могут создавать клан, избавьтесь от неё'; - } else { - /* заносим данные в базу */ - if (!preg_match("/^[-a-zA-Z0-9]+$/", $clan_name)) { - $re = 'В названии клана присутствуют запрещенные символы.'; - } elseif ($file = $upload->saveimg()) { - if ($tr_money2 < 0) { - $tr_money2 = 0; - } - $u->info['money2'] -= $tr_money2; - - mysql_query( - 'UPDATE `users` SET `money2` = "' . $u->info['money2'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - mysql_query( - 'INSERT INTO `_clan` (`uid`,`time`,`city`,`name`,`name2`,`site`,`img1`,`img2`,`info`,`money`,`align`) VALUES ( - "' . $u->info['id'] . '","' . time() . '", - "' . $u->info['city'] . '", - "' . mysql_real_escape_string(htmlspecialchars($_POST['clan_name'], null)) . '", - "' . mysql_real_escape_string(htmlspecialchars($_POST['clan_name'], null)) . '", - "' . mysql_real_escape_string(htmlspecialchars($_POST['clan_site'], null)) . '", - "' . mysql_real_escape_string(htmlspecialchars($file[1], null)) . '", - "", - "", - "' . $tr_money2 . '", - "' . mysql_real_escape_string(htmlspecialchars($_POST['clan_align'], null)) . '" - )' - ); - $lzv = [ - 'id' => mysql_insert_id(), - 'name' => htmlspecialchars($_POST['clan_name'], null), - 'time' => time(), - ]; - $re = 'Вы успешно подали заявку на регистрацию клана "' . htmlspecialchars( - $_POST['clan_name'], null - ) . '". (' . $tr_money2 . 'екр.)'; - } else { - $re = 'Маленький значок: ' . Uploader::$error; - } - } -} - -?> - - - - - - -
-
-
-

Заявка на регистрацию клана

-
-
- ' . $re . ''; - } - ?> -
-
- - - - - -
  - - - - -
- - - - - - -
- - - - - -
Страшилкина улица
-
-
-
-
-
-info['clan'] > 0) { - $clan = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $u->info['clan'] . '" LIMIT 1')); - ?> - Вы уже состоите в клане и не можете подать заявку на регистрацию нового клана.

-
-

Клановые войны

- info['clan_prava'] == 'glava') { - echo 'Нет ни одной войны, но вы можете обьявить её!'; - } else { - echo 'Нет ни одной войны, но ваш глава клана может обьявить её!'; - } - ?> -
- - - - - - - - - -

Требования к значку: размер (ШхВ в пикселях) 24х15, графический тип GIF, размер до 30кб.

-

- Стоимость регистрации кланов:
- нейтральный - 50 - екр.
- светлый - 50 - екр.
- тёмный - 50 - екр.
-

-

- Заявка на регистрацию подает будущий глава клана, у которого должна быть при себе необходимая сумма. -

-
-
-
-

Заявка на регистрацию клана

-
- - Название клана (только английские буквы или цифры, одно слово): - -
- Клан сайт (необязательно): - -
- Значок - -
- Склонность клана - -
- - -     Вы уже подали заявку на регистрацию клана " - ". Ожидайте ответа от Администрации. - -
-
-
-
-
-

Заявка на вступление в клан

- info['id'] . '" LIMIT 1') - ); - if ($clnt['clan_zv'] != 0) { - $clnn = mysql_fetch_array( - mysql_query('SELECT * FROM `clan` WHERE `id` = "' . $clnt['clan_zv'] . '" LIMIT 1') - ); - echo 'Вы подали заявку в клан ' . $clnn['name'] . ' ' . alignc( - $clnn['align'] - ) . ' ' . $tmpc . '
'; - echo 'Ожидайте рассмотрения вашей заявки. Если решения долго нет просто выбирите из списка другой клан.
'; - } - ?> - Выбирите клан: -
- -

- -
-
-
-

Примечание:

-

- При подаче заявки с вас снимается сумма необходимая для регистрации клана.
- В случаи отказа в регистрации клана (по любой причине), еврокредиты возвращаются персонажу.
- Администрация вправе отказать в регистрации без объяснения причин.
- При регистрации клана, глава клана в течении 60 дней не имеет право передавать своё главенство другому - игроку. -

- \ No newline at end of file diff --git a/modules_data/location/a_hram.php b/modules_data/location/a_hram.php deleted file mode 100644 index 7d890d9c..00000000 --- a/modules_data/location/a_hram.php +++ /dev/null @@ -1,306 +0,0 @@ -room['file']=='a_hram') -{ - $shopProcent = 50; - if(date('d',time())==22) - { - //$shopProcent = 1; - } - - if(!isset($_GET['otdel']) && !isset($_GET['sale'])) - { - $_GET['sale'] = 1; - }elseif(isset($_GET['otdel']) && isset($_GET['sale'])){ - $_GET['sale'] = 1; - unset($_GET['otdel']); - } - - if(isset($u->stats['shopSale'],$_GET['sale'])) - { - $bns = 0+$u->stats['shopSale']; - if($bns!=0) - { - if($bns>0) - { - $bns = '+'.$bns; - } - $shopProcent -= $bns; - if($shopProcent>99){ $shopProcent = 99; } - if($shopProcent<1){ $shopProcent = 1; } - echo '
У Вас действует бонус при продаже: '.$bns.'%
Вы сможете продавать предметы за '.(100-$shopProcent).'% от их стоимости
'; - } - } - - $sid = 14; - - $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['sale1kr'])) - { - $id = (int)$_GET['sale1kr']; - $itm = mysql_fetch_array(mysql_query('SELECT `im`.*,`iu`.*,`iu`.`id` AS `id_user` 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']); - $po['toclan1'] = explode('#',$po['toclan']); - $po['toclan1'] = $po['toclan1'][0]; - $see1 = 1; - if($po['toclan1'] > 0) { - $see1 = 0; - } - if($po['frompisher'] == 0) { - $see1 = 0; - } - if($itm['gift'] > 0) { - $see1 = 0; - } - if(!isset($po['hprs'])) { - $po['hprs'] = 0.001; - } - if(!isset($po['hprp'])) { - $po['hprp'] = 0.0001; - } - $col = $u->itemsX($itm['id_user']); - $prs1 = $u->floordec($po['hprs']*$col,2); //кр - $rps1 = $u->floordec($po['hprp']*$col); //реп. - if(isset($po['nosale']) || $see1 == 0) - { - $error = 'Не удалось продать предмет ...'; - }elseif($pl['type']<29 && ($po['srok'] > 0 || $pl['srok'] > 0)) - { - $error = 'Не удалось продать предмет ...'; - }elseif(isset($itm['id'])) - { - $colx = ''; - if($col > 0) { - $colx = ' (x'.$col.')'; - } - $error = 'Вы успешно обменяли предмет "'.$itm['name'].''.$colx.'" на '.$prs1.' кр.'; - $u->info['money'] += $prs1; - - mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$itm['id'].'" LIMIT 1'); - 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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$prs1.' кр. (Храм Репутации).',time(),$u->info['city'],'System.shop',0,0); - - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - }else{ - $error = 'Предмет не найден в инвентаре.'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Оружие: кастеты,ножи"',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=>'Отдел "Подарки: фейерверки"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } elseif (isset($_GET['sale']) && $_GET['sale']) - { - echo ' - Отдел "Обмена вещей"
- Здесь вы можете обменять свои вещи, за жалкие гроши или репутацию...
- У вас в наличии: - '; - } - ?> -
- - -shopItems($sid); - }else{ - //Выводим вещи в инвентаре для продажи - $itmAll = $u->genInv(69,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `lastUPD` DESC'); - if($itmAll[0]==0) - { - $itmAllSee = ''; - }else{ - $itmAllSee = $itmAll[2]; - } - echo $itmAllSee; - } - ?> -
ПУСТО
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Центральная Площадь
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-   - '; - } else { - echo ' -   - '; - } - ?> -
-
-
Отделы магазина
-
- 'Оружие: кастеты,ножи',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=>'     фейерверки'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - echo '
'; - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/location/ab/cp.php b/modules_data/location/ab/cp.php deleted file mode 100644 index 5a01409f..00000000 --- a/modules_data/location/ab/cp.php +++ /dev/null @@ -1,95 +0,0 @@ -room['file']=='ab/cp') -{ - if(date("H")>=6 && date("H")<22) { - $now = 'day'; - } else { $now = 'night'; } - if($u->info['level'] >= 4) - { - if(date("H")>=6 && date("H")<22) - { - $tattack = 'Нападение доступно с 22 до 6 ч.'; - } else { - if(isset($_POST['attack'])) - { - $magic->magicCentralAttack(); - } - $tattack = 'Напасть'; - } - } -?> - - - - - - -
- getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?> -
- - - - - -
- '.$re.''; } ?> - - - - -
-
- -
- -   - Форум   -
- -
src="//img.new-combats.tech/i/images/300x225/dungeon/ap_tower1.gif" width="48" height="68" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/dungeon/dm_left1.gif" width="21" height="30" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/ap_port.gif" width="84" height="87" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/ap_tower3.gif" width="122" height="140" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/dm_right.gif" width="21" height="30" class="aFilter" />
-
- -
-
- -
«» приветствует Вас, info['login']; ?>. Вы находить на центральной площади Abandoned Plain.
-
- -
- testHome(); if(!isset($hgo['id'])){ ?> - - - -
- Внимание! Никогда и никому не говорите пароль от своего персонажа. Не вводите пароль на других сайтах, типа "новый город", "лотерея", "там, где все дают на халяву". Пароль не нужен ни паладинам, ни кланам, ни администрации, только взломщикам для кражи вашего героя.
- Администрация.

-
- -
- \ No newline at end of file diff --git a/modules_data/location/ab/cp2.php b/modules_data/location/ab/cp2.php deleted file mode 100644 index 5857782e..00000000 --- a/modules_data/location/ab/cp2.php +++ /dev/null @@ -1,95 +0,0 @@ -room['file']=='ab/cp2') -{ - if(date("H")>=6 && date("H")<22) { - $now = 'day'; - } else { $now = 'night'; } - if($u->info['level'] >= 4) - { - if(date("H")>=6 && date("H")<22) - { - $tattack = 'Нападение доступно с 22 до 6 ч.'; - } else { - if(isset($_POST['attack'])) - { - $magic->magicCentralAttack(); - } - $tattack = 'Напасть'; - } - } -?> - - - - - - -
- getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?> -
- - - - - -
- '.$re.''; } ?> - - - - -
-
- -
- -   - Форум   -
- -
src="//img.new-combats.tech/i/images/300x225/dm_left.gif" width="29" height="25" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/ab_107_tower1.gif" width="45" height="63" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/dungeon/ab_107_tower2.gif" width="34" height="63" class="aFilter" />
-
- -
-
- -
«» приветствует Вас, info['login']; ?>. Вы находить на центральной площади Abandoned Plain.
-
- -
- -
- testHome(); if(!isset($hgo['id'])){ ?> - - - -
- Внимание! Никогда и никому не говорите пароль от своего персонажа. Не вводите пароль на других сайтах, типа "новый город", "лотерея", "там, где все дают на халяву". Пароль не нужен ни паладинам, ни кланам, ни администрации, только взломщикам для кражи вашего героя.
- Администрация.

-
- -
- \ No newline at end of file diff --git a/modules_data/location/ab/goral.php b/modules_data/location/ab/goral.php deleted file mode 100644 index 608b1c4f..00000000 --- a/modules_data/location/ab/goral.php +++ /dev/null @@ -1,379 +0,0 @@ -room['file']=='ab/goral') -{ - -$dun = 13; //для новичков 2-7 лвл - -$er = ''; - -$dzs = ''; - -$g111 = 1; -$g11 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `vars` = "psh1" AND `time`>'.(time()-7200).' LIMIT 1',1); - -$moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "'.$u->info['align'].'" LIMIT 1')); - -if($u->info['dn']>0) -{ - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `id`="'.$u->info['dn'].'" AND `delete` = "0" LIMIT 1')); - if(!isset($zv['id'])) - { - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - } -} - -if(isset($g11['id'])) -{ - $g111 = 0; - if(isset($_GET['start'])) - { - $re = 'Поход в пещеры разрешен один раз в два часа. Осталось еще: '.$u->timeOut(7200-time()+$g11['time']); - } -} -if(isset($_GET['start']) && $zv['uid']==$u->info['id'] && $g111 == 1) -{ - //начинаем поход - //начинаем поход - $ig = 1; - if($ig>0) - { - //перемещаем игроков в пещеру - //$u->addAction(time(),'psh1',''); - $ins = mysql_query('INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) - VALUES ("'.$zv['city'].'","'.$zv['uid'].'","'.$dun.'","Бездна","'.time().'")'); - if($ins) - { - $zid = mysql_insert_id(); - //обновляем пользователей - $su = mysql_query('SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$zv['id'].'" LIMIT '.($zv['team_max']+1).''); - $ids = ''; - while($pu = mysql_fetch_array($su)) - { - $ids .= ' `id` = "'.$pu['id'].'" OR'; - $u->addAction(time(),'psh13','',$pu['id']); - } - $ids = rtrim($ids,'OR'); - $upd1 = mysql_query('UPDATE `stats` SET `x`="0",`y`="0",`dn` = "0",`dnow` = "'.$zid.'" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - if($upd1) - { - $upd2 = mysql_query('UPDATE `users` SET `room` = "315" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dun - //Добавляем ботов - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "'.$dun.'"'); - while($pl = mysql_fetch_array($sp)) - { - $vls .= '("'.$zid.'","'.$pl['id_bot'].'","'.$pl['colvo'].'","'.$pl['items'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['dialog'].'","'.$pl['items'].'"),'; - } - $vls = rtrim($vls,','); - $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`) VALUES '.$vls.''); - //Добавляем обьекты - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "'.$dun.'"'); - while($pl = mysql_fetch_array($sp)) - { - $vls .= '("'.$zid.'","'.$pl['name'].'","'.$pl['img'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['action'].'","'.$pl['type'].'","'.$pl['w'].'","'.$pl['h'].'","'.$pl['s'].'","'.$pl['s2'].'","'.$pl['os1'].'","'.$pl['os2'].'","'.$pl['os3'].'","'.$pl['os4'].'","'.$pl['type2'].'","'.$pl['top'].'","'.$pl['left'].'","'.$pl['date'].'"),'; - } - $vls = rtrim($vls,','); - if($vls!='') - { - $ins2 = mysql_query('INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES '.$vls.''); - }else{ - $ins2 = true; - } - if($upd2 && $ins1 && $ins2) - { - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - die(''); - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - } -}elseif(isset($_POST['go'],$_POST['goid']) && $g111==1) -{ - if(!isset($zv['id'])) - { - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "'.$u->info['city'].'" AND `id`="'.mysql_real_escape_string($_POST['goid']).'" AND `delete` = "0" LIMIT 1')); - if(isset($zv['id'])) - { - if($u->info['level']>7) - { - $row = 0; - if(5>$row) - { - $upd = mysql_query('UPDATE `stats` SET `dn` = "'.$zv['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if(!$upd) - { - $re = 'Не удалось вступить в эту группу'; - unset($zv); - }else{ - $u->info['dn'] = $zv['id']; - } - }else{ - $re = 'В группе нет места'; - unset($zv); - } - }else{ - $re = 'Вы не подходите по уровню'; - unset($zv); - } - }else{ - $re = 'Заявка не найдена'; - } - }else{ - $re = 'Вы уже находитесь в группе'; - } -}elseif(isset($_POST['leave']) && isset($zv['id']) && $g111 == 1) -{ - if($zv['uid']==$u->info['id']) - { - //ставим в группу нового руководителя - $ld = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `dn` = "'.$zv['id'].'" AND `id` != "'.$u->info['id'].'" LIMIT 1')); - if(isset($ld['id'])) - { - $zv['uid'] = $ld['id']; - mysql_query('UPDATE `dungeon_zv` SET `uid` = "'.$zv['uid'].'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - }else{ - //удаляем группу целиком - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } - }else{ - //просто выходим с группы - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } -}elseif(isset($_POST['add']) && $u->info['level']>1 && $g111 == 1) -{ - if($u->info['dn']==0) - { - $lmn = $u->info['level']-1; - $lmx = $u->info['level']+1; - $tmx = 0; - - if($lmn<2){ $lmn = 2; } - if($lmn>7){ $lmn = 7; } - if($lmx<2){ $lmx = 2; } - if($lmx>7){ $lmx = 7; } - - if($u->info['level']>7) - { - $tmx = 5; - } - - //только своего уровня - $lmn = $u->info['level']; - - $ins = mysql_query('INSERT INTO `dungeon_zv` - (`city`,`time`,`uid`,`dun`,`pass`,`com`,`lvlmin`,`lvlmax`,`team_max`) VALUES - ("'.$u->info['city'].'","'.time().'","'.$u->info['id'].'","'.$dun.'", - "'.mysql_real_escape_string($_POST['pass']).'", - "'.mysql_real_escape_string($_POST['text']).'", - "'.$lmn.'", - "'.$lmx.'", - "'.$tmx.'")'); - if($ins) - { - $u->info['dn'] = mysql_insert_id(); - $zv['id'] = $u->info['dn']; - $zv['uid'] = $u->info['id']; - mysql_query('UPDATE `stats` SET `dn` = "'.$u->info['dn'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $re = 'Вы успешно создали группу'; - }else{ - $re = 'Не удалось создать группу'; - } - }else{ - $re = 'Вы уже находитесь в группе'; - } -} - -//Генерируем список групп -$sp = mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "'.$u->info['city'].'" AND `delete` = "0" AND `time` > "'.(time()-60*60*2).'"'); -while($pl = mysql_fetch_array($sp)) -{ - $dzs .= '
'; - if($u->info['dn']==0) - { - $dzs .= ''; - } - $dzs .= ''.date('H:i',$pl['time']).' '; - - $pus = ''; //группа - $su = mysql_query('SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$pl['id'].'" LIMIT '.($pl['team_max']+1).''); - while($pu = mysql_fetch_array($su)) - { - $pus .= ''.$pu['login'].' ['.$pu['level'].']'; - $pus .= ', '; - } - $pus = trim($pus,', '); - - $dzs .= $pus; - - if($pl['com']!='') - { - $dl = ''; - if(($moder['boi']==1 || $u->info['admin']>0) && $pl['dcom']==0) - { - $dl .= ' (удалить комментарий)'; - if(isset($_GET['delcom']) && $_GET['delcom']==$pl['id'] && $u->newAct($_GET['key'])==true) - { - mysql_query('UPDATE `dungeon_zv` SET `dcom` = "'.$u->info['id'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['dcom'] = $u->info['id']; - } - } - - $pl['com'] = htmlspecialchars($pl['com'],NULL); - - if($pl['dcom']>0) - { - $dl = ' комментарий удален модератором'; - } - - if($pl['dcom']>0) - { - if($moder['boi']==1 || $u->info['admin']>0) - { - $pl['com'] = ''.$pl['com'].''; - }else{ - $pl['com'] = ''; - } - } - - $dzs .= ' | '.$pl['com'].''.$dl.''; - } - - $dzs .= '
'; -} -?> - - - - - - -
-

room['name']; ?>

-
- - - - - -
  - - - -
- - - - - - -
- - - - -
Вход в подземелье
-
-'.$re.'
'; -} - -//отображаем -if($dzs=='') -{ - $dzs = ''; -}else{ - if(!isset($zv['id'])) - { - if($g111==1) - { - $pr = ''; - } - $dzs = '
'.$pr.'
'.$dzs.''.$pr.'
'; - } - $dzs .= '
'; -} - -echo $dzs; -if($g111 == 1) -{ -if($u->info['dn']==0) -{ -?> - - - - -
-
-
- Группа - Комментарий - -
- Пароль - -
- -  
-
-
-
-info['id']) - { - $psh_start = '  '; - } - - echo '
-
- Группа - '.$psh_start.' - -
-
'; - } -} -?> - -timeOut(7200-time()+$g11['time']).'
Но Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)'; -} -} - -?> \ No newline at end of file diff --git a/modules_data/location/ab/hram.php b/modules_data/location/ab/hram.php deleted file mode 100644 index e45933d8..00000000 --- a/modules_data/location/ab/hram.php +++ /dev/null @@ -1,488 +0,0 @@ -room['file'] != 'ab/hram') { - exit(); -} - -require_once $_SERVER['DOCUMENT_ROOT'] . '/_incl_data/class/Insallah/Runes/Runes.php'; - -$qst_hram = true; -$kt = new KnowledgeTemple(); - -if (isset($_GET['itm']) && $_GET['itm'] > 0) { - if ($_GET['r'] == 1) { - $_GET['itm'] = (int)$_GET['itm']; - $re = $kt->smeltItem($_GET['itm']); - } elseif ($_GET['r'] == 2) { - //Переплавка рун - $resz = ''; - $itm123 = explode('x', $_GET['itm']); - - $itm1 = (int)$itm123[0]; - $itm2 = (int)$itm123[1]; - $itm3 = (int)$itm123[2]; - - $q = 'SELECT `a`.`id` AS `iid`,`a`.*,`b`.* FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON (`b`.`id` = `a`.`item_id` AND `b`.`type` = 31) WHERE `a`.`id` = %d AND `a`.`uid` = %d AND `a`.`delete` = 0 AND `a`.`inShop` = 0 AND `a`.`inTransfer` = 0'; - $itm1 = mysql_fetch_array(mysql_query(sprintf($q, $itm1, $u->info['id']))); - $itm2 = mysql_fetch_array(mysql_query(sprintf($q, $itm2, $u->info['id']))); - $itm3 = mysql_fetch_array(mysql_query(sprintf($q, $itm3, $u->info['id']))); - - - - if (!isset($itm1['id']) || !isset($itm2['id']) || !isset($itm3['id'])) { - $resz = 'Недостаточно компонентов для преобразования.'; - } elseif ($itm1['iid'] == $itm2['iid'] || $itm2['iid'] == $itm3['iid'] || $itm1['iid'] == $itm3['iid']) { - $resz = 'Не удалось расплавить одну руну, она не сгорела.'; - } - if (empty($resz)) { - $check = \Insallah\Runes::checkParts($itm1['item_id'], $itm2['item_id'], $itm3['item_id'], $u->rep['rep1']); - if (empty($check)) { - $resz = 'Ингредиенты должны быть одного уровня или у вас недостаточен уровень прокачки храма знаний!'; - } else { - mysql_query(sprintf($check['query'], $u->info['id'])); - $newRune = \Insallah\Runes::get($check['rune_level']); - if (!empty($newRune)) { - \User\ItemsModel::addItem($check['rune_id'], $u->info['id'], $newRune[0]); - $resz = $newRune[1]; - mysql_query(sprintf('update items_users set `delete` = unix_timestamp() where id in (%d, %d, %d)', - $itm1['iid'], $itm2['iid'], $itm3['iid'])); - if (date('w') == 0 || date('w') == 6 || date('w') == 2) { - StatsModel::addRepexpById($u->info['id'], 10); //Репутация плавка рун +10 - } - } - } - } - } elseif ($itm1['level'] == 1) { - //$resz = 'Унируны нельзя преобразовывать'; - $itm4 = []; - $sp = mysql_query('SELECT * FROM `items_main` WHERE `level` = "' . $itm1['level'] . '" AND `type` = 31 - AND `id` != "' . $itm1['item_id'] . '" AND `id` != "' . $itm2['item_id'] . '" AND `id` != "' . $itm3['item_id'] . '" AND `id` < 6000'); - while ($pl = mysql_fetch_array($sp)) { - $itm4[] = $pl; - } - $itm4 = $itm4[rand(0, count($itm4) - 1)]; - mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm3['iid'] . '" OR `id` = "' . $itm2['iid'] . '" OR `id` = "' . $itm1['iid'] . '"'); - \User\ItemsModel::addItem($itm4['id'], $u->info['id']); - $resz = 'Удачно преобразованы руны "' . $itm1['name'] . '","' . $itm2['name'] . '" и "' . $itm3['name'] . '" в "' . $itm4['name'] . '".'; - } else { - $itm4 = []; - $sp = mysql_query('SELECT * FROM `items_main` WHERE `level` = "' . $itm1['level'] . '" AND `type` = 31 - AND `id` != "' . $itm1['item_id'] . '" AND `id` != "' . $itm2['item_id'] . '" AND `id` != "' . $itm3['item_id'] . '"'); - while ($pl = mysql_fetch_array($sp)) { - $itm4[] = $pl; - } - $itm4 = $itm4[rand(0, count($itm4) - 1)]; - mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm3['iid'] . '" OR `id` = "' . $itm2['iid'] . '" OR `id` = "' . $itm1['iid'] . '"'); - \User\ItemsModel::addItem($itm4['id'], $u->info['id']); - $resz = 'Удачно преобразованы руны "' . $itm1['name'] . '","' . $itm2['name'] . '" и "' . $itm3['name'] . '" в "' . $itm4['name'] . '".'; - } - - $re = $resz; - unset($resz); -} - -?> - - - - - - -
-
Храм Знаний
-
-
- - - - - -
  - - - - -
- - - - - - - - - -
- - - - - -
Центральная - площадь
-
 
-
-
-

-  

-
- - - - - - - - -
getInfoPers($u->info['id'], 0); - if ($usee != false) { - echo $usee[0]; - } else { - echo 'information is lost.'; - } ?> -
- - - - - -
' . $re . ''; - } ?> - - - - -
-
-
-   Форум -   -
- -
- - src="//img.new-combats.tech/city/ap_exit.gif" - width="57" height="26" class="aFilter"/>
-
-
-
- onclick="location.href='main.php?r=1'" - title="Алтарь Предметов" - src="//img.new-combats.tech/city/ap_altar1.gif" - width="147" height="93" class="aFilter"/>
-
- onclick="location.href='main.php?r=2'" - title="Алтарь Рун" - src="//img.new-combats.tech/city/ap_altar2.gif" - width="147" height="93" class="aFilter"/>
-
- - src="//img.new-combats.tech/city/ap_exit.gif" - width="57" height="26" class="aFilter"/>
- - -
-
-
- - - - -
- -
-
- Внимание! Никогда и никому не говорите пароль от своего персонажа. Не вводите пароль на других - сайтах, типа "новый город", "лотерея", "там, где все дают на халяву". Пароль не - нужен ни паладинам, ни кланам, ни администрации, только взломщикам для кражи вашего героя.
- Администрация.

-
-
- genInv(11, '`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 = 'ПУСТО (нет подходящих предметов)'; - } else { - $itmAllSee = $itmAll[2]; - } -//Удачно растворен предмет "Укрепленный Костыль". Получена руна "Моно Бауни". - ?> - - - - - - - - - - -
microLogin($u->info['id'], 1) ?>Подходящие предметы в инвентаре
- Репутация: rep['rep1']; ?> -

-
Предмет не выбран

-
-
-
- Внимание!
- Предметы при растворении и заготовки при слиянии необратимо теряются.
-
- - - info['invBlock'] == 0) { - echo $itmAllSee; - } else { - echo '
Рюкзак закрыт.
Введите пароль:
'; - } ?> -
- -
-genInv(14, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = 31 OR`im`.`type` = 72) ORDER BY `lastUPD` DESC'); - if ($itmAll[0] == 0) { - $itmAllSee = 'ПУСТО (нет подходящих предметов)'; - } else { - $itmAllSee = $itmAll[2]; - } -//Удачно растворен предмет "Укрепленный Костыль". Получена руна "Моно Бауни". - ?> - - - - - - - - - - -
microLogin($u->info['id'], 1) ?>Подходящие предметы в инвентаре
- Репутация: rep['rep1']; ?> -

-
- - - - - - - -
ПустоПустоПусто
- -

- -
-
-
- Внимание!
- Предметы при растворении и заготовки при слиянии необратимо теряются.
-
- - - info['invBlock'] == 0) { - echo $itmAllSee; - } else { - echo '
Рюкзак закрыт.
Введите пароль:
'; - } ?> -
- -
- - \ No newline at end of file diff --git a/modules_data/location/ab/izlom16.php b/modules_data/location/ab/izlom16.php deleted file mode 100644 index e1ea9983..00000000 --- a/modules_data/location/ab/izlom16.php +++ /dev/null @@ -1,91 +0,0 @@ -room['file']=='ab/izlom16') -{ - if(date("H")>=6 && date("H")<22) { - $now = 'day'; - } else { $now = 'night'; } - if($u->info['level'] >= 4) - { - if(date("H")>=6 && date("H")<22) - { - $tattack = 'Нападение доступно с 22 до 6 ч.'; - } else { - if(isset($_POST['attack'])) - { - $magic->magicCentralAttack(); - } - $tattack = 'Напасть'; - } - } -?> - - - - - - -
- getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?> -
- - - - - -
- '.$re.''; } ?> - - - - -
-
- -
  - Форум   -
- -
src="//img.new-combats.tech/i/images/300x225/ab_iz_exit.gif" width="48" height="33" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/ab_iz_gate.gif" width="167" height="94" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/ab_iz_shop.gif" width="75" height="68" class="aFilter" />
-
-
- -
-
- -
- -
- -
- - testHome(); if(!isset($hgo['id'])){ ?> -
- Внимание! Никогда и никому не говорите пароль от своего персонажа. Не вводите пароль на других сайтах, типа "новый город", "лотерея", "там, где все дают на халяву". Пароль не нужен ни паладинам, ни кланам, ни администрации, только взломщикам для кражи вашего героя.
- Администрация.

-
- -
- \ No newline at end of file diff --git a/modules_data/location/ab/izlom2.php b/modules_data/location/ab/izlom2.php deleted file mode 100644 index d969b467..00000000 --- a/modules_data/location/ab/izlom2.php +++ /dev/null @@ -1,149 +0,0 @@ -room['file'] != 'ab/izlom2') { - return; -} -if (isset($_POST['level'])) { - $dop_lvl = 8; //максимально допустимый лвл - if ((int)$_POST['level'] > $u->info['level'] || (int)$_POST['level'] > $dop_lvl) { - echo 'Вы не можете начать поход... Выполните больше заданий у Шейлы!'; - } else { - $eff1 = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" AND `id_eff` = "31" AND `delete` = "0" LIMIT 1')); - if (isset($eff1['id'])) { - echo 'Вы не можете начать новый поход пока действует эффект "Касание Хаоса"'; - } elseif (!isset($zv)) { - $zv = new FightRequest(); - } - } -} -?> - -
' . $re . ''; - } ?>
- - - - -
-
Излом Хаоса
-
- - - - - -
  - - - - -
- - - - - - - - - -
- - - - - - - - - -
Излом - Хаоса - 16
Магазин - Излома
-
 
-
-
-
-
- -
- -

-
diff --git a/modules_data/location/ab/izlomshop.php b/modules_data/location/ab/izlomshop.php deleted file mode 100644 index 37e546ed..00000000 --- a/modules_data/location/ab/izlomshop.php +++ /dev/null @@ -1,200 +0,0 @@ -room['file']=='ab/izlomshop') -{ - $shopProcent = 50; - if(date('d',time())==22) - { - //$shopProcent = 1; - } - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 10; - - $error = ''; - - if(isset($_GET['buy'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Стоянка Экспедиции
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Одежда: Наручи"',2=>'Отдел "Одежда: Амулеты"',3=>'Отдел "Амуниция: Ресурсы"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Излом Хаоса
-
-
-

-

-



- - Масса: 0/0  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы Стоянки Экспедиции
-
- 'Обмундирование:',2=>'     Вещи',3=>'Амуниция: Ресурсы'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/ab/kareta.php b/modules_data/location/ab/kareta.php deleted file mode 100644 index 28d392ba..00000000 --- a/modules_data/location/ab/kareta.php +++ /dev/null @@ -1,231 +0,0 @@ -room['file']=='ab/kareta') -{ - $cs = ''; $sos = ''; - $car = mysql_fetch_array(mysql_query('SELECT * FROM `vokzal` WHERE `name` = "'.$u->room['name'].'" LIMIT 1')); - if(isset($car['id'])) - { - $sp = mysql_query('SELECT * FROM `vokzal` WHERE `city` = "'.$c['thiscity'].'" OR `tocity` = "'.$c['thiscity'].'"'); - while($pl = mysql_fetch_array($sp)) - { - $vz1 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['city'].'" LIMIT 1')); - $vz2 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['tocity'].'" LIMIT 1')); - $crm = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "'.$pl['name'].'" LIMIT 1')); - //period 0 - прибытие в город (стоянка), 1 - движение, 3 - прибытие в другой город (стоянка), 4 - движение (из tocity) - if($pl['time_start_go']==0) - { - //Это новая карета обновляем данные - mysql_query('UPDATE `vokzal` SET `time_start_go` = "'.(time()+$pl['timeStop']*60).'",`time_finish_go` = "'.(time()+$pl['timeStop']*60+$pl['time_go']*60).'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['time_start_go'] = time()+$pl['timeStop']*60; - $pl['time_finish_go'] = $pl['time_start_go']+$pl['time_go']*60; - } - $see = 0; - if($u->info['admin']>0) - { - $see = 1; - } - $plc = $pl['tocity']; - if($pl['time_start_go']-600time()) - { - //можно знанимать места в карете - if(isset($crm['id'])) - { - $sr = mysql_query('SELECT `uid`,`id` FROM `items_users` WHERE `secret_id` = "'.$pl['time_start_go'].'_b'.$pl['id'].'" AND `delete` = "0" LIMIT 100'); - while($pr = mysql_fetch_array($sr)) - { - $upd1 = mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$pr['id'].'" LIMIT 1'); - if($upd1) - { - mysql_query('UPDATE `users` SET `room` = "'.$crm['id'].'" WHERE `online` > '.(time()-120).' AND `id` = "'.$pr['uid'].'" LIMIT 1'); - } - } - } - } - //отправляем карету в другой город - if($pl['time_finish_go']'.$re.'
'; } ?> - - - -
room['name']; ?>
- '.$error.''; - ?> -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Место отбытия:
city_name[$c['thiscity']]; ?>
Место прибытия:
city_name[$car['citygo']]; ?>
Прибытие:
- -
- 4,2=>4,3=>1,4=>1,5=>1,6=>2,7=>2,8=>2,9=>3,10=>3,11=>3,12=>4); - $imgo = array(1=>1,2=>5,3=>7,4=>3); - $outimg = $imgo[$outimg[round(date('m',time()))]]; - if(date('H',time())<22 && date('H',time())>6) - { - $outimg++; - } - ?> - - - - - - -

 

-
- - - - - -
-
-

-
-
-
- -
- - -
-
-
-
-
-
- - \ No newline at end of file diff --git a/modules_data/location/ab/legion.php b/modules_data/location/ab/legion.php deleted file mode 100644 index a85ef4d5..00000000 --- a/modules_data/location/ab/legion.php +++ /dev/null @@ -1,379 +0,0 @@ -room['file']=='ab/legion') -{ - -$dun = 13; //для новичков 2-7 лвл - -$er = ''; - -$dzs = ''; - -$g111 = 1; -$g11 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `vars` = "psh13" AND `time`>'.(time()-7200).' LIMIT 1',1); - -$moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "'.$u->info['align'].'" LIMIT 1')); - -if($u->info['dn']>0) -{ - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `id`="'.$u->info['dn'].'" AND `delete` = "0" LIMIT 1')); - if(!isset($zv['id'])) - { - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - } -} - -if(isset($g11['id'])) -{ - $g111 = 0; - if(isset($_GET['start'])) - { - $re = 'Поход в пещеры разрешен один раз в два часа. Осталось еще: '.$u->timeOut(7200-time()+$g11['time']); - } -} -if(isset($_GET['start']) && $zv['uid']==$u->info['id'] && $g111 == 1) -{ - //начинаем поход - //начинаем поход - $ig = 1; - if($ig>0) - { - //перемещаем игроков в пещеру - //$u->addAction(time(),'psh13',''); - $ins = mysql_query('INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) - VALUES ("'.$zv['city'].'","'.$zv['uid'].'","'.$dun.'","Бездна","'.time().'")'); - if($ins) - { - $zid = mysql_insert_id(); - //обновляем пользователей - $su = mysql_query('SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$zv['id'].'" LIMIT '.($zv['team_max']+1).''); - $ids = ''; - while($pu = mysql_fetch_array($su)) - { - $ids .= ' `id` = "'.$pu['id'].'" OR'; - $u->addAction(time(),'psh13','',$pu['id']); - } - $ids = rtrim($ids,'OR'); - $upd1 = mysql_query('UPDATE `stats` SET `x`="0",`y`="0",`dn` = "0",`dnow` = "'.$zid.'" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - if($upd1) - { - $upd2 = mysql_query('UPDATE `users` SET `room` = "315" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dun - //Добавляем ботов - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "'.$dun.'"'); - while($pl = mysql_fetch_array($sp)) - { - $vls .= '("'.$zid.'","'.$pl['id_bot'].'","'.$pl['colvo'].'","'.$pl['items'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['dialog'].'","'.$pl['items'].'"),'; - } - $vls = rtrim($vls,','); - $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`) VALUES '.$vls.''); - //Добавляем обьекты - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "'.$dun.'"'); - while($pl = mysql_fetch_array($sp)) - { - $vls .= '("'.$zid.'","'.$pl['name'].'","'.$pl['img'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['action'].'","'.$pl['type'].'","'.$pl['w'].'","'.$pl['h'].'","'.$pl['s'].'","'.$pl['s2'].'","'.$pl['os1'].'","'.$pl['os2'].'","'.$pl['os3'].'","'.$pl['os4'].'","'.$pl['type2'].'","'.$pl['top'].'","'.$pl['left'].'","'.$pl['date'].'"),'; - } - $vls = rtrim($vls,','); - if($vls!='') - { - $ins2 = mysql_query('INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES '.$vls.''); - }else{ - $ins2 = true; - } - if($upd2 && $ins1 && $ins2) - { - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - die(''); - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - } -}elseif(isset($_POST['go'],$_POST['goid']) && $g111==1) -{ - if(!isset($zv['id'])) - { - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "'.$u->info['city'].'" AND `id`="'.mysql_real_escape_string($_POST['goid']).'" AND `delete` = "0" LIMIT 1')); - if(isset($zv['id'])) - { - if($u->info['level']>7) - { - $row = 0; - if(5>$row) - { - $upd = mysql_query('UPDATE `stats` SET `dn` = "'.$zv['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if(!$upd) - { - $re = 'Не удалось вступить в эту группу'; - unset($zv); - }else{ - $u->info['dn'] = $zv['id']; - } - }else{ - $re = 'В группе нет места'; - unset($zv); - } - }else{ - $re = 'Вы не подходите по уровню'; - unset($zv); - } - }else{ - $re = 'Заявка не найдена'; - } - }else{ - $re = 'Вы уже находитесь в группе'; - } -}elseif(isset($_POST['leave']) && isset($zv['id']) && $g111 == 1) -{ - if($zv['uid']==$u->info['id']) - { - //ставим в группу нового руководителя - $ld = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `dn` = "'.$zv['id'].'" AND `id` != "'.$u->info['id'].'" LIMIT 1')); - if(isset($ld['id'])) - { - $zv['uid'] = $ld['id']; - mysql_query('UPDATE `dungeon_zv` SET `uid` = "'.$zv['uid'].'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - }else{ - //удаляем группу целиком - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } - }else{ - //просто выходим с группы - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } -}elseif(isset($_POST['add']) && $u->info['level']>1 && $g111 == 1) -{ - if($u->info['dn']==0) - { - $lmn = $u->info['level']-1; - $lmx = $u->info['level']+1; - $tmx = 0; - - if($lmn<2){ $lmn = 2; } - if($lmn>7){ $lmn = 7; } - if($lmx<2){ $lmx = 2; } - if($lmx>7){ $lmx = 7; } - - if($u->info['level']>7) - { - $tmx = 5; - } - - //только своего уровня - $lmn = $u->info['level']; - - $ins = mysql_query('INSERT INTO `dungeon_zv` - (`city`,`time`,`uid`,`dun`,`pass`,`com`,`lvlmin`,`lvlmax`,`team_max`) VALUES - ("'.$u->info['city'].'","'.time().'","'.$u->info['id'].'","'.$dun.'", - "'.mysql_real_escape_string($_POST['pass']).'", - "'.mysql_real_escape_string($_POST['text']).'", - "'.$lmn.'", - "'.$lmx.'", - "'.$tmx.'")'); - if($ins) - { - $u->info['dn'] = mysql_insert_id(); - $zv['id'] = $u->info['dn']; - $zv['uid'] = $u->info['id']; - mysql_query('UPDATE `stats` SET `dn` = "'.$u->info['dn'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $re = 'Вы успешно создали группу'; - }else{ - $re = 'Не удалось создать группу'; - } - }else{ - $re = 'Вы уже находитесь в группе'; - } -} - -//Генерируем список групп -$sp = mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "'.$u->info['city'].'" AND `delete` = "0" AND `time` > "'.(time()-60*60*2).'"'); -while($pl = mysql_fetch_array($sp)) -{ - $dzs .= '
'; - if($u->info['dn']==0) - { - $dzs .= ''; - } - $dzs .= ''.date('H:i',$pl['time']).' '; - - $pus = ''; //группа - $su = mysql_query('SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$pl['id'].'" LIMIT '.($pl['team_max']+1).''); - while($pu = mysql_fetch_array($su)) - { - $pus .= ''.$pu['login'].' ['.$pu['level'].']'; - $pus .= ', '; - } - $pus = trim($pus,', '); - - $dzs .= $pus; - - if($pl['com']!='') - { - $dl = ''; - if(($moder['boi']==1 || $u->info['admin']>0) && $pl['dcom']==0) - { - $dl .= ' (удалить комментарий)'; - if(isset($_GET['delcom']) && $_GET['delcom']==$pl['id'] && $u->newAct($_GET['key'])==true) - { - mysql_query('UPDATE `dungeon_zv` SET `dcom` = "'.$u->info['id'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['dcom'] = $u->info['id']; - } - } - - $pl['com'] = htmlspecialchars($pl['com'],NULL); - - if($pl['dcom']>0) - { - $dl = ' комментарий удален модератором'; - } - - if($pl['dcom']>0) - { - if($moder['boi']==1 || $u->info['admin']>0) - { - $pl['com'] = ''.$pl['com'].''; - }else{ - $pl['com'] = ''; - } - } - - $dzs .= ' | '.$pl['com'].''.$dl.''; - } - - $dzs .= '
'; -} -?> - - - - - - -
-

room['name']; ?>

-
- - - - - -
  - - - -
- - - - - - -
- - - - -
Вход в подземелье
-
-'.$re.'
'; -} - -//отображаем -if($dzs=='') -{ - $dzs = ''; -}else{ - if(!isset($zv['id'])) - { - if($g111==1) - { - $pr = ''; - } - $dzs = '
'.$pr.'
'.$dzs.''.$pr.'
'; - } - $dzs .= '
'; -} - -echo $dzs; -if($g111 == 1) -{ -if($u->info['dn']==0) -{ -?> - - - - -
-
-
- Группа - Комментарий - -
- Пароль - -
- -  
-
-
-
-info['id']) - { - $psh_start = '  '; - } - - echo '
-
- Группа - '.$psh_start.' - -
-
'; - } -} -?> - -timeOut(7200-time()+$g11['time']).'
Но Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)'; -} -} - -?> \ No newline at end of file diff --git a/modules_data/location/ab/quest.php b/modules_data/location/ab/quest.php deleted file mode 100644 index bae00449..00000000 --- a/modules_data/location/ab/quest.php +++ /dev/null @@ -1,145 +0,0 @@ -room['file']=='ab/quest') -{ - -?> - - - - - -
-
Домик Бабушки
-
'.$re.''; } ?>
-
- - - - -
  - - - -
- - - - - - - - -
- - - - -
Центральная площадь
 
-

-  

-
- - - - - - - - -
getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?>
- - - - - -
'.$re.''; } ?> - - - - -
-
  Форум  
- -
src="//img.new-combats.tech/city/ap_exit.gif" width="57" height="26" class="aFilter" />
-
-
src="//img.new-combats.tech/city/ap_exit.gif" width="57" height="26" class="aFilter" />
- - -
-
- - -
- -
-
- Внимание! Никогда и никому не говорите пароль от своего персонажа. Не вводите пароль на других сайтах, типа "новый город", "лотерея", "там, где все дают на халяву". Пароль не нужен ни паладинам, ни кланам, ни администрации, только взломщикам для кражи вашего героя.
- Администрация.

-
-
- - \ No newline at end of file diff --git a/modules_data/location/ab/vokzal.php b/modules_data/location/ab/vokzal.php deleted file mode 100644 index d3c80741..00000000 --- a/modules_data/location/ab/vokzal.php +++ /dev/null @@ -1,334 +0,0 @@ -room['file']=='ab/vokzal') -{ - $cs = ''; $cbuy = array(); $tmref = 0; - $sp = mysql_query('SELECT * FROM `vokzal` WHERE `city` = "'.$u->info['city'].'" OR `tocity` = "'.$c['city'].'"'); - while($pl = mysql_fetch_array($sp)) - { - $vz1 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['city'].'" LIMIT 1')); - $vz2 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['tocity'].'" LIMIT 1')); - $crm = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "'.$pl['name'].'" LIMIT 1')); - //period 0 - прибытие в город (стоянка), 1 - движение, 3 - прибытие в другой город (стоянка), 4 - движение (из tocity) - if($pl['time_start_go']==0) - { - //Это новая карета обновляем данные - mysql_query('UPDATE `vokzal` SET `time_start_go` = "'.(time()+$pl['timeStop']*60).'",`time_finish_go` = "'.(time()+$pl['timeStop']*60+$pl['time_go']*60).'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['time_start_go'] = time()+$pl['timeStop']*60; - $pl['time_finish_go'] = $pl['time_start_go']+$pl['time_go']*60; - } - $see = 1; - $plc = $pl['tocity']; - $col = 'e6e6e6" style="color:#B7B7B7;"'; - $tmgo = '(Прибудет в '.date('H:i',$pl['time_finish_go']).')'; - $bl = '--'; - $bb = 'билетов нет'; - if($pl['time_start_go']-600time()) - { - //можно знанимать места в карете - if(isset($crm['id'])) - { - $sr = mysql_query('SELECT `uid`,`id` FROM `items_users` WHERE `secret_id` = "'.$pl['time_start_go'].'_b'.$pl['id'].'" AND `delete` = "0" LIMIT 100'); - while($pr = mysql_fetch_array($sr)) - { - $upd1 = mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$pr['id'].'" LIMIT 1'); - if($upd1) - { - mysql_query('UPDATE `users` SET `room` = "'.$crm['id'].'" WHERE `online` > '.(time()-120).' AND `id` = "'.$pr['uid'].'" LIMIT 1'); - } - } - } - } - if((($pl['period']==0 && $u->info['city']==$pl['city']) || ($pl['period']==3 && $u->info['city']==$pl['tocity'])) && $pl['time_start_go']>time() && $pl['citygo']!=$u->info['city']) - { - $see = 1; - $tmgo = date('d.m.Y в H:i',$pl['time_start_go']); - $col = 'c9c9c9'; - $bl = $pl['bilets']; - $bb = ''; - if($pl['bilets']<=0) - { - $bb = 'билетов нет'; - } - }else{ - //отправляем карету в другой город - if($pl['time_finish_go']'.$tmgo.' - '.$u->city_name[$plc].' - '.$pl['time_go'].' мин. - '.$pl['price1'].' кр. - нет - '.$bl.' - '.$bb.' - '; - if($pl['time_start_go']-time()<$tmref) - { - $tmref = $pl['time_start_go']-time(); - } - if($bl!='--' && $bl>0 && $pl['citygo']!=$u->info['city']) - { - $cbuy[$pl['id']] = 1; - } - } - } - - if(isset($_GET['buy']) && $u->newAct($_GET['sd4'])==true) - { - $buy = mysql_fetch_array(mysql_query('SELECT * FROM `vokzal` WHERE `time_start_go` > "'.time().'" AND `citygo` != "'.$u->info['city'].'" AND `id` = "'.mysql_real_escape_string($_GET['buy']).'" LIMIT 1')); - if(isset($buy['id']) && isset($cbuy[$buy['id']])) - { - if($buy['bilets']<=0) - { - $error = 'Билетов больше нет, загляните позже'; - }elseif($u->info['money']>=$buy['price1']) - { - $u->info['money'] -= $buy['price1']; - $upd = mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($upd) - { - //передаем Билет персонажу - $error = 'Вы заплатили '.$buy['price1'].' кр. за билет в '.$u->city_name[$buy['tocity']].'
Отправка в '.date('d.m.Y H:i',$buy['time_start_go']).' по серверу'; - $ib = 'Дата отправления кареты в '.$u->city_name[$buy['tocity']].': '.date('d.m.Y в H:i',$buy['time_start_go']).'
Билет на имя: '.$u->info['login'].''; - $ins = mysql_query('INSERT INTO `items_users` (`1price`,`maidin`,`data`,`uid`,`item_id`,`iznosMAX`,`lastUPD`,`secret_id`,`time_create`) VALUES ("'.$buy['price1'].'","'.$u->info['city'].'","info='.$ib.'|noodet=1","'.$u->info['id'].'","866","1","'.time().'","'.$buy['time_start_go'].'_b'.$buy['id'].'","'.time().'")'); - if($ins) - { - $error .= '
Предмет "Билет" был перемещен к Вам в инвентарь, в раздел "прочее".'; - mysql_query('UPDATE `vokzal` SET `bilets` = "'.($buy['bilets']-1).'" WHERE `id` = "'.$buy['id'].'" LIMIT 1'); - }else{ - $error = 'Не удалось приобрести билет'; - } - }else{ - $u->info['money'] += $buy['price1']; - $error = 'Не удалось приобрести билет'; - } - }else{ - $error = 'У Вас недостаточно денег'; - } - }else{ - $error = 'Не удалось приобрести билет'; - } - } - - $zd = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time` >= '.time().' AND `vars` = "teleport" LIMIT 1',1); - if(isset($_GET['teleport']) && !isset($zd['id'])) - { - $tp = mysql_fetch_array(mysql_query('SELECT * FROM `teleport` WHERE `city` = "'.$u->info['city'].'" AND `cancel` = "0" AND `id` = "'.((int)$_GET['teleport']).'" LIMIT 1')); - if(isset($tp['id'])) - { - if($u->info['money']>=$tp['price1']) - { - $rm = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$tp['toCity'].'" LIMIT 1')); - if(isset($rm['id'])) - { - $u->info['money'] -= $tp['price1']; - $u->info['city'] = $tp['toCity']; - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'",`city` = "'.$u->info['city'].'",`room` = "'.$rm['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if( $u->stats['silver'] >= 3 ) { - $tp['time'] = round($tp['time']/2); - } - $u->addAction((time()+$tp['time']*60),'teleport',$tp['toCity']); - die(''); - }else{ - $error = 'Нельзя телепортироваться, возможно вокзал в этом городе был разрушен...'; - } - }else{ - $error = 'У вас недостаточно средсв'; - } - }else{ - $error = 'Нельзя телепортироваться...'; - } - } - - $cst = ''; - $sp = mysql_query('SELECT * FROM `teleport` WHERE `city` = "'.$u->info['city'].'" AND `cancel` = "0"'); - while($pl = mysql_fetch_array($sp)) - { - $col = 'e6e6e6" style="color:#B7B7B7;"'; - if(!isset($zd['id'])) - { - $col = 'c9c9c9'; - } - $cst .= ' - '.$pl['toCity'].' - '.$u->timeOut($pl['time']*60).' - '.$pl['price1'].' кр.'; - if(isset($zd['id'])) - { - $cst .= 'Задержка еще '.$u->timeOut($zd['time']-time()).''; - }else{ - $cst .= 'Поехали!'; - } - $cst .= ''; - } - if($re!=''){ echo '
'.$re.'
'; } ?> - - - -
room['name'].' "'.$u->city_name[$u->info['city']].'"'; ?>
- '.$error.''; - if($cst!='') - { - ?> -
- Телепортация в другие города(Возможна через '.$u->timeOut($zd['time']-time()).')'; } ?> -
- -
- - - - - - - - -
пункт назначения
время задержки телепортации
цена телепортации
Телепортироваться
-
- -

Расписание движения карет на сегодня
-
- - - - - - - - - - - -
время отправления
пункт назначения
время в пути
цена билета
требуется виза
осталось билетов
приобрести билет
- 600 && $tmref>0){ echo ''; } if($cs==''){ echo '

Сегодня нет свободных карет для перемещения в другие города
'; } ?> -

- - - Для отправления в другой город Вы должны быть онлайн когда будет отправляться карета
- - Если Вы опоздали на карету, тогда билет можно сдать в магазин за половину его стоимости
-
-
-
  - - -
- - - - - - - -
- - - - - -
Центральная Площадь
-
-
-
-
-
-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
-
- - \ No newline at end of file diff --git a/modules_data/location/altar_cat.php b/modules_data/location/altar_cat.php deleted file mode 100644 index 597f23a4..00000000 --- a/modules_data/location/altar_cat.php +++ /dev/null @@ -1,346 +0,0 @@ -newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - }elseif(isset($_GET['add_alt_char'])) { - //Ложим предмет - $itm = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `data` LIKE "%alt_cat=%" AND `id` = "'.mysql_real_escape_string($_GET['add_alt_char']).'" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "0" AND `inOdet` = "0" AND `inTransfer` = "0" LIMIT 1')); - if(!isset($itm['id'])) { - $re = 'Подходящий предмет не найден'; - }else{ - if($u->itemsX($itm['id'])==1) { - $itm_m = mysql_fetch_array(mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "'.$itm['item_id'].'" LIMIT 1')); - mysql_query('UPDATE `items_users` SET `inShop` = "'.$sid.'" WHERE `id` = "'.$itm['id'].'" LIMIT 1'); - $re = 'Предмет "'.$itm_m['name'].'" успешно добавлен'; - }else{ - //группа - $re = 'Разделите группу предметов'; - } - } - }elseif(isset($_GET['clear_alt_char'])){ - //Ложим предмет - $itm = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `data` LIKE "%alt_cat=%" AND `id` = "'.mysql_real_escape_string($_GET['clear_alt_char']).'" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "'.$sid.'" AND `inOdet` = "0" AND `inTransfer` = "0" LIMIT 1')); - if(!isset($itm['id'])) { - $re = 'Подходящий предмет не найден'; - }else{ - - $itm_m = mysql_fetch_array(mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "'.$itm['item_id'].'" LIMIT 1')); - mysql_query('UPDATE `items_users` SET `inShop` = "0",`lastUPD` = "'.time().'" WHERE `id` = "'.$itm['id'].'" LIMIT 1'); - $re = 'Предмет "'.$itm_m['name'].'" успешно убран'; - } - }elseif(isset($_GET['createLaba'])) { - $vaza = true; - $rec1 = ''; - $rec2 = ''; - $rec3 = ''; - $rec3l = 0; - $sp = mysql_query('SELECT `id`,`item_id` FROM `items_users` WHERE `data` LIKE "%alt_cat=1%" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "'.$sid.'" AND `inOdet` = "0" AND `inTransfer` = "0" ORDER BY `item_id` ASC LIMIT 1000'); - while($pl = mysql_fetch_array($sp)) { - if($pl['item_id']!=2555) { - $rec1 .= $pl['item_id'].','; - $rec3 .= ' `id`='.$pl['id'].' OR'; - $rec3l++; - }elseif($pl['item_id']==2555) { - $vaza = true; - } - } - $sp = mysql_query('SELECT `id`,`item_id` FROM `items_users` WHERE `data` LIKE "%alt_cat=2%" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "'.$sid.'" AND `inOdet` = "0" AND `inTransfer` = "0" ORDER BY `item_id` ASC LIMIT 1000'); - while($pl = mysql_fetch_array($sp)) { - if($pl['item_id']!=2555) { - $rec2 .= $pl['item_id'].','; - $rec3 .= ' `id`='.$pl['id'].' OR'; - $rec3l++; - }elseif($pl['item_id']==2555) { - $vaza = true; - } - } - $rec1 = rtrim($rec1,','); - $rec2 = rtrim($rec2,','); - $rec3 = rtrim($rec3,'OR'); - - - $rec = mysql_fetch_array(mysql_query('SELECT * FROM `alt_cat` WHERE `itm_1` = "'.$rec1.'" AND `itm_2` = "'.$rec2.'" AND `shop` = "'.$sid.'" AND `active` = "1" LIMIT 1')); - if(isset($rec['id']) && $rec3 = '') { - $itm = mysql_fetch_array(mysql_query('SELECT `id`, `name` FROM `items_main` WHERE `id` = "'.$rec['itm_add'].'" LIMIT 1')); - $itm_data = mysql_fetch_array(mysql_query('SELECT `data` FROM `items_main_data` WHERE `items_id` = "'.mysql_real_escape_string($itm['id']).'"')); - if(isset($itm['id'])) { - if($vaza==true && isset($itm_data['data'])){ - $itm_data = \Core\ConversionHelper::dataStringToArray($itm_data['data']); - $itm_data = array('srok'=>$itm_data['srok']); // Извлекаем только срок! - $itm_data['srok'] = (int)$itm_data['srok']; // Только Цифры! - if(isset($itm_data['srok']) and $itm_data['srok']>0){ - $itm_data['srok'] = $itm_data['srok']*3; // В три раза больше срок хранения! - $itm_data = '|'.\Core\ConversionHelper::arrayToDataString($itm_data); - } - } else { - $itm_data = NULL; - } - \User\ItemsModel::addItem($itm['id'],$u->info['id'],$itm_data,NULL,NULL,true); - mysql_query('UPDATE `items_users` SET `delete` = "'.time().'",`inShop` = "0" WHERE '.$rec3.' LIMIT '.$rec3l); - $re = 'Предмет "'.$itm['name'].'" был успешно создан!'; - }else{ - $re = 'Не удалось получить чарку по рецепту...'; - } - } else { - if($u->info['admin']>0) { - echo '
ITM1: '.$rec1.'
ITM2: '.$rec2.'
'; - } - $re = 'Подходящий рецепт не найден...'; - } - } - if($re!=''){ echo '
'.$re.'
'; } ?> - - - -
Лаборатория

-
Персонаж: microLogin($u->info['id'],1)?>
- '.$error.''; - ?> -
- - - - - - -
- - - - - - - -
- 'Отдел "Лаборатория"',2=>'Рецепты"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - } - ?> -
- - - - - '; - $treb = explode(',', $pl['itm_1']); - foreach($treb as $tr){ - $itm_treb = mysql_fetch_array(mysql_query('SELECT id, name, img, srok, price1,iznosMAXi FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($tr).'"')); - $is2.=''; - } - $treb = explode(',', $pl['itm_2']); - foreach($treb as $tr){ - if( isset($tr) && $tr!=''){ - $itm_treb = mysql_fetch_array(mysql_query('SELECT id, name, img, srok, price1,iznosMAXi FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($tr).'"')); - $is2.=''; - } - } - $is2.=' - '; - $i++; - } - echo "".$is2.""; - }else { - $u->shopItems($sid); - } - - ?> -
- '; - $itm['srok'] = ($itm['srok']/60/60/24); - $is2.=''.$itm['name'].'
- Масса: '.$itm['massa'].'
- Цена: '.$itm['price1'].' кр.
- Долговечность: 0/'.$itm['iznosMAXi'].'
- Уровень: '.$itm['level'].''; - $is2.='
'.$itm_treb['name'].'
'.$itm_treb['name'].'
-
- genInv(142,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `lastUPD` DESC'); - $itemsOk = $itemsOk[2]; - $itemsAdd = ''; - $resAdd = ''; - $sp = mysql_query('SELECT `u`.*,`m`.`name`,`m`.`type`,`m`.`img` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `u`.`uid` = "'.$u->info['id'].'" AND `u`.`inShop` = "'.$sid.'" AND `u`.`delete` = "0" AND `u`.`data` LIKE "%alt_cat=1%"'); - while($pl = mysql_fetch_array($sp)) { - $res_Add .= '

 
'; - } - $sp = mysql_query('SELECT `u`.*,`m`.`name`,`m`.`type`,`m`.`img` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `u`.`uid` = "'.$u->info['id'].'" AND `u`.`inShop` = "'.$sid.'" AND `u`.`delete` = "0" AND `u`.`data` LIKE "%alt_cat=2%"'); - while($pl = mysql_fetch_array($sp)) { - $itemsAdd .= '

 
'; - } - ?> - - - - - - - - - - - - - - -
Соединение Чарок
Чарки:
- -
-
- -
-
-   
Добавляйте сюда чарки, которые хотите соединить
- '.$res_Add; } ?>
Ресурсы у вас в рюкзаке:
- - - - -
- -
У вас нет подходящих чарок в рюкзаке
- -
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вернуться назад
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
-
-
-
-
-
-
Отделы:
-
- 'Соединить чарки',2=>'Рецепты'); - $i=1; - while($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/arena.php b/modules_data/location/arena.php deleted file mode 100644 index 0a400279..00000000 --- a/modules_data/location/arena.php +++ /dev/null @@ -1,99 +0,0 @@ -room['file']=='arena') -{ - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - -


-
Арена
- '.$error.''; - ?> -
- - - - - - -
 
-
-
  - - -
- - - - - - - -
- - - - - - - - - - - - - -
Большая торговая улица
Турнирный магазин
Алтарь крови
-
-
-
-
- - \ No newline at end of file diff --git a/modules_data/location/artshop.php b/modules_data/location/artshop.php deleted file mode 100644 index dd6e078a..00000000 --- a/modules_data/location/artshop.php +++ /dev/null @@ -1,308 +0,0 @@ -room['file']=='artshop') -{ - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 777; - - $error = ''; - - /*if( isset($_GET['restartprice'])) { - $sp = mysql_query('SELECT `s`.*,`m`.* FROM `items_shop` AS `s` LEFT JOIN `items_main` AS `m` ON `m`.`id` = `s`.`item_id` WHERE `s`.`sid` = "777"'); - - while($pl = mysql_fetch_array($sp)) { - $price2 = round(($pl['price2']/2.5),2); - if( $price2 > 100 ) { - mysql_query('UPDATE `items_shop` SET `price_2` = "'.$price2.'" WHERE `item_id` = "'.$pl['id'].'" AND `sid` = 777 LIMIT 1'); - } - } - }*/ - - if(isset($_GET['buy']) && isset($u->bank['id'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - }elseif(isset($_GET['buy_vip']) && isset($u->bank['id']) && $u->stats['silver'] > 1) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy_vip'],(int)$_GET['x'],NULL,true); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
room['name']; ?>
- '.$error.''; - ?> -
- - - - - - -
- bank['id']) && ($u->bank['money2']>0.00 || $u->info['admin']>0)){ ?> - - - - - - -
- 'Отдел "Оружие: кастеты,ножи"',2=>'Отдел "Оружие: топоры"',3=>'Отдел "Оружие: дубины,булавы"',4=>'Отдел "Оружие: мечи"',5=>'Отдел "Оружие: магические посохи"',6=>'Отдел "Одежда: сапоги"',7=>'Отдел "Одежда: перчатки"',8=>'Отдел "Одежда: рубахи"',28=>'Отдел "Одежда: плащи"',9=>'Отдел "Одежда: легкая броня"',10=>'Отдел "Одежда: тяжелая броня"',11=>'Отдел "Одежда: шлемы"',12=>'Отдел "Одежда: наручи"',13=>'Отдел "Одежда: пояса"',14=>'Отдел "Одежда: поножи"',15=>'Отдел "Щиты"',16=>'Отдел "Ювелирные товары: серьги"',17=>'Отдел "Ювелирные товары: ожерелья"',18=>'Отдел "Ювелирные товары: кольца"',19=>'Отдел "Заклинания: нейтральные"',20=>'Отдел "Заклинания: боевые и защитные"',21=>'Отдел "Амуниция"',22=>'Отдел "Амуниция: эликсиры"',23=>'Отдел "Подарки"',24=>'Отдел "Подарки: недобрые"',25=>'Отдел "Подарки: открытки"',26=>'Отдел "Подарки: упаковка"',27=>'Отдел "Подарки: фейерверки"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } elseif (isset($_GET['gifts'])) - { - echo ' - Отдел "Сделать подарки"'; - } - ?> -
- - - shopItems($sid); - ?> -
-
-
- -
Магазин является валютным, вы можете войти только имея еврокредиты. Укажите номер вашего счета в банке и пароль к нему.
-
- bank['id'])) - { - echo 'Банковский счет пуст, вход в магазин запрещен'; - }elseif(isset($_POST['bank']) && !isset($u->bank['id'])) - { - echo 'Неверный пароль от банковского счета.'; - } - ?> -

- - - - - - - -
Счёт в банке
Выберите счёт и введите пароль
- - - -
- -
-
-
- -
-
-
  - - -
- - - - - - - -
- - - - - -
Березка
-
-
-
-

- bank['id'])){ ?> -
- - Масса: aves['now']?>/aves['max']?>  
- №getNum($u->bank['id']); ?>: bank['money1']; ?>кр. bank['money2']; ?>екр.
- -
-
-
- bank['id']) && ($u->bank['money2']>0.00 || $u->info['admin']>0)){ ?> -
-
Отделы магазина
-
- '  Кастеты,ножи', - 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=>'     Временные слоты смены'*/); - $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 '
Оружие:
'; - } elseif($i == 6) { - echo '
Одежда:
'; - } elseif($i == 15) { - echo '
Щиты:
'; - } elseif($i == 16) { - echo '
Ювелирные товары:
'; - } elseif($i == 19) { - echo '
Заклинания:
'; - } elseif($i == 21) { - echo '
Амуниция:
'; - } elseif($i == 22) { - echo '
Эликсиры:
'; - } elseif($i == 23) { - echo '
Подарки:
'; - } elseif($i == 28) { - echo '
Дополнительно:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - echo '
'; - } - ?> - - -
-
- - \ No newline at end of file diff --git a/modules_data/location/bank.php b/modules_data/location/bank.php deleted file mode 100644 index 162ef3fd..00000000 --- a/modules_data/location/bank.php +++ /dev/null @@ -1,1229 +0,0 @@ -room['file'] == 'bank') { - $noc = \Core\Config::get('crtoecr') * 2; //120 kr = 1 ekr. - $con = \Core\Config::get('ecrtocr') * 2.5; //1 екр. = 30 кр. - function getNum($v) - { - $plid = $v; - $pi = iconv_strlen($plid); - if ($pi < 5) { - $i = 0; - while ($i <= 5 - $pi) { - $plid = '0' . $plid; - $i++; - } - } - return $plid; - } - - function getNumId($v) - { - $plid = $v; - $array = str_split($plid); - $ends = 0; - $result = ''; - for ($i = 0, $end = (count($array) - 1); $i <= $end; $i++) { - if ($array[$i] == 0 && $ends == 0) { - $array[$i] = ''; - } else { - $ends = 1; - } - $result .= $array[$i]; - } - return $result; - } - - if ($u->info['allLock'] > time()) { - $u->bank = false; - } - - $re2 = ''; - if (isset($_GET['enter']) && !isset($u->bank['id'])) { - $bank = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `bank` WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . mysql_real_escape_string( - (int)$_POST['bank'] - ) . '" LIMIT 1' - ) - ); - if (!isset($bank['id'])) { - $re2 = 'Неверный номер счета.'; - } elseif ($bank['pass'] != $_POST['pass']) { - $pl = mysql_fetch_array( - mysql_query( - 'SELECT COUNT(*) FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `time` > "' . (time( - ) - 60 * 60) . '" AND `vars` = "bank_bad_pass_' . mysql_real_escape_string( - $bank['id'] - ) . '" LIMIT 5' - ) - ); - if ($pl[0] >= 3) { - $re2 = 'Ваш счет был заблокирован на 1 час'; - } else { - if ($pl[0] == 0) { - $re2 = 'Неверный номер счета или пароль. Если вы трижды введете неверный номер счета или пароль, счет будет заблокирован на час'; - } else { - $pp = [0 => 'ок', 1 => 'ка', 2 => 'ки', 3 => 'ки']; - $re2 = 'Неверный номер счета или пароль. У вас осталось ' . (3 - $pl[0]) . ' попыт' . $pp[3 - $pl[0]] . ', в противном случаи счет будет заблокирован на час'; - } - mysql_query( - 'INSERT INTO `actions` (`uid`,`time`,`city`,`room`,`vars`,`ip`) VALUES ("' . $u->info['id'] . '","' . time( - ) . '","' . $u->info['city'] . '","' . $u->info['room'] . '","bank_bad_pass_' . mysql_real_escape_string( - $bank['id'] - ) . '","' . mysql_real_escape_string($_SERVER['HTTP_X_REAL_IP']) . '")' - ); - } - } else { - - if ($u->info['allLock'] > time()) { - echo ''; - } else { - //вошли! - $bank['useNow'] = time() + 12 * 60 * 60; - mysql_query( - 'UPDATE `bank` SET `useNow` = "0" WHERE `id` != "' . $bank['id'] . '" AND `uid` = "' . $u->info['id'] . '" AND `useNow`!="0" LIMIT 1' - ); - mysql_query( - 'UPDATE `bank` SET `useNow` = "' . $bank['useNow'] . '" WHERE `id` = "' . $bank['id'] . '" AND `uid` = "' . $u->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'INSERT INTO `actions` (`uid`,`time`,`city`,`room`,`vars`,`ip`) VALUES ("' . $u->info['id'] . '","' . time( - ) . '","' . $u->info['city'] . '","' . $u->info['room'] . '","bank_good_pass_' . mysql_real_escape_string( - $bank['id'] - ) . '","' . mysql_real_escape_string($_SERVER['HTTP_X_REAL_IP']) . '")' - ); - $u->bank = $bank; - } - } - } elseif (isset($_GET['res'])) { - $b_pass = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `bank` WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . mysql_real_escape_string( - getNumId($_GET['schet']) - ) . '" ORDER BY `id` DESC LIMIT 1' - ) - ); - if ($b_pass['repass'] >= time()) { - $re2 = 'Номера счетов и пароли к ним можно выслать только один раз в сутки'; - } else { - mysql_query( - 'INSERT INTO `actions` (`uid`,`time`,`city`,`room`,`vars`,`ip`) VALUES ("' . $u->info['id'] . '","' . time( - ) . '","' . $u->info['city'] . '","' . $u->info['room'] . '","bank_res","' . mysql_real_escape_string( - $_SERVER['HTTP_X_REAL_IP'] - ) . '")' - ); - $re2 = 'Выслан номер счета и пароль на email, указанный в анкете'; - mysql_query( - 'UPDATE `bank` SET `repass` = "' . (time( - ) + 24 * 3600) . '" WHERE `id` = "' . $b_pass['id'] . '" LIMIT 1' - ); - $subject = 'Восстановление пароля от счета в банке персонажа ' . $u->info['login']; - $message = 'Номер счета: ' . getNum($b_pass['id']) . '
Пароль: ' . $b_pass['pass'] . - '

С уважением,
Администрация Бойцовского Клуба'; - \Core\Mail::send($u->info['mail'], $message, $subject); - //mails($u->info['mail'], $message, $subject); - unset($subject, $message); - } - } elseif (isset($_GET['open']) && !isset($u->bank['id'])) { - if ($_POST['rdn01'] == 2 && ($u->info['level'] >= 8 || $u->info['money4'] < 15)) { - $re2 = 'Недостаточно зубов!'; - } elseif ($u->info['money'] >= 3 || ($u->info['level'] < 8 && $u->info['money4'] >= 15 && \Core\Config::get( - 'zuby' - ))) { - if ($_POST['pass1'] == '' || $_POST['pass1'] == ' ') { - $re2 = 'Вы не указали пароль!'; - } elseif ($_POST['pass1'] != $_POST['pass2']) { - $re2 = 'Пароли не совпадают!'; - } elseif ($u->info['money'] - 3 < 0 && $_POST['rdn01'] != 2) { - $re2 = 'У вас недостаточно кр.'; - } elseif ($u->info['align'] != 2) { - $pass = rand(10000, 91191); - $pass = htmlspecialchars($_POST['pass1'], null); - $ins = mysql_query( - 'INSERT INTO `bank` (`uid`,`create`,`pass`) VALUES ("' . $u->info['id'] . '","' . time( - ) . '","' . mysql_real_escape_string($pass) . '")' - ); - if ($ins) { - $bank = mysql_insert_id(); - if ($u->info['level'] < 8 && $_POST['rdn01'] == 2 && \Core\Config::get('zuby')) { - $u->info['money4'] -= 15; - } else { - $u->info['money'] -= 3; - } - $upd = mysql_query( - 'UPDATE `users` SET `money` = "' . $u->info['money'] . '",`money4` = "' . $u->info['money4'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - $re2 = 'Счет №' . getNum( - $bank - ) . ' был успешно открыт.
Пароль от счета: ' . $pass . '

(Сменить пароль можно в разделе "Управление счетом" после авторизации)'; - $u->addDelo( - 3, $u->info['id'], 'Вы успешно открыли счет №' . getNum($bank) . '', time(), $u->info['city'], - 'Bank.System', 3, 0, '' - ); - } else { - $re2 = 'Банк отказал в получении банковского счета.'; - } - } else { - $re2 = 'Хаосники не могут создавать новые счета в банке.'; - } - } else { - if ($u->info['level'] < 8 && \Core\Config::get('zuby')) { - $re2 = 'Для открытия счета необходимо иметь при себе 3.00 кр. или ' . $u->zuby(15) . ''; - } else { - $re2 = 'Для открытия счета необходимо иметь при себе 3.00 кр.'; - } - } - } elseif (isset($_GET['exit']) && isset($u->bank['id'])) { - $u->bank = false; - mysql_query( - 'UPDATE `bank` SET `useNow` = "0" WHERE `uid` = "' . $u->info['id'] . '" AND `useNow`!="0" LIMIT 1' - ); - } - - if ($u->info['allLock'] > time()) { - $u->bank = false; - } - - if (isset($u->bank['id'])) { - if (isset($_POST['sd4']) && $u->newAct($_POST['sd4'])) { - if (isset($_POST['transfer_kredit2']) && $u->info['admin'] > 0) { - //перевод екредитов с одного счета на другой - $ub = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `bank` WHERE `id` = "' . mysql_real_escape_string( - (int)$_POST['num2'] - ) . '" LIMIT 1' - ) - ); - if (isset($ub['id']) && $ub['id'] != $u->bank['id']) { - $ut = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`level`,`city`,`room`,`login` FROM `users` WHERE `id` = "' . mysql_real_escape_string( - $ub['uid'] - ) . '" LIMIT 1' - ) - ); - if ($ut['level'] >= 0 || $ut['id'] == $u->info['id'] || $u->info['admin'] > 0) { - $mn = floor((int)($_POST['tansfer_sum2'] * 100)); - $mn = round(($mn / 100), 2); - $prc = 0; - $mn += $prc; - if ($u->bank['money2'] >= $mn) { - if ($mn < 0.01 || $mn > 1000000000) { - $re2 = 'Неверно указана сумма'; - } else { - $upd = mysql_query( - 'UPDATE `bank` SET `money2` = "' . mysql_real_escape_string( - $u->bank['money2'] - $mn - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->bank['money2'] -= $mn; - $ub['money2'] += $mn - $prc; - - mysql_query( - 'UPDATE `users` SET `catch` = `catch` + "' . floor( - $mn - $prc - ) . '" WHERE `id` = "' . $ut['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `users` SET `frg` = `frg` + ' . floor( - $mn - ) . ' WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - mysql_query( - 'UPDATE `bank` SET `money2` = "' . mysql_real_escape_string( - $ub['money2'] - ) . '" WHERE `id` = "' . $ub['id'] . '" LIMIT 1' - ); - $re2 = 'Вы удачно перевели ' . ($mn - $prc) . ' екр. (комиссия ' . $prc . ' екр.) на счет №' . getNum( - $ub['id'] - ) . ' персонажу "' . $ut['login'] . '"'; - $u->addDelo( - 3, $ut['id'], 'Получено ' . ($mn - $prc) . ' екр. со счета №' . getNum( - $u->bank['id'] - ) . ' от персонажа "' . $u->info['login'] . '", комиссия ' . $prc . ' екр. (Итого: ' . $ub['money1'] . ' кр., ' . $ub['money2'] . ' екр.)', - time(), $ut['city'], 'Bank.System', mysql_real_escape_string($mn - $prc), 0, - $ub['id'] - ); - $u->addDelo( - 3, $u->info['id'], - 'Передано ' . ($mn - $prc) . ' екр. на счет №' . getNum( - $ub['id'] - ) . ' персонажу "' . $ut['login'] . '", комиссия ' . $prc . ' екр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, mysql_real_escape_string($mn), - $u->bank['id'] - ); - $log = '"' . $u->info['login'] . '" [' . $u->info['level'] . '] перевел со своего банковского счета №' . $u->bank['id'] . ' на счет №' . $ub['id'] . ' к персонажу "' . $ut['login'] . '" [' . $ut['level'] . '] ' . ($mn - $prc) . ' екр.'; - $u->addDelo( - 1, $u->info['id'], $log, time(), $u->info['city'], 'Bank.System', 0, 0, '' - ); - $u->addDelo(1, $ut['id'], $log, time(), $ut['city'], 'Bank.System', 0, 0, ''); - if ($ut['id'] != $u->info['id']) { - $alg = ''; - if ($u->info['align'] == 50) { - $alg = ''; - } - $text = '"' . $alg . '[login:' . $u->info['login'] . ']" перевел' . ($u->info['sex'] == 0 ? "" : "а") . ' вам ' . ($mn - $prc) . ' екр. со своего банковского счета №' . getNum( - $u->bank['id'] - ) . ' на ваш банковский счет №' . getNum($ub['id']) . '.'; - - $cmsg = new ChatMessage(); - $cmsg->setCity($ut['city']); - $cmsg->setRoom($ut['room']); - $cmsg->setTo($ut['login']); - $cmsg->setText($text); - $cmsg->setType(12); - $cmsg->setTypeTime(1); - (new Chat())->sendMsg($cmsg); - } - } else { - $re2 = 'Не удалось выполнить операцию'; - } - } - } else { - $re2 = 'У вас нет ' . $mn . ' екр. на счете'; - } - } else { - $re2 = 'Нельзя перевести кредиты на этот счет'; - } - } else { - $re2 = 'Нельзя перевести кредиты на этот счет'; - } - } elseif (isset($_POST['transfer_kredit']) && $u->info['align'] != 2) { - //перевод кредитов с одного счета на другой - if ($u->info['level'] >= 4 || $u->info['admin'] > 0) { - $ub = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `bank` WHERE `id` = "' . mysql_real_escape_string( - (int)$_POST['num'] - ) . '" LIMIT 1' - ) - ); - if (isset($ub['id']) && $ub['id'] != $u->bank['id']) { - $ut = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`level`,`city`,`room`,`login` FROM `users` WHERE `id` = "' . mysql_real_escape_string( - $ub['uid'] - ) . '" LIMIT 1' - ) - ); - if ($ut['level'] >= 4 || $ut['id'] == $u->info['id'] || $u->info['admin'] > 0) { - $mn = floor((int)($_POST['tansfer_sum'] * 100)); - $mn = round(($mn / 100), 2); - $prc = round($mn * 3 / 100, 2); - $mn += $prc; - if ($u->bank['money1'] >= $mn) { - if ($mn < 0.01 || $mn > 1000000000) { - $re2 = 'Неверно указана сумма'; - } else { - $upd = mysql_query( - 'UPDATE `bank` SET `money1` = "' . mysql_real_escape_string( - $u->bank['money1'] - $mn - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->bank['money1'] -= $mn; - $ub['money1'] += $mn - $prc; - mysql_query( - 'UPDATE `bank` SET `money1` = "' . mysql_real_escape_string( - $ub['money1'] - ) . '" WHERE `id` = "' . $ub['id'] . '" LIMIT 1' - ); - $re2 = 'Вы удачно перевели ' . ($mn - $prc) . ' кр. (комиссия ' . $prc . ' кр.) на счет №' . getNum( - $ub['id'] - ) . ' персонажу "' . $ut['login'] . '"'; - $u->addDelo( - 3, $ut['id'], - 'Получено ' . ($mn - $prc) . ' кр. со счета №' . getNum( - $u->bank['id'] - ) . ' от персонажа "' . $u->info['login'] . '", комиссия ' . $prc . ' кр. (Итого: ' . $ub['money1'] . ' кр., ' . $ub['money2'] . ' екр.)', - time(), $ut['city'], 'Bank.System', mysql_real_escape_string($mn - $prc), 0, - $ub['id'] - ); - $u->addDelo( - 3, $u->info['id'], - 'Передано ' . ($mn - $prc) . ' кр. на счет №' . getNum( - $ub['id'] - ) . ' персонажу "' . $ut['login'] . '", комиссия ' . $prc . ' кр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, mysql_real_escape_string($mn), - $u->bank['id'] - ); - $log = '"' . $u->info['login'] . '" [' . $u->info['level'] . '] перевел со своего банковского счета №' . $u->bank['id'] . ' на счет №' . $ub['id'] . ' к персонажу "' . $ut['login'] . '" [' . $ut['level'] . '] ' . ($mn - $prc) . ' кр. Дополнительно снято ' . $prc . ' кр. за услуги банка.'; - $u->addDelo( - 1, $u->info['id'], $log, time(), $u->info['city'], 'Bank.System', 0, 0, '' - ); - $u->addDelo(1, $ut['id'], $log, time(), $ut['city'], 'Bank.System', 0, 0, ''); - if ($ut['id'] != $u->info['id']) { - $text = '"[login:' . $u->info['login'] . ']" перевел' . ($u->info['sex'] == 0 ? "" : "а") . ' вам ' . ($mn - $prc) . ' кр. со своего банковского счета №' . getNum( - $u->bank['id'] - ) . ' на ваш банковский счет №' . getNum($ub['id']) . '.'; - - $cmsg = new ChatMessage(); - $cmsg->setCity($ut['city']); - $cmsg->setRoom($ut['room']); - $cmsg->setTo($ut['login']); - $cmsg->setText($text); - $cmsg->setType(6); - $cmsg->setTypeTime(1); - (new Chat())->sendMsg($cmsg); - } - } else { - $re2 = 'Не удалось выполнить операцию'; - } - } - } else { - $re2 = 'У вас нет ' . $mn . ' кр. на счете'; - } - } else { - $re2 = 'Нельзя перевести кредиты на этот счет'; - } - } else { - $re2 = 'Нельзя перевести кредиты на этот счет'; - } - } else { - $re2 = 'Передача кредитов возможна только с 4-го уровня'; - } - } elseif ($u->info['align'] != 2 && $u->info['haos'] < time( - ) && $u->info['haos'] != 1 && $u->info['align'] != 50 && isset($_POST['convert_kredit']) && \Core\Config::get('crtoecr') > 0) { - //обменять кр. на екр. - if ($u->info['palpro'] > time()) { - $mn = ceil((int)($_POST['convert_sum2'] * 100)); - $mn = round(($mn / 100), 2); - $mne = round($mn / $noc, 2); - $mn = round(($mn / 100 * 103 + 5), 2); - $sm = $u->testAction( - '`uid` = "' . $u->info['id'] . '" AND `vars` = "bank_kr_to_ekr_[' . date( - 'd.m.Y', time() - ) . ']" ORDER BY `id` DESC LIMIT 1', 1 - ); - $sm_lim = 100; - if (isset($sm['id']) && $sm['vals'] + $mne > $sm_lim) { - if ($sm['vals'] < $sm_lim) { - $re2 = 'На сегодня Вы можете обменять еще на ' . ($sm_lim - $sm['vals']) . ' екр.. (Примерно ' . round( - (($sm_lim - $sm['vals']) * $noc), 2 - ) . ' кр.), текущий обмен на ' . $mne . ' екр..'; - } else { - $re2 = 'На сегодня Вы исчерпали свой лимит обмена кр. на екр. (' . $sm_lim . ' екр.)'; - } - } elseif ($mn > 0 && $mne > 0 && $mn >= round((0.01 * ($noc * 1.03) + 5), 2)) { - if ($u->bank['money1'] >= $mn) { - if (!isset($sm['id'])) { - $u->addAction(time(), 'bank_kr_to_ekr_[' . date('d.m.Y') . ']', $mne); - } else { - mysql_query( - 'UPDATE `actions` SET `vals` = "' . ($sm['vals'] + $mne) . '" WHERE `id` = "' . $sm['id'] . '" LIMIT 1' - ); - } - $re2 = 'Вы успешно обменяли ' . $mn . ' кр. на ' . $mne . ' екр.'; - $u->bank['money1'] -= $mn; - $u->bank['money2'] += $mne; - - mysql_query( - 'UPDATE `users` SET `catch` = `catch` + "' . round( - $mne, 2 - ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - mysql_query( - 'UPDATE `bank` SET `money1` = "' . mysql_real_escape_string( - $u->bank['money1'] - ) . '", `money2` = "' . mysql_real_escape_string( - $u->bank['money2'] - ) . '",`shara` = `shara` + "' . mysql_real_escape_string( - $mne - ) . '" WHERE `id` = "' . mysql_real_escape_string($u->bank['id']) . '" LIMIT 1' - ); - $log = '"' . $u->info['login'] . '" [' . $u->info['level'] . '] обменял ' . $mn . ' кр. на ' . $mne . ' екр., Банковский счет №' . $u->bank['id'] . '.'; - $u->addDelo(1, $u->info['id'], $log, time(), $u->info['city'], 'Bank.System', 0, 0, ''); - $u->addDelo( - 3, $u->info['id'], 'Вы успешно обменяли ' . ceil( - (int)($_POST['convert_sum2'] * 100 / 100) - ) . ' кр. на ' . $mne . ' екр., комиссия ' . round( - (ceil((int)($_POST['convert_sum2'] * 100 / 100)) / 100 * 3 + 5), 2 - ) . ' кр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, 0, $u->bank['id'] - ); - } else { - $re2 = 'У вас нет ' . $mn . ' кр. на счете'; - } - } else { - $re2 = 'Минимальная сумма для обмена составляет ' . round( - (0.01 * ($noc * 1.03) + 5), 2 - ) . ' кр.'; - } - } else { - $re2 = 'Вы должны пройти проверку на чистоту у Паладинов или Тарманов.'; - } - } elseif (isset($_POST['convert_ekredit'])) { - //обменять екр. на кр. - $mn = ceil((int)($_POST['convert_sum'] * 100)); - $mn = round(($mn / 100), 2); - if ($u->bank['money2'] >= $mn) { - if ($mn < 0.01 || $mn > 1000000000) { - $re2 = 'Неверно указана сумма'; - } else { - $upd = mysql_query( - 'UPDATE `bank` SET `money1` = "' . mysql_real_escape_string( - $u->bank['money1'] + ($mn * $con) - ) . '",`money2` = "' . mysql_real_escape_string( - $u->bank['money2'] - $mn - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->bank['money1'] += $mn * $con; - $u->bank['money2'] -= $mn; - $u->addDelo( - 3, $u->info['id'], - 'Вы обменяли ' . $mn . ' екр. на ' . ($mn * $con) . ' кр., комиссия 0 кр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, mysql_real_escape_string($mn * $con), - $u->bank['id'] - ); - $re2 = 'Вы удачно обменяли ' . $mn . ' екр. на ' . ($mn * $con) . ' кр.'; - } else { - $re2 = 'Не удалось выполнить операцию'; - } - } - } else { - $re2 = 'У вас нет ' . $mn . ' екр. на счете'; - } - } elseif (isset($_POST['get_kredit'])) { - //положить деньги на счет - $mn = floor((int)($_POST['get_sum'] * 100)); - $mn = round(($mn / 100), 2); - if ($u->bank['money1'] >= $mn) { - if ($mn < 0.01 || $mn > 1000000000) { - $re2 = 'Неверно указана сумма (Снять ' . ((int)$_POST['get_sum']) . ' кр.)'; - } else { - $upd = mysql_query( - 'UPDATE `users` SET `money` = "' . mysql_real_escape_string( - $u->info['money'] + $mn - ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->bank['money1'] -= $mn; - $u->info['money'] += $mn; - mysql_query( - 'UPDATE `bank` SET `money1` = "' . mysql_real_escape_string( - $u->bank['money1'] - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - $u->addDelo( - 3, $u->info['id'], - 'Вы сняли со счета ' . $mn . ' кр., комиссия 0 кр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, 0, $u->bank['id'] - ); - $re2 = 'Вы удачно сняли со счета ' . $mn . ' кр.'; - } else { - $re2 = 'Не удалось выполнить операцию'; - } - } - } else { - $re2 = 'У вас нет ' . $mn . ' кр. на счете'; - } - } elseif (isset($_POST['get_ekredit'])) { - //положить деньги на счет - $mn = floor((int)($_POST['get_esum'] * 100)); - $mn = round(($mn / 100), 2); - if ($u->bank['money2'] >= $mn) { - if ($mn < 0.01 || $mn > 1000000000) { - $re2 = 'Неверно указана сумма (Снять ' . ((int)$_POST['get_esum']) . ' Екр.)'; - } else { - $upd = mysql_query( - 'UPDATE `users` SET `money2` = "' . mysql_real_escape_string( - $u->info['money2'] + $mn - ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->bank['money2'] -= $mn; - $u->info['money2'] += $mn; - mysql_query( - 'UPDATE `bank` SET `money2` = "' . mysql_real_escape_string( - $u->bank['money2'] - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - $u->addDelo( - 3, $u->info['id'], - 'Вы сняли со счета ' . $mn . ' Екр., комиссия 0 Екр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, 0, $u->bank['id'] - ); - $re2 = 'Вы удачно сняли со счета ' . $mn . ' Екр.'; - } else { - $re2 = 'Не удалось выполнить операцию'; - } - } - } else { - $re2 = 'У вас нет ' . $mn . ' Екр. на счете'; - } - } elseif (isset($_POST['add_ekredit'])) { - //положить деньги на счет - $mn = floor((int)($_POST['add_esum'] * 100)); - $mn = round(($mn / 100), 2); - if ($u->info['money2'] >= $mn) { - if ($mn < 0.01 || $mn > 1000000000) { - $re2 = 'Неверно указана сумма (Пополнение счета)'; - } else { - $upd = mysql_query( - 'UPDATE `users` SET `money2` = "' . mysql_real_escape_string( - $u->info['money2'] - $mn - ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->bank['money2'] += $mn; - $u->info['money2'] -= $mn; - mysql_query( - 'UPDATE `bank` SET `money2` = "' . mysql_real_escape_string( - $u->bank['money2'] - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - $u->addDelo( - 3, $u->info['id'], - 'Вы положили на счет ' . $mn . ' Eкр., комиссия 0 Екр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, 0, $u->bank['id'] - ); - $re2 = 'Вы удачно положили на свой счет ' . $mn . ' Екр.'; - } else { - $re2 = 'Не удалось выполнить операцию'; - } - } - } else { - $re2 = 'У вас нет при себе ' . $mn . ' Екр.'; - } - } elseif (isset($_POST['add_kredit'])) { - //положить деньги на счет - $mn = floor((int)($_POST['add_sum'] * 100)); - $mn = round(($mn / 100), 2); - if ($u->info['money'] >= $mn) { - if ($mn < 0.01 || $mn > 1000000000) { - $re2 = 'Неверно указана сумма (Пополнение счета)'; - } else { - $upd = mysql_query( - 'UPDATE `users` SET `money` = "' . mysql_real_escape_string( - $u->info['money'] - $mn - ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->bank['money1'] += $mn; - $u->info['money'] -= $mn; - mysql_query( - 'UPDATE `bank` SET `money1` = "' . mysql_real_escape_string( - $u->bank['money1'] - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - $u->addDelo( - 3, $u->info['id'], - 'Вы положили на счет ' . $mn . ' кр., комиссия 0 кр. (Итого: ' . $u->bank['money1'] . ' кр., ' . $u->bank['money2'] . ' екр.)', - time(), $u->info['city'], 'Bank.System', 0, 0, $u->bank['id'] - ); - $re2 = 'Вы удачно положили на свой счет ' . $mn . ' кр.'; - } else { - $re2 = 'Не удалось выполнить операцию'; - } - } - } else { - $re2 = 'У вас нет при себе ' . $mn . ' кр.'; - } - } elseif (isset($_POST['change_psw2'])) { - //смена пароля счета - $sm = $u->testAction( - '`uid` = "' . $u->info['id'] . '" AND `vals` = "id=' . $u->bank['id'] . '&new_pass=' . $u->bank['pass'] . '" AND `vars` = "bank_new_pass" AND `time` > "' . (time( - ) - 24 * 60 * 60) . '" LIMIT 1', 1 - ); - if ($_POST['new_psw1'] != $_POST['new_psw2']) { - $re2 = 'Пароли не совпадают'; - } elseif (iconv_strlen($_POST['new_psw1']) < 6 || iconv_strlen($_POST['new_psw1']) > 32) { - $re2 = 'Пароль не может быть короче 6 или длинее 32 символов'; - } elseif (isset($sm['id'])) { - $re2 = 'Нельзя менять пароль чаще одного раза в день'; - } else { - //меняем - $upd = mysql_query( - 'UPDATE `bank` SET `pass` = "' . mysql_real_escape_string( - $_POST['new_psw1'] - ) . '" WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - if ($upd) { - $u->addAction( - time(), 'bank_new_pass', 'id=' . $u->bank['id'] . '&new_pass=' . $_POST['new_psw1'] . '' - ); - $u->bank['pass'] = $_POST['new_psw1']; - $re2 = 'Пароль от счета №' . getNum( - $u->bank['id'] - ) . ' был успешно изменен
Новый пароль: ' . $u->bank['pass'] . ''; - $u->addDelo( - 3, $u->info['id'], 'Был изменен пароль от счета.', time(), $u->info['city'], 'Bank.System', - 0, 0, $u->bank['id'] - ); - } else { - $re2 = 'Вам отказали в смене пароля'; - } - } - } - } - } - - if ($re != '') { - echo '
' . $re . '
'; - } ?> - - - -
- - - - - -
-
-
-

Банк

-
-
-
-
- - - - - -
  - - - - -
- - - - - - -
- - - - - -
Страшилкина - улица
-
-
-
-
-
- - - - - - - - - - -
-
- ' . $re2 . '
'; - } - if (!isset($u->bank['id'])) { - ?> - Мы предоставляем следующие услуги: -
    -
  1. Открытие счета -
  2. Возможность положить/снять кредиты/еврокредиты со счета -
  3. Перевести кредиты/еврокредиты с одного счета на другой -
  4. Обменный пункт. Обмен еврокредитов на кредиты -
- - -
- Хотите открыть свой счет? Услуга платная: - -
-
-
-
- Управление счетом - - - -
- - - - - - - - - - - - -
Номер счета
Пароль
-
-
-
-
- > -
-
- Забыли пароль? Можно его выслать на email, номер счета:
-
-
- - - - -
- - - - - - - -

Управление счетом

  - Счёт №: bank['id']); ?> [x]
-
- - - - -
-
- У вас на счете - - - - - - - - - - - - - - - - - - - - - -
Кредитов:round2($u->bank['money1']); ?>
Еврокредитов:round2($u->bank['money2']); ?>
-
-
При себе наличных:round2($u->info['money']); ?> кр.
При себе наличных:round2($u->info['money2']); ?> Екр.
-
-
-
Внимание! Некоторые услуги банка - платные, о размере взымаемой комиссии написано в соответствующем разделе. -
- - - - - - -
- - - - - - - - - - - info['align'] != 2 && $u->info['haos'] < time( - ) && $u->info['haos'] != 1 && \Core\Config::get('crtoecr') > 0) { ?> - - - - info['admin'] > 1000) { - ?> - - - - - - - - - - -
-
- Пополнить счет - Сумма - - кр. - -
- Сумма - - Екр. - -
-
-
-
- Перевести кредиты на другой счет - Сумма - - кр.
- Номер счета куда перевести кредиты - -
- -
- Комиссия составляет 3.00 % от суммы, но не менее 1.00 - кр. -
-
-
- Обменный пункт - Обменять еврокредиты на кредиты.
- Курс 1 екр. = .00 кр.
- Сумма - - екр. - /> -
-
-
- Обменный пункт - Обменять кредиты на еврокредиты.
- Курс кр. = 1.00 екр.
- Сумма - - кр. -
- Комиссия составляет 3.00 % от суммы, а так-же 5.00 кр. - -
-
-
- Перевести еврокредиты на другой счет - Сумма - - екр.
- Номер счета куда перевести кредиты - -
- -
- Комиссия составляет 0.00 % от суммы, но не менее 0.01 екр. -
-
-
- Настройки - Сменить пароль
- - - - - - - - - -
Новый пароль
Введите новый пароль повторно
- -
- -
-
 
-
- - - - - - - - - - - - - -
-
- Снять со счета - Сумма - - кр. - -
- Сумма - - Eкр. - -
-
-
-
- Курс еврокредита к мировой валюте -
- %s %s
'; - $kurs_str = ''; - foreach ($true as $item) { - if ($pl[$item[0]] > 0) { - $kurs_str .= sprintf( - $str, round(($pl['cur'] / $pl[$item[0]]), 4), $item[1] - ); - } - } - ?> -
- - - Данные на - без - учета комиссий - -
- - Ошибка: не удалось получить курс - валют. - -
-
-
-
- Последние операции -
- info['id'] . '" AND `dop` = "' . $u->bank['id'] . '" AND `type` = "3" ORDER BY `time` DESC LIMIT 21' - ); - while ($pl = mysql_fetch_array($sp)) { - ?> - - - - - -
- -
-
-
-
-
- Сумма указанная в окне оповещения и суммы взымаемая\начисляемая могут различаться. - room['file']=='berezka') -{ - - //if( isset($u->bank['id']) && $u->bank['moneyBuy'] > 0 ) { - $u->bank = array('id'=>0); - //} - - $u->info['inBerezka'] = 1; - - if(isset($u->stats['shopSaleEkr'],$_GET['sale'])){ - $bns = 0+$u->stats['shopSaleEkr']; - if($bns!=0){ - if($bns>0){ - $bns = '+'.$bns; - } - //$shopProcent = $u->shopSaleM( $shopProcent , $itm ); - if($shopProcent>90){ $shopProcent = 90; } - if($shopProcent<10){ $shopProcent = 10; } - //echo '
  У Вас действует бонус при продаже: '.$bns.'%
'; - } - } - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 2; - - $sale_ekr = true; - if( $c['shop_type2'] == 0 ) { - $sale_ekr = false; - } - //if( $u->stats['silver'] > 0 ) { - // $sale_ekr = true; - //}else{ - // if( isset($_GET['sale']) ) { - // unset($_GET['sale']); - // } - //} - - $error = ''; - - if(isset($_GET['buy']) && isset($u->bank['id'])){ - 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']) && isset($u->bank['id']) && $sale_ekr == true ) { - $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 = \Core\ConversionHelper::dataStringToArray($itm['data']); - if($u->info['allLock'] > time()) { - $po['nosale'] = 1; - } - - //$effvip = mysql_fetch_array(mysql_query('SELECT `id`,`timeUse` FROM `eff_users` WHERE `data` LIKE "%add_silver=%" AND `uid` = "'.$u->info['id'].'" ORDER BY `id` DESC LIMIT 1')); - //$cblim = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `ekr_sale` WHERE `uid` = "'.$u->info['id'].'" AND `time` >= '.$effvip['timeUse'].' LIMIT 1')); - - /*if( $cblim[0] >= $u->stats['silver'] * 5 ) { - $error = 'Лимит продаж предметов в березку исчерпан, обновите VIP аккаунт'; - }else*/ - 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(isset($po['fromshop']) && ($po['fromshop'] != 777 && $po['fromshop'] != 2)){ - $error = 'Предмет не был приобретен за Евро-кредиты, его нельзя продать здесь...'; - }elseif($itm['gift'] != '0' && $itm['gift'] != '') { - $error = 'Не удалось продать предмет ... Все-таки подарок ;)'; - }elseif(isset($po['frompisher'])){ - $error = 'Не удалось продать предмет ... предмет из подземелья'; - //}elseif(isset($po['srok'] <= '5000000' )){ - //$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); - } - if( isset($po['art']) ) { - $shpCena = $u->round2($shpCena*$u->berezCena()); // Процент продажи 35% - }else{ - $shpCena = $u->round2($shpCena*$u->berezCena()); // Процент продажи 35% - } - 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['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'],'"System.Ekrshop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' екр..',time(),$u->info['city'],'System.Ekrshop',0,$shpCena); - }else{ - $u->addDelo(2,$u->info['id'],'"System.Ekrshop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' екр. (кредиты не переведены).',time(),$u->info['city'],'System.Ekrshop',0,0); - $error = 'Не удалось продать предмет ...'; - } - }else{ - $error = 'Не удалось продать предмет...'; - } - }else{ - $error = 'Предмет не найден в инвентаре.'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
-
Магазин Березка

Магазин принимает ВСЕ вещи, свитки и эликсиры под 90%.
- '.$error.''; - ?> -
- - - - - - -
- bank['id']) && ($u->bank['money2']>=0.00 || $u->info['admin']>0)){ ?> - - - - - - -
- 'Отдел "Оружие: кастеты,ножи"',2=>'Отдел "Оружие: топоры"',3=>'Отдел "Оружие: дубины,булавы"',4=>'Отдел "Оружие: мечи"',5=>'Отдел "Оружие: магические посохи"',6=>'Отдел "Одежда: сапоги"',7=>'Отдел "Одежда: перчатки"',8=>'Отдел "Одежда: рубахи"',28=>'Отдел "Одежда: плащи"',9=>'Отдел "Одежда: легкая броня"',10=>'Отдел "Одежда: тяжелая броня"',11=>'Отдел "Одежда: шлемы"',12=>'Отдел "Одежда: наручи"',13=>'Отдел "Одежда: пояса"',14=>'Отдел "Одежда: поножи"',15=>'Отдел "Щиты"',16=>'Отдел "Ювелирные товары: серьги"',17=>'Отдел "Ювелирные товары: ожерелья"',18=>'Отдел "Ювелирные товары: кольца"',19=>'Отдел "Заклинания: нейтральные"',20=>'Отдел "Заклинания: боевые и защитные"',21=>'Отдел "Амуниция"',22=>'Отдел "Амуниция: эликсиры"',23=>'Отдел "Подарки"',24=>'Отдел "Подарки: недобрые"',25=>'Отдел "Подарки: открытки"',26=>'Отдел "Подарки: упаковка"',27=>'Отдел "Подарки: фейерверки"',29=>'Пещерные ресурсы',30=>'Еда',31=>'Чеки',32=>'Руны',33=>'Чарки',34=>'Тактики'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } elseif (isset($_GET['sale'])) - { - echo ' - Отдел "Продажа предметов"'; - } - ?> -
- - - 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 = ''; - }else{ - $itmAllSee = $itmAll[2]; - } - //echo ''.$itmAllSee; - 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 ''.$itmAllSee; - }else{ - $u->shopItems($sid); - } - ?> -
ПУСТО
Продажа предметов купленных за екр. осуществляется с учетом износа предмета, а так-же налога на продажу.
Магазин принимает вещи 0-7 уровней под 90%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.
Внимание! Все улучшения, заточки, руны, зачарования предметов не входят в стоимость предмета при продаже!
Продажа предметов купленных за екр. осуществляется с учетом износа предмета, а так-же налога на продажу.
(Так-же есть зависимость от уровня предмета и его износа)
Внимание! Все улучшения, заточки, руны, зачарования предметов не входят в стоимость предмета при продаже!
-
-
- -
Магазин является валютным, вы можете войти только имея еврокредиты. Укажите номер вашего счета в банке и пароль к нему.
-
- bank['id'])) - { - echo 'Банковский счет пуст, вход в магазин запрещен'; - }elseif(isset($_POST['bank']) && !isset($u->bank['id'])) - { - echo 'Неверный пароль от банковского счета.'; - } - ?> -

- - - - - - - -
Счёт в банке
Выберите счёт и введите пароль
- - - -
- -
-
-
- -
-
-
  - - -
- - - - - - - -
- - - - - - -
Страшилкина Улица
-
-
-
-

- bank['id'])){ ?> -
- Масса всех ваших вещей: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money2'],2); ?> екр. -

Пополнить Екр

-
- bank['id']) && ($u->bank['money2']>=0.00 || $u->info['admin']>0)){ - /*кнопочки*/ - if($sale_ekr == true) { - if(!isset($_GET['sale'])){ - - echo ' '; - - } else { - echo ' '; - } - } - } - ?> - -
-
-
- bank['id']) && ($u->bank['money2']>=0.00 || $u->info['admin']>0)){ ?> -
Отделы магазина
-
- '  Кастеты,ножи', - 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=>'  Подарочные сертификаты', - 29=>'  Пещерные ресурсы', - 30=>'    Еда', - 31=>'    Чеки', - 32=>'    Руны', - 33=>'    Чарки', - 34=>'  Тактики', - 35=>'  Заточки', - 36=>"  Клановые Артефакты", - ''); - $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 '
Оружие:
'; - } elseif($i == 6) { - echo '
Одежда:
'; - } elseif($i == 15) { - echo '
Щиты:
'; - } elseif($i == 16) { - echo '
Ювелирные товары:
'; - } elseif($i == 19) { - echo '
Заклинания:
'; - } elseif($i == 21) { - echo '
Амуниция:
'; - } elseif($i == 22) { - echo '
Эликсиры:
'; - } elseif($i == 23) { - echo '
Подарки:
'; - } elseif($i == 28) { - echo '
Дополнительно:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - echo '
'; - } - ?> -
- -
-
- - \ No newline at end of file diff --git a/modules_data/location/bk_rm1.php b/modules_data/location/bk_rm1.php deleted file mode 100644 index d41d0788..00000000 --- a/modules_data/location/bk_rm1.php +++ /dev/null @@ -1,138 +0,0 @@ -room['file']=='bk_rm1') -{ - $i = 324; - $rm_see2 = array(); - while($i <= 348) { - $rm_see2[$i] = mysql_fetch_array(mysql_query('SELECT COUNT(`id`) FROM `users` WHERE `room` = "'.$i.'" AND `online` > "'.(time()-520).'"')); - $rm_see2[$i] = 0+$rm_see2[$i][0]; - $i++; - } - $rm_see = array(); - $rm_see[$u->room['id']] = ' '; -?> - - -
- - - -
microLogin($u->info,2)?> - '.$re.''; - } - ?> -
- - - -
-
- - - - -

Карта миров

- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Комната для новичков (level 0)
  ()
Комната для новичков 2 (level 0)
- -   ()
Комната для новичков 3 (level 0)
- -   ()
Комната для новичков 4 (level 0)
- -   ()
Зал Воинов (level 1-3)
-   ()
Зал Воинов 2 (level 1-3)
-   ()
Зал Воинов 3 (level 1-3)
- -   ()
Торговый Зал (level 4-21)
-   ()
Рыцарский зал (level 4-6)
- -   ()
Башня рыцарей-магов (level 7-9)
-   ()
Колдовской мир (level 10-12)
-   ()
Этажи духов (level 13-15)
-   ()
Астральные этажи (level 16-19)
-   ()
Огненный мир (level 19-21)
-   ()
Зал Паладинов
-   ()
Совет Белого Братства
-   ()
Зал Тьмы
- -   ()
Царство Тьмы
-   ()
Зал Стихий
- -   ()
Будуар (level 1-21)
- -   ()
Зал Света
-   ()
Царство Света
-   ()
Царство Стихий
-   ()
Зал кланов (level 4-21)
-   ()
- \ No newline at end of file diff --git a/modules_data/location/bookshop.php b/modules_data/location/bookshop.php deleted file mode 100644 index a0988e39..00000000 --- a/modules_data/location/bookshop.php +++ /dev/null @@ -1,200 +0,0 @@ -room['file']=='bookshop') -{ - $shopProcent = 50; - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 7; - - $error = ''; - - if(isset($_GET['buy'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'sudba='.$u->info['login'].''); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Книжный Магазин
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Книги',2=>'Атака',3=>'Защита',4=>'Контрудар',5=>'Критический удар',6=>'Парирование',7=>'Комбо',8=>'Сила Духа',9=>'Огонь',10=>'Вода',11=>'Воздух',12=>'Земля',13=>'Свет',14=>'Тьма',15=>'Серая магия'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Большая торговая улица
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- 'Книги',2=>'Приёмы: Атака',3=>'     Защита',4=>'     Контрудар',5=>'     Критические удары',6=>'     Парирование',7=>'     Комбо',8=>'     Сила Духа',9=>'Заклинания: Огонь',10=>'     Вода',11=>'     Воздух',12=>'     Земля',13=>'     Свет',14=>'     Тьма',15=>'     Серая магия'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/cp1.php b/modules_data/location/cp1.php index c34faea8..83c25fb4 100644 --- a/modules_data/location/cp1.php +++ b/modules_data/location/cp1.php @@ -1,5 +1,9 @@ = 8 && date("H") <= 23) { $tattack = ''; } -?> - - 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " мес. "; - } - $time_still = $time_still - $tmp * 2592000; + $res = Db::getValue('select res_x from stats where id = ?', [$id]); + if (!$res) { + $res = 0; } - $tmp = floor($time_still / 86400); - if ($tmp > 0) { - $id++; - if ($id < 3) { - $out .= $tmp . " дн. "; + return $res; +} + +?> += 6): ?> + + + - - - - diff --git a/modules_data/location/cp2.php b/modules_data/location/cp2.php index f672ba70..5d4cfd9f 100644 --- a/modules_data/location/cp2.php +++ b/modules_data/location/cp2.php @@ -1,204 +1,188 @@ ' . $re . ''; - $tattack = 'Напасть   '; - -if($u->room['file']=='cp2') -{ - if(date("H")>=6 && date("H")<22) { - $now = 'day'; - }else{ - $now = 'night'; - } +if ($u->room['file'] != 'cp2') { + return; +} +if (date("H") >= 6 && date("H") < 22) { + $now = 'day'; +} else { + $now = 'night'; +} ?>
+ getInfoPers($u->info['id'], 0); if ($usee) { echo $usee[0]; @@ -87,218 +52,138 @@ function timeOut($ttm): string echo 'information is lost.'; } ?> - - - -
- - - - - -
- ' . $re . ''; - } ?> - - - + - -
-
- -
- -   - Форум проекта -   -
- -
- - src="//img.new-combats.tech/i/images/300x225/capital/2klub.gif" - width="236" height="157" class="aFilter"/>
-
- - src="//img.new-combats.tech/city/capitalcity/day/loto.gif" - class="aFilter" width="86" height="63"/>
-
- - src="//img.new-combats.tech/i/images/300x225/capital/2shop.gif" - width="73" height="47" class="aFilter"/>
-
- - src="//img.new-combats.tech/i/images/300x225/capital/2remont.gif" - width="71" height="45" class="aFilter"/>
- - -
-
- - - -
-
- +
+
+ ' . $re . ''; + } ?> +
+ +
+ +   + Форум проекта +
+ +
+ src="/i/images/300x225/capital/2klub.gif" class="aFilter" alt=""> +
+
+ src="/city/capitalcity/day/loto.gif" class="aFilter" alt=""> +
+
+ src="/i/images/300x225/capital/2shop.gif" class="aFilter" alt=""> +
+
+ src="/i/images/300x225/capital/2remont.gif" class="aFilter" alt=""> +
+
+ src="/city/capitalcity/day/cp_portal.gif" class="aFilter" alt=""> +
+
+ src="/city/capitalcity/day/1ubkill.gif" class="aFilter" style="transform: scaleX(-1);" alt=""> +
- -
-
- -
- - src="//img.new-combats.tech/newyear2014.png" width="60" - height="90" title="" class="aFilter"/>
- -
- - src="//img.new-combats.tech/city/capitalcity/day/2pochta.gif" - width="111" height="72" class="aFilter"/>
-
- - onclick="alert('Не работает. Находится на реконструкции.')" - onMouseOver="this.className='aFilterhover';" - onMouseOut="this.className='aFilter';" - src="//img.new-combats.tech/city/capitalcity/day/2vokzal.gif" - width="92" height="62" class="aFilter"/>
-
- - src="//img.new-combats.tech/i/images/300x225/capital/2strelka.gif" - width="30" height="54" class="aFilter"/>
-
- class="aFilter"/>
-
- -
-
- = 22) { - ?> - - - - - - -
+ +
+ +
+ + + +
+ +
+ + + +
+ +
+ +
+ src="/newyear2014.png" width="60" + height="90" title="" class="aFilter" alt=""> +
+ +
+ src="/i/images/300x225/capital/2strelka.gif" + width="30" height="54" class="aFilter" alt=""> +
+
+ +
+ = 22): ?> + + + + + +


-
- - - - - + = 22): ?> + + + + + + +
+
+ + +
- getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?> -
-
- - - - - -
- '.$re.''; } ?> - - - - -
-
- -
- -
- -
src="//img.new-combats.tech/city/capitalcity/day/euroshop.gif" width="78" height="63" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/bank.gif" width="106" height="73" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/1ubkill.gif" width="116" height="186" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/1ureg.gif" width="106" height="73" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/cp_hostel.gif" width="86" height="90" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/flower_shop.gif" width="74" height="68" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/capital/2strelka.gif" width="30" height="54" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/capital/3strelka.gif" width="30" height="53" class="aFilter" />
-
- -
-
-=22) -{ -?> - - + +
+ src="/city/capitalcity/day/cp_hostel.gif" class="aFilter" alt=""> +
+
+ src="/i/images/300x225/ap_tower3.gif" class="aFilter" alt=""> +
+
+ src="/i/images/300x225/capital/3strelka.gif" class="aFilter" alt=""> +
+
+ src="/loca/cp11/znah_png.png" class="aFilter" alt=""> +
+
+ + - - - - -
- -
- -
- Внимание!Рекомендуем установить функцию второго пароля во вкладке "Безопасность", это обезопасит вашего персонажа от взлома.
- Администрация.

-
- -
- \ No newline at end of file diff --git a/modules_data/location/cp3.php b/modules_data/location/cp3.php deleted file mode 100644 index 5e35f9df..00000000 --- a/modules_data/location/cp3.php +++ /dev/null @@ -1,199 +0,0 @@ -room['file']=='cp3') -{ - if(date("H")>=6 && date("H")<22) { - $now = 'day'; - }else{ - $now = 'night'; - } -?> - - - - - - - -
- getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?> -
- - - - - -
- '.$re.''; } ?> - - - - -
-
- -
- -
- -
src="//img.new-combats.tech/city/capitalcity/day/cp_libshop.gif" width="53" height="48" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/auction.gif" width="154" height="90" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/cp_zooshop.gif" width="56" height="61" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/cp_portal.gif" width="75" height="90" class="aFilter" />
-
src="//img.new-combats.tech/city/capitalcity/day/cp_deathroom.gif" width="94" height="91" class="aFilter" />
-
src="//img.new-combats.tech/i/images/300x225/capital/2stop.gif" width="29" height="54" class="aFilter" />
- -
src="//img.new-combats.tech/i/images/300x225/capital/3strelka.gif" width="30" height="53" class="aFilter" />
-
- -
-
-=22) -{ -?> - - - - - - - -
- -
- -
- -
- Внимание!Рекомендуем установить функцию второго пароля во вкладке "Безопасность",это обезопасит вашего персонажа от взлома.
- Администрация.

-
- -
- \ No newline at end of file diff --git a/modules_data/location/cp4.php b/modules_data/location/cp4.php deleted file mode 100644 index 8c5feaf9..00000000 --- a/modules_data/location/cp4.php +++ /dev/null @@ -1,92 +0,0 @@ -room['file']=='cp4') { -?> - - - - - - -
- getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?> -
- - - - - -
- error != '' ) { - if( $re != '' ) { - $re .= '
'; - } - $re .= $u->error; - } - if($re!=''){ echo ''.$re.''; } ?> - - - - -
-
- - - Домик Бабушки - - Храм Поклона - - Центральная площадь - - Излом Хаоса - -
-
-
-
- src="//img.new-combats.tech/loca/cp11/znah_png.png" width="78" height="44" title="" class="aFilter" /> -
-
- src="//img.new-combats.tech/loca/leg_loc/big_park/hram.png" width="84" height="116" title="" class="aFilter" /> -
-
- src="//img.new-combats.tech/loca/leg_loc/big_park/ruine.png" width="175" height="157px" title="" class="aFilter" /> -
-
- src="//img.new-combats.tech/loca/cp11/arr_left.png" width="29" height="41" title="" class="aFilter" /> -
-
src="//img.new-combats.tech/loca/cp11/arr_right.png" width="29" height="41" title="" class="aFilter" />
- -
- -
- = 22 || date('H') < 6 ) { - echo 'Напасть   '; - } - ?> -
-
-
- -
- -
- -
- -
- Внимание!Рекомендуем включить функцию второго пароля во вкладке "Безопасность", это обезопасит вашего персонажа от взлома.
- Администрация.

-
- -
- \ No newline at end of file diff --git a/modules_data/location/dungeon_enter_all.php b/modules_data/location/dungeon_enter_all.php index 7d5409d3..af20ec40 100644 --- a/modules_data/location/dungeon_enter_all.php +++ b/modules_data/location/dungeon_enter_all.php @@ -1,1203 +1,1173 @@ room['file'] == 'dungeon_enter_all') { - - $error = ''; // Собираем ошибки. - $dungeonGroupList = ''; // Сюда помещаем список Групп. - $dungeonGo = 1; // По умолчанию, мы идем в пещеру. - $dungeon = mysql_fetch_assoc( mysql_query('SELECT `id` as room, city, `dungeon_room` as d_room, city, `shop`, `dungeon_id` as id, `dungeon_name` as name, quest FROM `dungeon_room` WHERE `id`="'.$u->room['id'].'" LIMIT 1') ); - - // - $dungeon['quest'] = 1; - // - - $dunname = array( - 12 => array('capitalcity','Пещера Тысячи Проклятий'), - 3 => array('demonscity','Катакомбы'), - 101 => array('angelscity','Бездна'), - 16 => array('sandcity','Пещеры Мглы'), - 9 => array('emeraldscity','Потерянный вход'), //108 - 10 => array('suncity','Грибница'), - 1 => array('dreamscity','Водосток'), - 13 => array('abandonedplain','Гора Легиона'), - 31 => array('devilscity','Туманные Низины'), - 109 => array('izlom16','Излом Хаоса'), - 444 => array('eastcity','Тропа Инквизиции') - - ); - if($u->info['admin'] > 0) $dunname[999] = array('capitalcity','Тестовая локация'); -if( $dungeon['id'] == 104 && isset($_GET['freego'])) { - if( $u->info['level'] > 7 ) { - - }elseif( $u->info['money4'] < $u->info['level'] * 5 ) { - echo '
Недостаточно зубов, необходимо '.$u->zuby( ($u->info['level'] * 5) ,1).'
'; - }else{ - mysql_query('DELETE FROM `actions` WHERE `uid` = "'.$u->info['id'].'" AND `vars` = "psh0" AND `time` >= '.(time()-60*60*2).' LIMIT 1'); - $u->info['money4'] -= $u->info['level'] * 5; - mysql_query('UPDATE `users` SET `money4` = "'.$u->info['money4'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo '
Вы успешно сняли задержку на поход за '.$u->zuby( ($u->info['level'] * 5) ,1).'
'; - } +if (!defined('GAME')) { + die(); } -if(isset($_GET['rz']) && $dungeon['quest'] == 1) $roomSection = 1; // Получаем Задание - else $roomSection = 0; // Собираем группу для похода -//if( $u->info['admin'] > 0 ) var_info($dungeon); +if ($u->room['file'] != 'dungeon_enter_all') { + return; +} +$error = ''; // Собираем ошибки. +$dungeonGroupList = ''; // Сюда помещаем список Групп. +$dungeonGo = 1; // По умолчанию, мы идем в пещеру. +$dungeon = mysql_fetch_assoc(mysql_query('SELECT `id` as room, city, `dungeon_room` as d_room, city, `shop`, `dungeon_id` as id, `dungeon_name` as name, quest FROM `dungeon_room` WHERE `id`="' . $u->room['id'] . '" LIMIT 1')); + +// +$dungeon['quest'] = 1; +// + +$dunname = [ + 12 => ['capitalcity', 'Пещера Тысячи Проклятий'], + 3 => ['demonscity', 'Катакомбы'], + 101 => ['angelscity', 'Бездна'], + 16 => ['sandcity', 'Пещеры Мглы'], + 9 => ['emeraldscity', 'Потерянный вход'], //108 + 10 => ['suncity', 'Грибница'], + 1 => ['dreamscity', 'Водосток'], + 13 => ['abandonedplain', 'Гора Легиона'], + 31 => ['devilscity', 'Туманные Низины'], + 109 => ['izlom16', 'Излом Хаоса'], + 444 => ['eastcity', 'Тропа Инквизиции'], + +]; +if ($u->isAdmin()) { + $dunname[999] = ['capitalcity', 'Тестовая локация']; +} + +$roomSection = isset($_GET['rz']) && $dungeon['quest'] == 1 ? 1 : 0; +// Собираем группу для похода $all_dungeon = mysql_query('SELECT `city` FROM `dungeon_room` WHERE `city` IS NOT NULL AND `active`=1 '); -while( $t = mysql_fetch_array($all_dungeon) ) { $dungeon['list'][] = $t['city']; } +while ($t = mysql_fetch_array($all_dungeon)) { + $dungeon['list'][] = $t['city']; +} unset($all_dungeon); - -if( $u->info['dn'] > 0 ) { - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `id`="'.$u->info['dn'].'" AND `delete` = "0" LIMIT 1')); - if(!isset($zv['id'])){ - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - } + +if ($u->info['dn'] > 0) { + $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `id`="' . $u->info['dn'] . '" AND `delete` = "0" LIMIT 1')); + if (!isset($zv['id'])) { + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + } } -$dungeon_timeout = $u->testAction('`uid` = "'.$u->info['id'].'" AND `vars` = "psh0" AND `time` > '.(time()-60*60*2).' LIMIT 1',1); +$dungeon_timeout = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `vars` = "psh0" AND `time` > ' . (time() - 60 * 60 * 2) . ' LIMIT 1', 1); -if($u->info['admin']>0) unset($dungeon_timeout); // $dungeon_timeout - задержка на посещение пещеры. -if(isset($dungeon_timeout['id'])) // Кто-то передумал и не пойдет в пещеру, так-как уже там был. +if ($u->isAdmin()) { + unset($dungeon_timeout); +} // $dungeon_timeout - задержка на посещение пещеры. +if (isset($dungeon_timeout['id'])) // Кто-то передумал и не пойдет в пещеру, так-как уже там был. { - $dungeonGo = 0; - if(isset($_GET['start'])){ - $error = 'До следующего похода осталось еще: '.$u->timeOut(60*60*2-time()+$dungeon_timeout['time']); - } + $dungeonGo = 0; + if (isset($_GET['start'])) { + $error = 'До следующего похода осталось еще: ' . $u->timeOut(60 * 60 * 2 - time() + $dungeon_timeout['time']); + } } -if( isset( $_GET['start'] ) && $zv['uid'] == $u->info['id'] && $dungeonGo == 1 ) { - $ig = 1; - if( $ig > 0 ){ //перемещаем игроков в пещеру +if (isset($_GET['start']) && $zv['uid'] == $u->info['id'] && $dungeonGo == 1) { + $ig = 1; + if ($ig > 0) { //перемещаем игроков в пещеру - $dungeon['room'] = 321; - $dungeon['id'] = $zv['dun']; - // - $ins = mysql_query('INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) - VALUES ("'.$zv['city'].'","'.$zv['uid'].'","'.$zv['dun'].'","'.$dunname[$zv['dun']][1].'","'.time().'")'); - if($ins){ - $zid = mysql_insert_id(); - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - //обновляем пользователей - $su = mysql_query('SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$zv['id'].'" /*LIMIT '.($zv['team_max']+1).'*/'); - $ids = ''; - - $map_locs = array(); - $spm2 = mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = "'.$zv['dun'].'"'); - while( $plm2 = mysql_fetch_array( $spm2 ) ) { - $map_locs[] = array($plm2['x'],$plm2['y']); - } - unset( $spm2 , $plm2 ); - - $pxd = 0; - while( $pu = mysql_fetch_array($su) ) { - $pxd++; - $ids .= ' `id` = "'.$pu['id'].'" OR'; - if( $u->stats['silver'] >= 3 ) { - $u->addAction( ( time() - ((60*60*2)/100*30) ) ,'psh0',$pu['id'],$pu['id']); - }else{ - $u->addAction(time(),'psh0',$pu['id'],$pu['id']); - } - if(date('w') == 0 || date('w') == 6 || date('w') == 1) { - StatsModel::addRepexpById($pu['id'],5); //Репутация +5 - } - //Добавляем квестовые обьекты для персонажей - $sp = mysql_query('SELECT * FROM `actions` WHERE `uid` = "'.$u->info['id'].'" AND `room` = '.$dungeon['room'].' AND `vars` LIKE "%start_quest%" AND `vals` = "go" LIMIT 100'); - while($pl2 = mysql_fetch_array($sp)){ - $pl = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "'.(str_replace('start_quest','',$pl2['vars'])).'" AND `line` = "'.$dungeon['id'].'" LIMIT 1')); - if( isset($pl['id']) ) { - $act = explode(',',$pl['act_date']); - $i = 0; - while( $i < count($act) ) { - $act_date = explode(':|:',$act[$i]); - foreach($act_date as $key=>$val){ - $val = explode(':=:',$val); - $actdate[$val[0]] = $val[1]; - } - //Сбор ресурсов - if( isset($actdate['tk_itm']) && $actdate['tk_itm'] != '' ) { - $xr2 = explode('=',$actdate['tk_itm']); - if( $xr2[2] == 0 ) { - if( isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY']) ) { - $actdate['tk_itm_fromY'] = (integer)$actdate['tk_itm_fromY']; - $actdate['tk_itm_toY'] = (integer)$actdate['tk_itm_toY']; - } - $ml_arr = array(); - foreach($map_locs as $ml){ // tk_itm_fromY tk_itm_toY - отсеиваем позицию для дропа предметов. - if( (isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY'])) OR (!isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY'])) ) { - if( $ml[1] > $actdate['tk_itm_fromY'] && $actdate['tk_itm_toY'] > $ml[1] )$ml_arr[] = $ml; - elseif( !isset($actdate['tk_itm_fromY']) && $actdate['tk_itm_toY'] > $ml[1] ) $ml_arr[] = $ml; - } else $ml_arr[] = $ml; - } - if( isset($ml_arr) && count($ml_arr) == 0 ) $ml_arr = $map_locs; - //Добавляем обьект для юзера - $j = 0; - while( $j < $xr2[1] ){ - $cord = $ml_arr[rand(0,count($ml_arr)-1)]; - if( $cord[0] != 0 || $cord[1] != 0 ) { - mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( - "'.$zid.'","'.$u->info['id'].'","'.$xr2[0].'","'.time().'","'.$cord[0].'","'.$cord[1].'","'.$u->info['id'].'","'.$pl['id'].'" + $dungeon['room'] = 321; + $dungeon['id'] = $zv['dun']; + // + $ins = mysql_query('INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) + VALUES ("' . $zv['city'] . '","' . $zv['uid'] . '","' . $zv['dun'] . '","' . $dunname[$zv['dun']][1] . '","' . time() . '")'); + if ($ins) { + $zid = mysql_insert_id(); + mysql_query('UPDATE `dungeon_zv` SET `delete` = "' . time() . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); + //обновляем пользователей + $su = mysql_query('SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $zv['id'] . '" /*LIMIT ' . ($zv['team_max'] + 1) . '*/'); + $ids = ''; + + $map_locs = []; + $spm2 = mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = "' . $zv['dun'] . '"'); + while ($plm2 = mysql_fetch_array($spm2)) { + $map_locs[] = [$plm2['x'], $plm2['y']]; + } + unset($spm2, $plm2); + + $pxd = 0; + while ($pu = mysql_fetch_array($su)) { + $pxd++; + $ids .= ' `id` = "' . $pu['id'] . '" OR'; + if ($u->stats['silver'] >= 3) { + $u->addAction((time() - ((60 * 60 * 2) / 100 * 30)), 'psh0', $pu['id'], $pu['id']); + } else { + $u->addAction(time(), 'psh0', $pu['id'], $pu['id']); + } + if (date('w') == 0 || date('w') == 6 || date('w') == 1) { + StatsModel::addRepexpById($pu['id'], 5); //Репутация +5 + } + //Добавляем квестовые обьекты для персонажей + $sp = mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `room` = ' . $dungeon['room'] . ' AND `vars` LIKE "%start_quest%" AND `vals` = "go" LIMIT 100'); + while ($pl2 = mysql_fetch_array($sp)) { + $pl = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . (str_replace('start_quest', '', $pl2['vars'])) . '" AND `line` = "' . $dungeon['id'] . '" LIMIT 1')); + if (isset($pl['id'])) { + $act = explode(',', $pl['act_date']); + $i = 0; + while ($i < count($act)) { + $act_date = explode(':|:', $act[$i]); + foreach ($act_date as $key => $val) { + $val = explode(':=:', $val); + $actdate[$val[0]] = $val[1]; + } + //Сбор ресурсов + if (isset($actdate['tk_itm']) && $actdate['tk_itm'] != '') { + $xr2 = explode('=', $actdate['tk_itm']); + if ($xr2[2] == 0) { + if (isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY'])) { + $actdate['tk_itm_fromY'] = (integer)$actdate['tk_itm_fromY']; + $actdate['tk_itm_toY'] = (integer)$actdate['tk_itm_toY']; + } + $ml_arr = []; + foreach ($map_locs as $ml) { // tk_itm_fromY tk_itm_toY - отсеиваем позицию для дропа предметов. + if ((isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY'])) or (!isset($actdate['tk_itm_fromY']) && isset($actdate['tk_itm_toY']))) { + if ($ml[1] > $actdate['tk_itm_fromY'] && $actdate['tk_itm_toY'] > $ml[1]) $ml_arr[] = $ml; + elseif (!isset($actdate['tk_itm_fromY']) && $actdate['tk_itm_toY'] > $ml[1]) $ml_arr[] = $ml; + } else $ml_arr[] = $ml; + } + if (isset($ml_arr) && count($ml_arr) == 0) $ml_arr = $map_locs; + //Добавляем обьект для юзера + $j = 0; + while ($j < $xr2[1]) { + $cord = $ml_arr[rand(0, count($ml_arr) - 1)]; + if ($cord[0] != 0 || $cord[1] != 0) { + mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( + "' . $zid . '","' . $u->info['id'] . '","' . $xr2[0] . '","' . time() . '","' . $cord[0] . '","' . $cord[1] . '","' . $u->info['id'] . '","' . $pl['id'] . '" )'); - } - $j++; - } - }else{ - //Предмет находится в конкретном месте - mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( - "'.$zid.'","'.$u->info['id'].'","'.$xr2[0].'","'.time().'","'.$xr2[2].'","'.$xr2[3].'","'.$u->info['id'].'","'.$pl['id'].'" + } + $j++; + } + } else { + //Предмет находится в конкретном месте + mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( + "' . $zid . '","' . $u->info['id'] . '","' . $xr2[0] . '","' . time() . '","' . $xr2[2] . '","' . $xr2[3] . '","' . $u->info['id'] . '","' . $pl['id'] . '" )'); - } - } - $i++; - } - } - } - - } - $ids = rtrim($ids,'OR'); - $snew = 1; - $upd1 = mysql_query('UPDATE `stats` SET `s`="'.$snew.'",`res_s`="1",`x`="0",`y`="0",`res_x`="0",`res_y`="0",`dn` = "0",`dnow` = "'.$zid.'" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - if( $upd1 ){ - $upd2 = mysql_query('UPDATE `users` SET `room` = "405" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id'] - //Добавляем ботов - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "'.$zv['dun'].'"'); - while( $pl = mysql_fetch_array( $sp ) ) { - if( $pl['id_bot'] == 0 && $pl['bot_group'] !=''){ - $bots = explode( ',', $pl['bot_group'] ); - $pl['id_bot'] = (int)$bots[rand(0, count($bots)-1 )]; - } - if( $pl['id_bot'] > 0 )$vls .= '("'.$zid.'","'.$pl['id_bot'].'","'.$pl['colvo'].'","'.$pl['items'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['dialog'].'","'.$pl['items'].'","'.$pl['go_bot'].'","'.$pl['noatack'].'"),'; - unset($bots); - } - $vls = rtrim($vls,','); - $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`,`noatack`) VALUES '.$vls.''); - //Добавляем обьекты - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "'.$zv['dun'].'"'); - while($pl = mysql_fetch_array($sp)) - { - $vls .= '("'.$zid.'","'.$pl['name'].'","'.$pl['img'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['action'].'","'.$pl['type'].'","'.$pl['w'].'","'.$pl['h'].'","'.$pl['s'].'","'.$pl['s2'].'","'.$pl['os1'].'","'.$pl['os2'].'","'.$pl['os3'].'","'.$pl['os4'].'","'.$pl['type2'].'","'.$pl['top'].'","'.$pl['left'].'","'.$pl['date'].'"),'; - } + } + } + $i++; + } + } + } - //Добавление обьектов (день святого валентина) - if( floor(date('m')) == 2 && floor(date('d')) >= 7 && floor(date('d')) <= 20) { - if( floor(date('m')) == 2 && floor(date('d')) >= 14 && floor(date('d')) <= 20) { - //Появляются мобы которые принимают цветы - $vlsbts = ''; - $ins1bts = NULL; - if( $zv['dun'] == 1 ) { - //4 уровня (КАНАЛИЗАЦИЯ) - $vlsbts .='("'.$zid.'","410","1","","-5","3","8","0","0"),'; - //4-7 уровня - $vlsbts .='("'.$zid.'","413","1","","8","46","9","0","0"),'; - }elseif( $zv['dun'] == 12 ) { - //(ПТП) - //4-7 уровня - $vlsbts .='("'.$zid.'","413","1","","-3","18","9","0","0"),'; - //4-9 уровня - $vlsbts .='("'.$zid.'","414","1","","-2","29","10","0","0"),'; - }elseif( $zv['dun'] == 3 ) { - //(КАТАКОМБЫ) - //4-7 уровня - $vlsbts .='("'.$zid.'","413","1","","15","8","9","0","0"),'; - //4-9 уровня - $vlsbts .='("'.$zid.'","414","1","","3","35","10","0","0"),'; - }elseif( $zv['dun'] == 101 ) { - //(бездна) - //4-7 уровня - $vlsbts .='("'.$zid.'","413","1","","-2","21","9","0","0"),'; - //4-9 уровня - $vlsbts .='("'.$zid.'","414","1","","2","43","10","0","0"),'; - } - - if( $vlsbts != '' ) { - $vlsbts = rtrim($vlsbts,','); - $ins1bts = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`) VALUES '.$vlsbts.''); - } - unset($vlsbts,$ins1bts); - } - //Раскидываем предметы по пещере (Блёклый подземник) - $dcords = array(); - $c_sp = mysql_query('SELECT * FROM `dungeon_map` WHERE `id_dng` = "'.$zv['dun'].'"'); - while( $c_pl = mysql_fetch_array($c_sp)) { - $dcords[] = array($c_pl['x'],$c_pl['y']); - } - $fcords = array(); - $i = 1; - while($i <= $pxd) { - $j = rand(1,10); - while( $j >= 0 ) { - $rndxy = rand(0,count($dcords)-1); - $rndx = $dcords[$rndxy][0]; - $rndy = $dcords[$rndxy][1]; - $fcords[$rndx][$rndy] = true; - unset($dcords[$rndxy]); - $vls .= '("'.$zid.'","Блеклый подземник","vbig1.gif","'.$rndx.'","'.$rndy.'","fileact:vbig1","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; - $j--; - } - $i++; - } - //Раскидываем предметы по пещере (Черепичный подземник) - $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "'.$zv['dun'].'"'); - $test = array(); - $dcords2 = array(); - $dcords3 = array(); - while( $pl = mysql_fetch_array( $sp ) ) { - if(!isset($test[$pl['id_bot']])) { - $test[$pl['id_bot']] = mysql_fetch_array(mysql_query('SELECT * FROM `test_bot` WHERE `id` = "'.$pl['id_bot'].'" LIMIT 1')); - } - if( isset($test[$pl['id_bot']]['id']) && $test[$pl['id_bot']] != 2 ) { - if( $test[$pl['id_bot']]['level'] > 6 ) { - $dcords2[] = array($pl['x'],$pl['y']); - } - if( $test[$pl['id_bot']]['level'] >= 8 && $test[$pl['id_bot']]['align'] == 9 ) { - $dcords3[] = array($pl['x'],$pl['y']); - } - }else{ - $test[$pl['id_bot']] = 2; - } - } - $i = 1; - while($i <= $pxd) { - $j = rand(1,5); - while( $j >= 0 ) { - $rndxy = rand(0,count($dcords2)-1); - $rndx = $dcords2[$rndxy][0]; - $rndy = $dcords2[$rndxy][1]; - if(!isset($fcords[$rndx][$rndy]) && isset($dcords2[$rndxy][0])) { - $fcords[$rndx][$rndy] = true; - unset($dcords2[$rndxy]); - $vls .= '("'.$zid.'","Черепичный подземник","vbig2.gif","'.$rndx.'","'.$rndy.'","fileact:vbig2","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; - } - $j--; - } - $i++; - } - $i = 1; - while($i <= $pxd) { - $j = rand(1,2); - while( $j >= 0 ) { - $rndxy = rand(0,count($dcords3)-1); - $rndx = $dcords3[$rndxy][0]; - $rndy = $dcords3[$rndxy][1]; - if(!isset($fcords[$rndx][$rndy]) && isset($dcords3[$rndxy][0])) { - $fcords[$rndx][$rndy] = true; - unset($dcords3[$rndxy]); - $vls .= '("'.$zid.'","Кровавый подземник","vbig3.gif","'.$rndx.'","'.$rndy.'","fileact:vbig3","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; - } - $j--; - } - $i++; - } - unset($test); - } - // - $vls = rtrim($vls,','); - if( $vls != '' ) { - $ins2 = mysql_query('INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES '.$vls.''); - } else { - $ins2 = true; - } - if( $upd2 && $ins1 && $ins2 ){ - die(''); - } else { - $error = 'Ошибка перехода в подземелье...'; - } - } else { - $error = 'Ошибка перехода в подземелье...'; - } - } else { - $error = 'Ошибка перехода в подземелье...'; - } - } -} elseif( isset( $_POST['go'] , $_POST['goid'] ) && $dungeonGo == 1 ) { - if(!isset($zv['id'])) { - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "all" AND `id`="'.mysql_real_escape_string($_POST['goid']).'" AND `delete` = "0" LIMIT 1')); - if( isset( $zv['id'] ) && $u->info['dn'] == 0) { - if( $zv['pass'] != '' && $_POST['pass_com'] != $zv['pass'] ) { - $error = 'Вы ввели неправильный пароль'; - } elseif( $u->info['level'] > 7 && $zv['dun'] != 1 ){ - $row = 0; - if( 5 > $row ) { - $upd = mysql_query('UPDATE `stats` SET `dn` = "'.$zv['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if( !$upd ){ - $error = 'Не удалось вступить в эту группу'; - unset($zv); - } else { - $u->info['dn'] = $zv['id']; - } - } else { - $error = 'В группе нет места'; - unset($zv); - } - } elseif( $zv['dun'] == 1 ){ - //Канализация - $row_max = 5; - if( $u->info['level'] == 4 ) { - $row_max = 4; - }elseif( $u->info['level'] == 5 ) { - $row_max = 3; - }elseif( $u->info['level'] == 6 ) { - $row_max = 2; - }elseif( $u->info['level'] >= 7 ) { - $row_max = 1; - } - $row = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dn` = "'.$zv['id'].'" LIMIT 1')); - $row1 = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `dn` = "'.$zv['id'].'" LIMIT 1')); - $row2 = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "'.$row1['id'].'" LIMIT 1')); - $row = $row[0]; - if( $row2['level'] != $u->info['level'] ) { - $error = 'Вы не подходите по уровню'; - }elseif( $row_max > $row ) { - $upd = mysql_query('UPDATE `stats` SET `dn` = "'.$zv['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if( !$upd ){ - $error = 'Не удалось вступить в эту группу'; - unset($zv); - } else { - $u->info['dn'] = $zv['id']; - } - } else { - $error = 'В группе нет места'; - unset($zv); - } - } elseif( $u->info['level'] < 4 && $zv['dun'] == 104 ){ - //Шахты - $row_max = 3; - if( $u->info['level'] > 3 ) { - $row_max = 1; - } - $row = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dn` = "'.$zv['id'].'" LIMIT 1')); - $row1 = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `dn` = "'.$zv['id'].'" LIMIT 1')); - $row2 = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "'.$row1['id'].'" LIMIT 1')); - $row = $row[0]; - if( $row2['level'] != $u->info['level'] && $u->info['level'] > 3 ) { - $error = 'Вы не подходите по уровню'; - }elseif( $row_max > $row ) { - $upd = mysql_query('UPDATE `stats` SET `dn` = "'.$zv['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if( !$upd ){ - $error = 'Не удалось вступить в эту группу'; - unset($zv); - } else { - $u->info['dn'] = $zv['id']; - } - } else { - $error = 'В группе для вас нет места'; - unset($zv); - } - } else { - $error = 'Вы не подходите по уровню'; - unset($zv); - } - } else { - $error = 'Заявка не найдена'; - } - } else { - $error = 'Вы уже находитесь в группе'; - } -} elseif( isset( $_POST['leave'] ) && isset( $zv['id'] ) && $dungeonGo == 1 ) { - if( $zv['uid'] == $u->info['id'] ) { - //ставим в группу нового руководителя - $ld = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `dn` = "'.$zv['id'].'" AND `id` != "'.$u->info['id'].'" LIMIT 1')); - if( isset($ld['id']) ){ - $zv['uid'] = $ld['id']; - mysql_query('UPDATE `dungeon_zv` SET `uid` = "'.$zv['uid'].'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } else { - //удаляем группу целиком - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } - } else { - //просто выходим с группы - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } -} elseif( isset($_POST['add']) && $u->info['level'] > 1 && $dungeonGo == 1 ) { - if( $u->info['dn'] == 0 ) { - $dun5 = $dungeon['id']; - // - if(isset($_POST['rpmg1'])) { - if($_POST['rpmg1']==2) { - $dun5 = 101; //Бездна - }elseif($_POST['rpmg1']==8) { - $dun5 = 12; //ПТП - }elseif($_POST['rpmg1']==10) { - $dun5 = 1; //Водосток - }elseif($_POST['rpmg1']==16) { - $dun5 = 16; //Пещера Мглы - }elseif($_POST['rpmg1']==4) { - $dun5 = 3; //Катакомбы - }elseif($_POST['rpmg1']==5) { - $dun5 = 9; //Потерянный вход - }elseif($_POST['rpmg1']==444) { - $dun5 = 444; //Тропа Инквизиции - }elseif($_POST['rpmg1']==6) { - $dun5 = 10; //Грибница - }elseif($_POST['rpmg1']==11) { - $dun5 = 13; //Гора легиона - }elseif($_POST['rpmg1']==106) { - $dun5 = 31; //Низины - }elseif($_POST['rpmg1']==999) { - $dun5 = 999; //Тестовая локация - }elseif($_POST['rpmg1']==9) { - $dun5 = 9; //Потеряный вход - }else{ - $dun5 = 12; //ПТП - } - }else{ - $dun5 = 12; //ПТП - } - // - $ins = mysql_query('INSERT INTO `dungeon_zv` + } + $ids = rtrim($ids, 'OR'); + $snew = 1; + $upd1 = mysql_query('UPDATE `stats` SET `s`="' . $snew . '",`res_s`="1",`x`="0",`y`="0",`res_x`="0",`res_y`="0",`dn` = "0",`dnow` = "' . $zid . '" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . ''); + if ($upd1) { + $upd2 = mysql_query('UPDATE `users` SET `room` = "405" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . ''); + //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id'] + //Добавляем ботов + $vls = ''; + $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $zv['dun'] . '"'); + while ($pl = mysql_fetch_array($sp)) { + if ($pl['id_bot'] == 0 && $pl['bot_group'] != '') { + $bots = explode(',', $pl['bot_group']); + $pl['id_bot'] = (int)$bots[rand(0, count($bots) - 1)]; + } + if ($pl['id_bot'] > 0) { + $vls .= '("' . $zid . '","' . $pl['id_bot'] . '","' . $pl['colvo'] . '","' . $pl['items'] . '","' . $pl['x'] . '","' . $pl['y'] . '","' . $pl['dialog'] . '","' . $pl['items'] . '","' . $pl['go_bot'] . '","' . $pl['noatack'] . '"),'; + } + unset($bots); + } + $vls = rtrim($vls, ','); + var_dump($vls); + $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`,`noatack`) VALUES ' . $vls . ''); + //Добавляем обьекты + $vls = ''; + $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "' . $zv['dun'] . '"'); + while ($pl = mysql_fetch_array($sp)) { + $vls .= '("' . $zid . '","' . $pl['name'] . '","' . $pl['img'] . '","' . $pl['x'] . '","' . $pl['y'] . '","' . $pl['action'] . '","' . $pl['type'] . '","' . $pl['w'] . '","' . $pl['h'] . '","' . $pl['s'] . '","' . $pl['s2'] . '","' . $pl['os1'] . '","' . $pl['os2'] . '","' . $pl['os3'] . '","' . $pl['os4'] . '","' . $pl['type2'] . '","' . $pl['top'] . '","' . $pl['left'] . '","' . $pl['date'] . '"),'; + } + + //Добавление обьектов (день святого валентина) + if (floor(date('m')) == 2 && floor(date('d')) >= 7 && floor(date('d')) <= 20) { + if (floor(date('m')) == 2 && floor(date('d')) >= 14 && floor(date('d')) <= 20) { + //Появляются мобы которые принимают цветы + $vlsbts = ''; + $ins1bts = null; + if ($zv['dun'] == 1) { + //4 уровня (КАНАЛИЗАЦИЯ) + $vlsbts .= '("' . $zid . '","410","1","","-5","3","8","0","0"),'; + //4-7 уровня + $vlsbts .= '("' . $zid . '","413","1","","8","46","9","0","0"),'; + } elseif ($zv['dun'] == 12) { + //(ПТП) + //4-7 уровня + $vlsbts .= '("' . $zid . '","413","1","","-3","18","9","0","0"),'; + //4-9 уровня + $vlsbts .= '("' . $zid . '","414","1","","-2","29","10","0","0"),'; + } elseif ($zv['dun'] == 3) { + //(КАТАКОМБЫ) + //4-7 уровня + $vlsbts .= '("' . $zid . '","413","1","","15","8","9","0","0"),'; + //4-9 уровня + $vlsbts .= '("' . $zid . '","414","1","","3","35","10","0","0"),'; + } elseif ($zv['dun'] == 101) { + //(бездна) + //4-7 уровня + $vlsbts .= '("' . $zid . '","413","1","","-2","21","9","0","0"),'; + //4-9 уровня + $vlsbts .= '("' . $zid . '","414","1","","2","43","10","0","0"),'; + } + + if ($vlsbts != '') { + $vlsbts = rtrim($vlsbts, ','); + $ins1bts = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`) VALUES ' . $vlsbts . ''); + } + unset($vlsbts, $ins1bts); + } + //Раскидываем предметы по пещере (Блёклый подземник) + $dcords = []; + $c_sp = mysql_query('SELECT * FROM `dungeon_map` WHERE `id_dng` = "' . $zv['dun'] . '"'); + while ($c_pl = mysql_fetch_array($c_sp)) { + $dcords[] = [$c_pl['x'], $c_pl['y']]; + } + $fcords = []; + $i = 1; + while ($i <= $pxd) { + $j = rand(1, 10); + while ($j >= 0) { + $rndxy = rand(0, count($dcords) - 1); + $rndx = $dcords[$rndxy][0]; + $rndy = $dcords[$rndxy][1]; + $fcords[$rndx][$rndy] = true; + unset($dcords[$rndxy]); + $vls .= '("' . $zid . '","Блеклый подземник","vbig1.gif","' . $rndx . '","' . $rndy . '","fileact:vbig1","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; + $j--; + } + $i++; + } + //Раскидываем предметы по пещере (Черепичный подземник) + $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $zv['dun'] . '"'); + $test = []; + $dcords2 = []; + $dcords3 = []; + while ($pl = mysql_fetch_array($sp)) { + if (!isset($test[$pl['id_bot']])) { + $test[$pl['id_bot']] = mysql_fetch_array(mysql_query('SELECT * FROM `test_bot` WHERE `id` = "' . $pl['id_bot'] . '" LIMIT 1')); + } + if (isset($test[$pl['id_bot']]['id']) && $test[$pl['id_bot']] != 2) { + if ($test[$pl['id_bot']]['level'] > 6) { + $dcords2[] = [$pl['x'], $pl['y']]; + } + if ($test[$pl['id_bot']]['level'] >= 8 && $test[$pl['id_bot']]['align'] == 9) { + $dcords3[] = [$pl['x'], $pl['y']]; + } + } else { + $test[$pl['id_bot']] = 2; + } + } + $i = 1; + while ($i <= $pxd) { + $j = rand(1, 5); + while ($j >= 0) { + $rndxy = rand(0, count($dcords2) - 1); + $rndx = $dcords2[$rndxy][0]; + $rndy = $dcords2[$rndxy][1]; + if (!isset($fcords[$rndx][$rndy]) && isset($dcords2[$rndxy][0])) { + $fcords[$rndx][$rndy] = true; + unset($dcords2[$rndxy]); + $vls .= '("' . $zid . '","Черепичный подземник","vbig2.gif","' . $rndx . '","' . $rndy . '","fileact:vbig2","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; + } + $j--; + } + $i++; + } + $i = 1; + while ($i <= $pxd) { + $j = rand(1, 2); + while ($j >= 0) { + $rndxy = rand(0, count($dcords3) - 1); + $rndx = $dcords3[$rndxy][0]; + $rndy = $dcords3[$rndxy][1]; + if (!isset($fcords[$rndx][$rndy]) && isset($dcords3[$rndxy][0])) { + $fcords[$rndx][$rndy] = true; + unset($dcords3[$rndxy]); + $vls .= '("' . $zid . '","Кровавый подземник","vbig3.gif","' . $rndx . '","' . $rndy . '","fileact:vbig3","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),'; + } + $j--; + } + $i++; + } + unset($test); + } + // + $vls = rtrim($vls, ','); + if ($vls != '') { + $ins2 = mysql_query('INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES ' . $vls . ''); + } else { + $ins2 = true; + } + if ($upd2 && $ins1 && $ins2) { + die(''); + } else { + var_dump($upd2, $ins1, $ins2); + $error = 'Ошибка перехода в подземелье... a1'; + } + } else { + $error = 'Ошибка перехода в подземелье... a2'; + } + } else { + $error = 'Ошибка перехода в подземелье... a3'; + } + } +} elseif (isset($_POST['go'], $_POST['goid']) && $dungeonGo == 1) { + if (!isset($zv['id'])) { + $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "all" AND `id`="' . mysql_real_escape_string($_POST['goid']) . '" AND `delete` = "0" LIMIT 1')); + if (isset($zv['id']) && $u->info['dn'] == 0) { + if ($zv['pass'] != '' && $_POST['pass_com'] != $zv['pass']) { + $error = 'Вы ввели неправильный пароль'; + } elseif ($u->info['level'] > 7 && $zv['dun'] != 1) { + $row = 0; + if (5 > $row) { + $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if (!$upd) { + $error = 'Не удалось вступить в эту группу'; + unset($zv); + } else { + $u->info['dn'] = $zv['id']; + } + } else { + $error = 'В группе нет места'; + unset($zv); + } + } elseif ($zv['dun'] == 1) { + //Канализация + $row_max = 5; + if ($u->info['level'] == 4) { + $row_max = 4; + } elseif ($u->info['level'] == 5) { + $row_max = 3; + } elseif ($u->info['level'] == 6) { + $row_max = 2; + } elseif ($u->info['level'] >= 7) { + $row_max = 1; + } + $row = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); + $row1 = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); + $row2 = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $row1['id'] . '" LIMIT 1')); + $row = $row[0]; + if ($row2['level'] != $u->info['level']) { + $error = 'Вы не подходите по уровню'; + } elseif ($row_max > $row) { + $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if (!$upd) { + $error = 'Не удалось вступить в эту группу'; + unset($zv); + } else { + $u->info['dn'] = $zv['id']; + } + } else { + $error = 'В группе нет места'; + unset($zv); + } + } elseif ($u->info['level'] < 4 && $zv['dun'] == 104) { + //Шахты + $row_max = 3; + if ($u->info['level'] > 3) { + $row_max = 1; + } + $row = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); + $row1 = mysql_fetch_array(mysql_query('SELECT * FROM `stats` WHERE `dn` = "' . $zv['id'] . '" LIMIT 1')); + $row2 = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $row1['id'] . '" LIMIT 1')); + $row = $row[0]; + if ($row2['level'] != $u->info['level'] && $u->info['level'] > 3) { + $error = 'Вы не подходите по уровню'; + } elseif ($row_max > $row) { + $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if (!$upd) { + $error = 'Не удалось вступить в эту группу'; + unset($zv); + } else { + $u->info['dn'] = $zv['id']; + } + } else { + $error = 'В группе для вас нет места'; + unset($zv); + } + } else { + $error = 'Вы не подходите по уровню'; + unset($zv); + } + } else { + $error = 'Заявка не найдена'; + } + } else { + $error = 'Вы уже находитесь в группе'; + } +} elseif (isset($_POST['leave']) && isset($zv['id']) && $dungeonGo == 1) { + if ($zv['uid'] == $u->info['id']) { + //ставим в группу нового руководителя + $ld = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `dn` = "' . $zv['id'] . '" AND `id` != "' . $u->info['id'] . '" LIMIT 1')); + if (isset($ld['id'])) { + $zv['uid'] = $ld['id']; + mysql_query('UPDATE `dungeon_zv` SET `uid` = "' . $zv['uid'] . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + unset($zv); + } else { + //удаляем группу целиком + mysql_query('UPDATE `dungeon_zv` SET `delete` = "' . time() . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + unset($zv); + } + } else { + //просто выходим с группы + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + unset($zv); + } +} elseif (isset($_POST['add']) && $u->info['level'] > 1 && $dungeonGo == 1) { + if ($u->info['dn'] == 0) { + $dun5 = $dungeon['id']; + // + if (isset($_POST['rpmg1'])) { + if ($_POST['rpmg1'] == 2) { + $dun5 = 101; //Бездна + } elseif ($_POST['rpmg1'] == 8) { + $dun5 = 12; //ПТП + } elseif ($_POST['rpmg1'] == 10) { + $dun5 = 1; //Водосток + } elseif ($_POST['rpmg1'] == 16) { + $dun5 = 16; //Пещера Мглы + } elseif ($_POST['rpmg1'] == 4) { + $dun5 = 3; //Катакомбы + } elseif ($_POST['rpmg1'] == 5) { + $dun5 = 9; //Потерянный вход + } elseif ($_POST['rpmg1'] == 444) { + $dun5 = 444; //Тропа Инквизиции + } elseif ($_POST['rpmg1'] == 6) { + $dun5 = 10; //Грибница + } elseif ($_POST['rpmg1'] == 11) { + $dun5 = 13; //Гора легиона + } elseif ($_POST['rpmg1'] == 106) { + $dun5 = 31; //Низины + } elseif ($_POST['rpmg1'] == 999) { + $dun5 = 999; //Тестовая локация + } elseif ($_POST['rpmg1'] == 9) { + $dun5 = 9; //Потеряный вход + } else { + $dun5 = 12; //ПТП + } + } else { + $dun5 = 12; //ПТП + } + // + $ins = mysql_query('INSERT INTO `dungeon_zv` (`city`,`time`,`uid`,`dun`,`pass`,`com`,`lvlmin`,`lvlmax`,`team_max`) VALUES - ("all","'.time().'","'.$u->info['id'].'","'.$dun5.'", - "'.mysql_real_escape_string($_POST['pass']).'", - "'.mysql_real_escape_string($_POST['text']).'", + ("all","' . time() . '","' . $u->info['id'] . '","' . $dun5 . '", + "' . mysql_real_escape_string($_POST['pass']) . '", + "' . mysql_real_escape_string($_POST['text']) . '", "8", "21", "5")'); - if( $ins ) { - $u->info['dn'] = mysql_insert_id(); - $zv['id'] = $u->info['dn']; - $zv['uid'] = $u->info['id']; - mysql_query('UPDATE `stats` SET `dn` = "'.$u->info['dn'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $error = 'Вы успешно создали группу'; - } else { - $error = 'Не удалось создать группу'; - } - } else { - $error = 'Вы уже находитесь в группе'; - } + if ($ins) { + $u->info['dn'] = mysql_insert_id(); + $zv['id'] = $u->info['dn']; + $zv['uid'] = $u->info['id']; + mysql_query('UPDATE `stats` SET `dn` = "' . $u->info['dn'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $error = 'Вы успешно создали группу'; + } else { + $error = 'Не удалось создать группу'; + } + } else { + $error = 'Вы уже находитесь в группе'; + } } //Генерируем список групп -$sp = mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "all" AND `delete` = "0" AND `time` > "'.(time()-60*60*2).'"'); -while( $pl = mysql_fetch_array( $sp ) ){ - $dungeonGroupList .= '
'; - if( $u->info['dn'] == 0 ) $dungeonGroupList .= ''; - $dungeonGroupList .= ''.date('H:i',$pl['time']).' '; - - $dungeonGroupList .= ' '; - - $pus = ''; //группа - $su = mysql_query('SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$pl['id'].'" LIMIT '.($pl['team_max']+1).''); - while( $pu = mysql_fetch_array( $su ) ) { - $pus .= ''.$pu['login'].' ['.$pu['level'].']'; - $pus .= ', '; - } - $pus = trim( $pus, ', ' ); - - $dungeonGroupList .= $pus; unset($pus); - - if( $pl['pass'] != '' && $u->info['dn'] == 0 ) $dungeonGroupList .= ' '; - - if( $pl['com'] != '' ) { - $dl = ''; - // Если модератор, даем возможность удалять комментарий к походу. - $moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "'.$u->info['align'].'" LIMIT 1')); - if( ( $moder['boi'] == 1 || $u->info['admin'] > 0 ) && $pl['dcom'] == 0 ){ - $dl .= ' (удалить комментарий)'; - if( isset( $_GET['delcom'] ) && $_GET['delcom'] == $pl['id'] && $u->newAct( $_GET['key'] ) == true ) { - mysql_query('UPDATE `dungeon_zv` SET `dcom` = "'.$u->info['id'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['dcom'] = $u->info['id']; - } - } - $pl['com'] = htmlspecialchars($pl['com'],NULL); - if( $pl['dcom'] > 0 ) { - $dl = ' комментарий удален модератором'; - } - if( $pl['dcom'] > 0 ) { - if( $moder['boi'] == 1 || $u->info['admin'] > 0 ) { - $pl['com'] = ''.$pl['com'].''; - } else { - $pl['com'] = ''; - } - } - $dungeonGroupList .= ' | '.$pl['com'].''.$dl.''; - } - $dungeonGroupList .= '
'; +$sp = mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "all" AND `delete` = "0" AND `time` > "' . (time() - 60 * 60 * 2) . '"'); +while ($pl = mysql_fetch_array($sp)) { + $dungeonGroupList .= '
'; + if ($u->info['dn'] == 0) $dungeonGroupList .= ''; + $dungeonGroupList .= '' . date('H:i', $pl['time']) . ' '; + + $dungeonGroupList .= ' '; + + $pus = ''; //группа + $su = mysql_query('SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $pl['id'] . '" LIMIT ' . ($pl['team_max'] + 1) . ''); + while ($pu = mysql_fetch_array($su)) { + $pus .= '' . $pu['login'] . ' [' . $pu['level'] . ']'; + $pus .= ', '; + } + $pus = trim($pus, ', '); + + $dungeonGroupList .= $pus; + unset($pus); + + if ($pl['pass'] != '' && $u->info['dn'] == 0) $dungeonGroupList .= ' '; + + if ($pl['com'] != '') { + $dl = ''; + // Если модератор, даем возможность удалять комментарий к походу. + $moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "' . $u->info['align'] . '" LIMIT 1')); + if (($moder['boi'] == 1 || $u->info['admin'] > 0) && $pl['dcom'] == 0) { + $dl .= ' (удалить комментарий)'; + if (isset($_GET['delcom']) && $_GET['delcom'] == $pl['id'] && $u->newAct($_GET['key']) == true) { + mysql_query('UPDATE `dungeon_zv` SET `dcom` = "' . $u->info['id'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'); + $pl['dcom'] = $u->info['id']; + } + } + $pl['com'] = htmlspecialchars($pl['com'], null); + if ($pl['dcom'] > 0) { + $dl = ' комментарий удален модератором'; + } + if ($pl['dcom'] > 0) { + if ($moder['boi'] == 1 || $u->info['admin'] > 0) { + $pl['com'] = '' . $pl['com'] . ''; + } else { + $pl['com'] = ''; + } + } + $dungeonGroupList .= ' | ' . $pl['com'] . '' . $dl . ''; + } + $dungeonGroupList .= '
'; } + +$paths = []; + ?> - - - - - - - -
-

Вход в подземелье

-
- - - - - -
  - - - - - -
- - - - - - -
- - - - -
info['city']=='fallenearth'){ - echo "Темный Портал"; - } elseif($u->info['city']=='abandonedplain'){ - echo "Центральная площадь"; - } elseif($u->info['room']==188){ - echo "Зал воинов"; - } elseif($u->info['room']==393){ - echo "Зал воинов 2"; - } elseif($u->info['room']==372){ - echo "Большая парковая улица"; - } elseif($u->info['room']==395){ - echo "Зал воинов"; - } elseif($u->info['room']==397){ - echo "Зал воинов 2"; - } elseif($u->info['room']==242){ - echo "Большая торговая улица"; - } elseif($u->info['room']==321){ - echo "Большая торговая улица"; - } else { - echo "Магический Портал"; - } - ?>
-
- -
-
- -
-

Рыцарский Магазин

-
-
-   -
- -
- info['level'] > 7) { - ?> - -     - -
- + + +

Вход в подземелье

+ +

Рыцарский Магазин

+ + +
+ + + + +
+ +
+ + +
+ + '.$error.'
'; +if (!empty($error)) { + echo '' . $error . 'br>'; +} //отображаем -if( $dungeonGroupList == '' ) { - $dungeonGroupList = ''; +if ($dungeonGroupList == '') { + $dungeonGroupList = ''; } else { - if( !isset( $zv['id'] ) || $u->info['dn'] == 0 ) { - if($dungeonGo==1 || $u->info['dn'] == 0 ) { - $pr = ''; - } - $dungeonGroupList = '
'.$pr.'
'.$dungeonGroupList.''.$pr.'
'; - } - $dungeonGroupList .= '
'; + if (!isset($zv['id']) || $u->info['dn'] == 0) { + if ($dungeonGo == 1 || $u->info['dn'] == 0) { + $pr = ''; + } + $dungeonGroupList = '
' . $pr . '
' . $dungeonGroupList . '' . $pr . '
'; + } + $dungeonGroupList .= '
'; } -if( $roomSection == 0 ) { echo $dungeonGroupList; } -if( $roomSection == 1 ) { - # endQuest завершаем задание по нажатию. - if(!empty($_GET['endQuest'])){ - $action = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = '.$u->info['id'].' AND `id`="'.$_GET['endQuest'].'" AND `vals` = "go" LIMIT 1')); - $quest = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "'.str_replace('start_quest','',$action['vars']).'" LIMIT 1')); - if( $q->questCheckEnd($quest)==1 ){ - $q->questSuccesEnd($quest, $action); - } - } -?> -
-
-testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_'.$dungeon['city'].'" LIMIT 1',1); - $qc=0; // Quest Count - $qcc = array(); - //Генерируем список текущих квестов - $sp = mysql_query('SELECT * FROM `actions` WHERE `vars` LIKE "%start_quest%" AND `vals` = "go" AND `uid` = "'.$u->info['id'].'" LIMIT 100'); - while( $pl = mysql_fetch_array( $sp ) ) { - if($pl['room'] == $u->info['room']){ - $pq = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "'.str_replace('start_quest','',$pl['vars']).'" LIMIT 1')); - if( $q->questCheckEnd($pq)==1 or $u->info['login'] == 'тест1') { - if ($u->info['login'] == 'тест1') {print_r($pl['id'] . ' ');} - $qsee2 = ''; - } else $qsee2 = ''; - - $qsee .= ' - - '.$pq['name'].' -
'.$pq['info'].'
'.$q->info($pq).''.$qsee2.'
+if ($roomSection == 0) { + echo $dungeonGroupList; +} +if ($roomSection == 1) { + # endQuest завершаем задание по нажатию. + if (!empty($_GET['endQuest'])) { + $action = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `id`="' . $_GET['endQuest'] . '" AND `vals` = "go" LIMIT 1')); + $quest = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . str_replace('start_quest', '', $action['vars']) . '" LIMIT 1')); + if ($q->questCheckEnd($quest) == 1) { + $q->questSuccesEnd($quest, $action); + } + } + ?> +
+ + testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_' . $dungeon['city'] . '" LIMIT 1', 1); + $qc = 0; // Quest Count + $qcc = []; + //Генерируем список текущих квестов + $sp = mysql_query('SELECT * FROM `actions` WHERE `vars` LIKE "%start_quest%" AND `vals` = "go" AND `uid` = "' . $u->info['id'] . '" LIMIT 100'); + while ($pl = mysql_fetch_array($sp)) { + if ($pl['room'] == $u->info['room']) { + $pq = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . str_replace('start_quest', '', $pl['vars']) . '" LIMIT 1')); + if ($q->questCheckEnd($pq) == 1 or $u->info['login'] == 'тест1') { + if ($u->info['login'] == 'тест1') { + print_r($pl['id'] . ' '); + } + $qsee2 = ''; + } else { + $qsee2 = ''; + } + + $qsee .= ' + + ' . $pq['name'] . ' +
' . $pq['info'] . '
' . $q->info($pq) . '' . $qsee2 . '

'; - # - $qcc[$pq['line']]++; - # - $qc++; - } - } - - if( isset( $_GET['add_quest'] )) { - $qst_city = $_GET['city_quest']; - // - if($qst_city=='angelscity') { - $dun5 = 101; //Бездна - }elseif($qst_city=='sandcity') { - $dun5 = 16; //Пещера Мглы - }elseif($qst_city=='demonscity') { - $dun5 = 3; //Катакомбы - /*}elseif($qst_city=='emeraldscity') { - $dun5 = 17; //Потерянный вход 17*/ - }elseif($qst_city=='suncity') { - $dun5 = 10; //Грибница - }elseif($qst_city=='dreamscity') { - $dun5 = 1; //Водосток - }elseif($qst_city=='abandonedplain') { - $dun5 = 13; //Гора легиона - }elseif($qst_city=='izlom16') { - $dun5 = 109; //Излом - }elseif($qst_city=='emeraldscity') { - $dun5 = 9; //Потерянный вход - }elseif($qst_city=='eastcity') { - $dun5 = 444; //Тропа Инквизиции - }elseif($qst_city=='devilscity') { - $dun5 = 31; //Низины - }else{ - $dun5 = 12; //ПТП - } - // - $hgo = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_'.mysql_real_escape_string($qst_city).'" LIMIT 1',1); - //$qcc - if( $qcc[$dun5] > 0 ) { - echo 'У Вас уже есть задание, завершите его или отмените для получения нового.
'; - }elseif( $qst_city != 'capitalcity' && $qst_city != 'angelscity' && $qst_city != 'suncity' && $qst_city != 'demonscity' && $qst_city != 'dreamscity' && $qst_city != 'abandonedplain' && $qst_city != 'izlom16' && $qst_city != 'sandcity' && $qst_city != 'emeraldscity' && $qst_city != 'devilscity' ) { - echo 'Для этой пещеры еще нет заданий
'; - }elseif( isset( $hgo['id'] ) ) { - echo 'Нельзя получать задания чаще одного раза в сутки
'; - } else { - // + # + $qcc[$pq['line']]++; + # + $qc++; + } + } + if (isset($_GET['add_quest'])) { + $qst_city = $_GET['city_quest']; + // + if ($qst_city == 'angelscity') { + $dun5 = 101; //Бездна + } elseif ($qst_city == 'sandcity') { + $dun5 = 16; //Пещера Мглы + } elseif ($qst_city == 'demonscity') { + $dun5 = 3; //Катакомбы + } elseif ($qst_city == 'suncity') { + $dun5 = 10; //Грибница + } elseif ($qst_city == 'dreamscity') { + $dun5 = 1; //Водосток + } elseif ($qst_city == 'abandonedplain') { + $dun5 = 13; //Гора легиона + } elseif ($qst_city == 'izlom16') { + $dun5 = 109; //Излом + } elseif ($qst_city == 'emeraldscity') { + $dun5 = 9; //Потерянный вход + } elseif ($qst_city == 'eastcity') { + $dun5 = 444; //Тропа Инквизиции + } elseif ($qst_city == 'devilscity') { + $dun5 = 31; //Низины + } else { + $dun5 = 12; //ПТП + } + // + $hgo = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_' . mysql_real_escape_string($qst_city) . '" LIMIT 1', 1); + //$qcc + if ($qcc[$dun5] > 0) { + echo 'У Вас уже есть задание, завершите его или отмените для получения нового.
'; + } elseif ($qst_city != 'capitalcity' && $qst_city != 'angelscity' && $qst_city != 'suncity' && $qst_city != 'demonscity' && $qst_city != 'dreamscity' && $qst_city != 'abandonedplain' && $qst_city != 'izlom16' && $qst_city != 'sandcity' && $qst_city != 'emeraldscity' && $qst_city != 'devilscity') { + echo 'Для этой пещеры еще нет заданий
'; + } elseif (isset($hgo['id'])) { + echo 'Нельзя получать задания чаще одного раза в сутки
'; + } else { + $sp = mysql_query('SELECT * FROM `quests` WHERE `line` = ' . $dun5 . ''); + $dq_add = []; + while ($pl = mysql_fetch_array($sp)) { + if ($u->rep['rep' . $qst_city] == 24999) { + //квет, рыцарского задания + if ($pl['kin'] == 2) { + $dq_add = [0 => $pl]; + } + } else { + if ($pl['kin'] == 0) { + $dq_add[count($dq_add)] = $pl; + } + } + } + $dq_add = $q->onlyOnceQuest($dq_add, $u->info['id']); + $dq_add = $dq_add[rand(0, count($dq_add) - 1)]; + if ($q->testGood($dq_add) == 1 && $dq_add > 0 && $u->rep['rep' . $qst_city] < 25000) { + $q->startq_dn($dq_add['id']); + echo 'Вы успешно получили новое задание "' . $dq_add['name'] . '".
'; + $u->addAction(time(), 'psh_qt_' . $qst_city, $dq_add['id']); + } else { + if ($u->rep['rep' . $qst_city] >= 24999) { + //квест, рыцарского задания + echo 'Вы завершили квестовую линию, ожидайте новых заданий!
'; + } else { + echo 'Не удалось получить задание "' . $dq_add['name'] . '". Попробуйте еще...
'; + } + } + unset($dq_add); + } + } elseif (isset($_GET['add_quest']) && $qc > 0) { + echo 'Что-то пошло не так... осторожнее..


'; + } + if ($qsee == '') { + $qsee = 'К сожалению у вас нет ни одного задания

'; + } + ?> +
+ -
- Текущие задания: - - + .btnnewred:hover { + background-color: #ca726d; + cursor: default; + } + +
+ Текущие задания: + + Получить задание:
0 ){ - // echo 'Вы еще не справились с текущим заданием.'; - //} elseif( !isset( $hgo['id'] ) && $qc == 0 ) { - $hgo1 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_capitalcity" LIMIT 1',1); - $hgo2 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_angelscity" LIMIT 1',1); - $hgo3 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_suncity" LIMIT 1',1); - $hgo4 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_demonscity" LIMIT 1',1); - $hgo5 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_dreamscity" LIMIT 1',1); - $hgo6 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_abandonedplain" LIMIT 1',1); - $hgo7 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_izlom16" LIMIT 1',1); - $hgo8 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_sandcity" LIMIT 1',1); - $hgo9 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_emeraldscity" LIMIT 1',1); - $hgo10 = $u->testAction('`uid` = "'.$u->info['id'].'" AND `room` = "'.$u->info['room'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_devilscity" LIMIT 1',1); - - // - if( !isset($hgo1['id']) ) { ?> - - - (Пещера Тысячи Проклятий)' onclick='location="main.php?rz=1&add_quest=1&city_quest=capitalcity"' /> - - - - (Бездна)' onclick='location="main.php?rz=1&add_quest=1&city_quest=angelscity"' /> - - - - (Грибница)' onclick='location="main.php?rz=1&add_quest=1&city_quest=suncity"' /> - - - - (Катакомбы)' onclick='location="main.php?rz=1&add_quest=1&city_quest=demonscity"' /> - -
- - (Водосток)' onclick='location="main.php?rz=1&add_quest=1&city_quest=dreamscity"' /> - - - - (Гора Легиона)' onclick='location="main.php?rz=1&add_quest=1&city_quest=abandonedplain"' /> - - - - (Излом Хаоса)' onclick='location="main.php?rz=1&add_quest=1&city_quest=izlom16"' /> - - - - (Пещера Мглы)' onclick='location="main.php?rz=1&add_quest=1&city_quest=sandcity"' /> - - - - (Потерянный Вход)' onclick='location="main.php?rz=1&add_quest=1&city_quest=emeraldscity"' /> - - - - (Туманные Низины)' onclick='location="main.php?rz=1&add_quest=1&city_quest=devilscity"' /> - array('sandcity','Пещеры Мглы'), - //} else { - // echo 'Получить новое задание можно '.date('d.m.Y H:i',$hgo['time']+60*60*24).' ( Через '.$u->timeOut($hgo['time']+60*60*24-time()).' )'; - //} - ?> + $hgo1 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_capitalcity" LIMIT 1', 1); + $hgo2 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_angelscity" LIMIT 1', 1); + $hgo3 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_suncity" LIMIT 1', 1); + $hgo4 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_demonscity" LIMIT 1', 1); + $hgo5 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_dreamscity" LIMIT 1', 1); + $hgo6 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_abandonedplain" LIMIT 1', 1); + $hgo7 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_izlom16" LIMIT 1', 1); + $hgo8 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_sandcity" LIMIT 1', 1); + $hgo9 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_emeraldscity" LIMIT 1', 1); + $hgo10 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `room` = "' . $u->info['room'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_devilscity" LIMIT 1', 1); + + + if (!isset($hgo1['id'])) { ?> + + + (Пещера Тысячи Проклятий)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=capitalcity"'/> + + + + (Бездна)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=angelscity"'/> + + + + (Грибница)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=suncity"'/> + + + + (Катакомбы)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=demonscity"'/> + + + + (Водосток)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=dreamscity"'/> + + + + (Гора Легиона)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=abandonedplain"'/> + + + + (Излом Хаоса)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=izlom16"'/> + + + + (Пещера Мглы)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=sandcity"'/> + + + + (Потерянный Вход)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=emeraldscity"'/> + + + + (Туманные Низины)' + onclick='location="main.php?rz=1&add_quest=1&city_quest=devilscity"'/> +
-
- -
- + +
+ 0); - if( 50 - $u->rep['add_stats'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price ) { // Характеристики! - foreach( $dungeon['list'] as $key => $val ) { - if( !( $cur_price['price'] >= $price ) ) { - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - //$mnt1 = ( isset( $rt ) && $rt == 1 ? ($u->rep['allrep']-$u->rep['allnurep'])-$cur_price['price'] : ($u->rep['allrep']-$u->rep['allnurep']) ); - //print_r($dungeon['list']); - // - if( $price == $cur_price['price'] ) { - foreach( $dungeon['list'] as $key => $val ) { - //echo '['.$val.'->'.$cur_price['nu_'.$val].'->'.$u->rep['nu_'.$val].'->'.$rt.']'; - if( isset( $cur_price['nu_'.$val] ) && isset( $u->rep['nu_'.$val] ) && $rt == 1 ) { - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - $r = mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($r) $rt = 1; else $rt = 0; - } - } - if($rt==1){ - $u->info['ability'] += 1; $u->rep['add_stats'] += 1; - mysql_query('UPDATE `rep` SET `add_stats` = "'.$u->rep['add_stats'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `ability` = "'.$u->info['ability'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно приобрели 1 способность за '.$price.' ед. награды
'; - } else { - echo 'Ничего не получилось...
'; - } - } else echo 'Недостаточно репутации.'; - } else { - echo 'Ничего не получилось...
'; - } - } elseif( $_GET['buy1'] == 2 ) { // Умения! - $price = 5000; - $cur_price = array('price'=>0); - if(15-$u->rep['add_skills']>0 && $u->rep['allrep']-$u->rep['allnurep'] >= $price ) { // Умения! - foreach($dungeon['list'] as $key=>$val){ - if( !( $cur_price['price'] >= $price ) ) { - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - if( $price == $cur_price['price'] ) { - foreach( $dungeon['list'] as $key => $val ) { - if( isset( $cur_price['nu_'.$val] ) && isset( $u->rep['nu_'.$val] ) && $rt == 1 ) { - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - $r = mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($r) $rt = 1; else $rt = 0; - } - } - if($rt==1){ - $u->info['skills'] += 1; $u->rep['add_skills'] += 1; - mysql_query('UPDATE `rep` SET `add_skills` = "'.$u->rep['add_skills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `skills` = "'.$u->info['skills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно приобрели 1 умение за '.$price.' ед. награды
'; - } else { - echo 'Ничего не получилось...
'; - } - } else echo 'Недостаточно репутации.'; - } else { - echo 'Ничего не получилось...
'; - } - } elseif( $_GET['buy1'] == 3 ) { // Кредиты - $price = 100; - $cur_price = array('price'=>0); - if( $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Покупаем кредиты - foreach($dungeon['list'] as $key=>$val){ - if( !( $cur_price['price'] >= $price ) ) { - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - if( $price == $cur_price['price'] ) { - foreach( $dungeon['list'] as $key => $val ) { - if( isset( $cur_price['nu_'.$val] ) && isset( $u->rep['nu_'.$val] ) && $rt == 1 ) { - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - $r = mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($r) $rt = 1; else $rt = 0; - } - } - if($rt==1){ - $u->info['money'] += 10; $u->rep['add_money'] += 10; - mysql_query('UPDATE `rep` SET `add_money` = "'.$u->rep['add_money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно приобрели 10 кр. за '.$price.' ед. награды
'; - } else { - echo 'Ничего не получилось...
'; - } - } else echo 'Недостаточно репутации.'; - }else{ - echo 'Ничего не получилось...
'; - } - } elseif( $_GET['buy1'] == 4 ) { // Особенности - $price = 3000; - $cur_price = array('price'=>0); - if( 5 - $u->rep['add_skills2'] > 0 && $u->rep['allrep']-$u->rep['allnurep'] >= $price ) { // Особенности - foreach($dungeon['list'] as $key=>$val){ - if( !( $cur_price['price'] >= $price ) ) { - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - if( $price == $cur_price['price'] ) { - foreach( $dungeon['list'] as $key => $val ) { - if( isset( $cur_price['nu_'.$val] ) && isset( $u->rep['nu_'.$val] ) && $rt == 1 ) { - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - $r = mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($r) $rt = 1; else $rt = 0; - } - } - if($rt==1){ - $u->info['sskills'] += 1; $u->rep['add_skills2'] += 1; - mysql_query('UPDATE `rep` SET `add_skills2` = "'.$u->rep['add_skills2'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `sskills` = "'.$u->info['sskills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно приобрели 1 особенность за '.$price.' ед. награды
'; - } else { - echo 'Ничего не получилось...
'; - } - } else echo 'Недостаточно репутации.'; - - } else { - echo 'Ничего не получилось...
'; - } - }elseif( $_GET['buy1'] == 5 ) { - //покупаем слоты - $price = 2000+($u->rep['add_slot']*2000); - $price_kr = 500+($u->rep['add_slot']*500); - $cur_price = array('price'=>0); - if( $price_kr > $u->info['money'] ) { - echo 'Недостаточно денег
'; - }elseif( 4 - $u->rep['add_slot'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price ) { // Характеристики! - foreach( $dungeon['list'] as $key => $val ) { - if( !( $cur_price['price'] >= $price ) ) { - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - //$mnt1 = ( isset( $rt ) && $rt == 1 ? ($u->rep['allrep']-$u->rep['allnurep'])-$cur_price['price'] : ($u->rep['allrep']-$u->rep['allnurep']) ); - //print_r($dungeon['list']); - // - if( $price == $cur_price['price'] ) { - foreach( $dungeon['list'] as $key => $val ) { - //echo '['.$val.'->'.$cur_price['nu_'.$val].'->'.$u->rep['nu_'.$val].'->'.$rt.']'; - if( isset( $cur_price['nu_'.$val] ) && isset( $u->rep['nu_'.$val] ) && $rt == 1 ) { - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - $r = mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($r) $rt = 1; else $rt = 0; - } - } - if($rt==1){ + //Начисление бонуса награды + if (isset($_GET['buy1'])) { + $rt = 1; + if ($_GET['buy1'] == 1) { + //покупаем статы + $price = 2000; + $cur_price = ['price' => 0]; + if (50 - $u->rep['add_stats'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Характеристики! + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + if ($price == $cur_price['price']) { + foreach ($dungeon['list'] as $key => $val) { + if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $rt = $r ? 1 : 0; + } + } + if ($rt == 1) { + $u->info['ability'] += 1; + $u->rep['add_stats'] += 1; + mysql_query('UPDATE `rep` SET `add_stats` = "' . $u->rep['add_stats'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `ability` = "' . $u->info['ability'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + echo 'Вы успешно приобрели 1 способность за ' . $price . ' ед. награды
'; + } else { + echo 'Ничего не получилось...
'; + } + } else echo 'Недостаточно репутации.'; + } else { + echo 'Ничего не получилось...
'; + } + } elseif ($_GET['buy1'] == 2) { // Умения! + $price = 5000; + $cur_price = ['price' => 0]; + if (15 - $u->rep['add_skills'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Умения! + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + if ($price == $cur_price['price']) { + foreach ($dungeon['list'] as $key => $val) { + if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $rt = $r ? 1 : 0; + } + } + if ($rt == 1) { + $u->info['skills'] += 1; + $u->rep['add_skills'] += 1; + mysql_query('UPDATE `rep` SET `add_skills` = "' . $u->rep['add_skills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `skills` = "' . $u->info['skills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + echo 'Вы успешно приобрели 1 умение за ' . $price . ' ед. награды
'; + } else { + echo 'Ничего не получилось...
'; + } + } else { + echo 'Недостаточно репутации.'; + } + } else { + echo 'Ничего не получилось...
'; + } + } elseif ($_GET['buy1'] == 3) { // Кредиты + $price = 100; + $cur_price = ['price' => 0]; + if ($u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Покупаем кредиты + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + if ($price == $cur_price['price']) { + foreach ($dungeon['list'] as $key => $val) { + if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $rt = $r ? 1 : 0; + } + } + if ($rt == 1) { + $u->info['money'] += 10; + $u->rep['add_money'] += 10; + mysql_query('UPDATE `rep` SET `add_money` = "' . $u->rep['add_money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + echo 'Вы успешно приобрели 10 кр. за ' . $price . ' ед. награды
'; + } else { + echo 'Ничего не получилось...
'; + } + } else { + echo 'Недостаточно репутации.'; + } + } else { + echo 'Ничего не получилось...
'; + } + } elseif ($_GET['buy1'] == 4) { // Особенности + $price = 3000; + $cur_price = ['price' => 0]; + if (5 - $u->rep['add_skills2'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Особенности + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + if ($price == $cur_price['price']) { + foreach ($dungeon['list'] as $key => $val) { + if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if ($r) $rt = 1; else $rt = 0; + } + } + if ($rt == 1) { + $u->info['sskills'] += 1; + $u->rep['add_skills2'] += 1; + mysql_query('UPDATE `rep` SET `add_skills2` = "' . $u->rep['add_skills2'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `sskills` = "' . $u->info['sskills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + echo 'Вы успешно приобрели 1 особенность за ' . $price . ' ед. награды
'; + } else { + echo 'Ничего не получилось...
'; + } + } else echo 'Недостаточно репутации.'; - $u->info['priemslot'] += 1; - $u->rep['add_slot'] += 1; - $u->info['money'] -= $price_kr; - mysql_query('UPDATE `rep` SET `add_slot` = "'.$u->rep['add_slot'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `priemslot` = "'.$u->info['priemslot'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно приобрели 1 слот для приема за '.$price.' награды и '.$price_kr.' кр.
'; - } else { - echo 'Ничего не получилось...
'; - } - } else echo 'Недостаточно репутации.'; - } else { - echo 'Ничего не получилось...
'; - } - } - } - //цена на слоты - ?> -
- Наград: rep['allrep']-$u->rep['allnurep'])-$cur_price['price'] : ($u->rep['allrep']-$u->rep['allnurep']) );?> - ед. - - rep['add_stats']) > 0 ) { ?> - - - - - - - rep['add_skills']) > 0 ) { ?> - - - - - - - - - - - - rep['add_slot']) > 0 ) { ?> - - - - - - -
Способность (еще rep['add_stats'])?>)за 2000 ед.
Умение (еще rep['add_skills'])?>)за 5000 ед.
Деньги (10 кр.)за 100 ед.
Слоты (еще rep['add_slot'])?>)за rep['add_slot']*2000);?> ед. и rep['add_slot']*500); ?> кр.
-
- info['id'].'" LIMIT 1000')); - if(isset($_GET['buy777']) && $chk[0]>0) { - ?> -
-

+ } else { + echo 'Ничего не получилось...
'; + } + } elseif ($_GET['buy1'] == 5) { + //покупаем слоты + $price = 2000 + ($u->rep['add_slot'] * 2000); + $price_kr = 500 + ($u->rep['add_slot'] * 500); + $cur_price = ['price' => 0]; + if ($price_kr > $u->info['money']) { + echo 'Недостаточно денег
'; + } elseif (4 - $u->rep['add_slot'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Характеристики! + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + if ($price == $cur_price['price']) { + foreach ($dungeon['list'] as $key => $val) { + //echo '['.$val.'->'.$cur_price['nu_'.$val].'->'.$u->rep['nu_'.$val].'->'.$rt.']'; + if (isset($cur_price['nu_' . $val]) && isset($u->rep['nu_' . $val]) && $rt == 1) { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + $r = mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if ($r) $rt = 1; else $rt = 0; + } + } + if ($rt == 1) { + + $u->info['priemslot'] += 1; + $u->rep['add_slot'] += 1; + $u->info['money'] -= $price_kr; + mysql_query('UPDATE `rep` SET `add_slot` = "' . $u->rep['add_slot'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `priemslot` = "' . $u->info['priemslot'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + echo 'Вы успешно приобрели 1 слот для приема за ' . $price . ' награды и ' . $price_kr . ' кр.
'; + } else { + echo 'Ничего не получилось...
'; + } + } else echo 'Недостаточно репутации.'; + } else { + echo 'Ничего не получилось...
'; + } + } + } + //цена на слоты + ?> +

+ + Наград: + + rep['allrep'] - $u->rep['allnurep']) - $cur_price['price'] : ($u->rep['allrep'] - $u->rep['allnurep'])); ?> + + ед. + + + rep['add_stats']) > 0) { ?> + + + + + + + rep['add_skills']) > 0) { ?> + + + + + + + + + + + + rep['add_slot']) > 0) { ?> + + + + + + +
Способность (еще rep['add_stats']) ?>)за 2000 ед. +
Умение (еще rep['add_skills']) ?>)за 5000 ед. +
Деньги (10 кр.)за 100 ед.
Слоты (еще rep['add_slot']) ?>)за rep['add_slot'] * 2000); ?> ед. и rep['add_slot'] * 500); ?> кр.
+
+ info['id'] . '" LIMIT 1000')); + if (isset($_GET['buy777']) && $chk[0] > 0) { + ?> +
+

info['id'].'" LIMIT 1000'); - while($chk_pl = mysql_fetch_array($chk_cl)) { - if(mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$chk_pl['id'].'" LIMIT 1')); - { - $x++; $prc += $chk_pl['price1']; - } - } - $u->info['money'] += $prc; - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сдали чеки в количестве '.$x.' шт. на сумму '.$prc.' кр.
'; - $chk[0] = 0; - ?> + $chk_cl = mysql_query('SELECT `u`.`id`,`m`.`price1` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `m`.`type` = "61" AND `u`.`delete` = "0" AND `u`.`inOdet` = "0" AND `u`.`inShop` = "0" AND `u`.`inTransfer` = "0" AND `u`.`uid` = "' . $u->info['id'] . '" LIMIT 1000'); + while ($chk_pl = mysql_fetch_array($chk_cl)) { + if (mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $chk_pl['id'] . '" LIMIT 1')) { + $x++; + $prc += $chk_pl['price1']; + } + } + $u->info['money'] += $prc; + mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + echo 'Вы успешно сдали чеки в количестве ' . $x . ' шт. на сумму ' . $prc . ' кр.
'; + $chk[0] = 0; + ?>

-
0) { - ?> - - -
- - $val){ - if( $u->rep['rep'.$val] >= 0 ) { - echo ' - - + 0) { + ?> + + +
+
Репутация в '.ucfirst(str_replace('city',' city',$val)).':'.$u->rep['rep'.$val].' ед.
+ $val) { + if ($u->rep['rep' . $val] >= 0) { + echo ' + + '; - } - } - ?> -
Репутация в ' . ucfirst(str_replace('city', ' city', $val)) . ':' . $u->rep['rep' . $val] . ' ед.
- Текущая репутация: -
-
-info['dn']==0){ - ?> - - -
-
-
- Группа - Выберите пещеру:
- -
+ } + } + ?> +
+ Текущая репутация: +
+
+ info['dn'] == 0) { + ?> + + + - -
+ +
+ Группа + Выберите пещеру: +
+ +

- -
+ +

-
-
- -
-
-
-
-
-
-
-
- info['level'] == 12){?> -
-
- -
-
+
+
+ +
+
+
+
+
+
+
+
+ info['level'] == 12) { ?> +
+
+ +
+
-
- Пароль - -
+
+ Пароль + +
- -  
+ +  
-
- -
- info['id']){ - $psh_start = '  '; - } - echo '
+ +
+ + + + info['id']) { + $psh_start = '  '; + } + echo '
Группа - '.$psh_start.' + ' . $psh_start . '
'; - } - } - }else{ - echo 'Поход в пещеры разрешен один раз в два часа. Осталось еще: '.$u->timeOut(60*60*2-time()+$dungeon_timeout['time']).'
Но Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)'; + } + } + } else { + echo 'Поход в пещеры разрешен один раз в два часа. Осталось еще: ' . $u->timeOut(60 * 60 * 2 - time() + $dungeon_timeout['time']) . '
Но Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)'; - } - } + } } -?> diff --git a/modules_data/location/dungeon_shop.php b/modules_data/location/dungeon_shop.php deleted file mode 100644 index 27de945f..00000000 --- a/modules_data/location/dungeon_shop.php +++ /dev/null @@ -1,254 +0,0 @@ -room['file'] == 'dungeon_shop' ) { - - if(!isset($_GET['otdel'])){ - $_GET['otdel'] = 1; - } - - $dungeon = mysql_fetch_array( mysql_query('SELECT * FROM `dungeon_room` WHERE `shop`="'.$u->room['id'].'" LIMIT 1') ); - $getout_room = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `id` = "'.$dungeon['id'].'" LIMIT 1')); - - if($u->room['id'] == 379) $sid = 803; // Катакомбы - elseif($u->room['id'] == 373) $sid = 802; // Пещера Тысячи Проклятий - elseif($u->room['id'] == 367) $sid = 801; // Бездна - elseif($u->room['id'] == 381) $sid = 804; // Пещера Мглы - $error = ''; - - if(isset($_GET['buy'])){ - if($u->newAct($_GET['sd4'])==true){ - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Разное"', - 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 => 'Отдел "Подарки: фейерверки"', - 37 => 'Отдел "Усиление оружия: заточки"', - 38 => 'Отдел "Наставничество: образы"' - - ); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - '.$getout_room['name'].''; - } - ?> - -
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   - info['level'] < 8) { - ?> -
Зубов: zuby($u->info['money4'])?>     - -
-
-
-
-
-
Отделы магазина
-
- 'Рыцарское задание', - ); - if($u->rep['rep'.$dungeon['city']] >= 10000){ - if($sid==802) $otdels_array[8] = 'Плащи'; - if($sid==802) $otdels_array[14] = 'Шлемы'; - if($sid==801) $otdels_array[9] = 'Сапоги'; - if($sid==803) $otdels_array[12] = 'Легкая броня'; - if($sid==803) $otdels_array[13] = 'Тяжелая броня'; - if($sid==804) $otdels_array[10] = 'Перчатки'; - $otdels_array[22] = 'Заклинания'; - $otdels_array[7] = 'Ресурсы'; - } - foreach($otdels_array as $key=>$val){ - if(isset($key) && isset($val)){ - if(isset($_GET['otdel']) && $_GET['otdel']==$key) { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ''; - } - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - }else{ - $color = 'e2e0e0'; - } - echo '
'; - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/location/dungeon_shop_all.php b/modules_data/location/dungeon_shop_all.php deleted file mode 100644 index 48bdabbc..00000000 --- a/modules_data/location/dungeon_shop_all.php +++ /dev/null @@ -1,224 +0,0 @@ -room['file'] == 'dungeon_shop_all' ) { - - if(!isset($_GET['otdel'])){ - $_GET['otdel'] = 1; - } - - $dungeon = mysql_fetch_array( mysql_query('SELECT * FROM `dungeon_room` WHERE `shop`="'.$u->room['id'].'" LIMIT 1') ); - $getout_room = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `id` = "'.$dungeon['id'].'" LIMIT 1')); - - $sid = 400; // Общий рыцарский магазин - $error = ''; - - if(isset($_GET['buy'])){ - if($u->newAct($_GET['sd4'])==true){ - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Пещера Тысячи Проклятий"', - 2 => 'Отдел "Бездна"', - 3 => 'Отдел "Пещеры Мглы"', - 4 => 'Отдел "Катакомбы"', - 5 => 'Отдел "Потеряный вход"', - 6 => 'Отдел "Грибница"', - - 7 => 'Отдел  Туманные Низины ', - - 8 => 'Отдел "Другие предметы подземелий"' - - ); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - Магический портал'; - } - ?> - -
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   - info['level'] < 8) { - ?> -
Зубов: zuby($u->info['money4'])?>     - -
-
-
-
-
-
Отделы магазина
-
- ' Пещера Тысячи Проклятий', - 2=>' Бездна', - 3=>' Пещеры Мглы', - 4=>' Катакомбы', - 5=>' Потеряный вход', - 6=>' Грибница', - 7=>' Туманные Низины', - 8=>' Другое ...' - ); - if($u->rep['rep'.$dungeon['city']] >= 10000){ - if($sid==802) $otdels_array[8] = 'Плащи'; - if($sid==802) $otdels_array[14] = 'Шлемы'; - if($sid==801) $otdels_array[9] = 'Сапоги'; - if($sid==803) $otdels_array[12] = 'Легкая броня'; - if($sid==803) $otdels_array[13] = 'Тяжелая броня'; - if($sid==804) $otdels_array[10] = 'Перчатки'; - $otdels_array[22] = 'Заклинания'; - $otdels_array[7] = 'Ресурсы'; - } - foreach($otdels_array as $key=>$val){ - if(isset($key) && isset($val)){ - if(isset($_GET['otdel']) && $_GET['otdel']==$key) { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ''; - } - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - }else{ - $color = 'e2e0e0'; - } - echo '
'; - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/location/enterbezdna_shop.php b/modules_data/location/enterbezdna_shop.php deleted file mode 100644 index 09b9fb13..00000000 --- a/modules_data/location/enterbezdna_shop.php +++ /dev/null @@ -1,210 +0,0 @@ -room['file']=='enterbezdna_shop') -{ - - if(!isset($_GET['otdel'])){ - $_GET['otdel'] = 1; - } - - if( $u->rep['repangelscity'] < 10000 ) { - if( $_GET['otdel'] == 19 OR $_GET['otdel'] == 32 ){ - $_GET['otdel'] = 1; - } - } - $sid = 801; - - $error = ''; - - if(isset($_GET['buy'])){ - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Рыцарское задание"' - ); - if($u->rep['repangelscity'] >= 10000){ - $otdels_small_array[19] = 'Отдел "Заклинания"'; - $otdels_small_array[32] = 'Отдел "Ресурсы"'; - } - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вход в Бездну
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   - info['level'] < 8) { - ?> -
Зубов: zuby($u->info['money4'])?>     - -
-
-
-
-
-
Отделы магазина
-
- 'Рыцарское задание', - ); - if($u->rep['repangelscity'] >= 10000){ - //$otdels_array[9] = 'Плащи'; - $otdels_array[19] = 'Заклинания'; - $otdels_array[32] = 'Ресурсы'; - } - foreach($otdels_array as $key=>$val){ - if(isset($key) && isset($val)){ - if(isset($_GET['otdel']) && $_GET['otdel']==$key) { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ''; - } - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - }else{ - $color = 'e2e0e0'; - } - echo '
'; - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/location/enterptp.php b/modules_data/location/enterptp.php index d0f6521a..c5dae366 100644 --- a/modules_data/location/enterptp.php +++ b/modules_data/location/enterptp.php @@ -1,768 +1,756 @@ room['file']=='enterptp'){ -if(isset($_GET['rz'])) $roomSection = 1; // Получаем Задание - else $roomSection = 0; // Собираем группу для похода - +if ($u->room['file'] != 'enterptp') { + return; +} +// 1 Получаем Задание, 0 Собираем группу для похода +$roomSection = isset($_GET['rz']) ? 1 : 0; + $dun = 0; /* - if($u->room['id']==372){ $dun = 12; } // Вход в Пещеру Тысячи Проклятий , CapitalCity -elseif($u->room['id']==369){ $dun = 102; } // Вход в подземелье Драконов, +if($u->room['id']==372){ $dun = 12; } // Вход в Пещеру Тысячи Проклятий , CapitalCity +elseif($u->room['id']==369){ $dun = 102; } // Вход в подземелье Драконов, elseif($u->room['id']==354){ $dun = 101; } // Вход в Бездну , AngelsCity elseif($u->room['id']==293){ $dun = 3; } // Вход в Катакомбы , DemonsCity elseif($u->room['id']==296){ $dun = 11; } // Вход в Некровиль , для новичков 2-7 лвл elseif($u->room['id']==18){ $dun = 10; } // Вход в Грибницу , для новичков 2-7 лвл SandCity -elseif($u->room['id']==209){ $dun = 20; } // Вход в Ледяную пещеру, -elseif($u->room['id']==188){ $dun = 1; } // Вход в Вход в канализацию +elseif($u->room['id']==209){ $dun = 20; } // Вход в Ледяную пещеру, +elseif($u->room['id']==188){ $dun = 1; } // Вход в Вход в канализацию */ -$dungeon = mysql_fetch_assoc(mysql_query('SELECT `id` as room, `dungeon_id` as id, `dungeon_name` as name FROM `dungeon_room` WHERE `id`="'.$u->room['id'].'" LIMIT 1')); -$dungeon['list'] = array( - // список подземелий, которые используются для вычита используемой репутации. - // При добавлении в список нового города, следует проверить наличие ячеек в таблице `rep`. - // Так-же следует помнить, что в __user.php в выводе инвентаря, некоторых подземелий\городов, нету. - // Да и вообще, херня получается, что наши подземелья считаются как Город, то есть два подземелья на город - технически нет такого. Так-как ПТП это capitalcity. - 1=>'capitalcity', - 2=>'demonscity', - 3=>'angelscity', - 4=>'devilscity', - 5=>'suncity'); +$dungeon = mysql_fetch_assoc(mysql_query('SELECT `id` as room, `dungeon_id` as id, `dungeon_name` as name FROM `dungeon_room` WHERE `id`="' . $u->room['id'] . '" LIMIT 1')); +$dungeon['list'] = [ + // список подземелий, которые используются для вычита используемой репутации. + // При добавлении в список нового города, следует проверить наличие ячеек в таблице `rep`. + // Так-же следует помнить, что в __user.php в выводе инвентаря, некоторых подземелий\городов, нету. + // Да и вообще, херня получается, что наши подземелья считаются как Город, то есть два подземелья на город - технически нет такого. Так-как ПТП это capitalcity. + 1 => 'capitalcity', + 2 => 'demonscity', + 3 => 'angelscity', + 4 => 'devilscity', + 5 => 'suncity']; $er = ''; // Собираем ошибки. $dungeonGroupList = ''; // Сюда помещаем список Групп. $dungeonGo = 1; // По умолчанию, мы идем в пещеру. -if($u->info['dn']>0){ // Если ты пошел гулять, так иди и гуляй! - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `id`="'.$u->info['dn'].'" AND `delete` = "0" LIMIT 1')); - if(!isset($zv['id'])){ - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - } +if ($u->info['dn'] > 0) { // Если ты пошел гулять, так иди и гуляй! + $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `id`="' . $u->info['dn'] . '" AND `delete` = "0" LIMIT 1')); + if (!isset($zv['id'])) { + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + } } -$dungeon_timeout = $u->testAction('`uid` = "'.$u->info['id'].'" AND `vars` = "psh'.$dungeon['id'].'" AND `time` > '.(time()-60*60*2).' LIMIT 1',1); // Проверка - последний визит? +$dungeon_timeout = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `vars` = "psh' . $dungeon['id'] . '" AND `time` > ' . (time() - 60 * 60 * 2) . ' LIMIT 1', 1); // Проверка - последний визит? // if($u->info['admin']>0) unset($dungeon_timeout); // $dungeon_timeout - задержка на посещение пещеры. -if(isset($dungeon_timeout['id'])) // Кто-то передумал и не пойдет в пещеру, так-как уже там был. +if (isset($dungeon_timeout['id'])) // Кто-то передумал и не пойдет в пещеру, так-как уже там был. { - $dungeonGo = 0; - if(isset($_GET['start'])) - { - $re = 'До следующего похода осталось еще: '.$u->timeOut(60*60*2-time()+$dungeon_timeout['time']); - } + $dungeonGo = 0; + if (isset($_GET['start'])) { + $re = 'До следующего похода осталось еще: ' . $u->timeOut(60 * 60 * 2 - time() + $dungeon_timeout['time']); + } } -if(isset($_GET['start']) && $zv['uid']==$u->info['id'] && $dungeonGo == 1){ - //начинаем поход - //начинаем поход - $ig = 1; - if($ig>0) - { - //перемещаем игроков в пещеру - //$u->addAction(time(),'psh'.$dun,''); - $ins = mysql_query('INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) - VALUES ("'.$zv['city'].'","'.$zv['uid'].'","'.$dungeon['id'].'","Бездна","'.time().'")'); - if($ins) - { - $zid = mysql_insert_id(); - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - //обновляем пользователей - $su = mysql_query('SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$zv['id'].'" LIMIT '.($zv['team_max']+1).''); - $ids = ''; - - $map_locs = array(); - $spm2 = mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = "'.$dungeon['id'].'"'); - while( $plm2 = mysql_fetch_array($spm2)) { - $map_locs[] = array($plm2['x'],$plm2['y']); - } - unset($spm2,$plm2); - - while($pu = mysql_fetch_array($su)) - { - $ids .= ' `id` = "'.$pu['id'].'" OR'; - $u->addAction(time(),'psh'.$dungeon['id'],'',$pu['id']); - //Добавляем квестовые обьекты для персонажей - $sp = mysql_query('SELECT * FROM `actions` WHERE `uid` = "'.$u->info['id'].'" AND `vars` LIKE "%start_quest%" AND `vals` = "go" LIMIT 100'); - while($pl2 = mysql_fetch_array($sp)) - { - $pl = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "'.(str_replace('start_quest','',$pl2['vars'])).'" AND `line` = "'.$dungeon['id'].'" LIMIT 1')); - if( isset($pl['id']) ) { - $act = explode(',',$pl['act_date']); - $i = 0; - while( $i < count($act) ) { - $xr = explode(':=:',$act[$i]); - //Сбор ресурсов - if( $xr[0] == 'tk_itm' ) { - $xr2 = explode('=',$xr[1]); - if( $xr2[2] == 0 ) { - //Добавляем обьект для юзера - $j = 0; - while( $j < $xr2[1] ) { - $cord = $map_locs[rand(0,count($map_locs)-1)]; - if( $cord[0] != 0 || $cord[1] != 0 ) { - mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( - "'.$zid.'","'.$u->info['id'].'","'.$xr2[0].'","'.time().'","'.$cord[0].'","'.$cord[1].'","'.$u->info['id'].'","'.$pl['id'].'" - )'); - } - $j++; - } - }else{ - //Предмет находится в конкретном месте - mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( - "'.$zid.'","'.$u->info['id'].'","'.$xr2[0].'","'.time().'","'.$xr2[2].'","'.$xr2[3].'","'.$u->info['id'].'","'.$pl['id'].'" - )'); - } - // - } - $i++; - } - } - } - // - } - $ids = rtrim($ids,'OR'); - $upd1 = mysql_query('UPDATE `stats` SET `s`="1",`res_s`="1",`x`="0",`y`="0",`res_x`="0",`res_y`="0",`dn` = "0",`dnow` = "'.$zid.'" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - if($upd1) - { - $upd2 = mysql_query('UPDATE `users` SET `room` = "374" WHERE '.$ids.' LIMIT '.($zv['team_max']+1).''); - //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id'] - //Добавляем ботов - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "'.$dungeon['id'].'"'); - while($pl = mysql_fetch_array($sp)) - { - $vls .= '("'.$zid.'","'.$pl['id_bot'].'","'.$pl['colvo'].'","'.$pl['items'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['dialog'].'","'.$pl['items'].'","'.$pl['go_bot'].'"),'; - } - $vls = rtrim($vls,','); - $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`) VALUES '.$vls.''); - //Добавляем обьекты - $vls = ''; - $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "'.$dungeon['id'].'"'); - while($pl = mysql_fetch_array($sp)) - { - $vls .= '("'.$zid.'","'.$pl['name'].'","'.$pl['img'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['action'].'","'.$pl['type'].'","'.$pl['w'].'","'.$pl['h'].'","'.$pl['s'].'","'.$pl['s2'].'","'.$pl['os1'].'","'.$pl['os2'].'","'.$pl['os3'].'","'.$pl['os4'].'","'.$pl['type2'].'","'.$pl['top'].'","'.$pl['left'].'","'.$pl['date'].'"),'; - } - $vls = rtrim($vls,','); - if($vls!='') - { - $ins2 = mysql_query('INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES '.$vls.''); - }else{ - $ins2 = true; - } - if($upd2 && $ins1 && $ins2) - { - die(''); - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - }else{ - $re = 'Ошибка перехода в подземелье...'; - } - } -}elseif(isset($_POST['go'],$_POST['goid']) && $dungeonGo==1) -{ - if(!isset($zv['id'])) - { - $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "'.$u->info['city'].'" AND `id`="'.mysql_real_escape_string($_POST['goid']).'" AND `delete` = "0" LIMIT 1')); - if(isset($zv['id']) && $u->info['dn'] == 0) - { - if( $zv['pass'] != '' && $_POST['pass_com'] != $zv['pass'] ) { - $re = 'Вы ввели неправильный пароль'; - }elseif($u->info['level'] > 7) - { - $row = 0; - if(5 > $row) - { - $upd = mysql_query('UPDATE `stats` SET `dn` = "'.$zv['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if(!$upd) - { - $re = 'Не удалось вступить в эту группу'; - unset($zv); - }else{ - $u->info['dn'] = $zv['id']; - } - }else{ - $re = 'В группе нет места'; - unset($zv); - } - }else{ - $re = 'Вы не подходите по уровню'; - unset($zv); - } - }else{ - $re = 'Заявка не найдена'; - } - }else{ - $re = 'Вы уже находитесь в группе'; - } -}elseif(isset($_POST['leave']) && isset($zv['id']) && $dungeonGo == 1) -{ - if($zv['uid']==$u->info['id']) - { - //ставим в группу нового руководителя - $ld = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `dn` = "'.$zv['id'].'" AND `id` != "'.$u->info['id'].'" LIMIT 1')); - if(isset($ld['id'])) - { - $zv['uid'] = $ld['id']; - mysql_query('UPDATE `dungeon_zv` SET `uid` = "'.$zv['uid'].'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - }else{ - //удаляем группу целиком - mysql_query('UPDATE `dungeon_zv` SET `delete` = "'.time().'" WHERE `id` = "'.$zv['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } - }else{ - //просто выходим с группы - mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['dn'] = 0; - unset($zv); - } -} elseif( isset($_POST['add']) && $u->info['level'] > 1 && $dungeonGo == 1 ) { - if($u->info['dn']==0) - { - $ins = mysql_query('INSERT INTO `dungeon_zv` - (`city`,`time`,`uid`,`dun`,`pass`,`com`,`lvlmin`,`lvlmax`,`team_max`) VALUES - ("'.$u->info['city'].'","'.time().'","'.$u->info['id'].'","'.$dungeon['id'].'", - "'.mysql_real_escape_string($_POST['pass']).'", - "'.mysql_real_escape_string($_POST['text']).'", - "8", - "21", - "5")'); - if($ins) - { - $u->info['dn'] = mysql_insert_id(); - $zv['id'] = $u->info['dn']; - $zv['uid'] = $u->info['id']; - mysql_query('UPDATE `stats` SET `dn` = "'.$u->info['dn'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $re = 'Вы успешно создали группу'; - }else{ - $re = 'Не удалось создать группу'; - } - }else{ - $re = 'Вы уже находитесь в группе'; - } +if (isset($_GET['start']) && $zv['uid'] == $u->info['id'] && $dungeonGo == 1) { + //начинаем поход + //начинаем поход + $ig = 1; + if ($ig > 0) { + //перемещаем игроков в пещеру + //$u->addAction(time(),'psh'.$dun,''); + $ins = mysql_query('INSERT INTO `dungeon_now` (`city`,`uid`,`id2`,`name`,`time_start`) + VALUES ("' . $zv['city'] . '","' . $zv['uid'] . '","' . $dungeon['id'] . '","Бездна","' . time() . '")'); + if ($ins) { + $zid = mysql_insert_id(); + mysql_query('UPDATE `dungeon_zv` SET `delete` = "' . time() . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); + //обновляем пользователей + $su = mysql_query('SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $zv['id'] . '" LIMIT ' . ($zv['team_max'] + 1) . ''); + $ids = ''; + + $map_locs = []; + $spm2 = mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = "' . $dungeon['id'] . '"'); + while ($plm2 = mysql_fetch_array($spm2)) { + $map_locs[] = [$plm2['x'], $plm2['y']]; + } + unset($spm2, $plm2); + + while ($pu = mysql_fetch_array($su)) { + $ids .= ' `id` = "' . $pu['id'] . '" OR'; + $u->addAction(time(), 'psh' . $dungeon['id'], '', $pu['id']); + //Добавляем квестовые обьекты для персонажей + $sp = mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` LIKE "%start_quest%" AND `vals` = "go" LIMIT 100'); + while ($pl2 = mysql_fetch_array($sp)) { + $pl = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . (str_replace('start_quest', '', $pl2['vars'])) . '" AND `line` = "' . $dungeon['id'] . '" LIMIT 1')); + if (isset($pl['id'])) { + $act = explode(',', $pl['act_date']); + $i = 0; + while ($i < count($act)) { + $xr = explode(':=:', $act[$i]); + //Сбор ресурсов + if ($xr[0] == 'tk_itm') { + $xr2 = explode('=', $xr[1]); + if ($xr2[2] == 0) { + //Добавляем обьект для юзера + $j = 0; + while ($j < $xr2[1]) { + $cord = $map_locs[rand(0, count($map_locs) - 1)]; + if ($cord[0] != 0 || $cord[1] != 0) { + mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( + "' . $zid . '","' . $u->info['id'] . '","' . $xr2[0] . '","' . time() . '","' . $cord[0] . '","' . $cord[1] . '","' . $u->info['id'] . '","' . $pl['id'] . '" + )'); + } + $j++; + } + } else { + //Предмет находится в конкретном месте + mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`onlyfor`,`quest`) VALUES ( + "' . $zid . '","' . $u->info['id'] . '","' . $xr2[0] . '","' . time() . '","' . $xr2[2] . '","' . $xr2[3] . '","' . $u->info['id'] . '","' . $pl['id'] . '" + )'); + } + // + } + $i++; + } + } + } + // + } + $ids = rtrim($ids, 'OR'); + $upd1 = mysql_query('UPDATE `stats` SET `s`="1",`res_s`="1",`x`="0",`y`="0",`res_x`="0",`res_y`="0",`dn` = "0",`dnow` = "' . $zid . '" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . ''); + if ($upd1) { + $upd2 = mysql_query('UPDATE `users` SET `room` = "374" WHERE ' . $ids . ' LIMIT ' . ($zv['team_max'] + 1) . ''); + //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id'] + //Добавляем ботов + $vls = ''; + $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $dungeon['id'] . '"'); + while ($pl = mysql_fetch_array($sp)) { + $vls .= '("' . $zid . '","' . $pl['id_bot'] . '","' . $pl['colvo'] . '","' . $pl['items'] . '","' . $pl['x'] . '","' . $pl['y'] . '","' . $pl['dialog'] . '","' . $pl['items'] . '","' . $pl['go_bot'] . '"),'; + } + $vls = rtrim($vls, ','); + $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`) VALUES ' . $vls . ''); + //Добавляем обьекты + $vls = ''; + $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "' . $dungeon['id'] . '"'); + while ($pl = mysql_fetch_array($sp)) { + $vls .= '("' . $zid . '","' . $pl['name'] . '","' . $pl['img'] . '","' . $pl['x'] . '","' . $pl['y'] . '","' . $pl['action'] . '","' . $pl['type'] . '","' . $pl['w'] . '","' . $pl['h'] . '","' . $pl['s'] . '","' . $pl['s2'] . '","' . $pl['os1'] . '","' . $pl['os2'] . '","' . $pl['os3'] . '","' . $pl['os4'] . '","' . $pl['type2'] . '","' . $pl['top'] . '","' . $pl['left'] . '","' . $pl['date'] . '"),'; + } + $vls = rtrim($vls, ','); + if ($vls != '') { + $ins2 = mysql_query('INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES ' . $vls . ''); + } else { + $ins2 = true; + } + if ($upd2 && $ins1 && $ins2) { + die(''); + } else { + $re = 'Ошибка перехода в подземелье... ptp1'; + } + } else { + $re = 'Ошибка перехода в подземелье... ptp2'; + } + } else { + $re = 'Ошибка перехода в подземелье... ptp3'; + } + } +} elseif (isset($_POST['go'], $_POST['goid']) && $dungeonGo == 1) { + if (!isset($zv['id'])) { + $zv = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "' . $u->info['city'] . '" AND `id`="' . mysql_real_escape_string($_POST['goid']) . '" AND `delete` = "0" LIMIT 1')); + if (isset($zv['id']) && $u->info['dn'] == 0) { + if ($zv['pass'] != '' && $_POST['pass_com'] != $zv['pass']) { + $re = 'Вы ввели неправильный пароль'; + } elseif ($u->info['level'] > 7) { + $row = 0; + if (5 > $row) { + $upd = mysql_query('UPDATE `stats` SET `dn` = "' . $zv['id'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if (!$upd) { + $re = 'Не удалось вступить в эту группу'; + unset($zv); + } else { + $u->info['dn'] = $zv['id']; + } + } else { + $re = 'В группе нет места'; + unset($zv); + } + } else { + $re = 'Вы не подходите по уровню'; + unset($zv); + } + } else { + $re = 'Заявка не найдена'; + } + } else { + $re = 'Вы уже находитесь в группе'; + } +} elseif (isset($_POST['leave']) && isset($zv['id']) && $dungeonGo == 1) { + if ($zv['uid'] == $u->info['id']) { + //ставим в группу нового руководителя + $ld = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `dn` = "' . $zv['id'] . '" AND `id` != "' . $u->info['id'] . '" LIMIT 1')); + if (isset($ld['id'])) { + $zv['uid'] = $ld['id']; + mysql_query('UPDATE `dungeon_zv` SET `uid` = "' . $zv['uid'] . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + unset($zv); + } else { + //удаляем группу целиком + mysql_query('UPDATE `dungeon_zv` SET `delete` = "' . time() . '" WHERE `id` = "' . $zv['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + unset($zv); + } + } else { + //просто выходим с группы + mysql_query('UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['dn'] = 0; + unset($zv); + } +} elseif (isset($_POST['add']) && $u->info['level'] > 1 && $dungeonGo == 1) { + if ($u->info['dn'] == 0) { + $ins = mysql_query('INSERT INTO `dungeon_zv` + (`city`,`time`,`uid`,`dun`,`pass`,`com`,`lvlmin`,`lvlmax`,`team_max`) VALUES + ("' . $u->info['city'] . '","' . time() . '","' . $u->info['id'] . '","' . $dungeon['id'] . '", + "' . mysql_real_escape_string($_POST['pass']) . '", + "' . mysql_real_escape_string($_POST['text']) . '", + "8", + "21", + "5")'); + if ($ins) { + $u->info['dn'] = mysql_insert_id(); + $zv['id'] = $u->info['dn']; + $zv['uid'] = $u->info['id']; + mysql_query('UPDATE `stats` SET `dn` = "' . $u->info['dn'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $re = 'Вы успешно создали группу'; + } else { + $re = 'Не удалось создать группу'; + } + } else { + $re = 'Вы уже находитесь в группе'; + } } //Генерируем список групп -$sp = mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "'.$u->info['city'].'" AND `dun` = "'.$dungeon['id'].'" AND `delete` = "0" AND `time` > "'.(time()-60*60*2).'"'); -while($pl = mysql_fetch_array($sp)){ - $dungeonGroupList .= '
'; - if($u->info['dn']==0) $dungeonGroupList .= ''; - $dungeonGroupList .= ''.date('H:i',$pl['time']).' '; - - $pus = ''; //группа - $su = mysql_query('SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="'.$pl['id'].'" LIMIT '.($pl['team_max']+1).''); - while($pu = mysql_fetch_array($su)){ - $pus .= ''.$pu['login'].' ['.$pu['level'].']'; - $pus .= ', '; - } - $pus = trim($pus,', '); - - $dungeonGroupList .= $pus; unset($pus); - - if( $pl['pass'] != '' && $u->info['dn'] == 0 ) $dungeonGroupList .= ' '; - - if($pl['com']!='') - { - $dl = ''; - // Если модератор, даем возможность удалять комментарий к походу. - $moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "'.$u->info['align'].'" LIMIT 1')); - if(($moder['boi']==1 || $u->info['admin']>0) && $pl['dcom']==0) - { - $dl .= ' (удалить комментарий)'; - if(isset($_GET['delcom']) && $_GET['delcom']==$pl['id'] && $u->newAct($_GET['key'])==true) - { - mysql_query('UPDATE `dungeon_zv` SET `dcom` = "'.$u->info['id'].'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['dcom'] = $u->info['id']; - } - } - - $pl['com'] = htmlspecialchars($pl['com'],NULL); - - if($pl['dcom']>0) - { - $dl = ' комментарий удален модератором'; - } - - if($pl['dcom']>0) - { - if($moder['boi']==1 || $u->info['admin']>0) - { - $pl['com'] = ''.$pl['com'].''; - }else{ - $pl['com'] = ''; - } - } - - $dungeonGroupList .= ' | '.$pl['com'].''.$dl.''; - } - - $dungeonGroupList .= '
'; +$sp = mysql_query('SELECT * FROM `dungeon_zv` WHERE `city` = "' . $u->info['city'] . '" AND `dun` = "' . $dungeon['id'] . '" AND `delete` = "0" AND `time` > "' . (time() - 60 * 60 * 2) . '"'); +while ($pl = mysql_fetch_array($sp)) { + $dungeonGroupList .= '
'; + if ($u->info['dn'] == 0) $dungeonGroupList .= ''; + $dungeonGroupList .= '' . date('H:i', $pl['time']) . ' '; + + $pus = ''; //группа + $su = mysql_query('SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $pl['id'] . '" LIMIT ' . ($pl['team_max'] + 1) . ''); + while ($pu = mysql_fetch_array($su)) { + $pus .= '' . $pu['login'] . ' [' . $pu['level'] . ']'; + $pus .= ', '; + } + $pus = trim($pus, ', '); + + $dungeonGroupList .= $pus; + unset($pus); + + if ($pl['pass'] != '' && $u->info['dn'] == 0) $dungeonGroupList .= ' '; + + if ($pl['com'] != '') { + $dl = ''; + // Если модератор, даем возможность удалять комментарий к походу. + $moder = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "' . $u->info['align'] . '" LIMIT 1')); + if (($moder['boi'] == 1 || $u->info['admin'] > 0) && $pl['dcom'] == 0) { + $dl .= ' (удалить комментарий)'; + if (isset($_GET['delcom']) && $_GET['delcom'] == $pl['id'] && $u->newAct($_GET['key']) == true) { + mysql_query('UPDATE `dungeon_zv` SET `dcom` = "' . $u->info['id'] . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'); + $pl['dcom'] = $u->info['id']; + } + } + + $pl['com'] = htmlspecialchars($pl['com'], null); + + if ($pl['dcom'] > 0) { + $dl = ' комментарий удален модератором'; + } + + if ($pl['dcom'] > 0) { + if ($moder['boi'] == 1 || $u->info['admin'] > 0) { + $pl['com'] = '' . $pl['com'] . ''; + } else { + $pl['com'] = ''; + } + } + + $dungeonGroupList .= ' | ' . $pl['com'] . '' . $dl . ''; + } + + $dungeonGroupList .= '
'; } ?> - - - - + + + +
-

room['name']; ?>

-
+
+

room['name']; ?>

+
+
+ +
- -
-

- -
- -

-
- -
-

- -
- -

-
+ +
+

+ +
+ +

+
+ +
+

+ +
+ +

+
'.$re.'
'; +if ($re != '') echo '' . $re . '
'; //отображаем -if($dungeonGroupList=='') -{ - $dungeonGroupList = ''; -}else{ - if(!isset($zv['id']) || $u->info['dn'] == 0) - { - if($dungeonGo==1 || $u->info['dn'] == 0) - { - $pr = ''; - } - $dungeonGroupList = '
'.$pr.'
'.$dungeonGroupList.''.$pr.'
'; - } - $dungeonGroupList .= '
'; +if ($dungeonGroupList == '') { + $dungeonGroupList = ''; +} else { + if (!isset($zv['id']) || $u->info['dn'] == 0) { + if ($dungeonGo == 1 || $u->info['dn'] == 0) { + $pr = ''; + } + $dungeonGroupList = '
' . $pr . '
' . $dungeonGroupList . '' . $pr . '
'; + } + $dungeonGroupList .= '
'; } -if($roomSection==0) { echo $dungeonGroupList; } -if($roomSection == 1) { -?> -
-
- +
+ + info['admin']==0){ + $hgo = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `time` >= ' . (time() - 60 * 60 * 24) . ' AND `vars` = "psh_qt_capitalcity" LIMIT 1', 1); + //} + if (isset($_GET['add_quest'])) { + if (isset($hgo['id'])) { + echo 'Нельзя получать задания чаще одного раза в сутки
'; + } else { -$qsee = ''; -$qx = 0; -//if($u->info['admin']==0){ - $hgo = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time` >= '.(time()-60*60*24).' AND `vars` = "psh_qt_capitalcity" LIMIT 1',1); -//} -if(isset($_GET['add_quest'])){ - if(isset($hgo['id'])) { - echo 'Нельзя получать задания чаще одного раза в сутки
'; - } else { - //if($u->info['admin']>0){ -// $sp = mysql_query('SELECT * FROM `quests` WHERE `id` = "236" && `tr_date` LIKE "%tr_dn:=:'.$dun.'%"'); // Только дашку +// $sp = mysql_query('SELECT * FROM `quests` WHERE `id` = "236" && `tr_date` LIKE "%tr_dn:=:'.$dun.'%"'); // Только дашку //} else { - $sp = mysql_query('SELECT * FROM `quests` WHERE `line` = '.$dungeon['id'].''); + $sp = mysql_query('SELECT * FROM `quests` WHERE `line` = ' . $dungeon['id'] . ''); //} - $dq_add = array(); - while($pl = mysql_fetch_array($sp)) { - if($u->rep['repcapitalcity'] == 9999) { - //квет, рыцарского задания - if( $pl['kin'] == 1 ) { - $dq_add = array( 0 => $pl ); - } - } elseif($u->rep['repcapitalcity'] == 24999) { - //квет, рыцарского задания - if( $pl['kin'] == 2 ) { - $dq_add = array( 0 => $pl ); - } - } else { - if( $pl['kin'] == 0 ) { - $dq_add[count($dq_add)] = $pl; - } - } - } - $dq_add = $q->onlyOnceQuest($dq_add, $u->info['id']); - $dq_add = $dq_add[rand(0,count($dq_add)-1)]; - - - if( $q->testGood($dq_add) == 1 && $dq_add > 0 ) - { - $q->startq_dn($dq_add['id']); - echo 'Вы успешно получили новое задание "'.$dq_add['name'].'".
'; - $u->addAction(time(),'psh_qt_capitalcity',$dq_add['id']); - } else { - if( $u->rep['repcapitalcity'] == 9999 ) { - //квет, рыцарского задания - echo 'Вы уже получили задание на достижение титула рыцаря!
'; - }elseif( $u->rep['repcapitalcity'] == 24999 ) { - //квет, рыцарского задания - echo 'Вы завершили квестовую линию, ожидайте новых заданий!
'; - }else{ - echo 'Не удалось получить задание "'.$dq_add['name'].'". Попробуйте еще...
'; - } - } - unset($dq_add); - } -} + $dq_add = []; + while ($pl = mysql_fetch_array($sp)) { + if ($u->rep['repcapitalcity'] == 9999) { + //квет, рыцарского задания + if ($pl['kin'] == 1) { + $dq_add = [0 => $pl]; + } + } elseif ($u->rep['repcapitalcity'] == 24999) { + //квет, рыцарского задания + if ($pl['kin'] == 2) { + $dq_add = [0 => $pl]; + } + } else { + if ($pl['kin'] == 0) { + $dq_add[count($dq_add)] = $pl; + } + } + } + $dq_add = $q->onlyOnceQuest($dq_add, $u->info['id']); + $dq_add = $dq_add[rand(0, count($dq_add) - 1)]; -//Генерируем список текущих квестов -$sp = mysql_query('SELECT * FROM `actions` WHERE `vars` LIKE "%start_quest%" AND `vals` = "go" AND `uid` = "'.$u->info['id'].'" LIMIT 100'); -while($pl = mysql_fetch_array($sp)) -{ - $pq = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "'.str_replace('start_quest','',$pl['vars']).'" LIMIT 1')); - $qsee .= ' '.$pq['name'].'
'.$pq['info'].'
'.$q->info($pq).'

'; - $qx++; -} -if($qsee == '') -{ - $qsee = 'К сожалению у вас нет ни одного задания'; -} -?> -
-
-Текущие задания: [/28] - - + if ($q->testGood($dq_add) == 1 && $dq_add > 0) { + $q->startq_dn($dq_add['id']); + echo 'Вы успешно получили новое задание "' . $dq_add['name'] . '".
'; + $u->addAction(time(), 'psh_qt_capitalcity', $dq_add['id']); + } else { + if ($u->rep['repcapitalcity'] == 9999) { + //квет, рыцарского задания + echo 'Вы уже получили задание на достижение титула рыцаря!
'; + } elseif ($u->rep['repcapitalcity'] == 24999) { + //квет, рыцарского задания + echo 'Вы завершили квестовую линию, ожидайте новых заданий!
'; + } else { + echo 'Не удалось получить задание "' . $dq_add['name'] . '". Попробуйте еще...
'; + } + } + unset($dq_add); + } + } + + //Генерируем список текущих квестов + $sp = mysql_query('SELECT * FROM `actions` WHERE `vars` LIKE "%start_quest%" AND `vals` = "go" AND `uid` = "' . $u->info['id'] . '" LIMIT 100'); + while ($pl = mysql_fetch_array($sp)) { + $pq = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . str_replace('start_quest', '', $pl['vars']) . '" LIMIT 1')); + $qsee .= ' ' . $pq['name'] . '
' . $pq['info'] . '
' . $q->info($pq) . '

'; + $qx++; + } + + if ($qsee == '') { + $qsee = 'К сожалению у вас нет ни одного задания'; + } + ?> +
+
+ Текущие задания: [/28] + + -
- -'.date('d.m.Y H:i',$hgo['time']+60*60*24).' ( Через '.$u->timeOut($hgo['time']+60*60*24-time()).' )'; +if (!isset($hgo['id'])) { + ?> +
+ + ' . date('d.m.Y H:i', $hgo['time'] + 60 * 60 * 24) . ' ( Через ' . $u->timeOut($hgo['time'] + 60 * 60 * 24 - time()) . ' )'; } ?>
-
- -
- rep['add_stats']*100); - $cur_price = array('price'=>0); - if(25-$u->rep['add_stats']>0 && $u->rep['allrep']-$u->rep['allnurep']>=$price) { // Характеристики! - - foreach($dungeon['list'] as $key=>$val){ - if(!($cur_price['price'] >= $price)){ - if( $u->rep['rep'.$val] - $u->rep['nu_'.$val] > $price ){ - $cur_price['price'] = $price; - $cur_price['nu_'.$val] = $price; - } elseif( $u->rep['rep'.$val] - $u->rep['nu_'.$val] < $price ){ - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - } - if($price==$cur_price['price']) { - echo 'Вы успешно приобрели 1 способность за '.$price.' ед. награды
'; - $u->info['ability'] += 1; - $u->rep['add_stats'] += 1; - - foreach($dungeon['list'] as $key=>$val){ - if($key!='price'){ - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } - } - mysql_query('UPDATE `rep` SET `add_stats` = "'.$u->rep['add_stats'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `ability` = "'.$u->info['ability'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } else echo 'Недостаточно репутации.'; - } else { - echo 'Ничего не получилось...
'; - } - } elseif($_GET['buy1']==2) { // Умения! - $price = 2000+(2000*$u->rep['add_skills']); - $cur_price = array('price'=>0); - if(10-$u->rep['add_skills']>0 && $u->rep['allrep']-$u->rep['allnurep'] >= $price ) { // Умения! - foreach($dungeon['list'] as $key=>$val){ - if(!($cur_price['price'] >= $price)){ - if( $u->rep['rep'.$val] - $u->rep['nu_'.$val] > $price ){ - $cur_price['price'] = $price; - $cur_price['nu_'.$val] = $price; - } elseif( $u->rep['rep'.$val] - $u->rep['nu_'.$val] < $price ){ - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - } - if($price==$cur_price['price']) { - echo 'Вы успешно приобрели 1 умение за '.$price.' ед. награды
'; - $u->info['skills'] += 1; - $u->rep['add_skills'] += 1; - - foreach($dungeon['list'] as $key=>$val){ - if($key!='price'){ - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } - } - mysql_query('UPDATE `rep` SET `add_skills` = "'.$u->rep['add_skills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `skills` = "'.$u->info['skills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } else echo 'Недостаточно репутации.'; - } else { - echo 'Ничего не получилось...
'; - } - }elseif($_GET['buy1']==3) { // Кредиты - $price = 100; - $cur_price = array('price'=>0); - if( $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Покупаем кредиты - foreach($dungeon['list'] as $key=>$val){ - if(!($cur_price['price'] >= $price)){ - if( $u->rep['rep'.$val] - $u->rep['nu_'.$val] > $price ){ - $cur_price['price'] = $price; - $cur_price['nu_'.$val] = $price; - } elseif( $u->rep['rep'.$val] - $u->rep['nu_'.$val] < $price ){ - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - } - if($price==$cur_price['price']) { - echo 'Вы успешно приобрели 10 кр. за '.$price.' ед. награды
'; - $u->info['money'] += 10; - $u->rep['add_money'] += 10; - - foreach($dungeon['list'] as $key=>$val){ - if($key!='price'){ - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } - } - mysql_query('UPDATE `rep` SET `add_money` = "'.$u->rep['add_money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } else echo 'Недостаточно репутации.'; - }else{ - echo 'Ничего не получилось...
'; - } - }elseif( $_GET['buy1'] == 4 ) { // Особенности - $price = 3000; - $cur_price = array('price'=>0); - if( 5 - $u->rep['add_skills2'] > 0 && $u->rep['allrep']-$u->rep['allnurep'] >= $price ) { // Особенности - foreach($dungeon['list'] as $key=>$val){ - if(!($cur_price['price'] >= $price)){ - if( $u->rep['rep'.$val] - $u->rep['nu_'.$val] > $price ){ - $cur_price['price'] = $price; - $cur_price['nu_'.$val] = $price; - } elseif( $u->rep['rep'.$val] - $u->rep['nu_'.$val] < $price ){ - $cur_price['price'] += $cur = ( $price > ($cur_price['price'] + ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) ) ? ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) : ( ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) - (( ( $price - $cur_price['price'] ) - ( $u->rep['rep'.$val] - $u->rep['nu_'.$val] ) )*-1))); - $cur_price['nu_'.$val] = $cur; - } - } - } - if($price==$cur_price['price']) { - echo 'Вы успешно приобрели 1 особенность за '.$price.' ед. награды
'; - $u->info['sskills'] += 1; - $u->rep['add_skills2'] += 1; - - foreach($dungeon['list'] as $key=>$val){ - if($key!='price'){ - $u->rep['nu_'.$val] += $cur_price['nu_'.$val]; - mysql_query('UPDATE `rep` SET `nu_'.$val.'` = "'.$u->rep['nu_'.$val].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } - } - mysql_query('UPDATE `rep` SET `add_skills2` = "'.$u->rep['add_skills2'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `stats` SET `sskills` = "'.$u->info['sskills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - } else echo 'Недостаточно репутации.'; - - // echo 'Вы успешно приобрели 1 особенность за 3000 ед. награды
'; - // $u->info['nskills'] += 1; - // $u->rep['nu_capitalcity'] += 3000; - // $u->rep['add_skills2'] += 1; - // mysql_query('UPDATE `rep` SET `add_skills2` = `add_skills2`+1,`nu_capitalcity` = "'.$u->rep['nu_capitalcity'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - // mysql_query('UPDATE `stats` SET `nskills` = "'.$u->info['nskills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - }else{ - echo 'Ничего не получилось...
'; - } - } - } - ?> -
- Награда: - rep['allrep']-$u->rep['allnurep'])?> - ед. - - - - - - - - - - - - - - - - - - - - - -
Способность (еще rep['add_stats'])?>)за rep['add_stats']*100);?> ед.
Умение (еще rep['add_skills'])?>)за rep['add_skills']);?> ед.
Деньги (10 кр.)за 100 ед.
Особенность (еще rep['add_skills2'])?>)за 3000 ед.
-

+

+ +
info['id'].'" LIMIT 1000')); - if(isset($_GET['buy777']) && $chk[0]>0) { - $chk_cl = mysql_query('SELECT `u`.`id`,`m`.`price1` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `m`.`type` = "61" AND `u`.`delete` = "0" AND `u`.`inOdet` = "0" AND `u`.`inShop` = "0" AND `u`.`inTransfer` = "0" AND `u`.`uid` = "'.$u->info['id'].'" LIMIT 1000'); - while($chk_pl = mysql_fetch_array($chk_cl)) { - if(mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$chk_pl['id'].'" LIMIT 1')); - { - $x++; $prc += $chk_pl['price1']; - } - } - $u->info['money'] += $prc; - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - echo 'Вы успешно сдали чеки в количестве '.$x.' шт. на сумму '.$prc.' кр.
'; - $chk[0] = 0; - - } - if($chk[0]>0) { - ?> - - + //Начисление бонуса награды + if (isset($_GET['buy1'])) { + if ($_GET['buy1'] == 1) { + //покупаем статы + $price = 2000 + ($u->rep['add_stats'] * 100); + $cur_price = ['price' => 0]; + if (25 - $u->rep['add_stats'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Характеристики! + + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + if ($u->rep['rep' . $val] - $u->rep['nu_' . $val] > $price) { + $cur_price['price'] = $price; + $cur_price['nu_' . $val] = $price; + } elseif ($u->rep['rep' . $val] - $u->rep['nu_' . $val] < $price) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + } + if ($price == $cur_price['price']) { + echo 'Вы успешно приобрели 1 способность за ' . $price . ' ед. награды
'; + $u->info['ability'] += 1; + $u->rep['add_stats'] += 1; + + foreach ($dungeon['list'] as $key => $val) { + if ($key != 'price') { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } + } + mysql_query('UPDATE `rep` SET `add_stats` = "' . $u->rep['add_stats'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `ability` = "' . $u->info['ability'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } else echo 'Недостаточно репутации.'; + } else { + echo 'Ничего не получилось...
'; + } + } elseif ($_GET['buy1'] == 2) { // Умения! + $price = 2000 + (2000 * $u->rep['add_skills']); + $cur_price = ['price' => 0]; + if (10 - $u->rep['add_skills'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Умения! + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + if ($u->rep['rep' . $val] - $u->rep['nu_' . $val] > $price) { + $cur_price['price'] = $price; + $cur_price['nu_' . $val] = $price; + } elseif ($u->rep['rep' . $val] - $u->rep['nu_' . $val] < $price) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + } + if ($price == $cur_price['price']) { + echo 'Вы успешно приобрели 1 умение за ' . $price . ' ед. награды
'; + $u->info['skills'] += 1; + $u->rep['add_skills'] += 1; + + foreach ($dungeon['list'] as $key => $val) { + if ($key != 'price') { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } + } + mysql_query('UPDATE `rep` SET `add_skills` = "' . $u->rep['add_skills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `skills` = "' . $u->info['skills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } else echo 'Недостаточно репутации.'; + } else { + echo 'Ничего не получилось...
'; + } + } elseif ($_GET['buy1'] == 3) { // Кредиты + $price = 100; + $cur_price = ['price' => 0]; + if ($u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Покупаем кредиты + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + if ($u->rep['rep' . $val] - $u->rep['nu_' . $val] > $price) { + $cur_price['price'] = $price; + $cur_price['nu_' . $val] = $price; + } elseif ($u->rep['rep' . $val] - $u->rep['nu_' . $val] < $price) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + } + if ($price == $cur_price['price']) { + echo 'Вы успешно приобрели 10 кр. за ' . $price . ' ед. награды
'; + $u->info['money'] += 10; + $u->rep['add_money'] += 10; + + foreach ($dungeon['list'] as $key => $val) { + if ($key != 'price') { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } + } + mysql_query('UPDATE `rep` SET `add_money` = "' . $u->rep['add_money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } else echo 'Недостаточно репутации.'; + } else { + echo 'Ничего не получилось...
'; + } + } elseif ($_GET['buy1'] == 4) { // Особенности + $price = 3000; + $cur_price = ['price' => 0]; + if (5 - $u->rep['add_skills2'] > 0 && $u->rep['allrep'] - $u->rep['allnurep'] >= $price) { // Особенности + foreach ($dungeon['list'] as $key => $val) { + if (!($cur_price['price'] >= $price)) { + if ($u->rep['rep' . $val] - $u->rep['nu_' . $val] > $price) { + $cur_price['price'] = $price; + $cur_price['nu_' . $val] = $price; + } elseif ($u->rep['rep' . $val] - $u->rep['nu_' . $val] < $price) { + $cur_price['price'] += $cur = ($price > ($cur_price['price'] + ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) ? ($u->rep['rep' . $val] - $u->rep['nu_' . $val]) : (($u->rep['rep' . $val] - $u->rep['nu_' . $val]) - ((($price - $cur_price['price']) - ($u->rep['rep' . $val] - $u->rep['nu_' . $val])) * -1))); + $cur_price['nu_' . $val] = $cur; + } + } + } + if ($price == $cur_price['price']) { + echo 'Вы успешно приобрели 1 особенность за ' . $price . ' ед. награды
'; + $u->info['sskills'] += 1; + $u->rep['add_skills2'] += 1; + + foreach ($dungeon['list'] as $key => $val) { + if ($key != 'price') { + $u->rep['nu_' . $val] += $cur_price['nu_' . $val]; + mysql_query('UPDATE `rep` SET `nu_' . $val . '` = "' . $u->rep['nu_' . $val] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } + } + mysql_query('UPDATE `rep` SET `add_skills2` = "' . $u->rep['add_skills2'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `stats` SET `sskills` = "' . $u->info['sskills'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + } else echo 'Недостаточно репутации.'; + + // echo 'Вы успешно приобрели 1 особенность за 3000 ед. награды
'; + // $u->info['nskills'] += 1; + // $u->rep['nu_capitalcity'] += 3000; + // $u->rep['add_skills2'] += 1; + // mysql_query('UPDATE `rep` SET `add_skills2` = `add_skills2`+1,`nu_capitalcity` = "'.$u->rep['nu_capitalcity'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); + // mysql_query('UPDATE `stats` SET `nskills` = "'.$u->info['nskills'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); + } else { + echo 'Ничего не получилось...
'; + } + } + } + ?> +
+ Награда: + rep['allrep'] - $u->rep['allnurep']) ?> + ед. + + + + + + + + + + + + + + + + + + + + + +
Способность (еще rep['add_stats']) ?>)за rep['add_stats'] * 100); ?> ед. +
Умение (еще rep['add_skills']) ?>)за rep['add_skills']); ?> ед. +
Деньги (10 кр.)за 100 ед. +
Особенность (еще rep['add_skills2']) ?>)за 3000 ед. +
+

+ info['id'] . '" LIMIT 1000')); + if (isset($_GET['buy777']) && $chk[0] > 0) { + $chk_cl = mysql_query('SELECT `u`.`id`,`m`.`price1` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `m`.`type` = "61" AND `u`.`delete` = "0" AND `u`.`inOdet` = "0" AND `u`.`inShop` = "0" AND `u`.`inTransfer` = "0" AND `u`.`uid` = "' . $u->info['id'] . '" LIMIT 1000'); + while ($chk_pl = mysql_fetch_array($chk_cl)) { + if (mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $chk_pl['id'] . '" LIMIT 1')) ; + { + $x++; + $prc += $chk_pl['price1']; + } + } + $u->info['money'] += $prc; + mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + echo 'Вы успешно сдали чеки в количестве ' . $x . ' шт. на сумму ' . $prc . ' кр.
'; + $chk[0] = 0; + + } + if ($chk[0] > 0) { + ?> + +

-
-
- - - - - - - - - - - - - -
Репутация в Capital city:rep['repcapitalcity']?> ед.
Репутация в Demons city:rep['repdemonscity']?> ед.
Репутация в Angels city:rep['repangelscity']?> ед.
- Текущая репутация: -
-
-info['dn']==0){ - ?> - - - - -
-
-
- Группа - Комментарий - -
- Пароль - -
- -  
-
-
-
- info['id']){ - $psh_start = '  '; - } - echo '
+ +
+ + + + + + + + + + + + + +
Репутация в Capital city:rep['repcapitalcity'] ?> ед.
Репутация в Demons city:rep['repdemonscity'] ?> ед.
Репутация в Angels city:rep['repangelscity'] ?> ед.
+ Текущая репутация: +
+
+ info['dn'] == 0) { + ?> + + + + +
+ +
+ Группа + Комментарий + +
+ Пароль + +
+ +  
+
+ +
+ info['id']) { + $psh_start = '  '; + } + echo '
Группа - '.$psh_start.' + ' . $psh_start . '
'; - } - } - }else{ - echo 'Поход в пещеры разрешен один раз в два часа. Осталось еще: '.$u->timeOut(60*60*2-time()+$dungeon_timeout['time']).'
Но Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)'; - } - } + } + } + } else { + echo 'Поход в пещеры разрешен один раз в два часа. Осталось еще: ' . $u->timeOut(60 * 60 * 2 - time() + $dungeon_timeout['time']) . '
Но Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)'; + } } ?> diff --git a/modules_data/location/enterptp_shop.php b/modules_data/location/enterptp_shop.php deleted file mode 100644 index 0dcf2767..00000000 --- a/modules_data/location/enterptp_shop.php +++ /dev/null @@ -1,211 +0,0 @@ -room['file']=='enterptp_shop') -{ - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - if( $u->rep['repcapitalcity'] < 10000 ) { - if( $_GET['otdel'] == 19 OR $_GET['otdel'] == 32 ){ - $_GET['otdel'] = 1; - } - } - $sid = 802; - - $error = ''; - - if(isset($_GET['buy'])){ - if($u->newAct( $_GET['sd4'] )==true){ - //$re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'sudba='.$u->info['login'].''); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Рыцарское задание"' - ); - if($u->rep['repcapitalcity'] >= 10000){ - $otdels_small_array[19] = 'Отдел "Заклинания"'; - $otdels_small_array[32] = 'Отдел "Ресурсы"'; - } - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вход в Пещеру Тысячи Проклятий
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   - info['level'] < 8) { - ?> -
Зубов: zuby($u->info['money4'])?>     - -
-
-
-
-
-
Отделы магазина
-
- 'Рыцарское задание', - ); - if($u->rep['repcapitalcity'] >= 10000){ - $otdels_array[9] = 'Плащи'; - $otdels_array[19] = 'Заклинания'; - $otdels_array[32] = 'Ресурсы'; - } - - foreach($otdels_array as $key=>$val){ - if(isset($key) && isset($val)){ - if(isset($_GET['otdel']) && $_GET['otdel']==$key) { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ''; - } - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - }else{ - $color = 'e2e0e0'; - } - echo '
'; - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/location/flower.php b/modules_data/location/flower.php deleted file mode 100644 index b2c73624..00000000 --- a/modules_data/location/flower.php +++ /dev/null @@ -1,393 +0,0 @@ -room['file']=='flower') -{ - $shopProcent = 50; - - if( $_GET['otdel'] == 4 ) { - if( (int)date('m') != 2 || (int)date('d') < 14 ) { - unset($_GET['otdel']); - } -} - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 6; - - $error = ''; - - if(isset($_GET['buy'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'sudba='.$u->info['login'].'|frompisher='.$d->info['id2'].'|nosale=1'); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - }elseif(isset($_GET['add_item_f'])) { - //Ложим предмет в магазин - $itm = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `data` LIKE "%fshop=%" AND `id` = "'.mysql_real_escape_string($_GET['add_item_f']).'" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "0" AND `inOdet` = "0" AND `inTransfer` = "0" LIMIT 1')); - if(!isset($itm['id'])) { - $re = 'Подходящий предмет не найден'; - }else{ - if($u->itemsX($itm['id'])==1) { - $itm_m = mysql_fetch_array(mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "'.$itm['item_id'].'" LIMIT 1')); - mysql_query('UPDATE `items_users` SET `inShop` = "'.$sid.'" WHERE `id` = "'.$itm['id'].'" LIMIT 1'); - $re = 'Предмет "'.$itm_m['name'].'" успешно добавлен'; - }else{ - //группа - $re = 'Разделите группу предметов'; - } - } - }elseif(isset($_GET['clear_itm_f'])){ - //Ложим предмет в магазин - $itm = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `data` LIKE "%fshop=%" AND `id` = "'.mysql_real_escape_string($_GET['clear_itm_f']).'" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "'.$sid.'" AND `inOdet` = "0" AND `inTransfer` = "0" LIMIT 1')); - if(!isset($itm['id'])) { - $re = 'Подходящий предмет не найден'; - }else{ - - $itm_m = mysql_fetch_array(mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "'.$itm['item_id'].'" LIMIT 1')); - mysql_query('UPDATE `items_users` SET `inShop` = "0",`lastUPD` = "'.time().'" WHERE `id` = "'.$itm['id'].'" LIMIT 1'); - $re = 'Предмет "'.$itm_m['name'].'" успешно убран'; - } - }elseif(isset($_GET['createFlowers'])) { - //Собираем букет - $vaza = false; - $rec1 = ''; - $rec2 = ''; - $rec3 = ''; - $rec3l = 0; - $sp = mysql_query('SELECT `id`,`item_id` FROM `items_users` WHERE `data` LIKE "%fshop=1%" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "'.$sid.'" AND `inOdet` = "0" AND `inTransfer` = "0" ORDER BY `item_id` ASC LIMIT 1000'); - while($pl = mysql_fetch_array($sp)) { - if($pl['item_id']!=2746) { - $rec1 .= $pl['item_id'].','; - $rec3 .= ' `id`='.$pl['id'].' OR'; - $rec3l++; - }elseif($pl['item_id']==2746) { - $vaza = true; - } - } - $sp = mysql_query('SELECT `id`,`item_id` FROM `items_users` WHERE `data` LIKE "%fshop=2%" AND `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "'.$sid.'" AND `inOdet` = "0" AND `inTransfer` = "0" ORDER BY `item_id` ASC LIMIT 1000'); - while($pl = mysql_fetch_array($sp)) { - if($pl['item_id']!=2746) { - $rec2 .= $pl['item_id'].','; - $rec3 .= ' `id`='.$pl['id'].' OR'; - $rec3l++; - }elseif($pl['item_id']==2746) { - $vaza = true; - } - } - $rec1 = rtrim($rec1,','); - $rec2 = rtrim($rec2,','); - $rec3 = rtrim($rec3,'OR'); - - - //echo 'SELECT * FROM `recept` WHERE `itm_2` = "'.$rec2.'" AND `itm_1` = "'.$rec1.'" AND `shop` = "'.$sid.'" AND `active` = "1" LIMIT 1'; - $rec = mysql_fetch_array(mysql_query('SELECT * FROM `recept` WHERE `itm_2` = "'.$rec2.'" AND `itm_1` = "'.$rec1.'" AND `shop` = "'.$sid.'" AND `active` = "1" LIMIT 1')); - if(isset($rec['id']) && $rec3 != '') { - $itm = mysql_fetch_array(mysql_query('SELECT `id`, `name` FROM `items_main` WHERE `id` = "'.$rec['itm_add'].'" LIMIT 1')); - $itm_data = mysql_fetch_array(mysql_query('SELECT data FROM `items_main_data` WHERE `items_id` = "'.mysql_real_escape_string($itm['id']).'"')); - if(isset($itm['id'])) { - if($vaza==true && isset($itm_data['data'])){ - $itm_data = \Core\ConversionHelper::dataStringToArray($itm_data['data']); - $itm_data = array('srok'=>$itm_data['srok']); // Извлекаем только срок! - $itm_data['srok'] = (int)$itm_data['srok']; // Только Цифры! - if(isset($itm_data['srok']) and $itm_data['srok']>0){ - $itm_data['srok'] = $itm_data['srok']*3; // В три раза больше срок хранения! - $itm_data = '|'.\Core\ConversionHelper::arrayToDataString($itm_data); - } - } else { - $itm_data = NULL; - } - - \User\ItemsModel::addItem($itm['id'],$u->info['id'],$itm_data,NULL,NULL,true); - mysql_query('UPDATE `items_users` SET `delete` = "'.time().'",`inShop` = "0" WHERE '.$rec3.' LIMIT '.$rec3l); - $re = 'Предмет "'.$itm['name'].'" был успешно перемещен в инвентарь'; - }else{ - $re = 'Не удалось получить предмет по рецепту...'; - } - } else { - if($u->info['admin']>0) { - echo '
ITM1: '.$rec1.'
ITM2: '.$rec2.'
'; - } - $re = 'Подходящий рецепт не найден...'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Цветочный магазин
- '.$error.''; - ?> -
- - - - - - -
- - - - - - - -
- 'Отдел "Общий зал"',2=>'Отдел "Составление букета"',3=>'Отдел "Венки"',4=>'Отдел "Вещи Валентая"',9=>'Возможные букеты'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - } - ?> -
- - - shopItems(9); - $is2=''; - $cl = mysql_query('SELECT * FROM recept WHERE active=1'); - - while($pl = mysql_fetch_array($cl)){ - $itm = mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($pl['itm_add']).'"'); - $itm = mysql_fetch_array($itm); - if(isset($itm) && $itm['type']!='62' ){ - $is2.=' - - - - '; - $i++; - } - } - echo "".$is2.""; - } else { - $u->shopItems($sid); - } - - ?> -
'; - $itm['srok'] = ($itm['srok']/60/60/24); - $is2.=''.$itm['name'].'
- (Масса: 0.01)
- Цена: '.$itm['price1'].' кр.
- Долговечность: 0/'.$itm['iznosMAXi'].'
- Срок годности: '.$itm['srok'].' дн.'; - $is2.='
'; - $treb = explode(',', $pl['itm_1']); - foreach($treb as $tr){ - $itm_treb = mysql_fetch_array(mysql_query('SELECT id, name, img, srok, price1,iznosMAXi FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($tr).'"')); - $is2.=''; - } - $treb = explode(',', $pl['itm_2']); - foreach($treb as $tr){ - if( isset($tr) && $tr!=''){ - $itm_treb = mysql_fetch_array(mysql_query('SELECT id, name, img, srok, price1,iznosMAXi FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($tr).'"')); - $is2.=''; - } - } - $is2.='
-
- genInv(6,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `lastUPD` DESC'); - $itemsOk = $itemsOk[2]; //ингридиенты - $itemsAdd = ''; //выставленные предметы - $flowerAdd = ''; //выставленные ингридиенты - $sp = mysql_query('SELECT `u`.*,`m`.`name`,`m`.`type`,`m`.`img` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `u`.`uid` = "'.$u->info['id'].'" AND `u`.`inShop` = "'.$sid.'" AND `u`.`delete` = "0" AND `u`.`data` LIKE "%fshop=1%"'); - while($pl = mysql_fetch_array($sp)) { - $flowerAdd .= '

 
'; - } - $sp = mysql_query('SELECT `u`.*,`m`.`name`,`m`.`type`,`m`.`img` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `u`.`uid` = "'.$u->info['id'].'" AND `u`.`inShop` = "'.$sid.'" AND `u`.`delete` = "0" AND `u`.`data` LIKE "%fshop=2%"'); - while($pl = mysql_fetch_array($sp)) { - $itemsAdd .= '

 
'; - } - ?> - - - - - - - - - - - - - - -
Составление подарочного букета
Цветы для букета:
- -
-
- -
-
-   
Добавляйте сюда ингридиенты, из которых хотите составить букет
- '.$flowerAdd; } ?>
Цветы у вас в рюкзаке:
- - - - -
- -
У вас нет подходящих предметов в рюкзаке
- -
-
-
-
  - - -
- - - - - - - -
- - - - - -
Страшилкина улица
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- 'Общий зал',2=>'Составление букета',3=>'Венки'); - if( (int)date('m') == 2 && (int)date('d') >= 14 ) { - $otdels_array[4] = 'Вещи Валентая'; - } - $i=1; - while($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['otdel']) && $_GET['otdel']==9){$color = 'C7C7C7';} else {$color = 'e2e0e0';} - echo '
'; - - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - }else{ - $color = 'e2e0e0'; - } - //echo ''; - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/griboed.php b/modules_data/location/griboed.php deleted file mode 100644 index 2447200c..00000000 --- a/modules_data/location/griboed.php +++ /dev/null @@ -1,371 +0,0 @@ -newAct($_GET['sd4'])==true){ - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'frompisher='.$d->info['id2'].'|nosale=1'); - }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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр..',time(),$u->info['city'],'System.shop',0,0); - } else { - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр. (кредиты не переведены).',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 = $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/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.' воинственности.
- Ваша воинственность: '.($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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' воинственность..',time(),$u->info['city'],'System.shop',0,0); - }else{ - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' воинственность. (Репутация не переведена).',time(),$u->info['city'],'System.shop',0,0); - $error = 'Не удалось обменять предмет...'; - } - }else{ - $error = 'Не удалось обменять предмет...'; - } - }else{ - $error = 'Подходящий предмет не найден в инвентаре.'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- Отдел "Пояса"', - 'Отдел "Рубахи"', - 'Отдел "Кольца"', - 'Отдел "Амуниция"' - ); - if(isset($otdels_small_array[$_GET['otdel']])){ - echo $otdels_small_array[$_GET['otdel']]; - } - } - ?> -
- - - 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 `lastUPD` DESC'); - if($itmAll[0]==0){ - $itmAllSee = ''; - }else{ - $itmAllSee = $itmAll[2]; - } - echo $itmAllSee; - } - ?> -
ПУСТО
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вернуться назад
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   - info['level'] < 8 && $c['zuby'] == true) { - ?> -
Зубов: zuby($u->info['money4'])?>     - -
-
-
-  '; - } else { - echo ' '; - }*/ - ?> -
-
-
Отделы магазина
-
- - Одежда:
'; - } elseif($i == 3) { - echo '
Ювелирные товары:
'; - } elseif($i == 4) { - echo '
Амуниция:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/location/hram.php b/modules_data/location/hram.php index 7be818a4..aff9ec69 100644 --- a/modules_data/location/hram.php +++ b/modules_data/location/hram.php @@ -1,24 +1,98 @@ room['file'] != 'hram') { + exit(); } -if ($u->room['file'] != 'hram') { - return; -} +require_once $_SERVER['DOCUMENT_ROOT'] . '/_incl_data/class/Insallah/Runes/Runes.php'; -$smeltItemId = (int)$_GET['itm'] ?? 0; -$re = null; -if ($smeltItemId > 0) { - $re = (new \Location\KnowledgeTemple())->smeltItem($smeltItemId); +$qst_hram = true; +$kt = new KnowledgeTemple(); + +if (isset($_GET['itm']) && $_GET['itm'] > 0) { + if ($_GET['r'] == 1) { + $_GET['itm'] = (int)$_GET['itm']; + $re = $kt->smeltItem($_GET['itm']); + } elseif ($_GET['r'] == 2) { + //Переплавка рун + $resz = ''; + $itm123 = explode('x', $_GET['itm']); + + $itm1 = (int)$itm123[0]; + $itm2 = (int)$itm123[1]; + $itm3 = (int)$itm123[2]; + + $q = 'SELECT `a`.`id` AS `iid`,`a`.*,`b`.* FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON (`b`.`id` = `a`.`item_id` AND `b`.`type` = 31) WHERE `a`.`id` = %d AND `a`.`uid` = %d AND `a`.`delete` = 0 AND `a`.`inShop` = 0 AND `a`.`inTransfer` = 0'; + $itm1 = mysql_fetch_array(mysql_query(sprintf($q, $itm1, $u->info['id']))); + $itm2 = mysql_fetch_array(mysql_query(sprintf($q, $itm2, $u->info['id']))); + $itm3 = mysql_fetch_array(mysql_query(sprintf($q, $itm3, $u->info['id']))); + + + if (!isset($itm1['id']) || !isset($itm2['id']) || !isset($itm3['id'])) { + $resz = 'Недостаточно компонентов для преобразования.'; + } elseif ($itm1['iid'] == $itm2['iid'] || $itm2['iid'] == $itm3['iid'] || $itm1['iid'] == $itm3['iid']) { + $resz = 'Не удалось расплавить одну руну, она не сгорела.'; + } + if (empty($resz)) { + $check = Runes::checkParts($itm1['item_id'], $itm2['item_id'], $itm3['item_id'], $u->rep['rep1']); + if (empty($check)) { + $resz = 'Ингредиенты должны быть одного уровня или у вас недостаточен уровень прокачки храма знаний!'; + } else { + mysql_query(sprintf($check['query'], $u->info['id'])); + $newRune = Runes::get($check['rune_level']); + if (!empty($newRune)) { + ItemsModel::addItem($check['rune_id'], $u->info['id'], $newRune[0]); + $resz = $newRune[1]; + mysql_query(sprintf('update items_users set `delete` = unix_timestamp() where id in (%d, %d, %d)', + $itm1['iid'], $itm2['iid'], $itm3['iid'])); + if (date('w') == 0 || date('w') == 6 || date('w') == 2) { + StatsModel::addRepexpById($u->info['id'], 10); //Репутация плавка рун +10 + } + } + } + } + } elseif ($itm1['level'] == 1) { + //$resz = 'Унируны нельзя преобразовывать'; + $itm4 = []; + $sp = mysql_query('SELECT * FROM `items_main` WHERE `level` = "' . $itm1['level'] . '" AND `type` = 31 + AND `id` != "' . $itm1['item_id'] . '" AND `id` != "' . $itm2['item_id'] . '" AND `id` != "' . $itm3['item_id'] . '" AND `id` < 6000'); + while ($pl = mysql_fetch_array($sp)) { + $itm4[] = $pl; + } + $itm4 = $itm4[rand(0, count($itm4) - 1)]; + mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm3['iid'] . '" OR `id` = "' . $itm2['iid'] . '" OR `id` = "' . $itm1['iid'] . '"'); + ItemsModel::addItem($itm4['id'], $u->info['id']); + $resz = 'Удачно преобразованы руны "' . $itm1['name'] . '","' . $itm2['name'] . '" и "' . $itm3['name'] . '" в "' . $itm4['name'] . '".'; + } else { + $itm4 = []; + $sp = mysql_query('SELECT * FROM `items_main` WHERE `level` = "' . $itm1['level'] . '" AND `type` = 31 + AND `id` != "' . $itm1['item_id'] . '" AND `id` != "' . $itm2['item_id'] . '" AND `id` != "' . $itm3['item_id'] . '"'); + while ($pl = mysql_fetch_array($sp)) { + $itm4[] = $pl; + } + $itm4 = $itm4[rand(0, count($itm4) - 1)]; + mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm3['iid'] . '" OR `id` = "' . $itm2['iid'] . '" OR `id` = "' . $itm1['iid'] . '"'); + ItemsModel::addItem($itm4['id'], $u->info['id']); + $resz = 'Удачно преобразованы руны "' . $itm1['name'] . '","' . $itm2['name'] . '" и "' . $itm3['name'] . '" в "' . $itm4['name'] . '".'; + } + + $re = $resz; + unset($resz); } ?> - -
- - - +
-
Храм Знаний + + + -
+
Храм Знаний
+
+
+

+ - - - - - -
  - - - - -
- - - - - - - - - -
- - - - - -
Центральная - площадь
-
 
-
-
-

-   -
- -';"/>  

+
+ + + + + + + + + +
getInfoPers($u->info['id'], 0); + if ($usee) { + echo $usee[0]; + } else { + echo 'information is lost.'; + } ?> +
+ + + + +
' . $re . ''; + } ?> + + + + +
+
+ +
+   Форум +   +
+ +
+ src="//img.new-combats.tech/city/ap_exit.gif" class="aFilter" alt="">
+
+
+
+ onclick="location.href='main.php?r=1'" + title="Алтарь Предметов" src="//img.new-combats.tech/city/ap_altar1.gif" class="aFilter" alt=""> +
+
+ onclick="location.href='main.php?r=2'" + title="Алтарь Рун" src="//img.new-combats.tech/city/ap_altar2.gif" class="aFilter" alt=""> +
+
+ src="//img.new-combats.tech/city/ap_exit.gif" class="aFilter" alt="">
+
+ +
+
+ +
+
+
+

+ + genInv( - 11, - '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" ORDER BY `lastUPD` DESC' - ); + $itmAll = $u->genInv(11, '`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 = 'ПУСТО (нет подходящих предметов)'; + $itmAllSee = 'ПУСТО (нет подходящих предметов)'; } else { $itmAllSee = $itmAll[2]; } - //Удачно растворен предмет "Укрепленный Костыль". Получена руна "Моно Бауни". +//Удачно растворен предмет "Укрепленный Костыль". Получена руна "Моно Бауни". ?> - +
+ + + + + + +
microLogin($u->info['id'], 1) ?>Подходящие предметы в инвентаре
- Репутация: info['rep1']; ?> + Репутация: rep['rep1']; ?> +
+ Предмет не выбран

+ +
+ Внимание!
Предметы при растворении и заготовки при слиянии необратимо теряются.
+
+ + info['invBlock'])): ?> +
+ Рюкзак закрыт.
+ +
+ + +
+
+ + + +
+ +
+genInv(14, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = 31 OR`im`.`type` = 72) ORDER BY `lastUPD` DESC'); + if ($itmAll[0] == 0) { + $itmAllSee = 'ПУСТО (нет подходящих предметов)'; + } else { + $itmAllSee = $itmAll[2]; + } +//Удачно растворен предмет "Укрепленный Костыль". Получена руна "Моно Бауни". + ?> + + + + + + + +
microLogin($u->info['id'], 1) ?>Подходящие предметы в инвентаре
+ Репутация: rep['rep1']; ?>

-
Предмет не выбран

- +
+ + + + + + + +
ПустоПустоПусто
+ +

+
-
-
- Внимание!
- Предметы при растворении и руны при слиянии необратимо теряются.
+
+
Внимание!
Предметы при растворении и заготовки при слиянии необратимо теряются.
@@ -184,6 +426,6 @@ if ($smeltItemId > 0) {
- -   По всей видимости Алтарь рун был разрушен... Лорд разрушитель не дремлет... - \ No newline at end of file + + + diff --git a/modules_data/location/hrump_shop.php b/modules_data/location/hrump_shop.php deleted file mode 100644 index 010d661a..00000000 --- a/modules_data/location/hrump_shop.php +++ /dev/null @@ -1,196 +0,0 @@ -newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'sudba='.$u->info['login'].'|frompisher='.$d->info['id2'].'|nosale=1'); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Магазин Рульфа Хрумпта
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Шлема',2=>'Перчатки',3=>'Сапоги'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вернуться назад
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- - 'Шлема',2=>'Перчатки',3=>'Сапоги'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/izlom16.php b/modules_data/location/izlom16.php new file mode 100644 index 00000000..da04c2bb --- /dev/null +++ b/modules_data/location/izlom16.php @@ -0,0 +1,74 @@ +room['file'] != 'izlom16') { + return; +} + +if (!empty($re)) { + $re = '' . $re . ''; +} + +$now = date("H") >= 6 && date("H") < 22 ? 'day' : 'night'; + +?> + + + + + + +
+ getInfoPers($u->info['id'], 0); + if ($usee) { + echo $usee[0]; + } else { + echo 'information is lost.'; + } ?> + + + + +
+
+ + +
+ src="/i/images/300x225/ab_iz_exit.gif" class="aFilter" alt=""> +
+
+ src="/i/images/300x225/ab_iz_gate.gif" class="aFilter" alt=""> +
+
+ src="/i/images/300x225/ab_iz_shop.gif" class="aFilter" alt=""> +
+
+ +
+
+ +
+ +
+
diff --git a/modules_data/location/izlomshop.php b/modules_data/location/izlomshop.php deleted file mode 100644 index 91901b01..00000000 --- a/modules_data/location/izlomshop.php +++ /dev/null @@ -1,200 +0,0 @@ -room['file']=='izlomshop') -{ - $shopProcent = 50; - if(date('d',time())==22) - { - //$shopProcent = 1; - } - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 10; - - $error = ''; - - if(isset($_GET['buy'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Стоянка Экспедиции
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Одежда: Наручи"',2=>'Отдел "Одежда: Амулеты"',3=>'Отдел "Амуниция: Ресурсы"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Излом Хаоса
-
-
-

-

-



- - Масса: 0/0  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы Стоянки Экспедиции
-
- 'Одежда: Наручи',2=>'     Амулеты',3=>'Амуниция: Ресурсы'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/karcer.php b/modules_data/location/karcer.php index be6887db..e7a7f468 100644 --- a/modules_data/location/karcer.php +++ b/modules_data/location/karcer.php @@ -1,163 +1,166 @@ room['file']=='karcer') +if ($u->room['file'] != 'karcer') { + return; +} +if (isset($_GET['karcer_back'])) { + if ($u->info['jail'] > time()) { + $u->error = 'Вы не можете выйти из карцера раньше срока'; + } else { + //выпускаем + $upd = mysql_query('UPDATE `users` SET `jail` = "0", `room`="9", `city`="capitalcity" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if ($upd) { + mysql_query('UPDATE `items_users` SET `delete` = "0" WHERE `uid` = ' . $u->info['id'] . ' AND `delete` = "1357908642"'); + $u->error = 'Вы успешно вышли из тюрьмы'; + } else { + $u->error = 'Не удалось использовать данное заклятие'; + } + } +} + + +function shtraf($stime) { - if(isset($_GET['karcer_back'])) { - if( $u->info['jail'] > time() ) { - $u->error = 'Вы не можете выйти из карцера раньше срока'; - }else{ - //выпускаем - $upd = mysql_query('UPDATE `users` SET `jail` = "0", `room`="9", `city`="capitalcity" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($upd) - { - mysql_query('UPDATE `items_users` SET `delete` = "0" WHERE `uid` = '.$u->info['id'].' AND `delete` = "1357908642"'); - $u->error = 'Вы успешно вышли из тюрьмы'; - }else{ - $u->error = 'Не удалось использовать данное заклятие'; - } - } - } + $shkr = $stime - time(); + $shkr = ceil($shkr / 86400) * 1000; + if ($shkr > 25000) { + $shkr = 25000; + } + return $shkr; +} - - function shtraf($stime) - { - $shkr = $stime - time(); - $shkr = ceil($shkr/86400)*1000; - if ($shkr>25000){$shkr=25000;}; - return $shkr; - } - - if(isset($_GET['payshtraf'])) { - if( shtraf($u->info['jail']) != $_GET['payshtraf']) { - $u->error = 'Не шали!!!'; - }elseif (shtraf($u->info['jail'])<=$u->info['money']) - { - //выпускаем - $upd = mysql_query('UPDATE `users` SET `jail` = "0", `room`="9", `city`="capitalcity" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($upd) - { - $u->info['money'] = $u->info['money'] - shtraf($u->info['jail']); - $u->info['jail']=0; - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `jail` = "0", `room`="9", `city`="capitalcity" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `delete` = "0" WHERE `uid` = '.$u->info['id'].' AND `delete` = "1357908642"'); - $u->error = date('d.m.Y H:i',time()).' Вы успешно оплатили штраф '.$_GET['payshtraf'].' и вышли из тюрьмы'; - $u->addDelo(3,$u->info['id'],'Оплачен штраф: '.$_GET['payshtraf'].' кр. и выпущен на свободу.',time(),$u->info['city'],'Prison.System',0,0,$u->bank['id']); - }else{ - $u->error = 'Что то пошло не так'; - } - }else{$u->error = 'Не хватает средств!';} - } - - if(isset($_GET['ekrobmen'])) { - if( $_GET['ekrobmen'] != 4) { - $u->error = 'Не шали!!!'; - }elseif ($u->info['money2']>=4) - { - $u->info['money2']=$u->info['money2']-4; - $u->info['money'] = $u->info['money'] +1000; - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money2` = "'.$u->info['money2'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $ekrran=rand(1,5); - if ($ekrran==1) - { - $u->error = date('d.m.Y H:i',time()).' Вы успешно обменяли 4 екр. на 1000 кр. Охранник остался весьма доволен.'; - }elseif ($ekrran==2) - { - $u->error = date('d.m.Y H:i',time()).' Вы успешно обменяли 4 екр. на 1000 кр. Охранник принес вам поесть.'; - }elseif ($ekrran==3) - { - $u->error = date('d.m.Y H:i',time()).' Вы успешно обменяли 4 екр. на 1000 кр. Охранник подмигнул вам.'; - }elseif ($ekrran==4) - { - $u->error = date('d.m.Y H:i',time()).' Вы успешно обменяли 4 екр. на 1000 кр. Охранник пытался отвертеться но вы добились своего.'; - }elseif ($ekrran==5) - { - $u->error = date('d.m.Y H:i',time()).' Вы успешно обменяли 4 екр. на 1000 кр. Охранник запил но на следующий день принес вам кр.'; - } - - $u->addDelo(3,$u->info['id'],'Обмен 4 екр на 1000 кр.',time(),$u->info['city'],'Prison.System',0,0,$u->bank['id']); +if (isset($_GET['payshtraf'])) { + if (shtraf($u->info['jail']) != $_GET['payshtraf']) { + $u->error = 'Не шали!!!'; + } elseif (shtraf($u->info['jail']) <= $u->info['money']) { + //выпускаем + $upd = mysql_query('UPDATE `users` SET `jail` = "0", `room`="9", `city`="capitalcity" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + if ($upd) { + $u->info['money'] = $u->info['money'] - shtraf($u->info['jail']); + $u->info['jail'] = 0; + $u->addKr(-shtraf($u->info['jail'])); + mysql_query('UPDATE `users` SET `jail` = "0", `room`="9", `city`="capitalcity" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `items_users` SET `delete` = "0" WHERE `uid` = ' . $u->info['id'] . ' AND `delete` = "1357908642"'); + $u->error = date('d.m.Y H:i', time()) . ' Вы успешно оплатили штраф ' . $_GET['payshtraf'] . ' и вышли из тюрьмы'; + $u->addDelo(3, $u->info['id'], 'Оплачен штраф: ' . $_GET['payshtraf'] . ' кр. и выпущен на свободу.', time(), $u->info['city'], 'Prison.System', 0, 0); + } else { + $u->error = 'Что то пошло не так'; + } + } else { + $u->error = 'Не хватает средств!'; + } +} - }else{$u->error = 'Не хватает средств!';} - } +if (isset($_GET['ekrobmen'])) { + if ($_GET['ekrobmen'] != 4) { + $u->error = 'Не шали!!!'; + } elseif ($u->info['money2'] >= 4) { + $u->info['money2'] = $u->info['money2'] - 4; + $u->info['money'] = $u->info['money'] + 1000; + $u->addKr(-4); + $u->addEkr(1000); + $ekrran = rand(1, 5); + $u->error = date('d.m.Y H:i', time()) . ' Вы успешно обменяли 4 екр. на 1000 кр. Охранник '; + if ($ekrran == 1) { + $u->error .= 'остался весьма доволен.'; + } elseif ($ekrran == 2) { + $u->error .= 'принес вам поесть.'; + } elseif ($ekrran == 3) { + $u->error .= 'подмигнул вам.'; + } elseif ($ekrran == 4) { + $u->error .= 'пытался отвертеться но вы добились своего.'; + } elseif ($ekrran == 5) { + $u->error .= 'запил но на следующий день принес вам кр.'; + } + + $u->addDelo(3, $u->info['id'], 'Обмен 4 екр на 1000 кр.', time(), $u->info['city'], 'Prison.System', 0, 0); + + } else { + $u->error = 'Не хватает средств!'; + } +} ?> - - - - + +
room['name']?>
-
- error?>
- info['jail'] > time() ) { ?> - Вы заточены в карцере до info['jail'])?>
- Освобождение возможно при условии оплаты Штрафа: - info['jail'])>$u->info['money'] && $u->info['jail']>0) - { - echo "".shtraf($u->info['jail'])." кр. У вас есть: ".$u->info['money']." кр."; - ?> -
-  Недостаточно средств! -
-
Можно обменять у охранника 4 екр на 1000 кредов у вас есть info['money2'];?> кр. -
- -
- ".shtraf($u->info['jail'])." кр. "; - ?> -
- -
- - -
- - - + - -
  - - - -
- - - - - - -
- - - - -
Выйти из карцера
-
-
+
+
room['name'] ?>
+
+ error ?>
+ info['jail'] > time()) { ?> + Вы заточены в карцере до info['jail']) ?>
+ Освобождение возможно при условии оплаты Штрафа: + info['jail']) > $u->info['money'] && $u->info['jail'] > 0) { + echo "" . shtraf($u->info['jail']) . " кр. У вас есть: " . $u->info['money'] . " кр."; + ?> +
+  Недостаточно средств! +
+
Можно обменять у охранника 4 екр на 1000 кредов у вас есть info['money2']; ?> кр. +
+ +
+ " . shtraf($u->info['jail']) . " кр. "; + ?> +
+ +
+ +
-

-

 

-


-
-

-
+ + + + + +
  + + + + +
+ + + + + + +
+ + + + + +
Выйти из + карцера
+
+
+
+

+

 

+


+
+

+
+
- \ No newline at end of file diff --git a/modules_data/location/kareta.php b/modules_data/location/kareta.php deleted file mode 100644 index 8f7132bc..00000000 --- a/modules_data/location/kareta.php +++ /dev/null @@ -1,231 +0,0 @@ -room['file']=='kareta') -{ - $cs = ''; $sos = ''; - $car = mysql_fetch_array(mysql_query('SELECT * FROM `vokzal` WHERE `name` = "'.$u->room['name'].'" LIMIT 1')); - if(isset($car['id'])) - { - $sp = mysql_query('SELECT * FROM `vokzal` WHERE `city` = "'.$u->info['city'].'" OR `tocity` = "'.$u->info['city'].'"'); - while($pl = mysql_fetch_array($sp)) - { - $vz1 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['city'].'" LIMIT 1')); - $vz2 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['tocity'].'" LIMIT 1')); - $crm = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "'.$pl['name'].'" LIMIT 1')); - //period 0 - прибытие в город (стоянка), 1 - движение, 3 - прибытие в другой город (стоянка), 4 - движение (из tocity) - if($pl['time_start_go']==0) - { - //Это новая карета обновляем данные - mysql_query('UPDATE `vokzal` SET `time_start_go` = "'.(time()+$pl['timeStop']*60).'",`time_finish_go` = "'.(time()+$pl['timeStop']*60+$pl['time_go']*60).'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['time_start_go'] = time()+$pl['timeStop']*60; - $pl['time_finish_go'] = $pl['time_start_go']+$pl['time_go']*60; - } - $see = 0; - if($u->info['admin']>0) - { - $see = 1; - } - $plc = $pl['tocity']; - if($pl['time_start_go']-600time()) - { - //можно знанимать места в карете - if(isset($crm['id'])) - { - $sr = mysql_query('SELECT `uid`,`id` FROM `items_users` WHERE `secret_id` = "'.$pl['time_start_go'].'_b'.$pl['id'].'" AND `delete` = "0" LIMIT 100'); - while($pr = mysql_fetch_array($sr)) - { - $upd1 = mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$pr['id'].'" LIMIT 1'); - if($upd1) - { - mysql_query('UPDATE `users` SET `room` = "'.$crm['id'].'" WHERE `online` > '.(time()-120).' AND `id` = "'.$pr['uid'].'" LIMIT 1'); - } - } - } - } - //отправляем карету в другой город - if($pl['time_finish_go']'.$re.''; } ?> - - - -
room['name']; ?>
- '.$error.''; - ?> -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Место отбытия:
city_name[$u->info['city']]; ?>
Место прибытия:
city_name[$car['citygo']]; ?>
Прибытие:
- -
- 4,2=>4,3=>1,4=>1,5=>1,6=>2,7=>2,8=>2,9=>3,10=>3,11=>3,12=>4); - $imgo = array(1=>1,2=>5,3=>7,4=>3); - $outimg = $imgo[$outimg[round(date('m',time()))]]; - if(date('H',time())<22 && date('H',time())>6) - { - $outimg++; - } - ?> - - - - - - -

 

-
- - - - - -
-
-

-
-
-
- -
- - -
-
-
-
-
-
- - \ No newline at end of file diff --git a/modules_data/location/komorka.php b/modules_data/location/komorka.php deleted file mode 100644 index e6bb296c..00000000 --- a/modules_data/location/komorka.php +++ /dev/null @@ -1,199 +0,0 @@ -newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'sudba='.$u->info['login'].'|frompisher='.$d->info['id2'].'|nosale=1'); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Коморка Луки
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Нейтральные'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вернуться назад
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- - 'Нейтральные'); - $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 '
Заклинания:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/miloserdie.php b/modules_data/location/miloserdie.php deleted file mode 100644 index 6b2d0897..00000000 --- a/modules_data/location/miloserdie.php +++ /dev/null @@ -1,213 +0,0 @@ -info; -$timer = time()+24*60*60; - -$is_eff=mysql_fetch_array(mysql_query("SELECT id,timeUse FROM eff_users where id_eff='398' and `delete` =0 and uid='".$u->info['id']."'")); -if($_GET['get']=='10' && $is_eff[0]==0){ - /* - 'm1'=>'Мф. критического удара (%)', - 'm2'=>'Мф. против критического удара (%)', - 'm3'=>'Мф. мощности крит. удара (%)', - 'm4'=>'Мф. увертывания (%)', - 'm5'=>'Мф. против увертывания (%)', - 'm6'=>'Мф. контрудара (%)', - 'm7'=>'Мф. парирования (%)', - 'm10'=>'Мф. мощности урона', - 'm11'=>'Мф. мощности магии стихий', - 'za'=>'Защита от урона', - 'zm'=>'Защита от магии стихий' - - 's1'=>'Сила', - 's2'=>'Ловкость', - 's3'=>'Интуиция', - 's4'=>'Выносливость', - 's5'=>'Интеллект', - 's6'=>'Мудрость', - 's7'=>'Духовность', - 's8'=>'Воля', - 's9'=>'Свобода духа', - 's10'=>'Божественность' - $u->info['admin'] - */ - - $datadd='|add_za='.rand(1,10).'|add_m10='.rand(1,5).'|add_m11='.rand(1,5).''; - if(mysql_query("UPDATE `users` SET `money`=`money`+'10' where `id`='".$user['id']."'") and - mysql_query('INSERT INTO `eff_users` ( - `id_eff`,`uid`,`name`,`data`,`overType`,`timeUse` - ) VALUES ( - "398","'.$user['id'].'","Благословление Милосердия","add_exp=5'.$datadd.'|nofastfinisheff=1","105","'.time().'" - )')); - mysql_query('update `eff_users` set `delete` = "'.(time()+600).'" WHERE `id` = "916425" LIMIT1'); - { - $err = "Милосердие сегодня в хорошем настроении. Вы получили Благословление Милосердия и 10 кредитов!"; - mysql_query('UPDATE `users_achiv` SET `pa`= `pa`+1 WHERE `id` = "'.$user['id'].'" LIMIT 1'); - } -} -elseif($_GET['get']=='10' && $is_eff[0]>0){ - $wait_sec=$is_eff['timeUse']; - $new_t=time(); - $left_time=$wait_sec-$new_t; - $left_min=floor($left_time/3600); - $left_sec=floor(($left_time-$left_min*3600)/60); - if($left_min==1){$time_h="час";} - if($left_min>1 and $left_min<5){$time_h="часа";} - if($left_min>4){$time_h="часов";} - $time_left=$left_min." ".$time_h." ".$left_sec." мин"; - - $err="Вы уже получали благословение Милосердия. Дождитесь окончания текущего Благословления"; -} - -?> - - - - - - - - - -
- - - -

"Памятник Милосердию"

- -
-info['id'].'" AND `data` LIKE "%musor_art=1%" AND `delete` < 1234567890 LIMIT 1')); - $take_today = 0 + $take_today[0]; - if( $take_today < 2 ) { - $error .= 'Вы взяли у Ангела «'.$itm['name'].'» найти вы его можете у себя в рюкзаке.'; - \User\ItemsModel::addItem($itm['id'],$u->info['id'],'|sudba='.$u->info['login'].'|nosale=1|frompisher=1|musor_art=1'); - }else{ - $error .= 'Ангел Вам уже выдал предмет, больше вы не получите, если хотите поменять свою вещь, отдайте Ангелу те которые вы уже взяли !'; - } - }else{ - $error .= 'Предмет не найден!'; - } - }elseif(isset($_GET['restart'])) { - if(mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `uid` = "'.$u->info['id'].'" AND `data` LIKE "%musor_art=1%" AND `delete` < 1234567890')) { - $error .= 'Вы отдали все вещи полученные в дар Ангелом, выберите себе новые предметы.'; - }else{ - $error .= 'У вас нет предметов от Ангела.'; - } - } - - echo ''.$error.'
'; - - $i = 0; - $items = ''; - while($i < count($arr)) { - $itm = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($arr[$i]).'" LIMIT 1')); - if(isset($itm['id'])) { - $items .= '   '; - } - $i++; - } - - /*echo 'Отдать Ангелу вещи
Возможно взять вещи:
'; - if( $items != '' ) { - echo '

'.$items; - }else{ - echo 'Нет предметов'; - }*/ -?> -
-
-
-
-
- - -
  - - - - - -
- - - - - - -
- - - - -
- - - - - -
  - - -
- - - - - - - -
- - - - - -
Площадь поклона
-
-
-
-
- -
- - - -
- -
- - - - - - -
- Благословление Милосердия: получить - - - -
- - -
-
-
- - -
- -
- \ No newline at end of file diff --git a/modules_data/location/monwar.php b/modules_data/location/monwar.php deleted file mode 100644 index e04fcf82..00000000 --- a/modules_data/location/monwar.php +++ /dev/null @@ -1,206 +0,0 @@ -room['file']=='monwar') -{ - $shopProcent = 50; - if(date('d',time())==22) - { - //$shopProcent = 1; - } - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 21; - } - - $sid = 11; - - $error = ''; - - if(isset($_GET['buy'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'|sudba=1'); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -


Алтарь Крови

- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Отдел "Оружие: кастеты,ножи"',2=>'Отдел "Оружие: топоры"',3=>'Отдел "Оружие: дубины,булавы"',4=>'Отдел "Оружие: мечи"',5=>'Отдел "Оружие: магические посохи"',6=>'Отдел "Одежда: сапоги"',7=>'Отдел "Одежда: перчатки"',8=>'Отдел "Одежда: рубахи"',9=>'Отдел "Одежда: легкая броня"',10=>'Отдел "Одежда: тяжелая броня"',11=>'Отдел "Одежда: шлемы"',12=>'Отдел "Одежда: наручи"',13=>'Отдел "Одежда: пояса"',14=>'Отдел "Одежда: поножи"',15=>'Отдел "Щиты"',16=>'Отдел "Ювелирные товары: серьги"',17=>'Отдел "Ювелирные товары: ожерелья"',18=>'Отдел "Ювелирные товары: кольца"',19=>'Отдел "Заклинания: нейтральные"',20=>'Отдел "Заклинания: боевые и защитные"',21=>'Отдел "Амуниция"',22=>'Отдел "Эликсиры"',23=>'Отдел "Ресурсы"',24=>'Отдел "Поножи [10]"',25=>'Отдел "Подарки: упаковка"',26=>'Отдел "Подарки: открытки"',27=>'Отдел "Подарки: фейерверки"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Арена
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы монумента
-
- 'Заклинания: нейтральные',20=>'     боевые и защитные',21=>'Амуниция',22=>'     Эликсиры',23=>'Ресурсы',24=>'Поножи [10]'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - if($i > 30) { - $i = -2; - } - } - $i++; - } - ?> -

-
-
- (Все вещи связываются Общей Судьбой с тем, кто их купил!) - -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/nakova2.php b/modules_data/location/nakova2.php deleted file mode 100644 index 5bba7941..00000000 --- a/modules_data/location/nakova2.php +++ /dev/null @@ -1,284 +0,0 @@ -info['id'].'" LIMIT 1'); - header('location: main.php'); - } - $test = mysql_fetch_array(mysql_query('SELECT * FROM `dungeon_actions` WHERE `dn` = "'.$u->info['dnow'].'" AND `vars` = "obj_nakova2_use" LIMIT 1')); - if(isset($test['id']) && $test['uid'] != $u->info['id']) { - mysql_query('UPDATE `stats` SET `x` = "3",`y` = "43",`s` = "3" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - header('location: main.php'); - die(); - }elseif(!isset($test['id'])) { - if( $u->info['sex'] == 0 ) { - $d->sys_chat(''.$u->info['login'].' воспользовался "Наковальней", другим данный обьект стал недоступен'); - }else{ - $d->sys_chat(''.$u->info['login'].' воспользовалась "Наковальней", другим данный обьект стал недоступен'); - } - mysql_query('INSERT INTO `dungeon_actions` (`dn`,`uid`,`time`,`vars`) VALUES ( - "'.$u->info['dnow'].'","'.$u->info['id'].'","'.time().'","obj_nakova2_use" - )'); - } - if(!isset($_GET['otdel'])){ - $_GET['otdel'] = 20; - } - - $sid = 700; - - $error = ''; - - if( isset($_GET['buy']) ) { - if( $u->newAct($_GET['sd4']) == true ){ - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'sudba='.$u->info['login'].'|frompisher='.$d->info['id2'].'|nosale=1'); - }else{ - $re = 'Вы уверены что хотите получить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - - - - -
-
Наковальня
'.$error.''; - ?>
- - - - -
-
- - - - - - - - - -
- 'Отдел "Разное"', - //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 => 'Отдел "Подарки: фейерверки"', - //37 => 'Отдел "Усиление оружия: заточки"', - //38 => 'Отдел "Наставничество: образы"' - - ); - if(isset($otdels_small_array[$_GET['otdel']])){ - echo $otdels_small_array[$_GET['otdel']]; - } -?> -
- - shopItems($sid); - ?>
-
-
-
-
- - - - - -
  - - - - -
- - - - - - - -
- - - - - -
Вернуться назад
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],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=>'фейерверки', - //37=>'Усиление оружия: заточки' - ); - //$otdels_array = array (1=>'Ювелирные товары: ожерелья',2=>' кольца'); - - foreach($otdels_array as $key=>$val){ - if(isset($key) && isset($val)){ - if(isset($_GET['otdel']) && $_GET['otdel']==$key) { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo '
'.$otdels_array[$key].'
'; - } - } -?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/noobshop106.php b/modules_data/location/noobshop106.php deleted file mode 100644 index 4a817b12..00000000 --- a/modules_data/location/noobshop106.php +++ /dev/null @@ -1,200 +0,0 @@ -newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'sudba='.$u->info['login'].'|frompisher='.$d->info['id2'].'|nosale=1'); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Магазин Новичка
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Предметы которые возможно купить за Жетоны Новичка'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вернуться назад
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- 'Предметы новичка'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/padalshik.php b/modules_data/location/padalshik.php deleted file mode 100644 index 1a65831d..00000000 --- a/modules_data/location/padalshik.php +++ /dev/null @@ -1,200 +0,0 @@ -info; -$timer = time()+24*60*60; -$is_eff=mysql_fetch_array(mysql_query("SELECT id,timeUse FROM eff_users where id_eff='396' and `delete` =0 and uid='".$u->info['id']."'")); -if($_GET['get']=='10' && $is_eff[0]==0){ - /* - 'm1'=>'Мф. критического удара (%)', - 'm2'=>'Мф. против критического удара (%)', - 'm3'=>'Мф. мощности крит. удара (%)', - 'm4'=>'Мф. увертывания (%)', - 'm5'=>'Мф. против увертывания (%)', - 'm6'=>'Мф. контрудара (%)', - 'm7'=>'Мф. парирования (%)', - 'm10'=>'Мф. мощности урона', - 'm11'=>'Мф. мощности магии стихий', - - 's1'=>'Сила', - 's2'=>'Ловкость', - 's3'=>'Интуиция', - 's4'=>'Выносливость', - 's5'=>'Интеллект', - 's6'=>'Мудрость', - 's7'=>'Духовность', - 's8'=>'Воля', - 's9'=>'Свобода духа', - 's10'=>'Божественность' - $u->info['admin'] - */ - - $datadd='|add_m10='.rand(1,2).'|add_m11='.rand(1,2).'|add_m6='.rand(1,2).'|add_m7='.rand(1,2).''; - if(mysql_query("UPDATE `users` SET `money`=`money`+'10' where `id`='".$user['id']."'") and - mysql_query('INSERT INTO `eff_users` ( - `id_eff`,`uid`,`name`,`data`,`overType`,`timeUse` - ) VALUES ( - "396","'.$user['id'].'","Благословление Падальщика","add_exp=5'.$datadd.'|nofastfinisheff=1","105","'.time().'" - )')); - { - $err = "Падальщик сегодня в хорошем настроении. Вы получили Благословение Падальщика и 10 кредитов! "; - mysql_query('UPDATE `users_achiv` SET `pa`= `pa`+1 WHERE `id` = "'.$user['id'].'" LIMIT 1'); - } -} -elseif($_GET['get']=='10' && $is_eff[0]>0){ - $wait_sec=$is_eff['timeUse']; - $new_t=time(); - $left_time=$wait_sec-$new_t; - $left_min=floor($left_time/3600); - $left_sec=floor(($left_time-$left_min*3600)/60); - if($left_min==1){$time_h="час";} - if($left_min>1 and $left_min<5){$time_h="часа";} - if($left_min>4){$time_h="часов";} - $time_left=$left_min." ".$time_h." ".$left_sec." мин"; - - $err="Вы уже получали благословение Падальщика. Дождитесь окончания текущего Благословления"; -} - -?> - - - - - - - - -
- -

"Памятник Падальщику"

-
-info['id'].'" AND `data` LIKE "%musor_art=1%" AND `delete` < 1234567890 LIMIT 1')); - $take_today = 0 + $take_today[0]; - if( $take_today < 2 ) { - $error .= 'Вы взяли у Ангела «'.$itm['name'].'» найти вы его можете у себя в рюкзаке.'; - \User\ItemsModel::addItem($itm['id'],$u->info['id'],'|sudba='.$u->info['login'].'|nosale=1|frompisher=1|musor_art=1'); - }else{ - $error .= 'Ангел Вам уже выдал предмет, больше вы не получите, если хотите поменять свою вещь, отдайте Ангелу те которые вы уже взяли !'; - } - }else{ - $error .= 'Предмет не найден!'; - } - }elseif(isset($_GET['restart'])) { - if(mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `uid` = "'.$u->info['id'].'" AND `data` LIKE "%musor_art=1%" AND `delete` < 1234567890')) { - $error .= 'Вы отдали все вещи полученные в дар Ангелом, выберите себе новые предметы.'; - }else{ - $error .= 'У вас нет предметов от Ангела.'; - } - } - echo ''.$error.'
'; - $i = 0; - $items = ''; - while($i < count($arr)) { - $itm = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($arr[$i]).'" LIMIT 1')); - if(isset($itm['id'])) { - $items .= '   '; - } - $i++; - } - /*echo 'Отдать Ангелу вещи
Возможно взять вещи:
'; - if( $items != '' ) { - echo '

'.$items; - }else{ - echo 'Нет предметов'; - }*/ -?> -
-
-
-
-
- - -
  - - - - - -
- - - - - - -
- - - - -
- - - - - -
  - - -
- - - - - - - -
- - - - - -
Площадь поклона
-
-
-
-
- -
- - - -
-
- - - - - - -
- Благословление Падальщика: получить - - - -
- - -
-
-
- - -
- -
- \ No newline at end of file diff --git a/modules_data/location/poklon.php b/modules_data/location/poklon.php deleted file mode 100644 index 8d7fef52..00000000 --- a/modules_data/location/poklon.php +++ /dev/null @@ -1,73 +0,0 @@ -room['file']=='poklon') { -?> - - - - - - -
- getInfoPers($u->info['id'],0); if($usee!=false){ echo $usee[0]; }else{ echo 'information is lost.'; } ?> -
- - - - - -
- error != '' ) { - if( $re != '' ) { - $re .= '
'; - } - $re .= $u->error; - } - if($re!=''){ echo ''.$re.''; } ?> - - - - -
-
- - - Памятник Справедливости - - Памятник Милосердию - - Памятник Падальщика
- - Парковая улица -
-
-
-
src="//img.new-combats.tech/city/cap_160_stat2d.gif" width="48" height="94" title="" class="aFilter" />
-
src="//img.new-combats.tech/city/miloserdie.gif" width="77" height="165" title="" class="aFilter" />
-
src="//img.new-combats.tech/city/spravedlivost.gif" width="127" height="170" title="" class="aFilter" />
-
src="//img.new-combats.tech/city/arr_right_png2.png" width="38" height="55" title="" class="aFilter" />
-
- - -
-
- -
-
-
- Внимание!Смените пароль на уникальный,который не использовался ранее в подобных проектах,это обезопасит вашего персонажа от взлома.
- Администрация.

-
- -
- \ No newline at end of file diff --git a/modules_data/location/post.php b/modules_data/location/post.php deleted file mode 100644 index 98c7b6fc..00000000 --- a/modules_data/location/post.php +++ /dev/null @@ -1,840 +0,0 @@ -room['file'] != 'post') { - return; -}/* Разделы почты */ -$r = 1; -$otdel = 1; - -function sendSysChat(string $city, string $to, string $message, int $timeModifier) -{ - $cmsg = new ChatMessage(); - $cmsg->setCity($city); - $cmsg->setTo($to); - $cmsg->setText($message); - $cmsg->setTime(-time() + $timeModifier * 60); - $cmsg->setType(5); - $cmsg->setIsAlert(true); - (new Chat())->sendMsg($cmsg); -} - -if (isset($_POST['torzer'])) { - $_GET['r'] = $_POST['torzer']; -} - -if (isset($_POST['tootdel'])) { - if ($_POST['tootdel'] == 2) { - $otdel = 2; - } elseif ($_POST['tootdel'] == 3) { - $otdel = 3; - } elseif ($_POST['tootdel'] == 4) { - $otdel = 4; - } elseif ($_POST['tootdel'] == 6) { - $otdel = 6; - } -} - -if (isset($_GET['r'])) { - if ($_GET['r'] == 2) { - $r = 2; - } elseif ($_GET['r'] == 3) { - $r = 3; - } elseif ($_GET['r'] == 4) { - $r = 4; - } -} - -$tmgo = 30; //минут - -if (isset($_POST['touser'])) { - $pu = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `users` WHERE `login` = "' . mysql_real_escape_string( - $_POST['touser'] - ) . '" ORDER BY `id` ASC LIMIT 1' - ) - ); - if ($u->info['allLock'] > time()) { - $pu = false; - echo ''; - } elseif ($u->info['transfers'] < 1) { - $pu = false; - echo ''; - } -} - -if (!isset($pu['id'])) { - unset($_POST['touser']); -} - -if ($r == 1) { - if (isset($_POST['itm_post']) && (int)$_POST['itm_post'] > 0) { - $itm = mysql_fetch_array( - mysql_query( - 'SELECT `iu`.*,`im`.*,`iu`.item_id as item_id 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( - $_POST['itm_post'] - ) . '" LIMIT 1' - ) - ); - if ($u->info['align'] == 2) { - $u->error = 'Хаосники не могут передавать кредиты и предметы'; - } elseif ($u->info['palpro'] < time()) { - $u->error = 'Нужна проверка на чистоту для использования телеграфа'; - } elseif (isset($itm['id'])) { - $itm['id'] = mysql_real_escape_string(round((int)$_POST['itm_post'])); - $see1 = 1; - $po = \Core\ConversionHelper::dataStringToArray($itm['data']); - $po['toclan1'] = explode('#', $po['toclan']); - $po['toclan1'] = $po['toclan1'][0]; - - if ($po['toclan1'] > 0) { - $see1 = 0; - } - if ($po['frompisher'] > 0) { - $see1 = 0; - } - if ($itm['gift'] > 0) { - $see1 = 0; - } - if ($po['sudba'] > 0) { - $see1 = 0; - } - - if ($po['zazuby'] > 0) { - $see1 = 0; - } - - if ($see1 == 1) { - $x = $u->itemsX($itm['id']); - $mny = round(1 + $itm['price1'] / 100 * 7); - if ($x > 1) { - $mny += ($x - 1) * $mny; - } - if ($u->info['money'] >= $mny) { - if ($x > 1) { - mysql_query( - 'UPDATE `items_users` SET `uid` = "-51' . $pu['id'] . '",`lastUPD` = "' . (time( - ) + $tmgo * 60) . '" WHERE `uid`="' . $u->info['id'] . '" AND `item_id`="' . $itm['item_id'] . '" AND `inGroup` = "' . mysql_real_escape_string( - $itm['inGroup'] - ) . '" LIMIT ' . $x - ); - $itm['name'] .= ' (x' . $x . ')'; - } else { - mysql_query( - 'UPDATE `items_users` SET `uid` = "-51' . $pu['id'] . '",`lastUPD` = "' . (time( - ) + $tmgo * 60) . '" WHERE `id` = "' . mysql_real_escape_string( - $itm['id'] - ) . '" LIMIT 1' - ); - } - $u->info['money'] -= $mny; - mysql_query( - 'UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - $u->error = 'Вы успешно передали "' . $itm['name'] . '" к персонажу "' . $pu['login'] . '" за ' . $mny . ' кр. '; - - - $u->info['transfers']--; - mysql_query( - 'UPDATE `stats` SET `transfers` = "' . $u->info['transfers'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - //логи - $txt = 'Предмет от ' . $u->info['login'] . ': "' . $itm['name'] . '". Прибытие: ' . date( - 'd.m.Y H:i', (time() + $tmgo * 60) - ) . ''; - mysql_query( - 'INSERT INTO `post` (`text`,`uid`,`time`,`sender_id`,`item_id`,`money`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '", - "' . $pu['id'] . '","' . time() . '","' . $u->info['id'] . '","' . mysql_real_escape_string( - $itm['id'] - ) . '","0")' - ); - $txt = 'Отправление предмета к ' . $pu['login'] . ': "' . $itm['name'] . '". Прибытие: ' . date( - 'd.m.Y H:i', (time() + $tmgo * 60) - ) . ''; - mysql_query( - 'INSERT INTO `post` (`text`,`sender_id`,`time`,`uid`,`item_id`,`money`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '", - "-' . $pu['id'] . '","' . time() . '","' . $u->info['id'] . '","' . mysql_real_escape_string( - $itm['id'] - ) . '","0")' - ); - - //чат - sendSysChat($pu['city'], $pu['login'], "Получена новая почта от {$u->info['login']}", $tmgo); - } else { - $u->error = 'Не достаточно денежных средств'; - } - } else { - $u->error = 'Подходящий предмет не найден'; - } - } else { - $u->error = 'Предмет не найден'; - } - } -} elseif ($r == 3) { - if (isset($_GET['itm_take'])) { - $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`="-51' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . mysql_real_escape_string( - $_GET['itm_take'] - ) . '" LIMIT 1' - ) - ); - if ($u->info['align'] == 2) { - $u->error = 'Хаосники не могут передавать кредиты и предметы'; - } elseif ($u->info['palpro'] < time()) { - $u->error = 'Нужна проверка на чистоту для использования телеграфа'; - } elseif (isset($itm['id'])) { - if ($itm['item_id'] == 1220) { - //Прием денег - $post = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `post` WHERE `item_id` = "0" AND `money` LIKE "' . $itm['1price'] . '" AND `uid` = "' . $u->info['id'] . '" AND `finish` = "0" ORDER BY `id` DESC LIMIT 1' - ) - ); - if (isset($post['id'])) { - if ($post['sender_id'] < 0) { - $post['sender_id'] = -$post['sender_id']; - } - - $pup = mysql_fetch_array( - mysql_query('SELECT * FROM `users` WHERE `id` = "' . $post['sender_id'] . '" LIMIT 1') - ); - if ($post['sender_id'] == 0) { - $pup = [ - 'login' => 'Администрация', - 'id' => 0, - ]; - } - $u->error = 'Вы успешно забрали ' . $itm['1price'] . ' кр. от ' . $pup['login']; - $u->info['money'] += $itm['1price']; - mysql_query( - 'UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - mysql_query( - 'UPDATE `post` SET `finish` = "' . time( - ) . '" WHERE `item_id` = "' . $post['id'] . '" ORDER BY `id` DESC LIMIT 1' - ); - mysql_query( - 'UPDATE `items_users` SET `delete` = "' . time( - ) . '",`uid` = "' . $u->info['id'] . '" WHERE `id` = "' . mysql_real_escape_string( - $_GET['itm_take'] - ) . '" LIMIT 1' - ); - - $u->info['transfers']--; - mysql_query( - 'UPDATE `stats` SET `transfers` = "' . $u->info['transfers'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - //логи - $txt = 'Деньги для ' . $u->info['login'] . ': ' . $itm['1price'] . ' кр. Доставлены.'; - mysql_query( - 'INSERT INTO `post` (`text`,`uid`,`time`,`sender_id`,`item_id`,`money`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '", - "' . $pup['id'] . '","' . time() . '","' . $u->info['id'] . '","' . mysql_real_escape_string( - $_GET['itm_take'] - ) . '","2")' - ); - - $txt = 'Деньги от ' . $pup['login'] . ': ' . $itm['1price'] . ' кр. Получены.'; - mysql_query( - 'INSERT INTO `post` (`text`,`sender_id`,`time`,`uid`,`item_id`,`money`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '", - "-' . $pup['id'] . '","' . time() . '","' . $u->info['id'] . '","' . mysql_real_escape_string( - $_GET['itm_take'] - ) . '","2")' - ); - } - } else { - //Прием вещей - $post = mysql_fetch_array( - mysql_query( - 'SELECT `p`.id,`p`.sender_id, count(`iuu`.id) as inGroupCount, `iu`.id as idItem, `iuu`.item_id, `iuu`.inGroup FROM `post` as `p` LEFT JOIN `items_users` as `iu` ON (`iu`.id = `p`.item_id ) LEFT JOIN `items_users` as `iuu` ON (`iuu`.item_id = `iu`.item_id AND `iu`.`inGroup` = `iu`.`inGroup` AND `iuu`.`uid` = `iu`.`uid`) WHERE (`p`.`sender_id` = "' . $u->info['id'] . '" OR `p`.`sender_id` = "-' . $u->info['id'] . '") AND `iu`.`id` = "' . mysql_real_escape_string( - $_GET['itm_take'] - ) . '" GROUP BY `iu`.id ORDER BY `iu`.`id` DESC LIMIT 1' - ) - ); - if (isset($post['id'])) { - if ($post['sender_id'] < 0) { - $post['sender_id'] = -$post['sender_id']; - } - if ($post['inGroup'] > 0) { - $x = $u->itemsX(mysql_real_escape_string($post['idItem'])); - if ($x > 1) { - $item = mysql_query( - 'UPDATE `items_users` SET `uid` = "' . $u->info['id'] . '", `lastUPD` = "' . time( - ) . '" WHERE `item_id` = "' . mysql_real_escape_string( - $post['item_id'] - ) . '" AND `inGroup` = "' . mysql_real_escape_string( - $post['inGroup'] - ) . '" AND `uid` = "-51' . mysql_real_escape_string($u->info['id']) . '" LIMIT ' . $x - ); - $itm['name'] .= ' (x' . $x . ')'; - } else { - $item = mysql_query( - 'UPDATE `items_users` SET `uid` = "' . $u->info['id'] . '", `lastUPD` = "' . time( - ) . '" WHERE `id` = "' . mysql_real_escape_string($_GET['itm_take']) . '" LIMIT 1' - ); - } - } else { - $item = mysql_query( - 'UPDATE `items_users` SET `uid` = "' . $u->info['id'] . '", `lastUPD` = "' . time( - ) . '" WHERE `id` = "' . mysql_real_escape_string($_GET['itm_take']) . '" LIMIT 1' - ); - } - if ($item) { - mysql_query( - 'UPDATE `post` SET `finish` = "' . time() . '" WHERE `id` = "' . mysql_real_escape_string( - $post['id'] - ) . '" ORDER BY `id` DESC LIMIT 1' - ); - $u->info['transfers']--; - mysql_query( - 'UPDATE `stats` SET `transfers` = "' . $u->info['transfers'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - $u->error = 'Вы успешно забрали "' . $itm['name'] . '"'; - $pup = mysql_fetch_array( - mysql_query('SELECT * FROM `users` WHERE `id` = "' . $post['sender_id'] . '" LIMIT 1') - ); - if ($post['sender_id'] == 0) { - $pup = [ - 'login' => 'Администрация', - 'id' => 0, - ]; - } - //логи - $txt = 'Предмет для ' . $u->info['login'] . ': "' . $itm['name'] . '". Доставлен.'; - mysql_query( - 'INSERT INTO `post` (`text`,`uid`,`time`,`sender_id`,`item_id`,`money`,`finish`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '","' . $pup['id'] . '","' . time( - ) . '","' . $u->info['id'] . '","' . mysql_real_escape_string( - $_GET['itm_take'] - ) . '","2", "' . time() . '")' - ); - - $txt = 'Предмет от ' . $pup['login'] . ': "' . $itm['name'] . '". Получен.'; - mysql_query( - 'INSERT INTO `post` (`text`,`sender_id`,`time`,`uid`,`item_id`,`money`,`finish`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '","-' . $pup['id'] . '","' . time( - ) . '","' . $u->info['id'] . '","' . mysql_real_escape_string( - $_GET['itm_take'] - ) . '","2", "' . time() . '")' - ); - } else { - $u->error = 'Не удалось забрать предмет (' . $itm['id'] . ')'; - } - } else { - $u->error = 'Не удалось найти предмет'; - } - } - } else { - $u->error = 'Предмет не найден'; - } - if ($u->error != '') { - echo '
' . $u->error . '
'; - } - } -} - -?> - - - - '; - } else { - $itmAllSee = $itmAll[2]; - } - ?> -

-
-
Почтовое отделение
-
microLogin($u->info['id'], 1) ?>
-
- error != '') { ?> -
error; ?>
- -
- - - - - -
- К кому передавать: microLogin($pu, 2) ?>   -
- info['city']) { - echo 'Находится в этом городе.
'; - } else { - echo 'Находится в ' . $u->city[$pu['city']] . '.
'; - } - echo 'Примерное время доставки: 0 ч. 30 мин.'; - ?> -
- genInv( - 67, - '`iu`.`uid` = "' . $u->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet` = "0" AND `iu`.`inShop` = "0" AND `im`.`inRazdel`="' . mysql_real_escape_string( - $otdel - ) . '" AND `iu`.`data` NOT LIKE "%zazuby=%" ORDER BY `lastUPD` DESC' - ); - if ($itmAll[0] == 0) { - $itmAllSee = '
ПУСТО
- - - - - - - -
">Обмундирование - ">Заклятия">Эликсиры">Руны">Прочее
- - - - -
Рюкзак (масса: aves['now'] ?> - /aves['max'] ?>, предметов: aves['items'] ?>)
- - info['invBlock'] == 0) { - echo $itmAllSee; - } else { - echo '
Рюкзак закрыт.
Введите пароль:
'; - } ?> -
- 0) { - if ($u->info['money'] >= round($m + $cm, 2) && $u->info['palpro'] > time()) { - $e1 = 'Вы успешно перевели ' . $m . ' кр. (Комиссия: ' . $cm . ' кр.) к персонажу ' . $pu['login'] . ''; - $u->info['money'] -= round($m + $cm, 2); - mysql_query( - 'UPDATE `users` SET `money` = "' . mysql_real_escape_string( - $u->info['money'] - ) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - $u->info['transfers']--; - mysql_query( - 'UPDATE `stats` SET `transfers` = "' . $u->info['transfers'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - mysql_query( - "INSERT INTO `items_users`(`item_id`,`1price`,`uid`,`delete`,`lastUPD`)VALUES('1220','" . mysql_real_escape_string( - $m - ) . "','-51" . $pu['id'] . "','0','" . (time() + $tmgo * 60) . "');" - ); - - $txt = 'Деньги от ' . $u->info['login'] . ': ' . round( - $m, 2 - ) . ' кр. Прибытие: ' . date('d.m.Y H:i', (time() + $tmgo * 60)) . ''; - mysql_query( - 'INSERT INTO `post` (`uid`,`sender_id`,`time`,`money`,`text`) VALUES("' . $pu['id'] . '","-' . $u->info['id'] . '","' . time( - ) . '", - "' . mysql_real_escape_string(round($m, 2)) . '","' . mysql_real_escape_string($txt) . '")' - ); - - $txt = 'Деньги к ' . $pu['login'] . ': ' . round( - $m, 2 - ) . ' кр. Прибытие: ' . date('d.m.Y H:i', (time() + $tmgo * 60)) . ''; - mysql_query( - 'INSERT INTO `post` (`uid`,`sender_id`,`time`,`money`,`text`) VALUES("' . $u->info['id'] . '","' . $pu['id'] . '","' . time( - ) . '", - "0","' . mysql_real_escape_string($txt) . '")' - ); - - //чат - sendSysChat( - $pu['city'], $pu['login'], "Получена новая почта от {$u->info['login']}", $tmgo - ); - } else { - $e1 = 'У вас недостаточно средств или нет проверки на чистоту'; - } - } - } elseif (isset($_POST['send2'])) { - if ($u->info['money'] >= 0.1 && $u->info['palpro'] > time()) { - $ttest = mysql_fetch_array( - mysql_query( - 'SELECT `id`,`time` FROM `chat` WHERE `text` LIKE "%Телеграмма от ' . $u->info['login'] . '%" ORDER BY `id` DESC LIMIT 1' - ) - ); - if ($ttest['time'] < 0) { - $ttest['time'] = -$ttest['time']; - } - if (!isset($ttest['id']) || ($ttest['time'] - $tmgo * 60 - time() + 10) <= 0) { - $_POST['snd_telegraf'] = htmlspecialchars($_POST['snd_telegraf'], null); - $_POST['snd_telegraf'] = substr($_POST['snd_telegraf'], 0, 100); - $_POST['snd_telegraf'] = str_replace('<', '<', $_POST['snd_telegraf']); - $_POST['snd_telegraf'] = str_replace('\x3e', '<', $_POST['snd_telegraf']); - $_POST['snd_telegraf'] = str_replace(']:[', '] : [', $_POST['snd_telegraf']); - $_POST['snd_telegraf'] = str_replace('>', '>', $_POST['snd_telegraf']); - $_POST['snd_telegraf'] = str_replace("'", "", $_POST['snd_telegraf']); - $e2 = 'Ваше сообщение успешно доставлено'; - - $u->info['transfers']--; - mysql_query( - 'UPDATE `stats` SET `transfers` = "' . $u->info['transfers'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - $u->info['money'] -= 0.1; - mysql_query( - 'UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - sendSysChat( - $pu['city'], $pu['login'], - "Телеграмма от {$u->info['login']}: {$_POST['snd_telegraf']}", $tmgo - ); - } else { - $e2 = 'Вы не можете отправлять сообщения так часто. Осталось ' . ($ttest['time'] - $tmgo * 60 - time( - ) + 10) . ' сек.'; - } - } else { - $e2 = 'У вас недостаточно средств (0.1 кр.) или нет проверки на чистоту'; - } - } elseif (isset($_POST['send3'])) { - - if ($u->info['money'] >= 1 && $u->info['palpro'] > time()) { - //max_text - $_POST['snd_post'] = htmlspecialchars($_POST['snd_post'], null); - $_POST['snd_post'] = substr($_POST['snd_post'], 0, 500); - $_POST['snd_post'] = str_replace('<', '<', $_POST['snd_post']); - $_POST['snd_post'] = str_replace('\x3e', '<', $_POST['snd_post']); - $_POST['snd_post'] = str_replace(']:[', '] : [', $_POST['snd_post']); - $_POST['snd_post'] = str_replace('>', '>', $_POST['snd_post']); - $_POST['snd_post'] = str_replace("'", "", $_POST['snd_post']); - $_POST['snd_post'] = str_replace("\n", "
", $_POST['snd_post']); - $e3 = 'Ваше письмо успешно доставлено'; - $u->info['money'] -= 1; - - $u->info['transfers']--; - mysql_query( - 'UPDATE `stats` SET `transfers` = "' . $u->info['transfers'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - - mysql_query( - 'UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1' - ); - mysql_query( - "INSERT INTO `items_users` (`item_id`,`1price`,`uid`,`delete`,`lastUPD`) VALUES ('2131','0','-51" . $pu['id'] . "','0','" . (time( - ) + $tmgo * 0) . "')" - ); - $id = mysql_insert_id(); - mysql_query( - "INSERT INTO `items_text` (`item_id`,`time`,`login`,`text`,`x`) VALUES ('" . $id . "','" . time( - ) . "','" . $u->info['login'] . "','
" . mysql_real_escape_string( - $_POST['snd_post'] - ) . "','1')" - ); - //логи - $txt = 'Предмет от ' . $u->info['login'] . ': "Письмо". Прибытие: ' . date( - 'd.m.Y H:i', (time() + $tmgo * 60) - ) . ''; - mysql_query( - 'INSERT INTO `post` (`text`,`uid`,`time`,`sender_id`,`item_id`,`money`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '", - "' . $pu['id'] . '","' . time() . '","' . $u->info['id'] . '","' . $id . '","0")' - ); - $txt = 'Отправление предмета к ' . $pu['login'] . ': "Письмо". Прибытие: ' . date( - 'd.m.Y H:i', (time() + $tmgo * 60) - ) . ''; - mysql_query( - 'INSERT INTO `post` (`text`,`sender_id`,`time`,`uid`,`item_id`,`money`) VALUES ("' . mysql_real_escape_string( - $txt - ) . '", - "-' . $pu['id'] . '","' . time() . '","' . $u->info['id'] . '","' . $id . '","0")' - ); - //чат - sendSysChat( - $pu['city'], $pu['login'], "Получена новая почта от {$u->info['login']}.", $tmgo - ); - } else { - $e3 = 'У вас недостаточно средств (1 кр.) или нет проверки на чистоту'; - } - } - ?> -
-

Передать кредиты

- -
-
- - У вас на счету: info['money'] ?> кр.
- Передать кредиты, минимально 1 кр. Комиссия составит 5%
- Укажите передаваемую сумму: -
- genInv( - 68, - '`iu`.`uid` = "-51' . $u->info['id'] . '" AND `iu`.`delete` = 0 AND `iu`.`inOdet` = 0 AND `iu`.`inShop` = 0 AND `iu`.`lastUPD` < ' . time( - ) . ' ORDER BY `lastUPD` DESC' - ); - if ($itmAll[0] == 0) { - $itmAllSee = 'Для Вас пока-что нет посылок, проверьте раздел Отчеты'; - } else { - $itmAllSee = $itmAll[2]; - } - ?> - - info['invBlock'] == 0) { - echo $itmAllSee; - } else { - echo '
Рюкзак закрыт.
Введите пароль:
'; - } ?> -
- -

-
- В данном разделе отображаются все почтовые операции Вашего персонажа. -
- info['id'] . '" ORDER BY `id` DESC'); - $r = ''; - while ($pl = mysql_fetch_array($sp)) { - $r .= '
'; - $r .= '' . date( - 'd.m.Y H:i', $pl['time'] - ) . '   ' . $pl['text'] . '
'; - } - if ($r == '') { - $r = '
Отчеты отсутствуют
'; - } else { - $ap = mysql_fetch_array( - mysql_query('SELECT COUNT(*) FROM `post` WHERE `uid` = "' . $u->info['id'] . '"') - ); - $ap = ceil($ap[0] / 50); - if ($ap > 1) { - $r .= '
'; - $r .= 'Страницы: '; - $i = 1; - while ($i <= $ap) { - if ($i == $pg) { - $r .= ' ' . $i . ' '; - } else { - $r .= ' ' . $i . ' '; - } - $i++; - } - } - $r .= '
'; - } - echo $r; - } else { - //общий раздел - ?> -

- • Передать предмет
- Вы можете отправить предмет любому персонажу, даже если он находится в другом городе. Цена и время доставки зависят от расстояния. -
-
- • Кредиты и Телеграф
- Вы можете отправить некоторую сумму денег персонажу.
-
- • Получить вещи
- Вы можете получить вещи, которые были отправлены вам другими игроками.
- Посылка хранится на почте 7 дней, но не более одного дня с момента как вы увидели ее в списке вещей для получения. - По истечению этого срока, посылка отправляется обратно или удаляется. -
-
Администрация почты заявляет, что не несет ответственности за хранимый или пересылаемый - товар/кредиты/сообщения и не гарантирует 100% его доставку. В случае форс-мажорных - обстоятельств, товар/кредиты/сообщения могут быть утеряны.
- - - - error != '') { - echo '' . $u->error . ''; - } - if ($re != '') { - echo '' . $re . ''; - } - ?> - - - - - - -
  - - - - -
- - - - - - -
- - - - - - - testHome(); - if (!isset($hgo['id'])) - { - ?> - - - - - -
- - - - Центральная площадь - -
- - Возврат -
-
-
-
-

-

 

-

Деньги: info['money'] ?> кр. -
- Передач: info['transfers'] ?> -
-
- Передать предметы
- Кредиты и Телеграф
- info['id'] . '"') - ); - $ot = $ot[0]; - if ($ot > 0) { - echo 'Получить вещи'; - } else { - echo 'Получить вещи'; - } - ?> -

- Отчеты -

-
- - - - diff --git a/modules_data/location/quest.php b/modules_data/location/quest.php new file mode 100644 index 00000000..26afe298 --- /dev/null +++ b/modules_data/location/quest.php @@ -0,0 +1,174 @@ +room['file'] != 'quest') { + return; +} ?> + + + + + + +
+
Домик Бабушки
+
' . $re . ''; + } ?>
+
+ + + + + +
  + + + + +
+ + + + + + + + + +
+ + + + + +
+ Центральная площадь
+
 
+
+
+

+  

+
+ + + + + + + + +
+ getInfoPers($u->info['id'], 0); + if ($usee) { + echo $usee[0]; + } else { + echo 'information is lost.'; + } ?> +
+ + + + +
+ ' . $re . '' : '' ?> + + + + +
+
+ + +
+ src="//img.new-combats.tech/city/ap_exit.gif" class="aFilter" alt=""> +
+
+ +
+
+ src="//img.new-combats.tech/city/ap_exit.gif" width="57" height="26" class="aFilter" alt=""> +
+
+ +
+
+ +
+
+
diff --git a/modules_data/location/remont.php b/modules_data/location/remont.php index efed396b..74d2fbc8 100644 --- a/modules_data/location/remont.php +++ b/modules_data/location/remont.php @@ -1,1136 +1,1085 @@ - room['file']=='remont') -{ - //Предметы которые можно подогнать (гос) - $itm_podgon = array( - 784, - 788, - 1714, - 1239, - 1240 - ); +if ($u->room['file'] != 'remont') { + return; +} +//Предметы которые можно подогнать (гос) +$itm_podgon = [ + 784, + 788, + 1714, + 1239, + 1240, +]; - //Комплекты подгона - $com_podgon = array( - 'Комплект Скорпиона' => true, - 'Комплект Забытых Времен' => true, - 'Комплект Утреннего Солнца' => true, - 'Комплект Паука' => true, - 'Комплект Злодеяний' => true, - 'Комплект Кровавой Луны' => true - ); +//Комплекты подгона +$com_podgon = [ + 'Комплект Скорпиона' => true, + 'Комплект Забытых Времен' => true, + 'Комплект Утреннего Солнца' => true, + 'Комплект Паука' => true, + 'Комплект Злодеяний' => true, + 'Комплект Кровавой Луны' => true, +]; - $r = 1; - if(isset($_GET['r'])) - { - $r = (int)$_GET['r']; - if($r!=1 && $r!=2 && $r!=3 && $r!=4 && $r!=5 && $r!=6 && $r!=7 && $r!=8 && $r!=9) - { - $r = 1; - } - if( $r == 6 || $r == 7 ) { - $r = 1; - } - } +$r = 1; +if (isset($_GET['r'])) { + $r = (int)$_GET['r']; + if ($r != 1 && $r != 2 && $r != 3 && $r != 4 && $r != 5 && $r != 6 && $r != 7 && $r != 8 && $r != 9) { + $r = 1; + } + if ($r == 6 || $r == 7) { + $r = 1; + } +} - if(isset($_GET['upgrade']) && true == false) { - //улучшение предмета - $ir = 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`.`data` LIKE "%modif%" AND `iu`.`data` NOT LIKE "%upgrade=5%" AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['upgrade']).'" LIMIT 1')); - if(isset($ir['id'])) { - $po = array(); - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - if($ir['price1']>$ir['1price']) { - $ir['1price'] = $ir['price1']; - } - $pcena = $ir['1price']/2.37; +if (isset($_GET['upgrade']) && true == false) { + //улучшение предмета + $ir = 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`.`data` LIKE "%modif%" AND `iu`.`data` NOT LIKE "%upgrade=5%" AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['upgrade']) . '" LIMIT 1')); + if (isset($ir['id'])) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); + if ($ir['price1'] > $ir['1price']) { + $ir['1price'] = $ir['price1']; + } + $pcena = $ir['1price'] / 2.37; - if($ir['price2']>$ir['2price']) { - $ir['2price'] = $ir['price2']; - } - $pcena2 = ($ir['2price']/2.37)*30; - if($pcena2 > $pcena) { - $pcena = $pcena2; - } - if(!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { - $pcena = $pcena/2.37; - } - $pcena = round($pcena+$pcena/100*(37.795*($po['upgrade']+1))); - if($pcena == 0) { - $re = '
Данный предмет не подходит...
'; - }elseif($pcena <= $u->info['money']) { - if($po['upgrade'] < 5) { - $fadd = array(0,0,0,0); - $faddp = 0; - if(!isset($po['upgrade']) || $po['upgrade']==0) { - $ir['1price'] += floor($ir['1price']/100*20); - $faddp = 6; - }elseif($po['upgrade'] == 1) { - $ir['1price'] += floor($ir['1price']/100*30); - $faddp = 7; - }elseif($po['upgrade'] == 2) { - $ir['1price'] += floor($ir['1price']/100*40); - $faddp = 8; - }elseif($po['upgrade'] == 3) { - $ir['1price'] += floor($ir['1price']/100*70); - $faddp = 10; - }elseif($po['upgrade'] == 4) { - $ir['1price'] += floor($ir['1price']/100*10); - $faddp = 16; - } + if ($ir['price2'] > $ir['2price']) { + $ir['2price'] = $ir['price2']; + } + $pcena2 = ($ir['2price'] / 2.37) * 30; + if ($pcena2 > $pcena) { + $pcena = $pcena2; + } + if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { + $pcena = $pcena / 2.37; + } + $pcena = round($pcena + $pcena / 100 * (37.795 * ($po['upgrade'] + 1))); + if ($pcena == 0) { + $re = '
Данный предмет не подходит...
'; + } elseif ($pcena <= $u->info['money']) { + if ($po['upgrade'] < 5) { + $fadd = [0, 0, 0, 0]; + $faddp = 0; + if (!isset($po['upgrade']) || $po['upgrade'] == 0) { + $ir['1price'] += floor($ir['1price'] / 100 * 20); + $faddp = 6; + } elseif ($po['upgrade'] == 1) { + $ir['1price'] += floor($ir['1price'] / 100 * 30); + $faddp = 7; + } elseif ($po['upgrade'] == 2) { + $ir['1price'] += floor($ir['1price'] / 100 * 40); + $faddp = 8; + } elseif ($po['upgrade'] == 3) { + $ir['1price'] += floor($ir['1price'] / 100 * 70); + $faddp = 10; + } elseif ($po['upgrade'] == 4) { + $ir['1price'] += floor($ir['1price'] / 100 * 10); + $faddp = 16; + } - $fadd[0] = $po['add_s1']+$po['add_s2']+$po['add_s3']+$po['add_s5']+$po['mf_stats']; - $fadd[1] = $po['add_m1']+$po['add_m2']+$po['add_m4']+$po['add_m5']+$po['mf_mod']; - $fadd[2] = round(($po['add_mab1']+$po['add_mab2']+$po['add_mab3']+$po['add_mab4'])/4+$po['mf_mib']); - $fadd[3] = $po['add_hpAll']; + $fadd[0] = $po['add_s1'] + $po['add_s2'] + $po['add_s3'] + $po['add_s5'] + $po['mf_stats']; + $fadd[1] = $po['add_m1'] + $po['add_m2'] + $po['add_m4'] + $po['add_m5'] + $po['mf_mod']; + $fadd[2] = round(($po['add_mab1'] + $po['add_mab2'] + $po['add_mab3'] + $po['add_mab4']) / 4 + $po['mf_mib']); + $fadd[3] = $po['add_hpAll']; - if($po['upgrade'] <= 3) { - $fadd = array( - round($fadd[0]/100*$faddp), //статы - floor($fadd[1]/100*$faddp), //мф. - floor($fadd[2]/100*$faddp), //броня - ceil($fadd[3]/100*$faddp) //НР - ); - }else{ - $fadd = array( - ceil($fadd[0]/100*$faddp), //статы - ceil($fadd[1]/100*$faddp), //мф. - ceil($fadd[2]/100*$faddp), //броня - ceil($fadd[3]/100*$faddp) //НР - ); - } + if ($po['upgrade'] <= 3) { + $fadd = [ + round($fadd[0] / 100 * $faddp), //статы + floor($fadd[1] / 100 * $faddp), //мф. + floor($fadd[2] / 100 * $faddp), //броня + ceil($fadd[3] / 100 * $faddp), //НР + ]; + } else { + $fadd = [ + ceil($fadd[0] / 100 * $faddp), //статы + ceil($fadd[1] / 100 * $faddp), //мф. + ceil($fadd[2] / 100 * $faddp), //броня + ceil($fadd[3] / 100 * $faddp), //НР + ]; + } - $po['mf_stats'] += $fadd[0]; - $po['mf_mod'] += $fadd[1]; - $po['mf_mib'] += $fadd[2]; - $po['add_hpAll'] += $fadd[3]; + $po['mf_stats'] += $fadd[0]; + $po['mf_mod'] += $fadd[1]; + $po['mf_mib'] += $fadd[2]; + $po['add_hpAll'] += $fadd[3]; - $po['upgrade']++; - $re = '
Предмет "'.$ir['name'].'" был успешно улучшен ('.$po['upgrade'].'/5) за '.$pcena.' кр.
'; + $po['upgrade']++; + $re = '
Предмет "' . $ir['name'] . '" был успешно улучшен (' . $po['upgrade'] . '/5) за ' . $pcena . ' кр.
'; - $u->addDelo(2,$u->info['id'],'"System.remont.itemUpgrade": Предмет "'.$ir['name'].'" [itm:'.$ir['id'].'] был успешно улучшен ('.$po['upgrade'].'/5) за '.$pcena.' кр..',time(),$u->info['city'],'System.remont.itemUpgrade',0,0); + $u->addDelo(2, $u->info['id'], '"System.remont.itemUpgrade": Предмет "' . $ir['name'] . '" [itm:' . $ir['id'] . '] был успешно улучшен (' . $po['upgrade'] . '/5) за ' . $pcena . ' кр..', time(), $u->info['city'], 'System.remont.itemUpgrade', 0, 0); - $po = \Core\ConversionHelper::arrayToDataString($po); - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'",`1price` = "'.$ir['1price'].'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = `money` - "'.$pcena.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['money'] -= $pcena; + $po = ConversionHelper::arrayToDataString($po); + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '",`1price` = "' . $ir['1price'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); + mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['money'] -= $pcena; - }else{ - $re = '
Предмет улучшен до максимума
'; - } - }else{ - $re = '
У вас не достаточно средств для модификации предмета
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - }elseif(isset($_GET['modif']) && true == false) { - //модификация - $ir = 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`.`data` NOT LIKE "%modif%" AND `im`.`type` > 0 AND `im`.`type` < 16 AND (`iu`.`data` LIKE "%add_s1%" OR `iu`.`data` LIKE "%add_s2%" OR `iu`.`data` LIKE "%add_s3%" OR `iu`.`data` LIKE "%add_s5%" OR `iu`.`data` LIKE "%add_hpAll%" OR `iu`.`data` LIKE "%add_mib%") - AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['modif']).'" LIMIT 1')); - if(isset($ir['id'])) { - $po = array(); - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - if($ir['price1']>$ir['1price']) { - $ir['1price'] = $ir['price1']; - } - $pcena = $ir['1price']/2; + } else { + $re = '
Предмет улучшен до максимума
'; + } + } else { + $re = '
У вас не достаточно средств для модификации предмета
'; + } + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['modif']) && true == false) { + //модификация + $ir = 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`.`data` NOT LIKE "%modif%" AND `im`.`type` > 0 AND `im`.`type` < 16 AND (`iu`.`data` LIKE "%add_s1%" OR `iu`.`data` LIKE "%add_s2%" OR `iu`.`data` LIKE "%add_s3%" OR `iu`.`data` LIKE "%add_s5%" OR `iu`.`data` LIKE "%add_hpAll%" OR `iu`.`data` LIKE "%add_mib%") + AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['modif']) . '" LIMIT 1')); + if (isset($ir['id'])) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); + if ($ir['price1'] > $ir['1price']) { + $ir['1price'] = $ir['price1']; + } + $pcena = $ir['1price'] / 2; - if($ir['price2']>$ir['2price']) { - $ir['2price'] = $ir['price2']; - } - $pcena2 = ($ir['2price']/2.37)*30; - if($pcena2 > $pcena) { - $pcena = $pcena2; - } + if ($ir['price2'] > $ir['2price']) { + $ir['2price'] = $ir['price2']; + } + $pcena2 = ($ir['2price'] / 2.37) * 30; + if ($pcena2 > $pcena) { + $pcena = $pcena2; + } - if(!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { - $pcena = $pcena/2; - } - $pcena = round($pcena); - if($pcena == 0) { - $re = '
Данный предмет не подходит...
'; - }elseif($pcena <= $u->info['money']) { - if($u->stats['s5'] > 24) { - $fadd = array(0,0,0); + if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) { + $pcena = $pcena / 2; + } + $pcena = round($pcena); + if ($pcena == 0) { + $re = '
Данный предмет не подходит...
'; + } elseif ($pcena <= $u->info['money']) { + if ($u->stats['s5'] > 24) { + $fadd = [0, 0, 0]; - //добавляем статы - if(isset($po['add_s1']) || isset($po['add_s2']) || isset($po['add_s3']) || isset($po['add_s5'])) { - $rnd1 = rand(0,(1000-$u->stats['s5'])); - if($rnd1 > 500) { - $rnd2 = rand(0,(1000-$u->stats['s5'])); - if($rnd2 > 500) { - $rnd3 = rand(0,(1000-$u->stats['s5'])); - if($rnd3 > 500) { - //3 - $fadd[0] = rand(0,1); - }else{ - //1 - $fadd[0] = 0; - } - }else{ - //2 - $fadd[0] = 0; - } - }else{ - //1 - $fadd[0] = 0; - } - } - - //добавляем НР - if(isset($po['add_m1']) || isset($po['add_m2']) || isset($po['add_m4']) || isset($po['add_m5'])) { - $rnd1 = rand(0,(1000-$u->stats['s5'])); - if($rnd1 > 500) { - $rnd2 = rand(0,(1000-$u->stats['s5'])); - if($rnd2 > 500) { - $rnd3 = rand(0,(1000-$u->stats['s5'])); - if($rnd3 > 500) { - //3 - $fadd[1] = 10; - }else{ - //1 - $fadd[1] = 1; - } - }else{ - //2 - $fadd[1] = 7; - } - }else{ - //1 - $fadd[1] = 1; - } - $fadd[1] = rand($fadd[1],20); - } - - //добавляем броню - if(isset($po['add_mib1']) || isset($po['add_mib2']) || isset($po['add_mib3']) || isset($po['add_mib4'])) { - $rnd1 = rand(0,(1000-$u->stats['s5'])); - if($rnd1 > 500) { - $rnd2 = rand(0,(1000-$u->stats['s5'])); - if($rnd2 > 500) { - $rnd3 = rand(0,(1000-$u->stats['s5'])); - if($rnd3 > 500) { - //3 - $fadd[2] = 3; - }else{ - //1 - $fadd[2] = 1; - } - }else{ - //2 - $fadd[2] = 2; - } - }else{ - //1 - $fadd[2] = 1; - } - } - - if($fadd[0] > 0) { - //статы - $po['mf_stats'] += $fadd[0]; - } - if($fadd[1] > 0) { - //НР - $po['add_hpAll'] += $fadd[1]; - } - if($fadd[2] > 0) { - //броня - $po['mf_mib'] += $fadd[2]; - } - $po['modif'] = 1; - $po = \Core\ConversionHelper::arrayToDataString($po); - - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'",`1price` = "'.$ir['1price'].'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = `money` - "'.$pcena.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['money'] -= $pcena; - - $re = '
Предмет "'.$ir['name'].'" был успешно модифицирован (Характеристики: +'.$fadd[0].', Здоровье: +'.$fadd[1].', Броня: +'.$fadd[2].') за '.$pcena.' кр.
'; - - }else{ - $re = '
Для модифицирования предмета требуется характеристика Интелект: 25
'; - } - }else{ - $re = '
У вас не достаточно средств для модификации предмета
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - }elseif(isset($_GET['ubeff']) && true == false) { - // Берем в переменную текущий предмет. - $ir = 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`.`data` LIKE "%upatack_id%" AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['ubeff']).'" LIMIT 1')); - - // Предмет существует. - if(isset($ir['id'])) { - $po = array(); - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); // Тут мы храним характеристики предмета. - if($po['tr_lvl'] > $ir['level']) { - $pl['level'] = $po['tr_lvl']; // Если уровень предмета, меньше чем уровень требований с характеристик, то идет обновление уровня предмета. - } - - $pcena = 5*$pl['level']+35; // цена увеличивается, для продажи в гос. маг. - - if(isset($po['rune_id'])) { // Если в предмете существует РУНА, увеличиваем цену. - $pcena += 3; - } - - if(isset($po['upatack_id'])) { // Если в предмете имеется Заточка, увеличиваем цену. - $pcena += 14; - } - if($po['rune_id'] > 0){ // Последовательность действий. - $re = '
Для дезинтеграции сначала извлеките руну
'; - } else - if($u->info['money'] >= 2000) { // Проверка, хватает ли средств. - $pcena -= 14; // Уменьшаем цену после извлеченния заточки. - if(isset($po['upatack_id'])) { // Добавляем заточку в инвентарь. - // Берем в переменную свиток заточки, который находится в предмете. - $upattack = 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`.`id` = "'.mysql_real_escape_string((int)$po["upatack"]).'" LIMIT 1')); - if(isset($upattack) && $upattack['item_id'] && $upattack['delete']>0){ // Если старый предмет не удален из базы, мы его восстанавливаем. - mysql_query('UPDATE `items_users` SET `delete` = "'.mysql_real_escape_string(0).'" WHERE `id` = "'.$po["upatack"].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `data` = CONCAT(`data`,"noremont=1") WHERE `id` = "'.$po["upatack"].'" LIMIT 1'); - } else { // Если старый предмет не существует, создаем новый. - \User\ItemsModel::addItem($po['upatack_id'],$u->info['id'],'|noremont=1', NULL, NULL, true); - $irs .= ','.$po['upatack_name']; - } - } - - if(!isset($upattack['data'])) { - $upattack = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "'.mysql_real_escape_string((int)$po["upatack_id"]).'" LIMIT 1')); - } - - - // Обнуляем инфу к стандартным данным - $ir['item_id'] - $item_default = mysql_fetch_array(mysql_query('SELECT `data` FROM `items_main_data` WHERE `items_id` = "'.mysql_real_escape_string((int)$ir['item_id']).'" LIMIT 1')); - $item_default = \Core\ConversionHelper::dataStringToArray($item_default['data']); - $upattack = \Core\ConversionHelper::dataStringToArray($upattack['data']); - if( $upattack['uptype'] == 22 ) { - $po['add_m11'] -= $upattack['upatack']*2; - $po['tr_lvl'] = $item_default['tr_lvl']; - if(isset($po['add_m11']) && $po['add_m11']==0) unset($po['add_m11']); - }else{ - $po['sv_yron_min'] -= $upattack['upatack']; - $po['sv_yron_max'] -= $upattack['upatack']; - $po['tr_lvl'] = $item_default['tr_lvl']; - } - unset($po["upatack"]); - unset($po["upatack_id"]); - unset($po["upatack_name"]); - unset($po["upatack_lvl"]); - unset($item_default); - unset($upattack); - $po = \Core\ConversionHelper::arrayToDataString($po); - - // Заточка tr_lvl=4|tr_s5=10|tr_mg7=4|uptype=21|upatack=4|tr_a4=4|srok=432000 - /* - if(isset($po['spell_id'])) { - //Извлечение чарки - \User\ItemsModel::addItem($po['spell_id'],$u->info['id']); - $irs .= ','.$po['spell_name']; - } - - //обнуление предмета (кроме улучшений , гравировки) - - $pon = ''; - if(isset($po['gravi'])) { - $pon .= '|gravi='.$po['gravi'].'|gravic='.$po['gravic'].''; - } - if(isset($po['nosale'])) { - $pon .= '|nosale='.$po['nosale'].''; - } - if(isset($po['frompisher'])) { - $pon .= '|frompisher='.$po['frompisher'].''; - } - if(isset($po['fromlaba'])) { - $pon .= '|fromlaba='.$po['fromlaba'].''; - } - if(isset($po['noremont'])) { - $pon .= '|noremont='.$po['noremont'].''; - } - if(isset($po['zazuby'])) { - $pon .= '|zazuby='.$po['zazuby'].''; - } - if(isset($po['fromshop'])) { - $pon .= '|fromshop='.$po['fromshop'].''; - } - if(isset($po['icos'])) { - $pon .= '|icos='.$po['icos'].''; - } - - $iidis = \User\ItemsModel::addItem($ir['item_id'],$u->info['id'],$pon); - mysql_query('UPDATE `items_users` SET - `iznosMAX` = "'.$ir['iznosMAX'].'", - `iznosNOW` = "'.$ir['iznosNOW'].'", - `1price` = "'.$ir['1price'].'", - `2price` = "'.$ir['2price'].'", - `3price` = "'.$ir['3price'].'", - `gift` = "'.$ir['gift'].'", - `gtxt1` = "'.$ir['gtxt1'].'", - `gtxt2` = "'.$ir['gtxt2'].'", - `maidin` = "'.$ir['maidin'].'", - `time_create` = "'.$ir['time_create'].'" - WHERE `id` = "'.$iidis.'" AND `uid` = "'.$u->info['id'].'" LIMIT 1'); - - $u->info['money'] -= $pcena; - $re = '
Предмет "'.$ir['name'].'" был успешно дезинтегрирован ('.$ir['name'].''.$irs.') за '.$pcena.' кр.
'; - */ - var_info($po); - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = `money` - 100 WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - }else{ - $re = '
У вас не достаточно средств для дезинтеграции
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - }elseif(isset($_GET['unrune'])) { - require_once $_SERVER['DOCUMENT_ROOT'] . '/_incl_data/class/Insallah/Runes/Runes.php'; - $ir = 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`.`data` LIKE "%rune_id%" AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['unrune']).'" LIMIT 1')); - if(isset($ir['id']) ) { - $po = []; - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - if($po['tr_lvl'] > $ir['level']) { - $ir['level'] = $po['tr_lvl']; - } - - $pcena = 50; - if($u->stats['repair_r']>=1) { - $pcena = 0; - } - - if($pcena <= $u->info['money'] ) { - /** Самое новое изъятие рун. ;)*/ - $item_and_rune = \Insallah\Runes::removeRuneData($po); -// echo ""; -// echo $item_and_rune['item'].'
'.$item_and_rune['rune'] . '
' . sprintf("update items_users set data = '%s' where id = %d", $item_and_rune['item'], $ir['id']); -// echo "
"; - if (!empty($item_and_rune)) { - # Добавляем предмет без руны - mysql_query(sprintf("update items_users set data = '%s' where id = %d", $item_and_rune['item'], $ir['id'])); - # Отнимаем деньги - $u->info['money'] -= $pcena; - mysql_query(sprintf("update users set money = money - %f where id = %d", $pcena, $u->info['id'])); - # Добавляем руну - \User\ItemsModel::addItem($item_and_rune['rune_id'],$u->info['id'],$item_and_rune['rune'], null, null, true); + //добавляем статы + if (isset($po['add_s1']) || isset($po['add_s2']) || isset($po['add_s3']) || isset($po['add_s5'])) { + $rnd1 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd1 > 500) { + $rnd2 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd2 > 500) { + $rnd3 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd3 > 500) { + //3 + $fadd[0] = rand(0, 1); + } else { + //1 + $fadd[0] = 0; + } + } else { + //2 + $fadd[0] = 0; + } } else { - /** Если пытаемся извлечь любую руну кроме 6001, 6002, 6003. */ - $re = 'Руна слилась с предметом и не извлекается...'; + //1 + $fadd[0] = 0; } - }else{ - $re = '
У вас не достаточно средств для извлечения, цена извлечения руны '.$pcena.'
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - }elseif(isset($_GET['ubeff'])) { - $ir = 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`.`data` LIKE "%upatack_id%" AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['ubeff']).'" LIMIT 1')); - if(isset($ir['id']) ) { - $po = array(); - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - if($po['tr_lvl'] > $ir['level']) { - $ir['level'] = $po['tr_lvl']; - } + } - $pcena = 1; - if($pcena <= $u->info['money']) { - if($u->stats['repair_z']>=2500) { - $pcena = 0; - } - $iro = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "'.$po['upatack_id'].'" LIMIT 1')); - $ro = \Core\ConversionHelper::dataStringToArray($iro['data']); - $restat = array(); + //добавляем НР + if (isset($po['add_m1']) || isset($po['add_m2']) || isset($po['add_m4']) || isset($po['add_m5'])) { + $rnd1 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd1 > 500) { + $rnd2 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd2 > 500) { + $rnd3 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd3 > 500) { + //3 + $fadd[1] = 10; + } else { + //1 + $fadd[1] = 1; + } + } else { + //2 + $fadd[1] = 7; + } + } else { + //1 + $fadd[1] = 1; + } + $fadd[1] = rand($fadd[1], 20); + } - $i = 0; - while($iitems['add'])) { - if(isset($ro['add_'.$u->items['add'][$i]])) { - $po['add_'.$u->items['add'][$i]] -= $ro['add_'.$u->items['add'][$i]]; - if($po['add_'.$u->items['add'][$i]] == 0) { - unset($po['add_'.$u->items['add'][$i]]); - } - } - if(isset($ro['sv_'.$u->items['add'][$i]])) { - $po['sv_'.$u->items['add'][$i]] -= $ro['sv_'.$u->items['add'][$i]]; - if($po['sv_'.$u->items['add'][$i]] == 0) { - unset($po['sv_'.$u->items['add'][$i]]); - } - } - $i++; - } + //добавляем броню + if (isset($po['add_mib1']) || isset($po['add_mib2']) || isset($po['add_mib3']) || isset($po['add_mib4'])) { + $rnd1 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd1 > 500) { + $rnd2 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd2 > 500) { + $rnd3 = rand(0, (1000 - $u->stats['s5'])); + if ($rnd3 > 500) { + //3 + $fadd[2] = 3; + } else { + //1 + $fadd[2] = 1; + } + } else { + //2 + $fadd[2] = 2; + } + } else { + //1 + $fadd[2] = 1; + } + } - \User\ItemsModel::addItem($po['upatack_id'],$u->info['id'],NULL,NULL,NULL,1); - $re = '
Заточка "'.$po['upatack_name'].'" была успешно извлечена из предмета "'.$ir['name'].'" за '.$pcena.' кр.
'; + if ($fadd[0] > 0) { + //статы + $po['mf_stats'] += $fadd[0]; + } + if ($fadd[1] > 0) { + //НР + $po['add_hpAll'] += $fadd[1]; + } + if ($fadd[2] > 0) { + //броня + $po['mf_mib'] += $fadd[2]; + } + $po['modif'] = 1; + $po = ConversionHelper::arrayToDataString($po); - $u->addDelo(2,$u->info['id'],'"System.remont.ubeff": Руна "'.$po['upatack_name'].'" была успешно извлечена из предмета "'.$ir['name'].'" [itm:'.$ir['id'].'] за '.$pcena.' кр.',time(),$u->info['city'],'System.remont.ubeff',0,0); - unset($po['upatack'],$po['upatack_id'],$po['upatack_name'],$po['upatack_lvl']); - $po = \Core\ConversionHelper::arrayToDataString($po); - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = `money` - "'.$pcena.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->info['money'] -= $pcena; + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '",`1price` = "' . $ir['1price'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); + mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['money'] -= $pcena; - }else{ - $re = '
У вас не достаточно средств для извлечения, стоимость извлечения заточки '.$pcena.' кр
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - } elseif(isset($_GET['un_grav'])) { - $ir = 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 (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['un_grav']).'" LIMIT 1')); - if(isset($ir['id'])) { - $pcena = 30; - if($ir['type'] == 22) { - $pcena = 35; - }elseif($ir['type'] == 18) { - $pcena = 15; - } - if($pcena <= $u->info['money']) { - $po = array(); - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - $po['gravi'] = substr($_GET['grav_text'],0, 20); - $po['gravic'] = $u->info['city']; - $po['gravi'] = str_replace('=','',$po['gravi']); - $po['gravi'] = str_replace('|','',$po['gravi']); - $tst = str_replace(' ','',$po['gravi']); - $tst = str_replace(' ','',$po['gravi']); - $po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']); - if($po['gravi'] != '' && $tst != '') { - $po = \Core\ConversionHelper::arrayToDataString($po); - mysql_query('UPDATE `users` SET `money` = `money` - "'.$pcena.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - $re = '
На предмете "'.$ir['name'].'" был успешно выгровирован текст за '.$pcena.' кр.
'; - }else{ - $re = '
Пустой текст, либо состоит из символов которые нельзя использовать
'; - } - }else{ - $re = '
У вас не достаточно средств для гравировки
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - }elseif(isset($_GET['grav'])) { - $ir = 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 (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['grav']).'" LIMIT 1')); - if(isset($ir['id'])) { - $pcena = 30; - if($ir['type'] == 22) { - $pcena = 35; - }elseif($ir['type'] == 18) { - $pcena = 15; - } - if($pcena <= $u->info['money']) { - $po = array(); - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - $po['gravi'] = substr($_GET['grav_text'],0, 20); - $po['gravic'] = $u->info['city']; - $po['gravi'] = str_replace('=','',$po['gravi']); - $po['gravi'] = str_replace('|','',$po['gravi']); - $tst = str_replace(' ','',$po['gravi']); - $tst = str_replace(' ','',$po['gravi']); - $po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']); - if($po['gravi'] != '' && $tst != '') { - $po = \Core\ConversionHelper::arrayToDataString($po); - mysql_query('UPDATE `users` SET `money` = `money` - "'.$pcena.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - $re = '
На предмете "'.$ir['name'].'" был успешно выгровирован текст за '.$pcena.' кр.
'; - }else{ - $re = '
Пустой текст, либо состоит из символов которые нельзя использовать
'; - } - }else{ - $re = '
У вас не достаточно средств для гравировки
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - }elseif(isset($_GET['podgon'])) { - $ir = 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 `im`.`inslot` = 5 AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['podgon']).'" LIMIT 1')); - if(isset($ir['id'])) { - $po = array(); - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - if(!isset($po['podgon'])) { - if($po['tr_lvl']>$ir['level']) { - $ir['level'] = $po['tr_lvl']; - } - $pcena = 5*$ir['level']+10; - if($pcena <= $u->info['money']) { - $prhp = 6*$ir['level']+6; - $po['podgon'] = 1; - $po['add_hpAll'] += $prhp; - $po['sudba'] = $u->info['login']; - $po = \Core\ConversionHelper::arrayToDataString($po); - mysql_query('UPDATE `users` SET `money` = `money` - "'.$pcena.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - $re = '
Предмет "'.$ir['name'].'" был успешно подогнан за '.$pcena.' кр. (Добавлено +'.$prhp.'HP)
'; - }else{ - $re = '
У вас не достаточно средств для подгонки
'; - } - }else{ - $re = '
Предмет уже был подогнан
'; - } - }else{ - $re = '
Подходящий предмет не найден в инвентаре
'; - } - }elseif(isset($_GET['remon'])) - { - $t = 1; - if($_GET['t']==2) - { - $t = 2; - }elseif($_GET['t']==3) - { - $t = 3; - } - $ir = 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`.`iznosNOW` >= 1 AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['remon']).'" LIMIT 1')); + $re = '
Предмет "' . $ir['name'] . '" был успешно модифицирован (Характеристики: +' . $fadd[0] . ', Здоровье: +' . $fadd[1] . ', Броня: +' . $fadd[2] . ') за ' . $pcena . ' кр.
'; - $rem_price=round($ir['price1']*0.1/100,2);//цена ремонта за 1ед поломки - $rem_all=round($ir['price1']*$ir['iznosNOW']*0.1/100,2);//цена ремонта full - - if( $u->stats['repair_discount'] >= 1) { - $rem_price = round($rem_price/100*25,2); - $rem_all = round($rem_all/100*25,2); - } - - if($rem_price<0.01){$rem_price=0.01;} //кэп поможет - if($rem_all<0.01){$rem_all=0.01;} //кэп поможет - - if(isset($ir['id'])) - { - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - if(isset($po['noremont'])) - { - $re2 = 'Предмет не подлежит ремонту в этой мастерской.'; - }else{ - if($t == 1) - { - $rem_cell=$rem_price; - $t = 0; - $rm = 1; - $re2 .= ' 1 ед.'; - }elseif($t == 2) - { - $t = 0; - $rm = 10; - $rem_cell=$rem_price*10; - $re2 .= ' 10 ед.'; - }elseif($t == 3) - { - $rem_cell=$rem_all; - $t = 0; - $rm = $ir['iznosNOW']; - $re2 .= $rm. ' ед.'; - } - if($rem_cell>$u->info['money']) - { - $re2 = 'У вас недостаточно средст для ремонта.'; - }else{ - if($rm > $ir['iznosNOW']) - { - $rm = $ir['iznosNOW']; - } - $ir['iznosNOW'] -= $rm; - if($ir['iznosNOW']<0) - { - $ir['iznosNOW'] = 0; - } - $u->info['money'] -= $rem_cell; - $upd = mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($upd) - { - $il = $ir['iznosMAX']; - if( rand(0,100) < 25 ) { - $ir['iznosMAX'] -= 1; - } - if($ir['iznosMAX']<1) - { - $ir['iznosMAX'] = 1; - } - mysql_query('UPDATE `items_users` SET `iznosNOW` = "'.$ir['iznosNOW'].'",`iznosMAX` = "'.$ir['iznosMAX'].'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - $re2 = 'Удачно произведен ремонт '.$re2.' предмета "'.$ir['name'].'" за '.$rem_cell.' кр.'; - $dop = 0; - if(ceil($il)>ceil($ir['iznosMAX'])) - { - $re2 .= '
К сожалению, максимальная долговечность предмета из-за ремонта уменьшилась.'; - $dop = 1; - } - $u->addDelo(2,$u->info['id'],'"System.remont": Предмет "'.$ir['name'].'" [itm:'.$ir['id'].'] был отремонтирован, максимальная долговечность уменьшилась: '.$dop.' ('.$rm.' ед. за '.$t.' кр.).',time(),$u->info['city'],'System.remont',0,0); - }else{ - $re2 = 'Что-то здесь не так...'; - } - } - } - }else{ - $re2 = 'Предмет подходящий для ремонта не найден в инвентаре'; - } - }elseif(isset($_GET['remonz'])) - { - $t = 1; - if($_GET['t']==2) - { - $t = 2; - }elseif($_GET['t']==3) - { - $t = 3; - } - $ir = 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`.`iznosNOW` >= 1 AND `iu`.`id` = "'.mysql_real_escape_string((int)$_GET['remonz']).'" LIMIT 1')); - - $rem_price=round($ir['price1']*0.1/100,2);//цена ремонта за 1ед поломки - $rem_all=round($ir['price1']*$ir['iznosNOW']*0.1/100,2);//цена ремонта full - if($rem_price<0.01){$rem_price=0.01;} //кэп поможет - - if(isset($ir['id'])) - { - $po = \Core\ConversionHelper::dataStringToArray($ir['data']); - if(isset($po['noremont'])) - { - $re2 = 'Предмет не подлежит ремонту в этой мастерской.'; - }else{ - - if( $ir['1price'] > 0 ) { - $po['zazuby'] = $ir['1price']; - }else{ - $po['zazuby'] = $ir['price1']; - } - $po['nosale'] = 1; - - if($t == 1) - { - $rem_cell=$rem_price; - $t = 0; - $rm = 1; - $re2 .= ' 1 ед.'; - }elseif($t == 2) - { - $t = 0; - $rm = 10; - $rem_cell=$rem_price*10; - $re2 .= ' 10 ед.'; - }elseif($t == 3) - { - $rem_cell=$rem_all; - $t = 0; - $rm = $ir['iznosNOW']; - $re2 .= $rm. ' ед.'; - } - if($rem_cell>$u->info['money4']) - { - $re2 = 'У вас недостаточно зубов для ремонта.'; - }else{ - if($rm > $ir['iznosNOW']) - { - $rm = $ir['iznosNOW']; - } - $ir['iznosNOW'] -= $rm; - if($ir['iznosNOW']<0) - { - $ir['iznosNOW'] = 0; - } - $u->info['money4'] -= $rem_cell; - $upd = mysql_query('UPDATE `users` SET `money4` = "'.$u->info['money4'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($upd) - { - $il = $ir['iznosMAX']; - if( rand(0,100) <= 25 ) { - $ir['iznosMAX'] -= 1; - } - if($ir['iznosMAX']<1) - { - $ir['iznosMAX'] = 1; - } - $po = \Core\ConversionHelper::arrayToDataString($po); - mysql_query('UPDATE `items_users` SET `data` = "'.$po.'",`iznosNOW` = "'.$ir['iznosNOW'].'",`iznosMAX` = "'.$ir['iznosMAX'].'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - $re2 = 'Удачно произведен ремонт '.$re2.' предмета "'.$ir['name'].'" за '.$u->zuby($rem_cell,1).'.'; - $dop = 0; - if(ceil($il)>ceil($ir['iznosMAX'])) - { - $re2 .= '
К сожалению, максимальная долговечность предмета из-за ремонта уменьшилась.'; - $dop = 1; - } - $u->addDelo(2,$u->info['id'],'"System.remont": Предмет "'.$ir['name'].'" [itm:'.$ir['id'].'] был отремонтирован, максимальная долговечность уменьшилась: '.$dop.' ('.$rm.' ед. за '.$t.' зубов.).',time(),$u->info['city'],'System.remont',0,0); - }else{ - $re2 = 'Что-то здесь не так...'; - } - } - } - }else{ - $re2 = 'Предмет подходящий для ремонта не найден в инвентаре'; - } - }elseif(isset($_GET['upgradelvl'])) { - $ir = 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((int)$_GET['upgradelvl']).'" LIMIT 1')); - if(isset($ir['id'])) { - $ur = mysql_fetch_array(mysql_query('SELECT * FROM `items_upgrade` WHERE `iid` = "'.$ir['item_id'].'" LIMIT 1')); - if(isset($ur['id'])) { - if($ur['price1'] > 0 && $u->info['money'] < $ur['price1']) { - $re2 = 'Недостаточно кр. у персонажа'; - }elseif($ur['price2'] > 0 && $u->bank['money2'] < $ur['price2']) { - $re2 = 'Недостаточно екр. на счету, пополните банковский счет'; - }else{ - $ui1 = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.$ur['iup'].'" LIMIT 1')); - $ui2 = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "'.$ur['iup'].'" LIMIT 1')); - if(isset($ui1['id'],$ui2['id'])) { - mysql_query('UPDATE `items_users` SET `item_id` = "'.$ui1['id'].'",`1price` = "'.$ui1['price1'].'",`2price` = "'.$ui1['price2'].'",`iznosMAX` = "'.$ui1['iznosMAXi'].'",`data` = "'.$ui2['data'].'" WHERE `id` = "'.$ir['id'].'" LIMIT 1'); - $re2 = 'Предмет "'.$ir['name'].'" был успешно улучшен до следующего уровня за '.$ur['price2'].' екр.'; - $u->bank['money2'] -= $ur['price2']; - mysql_query('UPDATE `bank` SET `money2` = "'.$u->bank['money2'].'" WHERE `id` = "'.$u->bank['id'].'" LIMIT 1'); - }else{ - $re2 = 'Неудалось улучшить данный предмет'; - } - } - }else{ - $re2 = 'Предмет подходящий для улучшения не найден'; - } - }else{ - $re2 = 'Предмет подходящий для улучшения не найден в инвентаре'; - } - } - - $see = ''; - if($r==1){ - //ремонт предметов - $see = $u->genInv(4,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`iznosNOW` >= 1 ORDER BY `lastUPD` DESC'); - $see = $see[2]; - }elseif($r==5){ - //подгонка брони - $see = $u->genInv(56,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `im`.`inslot` = "5" AND `iu`.`data` NOT LIKE "%podgon%" ORDER BY `lastUPD` DESC'); - $see = $see[2]; - }elseif($r==2){ - //гравировка оружия - $see = $u->genInv(57,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") ORDER BY `lastUPD` DESC'); - $see = $see[2]; - }elseif($r==4){ - //вытаскивание рун - $see = $u->genInv(58,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%rune_id%" ORDER BY `lastUPD` DESC'); - $see = $see[2]; - }elseif($r==3){ - //дезинтеграция - $see = $u->genInv(59,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%upatack_id%") ORDER BY `lastUPD` DESC'); - $see = $see[2]; - }elseif($r==7){ - //модификация - $see = $u->genInv(60,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` NOT LIKE "%modif%" AND `im`.`type` > 0 AND `im`.`type` < 16 AND - (`iu`.`data` LIKE "%add_s1%" OR `iu`.`data` LIKE "%add_s2%" OR `iu`.`data` LIKE "%add_s3%" OR `iu`.`data` LIKE "%add_s5%" OR `iu`.`data` LIKE "%add_hpAll%" OR `iu`.`data` LIKE "%add_mib%") ORDER BY `lastUPD` DESC'); - $see = $see[2]; - }elseif($r==6) { - //Усиление - $see = $u->genInv(61,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%modif%" AND `iu`.`data` NOT LIKE "%upgrade=5%" ORDER BY `lastUPD` DESC'); - $see = $see[2]; - }elseif($r==8) { - if(isset($u->bank['id'])) { - //Улучшения - $see = $u->genInv(62,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (SELECT `id` FROM `items_upgrade` WHERE `iid` = `iu`.`item_id` AND `activ` = 1 LIMIT 1) > 0 ORDER BY `lastUPD` DESC'); - $see = $see[2]; - } - }elseif($r==9) { - $itmos = ''; - $i = 0; - while( $i < count($itm_podgon) ) { - $itmos .= ' OR `iu`.`item_id` = "'.$itm_podgon[$i].'"'; - $i++; + } else { + $re = '
Для модифицирования предмета требуется характеристика Интелект: 25
'; + } + } else { + $re = '
У вас не достаточно средств для модификации предмета
'; } - if(isset($u->bank['id']) && !isset($_GET['upgradelvlcom'])) { - //Подгонка под комплект - $see = $u->genInv(63,'`iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%|art=1%" '.$itmos.')'); - }else{ - //Подгонка под комплект - $see = $u->genInv(64,'`iu`.`id` = "'.mysql_real_escape_string($_GET['upgradelvlcom']).'" AND `iu`.`uid`="'.$u->info['id'].'" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%|art=1%" '.$itmos.')'); + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['ubeff']) && true == false) { + // Берем в переменную текущий предмет. + $ir = 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`.`data` LIKE "%upatack_id%" AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['ubeff']) . '" LIMIT 1')); + + // Предмет существует. + if (isset($ir['id'])) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); // Тут мы храним характеристики предмета. + if ($po['tr_lvl'] > $ir['level']) { + $pl['level'] = $po['tr_lvl']; // Если уровень предмета, меньше чем уровень требований с характеристик, то идет обновление уровня предмета. } - $see = $see[2]; + + $pcena = 5 * $pl['level'] + 35; // цена увеличивается, для продажи в гос. маг. + + if (isset($po['rune_id'])) { // Если в предмете существует РУНА, увеличиваем цену. + $pcena += 3; + } + + if (isset($po['upatack_id'])) { // Если в предмете имеется Заточка, увеличиваем цену. + $pcena += 14; + } + if ($po['rune_id'] > 0) { // Последовательность действий. + $re = '
Для дезинтеграции сначала извлеките руну
'; + } elseif ($u->info['money'] >= 2000) { // Проверка, хватает ли средств. + $pcena -= 14; // Уменьшаем цену после извлеченния заточки. + if (isset($po['upatack_id'])) { // Добавляем заточку в инвентарь. + // Берем в переменную свиток заточки, который находится в предмете. + $upattack = 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`.`id` = "' . mysql_real_escape_string((int)$po["upatack"]) . '" LIMIT 1')); + if (isset($upattack) && $upattack['item_id'] && $upattack['delete'] > 0) { // Если старый предмет не удален из базы, мы его восстанавливаем. + mysql_query('UPDATE `items_users` SET `delete` = "' . mysql_real_escape_string(0) . '" WHERE `id` = "' . $po["upatack"] . '" LIMIT 1'); + mysql_query('UPDATE `items_users` SET `data` = CONCAT(`data`,"noremont=1") WHERE `id` = "' . $po["upatack"] . '" LIMIT 1'); + } else { // Если старый предмет не существует, создаем новый. + ItemsModel::addItem($po['upatack_id'], $u->info['id'], '|noremont=1', null, null, true); + $irs .= ',' . $po['upatack_name']; + } + } + + if (!isset($upattack['data'])) { + $upattack = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "' . mysql_real_escape_string((int)$po["upatack_id"]) . '" LIMIT 1')); + } + + + // Обнуляем инфу к стандартным данным - $ir['item_id'] + $item_default = mysql_fetch_array(mysql_query('SELECT `data` FROM `items_main_data` WHERE `items_id` = "' . mysql_real_escape_string((int)$ir['item_id']) . '" LIMIT 1')); + $item_default = ConversionHelper::dataStringToArray($item_default['data']); + $upattack = ConversionHelper::dataStringToArray($upattack['data']); + if ($upattack['uptype'] == 22) { + $po['add_m11'] -= $upattack['upatack'] * 2; + $po['tr_lvl'] = $item_default['tr_lvl']; + if (isset($po['add_m11']) && $po['add_m11'] == 0) unset($po['add_m11']); + } else { + $po['sv_yron_min'] -= $upattack['upatack']; + $po['sv_yron_max'] -= $upattack['upatack']; + $po['tr_lvl'] = $item_default['tr_lvl']; + } + unset($po["upatack"]); + unset($po["upatack_id"]); + unset($po["upatack_name"]); + unset($po["upatack_lvl"]); + unset($item_default); + unset($upattack); + $po = ConversionHelper::arrayToDataString($po); + + + var_info($po); + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); + $u->addKr(-100); + } else { + $re = '
У вас не достаточно средств для дезинтеграции
'; + } + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['unrune'])) { + require_once $_SERVER['DOCUMENT_ROOT'] . '/_incl_data/class/Insallah/Runes/Runes.php'; + $ir = 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`.`data` LIKE "%rune_id%" AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['unrune']) . '" LIMIT 1')); + if (isset($ir['id'])) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); + if ($po['tr_lvl'] > $ir['level']) { + $ir['level'] = $po['tr_lvl']; + } + + $pcena = 50; + if ($u->stats['repair_r'] >= 1) { + $pcena = 0; + } + + if ($pcena <= $u->info['money']) { + /** Самое новое изъятие рун. ;)*/ + $item_and_rune = Runes::removeRuneData($po); + if (!empty($item_and_rune)) { +# Добавляем предмет без руны + mysql_query(sprintf("update items_users set data = '%s' where id = %d", $item_and_rune['item'], $ir['id'])); +# Отнимаем деньги + $u->info['money'] -= $pcena; + mysql_query(sprintf("update users set money = money - %f where id = %d", $pcena, $u->info['id'])); +# Добавляем руну + ItemsModel::addItem($item_and_rune['rune_id'], $u->info['id'], $item_and_rune['rune'], null, null, true); + } else { + /** Если пытаемся извлечь любую руну кроме 6001, 6002, 6003. */ + $re = 'Руна слилась с предметом и не извлекается...'; + } + } else { + $re = '
У вас не достаточно средств для извлечения, цена извлечения руны ' . $pcena . '
'; + } + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['ubeff'])) { + $ir = 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`.`data` LIKE "%upatack_id%" AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['ubeff']) . '" LIMIT 1')); + if (isset($ir['id'])) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); + if ($po['tr_lvl'] > $ir['level']) { + $ir['level'] = $po['tr_lvl']; + } + + $pcena = 1; + if ($pcena <= $u->info['money']) { + if ($u->stats['repair_z'] >= 2500) { + $pcena = 0; + } + $iro = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "' . $po['upatack_id'] . '" LIMIT 1')); + $ro = ConversionHelper::dataStringToArray($iro['data']); + $restat = []; + + $i = 0; + while ($i < count($u->items['add'])) { + if (isset($ro['add_' . $u->items['add'][$i]])) { + $po['add_' . $u->items['add'][$i]] -= $ro['add_' . $u->items['add'][$i]]; + if ($po['add_' . $u->items['add'][$i]] == 0) { + unset($po['add_' . $u->items['add'][$i]]); + } + } + if (isset($ro['sv_' . $u->items['add'][$i]])) { + $po['sv_' . $u->items['add'][$i]] -= $ro['sv_' . $u->items['add'][$i]]; + if ($po['sv_' . $u->items['add'][$i]] == 0) { + unset($po['sv_' . $u->items['add'][$i]]); + } + } + $i++; + } + + ItemsModel::addItem($po['upatack_id'], $u->info['id'], null, null, null, 1); + $re = '
Заточка "' . $po['upatack_name'] . '" была успешно извлечена из предмета "' . $ir['name'] . '" за ' . $pcena . ' кр.
'; + + $u->addDelo(2, $u->info['id'], '"System.remont.ubeff": Руна "' . $po['upatack_name'] . '" была успешно извлечена из предмета "' . $ir['name'] . '" [itm:' . $ir['id'] . '] за ' . $pcena . ' кр.', time(), $u->info['city'], 'System.remont.ubeff', 0, 0); + unset($po['upatack'], $po['upatack_id'], $po['upatack_name'], $po['upatack_lvl']); + $po = ConversionHelper::arrayToDataString($po); + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); + mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + $u->info['money'] -= $pcena; + + } else { + $re = '
У вас не достаточно средств для извлечения, стоимость извлечения заточки ' . $pcena . ' кр
'; + } + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['un_grav'])) { + $ir = 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 (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['un_grav']) . '" LIMIT 1')); + if (isset($ir['id'])) { + $pcena = 30; + if ($ir['type'] == 22) { + $pcena = 35; + } elseif ($ir['type'] == 18) { + $pcena = 15; + } + if ($pcena <= $u->info['money']) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); + $po['gravi'] = substr($_GET['grav_text'], 0, 20); + $po['gravic'] = $u->info['city']; + $po['gravi'] = str_replace('=', '', $po['gravi']); + $po['gravi'] = str_replace('|', '', $po['gravi']); + $tst = str_replace(' ', '', $po['gravi']); + $tst = str_replace(' ', '', $po['gravi']); + $po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']); + if ($po['gravi'] != '' && $tst != '') { + $po = ConversionHelper::arrayToDataString($po); + mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); + $re = '
На предмете "' . $ir['name'] . '" был успешно выгровирован текст за ' . $pcena . ' кр.
'; + } else { + $re = '
Пустой текст, либо состоит из символов которые нельзя использовать
'; + } + } else { + $re = '
У вас не достаточно средств для гравировки
'; + } + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['grav'])) { + $ir = 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 (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['grav']) . '" LIMIT 1')); + if (isset($ir['id'])) { + $pcena = 30; + if ($ir['type'] == 22) { + $pcena = 35; + } elseif ($ir['type'] == 18) { + $pcena = 15; + } + if ($pcena <= $u->info['money']) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); + $po['gravi'] = substr($_GET['grav_text'], 0, 20); + $po['gravic'] = $u->info['city']; + $po['gravi'] = str_replace('=', '', $po['gravi']); + $po['gravi'] = str_replace('|', '', $po['gravi']); + $tst = str_replace(' ', '', $po['gravi']); + $tst = str_replace(' ', '', $po['gravi']); + $po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']); + if ($po['gravi'] != '' && $tst != '') { + $po = ConversionHelper::arrayToDataString($po); + mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); + $re = '
На предмете "' . $ir['name'] . '" был успешно выгровирован текст за ' . $pcena . ' кр.
'; + } else { + $re = '
Пустой текст, либо состоит из символов которые нельзя использовать
'; + } + } else { + $re = '
У вас не достаточно средств для гравировки
'; + } + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['podgon'])) { + $ir = 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 `im`.`inslot` = 5 AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['podgon']) . '" LIMIT 1')); + if (isset($ir['id'])) { + $po = []; + $po = ConversionHelper::dataStringToArray($ir['data']); + if (!isset($po['podgon'])) { + if ($po['tr_lvl'] > $ir['level']) { + $ir['level'] = $po['tr_lvl']; + } + $pcena = 5 * $ir['level'] + 10; + if ($pcena <= $u->info['money']) { + $prhp = 6 * $ir['level'] + 6; + $po['podgon'] = 1; + $po['add_hpAll'] += $prhp; + $po['sudba'] = $u->info['login']; + $po = ConversionHelper::arrayToDataString($po); + mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); + mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'); + $re = '
Предмет "' . $ir['name'] . '" был успешно подогнан за ' . $pcena . ' кр. (Добавлено +' . $prhp . 'HP)
'; + } else { + $re = '
У вас не достаточно средств для подгонки
'; + } + } else { + $re = '
Предмет уже был подогнан
'; + } + } else { + $re = '
Подходящий предмет не найден в инвентаре
'; + } +} elseif (isset($_GET['remon'])) { + $t = 1; + if ($_GET['t'] == 2) { + $t = 2; + } elseif ($_GET['t'] == 3) { + $t = 3; + } + $ir = 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`.`iznosNOW` >= 1 AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['remon']) . '" LIMIT 1')); + + $rem_price = round($ir['price1'] * 0.1 / 100, 2);//цена ремонта за 1ед поломки + $rem_all = round($ir['price1'] * $ir['iznosNOW'] * 0.1 / 100, 2);//цена ремонта full + + if ($u->stats['repair_discount'] >= 1) { + $rem_price = round($rem_price / 100 * 25, 2); + $rem_all = round($rem_all / 100 * 25, 2); } - if($re!=''){ echo '
'.$re.'
'; } ?> + if ($rem_price < 0.01) { + $rem_price = 0.01; + } //кэп поможет + if ($rem_all < 0.01) { + $rem_all = 0.01; + } //кэп поможет - - - +
Ремонтная мастерская
- '.$error.''; - ?> - - - - - - 'Починка поврежденных предметов', - 2 => 'Нанесение надписей на оружие (20 символов)', - 3 => 'Разделение на состаные части улучшенных предметов', - 4 => 'Извлечение рун', - 5 => 'Подогнать броню', - 6 => 'Улучшение модифицированных предметов', - 7 => 'Модификация предметов', - 8 => 'Улучшение уровня предмета', - 9 => 'Подгонка предмета под комплект' - ); - $rn2 = array( - 1 => 'У вас в рюкзаке нет поврежденных предметов', - 2 => 'У вас в рюкзаке нет оружия, на которое можно нанести гравировку', - 3 => 'У вас в рюкзаке нет улучшенных предметов', - 4 => 'У вас в рюкзаке нет улучшенных предметов', - 5 => 'У вас в рюкзаке нет подходящих предметов', - 6 => 'У вас в рюкзаке нет подходящих предметов', - 7 => 'У вас в рюкзаке нет подходящих предметов', - 8 => 'У вас в рюкзаке нет подходящих предметов', - 9 => 'У вас в рюкзаке нет подходящих предметов' - ); - ?> - - - - + +
- - - - - - - - - - -
  Залы:  >  Ремонт'; }else{ echo 'Ремонт'; } ?>   >  Гравировка'; }else{ echo 'Гравировка'; } ?>   >  Дезинтеграция'; }else{ echo 'Дезинтеграция'; } ?>   >  Руны'; }else{ echo 'Руны'; } ?>   >  Подгонка'; }else{ echo 'Подгонка'; } ?>  microLogin($u->info['id'],1) ?> 
- Орден Света предупреждает, что за нецензурные или оскорбительные надписи Вы будете наказаны.'; - }elseif($r == 8) { - echo '
Все усиления предмета (заточки, руны, чарки и т.д.) обнуляются без возможности возврата
'; - }elseif($r == 5) { - echo '
Внимание! Броня будет связана с вами общей судьбой!
'; - }elseif($r == 3) { - echo '
Внимание! При дезинтеграция изымается свиток заточки, руны и зачарование сохраняется.
'; - } - ?> - - bank['id'])) { - //Улучшение предметов за кр.\екр. - ?> - bank['id'])) - { - echo 'Банковский счет пуст, вход в магазин запрещен'; - }elseif(isset($_POST['bank']) && !isset($u->bank['id'])) - { - echo 'Неверный пароль от банковского счета.'; - } - ?> - -
Зайдите на свой банковский счет, для улучшения некоторых предметов требуются екр.
-
-
- - - - - - +$see = ''; +if ($r == 1) { + //ремонт предметов + $see = $u->genInv(4, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`iznosNOW` >= 1 ORDER BY `lastUPD` DESC'); + $see = $see[2]; +} elseif ($r == 5) { + //подгонка брони + $see = $u->genInv(56, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `im`.`inslot` = "5" AND `iu`.`data` NOT LIKE "%podgon%" ORDER BY `lastUPD` DESC'); + $see = $see[2]; +} elseif ($r == 2) { + //гравировка оружия + $see = $u->genInv(57, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") ORDER BY `lastUPD` DESC'); + $see = $see[2]; +} elseif ($r == 4) { + //вытаскивание рун + $see = $u->genInv(58, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%rune_id%" ORDER BY `lastUPD` DESC'); + $see = $see[2]; +} elseif ($r == 3) { + //дезинтеграция + $see = $u->genInv(59, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%upatack_id%") ORDER BY `lastUPD` DESC'); + $see = $see[2]; +} elseif ($r == 7) { + //модификация + $see = $u->genInv(60, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` NOT LIKE "%modif%" AND `im`.`type` > 0 AND `im`.`type` < 16 AND + (`iu`.`data` LIKE "%add_s1%" OR `iu`.`data` LIKE "%add_s2%" OR `iu`.`data` LIKE "%add_s3%" OR `iu`.`data` LIKE "%add_s5%" OR `iu`.`data` LIKE "%add_hpAll%" OR `iu`.`data` LIKE "%add_mib%") ORDER BY `lastUPD` DESC'); + $see = $see[2]; +} elseif ($r == 6) { + //Усиление + $see = $u->genInv(61, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%modif%" AND `iu`.`data` NOT LIKE "%upgrade=5%" ORDER BY `lastUPD` DESC'); + $see = $see[2]; +} elseif ($r == 8) { + if ($u->info['money2'] > 0) { + //Улучшения + $see = $u->genInv(62, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (SELECT `id` FROM `items_upgrade` WHERE `iid` = `iu`.`item_id` AND `activ` = 1 LIMIT 1) > 0 ORDER BY `lastUPD` DESC'); + $see = $see[2]; + } +} elseif ($r == 9) { + $itmos = ''; + $i = 0; + while ($i < count($itm_podgon)) { + $itmos .= ' OR `iu`.`item_id` = "' . $itm_podgon[$i] . '"'; + $i++; + } + if ($u->info['money2'] > 0 && !isset($_GET['upgradelvlcom'])) { + //Подгонка под комплект + $see = $u->genInv(63, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%|art=1%" ' . $itmos . ')'); + } else { + //Подгонка под комплект + $see = $u->genInv(64, '`iu`.`id` = "' . mysql_real_escape_string($_GET['upgradelvlcom']) . '" AND `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%|art=1%" ' . $itmos . ')'); + } + $see = $see[2]; +} - - -
- 0 || $_POST['work2'] == '1') { - $wrk = 1; - $epr = round($itmm['price2']*0.2,2); - }else{ - $wrk = 2; - $epr = round($itmm['price2']*0.4,2); - } - $sel = array(); - $sp = mysql_query('SELECT * FROM `complects`'); - while( $pl = mysql_fetch_array($sp) ) { - if(!isset($sel[$pl['com']]) && $com_podgon[$pl['name']] == true) { - $sel[$pl['com']] = true; - if($pl['com'] == $_POST['com2']) { - $com2 = $pl; - } - } - } - if( $com2['com'] > 0 && ($sti['complect'] == $com2['com'] || $sti['complect2'] == $com2['com']) ) { - $er2 = 'Предмет уже использует данный комплект.'; - }elseif( !isset($com2['id']) ) { - $er2 = 'Вы не можете подогнать предмет под данный комплект.'; - }elseif( $epr > $u->bank['money2'] ) { - $er2 = 'У вас недостаточно екр., требуется '.$epr.' екр.'; - }else{ - $sti['complect2'] = $com2['com']; - if($wrk == 1 && ($sti['sudba'] == '0' || !isset($sti['sudba']))) { - $sti['sudba'] = $u->info['login']; - } - $sti_imp = \Core\ConversionHelper::arrayToDataString($sti); - mysql_query('UPDATE `bank` SET `money2` = `money2` - "'.$epr.'" WHERE `id` = "'.$u->bank['id'].'" LIMIT 1'); - mysql_query('UPDATE `items_users` SET `data` = "'.mysql_real_escape_string($sti_imp).'" WHERE `id` = "'.$itmu['id'].'" LIMIT 1'); - $er2 = 'Предмет "'.$itmm['name'].'" успешно подогнан под "'.$com2['name'].'" за '.$epr.' екр.'; - } - } - ?> - - - - + + 'Починка поврежденных предметов', + 2 => 'Нанесение надписей на оружие (20 символов)', + 3 => 'Разделение на состаные части улучшенных предметов', + 4 => 'Извлечение рун', + 5 => 'Подогнать броню', + 6 => 'Улучшение модифицированных предметов', + 7 => 'Модификация предметов', + 8 => 'Улучшение уровня предмета', + 9 => 'Подгонка предмета под комплект', + ]; + $rn2 = [ + 1 => 'У вас в рюкзаке нет поврежденных предметов', + 2 => 'У вас в рюкзаке нет оружия, на которое можно нанести гравировку', + 3 => 'У вас в рюкзаке нет улучшенных предметов', + 4 => 'У вас в рюкзаке нет улучшенных предметов', + 5 => 'У вас в рюкзаке нет подходящих предметов', + 6 => 'У вас в рюкзаке нет подходящих предметов', + 7 => 'У вас в рюкзаке нет подходящих предметов', + 8 => 'У вас в рюкзаке нет подходящих предметов', + 9 => 'У вас в рюкзаке нет подходящих предметов', + ]; + ?> + + + + -
Счёт в банке
Выберите счёт и введите пароль
- - - -
- -
-
-
- '.$er2.'
'; - } - $html = ''; $sel = array(); - $sp = mysql_query('SELECT * FROM `complects`'); - while( $pl = mysql_fetch_array($sp) ) { - if(!isset($sel[$pl['com']]) && $com_podgon[$pl['name']] == true) { - $sel[$pl['com']] = true; - $html .= '
'; - } - } - echo $html; - ?>

Тип работ:
-
- -
- -

-
-
+if ($re != '') { + echo '
' . $re . '
'; +} ?> + + + + + - -
+
Ремонтная мастерская
+ ' . $error . ''; + ?> + + + - - -
+ + + + + + + + + + + +
  Залы:  >  Ремонт'; + } else { + echo 'Ремонт'; + } ?>   + >  Гравировка'; + } else { + echo 'Гравировка'; + } ?>   + >  Дезинтеграция'; + } else { + echo 'Дезинтеграция'; + } ?>   + >  Руны'; + } else { + echo 'Руны'; + } ?>   + >  Подгонка'; + } else { + echo 'Подгонка'; + } ?>   + microLogin($u->info['id'], 1) ?> 
-
-
+
+ -
  - - -
- - - - - - - -
- - - - - -
Центральная Площадь
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.  



- Внимание! Если у вас активирована бесплатная дезинтеграция "Рун" и "Заточек", все равно при себе необходимо иметь сумму стоимости дезинтеграции -
-
-

- '.$re2.''; } - ?> -

-

-

-

-
-
-
- - \ No newline at end of file + if ($r == 2) { + echo '
Орден Света предупреждает, что за нецензурные или оскорбительные надписи Вы будете наказаны.
'; + } elseif ($r == 8) { + echo '
Все усиления предмета (заточки, руны, чарки и т.д.) обнуляются без возможности возврата
'; + } elseif ($r == 5) { + echo '
Внимание! Броня будет связана с вами общей судьбой!
'; + } elseif ($r == 3) { + echo '
Внимание! При дезинтеграция изымается свиток заточки, руны и зачарование сохраняется.
'; + } + ?> + + info['money2'])) { + //Улучшение предметов за кр.\екр. + echo 'Для улучшения некоторых предметов требуются екр.'; + } else { + if ($r == 9 && isset($_GET['upgradelvlcom']) && $see != '') { + $itmu = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `id` = "' . mysql_real_escape_string($_GET['upgradelvlcom']) . '" LIMIT 1')); + $itmm = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $itmu['item_id'] . '" LIMIT 1')); + if ($itmm['price2'] == 0) { + $itmm['price2'] = $itmm['price1'] / 5; + } + $sts = explode('|', $itmu['data']); + $i = 0; + $ste = ''; + $sti = []; + while ($i < count($sts)) { + $ste = explode('=', $sts[$i]); + if (isset($ste[1])) { + if (!isset($sti[$ste[0]])) { + $sti[$ste[0]] = 0; + } + $sti[$ste[0]] += intval($ste[1]); + } + $i++; + } + if (isset($_POST['com2'], $_POST['work2'])) { + $epr = 0; + if ($sti['sudba'] > 0 || $_POST['work2'] == '1') { + $wrk = 1; + $epr = round($itmm['price2'] * 0.2, 2); + } else { + $wrk = 2; + $epr = round($itmm['price2'] * 0.4, 2); + } + $sel = []; + $sp = mysql_query('SELECT * FROM `complects`'); + while ($pl = mysql_fetch_array($sp)) { + if (!isset($sel[$pl['com']]) && $com_podgon[$pl['name']] == true) { + $sel[$pl['com']] = true; + if ($pl['com'] == $_POST['com2']) { + $com2 = $pl; + } + } + } + if ($com2['com'] > 0 && ($sti['complect'] == $com2['com'] || $sti['complect2'] == $com2['com'])) { + $er2 = 'Предмет уже использует данный комплект.'; + } elseif (!isset($com2['id'])) { + $er2 = 'Вы не можете подогнать предмет под данный комплект.'; + } elseif ($epr > $u->info['money2']) { + $er2 = 'У вас недостаточно екр., требуется ' . $epr . ' екр.'; + } else { + $sti['complect2'] = $com2['com']; + if ($wrk == 1 && ($sti['sudba'] == '0' || !isset($sti['sudba']))) { + $sti['sudba'] = $u->info['login']; + } + $sti_imp = ConversionHelper::arrayToDataString($sti); + $u->addEkr(-$epr); + mysql_query('UPDATE `items_users` SET `data` = "' . mysql_real_escape_string($sti_imp) . '" WHERE `id` = "' . $itmu['id'] . '" LIMIT 1'); + $er2 = 'Предмет "' . $itmm['name'] . '" успешно подогнан под "' . $com2['name'] . '" за ' . $epr . ' екр.'; + } + } + ?> + + + + + + +
+
+
+
+
+ ' . $er2 . '
'; + } + $html = ''; + $sel = []; + $sp = mysql_query('SELECT * FROM `complects`'); + while ($pl = mysql_fetch_array($sp)) { + if (!isset($sel[$pl['com']]) && $com_podgon[$pl['name']] == true) { + $sel[$pl['com']] = true; + $html .= '
'; + } + } + echo $html; + ?>

Тип работ:
+
+ +
+ +

+
+
+
+
+
+ +
+ + + +
  + + + +
+ + + + + + + +
+ + + + + +
Центральная Площадь
+
+
+
+

+
+ + Масса: aves['now'] ?>/aves['max'] ?>  
+ У вас в наличии: info['money'], 2); ?> кр.  



+ Внимание! Если у вас активирована бесплатная дезинтеграция "Рун" и "Заточек", все равно при себе необходимо иметь сумму + стоимости дезинтеграции +
+
+

+ ' . $re2 . ''; + } + ?> +

+

+

+

+
+
+
+ diff --git a/modules_data/location/ruine.php b/modules_data/location/ruine.php deleted file mode 100644 index 6659e8c1..00000000 --- a/modules_data/location/ruine.php +++ /dev/null @@ -1,222 +0,0 @@ - - var elem = document.getElementById('se-pre-con'); - elem.parentNode.removeChild(elem); - - "; -if(!defined('GAME')) { die(); } -if($u->room['file']=='ruine') { - - $rn = mysql_fetch_array(mysql_query('SELECT * FROM `ruine_now` WHERE `id` = "'.$u->info['inTurnir'].'" LIMIT 1')); - if(!isset($rn['id'])) { - die('Руины. Турнир был закончен, либо не найден...'); - } - - $ru = mysql_fetch_array(mysql_query('SELECT * FROM `ruine_users` WHERE `bot` = "'.$u->info['id'].'" AND `tid` = "'.$rn['id'].'" LIMIT 1')); - if(!isset($rn['id'])) { - die('Руины. Вы уже не участвуете в турнире...'); - } - - function add_log($txt) { - global $rn; - if( isset($rn['id']) ) { - mysql_query('INSERT INTO `ruine_logs` ( `tid` , `time` , `text` ) VALUES ( - "'.$rn['id'].'","'.time().'","'.mysql_real_escape_string($txt).'" - )'); - } - } - - if( isset($_GET['ruine_exit']) ) { - //Записываем в лог что игрок покинул турнир - if( $u->info['real'] == 0 ) { - $txt = $u->microLogin($u->info['__id'],1); - if( $u->info['sex'] == 0 ) { - $txt .= ' покинул турнир и ничего не получил!'; - }else{ - $txt .= ' покинула турнир и ничего не получила!'; - } - add_log($txt); - // - mysql_query('DELETE FROM `ruine_users` WHERE `bot` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('DELETE FROM `users` WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('DELETE FROM `stats` WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - mysql_query('DELETE FROM `eff_users` WHERE `id` = "'.$u->info['id'].'"'); - mysql_query('DELETE FROM `users_delo` WHERE `id` = "'.$u->info['id'].'"'); - mysql_query('DELETE FROM `items_users` WHERE `id` = "'.$u->info['id'].'"'); - mysql_query('DELETE FROM `actions` WHERE `id` = "'.$u->info['id'].'"'); - // - mysql_query('UPDATE `users` SET `room` = "412", `inUser` = "0" WHERE `id` = "'.$u->info['__id'].'" LIMIT 1'); - header('location: main.php'); - }else{ - die('Реальный пользователь в турнире! Обратитесь к Администрации, СРОЧНО!'); - } - }elseif( isset($_GET['attack']) ) { - $ra = mysql_fetch_array(mysql_query('SELECT `id`,`sex`,`battle`,`real`,`login`,`align`,`clan` FROM `users` WHERE `login` = "'.mysql_real_escape_string($_GET['attack']).'" AND `room` = "'.$u->info['room'].'" AND `real` = 0 LIMIT 1')); - if(!isset($ra['id'])) { - $u->error = 'Участник турнира с логином "'.htmlspecialchars($_GET['attack']).'" не найден.'; - }else{ - $ra_st = mysql_fetch_array(mysql_query('SELECT `id`,`x`,`y`,`hpNow` FROM `stats` WHERE `id` = "'.$ra['id'].'" LIMIT 1')); - if( $ra_st['x'] != $u->info['x'] || $ra_st['y'] != $ra_st['y'] ) { - $u->error = 'Вы находитесь в разных комнатах.'; - }else{ - $ra_ru = mysql_fetch_array(mysql_query('SELECT * FROM `ruine_users` WHERE `bot` = "'.$ra['id'].'" AND `tid` = "'.$rn['id'].'" LIMIT 1')); - if( $ra_ru['team'] == $ru['team'] ) { - $u->error = 'Нельзя нападать на союзников!'; - }else{ - // - $tbtl = mysql_fetch_array(mysql_query('SELECT * FROM `battle` WHERE `id` = "'.$ra['battle'].'" AND `team_win` = "-1" LIMIT 1')); - if( !isset($tbtl['id']) && $ra['battle'] > 0 ) { - $ra['battle'] = 0; - $ra_st['team'] = 0; - mysql_query('UPDATE `users` SET `battle` = 0 WHERE `id` = "'.$usr['id'].'" LIMIT 1'); - if( $ra_st['hpNow'] < 1 ) { - mysql_query('UPDATE `stats` SET `hpNow` = 1 WHERE `id` = "'.$usr['id'].'" LIMIT 1'); - } - } - // - $ua1 = $u->microLogin($u->info['__id'],1); - $ua2 = $u->microLogin($ra_ru['uid'],1); - // - $btl_id = $magic->atackUser($u->info['id'],$ra['id'],$ra_st['team'],$ra['battle']); - // - if( $ra['battle'] > 0 ) { - if( $u->info['sex'] == 0 ) { - $txt = $ua1 . ' вмешался в бой против ' . $ua2 . '.'; - }else{ - $txt = $ua1 . ' вмешалася в бой против ' . $ua2 . '.'; - } - }else{ - if( $u->info['sex'] == 0 ) { - $txt = $ua1 . ' напал на ' . $ua2 . ' и завязался бой.'; - }else{ - $txt = $ua1 . ' напала на ' . $ua2 . ' и завязался бой.'; - } - } - add_log($txt); - // - if( $btl_id > 0 ) { - mysql_query('UPDATE `battle` SET `inTurnir` = "'.$rn['id'].'",`timeout` = "'.(rand(1,3)*60).'" WHERE `id` = "'.$btl_id.'" LIMIT 1'); - } - // - header('location: main.php'); - // - } - } - } - } - -?> - - - - - -
-
-

Тестовая локация

-
-
- - - - - -
- error != '') { - echo '
'.$u->error.'

'; - } - - $tmn = array( - 1 => array( - 'Красные','red' - ), - 2 => array( - 'Синие','blue' - ) - ); - $tm1 = $ru['team']; - if( $tm1 == 1 ) { - $tm2 = 2; - }else{ - $tm2 = 1; - } - echo 'Счет: '.$rn['t1w'].' - '.$rn['t2w'].'

'; - echo '
Ваша команда: '.$tmn[$tm1][0].'
'; - $i = 0; - $ph = 100; - $sp = mysql_query('SELECT * FROM `ruine_users` WHERE `tid` = "'.$rn['id'].'" AND `team` = "'.$tm1.'"'); - while( $pl = mysql_fetch_array($sp) ) { - $plst = $u->getStats($pl['bot'],0); - $hppx = -10; - if( $plst['mpAll'] < 1 ) { - $hppx = -4; - } - $hpmp = ' -
'.floor($plst['hpNow']).'/'.$plst['hpAll'].'
-
-
-
- '; - if( $plst['mpAll'] >= 1 ) { - $hpmp .= ' -
'.floor($plst['mpNow']).'/'.$plst['mpAll'].'
-
-
-
- '; - } - echo ' -
'.$u->microLogin($pl['bot'],1).''.$hpmp.'(x: '.$plst['x'].', y: '.$plst['y'].')
'; - $i++; - } - unset($plst,$sp,$pl); - - if( $i == 0 ) { - echo '
'.$tmn[$tm1][0].' покинули турнир.'; - } - - echo '

Команда противника: '.$tmn[$tm2][0].'
'; - $i = 0; - $sp = mysql_query('SELECT * FROM `ruine_users` WHERE `tid` = "'.$rn['id'].'" AND `team` = "'.$tm2.'"'); - while( $pl = mysql_fetch_array($sp) ) { - $plst = $u->getStats($pl['bot'],0); - $hppx = -10; - if( $plst['mpAll'] < 1 ) { - $hppx = -4; - } - $hpmp = ' -
'.floor($plst['hpNow']).'/'.$plst['hpAll'].'
-
-
-
- '; - if( $plst['mpAll'] >= 1 ) { - $hpmp .= ' -
'.floor($plst['mpNow']).'/'.$plst['mpAll'].'
-
-
-
- '; - } - echo ' -
'.$u->microLogin($pl['bot'],1).''.$hpmp.'(x: '.$plst['x'].', y: '.$plst['y'].')
'; - $i++; - } - if( $i == 0 ) { - echo '
'.$tmn[$tm2][0].' покинули турнир.'; - } - ?> -
- - - Логи турнира - -
- diff --git a/modules_data/location/ruine_enter.php b/modules_data/location/ruine_enter.php deleted file mode 100644 index 0a44c9e7..00000000 --- a/modules_data/location/ruine_enter.php +++ /dev/null @@ -1,210 +0,0 @@ -room['file']=='ruine_enter') { - - $loc_c = array( - 'users' => 2, // сколько человек нужно для старта - 'money' => '0.00', // сколько кр. нужно для входа - 'free' => 125 - ); - - if(isset($_GET['join'])) { - $rz = mysql_fetch_array(mysql_query('SELECT * FROM `ruine_zv` WHERE `uid` = "'.$u->info['id'].'" LIMIT 1')); - if(isset($rz['id'])) { - $u->error = 'Вы уже принимаете участие в турнире'; - }else{ - $rc = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `ruine_zv` LIMIT 1')); - if( $rc[0] >= $loc_c['users'] ) { - $u->error = 'Вы опоздали, эта группа уже начала турнир. Попробуйте еще раз...'; - }else{ - if( $u->info['money'] < (int)$loc_c['money'] ) { - $u->error = 'Для участия в турнире необходимо заплатить '.$loc_c['money'].' кр.'; - }else{ - mysql_query('INSERT INTO `ruine_zv` ( - `city`,`time`,`uid`,`money` - ) VALUES ( - "'.$u->info['city'].'","'.time().'","'.$u->info['id'].'","'.((int)$loc_c['money']).'" - )'); - mysql_query('UPDATE `users` SET `money` = "'.($u->info['money'] - (int)$loc_c['money']).'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - $u->error = 'Вы заплатили '.$loc_c['money'].' кр. за участие в турнире.'; - } - } - unset($rc); - } - }elseif(isset($_GET['cancel'])) { - $rz = mysql_fetch_array(mysql_query('SELECT * FROM `ruine_zv` WHERE `uid` = "'.$u->info['id'].'" LIMIT 1')); - if(!isset($rz['id'])) { - $u->error = 'Вы не участвуете в турнире'; - }else{ - $rc = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `ruine_zv` LIMIT 1')); - if( $rc[0] >= $loc_c['users'] ) { - $u->error = 'Турнир уже начался...'; - }else{ - mysql_query('DELETE FROM `ruine_zv` WHERE `id` = "'.$rz['id'].'" LIMIT 1'); - mysql_query('UPDATE `users` SET `money` = "'.($u->info['money'] + $rz['money']).'" WHERE `id` = "'.$rz['uid'].'" LIMIT 1'); - $u->error = 'Вы вернули '.$loc_c['money'].' кр. и покинули турнирную заявку.'; - } - unset($rc); - } - } - -?> - - - - - -
-
-

room['name']; ?>

-
-
- - - - - -
  - - - - -
- - - - - - -
- - - - -
Большая парковая улица
-
-
-
- - - - - -
- error != '') { - echo '
'.$u->error.'

'; - } - ?> - Всего одержано побед в руинах: 0

- = $loc_c['users'] ) { - // - mysql_query('INSERT INTO `ruine_now` ( - `time_start`,`time_finish`,`t1w`,`t2w`,`tw` - ) VALUES ( - "'.time().'","0","0","0","0" - )'); - $text_user = ''; - $rid = mysql_insert_id(); - // - $team = rand(1,2); - // - if( $rid > 0 ) { - // - $sp = mysql_query('SELECT * FROM `ruine_zv`'); - while( $pl = mysql_fetch_array($sp) ) { - // - if( $team == 1 ) { - $team = 2; - }else{ - $team = 1; - } - // - $bus = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "'.$pl['uid'].'" LIMIT 1')); - if(isset($bus['id'])) { - //Создаем бота - $text_user[$team] .= $u->microLogin($bus['id'],1).', '; - // - mysql_query('INSERT INTO `users` (`obraz`,`chatColor`,`align`,`inTurnir`,`molch1`,`molch2`,`login`,`room`,`name`,`sex`,`level`,`bithday`) VALUES ( - "'.$bus['obraz'].'","'.$bus['chatColor'].'","'.$bus['align'].'","'.$rid.'","'.$bus['molch1'].'","'.$bus['molch2'].'","'.$bus['login'].'","413","'.$bus['name'].'","'.$bus['sex'].'","10","'.date('d.m.Y').'")'); - // - $inbot = mysql_insert_id(); //айди бота - if( $inbot > 0 ) { - //Создаем данные в руинах - $rx = 0; - $ry = 0; - // - $botst = mysql_fetch_array(mysql_query('SELECT * FROM `ruine_sets` WHERE `uid` = "'.$bus['id'].'" AND `use` = 1 LIMIT 1')); - if(!isset($botst['id'])) { - $botst = array( - 's1' => 0,'s2' => 0,'s3' => 0,'s4' => 0,'s5' => 0,'s6' => 0, - 'free' => $loc_c['free'] - ); - } - // - mysql_query('INSERT INTO `stats` (`res_x`,`res_y`,`timeGo`,`timeGoL`,`upLevel`,`dnow`,`id`,`stats`,`exp`,`ability`,`skills`,`x`,`y`) - VALUES ( - "'.$rx.'","'.$ry.'", - "'.(time()+180).'","'.(time()+180).'","81","0","'.$inbot.'", - "s1='.round($botst['s1']+3).'|s2='.round($botst['s2']+3).'|s3='.round($botst['s3']+3).'|s4='.round($botst['s4']+3).'|s5='.round($botst['s5']).'|s6='.round($botst['s6']).'|rinv=40|m9=5|m6=10","0", - "'.$botst['free'].'","11","'.$rx.'","'.$ry.'" - )'); - // - mysql_query('UPDATE `users` SET `room` = "414", `inUser` = "'.$inbot.'" WHERE `id` = "'.$bus['id'].'" LIMIT 1'); - // - mysql_query('INSERT INTO `ruine_users` ( - `tid`,`team`,`uid`,`bot`,`die`,`last_die`,`money` - ) VALUES ( - "'.$rid.'","'.$team.'","'.$bus['id'].'","'.$inbot.'","0","0","'.$pl['money'].'" - )'); - // - mysql_query('DELETE FROM `ruine_zv` WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - // - } - // - } - // - } - // - } - // - $text_user[1] = rtrim($text_user[1],', '); - $text_user[2] = rtrim($text_user[2],', '); - $text = 'Турнир между '.$text_user[1].' и '.$text_user[2].' начался.'; - // - mysql_query('INSERT INTO `ruine_logs` ( - `tid`,`time`,`text` - ) VALUES ( - "'.$rid.'","'.time().'","'.mysql_real_escape_string($text).'" - )'); - // - } - // - $rz = mysql_fetch_array(mysql_query('SELECT * FROM `ruine_zv` WHERE `uid` = "'.$u->info['id'].'" LIMIT 1')); - echo 'Группа с хаотичным распределением. Набрано '.$i.'/'.$loc_c['users'].' чел. '; - if( isset($rz['id']) ) { - echo ''; - }else{ - echo ''; - } - ?> -
- - - -
- diff --git a/modules_data/location/shop2_.php b/modules_data/location/shop2_.php deleted file mode 100644 index c13cba18..00000000 --- a/modules_data/location/shop2_.php +++ /dev/null @@ -1,400 +0,0 @@ -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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' Воинственности..',time(),$u->info['city'],'System.shop',0,0); - }else{ - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' Воинственности. (Воинственность не переведена).',time(),$u->info['city'],'System.shop',0,0); - $error = 'Не удалось продать предмет...'; - } - }else{ - $error = 'Не удалось продать предмет...'; - } - }else{ - $error = 'Предмет не найден в инвентаре.'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- Отдел "Оружие: кастеты,ножи"', - 'Отдел "Оружие: топоры"', - 'Отдел "Оружие: дубины,булавы"', - 'Отдел "Оружие: мечи"', - 'Отдел "Оружие: магические посохи"', - - 'Отдел  Ресурсы: пещерные ', - - 'Отдел "Одежда: плащи и накидки"', - - 'Отдел "Заклинания: нейтральные"', - 'Отдел "Одежда: "', - 'Отдел "Усилений:"', - 'Отдел "Сундуки"', - 'Отдел "Одежда: шлемы"', - 'Отдел "Одежда: наручи"', - 'Отдел "Одежда: пояса"', - 'Отдел "Одежда: поножи"', - 'Отдел "Щиты"', - 'Отдел "Ювелирные товары: серьги"', - 'Отдел "Ювелирные товары: ожерелья"', - 'Отдел "Ювелирные товары: кольца"', - - 'Отдел "Заклинания: нейтральные"', - 'Отдел "Заклинания: боевые и защитные"' - ,'Отдел "Заклинания: пирожки"' - ,'Отдел "Заклинания: исцеляющие"' - ,'Отдел "Заклинания: манящие"' - ,'Отдел "Заклинания: стратегические"' - ,'Отдел "Заклинания: тактические"' - ,'Отдел "Заклинания: сервисные"' - - ,'Отдел "Амуниция"', - 'Отдел "Эликсиры"', - 'Отдел "Подарки"', - 'Отдел "Подарки: недобрые"', - 'Отдел "Подарки: упаковка"', - 'Отдел "Подарки: открытки"', - 'Отдел "Подарки: фейерверки"', - 'Отдел "Усиление оружия: заточки"', - 'Отдел "Наставничество: образы"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } elseif (isset($_GET['sale']) && $_GET['sale']) - { - echo ' - Отдел "Скупка"
- Здесь вы можете продать свои вещи, за жалкие гроши...
- У вас в наличии: - '; - } - ?> -
- - - 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 = ''; - }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 = ''; - }else{ - $itmAllSee = $itmAll[2]; - } - echo $itmAllSee; - } - ?> -
У вас нет подходящих предметов
ПУСТО
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Государственный магазин
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: rep['rep3']-$u->rep['rep3_buy']); ?> Воинственности
  - -
-
-  '; - } else { - echo ' '; - }*/ - ?> -
-
-
Отделы магазина
-
-
- '.$otdels_array[$i].' -
- '; - } else { - $i = -2; - } - $i++; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/shop_.php b/modules_data/location/shop_.php index adda9927..6cfddfe2 100644 --- a/modules_data/location/shop_.php +++ b/modules_data/location/shop_.php @@ -1,744 +1,140 @@ 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 = '
Хаосникам запрещается делать подарки другим игрокам
'; - } elseif ($to['id'] == $u->info['id']) { - $re = '
Очень щедро дарить что-то самому себе ;)
'; - } elseif ($u->info['level'] < 4) { - $re = '
Дарить подарки можно начиная с 4-го уровня
'; - } 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 = '
Недостаточно денег
'; - } 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 = 'Анонима'; - } 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 = 'клана ' . $cln['name'] . ''; - } - } - - $fspam = $filter->spamFiltr(str_replace('точка', '.', str_replace('ру', 'ru', $itm['gtxt1']))); - if ($fspam != '0') { - $itm['gtxt1'] = '<РВС>'; - $itm['gtxt2'] = '<РВС>'; - } - - $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'], '"Shop.' . $u->info['city'] . '": Получен подарок от [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'], '"Shop.' . $u->info['city'] . '": Сделал подарок персонажу [id="' . $to['id'] . '"/ Логин : "' . $whos['login'] . '"]. Предмет [id="' . $itm['id'] . '"/ Название : "' . $itm['name'] . '"] содержыит: "' . $itm['data'] . '"', time(), $u->info['city'], 'Shop.gift', 0, 0); - if ($upd) { - $re = '
Подарок был успешно отправлен к "' . $to['login'] . '" за ' . $itm_l['money'] . ' кр.
'; - if ($giftlogin == $u->info['login']) { - $text = ' Получен подарок ' . $itm_l['name'] . '. От персонажа [login:' . $u->info['login'] . '] .'; - } else { - $text = ' Получен подарок ' . $itm_l['name'] . '. От персонажа ' . $giftlogin . ' .'; - } - - $cmsg->setText($text); - $chat->sendMsg($cmsg); - } else { - $re = '
Не удалось сделать подарок
'; - } - } else { - $re = '
Не удалось сделать подарок, он испортился...
'; - } - } else { - $re = '
Не удалось сделать подарок, курьер случайно сломал его...
'; - } - } else { - $re = '
Предмет не найден
'; - } - } 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 = '
Дарить подарки возможно только в упаковке!
'; - } elseif (!isset($po['item_inbox'])) { - $re = '
Вы ничего не запоковали в упаковку!
'; - } 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'] = '<РВС>'; - $itm['gtxt2'] = '<РВС>'; - } - - $giftlogin = $u->info['login']; - - if ($fspam != '0') { - //Если спам то хуй анонимно! - } elseif ($_POST['from'] == 1) { - //Анонимно - $giftlogin = 'Анонима'; - } 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 = 'клана ' . $cln['name'] . ''; - } - } - $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'], '"Shop.' . $u->info['city'] . '": Получен подарок от [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'], '"Shop.' . $u->info['city'] . '": Сделал подарок персонажу [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 = '
Подарок был успешно отправлен к "' . $to['login'] . '"
'; - if ($giftlogin == $u->info['login']) { - $text = ' Получен подарок ' . $itm['name'] . '. От персонажа [login:' . $u->info['login'] . '] .'; - } else { - $text = ' Получен подарок ' . $itm['name'] . '. От персонажа ' . $giftlogin . ' .'; - } - - $cmsg->setText($text); - $chat->sendMsg($cmsg); - } else { - $re = '
Не удалось сделать подарок
'; - } - } else { - $re = '
Предмет не найден
'; - } - } - } +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 = 'ПУСТО'; } else { - $re = '
Персонаж с таким логином не найден
'; + $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 '
У Вас действует бонус при продаже: ' . $bns . '%
Вы сможете продавать предметы за ' . $shopProcent . '% от их стоимости
'; +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'], '"System.shop": Предмет "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '] был продан в магазин за ' . $shpCena . ' кр..', time(), $u->info['city'], 'System.shop', 0, 0); - } else { - $u->addDelo(2, $u->info['id'], '"System.shop": Предмет "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '] был продан в магазин за ' . $shpCena . ' кр. (кредиты не переведены).', 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 . ' воинственности.
- Ваша воинственность: ' . ($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'], '"System.shop": Предмет "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '] был продан в магазин за ' . $shpCena . ' воинственность..', time(), $u->info['city'], 'System.shop', 0, 0); - } else { - $u->addDelo(2, $u->info['id'], '"System.shop": Предмет "' . $itm['name'] . ' (x' . $col . ')" [itm:' . $itm['id'] . '] был продан в магазин за ' . $shpCena . ' воинственность. (Репутация не переведена).', 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 = 'У вас нет подходящих предметов'; } else { - $error = 'Подходящий предмет не найден в инвентаре.'; + $itmAllSee = $itmAll[2]; } } -if ($re != '') { - echo '
' . $re . '
'; -} ?> - - - - - - - -
-
Магазин
-

Магазин принимает вещи 0-7 уровней под 100%, вещи 8-го уровня под 95%, вещи 9-го уровня, а также свитки и эликсиры можно сдать в магазин под 70%.
- ' . $error . ''; - ?> -
- - - - - -
- - - - - - - '; - } - if ($htmlg2 != '') { - echo ''; - echo ''; - } - 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 = ''; - } 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 = ''; - } else { - $itmAllSee = $itmAll[2]; - } - echo $itmAllSee; - } - ?> -
- Отдел "Оружие: кастеты,ножи"', - 'Отдел "Оружие: топоры"', - 'Отдел "Оружие: дубины,булавы"', - 'Отдел "Оружие: мечи"', - 'Отдел "Оружие: магические посохи"', - 'Отдел "Одежда: сапоги"', - 'Отдел "Одежда: перчатки"', - 'Отдел "Одежда: рубахи"', - 'Отдел "Одежда: легкая броня"', - 'Отдел "Одежда: тяжелая броня"', - 'Отдел "Одежда: шлемы"', - 'Отдел "Одежда: наручи"', - 'Отдел "Одежда: пояса"', - 'Отдел "Одежда: поножи"', - 'Отдел "Щиты"', - 'Отдел "Ювелирные товары: серьги"', - 'Отдел "Ювелирные товары: ожерелья"', - 'Отдел "Ювелирные товары: кольца"', - - 'Отдел "Заклинания: нейтральные"', - 'Отдел "Заклинания: боевые и защитные"' - , 'Отдел "Заклинания: пирожки"' - , 'Отдел "Заклинания: исцеляющие"' - , 'Отдел "Заклинания: манящие"' - , 'Отдел "Заклинания: стратегические"' - , 'Отдел "Заклинания: тактические"' - , 'Отдел "Заклинания: сервисные"' - - , 'Отдел "Амуниция"', - 'Отдел "Эликсиры"', - 'Отдел "Еда"', - 'Отдел "Подарки"', - 'Отдел "Подарки: недобрые"', - 'Отдел "Подарки: упаковка"', - 'Отдел "Подарки: открытки"', - 'Отдел "Подарки: фейерверки"', - 'Отдел "Усиление оружия: Заточки"', - 'Отдел "Плащи и Накидки:"', - 'Отдел "Готовые Комплекты:"'); - if (isset($otdels_small_array[$_GET['otdel']])) { - echo $otdels_small_array[$_GET['otdel']]; - } - //echo '
Магазин принимает вещи 0-7 уровней под 100%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.'; - - } elseif (isset($_GET['sale']) && $_GET['sale']) { - echo ' - Отдел "Скупка"
- Здесь вы можете продать свои вещи, за жалкие гроши...
' . - //Магазин принимает вещи 0-7 уровней под 99%, вещи 8-го уровня под 95%, вещи 9-го уровня, а так же свитки и эликсиры можно сдать в магазин под 70%.
- 'У вас в наличии: - '; - } elseif (isset($_GET['gifts'])) { - echo ' - Отдел "Сделать подарки"'; - } - ?> -
- - - - - - - - info['id'] . '"'); - while ($pl = mysql_fetch_array($sp)) { - $itmg2 = '
- Вы можете сделать подарок дорогому человеку. Ваш подарок будет отображаться в информации о персонаже. -
    -
  1. Укажите логин персонажа, которому хотите сделать подарок
    - Логин - -
  2. Цель подарка. Будет отображаться в информации о персонаже (не более 60 символов)
    - info['exp'] >= 500000) { ?> - - - -
    Для редактирования текста нужно 500000 Опыта! - -
  3. Напишите текст сопроводительной записки (в информации о персонаже не отображается)
    - info['exp'] >= 500000) { ?> - - - - - -
    Для редактирования текста нужно 500000 Опыта! - -
  4. Выберите, от чьего имени подарок:
    - info['login'] ?> [info['level'] ?>]
    - анонимно
    - info['clan'] > 0) { ?> от имени клана
    -
  5. Нажмите кнопку Подарить под предметом, который хотите преподнести в подарок:
    -
- -
' . - // - '
' . - '' . - // - '
' . - // - '' . $pl['name'] . '   (Масса: 1)
Долговечность: 0/1
' . - 'Описание:
Это именной подарок, его можете подарить только Вы.
Сделано в Capital city
' . - // - '
'; - $htmlg2 .= '
' . $itmg2 . '

Уникальные подарки

' . $htmlg2 . '

Стандартные подарки

У вас нет подходящих предметов
ПУСТО
-
-
- - - - -
  - - - -
- - - - - - - -
- - - - - - - - - -
Центральная Площадь
Подпольная лавка
-
-
-
-

-
- - Масса: aves['now'] ?>/aves['max'] ?>  
- У вас в наличии: info['money'], 2); ?> кр.   - info['level'] < 8 && $c['zuby'] == true) { - ?> -
Зубов: zuby($u->info['money4']) ?>     - -
-
-
-
-  '; - } else { - echo ' '; - } - ?> - -
-
-
-
-
Отделы магазина
-
-
- -   Одежда: Готовые Комплекты", - ''); - $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 '
Оружие:
'; - } elseif ($i == 6) { - echo '
Одежда:
'; - } elseif ($i == 15) { - echo '
Щиты:
'; - } elseif ($i == 16) { - echo '
Ювелирные товары:
'; - } elseif ($i == 19) { - echo '
Заклинания:
'; - } elseif ($i == 27) { - echo '
Амуниция:
'; - } elseif ($i == 28) { - echo '
Эликсиры:
'; - } elseif ($i == 30) { - echo '
Подарки:
'; - } elseif ($i == 35) { - echo '
Прочее:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if (isset($_GET['gifts'])) { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo '
Возможности:
'; - echo ' - - -
- +/** @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); diff --git a/modules_data/location/shop_kat.php b/modules_data/location/shop_kat.php deleted file mode 100644 index 7734f524..00000000 --- a/modules_data/location/shop_kat.php +++ /dev/null @@ -1,357 +0,0 @@ -newAct($_GET['sd4'])==true){ - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],'frompisher='.$d->info['id2'].'|nosale=1'); - }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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр..',time(),$u->info['city'],'System.shop',0,0); - } else { - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр. (кредиты не переведены).',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 = $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/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.' воинственности.
- Ваша воинственность: '.($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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' воинственность..',time(),$u->info['city'],'System.shop',0,0); - }else{ - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' воинственность. (Репутация не переведена).',time(),$u->info['city'],'System.shop',0,0); - $error = 'Не удалось обменять предмет...'; - } - }else{ - $error = 'Не удалось обменять предмет...'; - } - }else{ - $error = 'Подходящий предмет не найден в инвентаре.'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
'.$error.''; - ?> -
- - - - - - -
- - - - - - -
- Отдел "Заклятия"', - 'Отдел "Боевый и защитные"', - ); - if(isset($otdels_small_array[$_GET['otdel']])){ - echo $otdels_small_array[$_GET['otdel']]; - } - } - ?> -
- - - 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 `lastUPD` DESC'); - if($itmAll[0]==0){ - $itmAllSee = ''; - }else{ - $itmAllSee = $itmAll[2]; - } - echo $itmAllSee; - } - ?> -
ПУСТО
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Вернуться назад
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   - info['level'] < 8 && $c['zuby'] == true) { - ?> -
Зубов: zuby($u->info['money4'])?>     - -
-
-
-
-
-
Отделы магазина
-
- - Карманные предметы:
'; - }elseif($i == 2) { - echo '
Боевые и защитные:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - ?> - -
-
- - \ No newline at end of file diff --git a/modules_data/location/shop_priz.php b/modules_data/location/shop_priz.php deleted file mode 100644 index 4bdb1b0c..00000000 --- a/modules_data/location/shop_priz.php +++ /dev/null @@ -1,364 +0,0 @@ -room['file']=='shop_priz') -{ - $shopProcent = 100-$c['shop_type1']; - - if(!isset($_GET['otdel'])) { - $_GET['otdel'] = 1; - } - $sid = 404; - $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 = $itm['iznosNOW']/$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']>$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){ - 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'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр..',time(),$u->info['city'],'System.shop',0,0); - } else { - $u->addDelo(2,$u->info['id'],'"System.shop": Предмет "'.$itm['name'].' (x'.$col.')" [itm:'.$itm['id'].'] был продан в магазин за '.$shpCena.' кр. (кредиты не переведены).',time(),$u->info['city'],'System.shop',0,0); - $error = 'Не удалось продать предмет...'; - } - } else { - $error = 'Не удалось продать предмет...'; - } - } else { - $error = 'Предмет не найден в инвентаре.'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - - - -
'.$error.''; - ?> -
- - - - -
- - - - - - '; - } - if( $htmlg2 != '' ) { - echo ''; - echo ''; - } - 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") AND (`iu`.`gift` = "" OR (`iu`.`data` LIKE "%|zazuby=%" AND `iu`.`gift` = 1)) ORDER BY `lastUPD` DESC'); - if($itmAll[0]==0){ - $itmAllSee = ''; - }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 `lastUPD` DESC'); - if($itmAll[0]==0){ - $itmAllSee = ''; - }else{ - $itmAllSee = $itmAll[2]; - } - echo $itmAllSee; - } - ?> -
- 'Отдел "Оружие: кастеты,ножи"',2=>'Отдел "Оружие: топоры"',3=>'Отдел "Оружие: дубины,булавы"',4=>'Отдел "Оружие: мечи"',5=>'Отдел "Оружие: магические посохи"',6=>'Отдел "Одежда: сапоги"',7=>'Отдел "Одежда: перчатки"',8=>'Отдел "Одежда: рубахи"',28=>'Отдел "Одежда: плащи"',9=>'Отдел "Одежда: легкая броня"',10=>'Отдел "Одежда: тяжелая броня"',11=>'Отдел "Одежда: шлемы"',12=>'Отдел "Одежда: наручи"',13=>'Отдел "Одежда: пояса"',14=>'Отдел "Одежда: поножи"',15=>'Отдел "Щиты"',16=>'Отдел "Ювелирные товары: серьги"',17=>'Отдел "Ювелирные товары: ожерелья"',18=>'Отдел "Ювелирные товары: кольца"',19=>'Отдел "Заклинания: нейтральные"',20=>'Отдел "Заклинания: боевые и защитные"',21=>'Отдел "Амуниция"',22=>'Отдел "Амуниция: эликсиры"',23=>'Отдел "Подарки"',24=>'Отдел "Подарки: недобрые"',25=>'Отдел "Подарки: открытки"',26=>'Отдел "Подарки: упаковка"',27=>'Отдел "Подарки: фейерверки"',29=>'Отдел "Пещерные ресурсы"'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } elseif (isset($_GET['sale'])) - { - echo ' - Отдел "Продажа предметов"'; - } - ?> -
- - - - - - info['id'].'"'); - while( $pl = mysql_fetch_array($sp) ) { - $itmg2 = '
-Вы можете сделать подарок дорогому человеку. Ваш подарок будет отображаться в информации о персонаже. -
    -
  1. Укажите логин персонажа, которому хотите сделать подарок
    -Логин - -
  2. Цель подарка. Будет отображаться в информации о персонаже (не более 60 символов)
    - -
  3. Напишите текст сопроводительной записки (в информации о персонаже не отображается)
    - -
  4. Выберите, от чьего имени подарок:
    - info['login']?> [info['level']?>]
    - анонимно
    -info['clan']>0){ ?> от имени клана
    -
  5. Нажмите кнопку Подарить под предметом, который хотите преподнести в подарок:
    -
- -
'. - // - '
'. - ''. - // - '
'. - // - ''.$pl['name'].'   (Масса: 1)
Долговечность: 0/1
'. - 'Описание:
Это именной подарок, его можете подарить только Вы.
Сделано в Capital city
'. - // - '
'; - $htmlg2 .= '
'.$itmg2.'

Уникальные подарки

' . $htmlg2 . '

Стандартные подарки

У вас нет подходящих предметов
ПУСТО
-
-
- -
  - - -
- - - - - - - -
- - - - - - - - - ?> -
Большая Парковая Улица
Подпольная лавка
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- '  Кастеты,ножи',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'=>'  Пещерные ресурсы',/*29=>'Подарочные сертификаты'/*,29=>'Слоты смены: Постоянные',30=>'     Временные слоты смены'*/); - $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 '
Оружие:
'; - } elseif($i == 6) { - echo '
Одежда:
'; - } elseif($i == 15) { - echo '
Щиты:
'; - } elseif($i == 16) { - echo '
Ювелирные товары:
'; - } elseif($i == 19) { - echo '
Заклинания:
'; - } elseif($i == 21) { - echo '
Амуниция:
'; - } elseif($i == 22) { - echo '
Эликсиры:
'; - } elseif($i == 23) { - echo '
Подарки:
'; - } elseif($i == 28) { - echo '
Дополнительно:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - echo '
'; - ?> -
- - -
- - \ No newline at end of file diff --git a/modules_data/location/spavedlivost.php b/modules_data/location/spavedlivost.php deleted file mode 100644 index f279b3dc..00000000 --- a/modules_data/location/spavedlivost.php +++ /dev/null @@ -1,214 +0,0 @@ -info; -$timer = time()+24*60*60; - -$is_eff=mysql_fetch_array(mysql_query("SELECT id,timeUse FROM eff_users where id_eff='397' and `delete` =0 and uid='".$u->info['id']."'")); -if($_GET['get']=='10' && $is_eff[0]==0){ - /* - 'm1'=>'Мф. критического удара (%)', - 'm2'=>'Мф. против критического удара (%)', - 'm3'=>'Мф. мощности крит. удара (%)', - 'm4'=>'Мф. увертывания (%)', - 'm5'=>'Мф. против увертывания (%)', - 'm6'=>'Мф. контрудара (%)', - 'm7'=>'Мф. парирования (%)', - 'm10'=>'Мф. мощности урона', - 'm11'=>'Мф. мощности магии стихий', - 'za'=>'Защита от урона', - 'zm'=>'Защита от магии стихий' - - 's1'=>'Сила', - 's2'=>'Ловкость', - 's3'=>'Интуиция', - 's4'=>'Выносливость', - 's5'=>'Интеллект', - 's6'=>'Мудрость', - 's7'=>'Духовность', - 's8'=>'Воля', - 's9'=>'Свобода духа', - 's10'=>'Божественность' - $u->info['admin'] - */ - - $datadd='|add_m10='.rand(1,5).'|add_m11='.rand(1,5).'|add_m6='.rand(1,2).'|add_m7='.rand(1,2).'|add_za='.rand(5,10).''; - if(mysql_query("UPDATE `users` SET `money`=`money`+'10' where `id`='".$user['id']."'") and - mysql_query('INSERT INTO `eff_users` ( - `id_eff`,`uid`,`name`,`data`,`overType`,`timeUse` - ) VALUES ( - "397","'.$user['id'].'","Благословление Справедливости","add_exp=5'.$datadd.'|nofastfinisheff=1","105","'.time().'" - )')); - { - $err = "Справедливость сегодня в хорошем настроении. Вы получили Благословление Справедливости и 10 кредитов!"; - mysql_query('UPDATE `users_achiv` SET `pa`= `pa`+1 WHERE `id` = "'.$user['id'].'" LIMIT 1'); - } -} -elseif($_GET['get']=='10' && $is_eff[0]>0){ - $wait_sec=$is_eff['timeUse']; - $new_t=time(); - $left_time=$wait_sec-$new_t; - $left_min=floor($left_time/3600); - $left_sec=floor(($left_time-$left_min*3600)/60); - if($left_min==1){$time_h="час";} - if($left_min>1 and $left_min<5){$time_h="часа";} - if($left_min>4){$time_h="часов";} - $time_left=$left_min." ".$time_h." ".$left_sec." мин"; - - $err="Вы уже получали благословение Справедливости. Дождитесь окончания текущего Благословления"; -} - -?> - - - - - - - - - -
- - - -

"Памятник Справедливости"

- -
-info['id'].'" AND `data` LIKE "%musor_art=1%" AND `delete` < 1234567890 LIMIT 1')); - $take_today = 0 + $take_today[0]; - if( $take_today < 2 ) { - $error .= 'Вы взяли у Ангела «'.$itm['name'].'» найти вы его можете у себя в рюкзаке.'; - \User\ItemsModel::addItem($itm['id'],$u->info['id'],'|sudba='.$u->info['login'].'|nosale=1|frompisher=1|musor_art=1'); - }else{ - $error .= 'Ангел Вам уже выдал предмет, больше вы не получите, если хотите поменять свою вещь, отдайте Ангелу те которые вы уже взяли !'; - } - }else{ - $error .= 'Предмет не найден!'; - } - }elseif(isset($_GET['restart'])) { - if(mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `uid` = "'.$u->info['id'].'" AND `data` LIKE "%musor_art=1%" AND `delete` < 1234567890')) { - $error .= 'Вы отдали все вещи полученные в дар Ангелом, выберите себе новые предметы.'; - }else{ - $error .= 'У вас нет предметов от Ангела.'; - } - } - - echo ''.$error.'
'; - - $i = 0; - $items = ''; - while($i < count($arr)) { - $itm = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.mysql_real_escape_string($arr[$i]).'" LIMIT 1')); - if(isset($itm['id'])) { - $items .= '   '; - } - $i++; - } - - /*echo 'Отдать Ангелу вещи
Возможно взять вещи:
'; - if( $items != '' ) { - echo '

'.$items; - }else{ - echo 'Нет предметов'; - }*/ -?> -
-
-
-
-
- - -
  - - - - - -
- - - - - - -
- - - - -
- - - - - -
  - - -
- - - - - - - -
- - - - - -
Площадь поклона
-
-
-
-
- -
- - - -
- -
- - - - - - -
- Благословление Справедливости: получить - - - -
- - -
-
-
- - -
- -
- \ No newline at end of file diff --git a/modules_data/location/taverna.php b/modules_data/location/taverna.php deleted file mode 100644 index 575229c4..00000000 --- a/modules_data/location/taverna.php +++ /dev/null @@ -1,204 +0,0 @@ -room['file'] == 'taverna') -{ - $shopProcent = 50; - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 9; - - $error = ''; - - if(isset($_GET['buy'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x'],''); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Таверна
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Еда'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - - - - - -
Рыцарский зал
Торговый зал
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- 'Еда'); - $i=1; - while ($i!=-1) - { - if(isset($otdels_array[$i])) - { - if(isset($_GET['otdel']) && $_GET['otdel']==$i) - { - $color = 'C7C7C7'; - } else { - $color = 'e2e0e0'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/location/vokzal.php b/modules_data/location/vokzal.php deleted file mode 100644 index a3e3c8a0..00000000 --- a/modules_data/location/vokzal.php +++ /dev/null @@ -1,335 +0,0 @@ -room['file']=='vokzal') -{ - $cs = ''; $cbuy = array(); $tmref = 0; - $sp = mysql_query('SELECT * FROM `vokzal` WHERE `city` = "'.$u->info['city'].'" OR `tocity` = "'.$u->info['city'].'"'); - while($pl = mysql_fetch_array($sp)) - { - $vz1 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['city'].'" LIMIT 1')); - $vz2 = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$pl['tocity'].'" LIMIT 1')); - $crm = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "'.$pl['name'].'" LIMIT 1')); - //period 0 - прибытие в город (стоянка), 1 - движение, 3 - прибытие в другой город (стоянка), 4 - движение (из tocity) - if($pl['time_start_go']==0) - { - //Это новая карета обновляем данные - mysql_query('UPDATE `vokzal` SET `time_start_go` = "'.(time()+$pl['timeStop']*60).'",`time_finish_go` = "'.(time()+$pl['timeStop']*60+$pl['time_go']*60).'" WHERE `id` = "'.$pl['id'].'" LIMIT 1'); - $pl['time_start_go'] = time()+$pl['timeStop']*60; - $pl['time_finish_go'] = $pl['time_start_go']+$pl['time_go']*60; - } - $see = 1; - $plc = $pl['tocity']; - $col = 'e6e6e6" style="color:#B7B7B7;"'; - $tmgo = '(Прибудет в '.date('H:i',$pl['time_finish_go']).')'; - $bl = '--'; - $bb = 'билетов нет'; - if($pl['time_start_go']-600time()) - { - //можно знанимать места в карете - if(isset($crm['id'])) - { - $sr = mysql_query('SELECT `uid`,`id` FROM `items_users` WHERE `secret_id` = "'.$pl['time_start_go'].'_b'.$pl['id'].'" AND `delete` = "0" LIMIT 100'); - while($pr = mysql_fetch_array($sr)) - { - $upd1 = mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `id` = "'.$pr['id'].'" LIMIT 1'); - if($upd1) - { - mysql_query('UPDATE `users` SET `room` = "'.$crm['id'].'" WHERE `online` > '.(time()-120).' AND `room` = "'.$u->info['room'].'" AND `id` = "'.$pr['uid'].'" LIMIT 1'); - } - } - } - } - if((($pl['period']==0 && $u->info['city']==$pl['city']) || ($pl['period']==3 && $u->info['city']==$pl['tocity'])) && $pl['time_start_go']>time() && $pl['citygo']!=$u->info['city']) - { - $see = 1; - $tmgo = date('d.m.Y в H:i',$pl['time_start_go']); - $col = 'c9c9c9'; - $bl = $pl['bilets']; - $bb = ''; - if($pl['bilets']<=0) - { - $bb = 'билетов нет'; - } - }else{ - //отправляем карету в другой город - if($pl['time_finish_go']'.$tmgo.' - '.$u->city_name[$plc].' - '.$pl['time_go'].' мин. - '.$pl['price1'].' кр. - нет - '.$bl.' - '.$bb.' - '; - if($pl['time_start_go']-time()<$tmref) - { - $tmref = $pl['time_start_go']-time(); - } - if($bl!='--' && $bl>0 && $pl['citygo']!=$u->info['city']) - { - $cbuy[$pl['id']] = 1; - } - } - } - - if(isset($_GET['buy']) && $u->newAct($_GET['sd4'])==true) - { - $buy = mysql_fetch_array(mysql_query('SELECT * FROM `vokzal` WHERE `time_start_go` > "'.time().'" AND `citygo` != "'.$u->info['city'].'" AND `id` = "'.mysql_real_escape_string($_GET['buy']).'" LIMIT 1')); - if(isset($buy['id']) && isset($cbuy[$buy['id']])) - { - if($buy['bilets']<=0) - { - $error = 'Билетов больше нет, загляните позже'; - }elseif($u->info['money']>=$buy['price1']) - { - $u->info['money'] -= $buy['price1']; - $upd = mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if($upd) - { - //передаем Билет персонажу - $error = 'Вы заплатили '.$buy['price1'].' кр. за билет в '.$u->city_name[$buy['tocity']].'
Отправка в '.date('d.m.Y H:i',$buy['time_start_go']).' по серверу'; - $ib = 'Дата отправления кареты в '.$u->city_name[$buy['tocity']].': '.date('d.m.Y в H:i',$buy['time_start_go']).'
Билет на имя: '.$u->info['login'].''; - $ins = mysql_query('INSERT INTO `items_users` (`1price`,`maidin`,`data`,`uid`,`item_id`,`iznosMAX`,`lastUPD`,`secret_id`,`time_create`) VALUES ("'.$buy['price1'].'","'.$u->info['city'].'","info='.$ib.'|noodet=1","'.$u->info['id'].'","866","1","'.time().'","'.$buy['time_start_go'].'_b'.$buy['id'].'","'.time().'")'); - if($ins) - { - $error .= '
Предмет "Билет" был перемещен к Вам в инвентарь, в раздел "прочее".'; - mysql_query('UPDATE `vokzal` SET `bilets` = "'.($buy['bilets']-1).'" WHERE `id` = "'.$buy['id'].'" LIMIT 1'); - }else{ - $error = 'Не удалось приобрести билет'; - } - }else{ - $u->info['money'] += $buy['price1']; - $error = 'Не удалось приобрести билет'; - } - }else{ - $error = 'У Вас недостаточно денег'; - } - }else{ - $error = 'Не удалось приобрести билет'; - } - } - - $zd = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time` >= '.time().' AND `vars` = "teleport" LIMIT 1',1); - - if(isset($_GET['teleport']) && !isset($zd['id'])) - { - $tp = mysql_fetch_array(mysql_query('SELECT * FROM `teleport` WHERE `city` = "'.$u->info['city'].'" AND `cancel` = "0" AND `id` = "'.((int)$_GET['teleport']).'" LIMIT 1')); - if(isset($tp['id'])) - { - if($u->info['money']>=$tp['price1']) - { - $rm = mysql_fetch_array(mysql_query('SELECT * FROM `room` WHERE `name` = "Вокзал" AND `city` = "'.$tp['toCity'].'" LIMIT 1')); - if(isset($rm['id'])) - { - $u->info['money'] -= $tp['price1']; - $u->info['city'] = $tp['toCity']; - mysql_query('UPDATE `users` SET `money` = "'.$u->info['money'].'",`city` = "'.$u->info['city'].'",`room` = "'.$rm['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1'); - if( $u->stats['silver'] >= 3 ) { - $tp['time'] = round($tp['time']/2); - } - $u->addAction((time()+$tp['time']*60),'teleport',$tp['toCity']); - die(''); - }else{ - $error = 'Нельзя телепортироваться, возможно вокзал в этом городе был разрушен...'; - } - }else{ - $error = 'У вас недостаточно средсв'; - } - }else{ - $error = 'Нельзя телепортироваться...'; - } - } - - $cst = ''; - $sp = mysql_query('SELECT * FROM `teleport` WHERE `city` = "'.$u->info['city'].'" AND `cancel` = "0"'); - while($pl = mysql_fetch_array($sp)) - { - $col = 'e6e6e6" style="color:#B7B7B7;"'; - if(!isset($zd['id'])) - { - $col = 'c9c9c9'; - } - $cst .= ' - '.$pl['toCity'].' - '.$u->timeOut($pl['time']*60).' - '.$pl['price1'].' кр.'; - if(isset($zd['id'])) - { - $cst .= 'Задержка еще '.$u->timeOut($zd['time']-time()).''; - }else{ - $cst .= 'Поехали!'; - } - $cst .= ''; - } - if($re!=''){ echo '
'.$re.'
'; } ?> - - - -
room['name'].' "'.$u->city_name[$u->info['city']].'"'; ?>
- '.$error.''; - if($cst!='') - { - ?> -
- Телепортация в другие города(Возможна через '.$u->timeOut($zd['time']-time()).')'; } ?> -
- -
- - - - - - - - -
пункт назначения
время задержки телепортации
цена телепортации
Телепортироваться
-
- - - 600 && $tmref>0){ echo ''; } if($cs==''){ echo '

Сегодня нет свободных карет для перемещения в другие города
'; } ?> -

- -
-
  - - -
- - - - - - - -
- - - - - -
Центральная Площадь
-
-
-
-
-
-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
-
- - \ No newline at end of file diff --git a/modules_data/location/zooshop.php b/modules_data/location/zooshop.php deleted file mode 100644 index 917787ae..00000000 --- a/modules_data/location/zooshop.php +++ /dev/null @@ -1,206 +0,0 @@ -room['file'] == 'zooshop') -{ - $shopProcent = 50; - - if(!isset($_GET['otdel'])) - { - $_GET['otdel'] = 1; - } - - $sid = 8; - - $error = ''; - - if(isset($_GET['buy'])) - { - if($u->newAct($_GET['sd4'])==true) - { - $re = $u->buyItem($sid,(int)$_GET['buy'],(int)$_GET['x']); - }else{ - $re = 'Вы уверены что хотите купить этот предмет?'; - } - } - - if($re!=''){ echo '
'.$re.'
'; } ?> - - - - -
Зоомагазин
- '.$error.''; - ?> -
- - - - - - -
- - - - - - -
- 'Заклинания: нейтральные',2=>'Амуниция: Еда'); - if(isset($otdels_small_array[$_GET['otdel']])) - { - echo $otdels_small_array[$_GET['otdel']]; - } - - } - ?> -
- - - shopItems($sid); - ?> -
-
-
-
-
  - - -
- - - - - - - -
- - - - - -
Большая торговая улица
-
-
-
-

-
- - Масса: aves['now']?>/aves['max']?>  
- У вас в наличии: info['money'],2); ?> кр.   -
-
-
-
-
-
Отделы магазина
-
- '  Нейтральные',2=>'  Еда'); - $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 '
Заклинания:
'; - } elseif($i == 2) { - echo '
Амуниция:
'; - } - echo ' - - '; - } else { - $i = -2; - } - $i++; - } - - if(isset($_GET['gifts'])) - { - $color = 'C7C7C7'; - } - ?> -
-
-
- - \ No newline at end of file diff --git a/modules_data/stats_inv.php b/modules_data/stats_inv.php index b8b04579..868085bf 100644 --- a/modules_data/stats_inv.php +++ b/modules_data/stats_inv.php @@ -59,37 +59,6 @@ if (isset($_GET['showmenu'])) { var block = document.getElementById('block_' + id); block.style.display = 'none'; } - info['id'] . '"') - ); - ?> - function bank_info() { - bank['id']) && $rb[0] == 0){ ?> - alert('У Вас нет активных счетов. \n\n На правах рекламы: Вы можете открыть счёт в Банке "",' + - ' на Страшилкиной улице*\n\n* Мелким шрифтом: услуга платная.'); - 0){ - ?> - var ddtpswBank = '
' + - '
Счёт в банкеx
Выберите счёт и введите пароль
' + - '
'; - var ddtpsBankDiv = document.getElementById('chpassbank'); - if (ddtpsBankDiv != undefined) { - ddtpsBankDiv.style.display = ''; - ddtpsBankDiv.innerHTML = ddtpswBank; - } - - } function save_com_can() { var ddtpsBankDiv = document.getElementById('chpassbank'); diff --git a/online.php b/online.php index 6549b0d2..eec92daf 100644 --- a/online.php +++ b/online.php @@ -200,8 +200,7 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { //Молчанка за флуд на 5 минут $u->info['molch1'] = time() + 1200; - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","Вы наказаны за спам на 20 минут ","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","Вы наказаны за спам на 20 минут ","Black","1","1","0"]);'; Db::sql('update users set molch1 = ? where id = ?', [$u->info['molch1'], $u->info['id']]); Db::sql('update chat set `delete` = 1 where login = ?', [$u->info['login']]); @@ -211,11 +210,11 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { $training_manager = TrainingManager::getInstance(); $training_manager->addPoint('chat_first_quest'); - if(preg_match("/to\[(.*?)\]/", $_POST['msg'])) { + if (preg_match("/to\[(.*?)\]/", $_POST['msg'])) { $training_manager->addPoint('chat_second_quest'); } - if(preg_match("/private\[(.*?)\]/", $_POST['msg'])) { + if (preg_match("/private\[(.*?)\]/", $_POST['msg'])) { $training_manager->addPoint('chat_third_quest'); } @@ -235,13 +234,11 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { $chat->sendMsg($cmsg); } } elseif ($lmg > 0) { - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","Вы не можете отправлять так часто сообщения... ","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","Вы не можете отправлять так часто сообщения... ","Black","1","1","0"]);'; if ($u->info['molch1'] < time()) { if ($u->info['molch1'] < -5) { $u->info['molch1'] = time() + 300; - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","Вы наказаны за флуд на 5 минут ","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","Вы наказаны за флуд на 5 минут ","Black","1","1","0"]);'; } elseif ($u->info['molch1'] < 0) { $u->info['molch1']--; } else { @@ -254,8 +251,7 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { } elseif ((preg_match("/private\[(.*?)\]/", $_POST['msg'], $msg['to']) || preg_match( "/private \[(.*?)\]/", $_POST['msg'], $msg['to'] )) && $u->info['exp'] < 150000) { - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","Вы не можете отправлять приват до достижения 150000 опыта.","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","Вы не можете отправлять приват до достижения 150000 опыта.","Black","1","1","0"]);'; } else { //Записываем данные @@ -297,8 +293,7 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { if ($msg['fspam'] != '0') { $msg['spam'] = 1; $msg['delete'] = 1; - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","В нашем чате запрещается сообщать ссылки на атльтернативные проекты. Повторные попытки могут привести к блокировке персонажа.","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","В нашем чате запрещается сообщать ссылки на атльтернативные проекты. Повторные попытки могут привести к блокировке персонажа.","Black","1","1","0"]);'; } if ($msg['spam'] == 1 && $u->info['molch1'] < time() && $u->info['admin'] == 0) { @@ -320,11 +315,9 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { if ($mban['vals'] + 1 < 2) { $msg['fspam'] = str_replace('%', ',', $msg['fspam']); $msg['fspam'] = '' . ltrim($msg['fspam'], '0,') . ''; - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","В нашем чате запрещается сообщать ссылки на атльтернативные проекты. Запрещенные слова: ' . $msg['fspam'] . '. Предупреждения [' . ($mban['vals'] + 1) . '/1]","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","В нашем чате запрещается сообщать ссылки на атльтернативные проекты. Запрещенные слова: ' . $msg['fspam'] . '. Предупреждения [' . ($mban['vals'] + 1) . '/1]","Black","1","1","0"]);'; } else { - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","В нашем чате запрещается сообщать ссылки на атльтернативные проекты. Вы наказаны за нарушение правил общения.","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","В нашем чате запрещается сообщать ссылки на атльтернативные проекты. Вы наказаны за нарушение правил общения.","Black","1","1","0"]);'; $cmsg = new ChatMessage(); $cmsg->setCity($u->info['city']); @@ -342,8 +335,7 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { WHERE `id` = ' . $u->info['id']); $rtxt = $rang . ' "' . $u->info['login'] . '" Автоинформатор: ' . $msg['text'] . ' [' . $msg['fspam'] . '].'; mysql_query( - "INSERT INTO `users_delo` (`uid`,`ip`,`city`,`time`,`text`,`login`,`type`) VALUES ('" . $u->info['id'] . "','" . $_SERVER['REMOTE_ADDR'] . "','" . $u->info['city'] . "','" . time( - ) . "','" . $rtxt . "','" . $u->info['login'] . "',0)" + "INSERT INTO `users_delo` (`uid`,`ip`,`city`,`time`,`text`,`login`,`type`) VALUES ('" . $u->info['id'] . "','" . $_SERVER['REMOTE_ADDR'] . "','" . $u->info['city'] . "','" . time() . "','" . $rtxt . "','" . $u->info['login'] . "',0)" ); } } @@ -359,16 +351,14 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { ) ); if (isset($qix['id'])) { - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","Вас добавили в игнор: Вы не можете отправлять сообщения персонажу "' . htmlspecialchars( + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","Вас добавили в игнор: Вы не можете отправлять сообщения персонажу "' . htmlspecialchars( $msg['to'] ) . '".","Black","1","1","0"]);'; $msg['cancel']++; } if ($msg['type'] == 3 && $msg['to'] == 'klan') { if ($u->info['clan'] == 0) { - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","Вы не являетесь частью одного из Кланов и не можете общаться по этому каналу.","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","Вы не являетесь частью одного из Кланов и не можете общаться по этому каналу.","Black","1","1","0"]);'; $msg['cancel']++; } else { $msg['to'] = 'k' . $u->info['clan']; @@ -408,8 +398,7 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') { $msg['to'] = ''; $msg['type'] = 21; if ($msw == 'USER IS FALSE') { - $r['js'] .= 'chat.sendMsg(["new","' . time( - ) . '","6","","' . $u->info['login'] . '","Персонажа нет в данной комнате.","Black","1","1","0"]);'; + $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","Персонажа нет в данной комнате.","Black","1","1","0"]);'; $nosend = 1; } } elseif ($chat->str_count($_POST['msg'], 3) == '/e ') { @@ -689,62 +678,45 @@ $sp = mysql_query( 'SELECT `nosee`,`frv`,`id`,`dn`,`active`,`invis`,`login`,`to`,`city`,`room`,`time`,`type`,`spam`,`text`,`toChat`,`color`,`typeTime`,`sound`,`global`,`delete`,`molch`,`da` FROM `chat` WHERE ( ( - `delete` > 0 - AND + `delete` > 0 AND `time` > ' . (time() - 360) . ' - ) - OR + ) OR ( - `time` > ' . (time() - 120) . ' - OR - ( - `time` = -1 - AND - ( - `to` = "' . $u->info['login'] . '" - OR - `type` = 8 - ) - ) - OR - ( - `time` < -1 - AND - `time` > -' . time() . ' - AND - ( - `to` = "' . $u->info['login'] . '" - OR - `type` = 8 - OR - `to` = "" - ) - ) - ) - ) - AND - `new` = "1" - AND - ( - `id` > ' . ((int)$_POST['mid']) . ' - OR - `delete` > 0 - OR - `spam` > 0 - OR + `time` > ' . (time() - 120) . ' OR ( - `time` < 0 - AND - `time` > -' . time() . ' - AND + `time` = -1 AND ( - `to` = "' . $u->info['login'] . '" - OR + `to` = "' . $u->info['login'] . '" OR + `type` = 8 + ) + ) OR + ( + `time` < -1 AND + `time` > -' . time() . ' AND + ( + `to` = "' . $u->info['login'] . '" OR + `type` = 8 OR `to` = "" ) ) ) - ORDER BY `id` ASC' + ) + AND + `new` = "1" AND + ( + `id` > ' . ((int)$_POST['mid']) . ' OR + `delete` > 0 OR + `spam` > 0 OR + ( + `time` < 0 AND + `time` > -' . time() . ' AND + ( + `to` = "' . $u->info['login'] . '" OR + `to` = "" + ) + ) + ) + ORDER BY `id`' ); while ($pl = mysql_fetch_array($sp)) { @@ -932,8 +904,7 @@ while ($pl = mysql_fetch_array($sp)) { if (isset($lmsch['id'])) { $lmsch['id']++; mysql_query( - 'UPDATE `chat` SET `id` = "' . $lmsch['id'] . '",`time` = "' . time( - ) . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' + 'UPDATE `chat` SET `id` = "' . $lmsch['id'] . '",`time` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1' ); $pl['id'] = $lmsch['id']; } else { @@ -1049,8 +1020,7 @@ if ($r['key'] == $_GET['key']) { $posts = mysql_fetch_array( mysql_query( - 'SELECT COUNT(`id`) FROM `items_users` AS `iu` WHERE `iu`.`uid` = "-51' . $u->info['id'] . '" AND `iu`.`delete` = 0 AND `iu`.`inOdet` = 0 AND `iu`.`inShop` = 0 AND `iu`.`lastUPD` < ' . time( - ) . ' LIMIT 1' + 'SELECT COUNT(`id`) FROM `items_users` AS `iu` WHERE `iu`.`uid` = "-51' . $u->info['id'] . '" AND `iu`.`delete` = 0 AND `iu`.`inOdet` = 0 AND `iu`.`inShop` = 0 AND `iu`.`lastUPD` < ' . time() . ' LIMIT 1' ) ); $posts = $posts[0]; diff --git a/ruletka2.php b/ruletka2.php index f170461a..7369a872 100644 --- a/ruletka2.php +++ b/ruletka2.php @@ -1,26 +1,16 @@ info['level'] <= 7) { - die(''); +if (!defined('GAME_VERSION')) { + require_once '_incl_data/autoload.php'; } -mysql_query( - "LOCK TABLES - `actions` WRITE, - `bank` WRITE, - `users` WRITE, - `users_delo` WRITE, - `chat` WRITE, - `stats` WRITE, - `ruletka` WRITE, - `ruletka_coin` WRITE, - `bandit` WRITE;" -); +$u = User::start(); + +if ($u->info['level'] < 8) { + die(); +} /* 33|2-0-0-0-2-0, @@ -53,661 +43,557 @@ mysql_query( if ($u->room['name'] != 'Рулетка') { die(); -} else { +} - //Раздаем выйгрыши +$time = 74; //сек до новой игры +$status = 0; //статус игры, 2 - крутим колесо +$win = [ + 0 => 0, //число выйгрыша + 1 => '', //линии выйгрыша + 2 => 0, //сумма выйгрыша + 3 => 0, //ставка на эту игру текущего игрока + //ставки + 4 => '', + //игроки которые делали ставки + 5 => '', +]; - function get2str($key = '', $val = '') - { - $get = $_GET; - if (is_array($key)) { - if (count($key) > 0) { - foreach ($key as $k => $v) { - $get[$k] = $v; - } - } - } else { - $get[$key] = $val; - } - if (count($get) > 0) { - foreach ($get as $k => $v) { - if (empty($v)) { - unset($get[$k]); - } - } - } - if (count($get) > 0) { - foreach ($get as $k => $v) { - $get[$k] = $k . '=' . urlencode($v); - } - return '?' . implode('&', $get); - } - } - - $r = ''; - $time = 74; //сек до новой игры - $status = 0; //статус игры, 2 - крутим колесо - $win = [ - 0 => 0, //число выйгрыша - 1 => '', //линии выйгрыша - 2 => 0, //сумма выйгрыша - 3 => 0, //ставка на эту игру текущего игрока - //ставки - 4 => '', - //игроки которые делали ставки - 5 => '', - ]; - - - //Выделяем текущую игру, если её нет, то создаем новую - $gid = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `ruletka` WHERE (`end` = 0 OR `id` = "' . ((int)$_GET['id']) . '") ORDER BY `id` DESC LIMIT 1' - ) - ); - if ($gid['time_start'] + 16 > time() || isset($_GET['bet'])) { - $mnr = true; - } - $gid3 = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `ruletka` WHERE `end` >0 AND `id` = "' . ((int)$_GET['id']) . '" ORDER BY `id` DESC LIMIT 1' - ) - ); - if (isset($gid3['id'])) { - $gid = $gid3; - unset($gid3); - } - $add = false; - if (isset($gid['id'])) { - //Игра существует, проверяем - $time = $gid['time_start'] - time(); - if ($time < 1) { - //крутим колесо и заканчиваем игру + выдаем выйгрыш - //mysql_query('UPDATE `ruletka` SET `end` = "'.time().'" WHERE `id` = "'.$gid['id'].'" LIMIT 1'); - //выводим предыдущий выйгрыш - $win[0] = $gid['win']; - $win[1] = $gid['win_line']; - $win[2] = 0; - $win[3] = 0; - if ($gid['end'] == 0) { - $add = true; - } - } else { - //ожидаем начала игры, делаем ставки - if (isset($_GET['bet'])) { - $bt = $_GET['bet']; - $good = 0; - $i = 0; - while ($i <= 38) { - if ($i == $bt) { - $good++; - } - $i++; - } - - /* - Ставки и значения - - 1, ... ,36 - ставка на числа [x8] - - 2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35 - черное [x2] - 1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36 - красное [x2] - - 37 - два нуля [x36] - 38 - ноль [x36] - - 1-2-3-37-38 - потолок [x5] - - 1-2-3-4-5-6-7-8-9-10-11-12 - 1 сектор [x3] - 13-14-15-16-17-18-19-20-21-22-23-24 - 2 сектор [x3] - 25-26-27-28-29-30-31-32-33-34-35-36 - 3 сектор [x3] - - */ - - if ($bt == '' && $good == 0) { - $good++; - } elseif ($bt == '35-36' && $good == 0) { - $good++; - } elseif ($bt == '34-35' && $good == 0) { - $good++; - } elseif ($bt == '32-33' && $good == 0) { - $good++; - } elseif ($bt == '31-32' && $good == 0) { - $good++; - } elseif ($bt == '29-30' && $good == 0) { - $good++; - } elseif ($bt == '28-29' && $good == 0) { - $good++; - } elseif ($bt == '26-27' && $good == 0) { - $good++; - } elseif ($bt == '25-26' && $good == 0) { - $good++; - } elseif ($bt == '23-24' && $good == 0) { - $good++; - } elseif ($bt == '22-23' && $good == 0) { - $good++; - } elseif ($bt == '20-21' && $good == 0) { - $good++; - } elseif ($bt == '19-20' && $good == 0) { - $good++; - } elseif ($bt == '17-18' && $good == 0) { - $good++; - } elseif ($bt == '16-17' && $good == 0) { - $good++; - } elseif ($bt == '14-15' && $good == 0) { - $good++; - } elseif ($bt == '13-14' && $good == 0) { - $good++; - } elseif ($bt == '11-12' && $good == 0) { - $good++; - } elseif ($bt == '10-11' && $good == 0) { - $good++; - } elseif ($bt == '8-9' && $good == 0) { - $good++; - } elseif ($bt == '7-8' && $good == 0) { - $good++; - } elseif ($bt == '5-6' && $good == 0) { - $good++; - } elseif ($bt == '4-5' && $good == 0) { - $good++; - } elseif ($bt == '2-3' && $good == 0) { - $good++; - } elseif ($bt == '1-2' && $good == 0) { - $good++; - } elseif ($bt == '32-33-35-36' && $good == 0) { - $good++; - } elseif ($bt == '31-32-34-35' && $good == 0) { - $good++; - } elseif ($bt == '29-30-32-33' && $good == 0) { - $good++; - } elseif ($bt == '28-29-31-32' && $good == 0) { - $good++; - } elseif ($bt == '26-27-29-30' && $good == 0) { - $good++; - } elseif ($bt == '25-26-28-29' && $good == 0) { - $good++; - } elseif ($bt == '23-24-26-27' && $good == 0) { - $good++; - } elseif ($bt == '22-23-25-26' && $good == 0) { - $good++; - } elseif ($bt == '20-21-23-24' && $good == 0) { - $good++; - } elseif ($bt == '19-20-22-23' && $good == 0) { - $good++; - } elseif ($bt == '17-18-20-21' && $good == 0) { - $good++; - } elseif ($bt == '16-17-19-20' && $good == 0) { - $good++; - } elseif ($bt == '14-15-17-18' && $good == 0) { - $good++; - } elseif ($bt == '13-14-16-17' && $good == 0) { - $good++; - } elseif ($bt == '11-12-14-15' && $good == 0) { - $good++; - } elseif ($bt == '10-11-13-14' && $good == 0) { - $good++; - } elseif ($bt == '8-9-11-12' && $good == 0) { - $good++; - } elseif ($bt == '7-8-10-11' && $good == 0) { - $good++; - } elseif ($bt == '5-6-8-9' && $good == 0) { - $good++; - } elseif ($bt == '4-5-7-8' && $good == 0) { - $good++; - } elseif ($bt == '2-3-5-6' && $good == 0) { - $good++; - } elseif ($bt == '1-2-4-5' && $good == 0) { - $good++; - } elseif ($bt == '2-3-37' && $good == 0) { - $good++; - } elseif ($bt == '1-2-38' && $good == 0) { - $good++; - } elseif ($bt == '38-1' && $good == 0) { - $good++; - } elseif ($bt == '2-4-6-8-10-12-14-16-18-20-22-24-26-28-30-32-34-36' && $good == 0) { - $good++; - } elseif ($bt == '1-3-5-7-9-11-13-15-17-19-21-23-25-27-29-31-33-35' && $good == 0) { - $good++; - } elseif ($bt == '19-20-21-22-23-24-25-26-27-28-29-30-31-32-33-34-35-36' && $good == 0) { - $good++; - } elseif ($bt == '1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18' && $good == 0) { - $good++; - } elseif ($bt == '28-29-30-31-32-33' && $good == 0) { - $good++; - } elseif ($bt == '22-23-24-25-26-27' && $good == 0) { - $good++; - } elseif ($bt == '16-17-18-19-20-21' && $good == 0) { - $good++; - } elseif ($bt == '10-11-12-13-14-15' && $good == 0) { - $good++; - } elseif ($bt == '4-5-6-7-8-9' && $good == 0) { - $good++; - } elseif ($bt == '31-32-33-34-35-36' && $good == 0) { - $good++; - } elseif ($bt == '25-26-27-28-29-30' && $good == 0) { - $good++; - } elseif ($bt == '19-20-21-22-23-24' && $good == 0) { - $good++; - } elseif ($bt == '13-14-15-16-17-18' && $good == 0) { - $good++; - } elseif ($bt == '7-8-9-10-11-12' && $good == 0) { - $good++; - } elseif ($bt == '1-2-3-4-5-6' && $good == 0) { - $good++; - } elseif ($bt == '34-35-36' && $good == 0) { - $good++; - } elseif ($bt == '31-32-33' && $good == 0) { - $good++; - } elseif ($bt == '28-29-30' && $good == 0) { - $good++; - } elseif ($bt == '25-26-27' && $good == 0) { - $good++; - } elseif ($bt == '22-23-24' && $good == 0) { - $good++; - } elseif ($bt == '19-20-21' && $good == 0) { - $good++; - } elseif ($bt == '16-17-18' && $good == 0) { - $good++; - } elseif ($bt == '13-14-15' && $good == 0) { - $good++; - } elseif ($bt == '10-11-12' && $good == 0) { - $good++; - } elseif ($bt == '7-8-9' && $good == 0) { - $good++; - } elseif ($bt == '6-5-4' && $good == 0) { - $good++; - } elseif ($bt == '1-2-3' && $good == 0) { - $good++; - } elseif ($bt == '3-6-9-12-15-18-21-24-27-30-33-36' && $good == 0) { - $good++; - } elseif ($bt == '2-5-8-11-14-17-20-23-26-29-32-35' && $good == 0) { - $good++; - } elseif ($bt == '1-4-7-10-13-16-19-22-25-28-31-34' && $good == 0) { - $good++; - } elseif ($bt == '2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35' && $good == 0) { - $good++; - } elseif ($bt == '1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36' && $good == 0) { - $good++; - } elseif ($bt == '1-2-3-37-38' && $good == 0) { - $good++; - } elseif ($bt == '1-2-3-4-5-6-7-8-9-10-11-12' && $good == 0) { - $good++; - } elseif ($bt == '13-14-15-16-17-18-19-20-21-22-23-24' && $good == 0) { - $good++; - } elseif ($bt == '25-26-27-28-29-30-31-32-33-34-35-36' && $good == 0) { - $good++; - } elseif ($bt == '1-2-4-5' && $good == 0) { - $good++; - } - $_GET['coin'] = (int)$_GET['coin']; - if ($_GET['coin'] < 1) { - $good = 0; - } - if ($_GET['coin'] > $u->bank['money1']) { - $good = 0; - } - if ($good == 1) { - $u->bank['money1'] -= ((int)$_GET['coin']); - - $stvka = ''; - - if ($stvka == '') { - $stvka = 'неизвестная зона ставки'; - } - - $cmsg = new ChatMessage(); - $cmsg->setCity($u->info['city']); - $cmsg->setRoom($u->info['room']); - $cmsg->setLogin('Крупье'); - $cmsg->setText("Игрок {$u->info['login']} сделал ставку {$_GET['coin']} екр на $stvka, игра №{$gid['id']}."); - $cmsg->setType(6); - (new Chat())->sendMsg($cmsg); - - mysql_query( - 'UPDATE `bank` SET `money1` = ' . $u->bank['money1'] . ' WHERE `id` = "' . $u->bank['id'] . '" LIMIT 1' - ); - mysql_query( - 'INSERT INTO `ruletka_coin` (`uid`,`login`,`money`,`time`,`game_id`,`win2`) VALUES ("' . $u->info['id'] . '","' . $u->info['login'] . '","' . $_GET['coin'] . '","' . time( - ) . '","' . $gid['id'] . '","' . $bt . '")' - ); - } - } +//Выделяем текущую игру, если её нет, то создаем новую +$gid = Db::getRow('select * from ruletka where end = 0 or id = ? order by id desc limit 1', [$_GET['id']]); +if ($gid['time_start'] + 16 > time() || isset($_GET['bet'])) { + $mnr = true; +} +$gid3 = Db::getRow('select * from ruletka where end > 0 and id = ? order by id desc limit 1', [$_GET['id']]); +if (isset($gid3['id'])) { + $gid = $gid3; + unset($gid3); +} +$add = false; +if (isset($gid['id'])) { + //Игра существует, проверяем + $time = $gid['time_start'] - time(); + if ($time < 1) { + //крутим колесо и заканчиваем игру + выдаем выйгрыш + //mysql_query('UPDATE `ruletka` SET `end` = "'.time().'" WHERE `id` = "'.$gid['id'].'" LIMIT 1'); + //выводим предыдущий выйгрыш + $win[0] = $gid['win']; + $win[1] = $gid['win_line']; + $win[2] = 0; + $win[3] = 0; + if ($gid['end'] == 0) { + $add = true; } } else { - $add = true; - } - - //обновляем ставки - $pos = [ - 0 => '2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35', - 1 => '1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36', - 2 => '1-2-3-37-38', - 3 => '1-2-3-4-5-6-7-8-9-10-11-12', - 4 => '13-14-15-16-17-18-19-20-21-22-23-24', - 5 => '25-26-27-28-29-30-31-32-33-34-35-36', - 6 => '1-4-7-10-13-16-19-22-25-28-31-34', - 7 => '2-5-8-11-14-17-20-23-26-29-32-35', - 8 => '3-6-9-12-15-18-21-24-27-30-33-36', - 9 => '1-2-3', - 10 => '6-5-4', - 11 => '7-8-9', - 12 => '10-11-12', - 13 => '13-14-15', - 14 => '16-17-18', - 15 => '19-20-21', - 16 => '22-23-24', - 17 => '25-26-27', - 18 => '28-29-30', - 19 => '31-32-33', - 20 => '34-35-36', - 21 => '1-2-3-4-5-6', - 22 => '7-8-9-10-11-12', - 23 => '13-14-15-16-17-18', - 24 => '19-20-21-22-23-24', - 25 => '25-26-27-28-29-30', - 26 => '31-32-33-34-35-36', - 27 => '4-5-6-7-8-9', - 28 => '10-11-12-13-14-15', - 29 => '16-17-18-19-20-21', - 30 => '22-23-24-25-26-27', - 31 => '28-29-30-31-32-33', - 32 => '1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18', - 33 => '19-20-21-22-23-24-25-26-27-28-29-30-31-32-33-34-35-36', - 34 => '1-3-5-7-9-11-13-15-17-19-21-23-25-27-29-31-33-35', - 35 => '2-4-6-8-10-12-14-16-18-20-22-24-26-28-30-32-34-36', - 36 => '38-1', - 37 => '1-2-38', - 38 => '2-3-37', - 39 => '32-33-35-36', - 40 => '31-32-34-35', - 41 => '29-30-32-33', - 42 => '28-29-31-32', - 43 => '26-27-29-30', - 44 => '25-26-28-29', - 45 => '23-24-26-27', - 46 => '22-23-25-26', - 47 => '20-21-23-24', - 48 => '19-20-22-23', - 49 => '17-18-20-21', - 50 => '16-17-19-20', - 51 => '14-15-17-18', - 52 => '13-14-16-17', - 53 => '11-12-14-15', - 54 => '10-11-13-14', - 55 => '8-9-11-12', - 56 => '7-8-10-11', - 57 => '5-6-8-9', - 58 => '4-5-7-8', - 59 => '2-3-5-6', - 60 => '1-2-4-5', - 61 => '1-2', - 62 => '2-3', - 63 => '4-5', - 64 => '5-6', - 65 => '7-8', - 66 => '8-9', - 67 => '10-11', - 68 => '11-12', - 69 => '13-14', - 70 => '14-15', - 71 => '16-17', - 72 => '17-18', - 73 => '19-20', - 74 => '20-21', - 75 => '22-23', - 76 => '23-24', - 77 => '25-26', - 78 => '26-27', - 79 => '28-29', - 80 => '29-30', - 81 => '31-32', - 82 => '32-33', - 83 => '34-35', - 84 => '35-36', - ]; - - function testCoin($s, $stt) - { - global $u, $win; - $sp = mysql_query( - 'SELECT * FROM `ruletka_coin` WHERE `game_id` = "' . $s . '" AND `money` > 0 AND `win2` = "' . $stt . '" AND `uid` != "' . $u->info['id'] . '"' - ); - $cr = 0; - $am = 0; - $usr = ''; - $lu = []; - while ($pl = mysql_fetch_array($sp)) { - $cr = $pl['money']; - if (!isset($lu[$pl['uid']]) && count($lu) < 4) { - $usr .= '-' . $pl['money']; - $lu[$pl['uid']] = true; - } - $am++; - } - $us = 0; //Ставка игрока - $sp = mysql_query( - 'SELECT * FROM `ruletka_coin` WHERE `game_id` = "' . $s . '" AND `money` > 0 AND `win2` = "' . $stt . '" AND `uid` = "' . $u->info['id'] . '" LIMIT 100' - ); - while ($pl = mysql_fetch_array($sp)) { - $cr = $pl['money']; - $us += $pl['money']; - $am++; - } - $i = 0; - while ($i < 4) { - if ($i > count($lu)) { - $usr .= '-0'; - } - $i++; - } - if ($am > 0) { - $win[4] .= $stt . '|' . $cr . '-' . $us . '' . $usr . ','; - } - } - - //ставки на числа - $i = 1; - while ($i <= 38) { - testCoin($gid['id'], $i); - $i++; - } - //комбинированные ставки - $i = 0; - while ($i < count($pos)) { - testCoin($gid['id'], $pos[$i]); - $i++; - } - - if ($add == true) { - //создаем новую игру - $gid2 = ['id' => 0, 'room' => $u->info['room'], 'time' => time(), 'time_start' => time() + 74, 'win' => floor( - rand(100, 3800) / 100 - ), 'win_line' => '', 'end' => 0]; - $s37 = mysql_fetch_array( - mysql_query( - 'SELECT `id` FROM `ruletka` WHERE `win` = "37" OR `win` = "38" AND `time` > "' . (time() - round( - 3600 / 10000 * rand(5000, 10000) - )) . '" LIMIT 1' - ) - ); - if (isset($s37['id'])) { - $gid2['win'] = floor(rand(100, 3600) / 100); - } - $ins = mysql_query( - 'INSERT INTO `ruletka` (`room`,`time`,`time_start`,`win`,`win_line`) VALUES ("' . $gid2['room'] . '","' . $gid2['time'] . '","' . $gid2['time_start'] . '","' . $gid2['win'] . '","' . $gid2['win_line'] . '")' - ); - $gid2['id'] = mysql_insert_id(); - if ($ins) { - $gid = $gid2; - } - unset($gid2); - } - - $u_w = [0 => [], 1 => [], 2 => [], 3 => []]; - - $sm = $u->testAction('`city` = "' . $u->info['city'] . '" AND `vars` = "casino_balance" LIMIT 1', 1); - if (!isset($sm['id'])) { - $u->addAction(time(), 'casino_balance', 0); - } - - //обновляем выйгрыши - $sp = mysql_query('SELECT * FROM `ruletka` WHERE `end` = "0" AND `time_start` <= ' . time() . ''); - while ($pl = mysql_fetch_array($sp)) { - /*$pl['win'] = floor(rand(10000000,360000000)/10000000); - if( rand(0,1) == 1 ) { - $pl['win'] = floor(rand(10000000,360000000)/10000000); - } - if( rand(0,1) == 1 ) { - $pl['win'] = floor(rand(10000000,360000000)/10000000); - }*/ - $end = mysql_query('UPDATE `ruletka` SET `end` = "' . time() . '" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'); - if ($end) { - //выдаем выйгрышь - $sp2 = mysql_query('SELECT * FROM `ruletka_coin` WHERE `end` = "0" AND `game_id` = "' . $pl['id'] . '"'); - while ($pl2 = mysql_fetch_array($sp2)) { - $upd = mysql_query( - 'UPDATE `ruletka_coin` SET `end` = "' . time() . '" WHERE `id` = "' . $pl2['id'] . '" LIMIT 1' - ); - if ($upd) { - $wn = 0; - $wn2 = 0; - $xv = 2; - if ($pl2['win2'] == $pl['win']) { - $wn++; - } else { - $i = 0; - $j = explode('-', $pl2['win2']); - $xv = floor(1 + 34 / count($j)); - while ($i < count($j)) { - if ($j[$i] == $pl['win']) { - $wn2++; - } - $i++; - } - } - - if ($wn > 0) { - //перечисляем деньги [x8], если зеро то [x36] - if ($pl['win'] > 36) { - $nmn = ((int)$pl2['money'] * 35); - } else { - $nmn = ((int)$pl2['money'] * 35); - } - mysql_query( - 'UPDATE `bank` SET `money1` = `money1` + "' . $nmn . '" WHERE `uid` = "' . $pl2['uid'] . '" ORDER BY `useNow` DESC LIMIT 1' - ); - } elseif ($wn2 > 0) { - //перечисляем деньги по определенной формуле - $nmn = ((int)$pl2['money'] * $xv); - mysql_query( - 'UPDATE `bank` SET `money1` = `money1` + "' . $nmn . '" WHERE `uid` = "' . $pl2['uid'] . '" ORDER BY `useNow` DESC LIMIT 1' - ); - } else { - //проиграли - mysql_query('UPDATE `ruletka_coin` SET `end` = "1" WHERE `id` = "' . $pl['id'] . '" LIMIT 1'); - mysql_query( - 'UPDATE `actions` SET `vals` = `vals` + "' . mysql_real_escape_string( - 0 + $pl2['money'] - ) . '" WHERE `id` = "' . $sm['id'] . '" LIMIT 1' - ); - } - - if ($wn > 0 || $wn2 > 0) { - $u->addDelo( - 1, $pl2['uid'], - '"Casino.' . $u->info['city'] . '": Выиграл ' . $nmn . ' екр.', - time(), $u->info['city'], 'Casino.' . $u->info['city'] . '', 0, 0 - ); - if (!isset($u_w[1][$pl2['uid']])) { - $u_w[0][count($u_w[0])] = $pl2['uid']; - $u_w[2][count($u_w[0]) - 1] = $pl2['game_id']; - } - $u_w[1][$pl2['uid']] += (int)$nmn; - } - $u_w[3][$pl2['uid']] += (int)$pl2['money']; - + //ожидаем начала игры, делаем ставки + if (isset($_GET['bet'])) { + $bt = $_GET['bet']; + $good = 0; + $i = 0; + while ($i <= 38) { + if ($i == $bt) { + $good++; } + $i++; } - } - } - if (count($u_w[0]) > 0) { - $i = 0; - while ($i < count($u_w[0])) { - if ($u_w[1][$u_w[0][$i]] > 0) { - $infu = mysql_fetch_array( - mysql_query( - 'SELECT - `u`.`id`, - `u`.`align`, - `u`.`login`, - `u`.`clan`, - `u`.`level`, - `u`.`city`, - `u`.`online`, - `u`.`sex`, - `u`.`cityreg` - FROM `users` AS `u` WHERE `u`.`id`="' . mysql_real_escape_string($u_w[0][$i]) . '" LIMIT 1' - ) - ); + /* + Ставки и значения - mysql_query( - 'UPDATE `actions` SET `vals` = `vals` + "' . mysql_real_escape_string( - (0 + $u_w[3][$u_w[0][$i]]) - $u_w[1][$u_w[0][$i]] - ) . '" WHERE `id` = "' . $sm['id'] . '" LIMIT 1' - ); + 1, ... ,36 - ставка на числа [x8] + + 2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35 - черное [x2] + 1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36 - красное [x2] + + 37 - два нуля [x36] + 38 - ноль [x36] + + 1-2-3-37-38 - потолок [x5] + + 1-2-3-4-5-6-7-8-9-10-11-12 - 1 сектор [x3] + 13-14-15-16-17-18-19-20-21-22-23-24 - 2 сектор [x3] + 25-26-27-28-29-30-31-32-33-34-35-36 - 3 сектор [x3] + + */ + + if ($bt == '' && $good == 0) { + $good++; + } elseif ($bt == '35-36' && $good == 0) { + $good++; + } elseif ($bt == '34-35' && $good == 0) { + $good++; + } elseif ($bt == '32-33' && $good == 0) { + $good++; + } elseif ($bt == '31-32' && $good == 0) { + $good++; + } elseif ($bt == '29-30' && $good == 0) { + $good++; + } elseif ($bt == '28-29' && $good == 0) { + $good++; + } elseif ($bt == '26-27' && $good == 0) { + $good++; + } elseif ($bt == '25-26' && $good == 0) { + $good++; + } elseif ($bt == '23-24' && $good == 0) { + $good++; + } elseif ($bt == '22-23' && $good == 0) { + $good++; + } elseif ($bt == '20-21' && $good == 0) { + $good++; + } elseif ($bt == '19-20' && $good == 0) { + $good++; + } elseif ($bt == '17-18' && $good == 0) { + $good++; + } elseif ($bt == '16-17' && $good == 0) { + $good++; + } elseif ($bt == '14-15' && $good == 0) { + $good++; + } elseif ($bt == '13-14' && $good == 0) { + $good++; + } elseif ($bt == '11-12' && $good == 0) { + $good++; + } elseif ($bt == '10-11' && $good == 0) { + $good++; + } elseif ($bt == '8-9' && $good == 0) { + $good++; + } elseif ($bt == '7-8' && $good == 0) { + $good++; + } elseif ($bt == '5-6' && $good == 0) { + $good++; + } elseif ($bt == '4-5' && $good == 0) { + $good++; + } elseif ($bt == '2-3' && $good == 0) { + $good++; + } elseif ($bt == '1-2' && $good == 0) { + $good++; + } elseif ($bt == '32-33-35-36' && $good == 0) { + $good++; + } elseif ($bt == '31-32-34-35' && $good == 0) { + $good++; + } elseif ($bt == '29-30-32-33' && $good == 0) { + $good++; + } elseif ($bt == '28-29-31-32' && $good == 0) { + $good++; + } elseif ($bt == '26-27-29-30' && $good == 0) { + $good++; + } elseif ($bt == '25-26-28-29' && $good == 0) { + $good++; + } elseif ($bt == '23-24-26-27' && $good == 0) { + $good++; + } elseif ($bt == '22-23-25-26' && $good == 0) { + $good++; + } elseif ($bt == '20-21-23-24' && $good == 0) { + $good++; + } elseif ($bt == '19-20-22-23' && $good == 0) { + $good++; + } elseif ($bt == '17-18-20-21' && $good == 0) { + $good++; + } elseif ($bt == '16-17-19-20' && $good == 0) { + $good++; + } elseif ($bt == '14-15-17-18' && $good == 0) { + $good++; + } elseif ($bt == '13-14-16-17' && $good == 0) { + $good++; + } elseif ($bt == '11-12-14-15' && $good == 0) { + $good++; + } elseif ($bt == '10-11-13-14' && $good == 0) { + $good++; + } elseif ($bt == '8-9-11-12' && $good == 0) { + $good++; + } elseif ($bt == '7-8-10-11' && $good == 0) { + $good++; + } elseif ($bt == '5-6-8-9' && $good == 0) { + $good++; + } elseif ($bt == '4-5-7-8' && $good == 0) { + $good++; + } elseif ($bt == '2-3-5-6' && $good == 0) { + $good++; + } elseif ($bt == '1-2-4-5' && $good == 0) { + $good++; + } elseif ($bt == '2-3-37' && $good == 0) { + $good++; + } elseif ($bt == '1-2-38' && $good == 0) { + $good++; + } elseif ($bt == '38-1' && $good == 0) { + $good++; + } elseif ($bt == '2-4-6-8-10-12-14-16-18-20-22-24-26-28-30-32-34-36' && $good == 0) { + $good++; + } elseif ($bt == '1-3-5-7-9-11-13-15-17-19-21-23-25-27-29-31-33-35' && $good == 0) { + $good++; + } elseif ($bt == '19-20-21-22-23-24-25-26-27-28-29-30-31-32-33-34-35-36' && $good == 0) { + $good++; + } elseif ($bt == '1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18' && $good == 0) { + $good++; + } elseif ($bt == '28-29-30-31-32-33' && $good == 0) { + $good++; + } elseif ($bt == '22-23-24-25-26-27' && $good == 0) { + $good++; + } elseif ($bt == '16-17-18-19-20-21' && $good == 0) { + $good++; + } elseif ($bt == '10-11-12-13-14-15' && $good == 0) { + $good++; + } elseif ($bt == '4-5-6-7-8-9' && $good == 0) { + $good++; + } elseif ($bt == '31-32-33-34-35-36' && $good == 0) { + $good++; + } elseif ($bt == '25-26-27-28-29-30' && $good == 0) { + $good++; + } elseif ($bt == '19-20-21-22-23-24' && $good == 0) { + $good++; + } elseif ($bt == '13-14-15-16-17-18' && $good == 0) { + $good++; + } elseif ($bt == '7-8-9-10-11-12' && $good == 0) { + $good++; + } elseif ($bt == '1-2-3-4-5-6' && $good == 0) { + $good++; + } elseif ($bt == '34-35-36' && $good == 0) { + $good++; + } elseif ($bt == '31-32-33' && $good == 0) { + $good++; + } elseif ($bt == '28-29-30' && $good == 0) { + $good++; + } elseif ($bt == '25-26-27' && $good == 0) { + $good++; + } elseif ($bt == '22-23-24' && $good == 0) { + $good++; + } elseif ($bt == '19-20-21' && $good == 0) { + $good++; + } elseif ($bt == '16-17-18' && $good == 0) { + $good++; + } elseif ($bt == '13-14-15' && $good == 0) { + $good++; + } elseif ($bt == '10-11-12' && $good == 0) { + $good++; + } elseif ($bt == '7-8-9' && $good == 0) { + $good++; + } elseif ($bt == '6-5-4' && $good == 0) { + $good++; + } elseif ($bt == '1-2-3' && $good == 0) { + $good++; + } elseif ($bt == '3-6-9-12-15-18-21-24-27-30-33-36' && $good == 0) { + $good++; + } elseif ($bt == '2-5-8-11-14-17-20-23-26-29-32-35' && $good == 0) { + $good++; + } elseif ($bt == '1-4-7-10-13-16-19-22-25-28-31-34' && $good == 0) { + $good++; + } elseif ($bt == '2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35' && $good == 0) { + $good++; + } elseif ($bt == '1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36' && $good == 0) { + $good++; + } elseif ($bt == '1-2-3-37-38' && $good == 0) { + $good++; + } elseif ($bt == '1-2-3-4-5-6-7-8-9-10-11-12' && $good == 0) { + $good++; + } elseif ($bt == '13-14-15-16-17-18-19-20-21-22-23-24' && $good == 0) { + $good++; + } elseif ($bt == '25-26-27-28-29-30-31-32-33-34-35-36' && $good == 0) { + $good++; + } + $_GET['coin'] = (int)$_GET['coin']; + if ($_GET['coin'] < 1) { + $good = 0; + } + if ($_GET['coin'] > $u->info['money1']) { + $good = 0; + } + if ($good == 1) { + $u->info['money1'] -= $_GET['coin']; + $u->addKr(-$_GET['coin']); + + $stvka = 'неизвестная зона ставки'; $cmsg = new ChatMessage(); $cmsg->setCity($u->info['city']); - $cmsg->setRoom(389); + $cmsg->setRoom($u->info['room']); $cmsg->setLogin('Крупье'); - $cmsg->setText("Игрок {$infu['login']} выиграл {$u_w[1][$u_w[0][$i]]} екр, ставка {$u_w[3][$u_w[0][$i]]} екр, игра №{$u_w[2][$i]}."); + $cmsg->setText("Игрок {$u->info['login']} сделал ставку {$_GET['coin']} екр на $stvka, игра №{$gid['id']}."); $cmsg->setType(6); (new Chat())->sendMsg($cmsg); + Db::sql('insert into ruletka_coin (uid, login, money, time, game_id, win2) values (?,?,?,unix_timestamp(),?,?)', + [$u->info['id'], $u->info['login'], $_GET['coin'], $gid['id'], $bt]); } - $i++; } } +} else { + $add = true; +} + +//обновляем ставки +$pos = [ + 0 => '2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35', + 1 => '1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36', + 2 => '1-2-3-37-38', + 3 => '1-2-3-4-5-6-7-8-9-10-11-12', + 4 => '13-14-15-16-17-18-19-20-21-22-23-24', + 5 => '25-26-27-28-29-30-31-32-33-34-35-36', + 6 => '1-4-7-10-13-16-19-22-25-28-31-34', + 7 => '2-5-8-11-14-17-20-23-26-29-32-35', + 8 => '3-6-9-12-15-18-21-24-27-30-33-36', + 9 => '1-2-3', + 10 => '6-5-4', + 11 => '7-8-9', + 12 => '10-11-12', + 13 => '13-14-15', + 14 => '16-17-18', + 15 => '19-20-21', + 16 => '22-23-24', + 17 => '25-26-27', + 18 => '28-29-30', + 19 => '31-32-33', + 20 => '34-35-36', + 21 => '1-2-3-4-5-6', + 22 => '7-8-9-10-11-12', + 23 => '13-14-15-16-17-18', + 24 => '19-20-21-22-23-24', + 25 => '25-26-27-28-29-30', + 26 => '31-32-33-34-35-36', + 27 => '4-5-6-7-8-9', + 28 => '10-11-12-13-14-15', + 29 => '16-17-18-19-20-21', + 30 => '22-23-24-25-26-27', + 31 => '28-29-30-31-32-33', + 32 => '1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18', + 33 => '19-20-21-22-23-24-25-26-27-28-29-30-31-32-33-34-35-36', + 34 => '1-3-5-7-9-11-13-15-17-19-21-23-25-27-29-31-33-35', + 35 => '2-4-6-8-10-12-14-16-18-20-22-24-26-28-30-32-34-36', + 36 => '38-1', + 37 => '1-2-38', + 38 => '2-3-37', + 39 => '32-33-35-36', + 40 => '31-32-34-35', + 41 => '29-30-32-33', + 42 => '28-29-31-32', + 43 => '26-27-29-30', + 44 => '25-26-28-29', + 45 => '23-24-26-27', + 46 => '22-23-25-26', + 47 => '20-21-23-24', + 48 => '19-20-22-23', + 49 => '17-18-20-21', + 50 => '16-17-19-20', + 51 => '14-15-17-18', + 52 => '13-14-16-17', + 53 => '11-12-14-15', + 54 => '10-11-13-14', + 55 => '8-9-11-12', + 56 => '7-8-10-11', + 57 => '5-6-8-9', + 58 => '4-5-7-8', + 59 => '2-3-5-6', + 60 => '1-2-4-5', + 61 => '1-2', + 62 => '2-3', + 63 => '4-5', + 64 => '5-6', + 65 => '7-8', + 66 => '8-9', + 67 => '10-11', + 68 => '11-12', + 69 => '13-14', + 70 => '14-15', + 71 => '16-17', + 72 => '17-18', + 73 => '19-20', + 74 => '20-21', + 75 => '22-23', + 76 => '23-24', + 77 => '25-26', + 78 => '26-27', + 79 => '28-29', + 80 => '29-30', + 81 => '31-32', + 82 => '32-33', + 83 => '34-35', + 84 => '35-36', +]; + +function testCoin($s, $stt) +{ + global $u, $win; + $sp = Db::getRows('select * from ruletka_coin where game_id = ? and money > 0 and win2 = ? and uid != ?', [$s, $stt, $u->info['id']]); + $cr = 0; + $am = 0; + $usr = ''; + $lu = []; + foreach ($sp as $pl) { + $cr = $pl['money']; + if (!isset($lu[$pl['uid']]) && count($lu) < 4) { + $usr .= '-' . $pl['money']; + $lu[$pl['uid']] = true; + } + $am++; + } - if (isset($gid['id'])) { - if ($time < 0) { - $time = 0; + $us = 0; //Ставка игрока + $sp = Db::getRows('select * from ruletka_coin where game_id = ? and money > 0 and win2 = ? and uid = ?', [$s, $stt, $u->info['id']]); + foreach ($sp as $pl) { + $cr = $pl['money']; + $us += $pl['money']; + $am++; + } + $i = 0; + while ($i < 4) { + if ($i > count($lu)) { + $usr .= '-0'; } - //Выбираем статус игры - if ($time > 0) { - //делаем ставки - $status = 1; - $sp = mysql_query( - 'SELECT * FROM `ruletka_coin` WHERE `end` = "0" AND `uid` = "' . $u->info['id'] . '" AND `game_id` = "' . $gid['id'] . '"' - ); - $win[3] = 0; - while ($pl = mysql_fetch_array($sp)) { - $win[3] += $pl['money']; - } - } else { - //играем - $status = 2; - //выводим выйгрыш + ставку - $sp = mysql_query( - 'SELECT * FROM `ruletka_coin` WHERE `end` > "0" AND `uid` = "' . $u->info['id'] . '" AND `game_id` = "' . $gid['id'] . '"' - ); - $win[2] = 0; - while ($pl = mysql_fetch_array($sp)) { - $win[2] += $pl['money']; - $win[3] += $pl['money']; - $win[1] += $pl['money']; - } - } - if ($win[0] > 0) { - unset($mnr); - } - if (isset($mnr)) { - $mnr = '&cash=' . floor(0 + $u->bank['money1']); - } - $r = 'time=' . $time . '&game=' . $gid['id'] . '' . $mnr . '&betsum=' . $win[3] . '&status=' . $status . '&players=' . $win[5] . '&bets=' . $win[4] . '&win=' . $win[0] . '&wbets=' . $win[1] . '&wmoney=' . $win[2] . ''; - echo $r; + $i++; + } + if ($am > 0) { + $win[4] .= $stt . '|' . $cr . '-' . $us . $usr . ','; } } -mysql_query('UNLOCK TABLES'); + +//ставки на числа +$i = 1; +while ($i <= 38) { + testCoin($gid['id'], $i); + $i++; +} +//комбинированные ставки +$i = 0; +while ($i < count($pos)) { + testCoin($gid['id'], $pos[$i]); + $i++; +} + +if ($add) { + //создаем новую игру + $gid2 = [ + 'room' => $u->info['room'], + 'time' => time(), + 'time_start' => time() + 74, + 'win' => floor(rand(100, 3800) / 100), + 'win_line' => '', + 'end' => 0, + ]; + + $s37 = Db::getValue('select count(*) from ruletka where win in (37, 38) and time > unix_timestamp() - ?', [round(3600 / 10000 * rand(5000, 10000))]); + if ($s37 > 0) { + $gid2['win'] = floor(rand(100, 3600) / 100); + } + Db::sql('insert into ruletka (room, time, time_start, win, win_line) values (?,unix_timestamp(),unix_timestamp() + 74,?,?)', + [$gid2['room'], $gid2['win'], $gid2['win_line']]); + + $gid2['id'] = Db::lastInsertId(); + $gid = $gid2; + unset($gid2); +} + +$u_w = [0 => [], 1 => [], 2 => [], 3 => []]; + +$sm = $u->testAction('`city` = "' . $u->info['city'] . '" AND `vars` = "casino_balance" LIMIT 1', 1); +if (!isset($sm['id'])) { + $u->addAction(time(), 'casino_balance', 0); +} + +//обновляем выйгрыши +$sp = Db::getRows('select id, win from ruletka where end = 0 and time_start <= unix_timestamp()'); +foreach ($sp as $pl) { + Db::sql('update ruletka set end = unix_timestamp() where id = ?', [$pl['id']]); + $sp2 = Db::getRows('select * from ruletka_coin where end = 0 and game_id = ?', [$pl['id']]); + //выдаем выйгрышь + foreach ($sp2 as $pl2) { + Db::sql('update ruletka_coin set end = unix_timestamp() where id = ?', [$pl2['id']]); + + $wn = 0; + $wn2 = 0; + $xv = 2; + if ($pl2['win2'] == $pl['win']) { + $wn++; + } else { + $i = 0; + $j = explode('-', $pl2['win2']); + $xv = floor(1 + 34 / count($j)); + while ($i < count($j)) { + if ($j[$i] == $pl['win']) { + $wn2++; + } + $i++; + } + } + + if ($wn > 0) { + $nmn = ((int)$pl2['money'] * 35); + $u->addKr($nmn, $pl2['uid']); + } elseif ($wn2 > 0) { + //перечисляем деньги по определенной формуле + $nmn = ((int)$pl2['money'] * $xv); + $u->addKr($nmn, $pl2['uid']); + } else { + //проиграли + Db::sql('update ruletka_coin set end = 1 where id = ?', [$pl['id']]); + Db::sql('update actions set vals = vals + ? where id = ?', [$pl2['money'], $sm['id']]); + } + + if ($wn > 0 || $wn2 > 0) { + $u->addDelo( + 1, $pl2['uid'], + '"Casino.' . $u->info['city'] . '": Выиграл ' . $nmn . ' екр.', + time(), $u->info['city'], 'Casino.' . $u->info['city'], 0, 0 + ); + if (!isset($u_w[1][$pl2['uid']])) { + $u_w[0][count($u_w[0])] = $pl2['uid']; + $u_w[2][count($u_w[0]) - 1] = $pl2['game_id']; + } + $u_w[1][$pl2['uid']] += (int)$nmn; + } + $u_w[3][$pl2['uid']] += (int)$pl2['money']; + } +} + +if (!empty($u_w[0])) { + $i = 0; + foreach ($u_w[0] as $winner) { + if ($u_w[1][$winner] > 0) { + $i++; + continue; + } + $userLogin = Db::getValue('select login from users where id = ?', [$winner]); + Db::sql('update actions set vals = vals + ? where id = ?', [$u_w[3][$winner] - $u_w[1][$winner], $sm['id']]); + + $cmsg = new ChatMessage(); + $cmsg->setCity($u->info['city']); + $cmsg->setRoom(389); + $cmsg->setLogin('Крупье'); + $cmsg->setText("Игрок $userLogin выиграл {$u_w[1][$winner]} екр, ставка {$u_w[3][$winner]} екр, игра №{$u_w[2][$i]}."); + $cmsg->setType(6); + (new Chat())->sendMsg($cmsg); + $i++; + } +} + +if (isset($gid['id'])) { + if ($time < 0) { + $time = 0; + } + //Выбираем статус игры + if ($time > 0) { + //делаем ставки + $status = 1; + $sp = Db::getValue('select sum(money) from ruletka_coin where end = 0 and uid = ? and game_id = ?', [$u->info['id'], $gid['id']]); + $win[3] = 0; + if ($sp) { + $win[3] = $sp; + } + } else { + //играем + $status = 2; + //выводим выйгрыш + ставку + $sp = Db::getValue('select sum(money) from ruletka_coin where end > 0 and uid = ? and game_id = ?', [$u->info['id'], $gid['id']]); + $win[2] = 0; + if ($sp) { + $win[2] += $sp; + $win[3] += $sp; + $win[1] += $sp; + } + } + if ($win[0] > 0) { + unset($mnr); + } + if (isset($mnr)) { + $mnr = '&cash=' . floor(0 + $u->info['money1']); + } + echo 'time=' . $time . '&game=' . $gid['id'] . $mnr . '&betsum=' . $win[3] . '&status=' . $status . + '&players=' . $win[5] . '&bets=' . $win[4] . '&win=' . $win[0] . '&wbets=' . $win[1] . '&wmoney=' . $win[2]; +}