889 lines
44 KiB
PHP
889 lines
44 KiB
PHP
<?php
|
||
|
||
/* Главный игровой файл. */
|
||
|
||
use Core\Config;
|
||
use Core\Database;
|
||
use Core\Db;
|
||
|
||
if (!defined('GAME_VERSION')) {
|
||
require_once '_incl_data/autoload.php';
|
||
}
|
||
|
||
$code = PassGen::intCode();
|
||
|
||
function er($e)
|
||
{
|
||
$link = Config::get('https');
|
||
$err = <<<HTML
|
||
<div>
|
||
Ошибка: $e<br>
|
||
<a href="$link">Назад</a>
|
||
</div>
|
||
HTML;
|
||
exit($err);
|
||
}
|
||
|
||
Config::init();
|
||
Database::init();
|
||
|
||
define('IP', UserIp::get());
|
||
$u = User::start();
|
||
$filter = new Filter();
|
||
$chat = new Chat();
|
||
|
||
ini_set('max_execution_time', '120');
|
||
|
||
if (isset($_GET['showcode'])) {
|
||
include_once 'show_reg_img/security.php';
|
||
die();
|
||
}
|
||
|
||
if ($u->info['joinIP'] == 1 && $u->info['ip'] != IP) {
|
||
er('#Пожалуйста авторизируйтесь с главной страницы');
|
||
} elseif (isset($_GET['exit'])) {
|
||
setcookie('login', '', 0, '', Config::get('host'));
|
||
setcookie('login', '', 0);
|
||
setcookie('auth', '', 0);
|
||
Db::sql('update users set online = unix_timestamp() - 420 where id = ?', [$u->info['id']]);
|
||
die(Config::get('exit'));
|
||
} elseif (!isset($u->info['id'])) {
|
||
er('Возникла проблема с определением id персонажа<br>Авторизируйтесь с главной страницы.');
|
||
}
|
||
|
||
if ($u->info['online'] < time() - 60) {
|
||
$filter->setOnline($u->info['online'], $u->info['id']);
|
||
Db::sql('update users set online = unix_timestamp(), timeMain = unix_timestamp() where id = ?', [$u->info['id']]);
|
||
}
|
||
|
||
$u->stats = $u->getStats($u->info['id'], 0);
|
||
|
||
if (!isset($_COOKIE['d1c'])) {
|
||
$detect = new MobileDetect;
|
||
$deviceType = $detect->isMobile() ? $detect->isTablet() ? 'tablet' : 'phone' : 'computer';
|
||
$_COOKIE['d1c'] = $deviceType;
|
||
setcookie('d1c', $deviceType, (time() + 86400));
|
||
} else {
|
||
$deviceType = $_COOKIE['d1c'];
|
||
}
|
||
|
||
$displayMolchOptionsMode = $u->info['admin'] > 0 ||
|
||
($u->info['align'] > 1 && $u->info['align'] < 2) ||
|
||
($u->info['align'] > 3 && $u->info['align'] < 4) ?
|
||
'' : 'none;';
|
||
|
||
$displaySysMsgShowClassSuffix = isset($_COOKIE['citySys']) && $_COOKIE['citySys'] == 1 ? 2 : 1;
|
||
|
||
if ($u->info['active'] != '' && $u->info['mail'] != 'No E-mail') {
|
||
$yes = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `vars` = "user_active_good" LIMIT 1', 1);
|
||
$yes2 = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `vars` = "user_active_send" LIMIT 1', 1);
|
||
Db::sql('update stats set active = default where id = ?', [$u->info['id']]);
|
||
}
|
||
?>
|
||
|
||
<!DOCTYPE html>
|
||
<html lang="ru-RU">
|
||
<head>
|
||
<title><?= Config::get('title') ?></title>
|
||
<meta name="description" content="<?= Config::get('desc') ?>"/>
|
||
<meta name="keywords" content="<?= Config::get('keys') ?>"/>
|
||
<meta name="msapplication-config" content="browserconfig.xml"/>
|
||
<link rel="stylesheet" href="i/main.css">
|
||
<link rel="stylesheet" href="css/clu0b.css"/>
|
||
<link rel="stylesheet" href="css/windows.css"/>
|
||
<link rel="stylesheet" href="css/hack.css"/>
|
||
<link rel="stylesheet" href="./js/trainingModals/registration/trainingModalStyles.css">
|
||
<link rel="stylesheet" href="css/buttons.php.css">
|
||
|
||
<?php
|
||
if ($deviceType == 'tablet' || $deviceType == 'phone'): ?>
|
||
<style>
|
||
#touchmain {
|
||
padding: 0;
|
||
border: 0;
|
||
overflow: auto;
|
||
margin: 0;
|
||
}
|
||
</style>
|
||
<?php endif; ?>
|
||
</head>
|
||
|
||
<body>
|
||
<div style="display:none" class="qel0" id="qel0"></div>
|
||
<noscript>В вашем браузере отсутствует поддержка <strong>javascript<strong></noscript>
|
||
|
||
<div id="qsst"></div>
|
||
<div id="ttl" class="ttl_css" style="display:none;z-index:1111;"></div>
|
||
<div id="nfml" style="display:none;position:absolute;"></div>
|
||
<div id="persmenu" style="display:none;z-index:1110;"></div>
|
||
<div id="windows" style="position:absolute;z-index:1101;"></div>
|
||
<div id="wupbox" onmouseup="win.WstopDrag()" onmousemove="win.WmoveDrag(event)" onselectstart="return false"></div>
|
||
<div id="chconfig">
|
||
<div style="font-weight: bold; text-align: center;">Настройки чата</div>
|
||
<img title="Эпическая линия (o_O)" src="https://<?= Config::get('img') ?>/1x1.gif" class="eLine" alt="hr"><br>
|
||
Скорость обновления: <SELECT id="chcf0">
|
||
<OPTION value='-1'>никогда</OPTION>
|
||
<OPTION value='1'>15 сек.</OPTION>
|
||
<OPTION selected value='2'>30 сек.</OPTION>
|
||
<OPTION value='3'>1 мин.</OPTION>
|
||
<OPTION value='4'>5 мин.</OPTION>
|
||
</SELECT><br>
|
||
<div>Сортировка списка онлайн: <SELECT id="chcf8">
|
||
<OPTION value='0' selected>По логину</OPTION>
|
||
<OPTION value='1'>По уровню</OPTION>
|
||
<OPTION value='2'>По склоности</OPTION>
|
||
<OPTION value='3'>По клану</OPTION>
|
||
</SELECT>
|
||
<input name="chcf9" type="checkbox" id="chcf9" value="1"><small>По убыванию</small></div>
|
||
<div><input name="chcf12" type="checkbox" id="chcf12" value="1"> Экономия трафика</div>
|
||
<div style="display:<?= $displayMolchOptionsMode ?>">
|
||
<input name="chcf7" type="checkbox" id="chcf7" value="1">
|
||
<span title="Получать сообщения от персонажей на которых наложено заклятие молчания">
|
||
Сообщения с молчанкой
|
||
</span>
|
||
</div>
|
||
<img title="Эпическая линия (o_O)" src="https://<?= Config::get('img') ?>/1x1.gif" class="eLine" alt="hr">
|
||
<div> <span><a href="javascript:void(0)" onclick="chat.ignorListOpen();chconf();">Список игнорируемых</a></span>
|
||
</div>
|
||
</div>
|
||
<!-- ресайзы -->
|
||
<div id="actionDiv" style="position:absolute;"></div>
|
||
<div id="reline1" onselectstart="return false">
|
||
<img src="https://img.new-combats.com/1x1.gif" width="9" height="4"
|
||
style="float:left; display:block; position:absolute; background-image:url(https://img.new-combats.com/i/lite/_top_24.gif);"
|
||
alt="">
|
||
<img src="https://img.new-combats.com/1x1.gif" width="10" height="4"
|
||
style="float:right; display:block; background-image:url(https://img.new-combats.com/i/lite/_top_28.gif);"
|
||
alt="">
|
||
</div>
|
||
<div id="reline2" onselectstart="return false"></div>
|
||
<!-- ресайзы -->
|
||
<div id="upbox" onselectstart="return false"></div>
|
||
<div id="mainHeader" style="position:absolute; top:0; left:0; height:37px; width:100%;"
|
||
onselectstart="return false">
|
||
<div title="Новая почта"
|
||
style="display:none; position:absolute; left: 198px; top: 13px; width:24px; height:15px; background-image:url(https://img.new-combats.com/i/mail2.gif);"
|
||
class="postdiv" id="postdiv"></div>
|
||
<div style="background: url(https://img.new-combats.com/i/lite/capitalcity/top_lite_cap_11.gif) repeat-x bottom; ">
|
||
<table cellspacing="0" cellpadding="0"
|
||
style="background: url('https://img.new-combats.com/i/lite/top_lite_cap_03.gif') repeat-x top; border: 0; width: 100%;">
|
||
<tr>
|
||
<td style="text-align: left">
|
||
<img src="https://img.new-combats.com/i/lite/capitalcity/top_lite_cap_01.gif" width="64" height="14"
|
||
class="db" style="padding-left:15px;"/>
|
||
</td>
|
||
<td class="main_text" style="position: relative; width:225px; text-align: right;">
|
||
<table style="width: 565px; border: 0;" cellspacing="0" cellpadding="0">
|
||
<tr style="vertical-align: bottom; text-align: center;">
|
||
<td style="width: 31px; height: 14px;">
|
||
<img class="db" height="14"
|
||
src="https://img.new-combats.com/i/lite/mennu112_06_lite.gif" width="31" alt="">
|
||
</td>
|
||
<td style="text-align: center;">
|
||
<table style="width: 100%; height: 14px; border: 0; background-image: url('https://img.new-combats.com/i/lite/mennu112_06.gif')"
|
||
cellspacing="0" cellpadding="0">
|
||
<tr style="text-align: center;">
|
||
<td id="el1" class="main_text"
|
||
onClick="this.style.backgroundColor='#404040'; this.style.color='#FFFFFF'; showtable('1');"
|
||
style="text-align: center;">
|
||
Знания
|
||
</td>
|
||
<td style="width: 1px;">
|
||
<img class="db" height="11"
|
||
src="https://img.new-combats.com/i/lite/mennu112_09.gif" width="1"
|
||
alt="">
|
||
</td>
|
||
<td id="el2" class="main_text"
|
||
onClick="this.style.backgroundColor='#404040'; this.style.color='#FFFFFF'; showtable('2');"
|
||
style="background:#404040; color:#FFFFFF; text-align: center;">
|
||
Персонаж
|
||
</td>
|
||
<td style="width: 1px;">
|
||
<img class="db" height="11"
|
||
src="https://img.new-combats.com/i/lite/mennu112_09.gif" width="1"
|
||
alt="">
|
||
</td>
|
||
<td id="el3" class="main_text"
|
||
onClick="if(confirm('Выйти из игры?')){ top.location = '/bk?exit&rnd=<?= $code ?>'; }"
|
||
style="text-align: center;">
|
||
Выход
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td style="width: 38px;">
|
||
<img class="db" height="14"
|
||
src="https://img.new-combats.com/i/lite/mennu112_04_lite.gif" width="37" alt="">
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: left">
|
||
<img style="display:block; float:left; margin-left:17px;"
|
||
src="https://img.new-combats.com/i/lite/top_lite_cap_07.gif" width="15" height="17" alt="">
|
||
<img src="https://img.new-combats.com/i/lite/capitalcity/top_lite_cap_08.gif" width="152"
|
||
height="17" class="db" alt="">
|
||
</td>
|
||
<td style="text-align: right;">
|
||
<table cellspacing="0" cellpadding="0"
|
||
style="background-image:url('https://img.new-combats.com/i/lite/top_lite_cap_15.gif'); border: 0; width: 565px;">
|
||
<tr>
|
||
<td style="text-align: right;" class="menutop">
|
||
<table style="width: 100%; border: 0;" cellpadding="0" cellspacing="0">
|
||
<tr>
|
||
<td style="width: 20px;">
|
||
<img class="db" src="https://img.new-combats.com/i/lite/top_lite_13.gif"
|
||
width="20" height="17" alt="">
|
||
</td>
|
||
<td style="font-size:10px; text-align: center; vertical-align: top; background-image: url('https://img.new-combats.com/i/lite/top_lite_low_15.gif')">
|
||
<span style="display:none; text-align:center;" id="menu1">
|
||
<a href="/main.php?referals" target="main" class="menutop"
|
||
style="color:green">Реферал</a> |
|
||
<a href="/forum/" target="_blank" class="menutop">Форум</a> |
|
||
<a href="/encicl/law.html" target="_blank" class="menutop"
|
||
style="color: red">Законы</a> |
|
||
<a href="/rating_pers" target="_blank" class="menutop">Рейтинг</a> |
|
||
<a href="/rating_clans" target="_blank" class="menutop">Кланы</a> |
|
||
<a href="/main.php?security" target="main" class="menutop"
|
||
style="color:green">Безопасность</a> |
|
||
<a href="/news_script/lib/pisheri.html" target="_blank" class="menutop"
|
||
style="color: darkgreen">Всё о пещерах</a>
|
||
</span>
|
||
<span style="display:; text-align:center;" id="menu2">
|
||
<a href="/main.php?inv=1&rn=<?= $code ?>" target="main"
|
||
class="menutop">Инвентарь</a> |
|
||
<span style="display:; text-align:center;" id="menu2">
|
||
<a href="/main.php?titul" target="main" class="menutop"
|
||
style="color:green"> Достижения</a> |
|
||
<a href="/main.php?skills=1&side=5" target="main"
|
||
class="menutop">Умения</a> |
|
||
<a href="/main.php?zayvka=1" target="main" class="menutop">Поединки</a> |
|
||
<a href="/forum/?read=10957&rnd=1" target="_blank"
|
||
class="menutop" style="color:red">Всем игрокам</a> |
|
||
<a href="/n" target="_blank" class="menutop" style="color:blue">Новости</a> |
|
||
<a href="/settings" target="_blank" class="menutop">Анкета</a>
|
||
</span>
|
||
</td>
|
||
<td style="width: 22px;">
|
||
<img class="db" src="https://img.new-combats.com/i/lite/top_lite_18.gif"
|
||
width="22" height="17" alt="">
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<table class="deleteStyles" style="width: 100%; border: 0;" cellspacing="0" cellpadding="0">
|
||
<tr>
|
||
<td style="width: 15px; height: 6px;">
|
||
<img class="db" src="https://img.new-combats.com/i/lite/_lit_20.gif" width="15" height="6" alt=""></td>
|
||
<td style="background-image: url('https://img.new-combats.com/i/lite/_top_20s.gif')"></td>
|
||
<td style="width: 24px; height: 6px;">
|
||
<img class="db" src="https://img.new-combats.com/i/lite/_lit_27.gif" width="24" height="6" alt="">
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<!-- -->
|
||
</div>
|
||
<table id="globalMain" style="width: 100%; height: 100%; border: 0;" cellspacing="0" cellpadding="0">
|
||
<tr id="headerTd">
|
||
<td style="width: 9px; height: 31px; background-color: #d6d6d6;"></td>
|
||
<td style="height: 31px; background-color: #d6d6d6;"> </td>
|
||
<td style="width: 12px; height: 31px; background-color: #d6d6d6;"></td>
|
||
</tr>
|
||
<tr id="sectionTd">
|
||
<td class="deleteStyles"
|
||
style="background-color: #d6d6d6; background-image: url('https://img.new-combats.com/i/lite/_top_24.gif')"></td>
|
||
<td style="vertical-align: top; background-color: #e2e0e0;" id="main_td">
|
||
<div id="touchmain" style="margin-top:3px;">
|
||
<iframe id="main" name="main" src="main.php"
|
||
style="display:block;padding:0;margin:0;width:100%;border:0;" scrolling="auto"></iframe>
|
||
</div>
|
||
</td>
|
||
<td class="deleteStyles"
|
||
style="background-color: #d6d6d6; background-image: url('https://img.new-combats.com/i/lite/_top_28.gif')"></td>
|
||
</tr>
|
||
<tr class="allChat">
|
||
<td class="deleteStyles"
|
||
style="background-color: #d6d6d6; background-image: url('https://img.new-combats.com/i/lite/_top_24.gif')"></td>
|
||
<td id="chat" style="vertical-align: top; height: 40%; background-color: #eee;">
|
||
<table cellspacing="0" cellpadding="0"
|
||
style="border-top:1px solid #CCCCCC; width: 100%; height: 100%; border: 0;">
|
||
<tr>
|
||
<td id="chat_block" style="position:relative;border-top:1px solid #808080; vertical-align: top;">
|
||
<!-- display:block;-->
|
||
<div id="mini_qsst" onClick="top.qn_slk()" style="cursor:pointer"></div>
|
||
<div id="onbon"></div>
|
||
<div id="chat_menus" unselectable="on" onselectstart="return false;"
|
||
style="display:block;position:absolute; right:0; top:3px; padding-right:20px; height:18px; text-align:right; white-space:nowrap;">
|
||
<!-- -->
|
||
<table style="margin-top:-3px; border: 0; text-align: right;" cellpadding="0"
|
||
cellspacing="0">
|
||
<tr>
|
||
<td>
|
||
<div id="chat_menu" style="text-align:right; white-space:nowrap;"></div>
|
||
</td>
|
||
<td style="display:none; width: 3px;" id="scroll_none"></td>
|
||
</tr>
|
||
</table>
|
||
<!-- -->
|
||
</div>
|
||
|
||
<div id="ttSmiles" onselectstart="return false" style="display:none;z-index:1100;">
|
||
<div id="smilesDiv">Загрузка смайликов</div>
|
||
<div id="smilesDiv2" style="display:none">
|
||
<small>Новые смайлики возможно купить в <a href="/ekr.php" target="_blank">Коммерческом
|
||
Отделе</a><br>Обновите страницу, если купленный смайлик не отобразился</small>
|
||
<hr>
|
||
<?php if (empty($u->info['add_smiles'])): ?>
|
||
<div style="text-align: center; color: grey;">У вас нет личных смайликов</div>
|
||
<?php else: foreach (explode(',', $u->info['add_smiles']) as $smile): ?>
|
||
<img src="<?= Config::get('https') ?>/i/smile/<?= $smile ?>.gif"
|
||
title=":<?= $smile ?>:"
|
||
style="cursor: pointer;"
|
||
onclick="chat.addSmile('<?= $smile ?>');"
|
||
alt=":<?= $smile ?>:">
|
||
<?php endforeach; endif; ?>
|
||
</div>
|
||
<div id="smilesDiv3" style="display:none"></div>
|
||
<div style="padding-left:5px; padding-right:5px; text-align: center;">
|
||
<button class="btn fl" style="display:none; padding:0; margin: 5px 2px 0 0;"
|
||
disabled="disabled">
|
||
<small> Купить </small></button>
|
||
<button class="btn fl" style="padding:0; margin: 5px 0 0;" id="btnsmlrz"
|
||
onClick="smiles1load();">
|
||
<small> Личные смайлики </small></button>
|
||
<button class="btn fr" style="padding:0; margin: 5px 0 0;" onClick="chat.lookSmiles()">
|
||
<small> Закрыть </small></button>
|
||
</div>
|
||
</div>
|
||
<div id="chat_list" style="cursor:default;">
|
||
<div id="canals">
|
||
<div id="canal5"></div>
|
||
<div id="canal4"></div>
|
||
<div id="canal2"></div>
|
||
<div id="canal7"></div>
|
||
<div id="canal3"></div>
|
||
<div id="canal6" style="display:none;"></div>
|
||
</div>
|
||
</div>
|
||
</td>
|
||
<td style="border-left:2px solid #CCCCCC;border-top:1px solid #808080; background-color: #faf2f2; vertical-align: top; width: 350px;"
|
||
id="online">
|
||
|
||
<div id="online_list" style="cursor:default;">
|
||
<div style="margin-top:5px; text-align: center;">
|
||
<button class="btn" id="robtn" onClick="chat.reflesh()">Обновить</button>
|
||
<button type="button" class="btn" title="Монитор заявок\турниров"
|
||
onclick="window.open('/monitoring', 'monitoring', 'location=yes,menubar=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes,scrollbars=yes')">
|
||
⚔️
|
||
</button>
|
||
</div>
|
||
<span class="db" style="padding:0 0 8px 0;font-size: 10pt; color:#8f0000;">
|
||
<b id="roomName"></b>
|
||
</span>
|
||
<div id="onlist"></div>
|
||
<div style="padding:5px;margin-top:5px;">
|
||
<div>
|
||
<input type="checkbox" value="1" checked id="autoRefOnline">
|
||
<label for="autoRefOnline">Обновлять автомат.</label>
|
||
</div>
|
||
<div>
|
||
<input name="chcf10" type="checkbox" id="chcf10" checked value="0">
|
||
<label for="chcf10">Показать всех игроков</label>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td style="background-color: #d6d6d6; background-image: url('https://img.new-combats.com/i/lite/_top_28.gif');"
|
||
class="deleteStyles"></td>
|
||
</tr>
|
||
|
||
<tr class="allChat">
|
||
<td style="vertical-align: bottom; height: 30px;" class="deleteStyles">
|
||
<img class="db" src="https://img.new-combats.com/i/lite/bkf_l_r1_02.gif" width="9" height="30" alt=""></td>
|
||
<td style="background-color: #e9e9e9; background-image: url('https://img.new-combats.com/i/buttons/chat_bg.gif'); height: 30px;">
|
||
<table style="width: 100%; border: 0; height: 26px;" cellspacing="0" cellpadding="0">
|
||
<tr>
|
||
<td style="width: 30px" id="chatLeftIcon">
|
||
<img class="db" src="https://img.new-combats.com/b___.gif" width="30" height="30"
|
||
title="Чат" alt="Чат">
|
||
</td>
|
||
<td style="width: 100px; text-align: center; display:none;" id="trader1">
|
||
<div id="trader" style="border:1px solid #CCCCCC;padding:2px; margin-left:-2px; width:90%;"
|
||
class="klan"><small id="moneyGM"><b>Торговый чат</b></small></div>
|
||
</td>
|
||
<td>
|
||
<input type="hidden" name="trader" id="trader_val" value="0">
|
||
<input onmouseup="top.chat.inObj=undefined;" type="text" name="textmsg" id="textmsg"
|
||
maxlength="240"
|
||
style="width:100%;font-size:11pt;margin-bottom:2px; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;"/>
|
||
</td>
|
||
<td style="width: 6px"> </td>
|
||
<td style="width: 30px" id="sendButtonTextMsg">
|
||
<img onClick="chat.subSend();" src="https://img.new-combats.com/1x1.gif"
|
||
class="db cp chatBtn2_1" alt=""></td>
|
||
<td style="width: 5px"></td>
|
||
<td style="width: 30px">
|
||
<button onClick="chat.voiceMessage()" title="Записать голосовое сообщение" id="record">
|
||
Запись
|
||
</button>
|
||
</td>
|
||
<td style="width: 30px">
|
||
<img onClick="chat.clear();" class="db cp" title="Очистить строку ввода"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn3.gif" alt="Очистить строку ввода">
|
||
</td>
|
||
<td style="width: 30px">
|
||
<img onClick="chat.filterMsg();" id="chbtn1"
|
||
title="Показывать в чате только сообщения адресованные мне"
|
||
src="https://img.new-combats.com/1x1.gif" class="db cp chatBtn1_1" alt="">
|
||
</td>
|
||
<td style="width: 30px">
|
||
<img onClick="chat.systemMsg();" id="chbtn4" title="Показывать в чате системные сообщения"
|
||
src="https://img.new-combats.com/1x1.gif"
|
||
class="db cp chatBtn4_<?= $displaySysMsgShowClassSuffix ?>" alt="Системные сообщения"></td>
|
||
<td style="width: 30px">
|
||
<img id="chbtn6" onClick="chat.translitChat()" title="Преобразовывать транслит в русский текст"
|
||
src="https://img.new-combats.com/1x1.gif" class="db cp chatBtn6_1" alt="">
|
||
</td>
|
||
<td style="width: 30px">
|
||
<img id="chbtn7" onClick="chat.soundChat()" src="https://img.new-combats.com/1x1.gif"
|
||
title="Звуки" class="db cp chatBtn7_1" alt="">
|
||
</td>
|
||
<td style="width: 10px"> </td>
|
||
<td style="width: 30px">
|
||
<img id="chbtn8" class="db cp chatBtn8_1" onClick="chat.lookSmiles()" title="Смайлики"
|
||
src="https://img.new-combats.com/1x1.gif" alt="Смайлики">
|
||
</td>
|
||
<td style="width: 16px; background-color: #bab7b3;">
|
||
<img src="https://img.new-combats.com/i/buttons/chat_explode.gif" width="16" height="30"
|
||
class="db" alt="">
|
||
</td>
|
||
<td style="width: 30px">
|
||
<img onclick="top.getUrl('main','main.php?inv=1&rnd='+c.rnd);" class="db cp" title="Инвентарь"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn13.gif" alt="Инвентарь">
|
||
</td>
|
||
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?transfer=1&rnd='+c.rnd);" class="db cp"
|
||
title="Передачи"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn16.gif" alt="Передачи">
|
||
</td>
|
||
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?add_eff=1&rnd='+c.rnd);" class="db cp" title="Обкаст"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn151.gif" alt="Обкаст">
|
||
</td>
|
||
<?php
|
||
if ($u->info['align'] == 50 || $u->info['align2'] == 50 || $u->info['admin'] > 0) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?alhp=1&rnd='+c.rnd);" class="db cp"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn20.gif" alt="">
|
||
</td>
|
||
<?php
|
||
}
|
||
if ($u->info['align'] >= 1.1 && $u->info['align'] < 2) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?light=1&rnd='+c.rnd);" class="db cp"
|
||
title="Панель Паладина"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn15.gif" alt="Панель паладина">
|
||
</td>
|
||
<?php
|
||
}
|
||
if ($u->info['align'] >= 3.01 && $u->info['align'] < 4) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?dark=1&rnd='+c.rnd);" class="db cp"
|
||
title="Панель Тармана"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn10.gif" alt="Панель Тармана">
|
||
</td>
|
||
<?php
|
||
}
|
||
if ($u->info['vip'] > time(
|
||
) || $u->stats['silvers'] > 0 || $u->stats['bronze'] > 0 || $u->stats['gold'] > 0) { ?>
|
||
<!-- VIP -->
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?vip=1&rnd='+c.rnd);" class="db cp"
|
||
src="https://img.new-combats.com/i/buttons/a___ang17.gif"
|
||
onMouseOver="top.hi(this,'<b>Панель Благодати Ангела <?= $u->info['login'] ?></b>',event,3,0,1,0,'');"
|
||
onMouseOut="top.hic();" onMouseDown="top.hic();" alt="">
|
||
</td>
|
||
|
||
<?php
|
||
} ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?friends=1&rnd='+c.rnd);" class="db cp" title="Друзья"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn12.gif" alt="Друзья">
|
||
</td>
|
||
<?php
|
||
if ($u->info['align'] >= 1 && $u->info['align'] < 2) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?1_panel=1&rnd='+c.rnd);" class="db cp"
|
||
title="Панель света"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn15.gif" alt=""></td>
|
||
<?php
|
||
}
|
||
if ($u->info['align'] >= 3 && $u->info['align'] < 4) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?3_panel=1&rnd='+c.rnd);" class="db cp"
|
||
title="Панель тьмы"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn10.gif" alt="Панель тьмы">
|
||
</td>
|
||
<?php
|
||
}
|
||
if ($u->info['align'] == 7) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?7_panel=1&rnd='+c.rnd);" class="db cp"
|
||
title="Панель нейтралитета"
|
||
src="https://img.new-combats.com/i/buttons/a___neutral.gif" alt="Панель нейтралитета">
|
||
</td>
|
||
<?php
|
||
}
|
||
if ($u->info['bukmeker'] == 1 || $u->info['admin'] > 0) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?bukmeker=1&rnd='+c.rnd);" class="db cp"
|
||
title="Панель Букмекера"
|
||
src="https://img.new-combats.com/i/buttons/bukmek.gif" alt="Панель Букмеера">
|
||
</td>
|
||
<?php
|
||
}
|
||
if ($u->info['clan'] > 0) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?clan=1&rnd='+c.rnd);" class="db cp" title="Клан"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn14.gif" alt="Клан">
|
||
</td>
|
||
<?php
|
||
}
|
||
if ($u->info['admin'] > 0) { ?>
|
||
<td style="width: 30px">
|
||
<img onClick="top.getUrl('main','main.php?admin=1&rnd='+c.rnd);" class="db cp"
|
||
src="https://img.new-combats.com/i/buttons/chatBtn19.gif" alt="Админка">
|
||
</td>
|
||
<?php
|
||
} ?>
|
||
<td style="width: 30px">
|
||
<img onclick="window.open('ekr.php')" class="db cp" title="Покупка ЕвроКредитов"
|
||
src="https://img.new-combats.com/i/buttons/a___nak.gif" alt="Покупка ЕвроКредитов">
|
||
</td>
|
||
|
||
<!-- время -->
|
||
<td style="width: 71px" id="tdDate">
|
||
<button id="contentDate"></button>
|
||
</td>
|
||
<!-- время -->
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td style="text-align: right; background-color: #d6d6d6; height: 30px;" class="deleteStyles">
|
||
<img class="db" src="https://img.new-combats.com/i/lite/bkf_l_r1_06.gif" width="9" height="30" alt="">
|
||
</td>
|
||
</tr>
|
||
<tr id="deleteFooter">
|
||
<td style="background-image: url('https://img.new-combats.com/sand_mid_31.png'); height: 5px; background-color: #d6d6d6;"></td>
|
||
<td style="background-image: url('https://img.new-combats.com/sand_mid_31.png'); height: 5px; background-color: #d6d6d6;">
|
||
<!-- iFrames zone --></td>
|
||
<td style="background-image: url('https://img.new-combats.com/sand_mid_31.png'); height: 5px; background-color: #d6d6d6;"></td>
|
||
</tr>
|
||
</table>
|
||
<p id="timerVoiceMess" hidden></p>
|
||
|
||
|
||
<script>
|
||
const des = 1;
|
||
const c = {
|
||
noEr: 0,
|
||
noErTmr: 0,
|
||
url: '<?= Config::get('host') ?>',
|
||
img: '<?= Config::get('img') ?>',
|
||
uid: <?= $u->info['id'] ?>,
|
||
login: '<?= $u->info['login'] ?>',
|
||
city: '<?= $u->info['city'] ?>',
|
||
lvl: <?= $u->info['level'] ?>,
|
||
rnd: <?= $code ?>,
|
||
filter: 0,
|
||
time: <?= time() ?>,
|
||
pl: 0,
|
||
align: <?= $u->info['align'] ?>,
|
||
clan: <?= $u->info['clan'] ?>,
|
||
admin: <?= $u->info['admin'] ?>,
|
||
sound: 0,
|
||
money: <?= $u->info['money'] ?>
|
||
},
|
||
sd4key = "<?= $u->info['nextAct'] ?>",
|
||
lafstReg = {},
|
||
enterUse = 0;
|
||
|
||
// Проверка на совпедение города.
|
||
function ctest(city) {
|
||
if (city !== c['city']) {
|
||
top.location = '/bk';
|
||
}
|
||
}
|
||
|
||
// Старый код отработки отправки текста в чат по ентеру.
|
||
function testKey(event) {
|
||
if (event.keyCode == 10 || event.keyCode == 13) {
|
||
if (top.enterUse == 0) {
|
||
chat.subSend();
|
||
top.enterUse = 1;
|
||
setTimeout('top.enterUse = 0', 1000);
|
||
}
|
||
}
|
||
}
|
||
|
||
window.onLoad()
|
||
{
|
||
bodyLoaded();
|
||
chat.sendMsg(["new", "<?=time(
|
||
)?>", "1", "", "<?=$u->info['login']?>", "global:<b style='background-color:#ffcccc'> Приветствуем в игре, не забываем поздороваться и прочесть новости проекта! <a href='https://new-combats.com/n' target='_blank'>читать новости</a> </b>", "red", "1", "1", "0"]);
|
||
}
|
||
if (window.top != window.self) {
|
||
document.write = "";
|
||
window.top.location = window.self.location;
|
||
setTimeout(function () {
|
||
document.body.innerHTML = 'Ошибка доступа.';
|
||
}, 500);
|
||
window.self.onload = function (evt) {
|
||
document.body.innerHTML = 'Ошибка доступа.';
|
||
};
|
||
}
|
||
|
||
function cc(el) {
|
||
$(window).resize(function () {
|
||
$(el).css({
|
||
position: 'absolute',
|
||
left: ($(document).width() - $(el).outerWidth()) / 2,
|
||
top: ($(document).height() - $(el).outerHeight()) / 2
|
||
});
|
||
});
|
||
$(window).resize();
|
||
}
|
||
|
||
var lasts = [-1, -1];
|
||
|
||
function myexpLineTop27(e1, e2) {
|
||
$('#exp23mkrtkm').attr('title', "Опыт персонажа" + "\n" + e1 + " / " + e2);
|
||
$('#exp23mkrtkm').html(Math.ceil(e1 / e2 * 100) + '%!');
|
||
if (Math.ceil(e1 / e2 * 100) < 1) {
|
||
$('#myexplin233').attr('width', '1%');
|
||
} else {
|
||
if (lasts[1] < e2) {
|
||
$('#myexplin233').css('width', '1%');
|
||
}
|
||
if (lasts[0] != e1 || lasts[1] != e2) {
|
||
$('#myexplin233').animate({'width': Math.ceil(e1 / e2 * 100) + '%'}, 3000);
|
||
}
|
||
}
|
||
lasts[0] = e1;
|
||
lasts[1] = e2;
|
||
}
|
||
|
||
let smlk1 = 0;
|
||
|
||
function smiles1load() {
|
||
if (smlk1 == 0) {
|
||
$('#btnsmlrz').html('<small> Общие смайлики </small>');
|
||
smlk1 = 1;
|
||
$('#smilesDiv').hide();
|
||
$('#smilesDiv2').show();
|
||
$('#smilesDiv3').hide();
|
||
} else {
|
||
$('#btnsmlrz').html('<small> Личные смайлики </small>');
|
||
smlk1 = 0;
|
||
$('#smilesDiv').show();
|
||
$('#smilesDiv2').hide();
|
||
$('#smilesDiv3').hide();
|
||
}
|
||
}
|
||
|
||
setInterval('c.time++', 1000);
|
||
|
||
$.ajaxSetup({cache: false});
|
||
$(window).error(function () {
|
||
return true;
|
||
});
|
||
let iusrno = {};
|
||
|
||
function ignoreUser(u) {
|
||
if (iusrno[u] === undefined || iusrno[u] === 0) {
|
||
$('#main').attr({'src': 'main.php?friends=1&ignore=' + u + ''});
|
||
} else {
|
||
$('#main').attr({'src': 'main.php?friends=1&ignore=' + u + ''});
|
||
}
|
||
}
|
||
|
||
// Часы
|
||
let intervalClear;
|
||
let timeoutClear;
|
||
let $button = document.getElementById("contentDate");
|
||
let $div = document.createElement("div");
|
||
$div.id = "divFullDate"
|
||
document.body.append($div)
|
||
$div.hidden = true
|
||
|
||
let date = new Date();
|
||
let currentSec = (60 - date.getUTCSeconds()) * 1000;
|
||
|
||
asyncInterval()
|
||
|
||
async function asyncInterval() {
|
||
|
||
timeMSK()
|
||
|
||
let promise = await new Promise((resolve, reject) => {
|
||
setTimeout(() => {
|
||
timeMSK()
|
||
resolve("идём дальше")
|
||
}, currentSec)
|
||
});
|
||
|
||
setInterval(() => timeMSK(), 60000)
|
||
}
|
||
|
||
function timeMSK(hover = false) {
|
||
let mskTime = (new Date).toLocaleTimeString('ru-RU', {timeZone: 'Europe/Moscow'});
|
||
$button.textContent = mskTime.match(/\d{2}:\d{2}/i)[0]
|
||
|
||
if (hover) {
|
||
let fullDate = (new Date).toLocaleDateString('ru-RU', {timeZone: 'Europe/Moscow'});
|
||
let [day, month, year] = fullDate.match(/\b\d{2,4}\b/gi);
|
||
let objDate = {year: +year, month: +month - 1, day: +day};
|
||
let todayDay = new Date(objDate.year, objDate.month, objDate.day).getUTCDay();
|
||
// In objDate.day make ++
|
||
return {
|
||
date: divFullDateTime(objDate),
|
||
time: mskTime,
|
||
redDay: todayDay === 5 || todayDay === 6 || todayDay === 0
|
||
}
|
||
}
|
||
}
|
||
|
||
function divFullDateTime({year, month, day}) {
|
||
let strMonth = "";
|
||
|
||
switch (month) {
|
||
case 0:
|
||
strMonth = "Января";
|
||
break
|
||
case 1:
|
||
strMonth = "Февраля";
|
||
break
|
||
case 2:
|
||
strMonth = "Марта";
|
||
break
|
||
case 3:
|
||
strMonth = "Апреля";
|
||
break
|
||
case 4:
|
||
strMonth = "Мая";
|
||
break
|
||
case 5:
|
||
strMonth = "Июня";
|
||
break
|
||
case 6:
|
||
strMonth = "Июля";
|
||
break
|
||
case 7:
|
||
strMonth = "Августа";
|
||
break
|
||
case 8:
|
||
strMonth = "Сентября";
|
||
break
|
||
case 9:
|
||
strMonth = "Октября";
|
||
break
|
||
case 10:
|
||
strMonth = "Ноября";
|
||
break
|
||
case 11:
|
||
strMonth = "Декабря";
|
||
break
|
||
default:
|
||
break
|
||
}
|
||
return `${day} ${strMonth} ${year}`
|
||
}
|
||
|
||
function everySecondsUpdate() {
|
||
let {date, time, redDay} = timeMSK(true);
|
||
|
||
$div.innerHTML = `<p>${time}</p><p id="dateRed">${date}</p>`
|
||
|
||
document.getElementById("dateRed").style.color = redDay ? "red" : ""
|
||
}
|
||
|
||
$button.addEventListener("mouseover", function (event) {
|
||
|
||
timeoutClear = setTimeout(() => {
|
||
|
||
$div.hidden = false
|
||
let $trTop = $button.parentElement.getBoundingClientRect().top;
|
||
let $tdLeft = document.getElementById("tdDate").offsetLeft;
|
||
|
||
$div.style.top = `${$trTop - ($button.offsetHeight * 2.1)}px`
|
||
$div.style.left = `${($tdLeft - ($div.offsetWidth - $button.offsetWidth)) + 10}px`
|
||
|
||
everySecondsUpdate()
|
||
|
||
intervalClear = setInterval(() => everySecondsUpdate(), 1000)
|
||
}, 550)
|
||
})
|
||
|
||
$button.addEventListener("mouseout", function (event) {
|
||
$div.hidden = true
|
||
clearInterval(intervalClear)
|
||
clearTimeout(timeoutClear)
|
||
})
|
||
|
||
startEngine();
|
||
chat.testTimer(false);
|
||
setTimeout('chat.nozpros=0;', 20);
|
||
|
||
// Вроде как отправка сообщения по энтеру.
|
||
document.getElementById('textmsg').addEventListener('keyup', function (event) {
|
||
if (event.key === 'Enter') {
|
||
if (top.enterUse === 0) {
|
||
chat.subSend();
|
||
top.enterUse = 1;
|
||
setTimeout('top.enterUse = 0', 1000);
|
||
}
|
||
}
|
||
});
|
||
|
||
</script>
|
||
|
||
<script src="js/jquery.js"></script>
|
||
<script src="js/jqueryrotate.js"></script>
|
||
<script src="js/jquery.zclip.js"></script>
|
||
<script src="js/jquery.cookie.js"></script>
|
||
<script src="js/title.js"></script>
|
||
<script src="js/gameEngine.js?<?= time() ?>"></script>
|
||
<script src="js/interface.js"></script>
|
||
<script src="js/dataCenter.js"></script>
|
||
<script src="js/onlineList.js"></script>
|
||
<script src="js/hpregen.js"></script>
|
||
<script src="js/jquery-fireHint.js"></script>
|
||
<script src="js/trainingModals/registration/index.js"></script>
|
||
<script src="css/stylesMobile.js"></script>
|
||
|
||
<?php if ($deviceType == 'tablet' || $deviceType == 'phone'): ?>
|
||
<script src="js/jquery.nicescroll.js"></script>
|
||
<script>
|
||
$(document).ready(function () {
|
||
$("#touchmain").niceScroll("#main", {autohidemode: false, boxzoom: false});
|
||
});
|
||
</script>
|
||
<?php endif; ?>
|
||
|
||
</body>
|
||
</html>
|