query('SELECT * FROM ?f WHERE `id` = ?i', $from, $it);
if ($item->getNumRows()) {
$item = $item->fetch_assoc();
if (!empty($item['magic'])) $magic = db::c()->query('SELECT * FROM `magic` WHERE `id` = ?i', $item['magic'])->fetch_assoc();
if (!empty($item['includemagic'])) {
$incmagic = db::c()->query('SELECT * FROM `magic` WHERE `id` = ?i', $item['includemagic'])->fetch_assoc();
$incmagic['name'] = $item['includemagicname'];
$incmagic['cur'] = $item['includemagicdex'];
$incmagic['max'] = $item['includemagicmax'];
if (empty($magic)) {
$magic['chanse'] = $incmagic['chanse'];
$magic['time'] = $incmagic['time'];
$magic['targeted'] = $incmagic['targeted'];
}
}
$r .= $item['name'];
$r .= " (Масса: {$item['massa']})";
if (!empty($item['nalign']))
$r .= " ";
if (!empty($item['artefact']))
$r .= " ";
$r .= "Цена: {$item['cost']} кр.";
if ($item['count']) {
$r .= "(количество: {$item['count']})";
}
$r .= "
Долговечность: {$item['maxdur']}";
$r .= "
";
if (!$item['needident']) {
$r .= ((!empty($magic['chanse'])) ? "Вероятность срабатывания: " . $magic['chanse'] . "%
" : "") . "
" . ((!empty($magic['time'])) ? "Продолжительность действия магии: " . $magic['time'] . " мин.
" : "") . "
" . (($item['goden']) ? "Срок годности: {$item['goden']} дн. " . ((!$item['count']) ? "(до " . date("Y.m.d H:i", $item['dategoden']) . ")" : "") . "
" : "") . "
" . (($item['nsila'] || $item['nlovk'] || $item['ninta'] || $item['nvinos'] || $item['nlevel'] || $item['nintel'] || $item['nmudra'] || $item['nnoj'] || $item['ntopor'] || $item['ndubina'] || $item['nmech'] || $item['nfire'] || $item['nwater'] || $item['nair'] || $item['nearth'] || $item['nearth'] || $item['nlight'] || $item['ngray'] || $item['ndark']) ? "Требуется минимальное:
" : "") . "
" . (($item['nsila'] > 0) ? "• " . (($item['nsila'] > $user['sila']) ? "" : "") . "Сила: {$item['nsila']}
" : "") . "
" . (($item['nlovk'] > 0) ? "• " . (($item['nlovk'] > $user['lovk']) ? "" : "") . "Ловкость: {$item['nlovk']}
" : "") . "
" . (($item['ninta'] > 0) ? "• " . (($item['ninta'] > $user['inta']) ? "" : "") . "Интуиция: {$item['ninta']}
" : "") . "
" . (($item['nvinos'] > 0) ? "• " . (($item['nvinos'] > $user['vinos']) ? "" : "") . "Выносливость: {$item['nvinos']}
" : "") . "
" . (($item['nlevel'] > 0) ? "• " . (($item['nlevel'] > $user['level']) ? "" : "") . "Уровень: {$item['nlevel']}
" : "") . "
" . (($item['nintel'] > 0) ? "• " . (($item['nintel'] > $user['intel']) ? "" : "") . "Интеллект: {$item['nintel']}
" : "") . "
" . (($item['nnoj'] > 0) ? "• " . (($item['nnoj'] > $user['noj']) ? "" : "") . "Мастерство владения ножами и кастетами: {$item['nnoj']}
" : "") . "
" . (($item['ntopor'] > 0) ? "• " . (($item['ntopor'] > $user['topor']) ? "" : "") . "Мастерство владения топорами и секирами: {$item['ntopor']}
" : "") . "
" . (($item['ndubina'] > 0) ? "• " . (($item['ndubina'] > $user['dubina']) ? "" : "") . "Мастерство владения дубинами и булавами: {$item['ndubina']}
" : "") . "
" . (($item['nmech'] > 0) ? "• " . (($item['nmech'] > $user['mec']) ? "" : "") . "Мастерство владения мечами: {$item['nmech']}
" : "") . "
" . (($item['nfire'] > 0) ? "• " . (($item['nfire'] > $user['mfire']) ? "" : "") . "Мастерство владения стихией Огня: {$item['nfire']}
" : "") . "
" . (($item['nwater'] > 0) ? "• " . (($item['nwater'] > $user['mwater']) ? "" : "") . "Мастерство владения стихией Воды: {$item['nwater']}
" : "") . "
" . (($item['nair'] > 0) ? "• " . (($item['nair'] > $user['mair']) ? "" : "") . "Мастерство владения стихией Воздуха: {$item['nair']}
" : "") . "
" . (($item['nearth'] > 0) ? "• " . (($item['nearth'] > $user['mearth']) ? "" : "") . "Мастерство владения стихией Земли: {$item['nearth']}
" : "") . "
" . (($item['nlight'] > 0) ? "• " . (($item['nlight'] > $user['mlight']) ? "" : "") . "Мастерство владения магией Света: {$item['nlight']}
" : "") . "
" . (($item['ngray'] > 0) ? "• " . (($item['ngray'] > $user['mgray']) ? "" : "") . "Мастерство владения серой магией: {$item['ngray']}
" : "") . "
" . (($item['ndark'] > 0) ? "• " . (($item['ndark'] > $user['mdark']) ? "" : "") . "Мастерство владения магией Тьмы: {$item['ndark']}
" : "") . "
" . (($item['gsila'] || $item['mfkrit'] || $item['mfakrit'] || $item['mfuvorot'] || $item['mfauvorot'] || $item['glovk'] || $item['ghp'] || $item['ginta'] || $item['gintel'] || $item['gnoj'] || $item['gtopor'] || $item['gdubina'] || $item['gmech'] || $item['gfire'] || $item['gwater'] || $item['gair'] || $item['gearth'] || $item['gearth'] || $item['glight'] || $item['ggray'] || $item['gdark'] || $item['minu'] || $item['maxu'] || $item['bron1'] || $item['bron2'] || $item['bron3'] || $item['bron4']) ? "Действует на:
" : "") . "
" . (($item['minu']) ? "• Минимальное наносимое повреждение: +{$item['minu']}
" : "") . "
" . (($item['maxu']) ? "• Максимальное наносимое повреждение: +{$item['maxu']}
" : "");
if ($item['gsila']) {
$r .= "• Сила: +" . $item['gsila'];
$r .= "
";
}
if ($item['glovk']) {
$r .= "• Ловкость: " . plusorminus($item['glovk']);
$r .= "
";
}
if ($item['ginta']) {
$r .= "• Интуиция: " . plusorminus($item['ginta']);
$r .= "
";
}
if ($item['gintel']) {
$r .= "• Интеллект: " . plusorminus($item['gintel']);
$r .= "
";
}
$r .= (($item['ghp']) ? "• Уровень жизни: " . plusorminus($item['ghp']) . "
" : "");
if ($item['mfkrit'] > 0) {
$r .= "• Мф. критических ударов: " . plusorminus($item['mfkrit']) . "%";
$r .= "
";
}
if ($item['mfakrit'] > 0) {
$r .= "• Мф. против крит. ударов: " . plusorminus($item['mfakrit']) . "%";
$r .= "
";
}
if ($item['mfuvorot'] > 0) {
$r .= "• Мф. увертливости: " . plusorminus($item['mfuvorot']) . "%";
$r .= "
";
}
if ($item['mfauvorot'] > 0) {
$r .= "• Мф. против увертлив.: " . plusorminus($item['mfauvorot']) . "%";
$r .= "
";
}
$r .= (($item['gnoj']) ? "• Мастерство владения ножами и кастетами: +{$item['gnoj']}
" : "") . "
" . (($item['gtopor']) ? "• Мастерство владения топорами и секирами: +{$item['gtopor']}
" : "") . "
" . (($item['gdubina']) ? "• Мастерство владения дубинами и булавами: +{$item['gdubina']}
" : "") . "
" . (($item['gmech']) ? "• Мастерство владения мечами: +{$item['gmech']}
" : "") . "
" . (($item['gfire']) ? "• Мастерство владения стихией Огня: +{$item['gfire']}
" : "") . "
" . (($item['gwater']) ? "• Мастерство владения стихией Воды: +{$item['gwater']}
" : "") . "
" . (($item['gair']) ? "• Мастерство владения стихией Воздуха: +{$item['gair']}
" : "") . "
" . (($item['gearth']) ? "• Мастерство владения стихией Земли: +{$item['gearth']}
" : "") . "
" . (($item['glight']) ? "• Мастерство владения магией Света: +{$item['glight']}
" : "") . "
" . (($item['ggray']) ? "• Мастерство владения серой магией: +{$item['ggray']}
" : "") . "
" . (($item['gdark']) ? "• Мастерство владения магией Тьмы: +{$item['gdark']}
" : "");
if ($item['bron1'] > 0) {
$r .= "• Броня головы: " . $item['bron1'];
$r .= "
";
}
if ($item['bron2'] > 0) {
$r .= "• Броня корпуса: " . $item['bron2'];
$r .= "
";
}
if ($item['bron3'] > 0) {
$r .= "• Броня пояса: " . $item['bron3'];
$r .= "
";
}
if ($item['bron4'] > 0) {
$r .= "• Броня ног: " . $item['bron4'];
$r .= "
";
}
$r .= ((!empty($magic['name']) && $item['type'] != 50) ? "Наложены заклятия: " . $magic['name'] . "
" : "") . "
" . ((!empty($incmagic['max'])) ? " Встроено заклятие " . $incmagic['cur'] . " шт.
" : "") . "
" . ((!$item['isrep']) ? "Предмет не подлежит ремонту
" : "");
} else {
$r .= "Свойства предмета не идентифицированы.
";
}
$osob = array(22, 23);
if (in_array($item['type'], $osob)) {
$r .= 'Особенности:
';
if ($item['type'] == 22) {
$r .= '• может одеваться под броню
';
} elseif ($item['type'] == 23) {
$r .= '• может одеваться на броню
';
}
}
$r .= "
";
} else {
$r = 'Предмет не найден : {' . $it . '}';
}
return $r;
}
if ($sellItemId && is_numeric($sellItemId)) {
$dress = db::c()->query('SELECT `id`, `name`, `cost`, `type`, `duration`, `maxdur`, `goden`, `dategoden`, `koll` FROM `inventory` WHERE `dressed` = 0 AND `id` = ?i AND `owner` = ?i', $sellItemId, $user['id'])->fetch_assoc();
$price = $dress['cost'] * 1;
$kols = '';
if ($dress['koll']) {
$price *= $dress['koll'];
$kols = '(x' . $dress['koll'] . ')';
}
destructitem($dress['id']);
if ($dress['type'] == 12) {
$allcost = round($price * (1 - $dress['duration'] / $dress['maxdur']), 2);
} else {
$allcost = round($price - $dress['duration'] * ($dress['cost'] / ($dress['maxdur'] * 10)), 2);
}
if ($dress['goden'] != 0) {
$goden_max = $dress['goden'] * 24 * 60;
$goden_left = ($dress['dategoden'] - time()) / 60;
$per = $goden_left / $goden_max;
$allcost = round(($allcost * $per), 2);
}
$user['money'] += $allcost;
$deloText = "\"" . $user['login'] . "\" продал в магазин товар : \"" . $dress['name'] . "\" $kols id:(cap" . $dress['id'] . ") [" . $dress['duration'] . "/" . $dress['maxdur'] . "] за " . $allcost . " кр. ";
db::c()->query('UPDATE `users` SET `money` = ?i WHERE `id` = ?i', $user['money'], $user['id']);
db::c()->query('INSERT INTO `delo` (`pers`, `text`, `type`, `date`) VALUES (?i, "?s", 1, ?i)', $user['id'], $deloText, time());
echo "Вы продали \"{$dress['name']}\" $kols за " . $allcost . " кр.";
}
if (isset($_GET['set']) OR isset($_POST['set'])) {
$set = empty($_GET['set']) ?: $_GET['set'];
$set = empty($_POST['set']) ?: $_POST['set'];
$count = isset($_GET['count']) && is_numeric($_GET['count']) ? $_GET['count'] : 0;
$count = isset($_POST['count']) && is_numeric($_POST['count']) ? $_POST['count'] : 0;
if ($count < 1) {
$count = 0;
$count_ok = 0;
} else $count_ok = 1;
$dress = db::c()->query('SELECT * FROM `shop` WHERE `id`=?i', $set)->fetch_assoc();
// db::c()->query('
// INSERT INTO `inventory` (
// name, maxdur, cost, img, goden, dategoden, massa, prototype, owner,
// nlevel, nsila, nlovk, ninta, nvinos, nintel, nmudra,
// nnoj, ntopor, ndubina, nmech, nalign, nfire, nwater, nair, nearth, nlight, ngray, ndark,
// minu, maxu,
// gsila, glovk, ginta, gintel, ghp, gfire, gwater, gair, gearth, glight, ggray, gdark,
// mfkrit, mfakrit, mfuvorot, mfauvorot,
// gnoj, gtopor, gdubina, gmech,
// bron1, bron2, bron3, bron4, magic, needident,
// gmp, gmeshok, artefact, encicl, koll)
// SELECT
// name, maxdur, cost, img, goden, dategoden, massa, id, ?i,
// nlevel, nsila, nlovk, ninta, nvinos, nintel, nmudra,
// nnoj, ntopor, ndubina, nmech, nalign, nfire, nwater, nair, nearth, nlight, ngray, ndark,
// minu, maxu,
// gsila, glovk, ginta, gintel, ghp, gfire, gwater, gair, gearth, glight, ggray, gdark,
// mfkrit, mfakrit, mfuvorot, mfauvorot,
// gnoj, gtopor, gdubina, gmech,
// bron1, bron2, bron3, bron4, magic, needident,
// gmp, gmeshok, artefact, encicl, koll
// FROM shop WHERE id = inventory.prototype;
//
// ', $user['id']);
if ($count_ok == 0) {
err('Неправильно введено количество.');
} elseif (($dress['massa'] * $count + $itemWeight['m']) > (get_meshok())) {
err('Недостаточно места в рюкзаке.');
} elseif ($count_ok == 1 && ($user['money'] >= ($dress['cost'] * $count)) && ($dress['count'] >= $count)) {
$newItem = [
'prototype' => $dress['id'],
'owner' => $user['id'],
'name' => $dress['name'], //s
'type' => $dress['type'],
'massa' => $dress['massa'],
'cost' => $dress['cost'],
'img' => $dress['img'], //s
'maxdur' => $dress['maxdur'],
'isrep' => $dress['isrep'],
'gsila' => $dress['gsila'],
'glovk' => $dress['glovk'],
'ginta' => $dress['ginta'],
'gintel' => $dress['gintel'],
'ghp' => $dress['ghp'],
'gnoj' => $dress['gnoj'],
'gtopor' => $dress['gtopor'],
'gdubina' => $dress['gdubina'],
'gmech' => $dress['gmech'],
'gfire' => $dress['gfire'],
'gwater' => $dress['gwater'],
'gair' => $dress['gair'],
'gearth' => $dress['gearth'],
'glight' => $dress['glight'],
'ggray' => $dress['ggray'],
'gdark' => $dress['gdark'],
'needident' => $dress['needident'],
'nsila' => $dress['nsila'],
'nlovk' => $dress['nlovk'],
'ninta' => $dress['ninta'],
'nintel' => $dress['nintel'],
'nmudra' => $dress['nmudra'],
'nvinos' => $dress['nvinos'],
'nnoj' => $dress['nnoj'],
'ntopor' => $dress['ntopor'],
'ndubina' => $dress['ndubina'],
'nmech' => $dress['nmech'],
'bron1' => $dress['bron1'],
'bron2' => $dress['bron2'],
'bron3' => $dress['bron3'],
'bron4' => $dress['bron4'],
'minu' => $dress['minu'],
'maxu' => $dress['maxu'],
'magic' => $dress['magic'],
'nlevel' => $dress['nlevel'],
'nalign' => $dress['nalign'],
'dategoden' => $dress['dategoden'],
'goden' => $dress['goden'],
'otdel' => $dress['otdel'],//s
'gmp' => $dress['gmp'],
'gmeshok' => $dress['gmeshok'],
'encicl' => $dress['encicl'],//s
'artefact' => $dress['artefact'],
'koll' => $dress['koll']
];
for ($k = 1; $k <= $_GET['count']; $k++) {
db::c()->query('INSERT INTO `inventory` SET ?A[?i,?i,"?s",?i,?i,?i,"?s",?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,"?s",?i,?i,"?s",?i,?i]', $newItem);
db::c()->query('UPDATE `shop` SET `count` = `count` - ?i WHERE `id` =?i', $count, $set);
echo "Вы купили {$count} шт. \"{$dress['name']}\".";
$user['money'] -= $count * $dress['cost'];
db::c()->query('UPDATE `users` set `money` = ?i WHERE `id` = ?i', $user['money'], $user['id']);
$invdb = db::c()->query('SELECT `id` FROM `inventory` WHERE `name` = "?s" ORDER BY `id` DESC LIMIT ?i', $dress['name'], $count);
if ($count == 1) {
$dressinv = $invdb->fetch_assoc();
$dressid = "cap" . $dressinv['id'];
$dresscount = " ";
} else {
$dressid = "";
while ($dressinv = $invdb->fetch_assoc()) {
$dressid .= "cap" . $dressinv['id'] . ",";
}
$dresscount = "(x" . $count . ") ";
}
$allcost = $count * $dress['cost'];
$deloText = "\"" . $user['login'] . "\" купил товар : \"" . $dress['name'] . "\" " . $dresscount . " id:(" . $dressid . ") [0/" . $dress['maxdur'] . "] за " . $allcost . " кр.";
db::c()->query('INSERT INTO `delo` (`pers`, `text`, `type`, `date`) VALUES (?i, "?s", 1, ?i', $user['id'], $deloText, time());
}
} else {
echo "Недостаточно денег или нет вещей в наличии.";
}
}
$itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `setsale` = 0', $user['id'])->fetch_assoc();
$shopCategoryType = empty($_POST['sale']) ?: $_POST['sale'];
$shopCategoryTypeNumber = empty($_GET['otdel']) ?: $_GET['otdel'];
switch ($shopCategoryTypeNumber) {
default:
$shopCategoryType = "Предметы в инвентаре";
$saleItems = true;
break;
case 1:
$shopCategoryType = "Кастеты и ножи";
break;
case 11:
$shopCategoryType = "Топоры";
break;
case 12:
$shopCategoryType = "Дубины и булавы";
break;
case 13:
$shopCategoryType = "Мечи";
break;
case 14:
$shopCategoryType = "Луки и арбалеты";
break;
case 2:
$shopCategoryType = "Сапоги";
break;
case 21:
$shopCategoryType = "Перчатки";
break;
case 22:
$shopCategoryType = "Легкая броня";
break;
case 23:
$shopCategoryType = "Тяжелая броня";
break;
case 24:
$shopCategoryType = "Шлемы";
break;
case 3:
$shopCategoryType = "Щиты";
break;
case 4:
$shopCategoryType = "Серьги";
break;
case 41:
$shopCategoryType = "Ожерелья";
break;
case 42:
$shopCategoryType = "Кольца";
break;
case 5:
$shopCategoryType = "Заклинания: нейтральные";
break;
case 51:
$shopCategoryType = "Заклинания: боевые и защитные";
break;
case 6:
$shopCategoryType = "Амуниция";
break;
case 52:
$shopCategoryType = "Руны";
break;
}
?>
|
Масса всех ваших вещей: = getItemsMassaInfo() ?>
У вас в наличии: = $user['money'] ?> кр. Продать вещи
|