2023-06-23 17:44:24 +03:00
< ? php
if ( ! defined ( 'GAME_VERSION' )) {
require_once '_incl_data/autoload.php' ;
}
use Core\ { Config , Database , Db };
2024-05-15 16:42:28 +03:00
use Model\ActionModel ;
2023-06-23 17:44:24 +03:00
use User\ItemsModel ;
use User\UserIp ;
2023-07-31 20:06:51 +03:00
2024-01-06 00:14:35 +02:00
function var_info ( $vars , $d = false ) : void
2022-07-01 12:45:43 +00:00
{
2023-04-11 00:51:54 +03:00
echo " <pre> \n " ;
2022-06-07 00:30:34 +03:00
var_dump ( $vars );
echo " </pre> \n " ;
2022-12-19 20:26:14 +02:00
if ( $d ) {
exit ();
}
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
2022-12-19 23:24:12 +02:00
Database :: init ();
2022-12-19 20:26:14 +02:00
define ( 'IP' , UserIp :: get ());
2022-06-07 00:30:34 +03:00
2022-12-19 20:26:14 +02:00
$magic = new Magic ();
$u = User :: start ();
$filter = new Filter ();
$q = new Quests ;
2023-04-15 22:18:30 +03:00
$code = PassGen :: intCode (); //для ссылок вида ?rnd=XXXXXX, вроде как-то борется с кешированием, но это не точно.
2022-06-07 00:30:34 +03:00
2023-04-18 12:21:54 +03:00
//$training_manager = TrainingManager::getInstance($u->info['id']);
2023-01-18 18:24:00 +01:00
2023-01-10 18:29:32 +02:00
/** Восстанавливаем всем ботам, которые не в бою здоровье до максимума. */
2023-06-11 14:51:42 +03:00
Db :: sql (
2024-01-06 00:14:35 +02:00
'update stats set hpnow = hpall, mpnow = mpall where id in (select id from users where bot = 2 and battle = 0)'
2022-12-19 20:26:14 +02:00
);
2022-06-07 00:30:34 +03:00
2022-07-01 12:45:43 +00:00
if ( $u -> info [ 'banned' ] > 0 ) {
header ( 'location: /index.php' );
die ();
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
if ( $u -> info [ 'bithday' ] == '01.01.1800' && $u -> info [ 'inTurnirnew' ] == 0 ) {
unset ( $_GET , $_POST );
2022-06-07 00:30:34 +03:00
}
2023-01-10 18:29:32 +02:00
#--------для общаги, и позже для почты
2024-05-15 16:42:28 +03:00
$sleep = ActionModel :: getOne ([ " uid = { $u -> info [ 'id' ] } " , 'vars = sleep' ], 'id' );
2023-08-16 01:48:29 +03:00
if ( $u -> room [ 'file' ] != " room_hostel " && $u -> room [ 'file' ] != " an/room_hostel " && ! empty ( $sleep )) {
2024-05-15 16:42:28 +03:00
Db :: sql ( 'update actions set vars = ? where id = ?' , [ 'unsleep' , $sleep ]);
2022-07-01 12:45:43 +00:00
}
if ( $u -> room [ 'file' ] == " room_hostel " || $u -> room [ 'file' ] == " post " ) {
$trololo = 0 ;
} else {
$trololo = 1 ;
2022-06-07 00:30:34 +03:00
}
2023-01-10 18:29:32 +02:00
#--------для общаги, и позже для почты
2023-04-11 00:51:54 +03:00
if (( $u -> info [ 'online' ] < time () - 60 || $u -> info [ 'afk' ] != '' )) {
2023-09-30 18:18:58 +03:00
$filter -> setOnline ( 0 , $u -> info [ 'id' ]);
2023-04-15 22:18:30 +03:00
Db :: sql (
2024-01-06 00:14:35 +02:00
'update users set online = unix_timestamp(), timemain = unix_timestamp(), afk = ? where id = ?' ,
2023-04-15 22:18:30 +03:00
[ '' , $u -> info [ 'id' ]]
);
2022-07-01 12:45:43 +00:00
} elseif ( $u -> info [ 'timeMain' ] < time () - 60 || $u -> info [ 'afk' ] != '' ) {
2023-04-15 22:18:30 +03:00
Db :: sql (
2024-01-06 00:14:35 +02:00
'update users set online = unix_timestamp(), timemain = unix_timestamp(), afk = ? where id = ?' ,
2023-04-15 22:18:30 +03:00
[ '' , $u -> info [ 'id' ]]
);
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
if ( ! isset ( $u -> info [ 'id' ]) || ( $u -> info [ 'joinIP' ] == 1 && $u -> info [ 'ip' ] != $_SERVER [ 'HTTP_X_REAL_IP' ]) || $u -> info [ 'banned' ] > 0 ) {
2022-12-19 23:24:12 +02:00
die ( Config :: get ( 'exit' ));
2022-06-07 00:30:34 +03:00
}
2023-01-10 18:29:32 +02:00
//Показываем системку и заносим данные
2022-12-19 20:26:14 +02:00
if ( $u -> info [ 'battle_text' ] != '' && $u -> info [ 'last_b' ] > 0 ) {
2023-04-15 22:18:30 +03:00
Db :: sql (
'insert into battle_last (battle_id, uid, time, act, lvl, align, clan, exp) values (?,?,unix_timestamp(),?,?,?,?,?)' ,
[
$u -> info [ 'last_b' ],
$u -> info [ 'id' ],
$u -> info [ 'last_a' ],
$u -> info [ 'level' ],
$u -> info [ 'align' ],
$u -> info [ 'clan' ],
$u -> info [ 'exp' ],
]
);
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
$act = - 2 ;
$act2 = 0 ;
$u -> stats = $u -> getStats ( $u -> info [ 'id' ], 0 );
2023-06-11 14:51:42 +03:00
$u -> aves = ItemsModel :: inventoryWeightAndItemQuantity ();
2022-07-01 12:45:43 +00:00
if ( ! isset ( $u -> stats [ 'act' ])) {
$u -> stats [ 'act' ] = 0 ;
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
if ( $u -> stats [ 'act' ] == 1 ) {
$act = 1 ;
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
$u -> rgd = $u -> regen ( $u -> info [ 'id' ], 0 , 0 );
2022-06-07 00:30:34 +03:00
2023-01-10 18:29:32 +02:00
//Проверка уровня
2022-06-07 00:30:34 +03:00
$ul = $u -> testLevel ();
2022-07-01 12:45:43 +00:00
if ( isset ( $_GET [ 'atak_user' ]) && $u -> info [ 'battle' ] == 0 && $_GET [ 'atak_user' ] != $u -> info [ 'id' ]) {
if ( $u -> room [ 'noatack' ] == 0 ) {
2023-04-11 00:51:54 +03:00
$clan = Db :: getValue ( 'select clan from users where id = ?' , [( int ) $_GET [ 'atak_user' ]]);
2023-04-15 22:18:30 +03:00
$cruw = Db :: getRow (
'select id, type from clan_wars where ((clan1 = ? and clan2 = ?) or (clan1 = ? and clan2 = ?)) and time_finish > unix_timestamp() limit 1' ,
[
$clan ,
$u -> info [ 'clan' ],
$u -> info [ 'clan' ],
$clan ,
]
);
2023-04-11 00:51:54 +03:00
unset ( $clan );
2022-07-01 12:45:43 +00:00
if ( isset ( $cruw [ 'id' ])) {
$cruw = $cruw [ 'type' ];
} else {
$cruw = 0 ;
}
2023-04-15 22:18:30 +03:00
$ua = Db :: getRow (
'select * from users left join stats on users.id = stats.id where (atack > unix_timestamp() or atack = 1 or 1 = ? or 2 = ?) and stats.id = ?' ,
[
$cruw ,
$cruw ,
( int ) $_GET [ 'atak_user' ],
]
);
$check = Db :: getValue (
2024-01-06 00:14:35 +02:00
'select id from eff_users where id_eff = 478 and uid = ? and `delete` = 0 order by overtype desc limit 1' ,
2023-04-15 22:18:30 +03:00
[ $u -> info [ 'id' ]]
);
$check2 = Db :: getValue (
2024-01-06 00:14:35 +02:00
'select id from eff_users where id_eff = 479 and uid = ? and `delete` = 0 order by overtype desc limit 1' ,
2023-04-15 22:18:30 +03:00
[ $ua [ 'id' ]]
);
$check3 = Db :: getValue (
'select id from battle_last where uid = ? and battle_id = ? limit 1' , [ $u -> info [ 'id' ], $ua [ 'battle' ]]
);
2022-07-01 12:45:43 +00:00
if ( $ua [ 'no_ip' ] == 'trupojor' && $ua [ 'level' ] == 9 && $u -> info [ 'level' ] > 9 ) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нельзя нападать на монстра этого уровня!' ;
2022-07-01 12:45:43 +00:00
} elseif ( $ua [ 'no_ip' ] == 'trupojor' && $ua [ 'level' ] == 10 && $u -> info [ 'level' ] < 10 ) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нельзя нападать на монстра этого уровня!' ;
2022-07-01 12:45:43 +00:00
} elseif ( $ua [ 'no_ip' ] != 'trupojor' && $ua [ 'level' ] != $u -> info [ 'level' ]) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нападать можно на персонажей только своего уровня!' ;
2023-04-11 00:51:54 +03:00
} elseif ( isset ( $check3 )) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нельзя вмешаться, вы уже были в этом поединке.' ;
2023-04-11 00:51:54 +03:00
} elseif ( $ua [ 'no_ip' ] == 'trupojor' && isset ( $check )) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нельзя нападать на монстра чаще одного раза в 3 часа!' ;
2023-04-11 00:51:54 +03:00
} elseif ( isset ( $check2 )) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Персонаж имеет защиту от нападения!' ;
2022-07-01 12:45:43 +00:00
} elseif ( isset ( $ua [ 'id' ]) && $ua [ 'online' ] > time () - 520 ) {
2023-01-10 18:29:32 +02:00
$usta = $u -> getStats ( $ua [ 'id' ], 0 ); // статы цели
$minHp = floor ( $usta [ 'hpAll' ] / 100 * 33 ); // минимальный запас здоровья цели при котором можно напасть
2022-07-01 12:45:43 +00:00
if ( $ua [ 'battle' ] > 0 ) {
2023-04-15 22:18:30 +03:00
$uabt = Db :: getRow (
'select id, type, invis from battle where id = ? and team_win = -1 limit 1' , [ $ua [ 'battle' ]]
);
2022-07-01 12:45:43 +00:00
if ( ! isset ( $uabt [ 'id' ])) {
$ua [ 'battle' ] = 0 ;
}
}
if ( $ua [ 'battle' ] == 0 && $minHp > $usta [ 'hpNow' ]) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нельзя напасть, у противника не восстановилось здоровье' ;
2022-07-01 12:45:43 +00:00
} elseif ( isset ( $uabt [ 'id' ]) && $uabt [ 'type' ] == 500 && $ua [ 'team' ] == 1 ) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нельзя сражаться на стороне монстров!' ;
2022-07-01 12:45:43 +00:00
} elseif ( isset ( $uabt [ 'id' ]) && $uabt [ 'invis' ] > 0 ) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Нельзя вмешиваться в невидимый бой!' ;
2022-07-01 12:45:43 +00:00
} elseif ( $magic -> testTravma ( $ua [ 'id' ], 3 )) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Противник тяжело травмирован, нельзя напасть!' ;
2022-07-01 12:45:43 +00:00
} elseif ( $magic -> testTravma ( $u -> info [ 'id' ], 2 )) {
2023-01-10 18:29:32 +02:00
$u -> error = 'Вы травмированы, нельзя напасть!' ;
2022-07-01 12:45:43 +00:00
} elseif ( $ua [ 'room' ] == $u -> info [ 'room' ] && ( $minHp <= $usta [ 'hpNow' ] || $ua [ 'battle' ] > 0 )) {
if ( $ua [ 'type_pers' ] == 0 ) {
if ( $cruw == 2 ) {
$ua [ 'type_pers' ] = 99 ;
} else {
$ua [ 'type_pers' ] = 50 ;
}
}
if ( $ua [ 'no_ip' ] == 'trupojor' ) {
$ua [ 'type_pers' ] = 500 ;
}
2023-04-15 22:18:30 +03:00
Db :: sql (
2024-01-06 00:14:35 +02:00
'update stats set hpnow = ?, mpnow = ? where id = ?' ,
[
2023-07-31 20:06:51 +03:00
$usta [ 'hpNow' ],
$usta [ 'mpNow' ],
$usta [ 'id' ],
]
2023-04-15 22:18:30 +03:00
);
2022-07-01 12:45:43 +00:00
2022-12-19 20:26:14 +02:00
$goodt = $magic -> atackUser (
$u -> info [ 'id' ], $ua [ 'id' ], $ua [ 'team' ], $ua [ 'battle' ], $ua [ 'bbexp' ], $ua [ 'type_pers' ]
);
2022-07-01 12:45:43 +00:00
2023-04-11 00:51:54 +03:00
$sx = $u -> info [ 'sex' ] ? 'a' : '' ;
2022-07-01 12:45:43 +00:00
if ( $cruw == 2 ) {
2023-01-10 18:29:32 +02:00
$rtxt = '[img[items/pal_button9.gif]] "' . $u -> info [ 'login' ] . '" совершил' . $sx . ' кровавое нападение по метке на персонажа "' . $ua [ 'login' ] . '".' ;
2022-07-01 12:45:43 +00:00
} else {
2023-01-10 18:29:32 +02:00
$rtxt = '[img[items/pal_button8.gif]] "' . $u -> info [ 'login' ] . '" совершил' . $sx . ' нападение по метке на персонажа "' . $ua [ 'login' ] . '".' ;
2022-07-01 12:45:43 +00:00
}
if ( $goodt > 0 ) {
2023-01-28 04:24:37 +02:00
$chatDto = new ChatMessage ();
$chatDto -> setCity ( $u -> info [ 'city' ]);
$chatDto -> setRoom ( $u -> info [ 'room' ]);
$chatDto -> setText ( $rtxt );
$chatDto -> setType ( 6 );
$chatDto -> setTypeTime ( 1 );
( new Chat ()) -> sendMsg ( $chatDto );
2022-07-01 12:45:43 +00:00
}
unset ( $goodt );
header ( 'location: main.php' );
die ();
} else {
if ( $ua [ 'room' ] != $u -> info [ 'room' ]) {
2023-01-10 18:29:32 +02:00
//Персонаж в другой комнате
$u -> error = 'Персонаж находится в другой комнате' ;
2022-07-01 12:45:43 +00:00
} else {
2023-01-10 18:29:32 +02:00
$u -> error = 'Персонаж имеет слишком малый уровень жизней.' ;
2022-07-01 12:45:43 +00:00
}
}
} else {
2023-01-10 18:29:32 +02:00
//На персонажа нельзя напасть
$u -> error = 'Персонаж не в игре, либо на нем нет метки' ;
2022-07-01 12:45:43 +00:00
}
} else {
2023-01-10 18:29:32 +02:00
$u -> error = 'Вам запрещается атаковать без разрешения...' ;
2022-07-01 12:45:43 +00:00
}
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
if ( $ul == 1 ) {
$act = 1 ;
2022-06-07 00:30:34 +03:00
}
/*-----------------------*/
2022-07-01 12:45:43 +00:00
if ( $u -> info [ 'battle' ] == 0 ) {
2023-04-15 22:18:30 +03:00
$btl_last = Db :: getRow (
'select id, battle from battle_users where uid = ? and finish = 0 limit 1' , [ $u -> info [ 'id' ]]
);
2022-06-07 00:30:34 +03:00
}
2024-01-06 00:14:35 +02:00
if ( $magic -> youuse > 0 ) {
$act = 1 ;
}
//Получение статов
if ( $act != - 2 ) {
$u -> stats = $u -> getStats ( $u -> info [ 'id' ], 0 , 1 );
$u -> aves = ItemsModel :: inventoryWeightAndItemQuantity ();
2024-05-15 16:42:28 +03:00
if ( empty ( $sleep )) {
2024-01-06 00:14:35 +02:00
$act2 = $u -> testItems ( $u -> info [ 'id' ], $u -> stats , 0 );
}
if ( $act2 != - 2 && $act == - 2 ) {
$act = $act2 ;
}
}
//Проверяем квесты на готовность
if ( in_array (
$u -> room [ 'file' ],
[ 'dungeon_enter' , 'dungeon_enter_all' , 'enterbezdna' , 'entercat' , 'enterdrago' , 'entergrib' , 'enternizin' , 'enterptp' , 'house_belaun' , 'dungeon' ]
)) {
$q -> testquest ();
}
2024-02-10 03:12:05 +02:00
echo " <!DOCTYPE html> " ;
2024-01-06 00:14:35 +02:00
$iloc = '' ;
$iloce = '' ;
$img = Config :: img ();
$sp = Db :: getRows (
'select * from items_local where (room = ? or room = -1) and `delete` = 0 and user_take = 0 and tr_login = ?' ,
[ $u -> info [ 'room' ], $u -> info [ 'login' ]]
);
foreach ( $sp as $pl ) {
$itmo = Db :: getRow ( 'select id, name, img from items_main where id = ?' , [ $pl [ 'item_id' ]]);
if ( isset ( $itmo [ 'id' ])) {
$tk = 1 ;
$glid = 0 ;
//
if ( $pl [ 'room' ] != - 1 && $pl [ 'room' ] != $u -> info [ 'room' ]) {
if ( isset ( $_GET [ 'take_loc_item' ]) && $_GET [ 'take_loc_item' ] == $pl [ 'id' ]) {
$iloce = 'Вы находитесь в другой комнате...' ;
}
$tk = 0 ;
} elseif ( $pl [ 'tr_login' ] != '0' && $pl [ 'tr_login' ] != $u -> info [ 'login' ]) {
if ( isset ( $_GET [ 'take_loc_item' ]) && $_GET [ 'take_loc_item' ] == $pl [ 'id' ]) {
$iloce = 'Данный предмет для другого персонажа...' ;
}
$tk = 0 ;
} elseif ( $pl [ 'tr_sex' ] != - 1 && $pl [ 'tr_sex' ] != $u -> info [ 'sex' ]) {
if ( isset ( $_GET [ 'take_loc_item' ]) && $_GET [ 'take_loc_item' ] == $pl [ 'id' ]) {
$iloce = 'Данный предмет для противоположного пола...' ;
}
$tk = 0 ;
}
if ( $pl [ 'time' ] + 86400 < time ()) {
//Не успели поднять
$glid = 1 ;
Db :: sql ( 'update items_local set `delete` = unix_timestamp() where id = ?' , [ $pl [ 'id' ]]);
} elseif ( isset ( $_GET [ 'take_loc_item' ]) && $_GET [ 'take_loc_item' ] == $pl [ 'id' ]) {
//
if ( $u -> info [ 'battle' ] > 0 && $tk == 1 ) {
$iloce = 'Вы не можете поднять предмет, завершите поединок...' ;
} elseif ( $tk == 1 ) {
$iloce = 'Вы успешно подняли предмет "' . $itmo [ 'name' ] . '" в локации "' . $u -> room [ 'name' ] . '".' ;
Db :: sql (
'update items_local set `delete` = unix_timestamp(), user_take = ? where id = ?' ,
[ $u -> info [ 'id' ], $pl [ 'id' ]]
);
//выдаем предмет
$glid = 1 ;
if ( $pl [ 'data' ] == '0' ) {
ItemsModel :: addItem (
$pl [ 'item_id' ], $u -> info [ 'id' ], '|from_loc_id=' . $pl [ 'id' ] . '|from_loc=' . $u -> info [ 'room' ]
);
} else {
ItemsModel :: addItem (
$pl [ 'item_id' ], $u -> info [ 'id' ],
'|from_loc_id=' . $pl [ 'id' ] . '|from_loc=' . $u -> info [ 'room' ] . '|' . $pl [ 'data' ]
);
}
}
}
if ( $glid == 0 ) {
if ( $tk == 1 && $pl [ 'tr_login' ] == '0' ) {
$tk = 2 ;
}
$whoCanPickUp = '\n' . match ( true ) {
$pl [ 'tr_login' ] => " Предмет для игрока { $pl [ 'tr_login' ] } " ,
$pl [ 'tr_sex' ] == 0 => 'Предмет для мужчин' ,
$pl [ 'tr_sex' ] == 1 => 'Предмет для женщин' ,
default => 'Предмет может подобрать каждый'
};
$iloc .= <<< HTML
<a class="tolobf$tk" href="/main.php?take_loc_item{$pl['id']}" target="main">
<div class="outer">
<div class="middle">
<div class="inner">
<img src="$img/i/items/{$itmo['img']}" title="Забрать «{$itmo['name']}». $whoCanPickUp" alt="">
</div>
</div>
</div>
</a>
HTML ;
}
}
unset ( $tk , $itmo );
}
$spl = Db :: getValue ( 'select exp from levels where nextlevel = ? order by exp limit 1' , [ $u -> info [ 'level' ] + 1 ]);
?>
<style>
/* Paste this css to your style sheet file or under head tag */
/* This only works with JavaScript,
if it's not present, don't show loader */
.no-js #loader {
display: none;
}
.js #loader {
display: block;
position: absolute;
left: 100px;
top: 0;
}
.se-pre-con {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 9999;
background: url(default.gif) center no-repeat #e2e0e1;
}
pre {
border: 1px solid gray;
border-radius: 5px;
padding: 3px 6px;
background: #cecece;
color: black;
font-family: Arial, sans-serif;
font-size: 12px;
}
</style>
<link href="<?= Config::img() ?>/css/main.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/css/training/modal.css">
<div class="se-pre-con" id="se-pre-con"></div>
<?php
if (!isset($_GET['mAjax']) && !isset($_GET['ajaxHostel'])) {
2024-02-10 03:12:05 +02:00
echo '<div style="padding-top:0; margin-top:17px; background-color:#e2e0e1;">';
2024-01-06 00:14:35 +02:00
}
2022-07-01 12:45:43 +00:00
if (isset($btl_last['id']) && $u->info['battle'] == 0) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/btl_.php');
2022-07-01 12:45:43 +00:00
$u->info['battle_lsto'] = true;
} elseif ($u->info['battle'] == 0) {
2023-01-10 18:29:32 +02:00
//Проверка/Снятие предметов
2024-05-15 16:42:28 +03:00
if (empty($sleep)) {
2022-07-01 12:45:43 +00:00
$act2 = $u->testItems($u->info['id'], $u->stats, 0);
}
if ($act2 != -2 && $act == -2) {
$act = $act2;
}
if ($u->room['block_all'] != 0) {
unset($_GET['inv'], $_GET['skills'], $_GET['anketa']);
}
if (!isset($u->tfer['id']) && $u->room['block_all'] == 0) {
2023-01-10 18:29:32 +02:00
//Одеть/снять предмет
2022-07-01 12:45:43 +00:00
if (isset($_GET['rstv']) && isset($_GET['inv'])) {
2023-01-12 05:08:32 +02:00
$u->freeStatsMod($_GET['rstv'], $_GET['mf'], $u->info['id']);
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['ufs2']) && isset($_GET['inv'])) {
2023-01-12 05:08:32 +02:00
$u->freeStats2Item($_GET['itmid'], $_GET['ufs2'], $u->info['id'], 1);
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['ufs2mf']) && isset($_GET['inv'])) {
2023-01-12 05:08:32 +02:00
$u->freeStats2Item($_GET['itmid'], $_GET['ufs2mf'], $u->info['id'], 2);
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['ufsmst']) && isset($_GET['inv'])) {
2023-01-12 05:08:32 +02:00
$u->itemsSmSave($_GET['itmid'], $_GET['ufsmst'], $u->info['id']);
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['ufsms']) && isset($_GET['inv'])) {
2023-01-12 05:08:32 +02:00
$u->itemsSmSave($_GET['itmid'], $_GET['ufsms'] + 100, $u->info['id']);
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['ufs']) && isset($_GET['inv'])) {
2023-01-12 05:08:32 +02:00
$u->freeStatsItem($_GET['itmid'], $_GET['ufs'], $u->info['id']);
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['sid']) && isset($_GET['inv'])) {
$act = $u->snatItem($_GET['sid'], $u->info['id']);
} elseif (isset($_GET['oid']) && isset($_GET['inv'])) {
$act = $u->odetItem($_GET['oid'], $u->info['id']);
} elseif (isset($_GET['item_rune']) && isset($_GET['inv'])) {
2023-01-12 05:08:32 +02:00
$u->runeItem(null);
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['remitem'], $_GET['inv'])) {
$act = $u->snatItemAll($u->info['id']);
} elseif (isset($_GET['delete']) && isset($_GET['inv']) && $u->newAct($_GET['sd4'])) {
if ($u->info['allLock'] < time()) {
$u->deleteItem(intval($_GET['delete']), $u->info['id']);
} else {
2024-02-10 03:12:05 +02:00
echo '<script>setTimeout(function(){alert("Вам запрещено удалять предметы до ' . date('d.m.y H:i', $u->info['allLock']) . '")},250);</script>';
2022-07-01 12:45:43 +00:00
}
} elseif (isset($_GET['unstack']) && isset($_GET['inv']) && $u->newAct($_GET['sd4'])) {
$u->unstack(intval($_GET['unstack']), intval($_GET['unstackCount']));
} elseif (isset($_GET['stack']) && isset($_GET['inv'])) {
$u->stack($_GET['stack']);
} elseif (isset($_GET['end_qst_now'])) {
$q->endq((int)$_GET['end_qst_now'], 'end');
}
2023-01-10 18:29:32 +02:00
//Использовать эффект
2022-07-01 12:45:43 +00:00
if (isset($_GET['use_pid'])) {
$magic->useItems((int)$_GET['use_pid']);
}
} else {
if ($u->room['block_all'] > 0) {
2023-01-10 18:29:32 +02:00
$u->error = 'В данной локации запрещено пользоваться чем-либо...';
2022-07-01 12:45:43 +00:00
}
}
2022-06-07 00:30:34 +03:00
}
/*-----------------------*/
2022-12-19 20:26:14 +02:00
if (isset($_GET['security']) && !isset($u->tfer['id']) && $trololo == 1) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_changepass.php');
2022-12-30 21:03:37 +02:00
} elseif (isset($_GET['friends']) && !isset($u->tfer['id'])) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_friends.php');
2022-07-01 12:45:43 +00:00
} elseif (($u->info['admin'] > 0 || $u->info['level'] > 7 || $u->info['align'] == 50) && isset($_GET['notepad']) && !isset($u->tfer['id'])) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/notepad.php');
2023-12-08 18:14:29 +02:00
} elseif (isset($_GET['moderation'])) {
2022-12-30 21:03:37 +02:00
require_once('modules_data/_mod.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['vip']) && !isset($u->tfer['id'])) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/vip.php');
2023-04-15 22:18:30 +03:00
} elseif (
(
isset($_GET['zayvka']) &&
$u->info['battle'] == 0
) ||
(
isset($_GET['zayvka']) &&
2024-01-08 03:33:20 +02:00
(!isset($_GET['r']) || $_GET['r'] == 6 || $_GET['r'] == 7) &&
2023-04-15 22:18:30 +03:00
$u->info['battle'] > 0
) &&
!isset($u->tfer['id'])
) {
require_once('modules_data/_zv.php');
2022-12-30 21:03:37 +02:00
} elseif (isset($_GET['alh']) && !isset($u->tfer['id'])) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_alh.php');
2023-07-19 15:36:13 +03:00
} elseif (isset($_GET['clan']) && !isset($u->tfer['id'])) {
2023-06-22 16:53:42 +03:00
require_once('modules_data/_clan.php'); //Панель кланов
} elseif (isset($_GET['alhp']) && ($u->info['admin'] == 1 || $u->info['align'] == 50) && !isset($u->tfer['id'])) {
require_once('modules_data/_alhp.php'); //Панель алхимиков
} elseif ($u->info['align'] > 0 && !isset($u->tfer['id']) && !empty($_GET['ap'])) {
require_once('modules_data/alignPanel.php'); //Панель склонностей, GET чтобы вызывать по ссылке.
2022-07-01 12:45:43 +00:00
} elseif ($u->info['battle'] != 0) {
2023-01-10 18:29:32 +02:00
//поединок
2022-07-01 12:45:43 +00:00
if ((!isset($btl_last['id']) || $u->info['battle'] > 0) && !isset($u->info['battle_lsto'])) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/btl_.php');
2024-02-10 03:12:05 +02:00
echo '<script src="js/onlineList.js"></script>';
2022-07-01 12:45:43 +00:00
}
} else {
if (isset($_GET['talk']) && !isset($u->tfer['id'])) {
2023-12-08 19:32:22 +02:00
echo "<script>document.getElementById('se-pre-con').parentNode.removeChild(document.getElementById('se-pre-con'));</script>";
2022-07-01 12:45:43 +00:00
if ($u->info['dnow'] > 0) {
2022-12-19 20:26:14 +02:00
$d = new Dungeon;
2022-07-01 12:45:43 +00:00
}
2022-08-11 13:38:38 +03:00
require_once('modules_data/_dialog.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['inv']) && !isset($u->tfer['id']) && $trololo == 1) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_inv.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['add_eff']) && !isset($u->tfer['id']) && $trololo == 1) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/add_eff.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['referals']) && $trololo == 1 && !isset($u->tfer['id'])) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_ref.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['obraz']) && !isset($u->tfer['id']) && $trololo == 1) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_obraz.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['skills']) && !isset($u->tfer['id']) && $trololo == 1) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_umenie.php');
2023-01-12 02:58:26 +02:00
} elseif ((isset($_GET['transfer']) || isset($u->tfer['id'])) && $u->info['level'] >= Config::get(
2024-04-29 17:22:11 +03:00
'level_transfer'
2023-01-12 02:58:26 +02:00
) && $trololo == 1 && $u->info['inTurnir'] == 0 && $u->info['inTurnirnew'] == 0) {
2022-07-01 12:45:43 +00:00
if ($u->info['allLock'] > time()) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_locations.php');
2024-02-10 03:12:05 +02:00
echo '<script>setTimeout(function(){alert("Вам запрещены передачи до ' . date('d.m.y H:i', $u->info['allLock']) . '")},250);</script>';
2022-07-01 12:45:43 +00:00
} else {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_transfers.php');
2022-07-01 12:45:43 +00:00
}
} elseif (isset($_GET['anketa']) && !isset($u->tfer['id']) && $trololo == 1) {
2022-08-11 13:38:38 +03:00
require_once('settings.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['newanimal']) && $trololo == 1) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_newanimal.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['act_trf']) && $u->room['block_all'] == 0) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/act_trf.php');
2022-07-01 12:45:43 +00:00
} elseif (isset($_GET['titul']) && $u->room['block_all'] == 0) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/titul.php');
2022-07-01 12:45:43 +00:00
} elseif (!isset($u->tfer['id'])) {
2022-08-11 13:38:38 +03:00
require_once('modules_data/_locations.php');
2022-07-01 12:45:43 +00:00
}
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
if ($iloc != '') {
if ($iloce != '') {
2023-04-11 00:51:54 +03:00
$iloc = '<div style="padding:10px; color: red;">' . $iloce . '</div>' . $iloc;
2022-07-01 12:45:43 +00:00
}
2023-12-08 19:32:22 +02:00
$iloc = <<<HTML
<style>
.tolobf0 {
display:inline-block;
width:80px;
height:80px;
background-color:#e5e5e5;
text-align:center;
}
.tolobf0:hover {
background-color:#d5d5d5;
text-align:center;
}
.tolobf2 {
display:inline-block;
width:80px;
height:80px;
background-color:#FFD700;
text-align:center;
}
.tolobf2:hover {
background-color:#DAA520;
text-align:center;
}
.tolobf1 {
display:inline-block;
width:80px;
height:80px;
background-color:#d5d5e5;
text-align:center;
}
.tolobf1:hover {
background-color:#d5d5d5;
text-align:center;
}
.outer {
display: table;
position: absolute;
height: 80px;
width: 80px;
}
.middle {
display: table-cell;
vertical-align: middle;
}
.inner {
margin-left: auto;
margin-right: auto;
width: 80px;
}
</style>
<h3>В комнате разбросаны предметы</h3>
HTML;
$tjs = $iloc;
2022-07-01 12:45:43 +00:00
} else {
2023-12-08 19:32:22 +02:00
$tjs = '';
2022-06-07 00:30:34 +03:00
}
2022-07-01 12:45:43 +00:00
unset($iloc, $iloce);
2022-06-07 00:30:34 +03:00
2024-01-06 00:14:35 +02:00
/*-----------------------*/
2023-04-11 00:51:54 +03:00
//Сломаное обучение. Как оно достало! Ins. 🤬
//$training_manager->render();
2022-06-07 00:30:34 +03:00
?>
2023-12-08 19:32:22 +02:00
2022-06-07 00:30:34 +03:00
<script>
2023-12-08 19:32:22 +02:00
top.myexpLineTop27('<?= $u->info['exp'] ?>', '<?= $spl ?>');
top.frames['main'].locitems = 1;
parent.$('#canal1').html('<?= $tjs ?>')
top.sd4key = "<?= $u->info['nextAct'] ?>";
var battle = <?= (int)$u->info['battle'] ?>;
top.hic();
2022-07-01 12:45:43 +00:00
//Loader
// Wait for window load
$(window).load(function () {
// Animate loader off screen
$(".se-pre-con").fadeOut(100);
});
2022-12-19 23:24:12 +02:00
</script>
2023-06-11 14:51:42 +03:00