2018-01-28 16:40:49 +00:00
< ? php
2020-06-23 19:34:52 +00:00
ob_start ( " ob_gzhandler " );
2018-01-28 16:40:49 +00:00
session_start ();
2019-02-15 22:31:18 +00:00
$get = filter_input ( INPUT_SERVER , 'QUERY_STRING' );
2019-09-16 14:45:07 +00:00
if ( $get === 'exit' ) {
2019-02-15 22:33:58 +00:00
session_destroy ();
header ( " Location: fight.php " );
}
2020-06-23 08:49:49 +00:00
if ( ! isset ( $_SESSION [ 'uid' ])) {
header ( " Location: index.php " );
}
2020-06-23 19:34:52 +00:00
2020-06-23 18:19:52 +00:00
require_once 'functions.php' ;
2020-06-23 19:34:52 +00:00
2018-01-28 16:40:49 +00:00
$tmaz = time ();
2020-06-23 13:13:25 +00:00
try {
2020-07-06 07:13:14 +00:00
db :: c () -> query ( 'UPDATE `online` SET `real_time` = ?i WHERE `user_id` = ?i' , time (), $user [ 'id' ]);
2020-06-23 13:13:25 +00:00
} catch ( \Krugozor\Database\Mysql\Exception $e ) {
2020-07-06 13:54:51 +00:00
echo " <div class='debug' '>Ошибка: " . $e -> getMessage () . " <br> Стек: " . $e -> getTraceAsString () . " </div> " ;
2018-03-02 14:33:58 +00:00
}
2020-07-06 19:54:50 +00:00
if ( ! empty ( $user [ 'battle' ])) {
2020-07-06 20:17:49 +00:00
header ( 'location: fbattle.php' );
die ();
}
2020-07-06 19:54:50 +00:00
//БС
2020-07-21 15:57:15 +00:00
if ( isset ( $user [ 'in_tower' ]) && $user [ 'in_tower' ] == 1 ) {
2020-07-06 19:54:50 +00:00
header ( 'Location: towerin.php' );
die ();
}
2018-01-28 16:40:49 +00:00
2019-09-18 14:06:05 +00:00
/* === проверяем соответствие комнаты и скрипта === */
if ( in_array ( $user [ 'room' ], [ 20 , 21 , 26 , 48 , 51 , 52 , 651 , 2655 , 2601 , 2701 , 2702 , 2111 ], 1 )) {
header ( 'Location: city.php' );
die ();
}
if ( $user [ 'room' ] == 22 ) {
header ( 'Location: shop.php' );
die ();
}
if ( $user [ 'room' ] == 23 ) {
header ( 'Location: repair.php' );
die ();
}
if ( $user [ 'room' ] == 25 ) {
header ( 'Location: comission.php' );
die ();
}
if ( $user [ 'room' ] == 27 ) {
header ( 'Location: post.php' );
die ();
}
if ( $user [ 'room' ] == 29 ) {
header ( 'Location: bank.php' );
die ();
}
if ( $user [ 'room' ] == 31 ) {
header ( 'Location: tower.php' );
die ();
}
if ( $user [ 'room' ] == 30 ) {
header ( 'Location: clan_create.php' );
die ();
}
if ( $user [ 'room' ] == 34 ) {
header ( 'Location: fshop.php' );
die ();
}
if ( $user [ 'room' ] == 42 ) {
header ( 'Location: lotery.php' );
die ();
}
if ( $user [ 'room' ] == 43 ) {
header ( 'Location: znahar.php' );
die ();
}
if ( $user [ 'room' ] == 44 ) {
header ( 'Location: new_year.php' );
die ();
}
if ( $user [ 'room' ] == 45 ) {
header ( 'Location: clan_castle.php' );
die ();
}
if ( $user [ 'room' ] == 47 ) {
header ( 'Location: wall_build.php' );
die ();
}
if ( $user [ 'room' ] == 49 ) {
header ( 'Location: dig.php' );
die ();
}
if ( $user [ 'room' ] == 50 ) {
header ( 'Location: ashop.php' );
die ();
}
if ( $user [ 'room' ] == 53 ) {
header ( 'Location: library.php' );
die ();
}
if ( $user [ 'room' ] == 61 ) {
header ( 'Location: akadem.php' );
die ();
}
if ( $user [ 'room' ] == 650 ) {
header ( 'Location: ul_clans.php' );
die ();
}
2020-07-06 13:54:51 +00:00
2019-09-18 14:06:05 +00:00
//Храм древнх
if ( $user [ 'room' ] == 203 ) {
header ( 'Location: church.php' );
die ();
}
//ЦХ
if ( $user [ 'room' ] == 600 ) {
header ( 'Location: c_haos.php' );
die ();
}
if ( $user [ 'room' ] == 601 ) {
header ( 'Location: c_haos_in.php' );
die ();
}
if ( $user [ 'room' ] == 602 ) {
header ( 'Location: c_park.php' );
die ();
}
if ( $user [ 'room' ] == 603 ) {
header ( 'Location: aren_of_angels.php' );
die ();
}
if ( $user [ 'room' ] == 620 ) {
header ( 'Location: enter_cave.php' );
die ();
}
if ( $user [ 'room' ] == 621 ) {
header ( 'Location: cave.php' );
die ();
}
if ( $user [ 'room' ] == 660 ) {
header ( 'Location: hostel.php' );
die ();
}
if ( $user [ 'room' ] == 661 ) {
header ( 'Location: hostel_room.php' );
die ();
}
if ( $user [ 'room' ] == 662 ) {
header ( 'Location: quest_room.php' );
die ();
}
if ( $user [ 'room' ] == 760 ) {
header ( 'Location: c_forest.php' );
die ();
}
if ( $user [ 'room' ] == 1000 ) {
header ( 'Location: solib/enterbezdna.php' );
die ();
}
if ( $user [ 'room' ] == 1001 ) {
header ( 'Location: solib/dungeon.php' );
die ();
}
if ( $user [ 'room' ] == 1051 ) {
header ( 'Location: lab_enter.php' );
die ();
}
if ( $user [ 'room' ] == 1052 ) {
header ( 'Location: labirint.php' );
die ();
}
if ( $user [ 'room' ] == 402 ) {
header ( 'Location: vxod.php' );
die ();
}
if ( $user [ 'room' ] == 403 ) {
header ( 'Location: canalizaciya.php' );
die ();
}
if ( $user [ 'room' ] == 1054 ) {
header ( 'Location: fontan_luck.php' );
die ();
}
if ( $user [ 'room' ] == 1055 ) {
header ( 'Location: group_arena.php' );
die ();
}
if ( $user [ 'room' ] == 666 ) {
header ( 'Location: jail.php' );
die ();
}
2018-07-02 15:35:25 +00:00
function sum_mf ( $u )
{
2020-06-23 13:13:25 +00:00
try {
$sum = db :: c () -> query ( 'SELECT SUM(`add_proc_mf`) AS `mf` FROM `inventory` WHERE `dressed` = 1 AND `add_proc_mf` > 0 AND `owner` = ?i' , $u );
2020-07-06 15:21:52 +00:00
if ( $sum -> fetch_assoc () > 0 ) {
return $sum ;
} else {
return 0 ;
}
2020-06-23 13:13:25 +00:00
} catch ( \Krugozor\Database\Mysql\Exception $e ) {
echo " <div style='background-color: #ffaaaa;'>Ошибка: " . $e -> getMessage () . " <br> В файле: " . $e -> getFile () . " ( " . $e -> getLine () . " )</div> " ;
}
2018-07-02 15:35:25 +00:00
}
function sum_dmg ( $u )
{
2020-06-23 13:13:25 +00:00
try {
$sum = db :: c () -> query ( 'SELECT SUM(`add_proc_uron`) AS `mf` FROM `inventory` WHERE `dressed` = 1 AND `add_proc_uron` > 0 AND `owner` = ?i' , $u );
2020-07-06 15:21:52 +00:00
if ( $sum -> fetch_assoc () > 0 ) {
return $sum ;
} else {
return 0 ;
}
2020-06-23 13:13:25 +00:00
} catch ( \Krugozor\Database\Mysql\Exception $e ) {
echo " <div style='background-color: #ffaaaa;'>Ошибка: " . $e -> getMessage () . " <br> В файле: " . $e -> getFile () . " ( " . $e -> getLine () . " )</div> " ;
}
2018-07-02 15:35:25 +00:00
}
function bron_ads ( $a1 , $a2 , $a3 , $a4 , $col )
{
2019-01-18 12:25:27 +00:00
return [ 'a1' => round (( $a1 / 100 ) * $col ), 'a2' => round (( $a2 / 100 ) * $col ), 'a3' => round (( $a3 / 100 ) * $col ), 'a4' => round (( $a4 / 100 ) * $col )];
2018-07-02 15:35:25 +00:00
}
function stack ( $it_id )
{
global $user ;
$it_id = ( int ) $it_id ;
2019-09-16 14:01:59 +00:00
$stack = db :: c () -> query ( 'SELECT * FROM `inventory` WHERE `id` = ?i AND `owner` = ?i' , $it_id , $user [ 'id' ]);
if ( db :: c () -> getAffectedRows () === 1 ) {
$stack = $stack -> fetch_assoc ();
2018-07-02 15:35:25 +00:00
$similar = mysql_fetch_array ( mysql_query ( " SELECT SUM(`koll`) FROM `inventory` WHERE `owner` = ' " . $user [ 'id' ] . " ' AND `id` != ' " . $stack [ 'id' ] . " ' AND `name` = ' " . $stack [ 'name' ] . " ' AND `present` = ' " . $stack [ 'present' ] . " ' AND `duration` = ' " . $stack [ 'duration' ] . " ' AND `maxdur` = ' " . $stack [ 'maxdur' ] . " ' AND `laba` = ' " . $stack [ 'laba' ] . " ' AND `gmeshok` = ' " . $stack [ 'gmeshok' ] . " ' AND `dressed` = 0 AND `goden` = 0 AND `setsale` = 0 AND `koll` >= 1 AND `isrep` = ' " . $stack [ 'isrep' ] . " ' AND FORMAT(`cost`/`koll`, 2) = FORMAT( " . ( $stack [ 'cost' ] / $stack [ 'koll' ]) . " , 2) AND FORMAT(`point`/`koll`, 2) = FORMAT( " . ( $stack [ 'point' ] / $stack [ 'koll' ]) . " , 2) AND FORMAT(`bcost`/`koll`, 2) = FORMAT( " . ( $stack [ 'bcost' ] / $stack [ 'koll' ]) . " , 2) " ));
if ( $similar [ 0 ] >= 1 ) {
mysql_query ( " UPDATE `inventory` SET `cost` = (`cost`+`cost`/`koll`* " . $similar [ 0 ] . " ), `point` = (`point`+`point`/`koll`* " . $similar [ 0 ] . " ), `bcost` = (`bcost`+`bcost`/`koll`* " . $similar [ 0 ] . " ), `massa` = (`massa`+`massa`/`koll`* " . $similar [ 0 ] . " ), `koll` = (`koll`+ " . $similar [ 0 ] . " ), `gmeshok` = (`gmeshok`+`gmeshok`* " . $similar [ 0 ] . " ) WHERE `id` = ' " . $stack [ 'id' ] . " ' LIMIT 1 " );
mysql_query ( " DELETE FROM `inventory` WHERE `owner` = ' " . $user [ 'id' ] . " ' AND `id` != ' " . $stack [ 'id' ] . " ' AND `name` = ' " . $stack [ 'name' ] . " ' AND `present` = ' " . $stack [ 'present' ] . " ' AND `duration` = ' " . $stack [ 'duration' ] . " ' AND `maxdur` = ' " . $stack [ 'maxdur' ] . " ' AND `dressed` = 0 AND `goden` = 0 AND `koll` >= 1 AND `setsale` = 0 AND `gmeshok` = ' " . $stack [ 'gmeshok' ] . " ' AND `laba` = ' " . $stack [ 'laba' ] . " ' AND `isrep` = ' " . $stack [ 'isrep' ] . " ' AND FORMAT(`cost`/`koll`, 2)=FORMAT( " . $stack [ 'cost' ] / $stack [ 'koll' ] . " , 2) AND FORMAT(`point`/`koll`, 2) = FORMAT( " . ( $stack [ 'point' ] / $stack [ 'koll' ]) . " , 2) AND FORMAT(`bcost`/`koll`, 2) = FORMAT( " . ( $stack [ 'bcost' ] / $stack [ 'koll' ]) . " , 2) " );
}
}
}
function unstack ( $it_id , $it_count )
{
global $user ;
$it_id = ( int ) $it_id ;
$it_count = ( int ) $it_count ;
$it_count = abs ( $it_count );
2020-06-23 13:31:58 +00:00
try {
$dress = db :: c () -> query ( 'SELECT * FROM inventory WHERE owner = ?i AND id = ?i' , $user [ 'id' ], $it_id ) -> fetch_assoc_array ();
2020-07-06 19:54:50 +00:00
} catch ( \Krugozor\Database\Mysql\Exception $e ) {
2020-06-23 13:31:58 +00:00
echo " <div style='background-color: #ffaaaa;'>Ошибка: " . $e -> getMessage () . " <br> В файле: " . $e -> getFile () . " ( " . $e -> getLine () . " )</div> " ;
}
2018-07-02 15:35:25 +00:00
if ( isset ( $dress [ 'id' ])) {
if ( $it_count <= $dress [ 'koll' ] && $it_count > 0 ) {
if ( $dress [ 'koll' ] == $it_count ) {
2020-06-23 13:31:58 +00:00
db :: c () -> query ( 'DELETE FROM inventory WHERE owner = ?i AND id = ?i' , $user [ 'id' ], $dress [ 'id' ]);
2018-07-02 15:35:25 +00:00
} else {
2018-12-12 20:50:32 +00:00
mysql_query ( " UPDATE `inventory` SET `cost` = (`cost`-`cost`/`koll`* " . $it_count . " ), `point` = (`point`-`point`/`koll`* " . $it_count . " ), `bcost` = (`bcost`-`bcost`/`koll`* " . $it_count . " ), `massa` = (`massa`-`massa`/`koll`* " . $it_count . " ), `koll` = (`koll`- " . $it_count . " ) WHERE `id` = ' $dress[id] ' AND `owner` = ' $user[id] ' LIMIT 1 " );
2018-07-02 15:35:25 +00:00
}
mysql_query ( " INSERT INTO `inventory` (`name`, `upgrade`, `modif`, `podgon`, `duration`, `maxdur`, `cost`, `bcost`, `point`, `nlevel`, `nsila`, `nlovk`, `ninta`, `nvinos`, `nintel`, `nmudra`, `nnoj`, `ntopor`, `ndubina`, `nmech`, `nalign`, `minu`, `maxu`, `gsila`, `glovk`, `ginta`, `gintel`, `ghp`, `mfkrit`, `mfakrit`, `mfuvorot`, `mfauvorot`, `gnoj`, `gtopor`, `gdubina`, `gmech`, `img`, `text`, `owner`, `dressed`, `bron1`, `bron2`, `bron3`, `bron4`, `dategoden`, `magic`, `type`, `present`, `sharped`, `massa`, `goden`, `needident`, `nfire`, `nwater`, `nair`, `nearth`, `nlight`, `ngray`, `ndark`, `gfire`, `gwater`, `gair`, `gearth`, `glight`, `ggray`, `gdark`, `free_bron`, `free_stat`, `free_mf`, `letter`, `isrep`, `update`, `setsale`, `prototype`, `otdel`, `bs`, `gmp`, `includemagic`, `includemagicdex`, `includemagicmax`, `includemagicname`, `includemagicuses`, `includemagiccost`, `gmeshok`, `tradesale`, `podzem`, `x_mis`, `artefact`, `destinyinv`, `encicl`, `foronetrip`, `koll`) VALUES (' " . $dress [ 'name' ] . " ', ' " . $dress [ 'upgrade' ] . " ', ' " . $dress [ 'modif' ] . " ', ' " . $dress [ 'podgon' ] . " ', ' " . $dress [ 'duration' ] . " ', ' " . $dress [ 'maxdur' ] . " ', ' " . ( $dress [ 'cost' ] / $dress [ 'koll' ] * $it_count ) . " ', ' " . ( $dress [ 'bcost' ] / $dress [ 'koll' ] * $it_count ) . " ', ' " . ( $dress [ 'point' ] / $dress [ 'koll' ] * $it_count ) . " ', ' " . $dress [ 'nlevel' ] . " ', ' " . $dress [ 'nsila' ] . " ', ' " . $dress [ 'nlovk' ] . " ', ' " . $dress [ 'ninta' ] . " ', ' " . $dress [ 'nvinos' ] . " ', ' " . $dress [ 'nintel' ] . " ', ' " . $dress [ 'nmudra' ] . " ', ' " . $dress [ 'nnoj' ] . " ', ' " . $dress [ 'ntopor' ] . " ', ' " . $dress [ 'ndubina' ] . " ', ' " . $dress [ 'nmech' ] . " ', ' " . $dress [ 'nalign' ] . " ', ' " . $dress [ 'minu' ] . " ', ' " . $dress [ 'maxu' ] . " ', ' " . $dress [ 'gsila' ] . " ', ' " . $dress [ 'glovk' ] . " ', ' " . $dress [ 'ginta' ] . " ', ' " . $dress [ 'gintel' ] . " ', ' " . $dress [ 'ghp' ] . " ', ' " . $dress [ 'mfkrit' ] . " ', ' " . $dress [ 'mfakrit' ] . " ', ' " . $dress [ 'mfuvorot' ] . " ', ' " . $dress [ 'mfauvorot' ] . " ', ' " . $dress [ 'gnoj' ] . " ', ' " . $dress [ 'gtopor' ] . " ', ' " . $dress [ 'gdubina' ] . " ', ' " . $dress [ 'gmech' ] . " ', ' " . $dress [ 'img' ] . " ', ' " . $dress [ 'text' ] . " ', ' " . $dress [ 'owner' ] . " ', ' " . $dress [ 'dressed' ] . " ', ' " . $dress [ 'bron1' ] . " ', ' " . $dress [ 'bron2' ] . " ', ' " . $dress [ 'bron3' ] . " ', ' " . $dress [ 'bron4' ] . " ', ' " . $dress [ 'dategoden' ] . " ', ' " . $dress [ 'magic' ] . " ', ' " . $dress [ 'type' ] . " ', ' " . $dress [ 'present' ] . " ', ' " . $dress [ 'sharped' ] . " ', ' " . ( $dress [ 'massa' ] / $dress [ 'koll' ] * $it_count ) . " ', ' " . $dress [ 'goden' ] . " ', ' " . $dress [ 'needident' ] . " ', ' " . $dress [ 'nfire' ] . " ', ' " . $dress [ 'nwater' ] . " ', ' " . $dress [ 'nair' ] . " ', ' " . $dress [ 'nearth' ] . " ', ' " . $dress [ 'nlight' ] . " ', ' " . $dress [ 'ngray' ] . " ', ' " . $dress [ 'ndark' ] . " ', ' " . $dress [ 'gfire' ] . " ', ' " . $dress [ 'gwater' ] . " ', ' " . $dress [ 'gair' ] . " ', ' " . $dress [ 'gearth' ] . " ', ' " . $dress [ 'glight' ] . " ', ' " . $dress [ 'ggray' ] . " ', ' " . $dress [ 'gdark' ] . " ', ' " . $dress [ 'free_bron' ] . " ', ' " . $dress [ 'free_bron' ] . " ', ' " . $dress [ 'free_mf' ] . " ', ' " . $dress [ 'letter' ] . " ', ' " . $dress [ 'isrep' ] . " ', ' " . $dress [ 'update' ] . " ', ' " . $dress [ 'setsale' ] . " ', ' " . $dress [ 'prototype' ] . " ', ' " . $dress [ 'otdel' ] . " ', ' " . $dress [ 'bs' ] . " ', ' " . $dress [ 'gmp' ] . " ', ' " . $dress [ 'includemagic' ] . " ', ' " . $dress [ 'includemagicdex' ] . " ', ' " . $dress [ 'includemagicmax' ] . " ', ' " . $dress [ 'includemagicname' ] . " ', ' " . $dress [ 'ggrincludemagicusesay' ] . " ', ' " . $dress [ 'includemagiccost' ] . " ', ' " . ( $dress [ 'gmeshok' ] / $dress [ 'koll' ] * $it_count ) . " ', ' " . $dress [ 'tradesale' ] . " ', ' " . $dress [ 'podzem' ] . " ', ' " . $dress [ 'x_mis' ] . " ', ' " . $dress [ 'artefact' ] . " ', ' " . $dress [ 'destinyinv' ] . " ', ' " . $dress [ 'encicl' ] . " ', ' " . $dress [ 'foronetrip' ] . " ', ' " . $it_count . " ') " );
return mysql_insert_id ();
2020-06-23 08:49:49 +00:00
} else {
return false ;
}
} else {
return false ;
}
2018-07-02 15:35:25 +00:00
}
2020-07-06 19:02:04 +00:00
//FIXME id and uid together???
2018-07-02 15:35:25 +00:00
function del_efs ( $uid , $id , $type )
{
global $user ;
$arr = [ 2 , 3 , 4 , 5 , 8 , 10 , 11 , 12 , 13 , 14 , 20 ];
2020-06-23 08:49:49 +00:00
if ( $uid == $user [ 'id' ] && $id != null ) {
if ( ! in_array ( $type , $arr )) {
2020-07-06 19:02:04 +00:00
db :: c () -> query ( 'DELETE FROM `users_effects` WHERE `owner_id` = ?i AND `id` = ?i' , $uid , $id );
2020-06-23 08:49:49 +00:00
if ( $type == 1022 ) {
db :: c () -> query ( 'UPDATE `users` SET `invis` = ?i WHERE `id` = ?i' , 0 , $uid );
$user [ 'invis' ] = 0 ;
2018-07-02 15:35:25 +00:00
}
2020-06-23 08:49:49 +00:00
err ( 'Эффект удалён.' );
} else {
err ( 'Данный эффект нельзя удалить.' );
2018-07-02 15:35:25 +00:00
}
}
}
// одеть предмет
function dressitem ( $id )
{
global $user ;
2018-12-11 13:00:16 +00:00
$item = db :: c () -> query ( 'SELECT * FROM `inventory` WHERE `duration` < `maxdur` AND `id` = ?i AND `owner` = ?i AND `dressed` = 0' , $id , $user [ 'id' ]) -> fetch_assoc ();
2018-07-02 15:35:25 +00:00
switch ( $item [ 'type' ]) {
case 1 :
$slot1 = 'sergi' ;
break ;
case 2 :
$slot1 = 'kulon' ;
break ;
case 3 :
$slot1 = 'weap' ;
break ;
case 4 :
$slot1 = 'bron' ;
break ;
case 5 :
$slot1 = 'r1' ;
break ;
case 6 :
$slot1 = 'r2' ;
break ;
case 7 :
$slot1 = 'r3' ;
break ;
case 8 :
$slot1 = 'helm' ;
break ;
case 9 :
$slot1 = 'perchi' ;
break ;
case 10 :
$slot1 = 'shit' ;
break ;
case 11 :
$slot1 = 'boots' ;
break ;
case 12 :
$slot1 = 'm1' ;
break ;
case 22 :
$slot1 = 'rybax' ;
break ;
case 23 :
$slot1 = 'plaw' ;
break ;
2019-09-17 15:15:17 +00:00
default :
$slot1 = '' ;
break ;
2018-07-02 15:35:25 +00:00
}
if ( $item [ 'type' ] == 5 ) {
2020-06-23 08:49:49 +00:00
if ( ! $user [ 'r1' ]) {
$slot1 = 'r1' ;
} elseif ( ! $user [ 'r2' ]) {
$slot1 = 'r2' ;
} elseif ( ! $user [ 'r3' ]) {
$slot1 = 'r3' ;
} else {
2018-07-02 15:35:25 +00:00
$slot1 = 'r1' ;
dropitem ( 5 );
}
} elseif ( $item [ 'type' ] == 12 ) {
2020-06-23 08:49:49 +00:00
if ( ! $user [ 'm1' ]) {
$slot1 = 'm1' ;
} elseif ( ! $user [ 'm2' ]) {
$slot1 = 'm2' ;
} elseif ( ! $user [ 'm3' ]) {
$slot1 = 'm3' ;
} elseif ( ! $user [ 'm4' ]) {
$slot1 = 'm4' ;
} elseif ( ! $user [ 'm5' ]) {
$slot1 = 'm5' ;
} elseif ( ! $user [ 'm6' ]) {
$slot1 = 'm6' ;
} elseif ( ! $user [ 'm7' ]) {
$slot1 = 'm7' ;
} elseif ( ! $user [ 'm8' ]) {
$slot1 = 'm8' ;
} elseif ( ! $user [ 'm9' ]) {
$slot1 = 'm9' ;
} elseif ( ! $user [ 'm10' ]) {
$slot1 = 'm10' ;
} else {
2018-07-02 15:35:25 +00:00
$slot1 = 'm1' ;
dropitem ( 12 );
}
2020-06-23 08:49:49 +00:00
} else {
dropitem ( $item [ 'type' ]);
}
2018-07-02 15:35:25 +00:00
if ( ! ( $item [ 'type' ] == 12 && $user [ 'level' ] < 4 )) {
2020-07-06 15:21:52 +00:00
if ( db :: c () -> query ( 'UPDATE `users` AS `u`, `inventory` AS `i` SET `u`.?f = ?i, `i`.`dressed` = 1, `u`.`sila` = `u`.`sila` + `i`.`gsila`, `u`.`lovk` = `u`.`lovk` + `i`.`glovk`, `u`.`inta` = `u`.`inta` + `i`.`ginta`, `u`.`intel` = `u`.`intel` + `i`.`gintel`, `u`.`maxhp` = `u`.`maxhp` + `i`.`ghp`, `u`.`noj` = `u`.`noj` + `i`.`gnoj`, `u`.`topor` = `u`.`topor` + `i`.`gtopor`, `u`.`dubina` = `u`.`dubina` + `i`.`gdubina`, `u`.`mec` = `u`.`mec` + `i`.`gmech`, `u`.`mfire` = `u`.`mfire` + `i`.`gfire`, `u`.`mwater` = `u`.`mwater` + `i`.`gwater`, `u`.`mair` = `u`.`mair` + `i`.`gair`, `u`.`mearth` = `u`.`mearth` + `i`.`gearth`, `u`.`mlight` = `u`.`mlight` + `i`.`glight`, `u`.`mgray` = `u`.`mgray` + `i`.`ggray`, `u`.`mdark` = `u`.`mdark` + `i`.`gdark`, `u`.`ubron1` = `u`.`ubron1` + `i`.`bron1`, `u`.`ubron2` = `u`.`ubron2` + `i`.`bron2`, `u`.`ubron3` = `u`.`ubron3` + `i`.`bron3`, `u`.`ubron4` = `u`.`ubron4` + `i`.`bron4`, `u`.`fkrit` = `u`.`fkrit` + `i`.`mfkrit`, `u`.`fakrit` = `u`.`fakrit` + `i`.`mfakrit`, `u`.`fuvorot` = `u`.`fuvorot` + `i`.`mfuvorot`, `u`.`fauvorot` = `u`.`fauvorot` + `i`.`mfauvorot`, `u`.`uminu` = `u`.`uminu` + `i`.`minu`, `u`.`umaxu` = `u`.`umaxu` + `i`.`maxu` WHERE `i`.`needident` = 0 AND `i`.`id` = ?i AND `i`.`dressed` = 0 AND `i`.owner = ?i AND (20 + `u`.`sila`) >= `i`.`nsila` AND (20 + `u`.`lovk`) >= `i`.`nlovk` AND (20 + `u`.`inta`) >= `i`.`ninta` AND `u`.`vinos` >= `i`.`nvinos` AND (20 + `u`.`intel`) >= `i`.`nintel` AND `u`.`mudra` >= `i`.`nmudra` AND `u`.`level` >= `i`.`nlevel` AND (((?i = `i`.`nalign`)) OR (`i`.`nalign` = 0)) AND `u`.`noj` >= `i`.`nnoj` AND `u`.`topor` >= `i`.`ntopor` AND `u`.`dubina` >= `i`.`ndubina` AND `u`.`mec` >= `i`.`nmech` AND `u`.`mfire` >= `i`.`nfire` AND `u`.`mwater` >= `i`.`nwater` AND `u`.`mair` >= `i`.`nair` AND `u`.`mearth` >= `i`.`nearth` AND `u`.`mlight` >= `i`.`nlight` AND `u`.`mgray` >= `i`.`ngray` AND `u`.`mdark` >= `i`.`ndark` AND `i`.`setsale` = 0 AND `u`.`id` = ?i' , $slot1 , $id , $id , $user [ 'id' ], $user [ 'align' ], $user [ 'id' ])) {
2018-07-02 15:35:25 +00:00
$user [ $slot1 ] = $item [ 'id' ];
2020-06-23 08:49:49 +00:00
}
2018-07-02 15:35:25 +00:00
return true ;
2020-06-23 08:49:49 +00:00
} else {
return false ;
}
2018-07-02 15:35:25 +00:00
}
2019-09-17 14:37:44 +00:00
// Входим и выходим если можем.
if ( isset ( $_GET [ 'goto' ])) {
$imove = true ;
2020-07-21 11:52:39 +00:00
$d = db :: c () -> query ( 'SELECT SUM(`weight`) AS `sum_weight` FROM `inventory` WHERE `owner` = ?i AND `on_sale` = 0' , $user [ 'id' ]) -> fetch_assoc ();
2020-07-06 19:02:04 +00:00
$eff = db :: c () -> query ( 'SELECT 1 FROM `users_effects` WHERE `owner_id` = ?i AND (`type` = 14 OR `type` = 13)' , $user [ 'id' ]);
2020-07-21 11:52:39 +00:00
//(масса: <?= $getItemsBonuses->getItemsWeight() . '/' . $showUser->strength * 4
if ( $d [ 'sum_weight' ] > $user [ 'strength' ] * 4 && $_GET [ 'got' ]) {
2019-09-17 14:37:44 +00:00
err ( 'У вас переполнен рюкзак, вы не можете передвигаться...' );
$imove = false ;
}
2020-07-06 19:02:04 +00:00
if ( $eff -> getNumRows () && $_GET [ 'got' ]) {
2019-09-17 14:37:44 +00:00
err ( 'У вас тяжелая травма, вы не можете передвигатся...' );
$imove = false ;
}
2020-06-23 08:49:49 +00:00
if ( $_GET [ 'goto' ] == 'plo' && empty ( $user [ 'zayavka' ]) && $imove === true ) {
2019-09-17 14:37:44 +00:00
db :: c () -> query ( 'UPDATE `users`,`online` SET `users`.`room` = 20,`online`.`room` = 20 WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ?i' , $_SESSION [ 'uid' ]);
header ( 'Location: city.php' );
die ( " <i>Топ-топ-топ...</i> " );
2020-06-23 08:49:49 +00:00
} else {
err ( 'Подали заявку на бой и убегаете из клуба? Нехорошо...' );
}
if ( $_GET [ 'goto' ] == 'arena' && $user [ 'room' ] === 20 && $imove === true ) {
2019-09-17 14:37:44 +00:00
db :: c () -> query ( 'UPDATE `users`, `online` SET `users`.`room` = 1, `online`.`room` = 1 WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ?i' , $_SESSION [ 'uid' ]);
header ( 'Location: main.php' );
die ( " <i>Топ-топ-топ...</i> " );
}
}
if ( isset ( $_GET [ 'use' ])) {
usemagic ( $_GET [ 'use' ], $_POST [ 'target' ]);
}
2018-03-02 14:33:58 +00:00
function updstats ()
{
global $user ;
2018-11-01 16:44:20 +00:00
$u1 = db :: c () -> query ( ' SELECT
`sila` , `lovk` , `inta` , `intel` , `noj` , `mec` , `topor` , `dubina` ,
`mfire` , `mwater` , `mair` , `mearth` , `mlight` , `mgray` , `mdark` , `hp` , `maxhp`
2018-12-11 13:00:16 +00:00
FROM `users` WHERE `id` = ? i ', $user[' id ' ]) -> fetch_assoc ();
2018-03-02 14:33:58 +00:00
foreach ( $u1 as $k => $v ) {
$user [ $k ] = $v ;
}
2018-01-28 16:40:49 +00:00
}
2018-12-11 14:26:27 +00:00
unset ( $_SESSION [ 'stackall' ]);
2018-01-28 16:40:49 +00:00
2018-03-23 21:47:46 +00:00
if ( isset ( $_GET [ " stack " ])) {
2018-03-02 14:33:58 +00:00
$_GET [ " stack " ] = ( int ) $_GET [ " stack " ];
2018-12-11 13:00:16 +00:00
$rec = db :: c () -> query ( 'SELECT `id` FROM `inventory` WHERE `id` = ?i AND `owner` = ?i AND `setsale` = 0' , $_GET [ 'stack' ], $user [ 'id' ]) -> fetch_assoc ();
2018-03-02 14:33:58 +00:00
if ( isset ( $rec [ 'id' ])) {
stack ( $rec [ 'id' ]);
unset ( $rec );
}
2018-01-28 16:40:49 +00:00
}
2018-03-23 21:47:46 +00:00
if ( isset ( $_GET [ 'unstack' ])) {
2018-03-02 14:33:58 +00:00
unstack (( int ) $_GET [ 'unstack' ], ( int ) $_POST [ " qty " ]);
}
2018-03-23 20:36:35 +00:00
function setShadow ( $image )
{
global $user ;
$shadows = [
2018-03-30 20:21:35 +00:00
'm01' , 'm02' , 'm03' , 'm04' , 'm05' , 'm06' , 'm07' , 'm08' , 'm09' , 'm10' ,
'f01' , 'f02' , 'f03' , 'f04' , 'f05' , 'f06' , 'f07' , 'f08' , 'f09' , 'f10' ,
2020-07-06 19:54:50 +00:00
'person' ,
2018-03-23 20:36:35 +00:00
];
2018-03-30 20:21:35 +00:00
if ( in_array ( $image , $shadows )) {
2018-03-23 20:36:35 +00:00
$i = $image . '.png' ;
db :: c () -> query ( 'UPDATE `users` SET `shadow` = "?s" WHERE `id` = ?i' , $i , $user [ 'id' ]);
2020-06-23 08:49:49 +00:00
} else {
err ( 'Ошибка!' );
}
2018-01-28 16:40:49 +00:00
}
2018-03-30 20:21:35 +00:00
$obraz = filter_input ( INPUT_GET , 'obraz' );
2018-03-23 20:36:35 +00:00
if ( $obraz && ( $user [ 'shadow' ] == 'g0.gif' || $user [ 'shadow' ] == 'man0.gif' )) {
setShadow ( $obraz );
}
2018-01-28 16:40:49 +00:00
2020-06-23 08:49:49 +00:00
if ( isset ( $_GET [ 'del' ]) && $_GET [ 'del' ] == 1 && $_GET [ 'efid' ] > 0 ) {
2020-07-06 19:02:04 +00:00
$pl = db :: c () -> query ( 'SELECT `id`, `type` FROM `users_effects` WHERE `owner_id` = ?i AND `id` = ?i' , $user [ 'id' ], ( int ) $_GET [ 'efid' ]) -> fetch_assoc ();
2020-06-23 08:49:49 +00:00
if ( isset ( $pl [ 'id' ])) {
del_efs ( $user [ 'id' ], $pl [ 'id' ], $pl [ 'type' ]);
} else {
2020-06-23 09:13:55 +00:00
echo " <span class='error'>Эффект не найден!</span> " ;
2018-01-28 16:40:49 +00:00
}
}
2018-03-02 14:33:58 +00:00
if ( isset ( $_GET [ 'modif_bron' ])) {
$brons = $_GET [ 'modif_bron' ];
$ids = $_GET [ 'ids' ];
2020-06-23 13:31:58 +00:00
try {
$cur = db :: c () -> query ( 'SELECT free_bron, bron1, bron2, bron3, bron4 FROM inventory WHERE owner = ?i AND id = ?i' , $user [ 'id' ], $ids ) -> fetch_assoc ();
2020-07-06 19:54:50 +00:00
} catch ( \Krugozor\Database\Mysql\Exception $e ) {
2020-06-23 13:31:58 +00:00
echo " <div style='background-color: #ffaaaa;'>Ошибка: " . $e -> getMessage () . " <br> В файле: " . $e -> getFile () . " ( " . $e -> getLine () . " )</div> " ;
}
if ( $cur [ 'free_bron' ] > 0 && $cur [ $brons ] > 0 ) {
2020-06-23 08:49:49 +00:00
mysql_query ( " UPDATE `inventory` SET `free_bron` = (`free_bron`-1), ` " . $brons . " ` = (` " . $brons . " `+1) WHERE `owner` = ' " . $user [ 'id' ] . " ' AND `id` = ' " . mysql_real_escape_string ( $ids ) . " ' LIMIT 1 " );
2020-06-23 09:13:55 +00:00
echo " <span class='success'>Параметр брони увеличен!</span> " ;
2018-03-02 14:33:58 +00:00
}
2018-01-28 16:40:49 +00:00
}
2018-03-02 14:33:58 +00:00
if ( isset ( $_GET [ 'modif_stat' ])) {
$stats = $_GET [ 'modif_stat' ];
$ids = $_GET [ 'ids' ];
$cur = mysql_fetch_assoc ( mysql_query ( " SELECT `id`, `free_stat`, `gsila`, `glovk`, `ginta`, `gintel` FROM `inventory` WHERE `owner` = ' " . $user [ 'id' ] . " ' AND `id` = ' " . mysql_real_escape_string ( $ids ) . " ' LIMIT 1 " ));
2020-06-23 08:49:49 +00:00
if ( isset ( $cur [ 'id' ]) && $cur [ 'free_stat' ] > 0 && $cur [ $stats ] > 0 ) {
mysql_query ( " UPDATE `inventory` SET `free_stat` = (`free_stat`-1), ` " . $stats . " ` = (` " . $stats . " `+1) WHERE `owner` = ' " . $user [ 'id' ] . " ' AND `id` = ' " . mysql_real_escape_string ( $ids ) . " ' LIMIT 1 " );
2020-06-23 09:13:55 +00:00
echo " <span class='success'>Параметр увеличен!</span> " ;
2018-01-28 16:40:49 +00:00
}
}
2018-03-02 14:33:58 +00:00
if ( isset ( $_GET [ 'modif_mf' ])) {
$mfs = $_GET [ 'modif_mf' ];
$ids = $_GET [ 'ids' ];
$cur = mysql_fetch_assoc ( mysql_query ( " SELECT `id`, `free_mf`, `mfkrit`, `mfakrit`, `mfuvorot`, `mfauvorot` FROM `inventory` WHERE `owner` = ' " . $user [ 'id' ] . " ' AND `id` = ' " . mysql_real_escape_string ( $ids ) . " ' LIMIT 1 " ));
2020-06-23 08:49:49 +00:00
if ( isset ( $cur [ 'id' ]) && $cur [ 'free_mf' ] > 0 && $cur [ $mfs ] > 0 ) {
mysql_query ( " UPDATE `inventory` SET `free_mf` = (`free_mf`-1), ` " . $mfs . " ` = (` " . $mfs . " `+1) WHERE `owner` = ' " . $user [ 'id' ] . " ' AND `id` = ' " . mysql_real_escape_string ( $ids ) . " ' LIMIT 1 " );
2020-06-23 09:13:55 +00:00
echo " <span class='success'>Параметр увеличен!</span> " ;
2018-01-28 16:40:49 +00:00
}
}
2018-03-30 20:21:35 +00:00
if ( input :: post ( 'setshadow' )) {
2018-03-02 14:33:58 +00:00
?>
2020-06-23 08:49:49 +00:00
<! doctype html >
2019-09-17 14:37:44 +00:00
< html lang = " ru " >
2018-03-30 20:21:35 +00:00
< head >
2018-03-02 15:31:43 +00:00
< link rel = stylesheet href = " css/main.css " >
< meta charset = " utf-8 " >
2019-09-17 14:37:44 +00:00
< title ></ title >
2018-03-30 20:21:35 +00:00
</ head >
2018-03-02 15:31:43 +00:00
< body >
2020-07-21 09:20:44 +00:00
< div style = " text-align: right; " >
< input type = button value = " Вернуться " onClick = " location.href='main.php?edit=<?= mt_rand() ?>'; " >
</ div >
2018-03-30 20:21:35 +00:00
< table style = " padding:5px; margin:auto; " >
2020-07-21 09:20:44 +00:00
< caption >< b style = " color: red; " > Внимание ! Образ персонажа выбирается только один раз .</ b ></ caption >
2018-03-30 20:21:35 +00:00
< tr >
2020-07-21 09:20:44 +00:00
< td >< a href = " ?edit=1&obraz=m1 " >< img alt = " m01 " src = " i/shadow/m1.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m2 " >< img alt = " m02 " src = " i/shadow/m2.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m3 " >< img alt = " m03 " src = " i/shadow/m3.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m4 " >< img alt = " m04 " src = " i/shadow/m4.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m5 " >< img alt = " m05 " src = " i/shadow/m5.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m6 " >< img alt = " m06 " src = " i/shadow/m6.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m7 " >< img alt = " m07 " src = " i/shadow/m7.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m8 " >< img alt = " m08 " src = " i/shadow/m8.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m9 " >< img alt = " m09 " src = " i/shadow/m9.gif " ></ a >
< td >< a href = " ?edit=1&obraz=m10 " >< img alt = " m10 " src = " i/shadow/m10.gif " ></ a >
2018-03-30 20:21:35 +00:00
< tr >
2020-07-21 09:20:44 +00:00
< td >< a href = " ?edit=1&obraz=f1 " >< img alt = " f01 " src = " i/shadow/f1.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f2 " >< img alt = " f02 " src = " i/shadow/f2.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f3 " >< img alt = " f03 " src = " i/shadow/f3.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f4 " >< img alt = " f04 " src = " i/shadow/f4.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f5 " >< img alt = " f05 " src = " i/shadow/f5.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f6 " >< img alt = " f06 " src = " i/shadow/f6.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f7 " >< img alt = " f07 " src = " i/shadow/f7.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f8 " >< img alt = " f08 " src = " i/shadow/f8.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f9 " >< img alt = " f09 " src = " i/shadow/f9.gif " ></ a >
< td >< a href = " ?edit=1&obraz=f10 " >< img alt = " f10 " src = " i/shadow/f10.gif " ></ a >
2018-03-02 14:33:58 +00:00
</ table >
</ body >
</ html >
< ? php
die ();
}
2020-07-21 15:03:46 +00:00
if ( isset ( $_GET [ 'edit' ])) {
2018-01-28 16:40:49 +00:00
2020-06-23 08:49:49 +00:00
if ( input :: get ( 'ups' )) {
addOnePoint ( input :: get ( 'ups' ), 'stat' );
}
2018-01-28 16:40:49 +00:00
2020-06-23 08:49:49 +00:00
if ( input :: get ( 'upm' )) {
addOnePoint ( input :: get ( 'upm' ), 'mastery' );
}
2018-12-11 20:46:44 +00:00
2020-07-21 15:03:46 +00:00
if ( isset ( $_GET [ 'drop' ])) {
$items = new DressedItems ( $_SESSION [ 'uid' ]);
$items -> undressItem ( $_GET [ 'drop' ]);
2018-03-02 14:33:58 +00:00
}
2018-01-28 16:40:49 +00:00
2018-12-11 13:00:16 +00:00
if ( input :: get ( 'dress' )) {
$q = db :: c () -> query ( 'SELECT `id`, `koll` FROM `inventory` WHERE `id` = ?i AND `owner` = ?i' , input :: get ( 'dress' ), $_SESSION [ 'uid' ]);
if ( $q -> getNumRows ()) {
$q = $q -> fetch_assoc ();
if ( $q [ 'koll' ] > 1 ) {
$id = unstack ( $q [ 'id' ], 1 );
2018-03-02 14:33:58 +00:00
dressitem ( $id );
} else {
2018-12-11 13:00:16 +00:00
dressitem ( input :: get ( 'dress' ));
2018-03-02 14:33:58 +00:00
}
updstats ();
2020-06-23 08:49:49 +00:00
} else {
err ( 'Ошибка: предмет не найден!' );
}
2018-03-02 14:33:58 +00:00
}
2018-01-28 16:40:49 +00:00
2018-12-11 13:00:16 +00:00
if ( input :: get ( 'destruct' )) {
$q = db :: c () -> query ( 'SELECT `id`, `dressed`, `name`, `duration`, `maxdur` FROM `inventory` WHERE `owner` = ?i AND `id` = ?i' , $_SESSION [ 'uid' ], input :: get ( 'destruct' ));
if ( $q -> getNumRows ()) {
$q = $q -> fetch_assoc ();
if ( empty ( $q [ 'dressed' ])) {
destructitem ( $q [ 'id' ]);
addToDelo ( $user [ 'login' ] . " выбросил предмет " . $q [ 'name' ] . " id:(cap " . $q [ 'id' ] . " ) " );
err ( 'Предмет ' . $q [ 'name' ] . ' выброшен.' );
2020-06-23 08:49:49 +00:00
} else {
err ( 'Ошибка: нельзя выбросить одетый предмет!' );
}
} else {
err ( 'Ошибка: предмет не найден!' );
}
2018-03-02 14:33:58 +00:00
}
2018-01-28 16:40:49 +00:00
2018-12-11 13:00:16 +00:00
if ( input :: get ( 'use' )) {
$q = db :: c () -> query ( 'SELECT `id`, `koll` FROM `inventory` WHERE `id` = ?i AND `owner` = ?i' , input :: get ( 'use' ), $_SESSION [ 'uid' ]);
if ( $q -> getNumRows ()) {
$q = $q -> fetch_assoc ();
if ( $q [ 'koll' ] > 1 ) {
$id = unstack ( $q [ 'id' ], 1 );
2018-03-02 14:33:58 +00:00
usemagic ( $id , $_POST [ 'target' ]);
} else {
usemagic ( $_GET [ 'use' ], $_POST [ 'target' ]);
}
2020-06-23 08:49:49 +00:00
} else {
err ( 'Ошибка: предмет не найден!' );
}
2018-03-02 14:33:58 +00:00
}
2018-01-28 16:40:49 +00:00
2018-12-11 13:00:16 +00:00
if ( input :: get ( 'undress' )) {
undressall ( $_SESSION [ 'uid' ]);
2018-03-02 14:33:58 +00:00
updstats ();
}
2018-12-11 13:00:16 +00:00
if ( input :: get ( 'delcomplect' )) {
db :: c () -> query ( 'DELETE FROM `komplekt` WHERE `name` = "?s" AND `owner` = ?i' , input :: get ( 'delcomplect' ), $_SESSION [ 'uid' ]);
2018-03-02 14:33:58 +00:00
}
2018-12-11 13:00:16 +00:00
if ( input :: get ( 'complect' )) {
2018-03-02 14:33:58 +00:00
$hp = $user [ 'hp' ];
2018-12-11 13:00:16 +00:00
undressall ( $_SESSION [ 'uid' ]);
$q = db :: c () -> query ( 'SELECT `items` FROM `komplekt` WHERE `name` = "?s" AND `owner` = ?i' , input :: get ( 'complect' ), $_SESSION [ 'uid' ]) -> fetch_assoc ();
$items_in_set = [];
$items_in_set = explode ( ';' , $q [ 'items' ]);
2020-06-23 08:49:49 +00:00
foreach ( $items_in_set as $iis ) {
2018-12-11 13:00:16 +00:00
dressitem ( $iis );
2020-06-23 08:49:49 +00:00
}
2018-12-11 13:00:16 +00:00
db :: c () -> query ( 'UPDATE `users` SET `hp` = ?i WHERE `id` = ?i' , $hp , $_SESSION [ 'uid' ]);
// Если здоровье становится выше максимума - выравниваем:
db :: c () -> query ( 'UPDATE `users` SET `hp` = `maxhp` WHERE `hp` > `maxhp` AND `id` = ?i' , $_SESSION [ 'uid' ]);
$user = ( new users_row ( $_SESSION [ 'uid' ])) -> result (); # Н а х е р а перевыгружать О _о )?!
2018-03-02 14:33:58 +00:00
}
2018-01-28 16:40:49 +00:00
2020-07-06 15:29:09 +00:00
//FIXME роняем вещи, которые больше не можем держать
//ref_drop();
2018-12-11 13:00:16 +00:00
if ( input :: get ( 'savecomplect' )) {
if ( preg_match ( '/^[- \p{L}\d]+$/u' , input :: get ( 'savecomplect' ))) {
$q = db :: c () -> query ( 'SELECT `id` FROM `komplekt` WHERE `name` = "?s" AND `owner` = ?i' , input :: get ( 'savecomplect' ), $_SESSION [ 'uid' ]) -> getNumRows ();
if ( empty ( $q )) {
$items = [];
2019-01-18 10:55:07 +00:00
$q2 = db :: c () -> query ( 'SELECT `id` FROM `inventory` WHERE `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i OR `id` = ?i' ,
2018-12-11 13:00:16 +00:00
$user [ 'sergi' ], $user [ 'kulon' ], $user [ 'perchi' ], $user [ 'weap' ],
$user [ 'bron' ], $user [ 'rybax' ], $user [ 'r1' ], $user [ 'r2' ], $user [ 'r3' ],
$user [ 'helm' ], $user [ 'shit' ], $user [ 'm1' ], $user [ 'm2' ], $user [ 'm3' ],
$user [ 'm4' ], $user [ 'm5' ], $user [ 'm6' ], $user [ 'm7' ], $user [ 'm8' ], $user [ 'm9' ], $user [ 'm10' ],
2019-01-18 10:55:07 +00:00
$user [ 'boots' ], $user [ 'plaw' ]);
2020-06-23 08:49:49 +00:00
while ( $res = $q2 -> fetch_assoc ()) {
$items [] = $res [ 'id' ];
}
2018-03-02 14:33:58 +00:00
$t_items = implode ( " ; " , $items );
2018-12-11 16:23:21 +00:00
db :: c () -> query ( 'INSERT INTO `komplekt` (`name`, `owner`, `items`) VALUES ("?s",?i,"?s")' , input :: get ( 'savecomplect' ), $_SESSION [ 'uid' ], $t_items );
2018-12-11 13:00:16 +00:00
err ( 'Комплект ' . $name . ' сохранён.' );
2020-06-23 08:49:49 +00:00
} else {
err ( 'Ошибка: такое название комплекта уже используется!' );
}
} else {
err ( 'Ошибка: запрещённые символы!' );
}
2018-03-02 14:33:58 +00:00
}
2018-01-28 16:40:49 +00:00
2020-07-21 15:57:15 +00:00
}
2018-03-02 14:33:58 +00:00
2020-07-21 15:57:15 +00:00
?>
2018-03-02 14:33:58 +00:00
2020-07-21 15:57:15 +00:00
<! doctype html >
< HTML lang = " ru " >
< HEAD >
< meta charset = " utf-8 " >
< link rel = " stylesheet " href = " css/main.css " >
< link rel = " stylesheet " href = " css/tooltip.css " >
< link rel = " stylesheet " href = " css/btn.css " >
< script src = " js/jquery.plugins.js " ></ script >
< 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 >
< script src = " js/tooltip.js " ></ script >
< script src = " js/funcs.js " ></ script >
< script >
$ ( function () {
$ ( " .tooltip " ) . tipTip ({ maxWidth : " auto " , edgeOffset : 0 , fadeIn : 300 , fadeOut : 500 });
});
2018-03-02 14:33:58 +00:00
2020-07-21 15:57:15 +00:00
function gotohref ( filename ) {
location . href = filename ;
}
2018-03-02 14:33:58 +00:00
2020-07-21 15:57:15 +00:00
function saveComplect () {
new miDialog ({ title : 'Сохранить комплект' }, { edit : 1 }, function () {
document . location = '/main.php?' + $ . param ( this . data );
},
$ ( '<div>Название комплекта :<br /><div style="font-size: smaller;"><b>может содеражать только буквы (англ / р у с с ) и цифры.</b></div></div>' ) . append ( miDialog . _oneInput ({ name : 'savecomplect' })), { width : 250 });
}
2020-07-06 19:54:50 +00:00
2020-07-21 15:57:15 +00:00
let Hint3Name = '' ;
2020-07-06 19:54:50 +00:00
2020-07-21 15:57:15 +00:00
function okno ( title , script , name , coma , errk ) {
let errkom = '' ;
let com = '' ;
if ( errk === 1 ) {
errkom = 'Нельзя использовать символы: /\:*?"<>|+%<br>' ;
com = coma
}
if ( errk === 2 ) {
errkom = 'Такой комплект уже существует<br>' ;
com = coma
}
document . getElementById ( " hint3 " ) . innerHTML = '<table width=100% cellspacing=1 cellpadding=0 bgcolor=CCC3AA><tr><td align=center><B>' + title + '</td><td width=20 align=right valign=top style="cursor: pointer" onclick="closehint3();"><BIG><B>x</td></tr><tr><td colspan=2>' +
'<form action="' + script + '" method=POST><table width=100% cellspacing=0 cellpadding=2 bgcolor=FFF6DD><tr><INPUT TYPE=hidden name=sd4 value="6"><td colspan=2><span class="error">' +
errkom + '</span>введите название предмета</TD></TR><TR><TD width=50% align=right><INPUT TYPE=text NAME="' + name + '" value="' + com + '"></TD><TD width=50%><INPUT TYPE="submit" value=" »» "></TD></TR></TABLE></FORM></td></tr></table>' ;
document . getElementById ( " hint3 " ) . style . visibility = " visible " ;
document . getElementById ( " hint3 " ) . style . left = '100' ;
document . getElementById ( " hint3 " ) . style . top = '100' ;
document . getElementById ( name ) . focus ();
Hint3Name = name ;
}
const delay = 30 ;
let TimerOn = - 1 , tkHP , maxHP , speed = 750 ;
const stLen = 185 , redHP = 0.33 , yellowHP = 0.66 ;
function setHPlocal () {
tkHP > maxHP && ( tkHP = maxHP );
let a = Math . round ( tkHP ) + " / " + maxHP ;
a = stLen - ( a . length + 2 ) * 7 ;
const b = Math . round (( a - 1 ) / maxHP * tkHP );
a -= b ;
const HP = document . getElementById ( " hp_value " );
const HP1 = document . getElementById ( " HP1 " );
const HP2 = document . getElementById ( " HP2 " );
if ( HP ) {
HP1 . width = b , HP2 . width = a , HP1 . src = tkHP / maxHP < redHP ? " i/1red.gif " : tkHP / maxHP < yellowHP ? " i/1yellow.gif " : " i/1green.gif " , HP . innerHTML = Math . round ( tkHP ) + " / " + maxHP ;
}
tkHP += maxHP / 53 / 230 * ( speed / 100 );
TimerOn = tkHP < maxHP ? setTimeout ( " setHPlocal() " , delay * 100 ) : - 1
}
2020-07-06 19:54:50 +00:00
2020-07-21 15:57:15 +00:00
$ ( document ) . ready ( function () {
$ ( 'a' ) . live ( 'click' , function () {
if ( $ ( this ) . attr ( 'ajax' ) !== undefined ) {
const ajaxModule = $ ( this ) . attr ( 'ajax' );
switch ( ajaxModule ) {
case 'mZeInventory' :
$ ( '#mZeInventory' ) . html ( '<div align="center" style="padding:10px;background-color:#d4d2d2;color:grey;"><b>Загрузка...</b></div>' );
$ . ajax ({
url : $ ( this ) . attr ( 'href' ) + '&mZeAjax=' + ajaxModule ,
cache : false ,
dataType : 'html' ,
success : function ( html ) {
$ ( '#mZeInventory' ) . html ( html );
}
});
break ;
}
return false ;
2020-06-23 09:13:55 +00:00
}
2020-07-21 15:57:15 +00:00
});
});
</ script >
< title > Окно игры </ title >
</ HEAD >
< body >
< ? php
try {
$online = db :: c () -> query ( 'SELECT 1 FROM `online` WHERE `real_time` >= ?i' , ( time () - 60 ));
} catch ( Exception $e ) {
echo '<div class="debug">В таблице online нет ячейки real_time так как неясно что она делает. Ошибка обращения в базу.</div>' ;
}
?>
< div id = hint3 class = ahint ></ div >
< div id = " hint4 " style = " position: absolute; " ></ div >
< div id = " chpassbank " style = " display:none; position:absolute; top:50px; left:250px; " ></ div >
< table width = 100 %>
< TR >
< td style = " vertical-align: top; width: 350px " >
2020-07-06 15:21:52 +00:00
< ? php
$showUser = new User ( $_SESSION [ 'uid' ]);
2020-07-20 12:10:48 +00:00
$getItemsBonuses = new DressedItems ( $_SESSION [ 'uid' ]);
2020-07-06 19:54:50 +00:00
$showUser -> showUserDoll ( 0 , 1 );
2020-07-06 15:21:52 +00:00
?> <!-- Первый столбец -->
2018-12-11 16:23:21 +00:00
< div align = " center " >
2018-03-02 14:33:58 +00:00
< a href = 'main.php?edit=1&undress=all' > Снять все </ a >< BR >
< a href = " javascript: void(0); " onclick = " saveComplect(); return false; " > Запомнить комплект </ a >< br />
2018-12-11 17:40:12 +00:00
< ? php
2020-07-06 15:32:40 +00:00
try {
//Выгребаем все комплекты перса
$u_all_kompl = db :: c () -> query ( " SELECT `name` FROM komplekt WHERE `owner` = ?i " , $user [ 'id' ]);
while ( $u_k = $u_all_kompl -> fetch_assoc ()) {
$k_name = $u_k [ 'name' ];
echo " <a onclick= \" if (!confirm('Вы уверены, что хотите удалить комплект?')) { return false; } \" href='main.php?edit=1&delcomplect= " . $k_name . " '>
2018-03-02 14:33:58 +00:00
< img src = 'i/clear.gif' ></ a >
< a href = 'main.php?edit=1&complect=" . $k_name . "' > Надеть \ " " . $k_name . " \" </a><BR> " ;
2020-07-06 15:32:40 +00:00
}
2020-07-06 19:54:50 +00:00
} catch ( Exception $e ) {
echo '<div class="debug">Комплекты не работают, потому что нет таблицы и функции застряли в php5.3.</div>' ;
}
2020-07-06 15:32:40 +00:00
2018-12-11 17:40:12 +00:00
?>
< div class = " effectList " style = " padding-top: 15px; max-height: 150px; width: 220px; " >
2020-07-06 15:36:23 +00:00
< ? php
2020-07-06 19:54:50 +00:00
try {
echo show_eff_inf ( $user [ 'id' ], 2 );
} catch ( Exception $e ) {
echo '<div class="debug">show_eff_inf() не р а б о та eт, потому что нет таблицы и функции застряли в php5.3.</div>' ;
} ?>
2018-12-11 17:40:12 +00:00
</ div >
</ div >
< br >
2018-03-02 14:33:58 +00:00
</ td >
2020-07-21 15:57:15 +00:00
< td style = " vertical-align: top; width: 250px " > <!-- Второй столбец -->
2018-12-11 17:40:12 +00:00
< div >
2020-07-06 15:21:52 +00:00
< br > Уровень : < strong >< ? = $showUser -> level ?> </strong>
< br > Опыт : < strong >< ? = $showUser -> experience ?> </strong>
< br > Побед : < strong >< ? = 'нет поля' ?> </strong>
< br > Поражений : < strong >< ? = 'нет поля' ?> </strong>
< br > Ничьих : < strong >< ? = 'нет поля' ?> </strong>
< br > Деньги : < strong >< ? = $showUser -> money ?> </strong> кр.
2018-12-11 17:40:12 +00:00
< HR >
</ div >
2018-03-02 14:33:58 +00:00
<!-- Параметры -->
2018-12-11 17:40:12 +00:00
< div >
2018-12-11 22:26:21 +00:00
< div class = " container " >
2020-07-20 13:27:32 +00:00
Сила : < ? = $showUser -> getStrength ( 1 ) ?> +<?= $getItemsBonuses->getStrengthBonus() ?><br>
Ловкость : < ? = $showUser -> getDexterity ( 1 ) ?> +<?= $getItemsBonuses->getDexterityBonus() ?><br>
Интуиция : < ? = $showUser -> getIntuition ( 1 ) ?> +<?= $getItemsBonuses->getIntuitionBonus() ?><br>
2020-07-21 15:57:15 +00:00
Выносливость : < ? = $showUser -> getEndurance ( 1 ) ?> +<?= $getItemsBonuses->getEnduranceBonus() ?>
< br >
Интеллект : < ? = $showUser -> getIntelligence ( 1 ) ?> +<?= $getItemsBonuses->getIntelliganceBonus() ?>
< br >
2020-07-20 13:27:32 +00:00
Мудрость : < ? = $showUser -> getWisdom ( 1 ) ?> +<?= $getItemsBonuses->getWisdomBonus() ?><br>
< small style = " color: darkgreen; " > Возможных увеличений : < ? = $showUser -> stat_points ?> </small><br>
< br >
2020-07-20 12:07:49 +00:00
Здоровье : < ? = $showUser -> getHealth () ?> <br>
2020-07-20 13:27:32 +00:00
Уворот : ? ? + < ? = $getItemsBonuses -> getEvasionBonus () ?> <br>
Точность : ? ? + < ? = $getItemsBonuses -> getAccuracyBonus () ?> <br>
Шанс крита : ? ? + < ? = $getItemsBonuses -> getCriticalsBonus () ?> <br>
Урон : < ? = $showUser -> minDamage ?> - <?= $showUser->maxDamage ?> <br>
2018-12-11 21:03:48 +00:00
< br >
2020-07-20 13:44:31 +00:00
< div style = " color: gray; " >
2020-07-20 13:27:32 +00:00
Защита от огня : ? ? < br >
Защита от воды : ? ? < br >
Защита от вохдуха : ? ? < br >
Защита от земли : ? ? < br >
Защита от яда : ? ? < br >
</ div >
Броня головы : < ? = $showUser -> headArmor ?> <br>
Броня корпуса : < ? = $showUser -> chestArmor ?> <br>
Броня ног : < ? = $showUser -> legArmor ?> <br>
2018-12-11 22:26:21 +00:00
</ div >
2019-09-17 13:46:18 +00:00
2018-12-11 17:40:12 +00:00
</ div >
2020-07-21 15:57:15 +00:00
</ td >
< td valign = top >
2020-07-22 08:43:14 +00:00
< div class = " button-container " > <!-- Меню - кнопки -->
2020-07-21 15:57:15 +00:00
< FORM METHOD = POST ACTION = " ?edit=1 " name = f1 >
< ? php if ( $user [ 'shadow' ] == '0.gif' || $user [ 'admin' ] == 1 ) : ?>
2020-07-22 08:43:14 +00:00
< INPUT class = " button danger " TYPE = " submit " name = " setshadow " value = " Образы " title = " Образы " >
2020-07-21 15:57:15 +00:00
< ? php endif ; ?>
2020-07-22 08:43:14 +00:00
< div class = " button-group " >
< button class = " button primary " onclick = " gotohref('zayavka.php') " > Поединки </ button >
< button class = " button " onclick = " gotohref('module_quest.php') " > Активные задания </ button >
< button class = " button " onclick = " gotohref('main.php?edit=1') " > Инвентарь </ button >
</ div >
< div class = " button-group minor-group " >
< ? php if ( $user [ 'room' ] === 20 ) : ?>
< button class = " button move " onclick = " gotohref('main.php?goto=arena') " > Войти внутрь
</ button >
< ? php else : ?>
< button class = " button move " onclick = " gotohref('main.php?goto=plo') " > Выйти на улицу
</ button >
< ? php endif ; ?>
< button class = " button loop " onclick = " gotohref('main.php') " > Обновить страницу </ button >
</ div >
2020-07-21 15:57:15 +00:00
</ div >
< div id = " mZeInventory " > <!-- рюкзак -->
2018-03-02 14:33:58 +00:00
< table BORDER = 0 WIDTH = 100 % CELLSPACING = " 1 " CELLPADDING = " 2 " BGCOLOR = " #A5A5A5 " >
2020-07-21 15:57:15 +00:00
< caption > Рюкзак
( масса : < ? = $getItemsBonuses -> getItemsWeight () . '/' . $showUser -> strength * 4 ?> )
</ caption >
< ? php
2020-07-21 09:49:26 +00:00
$data_query = 'SELECT * FROM inventory WHERE owner_id = ?i AND dressed_slot = 0 AND on_sale = 0' ;
2020-07-20 15:06:18 +00:00
$data = db :: c () -> query ( $data_query , $_SESSION [ 'uid' ]);
2019-02-12 18:31:23 +00:00
2018-12-10 20:29:30 +00:00
$groupNum = [];
$viewInventory = [];
$getItems = [];
$row = [];
2019-09-16 14:45:07 +00:00
$iteminfo = [];
2020-06-23 08:49:49 +00:00
while ( $row = $data -> fetch_assoc ()) {
2020-07-21 15:57:15 +00:00
//FIXME Какая-то хуета. Зачем я каждый прежмет делал новым классом?
2020-06-23 08:49:49 +00:00
$iteminfo [] = new InventoryItem ( $row );
}
2019-02-12 18:31:23 +00:00
foreach ( $iteminfo as $ii ) {
2019-02-13 10:46:39 +00:00
echo " <tr><td width='100' align='center' bgcolor='#d3d3d3'> " ;
2019-02-12 18:31:23 +00:00
$ii -> printImage ();
$ii -> printControls ();
2019-02-13 10:46:39 +00:00
echo " <td valign='top' bgcolor='#d3d3d3'> " ;
2019-02-12 18:31:23 +00:00
$ii -> printInfo ();
}
2018-03-02 14:33:58 +00:00
if ( $viewInventory and $getItems ) {
foreach ( $viewInventory as $viewCategiryes ) {
echo $viewCategiryes [ 'header' ];
foreach ( $viewCategiryes [ 'ids' ] as $viewItem ) {
echo $getItems [ $viewItem ];
}
echo $viewCategiryes [ 'fooder' ];
}
}
2020-06-23 08:49:49 +00:00
if ( $data -> getNumRows () == 0 ) {
2020-07-21 09:20:44 +00:00
echo " <tr><th colspan='3' align=center bgcolor=#C7C7C7>Пусто " ;
2020-06-23 08:49:49 +00:00
}
2018-03-02 14:33:58 +00:00
?>
</ table >
2020-07-06 19:54:50 +00:00
</ div >
2020-07-21 15:57:15 +00:00
</ td >
2018-03-02 14:33:58 +00:00
</ tr >
2018-01-28 16:40:49 +00:00
</ table >
2020-07-21 15:57:15 +00:00
</ body >
</ html >