time() - 520 && $inf['banned'] == 0 && $inf['invis'] != 1 && $inf['invis'] < time()) {
echo 'Персонаж сейчас находится в клубе. "' . $room['name'] . '"';
} else {
echo 'Персонаж не в клубе';
if ($inf['online'] == 0) {
$inf['online'] = $inf['timeREG'];
}
if (date('Y', $inf['online']) == date('Y')) {
echo ', но был тут: ' . date('d.m.Y H:i', $inf['online']) .
'' .
' (' . Conversion::secondsToTimeout(time() - $inf['online']) . ' назад)';
}
}
if ($inf['inUser'] > 0 && $inf['id'] != 12059) {
echo ' Персонаж вселился в бота';
}
if ($inf['battle'] > 0 && $battleid) {
echo ' Персонаж сейчас в поединке';
}
} else {
if ($inf['res_x'] - time() > 0) {
echo '
Появится через ' . Conversion::secondsToTimeout($inf['res_x'] - time()) . '
';
} else {
echo '
Появится в ближайшее время...
';
}
}
//Эффект админ
if ($u->isAdmin()) {
function effAdm($pl): string
{
if ($pl['v1'] != 'priem') {
$eff = Db::getRow('select img, actionTime from eff_main where id2 = ?', [$pl['id_eff']]);
$pl['img2'] = $eff['img'];
$pl['name'] .= "\r" . 'Действует еще ' . Conversion::secondsToTimeout($pl['timeUse'] - time() + $eff['actionTime']);
}
return '';
}
if (isset($_GET['cancel_eff'])) {
Effects::removeByEffectId($inf['id'], (int)$_GET['cancel_eff']);
die('');
}
$eff_adm = '';
foreach (Effects::getActive($inf['id']) as $effect) {
$eff_adm .= effAdm($effect);
}
if (!empty($eff_adm)) {
echo ' Эффекты на персонаже: ' . $eff_adm . '';
}
?>
items['add'] as $stat) {
if (empty($st[$stat]) || empty($u->is[$stat])) {
continue;
}
if ($st[$stat] > 0) {
$st[$stat] = '+' . $st[$stat];
}
if (in_array($u->is[$stat], [
'Защита от урона',
'Сила',
'Мастерство владения оружием',
'Мастерство владения магией огня',
'Уровень жизни (HP)',
'Мф. критического удара (%)',
'Мф. мощности магии огня',
'Регенерация здоровья (%)',
'Мф. мощности урона',
])) {
echo '';
}
echo '• ' . $u->is[$stat] . ': ' . $st[$stat] . ' ';
}
?>
Показать модификаторы
isAdmin()) {
$nodell = Db::getRow('select id, inUser from users where login = ? order by id limit 1', [$inf['login']]);
$sp = Db::getRows('select id from users where login = ? and id != ?', [$inf['login'], $inf['id']]);
$nolog = '';
foreach ($sp as $pl) {
if (isset($_GET['del_copy']) && $_GET['del_copy'] == $pl['id']) {
if ($nodell['inUser'] != $pl['id'] && $pl['id'] != $nodell['id']) {
Db::sql('update users set login = ? where id = ?', ['DELETE', $pl['id']]);
}
} else {
$nolog .= '
';
}
if ($inf['align'] == 50) {
$awards->addCustom('Официальный дилер', 'Имеет право вести коммерческую деятельность.', 'alchemy1.gif');
}
if ($inf['vip'] === 1) {
$awards->addCustom('За помощь в развитии проекта.', '', 'vip2.gif');
}
if (!empty($inf['marry'])) {
$partner = Db::getValue('select login from users where id = ?', [$inf['marry']]);
if ($partner) {
$awards->addCustom('Семейные узы', "В счастливом браке с $partner.", 'i/i_marry.gif');
}
}
//сам себя наебал, condition не заменяет isset, а вот ?? null это уже чисто костыль, который будет тут висеть пока не придёт ясность как формируется $st
$status->add($inf['jail'] > time(), 'В заточении', $inf['jail'], 'i/jail.gif');
$status->add(!empty($st['puti']), 'Не может передвигаться', $st['puti'] ?? null, 'i/items/chains.gif');
$status->add($inf['molch1'] > time(), 'Не может общаться в чате', $inf['molch1'], 'i/sleeps' . $inf['sex'] . '.gif');
$status->add($inf['molch2'] > time(), 'Не может общаться на форуме', $inf['molch2'], 'i/fsleeps' . $inf['sex'] . '.gif');
$status->add($inf['clan_delay'] > time(), 'Не может вступать в кланы', $inf['clan_delay']);
$status->add($inf['info_delete'] > time() || $inf['info_delete'] === 1, 'Профиль скрыт', $inf['info_delete'], 'stopinfo.png');
foreach (Effects::getAllInjuries($inf['id']) as $injury) {
$status->add(true, 'Травма: «' . $injury['name'] . '»', $injury['timeUse'] + $injury['timeAce'], 'i/jail.gif');
}
$twinks->print();
$lastnames->print();
?>
print();
$status->print();
if (!empty($achievements)) {
echo <<
Достижения персонажа:
$achievements
HTML;
}
if ($inf['banned'] > 0 || $inf['jail'] > time()) {
Delo::printPublicModerationStatus($inf['id']);
}
//подарки (это какой-то сферический пиздец в вакууме!)
if ($inf['info_delete'] < time() && $inf['info_delete'] != 1 || $u->isModerator()) {
$gs = ['', '', ''];
$i = 0;
$ij1 = 1;
$ij2 = 1;
$q1 = "select * from items_users left join items_main on items_main.id = items_users.item_id
where uid = ? and gift != '' order by items_users.id desc";
$presentsList1 = Db::getRows($q1, [$inf['id']]);
foreach ($presentsList1 as $pl) {
if (stristr($pl['data'], 'gift_id')) {
$po = Conversion::dataStringToArray($pl['data']);
$pl_gift = $po['gift_id'];
if ($pl_gift > 0) {
$pl_gift = Db::getRow('select name, img from users_gifts where id = ?', [$pl_gift]);
if ($pl_gift) {
//Именной подарок
$pl['name'] = $pl_gift['name'];
$pl['img'] = $pl_gift['img'];
}
}
}
//подарки
if ($pl['gift'] == 1) {
$pl['gift2'] = 'Невидимка';
} else {
$pl['gift2'] = $pl['gift'];
}
$gs[0] .= '';
$ij1++;
}
$q2 = "select * from items_users left join items_main on items_main.id = items_users.item_id
where uid = ? and gift != '' and inOdet = 0 and (type in (63,37) or data like '%|giftsee=2%') order by items_users.id desc";
$presentsList2 = Db::getRows($q2, [$inf['id']]);
foreach ($presentsList2 as $pl) {
if ($pl['gift'] == 1) {
$pl['gift2'] = 'Невидимка';
} else {
$pl['gift2'] = $pl['gift'];
}
$gs[1] .= '';
$ij2++;
}
if (!empty($gs[0]) || !empty($gs[1])) {
echo '
' .
'
Подарки:
' . $gs[0] .
'
' .
'
' .
$gs[1] .
'
';
$q3 = "select count(items_users.id) from items_users left join items_main on items_main.id = items_users.item_id
where (type in (28,63,38,64,37) or data like '%|giftsee=1' or data like '%|giftsee=2%') and uid = ? and gift != '' and inOdet = 0";
$ij4 = Db::getValue($q3, [$inf['id']]);
if ($ij1 + $ij2 + 1 < $ij4) {
if (!isset($_GET['maxgift'])) {
echo 'Нажмите сюда, чтобы увидеть все подарки...';
} else {
echo 'Нажмите сюда, чтобы скрыть подарки';
}
}
}
}
if ($inf['align'] == '9' && $u->isAdmin()) {
if (isset($_GET['emonster'])) {
$monster = new Monster($inf['id']);
?>
Параметры монстра:
Скрыть
Настройка монстра
isModerator() && !$nopal) {
$m = [];
$mults = Db::getRows('select * from mults where (uid = ? or uid2 = ?) and uid != 0 and uid2 != 0', [$inf['id'], $inf['id']]);
foreach ($mults as $mult) {
$usr = $inf['id'] === $mult['uid'] ? $mult['uid2'] : $mult['uid'];
if (empty($usr) || $usr === $inf['id']) {
continue;
}
$m[] = User::getLogin($usr);
}
echo '
За игроком замечены следующие темные делишки: ';
if (!isset($_GET['mod_inf'])) {
echo 'Показать личное дело';
} else {
//Личное дело персонажа
foreach (Delo::getAllByUserId($inf['id']) as $logstr) {
echo date('d.m.Y H:i:s', $logstr['time']) . ' ' . $logstr['text'] . ' ';
}
echo 'Скрыть личное дело';
}
echo ' ';
//Информация для паладинов\тарманов\ангелов
if ((int)$inf['host_reg'] >= 1) {
$inf['ref'] = User::getLogin((int)$inf['host_reg']);
} else {
$inf['ref'] = '--';
}
if (!isset($inf['ipReg'])) {
$inf['ipReg'] = '--';
}
echo ' Секретно! ';
echo 'День рождения: ' . $inf['bithday'] . ' ';
echo date('Последний вход: d.m.Y H:i', $inf['online']) . ' ';
echo ' ';
echo 'Персонажа пригласили: ' . $inf['ref'] . ' ' .
'IP при регистрации: ' . $inf['ipReg'] . ' ';
echo 'Текущий IP: ' . $inf['ip'] . ' Последние входы: ';
$auth = Db::getRows('select ip, time from logs_auth where uid = ? and type = 1 order by id desc', [$inf['id']]);
foreach ($auth as $a) {
$date = date(': d.m.Y H:i', $a['time']);
echo "{$a['ip']}$date ";
}
if (!empty($m)) {
echo 'Другие ники этого бойца: ' . implode(', ', $m) . ' ';
}
$refusers = [];
$invitedByUser = Db::getRows('select ip, ipreg, online, timereg from users where host_reg = ? order by timereg desc', [$inf['id']]);
foreach ($invitedByUser as $refuser) {
$refusers[] = date('Дата регистрации: d.m.Y H:i', $refuser['timereg']) .
DIRECTORY_SEPARATOR .
date('Был тут: d.m.Y H:i ', $refuser['online']) .
User::getLogin($inf['id']) .
"({$refuser['ip']}, {$refuser['ipreg']})";
}
if (!empty($refusers)) {
echo 'Рефералы бойца: ' . implode(' ', $refusers) . '';
}
if ($u->isAdmin()) {
$mls = Db::getValue('select count(*) from users_rbk where email = ?', [$inf['mail']]) > 0;
$online = Db::getRow('select time_all, time_today from online where uid = ?', [$inf['id']]);
echo '