2022-06-07 00:30:34 +03:00
< ?
if ( ! defined ( 'GAME' ))
{
die ();
}
$re = '' ;
if ( isset ( $u -> error2 ))
{
$re = $u -> error2 ;
}
function thisInfRm ( $id , $tp = NULL )
{
global $u ;
$rm = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `room` WHERE `code` = "' . mysql_real_escape_string ( $id ) . '" AND `city` = "' . $u -> info [ 'city' ] . '" LIMIT 1' ));
2023-01-10 18:29:32 +02:00
$inf = 'Здание было разрушено' ;
2022-06-07 00:30:34 +03:00
if ( isset ( $rm [ 'id' ]))
{
$rown = mysql_fetch_array ( mysql_query ( 'SELECT COUNT(*) FROM `users` WHERE `online` > ' . ( time () - 120 ) . ' AND `city` = "' . $u -> info [ 'city' ] . '" AND `room` = "' . $rm [ 'id' ] . '"' ));
if ( $tp == NULL )
{
2023-01-10 18:29:32 +02:00
$inf = '<b>' . $rm [ 'name' ] . '</b><br>Сейчас в комнате ' . ( 0 + $rown [ 0 ]) . ' чел.' ;
2022-06-07 00:30:34 +03:00
} else {
$inf = '' . $rm [ 'name' ] . '
2023-01-10 18:29:32 +02:00
Сейчас в комнате ' . ( 0 + $rown [ 0 ]) . ' чел.' ;
2022-06-07 00:30:34 +03:00
}
}
if ( $tp == NULL )
{
echo 'onMouseOver="top.hi(this,\'<div align=right>' . $inf . '</div>\',event,0,1,1,1,\'max-height:240px\');" onMouseOut="top.hic();" onMouseDown="top.hic();" onClick="goLocal(\'main.php?loc=' . $rm [ 'code' ] . '\',\'' . $rm [ 'name' ] . '\');"' ;
} else {
echo $inf ;
}
}
if ( isset ( $_GET [ 'loc' ]))
{
$go = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `room` WHERE `code` = "' . mysql_real_escape_string ( $_GET [ 'loc' ]) . '" AND `city` = "' . $u -> info [ 'city' ] . '" LIMIT 1' ));
if ( $u -> info [ 'id' ] == '340379' or $u -> info [ 'id' ] == '399105' ){
//print_r($u->info);
}
if ( $u -> info [ 'inTurnir' ] > 0 )
{
2023-01-10 18:29:32 +02:00
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...' ;
} elseif ( $u -> aves [ 'now' ] >= $u -> aves [ 'max' ] && $u -> room [ 'name' ] != 'Общежитие' && $u -> room [ 'name' ] != 'Общ. Этаж 1' && $u -> room [ 'name' ] != 'Общ. Этаж 2' && $u -> room [ 'name' ] != 'Общ. Этаж 3' )
2022-06-07 00:30:34 +03:00
{
2023-01-10 18:29:32 +02:00
$re = 'Вы не можете перемещаться, рюкзак переполнен ...' ;
} elseif ( $u -> room [ 'name' ] == 'Комната для новичков' && $u -> info [ 'active' ] != '' )
2022-06-07 00:30:34 +03:00
{
2023-01-10 18:29:32 +02:00
echo '<script>alert("Для того чтобы перейти в город Вы должны активировать персонажа. На ' . $u -> info [ 'mail' ] . ' отправлено письмо с инструкцией по активации.");</script>' ;
2022-06-07 00:30:34 +03:00
} elseif ( isset ( $go [ 'id' ]))
{
$rmgo = array ();
$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' )
{
2023-01-10 18:29:32 +02:00
$re = 'Вы моежете перемещаться только когда бодрствуете.' ;
2022-06-07 00:30:34 +03:00
} elseif ( $u -> info [ 'timeGo' ] >= time ())
{
2023-01-10 18:29:32 +02:00
$re = 'Вы не можете перемещаться еще ' . ( $u -> info [ 'timeGo' ] - time ()) . ' сек.' ;
2022-06-07 00:30:34 +03:00
} elseif ( $rmgo [ $go [ 'id' ]] == 1 || $u -> info [ 'admin' ] > 0 )
{
if ( $rmgo [ $go [ 'id' ]] != 1 )
{
2023-01-10 18:29:32 +02:00
echo '<script>alert("Данный проход не существует, но Ангелам нет преград в перемещении");</script>' ;
2022-06-07 00:30:34 +03:00
}
$alg = explode ( '-' , $go [ 'align' ]);
if (( $alg [ 0 ] > $u -> info [ 'align' ] || $alg [ 1 ] < $u -> info [ 'align' ]) && $go [ 'align' ] != 0 )
{
2023-01-10 18:29:32 +02:00
$re = 'Вы не можете попасть в эту комнату' ;
2022-06-07 00:30:34 +03:00
} elseif ( $u -> info [ 'zv' ] > 0 )
{
2023-01-10 18:29:32 +02:00
$re = 'Подали заявку и убегаем?.. Не хорошо!' ;
2022-06-07 00:30:34 +03:00
} elseif ( $go [ 'sex' ] > 0 && $go [ 'sex' ] - 1 != $u -> info [ 'sex' ])
{
2023-01-10 18:29:32 +02:00
$re = 'Вы не можете попасть в эту комнату' ;
2022-06-07 00:30:34 +03:00
} elseif ( $mlvl [ 0 ] > $u -> info [ 'level' ] && $u -> info [ 'admin' ] == 0 )
{
2023-01-10 18:29:32 +02:00
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)' ;
2022-06-07 00:30:34 +03:00
} elseif ( $mlvl [ 1 ] < $u -> info [ 'level' ] && $u -> info [ 'admin' ] == 0 )
{
2023-01-10 18:29:32 +02:00
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)' ;
2022-06-07 00:30:34 +03:00
} 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' ));
2023-01-10 18:29:32 +02:00
//замедление перемешения при травмах
$plus_timeGo = 0 ; // добавочное время при травме
$tr_nogo = false ; // нету запрещения перемещения по травме
2022-06-07 00:30:34 +03:00
if ( $travms [ 'v1' ] == 3 ){
2023-01-10 18:29:32 +02:00
// тяжелая травма
2022-06-07 00:30:34 +03:00
$kostyls = mysql_query ( 'SELECT * FROM `items_users` WHERE `uid`="' . $u -> info [ 'id' ] . '" and `inOdet`!="0" and (`item_id`="630" or `item_id`="631")' );
if ( mysql_num_rows ( $kostyls ) == 2 ){
$plus_timeGo = 30 ;
} else {
$tr_nogo = true ;
}
} elseif ( $travms [ 'v1' ] == 2 ){
2023-01-10 18:29:32 +02:00
//средняя
2022-06-07 00:30:34 +03:00
$plus_timeGo = 20 ;
}
//end freez time go
if ( $tr_nogo == false ){
$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 )
{
$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 ;
echo '<script>top.chat.reflesh();</script>' ;
} else {
2023-01-10 18:29:32 +02:00
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена' ;
2022-06-07 00:30:34 +03:00
}
} elseif ( $tr_nogo == true ){
2023-01-10 18:29:32 +02:00
$re = 'Вы травмированны. Не возможно с такими увечиями передвигатся без костылей.' ;
2022-06-07 00:30:34 +03:00
} else {
2023-01-10 18:29:32 +02:00
$re = 'Вы не смогли перейти в локацию' ;
2022-06-07 00:30:34 +03:00
}
} elseif ( $go [ 'destroy' ] == 1 )
{
2023-01-10 18:29:32 +02:00
$re = 'Здание было разрушено, в данный момент оно реставрируется' ;
2022-06-07 00:30:34 +03:00
} else {
2023-01-10 18:29:32 +02:00
$re = 'Временно закрыто' ;
2022-06-07 00:30:34 +03:00
}
} else {
2023-01-10 18:29:32 +02:00
$re = 'Проход не существует' ;
2022-06-07 00:30:34 +03:00
}
} else {
2023-01-10 18:29:32 +02:00
$re = 'Проход не существует' ;
2022-06-07 00:30:34 +03:00
}
}
if ( $u -> info [ 'room' ] == 209 )
{
2022-08-25 14:23:36 +03:00
$zv = new FightRequest ();
2022-06-07 00:30:34 +03:00
}
if ( $re != '' ){ $re = $re . ' ' ; }
?>
<style>
.MoveLine {
background:url(https://<? echo $c['img']; ?>/i/move/wait2.gif) 0px 0px repeat-y;
}
</style>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
var speedLoc = 0;
var sLoc1 = 0;
var sLoc2 = 0;
var tgo = 0;
var tgol = 0;
var rgo_url = 0;
var rgo_nm = '';
function locGoLine()
{
var line = document.getElementById('MoveLine');
if(line!=undefined)
{
prc = 100-Math.floor(tgo/tgol*100);
sLoc1 = 64/100*prc;
if(sLoc1<0)
{
sLoc1 = 0;
}
if(sLoc1>64)
{
sLoc1 = 64;
}
line.style.width = sLoc1+'px';
if(tgo>0)
{
tgo -= 1;
setTimeout('locGoLine()',100);
}
if(document.getElementById('moveto') != null && document.getElementById('moveto') != undefined) {
if(rgo_nm != '') {
2023-01-10 18:29:32 +02:00
document.getElementById('moveto').innerHTML = 'Вы перейдете в: <b>' + nm + '</b> (<a onclick="gotoLocationCancel();" href="javascript:void(0)">отмена</a>)';
2022-06-07 00:30:34 +03:00
}else{
document.getElementById('moveto').innerHTML = '';
}
}
}
}
function goLocal(id,nm) {
rgo_url = id;
rgo_nm = nm;
}
</script>
<?
if(date('m') == 12 || date('m') == 1 || date('m') == 2) {
$rsnow = array(
234 => 1,
267 => 1,
9 => 1,
286 => 1,
11 => 1,
236 => 1,
213 => 1,
252 => 1
);
if($rsnow[$u->room['id']]==1) {
?>
<script>
var no = 50; // snow number
var speed = 17; // smaller number moves the snow faster
var sp_rel = 1.4; //speed relevation
var snowflake1 = "/i/itimeges/snow1.gif";
var snowflake2 = "/i/itimeges/snow2.gif";
var i, doc_width, doc_height;
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
Array.prototype.exists = function(el)
{
for(var i=0;i<this.length;i++)
if(this[i]==el)
return true;
return false;
}
var rooms = ['1.100', '1.107', '1.111', '1.120'];
function SetVariable(c) {
dx[c] = 0; // set coordinate variables
am[c] = Math.random()*15; // set amplitude variables
xp[c] = Math.random()*(doc_width-35) + 0 + am[c]; // set position variables
yp[c] = 0;
stx[c] = 0.02 + Math.random()/10; // set step variables
sty[c] = 0.7 + Math.random(); // set step variables
}
function DrawWeather(room) {
doc_width = document.getElementById('img_ione').width;
doc_height = document.getElementById('img_ione').height;
var div = '';
for (i = 0; i < no; ++ i) {
SetVariable(i);
2023-01-10 18:29:32 +02:00
div += "<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: 30" + i +"; VISIBILITY: visible; TOP: " + 0 + "px; LEFT: " + 0 + "px;\"><img id=\"im"+ i +"\" src=\"" + (sty[i]<sp_rel ? snowflake2 : snowflake1 ) + "\" border=\"0\" alt=\"Снежинка\"></div>";
2022-06-07 00:30:34 +03:00
}
document.getElementById('snow').innerHTML = div;
return 1;
}
function WeatherBegin() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i] < sp_rel ? sty[i]/2 : sty[i];
if (yp[i] > doc_height-40) {
SetVariable(i);
var im = document.getElementById('im'+i);
im.src = (sty[i] < sp_rel) ? snowflake2 : snowflake1;
}
dx[i] += stx[i];
document.getElementById('dot'+i).style.top = yp[i]+'px';
document.getElementById('dot'+i).style.left = xp[i] + am[i]*Math.sin(dx[i])+'px';
}
setTimeout('WeatherBegin()', speed);
}
</script>
<?
}
}
if(isset($u->room['id']))
{
2023-01-10 18:29:32 +02:00
$tmGo = $u->info['timeGo']-time(); //сколько секунд осталось
$tmGol = $u->info['timeGo']-$u->info['timeGoL']; //сколько секунд идти всего
2022-06-07 00:30:34 +03:00
if($tmGo<0)
{
$tmGo = 0;
}
if($tmGol<1)
{
$tmGol = 1;
}
2023-01-10 18:29:32 +02:00
//онлайн в этой комнате
2022-06-07 00:30:34 +03:00
$goLis = '<table height="15" border="0" cellspacing="0" cellpadding="0">
<tr>
2023-01-10 18:29:32 +02:00
<td rowspan="3" valign="bottom"><a href="main.php?rnd='.$code.'"><img style="display:block;" src="https://'.$c['img'].'/i/move/rel_1.gif" width="15" height="16" title="Обновить" border="0" /></a></td>
2022-06-07 00:30:34 +03:00
<td colspan="3"><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_462s.gif" width="80" height="4" /></td>
</tr>
<tr>
<td><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_481.gif" width="9" height="8" /></td>
<td width="64" bgcolor="black"><img src="https://'.$c['img'].'/1x1.gif" style="display:block;" id="MoveLine" height="8" class="MoveLine" style="width:33px;" /></td>
<td><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_50.gif" width="7" height="8" /></td>
</tr>
<tr>
<td colspan="3"><img style="display:block;" src="https://'.$c['img'].'/i/move/navigatin_tt1_532.gif" width="80" height="5" /></td>
</tr>
</table>
<div id="test"></div><script>var tgo = '.($tmGo*10).'; var tgol = '.($tmGol*10).';locGoLine();</script>';
$goline = '<div style="position:absolute; top:0px; z-index:101; left:405px; width:80px;">
'.$goLis.'
</div>';
$rowonmax = '';
$rowonmax2 = 0;
/*
$sil = 1;
while($sil<=count($u->city_unid))
{
$rowon = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > '.(time()-520).' AND `city` = "'.$u->city_unid[$sil].'"'));
$rowon = $rowon[0];
$rowonmax2 += $rowon;
2023-01-10 18:29:32 +02:00
$rowonmax .= '<img src="https://'.$c['img'].'/i/city_ico/'.$u->city_unid[$sil].'.gif" width="17" height="15"> '.$u->city_name[$u->city_unid[$sil]].': <b>'.$rowon.'</b> чел., ';
2022-06-07 00:30:34 +03:00
$sil++;
}
*/
$rowonmax2 = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > '.(time()-520).' AND `city` = "'.$u->info['city'].'" LIMIT 200'));
2023-01-10 18:29:32 +02:00
$rowonmax = 'Сейчас в городе: '.$rowonmax2[0].' чел.';
2022-06-07 00:30:34 +03:00
$rowonmax = ''.$rowonmax.'';
unset($sil,$pil,$rowonmax2);
if($u->room['file']!='')
{
include_once('modules_data/location/'.$u->room['file'].'.php');
if((date('m') == 11 || date('m') == 12 || date('m') == 1 || date('m') == 2) && $rsnow[$u->room['id']]==1) {
echo '<script>DrawWeather(31);WeatherBegin();</script>';
}
echo '<div align="right">'.$c['counters'].'</div>';
}
}else{
echo 'Location is lost.';
}
?>