@@ -139,6 +139,8 @@ function thisInfRm($id, $tp = null, $json = false)
}
if ( isset ( $_GET [ 'loc' ])) {
$training_manager = \DarksLight2\Training\TrainingManager :: getInstance ();
$go = mysql_fetch_array (
mysql_query (
'SELECT * FROM `room` WHERE `code` = "' . mysql_real_escape_string (
@@ -146,210 +148,228 @@ if (isset($_GET['loc'])) {
) . '" AND `city` = "' . $u -> info [ 'city' ] . '" LIMIT 1'
)
);
$tr_pl = mysql_fetch_array (
mysql_query (
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
)
);
//Проверяем костыли
$kos1 = mysql_fetch_array (
mysql_query (
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = 0 LIMIT 1'
)
);
$kos2 = mysql_fetch_array (
mysql_query (
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = 0 LIMIT 1'
)
);
if ( in_array (
$go [ 'file' ],
$training_manager -> getRegistered (
)[ $training_manager -> getCurrentStepName ()] -> allowedToMove ()
)) {
if ( $kos1 [ 'item_id' ] == 630 || $kos1 [ 'item_id' ] == 631 ) {
$kos1 [ 'good' ] = 1 ;
} else {
$kos1 [ 'good' ] = 0 ;
}
if ( $kos2 [ 'item_id' ] == 630 || $kos2 [ 'item_id' ] == 631 ) {
$kos2 [ 'good' ] = 1 ;
} else {
$kos2 [ 'good' ] = 0 ;
}
$tr_pl = mysql_fetch_array (
mysql_query (
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
)
);
if ( isset ( $tr_pl [ 'id' ])) {
//Проверяем костыли
$kos1 = mysql_fetch_array (
mysql_query (
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = 0 LIMIT 1'
)
);
$kos2 = mysql_fetch_array (
mysql_query (
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = 0 LIMIT 1'
)
);
$zadej = 0 ;
if ( $tr_pl [ 'v1' ] == 1 ) {
//все ок
} elseif ( $tr_pl [ 'v1' ] == 2 ) {
if ( $kos1 [ 'good' ] == 0 && $kos2 [ 'good' ] == 0 ) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.' ;
$zadej = - 1 ;
} else {
$zadej = 20 ;
}
} elseif ( $tr_pl [ 'v1' ] == 3 || $tr_pl [ 'v1' ] == 4 ) {
if ( $kos1 [ 'good' ] == 0 || $kos2 [ 'good' ] == 0 ) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.' ;
$zadej = - 1 ;
} else {
$zadej = 30 ;
}
if ( $kos1 [ 'item_id' ] == 630 || $kos1 [ 'item_id' ] == 631 ) {
$kos1 [ 'good' ] = 1 ;
} else {
$kos1 [ 'good' ] = 0 ;
}
}
if ( $u -> room [ 'extdlg '] > 0 ) {
header ( 'location: main.php?talk=' . $u -> room [ 'extdlg' ] . '' );
} elseif ( isset ( $zadej ) && $zadej == - 1 ) {
if ( ! isset ( $re ) || $re == '' ) {
$re = 'У вас травма, нельзя перемещаться...' ;
if ( $kos2 [ 'item_id' ] == 630 || $kos2 [ 'item_id' ] == 631 ) {
$kos2 [ 'good '] = 1 ;
} else {
$kos2 [ 'good' ] = 0 ;
}
//Травма...
} elseif ( $u -> info [ 'align' ] == 2 && $go [ 'nochaos' ] == 1 ) {
$re = 'Проход для хаосников закрыт!' ;
} elseif ( $u -> info [ 'inTurnir' ] > 0 ) {
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...' ;
} elseif (( $kos1 [ 'good' ] == 0 && $kos2 [ 'good' ] == 0 ) && (( ! isset ( $zadej ) || $zadej == 0 ) && $u -> aves [ 'now' ] >= $u -> aves [ 'max' ] && $u -> room [ 'name' ] != 'Общежитие' && $u -> room [ 'name' ] != 'Общ. Этаж 1' && $u -> room [ 'name' ] != 'Общ. Этаж 2' && $u -> room [ 'name' ] != 'Общ. Этаж 3' )) {
$re = 'Вы не можете перемещаться, рюкзак переполнен ...' ;
} elseif ( isset ( $go [ 'id' ])) {
$rmgo = [];
$rg = explode ( ',' , $u -> room [ 'roomGo' ]);
$mlvl = explode ( '-' , $go [ 'level' ]);
$i = 0 ;
while ( $i < count ( $rg )) {
if ( $rg [ $i ] >= 0 ) {
$rmgo [ $rg [ $i ]] = 1 ;
}
$i ++ ;
}
$sleep = $u -> testAction ( '`vars` = "sleep" AND `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1' , 1 );
if ( isset ( $sleep [ 'id' ]) && $sleep [ 'vars' ] == 'sleep' && $go [ 'name' ] != 'Общ. Этаж 1' && $go [ 'name' ] != 'Общ. Этаж 2' && $go [ 'name' ] != 'Общ. Этаж 3' ) {
$re = '<font color=red><b>Вы можете перемещаться только когда бодрствуете.</b></font>' ;
echo ' ' . $re ;
} elseif ( $u -> info [ 'timeGo' ] >= time ()) {
$re = 'Вы не можете перемещаться еще ' . ( $u -> info [ 'timeGo' ] - time ()) . ' сек.' ;
} elseif ( $rmgo [ $go [ 'id' ]] == 1 ) {
$alg = explode ( '-' , $go [ 'align' ]);
$ku = mysql_fetch_array (
mysql_query ( 'SELECT `id` FROM `katok_zv` WHERE `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1' )
);
if ( isset ( $tr_pl [ 'id' ])) {
$zadej = 0 ;
if ( isset ( $ku [ 'id ' ]) ) {
$re = 'Вы подали заявку на турнир и не можете перемещаться...' ;
} elseif (( $alg [ 0 ] > $u -> info [ 'align' ] || $alg [ 1 ] < $u -> info [ 'align' ]) && $go [ 'align' ] != 0 && $u -> info [ 'admin '] == 0 ) {
$re = 'Ты не ту склонность выбрал.. Дружок :)' ;
} elseif ( $u -> info [ 'zv' ] > 0 ) {
$test_zv = mysql_fetch_array (
mysql_query (
'SELECT * FROM `zayvki` WHERE `id` = "' . $u -> info [ 'zv' ] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . ( time (
) - 60 * 60 * 2 ) . '" LIMIT 1'
)
);
if ( isset ( $test_zv [ 'id' ])) {
$re = 'Подали заявку и убегаем?.. Не хорошо!' ;
if ( $tr_pl [ 'v1 ' ] == 1 ) {
//все ок
} elseif ( $tr_pl [ 'v1 '] == 2 ) {
if ( $kos1 [ 'good' ] == 0 && $kos2 [ 'good' ] == 0 ) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.' ;
$zadej = - 1 ;
} else {
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!' ;
mysql_query ( 'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
$zadej = 20 ;
}
} elseif ((( $go [ 'clan' ] > 0 && $u -> info [ 'clan ' ] ! = $go [ 'clan' ]) || ( $go [ 'clan' ] == - 1 && $u -> info [ 'clan' ] == 0 )) && $u -> info [ 'admin '] == 0 ) {
$re = 'Вы не можете попасть в эту комнату' ;
} elseif ( $go [ 'sex' ] > 0 && $go [ 'sex' ] - 1 ! = $u -> info [ 'sex' ] && $u -> info [ 'invis' ] != 1 && $u -> info [ 'invis' ] < time (
) && $u -> info [ 'admin' ] == 0 ) {
$re = 'Вы не можете попасть в эту комнату' ;
} elseif ( $mlvl [ 0 ] > $u -> info [ 'level' ] && $u -> info [ 'admin' ] == 0 ) {
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)' ;
} elseif ( $mlvl [ 1 ] < $u -> info [ 'level' ] && $u -> info [ 'admin' ] == 0 ) {
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)' ;
} elseif ( $go [ 'close' ] == 0 || $u -> info [ 'admin ' ] > 0 ) {
$travms = mysql_fetch_array (
} elseif ( $tr_pl [ 'v1 ' ] = = 3 || $tr_pl [ 'v1 '] == 4 ) {
if ( $kos1 [ 'good' ] == 0 || $kos2 [ 'good' ] == 0 ) {
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.' ;
$zadej = - 1 ;
} else {
$zadej = 30 ;
}
}
}
if ( $u -> room [ 'extdlg ' ] > 0 ) {
header ( 'location: main.php?talk=' . $u -> room [ 'extdlg' ] . '' );
} elseif ( isset ( $zadej ) && $zadej == - 1 ) {
if ( ! isset ( $re ) || $re == '' ) {
$re = 'У вас травма, нельзя перемещаться...' ;
}
//Травма...
} elseif ( $u -> info [ 'align' ] == 2 && $go [ 'nochaos' ] == 1 ) {
$re = 'Проход для хаосников закрыт!' ;
} elseif ( $u -> info [ 'inTurnir' ] > 0 ) {
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...' ;
} elseif (( $kos1 [ 'good' ] == 0 && $kos2 [ 'good' ] == 0 ) && (( ! isset ( $zadej ) || $zadej == 0 ) && $u -> aves [ 'now' ] >= $u -> aves [ 'max' ] && $u -> room [ 'name' ] != 'Общежитие' && $u -> room [ 'name' ] != 'Общ. Этаж 1' && $u -> room [ 'name' ] != 'Общ. Этаж 2' && $u -> room [ 'name' ] != 'Общ. Этаж 3' )) {
$re = 'Вы не можете перемещаться, рюкзак переполнен ...' ;
} elseif ( isset ( $go [ 'id' ])) {
$rmgo = [];
$rg = explode ( ',' , $u -> room [ 'roomGo' ]);
$mlvl = explode ( '-' , $go [ 'level' ]);
$i = 0 ;
while ( $i < count ( $rg )) {
if ( $rg [ $i ] >= 0 ) {
$rmgo [ $rg [ $i ]] = 1 ;
}
$i ++ ;
}
$sleep = $u -> testAction (
'`vars` = "sleep" AND `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1' ,
1
);
if ( isset ( $sleep [ 'id' ]) && $sleep [ 'vars' ] == 'sleep' && $go [ 'name' ] != 'Общ. Этаж 1' && $go [ 'name' ] != 'Общ. Этаж 2' && $go [ 'name' ] != 'Общ. Этаж 3' ) {
$re = '<font color=red><b>Вы можете перемещаться только когда бодрствуете.</b></font>' ;
echo ' ' . $re ;
} elseif ( $u -> info [ 'timeGo' ] >= time ()) {
$re = 'Вы не можете перемещаться еще ' . ( $u -> info [ 'timeGo' ] - time (
)) . ' сек.' ;
} elseif ( $rmgo [ $go [ 'id' ]] == 1 ) {
$alg = explode ( '-' , $go [ 'align' ]);
$ku = mysql_fetch_array (
mysql_query (
'SELECT * FROM `eff_users ` WHERE `uid` = "' . $u -> info [ 'id' ] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC '
'SELECT `id` FROM `katok_zv ` WHERE `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1 '
)
);
//замедление перемешения при травмах
$plus_timeGo = 0 + $zadej ; // добавочное время при травме
if ( $plus_timeGo < 0 ) {
$plus_timeGo = 0 ;
}
if ((( ! isset ( $zadej ) || $zadej == 0 ) && $u -> aves [ 'now' ] >= $u -> aves [ 'max' ] && $u -> room [ 'name' ] != 'Общежитие' && $u -> room [ 'name' ] != 'Общ. Этаж 1' && $u -> room [ 'name' ] != 'Общ. Этаж 2' && $u -> room [ 'name' ] != 'Общ. Этаж 3' )) {
$plus_timeGo += 2 * 60 ;
if ( $kos1 [ 'good' ] == 0 ) {
$plus_timeGo += 1.5 * 60 ;
} elseif ( $kos1 [ 'good' ] == 0 ) {
$plus_timeGo += 1.5 * 60 ;
}
}
//end freez time go
if ( $u -> stats [ 'silver' ] >= 1 ) { //время перемещения -20%
$go [ 'timeGO' ] = floor ( $go [ 'timeGO' ] / 100 * 80 );
$plus_timeGo = floor ( $plus_timeGo / 100 * 80 );
}
$u -> info [ 'timeGo' ] = time () + $go [ 'timeGO' ] + $plus_timeGo ;
$u -> info [ 'timeGoL ' ] = time ();
$upd = mysql_query (
'UPDATE `stats` SET `timeGo` = "' . $u -> info [ 'timeGo' ] . '",`timeGoL` = "' . $u -> info [ 'timeGoL' ] . '" WHERE `id` = "' . $u -> info [ 'id ' ] . '" LIMIT 1'
) ;
if ( $upd ) {
$upd2 = mysql_query (
'UPDATE `users` SET `room` = "' . $go [ 'id' ] . '",`online` = "' . time (
) . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1'
if ( isset ( $ku [ 'id' ])) {
$re = 'Вы подали заявку на турнир и не можете перемещаться...' ;
} elseif (( $alg [ 0 ] > $u -> info [ 'align' ] || $alg [ 1 ] < $u -> info [ 'align' ]) && $go [ 'align' ] != 0 && $u -> info [ 'admin' ] == 0 ) {
$re = 'Ты не ту склонность выбрал.. Дружок :)' ;
} elseif ( $u -> info [ 'zv' ] > 0 ) {
$test_zv = mysql_fetch_array (
mysql_query (
'SELECT * FROM `zayvki` WHERE `id` = "' . $u -> info [ 'zv' ] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . ( time (
) - 60 * 60 * 2 ) . '" LIMIT 1'
)
);
if ( isset ( $test_zv [ 'id' ])) {
$re = 'Подали заявку и убегаем?.. Не хорошо!' ;
} else {
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!' ;
mysql_query (
'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1'
);
}
} elseif ((( $go [ 'clan' ] > 0 && $u -> info [ 'clan' ] ! = $go [ 'clan' ]) || ( $go [ 'clan' ] == - 1 && $u -> info [ 'clan' ] == 0 )) && $u -> info [ 'admin' ] == 0 ) {
$re = 'Вы не можете попасть в эту комнату' ;
} elseif ( $go [ 'sex' ] > 0 && $go [ 'sex' ] - 1 != $u -> info [ 'sex' ] && $u -> info [ 'invis' ] != 1 && $u -> info [ 'invis' ] < time (
) && $u -> info [ 'admin ' ] == 0 ) {
$re = 'Вы не можете попасть в эту комнату' ;
} elseif ( $mlvl [ 0 ] > $u -> info [ 'level' ] && $u -> info [ 'admin ' ] == 0 ) {
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)' ;
} elseif ( $mlvl [ 1 ] < $u -> info [ 'level' ] && $u -> info [ 'admin' ] == 0 ) {
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)' ;
} elseif ( $go [ 'close' ] == 0 || $u -> info [ 'admin' ] > 0 ) {
$travms = mysql_fetch_array (
mysql_query (
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u -> info [ 'id' ] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
)
);
if ( $upd2 ) {
if ( $u -> room [ 'file' ] == 'bsenter' && $go [ 'file' ] != 'bsenter' ) {
//Удаляем все ставки в БС
$sp_bs = mysql_query (
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u -> info [ 'id' ] . '" AND `inBot` = "0" AND `finish` = "0"'
);
while ( $pl_bs = mysql_fetch_array ( $sp_bs )) {
//замедление перемешения при травмах
$plus_timeGo = 0 + $zadej ; // добавочное время при травме
if ( $plus_timeGo < 0 ) {
$plus_timeGo = 0 ;
}
if ((( ! isset ( $zadej ) || $zadej == 0 ) && $u -> aves [ 'now' ] >= $u -> aves [ 'max' ] && $u -> room [ 'name' ] != 'Общежитие' && $u -> room [ 'name' ] != 'Общ. Этаж 1' && $u -> room [ 'name' ] != 'Общ. Этаж 2' && $u -> room [ 'name' ] != 'Общ. Этаж 3' )) {
$plus_timeGo += 2 * 60 ;
if ( $kos1 [ 'good' ] == 0 ) {
$plus_timeGo += 1.5 * 60 ;
} elseif ( $kos1 [ 'good' ] == 0 ) {
$plus_timeGo += 1.5 * 60 ;
}
}
//end freez time go
if ( $u -> stats [ 'silver' ] >= 1 ) { //время перемещения -20%
$go [ 'timeGO' ] = floor ( $go [ 'timeGO' ] / 100 * 80 );
$plus_timeGo = floor ( $plus_timeGo / 100 * 80 );
}
$u -> info [ 'timeGo' ] = time () + $go [ 'timeGO' ] + $plus_timeGo ;
$u -> info [ 'timeGoL' ] = time ();
$upd = mysql_query (
'UPDATE `stats` SET `timeGo` = "' . $u -> info [ 'timeGo' ] . '",`timeGoL` = "' . $u -> info [ 'timeGoL' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1'
);
if ( $upd ) {
$upd2 = mysql_query (
'UPDATE `users` SET `room` = "' . $go [ 'id' ] . '",`online` = "' . time (
) . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1'
);
if ( $upd2 ) {
if ( $u -> room [ 'file' ] == 'bsenter' && $go [ 'file' ] != 'bsenter' ) {
//Удаляем все ставки в БС
$sp_bs = mysql_query (
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u -> info [ 'id' ] . '" AND `inBot` = "0" AND `finish` = "0"'
);
while ( $pl_bs = mysql_fetch_array ( $sp_bs )) {
mysql_query (
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs [ 'bsid' ] . '" LIMIT 1'
);
}
unset ( $sp_bs , $pl_bs );
mysql_query (
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs [ 'bsid' ] . '" LIMIT 1'
'UPDATE `bs_zv` SET `finish` = "' . time (
) . '" WHERE `uid` = "' . $u -> info [ 'id' ] . '" AND `inBot` = "0" AND `finish` = "0"'
);
}
unset ( $sp_bs , $pl_bs );
mysql_query (
'UPDATE `bs_zv` SET `finish` = " ' . time (
) . '" WHERE `uid` = "' . $u -> info [ 'id' ] . '" AND `inBot` = "0" AND `finish` = "0"'
$smt = $u -> testAction (
'`uid` = "' . $u -> info [ 'id' ] . '" AND `time`>= ' . ( time (
) - 600 ) . ' AND `vars` = "create_snowball_cp" LIMIT 1' ,
1
);
if ( isset ( $smt [ 'id' ])) {
mysql_query (
'DELETE FROM `actions` WHERE `id` = "' . $smt [ 'id' ] . '" LIMIT 1'
);
}
mysql_query (
'UPDATE `eff_users` SET `delete` = "' . time (
) . '" WHERE `id_eff` = "24" AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = "0" LIMIT 24'
);
}
$smt = $u -> testAction (
'`uid` = "' . $u -> info [ 'id' ] . '" AND `time`>=' . ( time (
) - 600 ) . ' AND `vars` = "create_snowball_cp" LIMIT 1' , 1
) ;
if ( isset ( $smt [ 'id' ])) {
mysql_query ( 'DELETE FROM `actions` WHERE `id` = "' . $smt [ 'id' ] . '" LIMIT 1' );
}
mysql_query (
'UPDATE `eff_users` SET `delete` = "' . time (
) . '" WHERE `id_eff` = "24" AND `uid` = "' . $u -> info [ 'id' ] . '" AND `delete` = "0" LIMIT 24'
);
$u -> info [ 'room' ] = $go [ 'id' ];
$u -> room = $go ;
if ( ! isset ( $_GET [ 'mAjax' ])) {
echo '<script>top.chat.reflesh();</script>' ;
$u -> info [ 'room' ] = $go [ 'id' ];
$u -> room = $go ;
if ( ! isset ( $_GET [ 'mAjax' ])) {
echo '<script>top.chat.reflesh();</script>' ;
}
} else {
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена' ;
}
} else {
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена ' ;
$re = 'Вы не смогли перейти в локацию' ;
}
} elseif ( $go [ 'destroy' ] == 1 ) {
$re = 'Здание было разрушено, в данный момент оно реставрируется' ;
} else {
$re = 'В ы не смогли перейти в локацию ' ;
$re = 'В ременно закрыто ' ;
}
} elseif ( $go [ 'destroy' ] == 1 ) {
$re = 'Здание было разрушено, в данный момент оно реставрируется' ;
} else {
$re = 'Временно закрыто ' ;
$re = 'Проход не существует ' ;
}
} else {
$re = 'Проход не существует' ;
}
} else {
$re = 'Проход не существует ' ;
$re = 'Вам запрещено передвигаться до окончания обучения!!! ' ;
}
}