2018-01-28 18:40:49 +02:00
< ? php
ob_start ();
session_start ();
2018-12-12 21:55:33 +02:00
if ( $_SESSION [ 'uid' ] == null ) header ( " Location: index.php " );
2019-01-15 17:56:15 +02:00
require_once 'functions.php' ;
2018-01-28 18:40:49 +02:00
2018-06-23 02:00:48 +03:00
if ( $user [ 'room' ] != 22 ) {
header ( " Location: main.php " );
die ();
2018-01-28 18:40:49 +02:00
}
2018-06-23 02:00:48 +03:00
if ( $user [ 'battle' ] != 0 ) {
header ( 'location: fbattle.php' );
die ();
2018-01-28 18:40:49 +02:00
}
2019-02-12 16:00:13 +02:00
/*
* aheroshop.php
* $data = db::c()->query('SELECT * FROM `ahero_shop` WHERE `count` > 0 AND `razdel` = ?i ORDER by `point` ASC', $_GET['otdel']);
* db::c()->query('UPDATE `shop` SET `count` = `count`- ?i WHERE `id` = ?i', $_POST['count'], $set);
* db::c()->query('UPDATE `users` set `doblest` = `doblest` - ?i * ?i WHERE id = ?i', $_POST['count'], $dress['point'], $user['id']);
2019-02-12 16:14:51 +02:00
*
* shop_luka.php
* $data = mysql_query("SELECT * FROM `shop` WHERE `count` > 0 AND `razdel` = '{$_GET['otdel']}' AND `zeton` != '0' ORDER by `cost` ASC");
* $vsego = $zetons-$_POST['count']*$dress['zeton'];
* if($vsego<='0'){
* mysql_query("DELETE FROM `inventory` WHERE `type`='200' and `name`='Жетон' and owner='".$user["id"]."'");
* }else{mysql_query("UPDATE `inventory` set `maxdur` = '$vsego' WHERE `type`='200' and `name`='Жетон' and owner='".$user["id"]."'");}
2019-02-12 16:00:13 +02:00
* */
2018-06-23 21:08:07 +03:00
$saleItems = false ;
2019-01-14 22:37:35 +02:00
$shopCategoryType = empty ( $_POST [ 'sale' ]) ? : $_POST [ 'sale' ];
$shopCategoryTypeNumber = empty ( $_GET [ 'otdel' ]) ? : $_GET [ 'otdel' ];
switch ( $shopCategoryTypeNumber ) {
default :
$shopCategoryType = " Предметы в инвентаре " ;
$saleItems = true ;
break ;
case 1 :
2019-01-15 01:47:13 +02:00
$shopCategoryType = " Кинжалы " ;
2019-01-14 22:37:35 +02:00
break ;
case 11 :
$shopCategoryType = " Топоры " ;
break ;
case 12 :
2019-01-15 01:47:13 +02:00
$shopCategoryType = " Дубины " ;
2019-01-14 22:37:35 +02:00
break ;
case 13 :
$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 ;
}
2018-01-28 18:40:49 +02:00
2019-01-14 22:28:47 +02:00
if ( false == $saleItems ) {
$shopItems = db :: c () -> query ( 'SELECT `shop`.*,
`magic`.`name` AS `magic_name`,
`magic`.`chanse` AS `magic_chanse`,
`magic`.`time` AS `magic_time`,
`magic`.`file` AS `magic_file`,
`magic`.`targeted` AS `magic_targeted`,
`magic`.`needcharge` AS `magic_needcharge`,
`magic`.`img` AS `magic_img`
FROM `shop` LEFT JOIN `magic` ON `magic` = `magic`.`id` WHERE `count` > 0 AND `cost` > 0 AND `razdel` = ?i ORDER by `nlevel` ASC, `id` ASC' , $shopCategoryTypeNumber );
$iteminfo = [];
while ( $row = $shopItems -> fetch_assoc ()) {
$iteminfo [] = new ShopItem ( $row );
2018-01-28 18:40:49 +02:00
}
2019-01-14 22:28:47 +02:00
} else {
$inventoryItems = db :: c () -> query ( 'SELECT `inventory`.*,
`magic`.`name` AS `magic_name`,
`magic`.`chanse` AS `magic_chanse`,
`magic`.`time` AS `magic_time`,
`magic`.`file` AS `magic_file`,
`magic`.`targeted` AS `magic_targeted`,
`magic`.`needcharge` AS `magic_needcharge`,
2019-01-14 23:54:20 +02:00
`magic`.`img` AS `magic_img`,
0 AS `maxdur`
2019-01-14 22:28:47 +02:00
2019-01-15 17:56:15 +02:00
FROM `inventory` LEFT JOIN `magic` ON `magic` = `magic`.`id` WHERE
`dressed` = 0 AND `setsale` = 0 AND `cost` > 0 AND `present` = "?s" AND
`tradesale` = 0 AND `podzem` = 0 AND `goden` = 0 AND `artefact` = 0 AND `owner` = ?i
ORDER BY `update` DESC' , null , $_SESSION [ 'uid' ]);
2019-01-14 22:28:47 +02:00
$iteminfo = [];
while ( $row = $inventoryItems -> fetch_assoc ()) {
$iteminfo [] = new ShopItem ( $row );
2018-01-28 18:40:49 +02:00
}
2019-01-14 22:28:47 +02:00
}
$sellItemId = filter_input ( INPUT_GET , 'sell' );
if ( $sellItemId ) {
2019-01-15 17:56:15 +02:00
$dress = db :: c () -> query ( 'SELECT `id`, `name`, `cost`, `koll` FROM `inventory` WHERE `dressed` = 0 AND `artefact` = 0 AND `id` = ?i AND `owner` = ?i' , $sellItemId , $user [ 'id' ]) -> fetch_assoc ();
2019-01-14 22:28:47 +02:00
$kols = '' ;
if ( $dress [ 'koll' ]) {
$dress [ 'cost' ] *= $dress [ 'koll' ];
2019-01-16 00:35:32 +02:00
$kols = " (x { $dress [ 'koll' ] } ) " ;
2018-06-23 02:00:48 +03:00
}
2019-01-14 22:28:47 +02:00
2019-01-15 17:56:15 +02:00
$allcost = mt_rand ( 0 , $dress [ 'cost' ] / 2 );
2019-01-14 22:28:47 +02:00
db :: c () -> query ( 'DELETE FROM `inventory` WHERE `id` = ?i' , $dress [ 'id' ]);
2019-01-15 01:52:33 +02:00
db :: c () -> query ( 'UPDATE `users` SET `money` = `money` + ?i WHERE `id` = ?i' , $allcost , $_SESSION [ 'uid' ]);
2019-01-15 02:02:51 +02:00
if ( $allcost == 0 ) $status = " После длительных и изнурительных торгов вы плюнули на всё и просто подарили ваш « { $dress [ 'name' ] } » торговцу. " ;
else $status = " Вы продали « { $dress [ 'name' ] } » $kols за " . $allcost . " кр. " ;
2019-01-16 00:35:32 +02:00
$deloText = " { $user [ 'login' ] } продал товар « { $dress [ 'name' ] } » { $kols } id:( { $dress [ 'id' ] } ) в магазине за { $allcost } кр. " ;
2019-01-14 22:28:47 +02:00
addToDelo ( $deloText );
2019-01-14 23:08:02 +02:00
// Для обновления данных о деньгах на странице
2019-01-15 01:57:10 +02:00
$user [ 'money' ] += $allcost ;
2018-01-28 18:40:49 +02:00
}
2019-01-12 23:35:48 +02:00
if ( ! empty ( $_GET [ 'buy' ])) {
2019-01-14 19:19:11 +02:00
$dress = db :: c () -> query ( 'SELECT * FROM `shop` WHERE `id`=?i' , $_GET [ 'buy' ]) -> fetch_assoc ();
2019-01-14 19:40:14 +02:00
$itemWeight = db :: c () -> query ( 'SELECT sum(`massa`) AS `m` FROM `inventory` WHERE `owner` = ?i AND `setsale` = 0' , $_SESSION [ 'uid' ]) -> fetch_assoc ();
2018-06-23 19:22:20 +03:00
2019-01-14 19:40:14 +02:00
if (( $dress [ 'massa' ] + $itemWeight [ 'm' ]) > ( get_meshok ())) $status = 'Недостаточно места в рюкзаке.' ;
elseif ( $user [ 'money' ] >= $dress [ 'cost' ] AND ( $dress [ 'count' ] > 0 OR $dress [ 'count' ] == - 1 )) {
2018-06-23 15:44:38 +03:00
$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 '],
2019-01-15 17:56:15 +02:00
2018-06-23 15:44:38 +03:00
' 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 '],
2019-01-15 17:56:15 +02:00
2018-06-23 15:44:38 +03:00
' 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 '],
2019-01-15 17:56:15 +02:00
' nfire ' => $dress[' nfire '],
' nwater ' => $dress[' nwater '],
' nair ' => $dress[' nair '],
' nearth ' => $dress[' nearth '],
' nlight ' => $dress[' nlight '],
' ngray ' => $dress[' ngray '],
' ndark ' => $dress[' ndark '],
' mfkrit ' => $dress[' mfkrit '],
' mfakrit ' => $dress[' mfakrit '],
' mfuvorot ' => $dress[' mfuvorot '],
' mfauvorot ' => $dress[' mfauvorot '],
2018-06-23 15:44:38 +03:00
' 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 '],
' gmp ' => $dress[' gmp '],
' artefact ' => $dress[' artefact '],
2019-01-15 17:56:15 +02:00
' koll ' => $dress[' koll '],
2018-06-23 15:44:38 +03:00
];
2018-06-23 02:00:48 +03:00
2019-01-15 17:56:15 +02:00
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 , ? i , ? i , ? i , ? i , ? i , ? i , ? i , ? i , ? i , ? i , ? i , ? i , ? i , ? i ] ', $newItem);
2019-01-14 19:40:14 +02:00
$inventoryItemId = db::c()->getLastInsertId();
if ($dress[' count '] != -1) db::c()->query(' UPDATE `shop` SET `count` = `count` - 1 WHERE `id` = ? i ', $_GET[' buy ']);
2019-01-15 01:47:13 +02:00
$status = "Вы купили «{$dress[' name ']}» за {$dress[' cost ']} кр.";
2019-01-15 01:52:33 +02:00
db::c()->query(' UPDATE `users` set `money` = `money` - ? i WHERE `id` = ? i ', $dress[' cost '], $_SESSION[' uid ']);
2019-01-14 19:48:36 +02:00
$deloText = "{$user[' login ']} купил товар «{$dress[' name ']}» id:({$inventoryItemId}) в магазине за {$dress[' cost ']} кр.";
addToDelo($deloText);
2019-01-15 01:57:10 +02:00
// Для обновления данных о деньгах на странице
$user[' money '] -= $dress[' cost '];
2019-01-14 19:05:15 +02:00
2018-06-23 02:00:48 +03:00
} else {
2019-01-14 19:40:14 +02:00
$status = "Недостаточно денег или нет вещей в наличии.";
2018-01-28 18:40:49 +02:00
}
}
?>
2018-06-23 02:00:48 +03:00
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="css/main.css" rel="stylesheet"/>
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery.simplemodal.js"></script>
<script src="js/jquery.ui.js?100"></script>
2019-01-15 13:52:15 +02:00
<script src="js/main.js"></script>
2018-06-23 02:00:48 +03:00
</head>
<body>
<h1>Государственный магазин</h1>
2019-01-15 21:34:35 +02:00
<a href=# onclick=hrefToFrame(' city . php ? cp ')> ← выйти на Центральную площадь</a>
2019-01-14 19:40:14 +02:00
<div><?php if (!empty($status)) err($status); ?></div>
2018-06-23 20:14:10 +03:00
<TABLE width=100% cellspacing="0" cellpadding="4">
2018-06-23 02:00:48 +03:00
<TR>
<TD valign=top align=left>
2019-01-15 17:56:15 +02:00
<h3><?= $shopCategoryType ?></h3>
<?php if ($saleItems): ?>
<div style="text-align: center;">Вы можете продать ваши предметы за сущие копейки.</div>
<?php endif; ?>
2018-06-23 02:00:48 +03:00
<!--Магазин-->
2019-01-15 17:56:15 +02:00
<TABLE class="zebra" WIDTH=100% CELLSPACING="1" CELLPADDING="2">
<?php
if ($saleItems == true) {
foreach ($iteminfo as $ii) {
echo "<tr><td style=' width : 150 px ; text - align : center ; '>";
$ii->printImage();
$ii->printControls(' sell ');
echo "</td>";
echo "<td style=' vertical - align : top ; '>";
$ii->printInfo();
echo "</td></tr>";
}
} else {
foreach ($iteminfo as $ii) {
echo "<tr><td style=' width : 150 px ; text - align : center ; '>";
$ii->printImage();
$ii->printControls();
echo "</td>";
echo "<td style=' vertical - align : top ; '>";
$ii->printInfo();
echo "</td></tr>";
}
}
?>
2018-06-23 02:00:48 +03:00
</TABLE>
</TD>
<TD valign=top width=280>
2018-12-12 22:21:47 +02:00
<B>Масса всех ваших вещей: <?= getItemsMassaInfo() ?>
<BR>У вас в наличии: <span style="color: darkgreen;"><?= $user[' money ' ] ?> </span> кр.</B>
2018-06-23 02:00:48 +03:00
<hr>
2019-01-15 17:56:15 +02:00
<div style="text-align: center; font-weight: bold;">Отделы магазина</div>
2018-06-23 21:26:38 +03:00
<a href="shop.php?otdel=sale&rnd=<?= mt_rand() ?>">Продать вещи</a>
2018-06-23 02:00:48 +03:00
<dl>
<dt><b>Оружие:</b></dt>
2019-01-15 17:56:15 +02:00
<dd><a href="?otdel=1&rnd=<?= mt_rand() ?>">кинжалы</a></dd>
<dd><a href="?otdel=11&rnd=<?= mt_rand() ?>">топоры</a></dd>
<dd><a href="?otdel=12&rnd=<?= mt_rand() ?>">дубины</a></dd>
<dd><a href="?otdel=13&rnd=<?= mt_rand() ?>">мечи</a></dd>
2018-06-23 02:00:48 +03:00
<dt><b>Одежда:</b></dt>
2019-01-15 17:56:15 +02:00
<dd><a href="?otdel=24&rnd=<?= mt_rand() ?>">шлемы</a></dd>
<dd><a href="?otdel=23&rnd=<?= mt_rand() ?>">тяжелая броня</a></dd>
<dd><a href="?otdel=22&rnd=<?= mt_rand() ?>">легкая броня</a></dd>
<dd><a href="?otdel=3&rnd=<?= mt_rand() ?>">щиты</a></dd>
<dd><a href="?otdel=21&rnd=<?= mt_rand() ?>">перчатки</a></dd>
<dd><a href="?otdel=2&rnd=<?= mt_rand() ?>">сапоги</a></dd>
2018-06-23 02:00:48 +03:00
<dt><b>Ювелирные товары:</b></dt>
2019-01-15 17:56:15 +02:00
<dd><a href="?otdel=4&rnd=<?= mt_rand() ?>">серьги</a></dd>
<dd><a href="?otdel=41&rnd=<?= mt_rand() ?>">ожерелья</a></dd>
<dd><a href="?otdel=42&rnd=<?= mt_rand() ?>">кольца</a></dd>
2018-06-23 02:00:48 +03:00
<dt><b>Магия:</b></dt>
2019-01-15 17:56:15 +02:00
<dd><a href="?otdel=51&rnd=<?= mt_rand() ?>">боевые</a></dd>
<dd><a href="?otdel=5&rnd=<?= mt_rand() ?>">разные</a></dd>
2018-06-23 02:00:48 +03:00
<dt><b>Разное:</b></dt>
2019-01-15 17:56:15 +02:00
<dd><a href="?otdel=6&rnd=<?= mt_rand() ?>">амуниция</a></dd>
2018-06-23 02:00:48 +03:00
</dl>
<div id="hint3" class="ahint"></div>
</TD>
</TR>
2018-01-28 18:40:49 +02:00
</TABLE>
</BODY>
</HTML>