room['file'] != 'remont') {
return;
}
//Предметы которые можно подогнать (гос)
$itm_podgon = [
784,
788,
1714,
1239,
1240,
];
//Комплекты подгона
$com_podgon = [
'Комплект Скорпиона' => true,
'Комплект Забытых Времен' => true,
'Комплект Утреннего Солнца' => true,
'Комплект Паука' => true,
'Комплект Злодеяний' => true,
'Комплект Кровавой Луны' => true,
];
$r = 1;
if (isset($_GET['r'])) {
$r = (int)$_GET['r'];
if ($r != 1 && $r != 2 && $r != 3 && $r != 4 && $r != 5 && $r != 6 && $r != 7 && $r != 8 && $r != 9) {
$r = 1;
}
if ($r == 6 || $r == 7) {
$r = 1;
}
}
if (isset($_GET['upgrade']) && true == false) {
//улучшение предмета
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%modif%" AND `iu`.`data` NOT LIKE "%upgrade=5%" AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['upgrade']
) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']);
if ($ir['price1'] > $ir['1price']) {
$ir['1price'] = $ir['price1'];
}
$pcena = $ir['1price'] / 2.37;
if ($ir['price2'] > $ir['2price']) {
$ir['2price'] = $ir['price2'];
}
$pcena2 = ($ir['2price'] / 2.37) * 30;
if ($pcena2 > $pcena) {
$pcena = $pcena2;
}
if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) {
$pcena = $pcena / 2.37;
}
$pcena = round($pcena + $pcena / 100 * (37.795 * ($po['upgrade'] + 1)));
if ($pcena == 0) {
$re = '
Данный предмет не подходит...
';
} elseif ($pcena <= $u->info['money']) {
if ($po['upgrade'] < 5) {
$fadd = [0, 0, 0, 0];
$faddp = 0;
if (!isset($po['upgrade']) || $po['upgrade'] == 0) {
$ir['1price'] += floor($ir['1price'] / 100 * 20);
$faddp = 6;
} elseif ($po['upgrade'] == 1) {
$ir['1price'] += floor($ir['1price'] / 100 * 30);
$faddp = 7;
} elseif ($po['upgrade'] == 2) {
$ir['1price'] += floor($ir['1price'] / 100 * 40);
$faddp = 8;
} elseif ($po['upgrade'] == 3) {
$ir['1price'] += floor($ir['1price'] / 100 * 70);
$faddp = 10;
} elseif ($po['upgrade'] == 4) {
$ir['1price'] += floor($ir['1price'] / 100 * 10);
$faddp = 16;
}
$fadd[0] = $po['add_s1'] + $po['add_s2'] + $po['add_s3'] + $po['add_s5'] + $po['mf_stats'];
$fadd[1] = $po['add_m1'] + $po['add_m2'] + $po['add_m4'] + $po['add_m5'] + $po['mf_mod'];
$fadd[2] = round(($po['add_mab1'] + $po['add_mab2'] + $po['add_mab3'] + $po['add_mab4']) / 4 + $po['mf_mib']);
$fadd[3] = $po['add_hpAll'];
if ($po['upgrade'] <= 3) {
$fadd = [
round($fadd[0] / 100 * $faddp), //статы
floor($fadd[1] / 100 * $faddp), //мф.
floor($fadd[2] / 100 * $faddp), //броня
ceil($fadd[3] / 100 * $faddp), //НР
];
} else {
$fadd = [
ceil($fadd[0] / 100 * $faddp), //статы
ceil($fadd[1] / 100 * $faddp), //мф.
ceil($fadd[2] / 100 * $faddp), //броня
ceil($fadd[3] / 100 * $faddp), //НР
];
}
$po['mf_stats'] += $fadd[0];
$po['mf_mod'] += $fadd[1];
$po['mf_mib'] += $fadd[2];
$po['add_hpAll'] += $fadd[3];
$po['upgrade']++;
$re = 'Предмет "' . $ir['name'] . '" был успешно улучшен (' . $po['upgrade'] . '/5) за ' . $pcena . ' кр.
';
Delo::add(
2,
'System.remont.itemUpgrade',
$u->info['id'],
'"System.remont.itemUpgrade": Предмет "' . $ir['name'] . '" [itm:' . $ir['id'] . '] был успешно улучшен (' . $po['upgrade'] . '/5) за ' . $pcena . ' кр..',
);
$po = Conversion::arrayToDataString($po);
mysql_query('UPDATE `items_users` SET `data` = "' . $po . '",`1price` = "' . $ir['1price'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
$u->info['money'] -= $pcena;
} else {
$re = 'Предмет улучшен до максимума
';
}
} else {
$re = 'У вас не достаточно средств для модификации предмета
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['modif']) && true == false) {
//модификация
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND
`iu`.`data` NOT LIKE "%modif%" AND `im`.`type` > 0 AND `im`.`type` < 16 AND (`iu`.`data` LIKE "%add_s1%" OR `iu`.`data` LIKE "%add_s2%" OR `iu`.`data` LIKE "%add_s3%" OR `iu`.`data` LIKE "%add_s5%" OR `iu`.`data` LIKE "%add_hpAll%" OR `iu`.`data` LIKE "%add_mib%")
AND `iu`.`id` = "' . mysql_real_escape_string((int)$_GET['modif']) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']);
if ($ir['price1'] > $ir['1price']) {
$ir['1price'] = $ir['price1'];
}
$pcena = $ir['1price'] / 2;
if ($ir['price2'] > $ir['2price']) {
$ir['2price'] = $ir['price2'];
}
$pcena2 = ($ir['2price'] / 2.37) * 30;
if ($pcena2 > $pcena) {
$pcena = $pcena2;
}
if (!isset($po['add_s1']) && !isset($po['add_s2']) && !isset($po['add_s3']) && !isset($po['add_s5'])) {
$pcena = $pcena / 2;
}
$pcena = round($pcena);
if ($pcena == 0) {
$re = 'Данный предмет не подходит...
';
} elseif ($pcena <= $u->info['money']) {
if ($u->stats['s5'] > 24) {
$fadd = [0, 0, 0];
//добавляем статы
if (isset($po['add_s1']) || isset($po['add_s2']) || isset($po['add_s3']) || isset($po['add_s5'])) {
$rnd1 = rand(0, (1000 - $u->stats['s5']));
if ($rnd1 > 500) {
$rnd2 = rand(0, (1000 - $u->stats['s5']));
if ($rnd2 > 500) {
$rnd3 = rand(0, (1000 - $u->stats['s5']));
if ($rnd3 > 500) {
//3
$fadd[0] = rand(0, 1);
} else {
//1
$fadd[0] = 0;
}
} else {
//2
$fadd[0] = 0;
}
} else {
//1
$fadd[0] = 0;
}
}
//добавляем НР
if (isset($po['add_m1']) || isset($po['add_m2']) || isset($po['add_m4']) || isset($po['add_m5'])) {
$rnd1 = rand(0, (1000 - $u->stats['s5']));
if ($rnd1 > 500) {
$rnd2 = rand(0, (1000 - $u->stats['s5']));
if ($rnd2 > 500) {
$rnd3 = rand(0, (1000 - $u->stats['s5']));
if ($rnd3 > 500) {
//3
$fadd[1] = 10;
} else {
//1
$fadd[1] = 1;
}
} else {
//2
$fadd[1] = 7;
}
} else {
//1
$fadd[1] = 1;
}
$fadd[1] = rand($fadd[1], 20);
}
//добавляем броню
if (isset($po['add_mib1']) || isset($po['add_mib2']) || isset($po['add_mib3']) || isset($po['add_mib4'])) {
$rnd1 = rand(0, (1000 - $u->stats['s5']));
if ($rnd1 > 500) {
$rnd2 = rand(0, (1000 - $u->stats['s5']));
if ($rnd2 > 500) {
$rnd3 = rand(0, (1000 - $u->stats['s5']));
if ($rnd3 > 500) {
//3
$fadd[2] = 3;
} else {
//1
$fadd[2] = 1;
}
} else {
//2
$fadd[2] = 2;
}
} else {
//1
$fadd[2] = 1;
}
}
if ($fadd[0] > 0) {
//статы
$po['mf_stats'] += $fadd[0];
}
if ($fadd[1] > 0) {
//НР
$po['add_hpAll'] += $fadd[1];
}
if ($fadd[2] > 0) {
//броня
$po['mf_mib'] += $fadd[2];
}
$po['modif'] = 1;
$po = Conversion::arrayToDataString($po);
mysql_query('UPDATE `items_users` SET `data` = "' . $po . '",`1price` = "' . $ir['1price'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
$u->info['money'] -= $pcena;
$re = 'Предмет "' . $ir['name'] . '" был успешно модифицирован (Характеристики: +' . $fadd[0] . ', Здоровье: +' . $fadd[1] . ', Броня: +' . $fadd[2] . ') за ' . $pcena . ' кр.
';
} else {
$re = 'Для модифицирования предмета требуется характеристика Интелект: 25
';
}
} else {
$re = 'У вас не достаточно средств для модификации предмета
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['ubeff']) && true == false) {
// Берем в переменную текущий предмет.
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%upatack_id%" AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['ubeff']
) . '" LIMIT 1'
)
);
// Предмет существует.
if (isset($ir['id'])) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']); // Тут мы храним характеристики предмета.
if ($po['tr_lvl'] > $ir['level']) {
$pl['level'] = $po['tr_lvl']; // Если уровень предмета, меньше чем уровень требований с характеристик, то идет обновление уровня предмета.
}
$pcena = 5 * $pl['level'] + 35; // цена увеличивается, для продажи в гос. маг.
if (isset($po['rune_id'])) { // Если в предмете существует РУНА, увеличиваем цену.
$pcena += 3;
}
if (isset($po['upatack_id'])) { // Если в предмете имеется Заточка, увеличиваем цену.
$pcena += 14;
}
if ($po['rune_id'] > 0) { // Последовательность действий.
$re = 'Для дезинтеграции сначала извлеките руну
';
} elseif ($u->info['money'] >= 2000) { // Проверка, хватает ли средств.
$pcena -= 14; // Уменьшаем цену после извлеченния заточки.
if (isset($po['upatack_id'])) { // Добавляем заточку в инвентарь.
// Берем в переменную свиток заточки, который находится в предмете.
$upattack = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`id` = "' . mysql_real_escape_string(
(int)$po["upatack"]
) . '" LIMIT 1'
)
);
if (isset($upattack) && $upattack['item_id'] && $upattack['delete'] > 0) { // Если старый предмет не удален из базы, мы его восстанавливаем.
mysql_query('UPDATE `items_users` SET `delete` = "' . mysql_real_escape_string(0) . '" WHERE `id` = "' . $po["upatack"] . '" LIMIT 1');
mysql_query('UPDATE `items_users` SET `data` = CONCAT(`data`,"noremont=1") WHERE `id` = "' . $po["upatack"] . '" LIMIT 1');
} else { // Если старый предмет не существует, создаем новый.
ItemsModel::addItem($po['upatack_id'], $u->info['id'], '|noremont=1', null, null, true);
$irs .= ',' . $po['upatack_name'];
}
}
if (!isset($upattack['data'])) {
$upattack = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "' . mysql_real_escape_string((int)$po["upatack_id"]) . '" LIMIT 1'));
}
// Обнуляем инфу к стандартным данным - $ir['item_id']
$item_default = mysql_fetch_array(mysql_query('SELECT `data` FROM `items_main_data` WHERE `items_id` = "' . mysql_real_escape_string((int)$ir['item_id']) . '" LIMIT 1'));
$item_default = Conversion::dataStringToArray($item_default['data']);
$upattack = Conversion::dataStringToArray($upattack['data']);
if ($upattack['uptype'] == 22) {
$po['add_m11'] -= $upattack['upatack'] * 2;
$po['tr_lvl'] = $item_default['tr_lvl'];
if (isset($po['add_m11']) && $po['add_m11'] == 0) {
unset($po['add_m11']);
}
} else {
$po['sv_yron_min'] -= $upattack['upatack'];
$po['sv_yron_max'] -= $upattack['upatack'];
$po['tr_lvl'] = $item_default['tr_lvl'];
}
unset($po["upatack"]);
unset($po["upatack_id"]);
unset($po["upatack_name"]);
unset($po["upatack_lvl"]);
unset($item_default);
unset($upattack);
$po = Conversion::arrayToDataString($po);
var_info($po);
mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
$u->addKr(-100);
} else {
$re = 'У вас не достаточно средств для дезинтеграции
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['unrune'])) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/_incl_data/class/Insallah/Runes/Runes.php';
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%rune_id%" AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['unrune']
) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']);
if ($po['tr_lvl'] > $ir['level']) {
$ir['level'] = $po['tr_lvl'];
}
$pcena = 50;
if ($u->stats['repair_r'] >= 1) {
$pcena = 0;
}
if ($pcena <= $u->info['money']) {
/** Самое новое изъятие рун. ;)*/
$item_and_rune = Runes::removeRuneData($po);
if (!empty($item_and_rune)) {
# Добавляем предмет без руны
mysql_query(sprintf("update items_users set data = '%s' where id = %d", $item_and_rune['item'], $ir['id']));
# Отнимаем деньги
$u->info['money'] -= $pcena;
mysql_query(sprintf("update users set money = money - %f where id = %d", $pcena, $u->info['id']));
# Добавляем руну
ItemsModel::addItem($item_and_rune['rune_id'], $u->info['id'], $item_and_rune['rune'], null, null, true);
} else {
/** Если пытаемся извлечь любую руну кроме 6001, 6002, 6003. */
$re = 'Руна слилась с предметом и не извлекается...';
}
} else {
$re = 'У вас не достаточно средств для извлечения, цена извлечения руны ' . $pcena . '
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['ubeff'])) {
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%upatack_id%" AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['ubeff']
) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']);
if ($po['tr_lvl'] > $ir['level']) {
$ir['level'] = $po['tr_lvl'];
}
$pcena = 1;
if ($pcena <= $u->info['money']) {
if ($u->stats['repair_z'] >= 2500) {
$pcena = 0;
}
$iro = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "' . $po['upatack_id'] . '" LIMIT 1'));
$ro = Conversion::dataStringToArray($iro['data']);
$restat = [];
$i = 0;
while ($i < count($u->items['add'])) {
if (isset($ro['add_' . $u->items['add'][$i]])) {
$po['add_' . $u->items['add'][$i]] -= $ro['add_' . $u->items['add'][$i]];
if ($po['add_' . $u->items['add'][$i]] == 0) {
unset($po['add_' . $u->items['add'][$i]]);
}
}
if (isset($ro['sv_' . $u->items['add'][$i]])) {
$po['sv_' . $u->items['add'][$i]] -= $ro['sv_' . $u->items['add'][$i]];
if ($po['sv_' . $u->items['add'][$i]] == 0) {
unset($po['sv_' . $u->items['add'][$i]]);
}
}
$i++;
}
ItemsModel::addItem($po['upatack_id'], $u->info['id'], null, null, null, 1);
$re = 'Заточка "' . $po['upatack_name'] . '" была успешно извлечена из предмета "' . $ir['name'] . '" за ' . $pcena . ' кр.
';
Delo::add(
2,
'System.remont.ubeff',
$u->info['id'],
'"System.remont.ubeff": Руна "' . $po['upatack_name'] . '" была успешно извлечена из предмета "' . $ir['name'] . '" [itm:' . $ir['id'] . '] за ' . $pcena . ' кр.',
);
unset($po['upatack'], $po['upatack_id'], $po['upatack_name'], $po['upatack_lvl']);
$po = Conversion::arrayToDataString($po);
mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
$u->info['money'] -= $pcena;
} else {
$re = 'У вас не достаточно средств для извлечения, стоимость извлечения заточки ' . $pcena . ' кр
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['un_grav'])) {
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['un_grav']
) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$pcena = 30;
if ($ir['type'] == 22) {
$pcena = 35;
} elseif ($ir['type'] == 18) {
$pcena = 15;
}
if ($pcena <= $u->info['money']) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']);
$po['gravi'] = substr($_GET['grav_text'], 0, 20);
$po['gravic'] = $u->info['city'];
$po['gravi'] = str_replace('=', '', $po['gravi']);
$po['gravi'] = str_replace('|', '', $po['gravi']);
$tst = str_replace(' ', '', $po['gravi']);
$tst = str_replace(' ', '', $po['gravi']);
$po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']);
if ($po['gravi'] != '' && $tst != '') {
$po = Conversion::arrayToDataString($po);
mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
$re = 'На предмете "' . $ir['name'] . '" был успешно выгровирован текст за ' . $pcena . ' кр.
';
} else {
$re = 'Пустой текст, либо состоит из символов которые нельзя использовать
';
}
} else {
$re = 'У вас не достаточно средств для гравировки
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['grav'])) {
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['grav']
) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$pcena = 30;
if ($ir['type'] == 22) {
$pcena = 35;
} elseif ($ir['type'] == 18) {
$pcena = 15;
}
if ($pcena <= $u->info['money']) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']);
$po['gravi'] = substr($_GET['grav_text'], 0, 20);
$po['gravic'] = $u->info['city'];
$po['gravi'] = str_replace('=', '', $po['gravi']);
$po['gravi'] = str_replace('|', '', $po['gravi']);
$tst = str_replace(' ', '', $po['gravi']);
$tst = str_replace(' ', '', $po['gravi']);
$po['gravi'] = preg_replace("/[^a-zA-ZА-Яа-я0-9\s]/", "", $po['gravi']);
if ($po['gravi'] != '' && $tst != '') {
$po = Conversion::arrayToDataString($po);
mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
$re = 'На предмете "' . $ir['name'] . '" был успешно выгровирован текст за ' . $pcena . ' кр.
';
} else {
$re = 'Пустой текст, либо состоит из символов которые нельзя использовать
';
}
} else {
$re = 'У вас не достаточно средств для гравировки
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['podgon'])) {
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `im`.`inslot` = 5 AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['podgon']
) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$po = [];
$po = Conversion::dataStringToArray($ir['data']);
if (!isset($po['podgon'])) {
if ($po['tr_lvl'] > $ir['level']) {
$ir['level'] = $po['tr_lvl'];
}
$pcena = 5 * $ir['level'] + 10;
if ($pcena <= $u->info['money']) {
$prhp = 6 * $ir['level'] + 6;
$po['podgon'] = 1;
$po['add_hpAll'] += $prhp;
$po['sudba'] = $u->info['login'];
$po = Conversion::arrayToDataString($po);
mysql_query('UPDATE `users` SET `money` = `money` - "' . $pcena . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
mysql_query('UPDATE `items_users` SET `data` = "' . $po . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
$re = 'Предмет "' . $ir['name'] . '" был успешно подогнан за ' . $pcena . ' кр. (Добавлено +' . $prhp . 'HP)
';
} else {
$re = 'У вас не достаточно средств для подгонки
';
}
} else {
$re = 'Предмет уже был подогнан
';
}
} else {
$re = 'Подходящий предмет не найден в инвентаре
';
}
} elseif (isset($_GET['remon'])) {
$t = 1;
if ($_GET['t'] == 2) {
$t = 2;
} elseif ($_GET['t'] == 3) {
$t = 3;
}
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`iznosNOW` >= 1 AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['remon']
) . '" LIMIT 1'
)
);
$rem_price = round($ir['price1'] * 0.1 / 100, 2);//цена ремонта за 1ед поломки
$rem_all = round($ir['price1'] * $ir['iznosNOW'] * 0.1 / 100, 2);//цена ремонта full
if ($u->stats['repair_discount'] >= 1) {
$rem_price = round($rem_price / 100 * 25, 2);
$rem_all = round($rem_all / 100 * 25, 2);
}
if ($rem_price < 0.01) {
$rem_price = 0.01;
} //кэп поможет
if ($rem_all < 0.01) {
$rem_all = 0.01;
} //кэп поможет
if (isset($ir['id'])) {
$po = Conversion::dataStringToArray($ir['data']);
if (isset($po['noremont'])) {
$re2 = 'Предмет не подлежит ремонту в этой мастерской.';
} else {
if ($t == 1) {
$rem_cell = $rem_price;
$t = 0;
$rm = 1;
$re2 .= ' 1 ед.';
} elseif ($t == 2) {
$t = 0;
$rm = 10;
$rem_cell = $rem_price * 10;
$re2 .= ' 10 ед.';
} elseif ($t == 3) {
$rem_cell = $rem_all;
$t = 0;
$rm = $ir['iznosNOW'];
$re2 .= $rm . ' ед.';
}
if ($rem_cell > $u->info['money']) {
$re2 = 'У вас недостаточно средст для ремонта.';
} else {
if ($rm > $ir['iznosNOW']) {
$rm = $ir['iznosNOW'];
}
$ir['iznosNOW'] -= $rm;
if ($ir['iznosNOW'] < 0) {
$ir['iznosNOW'] = 0;
}
$u->info['money'] -= $rem_cell;
$upd = mysql_query('UPDATE `users` SET `money` = "' . $u->info['money'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
if ($upd) {
$il = $ir['iznosMAX'];
if (rand(0, 100) < 25) {
$ir['iznosMAX'] -= 1;
}
if ($ir['iznosMAX'] < 1) {
$ir['iznosMAX'] = 1;
}
mysql_query('UPDATE `items_users` SET `iznosNOW` = "' . $ir['iznosNOW'] . '",`iznosMAX` = "' . $ir['iznosMAX'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1');
$re2 = 'Удачно произведен ремонт ' . $re2 . ' предмета "' . $ir['name'] . '" за ' . $rem_cell . ' кр.';
$dop = 0;
if (ceil($il) > ceil($ir['iznosMAX'])) {
$re2 .= '
К сожалению, максимальная долговечность предмета из-за ремонта уменьшилась.';
$dop = 1;
}
Delo::add(
2,
'System.remont',
$u->info['id'],
'"System.remont": Предмет "' . $ir['name'] . '" [itm:' . $ir['id'] . '] был отремонтирован, максимальная долговечность уменьшилась: ' . $dop . ' (' . $rm . ' ед. за ' . $t . ' кр.).',
);
} else {
$re2 = 'Что-то здесь не так...';
}
}
}
} else {
$re2 = 'Предмет подходящий для ремонта не найден в инвентаре';
}
} elseif (isset($_GET['upgradelvl'])) {
$ir = mysql_fetch_array(
mysql_query(
'SELECT `im`.*,`iu`.* FROM `items_users` AS `iu` LEFT JOIN `items_main` AS `im` ON (`im`.`id` = `iu`.`item_id`) WHERE `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`id` = "' . mysql_real_escape_string(
(int)$_GET['upgradelvl']
) . '" LIMIT 1'
)
);
if (isset($ir['id'])) {
$ur = mysql_fetch_array(mysql_query('SELECT * FROM `items_upgrade` WHERE `iid` = "' . $ir['item_id'] . '" LIMIT 1'));
if (isset($ur['id'])) {
if ($ur['price1'] > 0 && $u->info['money'] < $ur['price1']) {
$re2 = 'Недостаточно кр. у персонажа';
} elseif ($ur['price2'] > 0 && $u->info['money2'] < $ur['price2']) {
$re2 = 'Недостаточно екр. у персонажа';
} else {
$ui1 = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $ur['iup'] . '" LIMIT 1'));
$ui2 = mysql_fetch_array(mysql_query('SELECT * FROM `items_main_data` WHERE `items_id` = "' . $ur['iup'] . '" LIMIT 1'));
if (isset($ui1['id'], $ui2['id'])) {
mysql_query(
'UPDATE `items_users` SET `item_id` = "' . $ui1['id'] . '",`1price` = "' . $ui1['price1'] . '",`2price` = "' . $ui1['price2'] . '",`iznosMAX` = "' . $ui1['iznosMAXi'] . '",`data` = "' . $ui2['data'] . '" WHERE `id` = "' . $ir['id'] . '" LIMIT 1'
);
$re2 = 'Предмет "' . $ir['name'] . '" был успешно улучшен до следующего уровня за ' . $ur['price2'] . ' екр.';
$u->info['money2'] -= $ur['price2'];
$u->addEkr(-$ur['price2']);
} else {
$re2 = 'Неудалось улучшить данный предмет';
}
}
} else {
$re2 = 'Предмет подходящий для улучшения не найден';
}
} else {
$re2 = 'Предмет подходящий для улучшения не найден в инвентаре';
}
}
$see = '';
if ($r == 1) {
//ремонт предметов
$see = $u->genInv(4, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`iznosNOW` >= 1 ORDER BY `lastUPD` DESC');
$see = $see[2];
} elseif ($r == 5) {
//подгонка брони
$see = $u->genInv(
56, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `im`.`inslot` = "5" AND `iu`.`data` NOT LIKE "%podgon%" ORDER BY `lastUPD` DESC'
);
$see = $see[2];
} elseif ($r == 2) {
//гравировка оружия
$see = $u->genInv(
57,
'`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`im`.`type` = "18" OR `im`.`type` = "19" OR `im`.`type` = "20" OR `im`.`type` = "21" OR `im`.`type` = "22" OR `im`.`type` = "23" OR `im`.`type` = "24" OR `im`.`type` = "26" OR `im`.`type` = "27" OR `im`.`type` = "28") ORDER BY `lastUPD` DESC'
);
$see = $see[2];
} elseif ($r == 4) {
//вытаскивание рун
$see = $u->genInv(58, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%rune_id%" ORDER BY `lastUPD` DESC');
$see = $see[2];
} elseif ($r == 3) {
//дезинтеграция
$see = $u->genInv(59, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%upatack_id%") ORDER BY `lastUPD` DESC');
$see = $see[2];
} elseif ($r == 7) {
//модификация
$see = $u->genInv(
60, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` NOT LIKE "%modif%" AND `im`.`type` > 0 AND `im`.`type` < 16 AND
(`iu`.`data` LIKE "%add_s1%" OR `iu`.`data` LIKE "%add_s2%" OR `iu`.`data` LIKE "%add_s3%" OR `iu`.`data` LIKE "%add_s5%" OR `iu`.`data` LIKE "%add_hpAll%" OR `iu`.`data` LIKE "%add_mib%") ORDER BY `lastUPD` DESC'
);
$see = $see[2];
} elseif ($r == 6) {
//Усиление
$see = $u->genInv(
61,
'`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND `iu`.`data` LIKE "%modif%" AND `iu`.`data` NOT LIKE "%upgrade=5%" ORDER BY `lastUPD` DESC'
);
$see = $see[2];
} elseif ($r == 8) {
if ($u->info['money2'] > 0) {
//Улучшения
$see = $u->genInv(
62,
'`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (SELECT `id` FROM `items_upgrade` WHERE `iid` = `iu`.`item_id` AND `activ` = 1 LIMIT 1) > 0 ORDER BY `lastUPD` DESC'
);
$see = $see[2];
}
} elseif ($r == 9) {
$itmos = '';
$i = 0;
while ($i < count($itm_podgon)) {
$itmos .= ' OR `iu`.`item_id` = "' . $itm_podgon[$i] . '"';
$i++;
}
if ($u->info['money2'] > 0 && !isset($_GET['upgradelvlcom'])) {
//Подгонка под комплект
$see = $u->genInv(63, '`iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%|art=1%" ' . $itmos . ')');
} else {
//Подгонка под комплект
$see = $u->genInv(
64, '`iu`.`id` = "' . mysql_real_escape_string(
$_GET['upgradelvlcom']
) . '" AND `iu`.`uid`="' . $u->info['id'] . '" AND `iu`.`delete`="0" AND `iu`.`inOdet`="0" AND `iu`.`inShop`="0" AND (`iu`.`data` LIKE "%|art=1%" ' . $itmos . ')'
);
}
$see = $see[2];
}
if ($re != '') {
echo '' . $re . '
';
} ?>
Ремонтная мастерская
' . $error . '';
?>
Залы: |
> Ремонт';
} else {
echo 'Ремонт';
} ?>
|
> Гравировка';
} else {
echo 'Гравировка';
} ?>
|
> Дезинтеграция';
} else {
echo 'Дезинтеграция';
} ?>
|
> Руны';
} else {
echo 'Руны';
} ?>
|
> Подгонка';
} else {
echo 'Подгонка';
} ?>
|
= User::getLogin($u->info['id']) ?> |
|
|
'Починка поврежденных предметов',
2 => 'Нанесение надписей на оружие (20 символов)',
3 => 'Разделение на состаные части улучшенных предметов',
4 => 'Извлечение рун',
5 => 'Подогнать броню',
6 => 'Улучшение модифицированных предметов',
7 => 'Модификация предметов',
8 => 'Улучшение уровня предмета',
9 => 'Подгонка предмета под комплект',
];
$rn2 = [
1 => 'У вас в рюкзаке нет поврежденных предметов',
2 => 'У вас в рюкзаке нет оружия, на которое можно нанести гравировку',
3 => 'У вас в рюкзаке нет улучшенных предметов',
4 => 'У вас в рюкзаке нет улучшенных предметов',
5 => 'У вас в рюкзаке нет подходящих предметов',
6 => 'У вас в рюкзаке нет подходящих предметов',
7 => 'У вас в рюкзаке нет подходящих предметов',
8 => 'У вас в рюкзаке нет подходящих предметов',
9 => 'У вас в рюкзаке нет подходящих предметов',
];
?>
= $rn[$r]; ?> |
Орден Света предупреждает, что за нецензурные или оскорбительные надписи Вы будете наказаны.';
} elseif ($r == 8) {
echo ' Все усиления предмета (заточки, руны, чарки и т.д.) обнуляются без возможности возврата ';
} elseif ($r == 5) {
echo 'Внимание! Броня будет связана с вами общей судьбой! ';
} elseif ($r == 3) {
echo 'Внимание! При дезинтеграция изымается свиток заточки, руны и зачарование сохраняется. ';
}
?>
info['money2'])) {
//Улучшение предметов за кр.\екр.
echo 'Для улучшения некоторых предметов требуются екр.';
} else {
if ($r == 9 && isset($_GET['upgradelvlcom']) && $see != '') {
$itmu = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `id` = "' . mysql_real_escape_string($_GET['upgradelvlcom']) . '" LIMIT 1'));
$itmm = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $itmu['item_id'] . '" LIMIT 1'));
if ($itmm['price2'] == 0) {
$itmm['price2'] = $itmm['price1'] / 5;
}
$sts = explode('|', $itmu['data']);
$i = 0;
$ste = '';
$sti = [];
while ($i < count($sts)) {
$ste = explode('=', $sts[$i]);
if (isset($ste[1])) {
if (!isset($sti[$ste[0]])) {
$sti[$ste[0]] = 0;
}
$sti[$ste[0]] += intval($ste[1]);
}
$i++;
}
if (isset($_POST['com2'], $_POST['work2'])) {
$epr = 0;
if ($sti['sudba'] > 0 || $_POST['work2'] == '1') {
$wrk = 1;
$epr = round($itmm['price2'] * 0.2, 2);
} else {
$wrk = 2;
$epr = round($itmm['price2'] * 0.4, 2);
}
$sel = [];
$sp = mysql_query('SELECT * FROM `complects`');
while ($pl = mysql_fetch_array($sp)) {
if (!isset($sel[$pl['com']]) && $com_podgon[$pl['name']] == true) {
$sel[$pl['com']] = true;
if ($pl['com'] == $_POST['com2']) {
$com2 = $pl;
}
}
}
if ($com2['com'] > 0 && ($sti['complect'] == $com2['com'] || $sti['complect2'] == $com2['com'])) {
$er2 = 'Предмет уже использует данный комплект.';
} elseif (!isset($com2['id'])) {
$er2 = 'Вы не можете подогнать предмет под данный комплект.';
} elseif ($epr > $u->info['money2']) {
$er2 = 'У вас недостаточно екр., требуется ' . $epr . ' екр.';
} else {
$sti['complect2'] = $com2['com'];
if ($wrk == 1 && ($sti['sudba'] == '0' || !isset($sti['sudba']))) {
$sti['sudba'] = $u->info['login'];
}
$sti_imp = Conversion::arrayToDataString($sti);
$u->addEkr(-$epr);
mysql_query('UPDATE `items_users` SET `data` = "' . mysql_real_escape_string($sti_imp) . '" WHERE `id` = "' . $itmu['id'] . '" LIMIT 1');
$er2 = 'Предмет "' . $itmm['name'] . '" успешно подогнан под "' . $com2['name'] . '" за ' . $epr . ' екр.';
}
}
?>
|
|
|
|
|
Масса: = $u->aves['now'] ?>/= $u->aves['max'] ?>
У вас в наличии: = round($u->info['money'], 2); ?> кр.
Внимание! Если у вас активирована бесплатная дезинтеграция "Рун" и "Заточек", все равно при себе необходимо иметь сумму
стоимости дезинтеграции
' . $re2 . '';
}
?>
|