diff --git a/_incl_data/class/Magic.php b/_incl_data/class/Magic.php
index b65aba39..97ee811c 100644
--- a/_incl_data/class/Magic.php
+++ b/_incl_data/class/Magic.php
@@ -2,7 +2,7 @@
use Core\ConversionHelper;
use Core\Db;
-use Insallah\Math;
+use Magic\Attack;
use User\ItemsModel;
class Magic
@@ -11,6 +11,7 @@ class Magic
public int $youuse = 0;
public array $cMagic = [4174, 4175, 4176, 4177, 4178, 4179, 4180];
public array $eMagic = [4185, 4186, 4187];
+ private Attack $attack;
public function __construct()
{
@@ -18,6 +19,7 @@ class Magic
if (isset($_POST['useitemon'])) {
$_GET['login'] = $_POST['useitemon'];
}
+ $this->attack = new Attack($this);
}
public function useItems($id)
@@ -2063,514 +2065,14 @@ class Magic
return $g;
}
- public function atackUser($uid1, $uid2, $tm, $btl, $addExp = 0, $type = 0, $kulak = 0, $bsid = 0)
+ public function atackUser($uid1, $uid2, $tm, $btl, $addExp = 0, $type = 0)
{
- global $u;
- $usr = mysql_fetch_array(
- mysql_query(
- 'SELECT `u`.*,`s`.* FROM `users` AS `u` LEFT JOIN `stats` AS `s` ON `u`.`id` = `s`.`id` WHERE `u`.`id` = "' . $uid2 . '" LIMIT 1'
- )
- );
- $btl_test = mysql_fetch_array(
- mysql_query('SELECT * FROM `battle` WHERE `id` = "' . $btl . '" AND `team_win` = -1 LIMIT 1')
- );
- $clan_test = mysql_fetch_array(
- mysql_query(
- 'SELECT * FROM `clan_wars` WHERE ((`clan1`="' . $u->info['clan'] . '" AND `clan2`="' . $usr['clan'] . '") OR (`clan2`="' . $u->info['clan'] . '" AND `clan1`="' . $usr['clan'] . '")) AND `time_finish` > "' . time() . '" LIMIT 1'
- )
- );
- $good = 0;
- //Эффекты из-за которых нельзя нападать
- $efsno = mysql_fetch_array(
- mysql_query(
- 'SELECT * FROM `eff_users` WHERE `uid` = "' . $uid2 . '"
- AND `name` LIKE "%Лепим снежок%" AND `delete` = "0"
- LIMIT 1'
- )
- );
- $check = mysql_fetch_array(
- mysql_query(
- 'SELECT * FROM `eff_users` WHERE `id_eff` = 478 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 ORDER BY `overType` DESC LIMIT 1;'
- )
- );
- $check2 = mysql_fetch_array(
- mysql_query(
- 'SELECT * FROM `eff_users` WHERE (`id_eff` = 479 OR `id_eff` = 480 OR `id_eff` = 481) AND `uid` = "' . $usr['id'] . '" AND `delete` = 0 ORDER BY `overType` DESC LIMIT 1;'
- )
- );
-
- $u->error = 'Нельзя нападать на монстра этого уровня!';
-
- if ($usr['no_ip'] == 'trupojor' && $usr['level'] == 9 && $u->info['level'] > 9) {
- $u->error = 'Нельзя нападать на монстра этого уровня!';
- } elseif ($usr['no_ip'] == 'trupojor' && $usr['level'] == 10 && ($u->info['level'] < 10 || $u->info['level'] > 11)) {
- $u->error = 'Нельзя нападать на монстра этого уровня!';
- } elseif ($ua['no_ip'] == 'trupojor' && isset($check['id'])) { //&& $ua['level'] >9
- $u->error = 'Нельзя нападать на монстра чаще одного раза в 3 часа!';
- } elseif (isset($check2['id'])) { //&& $ua['level'] >9
- $u->error = 'Персонаж имеет защиту от нападения!';
- } elseif ($usr['level'] == 8 && $usr['no_ip'] != 'trupojor' && self::canAttack8Level(
- $u->info['id'], $usr['id']
- )) {
- $u->error = 'На 8-е уровни нападать нельзя.';
- } elseif ($u->info['level'] != $usr['level'] && $usr['no_ip'] != 'trupojor') { //&& !isset ($clan_test['id'])
- $u->error = 'Нападать можно на персонажей только своего уровня!!!';
- } elseif (isset($btl_test['id']) && $btl_test['noatack'] > 0) {
- $u->error = 'Поединок защищен магией! Вы не можете вмешаться!';
- } elseif ($usr['level'] < 8) {
- $u->error = 'Новички находятся под защитой Мироздателя...';
- } elseif ($u->info['level'] < 8) {
- $u->error = 'Тренируйтесь вам пока еще рано...';
- } elseif (isset($efsno['id']) && $efsno['delete'] > 0) {
- $u->error = 'Невозможно напасть, противник чем-то занят...';
- } elseif ($usr['admin'] == 1 && $u->info['admin'] == 0) {
- $u->error = 'Уважайте хранителей...';
- } elseif ($this->testTravma($uid2, 3)) {
- $u->error = 'Противник тяжело травмирован, нельзя напасть!';
- } elseif ($this->testTravma($uid1, 2)) {
- $u->error = 'Вы травмированы, нельзя напасть!';
- } elseif ($bsid != 0 && ($u->info['x'] != $usr['x'] || $u->info['y'] != $usr['y'])) {
- $u->error = 'Вы находитесь в разных комнатах...';
- } elseif ($usr['clan'] != 0 && ($usr['clan'] == $u->info['clan']) && $u->info['admin'] == 0) {
- $u->error = 'Чтите честь ваших сокланов.';
- } elseif ($btl != 0 && $btl_test['smert'] == 1 && $type != 222) {
- $u->error = 'Вы не можете вмешаться в этот кровавый поединок!';
- } elseif ($btl == 0) {
- $s01 = $u->getStats($uid1, 0);
- if ($s01['hpNow'] < floor($s01['hpAll'] / 100 * 33)) {
- $u->error = 'Нельзя напасть, у противника не восстановилось здоровье';
- } else {
- $addExp += $usr['bbexp'];
- //effect ненападения
- if ($usr['no_ip'] == 'trupojor') {
- mysql_query(
- 'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","479","112","' . $u->info['id'] . '","Защита от нападения","zashitatk=1","' . time() . '")'
- );
- }
- //тут клан вар
-
- //************
- //нападаем на персонажа
- $timewait = rand(1, 3);
- //===Удаление защиты от нападения в результате нападения пользователем
- $dsl = mysql_query(
- 'SELECT * FROM `eff_users` WHERE (`id_eff` = 479 OR `id_eff` = 480 OR `id_eff` = 481) AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 ORDER BY `overType` DESC;'
- );
- while ($dpl = mysql_fetch_array($dsl)) {
- mysql_query(
- 'UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $dpl['id'] . '";'
- );
- }
- //=======
- if ($type == 222) //
- {
- $ins = mysql_query(
- 'INSERT INTO `battle` (`kulak`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`, `inTurnir`, `clan1`, `clan2`, `smert` ) VALUES (
- "' . $kulak . '",
- "' . $u->info['city'] . '",
- "' . time() . '",
- "' . $u->info['login'] . ',' . $usr['login'] . '",
- "' . (60 * $timewait) . '",
- "99",
- "0",
- "0",
- "50",
- "9",
- "' . $addExp . '",
- "0",
- "' . $bsid . '",
- "' . $u->info['clan'] . '",
- "' . $usr['clan'] . '",
- "1"
- )'
- );
- } elseif (isset ($clan_test['id'])) //
- {
- $ins = mysql_query(
- 'INSERT INTO `battle` (`kulak`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`, `inTurnir`, `clan1`, `clan2` ) VALUES (
- "' . $kulak . '",
- "' . $u->info['city'] . '",
- "' . time() . '",
- "' . $u->info['login'] . ',' . $usr['login'] . '",
- "' . (60 * $timewait) . '",
- "250",
- "0",
- "0",
- "50",
- "9",
- "' . $addExp . '",
- "0",
- "' . $bsid . '",
- "' . $u->info['clan'] . '",
- "' . $usr['clan'] . '")'
- );
- } else {
- $ins = mysql_query(
- 'INSERT INTO `battle` (`kulak`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`, `inTurnir`) VALUES (
- "' . $kulak . '",
- "' . $u->info['city'] . '",
- "' . time() . '",
- "' . $u->info['login'] . ',' . $usr['login'] . '",
- "' . (60 * $timewait) . '",
- "' . $type . '",
- "0",
- "0",
- "50",
- "9",
- "' . $addExp . '",
- "0", "' . $bsid . '")'
- );
- }
- unset($timewait);
- if ($ins) {
- $btl_id = mysql_insert_id();
- //Обновляем НР и МР игрокам
- if ($s01['level'] <= 7) {
- $s01['tactic7'] = floor(10 / $s01['hpAll'] * $s01['hpNow']);
- } elseif ($s01['level'] == 8) {
- $s01['tactic7'] = floor(20 / $s01['hpAll'] * $s01['hpNow']);
- } elseif ($s01['level'] == 9) {
- $s01['tactic7'] = floor(30 / $s01['hpAll'] * $s01['hpNow']);
- } elseif ($s01['level'] >= 10) {
- $s01['tactic7'] = floor(40 / $s01['hpAll'] * $s01['hpNow']);
- }
- $s01 = ['hpAll' => $s01['hpAll'], 'hpNow' => $s01['hpNow'], 'mpAll' => $s01['mpAll'], 'mpNow' => $s01['mpNow']];
- $s02 = $u->getStats($uid2, 0);
- if ($s02['level'] <= 7) {
- $s02['tactic7'] = floor(10 / $s02['hpAll'] * $s02['hpNow']);
- } elseif ($s02['level'] == 8) {
- $s02['tactic7'] = floor(20 / $s02['hpAll'] * $s02['hpNow']);
- } elseif ($s02['level'] == 9) {
- $s02['tactic7'] = floor(30 / $s02['hpAll'] * $s02['hpNow']);
- } elseif ($s02['level'] >= 10) {
- $s02['tactic7'] = floor(40 / $s02['hpAll'] * $s02['hpNow']);
- }
-
-
- $s02 = ['hpAll' => $s02['hpAll'], 'hpNow' => $s02['hpNow'], 'mpAll' => $s02['mpAll'], 'mpNow' => $s02['mpNow']];
-
- $upd2 = mysql_query(
- 'UPDATE `users` SET `battle`="' . $btl_id . '" WHERE `id` = "' . $uid1 . '" OR `id` = "' . $uid2 . '" LIMIT 2'
- );
- mysql_query(
- 'UPDATE `stats` SET `lider` = "' . $btl_id . '",`tactic7` = "' . $s01['tactic7'] . '",`hpNow` = "' . $s01['hpNow'] . '",`mpNow` = "' . $s01['mpNow'] . '",`team`="1",`zv` = "0" WHERE `id` = "' . $uid1 . '" LIMIT 1'
- );
- mysql_query(
- 'UPDATE `stats` SET `lider` = "' . $btl_id . '",`tactic7` = "' . $s02['tactic7'] . '",`hpNow` = "' . $s02['hpNow'] . '",`mpNow` = "' . $s02['mpNow'] . '",`team`="2",`zv` = "0" WHERE `id` = "' . $uid2 . '" LIMIT 1'
- );
-
- if ($kulak > 0 || $btl_test['kulak'] > 0) {
- mysql_query(
- 'UPDATE `items_users` SET `inOdet` = "0" WHERE ( `uid` = "' . $uid1 . '" OR `uid` = "' . $uid2 . '" ) AND `delete` = "0"'
- );
- }
-
- $good = $btl_id;
- if ($bsid != 0) {
- $bs = mysql_fetch_array(
- mysql_query(
- 'SELECT * FROM `bs_turnirs` WHERE `id` = "' . $u->info['inTurnir'] . '" LIMIT 1'
- )
- );
- if ($u->info['sex'] == 0) {
- $text = '
{u1} напал на {u2} завязался бой »»';
- } else {
- $text = '
{u1} напала на {u2} завязался бой »»';
- }
- $usr_real = mysql_fetch_array(
- mysql_query(
- 'SELECT `id`, `login`, `align`, `clan`, `battle`, `level` FROM `users` WHERE (`inUser` = "' . $usr['id'] . '" OR `id` = "' . $usr['id'] . '") LIMIT 1'
- )
- );
- if (!isset($usr_real['id'])) {
- $usr_real = $usr;
- }
- if (isset($usr_real['id'])) {
- $usrreal = '';
- if ($usr_real['align'] > 0) {
- $usrreal .= '
';
- }
- if ($usr_real['clan'] > 0) {
- $usrreal .= '
';
- }
- $usrreal .= '' . $usr_real['login'] . '[' . $usr_real['level'] . ']
';
- } else {
- $usrreal = 'Невидимка[??]';
- }
- $me_real = mysql_fetch_array(
- mysql_query(
- 'SELECT `id`,`login`,`align`,`clan`,`battle`,`level` FROM `users` WHERE `inUser` = "' . $u->info['id'] . '" AND `login` = "' . $u->info['login'] . '" LIMIT 1'
- )
- );
- if (isset($me_real['id'])) {
- $mereal = '';
- if ($me_real['align'] > 0) {
- $mereal .= '
';
- }
- if ($me_real['clan'] > 0) {
- $mereal .= '
';
- }
- $mereal .= '' . $me_real['login'] . '[' . $me_real['level'] . ']
';
- } else {
- $mereal = 'Невидимка[??]';
- }
- $text = str_replace('{u1}', $mereal, $text);
- $text = str_replace('{u2}', $usrreal, $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() . '", "' . $bs['id'] . '", "' . $bs['count'] . '", "' . $bs['city'] . '",
- "' . round($bs['money'] * 0.85, 2) . '","' . $i . '")'
- );
- unset($text, $usrreal, $mereal, $usr_real, $me_real);
- }
- }
- }
- } elseif (isset($btl_test['id']) && $btl_test['type'] == 500 && $usr['team'] == 1) {
- $u->error = 'Нельзя сражаться на стороне монстров!';
- } elseif (isset($btl_test['id']) && $btl_test['type'] == 250 && $u->info['clan'] != $btl_test['clan1'] && $u->info['clan'] != $btl_test['clan2']) {
- $u->error = 'Нельзя попасть в клановые бои - если вы неявляетесь представителем данных кланов!!!';
- } elseif (isset($btl_test['id']) && $btl_test['invis'] > 0) {
- $u->error = 'Нельзя вмешиваться в невидимый бой!';
- } elseif ($btl_test['noatack'] > 0) {
- $u->error = 'В этот поединок нельзя вмешиваться!';
- } else {
-
- //вмешиваемся в бой
- //effect ненападения
- if ($usr['no_ip'] == 'trupojor') {
- mysql_query(
- 'INSERT INTO `eff_users` (`no_Ace`,`id_eff`,`overType`,`uid`,`name`,`data`,`timeUse`) VALUES ("1","479","112","' . $u->info['id'] . '","Защита от нападения","zashitatk=1","' . time() . '")'
- );
- }
- $upd = mysql_query('UPDATE `users` SET `battle`="' . $btl . '" WHERE `id` = "' . $uid1 . '" LIMIT 1');
- if ($upd) {
-
- if ($kulak > 0 || $btl_test['kulak'] > 0) {
- mysql_query(
- 'UPDATE `items_users` SET `inOdet` = "0" WHERE `uid` = "' . $uid1 . '" AND `delete` = "0"'
- );
- }
-
- $uid1st = $u->getStats($uid1);
- $uid1u = mysql_fetch_array(
- mysql_query(
- 'SELECT `id`,`login`,`level`,`clan`,`align`,`sex` FROM `users` WHERE `id` = "' . $uid1 . '" LIMIT 1'
- )
- );
-
- if ($uid1u['level'] <= 7) {
- $uid1st['tactic7'] = floor((10 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
- } elseif ($uid1u['level'] == 8) {
- $uid1st['tactic7'] = floor((20 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
- } elseif ($uid1u['level'] == 9) {
- $uid1st['tactic7'] = floor((30 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
- } elseif ($uid1u['level'] >= 10) {
- $uid1st['tactic7'] = floor((40 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
- } else {
- $uid1st['tactic7'] = floor((10 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
- }
-
- //Духовность, спасение
- if ($uid1st['s7'] > 49) {
- mysql_query(
- 'UPDATE `eff_users` SET `delete`="' . time() . '" WHERE `uid` = "' . $uid1st['id'] . '" AND `overType` = 101 AND `delete` = 0'
- );
- mysql_query(
- "
- INSERT INTO `eff_users` ( `id_eff`, `uid`, `name`, `data`, `overType`, `timeUse`, `timeAce`, `user_use`, `delete`, `v1`, `v2`, `img2`, `x`, `hod`, `bj`, `sleeptime`, `no_Ace`, `file_finish`, `tr_life_user`, `deactiveTime`, `deactiveLast`, `mark`, `bs`) VALUES
- ( 22, '" . $uid1st['id'] . "', 'Спасение', 'add_spasenie=1', 101, 77, 0, '" . $uid1st['id'] . "', 0, 'priem', 324, 'preservation.gif', 1, -1, 'спасение', 0, 0, '', 0, 0, 0, 1, 0);
- "
- );
- }
-
-
- $btxt = '';
- if ($uid1u['align'] > 0) {
- $btxt = $btxt . '
';
- }
- if ($uid1u['align2'] > 0) {
- $btxt = $btxt . '
';
- }
- if ($uid1u['clan'] > 0) {
- $btxt = $btxt . '
';
- }
- $btxt = $btxt . '{u1}[' . $uid1u['level'] . ']
';
- if ($uid1u['sex'] == 1) {
- $btxt = $btxt . ' вмешалась в поединок.';
- } else {
- $btxt = $btxt . ' вмешался в поединок.';
- }
-
- if ($kulak > 0) {
- $btxt .= ' (Кулачное нападение)';
- }
-
- $lastHOD = mysql_fetch_array(
- mysql_query(
- 'SELECT * FROM `battle_logs` WHERE `battle` = "' . $btl . '" 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() . '","' . $btl . '","' . ($id_hod) . '","{tm1} ' . $btxt . '","login1=' . $uid1st['login'] . '||t1=' . $uid1st['team'] . '||login2=' . $uid1st['login'] . '||t2=' . $uid1st['team'] . '||time1=' . time() . '","","","","","6")'
- );
- }
-
- // Бафф Зверя animal_bonus ---------------------------------
- if ($u->info['animal'] > 0) {
- $a = mysql_fetch_array(
- mysql_query(
- 'SELECT * FROM `users_animal` WHERE `uid` = "' . $u->info['id'] . '" AND `id` = "' . $u->info['animal'] . '" AND `pet_in_cage` = "0" AND `delete` = "0" LIMIT 1'
- )
- );
- if (isset($a['id'])) {
- if ($a['eda'] >= 1) {
- $anl = mysql_fetch_array(
- mysql_query(
- 'SELECT `bonus` FROM `levels_animal` WHERE `type` = "' . $a['type'] . '" AND `level` = "' . $a['level'] . '" LIMIT 1'
- )
- );
- $anl = $anl['bonus'];
-
- $tpa = [1 => 'cat', 2 => 'owl', 3 => 'wisp', 4 => 'demon', 5 => 'dog', 6 => 'pig', 7 => 'dragon'];
- $tpa2 = [1 => 'Кота', 2 => 'Совы', 3 => 'Светляка', 4 => 'Чертяки', 5 => 'Пса', 6 => 'Свина', 7 => 'Дракона'];
- $tpa3 = [1 => 'Кошачья Ловкость', 2 => 'Интуиция Совы', 3 => 'Сила Стихий', 4 => 'Демоническая Сила', 5 => 'Друг', 6 => 'Полная Броня', 7 => 'Инферно'];
-
- mysql_query(
- 'UPDATE `eff_users` SET `delete`="' . time() . '" WHERE `uid` = "' . $u->info['id'] . '" AND `overType` = 100 AND `delete` = 0'
- );
- mysql_query(
- 'INSERT INTO `eff_users` (`hod`,`v2`,`img2`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`v1`,`user_use`) VALUES ("-1","201","summon_pet_' . $tpa[$a['type']] . '.gif",22,"' . $u->info['id'] . '","' . $tpa3[$a['type']] . ' [' . $a['level'] . ']","' . $anl . '","100","77","priem","' . $u->info['id'] . '")'
- );
-
- if ($a['type'] == 6) {
- if ($a['level'] == 1 || $a['level'] == 2 || $a['level'] == 3) {
- $zhp = 50;
- } elseif ($a['level'] == 4) {
- $zhp = 75;
- } elseif ($a['level'] == 5 || $a['level'] == 6) {
- $zhp = 125;
- } elseif ($a['level'] == 7 || $a['level'] == 8) {
- $zhp = 150;
- } elseif ($a['level'] == 9) {
- $zhp = 200;
- } elseif ($a['level'] == 10) {
- $zhp = 300;
- } else {
- $zhp = 0;
- }
- $u->info['hpNow'] += $zhp;
- mysql_query(
- 'UPDATE `stats` SET `hpNow` = "' . $u->info['hpNow'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
- );
- }
-
- } else {
- $cmsg = new ChatMessage();
- $cmsg->setRoom($u->info['room']);
- $cmsg->setCity($u->info['city']);
- $cmsg->setTo($u->info['login']);
- $cmsg->setText('' . $a['name'] . ' нуждается в еде...');
- $cmsg->setType(6);
- (new Chat())->sendMsg($cmsg);
- }
- }
- }
- // Бафф Зверя animal_bonus ---------------------------------
- $ltm = [1 => 2, 2 => 1];
- mysql_query(
- 'UPDATE `stats` SET `hpNow` = "' . $uid1st['hpNow'] . '",`mpNow` = "' . $uid1st['mpNow'] . '",`team`="' . $ltm[$tm] . '",`tactic7`="' . (0 + $uid1st['tactic7']) . '" WHERE `id` = "' . $uid1 . '" LIMIT 1'
- );
- $good = $btl;
- unset($uid1st);
- if ($bsid != 0) {
- $bs = mysql_fetch_array(
- mysql_query('SELECT * FROM `bs_turnirs` WHERE `id` = "' . $u->info['inTurnir'] . '" LIMIT 1')
- );
- if ($u->info['sex'] == 0) {
- $text = '
{u1} вмешался в поединок против {u2} »»';
- } else {
- $text = '
{u1} вмешалась в поединок против {u2} »»';
- }
- $usr_real = mysql_fetch_array(
- mysql_query(
- 'SELECT `id`, `login`, `align`, `clan`, `battle`, `level` FROM `users` WHERE `inUser` = "' . $usr['id'] . '" LIMIT 1'
- )
- );
- if (!isset($usr_real['id'])) {
- $usr_real = $usr;
- }
- if (isset($usr_real['id'])) {
- $usrreal = '';
- if ($usr_real['align'] > 0) {
- $usrreal .= '
';
- }
- if ($usr_real['clan'] > 0) {
- $usrreal .= '
';
- }
- $usrreal .= '' . $usr_real['login'] . '[' . $usr_real['level'] . ']
';
- } else {
- $mereal = 'Невидимка[??]';
- }
- $me_real = mysql_fetch_array(
- mysql_query(
- 'SELECT `id`,`login`,`align`,`clan`,`battle`,`level` FROM `users` WHERE `inUser` = "' . $u->info['id'] . '" AND `login` = "' . $u->info['login'] . '" LIMIT 1'
- )
- );
- if (isset($me_real['id'])) {
- $mereal = '';
- if ($me_real['align'] > 0) {
- $mereal .= '
';
- }
- if ($me_real['clan'] > 0) {
- $mereal .= '
';
- }
- $mereal .= '' . $me_real['login'] . '[' . $me_real['level'] . ']
';
- } else {
- $mereal = 'Невидимка[??]';
- }
- $text = str_replace('{u1}', $mereal, $text);
- $text = str_replace('{u2}', $usrreal, $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() . '", "' . $bs['id'] . '", "' . $bs['count'] . '", "' . $bs['city'] . '",
- "' . round($bs['money'] * 0.85, 2) . '","' . $i . '")'
- );
- unset($text, $usrreal, $mereal, $usr_real, $me_real);
- }
- }
- }
- return $good;
+ return $this->attack->atackUser($uid1, $uid2, $tm, $btl, $addExp, $type);
}
//Проверка травмы
- private static function canAttack8Level($attacker, $target): bool
- {
- $aSum = self::getDressedEkrTotalPrice($attacker);
- $tRange = Math::get20PercentRange(self::getDressedEkrTotalPrice($target));
-
- return $aSum >= $tRange['min'] && $aSum <= $tRange['max'];
- }
-
- private static function getDressedEkrTotalPrice($uid)
- {
- return Db::getValue('select sum(2price) from items_users where inOdet > 0 and uid = ?', [$uid]);
- }
-
- public function testTravma(int $uid, $vals): bool
- {
- $v1 = Db::getValue('select v1 from eff_users where id_eff = 4 and uid = ? and `delete` = 0 and v1 >= ?', [$uid, $vals]);
- return intval($v1) >= intval($vals);
- }
-
- //создаем нападение на персонажа
-
- public function inBattleLog($txt, $usr = null)
+ private function inBattleLog($txt, $usr = null)
{
global $u;
$lastHOD = Db::getRow('select id_hod, type from battle_logs where battle = ? order by id_hod desc limit 1', [$u->info['battle']]);
@@ -2596,4 +2098,12 @@ class Magic
];
Db::sql($sql, $args);
}
+
+ //создаем нападение на персонажа
+
+ public function testTravma(int $uid, $vals): bool
+ {
+ $v1 = Db::getValue('select v1 from eff_users where id_eff = 4 and uid = ? and `delete` = 0 and v1 >= ?', [$uid, $vals]);
+ return intval($v1) >= intval($vals);
+ }
}
diff --git a/_incl_data/class/Magic/Attack.php b/_incl_data/class/Magic/Attack.php
new file mode 100644
index 00000000..77c67e72
--- /dev/null
+++ b/_incl_data/class/Magic/Attack.php
@@ -0,0 +1,331 @@
+magic = $magic;
+ }
+
+ public function atackUser($uid1, $uid2, $tm, $btl, $addExp = 0, $type = 0)
+ {
+ global $u;
+ $attacker = User::getInfo($uid1);
+ $target = User::getInfo($uid2);
+
+ $battleTest = Db::getRow('select * from battle where id = ? and team_win = -1');
+
+ $good = 0;
+ $error = '';
+
+ if (
+ self::isMonster($target) &&
+ (
+ $target['level'] == 9 && $attacker['level'] > 9 ||
+ $target['level'] == 10 && ($attacker['level'] < 10 || $attacker['level'] > 11)
+ )
+ ) {
+ $error = 'Нельзя нападать на монстра этого уровня!';
+ } elseif (self::isMonster($target) && User\Effects::hasAttackTimeLimit($attacker['id'])) {
+ $error = 'Нельзя нападать на монстра чаще одного раза в 3 часа!';
+ } elseif (User\Effects::isImmuneToAttack($target['id'])) {
+ $error = 'Персонаж имеет защиту от нападения!';
+ } elseif ($target['level'] == 8 && !self::isMonster($target) && self::canAttack8Level(
+ $attacker['id'], $target['id']
+ )) {
+ $error = 'На 8-е уровни нападать нельзя.';
+ } elseif ($attacker['level'] != $target['level'] && !self::isMonster($target)) {
+ $error = 'Нападать можно на персонажей только своего уровня!!!';
+ } elseif (isset($battleTest['id']) && $battleTest['noatack'] > 0) {
+ $error = 'Поединок защищен магией! Вы не можете вмешаться!';
+ } elseif ($target['level'] < 8) {
+ $error = 'Новички находятся под защитой Мироздателя...';
+ } elseif ($attacker['level'] < 8) {
+ $error = 'Тренируйтесь вам пока еще рано...';
+ } elseif ($target['admin'] == 1 && $attacker['admin'] == 0) {
+ $error = 'Уважайте хранителей...';
+ } elseif ($this->magic->testTravma($uid2, 3)) {
+ $error = 'Противник тяжело травмирован, нельзя напасть!';
+ } elseif ($this->magic->testTravma($uid1, 2)) {
+ $error = 'Вы травмированы, нельзя напасть!';
+ } elseif ($target['clan'] != 0 && ($target['clan'] == $attacker['clan']) && $attacker['admin'] == 0) {
+ $error = 'Чтите честь ваших сокланов.';
+ } elseif ($btl != 0 && $battleTest['smert'] == 1 && $type != 222) {
+ $error = 'Вы не можете вмешаться в этот кровавый поединок!';
+ } elseif ($btl == 0) {
+ $s01 = $u->getStats($uid1, 0);
+ if ($s01['hpNow'] < floor($s01['hpAll'] / 100 * 33)) {
+ $error = 'Нельзя напасть, у противника не восстановилось здоровье';
+ } else {
+ $addExp += $target['bbexp'];
+ //effect ненападения
+ if (self::isMonster($target)) {
+ User\Effects::giveAttackImmunity($attacker['id']);
+ }
+
+ //тут клан вар
+
+ //************
+ //нападаем на персонажа
+ //===Удаление защиты от нападения в результате нападения пользователем
+ User\Effects::removeByIds($attacker['id'], 479, 480, 481);
+ //=======
+ if ($type == 222) {
+ $battleId = self::battleInit($attacker, $target, 99, $addExp, true, 1);
+ } elseif (self::haveClanWar($attacker['clan'], $target['clan'])) {
+ $battleId = self::battleInit($attacker, $target, 250, $addExp, true);
+ } else {
+ $battleId = self::battleInit($attacker, $target, $type, $addExp);
+ }
+
+ if ($battleId > 0) {
+ //
+ $s01 = self::updateHpAndMp($s01);
+ $s02 = $u->getStats($uid2, 0);
+ $s02 = self::updateHpAndMp($s02);
+
+ Db::sql('update users set battle = ? where id in (?,?)', [$uid1, $uid2]);
+ $sql = 'update stats set lider = ?, tactic7 = ?, hpNow = ?, mpNow = ?, team = ? where id = ?';
+ Db::sql($sql, [
+ $battleId,
+ $s01['tactic7'],
+ $s01['hpNow'],
+ $s01['mpNow'],
+ 1,
+ $uid1,
+ ]);
+ Db::sql($sql, [
+ $battleId,
+ $s02['tactic7'],
+ $s02['hpNow'],
+ $s02['mpNow'],
+ 2,
+ $uid2,
+ ]);
+ unset($sql);
+
+ $good = $battleId;
+ }
+ }
+ } elseif (isset($battleTest['id']) && $battleTest['type'] == 500 && $target['team'] == 1) {
+ $error = 'Нельзя сражаться на стороне монстров!';
+ } elseif (isset($battleTest['id']) && $battleTest['type'] == 250 && $attacker['clan'] != $battleTest['clan1'] && $attacker['clan'] != $battleTest['clan2']) {
+ $error = 'Нельзя попасть в клановые бои - если вы неявляетесь представителем данных кланов!!!';
+ } elseif (isset($battleTest['id']) && $battleTest['invis'] > 0) {
+ $error = 'Нельзя вмешиваться в невидимый бой!';
+ } elseif ($battleTest['noatack'] > 0) {
+ $error = 'В этот поединок нельзя вмешиваться!';
+ } else {
+
+ //вмешиваемся в бой
+ //effect ненападения
+ if (self::isMonster($target)) {
+ User\Effects::giveAttackImmunity($attacker['id']);
+ }
+
+ Db::sql('update users set battle = ? where id = ?', [$btl, $uid1]);
+
+ $uid1st = $u->getStats($uid1);
+ $uid1u = User::getInfo($uid1);
+
+ if ($uid1u['level'] <= 7) {
+ $uid1st['tactic7'] = floor((10 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
+ } elseif ($uid1u['level'] == 8) {
+ $uid1st['tactic7'] = floor((20 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
+ } elseif ($uid1u['level'] == 9) {
+ $uid1st['tactic7'] = floor((30 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
+ } elseif ($uid1u['level'] >= 10) {
+ $uid1st['tactic7'] = floor((40 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
+ } else {
+ $uid1st['tactic7'] = floor((10 + $uid1st['s7']) / $uid1st['hpAll'] * $uid1st['hpNow']);
+ }
+
+ //Духовность, спасение
+ if ($uid1st['s7'] > 49) {
+ User\Effects::addSpasenie($uid1st['id']);
+ }
+
+ $btxt = '';
+ if ($uid1u['align'] > 0) {
+ $btxt = $btxt . '
';
+ }
+ if ($uid1u['align2'] > 0) {
+ $btxt = $btxt . '
';
+ }
+ if ($uid1u['clan'] > 0) {
+ $btxt = $btxt . '
';
+ }
+ $btxt = $btxt . '{u1}[' . $uid1u['level'] . ']
';
+ if ($uid1u['sex'] == 1) {
+ $btxt = $btxt . ' вмешалась в поединок.';
+ } else {
+ $btxt = $btxt . ' вмешался в поединок.';
+ }
+
+ $lastHOD = Db::getRow('select id, id_hod, type from battle_logs where battle = ? order by id_hod desc limit 1');
+
+ if (isset($lastHOD['id'])) {
+ $idHod = $lastHOD['id_hod'];
+ if ($lastHOD['type'] != 6) {
+ $idHod++;
+ }
+
+ Db::sql('insert into battle_logs (time, battle, id_hod, text, vars, zona1, zonb1, zona2, zonb2, type) values (unix_timestamp(),?,?,?,?,?,?,?,?,6)', [
+ $btl,
+ $idHod,
+ "{tm1} $btxt",
+ "login1={$uid1st['login']}||t1={$uid1st['team']}||login2={$uid1st['login']}||t2={$uid1st['team']}||time=" . time(),
+ "",
+ "",
+ "",
+ "",
+ ]);
+ }
+
+ // Бафф Зверя animal_bonus ---------------------------------
+ $this->setAnimalBonus($attacker);
+ User::start()->info['hpNow'] += $this->pigAnimalBonus;
+ // Бафф Зверя animal_bonus ---------------------------------
+
+ $ltm = [1 => 2, 2 => 1];
+ Db::sql('update stats set hpNow = ?, hpAll = ?, team = ?, tactic7 = ? where id = ?', [$uid1st['hpNow'], $uid1st['mpNow'], $ltm[$tm], (int)$uid1st['tactic7'], $uid1]);
+ $good = $btl;
+ unset($uid1st);
+ }
+ $u->error = $error;
+ return $good;
+ }
+
+ private static function isMonster(array $target): bool
+ {
+ return $target['no_ip'] === 'trupojor';
+ }
+
+ private static function canAttack8Level($attacker, $target): bool
+ {
+ $aSum = User\ItemsModel::getDressedEkrTotalPrice($attacker);
+ $tRange = Math::get20PercentRange(User\ItemsModel::getDressedEkrTotalPrice($target));
+
+ return $aSum >= $tRange['min'] && $aSum <= $tRange['max'];
+ }
+
+ private static function battleInit(array $attacker, array $defender, int $type, float $addExp, bool $isClanWar = false, $smert = 0): int
+ {
+ $fighters = "{$attacker['login']},{$defender['login']}";
+ $clan1 = 0;
+ $clan2 = 0;
+ if ($isClanWar) {
+ $clan1 = $attacker['clan'];
+ $clan2 = $defender['clan'];
+ }
+ $sql = 'insert into battle (city, time_start, players, timeout, type, travmChance, typeBattle, addExp, clan1, clan2, smert) values (?,unix_timestamp(),?,60 * ?,?,50,9,?,?,?,?)';
+ $args = ['capitalcity', $fighters, mt_rand(1, 3), $type, $addExp, $clan1, $clan2, $smert];
+
+ Db::sql($sql, $args);
+ return (int)Db::lastInsertId();
+ }
+
+ private static function haveClanWar(int $clan1, int $clan2): bool
+ {
+ $listStr = "$clan1, $clan2";
+ return Db::getValue('select count(*) from clan_wars where clan1 in (?) and clan2 in (?) and clan1 != clan2', [$listStr, $listStr]) > 0;
+ }
+
+ /**
+ * Обновляем НР и МР игрокам.
+ * @param array $userStats
+ * @return array
+ */
+ private static function updateHpAndMp(array $userStats): array
+ {
+ if ($userStats['level'] <= 7) {
+ $userStats['tactic7'] = floor(10 / $userStats['hpAll'] * $userStats['hpNow']);
+ } elseif ($userStats['level'] == 8) {
+ $userStats['tactic7'] = floor(20 / $userStats['hpAll'] * $userStats['hpNow']);
+ } elseif ($userStats['level'] == 9) {
+ $userStats['tactic7'] = floor(30 / $userStats['hpAll'] * $userStats['hpNow']);
+ } elseif ($userStats['level'] >= 10) {
+ $userStats['tactic7'] = floor(40 / $userStats['hpAll'] * $userStats['hpNow']);
+ }
+ return $userStats;
+ }
+
+ private function setAnimalBonus(array $owner)
+ {
+ if ($owner['animal'] < 1) {
+ return;
+ }
+ $animal = Db::getRow('select * from users_animal where uid = ? and id = ? and pet_in_cage = 0', [$owner['id'], $owner['animal']]);
+
+ if (!$animal) {
+ return;
+ }
+
+ if ($animal['eda'] < 1) {
+ $cmsg = new ChatMessage();
+ $cmsg->setRoom($owner['room']);
+ $cmsg->setTo($owner['login']);
+ $cmsg->setText('' . $animal['name'] . ' нуждается в еде...');
+ $cmsg->setType(6);
+ (new Chat())->sendMsg($cmsg);
+ return;
+ }
+
+ $animalBonus = Db::getValue('select bonus from levels_animal where type = ? and level = ?', [$animal['type'], $animal['level']]);
+
+ $statusName = [
+ 1 => ['cat', 'Кошачья Ловкость'],
+ 2 => ['owl', 'Интуиция Совы'],
+ 3 => ['wisp', 'Сила Стихий'],
+ 4 => ['demon', 'Демоническая Сила'],
+ 5 => ['dog', 'Друг'],
+ 6 => ['pig', 'Полная Броня'],
+ 7 => ['dragon', 'Инферно'],
+ ];
+
+ User\Effects::removeByOverType($owner['id'], 100);
+ User\Effects::addCustom([
+ 'v2' => 201,
+ 'img2' => "summon_pet_{$statusName[$animal['type']][0]}.gif",
+ 'id_eff' => 22,
+ 'uid' => $owner['id'],
+ 'name' => "{$statusName[$animal['type']][1]}[{$animal['level']}]",
+ 'data' => $animalBonus,
+ 'overType' => 100,
+ 'timeUse' => 77,
+ 'v1' => 'priem',
+ 'user_use' => $owner['id'],
+ ]);
+
+ if ($animal['type'] == 6) {
+ if ($animal['level'] == 1 || $animal['level'] == 2 || $animal['level'] == 3) {
+ $this->pigAnimalBonus = 50;
+ } elseif ($animal['level'] == 4) {
+ $this->pigAnimalBonus = 75;
+ } elseif ($animal['level'] == 5 || $animal['level'] == 6) {
+ $this->pigAnimalBonus = 125;
+ } elseif ($animal['level'] == 7 || $animal['level'] == 8) {
+ $this->pigAnimalBonus = 150;
+ } elseif ($animal['level'] == 9) {
+ $this->pigAnimalBonus = 200;
+ } elseif ($animal['level'] == 10) {
+ $this->pigAnimalBonus = 300;
+ }
+ Db::sql('update stats set hpNow = hpNow + ? where id = ?', [$this->pigAnimalBonus, $owner['id']]);
+ }
+ }
+}
diff --git a/_incl_data/class/User.php b/_incl_data/class/User.php
index 4a9674f4..df2e6a10 100644
--- a/_incl_data/class/User.php
+++ b/_incl_data/class/User.php
@@ -1180,17 +1180,92 @@ class User
public function getStats($uid, $i1 = null, $res = 0, $reimg = false, $btl_cache = false, $minimal = false)
{
- global $c;
if (is_array($uid)) {
$u = $uid;
} elseif ($uid != $this->info['id'] || $res == 1) {
$u = mysql_fetch_array(
mysql_query(
- 'SELECT `u`.`twink`,`u`.`stopexp`,`u`.`battle`,`u`.`id`,`u`.`no_ip`,`u`.`level`,`u`.`login`,`u`.`clan`,`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'
+ 'SELECT
+ `u`.`twink`,
+ `u`.`stopexp`,
+ `u`.`battle`,
+ `u`.`id`,
+ `u`.`no_ip`,
+ `u`.`level`,
+ `u`.`login`,
+ `u`.`clan`,
+ `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'
)
);
} else {
@@ -1219,7 +1294,23 @@ class User
if (!isset($cache_items)) {
$lvl = mysql_fetch_array(
mysql_query(
- 'SELECT `bprice`,`upLevel`,`nextLevel`,`exp`,`money`,`money_bonus1`,`money_bonus2`,`ability`,`skills`,`nskills`,`sskills`,`expBtlMax`,`hpRegen`,`mpRegen`,`money2` FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1'
+ 'SELECT
+ `bprice`,
+ `upLevel`,
+ `nextLevel`,
+ `exp`,
+ `money`,
+ `money_bonus1`,
+ `money_bonus2`,
+ `ability`,
+ `skills`,
+ `nskills`,
+ `sskills`,
+ `expBtlMax`,
+ `hpRegen`,
+ `mpRegen`,
+ `money2`
+FROM `levels` WHERE `upLevel` = "' . $u['upLevel'] . '" LIMIT 1'
)
);
if (isset($lvl['upLevel'])) {
@@ -1277,7 +1368,14 @@ class User
while ($pl_img = mysql_fetch_array($sp_img)) {
$pl_img_r = mysql_fetch_array(
mysql_query(
- 'SELECT * FROM `reimage` WHERE ((`uid` = "' . $u['id'] . '" AND `clan` = "0") OR (`clan` = "' . $u['clan'] . '" AND ' . $u['clan'] . ' > 0)) AND `good` > 0 AND `bad` = "0" AND `id` = "' . $pl_img['img_id'] . '" LIMIT 1'
+ 'SELECT * FROM `reimage` WHERE
+ (
+ (`uid` = "' . $u['id'] . '" AND `clan` = "0") OR
+ (`clan` = "' . $u['clan'] . '" AND ' . $u['clan'] . ' > 0)
+ ) AND
+ `good` > 0 AND
+ `bad` = "0" AND
+ `id` = "' . $pl_img['img_id'] . '" LIMIT 1'
)
);
if (isset($pl_img_r['id'])) {
@@ -1293,8 +1391,72 @@ class User
//Характеристики от предметов //ТУТ tr_lvl
$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`
+ `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" LIMIT 250'
);
$ia = $this->items['add'];
@@ -1668,7 +1830,25 @@ class User
if (!isset($test_noef['id'])) {
$efs = mysql_query(
'SELECT
- `eu`.`id`,`eu`.`id_eff`,`eu`.`tr_life_user`,`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`,
+ `eu`.`id`,
+`eu`.`id_eff`,
+`eu`.`tr_life_user`,
+`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`.`uid`="' . mysql_real_escape_string(
$u['id']
) . '" AND `eu`.`delete`="0" AND `eu`.`deactiveTime` < "' . time() . '" AND `eu`.`v1`!="priem" ORDER BY `eu`.`id` DESC LIMIT 50'
@@ -1855,7 +2035,25 @@ class User
if ($u['battle'] > 0) {
//Характеристики от приемов
$efs = mysql_query(
- 'SELECT `eu`.`id`,`eu`.`id_eff`,`eu`.`uid`,`eu`.`name`,`eu`.`data`,`eu`.`overType`,`eu`.`timeUse`,`eu`.`timeAce`,`eu`.`user_use`,`eu`.`tr_life_user`,`eu`.`delete`,`eu`.`v1`,`eu`.`v2`,`eu`.`img2`,`eu`.`x`,`eu`.`hod`,`eu`.`bj`,`eu`.`sleeptime`,`eu`.`no_Ace` FROM `eff_users` AS `eu` WHERE `eu`.`uid`="' . mysql_real_escape_string(
+ 'SELECT `eu`.`id`,
+`eu`.`id_eff`,
+`eu`.`uid`,
+`eu`.`name`,
+`eu`.`data`,
+`eu`.`overType`,
+`eu`.`timeUse`,
+`eu`.`timeAce`,
+`eu`.`user_use`,
+`eu`.`tr_life_user`,
+`eu`.`delete`,
+`eu`.`v1`,
+`eu`.`v2`,
+`eu`.`img2`,
+`eu`.`x`,
+`eu`.`hod`,
+`eu`.`bj`,
+`eu`.`sleeptime`,
+`eu`.`no_Ace` FROM `eff_users` AS `eu` WHERE `eu`.`uid`="' . mysql_real_escape_string(
$u['id']
) . '" AND `eu`.`delete`="0" AND `eu`.`deactiveTime` < "' . time() . '" AND `eu`.`v1` = "priem" ORDER BY `eu`.`id` ASC'
);
@@ -2710,7 +2908,25 @@ class User
$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`,
+ `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
@@ -3159,7 +3375,8 @@ class User
//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;'
+ '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']);
@@ -4027,7 +4244,11 @@ class User
$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 '
+ '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) {
@@ -4094,7 +4315,8 @@ class User
} 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'
+ '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) {
@@ -4153,8 +4375,72 @@ class User
$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`
+ `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'
)
);
@@ -4212,8 +4498,72 @@ class User
$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`
+ `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'
)
);
@@ -4238,8 +4588,72 @@ class User
$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`
+ `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'
)
);
@@ -4323,7 +4737,72 @@ class User
{
$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'
+ '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) {
@@ -4356,7 +4835,72 @@ class User
{
$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`
+ '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'
)
);
@@ -4389,8 +4933,72 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$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`
+ `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'
)
);
@@ -5304,7 +5912,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
public function genInv($type, $sort): array
{
- global $c, $code;
+ global $code;
$i = 0; // счетчик, просто обнуняем.
$j = 0; // Всего предметов while ++
@@ -5315,7 +5923,118 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$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 . '
+ '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 . '
'
);
@@ -6769,12 +7488,76 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
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
+`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)
@@ -6825,7 +7608,72 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$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'] . ''
+ '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;
@@ -6876,7 +7724,6 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
public function testItems($uid, $sn, $dt)
{
- global $c, $code;
$st = false;
$rt = false;
if ($uid != $this->info['id']) {
@@ -6906,8 +7753,73 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$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`
+ `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)) {
@@ -7117,7 +8029,6 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
public function btlMagicList()
{
- global $c;
$i = 1;
$sv = [];
while ($i <= 10) {
@@ -7167,7 +8078,7 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
public function getInfoPers($uid, $i1, $sn = 0, $ivv = 0): array
{
- global $c, $code;
+ global $code;
$st = false;
$rt = false;
@@ -7243,8 +8154,72 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$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`
+ `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];
@@ -7508,7 +8483,25 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
//-------- генерируем эффекты
$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`,
+ `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']
@@ -8069,7 +9062,9 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
{
$r = '';
$sp = mysql_query(
- 'SELECT `im`.`name`,`iu`.`iznosNOW`,`iu`.`iznosMAX`
+ '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
@@ -8109,8 +9104,72 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$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`
+ `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'
)
);
@@ -8402,7 +9461,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
} 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"'
+ '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)) {
@@ -8505,7 +9565,8 @@ FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`
$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
+ '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
@@ -8524,7 +9585,72 @@ LIMIT 1'
$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 . ''
+ '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;
@@ -8581,7 +9707,8 @@ LIMIT 1'
}
$itm = mysql_fetch_array(
mysql_query(
- 'SELECT `im`.*,`iu`.*
+ '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'
diff --git a/_incl_data/class/User/Effects.php b/_incl_data/class/User/Effects.php
index 90a272e3..3838dc52 100644
--- a/_incl_data/class/User/Effects.php
+++ b/_incl_data/class/User/Effects.php
@@ -6,10 +6,91 @@ use Core\Db;
class Effects
{
+ public static function addCustom(array $values)
+ {
+ $sql = '
+insert into eff_users
+ (
+ id_eff,
+ uid,
+ name,
+ data,
+ overType,
+ timeUse,
+ timeAce,
+ user_use,
+ v1,
+ v2,
+ img2,
+ x,
+ hod,
+ bj,
+ sleeptime,
+ no_Ace,
+ file_finish,
+ tr_life_user,
+ deactiveTime,
+ deactiveLast,
+ mark,
+ bs
+ ) values (
+ :id_eff,
+ :uid,
+ :name,
+ :data,
+ :overType,
+ :timeUse,
+ :timeAce,
+ :user_use,
+ :v1,
+ :v2,
+ :img2,
+ :x,
+ :hod,
+ :bj,
+ :sleeptime,
+ :no_Ace,
+ :file_finish,
+ :tr_life_user,
+ :deactiveTime,
+ :deactiveLast,
+ :mark,
+ :bs
+ )';
+ $args = [
+ 'id_eff' => null,
+ 'uid' => null,
+ 'name' => null,
+ 'data' => '',
+ 'overType' => 0,
+ 'timeUse' => null,
+ 'timeAce' => 0,
+ 'user_use' => '',
+ 'v1' => '0',
+ 'v2' => 0,
+ 'img2' => '',
+ 'x' => 1,
+ 'hod' => -1,
+ 'bj' => '0',
+ 'sleeptime' => 0,
+ 'no_Ace' => 0,
+ 'file_finish' => '',
+ 'tr_life_user' => 0,
+ 'deactiveTime' => 0,
+ 'deactiveLast' => 0,
+ 'mark' => 0,
+ 'bs' => 0,
+ ];
+ $args = array_replace($args, $values);
+ if (!isset($args['id_eff'], $args['uid'], $args['name'], $args['timeUse'])) {
+ return;
+ }
+ Db::sql($sql, $args);
+ }
/** Дать игроку эффект.
* @param int $uid id игрока
- * @param int $id id эффекта
+ * @param int $id id эффекта
* @return void
*/
public static function addById(int $uid, int $id)
@@ -34,8 +115,47 @@ class Effects
return Db::getValue('select count(*) from eff_users where (id_eff between 301 and 304 or id_eff between 321 and 332) and id = ? and uid = ?', [$addictionId, $uid]) > 0;
}
- public static function removeById(int $id): void
+ public static function removeById(int $userId, int $id): void
{
- Db::sql('update eff_users set delete = unix_timestamp() where id = ?', [$id]);
+ Db::sql('delete from eff_users where id = ? and uid = ?', [$id, $userId]);
+ }
+
+ public static function removeByIds(int $userId, ...$ids): void
+ {
+ Db::sql('delete from eff_users where id in (?) and uid = ?', [implode(',', $ids), $userId]);
+ }
+
+ public static function removeByOverType(int $userId, int $overType): void
+ {
+ Db::sql('delete from eff_users where overType = ? and uid = ?', [$overType, $userId]);
+ }
+
+ public static function hasAttackTimeLimit(int $attackerId): bool
+ {
+ return Db::getValue('select count(*) from eff_users where id_eff = 478 and `delete` = 0 and uid = ?', [$attackerId]) > 0;
+ }
+
+ public static function isImmuneToAttack(int $targetId): bool
+ {
+ return Db::getValue('select count(*) from eff_users where id_eff in (479, 480, 481) and `delete` = 0 and uid = ?', [$targetId]) > 0;
+ }
+
+ public static function giveAttackImmunity(int $userId)
+ {
+ Db::sql("insert into eff_users (no_Ace, id_eff, overType, uid, name, data, timeUse) values (1,479,112,?,'Защита от нападения','zashitatk=1',unix_timestamp())", [$userId]);
+ }
+
+ /**
+ * Духовность. Спасение.
+ * Из свитка нападения.
+ * @param $id
+ * @return void
+ */
+ public static function addSpasenie($id): void
+ {
+ Db::sql('delete from eff_users where uid = ? and overType = 101');
+ Db::sql("insert into eff_users (id_eff, uid, name, data, overType, timeUse, user_use, v1, v2, img2, bj, mark)
+ values (22,?,'Спасение','add_spasenie=1',101,77,?,'priem',324,'preservation.gif','спасение',1)", [$id, $id]);
+
}
}
diff --git a/_incl_data/class/User/ItemsModel.php b/_incl_data/class/User/ItemsModel.php
index 99c17e91..ade225d9 100644
--- a/_incl_data/class/User/ItemsModel.php
+++ b/_incl_data/class/User/ItemsModel.php
@@ -58,7 +58,8 @@ class ItemsModel
public static function deleteItemsById(int $id, int $coldel = 1)
{
Db::sql(
- 'update items_users set `delete` = unix_timestamp() where id in (select id from items_users where item_id = ? and uid = ? and (`delete` = 0 or `delete` = 1000) order by inGroup desc limit ?)',
+ 'update items_users set `delete` = unix_timestamp()
+ where id in (select id from items_users where item_id = ? and uid = ? and (`delete` = 0 or `delete` = 1000) order by inGroup desc limit ?)',
[$id, User::start()->info['id'], $coldel]
);
}
@@ -70,7 +71,8 @@ class ItemsModel
$stats = User::start()->stats;
return [
- 'now' => Db::getValue('select sum(massa) from items_users left join items_main on item_id = items_main.id where uid = ? and (`delete` = 0 or (`delete` = 1000 and inGroup > 0)) and inShop = 0 and inOdet = 0', [$uid]),
+ 'now' => Db::getValue('select sum(massa) from items_users left join items_main on item_id = items_main.id
+ where uid = ? and (`delete` = 0 or (`delete` = 1000 and inGroup > 0)) and inShop = 0 and inOdet = 0', [$uid]),
'max' => 40 + ($stats['os7'] * 10) + $stats['s4'] + $stats['maxves'] + $stats['s1'] * 4,
'items' => Db::getValue('select count(*) from items_users where uid = ? and `delete` = 0 and inShop = 0 and inOdet = 0', [$uid]),
];
@@ -140,12 +142,17 @@ class ItemsModel
*/
public static function getOwnedItemById(int $itemId, int $ownerId): array
{
- return Db::getRow('select * from items_users left join items_main on item_id = items_main.id where uid = ? and items_users.id = ? and `delete` = 0 and inOdet = 0 and inShop = 0', [$ownerId, $itemId]);
+ return Db::getRow('select * from items_users left join items_main on item_id = items_main.id
+ where uid = ? and items_users.id = ? and `delete` = 0 and inOdet = 0 and inShop = 0', [$ownerId, $itemId]);
}
public static function delete(int $id)
{
- Db::sql('update items_users set `delete` = unix_timestamp() where id = ?', [$id]);
+ Db::sql('delete from items_users where id = ?', [$id]);
}
+ public static function getDressedEkrTotalPrice($uid)
+ {
+ return Db::getValue('select sum(2price) from items_users where inOdet > 0 and uid = ?', [$uid]);
+ }
}
\ No newline at end of file
diff --git a/modules_data/location/znahar.php b/modules_data/location/znahar.php
index 4c957c35..956b6846 100644
--- a/modules_data/location/znahar.php
+++ b/modules_data/location/znahar.php
@@ -77,7 +77,7 @@ $vinos = [
"10" => 16,
"11" => 21,
"12" => 41,
- "21" => 41
+ "21" => 41,
];
//минимальный уровень для статов
$minlvl = [
@@ -91,7 +91,7 @@ $minlvl = [
8 => 12,
9 => 15,
10 => 20,
- 11 => 0
+ 11 => 0,
];
if (Effects::hasInjury($u->info['id'])) {
@@ -101,7 +101,7 @@ if (Effects::hasInjury($u->info['id'])) {
if (Effects::hasAddiction($addictionId, $u->info['id'])) {
zact(4);
//сброс пристрастия
- Effects::removeById($addictionId);
+ Effects::removeById($u->info['id'], $addictionId);
$st = ConversionHelper::dataStringToArray($u->info['stats']);
$err = 'Все прошло успешно.';
} else {