2018-01-28 16:40:49 +00:00
< ? php
2021-08-25 15:24:12 +00:00
use Battles\Database\DBPDO ;
use Battles\Item ;
use Battles\Template ;
use Battles\User ;
use Battles\UserInfo ;
2020-09-30 19:12:34 +00:00
require_once " functions.php " ;
require_once " startpodzemel.php " ;
2021-08-25 15:24:12 +00:00
const QUEST_ITEM_NAME = [
'g' => 'Гайка' ,
'v' => 'Вентиль' ,
'b' => 'Болт' ,
'z' => 'Жетон' ,
'k' => 'Ключиик' ,
];
$fd = DBPDO :: $db -> fetch ( 'select location, name, glava from labirint where user_id = ?' , User :: $current -> getId ());
$vb = DBPDO :: $db -> fetch ( 'select n18 from podzem3 where glava = ? and name = ?' , [ $fd [ 'glava' ], 'Канализация 1 этаж' ]);
if ( $fd [ 'location' ] != '28' || $fd [ 'name' ] != 'Канализация 1 этаж' || $vb [ 'n18' ] != '8' ) {
return ;
}
$userInfo = new UserInfo ( User :: $current -> getId ());
Template :: header ( 'Подземелье Луки' );
?>
< div id = hint3 class = ahint ></ div >
< TABLE width = 100 % cellspacing = 0 cellpadding = 0 border = 0 >
< TR >
< TD valign = top >
< div style = " width: 250px; text-align: center; " >
< ? php $userInfo -> showUserDoll (); ?>
</ div >
</ TD >
< TD >
< i >
< ? php
$gag = DBPDO :: $db -> fetchAll ( 'select * from qwest where login = ?' , User :: $current -> getLogin ());
foreach ( $gag as $qw ) {
$name_qwest = $qw [ 'name_items' ];
if ( $name_qwest === QUEST_ITEM_NAME [ 'k' ]) {
$qwest = 1 ;
$name_qw = 'kluchiik' ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
}
$qwus = DBPDO :: $db -> fetch ( 'select * from qwest where login = ? and name_qwest = ?' , [ User :: $current -> getLogin (), $name_qw ]);
$qwest_status = $qwus [ " status " ];
$qwesta = DBPDO :: $db -> fetch ( 'select * from inventory where item_type = 200 and name = ? and owner_id = ?' , [ QUEST_ITEM_NAME [ 'k' ], User :: $current -> getId ()]);
if ( $qwesta ) {
$ok_qwest = " 1 " ;
}
if ( ! $_GET [ 'd' ]) {
print " Запах... ОНИ! Мою хороошую, мою чистую канализацию испортилиии... " ;
}
if ( $_GET [ 'd' ] == '1' ) {
print " О Н ... Он был тут первым... САМЫМ! Гайки, болты, вентили... чинииил... Лука помогал ему... А он... О Н ! он ПРЕДАААЛ!! Луку... ЛУКУ ОБИИИИДЕЛ! Он... он теперь не с намиии... ПОМОЙКАаа... Запаааах... Найди.. УБЕЕЙ! а .. Лука, лука даст тебе новые жетоны. Целых 3!!" ;
}
if ( $_GET [ 'd' ] == '1.1' ) {
print " Ты НАШООЛ их.? Лука хочет менять! Лука тебе даст жетоны, а ты дашь Луке ИХ! Согла-а -асен? " ;
}
if ( $qwest_status != 'ok' ) {
if ( $ok_qwest == '1' && $_GET [ 'd' ] == '1.2' ) {
print " О о о ... Лука рад... Лука очень благодарен тебе... Лука даст тебе подарок... Лука даст тебе одно из двух... Лука даст Гайку силы или Гайку мудрости... выбирай..." ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $ok_qwest == '1' && $_GET [ 'd' ] == '1.3' ) {
$query = 'insert into inventory (owner_id, name, add_strength, add_criticals, item_type, durability) values (?,?,?,?,?,?)' ;
$item_name = 'Гайка силы' ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $ok_qwest == '1' && $_GET [ 'd' ] == '1.4' ) {
$query = 'insert into inventory (owner_id, name, add_dexterity, add_evasion, item_type, durability) values (?,?,?,?,?,?)' ;
$item_name = 'Гайка ловкости' ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $ok_qwest == 1 && ( $_GET [ 'd' ] == 1.3 || $_GET [ 'd' ] == 1.4 )) {
DBPDO :: $db -> execute ( $query , [ User :: $current -> getId (), $item_name , 3 , 30 , Item :: ITEM_TYPE_AMULET , 20 ]);
$query = 'delete from inventory where owner_id = ? and item_type = 200 and name = ?' ;
DBPDO :: $db -> execute ( $query , [ User :: $current -> getId (), QUEST_ITEM_NAME [ 'k' ]]);
$query = 'update qwest set status = ? where name_qwest = ? and login = ?' ;
DBPDO :: $db -> execute ( $query , [ 'ok' , 'kluchiik' , User :: $current -> getLogin ()]);
echo sprintf ( '<span style="font-size: 11px; color: #f00">Вы получили предмет %s.</span><br><br>Лука говорит спасибо...' , $item_name );
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
}
2020-07-06 13:22:33 +00:00
2021-08-25 15:24:12 +00:00
if (( $_GET [ 'd' ] == '2' ) && ( $user [ 'level' ] >= 4 ) && ( $user [ 'level' ] < 7 )) {
print " Цена-а а ? У Луки много жетонов. Лука не жаадный. Лука берет 3 Гайки и отдает жетон. Лука дает жетон за целый болт. Лука дает ТРИ жетона за найденный вентиль.<br> Лука дает жетоны серебрянные, если Гайки и Вентили Чистые, а Болт Длинный! Лука дает золотые жетоны, если Гайки с Резьбой, Вентиль Рабочий, а Болт Нужный! " ;
}
if (( $_GET [ 'd' ] == '2' ) && ( $user [ 'level' ] >= 7 ) && ( $user [ 'level' ] <= 8 )) {
print " Цена-а а ? У Луки много жетонов. Лука не жаадный. Лука берет 9 Гаек и отдает жетон. Лука дает жетон за три болта. Лука дает целый жетон за найденный вентиль.<br> Лука дает жетоны серебрянные, если Гайки и Вентили Чистые, а Болт Длинный! Лука дает золотые жетоны, если Гайки с Резьбой, Вентиль Рабочий, а Болт Нужный! " ;
}
/////////////////////
if ( $_GET [ 'd' ] == '3' ) {
$query = 'select item_id, durability, name from inventory where item_type = 200 and name in (?,?,?) and owner_id = ?' ;
$a = DBPDO :: $db -> fetchAll ( $query , [ QUEST_ITEM_NAME [ 'g' ], QUEST_ITEM_NAME [ 'v' ], QUEST_ITEM_NAME [ 'b' ], User :: $current -> getId ()]);
unset ( $query );
2018-01-28 16:40:49 +00:00
2021-08-25 15:24:12 +00:00
foreach ( $a as $row ) {
if ( $row [ 'name' ] == QUEST_ITEM_NAME [ 'g' ]) {
$total_mass += $row [ 'maxdur' ];
$alls_id = $row [ 'id' ];
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $row [ 'name' ] == QUEST_ITEM_NAME [ 'b' ]) {
$total_mass_b += $row [ 'maxdur' ];
$vls_id = $row [ 'id' ];
}
if ( $row [ 'name' ] == QUEST_ITEM_NAME [ 'v' ]) {
$total_mass_v = + $row [ 'maxdur' ];
$bls_id = $row [ 'id' ];
2020-07-06 13:22:33 +00:00
}
}
2021-08-25 15:24:12 +00:00
if ( in_array ( User :: $current -> getLevel (), [ 4 , 5 , 6 ])) {
$lim = 3 ;
$max = 60 ;
$vsego_v = $total_mass_v ;
$ziton_v = $total_mass_v * 3 ;
$vsego_b = $total_mass_b ;
$ziton_b = $total_mass_b ;
} elseif ( in_array ( User :: $current -> getLevel (), [ 7 , 8 ])) {
$lim = 9 ;
$max = 200 ;
$vsego_v = $total_mass_v ;
$ziton_v = $total_mass_v ;
$lim_b = 9 ;
$max_b = 200 ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
$ziton = intval ( $total_mass / $lim );
if ( $ziton > $max ) {
$ziton = $max ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
$vsego = $ziton * $lim ;
2020-07-06 13:22:33 +00:00
2021-08-25 15:24:12 +00:00
$ziton_b = intval ( $total_mass_b / $lim_b );
if ( $ziton_b > $max_b ) {
$ziton_b = $max_b ;
}
$vsego_b = $ziton_b * $lim_b ;
2018-01-28 16:40:49 +00:00
2021-08-25 15:24:12 +00:00
$query1 = 'delete from inventory where name = ? and owner_id = ?' ;
$query2 = 'update inventory set durability = ?, weight = ? where item_id = ?' ;
2018-01-28 16:40:49 +00:00
2021-08-25 15:24:12 +00:00
$ostalos = intval ( $total_mass - $vsego );
$ostalos_v = intval ( $total_mass_v - $vsego_v );
$ostalos_b = intval ( $total_mass_b - $vsego_b );
2018-01-28 16:40:49 +00:00
2021-08-25 15:24:12 +00:00
if ( $ostalos == 0 ) {
DBPDO :: $db -> execute ( $query1 , [ QUEST_ITEM_NAME [ 'g' ], User :: $current -> getId ()]);
} else {
DBPDO :: $db -> execute ( $query2 , [ $ostalos , $ostalos * 0.1 , $alls_id ]);
}
2018-01-28 16:40:49 +00:00
2021-08-25 15:24:12 +00:00
if ( $ostalos_v == 0 ) {
DBPDO :: $db -> execute ( $query1 , [ QUEST_ITEM_NAME [ 'v' ], User :: $current -> getId ()]);
} else {
DBPDO :: $db -> execute ( $query2 , [ $ostalos_v , $ostalos_v * 0.2 , $vls_id ]);
}
2020-07-06 13:22:33 +00:00
2021-08-25 15:24:12 +00:00
if ( $ostalos_b == 0 ) {
DBPDO :: $db -> execute ( $query1 , [ QUEST_ITEM_NAME [ 'b' ], User :: $current -> getId ()]);
} else {
DBPDO :: $db -> execute ( $query2 , [ $ostalos_b , $ostalos_b * 0.1 , $bls_id ]);
}
2020-07-06 13:22:33 +00:00
2021-08-25 15:24:12 +00:00
unset ( $query1 , $query2 );
2020-07-06 13:22:33 +00:00
2021-08-25 15:24:12 +00:00
$query1 = 'select durability from inventory where owner_id = ? and item_type = 200 and name = ?' ;
$query2 = 'update inventory set durability = durability + ?, weight = weight + ?, present = ? where owner_id = ? and item_type = 200 and name = ?' ;
$query3 = 'insert into inventory (name, durability, owner_id, item_type, weight, present) values (?,?,?,?,?,?)' ;
$all_zitons = $ziton + $ziton_v + $ziton_b ;
if ( ! empty ( $all_zitons )) {
$check = DBPDO :: $db -> fetch ( $query1 , [ User :: $current -> getId (), QUEST_ITEM_NAME [ 'z' ]]);
if ( $check [ 'durability' ] > 0 ) {
DBPDO :: $db -> execute ( $query2 , [ $all_zitons , $all_zitons * 0.1 , 'Лука' , User :: $current -> getId (), QUEST_ITEM_NAME [ 'z' ]]);
} else {
DBPDO :: $db -> execute ( $query3 , [ QUEST_ITEM_NAME [ 'z' ], $all_zitons , User :: $current -> getId (), 200 , $all_zitons * 0.1 . 'Лука' ]);
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
unset ( $query1 , $query2 , $query3 );
} else {
print " ИХ больше у тебя нету... Неси еще, Луке нужно больше ИХ! " ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $ziton > 0 ) {
print " Вы отдали: <b> $vsego </b> шт.Гаек <br> Получили: <b> $ziton </b> шт.Жетонов.<br> " ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $ziton_v > 0 ) {
print " Вы отдали: <b> $vsego_v </b> шт.Вентиль <br> Получили: <b> $ziton_v </b> шт.Жетонов.<br> " ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $ziton_b > 0 ) {
print " Вы отдали: <b> $vsego_b </b> шт.Болтов <br> Получили: <b> $ziton_b </b> шт.Жетонов. " ;
2020-07-06 13:22:33 +00:00
}
}
2021-08-25 15:24:12 +00:00
//////////////////////
2020-07-06 13:22:33 +00:00
if ( $_GET [ 'd' ] == '4' ) {
2021-08-25 15:24:12 +00:00
print " А ?..." ;
2020-07-06 13:22:33 +00:00
}
if ( $_GET [ 'd' ] == '5' ) {
2021-08-25 15:24:12 +00:00
echo 'Лука и Мартын тут живут давно... чииинят трубыы. Лука Чинит. Лука не любит пауков... Лука любит жетоны... Они красивые... Лука любит играть с ними... Мартын к паукам ушел... Теперь Лука один, чииинит...' ;
2020-07-06 13:22:33 +00:00
}
2021-08-25 15:24:12 +00:00
if ( $qwest != '1' ) {
if ( $_GET [ 'd' ] == '6' ) {
echo 'Да да! Мартын гаад... он украл у Луки важную вещь ' . QUEST_ITEM_NAME [ 'k' ] . '... убей Мартына... забери ' . QUEST_ITEM_NAME [ 'k' ] . '... принеси е г о к Луке... Лука вознаградит тебя...' ;
}
if ( $_GET [ 'd' ] == '7' ) {
if ( $qwest != '1' ) {
$T1 = DBPDO :: $db -> execute ( 'insert into qwest (user_id,login,name_qwest,name_items,id_items,dlja,zadanie,kw,status) values (?,?,?,?,?,?,?,?,?)' , [ User :: $current -> getId (), User :: $current -> getLogin (), 'kluchiik' , QUEST_ITEM_NAME [ 'k' ], '' , 'Лука' , 'Найти ключиик' , 0 , 'no' ]);
echo sprintf ( '<span style="font-size:11px; color:red;">Вы приняли задание.(Найти %s).</span><br><br>Хорошо... Лука будет ждать...' , QUEST_ITEM_NAME [ 'k' ]);
} else {
echo sprintf ( '<span style="font-size:11px; color:red;">Вы уже приняли задание.(Найти %s).</span><br><br>Н у что? Лука ждёт...' , QUEST_ITEM_NAME [ 'k' ]);
}
}
2020-07-06 13:22:33 +00:00
}
?>
2021-08-25 15:24:12 +00:00
</ i >< BR >< BR >
< ? php
//Вопросы)
if ( ! isset ( $_GET [ 'd' ])) {
print " •<A href='?act=luka&d=1'> Запах?? Ты вообще о чем? </A><BR> " ;
print " •<A href='?act=luka&d=1.1'> Я тут гайки-вентили нашел, тебе они случайно не нужны? </A><BR> " ;
if ( $qwest_status != 'ok' && $ok_qwest == '1' ) {
print " •<A href='?act=luka&d=1.2'> Вот твой ключиик! </A><BR> " ;
}
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '1' ) {
print " •<A href='?act=luka'> Понятно. Н о я хотел поговорить о другом. </A><BR> " ;
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '1.1' ) {
print " •<A href='?act=luka&d=2'> Я хочу знать, сколько жетонов ты мне дашь. </A><BR> " ;
print " •<A href='?act=luka&d=3'> Я хочу поменять ИХ на жетоны. </A><BR> " ;
print " •<A href='?act=luka'> С гайками все ясно. Вернемся назад. </A><BR> " ;
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $ok_qwest == '1' && $_GET [ 'd' ] == '1.2' ) {
print " •<A href='?act=luka&d=1.3'> Выбераю Гайку силы.</A><BR> " ;
print " •<A href='?act=luka&d=1.4'> Выбераю Гайку мудрости.</A><BR> " ;
print " •<A href='main.php?act=none'> Я, пожалуй, пойду..</A><BR> " ;
}
if ( $_GET [ 'd' ] == '1.3' ) {
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '1.4' ) {
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '2' ) {
print " •<A href='?act=luka&d=3'> Я хочу поменять ИХ на жетоны. </A><BR> " ;
print " •<A href='?act=luka'> Спасибо, за прайс-лист. </A><BR> " ;
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '3' ) {
print " •<A href='?act=luka&d=4'> Я хотел еще спросить... </A><BR> " ;
print " •<A href='main.php?act=none'> Хорошо, пойду еще принесу.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '4' ) {
print " •<A href='?act=luka&d=1.1'> Что ты там говорил про гайки-вентили? </A><BR> " ;
print " •<A href='?act=luka&d=5'> Расскажи мне о с е б е . </A><BR> " ;
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '5' ) {
print " •<A href='?act=luka&d=1.1'> Что ты там говорил про гайки-вентили? </A><BR> " ;
}
if ( $qwest != '1' && $_GET [ 'd' ] == '5' ) {
print " •<A href='?act=luka&d=6'> Может помочь чем? </A><BR> " ;
}
if ( $_GET [ 'd' ] == '5' ) {
print " •<A href='main.php?act=none'> Я, пожалуй, пойду.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '6' ) {
print " •<A href='?act=luka&d=7'> Я помогу тебе... принесу я ключиик... жди! </A><BR> " ;
print " •<A href='main.php?act=none'> Да ну тя сам разберайся.</A><BR> " ;
}
if ( $_GET [ 'd' ] == '7' ) {
print " •<A href='main.php?act=none'> Я, пойду.(конец диалога).</A><BR> " ;
}
print " </i> " ;
?>
< BR >< BR >
</ TD >
< TD >
< ? php
$buser = DBPDO :: $db -> fetch ( 'select * from users where login = ?' , 'Лука' );
//Этот класс не умеет работать с ботами! Этот вызов - заглушка!
$botInfo = new UserInfo ( 'Лука' );
$botInfo -> showUserDoll ();
?>
</ TD >
</ TR >
</ TABLE >
<!-- < DIV ID = oMenu CLASS = menu onmouseout = " closeMenu() " ></ DIV > -->
< DIV ID = " oMenu " style = " position:absolute; border:1px solid #666; background-color:#CCC; display:none; " ></ DIV >
< TEXTAREA ID = holdtext STYLE = " display:none; " ></ TEXTAREA >