id);
$dressedItems = $di->getItemsInSlots();
for ($i = 1; $i <= 12; $i++) {
echo sprintf('
', $i);
if (!empty($dressedItems[$i])) {
if (!$isBattle && $isMain) {
$itemString = '
';
echo sprintf($itemString, mt_rand(), $i, $dressedItems[$i]['image'], $dressedItems[$i]['name'], $dressedItems[$i]['name']);
} else {
$itemString = '
%s';
echo sprintf($itemString, $dressedItems[$i]['image'], $dressedItems[$i]['name'], $dressedItems[$i]['name']);
}
} else {
echo sprintf('
', $i, $i);
}
echo sprintf('
', $i);
}
echo '';
if ($isBattle) {
$sh = '
%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 '
';
}
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('
', $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 '
';
}
}