game/modules_data/location/ab/hram.php
Ivor Barhansky a591872949 dev-runes (#7)
Closes #1 #2 #3 #4 #5 #6.
Под рассчёт, $150.

Co-authored-by: Ivor Barhansky <me@lopar.space>
Reviewed-on: new-combats.com/game#7
2022-06-11 11:32:31 +00:00

477 lines
25 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
if (!defined('GAME') || $u->room['file'] != 'ab/hram') {
exit();
}
require_once $_SERVER['DOCUMENT_ROOT'] . '/_incl_data/class/Insallah/Runes/Runes.php';
$qst_hram = true;
if (isset($_GET['itm']) && $qst_hram && $_GET['itm'] > 0) {
if ($_GET['r'] == 1) {
$_GET['itm'] = (int)$_GET['itm'];
//Переплавка вещей
$resz = $u->plavka($_GET['itm'], 1);
$re = '<font color=red><b>' . $resz . '</b></font>';
unset($resz);
} elseif ($_GET['r'] == 2) {
//Переплавка рун
$resz = '';
$itm123 = explode('x', $_GET['itm']);
$itm1 = (int)$itm123[0];
$itm2 = (int)$itm123[1];
$itm3 = (int)$itm123[2];
$q = 'SELECT `a`.`id` AS `iid`,`a`.*,`b`.* FROM `items_users` AS `a` LEFT JOIN `items_main` AS `b` ON (`b`.`id` = `a`.`item_id` AND `b`.`type` = 31) WHERE `a`.`id` = %d AND `a`.`uid` = %d AND `a`.`delete` = 0 AND `a`.`inShop` = 0 AND `a`.`inTransfer` = 0';
$itm1 = mysql_fetch_array(mysql_query(sprintf($q, $itm1, $u->info['id'])));
$itm2 = mysql_fetch_array(mysql_query(sprintf($q, $itm2, $u->info['id'])));
$itm3 = mysql_fetch_array(mysql_query(sprintf($q, $itm3, $u->info['id'])));
if ($itm1['iid'] == $itm2['iid'] || $itm2['iid'] == $itm3['iid'] || $itm1['iid'] == $itm3['iid']) {
$resz = 'Не удалось расплавить одну руну, она не сгорела.';
} elseif (!isset($itm1['id']) || !isset($itm2['id']) || !isset($itm3['id'])) {
$resz = 'Недостаточно компонентов для преобразования.';
}
if (empty($resz)) {
$check = \Insallah\Runes::checkParts($itm1['item_id'], $itm2['item_id'], $itm3['item_id'], $u->rep['rep1']);
if (empty($check)) {
$resz = 'Заготовки должны быть одного уровня или у вас недостаточен уровень прокачки храма знаний!';
} else {
mysql_query(sprintf($check['query'], $u->info['id']));
$newRune = \Insallah\Runes::get($check['rune_level']);
if (!empty($newRune)) {
$u->addItem($check['rune_id'], $u->info['id'], $newRune[0]);
$resz = $newRune[1];
mysql_query(sprintf('update items_users set `delete` = unix_timestamp() where id in (%d, %d, %d)',
$itm1['iid'], $itm2['iid'], $itm3['iid']));
if (date('w') == 0 || date('w') == 6 || date('w') == 2) {
$u->repexp_add($u->info['id'], 10); //Репутация плавка рун +10
}
}
}
}
} elseif ($itm1['level'] == 1) {
//$resz = 'Унируны нельзя преобразовывать';
$itm4 = [];
$sp = mysql_query('SELECT * FROM `items_main` WHERE `level` = "' . $itm1['level'] . '" AND `type` = 31
AND `id` != "' . $itm1['item_id'] . '" AND `id` != "' . $itm2['item_id'] . '" AND `id` != "' . $itm3['item_id'] . '" AND `id` < 6000');
while ($pl = mysql_fetch_array($sp)) {
$itm4[] = $pl;
}
$itm4 = $itm4[rand(0, count($itm4) - 1)];
mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm3['iid'] . '" OR `id` = "' . $itm2['iid'] . '" OR `id` = "' . $itm1['iid'] . '"');
$u->addItem($itm4['id'], $u->info['id']);
$resz = 'Удачно преобразованы руны &quot;' . $itm1['name'] . '&quot;,&quot;' . $itm2['name'] . '&quot; и &quot;' . $itm3['name'] . '&quot; в &quot;' . $itm4['name'] . '&quot;.';
} else {
$itm4 = [];
$sp = mysql_query('SELECT * FROM `items_main` WHERE `level` = "' . $itm1['level'] . '" AND `type` = 31
AND `id` != "' . $itm1['item_id'] . '" AND `id` != "' . $itm2['item_id'] . '" AND `id` != "' . $itm3['item_id'] . '"');
while ($pl = mysql_fetch_array($sp)) {
$itm4[] = $pl;
}
$itm4 = $itm4[rand(0, count($itm4) - 1)];
mysql_query('UPDATE `items_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $itm3['iid'] . '" OR `id` = "' . $itm2['iid'] . '" OR `id` = "' . $itm1['iid'] . '"');
$u->addItem($itm4['id'], $u->info['id']);
$resz = 'Удачно преобразованы руны &quot;' . $itm1['name'] . '&quot;,&quot;' . $itm2['name'] . '&quot; и &quot;' . $itm3['name'] . '&quot; в &quot;' . $itm4['name'] . '&quot;.';
}
$re = '<font color=red><b>' . $resz . '</b></font>';
unset($resz);
}
?>
<style type="text/css">
.pH3 {
COLOR: #8f0000;
FONT-FAMILY: Arial;
FONT-SIZE: 12pt;
FONT-WEIGHT: bold;
}
.class_ {
font-weight: bold;
color: #C5C5C5;
cursor: pointer;
}
.class_st {
font-weight: bold;
color: #659BA3;
cursor: pointer;
}
.class__ {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #659BA3;
}
.class__st {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #659BA3;
font-size: 10px;
}
.class_old {
font-weight: bold;
color: #919191;
cursor: pointer;
}
.class__old {
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
background-color: #838383;
font-size: 10px;
}
</style>
<div id="hint3" style="visibility:hidden"></div>
<? if (isset($_GET['r'])) { ?>
<TABLE width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<div align="center" class="pH3">Храм Знаний <? if ($_GET['r'] == 2) {
echo ', Алтарь рун';
} elseif ($_GET['r'] == 1) {
echo ', Алтарь предметов';
} ?></div>
<div align="left"><? if ($re != '') {
echo '<font color="red"><b>' . $re . '</b></font>';
} ?></div>
<td width="280" valign="top" align="right">
<table align="right" cellpadding="0" cellspacing="0">
<tr>
<td width="100%">&nbsp;</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr align="right" valign="top">
<td><!-- -->
<? echo $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="https://img.new-combats.com/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=3.180.0.267&rnd=<? echo $code; ?>';"
title="<? thisInfRm('3.180.0.267', 1); ?>">Центральная
площадь</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td nowrap="nowrap">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br/><br/>
<input type="button" class="btn" value="Обновить"
onclick="location.href = '<?= 'main.php?r=' . floor($_GET['r']) ?>';"/> &nbsp;
<input class="btn" type="button" value="Вернуться" onclick="location.href = 'main.php';"/>
<br><br>
</td>
</tr>
</table>
<div id="textgo" style="visibility:hidden;"></div>
<?php
}
if (!isset($_GET['r'])) {
//Диалоговый перс
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="250" valign="top"><? $usee = $u->getInfoPers($u->info['id'], 0);
if ($usee) {
echo $usee[0];
} else {
echo 'information is lost.';
} ?></td>
<td width="230" valign="top" style="padding-top:19px;"><? include('modules_data/stats_loc.php'); ?></td>
<td valign="top">
<div align="right">
<?= !empty($re) ? '<span style="color: red; font-weight: bold">' . $re . '</span>' : '' ?>
<div style="max-width: 500px;">
<div style="position:relative; cursor: pointer;" id="ione"><img
src="https://img.new-combats.com/city/ap_bg13_1.jpg" alt=""
name="img_ione" width="500" height="268" border="1"
id="img_ione"/>
<div id="buttons_on_image"
style="cursor:pointer; font-weight:bold; color:#D8D8D8; font-size:10px;">
&nbsp; <span onmousemove="this.runtimeStyle.color = 'white';"
onmouseout="this.runtimeStyle.color = this.parentElement.style.color;"
onclick="window.open('https://new-combats.com/forum', 'forum', 'location=yes,menubar=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes,scrollbars=yes')">Форум</span>
&nbsp;
</div>
<script language="javascript" type="text/javascript">
<!--
if (document.getElementById('ione')) {
document.getElementById('ione').appendChild(document.getElementById('buttons_on_image'));
document.getElementById('buttons_on_image').style.position = 'absolute';
document.getElementById('buttons_on_image').style.bottom = '8px';
document.getElementById('buttons_on_image').style.right = '23px';
} else {
document.getElementById('buttons_on_image').style.display = 'none';
}
-->
</script>
<div style="position: absolute; left: 437px; top: 96px; width: 48px; height: 33px; z-index: 94;">
<img <? thisInfRm('1.180.0.323'); ?>
src="https://img.new-combats.com/city/ap_exit.gif"
width="57" height="26" class="aFilter"/></div>
<div style="position: absolute; left: 191px; top: 12px; width: 75px; height: 68px; z-index: 94;">
<img onclick="location.href='main.php?talk=11'"
src="https://img.new-combats.com/city/1269_igsetee.png"
width="120" height="220" class="aFilter"
title="Диалог с Арквиерро"/></div>
<div style="position: absolute; left: 30px; top: 127px; width: 48px; height: 33px; z-index: 94;">
<img <? if ($qst_hram == false) {
echo 'onclick="alert(\'Арквиерро: Вы не допущены к котлам! (Выполните задание)\');"';
} else { ?> onclick="location.href='main.php?r=1'" <? } ?>
title="Алтарь Предметов"
src="https://img.new-combats.com/city/ap_altar1.gif"
width="147" height="93" class="aFilter"/></div>
<div style="position: absolute; left: 333px; top: 129px; width: 48px; height: 33px; z-index: 94;">
<img <? if ($qst_hram == false) {
echo 'onclick="alert(\'Арквиерро: Вы не допущены к котлам! (Выполните задание)\');"';
} else { ?> onclick="location.href='main.php?r=2'" <? } ?>
title="Алтарь Рун"
src="https://img.new-combats.com/city/ap_altar2.gif"
width="147" height="93" class="aFilter"/></div>
<div style="position: absolute; left: 437px; top: 96px; width: 48px; height: 33px; z-index: 94;">
<img <? thisInfRm('3.180.0.267'); ?>
src="https://img.new-combats.com/city/ap_exit.gif"
width="57" height="26" class="aFilter"/></div>
<div id="snow"></div>
<?= $goline ?> </div>
</div>
<div style="display:none; height:0px " id="moveto"></div>
<INPUT class="btn"
onclick="window.open('/forum?read=974&rnd=1', 'help', 'height=500,width=1024,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes')"
value="Подсказка для новичков" style="color:red;" type="button">
</small>
</div>
</td>
<td></td>
</tr>
</table>
<hr>
<small>
<br/>
<strong>Внимание!</strong> Никогда и никому не говорите пароль от своего персонажа. Не вводите пароль на
других
сайтах, типа &quot;новый город&quot;, &quot;лотерея&quot;, &quot;там, где все дают на халяву&quot;. Пароль
не
нужен ни паладинам, ни кланам, ни администрации, <U>только взломщикам</U> для кражи вашего героя.<br/>
<em>Администрация.</em></small> <br/>
<?= $rowonmax ?>
<br/>
<?php
} elseif ($_GET['r'] == 1) {
$itmAll = '';
$itmAllSee = '';
$itmAll = $u->genInv(11, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` NOT LIKE "%fromshop=2%" ORDER BY `lastUPD` DESC');
if ($itmAll[0] == 0) {
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">ПУСТО (нет подходящих предметов)</td></tr>';
} else {
$itmAllSee = $itmAll[2];
}
//Удачно растворен предмет "Укрепленный Костыль". Получена руна "Моно Бауни".
?>
<script>
function takeItRun(img, id, vl) {
if (id != urlras) {
urlras = id;
document.getElementById('use_item').innerHTML = '<img src="https://<?=$c['img'];?>/i/items/' + img + '" title="Предмет для переплавки"/><br><a href="javascript:void(0);" onClick="cancelItRun()">Отменить</a>';
if (vl == 0) {
document.getElementById('add_rep').innerHTML = ' + ' + vl + '<br><div><b><font color="red"><small>(Необходим предмет подходящего уровня, иначе вы не получите репутацию)</small></font></b></div>';
} else {
document.getElementById('add_rep').innerHTML = ' + ' + vl;
}
} else {
cancelItRun();
}
}
function cancelItRun() {
urlras = 0;
document.getElementById('use_item').innerHTML = 'Предмет не выбран';
document.getElementById('add_rep').innerHTML = '';
}
urlras = 0;
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="top" bgcolor="#D6D6D6"><?= $u->microLogin($u->info['id'], 1) ?></td>
<td align="center" valign="top" bgcolor="#D6D6D6"><B>Подходящие предметы в инвентаре</B></td>
</tr>
<tr>
<td width="300" valign="top">
<b>Репутация: <? echo 0 + $u->rep['rep1']; ?></b><span id="add_rep"></span>
<br/><br/>
<center><span id="use_item">Предмет не выбран</span><br/><br/>
<input class="btn" type="button" value="Растворить"
onclick="location = '?r=<?= $_GET['r'] . '&rnd=' . $code . '&itm='; ?>'+urlras;"/>
</center>
<br/>
<br/><small>
<font color="red">Внимание!</font><br/>
Предметы при растворении и заготовки при слиянии необратимо теряются.</small>
</td>
<td valign="top">
<!-- -->
<table width="100%" border="0" cellspacing="1" align="center" cellpadding="0" bgcolor="#A5A5A5">
<? if ($u->info['invBlock'] == 0) {
echo $itmAllSee;
} else {
echo '<div align="center" style="padding:10px;background-color:#A5A5A5;"><form method="post" action="main.php?inv=1&otdel=' . $_GET['otdel'] . '&relockinvent"><b>Рюкзак закрыт.</b><br><img title="Замок для рюкзака" src="https://img.new-combats.com/i/items/box_lock.gif"> Введите пароль: <input id="relockInv" name="relockInv" type="password"><input type="submit" value="Открыть"></form></div>';
} ?>
</table>
<!-- -->
</td>
</tr>
</table>
<? } elseif ($_GET['r'] == 2) {
$itmAll = '';
$itmAllSee = '';
$itmAll = $u->genInv(14, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete` = "0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = 31 OR`im`.`type` = 72) ORDER BY `lastUPD` DESC');
if ($itmAll[0] == 0) {
$itmAllSee = '<tr><td align="center" bgcolor="#e2e0e0">ПУСТО (нет подходящих предметов)</td></tr>';
} else {
$itmAllSee = $itmAll[2];
}
//Удачно растворен предмет "Укрепленный Костыль". Получена руна "Моно Бауни".
?>
<script>
function takeItRun(img, id, vl) {
if (id != urlras) {
urlras = id;
document.getElementById('use_item').innerHTML = '<img src="https://<?=$c['img'];?>/i/items/' + img + '" title="Предмет для переплавки"/><br><a href="javascript:void(0);" onClick="cancelItRun()">Отменить</a>';
} else {
cancelItRun();
}
}
function cancelItRun() {
urlras = 0;
document.getElementById('use_item').innerHTML = 'Пусто';
document.getElementById('add_rep').innerHTML = '';
}
urlras = 0;
//
function takeItRun2(img, id, vl) {
if (id != urlras2) {
urlras2 = id;
document.getElementById('use_item2').innerHTML = '<img src="https://<?=$c['img'];?>/i/items/' + img + '" title="Предмет для переплавки"/><br><a href="javascript:void(0);" onClick="cancelItRun2()">Отменить</a>';
} else {
cancelItRun2();
}
}
function cancelItRun2() {
urlras2 = 0;
document.getElementById('use_item2').innerHTML = 'Пусто';
}
urlras2 = 0;
//
function takeItRun3(img, id, vl) {
if (id != urlras3) {
urlras3 = id;
document.getElementById('use_item3').innerHTML = '<img src="https://<?=$c['img'];?>/i/items/' + img + '" title="Предмет для переплавки"/><br><a href="javascript:void(0);" onClick="cancelItRun3()">Отменить</a>';
} else {
cancelItRun3();
}
}
function cancelItRun3() {
urlras3 = 0;
document.getElementById('use_item3').innerHTML = 'Пусто';
}
urlras3 = 0;
//
function massTakeItRun(img, id, vl) {
if (urlras == id) {
takeItRun(img, id, vl);
} else if (urlras2 == id) {
takeItRun2(img, id, vl);
} else if (urlras3 == id) {
takeItRun3(img, id, vl);
} else if (urlras == 0) {
takeItRun(img, id, vl);
} else if (urlras2 == 0) {
takeItRun2(img, id, vl);
} else {
takeItRun3(img, id, vl);
}
}
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="top" bgcolor="#D6D6D6"><?= $u->microLogin($u->info['id'], 1) ?></td>
<td align="center" valign="top" bgcolor="#D6D6D6"><b>Подходящие предметы в инвентаре</b></td>
</tr>
<tr>
<td width="300" valign="top">
<b>Репутация: <? echo 0 + $u->rep['rep1']; ?></b><span id="add_rep"></span>
<br/><br/>
<center>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="80" align="center"><span id="use_item">Пусто</span></td>
<td width="80" align="center"><span id="use_item2">Пусто</span></td>
<td width="80" align="center"><span id="use_item3">Пусто</span></td>
</tr>
</table>
<br/><br/>
<input class="btn" type="button" value="Преобразовать"
onclick="location.href = '?r=<?= $_GET['r'] . '&rnd=' . $code . '&itm='; ?>'+urlras+'x'+urlras2+'x'+urlras3;"/>
</center>
<br/>
<br/><small>
<font color="red">Внимание!</font><br/>
Предметы при растворении и заготовки при слиянии необратимо теряются.</small>
</td>
<td valign="top">
<!-- -->
<table width="100%" border="0" cellspacing="1" align="center" cellpadding="0" bgcolor="#A5A5A5">
<? if ($u->info['invBlock'] == 0) {
echo $itmAllSee;
} else {
echo '<div align="center" style="padding:10px;background-color:#A5A5A5;"><form method="post" action="main.php?inv=1&otdel=' . $_GET['otdel'] . '&relockinvent"><b>Рюкзак закрыт.</b><br><img title="Замок для рюкзака" src="https://img.new-combats.com/i/items/box_lock.gif"> Введите пароль: <input id="relockInv" name="relockInv" type="password"><input type="submit" value="Открыть"></form></div>';
} ?>
</table>
<!-- -->
</td>
</tr>
</table>
<? }