Вход Регистрация
Файл: gamele.ru/func/sql_func.php
Строк: 1410
<?php
//--Добавлено 03.05.2013
function tp($l) {
$l mtrunc($l);
 
$n='';
 if ((
floor($l/86400))<>0) {$n $n.(floor($l/86400))."д&nbsp;";$l=$l%86400;}
 if ((
floor($l/3600))<>0$n $n.(floor($l/3600))."ч&nbsp;";
 if ((
floor(($l%3600)/60))<>0$n $n.(floor(($l%3600)/60))."м&nbsp;";
 
$n $n.(($l%3600)%60)."с";
 return 
$n;
 }
function 
sqla($q)
{
    return 
mysql_fetch_array(sql($q));
}

function 
sql($q)
{
    
//GLOBAL $main_conn;
    
$r mysql_query($q);
    
## Ошибки.
//    $error = mysqli_error();
//    if ($error and $_COOKIE["uid"]==1){
//    echo "<font class=hp><b>SQL ОШИБКА : ".$error." <i>[".$q."]</i></b></font>";
//    }
    
return $r;
}

function 
mysqli_result($query$key 0) {

$row mysql_fetch_row($query);
return 
$row[$key];

}
//-
function varcheck($input){
    if(!
is_array($input)){
        if(
is_numeric($input))
        {

        
#Функция актуальна при условии, если значение больше 0
        #Получает целочисленное значение переменной
            
$number intval($input);
            
//echo 'numeric';
            
return $number;
        }
        else
        {
            
#Вырезаем html теги
            
$out_stringstrip_tags($input);
            
#Преобразует специальные символы в HTML сущности.
            
$out_stringhtmlspecialchars($out_string);
            
#Экранирует специальные символы в строке,принмимая во внимание кодировку соединения.
            
$out_stringmysql_escape_string($out_string);
            return 
$out_string;

        }
    }else{
        foreach(
$input as $key=>$val){
            
$out_string[$key] = varcheck($val);
        }
        return 
$out_string;
    }
}
//тотемы
function totembuffs(){    
    
$player=player();    
    
//$totemtime = Array('00','02','04','06','08','10','12','14','16','18','20','22');
    
$totemtime = Array('10','20','02','00','22','18','12','04','14','06','08','16');
    
$bufftime $totemtime[$player['thotem']]; $buff=0;
    if(
$bufftime == date("H")){$buff 1;}
    elseif(
$bufftime == (date("H")-1)){$buff 1;}
    return 
$buff;
}
//енд_тотемы
//фильтр для предметов, которые не поддаются модификации, ремонту и т.д
function itemfilter(){
    
$filt=" AND `items`.`type`!='w0'  AND `items`.`type`!='w29' AND `items`.`type`!='w61'  AND `items`.`type`!='w66'  AND `items`.`type`!='w67' AND `items`.`type`!='w68' AND `items`.`type`!='w69' ";
    return 
$filt;
}
//end_itemfilter

function player(){
    return 
mysql_fetch_assoc(mysql_query("SELECT `active_session`.*, `user`.* FROM `user` INNER JOIN `active_session` ON `user`.`id` = `active_session`.`User_ID` WHERE `user`.`pcid` = `active_session`.`session` AND `pcid`='".mysql_real_escape_string($_COOKIE['HonorHash'])."';"));
}
function 
allitemparam($it,$loc){
    switch(
$loc){
        case 
'inv': break;
    }
}
function 
chars($inp){
$inp=htmlspecialchars($inp);
$inp=eregi_replace("['"<>/%]","",$inp);
return 
$inp;
}
function mtrunc(
$q)
{
    if (
$q<0) $q=0;
    return 
$q;
}
function send_mail_fake(
$email,$header,$body){
    
$subject = '=?windows-1251?B?'.base64_encode($header).'?=';
    
$headers = "FromNeverLands <noreplay@neverlands.ru>rn";
    
$headers .= "Return-path: <noreplay@neverlands.ru>rn";
    
$headers .= "MIME-Version1.0rn";
    
$headers .= "Content-typetext/htmlcharset=windows-1251boundary="--".md5(uniqid(time())).""rn";
    if( mail(
$email$subject$body$headers) ){
        return true;
    }else{
        return false;
    }
}
function tradelic(
$lic){
    
$li=array(1=>0,0,0,0,0,0,0,0,0,0,0,0,0,0);
    
$lic=explode("|",$lic);
    foreach(
$lic as $val){
        
$treid=explode("@",$val);
        if(
$treid[1]>time()){
            
$li[$treid[0]]=1;
        }
    }
return 
$li;
}
function bot(
$od,$hp,$hpa,$mp,$mpa,$zn,$sil){
    if(
$hp<($hpa*0.5)and $mp>5 and $zn>1){
        
$s['mag']="320_0@";
    }
    if(
$zn>$sil and $mpa>50 and $mp>10){
        
$s2="_2_100@";
    }else{
        
$s2="_0_0@";
    }
    if(
$od<140){
        
$s['ud']=rand(0,3).$s2;
    }else{
        
$s1=rand(0,2);
        
$s['ud']=$s1.$s2.($s1+1).$s2;
    }
    
$s['bl']="0_".rand(4,25)."_0@";
    return 
$s;
}

function chlevel(
$exp,$lev,$id){
    
$user=$_SESSION['user'];
    
$pers = player();
    
$arr=exp_level($lev);
    if(array_sum(
$exp)>=$arr['exp']){
        if(
$pers['level'] >= 9 and $pers['instructor'] > 0){
            
$pl = mysql_fetch_assoc(mysql_query("SELECT FROM `userWHERE `id`='".$pers['instructor']."'"));
            
$PlExps = explode("|",$pl['exp']);
            mysql_query("
UPDATE `userSET `nv`=`nv`+'".((($row['good_pupils_count']+1)%5 == 0)?2500:500)."',`dd`=`dd`+'0.15',`exp`='".$PlExps[0]."|".($PlExps[1]+100)."|".$PlExps[2]."',`good_pupils_count`=`good_pupils_count`+'1' WHERE `id`='".$pers['instructor']."'");
            mysql_query("
UPDATE `userSET `instructor`='0' WHERE `id`='".$pers['id']."'");
            chmsg("
top.frames['chmain'].add_msg('<font class=yochattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><font color=#000000><b>Системная информация.</b></font> Персонаж <b>".$pers["login"]."</b>[".$pers["level"]."/".$pers["u_lvl"]."] закончил свое обучение, вы получили награду.</font><BR>'+'');",$pl['login']);
            echo"
<script>top.frames['chmain'].add_msg('<font class=yochattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><font color=#000000><b>Системная информация.</b></font> Вы успешно закончили свое обучение.</font><BR>'+'');</script>";
        }
        mysql_query("
UPDATE user SET level=level+1nv=nv+$arr[nv],fr_bum=fr_bum+$arr[bum],fr_mum=fr_mum+$arr[mum],free_stat=free_stat+$arr[frs],nav=nav+$arr[navWHERE id='$id';");
        event_to_log(date("
H:i:s"),5,0,(($pers['clan_id']!='none') ? $pers['clan_gif'].':'.$pers['clan'].':'.$pers['clan_d'] : 'none'),$pers["login"],$pers["level"],$pers['sklon'],($pers["level"]+1));
        
$ms="top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#CC0000>Поздравляем!</font></b></font>&nbsp;Вы достигли <b>".($lev+1)."</b> уровня.</font><BR>'+'');";
        chmsg(
$ms,$user[login]);
    }
}
function newbattle(
$style,$arena,$type,$time_start,$timeout,$travma,$downl,$upl,$koll,$downr,$upr,$kolr,$vis,$bt){
mysql_query("
LOCK TABLES arena READfight arena;");
db_query('INSERT INTO arena (style,arena,type,time,time_start,timeout,travma,downl,upl,kol1,downr,upr,kol2,vis,t2,bt) VALUES ('.AP.
$style.AP.','.AP.$arena.AP.','.AP.$type.AP.','.AP.date("H:i:s").AP.','.AP.$time_start.AP.','.AP.$timeout.AP.','.AP.$travma.AP.','.AP.$downl.AP.','.AP.$upl.AP.','.AP.$koll.AP.','.AP.$downr.AP.','.AP.$upr.AP.','.AP.$kolr.AP.','.AP.$vis.AP.','.AP.time().AP.','.AP.$bt.AP.');');
$V01=mysql_query("SELECT MAX(id_battleFROM arena LIMIT 1;");
$V01=mysql_result($V01, 0);
mysql_query("
UNLOCK TABLES;");
return 
$V01;
}

function savelog(
$log,$bat){
    
$fp = fopen ("/var/www/gamale/data/battles/logs/".$bat.".txt","a");
    fwrite(
$fp,$log."n");
    fclose(
$fp);
}
function savestats(
$log,$bat){
    
$fp = fopen ("/var/www/gamale/data/battles/stats/".$bat.".txt","a");
    fwrite(
$fp,$log."n");
    fclose(
$fp);
}
function exp_level(
$level){
switch(
$level){
case 0: 
$arr=array("exp"=>100,"ma"=>8,"ex"=>1,"frs"=>15,"nv"=>50,"nav"=>1,"mum"=>2,"bum"=>10);break;
case 1: 
$arr=array("exp"=>300,"ma"=>12,"ex"=>1,"frs"=>3,"nv"=>100,"nav"=>1,"mum"=>3,"bum"=>4);break;
case 2: 
$arr=array("exp"=>800,"ma"=>16,"ex"=>1,"frs"=>3,"nv"=>150,"nav"=>0,"mum"=>4,"bum"=>5);break;
case 3: 
$arr=array("exp"=>1800,"ma"=>20,"ex"=>1,"frs"=>3,"nv"=>200,"nav"=>0,"mum"=>4,"bum"=>5);break;
case 4: 
$arr=array("exp"=>3500,"ma"=>24,"ex"=>1,"frs"=>5,"nv"=>300,"nav"=>1,"mum"=>5,"bum"=>4);break;
case 5: 
$arr=array("exp"=>5500,"ma"=>40,"ex"=>1,"frs"=>5,"nv"=>350,"nav"=>1,"mum"=>5,"bum"=>5);break;
case 6: 
$arr=array("exp"=>10000,"ma"=>52,"ex"=>1,"frs"=>5,"nv"=>250,"nav"=>0,"mum"=>6,"bum"=>6);break;
case 7: 
$arr=array("exp"=>18000,"ma"=>56,"ex"=>1,"frs"=>10,"nv"=>300,"nav"=>0,"mum"=>7,"bum"=>6);break;
case 8: 
$arr=array("exp"=>30000,"ma"=>64,"ex"=>1,"frs"=>5,"nv"=>400,"nav"=>1,"mum"=>8,"bum"=>7);break;
case 9: 
$arr=array("exp"=>50000,"ma"=>76,"ex"=>1,"frs"=>7,"nv"=>500,"nav"=>0,"mum"=>9,"bum"=>8);break;
case 10: 
$arr=array("exp"=>200000,"ma"=>80,"ex"=>1,"frs"=>15,"nv"=>400,"nav"=>1,"mum"=>12,"bum"=>10);break;
case 11: 
$arr=array("exp"=>500000,"ma"=>104,"ex"=>1,"frs"=>7,"nv"=>500,"nav"=>0,"mum"=>15,"bum"=>5);break;
case 12: 
$arr=array("exp"=>900000,"ma"=>120,"ex"=>1,"frs"=>12,"nv"=>600,"nav"=>1,"mum"=>15,"bum"=>10);break;
case 13: 
$arr=array("exp"=>1600000,"ma"=>136,"ex"=>1,"frs"=>10,"nv"=>600,"nav"=>1,"mum"=>20,"bum"=>15);break;
case 14: 
$arr=array("exp"=>3000000,"ma"=>150,"ex"=>1,"frs"=>12,"nv"=>800,"nav"=>0,"mum"=>12,"bum"=>15);break;
case 15: 
$arr=array("exp"=>10000000,"ma"=>170,"ex"=>1,"frs"=>15,"nv"=>1000,"nav"=>1,"mum"=>15,"bum"=>15);break;
case 16: 
$arr=array("exp"=>25000000,"ma"=>180,"ex"=>1,"frs"=>15,"nv"=>1500,"nav"=>1,"mum"=>25,"bum"=>20);break;
case 17: 
$arr=array("exp"=>50000000,"ma"=>190,"ex"=>1,"frs"=>15,"nv"=>2000,"nav"=>0,"mum"=>25,"bum"=>20);break;
case 18: 
$arr=array("exp"=>80000000,"ma"=>200,"ex"=>1,"frs"=>15,"nv"=>2500,"nav"=>1,"mum"=>25,"bum"=>20);break;
case 19: 
$arr=array("exp"=>160000000,"ma"=>220,"ex"=>1,"frs"=>15,"nv"=>3000,"nav"=>1,"mum"=>15,"bum"=>20);break;
case 20: 
$arr=array("exp"=>500000000,"ma"=>240,"ex"=>1,"frs"=>10,"nv"=>3500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 21: 
$arr=array("exp"=>1200000000,"ma"=>240,"ex"=>1,"frs"=>15,"nv"=>4000,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 22: 
$arr=array("exp"=>1000000000,"ma"=>240,"ex"=>1,"frs"=>20,"nv"=>4500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 23: 
$arr=array("exp"=>2000000000,"ma"=>240,"ex"=>1,"frs"=>25,"nv"=>5500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 24: 
$arr=array("exp"=>4000000000,"ma"=>240,"ex"=>1,"frs"=>20,"nv"=>6500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 25: 
$arr=array("exp"=>5000000000,"ma"=>240,"ex"=>1,"frs"=>30,"nv"=>7500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 26: 
$arr=array("exp"=>6000000000,"ma"=>240,"ex"=>1,"frs"=>35,"nv"=>8500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 27: 
$arr=array("exp"=>7000000000,"ma"=>240,"ex"=>1,"frs"=>40,"nv"=>10500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 28: 
$arr=array("exp"=>8000000000,"ma"=>240,"ex"=>1,"frs"=>45,"nv"=>12500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 29: 
$arr=array("exp"=>9000000000,"ma"=>240,"ex"=>1,"frs"=>50,"nv"=>15500,"nav"=>0,"mum"=>25,"bum"=>10);break;
case 30: 
$arr=array("exp"=>1200000000,"ma"=>240,"ex"=>1,"frs"=>55,"nv"=>17500,"nav"=>0,"mum"=>25,"bum"=>10);break;
}
return 
$arr;
}
function log_write(
$act,$idit,$sum,$to,$ty){
    if(empty(
$ip)){if (getenv('HTTP_X_FORWARDED_FOR')){$ip=getenv('HTTP_X_FORWARDED_FOR');}else{$ip=getenv('REMOTE_ADDR');}}
    
$bro=explode(" ",getenv('HTTP_USER_AGENT'));
    
    db_query('INSERT INTO mlog (action,ip,brouser,id_item,sum,login,tologin,typ) VALUES ('.AP.
$act.AP.','.AP.$ip.AP.','.AP.$bro[0].AP.','.AP.$idit.AP.','.AP.$sum.AP.','.AP.$_SESSION['user'][login].AP.','.AP.$to.AP.','.AP.$ty.AP.');');
}

function pvu_logs(
$uid,$see,$ip,$reason,$dop=NULL){
    mysql_query("
INSERT INTO `pvu_logs` (`uid`,`see`,`time_unix`,`time_norm`,`reason`,`ip`".(($see=='1')?',`Browser`':'')."VALUES ('".$uid."','".$see."','".time()."','".date("Y-m-d H:i:s",time())."','".$reason."','".$ip."'".(($see=='1')?",'".$dop."'":'').");");
}
function locations(
$loc,$pos)
{
$ct = online_now(0);
$time=time()-300;
if(
$loc!=28){
$rooms= mysql_fetch_assoc(mysql_query("SELECT loc.idloc.locloc.roomloc.city FROM loc WHERE id='".$loc."' LIMIT 1;"));
if(
$rooms['room']!=''){$room=",<br>$rooms[room]";}else if($rooms['city']!=""){$city="$rooms[city],<br>";}
$count= mysql_num_rows(mysql_query("SELECT user.iduser.loc FROM user WHERE last >$time AND loc '$loc'"));}
if(
$loc==28){
$rooms= mysql_fetch_assoc(mysql_query("SELECT map.idmap.locmap.name FROM map WHERE coord='".$pos."' LIMIT 1;"));
if(
$rooms['name']!=""){$room=",<br>$rooms[name]";}
if(
$rooms['loc']==''){$city="Природа";}
$count= mysql_num_rows(mysql_query("SELECT user.id FROM user WHERE last >$time AND pos '$pos' AND loc='$loc'"));
}
echo "
<font class=placename><b>$city$rooms[loc]$room</b></font></a> [ $count ] <br><a href=ch.php?lo=1&all=yes><font class=placename><b>Всего</b></a> [ $ct ]</font>";
return 
$count;
}


function ar_rooms()
{$roomsmysql_query("SELECT user.loc, Count(user.Login) AS Count FROM user WHERE (((user.last)>".(time()-299).") AND ((user.loc)='6' Or (user.loc)='7' Or (user.loc)='8' Or (user.loc)='9'  Or (user.loc)='10' Or (user.loc)='11' Or (user.loc)='12' Or (user.loc)='13' Or (user.loc)='14' Or (user.loc)='15')) GROUP BY user.loc ORDER BY user.loc;");
$a['6']=0;$a['7']=0;$a['8']=0;$a['9']=0;$a['10']=0;$a['11']=0;$a['12']=0;$a['13']=0;$a['14']=0;$a['15']=0;
while (
$r mysql_fetch_assoc($rooms)) {
$a[$r['loc']]=$r['Count'];
}echo 
"$a[6],$a[7],$a[8],$a[9],$a[10],$a[11],$a[12],$a[13],$a[14],$a[15]";}

function online(
$login,$pcid)
{//------добавление, обновление online----------------
db_query('UPDATE user SET pcid='.AP.
$pcid.AP.',last='.AP.time().AP.' WHERE login='.AP.$login.AP.'LIMIT 1;');
}
function online_now(
$loc)
{//------количество человек online------
if(
$loc=='0'){$sql "SELECT * FROM user WHERE last >".(time()-300).";";}else{$sql "SELECT user.login FROM user LEFT JOIN loc ON user.loc = loc.id WHERE (((user.loc)='".$loc."') AND ((user.last)>'".(time()-300)."'));";}
$result = mysql_query($sql);
return mysql_num_rows(
$result);
mysql_free_result(
$result);
}
function option(
$pl,$num)
{
$opt= explode('|',$pl);

return 
$opt[$num];
}
function chat(
$login,$str)
{
$chat = player();
if(
$chat['chat']==1){$arr=explode(" ",$str);
for (
$i=0$i<strlen($str); $i++) 
{
$arr[$i]=str_shuffle($arr[$i]);
$res.=$arr[$i]." ";
}return 
$res;}
if(
$chat['chat']==0){return $str;}
if(
$chat['chat']==2){$str='';
return 
$str;}
}

 function save_hp_roun(
$pl){
    
$hps=$pl['hp_all']/$pl['hps'];
    
$mps=$pl['mp_all']/$pl['mps'];
    if(time()>=
$pl['chp']){$curhp=$pl['hp_all'];}else{$curhp=$pl['hp_all']-(($pl['chp']-time())*$hps);}
    if(time()>=
$pl['cmp']){$curmp=$pl['mp_all'];}else{$curmp=$pl['mp_all']-(($pl['cmp']-time())*$mps);}
    
$curhp=round($curhp);$curmp=round($curmp);
    if(
$pl['hp_all']!=$pl['hp'] or $pl['mp_all']!=$pl['mp']){
        mysql_query("
UPDATE `userSET `hp`='".$curhp."',`mp`='".$curmp."' WHERE `login`='".$pl['login']."' LIMIT 1;");
    }
}

function inshp()
{
    
$pl=player();
    
$hps=$pl['hp_all']/$pl['hps'];
    
$mps=$pl['mp_all']/$pl['mps'];
    
$chp=time()+(($pl['hp_all']-$pl['hp'])/$hps);
    
$cmp=time()+(($pl['mp_all']-$pl['mp'])/$mps);
    mysql_query("
UPDATE `userSET `chp`='".$chp."',`cmp`='".$cmp."' WHERE `login`='".$pl['login']."' LIMIT 1;");
}

function inshp2(
$pl)
{
    
$hps=$pl['hp_all']/$pl['hps'];
    
$mps=$pl['mp_all']/$pl['mps'];
    
$chp=time()+(($pl['hp_all']-$pl['hp'])/$hps);
    
$cmp=time()+(($pl['mp_all']-$pl['mp'])/$mps);
    mysql_query("
UPDATE `userSET `chp`='".$chp."',`cmp`='".$cmp."' WHERE `login`='".$pl['login']."' LIMIT 1;");
}

function save_hp(){
    
$pl=player();
    
$hps=$pl['hp_all']/$pl['hps'];
    
$mps=$pl['mp_all']/$pl['mps'];
     if(time()>=
$pl['chp']){$curhp=$pl['hp_all'];}else{$curhp=$pl['hp_all']-(($pl['chp']-time())*$hps);}
     if(time()>=
$pl['cmp']){$curmp=$pl['mp_all'];}else{$curmp=$pl['mp_all']-(($pl['cmp']-time())*$mps);}
     if(
$pl['hp_all']!=$pl['hp'] or $pl['mp_all']!=$pl['mp']){
        mysql_query("
UPDATE `userSET `hp`='".$curhp."',`mp`='".$curmp."' WHERE `login`='".$pl['login']."' LIMIT 1;");
     }
     
$str="<SCRIPT language="JavaScript">n
    ins_HP
($curhp,$pl[hp_all],$curmp,$pl[mp_all],$pl[hps],$pl[mps]); n
    
</SCRIPT>n";
    return 
$str;
}

function calchp(){
    if(empty(
$id)){
        
$pl=player();
    }else{
        
$pl=mysql_fetch_assoc(mysql_query("SELECT FROM `userWHERE `id`='".intval($id)."'"));
    }
    if(
$pl['clan_id']!='none'){
        
$clsql=mysql_fetch_array(mysql_query("SELECT FROM `clansWHERE `clan_id`='".$pl['clan_id']."';"));
        
$uphp+=$clsql['cl_hp'];
        
$upmp+=$clsql['cl_mp'];
    }
    
$s=explode("|",$pl[st]);
    
$trw=affect($pl['id'],3);
    if(!empty(
$trw)){
        foreach (
$trw as $key => $val){
            switch(
$key){
                case'30':
                    
$pl['sila']+=$val;
                break;
                case'31':
                    
$pl['lovk']+=$val;
                break;
                case'32':
                    
$pl['uda4a']+=$val;
                break;
                case'33':
                    
$pl['zdorov']+=$val;
                break;
                case'34':
                    
$pl['znan']+=$val;
                break;
                case'27':
                    
$pl['hp']+=$val;
                break;
                case'29':
                    
$pl['mp']+=$val;
                break;
                default:
                    
$pt[$key]+=$val;
                break;
            }
        }
    }
    foreach (explode("
|",$pl['perk']) as $key => $val){
        if(
$val==''){
            
$val=0;
        }
        
$perk[$key]=$val;
    }
    
    
$hps=$pl['hp_all']/$pl['hps'];
    
$mps=$pl['mp_all']/$pl['mps'];
    
$hp=(($pl['zdorov']+$s[33]+($p[8]*2)+(($pl[level]+1)*$p[18]))*5)+$s[27]+$uphp;
    
$mp=(($pl['znan']+$s[34]+($p[11]*2))*7)+$s[29]+$upmp;
    if(
$hp!=$pl['hp_all'] or $mp!=$pl['mp_all']){
        db_query('UPDATE user SET hp_all='.AP.
$hp.AP.',mp_all='.AP.$mp.AP.' WHERE login='.AP.$_SESSION['user']['login'].AP.'LIMIT 1;');
    }
    inshp();
}
function calchp2(
$pl,$uphp,$upmp)
{
        
$s=explode("|",$pl['st']);
        foreach (explode("
|",$pl[perk]) as $key => $val){if($val==''){$val=0;}$p[$key]=$val;}
        
$hp=(($pl['zdorov']+$s[33]+($p[8]*2)+(($pl['level']+1)*$p[18]))*5)+$s[27]+$uphp;
        
$mp=(($pl['znan']+$s[34]+($p[11]*2))*7)+$s[29]+$upmp;
        if(
$hp!=$pl['hp_all'] or $mp!=$pl['mp_all']){
            mysql_query("
UPDATE `userSET `hp_all`='".$hp."',`mp_all`='".$mp."' WHERE `login`='".$pl['login']."'LIMIT 1;");
        }
        inshp2(
$pl);
}

function calchp3(
$uphp,$upmp)
{
    
$pl=player();
    
$s=explode("|",$pl['st']);
    foreach (explode("
|",$pl[perk]) as $key => $val){if($val==''){$val=0;}$p[$key]=$val;}
    
$hp=(($pl['zdorov']+$s[33]+($p[8]*2)+(($pl['level']+1)*$p[18]))*5)+$s[27]+$uphp;
    
$mp=(($pl['znan']+$s[34]+($p[11]*2))*7)+$s[29]+$upmp;
    if(
$hp!=$pl['hp_all'] or $mp!=$pl['mp_all']){
        mysql_query("
UPDATE `userSET `hp_all`='".$hp."',`mp_all`='".$mp."' WHERE `login`='".$pl['login']."'LIMIT 1;");
    }
    inshp();
}
function change_get(
$go){
    
$player = player();
    
$GoLoc = mysql_fetch_assoc(mysql_query("SELECT FROM `locWHERE `id`='".$go."' LIMIT 1;"));
    
$GoArray = explode("|",$GoLoc['access_go']);
    if(
$GoLoc['go_id'] == $player['loc'] or in_array($player['loc'],$GoArray)){
        mysql_query("
UPDATE `userSET `loc`='".$go."' WHERE `login`='".$_SESSION['user']['login']."' LIMIT 1;");
        echo"
<script>top.frames['ch_list'].location='ch.php?lo=1'</script>";
    }
}
function pl_loc(
$id){
    
$loc= mysql_fetch_assoc(mysql_query("SELECT `id`,`inc`,`core2FROM `locWHERE `id`='".$id."' LIMIT 1;"));
    return 
$loc['core2']?'core2.php':$loc['inc'];
}
function ret_id(
$id,$pos){
    if(
$id!=28){
        
$loc= mysql_fetch_assoc(mysql_query("SELECT `id`,`loc`,`go_id`,`but`,`folderFROM `locWHERE `id`='".$id."' LIMIT 1;"));
    }
    if(
$loc['go_id']==$loc['id']){
        
$s=1;
    }
    
$locte=array($loc['go_id'],$loc['but'],$loc['loc'],$loc['folder'],$s);
    return 
$locte;
}

function gethaot(
$lev)
{
if(
$lev>4 and $lev<8){$level=array(5,7);}else if($lev>7 and $lev<11){$level=array(8,10);}else if($lev>10 and $lev<14){$level=array(11,13);}else{$level=array(14,33);}
return 
$level;
}
function testarena(
$batt)
{$testmysql_query("SELECT user.id FROM user WHERE battle=$batt;");
return 
mysql_num_rows($test);
mysql_free_result($test);
}

function testarena2(
$batt)
{$testmysql_query("SELECT user.id FROM user WHERE battle=$batt and side='2';");
return 
mysql_num_rows($test);
mysql_free_result($test);
}

function sumbat(
$bat,$msg,$type){
$user=$_SESSION['user'];
$result=mysql_query("SELECT user.login FROM user WHERE battle=".$bat.";");
while (
$row = mysql_fetch_assoc($result)) {
if(
$type==1 and $row['login']==$_SESSION['user']['login'])continue;
$log.='<'.$row['login'].'>';}
db_query('INSERT INTO chat (time,login,dlya,msg) VALUES ('.AP.time().AP.','.AP."
sys".AP.','.AP.$log.AP.','.AP.addslashes("$msg").AP.');');
}
function updatebatt(
$id){
    if(testarena2(
$id)==0){
sumbat(
$id,"top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#cc0000>Внимание!</font></b> &nbsp;Заявка не набрана!</font><BR>'+'');$redirect",0);
db_query('DELETE FROM arena WHERE id_battle = '.AP.
$id.AP.';');
db_query('UPDATE user SET battle='.AP."
0".AP.' WHERE battle='.AP.$id.AP);
}else{startbat(
$id,1);sumbat($id,"$redirect",0);}}

function startbat(
$id,$fy,$desc=NULL){
    save_hp_all(
$id);
    
$log=',[[0,"'.date("H:i").'"],"Бой между "';
    
$pl= mysql_query("SELECT `side`,`battle`,`level`,`sklon`,`clan_gif`,`login`,`invisible`,`id`,`hp`,`mpFROM `userWHERE `battle`='".$id."';");
    while (
$val = mysql_fetch_assoc($pl)) {
        if(
$val['side']==1){
            if(
$val['invisible']<time()){
                
$log.=",[1,$val[side],"$val[login]",$val[level],$val[sklon],"$val[clan_gif]"],","";
            }else{    
                
$log.=",[4,$val[side]],","";            
            }
        }else{
            if(
$val['invisible']<time()){
                
$log2.=",[1,$val[side],"$val[login]",$val[level],$val[sklon],"$val[clan_gif]"],","";
            }else{    
                
$log2.=",[4,$val[side]],","";            
            }
        }
        mysql_query("
INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`fight`,`side`) VALUES ('".$val['id']."','".$val['hp']."','".$val['mp']."','".$id."','".$fy."','".$val['side']."');");
    }
    
$log=substr_replace($log, '', -3);
    
$log2=substr_replace($log2, '', -3);
    
$log.="" и "$log2" начался."]";
    savelog(
$log,$id);
    db_query('UPDATE arena SET vis="
0", t2='.AP.time().AP.' WHERE id_battle ='.AP.$id.AP.'LIMIT 1;');
    db_query('UPDATE user SET fight='.AP.
$fy.AP.' WHERE battle='.AP.$id.AP);
}

function save_hp_all(
$id){
$app= mysql_query("SELECT user.iduser.battleuser.hp_alluser.mp_alluser.hpsuser.mpsuser.chpuser.cmpuser.hpuser.mp FROM user WHERE battle=$id;");
while (
$pl = mysql_fetch_assoc($app)) {
$hps=$pl['hp_all']/$pl['hps'];
$mps=$pl['mp_all']/$pl['mps'];
 if(time()>=
$pl['chp']){$curhp=$pl['hp_all'];}else{$curhp=$pl['hp_all']-(($pl['chp']-time())*$hps);}
 if(time()>=
$pl['cmp']){$curmp=$pl['mp_all'];}else{$curmp=$pl['mp_all']-(($pl['cmp']-time())*$mps);}
if(
$pl['hp_all']!=$pl['hp'] or $pl['mp_all']!=$pl['mp']){db_query('UPDATE user SET hp='.AP.$curhp.AP.', mp='.AP.$curmp.AP.' WHERE id='.AP.$pl['id'].AP.' LIMIT 1;');}}}


 
function botslot(
$id)
{
$sl = array(1 => 'sl_l_0.gif:Слот для шлема', 'sl_l_1.gif:Слот для ожерелья', 'sl_l_2.gif:Слот для оружия', 'sl_l_3.gif:Слот для пояса', 'sl_l_4.gif:Слот для содержимого пояса', 'sl_l_4.gif:Слот для содержимого пояса', 'sl_l_4.gif:Слот для содержимого пояса', 'sl_l_5.gif:Слот для сапог', 'sl_r_0.gif:Слот для кармана', 'sl_r_1.gif:Слот для содержимого кармана', 'sl_r_2.gif:Слот для наручей', 'sl_r_3.gif:Слот для перчаток', 'sl_l_2.gif:Слот для оружия/щита', 'sl_r_5.gif:Слот для кольца', 'sl_r_5.gif:Слот для кольца', 'sl_r_6.gif:Слот для брони', 'sl_r_6.gif:Слот для брони');
db_query("
SELECT `invent`.*, `items`.* FROM `itemsINNER JOIN `inventON `items`.`id` = `invent`.`protypeWHERE `used`='1' AND `pl_id`='".$id."';");
while (
$row = db_fetch()) {
$it = explode("|",$row['i_param']);
if(
$row[slot]==5){$ret.="$row[id_item]@$row[num_a]|";}
$par='';
foreach (
$it as $value) {
$stat=explode("@",$value);
switch(
$stat[0]){
case 0: 
$par[0]="$stat[1]"; break;
case 1: 
$ud=explode("-",$stat[1]);
$par[1]="$ud[0]";
$par[2]="$ud[1]";
break;
case 2: 
$par[7]=$row['dolg'];break;
case 9: 
$par[3]="$stat[1]";break;
case 10: 
$par[4]="$stat[1]";break;
case 27: 
$par[5]="$stat[1]";break;
case 29: 
$par[6]="$stat[1]";break;}
}
$p="$par[0]|$par[1]|$par[2]|$par[3]|$par[4]|$par[5]|$par[6]|$par[7]";
$sl_free[$row['curslot']]="$row[gif]:$row[name]:$p";
$sl_id[$row['curslot']]=$row['id_item'];
$sl_pr[$row['curslot']]=$row['dolg']-$row['iznos'];
$v_c[$row['curslot']]=scode();
}
for(
$i=1; $i<=15; $i++){
$idd.=$sl_id[$i].'@';
$pr .= $sl_pr[$i].'@';
$item .= $sl_free[$i].'@';
$vcod.=$v_c[$i].'@';}

if(
$sl_free[16]!='sl_r_6.gif:Слот для брони'){$pr .= $sl_pr[16]; $item .= $sl_free[16]; $idd .= $sl_id[16];$vcod.=scode();}elseif($sl_free[17]!='sl_r_6.gif:Слот для брони'){$pr .= $sl_pr[17]; $item .= $sl_free[17]; $idd .= $sl_id[17];$vcod.=scode();}else{$item .= $sl_free[17];}

if(
$s==1){$invs=","$idd","$vcod"";}
echo "
$item"$invs,"$pr";
return substr_replace(
$ret, '', -1);
}

function slotwiev(
$id,$s)
{
$sl_free = array(1 => 'sl_l_0.gif:Слот для шлема', 'sl_l_1.gif:Слот для ожерелья', 'sl_l_2.gif:Слот для оружия', 'sl_l_3.gif:Слот для пояса', 'sl_l_4.gif:Слот для содержимого пояса', 'sl_l_4.gif:Слот для содержимого пояса', 'sl_l_4.gif:Слот для содержимого пояса', 'sl_l_5.gif:Слот для сапог', 'sl_r_0.gif:Слот для кармана', 'sl_r_1.gif:Слот для содержимого кармана', 'sl_r_2.gif:Слот для наручей', 'sl_r_3.gif:Слот для перчаток', 'sl_l_2.gif:Слот для оружия/щита', 'sl_r_5.gif:Слот для кольца', 'sl_r_5.gif:Слот для кольца', 'sl_r_6.gif:Слот для брони', 'sl_r_6.gif:Слот для брони');
db_query('SELECT invent.*, items.* FROM items INNER JOIN invent ON items.id = invent.protype WHERE used='.AP.'1'.AP.' and pl_id='.AP.
$id.AP.'');
while (
$row = db_fetch()) {
$it = explode("|",$row['i_param']);
$modstat='';
$mod=explode("|",$row['mod']);
foreach (
$mod as $value){
    
$modstats=explode("@",$value);
    
$modstat[$modstats[0]]=$modstats[1];
}
if(
$row[slot]==5){$ret.="$row[id_item]@$row[num_a]|";}
$par='';
foreach (
$it as $value) {
$stat=explode("@",$value);
switch(
$stat[0]){
    case 0: 
$par[0]="$stat[1]"; break;
    case 1:
    
$ud=explode("-",$stat[1]);
    
$tmp='';
    if(
$modstat[1]!=''){
        
$tmp=explode("-",$modstat[1]);
    }
    
$par[1]=$ud[0]+$tmp[0];
    
$par[2]=$ud[1]+$tmp[1];
    break;
    case 2: 
$par[7]=$row['dolg'];break;
    case 9: 
    
$par[3]=$stat[1]+$modstat[9];
    break;
    case 10: 
$par[4]="$stat[1]";break;
    case 27: 
$par[5]="$stat[1]";break;
    case 29: 
$par[6]="$stat[1]";break;
}
}
switch(
$row['mod_color']){
    case 0: 
$rnn="<b>".$row[name].($row['modified']==1 ? "</b> [ап]" : "")."</b>"; break;
    case 1: 
$rnn="<b><font color=#006600>".$row[ItemName]." [мод]".($row['modified']==1 ? "</b> [ап]" : "")."</b></font>"; break;
    
case 2$rnn="<b><font color=#3333CC>".$row[ItemName]." [мод]".($row['modified']=="</b> [ап]" "")."</b></font>"; break;
    case 
3$rnn="<b><font color=#AF51B5>".$row[ItemName]." [мод]".($row['modified']=="</b> [ап]" "")."</b></font>"; break;
}
$p="$par[0]|$par[1]|$par[2]|$par[3]|$par[4]|$par[5]|$par[6]|$par[7]";
$sl_free[$row['curslot']]=$row[gif].":".$rnn.":".$p;
$sl_id[$row['curslot']]=$row['id_item'];
$sl_pr[$row['curslot']]=$row['dolg']-$row['iznos'];
$v_c[$row['curslot']]=scode();
}
for(
$i=1$i<=15$i++){
    
$idd.=$sl_id[$i].'@';
    
$pr .= $sl_pr[$i].'@';
    
$item .= $sl_free[$i].'@';
    
$vcod.=$v_c[$i].'@';
}

if(
$sl_free[16]!='sl_r_6.gif:Слот для брони'){$pr .= $sl_pr[16].'@'$item .= $sl_free[16].'@'$idd .= $sl_id[16].'@';$vcod.=$v_c[16].'@';}
elseif(
$sl_free[17]!='sl_r_6.gif:Слот для брони'){$pr .= $sl_pr[17].'@'$item .= $sl_free[17].'@'$idd .= $sl_id[17].'@';$vcod.=$v_c[17].'@';}else{$item .= $sl_free[17].'@';}
$pr .= $sl_pr[18].'@'$item .= $sl_free[18].'@'$idd .= $sl_id[18].'@';$vcod.=$v_c[18].'@';
$pr .= $sl_pr[19]; $item .= $sl_free[19]; $idd .= $sl_id[19];$vcod.=$v_c[19];



if(
$s==1){$invs=","$idd","$vcod"";}
echo 
"$item"$invs,"$pr";
return 
substr_replace($ret'', -1);
}
function 
ignor_add($nic){
    
$_SESSION['ignor'][$nic]=1;
}
function 
ignor_rem($nic){
    unset(
$_SESSION['ignor'][$nic]);
}

function 
updateslot($act,$item,$pid,$slot)
{

switch(
$act){
case 
0mysql_query("UPDATE invent SET used='0', curslot='0' WHERE id_item='$item' and pl_id='$pid'");break;
case 
1mysql_query("UPDATE invent SET used='1', curslot='$slot' WHERE id_item='$item' and pl_id='$pid';");break;
case 
2mysql_query("UPDATE invent SET used='0', curslot='0' WHERE curslot='$slot' and pl_id='$pid'");mysql_query("UPDATE invent SET used='1', curslot='$slot' WHERE id_item='$item' and pl_id='$pid'");break;
case 
3db_query('UPDATE invent SET used=0, curslot=0 WHERE  pl_id='.AP.$pid.AP.'');break;}
}

function 
calcstat($id){
$pl=mysql_fetch_array(mysql_query("SELECT SQL_CACHE * FROM `user` WHERE `id`='".$id."' LIMIT 1;"));
$um=explode("|",$pl['umen']);
$t=array(0=> 0,2,4);
$od=45;
$bl=0;
$mysql=mysql_query("SELECT `invent`.*, `items`.* FROM `items` INNER JOIN `invent` ON `items`.`id` = `invent`.`protype` WHERE `used`='1' AND `pl_id`='".$id."';");
while (
$row mysql_fetch_array($mysql)) {
$modstat='';
$item explode("|",$row['i_param']);
$mod=explode("|",$row['mod']);
foreach (
$mod as $value){
    
$modstats=explode("@",$value);
    
$modstat[$modstats[0]]=$modstats[1];
}
if(
$row['type']=='w20'){$bl=$row['block'];$tw=$row['type'];}
if(
$row['slot']>and $row['type']!='w20'){
    
$it explode("|",$row['i_need']);
    foreach (
$it as $val) {
        
$need=explode("@",$val);
        if(
$need[0]==28 and $need[1]>$od){
            
$od=$need[1];
            
$tw=$row['type'];
        }
    }
}
    foreach (
$item as $value) {
        
$k=1;
        
$stat=explode("@",$value);
        if(
in_array ($stat[0], $t)){$par[$stat[0]]='';continue;}
        if(
$stat[0]==1){
            
$tmp=explode("-",$stat[1]);
            switch(
$tw){
                case 
w1$k=($um[10]/300+$um[1]/150)+1;break;
                case 
w2$k=($um[10]/300+$um[2]/150)+1;break;
                case 
w3$k=($um[10]/300+$um[3]/150)+1;break;
                case 
w4$k=($um[10]/300+$um[4]/150)+1;break;
                case 
w5$k=($um[10]/300+$um[5]/150)+1;break;
                case 
w6$k=($um[10]/300+$um[6]/150)+1;break;
                case 
w7$k=($um[10]/300+$um[7]/150)+1;break;
                case 
w20$k=$um[10]/300+1;break;
            }
            
$tmp[0]=round($tmp[0]*$k);$tmp[1]=round($tmp[1]*$k);
            
$tmp1=explode("-",$par[1]);
            
$modstat[1]!='' $tmp2=explode("-",$modstat[1]) : $tmp2='';
            
$tmp[0]+=$tmp1[0]+$tmp2[0];$tmp[1]+=$tmp1[1]+$tmp2[1]; continue;
        }
        
$par[1]=implode("-",$tmp);
        
$par[$stat[0]]+=($stat[1]+$modstat[$stat[0]]);
    }
    if(
$row['damage_mod']!=0){
        
$dmod=explode("@",$row['damage_mod']);
        
$dmoddmg=explode("-",$dmod[1]);
        
$damage_mod[$dmod[0]][0]+=$dmoddmg[0]; 
        
$damage_mod[$dmod[0]][1]+=$dmoddmg[1]; 
    }
}
for(
$dm=1;$dm<=4;$dm++){
    
$moddmg[$dm]=implode("-",$damage_mod[$dm]);
    
$dmgmod.=(($damage_mod[$dm]=='')?'':$dm."@".$moddmg[$dm]."|");
}
if(
$dmgmod==''){$dmgmod=0;}
$sil=$par[30]+$pl['sila'];
    
$dmg=explode("-",$par[1]);
    
$dmg[0]+=$sil;
    
$dmg[1]+=$sil*1.5;$par[1]=implode("-",$dmg);
switch(
$tw){
    case 
''$od=45;$od=round($od/(($um[0]/100+$um[10]/200)*0.15+1));$par[1]=round($sil*(1+$um[0]/300))."-".round($sil*(1+$um[0]/150)+1); break;
    case 
w1$od=round($od/(($um[1]/100+$um[10]/200)*0.15+1));break;
    case 
w2$od=round($od/(($um[2]/100+$um[10]/200)*0.15+1));break;
    case 
w3$od=round($od/(($um[3]/100+$um[10]/200)*0.15+1));break;
    case 
w4$od=round($od/(($um[4]/100+$um[10]/200)*0.15+1));break;
    case 
w5$od=round($od/(($um[5]/100+$um[10]/200)*0.15+1));break;
    case 
w6$od=round($od/(($um[6]/100+$um[10]/200)*0.15+1));break;
    case 
w7$od=round($od/(($um[7]/100+$um[10]/200)*0.15+1));break;
}
        if(
$pl['type']!=3){
    
$buff=totembuffs();
//    $totembuff = Array('9@0'/*сфинкс +100кб*/,'63@0'/*тигр +50 оружейника*/,'58@0'/*лев +50 странника*/,'invis@0'/*дракон невидимость*/,'attack@0'/*василиск нападение*/,'32@5'/*скорпион +10 удача +50% уловки*/,'31@6'/*рыба  +10 ловкости +50% точности*/,'61@0'/*мутант +50 ювы*/,'mass@30'/*небесный кит +15 силы и +150 массы*/,'56@0'/*древний ящер +50 наблюд*/,'7@8'/*ворон смерти +50 мф сокрушения и стойкости*/,'exp@0'/*клинки 20% экспы на час*/);                                        
    
if($buff==1){
        switch(
$pl['thotem']){
            case 
0$par[9]+=100; break;        
            case 
1$par[63]+=50; break;
            case 
2$par[58]+=50; break;
            case 
3: break;
            case 
4: break;
            case 
5$par[32]+=10$par[5]+=50; break;
            case 
6$par[31]+=10$par[6]+=50; break;
            case 
7$par[61]+=50; break; 
            case 
8$par[30]+=15; break;
            case 
9$par[56]+=50; break;
            case 
10$par[7]+=50$par[8]+=50; break;
            case 
11: break;
        }
    }
        }
        
$hps=(1500/(($par[62]+$um[30])/100+1));
$mps=(9000/(($par[66]+$um[33])/100+1));
$clnablud=0;
    if(
$pl['clan_id']!='none'){
        
$clsql=mysql_fetch_array(mysql_query("SELECT * FROM `clans` WHERE `clan_id`='".$pl['clan_id']."';"));
        
$par[30]+=$clsql['cl_sila'];
        
$par[31]+=$clsql['cl_lovkost'];
        
$par[32]+=$clsql['cl_ydacha'];
        
$par[33]+=$clsql['cl_zdorov'];
        
$par[34]+=$clsql['cl_znan'];
        
$uphp+=$clsql['cl_hp'];
        
$upmp+=$clsql['cl_mp'];
        
$clnablud=100-$clsql['cl_up']-$clsql['cl_buyup'];        
    }
    for(
$i=0;$i<=71;$i++){
        
$st.="$par[$i]|";
    }

$rank_i = ($par[30]+$par[31]+$$par[32]+$par[33]+$par[34]+$par[35]+$par[9])*0.3 + ($par[5]+$par[6]+$par[7]+$par[8]+$par[10])*0.03 + ($pl["hp_all"]+$pl["mp_all"])*0.04+(round($sil*(1+$um[0]/300))+round($sil*(1+$um[0]/150)+1))*0.3;
    
mysql_query("UPDATE `user` SET `damage_mods`='".$dmgmod."',`bl`='".$bl."',`od`='".$od."',`st`='".$st."',`hps`='".$hps."',`mps`='".$mps."',`rank_i`='".$rank_i."' WHERE `id`='".$id."' LIMIT 1;");
if(
$uphp>or $upmp>0){calchp3($uphp,$upmp);}
else{
calchp();}
}
function 
allparam($pl){
    
$pt=explode("|",$pl['st']);
    
$um=explode("|",$pl['umen']);
    
$mass=mysql_fetch_assoc(mysql_query("SELECT Sum(`items`.`massa`) AS `mass` ,`invent`.`pl_id`,`invent`.`bank` FROM `items` INNER JOIN `invent` ON `items`.`id` = `invent`.`protype` WHERE `pl_id`='".$pl['id']."' AND `invent`.`bank`='0' AND `invent`.`auction`='0';"));
    
$trw=affect($pl['affect'],3);
    if(!empty(
$trw)){
        foreach (
$trw as $key => $val){
            switch(
$key){
                case
'30':
                    
$pl['sila']+=$val;
                break;
                case
'31':
                    
$pl['lovk']+=$val;
                break;
                case
'32':
                    
$pl['uda4a']+=$val;
                break;
                case
'33':
                    
$pl['zdorov']+=$val;
                break;
                case
'34':
                    
$pl['znan']+=$val;
                break;
                case
'27':
                    
$pl['hp']+=$val;
                break;
                case
'29':
                    
$pl['mp']+=$val;
                break;
                default:
                    
$pt[$key]+=$val;
                break;
            }
        }
    }
    foreach (
explode("|",$pl['perk']) as $key => $val){
        if(
$val==''){
            
$val=0;
        }
        
$perk[$key]=$val;
    }
    
$pt[30]+=($pl['sila'])+($perk[7]*2);
    
$pt[31]+=($pl['lovk'])+($perk[9]*2);
    
$pt[32]+=($pl['uda4a'])+($perk[10]*2);
    
$pt[33]+=($pl['zdorov'])+($perk[8]*2);
    
$pt[34]+=($pl['znan'])+($perk[11]*2);
    
$pt[35]+=($pl['mudr']);
    for(
$i=30;$i<=35;$i++){
        if(
$pt[$i]<0)$pt[$i]=1;
    }
    if(
$pl['level']<5){
        
$od=80;
    }else if(
$pl['level']<10){
        
$od=90;
    }else{
        
$od=100;
    }

$pt[5]+=$perk[19]*30;
$pt[6]+=$perk[0]*30;
$pt[7]+=$perk[5]*30;
$pt[8]+=$perk[15]*30;
$pt[9]+=$perk[32]*30;
    
//$pt[10]+=$pl[10]+($perk[19]*30);
if($pl['level']<5){$od=80;}else if($pl['level']<10){$od=90;}else $od=100;
$pt[28]=$od+$um[11]+$pt[28];
$pt[36]+=$um[1];
$pt[37]+=$um[2];
$pt[38]+=$um[3];
$pt[39]+=$um[4];
$pt[40]+=$um[5];
$pt[41]+=$um[6];
$pt[42]+=$um[7];
$pt[43]+=$um[8];
$pt[44]+=$um[9];
$pt[45]+=$um[12]+($perk[27]*25);
$pt[46]+=$um[13]+($perk[24]*25);//магия огня и воды
$pt[49]+=$um[16]+($perk[28]*25);
$pt[50]+=$um[17]+($perk[29]*25);//сопротивление магии огня и воды
$pt[53]+=$um[21];
$pt[54]+=$um[22];
$pt[55]+=$um[23];
$pt[56]+=$um[24];
$pt[57]+=$um[25];
$pt[58]+=$um[26];
$pt[59]+=$pl['fish_skill'];
$pt[60]+=$pl['les'];
$pt[61]+=$um[29];
$pt[62]+=$um[30];
$pt[63]+=$um[31];
$pt[64]+=$um[32];
$pt[65]+=$pl['shaht'];
$pt[66]+=$um[33];
$pt[68]+=$pl['alhim'];
$pt[69]+=$pl['ohotnik'];
$pt[70]+=$pl['trav'];
$pt[72]=$pl['level'];
$pt[73]=$pt[71];
$pt[71]=$mass['mass'];
$pt[99]=$um[20];
$pt[101]=0;
$pt[102]=0;
$pt[103]=0;
$pt[104]=0;
if(
$pl['damage_mods']!=0){
    
$mods=explode("|",$pl['damage_mods']);
    foreach(
$mods as $mval){
        if(
$mval!=''){
            
$mod=explode("@",$mval);
            
$pt[$mod[0]+100]=$mod[1];
        }
    }
}
    return 
$pt;
}
function 
sqlrr($q,$count=0)
{
    if (empty(
$count)) return mysql_result(mysql_query($q),0);
    else
    return 
mysql_result(mysql_query($q),$count);
}
function 
used($id,$login,$loc){
    
$user=$_SESSION['user'];
    
$pl=mysql_fetch_assoc(mysql_query("SELECT * FROM user WHERE login='$login'"));
    if(
$pl==''){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Персонажа "$login" несуществует!</font></font></b><br>";
    }else if(
$pl[last]<(time()-300)){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Персонажа "$login" нет в игре!</font></font></b><br>";
    }else if(
$loc!=$pl[loc]){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Персонажа "$login" нет в этой локации!</font></font></b><br>";
    }else if(
$pl[fight]>0){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Неудачно! Персонаж "$login" в бою!</font></font></b><br>";
    }else{
        
$it=mysql_fetch_assoc(mysql_query("SELECT invent.*, items.* FROM items INNER JOIN invent ON items.id = invent.protype WHERE id_item='$id'"));
        switch (
$it[num_a]) {
            case 
32:
                
$pl[hp]+=$it[effect];
                
$msg[0]="Зелье Восстановления $it[effect] HP";
            break;
            case 
33:
                
$pl[mp]+=$it[effect];
                
$msg[0]="Зелье Восстановления $it[effect] MP";
            break;
        }
        if(
$pl[hp]>$pl[hp_all]){
            
$pl[hp]=$pl[hp_all];
        }
        if(
$pl[mp]>$pl[mp_all]){
            
$pl[mp]=$pl[mp_all];
        }
        
//---пересчет восстановления
        
$hps=$pl['hp_all']/$pl['hps'];
        
$mps=$pl['mp_all']/$pl['mps'];
        
$chp=time()+(($pl['hp_all']-$pl['hp'])/$hps);
        
$cmp=time()+(($pl['mp_all']-$pl['mp'])/$mps);
        
//-----------------
        
if($_SESSION['user']['login']!=$login){
            
$ms="top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#cc0000>Внимание!</font></b> &nbsp;Персонаж <b>".$_SESSION['user']['login']."</b>  пременил к вам <b>"$it[name]".</b></font><BR>'+'');";
            
chmsg($ms,$login);
        }
        
db_query('UPDATE user SET hp='.AP.$pl[hp].AP.', mp='.AP.$pl[mp].AP.', chp='.AP.$chp.AP.', cmp='.AP.$cmp.AP.' WHERE id='.AP.$pl[id].AP.'LIMIT 1;');
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Вы удачно применили "$msg[0]"!</font></font></b><br>";
        
it_break($id);
    }
    return 
$msg;
}
function 
it_break($id){
    
$it mysql_fetch_assoc(mysql_query("SELECT `invent`.`iznos`,`invent`.`dolg`,`items`.`acte` FROM `items` INNER JOIN `invent` ON `items`.`id` = `invent`.`protype` WHERE `id_item`='".$id."'"));
    
$it['iznos']+=1;
    if(
$it['acte']!='' and $it['iznos'] == $it['dolg']){
        
mysql_query("DELETE FROM `invent` WHERE `id_item`='".$id."' LIMIT 1;");
    }else{
        
mysql_query("UPDATE `invent` SET `iznos`='".$it['iznos']."' WHERE `id_item`='".$id."' LIMIT 1;");
    }
}
function 
Guild_Logs($uid,$see,$reason){
    
mysql_query("INSERT INTO `pvu_logs` (`uid`, `see`, `time_unix`, `time_norm`,`reason`) VALUES ('".$uid."', '".$see."', '".time()."', '".date("Y-m-d H:i:s",time())."','".$reason."');");    
}
function 
transfer($id,$login,$loc,$name,$transferer,$sum,$player,$ttext NULL){
 global 
$player;
 
$login=chars($login);
 
$pl=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `login`='$login'"));
 if(
$pl==''){
  
$msg['msg']="<b><font class=nickname><font color=#cc0000>Персонажа &quot;".$login."&quot; несуществует!</font></font></b><br>";
 }else if(
$pl['last']<(time()-300)){
  
$msg['msg']="<b><font class=nickname><font color=#cc0000>Персонажа &quot;".$pl['login']."&quot; нет в игре!</font></font></b><br>";
 }else if(
$player['loc']!=$pl['loc'] or $player['pos']!=$pl['pos']){
  
$msg['msg']="<b><font class=nickname><font color=#cc0000>Персонажа &quot;".$pl['login']."&quot; нет в этой локации!</font></font></b><br>";
 }else if(
$pl['fight']>0){
  
$msg['msg']="<b><font class=nickname><font color=#cc0000>Неудачно! Персонаж &quot;".$pl['login']."&quot; в бою!</font></font></b><br>";
 }else{
  if(
$id!=0){
   
$GetItem mysql_fetch_assoc(mysql_query("SELECT `invent`.*,`items`.* FROM `items` INNER JOIN `invent` ON `items`.`id` = `invent`.`protype` WHERE `id_item`='".$id."' AND `pl_id`='".$player['id']."'"));
   if(
$GetItem){
    
mysql_query("UPDATE `invent` SET `pl_id` = '".$pl['id']."' WHERE `id_item` = '".intval($id)."'LIMIT 1;");
    
Guild_Logs($player['id'],"4","|0|".getIP()."|".$pl['ip']."|".$pl['level']."|".$pl['login']."|".$GetItem['level']."|".$GetItem['price']."|".($GetItem['dolg']-$GetItem['iznos'])."|".$GetItem['dolg']."|0|".$GetItem['name']);
    
Guild_Logs($pl['id'],"4","|1|".$pl['ip']."|".getIP()."|".$player['level']."|".$player['login']."|".$GetItem['level']."|".$GetItem['price']."|".($GetItem['dolg']-$GetItem['iznos'])."|".$GetItem['dolg']."|0|".$GetItem['name']);
    
$msg['msg']="<b><font class=nickname><font color=#cc0000>Вы удачно передали &quot;".$name."&quot;!</font></font></b><br>";
    
$ms="top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#cc0000>Внимание!</font></b>&nbsp;Персонаж <b>".$player['login']."</b> передал вам &quot;<b>".$name."</b>&quot;.</font><BR>'+'');";
   }
  }else{
   if(
$pl['level']<5){
    
$msg['msg']="<b><font class=nickname><font color=#cc0000>Игровую валюту можно передовать только персонажам достигшим 5 уровень!</font></font></b><br>";
   }else if(
$player['nv']<$sum){
    
$msg['msg']="<b><font class=nickname><font color=#cc0000>У вас недостаточно средств</font></font></b><br>";
   }else{
    
$msg['msg']="<b><font class=nickname><font color=#cc0000>Вы удачно передали <b>$sum ER.</b>!</font></font></b><br>";
    
mysql_query("UPDATE `user` SET `nv`=`nv`+'".$sum."' WHERE `id`='".$pl['id']."' LIMIT 1;");
    
mysql_query("UPDATE `user` SET `nv`=`nv`-'".$sum."' WHERE `login`='".$player['login']."' LIMIT 1;");
    
chmsg("top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#cc0000>Внимание!</font></b> &nbsp;Вы удачно передали "<b>Игровую валюту</b>" в размере <b>$sum</b> ER персонажу <b>".$login."</b>.</font><BR>'+'');",$transferer);
    
$ms="top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#cc0000>Внимание!</font></b> &nbsp;Персонаж <b>$transferer</b> передал вам "<b>$name</b>" в размере <b>$sum ER.</b></font><BR>'+'');";
    
Guild_Logs($player['id'],"2","|0|".getIP()."|".$pl['ip']."|".$pl['level']."|".$pl['login']."|".$sum."|0|".$ttext);
    
Guild_Logs($pl['id'],"2","|1|".$pl['ip']."|".getIP()."|".$player['level']."|".$player['login']."|".$sum."|0|".$ttext);

   }
  }
  
chmsg($ms,$login);
 }
return 
$msg;
}
function 
gift($id,$login,$loc,$name,$gifter,$sum){
    
$login=chars($login);
    
$pl=mysql_fetch_assoc(mysql_query("SELECT * FROM user WHERE login='$login'"));
    if(
$pl==''){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Персонажа "$login" несуществует!</font></font></b><br>";
    }else if(
$pl[last]<(time()-300)){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Персонажа "$login" нет в игре!</font></font></b><br>";
    }else if(
$loc!=$pl[loc]){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Персонажа "$login" нет в этой локации!</font></font></b><br>";
    }else if(
$pl[fight]>0){
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Неудачно! Персонаж "$login" в бою!</font></font></b><br>";
    }else{
        
$gift="Подарок от &quot;$gifter&quot;";
        
db_query('UPDATE invent SET pl_id='.AP.$pl[id].AP.', gift='.AP.$gift.AP.' WHERE id_item='.AP.$id.AP.'LIMIT 1;');
        
$msg[msg]="<b><font class=nickname><font color=#cc0000>Вы подарили "$name" для $login!</font></font></b><br>";
        
log_write("present",$name,$sum,$login);
        
$ms="top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#cc0000>Внимание!</font></b> &nbsp;Получен подарок <b>"$name"</b> от <b>$gifter.</b></font><BR>'+'');";
        
chmsg($ms,$login);
    }
    return 
$msg;
}
function 
chmsg($msg,$login){
    
mysql_query("INSERT INTO `chat` (`time`,`login`,`dlya`,`msg`) VALUES ('".time()."','sys','".(($login)?'<'.$login.'>':'')."','".addslashes($msg)."');");
}

function 
testcompl(){
    
$pl=player();
    
$st=allparam($pl);
    
db_query('SELECT invent.*, items.* FROM items INNER JOIN invent ON items.id = invent.protype WHERE used='.AP.'1'.AP.' and pl_id='.AP.$pl[id].AP.' ORDER BY slot');
    while(
$row db_fetch()) {
        
$it explode("|",$row['i_need']);
        if(
$row['slot']==5){
            
$el+=1;
        }
        if(
$row[slot]==and $el>$st[3]){
            
updateslot(0,$row['id_item'],$pl['id'],0);
            continue;
        }
        foreach (
$it as $value){
            
$stat=explode("@",$value);
            if(
$stat[0]==72){
                
$stat[1] = $row['level'];
            }
            if(
$st[$stat[0]]<$stat[1]){
                if(
$row['slot']==4){
                    
$st[3]=0;
                }
                
$s[]="id_item='".$row['id_item']."'";
            }
        }
    }
    if(
$s!=''){
        
$s=implode(" or ",$s);
        
mysql_query("UPDATE invent SET used='0', curslot='0' WHERE $s and pl_id='$pl[id]'");
        
calcstat($pl['id']);
        
testcompl();
    }
    if(
$pl['fight']==0){
        
save_hp();
    }
    
calchp();
}
function 
affect($UserID,$var){
    
/* DataBase */
    
$effects = array('','Боевая травма','Тяжелая травма','Средняя травма','Легкая травма','Излечение','','','Темное проклятие','Благословение ангела','Магическое зеркало','Берсеркер','Милосердие Создателя','Алкогольное опьянение','Свиток Покровительства','Блок','Тюрьма','Молчанка','Форумная молчанка','Свиток Неизбежности','Зелье Колкости','Зелье Загрубелой Кожи','Зелье Просветления','Зелье Гения','Яд','Зелье Иммунитета','Зелье Силы','Зелье Защиты От Ожогов','Зелье Арктических Вьюг','Зелье Жизни','Зелье Сокрушительных Ударов','Зелье Стойкости','Зелье Недосягаемости','Зелье Точного Попадания','Зелье Ловкости','Зелье Удачи','Зелье Огненного Ореола','Зелье Метаболизма','Зелье Медитации','Зелье Громоотвода','Зелье Сильной Спины','Зелье Скорбь Лешего','Зелье Боевой Славы','Зелье Ловких Ударов','Зелье Спокойствия','Зелье Мужества','Зелье Человек-Гора','Зелье Секрет Волшебника','Зелье Инквизитора','Зелье Панциря','','Секретное Зелье','Зелье Скорости','Зелье Соколиный Взор','Зелье Подвижности','Фронтовые 100 грамм','','','','','','','','','','','','','','','Зелье Кровожадности','Зелье Быстроты','Свиток Величия','Свиток Каменной кожи','Слеза Создателя','Гнев Локара','Дар Иланы','Новогодний бонус','Эликсир из Подснежника','Молодильное яблочко','Благословение Иланы','День всех влюбленных','Галантный кавалер');
    
/* Effects Show */
    
$Query mysql_query("SELECT * FROM `effects` WHERE `userid`='".$UserID."' AND `time`>'".time()."' ORDER BY `time` DESC");
    while(
$row mysql_fetch_assoc($Query)){
        
        
/* Вычесляем время */
        
if($row['time']>time()){
            
$row['time']-=time();
            
$ch=floor($row['time']/3600);
            
$min=floor(($row['time']-($ch*3600))/60);
            
$sec=floor(($row['time']-($ch*3600))%60);
            if(
$var==0){
                
$row['time']=$ch."ч ".$min."мин ";
            }elseif(
$var==1){
                
$row['time']=(($ch<10)?'0'.$ch:$ch).":".(($min<10)?'0'.$min:$min).":".(($sec<10)?'0'.$sec:$sec);
            }
        }
        
        
/* Считаем статы */
        
$params=explode(";",$row['f_params']);
        foreach (
$params as $f_params){
            
$sts=explode("/",$f_params);
            
$stat[$sts[0]]+=$sts[1];
        }
        
        
/* Колество травм на вывод, допустим (x2) */
        
$Effect[$row['eff_id']] += 1;
        
        
/* Подсчет и написание текстов */
        
if($var==and $effects[$row['eff_id']] != '' and $Effect[$row['eff_id']] == 1){
            
$CountEff mysql_num_rows(mysql_query("SELECT * FROM `effects` WHERE `userid`='".$UserID."' AND `time`>'".time()."' AND `eff_id`='".$row['eff_id']."' ORDER BY `time` DESC"));
            
$s.="[".$row['eff_id'].",'<b>".$effects[$row['eff_id']]."</b> (x".$CountEff.") (еще ".$row['time'].")'],";
        }
        if(
$var==and !empty($effects[$row['eff_id']])){
            
$s.= $effects[$row['eff_id']]." еще ".$row['time'].",";
        }
        if(
$var==and !empty($effects[$row['eff_id']])){
            
$s.= $effects[$row['eff_id']]."<br>еще ".$row['time']."<br>";
        }
    }
        
    if(
$var == 0){
        return 
substr($s,0,strlen($s)-1);
    }elseif(
$var == 3){
        return 
$stat;
    }else{
        return 
$s;
    }
}
function 
effect($aff,$var){
    
$aff=explode("|",$aff);
    foreach (
$aff as $val){
        
$v=0;
        
$par=explode("@",$val);
        if(
$par[1]>time()){
            
$par[1]-=time();
            
$ch=floor($par[1]/3600);
            
$min=floor(($par[1]-($ch*3600))/60);
            
$par[1]=$ch."ч ".$min."м ";
        }else{
            
$par[1]=0;
            continue;
        }
        
$par2=explode(";",$par[0]);
        foreach (
$par2 as $val2){
            
$sts=explode("/",$val2);
            
$stat[$sts[0]]+=$sts[1];
            switch(
$par[2]){
                case 
1$tr="Легкая травма";$v=1;break;
                case 
2$tr="Средняя травма";$v=1;break;
                case 
3$tr="Тяжелая травма";$v=1;break;
                case 
4$tr="Боевая травма";$v=1;break;
            }
        }

        if(
$var==and $v==1){
            
$s .= $tr."<br>еще ".$par[1]."<br>";
        }
        if(
$var==and $v==1){
            
$s .= $tr." еще ".$par[1].",";
        }
        if(
$var==and $v==1){
            
$s .= $tr."<br>еще ".$par[1]."<br>";
        }
    }
    if(
$var==3){
        return 
$stat;
    }

    if(
$var==and $s!=''){
        foreach (
$stat as $key => $val){
            
$key stats($key);
            
$st .= "<tr><td><font class=travma>&nbsp;&nbsp;".$key.": </td><td><div align=center><font class=travma><font color=#D90000><b>".$val."</div></td></tr>";
        }
                
$s "<tr><td><table cellpadding=0 cellspacing=0 border=0 width=100%><tr><td colspan=3><img src=http://image.gamele.ru/1x1.gif width=1 height=1></td></tr><tr><td bgcolor=#eaeaea><div align=center><img src=http://image.gamele.ru/redcross.gif width=19 height=19 hspace=2 vspace=2></div></td><td bgcolor=#cccccc><img src=http://image.gamele.ru/1x1.gif width=1 height=1></td><td bgcolor=#f5f5f5><font class=travma><div align=center>$s</div><hr size=1 color=#CCCCCC><table cellpadding=0 cellspacing=3 border=0 width=100%>$st<tr><td colspan=2><img src=http://image.gamele.ru/1x1.gif width=1 height=6></td></table></font></td></tr><tr><td colspan=3><img src=http://image.gamele.ru/1x1.gif width=1 height=5></td></tr></table></td></tr>";
    }
    return 
$s;
}

function 
test_affect($aff){
    
$aff=explode("|",$aff);
    foreach (
$aff as $val){
        
$par=explode("@",$val);
        if(
$par[1]<time() and $par[1]!=''){
            continue;
        }
        
$a[]=$val;
    }
    
$aff=implode("|",$a);
    return 
$aff;
}

function 
add_trw($pl,$persent){
    
$trvm_logs = array(1=>array('«Множественные повреждения основания свода черепа»'),2=>array('«Рези в желудке, остекленение взгляда, помутнение рассудка (чтобы испытать действие нового зелья, не обязательно было пить его самому)»','«Клиническая смерть (возможно экстремальные виды отдыха не для вас… подумайте, если еще не прошло получаса)»','«Сдвиг позвонков (забудьте о знаниях, смолоду качайте мускулатуру, учиться то оно ведь никогда не поздно)»','«Раздроблены обе ступни, вывих обеих ног (если перед вами танк, то, возможно, не стоит под него кидаться)»','«Проникающее ранение грудной клетки (и не смотрите вы так на торчащую из вас железку, да в вас попали)»','«Перелом затылочной кости (не крутите в бою головой, ибо в это время можете получить по шее)»','«Гангрена (чтобы ходить по стеклам нужно быть йогом, а вы хоть дома тапочки снимали?)»','«Внутричерепное давление (выньте же наконец ножичек из глаза, он вам что не мешает?)»','«Коллапс легких (забыли как дышать? у вас 5 минут чтобы вспомнить все)»','«Раздробление позвонков (такой груз знаний не по вашим возможностям)»','«Кома (и нечего из нее выходить, лежите и наслаждайтесь)»','«Потеря нижней конечности (купи протез и все пройдет)»','«Перелом гортани (много говорите, а противник делает)»','«Выпадение волос (во многих знаниях скорая старость)»','«Эпилепсия (у вас осталось две попытки…)»'),3=>array('«Разрыв сухожилий (плохо двигался в бою, послали к ближайшему забору, табличку «Осторожно злая собака» проигнорировал…)»','«Бронхит (привязали к столбу, обливали ледяной водой, хотели укрепить организм, забыли отвязать после боя)»','«Изжога (в организме не хватало железа, противник решил помочь, засунул под ребро свою железку)»','«Боли в ягодичных мышцах (на правах рекламы: чем тяжелее сапоги, тем круче по противнику пинки)»','«Камни в почках (будете кусать край щита в приливе ярости, будете иметь проблемы со здоровьем)»','«Перелом голени (много ходил в поисках знаний, забрел не туда, попросили больше не приходить)»','«Кровотечение, перелом носа (не бейте противника головой, особенно если он в доспехах)»','«Тупая травма ушной раковины, заражение мозга (не прячьте оружие под подушку, чревато)»','«Перелом плеча (не стоит брать на себя слишком много, особенно если вы мало знаете)»','«Рваная рана бедра (не стойте столбом, когда противник готов грызть вас зубами)»','«Вывих челюсти (пытался заболтать противника, а тот говорил на другом языке)»','«Вывих колена (не лезьте в чужую душу, там темно и скользко)»','«Ожег ушей (увидел команду соперников, смутился, покраснел)»','«Заворот кишок (плохо кушал, усвоение материала понижено)»','«Перелом ребра (в бою юмор неуместен, могут не понять)»','«Боли в пояснице (в бою надо драться, а не танцевать)»'),4=>array('«Перелом ключицы (бойцы вражеской команды решили поспорить, а куриной косточки под рукой не оказалось)»','«Разрыв пупка, удача отвернулась лицом к лесу (следовал моде, в роддоме обменял рубашку на памперсы)»','«Легкий паралич нижних конечностей, связанный с сильным испугом»','«Вывих извилин до формы зигзагов в результате удара по пятке»','«Перелом стенок глазницы, частичные изменения в ориентации»','«Раздутие грудных мышц вследствие излишней самоуверенности»','«Потеря почки (противник в бою оказался черным хирургом)»','«Обострение радикулита с последующим скрючиванием»','«Усыхание мозга и превращение его в мозжечок»','«Сотрясение тысячелепесткового чакрама»','«Обрыв сердца, распухание левой пятки','«Разрыв склера с выпадением оболочек»','«Вывих среднего пальца правой ноги»','«Ушиб четырехлепесткового чакрама»','«Гематома грудной мышцы»'));
    
    if(
$pl['invisible']<time()){
        
$logpl='[1,'.$pl['side'].',"'.$pl['login'].'",'.$pl['level'].','.$pl['sklon'].',"'.(($pl['clan_gif']!='chaos.gif')?$pl['clan_gif']:'').'"]';
    }else{
        
$logpl='[4,'.$pl['side'].']';
    }
    if(
$persent <= 100){
        
$rand rand(0,100);
        if(
$rand <= $persent){
            
$rand rand(0,100);
            if(
$rand 50){
                
$tr 4;
                
$time time()+trw_time(rand(1,3));
                
$sts rand(1,2)/10;
                
$trvm 'легкую травму';
            }else if(
$rand 80){
                
$tr 3;
                
$time time()+trw_time(rand(3,6));
                
$sts rand(3,4)/10;
                
$trvm 'среднюю травму';
            }else{
                
$tr 2;
                
$time time()+trw_time(rand(7,9));
                
$sts rand(5,6)/10;
                
$trvm 'тяжёлую травму';
            }
        }
        
$stt rand(0,3);
        switch(
$stt){
            case 
0:
                
$st "30/-".round($pl['sila']*$sts);
            break;
            case 
1:
                
$st "31/-".round($pl['lovk']*$sts);
            break;
            case 
2:
                
$st "32/-".round($pl['uda4a']*$sts);
            break;
            case 
3:
               
$st "34/-".round($pl['znan']*$sts);
            break;
            }
    }else{
        
$MaxStat = array('sila'=>$pl['sila'],'lovk'=>$pl['lovk'],'uda4a'=>$pl['uda4a'],'znan'=>$pl['znan']);
        
$tr 1;
        
$time time()+trw_time(rand(8,9));
        
$st '30/-'.(($pl['sila'] == max($MaxStat))?'90':rand(30,45)).';31/-'.(($pl['lovk'] == max($MaxStat))?'90':rand(30,45)).';32/-'.(($pl['uda4a'] == max($MaxStat))?'90':rand(30,45)).';34/-'.(($pl['znan'] == max($MaxStat))?'90':rand(30,45));
        
$trvm 'осложненную травму';
        
mysql_query("UPDATE `invent` SET `used` = '0' WHERE `pl_id` = '".$pl['id']."'");
        
calcstat($pl['id']);
    }
    
mysql_query("INSERT INTO `effects` (`userid`,`time`,`eff_id`,`f_params`) VALUES ('".$pl['id']."','".$time."','".$tr."','".$st."');");
    
testcompl();
    
$ret .= ',[[0,"'.date("H:i").'"],'.$logpl.'," получил'.(($pl['sex']=='female')?'а':'').' '.$trvm.' <font color=#E34242><b>'.($trvm_logs[$tr][rand(0,(count($trvm_logs[$tr])-1))]).'</b></font>."]';
    return 
$ret;
}
function 
trw_time($t){
    switch(
$t){
        case 
1$tr=900; break;
        case 
2$tr=1800;break;
        case 
3$tr=2700;break;
        case 
4$tr=3600;break;
        case 
5$tr=5400;break;
        case 
6$tr=10800;break;
        case 
7$tr=21600;break;
        case 
8$tr=43200;break;
        case 
9$tr=86400;break;
    }
    return 
$tr;
}
function 
stats($st){
switch(
$st)
{
case 
0$st="Гравировка"; break;
case 
1$st="Удар";break;
case 
2$st="Долговечность";break;
case 
3$st="Карманов";break;
case 
4$st="Материал";break;
case 
5$st="Уловка";break;
case 
6$st="Точность";break;
case 
7$st="Сокрушение";break;
case 
8$st="Стойкость";break;
case 
9$st="Класс брони";break;
case 
10$st="Пробой брони";break;
case 
11$st="Пробой колющим ударом";break;
case 
12$st="Пробой режущим ударом";break;
case 
13$st="Пробой проникающим ударом";break;
case 
14$st="Пробой пробивающим ударом";break;
case 
15$st="Пробой рубящим ударом";break;
case 
16$st="Пробой карающим ударом";break;
case 
17$st="Пробой отсекающим ударом";break;
case 
18$st="Пробой дробящим ударом";break;
case 
19$st="Защита от колющих ударов";break;
case 
20$st="Защита от режущих ударов";break;
case 
21$st="Защита от проникающих ударов";break;
case 
22$st="Защита от пробивающих ударов";break;
case 
23$st="Защита от рубящих ударов";break;
case 
24$st="Защита от карающих ударов";break;
case 
25$st="Защита от отсекающих ударов";break;
case 
26$st="Защита от дробящих ударов";break;
case 
27$st="НР";break;
case 
28$st="Очки действия";break;
case 
29$st="Мана";break;
case 
30$st="Cила";break;
case 
31$st="Ловкость";break;
case 
32$st="Удача";break;
case 
33$st="Здоровье";break;
case 
34$st="Знания";break;
case 
35$st="Мудрость";break;
case 
36$st="Владение мечами";break;
case 
37$st="Владение топорами";break;
case 
38$st="Владение дробящим оружием";break;
case 
39$st="Владение ножами";break;
case 
40$st="Владение метательным оружием";break;
case 
41$st="Владение алебардами и копьями";break;
case 
42$st="Владение посохами";break;
case 
43$st="Владение экзотическим оружием";break;
case 
44$st="Владение двуручным оружием";break;
case 
45$st="Магия огня";break;
case 
46$st="Магия воды";break;
case 
47$st="Магия воздуха";break;
case 
48$st="Магия земли";break;
case 
49$st="Сопротивление магии огня";break;
case 
50$st="Сопротивление магии воды";break;
case 
51$st="Сопротивление магии воздуха";break;
case 
52$st="Сопротивление магии земли";break;
case 
53$st="Воровство";break;
case 
54$st="Осторожность";break;
case 
55$st="Скрытность";break;
case 
56$st="Наблюдательность";break;
case 
57$st="Торговля";break;
case 
58$st="Странник";break;
case 
59$st="Рыбалка";break;
case 
60$st="Лесоруб";break;
case 
61$st="Ювелирное дело";break;
case 
62$st="Самолечение";break;
case 
63$st="Оружейник";break;
case 
64$st="Доктор";break;
case 
65$st="Шахтер";break;
case 
66$st="Быстрое восстановление маны";break;
case 
67$st="Лидерство";break;
case 
68$st="Алхимия";break;
case 
69$st="Развитие горного дела";break;
case 
70$st="Травничество";break;
}
return 
$st;
}
function 
endbat($id,$t){
    
$side=array(1=>2,2=>1);
    
$order=array(1=>"ASC",2=>"DESC");
    
db_query('UPDATE arena SET vis="3" WHERE id_battle='.AP.$id.AP.'LIMIT 1;');
    
$sql=mysql_query("SELECT `arena`.`id_battle`,`arena`.`travma`,`arena`.`bt`,`user`.`type`,`user`.`premium`,`user`.`id`,`fight_users`.`side`,`user`.`sklon`,`user`.`clan_gif`,`user`.`clan_id`,`user`.`level`,`user`.`login`,`fight_users`.`dmg`,`user`.`wins`,`user`.`hp_all`,`user`.`invisible` FROM `user`,`arena` LEFT JOIN `fight_users` ON `arena`.`id_battle` = `fight_users`.`battle` WHERE `fight_users`.`id` = `user`.`id` AND `arena`.`id_battle` = '".$id."' ORDER BY `fight_users`.`side` ".$order[$t[0]]."");
    if(
mysql_num_rows($sql)!=0){
        while (
$p mysql_fetch_assoc($sql)) {
        
$userprem=explode("|",$p['premium']);
        
$prsql=mysql_fetch_array(mysql_query("SELECT * FROM premium_info WHERE id='".$userprem[0]."';"));
            
$wins=explode("|",$p['wins']);
            if(
$p['bt']==1){
                
$p['bt']=2;
            }
            if(
$p['id']<10000){
                
db_query('UPDATE user SET battle='.AP.'0'.AP.', fight='.AP.'0'.AP.', dmg=default WHERE id='.AP.$p['id'].AP.';');
            }
            if(
$p['side']==$t[0]){
                if(
$p['invisible']<time()){
                    
$win.=',[1,'.$p['side'].',"'.$p['login'].'",'.$p['level'].','.$p['sklon'].',"'.(($p['clan_gif']!='chaos.gif')?$p['clan_gif']:'').'"]," "';
                }else{
                    
$win.=',[4,'.$p['side'].',"",,,""]," "';
                }
                
$k3=1;
                
$wins[$p['bt']]+=1;
            }else if(
$t[0]!=0){
                
$k3=0.2;
                
$wins[$p['bt']+=1]+=1;
            }else{
                
$k3=0.5;
            }
             
$c1=sqlrr("SELECT COUNT(id) FROM `fight_users` WHERE `battle`=".$player["battle"]." and side=1",0);
         
$c2=sqlrr("SELECT COUNT(id) FROM `fight_users` WHERE `battle`=".$player["battle"]." and side=2",0);

         
## new module for exp.
        
$k=($t[$side[$p["side"]]]+5)/($t[$p["side"]]+5);
         if (
$p["travma"]<=10)  $k2 2/5;
         if (
$p["travma"]==30)  $k2 3/5;
         if (
$p["travma"]==50)  $k2 4/5;
         if (
$p["travma"]==80)  $k2 5/4;
         if (
$p["travma"]>80)   $k2 5/4;
         
$dmg=explode(",",$p["dmg"]);
         
$ex=exp_level($p["level"]);
         
$exp floor(abs($dmg[1]*$k*($c1/$c2)*$k2*$dmg[6] + 1*$p["level"]));
             
//ФОРМУЛА ОПЫТА
        
$ex=exp_level($p[level]); //базовый опыт             
        
$exp1=($dmg[1]*($ex['ex']/$p['hp_all'])); // умножаем урон на базовый опыт
        
$exp2=$dmg[6]*200+1//первая цифра отвечающая за опыт - зависит от количества убитых противников максимум 1.4 при 8 противниках
        
$exp3=($k*$k2*$k3)/4//коэффициэнты 
        
if($dmg[6]==0){$dmg[6]=1;}
        
$exp=round(($exp1*$exp2*$exp3)*($prsql['exp'] + ($t['type'] == ? ((($t['sklon']!=$p['sklon'] and $t['sklon']!=0) ? $prsql['exp_sklon']-0.1) + $prsql['exp_pvp']-1) : 0)));
        
//$exp=round(($exp1*$exp2*$exp3)/$dmg[6]); *($prsql['exp'] + ($t['type'] == 1 ? ((($t['sklon']!=$p['sklon'] and $t['sklon']!=0) ? $prsql['exp_sklon']-1 : 0.1) + $prsql['exp_pvp']-1) : 0))
     //КОНЕЦ ФОРМУЛЫ ОПЫТА
              
         
         
if ($p["level"]==&& $exp>80*$prsql['exp_max']) $exp 80*$prsql['exp_max'];
         if (
$p["level"]<&& $p["level"]>=&& $exp>9000*$prsql['exp_max']) $exp 9000*$prsql['exp_max'];
         if (
$p["level"]>=&& $p["level"]<10 && $exp>15000*$prsql['exp_max']) $exp 15000*$prsql['exp_max'];
         if (
$p["level"]>=10 && $p["level"]<15 && $exp>50000*$prsql['exp_max']) $exp 50000*$prsql['exp_max'];
         if (
$p["level"]>=15 && $exp>100000$exp 100000;
         if (
$exp>100000*$prsql['exp_max']) $exp =     100000*$prsql['exp_max'];
          
## Если проебал, пошел нахуй опыт делим на 4 !!!
         
if ($k3 != 1$exp floor($exp/4);
         
## Сервис опыт х50
         
if ($p["rashexps"]==1$exp floor($exp*1.50);
         
            
mysql_query("UPDATE `user` SET `wins`='".implode("|",$wins)."',`victories`='".$wins[0]."',`losses`='".$wins[1]."',`bot_victories`='".$wins[2]."',`bot_losses`='".$wins[3]."',`dmg`='".$exp."' WHERE `id`='".$p['id']."' AND `id` > '9999' LIMIT 1;");
            
            
//-- Начало повышения доблести
            
if ($p["loc"] = or $p["loc"] = or $p["loc"] = or $p["loc"] = or $p["loc"] = 10 or $p["loc"] = 11 or $p["loc"] = 12 or $p["loc"] = 13 or $p["loc"] = 14 or $p["loc"] = 15){
                 if (
$k3 == and $p["travma"]>=80) {
                    
sql("UPDATE `user` SET `dob`=`dob`+1 WHERE `id`='".$p['id']."' AND `id` > '9999' LIMIT 1;");
            }}
            
//-- Конец повышения доблести
            
            //--Подземелье
            ## inst for 1.
            
if ($player["loc"] = 60){
           
## Проебал!
           
if ($k3 != 1) {
           
$time_in = (time()+21600);
           
sql("UPDATE `instant` SET `level`='0',`time`='".$time_in."' WHERE `uid`='".$p['id']."'");
           }
           if (
$k3 == 1) {
           
sql("UPDATE `instant` SET `level`=`level`+1 WHERE `uid`='".$p['id']."' and `type`=0");
           }
          }
                          
            if(isset(
$li)){
                
$zp=",";
            }
            if(
$p['invisible']<time()){
                
$li.=$zp.'[1,'.$p['side'].',"'.$p['login'].'",'.$p['level'].','.$p['sklon'].',"'.(($p['clan_gif']!='chaos.gif')?$p['clan_gif']:'').'",'.$p['dmg'].','.$exp.']';
            }else{
                
$li.=$zp.'[4,'.$p['side'].',"",0,0,"",'.$p['dmg'].','.$exp.']';
            }
        }
    }
    
savestats($li,$id);
    switch(
$t[0]){
        case 
1:
        case 
2$log=",[[0,"".date("H:i").""],"<b>Бой закончен.</bПобеда за "".$win.","."]";break;
        case 
3$log=",[[0,"".date("H:i").""],"<b>Бой закончен.</bНичья."]";break;
        case 
4$log=",[[0,"".date("H:i").""],"<b>Бой закончен по таймауту.</b>  "".$looser."," проиграл бой."]";break;
        
    }
    
savelog($log,$id);
/*
    if(rand(0,10)<4){
        $pers = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `login` = '".$_SESSION['user']['login']."'"));
        if($pers['capcode']<time()){
            $randomize = md5(time());
            mysql_query("UPDATE `user` SET `randomize` = '".$randomize."' WHERE `login`='".$_SESSION['user']['login']."'");
        }
    }
*/
    
return $li;
}
function 
obnul_pl($pl){
    switch(
$pl['level']){
    case 
0$a=array(1=>15,1,2,10);break;
        case 
1$a=array(1=>18,2,5,14);break;
        case 
2$a=array(1=>21,2,9,19);break;
        case 
3$a=array(1=>24,2,13,24);break;
        case 
4$a=array(1=>29,3,18,28);break;
        case 
5$a=array(1=>34,4,23,33);break;
        case 
6$a=array(1=>39,4,29,39);break;
        case 
7$a=array(1=>49,4,36,45);break;
        case 
8$a=array(1=>54,5,44,52);break;
        case 
9$a=array(1=>61,5,53,60);break;
        case 
10$a=array(1=>76,6,65,70);break;
        case 
11$a=array(1=>83,6,80,75);break;
        case 
12$a=array(1=>95,7,95,85);break;
        case 
13$a=array(1=>105,8,115,100);break;
        case 
14$a=array(1=>117,8,127,115);break;
        case 
15$a=array(1=>132,9,142,130);break;
        case 
16$a=array(1=>147,10,167,150);break;
        case 
17$a=array(1=>162,10,192,170);break;
        case 
18$a=array(1=>177,11,217,190);break;
        case 
19$a=array(1=>192,12,232,210);break;
        case 
20$a=array(1=>202,12,257,220);break;
        case 
21$a=array(1=>217,12,282,230);break;
        case 
22$a=array(1=>237,12,307,240);break;
        case 
23$a=array(1=>262,12,332,250);break;
        case 
24$a=array(1=>282,12,357,260);break;
        case 
25$a=array(1=>312,12,382,270);break;
        case 
26$a=array(1=>347,12,407,280);break;
        case 
27$a=array(1=>387,12,432,290);break;
        case 
28$a=array(1=>432,12,457,300);break;
        case 
29$a=array(1=>482,12,482,310);break;
        case 
30$a=array(1=>537,12,507,320);break;
    }
    
mysql_query("UPDATE `user` SET `sila`=default,`lovk`=default,`uda4a`=default,`zdorov`=default,`znan`=default,`mudr`=default,`obr_col`=default,`od`=default,
    `bl`=default,`free_stat`='"
.$a[1]."',`hp`=default,`hp_all`=default,`mp`=default,`mp_all`=default,`hps`=default,`mps`=default,`chp`='0',`cmp`='0',`st`='1-2|',
    `umen`='',`perk`='',`fr_bum`='"
.$a[4]."',`fr_mum`='".$a[3]."',`nav`='".$a[2]."',`obnul`=`obnul`-'1' WHERE id='".$pl['id']."' LIMIT 1;");
    
mysql_query("UPDATE `invent` SET `used`='0' WHERE `pl_id`='".$pl['id']."';");
}

function 
SvitokDefance($Enemy,$ItemName){
    global 
$player,$user;
    if( 
$Enemy['fight'] != '0' and $Enemy['battle'] != '0' ){
        
// Себя засовываем в бой
        
mysql_query("UPDATE `user` SET `battle`='".$Enemy['battle']."',`side`='".$Enemy['side']."' WHERE `id`='".$player['id']."' LIMIT 1;");
        
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`side`) VALUES ('".$player['id']."','".$player['hp']."','".$player['mp']."','".$Enemy['battle']."','".$Enemy['side']."');");
        
save_hp_roun($player);
        if(
$player['invisible']<time()){
            
$log ',[1,'.$Enemy['side'].',"'.$player['login'].'",'.$player['level'].','.$player['sklon'].',"'.(($player['clan_gif']!='chaos.gif')?$player['clan_gif']:'').'"]';
        }else{                
            
$log ',[4,'.$Enemy['side'].']';
        }
        
savelog(',[[0,"'.date("H:i").'"]'.$log.',[7,"'.$ItemName.'",0]," и <b>вмешался в бой.</b>"]',$Enemy['battle']);
        
mysql_query("UPDATE `fight_users` SET `fight` = '2' WHERE `id` = '".$player['id']."'");
        
mysql_query("UPDATE `user` SET `fight`='2' WHERE `id`='".$player['id']."'");
        echo
'<script>top.frames['main_top'].location='/main.php';</script>';
    }
}
function 
SvitokAttack($Enemy,$ItemName,$travm=NULL){
    global 
$player,$user;
    if( 
$Enemy['fight'] == '0' and $Enemy['battle'] == '0' ){
        
$fid newbattle(2,$player['loc'],1,time(),300,(($travm)?$travm:10),0,0,0,0,0,0,0,1);
        
// Себя засовываем в бой
        
mysql_query("UPDATE `user` SET `battle`='".$fid."',`side`='1' WHERE `id`='".$player['id']."' LIMIT 1;");
        
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`side`) VALUES ('".$player['id']."','".$player['hp']."','".$player['mp']."','".$fid."','1');");
        
// Засовываем нашего противника
        
mysql_query("UPDATE `user` SET `battle`='".$fid."',`side`='2' WHERE `id`='".$Enemy['id']."' LIMIT 1;");
        
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`side`) VALUES ('".$Enemy['id']."','".$Enemy['hp']."','".$Enemy['mp']."','".$fid."','2');");    
        
//Start Battle
        
$log=',[[0,"'.date("H:i").'"],"Бой между "';
        
$LeftTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '1'");
        while (
$val mysql_fetch_assoc($LeftTeam)) {
            if(
$val['side']=='1'){
                if(
$val['invisible']<time()){
                    
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
                }else{                
                    
$log.=',[4,'.$val['side'].'],","';
                }
            }
        }
        
$log=substr_replace($log'', -3);
        
$log .= '" и "';
        
$RightTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '2'");
        while (
$val mysql_fetch_assoc($RightTeam)) {
            if(
$val['side']=='2'){
                if(
$val['invisible']<time()){
                    
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
                }else{                
                    
$log.=',[4,'.$val['side'].'],","';
                }
            }
        }
        
$log=substr_replace($log'', -3);
        
$log.='" начался ('.$ItemName.')."]';
        
savelog($log,$fid);
        
mysql_query("UPDATE `arena` SET `vis`='0',`t2`='".time()."' WHERE `id_battle`='".$fid."'LIMIT 1;");
        
mysql_query("UPDATE `fight_users` SET `fight` = '2' WHERE `battle` = '".$fid."'");
        
mysql_query("UPDATE `user` SET `fight`='2' WHERE `battle`='".$fid."'");
        
save_hp_all($fid);
        
chmsg("top.frames['chmain'].add_msg('<font class=chattime>&nbsp;".date("H:i:s")."&nbsp;</font> <font color=000000><b><font color=#cc0000>Внимание!</font></b> &nbsp;На вас использовывали &quot;".$ItemName."&quot;! </font><BR>'+'');$redirect",$Enemy['login']);
        echo
'<script>top.frames['main_top'].location='/main.php';</script>';
    }else{
        
// Себя засовываем в бой
        
mysql_query("UPDATE `user` SET `battle`='".$Enemy['battle']."',`side`='".(($Enemy['side']=='2')?'1':'2')."' WHERE `id`='".$player['id']."' LIMIT 1;");
        
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`side`) VALUES ('".$player['id']."','".$player['hp']."','".$player['mp']."','".$Enemy['battle']."','".(($Enemy['side']=='2')?'1':'2')."');");
        
save_hp_roun($player);
        if(
$player['invisible']<time()){
            
$log ',[1,'.(($Enemy['side']=='2')?'1':'2').',"'.$player['login'].'",'.$player['level'].','.$player['sklon'].',"'.(($player['clan_gif']!='chaos.gif')?$player['clan_gif']:'').'"]';
        }else{                
            
$log ',[4,'.(($Enemy['side']=='2')?'1':'2').']';
        }
        
savelog(',[[0,"'.date("H:i").'"]'.$log.',[7,"'.$ItemName.'",0]," и <b>вмешался в бой.</b>"]',$Enemy['battle']);
        
mysql_query("UPDATE `fight_users` SET `fight` = '2' WHERE `id` = '".$player['id']."'");
        
mysql_query("UPDATE `user` SET `fight`='2' WHERE `id`='".$player['id']."'");
        echo
'<script>top.frames['main_top'].location='/main.php';</script>';
    }
}function 
NatureBotAttack($Query,$Boss=NULL,$PrTravm=NULL,$CountS=1,$CountE=5){
    global 
$player,$user;
    
save_hp_roun($player);
    
$player=player();
    
$TravmTypes = array(10,10,10,10,10,30,30,30,30,50,50,50,80,80,100);
    
$fid newbattle(2,$player['loc'],1,time(),300,(($PrTravm)?$PrTravm:$TravmTypes[rand(0,(count($TravmTypes)-1))]),0,0,0,0,0,0,0,1);
    if(
$Boss == 'GOLDEN'){
        
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`) VALUES ('9000','7500','7','".$fid."');");
        for(
$i=1;$i<=rand(6,10);$i++){
            
$bot[$i] = mysql_fetch_assoc(mysql_query("SELECT `id`,`hp_all`,`mp_all` FROM `user` WHERE `id`='9900' LIMIT 1;"));
            
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`) VALUES ('".$bot[$i]['id']."','".$bot[$i]['hp_all']."','".$bot[$i]['mp_all']."','".$fid."');");
        }
        list(
$player['x'],$player['y']) = explode("_",$player['pos']);
        
mysql_query("DELETE FROM `nature_bots` WHERE `x` = '".$player['x']."' AND `y` = '".$player['y']."' LIMIT 1");
    }else{
        for(
$i=1;$i<=rand($CountS,$CountE);$i++){
            
$bot[$i] = mysql_fetch_assoc(mysql_query("SELECT `id`,`hp_all`,`mp_all` FROM `user` WHERE ".$Query." AND  `id` <  '10000' ORDER by rand() LIMIT 1;"));
            
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`) VALUES ('".$bot[$i]['id']."','".$bot[$i]['hp_all']."','".$bot[$i]['mp_all']."','".$fid."');");
        }
    }
    
mysql_query("UPDATE `user` SET `battle`='".$fid."',`side`='1' WHERE `login`='".$_SESSION['user']['login']."'LIMIT 1;");
    
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`side`) VALUES ('".$player['id']."','".$player['hp']."','".$player['mp']."','".$fid."','1');");
    
//Start Battle
    
$log=',[[0,"'.date("H:i").'"],"Бой между "';
    
$LeftTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '1'");
    while (
$val mysql_fetch_assoc($LeftTeam)) {
        if(
$val['side']=='1'){
            if(
$val['invisible']<time()){
                
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
            }else{                
                
$log.=',[4,'.$val['side'].'],","';
            }
        }
    }
    
$log=substr_replace($log'', -3);
    
$log .= '" и "';
    
$RightTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '2'");
    while (
$val mysql_fetch_assoc($RightTeam)) {
        if(
$val['side']=='2'){
            if(
$val['invisible']<time()){
                
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
            }else{                
                
$log.=',[4,'.$val['side'].'],","';
            }
        }
    }
    
$log=substr_replace($log'', -3);
    
$log.='" начался (нападение бота)."]';
    
savelog($log,$fid);
    
mysql_query("UPDATE `arena` SET `vis`='0', `t2`='".time()."' WHERE `id_battle`='".$fid."' LIMIT 1;");
    
mysql_query("UPDATE `fight_users` SET `fight` = '2' WHERE `battle` = '".$fid."'");
    
mysql_query("UPDATE `user` SET `fight`='2' WHERE `battle`='".$fid."'");
    
mysql_query("UPDATE `user` SET `lastbots` = '".(time()+rand(150,780))."' WHERE `id` = '".$player['id']."'");
    
save_hp_all($fid);
    echo
'<script>top.frames['main_top'].location='/main.php';</script>';
}
function 
TrainBots($level,$count){
    global 
$player;
    
$fid=newbattle(2,$player['loc'],1,time(),300,10,0,0,0,0,0,0,0,1);
    if(!empty(
$levelmin)){
        
$Whesr " AND level>='".$levelmin."' AND level<='".$levelmax."'";    
    }else{
        
$Whesr '';    
    }
    for(
$i 1;$i <= rand(1,$count);$i++){
        
$bot[$i] = mysql_fetch_assoc(mysql_query("SELECT `id`,`hp_all`,`mp_all` FROM `user` WHERE `fight`='0' AND `id`<'100' and `level`<='".rand(0,$level)."' ORDER by rand() LIMIT 1;"));
        
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`) VALUES ('".$bot[$i]['id']."','".$bot[$i]['hp_all']."','".$bot[$i]['mp_all']."','".$fid."');");
    }
    
save_hp_roun($player);
    
db_query('UPDATE `user` SET battle='.AP.$fid.AP.',side="1",hp='.AP.$fid.AP.' WHERE login='.AP.$_SESSION['user']['login'].AP.'LIMIT 1;');
    
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`side`) VALUES ('".$player['id']."','".$player['hp']."','".$player['mp']."','".$fid."','1');");
    
//Start Battle
    
$log=',[[0,"'.date("H:i").'"],"Бой между "';
    
$LeftTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '1'");
    while (
$val mysql_fetch_assoc($LeftTeam)) {
        if(
$val['side']=='1'){
            if(
$val['invisible']<time()){
                
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
            }else{                
                
$log.=',[4,'.$val['side'].'],","';
            }
        }
    }
    
$log=substr_replace($log'', -3);
    
$log .= '" и "';
    
$RightTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '2'");
    while (
$val mysql_fetch_assoc($RightTeam)) {
        if(
$val['side']=='2'){
            if(
$val['invisible']<time()){
                
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
            }else{                
                
$log.=',[4,'.$val['side'].'],","';
            }
        }
    }
    
$log=substr_replace($log'', -3);
    
$log.='" начался (нападение бота)."]';
    
savelog($log,$fid);
    
db_query('UPDATE arena SET vis="0", t2='.AP.time().AP.' WHERE id_battle ='.AP.$fid.AP.'LIMIT 1;');
    
mysql_query("UPDATE `fight_users` SET `fight` = '2' WHERE `battle` = '".$fid."'");
    
db_query('UPDATE user SET fight="2" WHERE `battle`='.AP.$fid.AP);
    
save_hp_all($fid);
}
function 
BotAtack($id){
    global 
$player;
    
$fid=newbattle(2,$player['loc'],1,time(),300,10,0,0,0,0,0,0,0,1);
        
$bot mysql_fetch_assoc(mysql_query("SELECT `id`,`hp_all`,`mp_all` FROM `user` WHERE `fight`='0' AND `id`='".$id."' LIMIT 1;"));
        
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`) VALUES ('".$bot['id']."','".$bot['hp_all']."','".$bot['mp_all']."','".$fid."');");
    
save_hp_roun($player);
    
db_query('UPDATE `user` SET battle='.AP.$fid.AP.',side="1",hp='.AP.$fid.AP.' WHERE login='.AP.$_SESSION['user']['login'].AP.'LIMIT 1;');
    
mysql_query("INSERT INTO `fight_users` (`id`,`hp`,`mp`,`battle`,`side`) VALUES ('".$player['id']."','".$player['hp']."','".$player['mp']."','".$fid."','1');");
    
//Start Battle
    
$log=',[[0,"'.date("H:i").'"],"Бой между "';
    
$LeftTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '1'");
    while (
$val mysql_fetch_assoc($LeftTeam)) {
        if(
$val['side']=='1'){
            if(
$val['invisible']<time()){
                
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
            }else{                
                
$log.=',[4,'.$val['side'].'],","';
            }
        }
    }
    
$log=substr_replace($log'', -3);
    
$log .= '" и "';
    
$RightTeam=mysql_query("SELECT `fight_users`.`side`,`fight_users`.`battle`,`user`.`level`,`user`.`sklon`,`user`.`clan_gif`,`user`.`login`,`user`.`invisible` FROM `fight_users`,`user` WHERE `fight_users`.`id` = `user`.`id` AND `fight_users`.`battle`='".$fid."' AND `fight_users`.`side` = '2'");
    while (
$val mysql_fetch_assoc($RightTeam)) {
        if(
$val['side']=='2'){
            if(
$val['invisible']<time()){
                
$log.=',[1,'.$val['side'].',"'.$val['login'].'",'.$val['level'].','.$val['sklon'].',"'.(($val['clan_gif']!='chaos.gif')?$val['clan_gif']:'').'"],","';
            }else{                
                
$log.=',[4,'.$val['side'].'],","';
            }
        }
    }
    
$log=substr_replace($log'', -3);
    
$log.='" начался (нападение бота)."]';
    
savelog($log,$fid);
    
db_query('UPDATE arena SET vis="0", t2='.AP.time().AP.' WHERE id_battle ='.AP.$fid.AP.'LIMIT 1;');
    
mysql_query("UPDATE `fight_users` SET `fight` = '2' WHERE `battle` = '".$fid."'");
    
db_query('UPDATE user SET fight="2" WHERE `battle`='.AP.$fid.AP);
    
save_hp_all($fid);
}

function 
getIP(){
    if(!empty(
$_SERVER['HTTP_CLIENT_IP'])){
        
$ip $_SERVER['HTTP_CLIENT_IP'];
    }else if (!empty(
$_SERVER['HTTP_X_FORWARDED_FOR'])){
        
$ip $_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
        
$ip $_SERVER['REMOTE_ADDR'];
    }
    return 
$ip;
}
function 
Show_Log($id,$mcount){
    
$lines file("/var/www/gamale/data/battles/logs/".$id.".txt");
    
$num count($lines);
    if(
$num<$mcount){
        
$start=0;
    }else{
        
$start=$num-$mcount;
    }
    
$res='';
    for(
$i=$num;$i>=$start;$i--){
        
$res .= $lines[$i];
    }
    return 
$res;
}
function 
Show_Stat($id){
    
$lines file("/var/www/gamale/data/battles/stats/".$id.".txt");
    
$num count($lines);
    
$res='';
    for(
$i=0;$i<$num;$i++){
        
$res .= $lines[$i];
    }
    return 
$res;
}
function 
accesses($uid,$acc,$response=NULL){
    
$access mysql_fetch_array(mysql_query("SELECT * FROM `accesses` WHERE `uid` =  '".$uid."'"));
    if(!
$response){
        return 
$access[$acc]?true:false;
    }else{
        return 
$access[$acc];
    }
}
function 
Level_rooms($level){
    if(
$level>and $level<=5){
        return 
0;
    }
    if(
$level>and $level<=10){
        return 
5;    
    }
    if(
$level>10 and $level<=20){
        return 
25;    
    }
    if(
$level>20){
        return 
50;    
    }
}
function 
DocType($type){
    switch(
$type){
        case
'1': return 4; break;
        case
'2': return 3; break;
        case
'3': return 2; break;
        case
'4': return 1; break;
    }
}

function 
normJsonStr($str){
        
$str preg_replace_callback('/\u([a-f0-9]{4})/i'create_function('$m''return chr(hexdec($m[1])-1072+224);'), $str);
        return 
iconv('cp1251''utf-8'$str);
}
function 
CountOD($pod,$inu,$inb,$ina){
    
// Стандартные Параметры из базы
    
$pos_ochd = array(0,0,50,90,35,50,60,30,50,60,30,50,35,80,40,85,40,85,40,85,40,100,45,70,70,70,130,90,90,45,60,90,30,30,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,70,90,70,90,70,90,70,100,100,100,70,100,70,70,100,0,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,0,0,30,30,30);
    
$shtra_ud = array(0,0,25,75,150,250);
    
// Проверяем удары
    
$tInu explode("@",$inu);
    for(
$i 0$i count($tInu)-1$i++){
        
$t2Inu explode("_",$tInu[$i]);
        
$ochd[] = $t2Inu[1];
    }
    
// Удары с учетом штрафов
    
$count_od $shtra_ud[count($ochd)];
    
// Проверяем Блоки
    
$tInb explode("@",$inb);
    for(
$i 0$i count($tInb)-1$i++){
        
$t2Inb explode("_",$tInb[$i]);
        
$ochd[] = $t2Inb[1];
    }
    
// Проверяем Магию
    
$tIna explode("@",$ina);
    for(
$i 0$i count($tIna)-1$i++){
        
$t2Ina explode("_",$tIna[$i]);
        
$ochd[] = $t2Ina[1];
    }
    
//Считаем количество ОД
    
for($i 0$i count($ochd);$i++){
        if(
$ochd[$i] > 2){
            
$count_od += $pos_ochd[$ochd[$i]];
        }else{
            switch(
$ochd[$i]){
                case 
0:
                    
$count_od += $pod;
                break;
                case 
1:
                    
$count_od += ($pod+20);
                break;
            }
        }
    }
    
// Выводим результат ОД
    
return $count_od;
}
Онлайн: 0
Реклама