$this->info=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_now` WHERE `id` = "'.$u->info['dnow'].'" LIMIT 1'));
$this->id_dng=$this->info['id2'];
$this->gs=$u->info['s'];
if($this->gs<1||$this->gs>4)
{
$this->gs=1;
}
if($this->info['bsid']>0)
{
$this->bs=mysql_fetch_assoc(mysql_query('SELECT * FROM `bs_turnirs` WHERE `city` = "'.$u->info['city'].'" AND `id` = "'.$this->info['bsid'].'" AND `time_start` = "'.$this->info['time_start'].'" LIMIT 1'));
mysql_query("INSERT INTO `chat` (`dn`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`,`typeTime`,`new`) VALUES ('".$u->info['dnow']."','".$u->info['city']."','".$u->info['room']."','','','".$rtxt."','".time()."','6','0','1','1')");
}
$ins=mysql_query('INSERT INTO `dungeon_items` (`dn_delete`,`data`,`dn`,`user`,`item_id`,`time`,`x`,`y`) VALUES (
"'.$dn_delete.'",
"'.mysql_real_escape_string($data).'",
"'.$u->info['dnow'].'",
"'.$tou.'",
"'.$itm['id'].'",
"'.time().'",
"'.$u->info['x'].'",
"'.$u->info['y'].'")');
return$ins;
}
}
publicfunctionn_lead($who,$lead){
global$u,$c,$code;
$to=mysql_fetch_assoc(mysql_query('SELECT `u`.`id`, `u`.`login`, `st`.`id`, `st`.`dnow` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`login` = "'.mysql_real_escape_string($who).'" LIMIT 1'));
if($this->info['uid']!=$lead){
$this->error='<b>Âû íå ëèäåð...</b>';
}elseif(!isset($to['id'])){
$this->error='<b>Ïåðñîíàæ íå íàéäåí...</b>';
}elseif($to['id']==$this->info['uid']){
$this->error='<b>Âû è òàê ëèäåð...</b>';
}elseif($to['dnow']!=$this->info['id']){
$this->error='<b>Ïåðñîíàæ íå íàéäåí â âàøåé êîìàíäå...</b>';
}else{
mysql_query('UPDATE `dungeon_now` SET `uid` = "'.$to['id'].'" WHERE `id` = "'.$this->info['id'].'" LIMIT 1');
if($u->info['sex']==0){
$this->sys_chat('<b>'.$u->info['login'].'</b> ïåðåäàë ëèäåðñòâî â ãðóïïå ïåðñîíàæó <b>'.$to['login'].'</b>');
}else{
$this->sys_chat('<b>'.$u->info['login'].'</b> ïåðåäàëà ëèäåðñòâî â ãðóïïå ïåðñîíàæó <b>'.$to['login'].'</b>');
$to=mysql_fetch_assoc(mysql_query('SELECT `u`.`id`, `u`.`login`, `st`.`id`, `st`.`dnow` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`login` = "'.mysql_real_escape_string($who).'" LIMIT 1'));
if($this->info['uid']!=$lead){
$this->error='<b>Âû íå ëèäåð...</b>';
}elseif(!isset($to['id'])){
$this->error='<b>Ïåðñîíàæ íå íàéäåí...</b>';
}elseif($to['id']==$this->info['uid']){
$this->error='<b>Ëèäåðà íåëüçÿ âûãíàòü...</b>';
}elseif($to['dnow']!=$this->info['id']){
$this->error='<b>Ïåðñîíàæ íå íàéäåí â âàøåé êîìàíäå...</b>';
}else{
$rb=321;// Ìàãè÷åñêèé ïîðòàë
if($u->info['room']==304){
$rb=209;// Âõîä â ëåäÿíóþ ïåùåðó
}elseif($u->info['room']==396){
$rb=395;// Êàíàëèçàöèÿ (Àíãåëñ)
}elseif($u->info['room']==398){
$rb=321;// Âñå ïåùåðû
}elseif($d->info['id2']==3){
$rb=293;// Âõîä â Êàòàêîìáû
}elseif($d->info['id2']==1){
$rb=188;// Âõîä â Êàíàëèçàöèþ
}elseif($d->info['id2']==13){
$rb=275;// Ãîðà Ëåãèîíà
}elseif($d->info['id2']==12){
$rb=372;// Âõîä â Ïåùåðó Òûñÿ÷è Ïðîêëÿòèé
}elseif($d->info['id2']==444){
$rb=321;// Âõîä â ïåùåðó èíêâ
}elseif($d->info['id2']==31){
$rb=321;// Âõîä â ïåùåðó èíêâ
}elseif($d->info['id2']==101){
$rb=321;// Âõîä â Áåçäíó
}
$sp=mysql_query('SELECT * FROM `dungeon_now` WHERE `time_finish` = "0" LIMIT 50');
while($pl=mysql_fetch_assoc($sp)){
$cn=mysql_fetch_assoc(mysql_query('SELECT `id` FROM `stats` WHERE `dnow` = "'.$pl['id'].'" LIMIT 1'));
if(!isset($cn['id'])){
mysql_query('DELETE FROM `dungeon_bots` WHERE `dn` = "'.$pl['id'].'" AND `for_dn` = "0"');
mysql_query('DELETE FROM `dungeon_obj` WHERE `dn` = "'.$pl['id'].'" AND `for_dn` = "0"');
mysql_query('DELETE FROM `dungeon_items` WHERE `dn` = "'.$pl['id'].'" AND `for_dn` = "0"');
mysql_query('DELETE FROM `dungeon_bots` WHERE `dn` = "'.$pl['id'].'" AND `for_dn` = "0"');
mysql_query('DELETE FROM `dungeon_actions` WHERE `dn` = "'.$pl['id'].'"');
mysql_query('UPDATE `dungeon_now` SET `time_finish` = "'.time().'" WHERE `id` = "'.$pl['id'].'" LIMIT 1');
}
}
$city=mysql_fetch_assoc(mysql_query('SELECT `id`, `city` FROM `room` WHERE `id` = "'.$rb.'" LIMIT 1'));
mysql_query('UPDATE `stats` SET `dnow` = "0" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `users` SET `room` = "'.$rb.'", `city`="'.$city['city'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `uid` = "'.$u->info['id'].'" AND `dn_delete` = "1" LIMIT 1000');
mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `uid` = "'.$u->info['id'].'" AND (`item_id` = "1189" OR `item_id` = "4447" OR `item_id` = "1174") LIMIT 1000');
$sp=mysql_query('SELECT `u`.`id`,`st`.`id` FROM `stats` AS `u` LEFT JOIN `users` AS `st` ON (`st`.`id` = `u`.`id`) WHERE `u`.`dnow` = "'.$this->info['id'].'" LIMIT 10');
}else{
$sp=mysql_query('SELECT `u`.`id` FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`st`.`id` = `u`.`id`) WHERE `u`.`room` = 370 AND `st`.`dnow` = "'.$laba.'" AND `st`.`bot` = 0 LIMIT 6');
$bot=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_bots` WHERE `id2` = "'.$id.'" AND `for_dn` = "0" AND `dn` = "'.$this->info['id'].'" AND `delete` = "0" LIMIT 1'));
$tbtl=mysql_fetch_assoc(mysql_query('SELECT * FROM `battle` WHERE `dn_id` = "'.$this->info['id'].'" AND `team_win` = "-1" AND `x` = "'.$bot['x'].'" AND `y` = "'.$bot['y'].'" LIMIT 1'));
if(isset($tbtl['id'])){
//âñòóïàåì â ïîåäèíîê
mysql_query('UPDATE `users` SET `battle` = "'.$tbtl['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `stats` SET `team` = "1" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
$ins=mysql_query('INSERT INTO `battle` (`dungeon`,`dn_id`,`x`,`y`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`) VALUES (
"'.$this->info['id2'].'",
"'.$this->info['id'].'",
"'.$bot['x'].'",
"'.$bot['y'].'",
"'.$u->info['city'].'",
"'.time().'",
"'.$btl['players'].'",
"'.$btl['timeout'].'",
"'.$btl['type'].'",
"'.$btl['invis'].'",
"'.$btl['noinc'].'",
"'.$btl['travmChance'].'",
"'.$btl['typeBattle'].'",
"'.$btl['addExp'].'",
"'.$btl['money'].'")');
$btl_id=mysql_insert_id();
if($btl_id>0){
//Äîáàâëÿåì áîòîâ
$sp=mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "0" AND `dn` = "'.$this->info['id'].'" AND `x` = "'.$bot['x'].'" AND `y` = "'.$bot['y'].'" AND `delete` = "0" LIMIT 1001');
$j=0;$logins_bot=array();
while($pl=mysql_fetch_assoc($sp)){
$jui=1;
mysql_query('UPDATE `dungeon_bots` SET `inBattle` = "'.$btl_id.'" WHERE `id2` = "'.$pl['id2'].'" LIMIT 1');
$bot=mysql_fetch_assoc(mysql_query('SELECT `u`.*,`st`.* FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`id` = "'.mysql_real_escape_string($id).'" LIMIT 1'));
$tbtl=mysql_fetch_assoc(mysql_query('SELECT * FROM `battle` WHERE `dn_id` = "'.$this->info['id'].'" AND `team_win` = "-1" AND `x` = "'.$bot['x'].'" AND `y` = "'.$bot['y'].'" LIMIT 1'));
$lstm=mysql_fetch_assoc(mysql_query('SELECT `u`.*,`st`.* FROM `users` AS `u` LEFT JOIN `stats` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`battle`="'.$tbtl['id'].'" ORDER BY `st`.`team` DESC LIMIT 1'));
mysql_query('UPDATE `users` SET `battle` = "'.$tbtl['id'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
$nextteam=$lstm['team']+1;
mysql_query('UPDATE `stats` SET `team` = "'.$nextteam.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `stats` SET `x` = "'.$bot['x'].'", `y` = "'.$bot['y'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
//
if($this->info['bsid']>0){
$me_real=mysql_fetch_assoc(mysql_query('SELECT `id`,`login`,`align`,`clan`,`battle`,`level` FROM `users` WHERE `inUser` = "'.$u->info['id'].'" AND `login` = "'.$u->info['login'].'" LIMIT 1'));
$usr_real=mysql_fetch_assoc(mysql_query('SELECT `id`,`login`,`align`,`clan`,`battle`,`level` FROM `users` WHERE `inUser` = "'.$bot['id'].'" AND `login` = "'.$bot['login'].'" LIMIT 1'));
mysql_query('UPDATE `stats` SET `tactic7`= 20.000 WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
$ins=mysql_query('INSERT INTO `battle` (`inTurnir`,`dungeon`,`dn_id`,`x`,`y`,`city`,`time_start`,`players`,`timeout`,`type`,`invis`,`noinc`,`travmChance`,`typeBattle`,`addExp`,`money`) VALUES (
"'.$btl['inTurnir'].'",
"'.$this->info['id2'].'",
"'.$this->info['id'].'",
"'.$bot['x'].'",
"'.$bot['y'].'",
"'.$u->info['city'].'",
"'.time().'",
"'.$btl['players'].'",
"'.$btl['timeout'].'",
"'.$btl['type'].'",
"'.$btl['invis'].'",
"'.$btl['noinc'].'",
"'.$btl['travmChance'].'",
"'.$btl['typeBattle'].'",
"'.$btl['addExp'].'",
"'.$btl['money'].'")');
$btl_id=mysql_insert_id();
mysql_query('UPDATE `stats` SET `x` = "'.$bot['x'].'", `y` = "'.$bot['y'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `stats` SET `x` = "'.$bot['x'].'", `y` = "'.$bot['y'].'" WHERE `id` = "'.$bot['id'].'" LIMIT 1');
if($btl_id>0)
{
//Äîáàâëÿåì áîòîâ
mysql_query('UPDATE `users` SET `battle` = "'.$btl_id.'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `stats` SET `team` = "1" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `users` SET `battle` = "'.$btl_id.'" WHERE `id` = "'.$bot['id'].'" LIMIT 1');
mysql_query('UPDATE `stats` SET `team` = "2" WHERE `id` = "'.$bot['id'].'" LIMIT 1');
if($u->stats['hpNow']<1){
$u->stats['hpNow']=1;
mysql_query('UPDATE `stats` SET `hpNow` = "1" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `users` SET `lose` = `lose` + 1 WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
}
if($bot['hpNow']<1){
$bot['hpNow']=1;
mysql_query('UPDATE `stats` SET `hpNow` = "1" WHERE `id` = "'.$bot['id'].'" LIMIT 1');
mysql_query('UPDATE `users` SET `lose` = `lose` + 1 WHERE `id` = "'.$bot['id'].'" LIMIT 1');
}
if($this->info['bsid']>0){
$me_real=mysql_fetch_assoc(mysql_query('SELECT `id`,`login`,`align`,`clan`,`battle`,`level` FROM `users` WHERE `inUser` = "'.$u->info['id'].'" AND `login` = "'.$u->info['login'].'" LIMIT 1'));
$usr_real=mysql_fetch_assoc(mysql_query('SELECT `id`,`login`,`align`,`clan`,`battle`,`level` FROM `users` WHERE `inUser` = "'.$bot['id'].'" AND `login` = "'.$bot['login'].'" LIMIT 1'));
$dies=mysql_fetch_assoc(mysql_query('SELECT COUNT(`id`) FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$u->info['dnow'].'" AND `vars` = "die" LIMIT 1'));
$dies=$dies[0];
if($u->stats['hpNow']<1||$dies>2){
if($dies<2){
mysql_query('INSERT INTO `dungeon_actions` (`dn`,`uid`,`x`,`y`,`time`,`vars`,`vals`) VALUES (
//21:50 ßðîïîëê òðàãè÷åñêè ïîãèá è íàõîäèòñÿ â êîìíàòå "Ýòàæ 2 - Âîäîñòîê"
$dnow=mysql_fetch_assoc(mysql_query('SELECT id2 FROM `dungeon_now` WHERE `id` = "'.$u->info['dnow'].'" LIMIT 1'));
$room=mysql_fetch_assoc(mysql_query('SELECT name FROM `dungeon_map_info` WHERE `x` = "'.$u->info['res_x'].'" AND `y` = "'.$u->info['res_y'].'" AND `id_dng` = "'.$dnow['id2'].'" LIMIT 1'));
if($u->info['sex']==0){
$this->sys_chat('<b>'.$u->info['login'].'</b> òðàãè÷åñêè ïîãèá è íàõîäèòñÿ â êîìíàòå "'.$room['name'].'"');
}else{
$this->sys_chat('<b>'.$u->info['login'].'</b> òðàãè÷åñêè ïîãèáëà è íàõîäèòñÿ â êîìíàòå "'.$room['name'].'"');
}
mysql_query('UPDATE `stats` SET `hpNow` = "1",`x` = "'.$u->info['res_x'].'",`y` = "'.$u->info['res_y'].'",`s` = "'.$u->info['res_s'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query("INSERT INTO `chat` (`dn`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`,`typeTime`,`new`) VALUES ('".$u->info['dnow']."','".$u->info['city']."','".$u->info['room']."','','','".$rtxt."','".time()."','6','0','1','1')");
}
publicfunctiontakeit($id){
global$u,$c,$code,$magic;
$obj=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_obj` WHERE `id` = "'.$id.'" AND `for_dn` = "0" AND `dn` = "'.$this->info['id'].'" LIMIT 1'));
if(isset($obj['id'])){
$tbot=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_bots` WHERE `x` = "'.$obj['x'].'" AND `y` = "'.$obj['y'].'" AND `dn` = "'.$this->info['id'].'" AND `for_dn` = "0" AND `delete` = "0" LIMIT 1'));
$bot_itm=mysql_fetch_assoc(mysql_query('SELECT `u`.`id2`,`st`.`login` FROM `dungeon_bots` AS `u` LEFT JOIN `test_bot` AS `st` ON (`u`.`id_bot` = `st`.`id`) WHERE `u`.`dn` = "'.$u->info['dnow'].'" AND `u`.`x` = "'.$itm[0].'" AND `u`.`y` = "'.$itm[1].'" AND `u`.`delete` = "0" LIMIT 10'));
$tuz=mysql_fetch_assoc(mysql_query('SELECT `x`,`y`,`id`,`hpNow` FROM `stats` WHERE `dnow` = "'.$this->info['id'].'" AND ( (`x` = '.($pl['x']+1).' AND `y` = '.($pl['y']).') OR (`x` = '.($pl['x']-1).' AND `y` = '.($pl['y']).') OR (`x` = '.($pl['x']).' AND `y` = '.($pl['y']+1).') OR (`x` = '.($pl['x']).' AND `y` = '.($pl['y']-1).') ) LIMIT 1'));
while($j<count($t)){
$itm=explode('.',$t[$j]);
//[0] - x , [1] - y
$bot_itm_sp=mysql_query('SELECT `u`.*,`st`.* FROM `dungeon_bots` AS `u` LEFT JOIN `test_bot` AS `st` ON (`u`.`id_bot` = `st`.`id`) WHERE `u`.`dn` = "'.$u->info['dnow'].'" AND `u`.`x` = "'.$itm[0].'" AND `u`.`y` = "'.$itm[1].'" AND `u`.`delete` = "0" LIMIT 50');
while($bot_itm=mysql_fetch_assoc($bot_itm_sp)){
$jn++;
$this->botAtack($bot_itm,$u->info,1);
}
$j++;
}
if($jn==0){
$tr_gd=1;
}
unset($itm,$bot_itm,$jn);
if($tr_gd==0){
if($t[0]=='0'){
$r.='Íå óäàëîñü, ÷òî-òî èëè êòî-òî ìåøàåò ...';
}else{
$r.=$t[0];
}
$r.=' Ìîíñòðû íà÷àëè àòàêîâàòü âàñ!';
$i=count($a);
}
}elseif($s[0]=='ditm'){
//òðåáóåò ïðåäìåò äëÿ äåéñòâèÿ
$j=0;
$t=explode(',',$s[1]);
$tr_gd=1;
while($j<count($t)){
$itm=explode('=',$t[$j]);
$uitm=mysql_fetch_array(mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "'.$itm[0].'" LIMIT 1'));
mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `item_id` = "'.$itm[0].'" AND `uid` = "'.$u->info['id'].'" AND (`delete` = 0 OR `delete` = 100) AND `inShop` = 0 AND `inTransfer` = 0 AND `inOdet` = 0 LIMIT '.$itm[1]);
$uitm=mysql_fetch_array(mysql_query('SELECT COUNT(`id`) FROM `items_users` WHERE `item_id` = "'.$itm[0].'" AND `uid` = "'.$u->info['id'].'" AND (`delete` = 0 OR `delete` = 100) AND `inShop` = 0 AND `inTransfer` = 0 AND `inOdet` = 0 LIMIT '.$itm[1]));
$uitm=$uitm[0];
if($uitm<$itm[1]){
$tr_gd=0;
$uitm=mysql_fetch_assoc(mysql_query('SELECT `name` FROM `items_main` WHERE `id` = "'.$itm[0].'" LIMIT 1'));
$ins=mysql_query('INSERT INTO `dungeon_items` (`dn`,`user`,`item_id`,`time`,`x`,`y`,`bot`,`del`) VALUES ("'.$this->info['id'].'","'.$i['uid'].'","'.$i['iid'].'","'.$i['time'].'","'.$i['x'].'","'.$i['y'].'","'.$i['bid'].'","'.((int)$i['del']).'")');
return$ins;
}
publicfunctiontakeinv($id)
{
global$u,$c,$code;
$obj=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_items` WHERE `id` = "'.$id.'" AND `for_dn` = "0" AND `dn` = "'.$this->info['id'].'" LIMIT 1'));
if(isset($obj['id']))
{
$this->test_luck($id);
$fxv=array(
'luck_count'=>mysql_fetch_assoc(mysql_query('SELECT COUNT(*) FROM `dungeon_actions` WHERE `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" LIMIT 1')),
'user_count'=>mysql_fetch_assoc(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dnow` = "'.$this->info['id'].'" LIMIT 1'))
$this->error='Íå óäàëîñü äîáàâèòü ïðåäìåò â èíâåíòàðü ...';
}
}
}
}
}
}
//Ðîçûãðûø ïðåäìåòà
publicfunctiontest_luck($id){
global$u;
$fxv=array(
'itm'=>mysql_fetch_assoc(mysql_query('SELECT `im`.*,`ish`.* FROM `dungeon_items` AS `ish` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `ish`.`item_id`) WHERE `ish`.`dn` = "'.$this->info['id'].'" AND `ish`.`id` = "'.mysql_real_escape_string($id).'" AND `ish`.`take` = "0" AND `ish`.`delete` = "0" AND `ish`.`x` = "'.$u->info['x'].'" AND `ish`.`y` = "'.$u->info['y'].'" LIMIT 1')),
'luck_count'=>mysql_fetch_assoc(mysql_query('SELECT COUNT(*) FROM `dungeon_actions` WHERE `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" LIMIT 1')),
'user_count'=>mysql_fetch_assoc(mysql_query('SELECT COUNT(*) FROM `stats` WHERE `dnow` = "'.$this->info['id'].'" LIMIT 1'))
$fxv['sp']=mysql_query('SELECT * FROM `dungeon_actions` WHERE `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" ORDER BY `vals` DESC LIMIT '.$fxv['luck_count'].'');
$fxv['winner']=array();
$fxv['win_val']=0;
unset($fxv['pl'],$fxv['sp']);
if(count($fxv['winner'])>1){
//Ðîçûãðûø åùå ðàç ìåæäó ïîáåäèòåëÿìè
$this->error.='<div>Ðîçûãðûø çàâåðøåí!</div>';
}elseif(count($fxv['winner'])==1){
$fxv['user_win']=mysql_fetch_assoc(mysql_query('SELECT `id`,`login`,`sex` FROM `users` WHERE `id` = "'.$fxv['winner'][0].'" LIMIT 1'));
$fxv['text']='<b>'.$fxv['user_win']['login'].'</b> âûèãðûâàåò â ñïîðå çà ïðåäìåò "'.$fxv['itm']['name'].'"';
$this->sys_chat($fxv['text']);
mysql_query('UPDATE `dungeon_items` SET `time` = "'.time().'",`user` = "'.$fxv['user_win']['id'].'" WHERE `id` = "'.$fxv['itm']['id'].'" LIMIT 1');
'itm'=>mysql_fetch_assoc(mysql_query('SELECT `im`.*,`ish`.* FROM `dungeon_items` AS `ish` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `ish`.`item_id`) WHERE `ish`.`dn` = "'.$this->info['id'].'" AND `ish`.`id` = "'.mysql_real_escape_string($id).'" AND `ish`.`take` = "0" AND `ish`.`delete` = "0" AND `ish`.`x` = "'.$u->info['x'].'" AND `ish`.`y` = "'.$u->info['y'].'" LIMIT 1')),
'luck'=>mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" LIMIT 1')),
'luck2'=>mysql_fetch_assoc(mysql_query('SELECT COUNT(*) FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" LIMIT 1'))
$luck_users=mysql_fetch_assoc(mysql_query('SELECT COUNT(`id`) FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" LIMIT 1'));
$luck_users=$luck_users[0];
if($luck_users<1){
mysql_query('UPDATE `dungeon_items` SET `time` = "'.time().'" WHERE `id` = "'.$fxv['itm']['id'].'" LIMIT 1');
}
$rndl=rand(1,100);
mysql_query('INSERT INTO `dungeon_actions` (`uid`,`dn`,`x`,`y`,`time`,`vars`,`vals`) VALUES (
$fxv['text']='<b>'.$u->info['login'].'</b> âûáðîñèë *'.$rndl.'* â ñïîðå çà ïðåäìåò "'.$fxv['itm']['name'].'"';
}else{
$fxv['text']='<b>'.$u->info['login'].'</b> âûáðîñèëà *'.$rndl.'* â ñïîðå çà ïðåäìåò "'.$fxv['itm']['name'].'"';
}
$this->sys_chat($fxv['text']);
$this->error.='<div>Âû âûáðîñèëè <b>'.$rndl.'</b> â ñïîðå çà "'.$fxv['itm']['name'].'"</div>';
}
$this->test_luck($id);
unset($fxv);
}
publicfunctionitm_unluck($id){
global$u;
$fxv=array(
'itm'=>mysql_fetch_assoc(mysql_query('SELECT `im`.*,`ish`.* FROM `dungeon_items` AS `ish` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `ish`.`item_id`) WHERE `ish`.`dn` = "'.$this->info['id'].'" AND `ish`.`id` = "'.mysql_real_escape_string($id).'" AND `ish`.`take` = "0" AND `ish`.`delete` = "0" AND `ish`.`x` = "'.$u->info['x'].'" AND `ish`.`y` = "'.$u->info['y'].'" LIMIT 1')),
'luck'=>mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" LIMIT 1'))
$luck_users=mysql_fetch_assoc(mysql_query('SELECT COUNT(`id`) FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($id).'" LIMIT 1'));
$luck_users=$luck_users[0];
if($luck_users<1){
mysql_query('UPDATE `dungeon_items` SET `time` = "'.time().'" WHERE `id` = "'.$fxv['itm']['id'].'" LIMIT 1');
$this->error.='<div>Âû îòêàçàëèñü îò ó÷àñòèÿ â ðîçûãðûøå "'.$fxv['itm']['name'].'"</div>';
}
unset($fxv);
}
publicfunctionitemsMap()
{
global$u,$c,$code;
$r='';
$live_users=mysql_fetch_assoc(mysql_query('SELECT COUNT(`id`) FROM `stats` WHERE `dnow` = "'.$this->info['id'].'" LIMIT 1'));
$live_users=$live_users[0];
$sp=mysql_query('SELECT `im`.*,`ish`.* FROM `dungeon_items` AS `ish` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `ish`.`item_id`) WHERE `ish`.`dn` = "'.$this->info['id'].'" AND `ish`.`take` = "0" AND `ish`.`delete` = "0" AND ( `ish`.`onlyfor` = "0" OR `ish`.`onlyfor` = "'.$u->info['id'].'" ) AND `ish`.`x` = "'.$u->info['x'].'" AND `ish`.`y` = "'.$u->info['y'].'" LIMIT 100');
while($pl=mysql_fetch_assoc($sp))
{
$action='main.php?take='.$pl['id'].'';$tk=0;
$luck_users=mysql_fetch_assoc(mysql_query('SELECT COUNT(`id`) FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.mysql_real_escape_string($pl['id']).'" LIMIT 1'));
$fxv=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_actions` WHERE `uid` = "'.$u->info['id'].'" AND `dn` = "'.$this->info['id'].'" AND `vars` = "luck_itm'.$pl['id'].'" LIMIT 1'));
$c1=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_map` WHERE `x` = "'.$x1.'" AND `y` = "'.$y1.'" AND `id_dng` = "'.$this->info['id2'].'" LIMIT 1'));
$c2=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_map` WHERE `x` = "'.$x2.'" AND `y` = "'.$y2.'" AND `id_dng` = "'.$this->info['id2'].'" LIMIT 1'));
$sp=mysql_query('SELECT `u`.* FROM `dungeon_obj` AS `u` WHERE `u`.`dn` = "'.$u->info['dnow'].'" AND `u`.`for_dn` = "0" AND ((`u`.`s` = "0" OR `u`.`s` = "'.$this->gs.'") OR `u`.`s2` = "'.$this->gs.'") AND '.$whr[$this->gs].' LIMIT 150');
$sp=mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "0" AND `delete` = "0" AND `dn` = "'.$this->info['id'].'" AND `id2` = "'.$bot['id2'].'" LIMIT 1');// Òîëüêî òîò, êîòîðûé íàïàë è æèâ ëè îí?
$j=0;
$logins_bot=array();
while($pl=mysql_fetch_assoc($sp)){
mysql_query('UPDATE `dungeon_bots` SET `inBattle` = "'.$btl_id.'" WHERE `id2` = "'.$bot['id2'].'" LIMIT 1');
$upd=mysql_query('UPDATE `users` SET `battle` = "'.$btl_id.'" WHERE `id` = "'.$k['id'].'" LIMIT 1');
if($upd){
$upd=mysql_query('UPDATE `stats` SET `team` = "2" WHERE `id` = "'.$k['id'].'" LIMIT 1');
if($upd){
$j++;
}
}
}
$jui++;
}
}
unset($logins_bot);
if($j>0){
mysql_query('UPDATE `users` SET `battle` = "'.$btl_id.'" WHERE `id` = "'.$user['id'].'" LIMIT 1');
mysql_query('UPDATE `stats` SET `team` = "1" WHERE `id` = "'.$user['id'].'" LIMIT 1');
}
}
}else{
$btl_id=$btli['id'];
//Äîáàâëÿåì áîòîâ
$sp=mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "0" AND `delete` = "0" AND `dn` = "'.$this->info['id'].'" AND `id2` = "'.$bot['id2'].'" LIMIT 1');
$j=0;$logins_bot=array();
$logins_bot_text=array();
$logins_bot_vars=array('time1='.time().'');
while($pl=mysql_fetch_assoc($sp)){
mysql_query('UPDATE `dungeon_bots` SET `inBattle` = "'.$btl_id.'" WHERE `id2` = "'.$bot['id2'].'" LIMIT 1');
$tmsu=mysql_fetch_assoc(mysql_query('SELECT * FROM `katok_now` WHERE `clone` = "'.$u->info['id'].'" LIMIT 1'));
//
$sp=mysql_query('SELECT `u`.*,`st`.* FROM `stats` AS `u` LEFT JOIN `users` AS `st` ON (`u`.`id` = `st`.`id`) WHERE `u`.`dnow` = "'.$u->info['dnow'].'" AND '.$whr[$this->gs].' AND `u`.`id` != "'.$u->info['id'].'" LIMIT 100');
//$sp = mysql_query('SELECT `u`.*,`st`.* FROM `dungeon_bots` AS `u` LEFT JOIN `test_bot` AS `st` ON (`u`.`id_bot` = `st`.`id`) WHERE `u`.`dn` = "'.$u->info['dnow'].'" AND `u`.`atack` = "0" AND `u`.`delete` = "0" AND `u`.`inBattle` = "0" AND `u`.`go_bot` > 0 ORDER BY `u`.`go_bot` ASC LIMIT 35');
// Âûáèðàåì Áîòîâ â ïîäçåìåëüè, êîòîðûå Íå â áîþ, Æèâûå, è íå äàëüøå ÷åì -\+30 ïî X è -\+35 ïî Y (äàáû íå ãîíÿòü âñåõ áîòîâ, ìåíüøå âûáîðêà).
$sp=mysql_query('SELECT `db`.*, `tb`.* FROM `dungeon_bots` AS `db` LEFT JOIN `test_bot` AS `tb` ON (`db`.`id_bot` = `tb`.`id`) LEFT JOIN `stats` as `st` ON (`st`.`dnow` = `db`.`dn`) WHERE `db`.`dn` = "'.$u->info['dnow'].'" AND `db`.`x` > `st`.`x`-30 AND `db`.`x` < `st`.`x`+30 AND `db`.`y` > `st`.`y`-35 AND `db`.`y` < `st`.`y`+35 AND `db`.`atack` = "0" AND `db`.`delete` = "0" AND `db`.`inBattle` = "0" AND `db`.`go_bot` > 0 GROUP BY `db`.`id2` ORDER BY `db`.`go_bot` ASC LIMIT 100');
$tuz=mysql_fetch_assoc(mysql_query('SELECT `x`,`y`,`id`,`hpNow` FROM `stats` WHERE `dnow` = "'.$this->info['id'].'" AND ( (`x` = '.($pl['x']+1).' AND `y` = '.($pl['y']).') OR (`x` = '.($pl['x']-1).' AND `y` = '.($pl['y']).') OR (`x` = '.($pl['x']).' AND `y` = '.($pl['y']+1).') OR (`x` = '.($pl['x']).' AND `y` = '.($pl['y']-1).') ) LIMIT 1'));
mysql_query('UPDATE `stats` SET `x` = "'.$tuz['x'].'" , `y` = "'.$tuz['y'].'" WHERE `id` = "'.$tuz['id'].'" LIMIT 1');
$this->botAtack($pl,$tuz,1);//Òóò
$sps=mysql_query('SELECT `db`.*, `tb`.* FROM `dungeon_bots` AS `db` LEFT JOIN `test_bot` AS `tb` ON (`db`.`id_bot` = `tb`.`id`) LEFT JOIN `stats` as `st` ON (`st`.`dnow` = `db`.`dn`) WHERE `db`.`dn` = "'.$u->info['dnow'].'" AND `db`.`x` ="'.$tuz['x'].'" AND `db`.`y` ="'.$tuz['y'].'" AND `db`.`atack` = "0" AND `db`.`delete` = "0" AND `db`.`inBattle` = "0" GROUP BY `db`.`id2` ORDER BY `db`.`go_bot` ASC LIMIT 50');
while($pll=mysql_fetch_assoc($sps)){
$this->botAtack($pll,$tuz,1);
}
}elseif($vlb==1){// Ïåðåäâèæåíèå áîòîâ.
$pl['go_bot']=time()+10+rand(1,5);
$pl['x']+=$tgx;
$pl['y']+=$tgy;
mysql_query('UPDATE `dungeon_bots` SET `x` = "'.$pl['x'].'",`y` = "'.$pl['y'].'",`go_bot` = "'.$pl['go_bot'].'" WHERE `id2` = "'.$pl['id2'].'" LIMIT 1');
}
unset($tgx,$tgy,$vlb,$tuz);
}
}
$sp=mysql_query('SELECT `u`.*,`st`.* FROM `dungeon_bots` AS `u` LEFT JOIN `test_bot` AS `st` ON (`u`.`id_bot` = `st`.`id`) WHERE `u`.`dn` = "'.$u->info['dnow'].'" AND '.$whr[$this->gs].' AND `u`.`delete` = "0" LIMIT 50');
$thp=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_map` WHERE `x` = "'.$u->info['x'].'" AND `y` = "'.$u->info['y'].'" AND `id_dng` = "'.$this->info['id2'].'" LIMIT 1'));
$ng=array(
4=>1,
2=>2,
1=>3,
3=>4
);
if(isset($thp['id'])&&$thp['go_'.$ng[$go]]==0)
{
$go=0;
}
$tgo=array(0=>0,1=>0);
if($go==1)
{
$tgo[1]+=1;
}elseif($go==2)
{
$tgo[0]-=1;
}elseif($go==3)
{
$tgo[1]-=1;
}elseif($go==4)
{
$tgo[0]+=1;
}
$tbot=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_bots` WHERE `x` = "'.($u->info['x']+(int)$tgo[0]).'" AND `y` = "'.($u->info['y']+(int)$tgo[1]).'" AND `dn` = "'.$this->info['id'].'" AND `for_dn` = "0" AND `delete` = "0" LIMIT 1'));
if(isset($tbot['id2'])&&$u->info['admin']==0)
{
$go=0;
}
$tmap=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_map` WHERE `x` = "'.$u->info['x'].'" AND `y` = "'.$u->info['y'].'" AND `id_dng` = "'.$this->info['id2'].'" LIMIT 1'));
//íàëè÷èå ïðåäìåòà
if($tmap['tr_items']!='')
{
$ti=explode(',',$tmap['tr_items']);
$i=0;$trnit='';
while($i<count($ti))
{
$ti2=explode('=',$ti[$i]);
if($ti2[0]>0&&$ti2[1]>0)
{
$num_rows=mysql_num_rows(mysql_query('SELECT * FROM `items_users` WHERE `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "0" AND `item_id` = "'.((int)$ti2[0]).'" LIMIT '.((int)$ti2[1]).''));
if($num_rows<(int)$ti2[1])
{
$tgo=$ti2[2];
if($tgo!='0000')
{
if($tgo[$ng[$go]-1]==1)
{
$go=0;
$trm=mysql_fetch_assoc(mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.((int)$ti2[0]).'" LIMIT 1'));
$tmap0=mysql_fetch_assoc(mysql_query('SELECT `id`,`teleport` FROM `dungeon_map` WHERE `id_dng` = "'.$tmap['id_dng'].'" AND `x` = "'.$u->info['x'].'" AND `y` = "'.$u->info['y'].'" LIMIT 1'));
if($tmap0['teleport']>0){
$tmap1=mysql_fetch_assoc(mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id` = "'.$tmap0['teleport'].'" LIMIT 1'));
if(isset($tmap1['id'])){
$u->info['x']=$tmap1['x'];
$u->info['y']=$tmap1['y'];
$this->error='Âû ïåðåìåñòèëèñü â äðóãóþ êîìíàòó...';
}
}
$upd=mysql_query('UPDATE `stats` SET `x` = "'.$u->info['x'].'",`y` = "'.$u->info['y'].'",`timeGo` = "'.$u->info['timeGo'].'",`timeGoL` = "'.$u->info['timeGoL'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
unset($id);
}
}
publicfunctiontestGone($id)
{
global$u,$c,$code;
$go=0;
if($id==1)
{
//âïåðåä
$go=$this->sg[$this->gs][1];
}elseif($id==2)
{
//íàçàä
$go=$this->sg[$this->gs][3];
}elseif($id==3)
{
//íà ïðàâî
$go=$this->sg[$this->gs][4];
}elseif($id==4)
{
//íà ëåâî
$go=$this->sg[$this->gs][2];
}
$thp=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_map` WHERE `x` = "'.$u->info['x'].'" AND `y` = "'.$u->info['y'].'" AND `id_dng` = "'.$this->info['id2'].'" LIMIT 1'));
$ng=array(
4=>1,
2=>2,
1=>3,
3=>4
);
if(isset($thp['id'])&&$thp['go_'.$ng[$go]]==0)
{
$go=0;
}
$tgo=array(0=>0,1=>0);
if($go==1)
{
$tgo[1]+=1;
}elseif($go==2)
{
$tgo[0]-=1;
}elseif($go==3)
{
$tgo[1]-=1;
}elseif($go==4)
{
$tgo[0]+=1;
}
$tbot=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_bots` WHERE `x` = "'.($u->info['x']+(int)$tgo[0]).'" AND `y` = "'.($u->info['y']+(int)$tgo[1]).'" AND `dn` = "'.$this->info['id'].'" AND `for_dn` = "0" AND `delete` = "0" LIMIT 1'));
if(isset($tbot['id2'])&&$u->info['admin']==0)
{
$go=0;
}
$tmap=mysql_fetch_assoc(mysql_query('SELECT * FROM `dungeon_map` WHERE `x` = "'.$u->info['x'].'" AND `y` = "'.$u->info['y'].'" AND `id_dng` = "'.$this->info['id2'].'" LIMIT 1'));
//íàëè÷èå ïðåäìåòà
/*
if($tmap['tr_items']!='')
{
$ti = explode(',',$tmap['tr_items']);
$i = 0; $trnit = '';
while($i<count($ti))
{
$ti2 = explode('=',$ti[$i]);
if($ti2[0]>0 && $ti2[1]>0)
{
$num_rows = mysql_num_rows(mysql_query('SELECT * FROM `items_users` WHERE `uid` = "'.$u->info['id'].'" AND `delete` = "0" AND `inShop` = "0" AND `item_id` = "'.((int)$ti2[0]).'" LIMIT '.((int)$ti2[1]).''));
if($num_rows < (int)$ti2[1])
{
$tgo = $ti2[2];
if($tgo!='0000')
{
if($tgo[$ng[$go]-1]==1)
{
$go = 0;
}
}
}
}
$i++;
}
}
*/
return$go;
}
publicfunctiontestSt($id,$s)
{
$r=0;
//çàìåíÿåì îòîáðàæåíèå ñòåí â çàâèñèìîñòè îò óãëà îáçîðà
$s=$this->sg[$this->gs][$s];
if(isset($this->map[1][$id]['id']))
{
$r=$this->map[1][$id]['st'][($s-1)];
}
return$r;
}
publicfunctionlookDungeon()
{
global$u,$c,$code,$pd;
/* Ãåíåðèðóåì èçîáðàæåíèå êàðòû */
/* LEVEL 1 */
// Èñïðàâëåíèÿ îò 29/10/2014 îòíîñèòåëüíî D5, 2 ýòàæ, ÏÒÏ. Ïîêðóòèòüñÿ è âñå ãóä. è îò 22/11/2014 äëÿ îáðàòíûõ ñòåí. Åñëè ñòåíà ê íàì çàäíèöåé, ìû å¸ íå âèäèì.