2022-08-11 10:38:38 +00:00
< ? php
2023-02-13 14:49:07 +00:00
2023-11-02 13:57:39 +00:00
use Admin\Monster ;
use Clan\ClanInfo ;
2023-02-13 14:49:07 +00:00
use Core\Config ;
use Core\Database ;
use Core\Db ;
2023-08-14 15:15:05 +00:00
use Helper\Conversion ;
2023-11-02 13:57:39 +00:00
use Inf\Awards ;
use Inf\LastNames ;
use Inf\Twinks ;
use Inf\Zodiac ;
2024-01-08 01:33:20 +00:00
use Model\Constant\Stat ;
2023-11-02 13:57:39 +00:00
use User\Effects ;
2023-02-13 14:49:07 +00:00
if ( ! defined ( 'GAME_VERSION' )) {
require_once '_incl_data/autoload.php' ;
}
2022-08-25 11:23:36 +00:00
if ( isset ( $_GET [ 'md5' ])) {
die ( md5 ( $_GET [ 'md5' ]));
2022-06-06 21:30:34 +00:00
}
2023-02-13 14:49:07 +00:00
Config :: init ();
Database :: init ();
2022-06-06 21:30:34 +00:00
$c [ 'inf' ] = true ;
2023-11-02 13:57:39 +00:00
2022-06-06 21:30:34 +00:00
include_once ( '_incl_data/class/__db_connect.php' );
2022-08-25 11:23:36 +00:00
$u = User :: start ();
2024-01-16 07:13:15 +00:00
$statnames = new Stat ();
$statnames -> getBonus ();
2022-06-06 21:30:34 +00:00
2022-08-11 10:38:38 +00:00
const LOWERCASE = 3 ;
const UPPERCASE = 1 ;
2022-06-06 21:30:34 +00:00
2022-08-25 11:23:36 +00:00
$uplogin = explode ( '&' , $_SERVER [ 'QUERY_STRING' ]);
2022-06-06 21:30:34 +00:00
$uplogin = $uplogin [ 0 ];
2022-08-25 11:23:36 +00:00
if ( ! isset ( $_GET [ 'id' ])) {
$_GET [ 'id' ] = 0 ;
2022-06-06 21:30:34 +00:00
}
2022-08-25 11:23:36 +00:00
if ( ! isset ( $_GET [ 'login' ])) {
$_GET [ 'login' ] = null ;
2022-06-06 21:30:34 +00:00
}
2023-11-02 13:57:39 +00:00
match ( true ) {
! empty ( $_GET [ 'id' ]) && $_GET [ 'id' ] > 0 => $inf = User :: getInfo ( $_GET [ 'id' ]),
! empty ( $_GET [ 'login' ]) && $_GET [ 'login' ] !== 'delete' => $inf = User :: getInfo ( $_GET [ 'login' ]),
! empty ( $uplogin ) && $uplogin !== 'delete' => $inf = User :: getInfo ( $uplogin ),
};
2022-06-06 21:30:34 +00:00
2023-11-02 13:57:39 +00:00
if ( empty ( $inf ) || $inf [ 'login' ] == 'delete' || $inf [ 'login' ] == 'DELETE' ) {
2022-08-25 11:23:36 +00:00
unset ( $inf );
} else {
2023-11-02 13:57:39 +00:00
if ( $inf [ 'info_delete' ] > 1 && $inf [ 'info_delete' ] < time ()) {
$inf [ 'info_delete' ] = 0 ;
Db :: sql ( 'update users set info_delete = 0 where id = ?' , [ $inf [ 'id' ]]);
2022-08-25 11:23:36 +00:00
}
2022-06-06 21:30:34 +00:00
}
2023-11-02 13:57:39 +00:00
if ( isset ( $_GET [ 'restartmonster' ]) && $u -> isAdmin ()) { //что ты такое??
Db :: sql ( 'update stats set res_x = 0 where id = ?' , [ $inf [ 'id' ]]);
$inf [ 'res_x' ] = 0 ;
}
if ( $u -> isAdmin () && isset ( $_GET [ 'wipe' ]) && $u -> newAct ( $_GET [ 'sd4' ])) {
Db :: sql ( 'update stats set wipe = 1 where id = ?' , [ $inf [ 'id' ]]);
$uer = 'С б р о с характеристик прошел успешно<br>' ;
}
2022-08-25 11:23:36 +00:00
if ( $inf [ 'room' ] == 303 && $u -> info [ 'admin' ] == 0 ) {
unset ( $inf );
2022-06-06 21:30:34 +00:00
}
2022-08-25 11:23:36 +00:00
if ( ! isset ( $inf [ 'id' ])) {
2023-01-10 16:29:32 +00:00
die ( 'Ошибка. Персонаж не найден.' );
2022-06-06 21:30:34 +00:00
}
2023-11-02 13:57:39 +00:00
$zodiac = new Zodiac ( $inf [ 'bithday' ]);
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
function statInfo ( $s ) : string
2022-06-06 21:30:34 +00:00
{
2023-11-02 13:57:39 +00:00
global $st , $st2 ;
2022-06-06 21:30:34 +00:00
2023-11-02 13:57:39 +00:00
if ( isset ( $st [ $s ])) {
$st [ $s ] = ( int ) $st [ $s ];
} else {
$st [ $s ] = 0 ;
}
2022-06-06 21:30:34 +00:00
2023-11-02 13:57:39 +00:00
if ( isset ( $st2 [ $s ])) {
$st2 [ $s ] = ( int ) $st2 [ $s ];
} else {
$st2 [ $s ] = 0 ;
}
2022-06-06 21:30:34 +00:00
2023-11-02 13:57:39 +00:00
if ( $st [ $s ] == $st2 [ $s ]) {
return '<b>' . $st [ $s ] . '</b>' ;
} else {
2022-08-25 11:23:36 +00:00
$s1 = '+' ;
if ( $st2 [ $s ] > $st [ $s ]) {
$s1 = '-' ;
}
2023-11-02 13:57:39 +00:00
$colours = [ 'black' , 'darkred' , 'darkgreen' , 'green' ];
$si = 0 ;
2022-08-25 11:23:36 +00:00
if ( $s1 == '-' ) {
2023-11-02 13:57:39 +00:00
$si = 2 ;
2022-08-25 11:23:36 +00:00
}
$t = $st [ $s ];
$j = $st [ $s ] - $st2 [ $s ];
$t = $t - $j ;
if ( $j > 0 ) {
if ( $t == 0 ) {
$t = 1 ;
}
$d = $j * 100 / $t ;
if ( $d < 0 && $t + $j >= 0 ) {
$d = 100 ;
}
if ( $d < 33 ) {
2023-11-02 13:57:39 +00:00
$si = 2 ;
2022-08-25 11:23:36 +00:00
} elseif ( $d > 100 ) {
2023-11-02 13:57:39 +00:00
$si = 3 ;
2022-08-25 11:23:36 +00:00
}
} elseif ( $j < 0 ) {
2023-11-02 13:57:39 +00:00
$si = 1 ;
2022-08-25 11:23:36 +00:00
}
2023-11-02 13:57:39 +00:00
if ( $st [ $s ] < 0 || $st [ $s ] <= round ( $st2 [ $s ])) {
$si = 1 ;
2022-08-25 11:23:36 +00:00
}
2023-11-02 13:57:39 +00:00
return '<b style="color:' . $colours [ $si ] . '">' . $st [ $s ] . '</b> <small>(' . $st2 [ $s ] . ' ' . $s1 . ' ' . abs ( $st [ $s ] - $st2 [ $s ]) . ')</small>' ;
2022-08-25 11:23:36 +00:00
}
2022-06-06 21:30:34 +00:00
}
2023-11-02 13:57:39 +00:00
$room [ 'name' ] = $inf [ 'room_name' ];
2022-06-06 21:30:34 +00:00
$nopal = false ;
2023-11-02 13:57:39 +00:00
if ( ! $u -> isAdmin () && $inf [ 'admin' ] > 0 ) {
2022-08-25 11:23:36 +00:00
$nopal = true ;
2022-06-06 21:30:34 +00:00
}
2023-11-02 13:57:39 +00:00
if ( $inf [ 'inTurnir' ] > 0 && ( $u -> info [ 'inTurnir' ] == $inf [ 'inTurnir' ] || $u -> isAdmin ())) {
2022-08-25 11:23:36 +00:00
$bs = mysql_fetch_array ( mysql_query ( 'SELECT * FROM `bs_turnirs` WHERE `id` = "' . $inf [ 'inTurnir' ] . '" LIMIT 1' ));
if ( isset ( $bs [ 'id' ]) && ( $bs [ 'users' ] <= 2 || $bs [ 'type_btl' ] == 1 )) {
$bs_rm = mysql_fetch_array (
mysql_query (
'SELECT `id`,`name` FROM `bs_map` WHERE `mid` = "' . $bs [ 'type_map' ] . '" AND `x` = "' . $inf [ 'x' ] . '" AND `y` = "' . $inf [ 'y' ] . '" LIMIT 1'
)
);
if ( isset ( $bs_rm [ 'id' ])) {
$room [ 'name' ] .= ' - ' . $bs_rm [ 'name' ];
}
}
2022-06-06 21:30:34 +00:00
}
2023-11-02 13:57:39 +00:00
$st = [];
$st2 = [];
$st = $u -> getStats ( $inf [ 'id' ], 1 , 0 , true );
$st2 = $st [ 1 ];
$st = $st [ 0 ];
$rgd = $u -> regen ( $inf [ 'id' ], $st , 1 );
$us = $u -> getInfoPers ( $inf [ 'id' ], 1 , $st );
if ( isset ( $bs [ 'id' ]) && $bs [ 'type_btl' ] == 2 && ( $u -> info [ 'x' ] != $inf [ 'x' ] || $u -> info [ 'y' ] != $inf [ 'y' ])) {
$us [ 0 ] = '<div style="width:255px; height300px; text-align: center; padding: 200px 0;">Информация скрыта,<br>Вы в разных комнатах.</div>' ;
}
if ( $inf [ 'align' ] == 9 ) {
$st [ 'hpNow' ] = $st [ 'hpNow' ] / ( $st [ 'hpAll' ] / 100 );
$st [ 'hpAll' ] = '100%' ;
$rgd [ 0 ] = '0.28' ;
}
2022-06-06 21:30:34 +00:00
?>
<! DOCTYPE html >
2023-11-02 13:57:39 +00:00
< html lang = " ru " >
2022-06-06 21:30:34 +00:00
< head >
2023-03-31 16:54:33 +00:00
< title > Информация о < ? = $inf [ 'login' ]; ?> </title>
2023-11-02 13:57:39 +00:00
< meta name = " viewport " content = " width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes " >
2022-08-25 11:23:36 +00:00
< script type = " text/javascript " src = " /js/jquery.js " ></ script >
< script type = " text/javascript " src = " /js/jquery.zclip.js " ></ script >
< script type = " text/javascript " src = " /js/jquery.cookie.js " ></ script >
< script type = " text/javascript " src = " /js/title.js " ></ script >
< script type = " text/javascript " src = " /js/hpregen.js " ></ script >
2023-11-02 13:57:39 +00:00
< link rel = " stylesheet " href = " <?= Config::img() ?>/css/main.css " >
< link rel = " stylesheet " href = " /css/inf.css " >
2022-08-25 11:23:36 +00:00
< style >
. pg_btn1 {
2023-11-02 13:57:39 +00:00
background - image : url ( < ? = Config :: img () ?> /pg_btn_left.png);
2022-08-25 11:23:36 +00:00
}
. pg_btn2 {
2023-11-02 13:57:39 +00:00
background - image : url ( < ? = Config :: img () ?> /pg_btn_right.png);
2022-08-25 11:23:36 +00:00
}
</ style >
2023-11-02 13:57:39 +00:00
< script type = " text/javascript " >
var lafstReg = {};
2023-07-19 15:23:44 +00:00
function lookGift ( e , id , nm , img , txt , from ) {
if ( from == 1 ) {
from = '<i>Невидимка</i>' ;
}
if ( ! e ) {
e = window . event ;
}
var body2 = document . body ;
mX = e . x ;
mY = e . y + ( body2 && body2 . scrollTop || 0 );
var gf = document . getElementById ( 'gi' );
if ( gf != undefined ) {
gf . style . top = mY + 'px' ;
gf . style . left = mX + 'px' ;
if ( from == '<i>Анонима</i>' ) {
from = '</a><i>Анонима</i><a>' ;
}
gf . innerHTML = `<b><span style="float:left;">${nm}</span> <span style="float:right;"> <a href="javascript:void(0);" onClick="closeGift();">X</a></span></b><br><div align="center" style="padding:5px;background-color:#dcdedc;"><img src="//img.new-combats.tech/i/items/${img}"></div>${txt}<div>Подарок от <a target="_blank" href="/info/${from}">${from}</a></div>` ;
gf . innerHTML = `<small>${gf.innerHTML}</small>` ;
gf . style . display = '' ;
}
}
function closeGift () {
var gf = document . getElementById ( 'gi' );
if ( gf != undefined ) {
gf . innerHTML = '' ;
gf . style . display = 'none' ;
}
}
function tstlgnthm () {
if ( window . opener && ( window . opener . textmsg != undefined || window . opener . parent . textmsg != undefined )) {
if ( window . opener . textmsg != undefined ) {
$ ( '#lgnthm' ) . html ( '<img onclick="window.opener.chat.addto(\'<?=$inf[' login ']?>\',\'private\');" style="cursor:pointer" title="Написать персонажу" src="//img.new-combats.tech/i/lock3.gif" width="20" height="15">' + $ ( '#lgnthm' ) . html ());
return
}
$ ( '#lgnthm' ) . html ( '<img onclick="window.opener.parent.chat.addto(\'<?=$inf[' login ']?>\',\'private\');" style="cursor:pointer" title="Написать персонажу" src="//img.new-combats.tech/i/lock3.gif" width="20" height="15">' + $ ( '#lgnthm' ) . html ());
}
2023-11-02 13:57:39 +00:00
}
</ script >
2022-06-06 21:30:34 +00:00
</ head >
2023-11-02 13:57:39 +00:00
< body style = " padding-top:0; margin-top:7px; height:100%; background-color:#E2E0E1; " >
< div id = " ttl " class = " ttl_css " style = " display:none;z-index:1111; " ></ div >
2022-06-06 21:30:34 +00:00
< div id = " gi " class = " gifin " style = " display:none;z-index:1110; " ></ div >
2022-08-25 11:23:36 +00:00
< ? php
if ( isset ( $uer )) {
2023-11-02 13:57:39 +00:00
echo '<div style="color: red;">' . $uer . '</div><br>' ;
2022-08-25 11:23:36 +00:00
} ?>
2023-11-02 13:57:39 +00:00
< div class = " grid-container-main " >
< div >
< div style = " margin-left:11px; text-align: center; " >
< ? = $us ? $us [ 0 ] : '<img src="https://placehold.co/240x280?text=No%20Data" alt="nan">' ?>
</ div >
<!-- pos2 -->
< div ></ div >
< div ></ div >
< script >
tstlgnthm ();
lafstReg [ < ? = $inf [ 'id' ]; ?> ] = 1;
startHpRegen ( 'top' , < ? = $inf [ 'id' ] . ',' . ( 0 + $st [ 'hpNow' ]) . ',' . ( 0 + $st [ 'hpAll' ]) . ',' . ( 0 + $st [ 'mpNow' ]) . ',' . ( 0 + $st [ 'mpAll' ]) . ',' . ( time () - $inf [ 'regHP' ]) . ',' . ( time () - $inf [ 'regMP' ]) . ',' . ( 0 + $rgd [ 0 ]) . ',' . ( 0 + $rgd [ 1 ]); ?> , 1);
</ script >
<!-- pos1 -->
< ? php
//Персонаж онлайн
2024-01-05 22:14:35 +00:00
if ( $inf [ 'battle' ]) {
$b = new \Model\BattleModel ( $inf [ 'battle' ]);
$battleid = $b -> battle -> time_over == 0 ? $b -> battle -> id : false ;
unset ( $b );
}
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
if ( $inf [ 'room' ] != 303 ) {
if ( $inf [ 'online' ] > time () - 520 && $inf [ 'banned' ] == 0 && $inf [ 'invis' ] != 1 && $inf [ 'invis' ] < time ()) {
echo 'Персонаж сейчас находится в клубе.<br><b>"' . $room [ 'name' ] . '"</b>' ;
} else {
echo 'Персонаж не в клубе' ;
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
if ( $inf [ 'online' ] == 0 ) {
$inf [ 'online' ] = $inf [ 'timeREG' ];
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
if ( date ( 'Y' , $inf [ 'online' ]) == date ( 'Y' )) {
echo ', но был тут:<br>' . date ( 'd.m.Y H:i' , $inf [ 'online' ]) .
'<img title="Время сервера" alt="Время сервера" src="' . Config :: img () . '/i/clok3_2.png">' .
'<br>(' . Conversion :: secondsToTimeout ( time () - $inf [ 'online' ]) . ' назад)' ;
2023-07-19 15:23:44 +00:00
}
}
2023-11-02 13:57:39 +00:00
if ( $inf [ 'inUser' ] > 0 && $inf [ 'id' ] != 12059 ) {
echo '<br>Персонаж вселился в <a target="_blank" href="/info/' . $inf [ 'inUser' ] . '">бота</a>' ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
if ( $inf [ 'battle' ] > 0 && $battleid ) {
echo '<br>Персонаж сейчас в <a target="_blank" href="/logs.php?log=' . $battleid . '">поединке</a>' ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
} else {
if ( $inf [ 'res_x' ] - time () > 0 ) {
echo '<div style="padding-top:3px; text-align: center;">Появится через <b>' . Conversion :: secondsToTimeout ( $inf [ 'res_x' ] - time ()) . '</b></div>' ;
} else {
echo '<div style="padding-top:3px; text-align: center;">Появится в ближайшее время...<br></div>' ;
}
}
//Эффект админ
if ( $u -> isAdmin ()) {
function effAdm ( $pl ) : string
{
if ( $pl [ 'v1' ] != 'priem' ) {
$eff = Db :: getRow ( 'select img, actionTime from eff_main where id2 = ?' , [ $pl [ 'id_eff' ]]);
$pl [ 'img2' ] = $eff [ 'img' ];
$pl [ 'name' ] .= " \r " . 'Действует еще ' . Conversion :: secondsToTimeout ( $pl [ 'timeUse' ] - time () + $eff [ 'actionTime' ]);
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
return '<img onDblClick="location.href=\'/info/' . $pl [ 'uid' ] . '&cancel_eff=' . $pl [ 'id' ] . '\'" style="padding:1px;" ' .
' title="' . $pl [ 'name' ] . '" src="' . Config :: img () . '/i/eff/' . $pl [ 'img2' ] . '" width="40" height="25">' ;
}
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
if ( isset ( $_GET [ 'cancel_eff' ])) {
Effects :: removeByEffectId ( $inf [ 'id' ], ( int ) $_GET [ 'cancel_eff' ]);
die ( '<script>top.location.href="/info/' . $inf [ 'id' ] . '"</script>' );
}
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
$eff_adm = '' ;
foreach ( Effects :: getActive ( $inf [ 'id' ]) as $effect ) {
$eff_adm .= effAdm ( $effect );
}
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
if ( ! empty ( $eff_adm )) {
echo '<br><small style="display:block;text-align:center;">Эффекты на персонаже:<br>' . $eff_adm . '</small>' ;
}
?>
< br >
< script >
function mf_admin_statsfx () {
if ( $ ( '#mf_admin_stats' ) . css ( 'display' ) == 'none' ) {
$ ( '#mf_admin_stats' ) . css ( 'display' , '' );
$ ( '#mf_admin_statstxt' ) . html ( 'Скрыть' );
return
}
$ ( '#mf_admin_stats' ) . css ( 'display' , 'none' );
$ ( '#mf_admin_statstxt' ) . html ( 'Показать' );
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
</ script >
< div id = " mf_admin_stats " style = " display:none; " >
< div style = " height:1px; width:240px; background-color:#999999; margin:3px; text-align: center; " ></ div >
< div style = " padding:5px; " >
< small >
< ? php
2024-01-08 01:33:20 +00:00
2024-01-16 07:13:15 +00:00
foreach ( $statnames -> sysBonusNames as $stat ) {
2023-11-02 13:57:39 +00:00
if ( empty ( $st [ $stat ]) || empty ( $u -> is [ $stat ])) {
continue ;
}
if ( $st [ $stat ] > 0 ) {
$st [ $stat ] = '+' . $st [ $stat ];
}
2024-01-08 01:33:20 +00:00
2024-01-16 07:13:15 +00:00
echo '• ' . $statnames -> bonusNames [ $stat ] . ': ' . $st [ $stat ] . ' <br>' ;
2023-11-02 13:57:39 +00:00
}
?>
</ small >
</ div >
</ div >
< div style = " height:1px; width:240px; background-color:#999999; margin:3px; text-align: center; " >
< div onClick = " mf_admin_statsfx(); "
style = " border:1px solid #999999; cursor:pointer; background-color:#EAEAEA; width:150px; text-align: center; font-size: small; " >
< span id = " mf_admin_statstxt " > Показать </ span > модификаторы
</ div >
</ div >
< ? php
}
?>
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
</ div >
< div class = " center " >
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
< ? php
if ( $u -> isAdmin ()) {
$nodell = Db :: getRow ( 'select id, inUser from users where login = ? order by id limit 1' , [ $inf [ 'login' ]]);
$sp = Db :: getRows ( 'select id from users where login = ? and id != ?' , [ $inf [ 'login' ], $inf [ 'id' ]]);
$nolog = '' ;
foreach ( $sp as $pl ) {
if ( isset ( $_GET [ 'del_copy' ]) && $_GET [ 'del_copy' ] == $pl [ 'id' ]) {
if ( $nodell [ 'inUser' ] != $pl [ 'id' ] && $pl [ 'id' ] != $nodell [ 'id' ]) {
Db :: sql ( 'update users set login = ? where id = ?' , [ 'DELETE' , $pl [ 'id' ]]);
}
} else {
2023-12-05 01:01:04 +00:00
$nolog .= '<div>' . User :: getLogin ( $pl [ 'id' ]);
2023-11-02 13:57:39 +00:00
if ( $nodell [ 'inUser' ] != $pl [ 'id' ] && $pl [ 'id' ] != $nodell [ 'id' ]) {
$nolog .= ' (персонажа можно <a href="?' . $inf [ 'id' ] . '&del_copy=' . $pl [ 'id' ] . '">удалить</a>)' ;
}
if ( $pl [ 'id' ] == $nodell [ 'id' ]) {
$nolog .= ' (основной персонаж)' ;
}
$nolog .= '</div>' ;
2023-07-19 15:23:44 +00:00
}
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
if ( ! empty ( $nolog )) {
echo '<small><b>Копии персонажа:</b>' . $nolog . '</small>' ;
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
}
?>
< div style = " padding:5px; " >
Сила : < ? = statInfo ( 's1' ); ?> <br>
Ловкость : < ? = statInfo ( 's2' ); ?> <br>
Интуиция : < ? = statInfo ( 's3' ); ?> <br>
Выносливость : < ? = statInfo ( 's4' ); ?> <br>
Интеллект : < ? = statInfo ( 's5' ); ?> <br>
Мудрость : < ? = statInfo ( 's6' ); ?> <br>
< ? php if ( $inf [ 'level' ] > 9 || $st [ 's7' ] != 0 ) { ?>
Духовность : < ? = statInfo ( 's7' ); ?> <br>
< ? php } ?>
Рейтинг сегодня : < b >< ? = $inf [ 'repexp' ]; ?> </b><br>
</ div >
< div style = " height:1px; background-color:#999999; margin:3px; " ></ div >
< div style = " padding:5px; " >
Уровень : < ? = $inf [ 'level' ]; ?> <br>
< ? php if ( $inf [ 'no_ip' ] != 'trupojor' ) {
$inf [ 'win' ] = number_format ( $inf [ 'win' ], 0 , ',' , ' ' );
$inf [ 'lose' ] = number_format ( $inf [ 'lose' ], 0 , ',' , ' ' );
$inf [ 'nich' ] = number_format ( $inf [ 'nich' ], 0 , ',' , ' ' );
?>
Побед :
< ? = '<a title="Персонаж учавствует в рейтинге" href="/rating_pers/id' . $inf [ 'id' ] . '#' . $inf [ 'id' ] . '" target="_blank">' . $inf [ 'win' ] . '</a>' ; ?> <br>
Поражений : < ? = $inf [ 'lose' ] ?> <br>
Ничьих : < ? = $inf [ 'nich' ] ?> <br>
< ? php }
$inf [ 'mod_zvanie' ] = htmlspecialchars ( $inf [ 'mod_zvanie' ] ? ? '' );
if ( $inf [ 'clan' ] > 0 ) {
$pc = ClanInfo :: getById ( $inf [ 'clan' ]);
if ( isset ( $pc [ 'id' ])) {
if ( $inf [ 'clan_prava' ] == 'glava' ) {
$inf [ 'mod_zvanie' ] = '- <b style="color: teal;">Глава клана</b>' ;
} elseif ( ! empty ( $inf [ 'mod_zvanie' ])) {
$inf [ 'mod_zvanie' ] = '- ' . htmlspecialchars ( $inf [ 'mod_zvanie' ], null );
$inf [ 'mod_zvanie' ] = str_replace ( '<b>' , '<b>' , $inf [ 'mod_zvanie' ]);
$inf [ 'mod_zvanie' ] = str_replace ( '</b>' , '</b>' , $inf [ 'mod_zvanie' ]);
$inf [ 'mod_zvanie' ] = str_replace ( '<u>' , '<u>' , $inf [ 'mod_zvanie' ]);
$inf [ 'mod_zvanie' ] = str_replace ( '</u>' , '</u>' , $inf [ 'mod_zvanie' ]);
$inf [ 'mod_zvanie' ] = str_replace ( '<i>' , '<i>' , $inf [ 'mod_zvanie' ]);
$inf [ 'mod_zvanie' ] = str_replace ( '</i>' , '</i>' , $inf [ 'mod_zvanie' ]);
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
echo 'Клан: <a href="/clan/' . $pc [ 'id' ] . '" target="_blank">' . $pc [ 'name' ] . '</a> ' . $inf [ 'mod_zvanie' ] . '<br>' ;
} elseif ( $u -> isAdmin ()) {
echo '<i style="color: dimgrey;">Подана заявка на регистрацию клана или ошибка в базе кланов.</i>' ;
2023-07-19 15:23:44 +00:00
}
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
$accountStatus = new class {
public static function print ( bool $condition , string $type , string $color , string $status = '' ) : void
{
if ( ! $condition ) {
return ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
echo " <b style='color: $color ;'> $type </b> " ;
if ( ! empty ( $status )) {
echo " - $status " ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
echo '<br>' ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
};
$accountStatus :: print ( ! empty ( $inf [ 'admin' ]), 'Администратор' , 'green' );
$accountStatus :: print ( $inf [ 'pass' ] === 'saintlucia' && $u -> isAdmin (), 'NPC' , 'dimgray' );
$accountStatus :: print (
( $inf [ 'align' ] > 1 && $inf [ 'align' ] < 2 || $inf [ 'align' ] > 3 && $inf [ 'align' ] < 4 ) && empty ( $inf [ 'admin' ]),
'Модератор' ,
'green' ,
$inf [ 'mod_zvanie' ]);
$accountStatus :: print ( $inf [ 'align' ] === 50 , 'Алхимик' , 'orange' , $inf [ 'mod_zvanie' ]);
echo 'День рождения персонажа: ' ;
if ( empty ( $inf [ 'timereg' ])) {
echo 'До начала времен...' ;
} else {
echo date ( 'd.m.Y' , $inf [ 'timereg' ]);
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
echo '<br>' ;
$twinks = new Twinks ( $inf [ 'id' ], $inf [ 'twink' ]);
$lastnames = new LastNames ( $inf [ 'id' ]);
$ai = new Achievements ( $u );
$awards = new Awards ( $inf [ 'id' ]);
$status = new \Inf\Status ();
$achievements = '' ;
foreach ( $ai -> getTypes () as $type ) {
$i = $ai -> getInfo ( $inf [ 'id' ]);
if ( empty ( $i [ $type ])) {
continue ;
}
$achievements .=
'<div class="dvfirs">' .
'<div class="dvsec">' . $i [ 'name' . $type ] . '</div>' .
'<div class="dvtre">Ранг <b>' . $i [ 'klas' . $type ] . '</b> : </div>' .
'<progress value="' . $i [ 'klasP' . $type ] . '" max="100" class="prog' . $i [ 'klas' . $type ] . '"> ' . $i [ 'name' . $type ] . ' </progress>' .
'</div>' ;
2023-07-19 15:23:44 +00:00
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
if ( $inf [ 'align' ] == 50 ) {
$awards -> addCustom ( 'Официальный дилер' , 'Имеет право вести коммерческую деятельность.' , 'alchemy1.gif' );
2023-07-19 15:23:44 +00:00
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
if ( $inf [ 'vip' ] === 1 ) {
$awards -> addCustom ( 'З а помощь в развитии проекта.' , '' , 'vip2.gif' );
2023-07-19 15:23:44 +00:00
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
if ( ! empty ( $inf [ 'marry' ])) {
$partner = Db :: getValue ( 'select login from users where id = ?' , [ $inf [ 'marry' ]]);
if ( $partner ) {
$awards -> addCustom ( 'Семейные узы' , " В счастливом браке с <b>$partner </b>. " , 'i/i_marry.gif' );
2023-07-19 15:23:44 +00:00
}
}
2023-11-02 13:57:39 +00:00
//сам себя наебал, condition не заменяет isset, а вот ?? null это уже чисто костыль, который будет тут висеть пока не придёт ясность как формируется $st
$status -> add ( $inf [ 'jail' ] > time (), 'В заточении' , $inf [ 'jail' ], 'i/jail.gif' );
$status -> add ( ! empty ( $st [ 'puti' ]), 'Н е может передвигаться' , $st [ 'puti' ] ? ? null , 'i/items/chains.gif' );
$status -> add ( $inf [ 'molch1' ] > time (), 'Н е может общаться в чате' , $inf [ 'molch1' ], 'i/sleeps' . $inf [ 'sex' ] . '.gif' );
$status -> add ( $inf [ 'molch2' ] > time (), 'Н е может общаться на форуме' , $inf [ 'molch2' ], 'i/fsleeps' . $inf [ 'sex' ] . '.gif' );
$status -> add ( $inf [ 'clan_delay' ] > time (), 'Н е может вступать в кланы' , $inf [ 'clan_delay' ]);
$status -> add ( $inf [ 'info_delete' ] > time () || $inf [ 'info_delete' ] === 1 , 'Профиль скрыт' , $inf [ 'info_delete' ], 'stopinfo.png' );
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
foreach ( Effects :: getAllInjuries ( $inf [ 'id' ]) as $injury ) {
$status -> add ( true , 'Травма: «<b>' . $injury [ 'name' ] . '</b>»' , $injury [ 'timeUse' ] + $injury [ 'timeAce' ], 'i/jail.gif' );
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
$twinks -> print ();
$lastnames -> print ();
?>
</ div >
< div style = " height:1px; background-color:#999999; margin: 3px 3px 7px; " ></ div >
<!-- значки -->
< ? php
$awards -> print ();
$status -> print ();
if ( ! empty ( $achievements )) {
echo <<< HTML
< div style = " padding-top:20px; " >
< div style = " padding-bottom:10px; " >
< u > Достижения персонажа :</ u >
</ div >
< div style = " float: left; width: 800px; " > $achievements </ div >
</ div >
HTML ;
}
if ( $inf [ 'banned' ] > 0 || $inf [ 'jail' ] > time ()) {
Delo :: printPublicModerationStatus ( $inf [ 'id' ]);
}
//подарки (это какой-то сферический пиздец в вакууме!)
if ( $inf [ 'info_delete' ] < time () && $inf [ 'info_delete' ] != 1 || $u -> isModerator ()) {
$gs = [ '' , '' , '' ];
$i = 0 ;
$ij1 = 1 ;
$ij2 = 1 ;
$q1 = " select * from items_users left join items_main on items_main.id = items_users.item_id
where uid = ? and gift != '' order by items_users . id desc " ;
$presentsList1 = Db :: getRows ( $q1 , [ $inf [ 'id' ]]);
foreach ( $presentsList1 as $pl ) {
if ( stristr ( $pl [ 'data' ], 'gift_id' )) {
$po = Conversion :: dataStringToArray ( $pl [ 'data' ]);
$pl_gift = $po [ 'gift_id' ];
if ( $pl_gift > 0 ) {
$pl_gift = Db :: getRow ( 'select name, img from users_gifts where id = ?' , [ $pl_gift ]);
if ( $pl_gift ) {
//Именной подарок
$pl [ 'name' ] = $pl_gift [ 'name' ];
$pl [ 'img' ] = $pl_gift [ 'img' ];
}
2023-07-19 15:23:44 +00:00
}
}
2023-11-02 13:57:39 +00:00
//подарки
if ( $pl [ 'gift' ] == 1 ) {
$pl [ 'gift2' ] = 'Невидимка' ;
} else {
$pl [ 'gift2' ] = $pl [ 'gift' ];
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
$gs [ 0 ] .= '<img src="' . Config :: img () . '/i/items/' . $pl [ 'img' ] . '" style="margin:1px 1px 0 0;display:block;float:left;cursor:pointer;" ' .
' onClick="lookGift(event,0,\'' . $pl [ 'name' ] . '\',\'' . $pl [ 'img' ] . '\',\'' . $pl [ 'gtxt1' ] . '\',\'' . $pl [ 'gift' ] . '\');" ' .
' title="' . $pl [ 'gtxt1' ] . 'Подарок от ' . $pl [ 'gift2' ] . '" />' ;
$ij1 ++ ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
$q2 = " select * from items_users left join items_main on items_main.id = items_users.item_id
where uid = ? and gift != '' and inOdet = 0 and ( type in ( 63 , 37 ) or data like '%|giftsee=2%' ) order by items_users . id desc " ;
$presentsList2 = Db :: getRows ( $q2 , [ $inf [ 'id' ]]);
foreach ( $presentsList2 as $pl ) {
if ( $pl [ 'gift' ] == 1 ) {
$pl [ 'gift2' ] = 'Невидимка' ;
} else {
$pl [ 'gift2' ] = $pl [ 'gift' ];
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
$gs [ 1 ] .= '<img src="' . Config :: img () . '/i/items/' . $pl [ 'img' ] . '" style="margin:1px 1px 0 0;display:block;float:left;cursor:pointer;" ' .
' onClick="lookGift(event,0,\'' . $pl [ 'name' ] . '\',\'' . $pl [ 'img' ] . '\',\'' . $pl [ 'gtxt1' ] . '\',\'' . $pl [ 'gift' ] . '\');" ' .
' title="' . $pl [ 'gtxt1' ] . 'Подарок от ' . $pl [ 'gift2' ] . '" />' ;
$ij2 ++ ;
}
if ( ! empty ( $gs [ 0 ]) || ! empty ( $gs [ 1 ])) {
echo '<br><br><table style="max-width:1260px; width:800px;"><tr><td>' .
'<div style="padding-top:20px; padding-bottom:2px;"><u>Подарки:</u></div><br>' . $gs [ 0 ] .
'</td></tr>' .
'<tr><td style="padding-top:7px;">' .
$gs [ 1 ] .
'</td></tr></table>' ;
$q3 = " select count(items_users.id) from items_users left join items_main on items_main.id = items_users.item_id
where ( type in ( 28 , 63 , 38 , 64 , 37 ) or data like '%|giftsee=1' or data like '%|giftsee=2%' ) and uid = ? and gift != '' and inOdet = 0 " ;
$ij4 = Db :: getValue ( $q3 , [ $inf [ 'id' ]]);
if ( $ij1 + $ij2 + 1 < $ij4 ) {
if ( ! isset ( $_GET [ 'maxgift' ])) {
echo '<small><a href="/info/' . $inf [ 'id' ] . '&maxgift=1">Нажмите сюда, чтобы увидеть все подарки...</a></small>' ;
2023-07-19 15:23:44 +00:00
} else {
2023-11-02 13:57:39 +00:00
echo '<small><a href="/info/' . $inf [ 'id' ] . '">Нажмите сюда, чтобы скрыть подарки</a></small>' ;
2023-07-19 15:23:44 +00:00
}
}
}
2023-11-02 13:57:39 +00:00
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
if ( $inf [ 'align' ] == '9' && $u -> isAdmin ()) {
if ( isset ( $_GET [ 'emonster' ])) {
$monster = new Monster ( $inf [ 'id' ]);
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
?>
< b style = " color:red " > Параметры монстра :</ b >< br >
< form method = " post " action = " /info/<?= $inf['id'] ?>&emonster " >
< table style = " padding-left:10px; " width = " 100% " border = " 0 " cellspacing = " 0 " cellpadding = " 0 " >
< tr >
< td > Место появления ( id комнаты ) :
< input type = " text " name = " bot_sroom " id = " bot_sroom " value = " <?= $monster->info ['start_room'] ?> " >
& nbsp ; < input value = " Обнулить ожидание " type = " button " onclick = " location.href='/info/<?= $inf['id'] ?>&emonster&restartmonster' " />
</ td >
</ tr >
< tr >
< td > Время ожидания после поражения бота :
< input name = " bot_trs " id = " bot_trs " value = " <?= $monster->info ['time_restart'] ?> " type = " text " > мин .
</ td >
</ tr >
< tr >
< td > Исчезнет после своей победы :
< select name = " bot_winback " id = " bot_winback " >
< option value = " 0 " > Нет </ option >
< option < ? php if ( $monster -> info [ 'win_back' ] == 1 ) {
echo 'selected' ;
} ?> value="1">Да
</ option >
</ select ></ td >
</ tr >
< tr >
< td >
< div align = " left "
style = " height:1px; width:300px; background-color:#999999; margin:3px; " ></ div >
</ td >
</ tr >
< tr >
< td > Появляется ,
ДН
< select name = " bot_sday " id = " bot_sday " >
< option value = " -1 " >& bull ; День недели </ option >
< option < ? php if ( $monster -> info [ 'start_day' ] == 1 ) {
echo 'selected' ;
} ?> value="1">Понедельник
</ option >
< option < ? php if ( $monster -> info [ 'start_day' ] == 2 ) {
echo 'selected' ;
} ?> value="2">Вторник
</ option >
< option < ? php if ( $monster -> info [ 'start_day' ] == 3 ) {
echo 'selected' ;
} ?> value="3">Среда
</ option >
< option < ? php if ( $monster -> info [ 'start_day' ] == 4 ) {
echo 'selected' ;
} ?> value="4">Четверг
</ option >
< option < ? php if ( $monster -> info [ 'start_day' ] == 5 ) {
echo 'selected' ;
} ?> value="5">Пятница
</ option >
< option < ? php if ( $monster -> info [ 'start_day' ] == 6 ) {
echo 'selected' ;
} ?> value="6">Суббота
</ option >
< option < ? php if ( $monster -> info [ 'start_day' ] == 7 ) {
echo 'selected' ;
} ?> value="7">Воскресенье
</ option >
</ select >
Д
< select name = " bot_sdd " id = " bot_sdd " >
< option value = " -1 " >& bull ; День </ option >
< ? php $i = 0 ;
while ( $i < 31 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'start_dd' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>">
< ? = $i ?>
2023-07-19 15:23:44 +00:00
</ option >
2023-11-02 13:57:39 +00:00
< ? php } ?>
</ select >
М
< select name = " bot_smm " id = " bot_smm " >
< option value = " -1 " >& bull ; Месяц </ option >
< ? php $i = 0 ;
while ( $i < 12 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'start_mm' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>"><?= $i ?></option>
< ? php } ?>
</ select >
Ч
< select name = " bot_shh " id = " bot_shh " >
< option value = " -1 " >& bull ; Час </ option >
< ? php $i = - 1 ;
while ( $i < 23 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'start_hh' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>"><?= $i ?></option>
< ? php } ?>
</ select >
Мин
< select name = " bot_smin " id = " bot_smin " >
< option value = " -1 " >& bull ; Мин </ option >
< ? php $i = - 1 ;
while ( $i < 58 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'start_min' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>"><?= $i ?></option>
< ? php } ?>
</ select >
</ td >
</ tr >
< tr >
< td > Исчезает , & nbsp ; & nbsp ; ДН
< select name = " bot_bday " id = " bot_bday " >
< option value = " -1 " >& bull ; День недели </ option >
< option < ? php if ( $monster -> info [ 'back_day' ] == 1 ) {
echo 'selected' ;
} ?> value="1">Понедельник
</ option >
< option < ? php if ( $monster -> info [ 'back_day' ] == 2 ) {
echo 'selected' ;
} ?> value="2">Вторник
</ option >
< option < ? php if ( $monster -> info [ 'back_day' ] == 3 ) {
echo 'selected' ;
} ?> value="3">Среда
</ option >
< option < ? php if ( $monster -> info [ 'back_day' ] == 4 ) {
echo 'selected' ;
} ?> value="4">Четверг
</ option >
< option < ? php if ( $monster -> info [ 'back_day' ] == 5 ) {
echo 'selected' ;
} ?> value="5">Пятница
</ option >
< option < ? php if ( $monster -> info [ 'back_day' ] == 6 ) {
echo 'selected' ;
} ?> value="6">Суббота
</ option >
< option < ? php if ( $monster -> info [ 'back_day' ] == 7 ) {
echo 'selected' ;
} ?> value="7">Воскресенье
</ option >
</ select >
Д
< select name = " bot_bdd " id = " bot_bdd " >
< option value = " -1 " >& bull ; День </ option >
< ? php $i = 0 ;
while ( $i < 31 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'back_dd' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>">
< ? = $i ?>
2023-07-19 15:23:44 +00:00
</ option >
2023-11-02 13:57:39 +00:00
< ? php } ?>
</ select >
М
< select name = " bot_bmm " id = " bot_bmm " >
< option value = " -1 " >& bull ; Месяц </ option >
< ? php $i = 0 ;
while ( $i < 12 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'back_mm' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>"><?= $i ?></option>
< ? php } ?>
</ select >
Ч
< select name = " bot_bhh " id = " bot_bhh " >
< option value = " -1 " >& bull ; Час </ option >
< ? php $i = - 1 ;
while ( $i < 23 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'back_hh' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>"><?= $i ?></option>
< ? php } ?>
</ select >
Мин
< select name = " bot_bmin " id = " bot_bmin " >
< option value = " -1 " >& bull ; Мин </ option >
< ? php $i = - 1 ;
while ( $i < 58 ) {
$i ++ ; ?>
< option < ? php if ( $monster -> info [ 'back_min' ] == $i ) {
2023-07-19 15:23:44 +00:00
echo 'selected' ;
2023-11-02 13:57:39 +00:00
} ?> value="<?= $i ?>"><?= $i ?></option>
< ? php } ?>
</ select ></ td >
</ tr >
< tr >
< td >
< div align = " left "
style = " height:1px; width:300px; background-color:#999999; margin:3px; " ></ div >
</ td >
</ tr >
< tr >
< td > Текст появления ( Логин бота < b > { b } </ b > , Логины игроков < b > { u } </ b > ) :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['start_text'] ?> " name = " bot_stext "
type = " text " id = " bot_stext " size = " 100 " maxlength = " 250 " ></ td >
</ tr >
< tr >
< td > Текст исчезновения :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['back_text'] ?> " name = " bot_btext " type = " text "
id = " bot_btext " size = " 100 " maxlength = " 250 " ></ td >
</ tr >
< tr >
< td > Текст победы игрока :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['win_text'] ?> " name = " bot_wintext "
type = " text " id = " bot_wintext " size = " 100 " maxlength = " 250 " ></ td >
</ tr >
< tr >
< td > Текст поражения игрока :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['lose_text'] ?> " name = " bot_losetext "
type = " text " id = " bot_losetext " size = " 100 " maxlength = " 250 " ></ td >
</ tr >
< tr >
< td > Текст ничьей :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['nich_text'] ?> " name = " bot_nichtext "
type = " text " id = " bot_nichtext " size = " 100 " maxlength = " 250 " ></ td >
</ tr >
< tr >
< td >
< div align = " left "
style = " height:1px; width:300px; background-color:#999999; margin:3px; " ></ div >
< b > Награда ( победа игрока ) :</ b ></ td >
</ tr >
< tr >
< td > К р .:</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['win_money1'] ?> " name = " bot_winmoney1 "
type = " text " id = " bot_winmoney1 " size = " 100 " maxlength = " 17 " ></ td >
</ tr >
< tr >
< td > Екр .:</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['win_money2'] ?> " name = " bot_winmoney2 "
type = " text " id = " bot_winmoney2 " size = " 100 " maxlength = " 10 " ></ td >
</ tr >
< tr >
< td > Опыт ( З а 100 % Н Р монстра ) :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['win_exp'] ?> " name = " bot_winexp " type = " text "
id = " bot_winexp " size = " 100 " maxlength = " 17 " ></ td >
</ tr >
< tr >
< td > Предметы ( id @ kolvo @ data , ... ) :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['win_itm'] ?> " name = " bot_winitm " type = " text "
id = " bot_winitm " size = " 100 " maxlength = " 500 " ></ td >
</ tr >
< tr >
< td > Эффект :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['win_eff'] ?> " name = " bot_wineff " type = " text "
id = " bot_wineff " size = " 100 " maxlength = " 500 " ></ td >
</ tr >
< tr >
< td > Подвиги :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['win_ico'] ?> " name = " bot_winico " type = " text "
id = " bot_winico " size = " 100 " maxlength = " 500 " ></ td >
</ tr >
< tr >
< td >
< div style = " height:1px; width:300px; background-color:#999999; margin:3px; " ></ div >
< b > Награда ( поражение игрока ) :</ b ></ td >
</ tr >
< tr >
< td > К р .:</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['lose_money1'] ?> " name = " bot_losemoney1 "
type = " text " id = " bot_losemoney1 " size = " 100 " maxlength = " 10 " ></ td >
</ tr >
< tr >
< td > Екр .:</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['lose_money2'] ?> " name = " bot_losemoney2 "
type = " text " id = " bot_losemoney2 " size = " 100 " maxlength = " 10 " ></ td >
</ tr >
< tr >
< td > Опыт :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['lose_exp'] ?> " name = " bot_loseexp "
type = " text " id = " bot_loseexp " size = " 100 " maxlength = " 17 " ></ td >
</ tr >
< tr >
< td > Предметы :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['lose_itm'] ?> " name = " bot_loseitm "
type = " text " id = " bot_loseitm " size = " 100 " maxlength = " 500 " ></ td >
</ tr >
< tr >
< td > Эффект :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['lose_eff'] ?> " name = " bot_loseeff "
type = " text " id = " bot_loseeff " size = " 100 " maxlength = " 500 " ></ td >
</ tr >
< tr >
< td > Подвиги :</ td >
</ tr >
< tr >
< td >< input value = " <?= $monster->info ['lose_ico'] ?> " name = " bot_loseico "
type = " text " id = " bot_loseico " size = " 100 " maxlength = " 500 " ></ td >
</ tr >
</ table >
< div style = " padding-left:120px; " >
< input type = " submit " value = " Сохранить " />
2023-07-19 15:23:44 +00:00
</ div >
2023-11-02 13:57:39 +00:00
< br >< br >
</ form >
< div style = " height:1px; width:300px; background-color:#999999; margin:3px; text-align: center; " >
< div onClick = " location.href='/info/<?= $inf['id'] ?>' "
style = " border:1px solid #999999; cursor:pointer; background-color:#EAEAEA; width:150px; text-align: center; font-size: small " >
Скрыть
2023-07-19 15:23:44 +00:00
</ div >
2023-11-02 13:57:39 +00:00
</ div >
< ? php
} else {
?>
< div style = " height:1px; width:300px; background-color:#999999; margin:3px; text-align: center; " >
< div onClick = " location.href='/info/<?= $inf['id'] ?>&emonster' "
style = " border:1px solid #999999; cursor:pointer; background-color:#EAEAEA; width:150px; text-align: center; font-size: small; " >
Настройка монстра
</ div >
</ div >
< ? php
}
}
//темные делишки :D
if ( $inf [ 'align' ] != 9 && $u -> isModerator () && ! $nopal ) {
$m = [];
$mults = Db :: getRows ( 'select * from mults where (uid = ? or uid2 = ?) and uid != 0 and uid2 != 0' , [ $inf [ 'id' ], $inf [ 'id' ]]);
foreach ( $mults as $mult ) {
$usr = $inf [ 'id' ] === $mult [ 'uid' ] ? $mult [ 'uid2' ] : $mult [ 'uid' ];
if ( empty ( $usr ) || $usr === $inf [ 'id' ]) {
continue ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
2023-12-05 01:01:04 +00:00
$m [] = User :: getLogin ( $usr );
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
echo '<div style="color:#828282; margin-top: 20px;">З а игроком замечены следующие темные делишки:<br><small><span class=dsc>' ;
if ( ! isset ( $_GET [ 'mod_inf' ])) {
echo '<a href="/info/' . $inf [ 'id' ] . '&mod_inf">Показать личное дело</a>' ;
} else {
//Личное дело персонажа
foreach ( Delo :: getAllByUserId ( $inf [ 'id' ]) as $logstr ) {
echo date ( 'd.m.Y H:i:s' , $logstr [ 'time' ]) . ' ' . $logstr [ 'text' ] . '<br>' ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
echo '<a href="/info/' . $inf [ 'id' ] . '">Скрыть личное дело</a>' ;
}
echo '</small><br>' ;
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
//Информация для паладинов\тарманов\ангелов
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
if (( int ) $inf [ 'host_reg' ] >= 1 ) {
2023-12-05 01:01:04 +00:00
$inf [ 'ref' ] = User :: getLogin (( int ) $inf [ 'host_reg' ]);
2023-11-02 13:57:39 +00:00
} else {
$inf [ 'ref' ] = '--' ;
}
if ( ! isset ( $inf [ 'ipReg' ])) {
$inf [ 'ipReg' ] = '--' ;
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
echo '<br><span style="color:red; text-decoration: underline; font-weight: bold;">Секретно!</span><br>' ;
echo 'День рождения: ' . $inf [ 'bithday' ] . '<br>' ;
echo date ( 'Последний вход: d.m.Y H:i' , $inf [ 'online' ]) . '<br>' ;
echo '<br>' ;
echo 'Персонажа пригласили: ' . $inf [ 'ref' ] . '<br>' .
'IP при регистрации: ' . $inf [ 'ipReg' ] . '<br>' ;
echo 'Текущий IP: ' . $inf [ 'ip' ] . '<br>Последние входы:<br>' ;
$auth = Db :: getRows ( 'select ip, time from logs_auth where uid = ? and type = 1 order by id desc' , [ $inf [ 'id' ]]);
foreach ( $auth as $a ) {
$date = date ( ': d.m.Y H:i' , $a [ 'time' ]);
echo " { $a [ 'ip' ] } <small><b> $date </b></small><br> " ;
}
2022-08-25 11:23:36 +00:00
2023-11-02 13:57:39 +00:00
if ( ! empty ( $m )) {
echo 'Другие ники этого бойца: ' . implode ( ', ' , $m ) . '<br>' ;
}
2023-02-13 14:49:07 +00:00
2023-11-02 13:57:39 +00:00
$refusers = [];
$invitedByUser = Db :: getRows ( 'select ip, ipreg, online, timereg from users where host_reg = ? order by timereg desc' , [ $inf [ 'id' ]]);
foreach ( $invitedByUser as $refuser ) {
$refusers [] = date ( 'Дата регистрации: d.m.Y H:i' , $refuser [ 'timereg' ]) .
DIRECTORY_SEPARATOR .
date ( 'Был тут: d.m.Y H:i ' , $refuser [ 'online' ]) .
2023-12-05 01:01:04 +00:00
User :: getLogin ( $inf [ 'id' ]) .
2023-11-02 13:57:39 +00:00
" <small>( { $refuser [ 'ip' ] } , { $refuser [ 'ipreg' ] } )</small> " ;
}
2023-07-11 15:16:35 +00:00
2023-11-02 13:57:39 +00:00
if ( ! empty ( $refusers )) {
echo '<hr><b>Рефералы бойца:</b><br>' . implode ( '<br>' , $refusers ) . '<hr>' ;
}
2023-07-11 15:16:35 +00:00
2023-11-02 13:57:39 +00:00
if ( $u -> isAdmin ()) {
$mls = Db :: getValue ( 'select count(*) from users_rbk where email = ?' , [ $inf [ 'mail' ]]) > 0 ;
$online = Db :: getRow ( 'select time_all, time_today from online where uid = ?' , [ $inf [ 'id' ]]);
2023-07-19 15:23:44 +00:00
2023-11-02 13:57:39 +00:00
echo '<div style="color: darkred; margin: 5px 0;">' ;
echo 'Комната: ' . $inf [ 'room' ] . '<br>' ;
echo 'E-mail: ' . $inf [ 'mail' ];
if ( $mls ) {
echo ' (рассылка)' ;
}
echo ' & ' . $inf [ 'send' ] . '<br>' ;
echo " <br><button onclick='location.href= \" /info/ { $inf [ 'id' ] } &wipe&sd4= { $u -> info [ 'nextAct' ] } \" '>Сбросить характеристики</button><br> " ;
if ( isset ( $online [ 'time_all' ], $online [ 'time_today' ])) {
echo 'Время в онлайне (всего): ' . Conversion :: secondsToTimeout ( $online [ 'time_all' ]) .
'<br>Время в онлайне (сегодня): ' . Conversion :: secondsToTimeout ( $online [ 'time_today' ]) . '<br>' ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
echo '</div>' ;
2023-07-19 15:23:44 +00:00
}
2023-11-02 13:57:39 +00:00
$donatedEkr = Db :: getValue ( 'select sum(ekr) from pay_operation where uid = ? and good > 1' , [ $inf [ 'id' ]]) ? : 0 ;
echo " Опыт: { $inf [ 'exp' ] } <br> " .
" Нераспределённые статы: { $inf [ 'ability' ] } <br> " .
" Кредиты: { $inf [ 'money' ] } <br> " .
" ЕвроКредиты: { $inf [ 'money2' ] } <br> " .
" <br><span class='donatedEkr'>Куплено: $donatedEkr екр.</span> " ;
echo '</div>' ;
}
2022-08-25 11:23:36 +00:00
?>
2023-11-02 13:57:39 +00:00
</ div >
< div >
< img title = " <?= $zodiac->getName () ?> " alt = " <?= $zodiac->getName () ?> " style = " margin-bottom: 25px; padding:5px; " src = '<?= $zodiac->getImageLink() ?>' >< br >
< a href = '/news' target = '_blank' >
< img style = " padding:5px; " src = '<?= Config::img() ?>/i/flag_gray.gif' >
</ a >
</ div >
< div class = " bottom " >
< ? php if ( $inf [ 'info_delete' ] == 0 || $u -> isModerator ()) : ?>
< div style = " line-height:11pt; " >
< hr style = " border-color:#999999; " >
< h3 style = " color:#8f0000 " > Анкетные данные </ h3 >
< ? php if ( ! empty ( $inf [ 'name' ])) : ?>
< b style = " color:#444 " > Имя :</ b > < ? = $inf [ 'name' ]; ?> <br>
< ? php endif ; ?>
< b style = " color:#444 " > Пол :</ b >
< ? = $inf [ 'sex' ] == 0 ? 'Мужской' : 'Женский' ?> <br>
< ? php if ( ! empty ( $inf [ 'hobby' ])) : ?>
< b style = " color:#444 " > Увлечения / хобби :</ b >< br >
< ? = str_replace ( " \n " , '<br>' , $inf [ 'hobby' ]) ?>
< ? php endif ; ?>
</ div >
< ? php endif ; ?>
</ div >
2022-06-06 21:30:34 +00:00
</ div >
</ body >
</ html >