id); $dressedItems = $di->getItemsInSlots(); for ($i = 1; $i <= 12; $i++) { echo sprintf('
', $i); if (!empty($dressedItems[$i])) { if (!$isBattle && $isMain) { $itemString = '%s'; echo sprintf($itemString, mt_rand(), $i, $dressedItems[$i]['image'], $dressedItems[$i]['name'], $dressedItems[$i]['name']); } else { $itemString = '%s%s'; echo sprintf($itemString, $dressedItems[$i]['image'], $dressedItems[$i]['name'], $dressedItems[$i]['name']); } } else { echo sprintf('Пустой слот [%s]', $i, $i); } echo sprintf('
', $i); } echo '
'; if ($isBattle) { $sh = '%s%sУровень: %s
Сила: %s
Ловкость: %s
Интуиция: %s
Выносливость: %s
Интеллект: %s
Мудрость: %s
'; echo sprintf($sh, $this->shadow, $this->login, $this->login, $this->level, $this->strength, $this->dexterity, $this->intuition, $this->endurance, $this->intelligence, $this->wisdom); unset($sh); } else { echo '' . $this->login . ''; } echo '
'; } private function UserInfoStats($isMainWindow = 0) { $captions = 'Уровень:
Сила:
Ловкость:
Интуиция:
Выносливость:
Интеллект:
Мудрость:
Местонахождение:'; $variables = $this->level . '
' . parent::getStat('strength') . '
' . parent::getStat('dexterity') . '
' . parent::getStat('intuition') . '
' . parent::getStat('endurance') . '
' . parent::getStat('intelligence') . '
' . parent::getStat('wisdom') . '
' . Rooms::$roomNames[$this->room]; if ($isMainWindow) { $this->Bank = new Bank($this->id); $captions = 'Уровень:
Здоровье:
Сила:
Ловкость:
Интуиция:
Выносливость:
Интеллект:
Мудрость:
Опыт:
Очки характеристик:
Деньги:
Деньги в банке:'; $variables = $this->level . '
' . $this->health . '
' . parent::getStat('strength', 1) . '
' . parent::getStat('dexterity', 1) . '
' . parent::getStat('intuition', 1) . '
' . parent::getStat('endurance', 1) . '
' . parent::getStat('intelligence', 1) . '
' . parent::getStat('wisdom', 1) . '
' . $this->experience . '
' . $this->free_stat_points . '
' . $this->money . '
' . $this->Bank->money; } $nameString = ''; if ($this->align) { $nameString = sprintf('Склонность', $this->align); } if ($this->block) { $nameString .= '' . $this->login . ''; } else { $nameString .= ' ' . $this->login . ' '; } if ($this->clan) { $nameString .= sprintf('Клан', $this->clan); } echo '
'; echo '
'; echo '' . $nameString . ''; echo '
'; echo '
'; echo '
'; echo $captions; echo '
'; echo '
'; echo $variables; echo '
'; echo '
'; echo '
TODO: Сделать рассчёт модификаторов. Вывести полоску здоровья когда будет от чего отталкиваться.
'; echo '
'; } private function Info() { echo '
'; $this->UserInfoDoll(); $this->UserInfoStats(); echo '
'; if ($this->married) { echo sprintf('В браке с %s', $this->married, $this->married, $this->married); } echo '
'; echo '
'; echo sprintf('Родовой знак', $this->showStarSign()); echo '
'; echo '
'; echo '
'; echo '
'; echo '

Об игроке

'; if ($this->realname) { echo sprintf('Имя: %s
', $this->realname); } if ($this->info) { echo nl2br($this->info); } echo '
'; if ($this->watcherIsAdmin || $this->watcherIsModerator) { echo '
'; $infoString = 'E-Mail: %s
ДР Игрока: %s
IP Регистрации: %s'; echo sprintf($infoString, $this->email, date('d.m.Y', strtotime($this->borndate)), $this->ip); if ($this->watcherIsAdmin) { $this->Bank = new Bank($this->id); $infoString = '
ИД Игрока: %s
ИД Комнаты: %s
Деньги: %s
Деньги в банке: %s
Опыт: %s
Нераспределённые очки: %s
Текущая сессия: %s
'; echo sprintf($infoString, $this->id, $this->room, $this->money, $this->Bank->money, $this->experience, $this->free_stat_points, $this->session_id); } $this->UserLogs = new UserLogModel($this->id); echo '
Личное дело
'; while ($userLogRow = $this->UserLogs->getUserLog()->fetch_object()) { echo sprintf('%s
', date("d.m.Y H:i ", strtotime($userLogRow->date)) . $userLogRow->text); } echo '
'; echo '
'; } } public function showUserInfo() { $this->effects = new EffectsModel($this->id); $this->WatcherStatus(); if ($this->block && (!$this->watcherIsAdmin || !$this->watcherIsModerator)) { throw new Exception('Персонаж ' . $this->login . ' заблокирован!'); } elseif ($this->effects->getHideUserInfoStatus() && (!$this->watcherIsAdmin || !$this->watcherIsModerator)) { if ($this->effects->getHideUserInfoStatus() == -1) { $date = 'навсегда'; } else { $date = 'до' . date('d.m.Y', strtotime($this->effects->getHideUserInfoStatus())); } throw new Exception('Персонаж ' . $this->login . ' обезличен ' . $date . '.'); } else { $this->Info(); } } private function WatcherStatus() { $query = db::c()->query('SELECT `align`,`admin` FROM `users` WHERE `id` = ?i', $this->watcher_id)->fetch_assoc(); if ($query['admin']) { $this->watcherIsAdmin = 1; } if ($query['align'] == 1) { $this->watcherIsModerator = 1; } } public function showUserDoll($isBattle = 0, $isMain = 0) { echo '
'; $this->UserInfoDoll($isBattle, $isMain); echo '
'; } public function showUserInfoMain() { echo '
'; $this->UserInfoDoll(); $this->userInfoStats(1); echo '
'; } }