<?php use Core\Db; use Helper\Conversion; use Item\Data\Bonuses; use Item\Data\Properties; use Item\Data\Requirements; use Model\Constant\ShopOtdel; ini_set('xdebug.var_display_max_depth', 10); ini_set('xdebug.var_display_max_children', 256); ini_set('xdebug.var_display_max_data', 1024); if (!defined('GAME_VERSION')) { require_once '_incl_data/autoload.php'; } $user = User::start(); $im = Db::getColumn("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'items_main'"); $iu = Db::getColumn("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'items_users'"); $u = Db::getColumn("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'users'"); $s = Db::getColumn("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'stats'"); $p = Db::getRows('select * from const_stats'); var_dump((new ShopOtdel())->getGroups()); ?> <div style="display: grid; grid-template-columns: 50% 50%; word-wrap: break-word;"> <div> <b><u>$user->[info]</u></b><br> <?php $rr = 1; foreach ($user->info as $k => $v) { if (isset($user->is[$k])) { $k .= " <span style='background-color: lightcyan;'>[{$user->is[$k]}]</span>"; } if ($k == 'stats') { echo 'stats = ARRAY<br>'; foreach (Conversion::dataStringToArray($v) as $dk => $dv) { if (isset($user->is[$dk])) { $dk .= " <span style='background-color: lightcyan;'>[{$user->is[$dk]}]</span>"; } echo "<span style='background-color: #99FFCC; margin-left: 5px;'>$dk = $dv</span><br>"; } $k = ''; $v = ''; } echo "$rr. $k = $v<br>"; $rr++; } ?> </div> <div> <b><u>$user->[stats]</u></b><br> <?php $rr = 1; foreach ($user->stats as $k => $v) { if ($k === 'items_o') { continue; } if (isset($user->is[$k])) { $k .= " <span style='background-color: lightcyan;'>[{$user->is[$k]}]"; } else { $k = "<span>$k"; } $vv = is_array($v) ? 'array' : $v; echo "$rr. $k</span> = $vv<br>"; $rr++; if (is_array($v)) { foreach ($v as $k2 => $v2) { $vv2 = is_array($v2) ? 'array' : $v2; echo "<span style='background-color: #99FFCC; margin-left: 5px;'>$k2 = $vv2</span><br>"; if (is_array($v2)) { foreach ($v2 as $k3 => $v3) { $vv3 = is_array($v2) ? 'array' : $v3; echo "<span style='background-color: aliceblue; margin-left: 10px;'>$k3 = $vv3</span><br>"; if ($k3 === 'data' && $v3 !== '[]') { $v3 .= '|add_mib2=43'; $itemData = Conversion::dataStringToArray($v3); echo 'DATA TR_<br>'; foreach ((new Requirements($itemData))->get() as $k => $v) { echo "$k = $v<br>"; } echo 'DATA ADD_<br>'; foreach ((new Bonuses($itemData))->get() as $k => $v) { echo "$k = $v<br>"; } } } } } } } ?> </div> </div> <br> <div style="display: grid; grid-template-columns: auto auto;"> <div> Поля в базе users <?php var_dump($u); ?> </div> <div> Поля в базе stats <?php var_dump($s); ?> </div> </div> <div style="margin-top: 10px; background-color: aliceblue">Отдельно, уже согласованные параметры предметов, которые могут находиться исключительно в поле data</div> <div style="display: grid; grid-template-columns: auto auto auto; background-color: aliceblue"> <div> sv_* (хотим убрать) <?php var_dump(Properties::$names); ?> </div> </div> <div style="display: grid; grid-template-columns: auto auto;"> <div> Поля в базе items_main <?php var_dump($im); ?> </div> <div> Поля в базе items_users <?php var_dump($iu); ?> </div> </div> <hr> <hr> Параметры игрока.<br><br> <div style="display: grid; grid-template-columns: auto auto auto;"> <div> Заскриптованные <?php var_dump($user->is); ?> </div> <div> Хотим оставить </div> <div> Хотим убрать </div> </div> <?php echo "<h5>Текущая таблица параметров</h5>"; foreach ($p as $prow) { echo "{$prow['sys_name']} → {$prow['name']}"; if ($prow['is_percentage']) { echo " (%)"; } if ($prow['is_requirement']) { echo " <span style='background-color: lightpink;'>[требуется]</span> "; } if ($prow['is_bonus']) { echo " <span style='background-color: lightgreen;'>[даёт]</span> "; } echo "<br>"; } $stats = Db::getRows('select id, stats from stats'); $sarr = []; foreach ($stats as $stat) { $data = Conversion::dataStringToArray($stat['stats']); $arr = [ 'uid' => $stat['id'], 's1' => $data['s1'] ?? 0, 's2' => $data['s2'] ?? 0, 's3' => $data['s3'] ?? 0, 's4' => $data['s4'] ?? 0, 's5' => $data['s5'] ?? 0, 's6' => $data['s6'] ?? 0, 's7' => $data['s7'] ?? 0, 'a1' => $data['a1'] ?? 0, 'a2' => $data['a2'] ?? 0, 'a3' => $data['a3'] ?? 0, 'a4' => $data['a4'] ?? 0, 'mg1' => $data['mg1'] ?? 0, 'mg2' => $data['mg2'] ?? 0, 'mg3' => $data['mg3'] ?? 0, 'mg4' => $data['mg4'] ?? 0, ]; unset($data['s1'], $data['s2'], $data['s3'], $data['s4'], $data['s5'], $data['s6'], $data['s7'], $data['a1'], $data['a2'], $data['a3'], $data['a4'], $data['mg1'], $data['mg2'], $data['mg3'], $data['mg4']); $arr['tails'] = Conversion::arrayToDataString($data); $arr['tails_json'] = json_encode($data); $sarr[] = $arr; } var_dump($sarr);