2023-03-31 18:42:06 +00:00
< ? php
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
use Helper\Conversion ;
2024-05-15 13:42:28 +00:00
use Model\ActionModel ;
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
if ( ! defined ( 'GAME' )) {
die ();
}
if ( $u -> room [ 'file' ] == 'dungeon_enter' ) {
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
$error = '' ; // Собираем ошибки.
$dungeonGroupList = '' ; // Сюда помещаем список Групп.
$dungeonGo = 1 ; // По умолчанию, мы идем в пещеру.
$dungeon = mysql_fetch_assoc (
mysql_query (
'SELECT `id` as room, city, `dungeon_room` as d_room, city, `shop`, `dungeon_id` as id, `dungeon_name` as name, quest FROM `dungeon_room` WHERE `id`="' . $u -> room [ 'id' ] . '" LIMIT 1'
)
);
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
if ( isset ( $_GET [ 'rz' ]) && $dungeon [ 'quest' ] == 1 ) {
$roomSection = 1 ;
} // Получаем Задание
else {
$roomSection = 0 ;
} // Собираем группу для похода
//if( $u->info['admin'] > 0 ) var_info($dungeon);
2022-06-06 21:30:34 +00:00
2024-05-15 13:42:28 +00:00
$all_dungeon = mysql_query ( 'select city from dungeon_room where city is not null and active=1 ' );
2023-12-01 21:27:45 +00:00
while ( $t = mysql_fetch_array ( $all_dungeon )) {
$dungeon [ 'list' ][] = $t [ 'city' ];
}
unset ( $all_dungeon );
if ( $u -> info [ 'dn' ] > 0 ) {
$zv = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `dungeon_zv` WHERE `id`="' . $u -> info [ 'dn' ] . '" AND `delete` = "0" LIMIT 1' ));
if ( ! isset ( $zv [ 'id' ])) {
mysql_query ( 'UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
$u -> info [ 'dn' ] = 0 ;
}
}
2024-05-15 13:42:28 +00:00
/** @var int $dungeonTimeout Задержка на посещение пещеры. */
$dungeonTimeout = ActionModel :: getOne ([ " uid = { $u -> info [ 'id' ] } " , 'vars = psh0' , " time > unix_timestamp() - 7200 " ], 'time' );
2023-12-01 21:27:45 +00:00
2024-05-15 13:42:28 +00:00
if ( $u -> isAdmin ()) {
$dungeonTimeout = 0 ;
}
if ( $dungeonTimeout ) { // Кто-то передумал и не пойдет в пещеру, так-как уже там был.
2023-12-01 21:27:45 +00:00
$dungeonGo = 0 ;
if ( isset ( $_GET [ 'start' ])) {
2024-05-15 13:42:28 +00:00
$error = 'До следующего похода осталось еще: ' . Conversion :: secondsToTimeout ( 60 * 60 * 2 - time () + $dungeonTimeout );
2023-12-01 21:27:45 +00:00
}
}
if ( isset ( $_GET [ 'start' ]) && $zv [ 'uid' ] == $u -> info [ 'id' ] && $dungeonGo == 1 ) {
$ig = 1 ;
if ( $ig > 0 ) { //перемещаем игроков в пещеру
//$u->addAction(time(),'psh'.$dun,'');
$ins = mysql_query (
' INSERT INTO `dungeon_now` ( `city` , `uid` , `id2` , `name` , `time_start` )
VALUES ( " ' . $zv['city'] . ' " , " ' . $zv['uid'] . ' " , " ' . $dungeon['id'] . ' " , " ' . $dungeon['name'] . ' " , " ' . time() . ' " ) '
);
if ( $ins ) {
$zid = mysql_insert_id ();
mysql_query ( 'UPDATE `dungeon_zv` SET `delete` = "' . time () . '" WHERE `id` = "' . $zv [ 'id' ] . '" LIMIT 1' );
//обновляем пользователей
$su = mysql_query (
'SELECT `u`.`id`,`st`.`dn` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $zv [ 'id' ] . '" /*LIMIT ' . ( $zv [ 'team_max' ] + 1 ) . '*/'
);
$ids = '' ;
$map_locs = [];
$spm2 = mysql_query ( 'SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = "' . $dungeon [ 'id' ] . '"' );
while ( $plm2 = mysql_fetch_array ( $spm2 )) {
$map_locs [] = [ $plm2 [ 'x' ], $plm2 [ 'y' ]];
}
unset ( $spm2 , $plm2 );
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
$pxd = 0 ;
while ( $pu = mysql_fetch_array ( $su )) {
$pxd ++ ;
$ids .= ' `id` = "' . $pu [ 'id' ] . '" OR' ;
if ( $u -> stats [ 'silver' ] >= 3 ) {
$u -> addAction (( time () - (( 60 * 60 * 2 ) / 100 * 30 )), 'psh0' , $pu [ 'id' ], $pu [ 'id' ]);
} else {
$u -> addAction ( time (), 'psh0' , $pu [ 'id' ], $pu [ 'id' ]);
}
//Добавляем квестовые обьекты для персонажей
$sp = mysql_query (
'SELECT * FROM `actions` WHERE `uid` = "' . $u -> info [ 'id' ] . '" AND `room` = ' . $dungeon [ 'room' ] . ' AND `vars` LIKE "%start_quest%" AND `vals` = "go" LIMIT 100'
);
while ( $pl2 = mysql_fetch_array ( $sp )) {
$pl = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `quests` WHERE `id` = "' . ( str_replace ( 'start_quest' , '' , $pl2 [ 'vars' ])) . '" AND `line` = "' . $dungeon [ 'id' ] . '" LIMIT 1' )
);
if ( isset ( $pl [ 'id' ])) {
$act = explode ( ',' , $pl [ 'act_date' ]);
$i = 0 ;
while ( $i < count ( $act )) {
$act_date = explode ( ':|:' , $act [ $i ]);
foreach ( $act_date as $key => $val ) {
$val = explode ( ':=:' , $val );
$actdate [ $val [ 0 ]] = $val [ 1 ];
}
//С б о р ресурсов
if ( isset ( $actdate [ 'tk_itm' ]) && $actdate [ 'tk_itm' ] != '' ) {
$xr2 = explode ( '=' , $actdate [ 'tk_itm' ]);
if ( $xr2 [ 2 ] == 0 ) {
if ( isset ( $actdate [ 'tk_itm_fromY' ]) && isset ( $actdate [ 'tk_itm_toY' ])) {
$actdate [ 'tk_itm_fromY' ] = ( integer ) $actdate [ 'tk_itm_fromY' ];
$actdate [ 'tk_itm_toY' ] = ( integer ) $actdate [ 'tk_itm_toY' ];
}
$ml_arr = [];
foreach ( $map_locs as $ml ) { // tk_itm_fromY tk_itm_toY - отсеиваем позицию для дропа предметов.
if (( isset ( $actdate [ 'tk_itm_fromY' ]) && isset ( $actdate [ 'tk_itm_toY' ])) or ( ! isset ( $actdate [ 'tk_itm_fromY' ]) && isset ( $actdate [ 'tk_itm_toY' ]))) {
if ( $ml [ 1 ] > $actdate [ 'tk_itm_fromY' ] && $actdate [ 'tk_itm_toY' ] > $ml [ 1 ]) {
$ml_arr [] = $ml ;
} elseif ( ! isset ( $actdate [ 'tk_itm_fromY' ]) && $actdate [ 'tk_itm_toY' ] > $ml [ 1 ]) {
$ml_arr [] = $ml ;
}
} else {
$ml_arr [] = $ml ;
}
}
if ( isset ( $ml_arr ) && count ( $ml_arr ) == 0 ) {
$ml_arr = $map_locs ;
}
//Добавляем обьект для юзера
$j = 0 ;
while ( $j < $xr2 [ 1 ]) {
$cord = $ml_arr [ rand ( 0 , count ( $ml_arr ) - 1 )];
if ( $cord [ 0 ] != 0 || $cord [ 1 ] != 0 ) {
mysql_query (
' INSERT INTO `dungeon_items` ( `dn` , `user` , `item_id` , `time` , `x` , `y` , `onlyfor` , `quest` ) VALUES (
2024-05-15 13:42:28 +00:00
" ' . $zid . ' " , " ' . $u->info ['id'] . ' " , " ' . $xr2[0] . ' " , " ' . time() . ' " , " ' . $cord[0] . ' " , " ' . $cord[1] . ' " , " ' . $u->info ['id'] . ' " , " ' . $pl['id'] . ' "
2023-12-01 21:27:45 +00:00
) '
);
}
$j ++ ;
}
} else {
//Предмет находится в конкретном месте
mysql_query (
' INSERT INTO `dungeon_items` ( `dn` , `user` , `item_id` , `time` , `x` , `y` , `onlyfor` , `quest` ) VALUES (
" ' . $zid . ' " , " ' . $u->info ['id'] . ' " , " ' . $xr2[0] . ' " , " ' . time() . ' " , " ' . $xr2[2] . ' " , " ' . $xr2[3] . ' " , " ' . $u->info ['id'] . ' " , " ' . $pl['id'] . ' "
) '
);
}
}
$i ++ ;
}
}
}
}
$ids = rtrim ( $ids , 'OR' );
$snew = 1 ;
if ( $dungeon [ 'id' ] == 106 ) {
$snew = 4 ;
} elseif ( $dungeon [ 'id' ] == 104 ) {
$snew = 4 ;
}
$upd1 = mysql_query (
'UPDATE `stats` SET `s`="' . $snew . '",`res_s`="1",`x`="0",`y`="0",`res_x`="0",`res_y`="0",`dn` = "0",`dnow` = "' . $zid . '" WHERE ' . $ids . ' LIMIT ' . ( $zv [ 'team_max' ] + 1 ) . ''
);
if ( $upd1 ) {
$upd2 = mysql_query ( 'UPDATE `users` SET `room` = "' . $dungeon [ 'd_room' ] . '" WHERE ' . $ids . ' LIMIT ' . ( $zv [ 'team_max' ] + 1 ) . '' );
//Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id']
//Добавляем ботов
$vls = '' ;
$sp = mysql_query ( 'SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $dungeon [ 'id' ] . '"' );
while ( $pl = mysql_fetch_array ( $sp )) {
if ( $pl [ 'id_bot' ] == 0 && $pl [ 'bot_group' ] != '' ) {
$bots = explode ( ',' , $pl [ 'bot_group' ]);
$pl [ 'id_bot' ] = ( int ) $bots [ rand ( 0 , count ( $bots ) - 1 )];
}
if ( $pl [ 'id_bot' ] > 0 ) {
$vls .= '("' . $zid . '","' . $pl [ 'id_bot' ] . '","' . $pl [ 'colvo' ] . '","' . $pl [ 'items' ] . '","' . $pl [ 'x' ] . '","' . $pl [ 'y' ] . '","' . $pl [ 'dialog' ] . '","' . $pl [ 'items' ] . '","' . $pl [ 'go_bot' ] . '","' . $pl [ 'noatack' ] . '"),' ;
}
unset ( $bots );
}
$vls = rtrim ( $vls , ',' );
$ins1 = mysql_query ( 'INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`,`noatack`) VALUES ' . $vls . '' );
//Добавляем обьекты
$vls = '' ;
$sp = mysql_query ( 'SELECT * FROM `dungeon_obj` WHERE `for_dn` = "' . $dungeon [ 'id' ] . '"' );
while ( $pl = mysql_fetch_array ( $sp )) {
$vls .= '("' . $zid . '","' . $pl [ 'name' ] . '","' . $pl [ 'img' ] . '","' . $pl [ 'x' ] . '","' . $pl [ 'y' ] . '","' . $pl [ 'action' ] . '","' . $pl [ 'type' ] . '","' . $pl [ 'w' ] . '","' . $pl [ 'h' ] . '","' . $pl [ 's' ] . '","' . $pl [ 's2' ] . '","' . $pl [ 'os1' ] . '","' . $pl [ 'os2' ] . '","' . $pl [ 'os3' ] . '","' . $pl [ 'os4' ] . '","' . $pl [ 'type2' ] . '","' . $pl [ 'top' ] . '","' . $pl [ 'left' ] . '","' . $pl [ 'date' ] . '"),' ;
}
//Добавление обьектов (день святого валентина)
if ( floor ( date ( 'm' )) == 2 && floor ( date ( 'd' )) >= 7 ) {
if ( floor ( date ( 'm' )) == 2 && floor ( date ( 'd' )) >= 14 ) {
//Появляются мобы которые принимают цветы
$vlsbts = '' ;
$ins1bts = null ;
if ( $dungeon [ 'id' ] == 1 ) {
//4 уровня (КАНАЛИЗАЦИЯ)
$vlsbts .= '("' . $zid . '","410","1","","-5","3","8","0","0"),' ;
//4-7 уровня
$vlsbts .= '("' . $zid . '","413","1","","8","46","9","0","0"),' ;
} elseif ( $dungeon [ 'id' ] == 12 ) {
//(ПТП)
//4-7 уровня
$vlsbts .= '("' . $zid . '","413","1","","-3","18","9","0","0"),' ;
//4-9 уровня
$vlsbts .= '("' . $zid . '","414","1","","-2","29","10","0","0"),' ;
} elseif ( $dungeon [ 'id' ] == 3 ) {
//(КАТАКОМБЫ)
//4-7 уровня
$vlsbts .= '("' . $zid . '","413","1","","15","8","9","0","0"),' ;
//4-9 уровня
$vlsbts .= '("' . $zid . '","414","1","","3","35","10","0","0"),' ;
} elseif ( $dungeon [ 'id' ] == 101 ) {
//(бездна)
//4-7 уровня
$vlsbts .= '("' . $zid . '","413","1","","-2","21","9","0","0"),' ;
//4-9 уровня
$vlsbts .= '("' . $zid . '","414","1","","2","43","10","0","0"),' ;
}
if ( $vlsbts != '' ) {
$vlsbts = rtrim ( $vlsbts , ',' );
$ins1bts = mysql_query ( 'INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`) VALUES ' . $vlsbts . '' );
}
unset ( $vlsbts , $ins1bts );
}
//Раскидываем предметы по пещере (Блёклый подземник)
$dcords = [];
$c_sp = mysql_query ( 'SELECT * FROM `dungeon_map` WHERE `id_dng` = "' . $dungeon [ 'id' ] . '"' );
while ( $c_pl = mysql_fetch_array ( $c_sp )) {
$dcords [] = [ $c_pl [ 'x' ], $c_pl [ 'y' ]];
}
$fcords = [];
$i = 1 ;
while ( $i <= $pxd ) {
$j = rand ( 1 , 10 );
while ( $j >= 0 ) {
$rndxy = rand ( 0 , count ( $dcords ) - 1 );
$rndx = $dcords [ $rndxy ][ 0 ];
$rndy = $dcords [ $rndxy ][ 1 ];
$fcords [ $rndx ][ $rndy ] = true ;
unset ( $dcords [ $rndxy ]);
$vls .= '("' . $zid . '","Блеклый подземник","vbig1.gif","' . $rndx . '","' . $rndy . '","fileact:vbig1","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),' ;
$j -- ;
}
$i ++ ;
}
//Раскидываем предметы по пещере (Черепичный подземник)
$sp = mysql_query ( 'SELECT * FROM `dungeon_bots` WHERE `for_dn` = "' . $dungeon [ 'id' ] . '"' );
$test = [];
$dcords2 = [];
$dcords3 = [];
while ( $pl = mysql_fetch_array ( $sp )) {
if ( ! isset ( $test [ $pl [ 'id_bot' ]])) {
$test [ $pl [ 'id_bot' ]] = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `test_bot` WHERE `id` = "' . $pl [ 'id_bot' ] . '" LIMIT 1' ));
}
if ( isset ( $test [ $pl [ 'id_bot' ]][ 'id' ]) && $test [ $pl [ 'id_bot' ]] != 2 ) {
if ( $test [ $pl [ 'id_bot' ]][ 'level' ] > 6 ) {
$dcords2 [] = [ $pl [ 'x' ], $pl [ 'y' ]];
}
if ( $test [ $pl [ 'id_bot' ]][ 'level' ] >= 8 && $test [ $pl [ 'id_bot' ]][ 'align' ] == 9 ) {
$dcords3 [] = [ $pl [ 'x' ], $pl [ 'y' ]];
}
} else {
$test [ $pl [ 'id_bot' ]] = 2 ;
}
}
$i = 1 ;
while ( $i <= $pxd ) {
$j = rand ( 1 , 5 );
while ( $j >= 0 ) {
$rndxy = rand ( 0 , count ( $dcords2 ) - 1 );
$rndx = $dcords2 [ $rndxy ][ 0 ];
$rndy = $dcords2 [ $rndxy ][ 1 ];
if ( ! isset ( $fcords [ $rndx ][ $rndy ]) && isset ( $dcords2 [ $rndxy ][ 0 ])) {
$fcords [ $rndx ][ $rndy ] = true ;
unset ( $dcords2 [ $rndxy ]);
$vls .= '("' . $zid . '","Черепичный подземник","vbig2.gif","' . $rndx . '","' . $rndy . '","fileact:vbig2","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),' ;
}
$j -- ;
}
$i ++ ;
}
$i = 1 ;
while ( $i <= $pxd ) {
$j = rand ( 1 , 2 );
while ( $j >= 0 ) {
$rndxy = rand ( 0 , count ( $dcords3 ) - 1 );
$rndx = $dcords3 [ $rndxy ][ 0 ];
$rndy = $dcords3 [ $rndxy ][ 1 ];
if ( ! isset ( $fcords [ $rndx ][ $rndy ]) && isset ( $dcords3 [ $rndxy ][ 0 ])) {
$fcords [ $rndx ][ $rndy ] = true ;
unset ( $dcords3 [ $rndxy ]);
$vls .= '("' . $zid . '","Кровавый подземник","vbig3.gif","' . $rndx . '","' . $rndy . '","fileact:vbig3","0","81","81","0","0","5","8","12","0","0","0","0","{use:\'takeit\',rt2:154,rl2:146,rt3:139,rl3:154,rt4:125,rl4:161}"),' ;
}
$j -- ;
}
$i ++ ;
}
unset ( $test );
}
//
$vls = rtrim ( $vls , ',' );
if ( $vls != '' ) {
$ins2 = mysql_query (
'INSERT INTO `dungeon_obj` (`dn`,`name`,`img`,`x`,`y`,`action`,`type`,`w`,`h`,`s`,`s2`,`os1`,`os2`,`os3`,`os4`,`type2`,`top`,`left`,`date`) VALUES ' . $vls . ''
);
} else {
$ins2 = true ;
}
if ( $upd2 && $ins1 && $ins2 ) {
die ( '<script>location="main.php?rnd=' . $code . '";</script>' );
} else {
$error = 'Ошибка перехода в подземелье...' ;
}
} else {
$error = 'Ошибка перехода в подземелье...' ;
}
} else {
$error = 'Ошибка перехода в подземелье...' ;
}
}
} elseif ( isset ( $_POST [ 'go' ], $_POST [ 'goid' ]) && $dungeonGo == 1 ) {
if ( ! isset ( $zv [ 'id' ])) {
$zv = mysql_fetch_array (
mysql_query ( 'SELECT * FROM `dungeon_zv` WHERE `city` = "' . $u -> info [ 'city' ] . '" AND `id`="' . mysql_real_escape_string ( $_POST [ 'goid' ]) . '" AND `delete` = "0" LIMIT 1' )
);
if ( isset ( $zv [ 'id' ]) && $u -> info [ 'dn' ] == 0 ) {
if ( $zv [ 'pass' ] != '' && $_POST [ 'pass_com' ] != $zv [ 'pass' ]) {
$error = 'Вы ввели неправильный пароль' ;
} elseif ( $u -> info [ 'level' ] > 7 && $zv [ 'dun' ] != 1 ) {
$row = 0 ;
if ( 5 > $row ) {
$upd = mysql_query ( 'UPDATE `stats` SET `dn` = "' . $zv [ 'id' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
if ( ! $upd ) {
$error = 'Н е удалось вступить в эту группу' ;
unset ( $zv );
} else {
$u -> info [ 'dn' ] = $zv [ 'id' ];
}
} else {
$error = 'В группе нет места' ;
unset ( $zv );
}
} elseif ( $zv [ 'dun' ] == 1 ) {
//Канализация
$row_max = 5 ;
if ( $u -> info [ 'level' ] == 4 ) {
$row_max = 4 ;
} elseif ( $u -> info [ 'level' ] == 5 ) {
$row_max = 3 ;
} elseif ( $u -> info [ 'level' ] == 6 ) {
$row_max = 2 ;
} elseif ( $u -> info [ 'level' ] >= 7 ) {
$row_max = 1 ;
}
$row = mysql_fetch_array ( mysql_query ( 'SELECT COUNT(*) FROM `stats` WHERE `dn` = "' . $zv [ 'id' ] . '" LIMIT 1' ));
$row1 = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `stats` WHERE `dn` = "' . $zv [ 'id' ] . '" LIMIT 1' ));
$row2 = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `users` WHERE `id` = "' . $row1 [ 'id' ] . '" LIMIT 1' ));
$row = $row [ 0 ];
$l45 = 0 ;
if ( $row2 [ 'level' ] == 4 && $u -> info [ 'level' ] == 5 ) {
$l45 = 1 ;
} elseif ( $row2 [ 'level' ] == 5 && $u -> info [ 'level' ] == 4 ) {
$l45 = 1 ;
}
if ( $u -> info [ 'admin' ] > 0 ) {
$l45 = 1 ;
}
if ( $row2 [ 'level' ] != $u -> info [ 'level' ] && $l45 == 0 ) {
$error = 'Вы не подходите по уровню' ;
} elseif ( $row_max > $row ) {
$upd = mysql_query ( 'UPDATE `stats` SET `dn` = "' . $zv [ 'id' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
if ( ! $upd ) {
$error = 'Н е удалось вступить в эту группу' ;
unset ( $zv );
} else {
$u -> info [ 'dn' ] = $zv [ 'id' ];
}
} else {
$error = 'В группе нет места' ;
unset ( $zv );
}
} elseif (( $u -> info [ 'level' ] < 4 && $zv [ 'dun' ] == 104 ) || $u -> info [ 'admin' ] > 0 ) {
//Шахты
$row_max = 3 ;
if ( $u -> info [ 'level' ] > 3 ) {
$row_max = 1 ;
}
$row = mysql_fetch_array ( mysql_query ( 'SELECT COUNT(*) FROM `stats` WHERE `dn` = "' . $zv [ 'id' ] . '" LIMIT 1' ));
$row1 = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `stats` WHERE `dn` = "' . $zv [ 'id' ] . '" LIMIT 1' ));
$row2 = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `users` WHERE `id` = "' . $row1 [ 'id' ] . '" LIMIT 1' ));
$row = $row [ 0 ];
if ( $row2 [ 'level' ] != $u -> info [ 'level' ] && $u -> info [ 'level' ] > 3 && $u -> info [ 'admin' ] == 0 ) {
$error = 'Вы не подходите по уровню' ;
} elseif ( $row_max > $row ) {
$upd = mysql_query ( 'UPDATE `stats` SET `dn` = "' . $zv [ 'id' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
if ( ! $upd ) {
$error = 'Н е удалось вступить в эту группу' ;
unset ( $zv );
} else {
$u -> info [ 'dn' ] = $zv [ 'id' ];
}
} else {
$error = 'В группе для вас нет места' ;
unset ( $zv );
}
} else {
$error = 'Вы не подходите по уровню' ;
unset ( $zv );
}
} else {
$error = 'Заявка не найдена' ;
}
} else {
$error = 'Вы уже находитесь в группе' ;
}
} elseif ( isset ( $_POST [ 'leave' ]) && isset ( $zv [ 'id' ]) && $dungeonGo == 1 ) {
if ( $zv [ 'uid' ] == $u -> info [ 'id' ]) {
//ставим в группу нового руководителя
$ld = mysql_fetch_array ( mysql_query ( 'SELECT `id` FROM `stats` WHERE `dn` = "' . $zv [ 'id' ] . '" AND `id` != "' . $u -> info [ 'id' ] . '" LIMIT 1' ));
if ( isset ( $ld [ 'id' ])) {
$zv [ 'uid' ] = $ld [ 'id' ];
mysql_query ( 'UPDATE `dungeon_zv` SET `uid` = "' . $zv [ 'uid' ] . '" WHERE `id` = "' . $zv [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
$u -> info [ 'dn' ] = 0 ;
unset ( $zv );
} else {
//удаляем группу целиком
mysql_query ( 'UPDATE `dungeon_zv` SET `delete` = "' . time () . '" WHERE `id` = "' . $zv [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
$u -> info [ 'dn' ] = 0 ;
unset ( $zv );
}
} else {
//просто выходим с группы
mysql_query ( 'UPDATE `stats` SET `dn` = "0" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
$u -> info [ 'dn' ] = 0 ;
unset ( $zv );
}
} elseif ( isset ( $_POST [ 'add' ]) && $u -> info [ 'level' ] > 1 && $dungeonGo == 1 ) {
if ( $u -> info [ 'dn' ] == 0 ) {
$ins = mysql_query (
' INSERT INTO `dungeon_zv`
2022-06-06 21:30:34 +00:00
( `city` , `time` , `uid` , `dun` , `pass` , `com` , `lvlmin` , `lvlmax` , `team_max` ) VALUES
2023-12-01 21:27:45 +00:00
( " ' . $u->info ['city'] . ' " , " ' . time() . ' " , " ' . $u->info ['id'] . ' " , " ' . $dungeon['id'] . ' " ,
" ' . mysql_real_escape_string( $_POST['pass'] ) . ' " ,
" ' . mysql_real_escape_string( $_POST['text'] ) . ' " ,
2022-06-06 21:30:34 +00:00
" 8 " ,
" 21 " ,
2023-12-01 21:27:45 +00:00
" 5 " ) '
);
if ( $ins ) {
$u -> info [ 'dn' ] = mysql_insert_id ();
$zv [ 'id' ] = $u -> info [ 'dn' ];
$zv [ 'uid' ] = $u -> info [ 'id' ];
mysql_query ( 'UPDATE `stats` SET `dn` = "' . $u -> info [ 'dn' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
$error = 'Вы успешно создали группу' ;
} else {
$error = 'Н е удалось создать группу' ;
}
} else {
$error = 'Вы уже находитесь в группе' ;
}
}
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
//Генерируем список групп
$sp = mysql_query ( 'SELECT * FROM `dungeon_zv` WHERE `city` = "' . $u -> info [ 'city' ] . '" AND `dun` = "' . $dungeon [ 'id' ] . '" AND `delete` = "0" AND `time` > "' . ( time () - 60 * 60 * 2 ) . '"' );
while ( $pl = mysql_fetch_array ( $sp )) {
$dungeonGroupList .= '<div style="padding:2px;">' ;
if ( $u -> info [ 'dn' ] == 0 ) {
$dungeonGroupList .= '<input type="radio" name="goid" id="goid" value="' . $pl [ 'id' ] . '" />' ;
}
$dungeonGroupList .= '<span class="date">' . date ( 'H:i' , $pl [ 'time' ]) . '</span> ' ;
$pus = '' ; //группа
$su = mysql_query (
'SELECT `u`.`id`,`u`.`login`,`u`.`level`,`u`.`align`,`u`.`clan`,`st`.`dn`,`u`.`city`,`u`.`room` FROM `stats` AS `st` LEFT JOIN `users` AS `u` ON (`st`.`id` = `u`.`id`) WHERE `st`.`dn`="' . $pl [ 'id' ] . '" LIMIT ' . ( $pl [ 'team_max' ] + 1 ) . ''
);
while ( $pu = mysql_fetch_array ( $su )) {
$pus .= '<b>' . $pu [ 'login' ] . '</b> [' . $pu [ 'level' ] . ']<a href="info/' . $pu [ 'id' ] . '" target="_blank"><img src="//img.new-combats.tech/i/inf_' . $pu [ 'city' ] . '.gif" title="Инф. о ' . $pu [ 'login' ] . '"></a>' ;
$pus .= ', ' ;
}
$pus = trim ( $pus , ', ' );
$dungeonGroupList .= $pus ;
unset ( $pus );
if ( $pl [ 'pass' ] != '' && $u -> info [ 'dn' ] == 0 ) {
$dungeonGroupList .= ' <small><input type="password" name="pass_com" value=""></small>' ;
}
if ( $pl [ 'com' ] != '' ) {
$dl = '' ;
// Если модератор, даем возможность удалять комментарий к походу.
$moder = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `moder` WHERE `align` = "' . $u -> info [ 'align' ] . '" LIMIT 1' ));
if (( $moder [ 'boi' ] == 1 || $u -> info [ 'admin' ] > 0 ) && $pl [ 'dcom' ] == 0 ) {
$dl .= ' (<a href="?delcom=' . $pl [ 'id' ] . '&key=' . $u -> info [ 'nextAct' ] . '&rnd=' . $code . '">удалить комментарий</a>)' ;
if ( isset ( $_GET [ 'delcom' ]) && $_GET [ 'delcom' ] == $pl [ 'id' ] && $u -> newAct ( $_GET [ 'key' ]) == true ) {
mysql_query ( 'UPDATE `dungeon_zv` SET `dcom` = "' . $u -> info [ 'id' ] . '" WHERE `id` = "' . $pl [ 'id' ] . '" LIMIT 1' );
$pl [ 'dcom' ] = $u -> info [ 'id' ];
}
}
$pl [ 'com' ] = htmlspecialchars ( $pl [ 'com' ], null );
if ( $pl [ 'dcom' ] > 0 ) {
$dl = ' <font color="grey"><i>комментарий удален модератором</i></font>' ;
}
if ( $pl [ 'dcom' ] > 0 ) {
if ( $moder [ 'boi' ] == 1 || $u -> info [ 'admin' ] > 0 ) {
$pl [ 'com' ] = '<font color="red">' . $pl [ 'com' ] . '</font>' ;
} else {
$pl [ 'com' ] = '' ;
}
}
$dungeonGroupList .= '<small> | ' . $pl [ 'com' ] . '' . $dl . '</small>' ;
}
$dungeonGroupList .= '</div>' ;
}
?>
2023-03-31 18:30:14 +00:00
2023-12-01 21:27:45 +00:00
< table width = " 100% " border = " 0 " cellspacing = " 0 " cellpadding = " 0 " >
2022-06-06 21:30:34 +00:00
< tr >
2023-12-01 21:27:45 +00:00
< td >
< div style = " padding-left:0px; " align = " center " >
< h3 >< ? = $u -> room [ 'name' ]; ?> </h3>
</ div >
</ td >
< td width = " 200 " >
< div align = " right " >
< table cellspacing = " 0 " cellpadding = " 0 " >
< tr >
< td width = " 100% " >& nbsp ; </ td >
< td >
< ? php if ( $roomSection == 0 ) { ?>
< table border = " 0 " cellpadding = " 0 " cellspacing = " 0 " >
< tr align = " right " valign = " top " >
< td ><!-- -->
< ? = $goLis ; ?>
<!-- -->
< table border = " 0 " cellspacing = " 0 " cellpadding = " 0 " >
< tr >
< td nowrap = " nowrap " >
< table width = " 100% " border = " 0 " cellpadding = " 0 " cellspacing = " 1 " bgcolor = " #DEDEDE " >
< tr >
< td bgcolor = " #D3D3D3 " >< img src = " //img.new-combats.tech/i/move/links.gif " width = " 9 " height = " 7 " /></ td >
< td bgcolor = " #D3D3D3 " nowrap = " nowrap " >
< a href = " # " id = " greyText " class = " menutop " onclick = " location='main.php?loc=<?php if ( $u->info ['city'] == 'abandonedplain') {
echo '3.180.0.267' ;
} elseif ( $u -> info [ 'city' ] == 'fallenearth' ) {
echo '6.180.0.102' ;
} elseif ( $u -> info [ 'room' ] == 188 ) {
echo '1.180.0.4' ;
} elseif ( $u -> info [ 'room' ] == 393 ) {
echo '1.180.0.2' ;
} elseif ( $u -> info [ 'room' ] == 372 ) {
echo '1.180.0.323' ;
} elseif ( $u -> info [ 'room' ] == 395 ) {
echo '2.180.0.231' ;
} elseif ( $u -> info [ 'room' ] == 397 ) {
echo '2.180.0.229' ;
} elseif ( $u -> info [ 'room' ] == 242 ) {
echo '2.180.0.236' ;
} else {
echo '1.180.0.321' ;
} ?> &rnd=<?= $code; ?>';" title="<?php
if ( $u -> info [ 'city' ] == 'fallenearth' ) {
thisInfRm ( '6.180.0.102' , 1 );
} elseif ( $u -> info [ 'city' ] == 'abandonedplain' ) {
thisInfRm ( '3.180.0.267' , 1 );
} elseif ( $u -> info [ 'room' ] == 188 ) {
thisInfRm ( '1.180.0.4' , 1 );
} elseif ( $u -> info [ 'room' ] == 393 ) {
thisInfRm ( '1.180.0.2' , 1 );
} elseif ( $u -> info [ 'room' ] == 372 ) {
thisInfRm ( '1.180.0.323' , 1 );
} elseif ( $u -> info [ 'room' ] == 395 ) {
thisInfRm ( '2.180.0.231' , 1 );
} elseif ( $u -> info [ 'room' ] == 397 ) {
thisInfRm ( '2.180.0.229' , 1 );
} elseif ( $u -> info [ 'room' ] == 242 ) {
thisInfRm ( '2.180.0.236' , 1 );
} else {
thisInfRm ( '1.180.0.321' , 1 );
}
?> "><?php
if ( $u -> info [ 'city' ] == 'fallenearth' ) {
echo " Темный Портал " ;
} elseif ( $u -> info [ 'city' ] == 'abandonedplain' ) {
echo " Центральная площадь " ;
} elseif ( $u -> info [ 'room' ] == 188 ) {
echo " Зал воинов " ;
} elseif ( $u -> info [ 'room' ] == 393 ) {
echo " Зал воинов 2 " ;
} elseif ( $u -> info [ 'room' ] == 372 ) {
echo " Большая парковая улица " ;
} elseif ( $u -> info [ 'room' ] == 395 ) {
echo " Зал воинов " ;
} elseif ( $u -> info [ 'room' ] == 397 ) {
echo " Зал воинов 2 " ;
} elseif ( $u -> info [ 'room' ] == 242 ) {
echo " Страшилкина улица " ;
} else {
echo " Магический Портал " ;
}
?> </a></td>
</ tr >
< ? php if ( isset ( $dungeon [ 'shop' ]) && $dungeon [ 'shop' ] > 0 ) {
$shop = mysql_fetch_array (
mysql_query ( 'SELECT `id` as shop_id, `code` FROM `room` WHERE `id` = "' . $dungeon [ 'shop' ] . '" LIMIT 1' )
);
if ( isset ( $shop [ 'code' ])) {
?>
< tr >
< td bgcolor = " #D3D3D3 " >< img src = " //img.new-combats.tech/i/move/links.gif " width = " 9 " height = " 7 " /></ td >
< td bgcolor = " #D3D3D3 " nowrap = " nowrap " >
2024-05-15 13:42:28 +00:00
< a href = " # " id = " greyText " class = " menutop " onclick = " location='main.php?loc=<?= $shop['code'] ?>&rnd=<?= $code ; ?>'; "
title = " <?php thisInfRm(
$shop [ 'code' ], 1
); ?> ">Рыцарский магазин</a></td>
2023-12-01 21:27:45 +00:00
</ tr >
< ? php }
} ?>
</ table >
</ td >
</ tr >
</ table >
</ td >
</ tr >
</ table >
< ? php } ?>
</ td >
</ tr >
</ table >
</ div >
</ td >
2022-06-06 21:30:34 +00:00
</ tr >
2023-12-01 21:27:45 +00:00
</ table >
< ? php if ( $roomSection == 1 ) { ?>
< div align = " center " style = " float:right;width:100px; " >
< p >
< input type = 'button' onclick = 'location="main.php?rz=1"' value = " Обновить " />
< br />
< input type = 'button' onclick = 'location="main.php"' value = " Вернуться " />
</ p >
</ div >
< ? php } else { ?>
< div align = " center " style = " float:right;width:100px; " >
< p >
< input type = 'button' onclick = 'location="main.php"' value = " Обновить " />
< ? php if ( $dungeon [ 'quest' ] == 1 ) { ?>
< br />
< input type = 'button' onclick = 'location="main.php?rz=1"' value = " Задания " />
< ? php } ?>
</ p >
</ div >
< ? php } ?>
< ? php
if ( $error != '' ) {
echo '<font color="red"><b>' . $error . '</b></font><br>' ;
}
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
//отображаем
if ( $dungeonGroupList == '' ) {
$dungeonGroupList = '' ;
} else {
if ( ! isset ( $zv [ 'id' ]) || $u -> info [ 'dn' ] == 0 ) {
if ( $dungeonGo == 1 || $u -> info [ 'dn' ] == 0 ) {
$pr = '<input name="go" type="submit" value="Вступить в группу">' ;
}
$dungeonGroupList = '<form autocomplete="off" action="main.php?rnd=' . $code . '" method="post">' . $pr . '<br>' . $dungeonGroupList . '' . $pr . '</form>' ;
}
$dungeonGroupList .= '<hr>' ;
}
2022-06-06 21:30:34 +00:00
2023-12-01 21:27:45 +00:00
if ( $roomSection == 0 ) {
echo $dungeonGroupList ;
}
if ( $roomSection == 1 ) {
# endQuest завершаем задание по нажатию.
if ( isset ( $_GET [ 'endQuest' ]) && $_GET [ 'endQuest' ] != '' ) {
$action = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `actions` WHERE `uid` = ' . $u -> info [ 'id' ] . ' AND `id`="' . $_GET [ 'endQuest' ] . '" AND `vals` = "go" LIMIT 1' ));
$quest = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `quests` WHERE `id` = "' . str_replace ( 'start_quest' , '' , $action [ 'vars' ]) . '" LIMIT 1' ));
if ( $q -> questCheckEnd ( $quest ) == 1 ) {
$q -> questSuccesEnd ( $quest , $action );
}
}
?>
< div >
< form autocomplete = " off " action = '/main.php' method = " post " name = " F1 " id = " F1 " >
< ? php
$qsee = '' ;
2024-05-15 13:42:28 +00:00
$questTimeout = ActionModel :: getOne ([ " uid = { $u -> info [ 'id' ] } " , " room = { $u -> info [ 'room' ] } " , " time >= unix_timestamp() - 86400 " , " vars = psh_qt_ { $dungeon [ 'city' ] } " ], 'time' );
2023-12-01 21:27:45 +00:00
$qc = 0 ; // Quest Count
//Генерируем список текущих квестов
$sp = mysql_query ( 'SELECT * FROM `actions` WHERE `vars` LIKE "%start_quest%" AND `vals` = "go" AND `uid` = "' . $u -> info [ 'id' ] . '" LIMIT 100' );
while ( $pl = mysql_fetch_array ( $sp )) {
if ( $pl [ 'room' ] == $u -> info [ 'room' ]) {
$pq = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `quests` WHERE `id` = "' . str_replace ( 'start_quest' , '' , $pl [ 'vars' ]) . '" LIMIT 1' ));
if ( $q -> questCheckEnd ( $pq ) == 1 ) {
$qsee2 = '<input style="margin-top:6px;" type="button" value="Завершить задание" onclick="location=\'main.php?rz=1&endQuest=' . $pl [ 'id' ] . '\'">' ;
} else {
$qsee2 = '' ;
}
$qsee .= '
< a href = " main.php?rz=1&end_qst_now=' . $pq['id'] . ' " >< img src = " //img.new-combats.tech/i/clear.gif " title = " Отказаться от задания " ></ a >
< b > ' . $pq[' name '] . ' </ b >
< div style = " padding-left:15px;padding-bottom:5px;border-bottom:1px solid grey " >< small > ' . $pq[' info '] . ' < br > ' . $q->info($pq) . ' ' . $qsee2 . ' </ small ></ div >
2022-06-06 21:30:34 +00:00
< br > ' ;
2023-12-01 21:27:45 +00:00
#
$qc ++ ;
}
}
if ( isset ( $_GET [ 'add_quest' ]) && $qc == 0 ) {
2024-05-15 13:42:28 +00:00
if ( $questTimeout ) {
echo '<b style="color: red;">Нельзя получать задания чаще одного раза в сутки</b><br>' ;
2023-12-01 21:27:45 +00:00
} else {
$sp = mysql_query ( 'SELECT * FROM `quests` WHERE `line` = ' . $dungeon [ 'id' ] . '' );
$dq_add = [];
while ( $pl = mysql_fetch_array ( $sp )) {
if ( $u -> rep [ 'rep' . $dungeon [ 'city' ]] == 9999 ) {
//квет, рыцарского задания
if ( $pl [ 'kin' ] == 1 ) {
$dq_add = [ 0 => $pl ];
}
} elseif ( $u -> rep [ 'rep' . $dungeon [ 'city' ]] == 24999 ) {
//квет, рыцарского задания
if ( $pl [ 'kin' ] == 2 ) {
$dq_add = [ 0 => $pl ];
}
} else {
if ( $pl [ 'kin' ] == 0 ) {
$dq_add [ count ( $dq_add )] = $pl ;
}
}
}
$dq_add = $q -> onlyOnceQuest ( $dq_add , $u -> info [ 'id' ]);
$dq_add = $dq_add [ rand ( 0 , count ( $dq_add ) - 1 )];
if ( $q -> testGood ( $dq_add ) == 1 && $dq_add > 0 ) {
$q -> startq_dn ( $dq_add [ 'id' ]);
echo '<font color="red"><b>Вы успешно получили новое задание "' . $dq_add [ 'name' ] . '".</b></font><br>' ;
$u -> addAction ( time (), 'psh_qt_' . $dungeon [ 'city' ], $dq_add [ 'id' ]);
} else {
if ( $u -> rep [ 'rep' . $dungeon [ 'city' ]] == 9999 ) {
//квест, рыцарского задания
echo '<font color="red"><b>Вы уже получили задание на достижение титула рыцаря!</b></font><br>' ;
} elseif ( $u -> rep [ 'rep' . $dungeon [ 'city' ]] >= 24999 ) {
//квест, рыцарского задания
echo '<font color="red"><b>Вы завершили квестовую линию, ожидайте новых заданий!</b></font><br>' ;
} else {
echo '<font color="red"><b>Н е удалось получить задание "' . $dq_add [ 'name' ] . '". Попробуйте еще...</b></font><br>' ;
}
}
unset ( $dq_add );
}
} elseif ( isset ( $_GET [ 'add_quest' ]) && $qc > 0 ) {
echo '<font color="red"><b>Что-то пошло не так... осторожнее.. <br/><br/></b></font><br>' ;
}
if ( $qsee == '' ) {
$qsee = 'К сожалению у вас нет ни одного задания<br/><br/>' ;
}
?>
< Br />
< FIELDSET >
< LEGEND >< B > Текущие задания : </ B ></ LEGEND >
< ? = $qsee ?>
< span style = " padding-left: 10 " >
2023-03-31 18:42:06 +00:00
< ? php
2023-12-01 21:27:45 +00:00
if ( $qc > 0 ) {
echo 'Вы еще не справились с текущим заданием.' ;
2024-05-15 13:42:28 +00:00
} elseif ( ! $questTimeout && $qc == 0 ) {
2023-12-01 21:27:45 +00:00
?>
< br />
< input type = 'button' value = 'Получить задание' onclick = 'location="main.php?rz=1&add_quest=1"' />
< ? php
} else {
2024-05-15 13:42:28 +00:00
echo 'Получить новое задание можно <b>' . date ( 'd.m.Y H:i' , $questTimeout + 60 * 60 * 24 ) .
'</b> ( Через ' . Conversion :: secondsToTimeout ( $questTimeout + 60 * 60 * 24 - time ()) . ' )' ;
2023-12-01 21:27:45 +00:00
}
?>
2022-06-06 21:30:34 +00:00
</ span >
2023-12-01 21:27:45 +00:00
</ FIELDSET >
</ form >
< br />
< ? php
//Начисление бонуса награды
if ( isset ( $_GET [ 'buy1' ])) {
$rt = 1 ;
if ( $_GET [ 'buy1' ] == 1 ) {
//покупаем статы
$price = 2000 + ( $u -> rep [ 'add_stats' ] * 100 );
$cur_price = [ 'price' => 0 ];
if ( 25 - $u -> rep [ 'add_stats' ] > 0 && $u -> rep [ 'allrep' ] - $u -> rep [ 'allnurep' ] >= $price ) { // Характеристики!
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( ! ( $cur_price [ 'price' ] >= $price )) {
$cur_price [ 'price' ] += $cur = ( $price > ( $cur_price [ 'price' ] + ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) ? ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) : (( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) - ((( $price - $cur_price [ 'price' ]) - ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) * - 1 )));
$cur_price [ 'nu_' . $val ] = $cur ;
}
}
if ( $price == $cur_price [ 'price' ]) {
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( isset ( $cur_price [ 'nu_' . $val ]) && isset ( $u -> rep [ 'nu_' . $val ]) && $rt == 1 ) {
$u -> rep [ 'nu_' . $val ] += $cur_price [ 'nu_' . $val ];
$r = mysql_query ( 'UPDATE `rep` SET `nu_' . $val . '` = "' . $u -> rep [ 'nu_' . $val ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
if ( $r ) {
$rt = 1 ;
} else {
$rt = 0 ;
}
}
}
if ( $rt == 1 ) {
$u -> info [ 'ability' ] += 1 ;
$u -> rep [ 'add_stats' ] += 1 ;
mysql_query ( 'UPDATE `rep` SET `add_stats` = "' . $u -> rep [ 'add_stats' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'UPDATE `stats` SET `ability` = "' . $u -> info [ 'ability' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
echo '<font color="red"><b>Вы успешно приобрели 1 способность за ' . $price . ' ед. награды</b></font><br>' ;
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
} else {
echo 'Недостаточно репутации.' ;
}
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
} elseif ( $_GET [ 'buy1' ] == 2 ) { // Умения!
$price = 10000 ;
$cur_price = [ 'price' => 0 ];
if ( 10 - $u -> rep [ 'add_skills' ] > 0 && $u -> rep [ 'allrep' ] - $u -> rep [ 'allnurep' ] >= $price ) { // Умения!
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( ! ( $cur_price [ 'price' ] >= $price )) {
$cur_price [ 'price' ] += $cur = ( $price > ( $cur_price [ 'price' ] + ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) ? ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) : (( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) - ((( $price - $cur_price [ 'price' ]) - ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) * - 1 )));
$cur_price [ 'nu_' . $val ] = $cur ;
}
}
if ( $price == $cur_price [ 'price' ]) {
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( isset ( $cur_price [ 'nu_' . $val ]) && isset ( $u -> rep [ 'nu_' . $val ]) && $rt == 1 ) {
$u -> rep [ 'nu_' . $val ] += $cur_price [ 'nu_' . $val ];
$r = mysql_query ( 'UPDATE `rep` SET `nu_' . $val . '` = "' . $u -> rep [ 'nu_' . $val ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
if ( $r ) {
$rt = 1 ;
} else {
$rt = 0 ;
}
}
}
if ( $rt == 1 ) {
$u -> info [ 'skills' ] += 1 ;
$u -> rep [ 'add_skills' ] += 1 ;
mysql_query ( 'UPDATE `rep` SET `add_skills` = "' . $u -> rep [ 'add_skills' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'UPDATE `stats` SET `skills` = "' . $u -> info [ 'skills' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
echo '<font color="red"><b>Вы успешно приобрели 1 умение за ' . $price . ' ед. награды</b></font><br>' ;
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
} else {
echo 'Недостаточно репутации.' ;
}
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
} elseif ( $_GET [ 'buy1' ] == 3 ) { // Кредиты
$price = 100 ;
$cur_price = [ 'price' => 0 ];
if ( $u -> rep [ 'allrep' ] - $u -> rep [ 'allnurep' ] >= $price ) { // Покупаем кредиты
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( ! ( $cur_price [ 'price' ] >= $price )) {
$cur_price [ 'price' ] += $cur = ( $price > ( $cur_price [ 'price' ] + ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) ? ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) : (( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) - ((( $price - $cur_price [ 'price' ]) - ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) * - 1 )));
$cur_price [ 'nu_' . $val ] = $cur ;
}
}
if ( $price == $cur_price [ 'price' ]) {
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( isset ( $cur_price [ 'nu_' . $val ]) && isset ( $u -> rep [ 'nu_' . $val ]) && $rt == 1 ) {
$u -> rep [ 'nu_' . $val ] += $cur_price [ 'nu_' . $val ];
$r = mysql_query ( 'UPDATE `rep` SET `nu_' . $val . '` = "' . $u -> rep [ 'nu_' . $val ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
if ( $r ) {
$rt = 1 ;
} else {
$rt = 0 ;
}
}
}
if ( $rt == 1 ) {
$u -> info [ 'money' ] += 10 ;
$u -> rep [ 'add_money' ] += 10 ;
mysql_query ( 'UPDATE `rep` SET `add_money` = "' . $u -> rep [ 'add_money' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'UPDATE `users` SET `money` = "' . $u -> info [ 'money' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
echo '<font color="red"><b>Вы успешно приобрели 10 кр. за ' . $price . ' ед. награды</b></font><br>' ;
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
} else {
echo 'Недостаточно репутации.' ;
}
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
} elseif ( $_GET [ 'buy1' ] == 4 ) { // Особенности
$price = 3000 ;
$cur_price = [ 'price' => 0 ];
if ( 5 - $u -> rep [ 'add_skills2' ] > 0 && $u -> rep [ 'allrep' ] - $u -> rep [ 'allnurep' ] >= $price ) { // Особенности
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( ! ( $cur_price [ 'price' ] >= $price )) {
$cur_price [ 'price' ] += $cur = ( $price > ( $cur_price [ 'price' ] + ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) ? ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) : (( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ]) - ((( $price - $cur_price [ 'price' ]) - ( $u -> rep [ 'rep' . $val ] - $u -> rep [ 'nu_' . $val ])) * - 1 )));
$cur_price [ 'nu_' . $val ] = $cur ;
}
}
if ( $price == $cur_price [ 'price' ]) {
foreach ( $dungeon [ 'list' ] as $key => $val ) {
if ( isset ( $cur_price [ 'nu_' . $val ]) && isset ( $u -> rep [ 'nu_' . $val ]) && $rt == 1 ) {
$u -> rep [ 'nu_' . $val ] += $cur_price [ 'nu_' . $val ];
$r = mysql_query ( 'UPDATE `rep` SET `nu_' . $val . '` = "' . $u -> rep [ 'nu_' . $val ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
if ( $r ) {
$rt = 1 ;
} else {
$rt = 0 ;
}
}
}
if ( $rt == 1 ) {
$u -> info [ 'sskills' ] += 1 ;
$u -> rep [ 'add_skills2' ] += 1 ;
mysql_query ( 'UPDATE `rep` SET `add_skills2` = "' . $u -> rep [ 'add_skills2' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
mysql_query ( 'UPDATE `stats` SET `sskills` = "' . $u -> info [ 'sskills' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
echo '<font color="red"><b>Вы успешно приобрели 1 особенность за ' . $price . ' ед. награды</b></font><br>' ;
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
} else {
echo 'Недостаточно репутации.' ;
}
} else {
echo '<font color="red"><b>Ничего не получилось...</b></font><br>' ;
}
}
}
?>
< fieldset >
< legend > Награда : < b > < ? = ( isset ( $rt ) && $rt == 1 ? ( $u -> rep [ 'allrep' ] - $u -> rep [ 'allnurep' ]) - $cur_price [ 'price' ] : ( $u -> rep [ 'allrep' ] - $u -> rep [ 'allnurep' ])); ?>
ед .</ b ></ legend >
< table >
< tr >
< td > Способность ( еще < ? = ( 25 - $u -> rep [ 'add_stats' ]) ?> )</td>
< td style = 'padding-left: 10px' > за < ? = 2000 + ( $u -> rep [ 'add_stats' ] * 100 ); ?> ед.</td>
< td style = 'padding-left: 10px' >< input type = 'button' value = 'Купить'
onclick = " if (confirm('Купить: Способность? \n \n Купив способность, Вы сможете увеличить характеристики персонажа. \n Например, можно увеличить силу.')) { location='main.php?rz=1&buy1=1'} " />
</ td >
</ tr >
< tr >
< td > Умение ( еще < ? = ( 10 - $u -> rep [ 'add_skills' ]) ?> )</td>
< td style = 'padding-left: 10px' > за 10000 ед .</ td >
< td style = 'padding-left: 10px' >< input type = 'button' value = 'Купить'
onclick = " if (confirm('Купить: Умение? \n \n Умение даёт возможность почуствовать себя мастером меча, топора, магии и т.п.')) { location='main.php?rz=1&buy1=2'} " />
</ td >
</ tr >
< tr >
< td > Деньги ( 10 кр . ) </ td >
< td style = 'padding-left: 10px' > за 100 ед .</ td >
< td style = 'padding-left: 10px' >< input type = 'button' value = 'Купить'
onclick = " if (confirm('Купить: Деньги (10 кр.)? \n \n Награду можно получить полновесными кредитами.')) { location='main.php?rz=1&buy1=3'} " />
</ td >
</ tr >
< tr >
< td > Особенность ( еще < ? = ( 5 - $u -> rep [ 'add_skills2' ]) ?> )</td>
< td style = 'padding-left: 10px' > за 3000 ед .</ td >
< td style = 'padding-left: 10px' >< input type = 'button' value = 'Купить'
onclick = " if (confirm('Купить: Особенность? \n \n Особенность - это дополнительные возможности персонажа, не дающие преимущества в боях. \n Например, можно увеличить скорость восстановления HP')) { location='main.php?rz=1&buy1=4'} " />
</ td >
</ tr >
</ table >
</ fieldset >
< ? php
$chk = mysql_fetch_array (
mysql_query (
'SELECT COUNT(`u`.`id`),SUM(`m`.`price1`) FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `m`.`type` = "61" AND `u`.`delete` = "0" AND `u`.`inOdet` = "0" AND `u`.`inShop` = "0" AND `u`.`inTransfer` = "0" AND `u`.`uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1000'
)
);
if ( isset ( $_GET [ 'buy777' ]) && $chk [ 0 ] > 0 ) {
?>
< fieldset style = 'margin-top:15px;' >
< p >< span style = " padding-left: 10px " >
2023-03-31 18:42:06 +00:00
< ? php
2023-12-01 21:27:45 +00:00
$chk_cl = mysql_query (
'SELECT `u`.`id`,`m`.`price1` FROM `items_users` AS `u` LEFT JOIN `items_main` AS `m` ON `u`.`item_id` = `m`.`id` WHERE `m`.`type` = "61" AND `u`.`delete` = "0" AND `u`.`inOdet` = "0" AND `u`.`inShop` = "0" AND `u`.`inTransfer` = "0" AND `u`.`uid` = "' . $u -> info [ 'id' ] . '" LIMIT 1000'
);
while ( $chk_pl = mysql_fetch_array ( $chk_cl )) {
if ( mysql_query ( 'UPDATE `items_users` SET `delete` = "' . time () . '" WHERE `id` = "' . $chk_pl [ 'id' ] . '" LIMIT 1' )) {
}
{
$x ++ ;
$prc += $chk_pl [ 'price1' ];
}
}
$u -> info [ 'money' ] += $prc ;
mysql_query ( 'UPDATE `users` SET `money` = "' . $u -> info [ 'money' ] . '" WHERE `id` = "' . $u -> info [ 'id' ] . '" LIMIT 1' );
echo '<font color="red"><b>Вы успешно сдали чеки в количестве ' . $x . ' шт. на сумму ' . $prc . ' кр.</b></font><br>' ;
$chk [ 0 ] = 0 ;
?>
2022-06-06 21:30:34 +00:00
</ span ></ p >
2023-12-01 21:27:45 +00:00
</ fieldset >< ? php
}
if ( $chk [ 0 ] > 0 ) {
?>
< input type = 'button' value = 'Сдать чеки'
onclick = " if (confirm('Сдать все чеки (<?= $chk[0] ?> шт.) находящиеся у В а с в инвентаре за <?= $chk[1] ?> кр. ?')) { location='main.php?rz=1&buy777=1'} " />
< ? php } ?>
< fieldset style = 'margin-top:15px;' >
< table >
< ? php
foreach ( $dungeon [ 'list' ] as $key => $val ) {
//if( $u->rep['rep'.$val] > 0 ) {
echo ' < tr >
< td width = " 200 " > Репутация в ' . ucfirst(str_replace(' city ', ' city ', $val)) . ' :</ td >
< td > ' . $u->rep[' rep ' . $val] . ' ед . </ td >
2022-06-06 21:30:34 +00:00
</ tr > ' ;
2023-12-01 21:27:45 +00:00
//}
}
?>
</ table >
< legend > Текущая репутация :</ legend >
</ fieldset >
</ div >
< ? php
} else {
if ( $dungeonGo == 1 ) {
if ( $u -> info [ 'dn' ] == 0 ) {
?>
< table width = " 350 " border = " 0 " cellspacing = " 0 " cellpadding = " 0 " >
< tr >
< td valign = " top " >
< form id = " from " autocomplete = " off " name = " from " action = " main.php?pz1=<?= $code ; ?> " method = " post " >
< fieldset style = 'padding-left: 5; width=50%' >
< legend >< b > Группа </ b ></ legend >
Комментарий
< input type = " text " name = " text " maxlength = " 40 " size = " 40 " />
< br />
Пароль
< input type = " password " name = " pass " maxlength = " 25 " size = " 25 " />
< br />
< input type = " submit " name = " add " value = " Создать группу " />
& nbsp ; < br />
</ fieldset >
</ form >
</ td >
</ tr >
</ table >
< ? php
} else {
$psh_start = '' ;
if ( isset ( $zv [ 'id' ])) {
if ( $zv [ 'uid' ] == $u -> info [ 'id' ]) {
$psh_start = '<INPUT type=\'button\' name=\'start\' value=\'Начать\' onClick="top.frames[\'main\'].location = \'main.php?start=1&rnd=' . $code . '\'"> ' ;
}
echo '<br><FORM autocomplete="off" id="REQUEST" method="post" style="width:210px;" action="main.php?rnd=' . $code . ' " >
2022-06-06 21:30:34 +00:00
< FIELDSET style = \ ' padding - left : 5 ; width = 50 % \ ' >
2023-01-10 16:29:32 +00:00
< LEGEND >< B > Группа </ B > </ LEGEND >
2023-12-01 21:27:45 +00:00
' . $psh_start . '
2023-01-10 16:29:32 +00:00
< INPUT type = \ ' submit\ ' name = \ ' leave\ ' value = \ ' Покинуть группу\ ' >
2022-06-06 21:30:34 +00:00
</ FIELDSET >
</ FORM > ' ;
2023-12-01 21:27:45 +00:00
}
}
} else {
echo 'Поход в пещеры разрешен один раз в два часа. Осталось еще: ' . Conversion :: secondsToTimeout (
2024-05-15 13:42:28 +00:00
60 * 60 * 2 - time () + $dungeonTimeout
2023-12-01 21:27:45 +00:00
) . '<br><small style="color:grey">Н о Вы всегда можете приобрести ключ от прохода у любого "копателя пещер" в Торговом зале ;)</small>' ;
}
}
2022-06-06 21:30:34 +00:00
}
2023-12-01 21:27:45 +00:00