366 lines
12 KiB
PHP
366 lines
12 KiB
PHP
<?
|
|
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'));
|
|
$inf = 'Çäàíèå áûëî ðàçðóøåíî';
|
|
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)
|
|
{
|
|
$inf = '<b>'.$rm['name'].'</b><br>Ñåé÷àñ â êîìíàòå '.(0+$rown[0]).' ÷åë.';
|
|
}else{
|
|
$inf = ''.$rm['name'].'
|
|
Ñåé÷àñ â êîìíàòå '.(0+$rown[0]).' ÷åë.';
|
|
}
|
|
}
|
|
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)
|
|
{
|
|
$re = 'Âû íå ìîæåòå ïåðåìåùàòüñÿ, Âû ïðèíÿëè çàÿâêó íà òóðíèð ...';
|
|
}elseif($u->aves['now']>=$u->aves['max'] && $u->room['name']!='Îáùåæèòèå' && $u->room['name']!='Îáù. Ýòàæ 1' && $u->room['name']!='Îáù. Ýòàæ 2' && $u->room['name']!='Îáù. Ýòàæ 3')
|
|
{
|
|
$re = 'Âû íå ìîæåòå ïåðåìåùàòüñÿ, ðþêçàê ïåðåïîëíåí ...';
|
|
}elseif($u->room['name']=='Êîìíàòà äëÿ íîâè÷êîâ' && $u->info['active']!='')
|
|
{
|
|
echo '<script>alert("Äëÿ òîãî ÷òîáû ïåðåéòè â ãîðîä Âû äîëæíû àêòèâèðîâàòü ïåðñîíàæà. Íà '.$u->info['mail'].' îòïðàâëåíî ïèñüìî ñ èíñòðóêöèåé ïî àêòèâàöèè.");</script>';
|
|
}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')
|
|
{
|
|
$re = 'Âû ìîåæåòå ïåðåìåùàòüñÿ òîëüêî êîãäà áîäðñòâóåòå.';
|
|
}elseif($u->info['timeGo']>=time())
|
|
{
|
|
$re = 'Âû íå ìîæåòå ïåðåìåùàòüñÿ åùå '.($u->info['timeGo']-time()).' ñåê.';
|
|
}elseif($rmgo[$go['id']]==1 || $u->info['admin']>0)
|
|
{
|
|
if($rmgo[$go['id']]!=1)
|
|
{
|
|
echo '<script>alert("Äàííûé ïðîõîä íå ñóùåñòâóåò, íî Àíãåëàì íåò ïðåãðàä â ïåðåìåùåíèè");</script>';
|
|
}
|
|
$alg = explode('-',$go['align']);
|
|
if(($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align']!=0)
|
|
{
|
|
$re = 'Âû íå ìîæåòå ïîïàñòü â ýòó êîìíàòó';
|
|
}elseif($u->info['zv']>0)
|
|
{
|
|
$re = 'Ïîäàëè çàÿâêó è óáåãàåì?.. Íå õîðîøî!';
|
|
}elseif($go['sex']>0 && $go['sex']-1!=$u->info['sex'])
|
|
{
|
|
$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'));
|
|
|
|
//çàìåäëåíèå ïåðåìåøåíèÿ ïðè òðàâìàõ
|
|
$plus_timeGo=0; // äîáàâî÷íîå âðåìÿ ïðè òðàâìå
|
|
$tr_nogo=false; // íåòó çàïðåùåíèÿ ïåðåìåùåíèÿ ïî òðàâìå
|
|
if($travms['v1']==3){
|
|
// òÿæåëàÿ òðàâìà
|
|
$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){
|
|
//ñðåäíÿÿ
|
|
$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{
|
|
$re = 'Âû íå ñìîãëè ïåðåéòè â ëîêàöèþ, âîçìîæíî îíà áûëà ðàçðóøåíà';
|
|
}
|
|
}elseif($tr_nogo==true){
|
|
$re = 'Âû òðàâìèðîâàííû. Íå âîçìîæíî ñ òàêèìè óâå÷èÿìè ïåðåäâèãàòñÿ áåç êîñòûëåé.';
|
|
}else{
|
|
$re = 'Âû íå ñìîãëè ïåðåéòè â ëîêàöèþ';
|
|
}
|
|
}elseif($go['destroy']==1)
|
|
{
|
|
$re = 'Çäàíèå áûëî ðàçðóøåíî, â äàííûé ìîìåíò îíî ðåñòàâðèðóåòñÿ';
|
|
}else{
|
|
$re = 'Âðåìåííî çàêðûòî';
|
|
}
|
|
}else{
|
|
$re = 'Ïðîõîä íå ñóùåñòâóåò';
|
|
}
|
|
}else{
|
|
$re = 'Ïðîõîä íå ñóùåñòâóåò';
|
|
}
|
|
}
|
|
|
|
if($u->info['room']==209)
|
|
{
|
|
include('_incl_data/class/__zv.php');
|
|
}
|
|
|
|
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 != '') {
|
|
document.getElementById('moveto').innerHTML = 'Âû ïåðåéäåòå â: <b>' + nm + '</b> (<a onclick="gotoLocationCancel();" href="javascript:void(0)">îòìåíà</a>)';
|
|
}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);
|
|
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>";
|
|
}
|
|
|
|
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']))
|
|
{
|
|
$tmGo = $u->info['timeGo']-time(); //ñêîëüêî ñåêóíä îñòàëîñü
|
|
$tmGol = $u->info['timeGo']-$u->info['timeGoL']; //ñêîëüêî ñåêóíä èäòè âñåãî
|
|
if($tmGo<0)
|
|
{
|
|
$tmGo = 0;
|
|
}
|
|
if($tmGol<1)
|
|
{
|
|
$tmGol = 1;
|
|
}
|
|
//îíëàéí â ýòîé êîìíàòå
|
|
$goLis = '<table height="15" border="0" cellspacing="0" cellpadding="0">
|
|
<tr>
|
|
<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>
|
|
<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;
|
|
$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> ÷åë., ';
|
|
$sil++;
|
|
}
|
|
*/
|
|
$rowonmax2 = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `users` WHERE `online` > '.(time()-520).' AND `city` = "'.$u->info['city'].'" LIMIT 200'));
|
|
$rowonmax = 'Ñåé÷àñ â ãîðîäå: '.$rowonmax2[0].' ÷åë.';
|
|
$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.';
|
|
}
|
|
|
|
?>
|