Compare commits

...

4 Commits

86 changed files with 9053 additions and 11165 deletions

View File

@ -25,10 +25,6 @@ RewriteRule casino/SWFP.pl casino/SWFP.php [L]
RewriteCond %{ENV:REDIRECT} !^yes$ RewriteCond %{ENV:REDIRECT} !^yes$
RewriteRule ^r([0-9]+)/?$ /register.php?ref=$1 [L] RewriteRule ^r([0-9]+)/?$ /register.php?ref=$1 [L]
RewriteRule ^adminion/([a-zA-Z0-9]+)/?$ /adminion/index.php?mod=$1 [L]
RewriteRule ^adminion/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ /adminion/index.php?mod=$1 [L]
RewriteRule ^adminion/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ /adminion/index.php?mod=$1 [L]
RewriteRule ^settings/?$ /settings.php [L] RewriteRule ^settings/?$ /settings.php [L]
RewriteRule ^info/(.*)/?$ /inf.php?$1 [L] RewriteRule ^info/(.*)/?$ /inf.php?$1 [L]
@ -45,9 +41,6 @@ RewriteRule ^clan/?$ /clans_inf.php [L]
RewriteRule ^ruins/(.*)/?$ /ruins.php?$1 [L] RewriteRule ^ruins/(.*)/?$ /ruins.php?$1 [L]
RewriteRule ^ruins/?$ /ruins.php [L] RewriteRule ^ruins/?$ /ruins.php [L]
RewriteRule ^exp/(.*)/?$ /exp.php?$1 [L]
RewriteRule ^exp/?$ /exp.php [L]
RewriteRule ^news/(.*)/?$ /n/$1 [R=301,L] RewriteRule ^news/(.*)/?$ /n/$1 [R=301,L]
RewriteRule ^news/?$ /n [R=301,L] RewriteRule ^news/?$ /n [R=301,L]
@ -91,6 +84,3 @@ RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] RewriteRule . /index.php [L]
</IfModule> </IfModule>
Order Allow,Deny
Allow from all

32
AI.php
View File

@ -484,3 +484,35 @@ foreach ($p as $prow) {
} }
echo "<br>"; echo "<br>";
} }
$stats = Db::getRows('select id, stats from stats');
$sarr = [];
foreach ($stats as $stat) {
$data = Conversion::dataStringToArray($stat['stats']);
$arr = [
'uid' => $stat['id'],
's1' => $data['s1'] ?? 0,
's2' => $data['s2'] ?? 0,
's3' => $data['s3'] ?? 0,
's4' => $data['s4'] ?? 0,
's5' => $data['s5'] ?? 0,
's6' => $data['s6'] ?? 0,
's7' => $data['s7'] ?? 0,
'a1' => $data['a1'] ?? 0,
'a2' => $data['a2'] ?? 0,
'a3' => $data['a3'] ?? 0,
'a4' => $data['a4'] ?? 0,
'mg1' => $data['mg1'] ?? 0,
'mg2' => $data['mg2'] ?? 0,
'mg3' => $data['mg3'] ?? 0,
'mg4' => $data['mg4'] ?? 0,
];
unset($data['s1'], $data['s2'], $data['s3'], $data['s4'], $data['s5'], $data['s6'], $data['s7'],
$data['a1'], $data['a2'], $data['a3'], $data['a4'],
$data['mg1'], $data['mg2'], $data['mg3'], $data['mg4']);
$arr['tails'] = Conversion::arrayToDataString($data);
$arr['tails_json'] = json_encode($data);
$sarr[] = $arr;
}
var_dump($sarr);

6
Array
View File

@ -1,6 +0,0 @@
# Netscape HTTP Cookie File
# https://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
new-combats.com FALSE / FALSE 0 PHPSESSID vt7d2f0tttjoneil7bqsc7org0
new-combats.com FALSE /jx/battle/ FALSE 1517571089 btl 0

View File

@ -0,0 +1,39 @@
<?php
use Core\Db;
class Actions
{
public static function addDungeon(
int $dungeonid,
int $userid,
int $x,
int $y,
string $vars = '',
string $vals = '',
): void {
Db::sql(
'insert into dungeon_actions (dn, x, y, time, uid, vars, vals) values (?,?,?,unix_timestamp(),?,?,?)',
[
$dungeonid,
$x,
$y,
$userid,
$vars,
$vals,
]
);
}
public static function countDungeon(int $dungeonid, int $userid, string $vars = ''): int
{
return Db::getValue(
'select count(id) from dungeon_actions where dn = ? and uid = ? and vars = ?',
[
$dungeonid,
$userid,
$vars,
]
);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
<?php
namespace Battle;
class Fighter
{
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
<?php
namespace Battle;
class Helper
{
public static function getChanse(int $percent): bool
{
return mt_rand(0, 100) <= $percent;
}
}

View File

@ -0,0 +1,676 @@
<?php
namespace Battle;
use Battle;
use Core\Db;
class Log
{
/**
* @param array $data [text,battle,id_hod,vars,type]
* @return void
*/
public static function add(array $data): void
{
if (
empty($data['text']) ||
empty($data['battle']) ||
empty($data['id_hod']) ||
!isset($data['vars']) ||
!isset($data['type'])
) {
return;
}
if (empty($data['type'])) {
$data['type'] = 0;
}
Db::sql(
"insert into battle_logs (time, battle, id_hod, text, vars, type, zona1, zona2, zonb1, zonb2)
values (unix_timestamp(),?,?,?,?,?,'','','','')",
[
$data['battle'],
$data['id_hod'],
$data['text'],
$data['vars'],
$data['type'],
]
);
}
public static function addComment(Battle $battle): void
{
$comments = [
'А танцуешь ты лучше.',
'А мы что, в прятки тут играем?',
'А вы разве пингвинов никогда не видели?',
'А, ведь когда-то, вы были красивыми… А теперь? Ну и рожи! Жуть!',
'А потом еще труп пинать будут.',
'А я вчера ночью за соседями подглядывал. Они точно так же кувыркались',
'А ведь вы живых людей дубасите...',
'А вот я вчера в зоопарке был...',
'А вы в стройбате не служили?',
'А вы видели, чтобы так на улице делали!?',
'А вы знали что ёжики размножаются в интернете?',
'А жить-то, как хочется:',
'А из-за чего вы собственно дерётесь?',
'А чего ржёте, вы ещё остальных не видели',
'А что произойдёт если ты испугаешся до полусмерти дважды?!',
'Больше так не делай. Ты же не садист?',
'Без комментариев...',
'Больно ведь!',
'Быстро ты за монитор спрятался!',
'Все хотят попасть в рай, но никто не хочет умирать!',
'Вчера с такой девчонкой познакомился.',
'Всего 5 минут знакомы, а дерутся, словно супруги с 20-ти летним стажем...',
'Все. Я так больше не могу.',
'В конце концов, кто-то победит?',
'Вы чего, с дерева упали?',
'Возятся как сонные мухи... давайте я вам лучше анекдот расскажу: ...',
'Вот видишь, как полезно чистить зубы на ночь?',
'Вот вы все руками махаете, а за вами уже очередь',
'Вот попадёте вы в плен и вас там будут долго бить. Но вы ничего не расскажете... и не потому, что вы такой стойкий, просто вы ничего не знаете',
'Вы бы лучше пошли потренировались!',
'Вы все еще разминаетесь? Позовите, когда кости в муку друг другу разминать будете.',
'Вы же бойцы! Имейте совесть!',
'Гаси недоумка!',
'Да, если бы я смог это остановить, то получил бы нобелевскую премию `За мир` ',
'Да куда они бьют?!',
'Давайте быстрее! За вами уже очередь образовалась.',
'Давайте обойдемся сегодня таймаутом. А? А то мне уже кошмары скоро будут сниться.',
'Дерутся как девчонки!',
'Дети, посмотрите налево... Ой!.. Нет, туда лучше не смотреть.',
'Если так будет продолжаться, то скоро мы заснем!',
'Если бы у меня было кресло-качалка, я бы в нём качался...',
'Если вы что-то сказать хотите, то лучше молчите :)',
'Жестокость не порок.',
'Жизнь вне нашего клуба - это пустая трата кислорода!!!',
'Жми! Дави! Кусай! Царапай!',
'За такие бои надо в хаос отправлять!',
'Знаете откуда в комиссионном магазине столько вещей? Это я после ваших гулянок собираю и сдаю туда. Иногда вместе с частями тела, застрявшими в них.',
'Здесь люди так близки друг к другу. Просто иначе ударить нельзя.',
'И пролитая кровь еще пульсирует...',
'Инвалидов развелось...',
'Какой бой!!!',
'Кто!? Кто здесь?!',
'Кто вас этому научил?',
'Кузнечик, блин...',
'Куплю импортный проигрыватель грампластинок.',
'Лошадью ходи!',
'Лучше враг, чем друг - враг.',
'Ладно, вы тут пока друг друга за волосы таскайте, а я пойду, пообедаю.',
'Мне ваш балет уже надоел!',
'Может, начнется-таки настоящий бой???',
'Мысли лезут в голову изнутри, а удары снаружи.',
'Ну и где ваши коронные удары? Где живописные падения я спрашиваю!',
'Ну, нельзя же так наотмашь лупить!',
'Надо раньше было думать, теперь смертельно поздно...',
'На такое зрелище билеты продавать можно. Народ ухохочется!',
'Нет! Не надо драки! А... ладно деритесь, все равно не умеете.',
'Нет, ну должен быть повод, должен же быть повод?',
'Нет, я отказываюсь это комментировать!',
'Не таких обламывали!',
'Ну выпили вы рюмку, ну две... ну литр, ну два... так зачем же после этого драку затевать?!',
'Ну и кто за этот погром платить будет?',
'Ну и оскал у вас. Из вашей улыбки кастеты делать можно.',
'Ну, что же ты..? Не печалься. Выше голову, так по ней удобней попасть.',
'Ничего... Блок тоже удар.',
'Обернись!!!.... Поздно...',
'Ого! Научите меня так не делать.',
'Осторожно! Сделаешь дырочку, уже не запломбируешь!',
'Оно вам надо???',
'Обычное дело...там что-то отклеилось.',
'Ой, и заболтался я с вами...',
'Он же не промахнётся если ты не отойдёшь!',
'По-моему, кому-то светит инвалидность.',
'Подкинь ему грабли, на которые он еще не наступал.',
'Прав был кот Леопольд, давайте жить дружно?',
'При ударе в живот нарушается кислотно-щелочной баланс.',
'Проверь, не торчит ли у тебя нож из живота.',
'Перестаньте мне орать!',
'Подкинь ему грабли, на которые он еще не наступал.',
'Прыгают тут как блохи... Все, я пошел за дихлофосом!',
'Разбудите меня когда эта порнография закончится...',
'Ребенок сильнее ударил бы!',
'Славно вмазал!',
'Славно они веселятся',
'Смотрю вот на вас, и слезы наворачиваются.',
'Сначала учатся ходить, а потом только в драку лезут.',
'Так они друг другу что-нибудь сломают.',
'Так ты ему все кости переломаешь!',
'У меня в подъезде точно так же соседа отмудохали',
'Убогих развелось...',
'Ух ты, какой прыткий!',
'Фашист!! Надо ж, так по больному месту врезать...',
'Хватит бить его об угол моей кабинки! Мне же потом ее чинить.',
'Хулиганы, прекратите немедленно!',
'Хочешь, подскажу, куда он ударит?',
'Хорошо, что у меня ловкости больше чем у вас всех, а то б вы и меня в инвалидную коляску посадили бы.',
'Хороший бой!',
'Хороший удар!',
'Хиляк-разрядник!',
'Что ты его за волосы схватил?! Отпусти немедленно!',
'Щас я вас настигну, вот тогда мы и похохочем',
'Это была какая-то неизвестная мне техника...',
'Это же противник, а не глина! Хватит мяться!',
'Это не бой, это издевательское избиение.',
'Это поубавит спеси',
'Это и был твой план `Б` ?',
'Это была какая-то неизвестная мне техника...',
'Я же предупреждал, - будет больно.',
'Я не страдаю безумием. Я наслаждаюсь им каждую минуту :)',
'Я красивый, я сильный, я умный, я добрый. А вот вы? Вы себя-то видели?!',
'Я тоже умею драться, но не буду...',
'(тревожно озираясь) я вам по секрету скажу... за вами наблюдают!',
'<вырезано цензурой> после боя я этих <вырезано цензурой> обоих в <вырезано цензурой> и <вырезано цензурой>',
'<вырезано цензурой> каратисты фиговы',
];
$randomcomment = $comments[array_rand($comments)];
self::add(
[
'battle' => $battle->info['id'],
'id_hod' => $battle->hodID,
'text' => "{tm1} <i>Комментатор: $randomcomment</i>",
'vars' => 'time1=' . time(),
'type' => 1,
]
);
}
public static function getAttackTurnText(int $weaponType, int $attackZone): array
{
$w = [
0 => ['грудью', 'ребром руки', 'лбом', 'кулаком', 'ногой', 'левой ногой', 'правой ногой', 'коленом',],
1 => ['ножом', 'тыльной стороной лезвия ножа', 'рукоятью ножа', 'лезвием ножа'],
2 => ['сучковатой палкой', 'поленом', 'тяжелой дубиной', 'дубиной', 'рукоятью молота'],
3 => ['секирой', 'топором', 'лезвием секиры', 'алебардой', 'тяжелым держаком', 'длинной секирой'],
4 => ['ножнами', 'гардой', 'мечом', 'лезвием меча', 'рукоятью меча', 'тупым лезвием', 'острой стороной меча', 'огромным мечом',],
5 => ['сучковатой палкой', 'посохом', 'тяжелой тростью', 'корявым посохом', 'основанием посоха'],
22 => ['костылем'],
100 => ['непонятной хреновиной'],
];
$z = [
1 => ['в нос', 'в глаз', 'в челюсть', 'по переносице', 'в кадык', 'по затылку', 'в правый глаз', 'в левый глаз', 'в скулу',],
2 => ['в грудь', 'в корпус', 'в солнечное сплетение', 'в сердце', 'в область лопаток'],
3 => ['в бок', 'по желудку', 'по левой руке', 'по правой руке'],
4 => ['по <вырезано цензурой>', 'в пах', 'в промежность', 'по левой ягодице', 'по правой ягодице'],
5 => ['по ногам', 'в область правой пятки', 'в область левой пятки', 'по коленной чашечке', 'по икрам'],
100 => ['по непонятному месту'],
];
if (!in_array($weaponType, [0, 1, 2, 3, 4, 5, 22])) {
$weaponType = 100;
}
if (!in_array($attackZone, [1, 2, 3, 4, 5])) {
$attackZone = 100;
}
return [
$w[$weaponType][array_rand($w[$weaponType])],
$z[$attackZone][array_rand($z[$attackZone])],
];
}
public static function addLogLine(int $type, int $gender, bool $count = false): string|int
{
$logtext = [
[ // муж.
[],
[
'вспомнил что-то важное',
'высморкался',
'задумался',
'замешкался',
'засмотрелся на <вырезано цензурой>',
'кашлянул',
'ковырялся в зубах',
'обернулся',
'осмотрелся',
'почесался',
'пошатнулся',
'пришел в себя',
'пытался сконцентрироваться',
'пытался увернуться',
'пытался что-то сказать',
'расплылся в улыбке',
'расстроился',
'растерялся',
'удивился',
'чесал <вырезано цензурой>',
'пытался отойти покурить',
'чесал яйца',
],
[
', и за это ',
', а ',
', но в это время ',
', и тут ',
', но вдруг неожиданно ',
', и вдруг ',
', но ',
', и внезапно ',
', но неожиданно ',
', и в этот момент ',
', и в ту же секунду ',
', и в этот миг ',
],
[
'обезумевший',
'расстроенный',
'неустрашимый',
'продвинутый',
'расстроенный',
'страшный',
'задумчивый',
'небритый',
'бесстрастный',
'разъяренный',
'смелый',
'безумный',
'восхитительный',
'жестокий',
'злобный',
'мужественный',
'непобедимый',
'наглый',
'хитрый',
'храбрый',
'отважный',
'железный',
'могучий',
'сильнейший',
'крепкий',
'великий',
'бесстрашный',
],
[
'случайно ',
'отчаянно ',
'проснувшись ',
'мимоходом ',
'разбежавшись ',
'сдуру ',
'со скуки ',
'не помня себя от испуга ',
'улыбаясь ',
'прослезившись ',
'пошатнувшись ',
'проснувшись ',
'беспричинно ',
'опрометчиво ',
'разбежавшись ',
'зевнув ',
'сделав двойное сальто ',
'не подумав ',
'хихикая ',
'ласково ',
'с испугу ',
],
[
'влепил ',
'вломил ',
'саданул ',
],
[
'грубый',
'наглый',
'красивый',
],
[
'неизвестный удар',
'колющий удар',
'рубящий удар',
'дробящий удар',
'режущий удар',
'обжигающий удар',
'удар электричеством',
'обмораживающий удар',
'удар магией земли',
'удар светлой магией',
'удар тёмной магией',
'удар серой магией',
'обычный удар',
'удар',
],
[
'не контролировал ситуацию',
'обманулся',
'старался провести удар',
'думал о <вырезано цензурой>',
'испугался',
'потерял самоконтроль',
'потерял момент',
'был слишком самоуверен',
'пытался провести удар',
'поскользнулся',
'не думал о бое',
'не рассчитал свои силы',
'промахнулся',
'оступился',
'думал не о том',
],
[
', и потому ',
' и ',
', но ',
', вследствие чего ',
', потому ',
],
[
'остановил',
'поставил блок на',
'блокировал',
'отбил',
],
[
'ушел вправо от удара',
'ушел влево от удара',
'увел удар',
'уклонился от удара',
'увернулся от удара',
],
[
'приняв боевые 100 грамм',
'сказав &quot;БУ!&quot;',
'показав противнику кукиш',
'в отчаянном рывке',
'показав сразу два пальца',
],
[
'о<вырезано цензурой>ный',
'точнейший',
],
[
'погиб!',
'повержен!',
'мертв!',
'убит!',
'проиграл бой!',
],
[
'пропустил свой ход',
'потратил свой ход на магию',
'потратил свой ход на прием',
],
[
'использовал',
],
[
'{u1}, вспомнив слова своего сэнсея, из последних сил применил прием &quot;{pr}&quot;.',
'Кроличья лапка, подкова в перчатке и прием &quot;{pr}&quot; помогли {u1} продержаться ещё немного.',
'{u1}, пораскинув мозгами по земле, сообразил, что его выручат или прием &quot;{pr}&quot; или вмешательство Мусорщика.',
'{u1} выкрикнув: &quot;А ещё я вот так могу!&quot;, применил прием &quot;{pr}&quot;.',
'{u1} понял, пропустив очередной удар в голову, что поможет ему только прием &quot;{pr}&quot;.',
'{u1} сам не поняв зачем, применил прием &quot;{pr}&quot;.',
'{u1} нетрезво оценив положение, решил, что его спасение это прием &quot;{pr}&quot;.',
],
[
'{u1}, вспомнив слова своего сэнсея, из последних сил применил прием &quot;{pr}&quot; на {u2}.',
],
[
'{u1}, победив страх, решил поразить {u2} заклятьем &quot;{pr}&quot;',
'{u1} наконец сфокусировал свое внимание на поединке и наколдовал &quot;{pr}&quot; на {u2}',
'{u1} нарисовав вокруг себя несколько рун, призвал заклятье &quot;{pr}&quot; на {u2}',
'{u1} догадавшись, что пришло время показать себя, произнес заклятье &quot;{pr}&quot; на {u2}',
'{u1} с испугу произнес, первое пришедшее на ум, заклятье &quot;{pr}&quot; на {u2}',
'{u1} впал в транс и начал бормотать заклятие &quot;{pr}&quot; на {u2}',
'{u1} очнулся от медитации, и призвал заклятье &quot;{pr}&quot; на {u2}',
],
[
'{u1} пытался наколдовать ужасающее заклятие &quot;{pr}&quot; на {u2}, но ничего не вышло',
'{u1} не смог сфокусировать и наколдовать &quot;{pr}&quot; на {u2}, но ничего не вышло',
'{u1} с испугу произнес ошибочное заклятие &quot;{pr}&quot; на {u2} и ничего не вышло',
'{u1}, потеряв концентрацию, не смог наколдовать &quot;{pr}&quot; на {u2} и ничего не вышло',
'{u1} <вырезано цензурой> от перенапряжения, вследствие чего не смог наколдовать &quot;{pr}&quot; на {u2}',
'{u1} пытался превратить {u2} в табуретку при помощи заклинания &quot;{pr}&quot;... но ничего не вышло',
],
[
'{u1}, победив страх, решил поразить всех и наколдовал &quot;{pr}&quot;',
'{u1} наконец сфокусировал свое внимание на поединке и наколдовал &quot;{pr}&quot;',
'{u1} нарисовав вокруг себя несколько рун, призвал заклятье &quot;{pr}&quot;',
'{u1} догадавшись, что пришло время показать себя, произнес заклятье &quot;{pr}&quot;',
'{u1} с испугу произнес, первое пришедшее на ум, заклятье &quot;{pr}&quot;',
'{u1} впал в транс и начал бормотать заклятие &quot;{pr}&quot;',
'{u1} очнулся от медитации, и призвал заклятье &quot;{pr}&quot;',
],
],
[ // жен.
[],
[
'вспомнила что-то важное',
'высморкалась',
'задумалась',
'замешкалась',
'засмотрелась на <вырезано цензурой>',
'кашлянула',
'ковырялась в зубах',
'обернулась',
'осмотрелась',
'почесалась',
'пошатнулась',
'пришла в себя',
'пыталась сконцентрироваться',
'пыталась увернуться',
'пыталась что-то сказать',
'расплылалась в улыбке',
'расстроилась',
'растерялась',
'удивилась',
'чесала <вырезано цензурой>',
'пыталась отойти покурить',
'поправляла прическу',
],
[
', и за это ',
', а ',
', но в это время ',
', и тут ',
', но вдруг неожиданно ',
', и вдруг ',
', но ',
', и внезапно ',
', но неожиданно ',
', и в этот момент ',
', и в ту же секунду ',
', и в этот миг ',
],
[
'обезумевшая',
'расстроенная',
'неустрашимая',
'продвинутая',
'расстроенная',
'страшная',
'задумчивая',
'взъерошенная',
'бесстрастная',
'разъяренная',
'смелая',
'безумная',
'восхитительная',
'жестокая',
'злобная',
'мужественная',
'непобедимая',
'наглая',
'хитрая',
'храбрая',
'отважная',
'железная',
'могучая',
'сильнейшая',
'крепкая',
'великая',
'бесстрашная',
],
[
'случайно ',
'отчаянно ',
'проснувшись ',
'мимоходом ',
'разбежавшись ',
'сдуру ',
'со скуки ',
'не помня себя от испуга ',
'улыбаясь ',
'прослезившись ',
'пошатнувшись ',
'проснувшись ',
'беспричинно ',
'опрометчиво ',
'разбежавшись ',
'зевнув ',
'сделав двойное сальто ',
'не подумав ',
'хихикая ',
'ласково ',
'с испугу ',
],
[
'влепила ',
'вломила ',
'саданула ',
],
[
'грубый',
'наглый',
'красивый',
],
[
'тычок',
'тычок',
'рубящий удар',
'разбивающий удар',
'рассекающий удар',
'обжигающий удар',
'удар электричеством',
'обмораживающий удар',
'удар магией земли',
'удар светлой магией',
'удар тёмной магией',
'удар серой магией',
'неизсветный удар',
'удар',
],
[
'не контролировала ситуацию',
'обманулась',
'старалась провести удар',
'думала о <вырезано цензурой>',
'испугалась',
'потеряла самоконтроль',
'потеряла момент',
'была слишком самоуверенна',
'пыталась провести удар',
'поскользнулась',
'не думала о бое',
'не рассчитала свои силы',
'промахнулась',
'оступилась',
'думала не о том',
],
[
', и потому ',
' и ',
', но ',
', вследствие чего ',
', потому ',
],
[
'остановила',
'поставила блок на',
'блокировала',
'отбила',
],
[
'ушла вправо от удара',
'ушла влево от удара',
'увела удар',
'уклонилась от удара',
'увернулась от удара',
],
[
'приняв боевые 100 грамм',
'сказав &quot;БУ!&quot;',
'показав противнику кукиш',
'в отчаянном рывке',
'показав сразу два пальца',
],
[
'о<вырезано цензурой>ный',
'точнейший',
],
[
'погибла!',
'повержена!',
'мертва!',
'убита!',
'проиграла бой!',
],
[
'пропустила свой ход',
'потратила свой ход на магию',
'потратила свой ход на прием',
],
[
'использовала',
],
[
'{u1}, вспомнив слова своего сэнсея, из последних сил применила прием &quot;{pr}&quot;.',
'Кроличья лапка, подкова в перчатке и прием &quot;{pr}&quot; помогли {u1} продержаться ещё немного.',
'{u1}, пораскинув мозгами по земле, сообразила, что её выручат или прием &quot;{pr}&quot; или вмешательство Мусорщика.',
'{u1} выкрикнув: &quot;А ещё я вот так могу!&quot;, применила прием &quot;{pr}&quot;.',
'{u1} поняла, пропустив очередной удар в голову, что поможет ей только прием &quot;{pr}&quot;.',
'{u1} сама не поняв зачем, применила прием &quot;{pr}&quot;.',
'{u1} нетрезво оценив положение, решила, что её спасение это прием &quot;{pr}&quot;.',
],
[
'{u1}, вспомнив слова своего сэнсея, из последних сил применила прием &quot;{pr}&quot; на {u2}.',
],
[
'{u1}, победив страх, решила поразить {u2} заклятьем &quot;{pr}&quot;',
'{u1} наконец сфокусировала свое внимание на поединке и наколдовала &quot;{pr}&quot; на {u2}',
'{u1} нарисовав вокруг себя несколько рун, призвала заклятье &quot;{pr}&quot; на {u2}',
'{u1} догадавшись, что пришло время показать себя, произнесла заклятье &quot;{pr}&quot; на {u2}',
'{u1} с испугу произнесла, первое пришедшее на ум, заклятье &quot;{pr}&quot; на {u2}',
'{u1} впала в транс и начала бормотать заклятие &quot;{pr}&quot; на {u2}',
'{u1} очнулась от медитации, и призвала заклятье &quot;{pr}&quot; на {u2}',
],
[
'{u1} пыталась наколдовать ужасающее заклятие &quot;{pr}&quot; на {u2}, но ничего не вышло',
'{u1} не смогла сфокусировать и наколдовать &quot;{pr}&quot; на {u2}, но ничего не вышло',
'{u1} с испугу произнесла ошибочное заклятие &quot;{pr}&quot; на {u2} и ничего не вышло',
'{u1}, потеряв концентрацию, не смогла наколдовать &quot;{pr}&quot; на {u2} и ничего не вышло',
'{u1} <вырезано цензурой> от перенапряжения, вследствие чего не смогла наколдовать &quot;{pr}&quot; на {u2}',
'{u1} пыталась превратить {u2} в табуретку при помощи заклинания &quot;{pr}&quot;... но ничего не вышло',
],
[
'{u1}, победив страх, решила поразить всех и наколдовала &quot;{pr}&quot;',
'{u1} наконец сфокусировала свое внимание на поединке и наколдовала &quot;{pr}&quot;',
'{u1} нарисовав вокруг себя несколько рун, призвала заклятье &quot;{pr}&quot;',
'{u1} догадавшись, что пришло время показать себя, произнесла заклятье &quot;{pr}&quot;',
'{u1} с испугу произнесла, первое пришедшее на ум, заклятье &quot;{pr}&quot;',
'{u1} впала в транс и начала бормотать заклятие &quot;{pr}&quot;',
'{u1} очнулась от медитации, и призвала заклятье &quot;{pr}&quot;',
],
],
];
if ($count) {
return count($logtext[$gender][$type]);
}
if (!in_array($gender, [0, 1]) || !in_array($type, range(1, 21))) {
return 'произошло нечто непонятное';
}
return $logtext[$gender][$type][array_rand($logtext[$gender][$type])];
}
}

View File

@ -0,0 +1,114 @@
<?php
namespace Battle\Priem;
abstract class AbstractPriem implements PriemInterface
{
protected int $caster;
protected string $name;
protected string $icon;
protected int $power;
/**
* На кого применяем приём. Например:
* self, static_friend, static_enemy, random_friend, random_enemy, random_friend_group, random_enemy_group,
* all_friend, all_enemy, all,...
* @var int
*/
protected int $targetType;
/**
* Массив id союзников
* @var array
*/
protected array $friendTeam;
/** Массив id противников
* @var array
*/
protected array $enemyTeam;
public function __construct(
int $caster,
array $friendTeam,
array $enemyTeam,
int $targetType,
string $name,
string $icon = '',
) {
$this->caster = $caster;
$this->friendTeam = $friendTeam;
$this->enemyTeam = $enemyTeam;
$this->targetType = $targetType;
$this->icon = $icon;
$this->name = $name;
}
protected function getTarget(): array
{
$targets = [];
$allExceptCaster = array_merge($this->friendTeam, $this->enemyTeam);
switch ($this->targetType) {
case self::TAGRET_SELF:
$targets[] = $this->caster;
break;
case self::TARGET_RANDOM_ENEMY:
shuffle($this->enemyTeam);
$targets[] = end($this->enemyTeam);
break;
case self::TARGET_RANDOM_FRIEND:
shuffle($this->friendTeam);
$targets[] = end($this->friendTeam);
break;
case self::TARGET_RANDOM:
shuffle($allExceptCaster);
$targets[] = end($allExceptCaster);
break;
case self::TARGET_RANDOM_ENEMIES:
for ($i = 1; $i <= count($this->enemyTeam); $i++) {
if ($i > 1 && mt_rand(1,2) === 1) {
continue;
}
shuffle($this->enemyTeam);
$targets[] = array_shift($this->enemyTeam);
}
break;
case self::TARGET_RANDOM_FRIENDS:
for ($i = 1; $i <= count($this->friendTeam); $i++) {
if ($i > 1 && mt_rand(1,2) === 1) {
continue;
}
shuffle($this->friendTeam);
$targets[] = array_shift($this->friendTeam);
}
break;
case self::TARGET_RANDOMS:
for ($i = 1; $i <= count($allExceptCaster); $i++) {
if ($i > 1 && mt_rand(1,2) === 1) {
continue;
}
shuffle($allExceptCaster);
$targets[] = array_shift($allExceptCaster);
}
break;
case self::TARGET_ALL_ENEMIES:
$targets = $this->enemyTeam;
break;
case self::TARGET_ALL_FRIENDS:
$targets = $this->friendTeam;
break;
case self::TARGET_ALL:
$targets = $allExceptCaster;
$targets[] = $this->caster;
break;
}
return $targets;
}
/**
* Возвращает иконку приёма. В текущей реализации у каждого приёма должна быть иконка.
* @return string
*/
abstract public function getIcon(): string;
}

View File

@ -0,0 +1,78 @@
<?php
namespace Battle\Priem;
class Priem extends AbstractPriem
{
/*
id, name, image,
damage_type_value: static, +value,
damage_time: now, next_turn, x_turns,
target: self, static_friend, static_enemy, random_friend, random_enemy, random_friend_group, random_enemy_group, all_friend, all_enemy, all,
damage_type: physical (колка, рубка, резка, дробка), magical (water, air, earth, fire,)
physical: {
type: [static, +value,]
time: [now, next_turn, x_turns,]
target: [static_enemy,]
}
*/
protected int $power;
private array $targets;
/**
* @param int $caster
* @param array $friendTeam
* @param array $enemyTeam
* @param int $targetType
* @param int $power
* @param int $powerType static, +value,
* @param string $name
* @param int $activeTurns количество ходов которое будет применяться приём. 0 - выполнить в текущий ход.
* @param string $icon
*/
public function __construct(
int $caster,
array $friendTeam,
array $enemyTeam,
int $targetType,
int $power,
int $powerType,
string $name,
int $activeTurns = 1,
string $icon = '',
) {
parent::__construct($caster, $friendTeam, $enemyTeam, $targetType, $name, $icon);
$this->power = $power;
$this->targets = $this->getTarget();
}
public function getIcon(): string
{
return $this->icon;
}
public function getTargetType(): int
{
return $this->targetType;
}
public function getTarget(): array
{
return $this->targets;
}
public function getPower(): int
{
return $this->power;
}
}
//$pr = new Priem(45,[1,2,3],[4,5,6],5,44,'Kaboom!', 'kaboom.gif');
//$pr->

View File

@ -0,0 +1,36 @@
<?php
namespace Battle\Priem;
interface PriemInterface
{
public const DAMAGE = 1;
public const HEAL = 2;
public const TAGRET_SELF = 1; //Приём на себя
public const TARGET_CUSTOM = 2; //Приём на конкретного персонажа
public const TARGET_RANDOM_ENEMY = 3; //Приём на случайного врага
public const TARGET_RANDOM_FRIEND = 4; //Приём на случайного друга
public const TARGET_RANDOM = 5; //Приём на случайного персонажа
public const TARGET_RANDOM_ENEMIES = 6; //Приём на случайных врагов
public const TARGET_RANDOM_FRIENDS = 7; //Приём на случайных друзей
public const TARGET_RANDOMS = 8; //Приём на случайных персонажей
public const TARGET_ALL_ENEMIES = 9; //Приём на всех врагов
public const TARGET_ALL_FRIENDS = 10; //Приём на всех друзей
public const TARGET_ALL = 11; //Приём на всех персонажей
/**
* Возвращает тип цели к которым применяется приём.
* @return int
*/
public function getTargetType(): int;
/**
* Возвращает силу действия приёма. Параметр на который изменится та или иная характеристика. Урон для боевых,
* количество восстановленого здоровья для лечения, количество процентов для процентных значений.
* @return int
*/
public function getPower(): int;
}

View File

@ -0,0 +1,13 @@
<?php
namespace Battle\Priem;
class UsePriem
{
public function __construct(Priem $priem) {
$damage = $priem->getPower();
$targets = $priem->getTarget();
}
}

View File

@ -0,0 +1,580 @@
<?php
namespace Battle;
use Battle;
use Helper\Comparsion;
use Helper\Conversion;
class Razmen
{
private array $attackerStats;
private array $targetStats;
private int $uid1;
private int $uid2;
/**
* @param Battle $battle
* @param int $id
* @param array $at
*/
public function __construct(private readonly Battle $battle, private readonly int $id, private array $at)
{
$uid1 = $this->battle->atacks[$this->id]['uid1'];
$uid2 = $this->battle->atacks[$this->id]['uid2'];
$stats1 = $this->battle->stats[$this->battle->uids[$uid1]];
$stats2 = $this->battle->stats[$this->battle->uids[$uid2]];
if ($stats1['yhod'] > 0) {
$uid1 = $this->battle->yhod_user($uid2, $uid1, $stats1['yhod']);
} elseif ($stats2['yhod'] > 0) {
$uid2 = $this->battle->yhod_user($uid1, $uid2, $stats2['yhod']);
}
$this->uid1 = $uid1;
$this->uid2 = $uid2;
$this->attackerStats = $this->battle->stats[$this->battle->uids[$uid1]];
$this->targetStats = $this->battle->stats[$this->battle->uids[$uid2]];
# Переменные - Моё почтение!
# $this->stats[$this->uids[$this->yhod_user($this->atacks[$this->id]['uid2'], $this->atacks[$this->id]['uid1'], $this->stats[$this->uids[$this->atacks[$this->id]['uid1']]]['yhod'])]];
# $this->battle->stats[$this->battle->uids[$this->battle->yhod_user($this->battle->atacks[$this->id]['uid2'], $this->battle->atacks[$this->id]['uid1'], $this->battle->stats[$this->battle->uids[$this->battle->atacks[$this->id]['uid1']]]['yhod'])]];
}
private function updateBattleStats(): void
{
$this->battle->stats[$this->battle->uids[$this->uid1]] = $this->attackerStats;
$this->battle->stats[$this->battle->uids[$this->uid2]] = $this->targetStats;
}
/**
* Расчет парирования Цели (uid2) от Атакующего (uid1)
* @param int $counterstrikecheck
* @param bool $pat
* @param int $loopstart
* @return void
*/
public function parry(int $counterstrikecheck = 0, bool $pat = false, int $loopstart = 0): void
{
if ($pat) {
$tempAt = $this->at;
$this->at = $tempAt['p'];
}
if ($loopstart > 0) {
$loopstart--;
}
if (is_array($this->at[1]['atack'])) {
for ($j = $loopstart; $j < count($this->at[1]['atack']) && $j < 8; $j++) {
if (
!empty($this->targetStats['no_pr1']) ||
$this->at[1]['atack'][$j][2] != $counterstrikecheck ||
$this->mfs(__FUNCTION__, [1 => $this->targetStats['m7'], 2 => $this->attackerStats['m7'],]) != 1 ||
$this->battle->atacks[$this->id]['out2'] != 0
) {
continue;
}
if (!empty($this->attackerStats['nopryh']) || $this->attackerStats['nopryh_act'] > 0) {
continue;
}
// Парировал
$this->attackerStats['nopryh'] = (int)floor($this->attackerStats['nopryh']);
$this->at[1]['atack'][$j][1] = 6;
$this->attackerStats['nopryh']--;
$this->attackerStats['nopryh_act']++;
}
}
if (is_array($this->at[2]['atack'])) {
for ($j = $loopstart; $j < count($this->at[2]['atack']) && $j < 8; $j++) {
if (
!empty($this->attackerStats['no_pr1']) ||
$this->at[2]['atack'][$j][2] != $counterstrikecheck ||
$this->mfs(__FUNCTION__, [1 => $this->attackerStats['m7'], 2 => $this->targetStats['m7'],]) != 1 ||
$this->battle->atacks[$this->id]['out1'] != 0
) {
continue;
}
if (!empty($this->targetStats['nopryh']) || $this->targetStats['nopryh_act'] > 0) {
continue;
}
// Парировал
$this->targetStats['nopryh'] = (int)floor($this->targetStats['nopryh']);
$this->at[2]['atack'][$j][1] = 6;
$this->targetStats['nopryh']--;
$this->targetStats['nopryh_act']++;
}
}
if (isset($tempAt)) {
$tempAt['p'] = $this->at;
$this->at = $tempAt;
}
$this->updateBattleStats();
}
/**
* Расчет блока щитом Цели (uid2) от Атакующего (uid1)
* @param int $counterstrikecheck
* @param bool $pat
* @return void
*/
public function blockByShield(int $counterstrikecheck = 0, bool $pat = false): void
{
if ($pat) {
$tempAt = $this->at;
$this->at = $tempAt['p'];
}
//m8 блок щитом, m18 абсолютный блок щитом
if ($this->targetStats['shield1'] > 0) {
for ($j = 0; $j < count($this->at[1]['atack']) && $j < 8; $j++) {
if (
$this->at[1]['atack'][$j][2] != $counterstrikecheck ||
$this->battle->atacks[$this->id]['out2'] != 0 ||
$this->mfs(__FUNCTION__, $this->targetStats['m8'] / 2 + $this->targetStats['m18']) != 1
) {
continue;
}
$this->at[1]['atack'][$j][1] = 7;
}
}
if ($this->attackerStats['shield1'] > 0) {
for ($j = 0; $j < count($this->at[2]['atack']) && $j < 8; $j++) {
if (
$this->at[2]['atack'][$j][2] != $counterstrikecheck ||
$this->battle->atacks[$this->id]['out1'] != 0 ||
$this->mfs(__FUNCTION__, $this->attackerStats['m8'] / 2 + $this->attackerStats['m18']) != 1
) {
continue;
}
$this->at[2]['atack'][$j][1] = 7;
}
}
if (isset($tempAt)) {
$tempAt['p'] = $this->at;
$this->at = $tempAt;
}
$this->updateBattleStats();
}
/**
* Расчет крита Атакующего (uid1) по Цели (uid2)
* @param bool $pat
* @param int $loopstart
* @return void
*/
public function criticalDamage(bool $pat = false, int $loopstart = 0): void
{
if ($pat) {
$tempAt = $this->at;
$this->at = $tempAt['p'];
}
if ($loopstart > 0) {
$loopstart--;
}
$checkhand = false;
if (is_array($this->at[1]['atack'])) {
for ($j = $loopstart; $j < count($this->at[1]['atack']) && $j < 8; $j++) {
[$data, $checkhand] = $this->getDataArrayByHand($checkhand, $this->attackerStats);
if ($this->mfs(__FUNCTION__, ['mf' => $this->attackerStats['m1'] + $data['sv_m1'], 'amf' => $this->attackerStats['m14'], 'smf' => $this->targetStats['m2']]) != 1) {
continue;
}
$this->at[1]['atack'][$j][1] = match (true) {
$this->at[1]['atack'][$j][1] == 3 => 4, //в блок
!in_array($this->at[1]['atack'][$j][1], [2, 6, 7, 8]) => 5, //обычный крит
default => 1 // а ты что такое?
};
}
}
if (is_array($this->at[2]['atack'])) {
for ($j = $loopstart; $j < count($this->at[2]['atack']) && $j < 8; $j++) {
[$data, $checkhand] = $this->getDataArrayByHand($checkhand, $this->targetStats);
if ($this->mfs(__FUNCTION__, ['mf' => $this->targetStats['m1'] + $data['sv_m1'], 'amf' => $this->targetStats['m14'], 'smf' => $this->attackerStats['m2']]) != 1) {
continue;
}
$this->at[2]['atack'][$j][1] = match (true) {
$this->at[2]['atack'][$j][1] == 3 => 4, //в блок
!in_array($this->at[2]['atack'][$j][1], [2, 6, 7, 8]) => 5, //обычный крит
default => 1 // а ты что такое?
};
}
}
if (isset($tempAt)) {
$tempAt['p'] = $this->at;
$this->at = $tempAt;
}
$this->updateBattleStats();
}
/**
* Расчет уворота Цели (uid2) от Атакующего (uid1)
* @param int $counterstrikecheck
* @param bool $pat
* @param int $loopstart
* @return void
*/
public function evasion(int $counterstrikecheck = 0, bool $pat = false, int $loopstart = 0): void
{
if ($pat) {
$tempAt = $this->at;
$this->at = $tempAt['p'];
}
if ($loopstart > 0) {
$loopstart--;
}
$checkhand = false;
if (is_array($this->at[1]['atack'])) {
for ($j = $loopstart; $j < count($this->at[1]['atack']) && $j < 8; $j++) {
[$data, $checkhand] = $this->getDataArrayByHand($checkhand, $this->attackerStats);
if (
$this->at[1]['atack'][$j][2] != $counterstrikecheck ||
$this->battle->atacks[$this->id]['out2'] != 0 ||
$this->mfs(
__FUNCTION__,
[
'mf' => $this->targetStats['m4'],
'amf' => $this->targetStats['m15'],
'smf' => $this->attackerStats['m5'] + $data['sv_m5'],
'asmf' => $this->attackerStats['m21'],
]
) != 1
) {
continue;
}
$this->attackerStats['nopryh'] = (int)floor($this->attackerStats['nopryh']);
if (!isset($this->attackerStats['nopryh']) || $this->attackerStats['nopryh'] < 1) {
$this->at[1]['atack'][$j][1] = 2;
} else {
$this->attackerStats['nopryh']--;
$this->attackerStats['nopryh_act']++;
}
}
}
if (is_array($this->at[2]['atack'])) {
for ($j = $loopstart; $j < count($this->at[2]['atack']) && $j < 8; $j++) {
[$data, $checkhand] = $this->getDataArrayByHand($checkhand, $this->targetStats);
if (
$this->at[2]['atack'][$j][2] != $counterstrikecheck ||
$this->battle->atacks[$this->id]['out1'] != 0 ||
$this->mfs(
__FUNCTION__,
[
'mf' => $this->attackerStats['m4'],
'amf' => $this->attackerStats['m15'],
'smf' => $this->targetStats['m5'] + $data['sv_m5'],
'asmf' => $this->targetStats['m21'],
]
) != 1
) {
continue;
}
$this->targetStats['nopryh'] = (int)floor($this->targetStats['nopryh']);
if (!isset($this->targetStats['nopryh']) || $this->targetStats['nopryh'] < 1) {
$this->at[2]['atack'][$j][1] = 2;
} else {
$this->targetStats['nopryh']--;
$this->targetStats['nopryh_act']++;
}
}
}
if (isset($tempAt)) {
$tempAt['p'] = $this->at;
$this->at = $tempAt;
}
$this->updateBattleStats();
}
/**
* Расчет контрудара Цели (uid2) по Атакующему (uid1)
* @param int $counterstrikecheck
* @return void
*/
public function counterstrike(int $counterstrikecheck = 0): void //terrorists win!
{
if (is_array($this->at[1]['atack'])) {
for ($j = 0; $j < count($this->at[1]['atack']) && $j < 8; $j++) {
if (
$this->at[1]['atack'][$j][1] != 2 ||
$this->at[1]['atack'][$j][2] != $counterstrikecheck ||
$this->mfs(__FUNCTION__, ['a' => $this->targetStats['m6'], 'b' => $this->attackerStats['m6']]) != 1
) {
continue;
}
$this->at[1]['atack'][$j][1] = 8;
$rand = mt_rand(1, 5);
if ($this->battle->testRazmenblock1($this->id, $this->uid2, $this->uid1)) {
$this->at[2]['atack'][] = [$rand, 3, 0, 1];
} else {
$this->at[2]['atack'][] = [$rand, 1, 0, 1]; // 3 , 0 , 1
}
$this->counterstrikehit(count($this->at[2]['atack']));
}
}
if (is_array($this->at[2]['atack'])) {
for ($j = 0; $j < count($this->at[2]['atack']) && $j < 8; $j++) {
if (
$this->at[2]['atack'][$j][1] != 2 ||
$this->at[2]['atack'][$j][2] != $counterstrikecheck ||
$this->mfs(__FUNCTION__, ['a' => $this->attackerStats['m6'], 'b' => $this->targetStats['m6']]) != 1
) {
continue;
}
$this->at[2]['atack'][$j][1] = 8;
$rand = mt_rand(1, 5);
if ($this->battle->testRazmenblock1($this->id, $this->uid1, $this->uid2)) {
$this->at[1]['atack'][] = [$rand, 3, 0, 1];
} else {
$this->at[1]['atack'][] = [$rand, 1, 0, 1]; // 3 , 0 , 1
}
$this->counterstrikehit(count($this->at[1]['atack']));
}
}
$this->updateBattleStats();
}
/**
* Рассчёт урона.
* @param bool $pat
* @param int $loopstart
* @return void
*/
public function damage(bool $pat = false, int $loopstart = 0): void
{
$yhod = [1 => 0, 0];
if ($this->battle->stats[$this->battle->uids[$this->uid1]]['yhod'] > 0) {
$yhod = [1 => 1, 0];
} elseif ($this->battle->stats[$this->battle->uids[$this->uid2]]['yhod'] > 0) {
$yhod = [1 => 0, 1];
}
if ($pat) {
$tempAt = $this->at;
$this->at = $tempAt['p'];
}
if ($loopstart > 0) {
$loopstart--;
}
$checkhand = false;
if (is_array($this->at[1]['atack'])) {
for ($j = $loopstart; $j < count($this->at[1]['atack']) && $j < 8; $j++) {
[$data, $checkhand, $wp, $witm] = $this->getDataArrayByHand($checkhand, $this->attackerStats);
$this->at[1]['atack'][$j]['wt'] = $witm['type'];
$this->at[1]['atack'][$j]['yhod'] = $yhod[1];
if (
!isset($this->at[1]['atack'][$j]['yron']) &&
in_array($this->at[1]['atack'][$j][1], [1, 4, 5])
) {
$type = 'yron';
} else {
$type = 'block';
}
$this->at[1]['atack'][$j][$type] = $this->battle->yronGetrazmen($this->uid2, $this->uid1, $witm);
if ($this->at[1]['atack'][$j][1] == 4) {
$this->at[1]['atack'][$j][$type]['y_old'] = $this->at[1]['atack'][$j][$type]['y'];
$this->at[1]['atack'][$j][$type]['y'] = (int)round($this->at[1]['atack'][$j][$type]['k'] / 2);
} elseif ($this->at[1]['atack'][$j][1] == 5) {
$this->at[1]['atack'][$j][$type]['y_old'] = $this->at[1]['atack'][$j][$type]['y'];
$this->at[1]['atack'][$j][$type]['y'] = $this->at[1]['atack'][$j][$type]['k'];
}
$this->at[1]['atack'][$j][$type]['2h'] = $data['2h'];
$this->at[1]['atack'][$j][$type]['w'] = $wp;
if ($this->at[1]['atack'][$j][$type]['y'] > 0) {
$this->at[1]['atack'][$j][$type]['r'] = '-' . $this->at[1]['atack'][$j][$type]['y'];
} else {
$this->at[1]['atack'][$j][$type]['r'] = '--';
}
}
}
if (is_array($this->at[2]['atack'])) {
for ($j = $loopstart; $j < count($this->at[2]['atack']) && $j < 8; $j++) {
[$data, $checkhand, $wp, $witm] = $this->getDataArrayByHand($checkhand, $this->targetStats);
$this->at[2]['atack'][$j]['wt'] = $witm['type'];
$this->at[2]['atack'][$j]['yhod'] = $yhod[1];
if (
!isset($this->at[2]['atack'][$j]['yron']) &&
in_array($this->at[2]['atack'][$j][1], [1, 4, 5])
) {
$type = 'yron';
} else {
$type = 'block';
}
$this->at[2]['atack'][$j][$type] = $this->battle->yronGetrazmen($this->uid1, $this->uid2, $witm);
if ($this->at[2]['atack'][$j][1] == 4) {
$this->at[2]['atack'][$j][$type]['y_old'] = $this->at[2]['atack'][$j][$type]['y'];
$this->at[2]['atack'][$j][$type]['y'] = (int)round($this->at[2]['atack'][$j][$type]['k'] / 2);
} elseif ($this->at[2]['atack'][$j][1] == 5) {
$this->at[2]['atack'][$j][$type]['y_old'] = $this->at[2]['atack'][$j][$type]['y'];
$this->at[2]['atack'][$j][$type]['y'] = $this->at[2]['atack'][$j][$type]['k'];
}
$this->at[2]['atack'][$j][$type]['2h'] = $data['2h'];
$this->at[2]['atack'][$j][$type]['w'] = $wp;
if ($this->at[2]['atack'][$j][$type]['y'] > 0) {
$this->at[2]['atack'][$j][$type]['r'] = '-' . $this->at[2]['atack'][$j][$type]['y'];
} else {
$this->at[2]['atack'][$j][$type]['r'] = '--';
}
}
}
if (isset($tempAt)) {
$tempAt['p'] = $this->at;
$this->at = $tempAt;
}
$this->updateBattleStats();
}
/**
* Возвращает массив:
*
* 0 => data предмета в зависимости от руки в которой тот находится,
*
* 1 => флажок проверки руки,
*
* 2 => число слота руки(?!),
*
* 3 => массив параметров предмета для Battle::class->yronGetrazmen()
* @param bool $check
* @param array $stats
* @return array{array,bool,int,array}
*/
private function getDataArrayByHand(bool $check, array $stats): array
{
if (!$check && isset($stats['wp3id'])) { //Левая рука
$wp = 3;
$check = true;
} else { //Правая рука
if (isset($stats['wp14id']) && $stats['items'][$stats['wp14id']]['type'] != 13) {
$wp = 14;
} else {
$wp = 3;
}
$check = false;
}
$witm = $stats['items'][$stats["wp{$wp}id"]];
return [Conversion::dataStringToArray($witm['data']), $check, $wp, $witm];
}
private function mfs(int|string $type, array|int $mf): int
{
if (is_array($mf)) {
$mf = array_map(fn($a) => max($a, 0), $mf);
}
$rval = 0;
if ($type == 'criticalDamage') {
//Крит
if ($mf['mf'] > $mf['smf']) {
$rval = 100 - floor(((($mf['smf']) / ($mf['mf'] + 1)) * 100));
}
$rval = Comparsion::minimax($rval, 0, 75);
if ($mf['amf'] > 0) {
$mf['amf'] = min(100, $mf['amf']);
if (($mf['amf'] * 100) >= mt_rand(1, 10000)) {
$rval = 100;
}
}
} elseif ($type == 'evasion') {
if ($mf['mf'] > $mf['smf']) {
$rval = 100 - floor(((($mf['smf']) / ($mf['mf'] + 1)) * 100)); //2.5
}
$rval = Comparsion::minimax($rval, 0, 75);
if ($mf['asmf'] > 0) {
$mf['asmf'] = min(100, $mf['asmf']);
if ($mf['asmf'] >= mt_rand(1, 100)) {
$rval = 0;
}
}
if ($mf['amf'] >= 0) {
$mf['amf'] = min(100, $mf['amf']);
if ($mf['amf'] >= mt_rand(1, 100)) {
$rval = 100;
}
}
} elseif ($type == 'parry') {
$mf[1] = max($mf[1], 1);
$mf[2] = max($mf[2], 1);
$rval = $mf[1] - $mf[2] / 2;
$rval = Comparsion::minimax($rval, 1, 75);
} elseif ($type == 4) {
$mf = round($mf * 0.6);
$mf = Comparsion::minimax($mf, 0, 100);
$rval = min($mf, 100); //пробой брони
} elseif ($type == 'blockByShield') {
$mf = max($mf, 0);
$rval = min($mf, 85); //блок щитом
} elseif ($type == 'counterstrike') {
//Контрудар
if ($mf['a'] > 0) {
if ($mf['b'] > 0) {
$rval = round($mf['a'] - ($mf['b'] / 2));
} else {
$rval = $mf['a'];
}
}
$rval = Comparsion::minimax($rval, 0, 75);
}
return Helper::getChanse($rval) ? 1 : 0;
}
/**
* Повторный просчёт всего для успешного контрудара.
* @param int $loopstart
* @return void
*/
private function counterstrikehit(int $loopstart): void
{
$this->evasion(1, true, $loopstart);
$this->parry(1, true, $loopstart);
$this->blockByShield(1, true);
$this->criticalDamage(true, $loopstart);
$this->damage(true, $loopstart);
}
public function getAt(): array
{
return $this->at;
}
}

View File

@ -512,9 +512,6 @@ ORDER BY `1price`ASC , inGroupCount DESC'
if ($pl['dn_delete'] > 0) { if ($pl['dn_delete'] > 0) {
$is2 .= '<div style="color:brown;">Предмет будет удален при выходе из подземелья</div>'; $is2 .= '<div style="color:brown;">Предмет будет удален при выходе из подземелья</div>';
} }
if ($this->pokol > $pl['geni']) {
$is2 .= '<div style="color:brown">Предмет устарел</div>';
}
if (isset($po['zazuby']) && $po['zazuby'] > 0) { if (isset($po['zazuby']) && $po['zazuby'] > 0) {
$is2 .= '<div style="color:brown;">Предмет куплен за зубы</div>'; $is2 .= '<div style="color:brown;">Предмет куплен за зубы</div>';
} }

View File

@ -75,13 +75,11 @@ class Config
$c['nosanich'] = true; //Странички Саныча не выпадают - true , выпадают - false $c['nosanich'] = true; //Странички Саныча не выпадают - true , выпадают - false
$c['zuby'] = false; //зубы $c['zuby'] = false; //зубы
$c['limitedexp'] = false; //лимит опыта $c['limitedexp'] = false; //лимит опыта
$c['infinity5level'] = false; //вечные 5 уровни
$c['expstop'] = 2999999; //9; //Опыт на котором останавливаемся 11 149999999 $c['expstop'] = 2999999; //9; //Опыт на котором останавливаемся 11 149999999
$c['expstopu'] = 2999999; //Опыт на котором останавливаемся $c['expstopu'] = 2999999; //Опыт на котором останавливаемся
$c['noobgade'] = false; //нуб квест (пещера) $c['noobgade'] = false; //нуб квест (пещера)
$c['level_ransfer'] = 8; //С какого уровня разрешены передачи $c['level_ransfer'] = 8; //С какого уровня разрешены передачи
$c['nolevel'] = false; //лимитирование уровней
$c['noitembuy'] = false; //Не требует ресурсы для покупки $c['noitembuy'] = false; //Не требует ресурсы для покупки
$c['effz'] = 0; //Скольким секундам равен заряд $c['effz'] = 0; //Скольким секундам равен заряд
$c['money_haot'] = true; //кр за хаоты $c['money_haot'] = true; //кр за хаоты

View File

@ -0,0 +1,13 @@
<?php
namespace Core;
class Debug
{
public static function x(): void
{
ini_set('xdebug.var_display_max_depth', 10);
ini_set('xdebug.var_display_max_children', 256);
ini_set('xdebug.var_display_max_data', 1024);
}
}

View File

@ -12,7 +12,6 @@ enum ShopId: int
case ANIMALS = 8; // магазин новичка case ANIMALS = 8; // магазин новичка
case TAVERN = 9; // наковальня case TAVERN = 9; // наковальня
case IZLOM = 10; case IZLOM = 10;
case BLOOD_ALTAR = 11; //алтарь крови
case TEMPLE = 14; case TEMPLE = 14;
case MUSHROOMS = 17; // общий рыцарский case MUSHROOMS = 17; // общий рыцарский
case REFERALS = 27; case REFERALS = 27;

View File

@ -383,10 +383,12 @@ class FightRequest
/** /**
* Звуковой пинг в чат? * Звуковой пинг в чат?
* @param string $to
* @param int $room
* @return void * @return void
* @todo убрать колхоз с условиями когда станет ясно как оно работает. * @todo убрать колхоз с условиями когда станет ясно как оно работает.
*/ */
private function sendSysChatSound(string $to = '', int $room = 0) private function sendSysChatSound(string $to = '', int $room = 0): void
{ {
$cmsg = new ChatMessage(); $cmsg = new ChatMessage();
if (empty($to)) { if (empty($to)) {
@ -399,9 +401,9 @@ class FightRequest
} else { } else {
$cmsg->setRoom($room); $cmsg->setRoom($room);
} }
$cmsg->setCity($this->u->info['city']);
$cmsg->setType(11); $cmsg->setType(11);
$cmsg->setSound(117); $cmsg->setSound(117);
$cmsg->setText('Ваш бой начался!');
(new Chat())->sendMsg($cmsg); (new Chat())->sendMsg($cmsg);
} }
@ -621,6 +623,7 @@ class FightRequest
$nz['time_start'] = 600; $nz['time_start'] = 600;
} }
if (isset($_POST['mut_hidden'])) { if (isset($_POST['mut_hidden'])) {
$nz['invise'] = 1; $nz['invise'] = 1;
} }
@ -817,19 +820,17 @@ class FightRequest
return isset($symbols[1]) ? $symbols[0] . '.' . $symbols[1] : $symbols[0] . '.0'; return isset($symbols[1]) ? $symbols[0] . '.' . $symbols[1] : $symbols[0] . '.0';
} }
public function getEndedBattlesList(string $slogin, int $dt) public function getEndedBattlesList(string $slogin, int $dt): void
{ {
$code = PassGen::intCode(); $code = PassGen::intCode();
$btl = ''; $btl = '';
$see = '';
$usr = Db::getRow('select id, login, level, city from users where login = ? limit 1', [$slogin]);
if (isset($usr['id'])) { $uid = Db::getValue('select id from users where login = ? limit 1', [$slogin]);
$tms = $dt;
$tmf = $dt + 86400; if ($uid) {
$sp = Db::getRows( $sp = Db::getRows(
'select * from battle_last where time >= ? and time < ? and uid = ? order by id desc ', 'select * from battle_last where time >= ? and time < ? and uid = ? order by id desc ',
[$tms, $tmf, $usr['id']] [$dt, $dt + 86400, $uid]
); );
$jk = 0; $jk = 0;
$btl_lst = []; $btl_lst = [];
@ -840,11 +841,13 @@ class FightRequest
$tms = []; $tms = [];
$ts = []; $ts = [];
$spi = Db::getRows('select * from battle_last where battle_id = ?', [$pl['battle_id']]); $spi = Db::getRows('select * from battle_last where battle_id = ?', [$pl['battle_id']]);
foreach ($spi as $pli) { foreach ($spi as $pli) {
if (!isset($tms[$pli['team']])) { if (!isset($tms[$pli['team']])) {
$ts[] = $pli['team']; $ts[] = $pli['team'];
} }
$tms[$pli['team']][count($tms[$pli['team']])] = $pli;
$tms[$pli['team']][] = $pli;
} }
$k = 0; $k = 0;
while ($k < count($ts)) { while ($k < count($ts)) {
@ -859,7 +862,7 @@ class FightRequest
} }
$tm2 .= '<b>' . $tms[$g][$h]['login'] . '</b> [' . $tms[$g][$h]['lvl'] . '] $tm2 .= '<b>' . $tms[$g][$h]['login'] . '</b> [' . $tms[$g][$h]['lvl'] . ']
<a href="info/' . $tms[$g][$h]['uid'] . '" target="_blank"> <a href="info/' . $tms[$g][$h]['uid'] . '" target="_blank">
<img src="' . Config::img() . '/i/inf_capitalcity.gif" alt=""></a>, '; <img src="' . Config::img() . '/i/inf.gif" alt=""></a>, ';
} }
$h++; $h++;
} }
@ -875,20 +878,24 @@ class FightRequest
$k++; $k++;
} }
} }
if (!isset($btl_lst[$b['id']])) {
if (isset($btl_lst[$b['id']])) {
continue;
}
$btl_lst[$b['id']] = true; $btl_lst[$b['id']] = true;
if ($tm == '') { if ($tm == '') {
$tm = 'Данные поединка потеряны'; $tm = 'Данные поединка потеряны';
} }
$jk++; $jk++;
$btl .= $jk . '. <span class=date>' . date( $btl .= $jk . '. <span class=date>' . date('d.m.y H:i', $pl['time']) . '</span> ' .
'd.m.y H:i', $pl['time'] $tm . ' <a href="/logs.php?log=' . $pl['battle_id'] . '&rnd=' . $code . '" target=_blank>»»</a><br>';
) . '</span> ' . $tm . ' <A HREF="logs.php?log=' . $pl['battle_id'] . '&rnd=' . $code . '" target=_blank>»»</A><br>';
} }
} }
}
$see .= empty($btl) ? '<div style="font-weight: bold;">В этот день не было боев, или же, летописец опять потерял свитки...</div><hr><br>' : $btl; echo empty($btl) ?
echo $see; '<div style="font-weight: bold;">В этот день не было боев, или же, летописец опять потерял свитки...</div><hr><br>' :
$btl;
} }
public function getCurrentBattlesList(): void public function getCurrentBattlesList(): void

View File

@ -4,9 +4,9 @@ namespace FightRequest;
class FRHelper class FRHelper
{ {
/** Считает разрешенные уровни игроков в групповых заявках. /** Считает разрешенные уровни игроков в групповых заявках.
* @param int $type тип фильтра. * @param int $type тип фильтра.
* @param int $userLevel уровень игрока подающего заявку. * @param int $userLevel уровень игрока подающего заявку.
* @return object * @return object
*/ */
public static function getTeammatesLevel(int $type, int $userLevel): object public static function getTeammatesLevel(int $type, int $userLevel): object
@ -16,25 +16,25 @@ class FRHelper
switch ($type) { switch ($type) {
default: default:
break; break;
case 1: // только моего и ниже case 1: // только моего и ниже
$max = $userLevel; $max = $userLevel;
break; break;
case 2: // только ниже моего case 2: // только ниже моего
$max = $userLevel - 1; $max = $userLevel - 1;
break; break;
case 3: // только моего case 3: // только моего
$min = $userLevel; $min = $userLevel;
$max = $userLevel; $max = $userLevel;
break; break;
case 4: // не выше меня на 1 уровень case 4: // не выше меня на 1 уровень
$min = $userLevel; $min = $userLevel;
$max = $userLevel + 1; $max = $userLevel + 1;
break; break;
case 5: // не ниже меня на 1 уровень case 5: // не ниже меня на 1 уровень
$min = $userLevel - 1; $min = $userLevel - 1;
$max = $userLevel; $max = $userLevel;
break; break;
case 6: // мой уровень +- 1 case 6: // мой уровень +- 1
$min = $userLevel - 1; $min = $userLevel - 1;
$max = $userLevel + 1; $max = $userLevel + 1;
break; break;
@ -45,9 +45,9 @@ class FRHelper
]; ];
} }
/** Считает разрешенные уровни игроков в хаотических заявках. /** Считает разрешенные уровни игроков в хаотических заявках.
* @param int $type тип фильтра. * @param int $type тип фильтра.
* @param int $userLevel уровень игрока подающего заявку. * @param int $userLevel уровень игрока подающего заявку.
* @return object * @return object
*/ */
public static function getChaoticTeammatesLevel(int $type, int $userLevel): object public static function getChaoticTeammatesLevel(int $type, int $userLevel): object

View File

@ -4,7 +4,7 @@ namespace Helper;
class Comparsion class Comparsion
{ {
/** Не даёт значению выйти за пределы. /** Не даёт значению выйти за пределы.
* @param $value * @param $value
* @param $minimum * @param $minimum
* @param $maximum * @param $maximum

View File

@ -25,4 +25,10 @@ class ItemModel
{ {
return $this->item['img']; return $this->item['img'];
} }
public static function getNameById(int $id): string
{
$name = Db::getValue('select name from items_main where id = ?', [$id]);
return $name ?: '';
}
} }

View File

@ -2,7 +2,6 @@
namespace Magic\Elemental; namespace Magic\Elemental;
use Battle;
use DTO\BattleSpell; use DTO\BattleSpell;
use Helper\Math; use Helper\Math;

View File

@ -14,7 +14,7 @@ class ActionModel
$this->uid = $uid; $this->uid = $uid;
} }
public static function new(array $user, string $vals, string $vars, int $time = 0) public static function new(array $user, string $vals, string $vars, int $time = 0): void
{ {
if (!$time) { if (!$time) {
$time = time(); $time = time();
@ -60,7 +60,7 @@ class ActionModel
); );
} }
public function deleteByVals(string $vals) public function deleteByVals(string $vals): void
{ {
Db::sql('delete from actions where uid = ? and vals = ?', [$this->uid, $vals]); Db::sql('delete from actions where uid = ? and vals = ?', [$this->uid, $vals]);
} }
@ -83,4 +83,25 @@ class ActionModel
return !empty($arr) ? $arr : []; return !empty($arr) ? $arr : [];
}*/ }*/
public function getDailyQuest(): array|false
{
return Db::getRow("select * from actions where uid = ? and vars = 'day_quest' limit 1", [$this->uid]);
}
public function getFinishedDailyQuestTasks(int $timeout): array
{
$arr = [];
$counter = Db::getRows(
"select count(*) as c, vars
from actions
where vars in ('end_trup', 'end_xaot', 'psh0', 'trup_sun', 'izlom', 'win') and time > ? and uid = ?
group by vars",
[$timeout, $this->uid]
);
foreach ($counter as $c) {
$arr[$c['vars']] = $c['c'];
}
return $arr;
}
} }

View File

@ -0,0 +1,48 @@
<?php
namespace Model;
use Core\Db;
use stdClass;
readonly class BattleModel
{
public stdClass $battle;
public array $battleArray;
private array $all;
public function __construct(int $id) {
$this->all = Db::getRows('select * from battle');
if (empty($id)) {
$this->battle = new stdClass();
$this->battleArray = [];
} else {
foreach ($this->all as $b) {
if ($b['id'] != $id) {
continue;
}
$this->battle = (object)$b;
$this->battleArray = get_object_vars($this->battle);
return;
}
}
}
public static function countClanWars(int $clanid): array
{
$today = (new \DateTimeImmutable('now 00:00:00'))->getTimestamp();
$sql = "select count(id) from battle where
type = 250 and
time_over > ? and
(team_win = ? and clan1 = ?) or (team_win = ? and clan2 = ?)";
$count1 = Db::getValue($sql, [$today, 1, $clanid, 2, $clanid]);
$count2 = Db::getValue($sql, [$today, 2, $clanid, 1, $clanid]);
return [
$count1 ?? 0,
$count2 ?? 0,
];
}
}

View File

@ -25,7 +25,7 @@ class AdmFactory
10, 10,
'moderation.addmoderator', 'moderation.addmoderator',
$this->targetUser['id'], $this->targetUser['id'],
'Назначен на пост модератора.' 'Назначен на пост модератора.'
); );
} }
@ -36,7 +36,7 @@ class AdmFactory
10, 10,
'moderation.removemoderator', 'moderation.removemoderator',
$this->targetUser['id'], $this->targetUser['id'],
'Уволен с поста модератора.' 'Уволен с поста модератора.'
); );
} }
@ -48,7 +48,7 @@ class AdmFactory
10, 10,
'moderation.changegender', 'moderation.changegender',
$this->targetUser['id'], $this->targetUser['id'],
'Изменен пол персонажа.' 'Изменен пол персонажа.'
); );
} }
@ -63,7 +63,7 @@ class AdmFactory
10, 10,
'moderation.changelogin', 'moderation.changelogin',
$this->targetUser['id'], $this->targetUser['id'],
"Изменен логин персонажа. $this->targetLogin => " . strip_tags($login) "Изменен логин персонажа. $this->targetLogin => " . strip_tags($login)
); );
} }
@ -84,7 +84,7 @@ class AdmFactory
public function kickfrombattle(): void public function kickfrombattle(): void
{ {
if (empty($this->targetUser['battle'])) { if (empty($this->targetUser['battle'])) {
$this->status = 'Персонаж не в поединке.'; $this->status = 'Персонаж не в поединке.';
return; return;
} }
Db::sql('update users left join stats on users.id = stats.id Db::sql('update users left join stats on users.id = stats.id
@ -94,6 +94,6 @@ class AdmFactory
battle_yron = default, battle_yron = default,
battle_exp = default battle_exp = default
where id = ?', [$this->targetUser['id']]); where id = ?', [$this->targetUser['id']]);
// В оригинале тут ещё писалась запись в лог боя, но нужна ли она? // В оригинале тут ещё писалась запись в лог боя, но нужна ли она?
} }
} }

View File

@ -17,13 +17,13 @@ class Announcement
{ {
echo <<<HTML echo <<<HTML
<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;"> <div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">
<h4>Ìåãàôîí</h4> <h4>Мегафон</h4>
<form method="post"></form> <form method="post"></form>
<label for="announcementText">Ñîîáùåíèå</label> <label for="announcementText">Сообщение</label>
<input name="announcementText" type="text" id="announcementText" size="70" maxlength="1000"> <input name="announcementText" type="text" id="announcementText" size="70" maxlength="1000">
<input type="submit" name="announcementModeration" id="announcementModeration" class="btn" value="Íàïèñàòü"><br> <input type="submit" name="announcementModeration" id="announcementModeration" class="btn" value="Написать"><br>
<input name="announcementIsSigned" type="checkbox" id="announcementIsSigned" value="1"> <input name="announcementIsSigned" type="checkbox" id="announcementIsSigned" value="1">
<label for="announcementIsSigned">îò ñâîåãî èìåíè</label> <label for="announcementIsSigned">от своего имени</label>
</form> </form>
</div> </div>
HTML; HTML;
@ -41,9 +41,9 @@ HTML;
return; return;
} }
$sender = empty($_POST['announcementIsSigned']) ? '<b>Àäìèíèñòðàöèÿ</b>' : User::getLogin(User::start()->info['id']); $sender = empty($_POST['announcementIsSigned']) ? '<b>Администрация</b>' : User::getLogin(User::start()->info['id']);
(new Chat())->sendsys("$sender: $strippedMessage"); (new Chat())->sendsys("$sender: $strippedMessage");
echo '<span style="color: red; "><b>Ñîîáùåíèå óñïåøíî îòïðàâëåíî</b></span>'; echo '<span style="color: red; "><b>Сообщение успешно отправлено</b></span>';
} }
} }

View File

@ -10,7 +10,7 @@ use User;
class ModFactory class ModFactory
{ {
private const ERROR_WRONG_DURATION = 'Íåâåðíî óêàçàí ñðîê íàêàçàíèÿ'; private const ERROR_WRONG_DURATION = 'Неверно указан срок наказания';
public readonly string $status; public readonly string $status;
private DateTime $time; private DateTime $time;
private ChatMessage $msg; private ChatMessage $msg;
@ -21,12 +21,12 @@ class ModFactory
public function __construct( public function __construct(
private readonly string $targetLogin, private readonly string $targetLogin,
private readonly string $reason, private readonly string $reason,
int $moderatorsRoom // Êîìíàòà ãäå ñèäèò ìîäåðàòîð. int $moderatorsRoom // Комната где сидит модератор.
) )
{ {
$this->targetUser = User::getInfo($this->targetLogin); $this->targetUser = User::getInfo($this->targetLogin);
if (empty($this->targetUser)) { if (empty($this->targetUser)) {
$this->status = 'Ïåðñîíàæ íå íàéäåí!'; $this->status = 'Персонаж не найден!';
return; return;
} }
$this->chat = new Chat(); $this->chat = new Chat();
@ -46,7 +46,7 @@ class ModFactory
} }
$this->time->modify("+ $minutes minute"); $this->time->modify("+ $minutes minute");
$this->moderation->silence($this->time, $this->reason); $this->moderation->silence($this->time, $this->reason);
$this->status = "Ïåðñîíàæó $this->targetLogin çàïðåùåíî îáùàòüñÿ â ÷àòå äî {$this->time->format(Moderation::EXPIRATION_DATETIME_FORMAT)}."; $this->status = "Персонажу $this->targetLogin запрещено общаться в чате до {$this->time->format(Moderation::EXPIRATION_DATETIME_FORMAT)}.";
$this->msg->setText("[img[items/silence.gif]] $this->status"); $this->msg->setText("[img[items/silence.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }
@ -54,11 +54,11 @@ class ModFactory
public function unsilence(): void public function unsilence(): void
{ {
if ($this->targetUser['molch1'] < $this->time->getTimestamp()) { if ($this->targetUser['molch1'] < $this->time->getTimestamp()) {
$this->status = 'Ïåðñîíàæ íå ìîë÷èò!'; $this->status = 'Персонаж не молчит!';
return; return;
} }
$this->moderation->unsilence(); $this->moderation->unsilence();
$this->status = "Ñ ïåðñîíàæà $this->targetLogin ñíÿò çàïðåò íà îáùåíèå â ÷àòå."; $this->status = "С персонажа $this->targetLogin снят запрет на общение в чате.";
$this->msg->setText("[img[items/pal_button3.gif]] $this->status"); $this->msg->setText("[img[items/pal_button3.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }
@ -71,8 +71,8 @@ class ModFactory
} }
$this->time->modify("+ $days day"); $this->time->modify("+ $days day");
$this->moderation->prison($this->time, $this->reason); $this->moderation->prison($this->time, $this->reason);
Db::sql('delete from dungeon_zv where uid = ?', [$this->targetUser['id']]); // Óäàëÿåì çàÿâêè â ïåùåðû. Db::sql('delete from dungeon_zv where uid = ?', [$this->targetUser['id']]); // Удаляем заявки в пещеры.
$this->status = "Ïåðñîíàæ $this->targetLogin áûë îòïðàâëåí â òþðüìó äî {$this->time->format(Moderation::EXPIRATION_DATETIME_FORMAT)}."; $this->status = "Персонаж $this->targetLogin был отправлен в тюрьму до {$this->time->format(Moderation::EXPIRATION_DATETIME_FORMAT)}.";
$this->msg->setText("[img[items/jail.gif]] $this->status"); $this->msg->setText("[img[items/jail.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }
@ -80,7 +80,7 @@ class ModFactory
public function unprison(): void public function unprison(): void
{ {
$this->moderation->unprison(); $this->moderation->unprison();
$this->status = "Ïåðñîíàæ $this->targetLogin áûë âûïóùåí èç òþðüìû."; $this->status = "Персонаж $this->targetLogin был выпущен из тюрьмы.";
$this->msg->setText("[img[items/jail_off.gif]] $this->status"); $this->msg->setText("[img[items/jail_off.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }
@ -92,12 +92,12 @@ class ModFactory
return; return;
} }
if ($this->targetUser['info_delete'] === 1 || $this->targetUser['info_delete'] >= $this->time->getTimestamp()) { if ($this->targetUser['info_delete'] === 1 || $this->targetUser['info_delete'] >= $this->time->getTimestamp()) {
$this->status = 'Ïåðñîíàæ óæå ïîä ïîäîçðåíèåì.'; $this->status = 'Персонаж уже под подозрением.';
return; return;
} }
$this->time->modify("+ $days day"); $this->time->modify("+ $days day");
$this->moderation->depersonalize($this->time, $this->reason); $this->moderation->depersonalize($this->time, $this->reason);
$this->status = "Ïåðñîíàæ $this->targetLogin ïîä ïîäîçðåíèåì äî {$this->time->format(Moderation::EXPIRATION_DATETIME_FORMAT)}"; $this->status = "Персонаж $this->targetLogin под подозрением до {$this->time->format(Moderation::EXPIRATION_DATETIME_FORMAT)}";
$this->msg->setText("[img[items/cui.gif]] $this->status"); $this->msg->setText("[img[items/cui.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }
@ -105,11 +105,11 @@ class ModFactory
public function undepersonalize(): void public function undepersonalize(): void
{ {
if ($this->targetUser['info_delete'] <= $this->time->getTimestamp()) { if ($this->targetUser['info_delete'] <= $this->time->getTimestamp()) {
$this->status = 'Ïåðñîíàæ íå ïîä ïîäîçðåíèåì.'; $this->status = 'Персонаж не под подозрением.';
return; return;
} }
$this->moderation->undepersonalize(); $this->moderation->undepersonalize();
$this->status = "Ïåðñîíàæ $this->targetLogin áîëüøå íå ïîä ïîäîçðåíèåì"; $this->status = "Персонаж $this->targetLogin больше не под подозрением";
$this->msg->setText("[img[items/uncui.gif]] $this->status"); $this->msg->setText("[img[items/uncui.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }
@ -119,15 +119,15 @@ class ModFactory
$this->moderation->ban($this->reason); $this->moderation->ban($this->reason);
Db::sql('delete from chat where login = ?', [$this->targetLogin]); Db::sql('delete from chat where login = ?', [$this->targetLogin]);
Db::sql('insert into ban_email (email, uid, nick_name) values (?,?,?)', [$this->targetUser['mail'], $this->targetUser['id'], $this->targetLogin]); Db::sql('insert into ban_email (email, uid, nick_name) values (?,?,?)', [$this->targetUser['mail'], $this->targetUser['id'], $this->targetLogin]);
Db::sql('delete from zayvki where creator = ?', [$this->targetUser['id']]); // Óäàëÿåì çàÿâêè íà áîé. Db::sql('delete from zayvki where creator = ?', [$this->targetUser['id']]); // Удаляем заявки на бой.
Db::sql('delete from dungeon_zv where uid = ?', [$this->targetUser['id']]); // Óäàëÿåì çàÿâêè â ïåùåðû. Db::sql('delete from dungeon_zv where uid = ?', [$this->targetUser['id']]); // Удаляем заявки в пещеры.
if (!empty($this->targetUser['battle'])) { if (!empty($this->targetUser['battle'])) {
Db::sql( Db::sql(
'update users left join stats on users.id = stats.id set battle = default, regHP = unix_timestamp(), team = 0, battle_yron = 0, battle_exp = 0 where users.id = ?', 'update users left join stats on users.id = stats.id set battle = default, regHP = unix_timestamp(), team = 0, battle_yron = 0, battle_exp = 0 where users.id = ?',
[$this->targetUser['id']] [$this->targetUser['id']]
); );
} }
$this->status = "Ïåðñîíàæ $this->targetLogin çàáëîêèðîâàí"; $this->status = "Персонаж $this->targetLogin заблокирован";
$this->msg->setText("[img[items/pal_button6.gif]] $this->status"); $this->msg->setText("[img[items/pal_button6.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }
@ -135,12 +135,12 @@ class ModFactory
public function unban(): void public function unban(): void
{ {
if (empty($this->targetUser['banned'])) { if (empty($this->targetUser['banned'])) {
$this->status = 'Ïåðñîíàæ íå â áëîêå.'; $this->status = 'Персонаж не в блоке.';
return; return;
} }
$this->moderation->unban(); $this->moderation->unban();
Db::sql('delete from ban_email where email = ?', [$this->targetUser['mail']]); Db::sql('delete from ban_email where email = ?', [$this->targetUser['mail']]);
$this->status = "Ïåðñîíàæ $this->targetLogin ðàçáëîêèðîâàí"; $this->status = "Персонаж $this->targetLogin разблокирован";
$this->msg->setText("[img[items/pal_button7.gif]] $this->status"); $this->msg->setText("[img[items/pal_button7.gif]] $this->status");
$this->chat->sendMsg($this->msg); $this->chat->sendMsg($this->msg);
} }

View File

@ -7,7 +7,7 @@ use User;
class UserRegistrationList class UserRegistrationList
{ {
/** Ðåãèñòðàöèè ïåðñîíàæåé: òîëüêî äëÿ àäìèíèñòðàòîðîâ. /** Регистрации персонажей: только для администраторов.
* @return void * @return void
*/ */
public static function get(): void public static function get(): void
@ -35,14 +35,14 @@ class UserRegistrationList
</script> </script>
<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;"> <div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">
<h4>Ðåãèñòðàöèè ïåðñîíàæåé</h4> <h4>Регистрации персонажей</h4>
<label for="loginLD520">Äàòà ðåãèñòðàöèè</label> <label for="loginLD520">Дата регистрации</label>
<input name="pometka520" class="btn btn-success" onclick="regprev()" type="submit" value="&laquo;"/> <input name="pometka520" class="btn btn-success" onclick="regprev()" type="submit" value="&laquo;"/>
<input value="<?= $pld520 ?>" name="loginLD520" type="text" id="loginLD520" size="20" maxlength="10"/> <input value="<?= $pld520 ?>" name="loginLD520" type="text" id="loginLD520" size="20" maxlength="10"/>
<input name="pometka520" class="btn btn-success" onclick="regnext()" type="submit" value="&raquo;"/> <input name="pometka520" class="btn btn-success" onclick="regnext()" type="submit" value="&raquo;"/>
<input type="submit" name="pometka520" id="pometka520" class="btn" value="Ïîêàçàòü"/> <input type="submit" name="pometka520" id="pometka520" class="btn" value="Показать"/>
<?php if (isset($_POST['pometka520'])): ?> <?php if (isset($_POST['pometka520'])): ?>
<br><b style="color: red;">Ïåðñîíàæè çàðåãèñòðèðîâàííûå <?= $pld520 ?></b> <br><b style="color: red;">Персонажи зарегистрированные <?= $pld520 ?></b>
<ol> <ol>
<?php foreach (Db::getRows($query, [$pld520TS, $pld520TS + 86400]) as $pl): <?php foreach (Db::getRows($query, [$pld520TS, $pld520TS + 86400]) as $pl):
$logincolor = match (true) { $logincolor = match (true) {
@ -55,13 +55,13 @@ class UserRegistrationList
<li> <li>
<span style="color: <?= $logincolor ?>"> <?= User::getLogin($pl['id']) ?> </span> <span style="color: <?= $logincolor ?>"> <?= User::getLogin($pl['id']) ?> </span>
<?php if ($pl['molch1'] > time()): ?> <?php if ($pl['molch1'] > time()): ?>
<i>(ìîë÷èò)</i> <i>(молчит)</i>
<?php endif; ?> <?php endif; ?>
<?php if ($pl['battle'] > 0): ?> <?php if ($pl['battle'] > 0): ?>
<a href="/logs.php?log=<?= $pl['battle'] ?>" target="_blank">(â áîþ)</a> <a href="/logs.php?log=<?= $pl['battle'] ?>" target="_blank">(в бою)</a>
<?php endif; ?> <?php endif; ?>
<?php if ($pl['host_reg'] > 0): ?> <?php if ($pl['host_reg'] > 0): ?>
<small>(ðåôåðàë ïåðñîíàæà <?= User::getLogin($pl['host_reg']) ?>)</small> <small>(реферал персонажа <?= User::getLogin($pl['host_reg']) ?>)</small>
<?php endif; ?> <?php endif; ?>
</li> </li>
<?php endforeach; ?> <?php endforeach; ?>

View File

@ -84,7 +84,7 @@ class Priems
$mpNow = $this->zeromax($btl->stats[$btl->uids[$uid]]['mpNow'], $btl->stats[$btl->uids[$uid]]['mpAll']); $mpNow = $this->zeromax($btl->stats[$btl->uids[$uid]]['mpNow'], $btl->stats[$btl->uids[$uid]]['mpAll']);
if ($mpNow > 0) { if ($mpNow > 0) {
Db::sql( Db::sql(
'update stats set mpNow = ? where id = ?', 'update stats set mpnow = ? where id = ?',
[$btl->stats[$btl->uids[$uid]]['mpNow'], $uid] [$btl->stats[$btl->uids[$uid]]['mpNow'], $uid]
); );
} }
@ -113,7 +113,7 @@ class Priems
$u = $this->u; // Для присоедиянемых файлов. $u = $this->u; // Для присоедиянемых файлов.
$return_main = true; $return_main = true;
$ue = Db::getRow( $ue = Db::getRow(
'select * from users left join stats on (users.id = stats.id) where users.id = ? and battle = ? and hpNow > 0', 'select * from users left join stats on (users.id = stats.id) where users.id = ? and battle = ? and hpnow > 0',
[$eff['uid'], $btl->info['id']] [$eff['uid'], $btl->info['id']]
); );
@ -781,8 +781,7 @@ class Priems
$krituet = true, $krituet = true,
$heal = 0, $heal = 0,
$namenew = null $namenew = null
) ) {
{
$trawm_off = false; $trawm_off = false;
global $btl; global $btl;
if ($namenew != null) { if ($namenew != null) {
@ -961,7 +960,8 @@ class Priems
); );
//заносим в лог боя //заносим в лог боя
$vLog = 'time1=' . time() . '||s1=' . $btl->users[$btl->uids[$usu]]['sex'] . '||t1=' . $btl->users[$btl->uids[$usu]]['team'] . '||login1=' . $btl->users[$btl->uids[$usu]]['login'] . '||s2=' . $btl->users[$btl->uids[$uen]]['sex'] . '||t2=' . $btl->users[$btl->uids[$uen]]['team'] . '||login2=' . $btl->users[$btl->uids[$uen]]['login'] . ''; $vLog = 'time1=' . time(
) . '||s1=' . $btl->users[$btl->uids[$usu]]['sex'] . '||t1=' . $btl->users[$btl->uids[$usu]]['team'] . '||login1=' . $btl->users[$btl->uids[$usu]]['login'] . '||s2=' . $btl->users[$btl->uids[$uen]]['sex'] . '||t2=' . $btl->users[$btl->uids[$uen]]['team'] . '||login2=' . $btl->users[$btl->uids[$uen]]['login'] . '';
$mas1 = [ $mas1 = [
'time' => time(), 'time' => time(),
'battle' => $btl->info['id'], 'battle' => $btl->info['id'],
@ -1392,18 +1392,18 @@ class Priems
} }
} }
if (isset($btl->stats[$btl->uids[$this->u->info['id']]]['nousepriem']) && $btl->stats[$btl->uids[$this->u->info['id']]]['nousepriem'] > 0 && $pl['nosh'] == 0) { if (
if ($btl->stats[$btl->uids[$this->u->info['id']]]['noshock_voda'] > 0 && substr( isset($btl->stats[$btl->uids[$this->u->info['id']]]['nousepriem']) &&
$pl['img'], 0, $btl->stats[$btl->uids[$this->u->info['id']]]['nousepriem'] > 0 &&
10 $pl['nosh'] == 0 &&
) == 'wis_water_') { ($btl->stats[$btl->uids[$this->u->info['id']]]['noshock_voda'] <= 0 || !str_starts_with($pl['img'], 'wis_water_'))
//вода ) {
} else {
$notr++; $notr++;
} }
}
if ($pl['id'] == $btl->stats[$btl->uids[$this->u->info['id']]]['notuse_last_pr']) {
if (isset($btl->stats[$btl->uids[$this->u->info['id']]]['notuse_last_pr']) &&
$pl['id'] == $btl->stats[$btl->uids[$this->u->info['id']]]['notuse_last_pr']) {
$notr++; $notr++;
} }
@ -1423,7 +1423,7 @@ class Priems
if ($pl['xuse'] > 0) { if ($pl['xuse'] > 0) {
$xu = $this->u->testAction( $xu = $this->u->testAction(
'`vars` = "use_priem_' . $btl->info['id'] . '_' . $this->u->info['id'] . '" AND `vals` = "' . $pl['id'] . '" LIMIT ' . $pl['xuse'] . '', '`vars` = "use_priem_' . $btl->info['id'] . '_' . $this->u->info['id'] . '" AND `vals` = "' . $pl['id'] . '" LIMIT ' . $pl['xuse'],
2 2
); );
if ($xu[0] >= $pl['xuse']) { if ($xu[0] >= $pl['xuse']) {
@ -1609,8 +1609,7 @@ class Priems
$noupdatebtl = 0, $noupdatebtl = 0,
$noplus = 0, $noplus = 0,
$pname = null $pname = null
) ) {
{
global $btl; global $btl;
//$pl = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = ' . (int)$pr)); //$pl = mysql_fetch_assoc(mysql_query('SELECT * FROM `priems` WHERE `id` = ' . (int)$pr));
$pl = Db::getRow('select * from priems where id = ?', [$pr]); $pl = Db::getRow('select * from priems where id = ?', [$pr]);
@ -1664,7 +1663,7 @@ class Priems
unset($num); unset($num);
} }
if (!isset($num['id'])) { if (!isset($num['id'])) {
$q = 'insert into eff_users (tr_life_user, bj, user_use, hod, v2, img2, id_eff, uid, name, data, overType, timeUse, v1) values (?,?,?,?,?,?,?,?,?,?,?,?,?)'; $q = 'insert into eff_users (tr_life_user, bj, user_use, hod, v2, img2, id_eff, uid, name, data, overtype, timeuse, v1) values (?,?,?,?,?,?,?,?,?,?,?,?,?)';
$image = !empty($pl['img']) ? $pl['img'] : $pl['id']; $image = !empty($pl['img']) ? $pl['img'] : $pl['id'];
$name = !empty($pname) ? $pname : $pl['name']; $name = !empty($pname) ? $pname : $pl['name'];
$image .= '.gif'; $image .= '.gif';
@ -1740,13 +1739,13 @@ class Priems
$e = explode('|', $pl); $e = explode('|', $pl);
while ($i < count($e)) { while ($i < count($e)) {
$f = explode('=', $e[$i]); $f = explode('=', $e[$i]);
// $f[1] = $this->getdr( // $f[1] = $this->getdr(
// $f[1], [0 => 'lvl1', 1 => 'ts5', 2 => 'mpAll'], [ // $f[1], [0 => 'lvl1', 1 => 'ts5', 2 => 'mpAll'], [
// 0 => $btl->users[$btl->uids[$uid]]['level'], // 0 => $btl->users[$btl->uids[$uid]]['level'],
// 1 => $btl->stats[$btl->uids[$uid]]['s5'], // 1 => $btl->stats[$btl->uids[$uid]]['s5'],
// 2 => $btl->stats[$btl->uids[$uid]]['mpAll'], // 2 => $btl->stats[$btl->uids[$uid]]['mpAll'],
// ] // ]
// ); // );
$f[1] = $this->getDynamicInfo($f[1]); $f[1] = $this->getDynamicInfo($f[1]);
if ($f[0] != '' && $f[1] != '') { if ($f[0] != '' && $f[1] != '') {
$e[$i] = implode('=', $f); $e[$i] = implode('=', $f);
@ -1977,7 +1976,8 @@ class Priems
} else { } else {
//бьем противника с пропуском хода //бьем противника с пропуском хода
mysql_query( mysql_query(
'INSERT INTO `battle_act` (`battle`,`uid1`,`uid2`,`time`,`out1`,`type`,`tpo1`) VALUES ("' . $btl->info['id'] . '","' . $this->u->info['id'] . '","' . $this->u->info['enemy'] . '","' . time() . '","1","1","2")' 'INSERT INTO `battle_act` (`battle`,`uid1`,`uid2`,`time`,`out1`,`type`,`tpo1`) VALUES ("' . $btl->info['id'] . '","' . $this->u->info['id'] . '","' . $this->u->info['enemy'] . '","' . time(
) . '","1","1","2")'
); );
} }
} }
@ -2081,9 +2081,11 @@ class Priems
); );
if ($upd) { if ($upd) {
TrainingManager::getInstance() TrainingManager::getInstance()
->addPoint('my_user_fourth_quest', function (TrainingManager $manager) { ->addPoint(
'my_user_fourth_quest', function (TrainingManager $manager) {
$manager->store(); $manager->store();
}); }
);
$this->u->info['priems'] = $p; $this->u->info['priems'] = $p;
} }
} else { } else {
@ -2097,12 +2099,16 @@ class Priems
public function getTechniquesInfo(?int $id = null): array public function getTechniquesInfo(?int $id = null): array
{ {
if (isset($id)) { if (isset($id)) {
return Db::getRow('SELECT * FROM techniques_categories LEFT JOIN priems ON techniques_categories.technique_id = priems.id return Db::getRow(
WHERE priems.level <= ? AND priems.activ > 0 AND priems.id = ? ORDER BY priems.img,priems.level', [User::start()->info['level'], $id]); 'select * from techniques_categories left join priems on techniques_categories.technique_id = priems.id
where priems.level <= ? and priems.activ > 0 and priems.id = ? order by priems.img,priems.level', [User::start()->info['level'], $id]
);
} }
return Db::getRows('SELECT * FROM techniques_categories LEFT JOIN priems ON techniques_categories.technique_id = priems.id return Db::getRows(
WHERE priems.level <= ? AND priems.activ > 0 ORDER BY priems.img,priems.level', [User::start()->info['level']]); 'select * from techniques_categories left join priems on techniques_categories.technique_id = priems.id
where priems.level <= ? and priems.activ > 0 order by priems.img,priems.level', [User::start()->info['level']]
);
} }
public function seeMy($t) public function seeMy($t)
@ -2294,7 +2300,9 @@ class Priems
echo echo
<<< HTML <<< HTML
<a href="javascript:void(0)" onclick="location.href='main.php?skills=1&rz=4&use_priem=$priem[id]';"> <a href="javascript:void(0)" onclick="location.href='main.php?skills=1&rz=4&use_priem=$priem[id]';">
<img class="pwq$priem[category_id] pwqall" onMouseOver="top.popup(this, '(#$priem[id]) <b>$priem[name]</b><Br>{$this->priemInfo($priem, 1)[0]}');" onMouseOut="top.hic();" onMouseDown="top.hic();" style="display:none;margin-top:2px; $cl margin-left:1px;" src="//img.new-combats.tech/i/eff/$priem[img].gif" width="40" height="25" /> <img class="pwq$priem[category_id] pwqall" onMouseOver="top.popup(this, '(#$priem[id]) <b>$priem[name]</b><Br>{$this->priemInfo(
$priem, 1
)[0]}');" onMouseOut="top.hic();" onMouseDown="top.hic();" style="display:none;margin-top:2px; $cl margin-left:1px;" src="//img.new-combats.tech/i/eff/$priem[img].gif" width="40" height="25" />
</a> </a>
HTML; HTML;
} }
@ -2358,7 +2366,7 @@ class Priems
$btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow']; $btl->stats[$btl->uids[$u1]]['hpNow'] = $pvr['hpNow'];
Db::sql('update stats set hpNow = ? where id = ?', [$btl->stats[$btl->uids[$u1]]['hpNow'], $u1]); Db::sql('update stats set hpnow = ? where id = ?', [$btl->stats[$btl->uids[$u1]]['hpNow'], $u1]);
$color = $this->logColor[self::FIRE]; $color = $this->logColor[self::FIRE];
$prv['text'] = '{u2} утратил здоровье от &quot;{pr}&quot; '; $prv['text'] = '{u2} утратил здоровье от &quot;{pr}&quot; ';
@ -2444,7 +2452,7 @@ class Priems
$btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $this->ue['hpNow']; $btl->stats[$btl->uids[$this->ue['id']]]['hpNow'] = $this->ue['hpNow'];
Db::sql('update stats set hpNow = ? where id = ?', [$this->ue['hpNow'], $this->ue['id']]); Db::sql('update stats set hpnow = ? where id = ?', [$this->ue['hpNow'], $this->ue['id']]);
if ($isMiss) { if ($isMiss) {
$color = $this->logColor['miss']; $color = $this->logColor['miss'];
@ -2623,7 +2631,7 @@ class Priems
$uu = $pl['id'] === 260 ? '' : $this->u->info['id']; $uu = $pl['id'] === 260 ? '' : $this->u->info['id'];
Db::sql( Db::sql(
'insert into eff_users (hod, v1, v2, img2, id_eff, uid, name, data, overType, timeUse, user_use) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', 'insert into eff_users (hod, v1, v2, img2, id_eff, uid, name, data, overtype, timeuse, user_use) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
[$hd1, 'priem', $pl['id'], $pl['img'] . '.gif', 22, $uid, $pl['name'], $data, 0, $tm, $uu] [$hd1, 'priem', $pl['id'], $pl['img'] . '.gif', 22, $uid, $pl['name'], $data, 0, $tm, $uu]
); );
@ -2765,7 +2773,7 @@ class Priems
$q = 'select stats as data from stats where id = ? $q = 'select stats as data from stats where id = ?
union all select stats as data from test_bot where id = ? union all select stats as data from test_bot where id = ?
union all select data from eff_users where `delete` = 0 and uid = ? union all select data from eff_users where `delete` = 0 and uid = ?
union all select data from items_users where inOdet > 0 and `delete` = 0 and uid = ?'; union all select data from items_users where inodet > 0 and `delete` = 0 and uid = ?';
$datas = Db::getColumn($q, array_fill(0, 3, $this->ue['id'])); $datas = Db::getColumn($q, array_fill(0, 3, $this->ue['id']));
$stats = array_fill_keys(['s1', 's2', 's3', 's5', 's6'], 0); $stats = array_fill_keys(['s1', 's2', 's3', 's5', 's6'], 0);
foreach ($datas as $data) { foreach ($datas as $data) {

View File

@ -433,7 +433,7 @@ class Quests
} }
if (isset($d['add_rep'])) { if (isset($d['add_rep'])) {
$t .= 'Репутация ' . $u->city_name[$pl['city']] . ': ' . $d['add_rep'] . '<br>'; $t .= 'Репутация ' . $pl['city'] . ': ' . $d['add_rep'] . '<br>';
} }
if (isset($d['add_repizlom'])) { if (isset($d['add_repizlom'])) {
@ -582,7 +582,7 @@ class Quests
return $r; return $r;
} }
public function testquest() public function testquest(): void
{ {
global $u; global $u;
if ($u->info['battle'] == 0 && $u->room['name'] != 'Башня Смерти') { if ($u->info['battle'] == 0 && $u->room['name'] != 'Башня Смерти') {
@ -749,12 +749,9 @@ class Quests
} }
unset($x, $i, $ii, $ex, $x2, $bot2, $ex2); unset($x, $i, $ii, $ex, $x2, $bot2, $ex2);
if ($pl['city'] != '') { if ($pl['city'] != '') {
$t .= '' . $d['add_rep'] . ' ед. репутации ' . $u->city_name[$pl['city']] . ', '; $t .= '' . $d['add_rep'] . ' ед. репутации ' . $pl['city'] . ', ';
$rep = mysql_fetch_array(mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $u->info['id'] . '" LIMIT 1')); $rep = mysql_fetch_array(mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'));
// Рыцарки
/*if($rep['rep'.$pl['city']] < 10000 && $rep['rep'.$pl['city']] + $d['add_rep'] >= 10000 && $pl['kin'] != 1) {
$rep['rep'.$pl['city']] = 9999;
} else*/
if ($rep['rep' . $pl['city']] < 24999 && $rep['rep' . $pl['city']] + $d['add_rep'] >= 24999 && $pl['kin'] != 2) { if ($rep['rep' . $pl['city']] < 24999 && $rep['rep' . $pl['city']] + $d['add_rep'] >= 24999 && $pl['kin'] != 2) {
$rep['rep' . $pl['city']] = 24999; $rep['rep' . $pl['city']] = 24999;
} else { } else {
@ -976,7 +973,7 @@ class Quests
if ($this->stats['more_awards'] >= 0) { if ($this->stats['more_awards'] >= 0) {
$d['add_rep'] += $d['add_rep'] / 100 * 50; $d['add_rep'] += $d['add_rep'] / 100 * 50;
} }
$t .= '' . $d['add_rep'] . ' ед. репутации ' . $u->city_name[$quest['city']] . ', '; $t .= '' . $d['add_rep'] . ' ед. репутации ' . $quest['city'] . ', ';
if ( if (
$rep['rep' . $quest['city']] < 24999 && $rep['rep' . $quest['city']] < 24999 &&
$rep['rep' . $quest['city']] + $d['add_rep'] >= 24999 && $rep['rep' . $quest['city']] + $d['add_rep'] >= 24999 &&

File diff suppressed because it is too large Load Diff

View File

@ -31,7 +31,7 @@ class Clan
} }
} }
private function join(string $clanname) private function join(string $clanname): void
{ {
Db::sql('update users set clan = (select id from clan where clan.name = ?) where id = ?', [$clanname, $this->userid]); Db::sql('update users set clan = (select id from clan where clan.name = ?) where id = ?', [$clanname, $this->userid]);
} }
@ -46,7 +46,7 @@ class Clan
return $this->status; return $this->status;
} }
public function printClan() public function printClan(): void
{ {
echo '<img style="vertical-align:text-bottom;" src="' . Config::img() . '/i/align/align' . $this->getAlign() . '.gif" alt="Склонность">' . $this->printLogoImage() . $this->getName(); echo '<img style="vertical-align:text-bottom;" src="' . Config::img() . '/i/align/align' . $this->getAlign() . '.gif" alt="Склонность">' . $this->printLogoImage() . $this->getName();
} }
@ -88,4 +88,9 @@ class Clan
{ {
return !empty($this->id) && $this->status === 0; return !empty($this->id) && $this->status === 0;
} }
public static function addExp(int $value, int $clanid): void
{
Db::sql('update clan set exp = exp + ? where id = ?',[max($value,0), $clanid]);
}
} }

View File

@ -148,6 +148,11 @@ insert into eff_users
Db::sql('delete from eff_users where id in (?) and uid = ?', [implode(',', $ids), $userId]); Db::sql('delete from eff_users where id in (?) and uid = ?', [implode(',', $ids), $userId]);
} }
public static function removePriems(int $userid): void
{
Db::sql("delete from eff_users where v1 = 'priem' and uid = ?", [$userid]);
}
public static function hasAttackTimeLimit(int $attackerId): bool public static function hasAttackTimeLimit(int $attackerId): bool
{ {
return Db::getValue('select count(*) from eff_users where id_eff = 478 and `delete` = 0 and uid = ?', [$attackerId]) > 0; return Db::getValue('select count(*) from eff_users where id_eff = 478 and `delete` = 0 and uid = ?', [$attackerId]) > 0;
@ -166,14 +171,14 @@ insert into eff_users
/** /**
* Духовность. Спасение. * Духовность. Спасение.
* Из свитка нападения. * Из свитка нападения.
* @param $id * @param $uid
* @return void * @return void
*/ */
public static function addSpasenie($id): void public static function addSpasenie($uid): void
{ {
Db::sql('delete from eff_users where uid = ? and overType = 101'); self::removeByOverType($uid, 101);
Db::sql("insert into eff_users (id_eff, uid, name, data, overType, timeUse, user_use, v1, v2, img2, bj, mark) Db::sql("insert into eff_users (id_eff, uid, name, data, overType, timeUse, user_use, v1, v2, img2, bj, mark)
values (22,?,'Спасение','add_spasenie=1',101,77,?,'priem',324,'preservation.gif','спасение',1)", [$id, $id]); values (22,?,'Спасение','add_spasenie=1',101,77,?,'priem',324,'preservation.gif','спасение',1)", [$uid, $uid]);
} }

View File

@ -73,7 +73,7 @@ class ItemsModel
return [ return [
'now' => Db::getValue('select sum(massa) from items_users left join items_main on item_id = items_main.id 'now' => Db::getValue('select sum(massa) from items_users left join items_main on item_id = items_main.id
where uid = ? and (`delete` = 0 or (`delete` = 1000 and inGroup > 0)) and inShop = 0 and inOdet = 0', [$uid]), where uid = ? and (`delete` = 0 or (`delete` = 1000 and inGroup > 0)) and inShop = 0 and inOdet = 0', [$uid]),
'max' => 40 + ($stats['os7'] * 10) + $stats['s4'] + $stats['maxves'] + $stats['s1'] * 4, 'max' => 40 + (($stats['os7'] ?? 0) * 10) + $stats['s4'] + $stats['maxves'] + $stats['s1'] * 4,
'items' => Db::getValue('select count(*) from items_users where uid = ? and `delete` = 0 and inShop = 0 and inOdet = 0', [$uid]), 'items' => Db::getValue('select count(*) from items_users where uid = ? and `delete` = 0 and inShop = 0 and inOdet = 0', [$uid]),
]; ];
} }

View File

@ -0,0 +1,23 @@
<?php
namespace User;
use Core\Config;
readonly final class Login
{
public string $fullLogin;
public function __construct(
int|string|null $align,
int|string|null $clanName,
int $level,
string $login
) {
$imgBase = Config::img() . DIRECTORY_SEPARATOR . 'i';
$alignStr = empty($align) ? '' : "<img src='$imgBase/align/align$align.gif' alt=''>";
$clanStr = empty($clanName) ? '' : "<img src='$imgBase/clan/$clanName.gif' alt='$clanName'>";
$spacedLogin = str_replace(' ', '%20', $login);
$loginLink = "<a href='/inf.php?login=$spacedLogin' target='_blank'><img src='$imgBase/inf.gif' title='Инф. о $login' alt='Инф. о $login'></a>";
$this->fullLogin = "$alignStr$clanStr<strong>$login</strong> [$level]$loginLink";
}
}

View File

@ -12,21 +12,11 @@ class Reputation
public function __construct(int $userid) public function __construct(int $userid)
{ {
$this->uid = $userid; $this->uid = $userid;
$this->r = Db::getRow( $this->r = $this->getr();
'select *,
(repcapitalcity+repdemonscity+repangelscity+repsuncity+repdreamscity+repabandonedplain+repsandcity+repemeraldscity+repdevilscity) as allrep,
(nu_capitalcity+nu_demonscity+nu_angelscity+nu_suncity+nu_dreamscity+nu_abandonedplain+nu_sandcity+nu_emeraldscity+nu_devilscity) as allnurep
from rep where id = ?', [$this->uid]
);
if (empty($this->r)) { if (empty($this->r)) {
Db::sql('insert into rep (id) value (?)', [$this->uid]); Db::sql('insert into rep (id) value (?)', [$this->uid]);
$this->r = Db::getRow( $this->r = $this->getr();
'select *,
(repcapitalcity+repdemonscity+repangelscity+repsuncity+repdreamscity+repabandonedplain+repsandcity+repemeraldscity+repdevilscity) as allrep,
(nu_capitalcity+nu_demonscity+nu_angelscity+nu_suncity+nu_dreamscity+nu_abandonedplain+nu_sandcity+nu_emeraldscity+nu_devilscity) as allnurep
from rep where id = ?', [$this->uid]
);
} }
} }
@ -35,7 +25,7 @@ class Reputation
return $this->r; return $this->r;
} }
public function addRep(string $dungeonName, int $value): int public function addRep(string $dungeonName, int $value): mixed
{ {
if (!isset($this->r[$dungeonName]) || $value <= 0) { if (!isset($this->r[$dungeonName]) || $value <= 0) {
return 0; return 0;
@ -44,4 +34,14 @@ class Reputation
Db::sql("update rep set $dungeonName = ? where id = ?", [$value, $this->uid]); Db::sql("update rep set $dungeonName = ? where id = ?", [$value, $this->uid]);
return $this->r[$dungeonName]; return $this->r[$dungeonName];
} }
private function getr()
{
return Db::getRow(
'select *,
(repcapitalcity+repdemonscity+repangelscity+repsuncity+repdreamscity+repabandonedplain+repsandcity+repemeraldscity+repdevilscity) as allrep,
(nu_capitalcity+nu_demonscity+nu_angelscity+nu_suncity+nu_dreamscity+nu_abandonedplain+nu_sandcity+nu_emeraldscity+nu_devilscity) as allnurep
from rep where id = ?', [$this->uid]
);
}
} }

View File

@ -123,23 +123,21 @@ class Stats
]; ];
} }
public function getStats(int|array|null $uid = null, $i1 = 0, $res = 0, $reimg = false, $btl_cache = false): array public function getStats(int|array|null $uid = null, $i1 = 0, $reimg = false, $btl_cache = false): array
{ {
if (empty($uid) || $uid == $this->u->info['id'] && $res != 1) { $u = match (true) {
//$u = $this->u->info; empty($uid) => $this->u->info,
$u = User::getInfo($uid); is_array($uid) => $uid,
} elseif (is_array($uid)) { default => User::getInfo($uid),
$u = $uid; };
} else {
$u = User::getInfo($uid);
}
if (!isset($u['id'])) { if (!isset($u['id'])) {
return []; return [];
} }
// Как? Нахуя 4 переменные разные для одного и того же? // Как? Нахуя 4 переменные разные для одного и того же?
$st = array_fill_keys($this->sysNames, 0); $st = array_fill_keys(array_keys($this->sysNames), 0);
$sti = $st; $sti = $st;
$s_v = $st; $s_v = $st;
$s_vi = $st; $s_vi = $st;
@ -171,9 +169,12 @@ class Stats
$st['items'] = []; $st['items'] = [];
$st['effects'] = []; $st['effects'] = [];
$st['vip'] = $u['vip']; $st['vip'] = $u['vip'];
foreach (Conversion::dataStringToArray($u['stats']) as $stat => $value) { foreach (Conversion::dataStringToArray($u['stats']) as $stat => $value) {
//fixme несуществующие статы mg5 mg6 a6 s8-s15
$this->addKeyIfNotExist($stat, (int)$value, $st); $this->addKeyIfNotExist($stat, (int)$value, $st);
} }
@ -285,22 +286,24 @@ class Stats
// мф.анти-уворот = 2.5 // мф.анти-уворот = 2.5
$st['m5'] += $st['s2'] * 5; $st['m5'] += $st['s2'] * 5;
$st['za'] += $st['s4'] * 1.0; $st['za'] += $st['s4'];
$st['m19'] += (int)($st['s3'] * 0.03);
$st['m19'] += round($st['s3'] * 0.03);
//Мощности
//Мощность против "Мощность крит. урона". Гамс
$st['antm3'] += $st['s5'] * 0.5;
//Бонусы комплектов //Бонусы комплектов
if (is_iterable($coms['new'])) { if (is_iterable($coms['new'])) {
foreach ($coms['new'] as $complect) { foreach ($coms['new'] as $complect) {
$com = Db::getValue('select data from complects where com = ? and x <= ? order by x desc limit 1', $com = Db::getValue(
'select data from complects where com = ? and x <= ? order by x desc limit 1',
[ [
(int)$complect, (int)$complect,
(int)$coms['com'][$complect], // кол-во предметов данного комплекта (int)$coms['com'][$complect], // кол-во предметов данного комплекта
]); ]
);
if (!$com) { if (!$com) {
continue; continue;
@ -322,33 +325,19 @@ class Stats
//Бонусы статов //Бонусы статов
$this->addStatBonuses($st); $this->addStatBonuses($st);
//если второе оружие одето /* Владения */
if ($hnd2 == 1 && $hnd1 == 1) {
$st['zona']++;
}
if ($sht1 == 1) {
$st['zonb']++;
}/* Владения */
//mib1-mib4, mab1-mab4 armor?? //mib1-mib4, mab1-mab4 armor??
if (isset($st['s5'])) { if (!empty($st['s5'])) {
$st['pm1'] += $st['s5'] * 0.5; $st['pm1'] += (int)($st['s5'] * 0.5);
$st['pm2'] += $st['s5'] * 0.5; $st['pm2'] += (int)($st['s5'] * 0.5);
$st['pm3'] += $st['s5'] * 0.5; $st['pm3'] += (int)($st['s5'] * 0.5);
$st['pm4'] += $st['s5'] * 0.5; $st['pm4'] += (int)($st['s5'] * 0.5);
$st['pm7'] += $st['s5'] * 0.5; $st['pm7'] += (int)($st['s5'] * 0.5);
} }
if (isset($st['m11a'])) { if (!empty($st['aall'])) {
$st['pm1'] += $st['m11a'] * 0.5;
$st['pm2'] += $st['m11a'] * 0.5;
$st['pm3'] += $st['m11a'] * 0.5;
$st['pm4'] += $st['m11a'] * 0.5;
$st['pm7'] += $st['m11a'] * 0.5;
}
if (isset($st['aall'])) {
$st['a1'] += $st['aall']; $st['a1'] += $st['aall'];
$st['a2'] += $st['aall']; $st['a2'] += $st['aall'];
$st['a3'] += $st['aall']; $st['a3'] += $st['aall'];
@ -356,56 +345,35 @@ class Stats
$st['a5'] += $st['aall']; $st['a5'] += $st['aall'];
} }
if (isset($st['m2all'])) { if (!empty($st['zm'])) {
$st['mg1'] += $st['m2all'];
$st['mg2'] += $st['m2all'];
$st['mg3'] += $st['m2all'];
$st['mg4'] += $st['m2all'];
$st['mg7'] += $st['m2all'];
}
if (isset($st['zm'])) {
$st['zm1'] += $st['zm']; $st['zm1'] += $st['zm'];
$st['zm2'] += $st['zm']; $st['zm2'] += $st['zm'];
$st['zm3'] += $st['zm']; $st['zm3'] += $st['zm'];
$st['zm4'] += $st['zm']; $st['zm4'] += $st['zm'];
$st['zm5'] += $st['zm'];
$st['zm6'] += $st['zm'];
$st['zm7'] += $st['zm'];
} }
if (isset($st['zma'])) { if (!empty($st['mall'])) {
$st['zm1'] += $st['zma'];
$st['zm2'] += $st['zma'];
$st['zm3'] += $st['zma'];
$st['zm4'] += $st['zma'];
$st['zm5'] += $st['zma'];
$st['zm6'] += $st['zma'];
$st['zm7'] += $st['zma'];
}
if (isset($st['mall'])) {
$st['mg1'] += $st['mall']; $st['mg1'] += $st['mall'];
$st['mg2'] += $st['mall']; $st['mg2'] += $st['mall'];
$st['mg3'] += $st['mall']; $st['mg3'] += $st['mall'];
$st['mg4'] += $st['mall']; $st['mg4'] += $st['mall'];
} }
if (isset($st['m11'])) { if (!empty($st['m11'])) {
$st['pm1'] += $st['m11']; $st['pm1'] += $st['m11'];
$st['pm2'] += $st['m11']; $st['pm2'] += $st['m11'];
$st['pm3'] += $st['m11']; $st['pm3'] += $st['m11'];
$st['pm4'] += $st['m11']; $st['pm4'] += $st['m11'];
} }
if (isset($st['m10'])) { if (!empty($st['m10'])) {
$st['pa1'] += $st['m10']; $st['pa1'] += $st['m10'];
$st['pa2'] += $st['m10']; $st['pa2'] += $st['m10'];
$st['pa3'] += $st['m10']; $st['pa3'] += $st['m10'];
$st['pa4'] += $st['m10']; $st['pa4'] += $st['m10'];
} }
if (isset($st['za'])) { if (!empty($st['za'])) {
$st['za1'] += $st['za']; $st['za1'] += $st['za'];
$st['za2'] += $st['za']; $st['za2'] += $st['za'];
$st['za3'] += $st['za']; $st['za3'] += $st['za'];
@ -413,16 +381,16 @@ class Stats
} }
if (!empty($st['hpVinos'])) { if (!empty($st['hpVinos'])) {
$st['hpall'] += round($st['hpVinos'] * $st['s4']); $st['hpall'] += (int)($st['hpVinos'] * $st['s4']);
} }
if (!empty($st['mpVinos'])) { if (!empty($st['mpVinos'])) {
$st['mpall'] += round($st['mpVinos'] * $st['s6']); $st['mpall'] += (int)($st['mpVinos'] * $st['s6']);
} }
if (!empty($st['hpProc'])) { if (!empty($st['hpProc'])) {
$st['hpall'] += round($st['hpall'] / 100 * $st['hpProc']); $st['hpall'] += (int)($st['hpall'] / 100 * $st['hpProc']);
} }
if (!empty($st['mpProc'])) { if (!empty($st['mpProc'])) {
$st['mpall'] += round($st['mpall'] / 100 * $st['mpProc']); $st['mpall'] += (int)($st['mpall'] / 100 * $st['mpProc']);
} }
//Реген. - 250 ед. //Реген. - 250 ед.
@ -431,6 +399,15 @@ class Stats
$st['mpNow'] = Comparsion::minimax($st['mpNow'], 0, $st['mpall']); $st['mpNow'] = Comparsion::minimax($st['mpNow'], 0, $st['mpall']);
//зоны блока и удара //зоны блока и удара
//если второе оружие одето
if ($hnd2 == 1 && $hnd1 == 1) {
$st['zona']++;
}
if ($sht1 == 1) {
$st['zonb']++;
}
if ($st['zona'] < 1) { if ($st['zona'] < 1) {
$st['zona'] = 1; $st['zona'] = 1;
} }
@ -474,12 +451,9 @@ class Stats
$st['btl_cof'] = $st['prckr']; $st['btl_cof'] = $st['prckr'];
Db::sql('update stats set btl_cof = ? where id = ?', [$st['prckr'], $st['id']]); Db::sql('update stats set btl_cof = ? where id = ?', [$st['prckr'], $st['id']]);
} }
if ($st['hpall'] < 1) {
$st['hpall'] = 1; $st['hpall'] = max($st['hpall'], 1);
} $st['mpall'] = max($st['mpall'], 0);
if ($st['mpall'] < 0) {
$st['mpall'] = 0;
}
if (stristr($u['login'], '(зверь ') || (stristr($u['login'], 'Каменный страж') && $u['ip'] == '0')) { if (stristr($u['login'], '(зверь ') || (stristr($u['login'], 'Каменный страж') && $u['ip'] == '0')) {
$st['this_animal'] = 1; $st['this_animal'] = 1;
@ -496,8 +470,8 @@ class Stats
} else { } else {
$rt = $st; $rt = $st;
} }
if ($u['hpAll'] != $st['hpall'] || $u['mpAll'] != $st['mpall']) { if ($u['hpAll'] != $st['hpAll'] || $u['mpAll'] != $st['mpAll']) {
Db::sql('update stats set hpAll = ?, mpAll = ? where id = ?', [$st['hpall'], $st['mpall'], $u['id']]); Db::sql('update stats set hpAll = ?, mpAll = ? where id = ?', [$st['hpAll'], $st['mpAll'], $u['id']]);
} }
if ($btl_cache) { if ($btl_cache) {
$dataca = [ $dataca = [
@ -530,9 +504,11 @@ class Stats
{ {
//Характеристики от предметов //ТУТ tr_lvl //Характеристики от предметов //ТУТ tr_lvl
// Вся вторая строчка - спасибо Users. // Вся вторая строчка - спасибо Users.
$wearedItems = Db::getRows('select type, data, inOdet, $wearedItems = Db::getRows(
'select type, data, inOdet,
item_id, inslot, useInBattle, btl_zd, iznosNOW, iznosMAX, magic_inci, name, items_users.id, img, `2h` item_id, inslot, useInBattle, btl_zd, iznosNOW, iznosMAX, magic_inci, name, items_users.id, img, `2h`
from items_users left join items_main on items_main.id = item_id where inOdet != 0 and uid = ?', [$uid]); from items_users left join items_main on items_main.id = item_id where inOdet != 0 and uid = ?', [$uid]
);
$h = 0; $h = 0;
$hnd1 = 0; $hnd1 = 0;
@ -563,6 +539,7 @@ class Stats
5 => [70, 89,],//Великолепная 5 => [70, 89,],//Великолепная
]; ];
foreach ($wearedItems as $wearedItem) { foreach ($wearedItems as $wearedItem) {
$this->addKeyIfNotExist('wp' . $wearedItem['inOdet'] . 'id', $h, $st); $this->addKeyIfNotExist('wp' . $wearedItem['inOdet'] . 'id', $h, $st);
@ -590,48 +567,37 @@ class Stats
$this->addKeyIfNotExist('reting', 1, $st); $this->addKeyIfNotExist('reting', 1, $st);
} }
if (isset($data['add_oza'])) { # Пришлось зацикливать, уж больно однотипное.
$oza = array_fill_keys($oza, $ozaozmtypes[$data['add_oza']]); # oza[X][0,1] = add_ozaX[0,1] + add_oza[0,1]
# ozm[X][0,1] = add_ozmX[0,1] + add_ozm[0,1]
for ($i = 1; $i <= 4; $i++) {
if (!isset($data["add_oza$i"])) {
continue;
} }
if (isset($data['add_ozm'])) { if (isset($data['add_oza']) && in_array($data['add_oza'], range(1, 5))) {
$ozm = array_fill_keys($ozm, $ozaozmtypes[$data['add_ozm']]); $oza[$i][0] += $ozaozmtypes[$data['add_oza']][0];
$oza[$i][1] += $ozaozmtypes[$data['add_oza']][1];
}
if (isset($data['add_ozm']) && in_array($data['add_ozm'], range(1, 5))) {
$ozm[$i][0] += $ozaozmtypes[$data['add_ozm']][0];
$ozm[$i][1] += $ozaozmtypes[$data['add_ozm']][1];
} else { } else {
$ozm = array_fill_keys($ozm, $ozaozmtypes[1]); $ozm[$i][0] += $ozaozmtypes[1][0];
$ozm[$i][1] += $ozaozmtypes[1][1];
} }
if (in_array($data['add_oza1'], range(1, 5))) { if (in_array($data["add_oza$i"], range(1, 5))) {
$oza[1] = $ozaozmtypes[$data['add_oza1']]; $oza[$i][0] += $ozaozmtypes[$data["add_oza$i"]][0];
$oza[$i][1] += $ozaozmtypes[$data["add_oza$i"]][1];
} }
if (in_array($data['add_oza2'], range(1, 5))) { if (isset($data["add_ozm$i"]) && in_array($data["add_ozm$i"], range(1, 5))) {
$oza[2] = $ozaozmtypes[$data['add_oza2']]; $ozm[$i][0] += $ozaozmtypes[$data["add_ozm$i"]][0];
} $ozm[$i][1] += $ozaozmtypes[$data["add_ozm$i"]][1];
if (in_array($data['add_oza3'], range(1, 5))) {
$oza[3] = $ozaozmtypes[$data['add_oza3']];
}
if (in_array($data['add_oza4'], range(1, 5))) {
$oza[4] = $ozaozmtypes[$data['add_oza4']];
}
if (in_array($data['add_ozm1'], range(1, 5))) {
$ozm[1] = $ozaozmtypes[$data['add_ozm1']];
} else { } else {
$ozm[1] = $ozaozmtypes[1]; $ozm[$i][0] += $ozaozmtypes[1][0];
$ozm[$i][1] += $ozaozmtypes[1][1];
} }
if (in_array($data['add_ozm2'], range(1, 5))) {
$ozm[2] = $ozaozmtypes[$data['add_ozm2']];
} else {
$ozm[2] = $ozaozmtypes[1];
}
if (in_array($data['add_ozm3'], range(1, 5))) {
$ozm[3] = $ozaozmtypes[$data['add_ozm3']];
} else {
$ozm[3] = $ozaozmtypes[1];
}
if (in_array($data['add_ozm4'], range(1, 5))) {
$ozm[4] = $ozaozmtypes[$data['add_ozm4']];
} else {
$ozm[4] = $ozaozmtypes[1];
} }
if (isset($data['art'])) { if (isset($data['art'])) {
@ -1080,7 +1046,7 @@ class Stats
private function addIntelligenceBonuses(array &$st): void private function addIntelligenceBonuses(array &$st): void
{ {
//интелект //интелект
if ($st['s5'] > 24 && $st['s5'] < 50) { if ($st['s5'] > 24 && $st['s5'] < 50) {
$st['m11'] += 10; $st['m11'] += 10;
} }
@ -1110,7 +1076,7 @@ class Stats
private function addWisdomBonuses(array &$st): void private function addWisdomBonuses(array &$st): void
{ {
//мудрость //мудрость
if ($st['s6'] > 24 && $st['s6'] < 50) { if ($st['s6'] > 24 && $st['s6'] < 50) {
$st['mpall'] += 150; $st['mpall'] += 150;
$st['speedmp'] += 100; $st['speedmp'] += 100;
@ -1151,7 +1117,8 @@ class Stats
private function addDungeonsBonuses(int $id, array &$st): void private function addDungeonsBonuses(int $id, array &$st): void
{ {
$finishedDungeons = Db::getValue('select $finishedDungeons = Db::getValue(
'select
if(repcapitalcity > 24999, 1, 0) + if(repcapitalcity > 24999, 1, 0) +
if(repdemonscity > 24999, 1, 0) + if(repdemonscity > 24999, 1, 0) +
if(repangelscity > 24999, 1, 0) + if(repangelscity > 24999, 1, 0) +
@ -1161,10 +1128,15 @@ class Stats
if(repsandcity > 24999, 1, 0) + if(repsandcity > 24999, 1, 0) +
if(repemeraldscity > 24999, 1, 0) + if(repemeraldscity > 24999, 1, 0) +
if(repizlom > 24999, 1, 0) + if(repizlom > 24999, 1, 0) +
0 as finished from rep where id = ?', [$id]); 0 as finished from rep where id = ?', [$id]
);
//Бонус за количество полностью вырытых пещер. //Бонус за количество полностью вырытых пещер.
if (isset($st['m10'])) {
$st['m10'] += 10 * $finishedDungeons; $st['m10'] += 10 * $finishedDungeons;
} else {
$st['m10'] = 10 * $finishedDungeons;
}
} }
private function addAdminBonuses(array $u, array &$st): void private function addAdminBonuses(array $u, array &$st): void
@ -1180,10 +1152,12 @@ class Stats
return; return;
} }
Db::sql("update stats set Db::sql(
"update stats set
tactic1 = tactic2 = tactic3 = tactic4 = tactic5 = tactic6 = tactic7 = 25, tactic1 = tactic2 = tactic3 = tactic4 = tactic5 = tactic6 = tactic7 = 25,
priems_z = '0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|' priems_z = '0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|'
where id = ?", [$u['id']]); where id = ?", [$u['id']]
);
} }
/** Переименовывает элементы массива с несовпадающими с остальным скриптом именами полей. /** Переименовывает элементы массива с несовпадающими с остальным скриптом именами полей.
@ -1192,11 +1166,69 @@ class Stats
*/ */
private function renameArrayKeys(array &$st): void private function renameArrayKeys(array &$st): void
{ {
if (isset($st['level'])) {
$st['lvl'] = $st['level']; $st['lvl'] = $st['level'];
}
if (isset($st['hpall'])) {
$st['hpAll'] = $st['hpall'];
}
if (isset($st['mpall'])) {
$st['mpAll'] = $st['mpall'];
}
if (isset($st['hpnow'])) {
$st['hpNow'] = $st['hpnow']; $st['hpNow'] = $st['hpnow'];
}
if (isset($st['mpnow'])) {
$st['mpNow'] = $st['mpnow']; $st['mpNow'] = $st['mpnow'];
}
unset($st['level'], $st['hpnow'], $st['mpnow']); unset($st['level'], $st['hpnow'], $st['mpnow'], $st['hpall'], $st['mpall']);
} }
public static function saveBattleStats(array $stats, int $id): void
{
if (!isset(
$stats['hpnow'],
$stats['mpNow'],
$stats['tactic1'],
$stats['tactic2'],
$stats['tactic3'],
$stats['tactic4'],
$stats['tactic5'],
$stats['tactic6'],
$stats['tactic7'],
$stats['enemy'],
$stats['battle_yron'],
$stats['battle_exp'],
$stats['last_hp'],
$stats['priems_z'],
)
) {
return;
}
Db::sql(
'update stats set hpNow = ?,mpNow = ?,
tactic1 = ?,tactic2 = ?,tactic3 = ?,tactic4 = ?,tactic5 = ?,tactic6 = ?,tactic7 = ?,
enemy = ?,battle_yron = ?,last_hp = ?,battle_exp = ?,priems_z = ?
where id = ?',
[
$stats['hpnow'],
$stats['mpNow'],
$stats['tactic1'],
$stats['tactic2'],
$stats['tactic3'],
$stats['tactic4'],
$stats['tactic5'],
$stats['tactic6'],
$stats['tactic7'],
$stats['enemy'],
$stats['battle_yron'],
$stats['battle_exp'],
$stats['last_hp'],
$stats['priems_z'],
$id,
]
);
}
} }

View File

@ -107,7 +107,7 @@ $pvr = array();
} }
// //
$pvr['x5']['priem']['id'] = $pvr['x5']['v2']; $pvr['x5']['priem']['id'] = $pvr['x5']['v2'];
$btl->delPriem($pvr['x5'],$btl->users[$btl->uids[$this->ue['id']]],2); $btl->delPriem($pvr['x5'], $btl->users[$btl->uids[$this->ue['id']]], 2);
// //
//Добавляем прием //Добавляем прием

View File

@ -107,7 +107,7 @@ $pvr = array();
} }
// //
$pvr['x5']['priem']['id'] = $pvr['x5']['v2']; $pvr['x5']['priem']['id'] = $pvr['x5']['v2'];
$btl->delPriem($pvr['x5'],$btl->users[$btl->uids[$this->ue['id']]],2); $btl->delPriem($pvr['x5'], $btl->users[$btl->uids[$this->ue['id']]], 2);
// //
//Добавляем прием //Добавляем прием

View File

@ -107,7 +107,7 @@ $pvr = array();
} }
// //
$pvr['x5']['priem']['id'] = $pvr['x5']['v2']; $pvr['x5']['priem']['id'] = $pvr['x5']['v2'];
$btl->delPriem($pvr['x5'],$btl->users[$btl->uids[$this->ue['id']]],2); $btl->delPriem($pvr['x5'], $btl->users[$btl->uids[$this->ue['id']]], 2);
// //
//Добавляем прием //Добавляем прием

View File

@ -1,105 +1,102 @@
<?php <?php
if(!defined('GAME')) { if (!defined('GAME')) {
die(); die();
} }
/* /*
Прием: Вломить Прием: Вломить
Следующий удар по противнику наносит на 4 ед. больше Следующий удар по противнику наносит на 4 ед. больше
*/ */
$pvr = array(); $pvr = [];
if( isset($pr_tested_this) ) { if (isset($pr_tested_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $btl;
//
//Параметры приема //Параметры приема
$pvr['used'] = 0; $pvr['used'] = 0;
//
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid1 ) { if ($uid == $uid1) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid2 ) { } elseif ($uid == $uid2) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) { if (isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'" AND `uid` = "'.$uid.'" LIMIT 1'); mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3] . '" AND `uid` = "' . $uid . '" LIMIT 1');
unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]); unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]);
} }
//
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}elseif( isset($pr_used_this) ) { } elseif (isset($pr_used_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $btl;
//
//Параметры приема //Параметры приема
$pvr['used'] = 0; $pvr['used'] = 0;
//
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid1 ) { if ($uid == $uid1) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid2 ) { } elseif ($uid == $uid2) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( $a > 0 ) { if ($a > 0) {
$j = 0; $k = 0; $wp = 3; $j = 0;
while($j < count($at['p'][$a]['atack'])) { $k = 0;
if( isset($at['p'][$a]['atack'][$j]['yron']) && ( $wp = 3;
while ($j < count($at['p'][$a]['atack'])) {
if (isset($at['p'][$a]['atack'][$j]['yron']) && (
$at['p'][$a]['atack'][$j][1] == 1 || $at['p'][$a]['atack'][$j][1] == 1 ||
$at['p'][$a]['atack'][$j][1] == 4 || $at['p'][$a]['atack'][$j][1] == 4 ||
$at['p'][$a]['atack'][$j][1] == 5 )) { $at['p'][$a]['atack'][$j][1] == 5)) {
if( $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) { if ($pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
// //
$pvr['hp'] = 4; $pvr['hp'] = 4;
$pvr['hp'] = $btl->testYronPriem( $u1, $u2, 12, $pvr['hp'], -1, true, false, 0 ); $pvr['hp'] = $btl->testYronPriem($u1, $u2, 12, $pvr['hp'], -1, true, false, 0);
$pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$u2.'" AND `v2` = "249" AND `delete` = 0 LIMIT 1')); $pvr['mg'] = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "' . $u2 . '" AND `v2` = "249" AND `delete` = 0 LIMIT 1'));
if( $pvr['hp'] <= 1 && isset($pvr['mg'])) { if ($pvr['hp'] <= 1 && isset($pvr['mg'])) {
$pvr['hp'] = 0; $pvr['hp'] = 0;
$at['p'][$a]['atack'][$j]['yron']['y'] = 1; $at['p'][$a]['atack'][$j]['yron']['y'] = 1;
$at['p'][$a]['atack'][$j]['yron']['r'] = -1; $at['p'][$a]['atack'][$j]['yron']['r'] = -1;
$at['p'][$a]['atack'][$j]['yron']['k'] = 1; $at['p'][$a]['atack'][$j]['yron']['k'] = 1;
$at['p'][$a]['atack'][$j]['yron']['m_k'] = 1; $at['p'][$a]['atack'][$j]['yron']['m_k'] = 1;
$at['p'][$a]['atack'][$j]['yron']['m_y'] = 1; $at['p'][$a]['atack'][$j]['yron']['m_y'] = 1;
} } else {
else
//
{
$at['p'][$a]['atack'][$j]['yron']['y'] += $pvr['hp']; $at['p'][$a]['atack'][$j]['yron']['y'] += $pvr['hp'];
$at['p'][$a]['atack'][$j]['yron']['r'] -= $pvr['hp']; $at['p'][$a]['atack'][$j]['yron']['r'] -= $pvr['hp'];
$at['p'][$a]['atack'][$j]['yron']['k'] += $pvr['hp']; $at['p'][$a]['atack'][$j]['yron']['k'] += $pvr['hp'];
$at['p'][$a]['atack'][$j]['yron']['m_y'] += $pvr['hp']; $at['p'][$a]['atack'][$j]['yron']['m_y'] += $pvr['hp'];
$at['p'][$a]['atack'][$j]['yron']['m_k'] += $pvr['hp']; $at['p'][$a]['atack'][$j]['yron']['m_k'] += $pvr['hp'];
} }
//$at['p'][$a]['atack'][$j]['yron'] = $btl->testYronPriemAttack( 2 , $u1 , $u2 , $at['p'][$a]['atack'][$j]['yron'] );
// $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(2,' . (0 + $uid) . ',' . $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3] . ');
$at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(2,'.(0+$uid).','.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'); $this->priemAddLog( ' . $id . ', ' . $a . ', ' . $b . ', ' . $u1 . ', ' . $u2 . ',
$this->priemAddLog( '.$id.', '.$a.', '.$b.', '.$u1.', '.$u2.', "' . $btl->stats[$btl->uids[$u1]]['effects'][$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]]['name'] . '",
"'.$btl->stats[$btl->uids[$u1]]['effects'][$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]]['name'].'", "{tm1} ' . $btl->addlt($a, 17, $btl->users[$btl->uids[$u1]]['sex'], null) . '",
"{tm1} '.$btl->addlt($a , 17 , $btl->users[$btl->uids[$u1]]['sex'] , NULL).'", ' . ($btl->hodID + 1) . ' );';
'.($btl->hodID + 1).' );';
//
$at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $uid, $pvr['used']];
$at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $uid, $pvr['kill']];
$at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$uid,$pvr['used']);
$at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$uid,$pvr['kill']);
//
$at['p'][$a]['priems']['kill'][$uid][$j_id] = true; $at['p'][$a]['priems']['kill'][$uid][$j_id] = true;
} }
} }
@ -109,10 +106,9 @@ if( isset($pr_tested_this) ) {
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}else{ } else {
//Действие при клике //Действие при клике
$this->addEffPr($pl,$id); $this->addEffPr($pl, $id);
} }
unset($pvr); unset($pvr);
?>

View File

@ -1,5 +1,5 @@
<?php <?php
if(!defined('GAME')) { if (!defined('GAME')) {
die(); die();
} }
/* /*
@ -8,30 +8,30 @@ if(!defined('GAME')) {
Цена: 2 маны - 1 ед. Цена: 2 маны - 1 ед.
Процент поглощения: 50% Процент поглощения: 50%
*/ */
$pvr = array(); $pvr = [];
//Действие при клике //Действие при клике
if( isset($pr_momental_this)) { if (isset($pr_momental_this)) {
$fx_moment = function( $uid, $enemy, $j_id, $yron, $profil ) { $fx_moment = function ($uid, $enemy, $j_id, $yron, $profil) {
if(!isset($btl->stats[$btl->uids[$uid]]['um_priem'][$j_id])) { if (!isset($btl->stats[$btl->uids[$uid]]['um_priem'][$j_id])) {
global $u, $btl; global $u, $btl;
$prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]; $prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0];
$prv['priem_th'] = $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id']; $prv['priem_th'] = $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id'];
$yron = $btl->testPogB($uid,$yron,$btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id']); $yron = $btl->testPogB($uid, $yron, $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id']);
$btl->testPogB($uid,1,$btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id'],1); $btl->testPogB($uid, 1, $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id'], 1);
//$btl->stats[$btl->uids[$uid]]['um_priem'][$j_id] //$btl->stats[$btl->uids[$uid]]['um_priem'][$j_id]
/*$btl->priemAddLogFast( $uid, 0, "Призрачная защита", /*$btl->priemAddLogFast( $uid, 0, "Призрачная защита",
'{tm1} '.$btl->addlt(1 , 17 , $btl->users[$btl->uids[$uid]]['sex'] , NULL).'', '{tm1} '.$btl->addlt(1 , 17 , $btl->users[$btl->uids[$uid]]['sex'] , NULL).'',
0, time() );*/ 0, time() );*/
if( $yron < 0 ) { if ($yron < 0) {
$yron = 0; $yron = 0;
} }
$btl->stats[$btl->uids[$uid]]['um_priem'][$j_id] = true; $btl->stats[$btl->uids[$uid]]['um_priem'][$j_id] = true;
} }
return round($yron); return round($yron);
}; };
}elseif( isset($pr_tested_this) ) { } elseif (isset($pr_tested_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $u, $btl;
// //
@ -40,28 +40,25 @@ if( isset($pr_momental_this)) {
// //
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid2 ) { if ($uid == $uid2) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid1 ) { } elseif ($uid == $uid1) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) {
//mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'" AND `uid` = "'.$uid.'" LIMIT 1');
//unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]);
}
// //
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}elseif( isset($pr_used_this) ) { } elseif (isset($pr_used_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $u, $btl;
// //
@ -70,52 +67,69 @@ if( isset($pr_momental_this)) {
// //
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid2 ) { if ($uid == $uid2) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid1 ) { } elseif ($uid == $uid1) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( $a > 0 ) { if ($a > 0) {
$j = 0; $k = 0; $wp = 3; $j = 0;
$checktuman=mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid` = "'.$uid.'" $k = 0;
$wp = 3;
$checktuman = mysql_fetch_array(
mysql_query(
'SELECT * FROM `eff_users` WHERE `uid` = "' . $uid . '"
AND (`v2` = 273 OR `v2` = 286 OR `v2` = 287 OR `v2` = 288) AND (`v2` = 273 OR `v2` = 286 OR `v2` = 287 OR `v2` = 288)
AND `delete` =0 LIMIT 1')); //проверка на туманный образ AND `delete` =0 LIMIT 1'
if(!isset($checktuman['id'])) )
{ ); //проверка на туманный образ
while($j < count($at['p'][$a]['atack'])) { if (!isset($checktuman['id'])) {
if( isset($at['p'][$a]['atack'][$j]['yron']) && ( while ($j < count($at['p'][$a]['atack'])) {
if (isset($at['p'][$a]['atack'][$j]['yron']) && (
$at['p'][$a]['atack'][$j][1] == 1 || $at['p'][$a]['atack'][$j][1] == 1 ||
$at['p'][$a]['atack'][$j][1] == 4 || $at['p'][$a]['atack'][$j][1] == 4 ||
$at['p'][$a]['atack'][$j][1] == 5 )) { $at['p'][$a]['atack'][$j][1] == 5)) {
//if( !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) { //if( !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) {
// //
$prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0]; $prv['j_priem'] = $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][0];
$prv['priem_th'] = $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id']; $prv['priem_th'] = $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id'];
// //
$attest = round($btl->testPogB($uid,$at['p'][$a]['atack'][$j]['yron']['y'],$btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id'])); $attest = round($btl->testPogB($uid, $at['p'][$a]['atack'][$j]['yron']['y'], $btl->stats[$btl->uids[$uid]]['effects'][$prv['j_priem']]['id']));
if( $at['p'][$a]['atack'][$j]['yron']['y'] < 1 ) { $at['p'][$a]['atack'][$j]['yron']['y'] = 0; } if ($at['p'][$a]['atack'][$j]['yron']['y'] < 1) {
$at['p'][$a]['atack'][$j]['yron']['y'] = 0;
}
$at['p'][$a]['atack'][$j]['yron']['y'] = round($at['p'][$a]['atack'][$j]['yron']['y']/2); $at['p'][$a]['atack'][$j]['yron']['y'] = round($at['p'][$a]['atack'][$j]['yron']['y'] / 2);
$at['p'][$a]['atack'][$j]['yron']['r'] = round($at['p'][$a]['atack'][$j]['yron']['r']/2); $at['p'][$a]['atack'][$j]['yron']['r'] = round($at['p'][$a]['atack'][$j]['yron']['r'] / 2);
$at['p'][$a]['atack'][$j]['yron']['k'] = round($at['p'][$a]['atack'][$j]['yron']['k']/2); $at['p'][$a]['atack'][$j]['yron']['k'] = round($at['p'][$a]['atack'][$j]['yron']['k'] / 2);
$at['p'][$a]['atack'][$j]['yron']['m_k'] = round($at['p'][$a]['atack'][$j]['yron']['m_k']1.2); $at['p'][$a]['atack'][$j]['yron']['m_k'] = round($at['p'][$a]['atack'][$j]['yron']['m_k'] / 1.2);
$at['p'][$a]['atack'][$j]['yron']['m_y'] = round($at['p'][$a]['atack'][$j]['yron']['m_y']/2); $at['p'][$a]['atack'][$j]['yron']['m_y'] = round($at['p'][$a]['atack'][$j]['yron']['m_y'] / 2);
if( $at['p'][$a]['atack'][$j]['yron']['y'] < 1 ) { $at['p'][$a]['atack'][$j]['yron']['y'] = 1; } if ($at['p'][$a]['atack'][$j]['yron']['y'] < 1) {
if( $at['p'][$a]['atack'][$j]['yron']['r'] >= 0 ) { $at['p'][$a]['atack'][$j]['yron']['r'] = -1; } $at['p'][$a]['atack'][$j]['yron']['y'] = 1;
if( $at['p'][$a]['atack'][$j]['yron']['k'] < 1 ) { $at['p'][$a]['atack'][$j]['yron']['k'] = 1; } }
if( $at['p'][$a]['atack'][$j]['yron']['m_k'] < 1 ) { $at['p'][$a]['atack'][$j]['yron']['m_k'] = 1; } if ($at['p'][$a]['atack'][$j]['yron']['r'] >= 0) {
if( $at['p'][$a]['atack'][$j]['yron']['m_y'] < 1 ) { $at['p'][$a]['atack'][$j]['yron']['m_y'] = 1; } $at['p'][$a]['atack'][$j]['yron']['r'] = -1;
}
if ($at['p'][$a]['atack'][$j]['yron']['k'] < 1) {
$at['p'][$a]['atack'][$j]['yron']['k'] = 1;
}
if ($at['p'][$a]['atack'][$j]['yron']['m_k'] < 1) {
$at['p'][$a]['atack'][$j]['yron']['m_k'] = 1;
}
if ($at['p'][$a]['atack'][$j]['yron']['m_y'] < 1) {
$at['p'][$a]['atack'][$j]['yron']['m_y'] = 1;
}
// //
$at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$uid,$pvr['used']); $at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $uid, $pvr['used']];
$at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$uid,$pvr['kill']); $at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $uid, $pvr['kill']];
// //
$at['p'][$a]['priems']['kill'][$uid][$j_id] = true; $at['p'][$a]['priems']['kill'][$uid][$j_id] = true;
//} //}
@ -127,17 +141,17 @@ if( isset($pr_momental_this)) {
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}else{ } else {
//Действие при клике //Действие при клике
$btl->priemAddLog( $id, 1, 2, $u->info['id'], $u->info['enemy'], $btl->priemAddLog(
$id, 1, 2, $u->info['id'], $u->info['enemy'],
'Магический Барьер [4]', 'Магический Барьер [4]',
'{tm1} '.$btl->addlt(1 , 21 , $btl->users[$btl->uids[$u->info['id']]]['sex'] , NULL).'', '{tm1} ' . $btl->addlt(1, 21, $btl->users[$btl->uids[$u->info['id']]]['sex'], null) . '',
($btl->hodID+1) ($btl->hodID + 1)
); );
echo '<font color=red><b>Вы успешно использовали прием &quot;Магический Барьер [4]&quot;</b></font>'; echo '<font color=red><b>Вы успешно использовали прием &quot;Магический Барьер [4]&quot;</b></font>';
$this->addEffPr($pl,$id); $this->addEffPr($pl, $id);
} }
unset($pvr); unset($pvr);
?>

View File

@ -1,14 +1,14 @@
<?php <?php
if(!defined('GAME')) { if (!defined('GAME')) {
die(); die();
} }
/* /*
Прием: Скрытая ловкость Прием: Скрытая ловкость
Уворот от 1-го удара и наносите контрудар Уворот от 1-го удара и наносите контрудар
*/ */
$pvr = array(); $pvr = [];
if( isset($pr_tested_this) ) { if (isset($pr_tested_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $u, $btl;
// //
@ -17,28 +17,28 @@ if( isset($pr_tested_this) ) {
// //
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid2 ) { if ($uid == $uid2) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid1 ) { } elseif ($uid == $uid1) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) { if (isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'" AND `uid` = "'.$uid.'" LIMIT 1'); mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3] . '" AND `uid` = "' . $uid . '" LIMIT 1');
unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]); unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]);
} }
// //
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}elseif( isset($pr_used_this) ) { } elseif (isset($pr_used_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $u, $btl;
// //
@ -47,58 +47,48 @@ if( isset($pr_tested_this) ) {
// //
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid2 ) { if ($uid == $uid2) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid1 ) { } elseif ($uid == $uid1) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( $a > 0 ) { if ($a > 0) {
$j = 0; $k = 0; $wp = 3; $j = 0;
while($j < count($at['p'][$a]['atack'])) { $k = 0;
if( $wp = 3;
while ($j < count($at['p'][$a]['atack'])) {
if (
!isset($at['p'][$a]['atack'][$j]['priem_used']) && !isset($at['p'][$a]['atack'][$j]['priem_used']) &&
( $at['p'][$a]['atack'][$j][1] > 0 ) ($at['p'][$a]['atack'][$j][1] > 0)
){ ) {
if(/* $btl->stats[$btl->uids[$u1]]['nopryh_act'] < 1 хуй знает для чего &&*/ $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) { if (/* $btl->stats[$btl->uids[$u1]]['nopryh_act'] < 1 хуй знает для чего &&*/ $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
// //
//Уворот от удара выставляем //Уворот от удара выставляем
unset($at['p'][$a]['atack'][$j]['yron']); unset($at['p'][$a]['atack'][$j]['yron']);
$at['p'][$a]['atack'][$j][1] = 8; $at['p'][$a]['atack'][$j][1] = 8;
$pvr['rnd_a'] = rand(1,5); $pvr['rnd_a'] = rand(1, 5);
if( $btl->testRazmenblock1($id,$u2,$u1,$pvr['rnd_a']) == false ) { if (!$btl->testRazmenblock1($id, $u2, $u1)) {
//Попал //Попал
$at['p'][$b]['atack'][] = array( $pvr['rnd_a'] , 1 , 0 , 1 ); // 1 1 1 $at['p'][$b]['atack'][] = [$pvr['rnd_a'], 1, 0, 1]; // 1 1 1
}else{ } else {
//В блок //В блок
$at['p'][$b]['atack'][] = array( $pvr['rnd_a'] , 3 , 0 , 1 ); // 2 1 1 $at['p'][$b]['atack'][] = [$pvr['rnd_a'], 3, 0, 1]; // 2 1 1
} }
//$at = $btl->contrRestart($id,$at,true); $at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $uid, $pvr['used']];
//$at = $btl->priemsTestRazmen($id,$at); $at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $uid, $pvr['kill']];
//
/*$at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(215,'.(0+$uid).','.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].');
$this->priemAddLog( '.$id.', '.$b.', '.$a.', '.$u2.', '.$u1.',
"Скрытая ловкость",
"{tm1} '.$btl->addlt($b , 17 , $btl->users[$btl->uids[$u2]]['sex'] , NULL).'",
'.($btl->hodID + 1).' );';*/
//
$at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$uid,$pvr['used']);
$at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$uid,$pvr['kill']);
//
$at['p'][$a]['priems']['kill'][$uid][$j_id] = true; $at['p'][$a]['priems']['kill'][$uid][$j_id] = true;
$at['p'][$a]['atack'][$j]['priem_used'] = $id; $at['p'][$a]['atack'][$j]['priem_used'] = $id;
// if (!$btl->testRazmenblock1($id, $u2, $u1)) {
if( $btl->testRazmenblock1($id,$u2,$u1,$pvr['rnd_a']) == false ) { $at = $this->yronRazmen($id, $at, true);
$at = $this->yronRazmen($id,$at,true);
} }
//
} }
//
} }
$j++; $j++;
} }
@ -106,10 +96,9 @@ if( isset($pr_tested_this) ) {
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}else{ } else {
//Действие при клике //Действие при клике
$this->addEffPr($pl,$id); $this->addEffPr($pl, $id);
} }
unset($pvr); unset($pvr);
?>

View File

@ -114,7 +114,7 @@ if( isset($pr_tested_this) ) {
}else{mysql_query('UPDATE `eff_users` SET `uid` = "'.$u1.'" WHERE `id` = "'.$pvr['pl']['id'].'" LIMIT 1');}*/ }else{mysql_query('UPDATE `eff_users` SET `uid` = "'.$u1.'" WHERE `id` = "'.$pvr['pl']['id'].'" LIMIT 1');}*/
$btl->delPriem($pvr['pl'],$btl->users[$btl->uids[$u2]],100,0,$pvr['pl']['name']); $btl->delPriem($pvr['pl'], $btl->users[$btl->uids[$u2]], 100, 0, $pvr['pl']['name']);
//$this->addPriem($u1,$pvr['pl']['priem']['id'],''.$pvr['pl']['priem']['data2'].'',''.$pvr['pl']['priem']['data3'].'',77,5,$u1,1,''.$pvr['pl']['priem']['name'].'',0,0,1); //$this->addPriem($u1,$pvr['pl']['priem']['id'],''.$pvr['pl']['priem']['data2'].'',''.$pvr['pl']['priem']['data3'].'',77,5,$u1,1,''.$pvr['pl']['priem']['name'].'',0,0,1);

View File

@ -119,7 +119,7 @@ if( isset($pr_used_this) && isset($pr_moment) ) {
($btl->hodID) ($btl->hodID)
); );
// спасение // спасение
$btl->spaCheck($u1]); $btl->spaCheck($u1);
// спасение // спасение
} }
// -- конец приема // -- конец приема

View File

@ -158,7 +158,7 @@ if( isset($pr_used_this) && isset($pr_moment) ) {
($btl->hodID) ($btl->hodID)
); );
// спасение // спасение
$btl->spaCheck($u1]); $btl->spaCheck($u1);
// спасение // спасение
$pvr['ijk']++; $pvr['ijk']++;
} }

View File

@ -161,7 +161,7 @@ if( isset($pr_used_this) && isset($pr_moment) ) {
($btl->hodID) ($btl->hodID)
); );
// спасение // спасение
$btl->spaCheck($u1]); $btl->spaCheck($u1);
// спасение // спасение
// //

View File

@ -35,7 +35,7 @@ if( isset($pr_used_this) && isset($pr_moment) ) {
$prv['priem_th'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['id']; $prv['priem_th'] = $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['id'];
//действия //действия
$pvr['hp'] = 20); $pvr['hp'] = 20;
$pvr['hp'] = $priem->magatack( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, $pvr['hp'], 'тьма', 1 ); $pvr['hp'] = $priem->magatack( $btl->stats[$btl->uids[$u1]]['effects'][$prv['j_priem']]['user_use'], $u1, $pvr['hp'], 'тьма', 1 );
$pvr['promah_type'] = $pvr['hp'][3]; $pvr['promah_type'] = $pvr['hp'][3];
$pvr['promah'] = $pvr['hp'][2]; $pvr['promah'] = $pvr['hp'][2];
@ -57,7 +57,7 @@ if( isset($pr_used_this) && isset($pr_moment) ) {
} }
// //
$pvr['hp'] = 20; $pvr['hp'] = 20;
$pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$rand_user]]['effects'][$prv['j_priem']]['user_use'], $rand_user, 12, $pvr['hp'], -1, true , false , 0); $pvr['hp'] = $btl->testYronPriem( $btl->stats[$btl->uids[$rand_user[array_rand($rand_user)]]]['effects'][$prv['j_priem']]['user_use'], $rand_user, 12, $pvr['hp'], -1, true , false , 0);
// //
$pvr['rndu']['id'] = $rand_user; $pvr['rndu']['id'] = $rand_user;
$pvr['color'] = '006699'; $pvr['color'] = '006699';

View File

@ -1,14 +1,14 @@
<?php <?php
if(!defined('GAME')) { if (!defined('GAME')) {
die(); die();
} }
/* /*
Прием: Танец лезвий Прием: Танец лезвий
Уворот от 1-го удара и наносите контрудар Уворот от 1-го удара и наносите контрудар
*/ */
$pvr = array(); $pvr = [];
if( isset($pr_tested_this) ) { if (isset($pr_tested_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $u, $btl;
// //
@ -17,28 +17,28 @@ if( isset($pr_tested_this) ) {
// //
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid2 ) { if ($uid == $uid2) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid1 ) { } elseif ($uid == $uid1) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) { if (isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
mysql_query('UPDATE `eff_users` SET `delete` = "'.time().'" WHERE `id` = "'.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].'" AND `uid` = "'.$uid.'" LIMIT 1'); mysql_query('UPDATE `eff_users` SET `delete` = "' . time() . '" WHERE `id` = "' . $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3] . '" AND `uid` = "' . $uid . '" LIMIT 1');
unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]); unset($btl->stats[$btl->uids[$uid]]['u_priem'][$j_id]);
} }
// //
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}elseif( isset($pr_used_this) ) { } elseif (isset($pr_used_this)) {
$fx_priem = function( $id , $at , $uid, $j_id ) { $fx_priem = function ($id, $at, $uid, $j_id) {
// -- начало приема // -- начало приема
global $u, $btl; global $u, $btl;
// //
@ -47,54 +47,52 @@ if( isset($pr_tested_this) ) {
// //
$uid1 = $btl->atacks[$id]['uid1']; $uid1 = $btl->atacks[$id]['uid1'];
$uid2 = $btl->atacks[$id]['uid2']; $uid2 = $btl->atacks[$id]['uid2'];
if( $uid == $uid2 ) { if ($uid == $uid2) {
$a = 1; $a = 1;
$b = 2; $b = 2;
$u1 = $uid1; $u1 = $uid1;
$u2 = $uid2; $u2 = $uid2;
}elseif( $uid == $uid1 ) { } elseif ($uid == $uid1) {
$a = 2; $a = 2;
$b = 1; $b = 1;
$u1 = $uid2; $u1 = $uid2;
$u2 = $uid1; $u2 = $uid1;
} }
if( $a > 0 ) { if ($a > 0) {
$j = 0; $k = 0; $wp = 3; $j = 0;
while($j < count($at['p'][$a]['atack'])) { $k = 0;
if( $wp = 3;
while ($j < count($at['p'][$a]['atack'])) {
if (
!isset($at['p'][$a]['atack'][$j]['priem_used']) && !isset($at['p'][$a]['atack'][$j]['priem_used']) &&
( $at['p'][$a]['atack'][$j][1] > 0 ) ($at['p'][$a]['atack'][$j][1] > 0)
) { ) {
if(/* $btl->stats[$btl->uids[$u1]]['nopryh_act'] < 1 хуй знает для чего &&*/ $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id]) ) { if ($btl->stats[$btl->uids[$u1]]['nopryh_act'] < 1 && $pvr['used'] == 0 && !isset($at['p'][$a]['priems']['kill'][$uid][$j_id])) {
// //
//Уворот от удара выставляем //Уворот от удара выставляем
unset($at['p'][$a]['atack'][$j]['yron']); unset($at['p'][$a]['atack'][$j]['yron']);
$at['p'][$a]['atack'][$j][1] = 8; $at['p'][$a]['atack'][$j][1] = 8;
$pvr['rnd_a'] = rand(1,5); $pvr['rnd_a'] = rand(1, 5);
if( $btl->testRazmenblock1($id,$u2,$u1,$pvr['rnd_a']) == false ) { if (!$btl->testRazmenblock1($id, $u2, $u1)) {
//Попал //Попал
$at['p'][$b]['atack'][] = array( $pvr['rnd_a'] , 1 , 0 , 1 ); $at['p'][$b]['atack'][] = [$pvr['rnd_a'], 1, 0, 1];
}else{ } else {
//В блок //В блок
$at['p'][$b]['atack'][] = array( $pvr['rnd_a'] , 3 , 0 , 1 ); $at['p'][$b]['atack'][] = [$pvr['rnd_a'], 3, 0, 1];
} }
//$at = $btl->contrRestart($id,$at,true); $at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(48,' . (0 + $uid) . ',' . $btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3] . ');
//$at = $btl->priemsTestRazmen($id,$at); $this->priemAddLog( ' . $id . ', ' . $b . ', ' . $a . ', ' . $u2 . ', ' . $u1 . ',
//
$at['p'][$a]['atack'][$j]['yron']['plog'][] = '$this->deleffm(48,'.(0+$uid).','.$btl->stats[$btl->uids[$uid]]['u_priem'][$j_id][3].');
$this->priemAddLog( '.$id.', '.$b.', '.$a.', '.$u2.', '.$u1.',
"Танец лезвий", "Танец лезвий",
"{tm1} '.$btl->addlt($b , 17 , $btl->users[$btl->uids[$u2]]['sex'] , NULL).'", "{tm1} ' . $btl->addlt($b, 17, $btl->users[$btl->uids[$u2]]['sex'], null) . '",
'.($btl->hodID + 1).' );'; ' . ($btl->hodID + 1) . ' );';
// $at['p'][$a]['atack'][$j]['yron']['used'][] = [$j_id, $uid, $pvr['used']];
$at['p'][$a]['atack'][$j]['yron']['used'][] = array($j_id,$uid,$pvr['used']); $at['p'][$a]['atack'][$j]['yron']['kill'][] = [$j_id, $uid, $pvr['kill']];
$at['p'][$a]['atack'][$j]['yron']['kill'][] = array($j_id,$uid,$pvr['kill']);
// //
$at['p'][$a]['priems']['kill'][$uid][$j_id] = true; $at['p'][$a]['priems']['kill'][$uid][$j_id] = true;
$at['p'][$a]['atack'][$j]['priem_used'] = $id; $at['p'][$a]['atack'][$j]['priem_used'] = $id;
// //
if( $btl->testRazmenblock1($id,$u2,$u1,$pvr['rnd_a']) == false ) { if (!$btl->testRazmenblock1($id, $u2, $u1)) {
$at = $this->yronRazmen($id,$at,true); $at = $this->yronRazmen($id, $at, true);
} }
// //
} }
@ -106,10 +104,9 @@ if( isset($pr_tested_this) ) {
// -- конец приема // -- конец приема
return $at; return $at;
}; };
unset( $pr_used_this ); unset($pr_used_this);
}else{ } else {
//Действие при клике //Действие при клике
$this->addEffPr($pl,$id); $this->addEffPr($pl, $id);
} }
unset($pvr); unset($pvr);
?>

View File

@ -1,44 +0,0 @@
<?php
if(!defined('GAME'))
{
die();
}
if($st['usefromfile']=='bloodring' && $u->info['battle'] > 0 && $u->info['hpNow'] >= 1)
{
if($btl->info['team_win'] != -1 ) {
$u->error = 'Использовать кольцо возможно только во время боя';
}elseif($btl->info['razdel'] != 5) {
$u->error = 'Использование кольца возможно только в хаотичных поединках!';
}elseif(ceil($u->info['tactic6']) < 15) {
$u->error = 'Не хватает '.(15-ceil($u->info['tactic6'])).' <img width=8 height=8 src=//img.new-combats.tech/i/micro/hp.gif> для &quot;Кровавый сбор&quot;';
}else{
$bu = mysql_fetch_array(mysql_query('SELECT `id` FROM `eff_users` WHERE `v1` = "priem" AND `v2` = "228" AND `delete` = "0" LIMIT 1'));
if(isset($bu['id'])) {
$u->error = 'Использование кольца возможно 1 раз за бой!';
}else{
mysql_query('UPDATE `stats` SET `tactic6` = `tactic6` - 15 WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
$u->info['tactic6'] -= 15;
\User\ItemsModel::addItem(3134,$u->info['id'],'|sudba='.$u->info['login']);
$ins = mysql_query('INSERT INTO `eff_users` (`hod`,`v2`,`img2`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`v1`) VALUES
("-1",228,"invoke_create_lesserbloodstone.gif",22,"'.$u->info['id'].'","Кровавый Сбор","","30","77","priem")');
$u->error = 'Вы успешно использовали заклинание &quot;Кровавый сбор&quot;';
//Лог боя
$lastHOD = mysql_fetch_array(mysql_query('SELECT * FROM `battle_logs` WHERE `battle` = "'.$u->info['battle'].'" ORDER BY `id_hod` DESC LIMIT 1'));
$id_hod = $lastHOD['id_hod'];
if($lastHOD['type']!=6) {
$id_hod++;
}
$txt = '<font color=#006699>'.$txt.'</font>';
if($u->info['sex']==1) {
$txt = '{u1} применила заклинание &quot;<b>Кровавый сбор</b>&quot;.';
}else{
$txt = '{u1} применил заклинание &quot;<b>Кровавый сбор</b>&quot;.';
}
mysql_query('INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("'.time().'","'.$u->info['battle'].'","'.($id_hod).'","{tm1} '.$txt.'","login1='.$u->info['login'].'||t1='.$u->info['team'].'||time1='.time().'","","","","","6")');
}
}
}
?>

View File

@ -1,63 +0,0 @@
<?php
if (!defined('GAME')) {
die();
}
if ($st['usefromfile'] == 'bloodring2' && $u->info['battle'] > 0 && $u->info['hpNow'] >= 1) {
if ($btl->info['team_win'] != -1) {
$u->error = 'Использовать кольцо возможно только во время боя';
} elseif ($btl->info['razdel'] != 5) {
$u->error = 'Использование кольца возможно только в хаотичных поединках!';
} elseif (ceil($u->info['tactic6']) < 5) {
$u->error = 'Не хватает ' . (5 - ceil($u->info['tactic6'])) . ' <img width=8 height=8 src=//img.new-combats.tech/i/micro/hp.gif> для &quot;Поглотить Кровь&quot;';
} else {
if ($st['td_cast_data'] != date('d.m.Y')) {
$st['td_cast_data'] = date('d.m.Y');
$st['td_cast'] = 0;
}
if ($st['td_cast'] > 5) {
$u->error = 'Использование кольца возможно не более 6 раз в сутки!';
} else {
$bu = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `v1` = "priem" AND `v2` = "229" AND `delete` = "0" LIMIT 1'));
$st['td_cast']++;
$stimp = Helper\Conversion::arrayToDataString($st);
mysql_query('UPDATE `items_users` SET `data` = "' . mysql_real_escape_string($stimp) . '" WHERE `id` = "' . $itm['id'] . '" LIMIT 1');
mysql_query('UPDATE `stats` SET `tactic6` = `tactic6` - 5 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
$u->info['tactic6'] -= 5;
//\User\ItemsModel::addItem(3136,$u->info['id'],'|sudba='.$u->info['login']);
//Если эффект есть, тогда добавляем к нему +1 каст (Максимум 6)
if (isset($bu['id'])) {
if ($bu['x'] < 6) {
mysql_query('UPDATE `eff_users` SET `x` = `x` + 1 WHERE `id` = "' . $bu['id'] . '" LIMIT 1');
}
} else {
$ins = mysql_query('INSERT INTO `eff_users` (`file_finish`,`hod`,`v2`,`img2`,`id_eff`,`uid`,`name`,`data`,`overType`,`timeUse`,`v1`) VALUES
("bloodring2_end","-1",229,"invoke_create_bloodstone.gif",22,"' . $u->info['id'] . '","Поглотить Кровь","","30","77","priem")');
}
$u->error = 'Вы успешно использовали заклинание &quot;Поглотить Кровь&quot;<br>В случаи победы Вы получите &quot;Кровавый Рубин&quot;';
//Лог боя
$lastHOD = mysql_fetch_array(mysql_query('SELECT * FROM `battle_logs` WHERE `battle` = "' . $u->info['battle'] . '" ORDER BY `id_hod` DESC LIMIT 1'));
$id_hod = $lastHOD['id_hod'];
if ($lastHOD['type'] != 6) {
$id_hod++;
}
$txt = '<font color=#006699>' . $txt . '</font>';
if ($u->info['sex'] == 1) {
$txt = '{u1} применила заклинание &quot;<b>Поглотить Кровь</b>&quot;.';
} else {
$txt = '{u1} применил заклинание &quot;<b>Поглотить Кровь</b>&quot;.';
}
mysql_query('INSERT INTO `battle_logs` (`time`,`battle`,`id_hod`,`text`,`vars`,`zona1`,`zonb1`,`zona2`,`zonb2`,`type`) VALUES ("' . time() . '","' . $u->info['battle'] . '","' . ($id_hod) . '","{tm1} ' . $txt . '","login1=' . $u->info['login'] . '||t1=' . $u->info['team'] . '||time1=' . time() . '","","","","","6")');
}
}
}
?>

View File

@ -1,28 +0,0 @@
<?php
if (!defined('GAME')) {
die();
}
if ($ple['file_finish'] == 'bloodring2_end' && $this->users[$i]['team'] == $this->info['team_win']) {
if ($this->info['razdel'] == 5) {
$i1k = 0;
if ($ple['x'] > 6) {
$ple['x'] = 6;
}
while ($i1k < $ple['x']) {
\User\ItemsModel::addItem(3136, $this->users[$i]['id'], '|sudba=' . $this->users[$i]['login']);
$i1k++;
}
if ($ple['x'] > 1) {
$ple['xz'] = ' (x' . $ple['x'] . ')';
} else {
$ple['xz'] = '';
}
$cmsg = new ChatMessage();
$cmsg->setCity($this->users[$i]['city']);
$cmsg->setTo($this->users[$i]['login']);
$cmsg->setText("Вы получили предмет &quot;<b>Кровавый Рубин</b>{$ple['xz']}&quot;.");
$cmsg->setType(6);
(new Chat())->sendMsg($cmsg);
}
}

View File

@ -95,7 +95,7 @@ if(isset($hod))
if($this->minMana($eff['user_use'],$minmp,4)==false) if($this->minMana($eff['user_use'],$minmp,4)==false)
{ {
//снимаем эффект, мана закончилась //снимаем эффект, мана закончилась
$btl->delPriem($eff,$btl->users[$btl->uids[$eff['uid']]],2); $btl->delPriem($eff, $btl->users[$btl->uids[$eff['uid']]], 2);
} }
} }
}else{ }else{
@ -236,7 +236,7 @@ if(isset($hod))
if($dell) { if($dell) {
$dell['priem']['id']=$dell['id']; $dell['priem']['id']=$dell['id'];
//if($dell['x']==1){ //if($dell['x']==1){
$btl->delPriem($dell,$u->info,99); $btl->delPriem($dell, $u->info, 99);
/*}else{ /*}else{
$i=0; $i=0;
$e = explode('|',$dell['data']); $e = explode('|',$dell['data']);

View File

@ -53,7 +53,7 @@ if(isset($hod))
if($this->minMana($eff['user_use'],$minmp,1)==false) if($this->minMana($eff['user_use'],$minmp,1)==false)
{ {
//снимаем эффект, мана закончилась //снимаем эффект, мана закончилась
$btl->delPriem($eff,$btl->users[$btl->uids[$eff['uid']]],2); $btl->delPriem($eff, $btl->users[$btl->uids[$eff['uid']]], 2);
} }
} }
}else{ }else{
@ -479,7 +479,7 @@ if(isset($hod))
$pwi['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "26" LIMIT 1')); $pwi['priem'] = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "26" LIMIT 1'));
if(isset($pwi['id'])) if(isset($pwi['id']))
{ {
$btl->delPriem($pwi,$btl->users[$btl->uids[$ue['id']]],2); $btl->delPriem($pwi, $btl->users[$btl->uids[$ue['id']]], 2);
} }
$this->magicAtack($ue,$hpmin,1,$pl,$eff,2,$hpmxx[$pl['id']]); $this->magicAtack($ue,$hpmin,1,$pl,$eff,2,$hpmxx[$pl['id']]);
unset($pwx,$pwi,$hpmin,$hpmxx); unset($pwx,$pwi,$hpmin,$hpmxx);

View File

@ -307,7 +307,7 @@ if ($pl['id'] == 189) {
$hpmin = $u->info['level'] * 5; $hpmin = $u->info['level'] * 5;
} elseif ($pl['id'] == 271) { } elseif ($pl['id'] == 271) {
//прием Прорыв 1\3 урона оружием //прием Прорыв 1\3 урона оружием
$tp_atk = $btl->weaponTx($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']]); $tp_atk = $btl->weaponTx($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']]['data']);
$yi_atk = $btl->weaponAt22($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']], $btl->stats[$btl->uids[$u->info['id']]], $tp_atk); $yi_atk = $btl->weaponAt22($btl->stats[$btl->uids[$u->info['id']]]['items'][$btl->stats[$btl->uids[$u->info['id']]]['wp3id']], $btl->stats[$btl->uids[$u->info['id']]], $tp_atk);

View File

@ -217,7 +217,7 @@ if(isset($hod))
if($this->minMana($eff['user_use'],$minmp,3)==false) if($this->minMana($eff['user_use'],$minmp,3)==false)
{ {
//снимаем эффект, мана закончилась //снимаем эффект, мана закончилась
$btl->delPriem($eff,$btl->users[$btl->uids[$eff['uid']]],2); $btl->delPriem($eff, $btl->users[$btl->uids[$eff['uid']]], 2);
} }
} }
}else{ }else{
@ -458,7 +458,7 @@ if(isset($hod))
if($dell){ if($dell){
$dell['priem']['id']=$dell['id']; $dell['priem']['id']=$dell['id'];
$btl->delPriem($dell,$u->info,99,false,$pl['name']); $btl->delPriem($dell, $u->info, 99, 0, $pl['name']);
} }
} }

View File

@ -1,3 +0,0 @@
Sign successfully
IK sing :RpNOBfN+zusMfjQHDqp6UQ==
locally formed :RpNOBfN+zusMfjQHDqp6UQ==

View File

@ -67,6 +67,7 @@ if (!isset($_COOKIE['d1c'])) {
} }
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ru-RU"> <html lang="ru-RU">
<head> <head>

View File

@ -116,24 +116,11 @@ if (isset($r2['pos'])) {
} }
} }
$timday = strtotime('now 00:00:00'); [$clanw, $clanl] = \Model\BattleModel::countClanWars($clan['id']);
$clanw = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `battle` WHERE `type` = 250 AND `time_over` > "' . $timday . '" AND ((`team_win`=1 AND `clan1` = "' . $clan['id'] . '") OR (`team_win`=2 AND `clan2` = "' . $clan['id'] . '")) LIMIT 1'
)
);
$clanw = $clanw[0];
$clanl = mysql_fetch_array(
mysql_query(
'SELECT COUNT(`id`) FROM `battle` WHERE `type` = 250 AND `time_over` > "' . $timday . '" AND ((`team_win`=2 AND `clan1` = "' . $clan['id'] . '") OR (`team_win`=1 AND `clan2` = "' . $clan['id'] . '")) LIMIT 1'
)
);
$clanl = $clanl[0];
$clanwar = mysql_query( $clanwar = mysql_query(
'SELECT * FROM `clan_wars` WHERE (`clan1`="' . $clan['id'] . '" OR `clan2`="' . $clan['id'] . '") AND `time_finish` > "' . time( 'SELECT * FROM `clan_wars` WHERE (`clan1`="' . $clan['id'] . '" OR `clan2`="' . $clan['id'] . '") AND `time_finish` > "' . time() . '"'
) . '"'
); );
$clwe = ""; $clwe = "";
while ($clanwa = mysql_fetch_array($clanwar)) { while ($clanwa = mysql_fetch_array($clanwar)) {
@ -304,8 +291,7 @@ while ($clanwa = mysql_fetch_array($clanwar)) {
$html .= '<br>'; $html .= '<br>';
$sp = mysql_query( $sp = mysql_query(
'SELECT * FROM `users` WHERE `clan` = "' . $clan['id'] . '" AND `clan_prava` != "glava" AND `online` > "' . (time( 'SELECT * FROM `users` WHERE `clan` = "' . $clan['id'] . '" AND `clan_prava` != "glava" AND `online` > "' . (time() - 520) . '" ORDER BY `login` ASC'
) - 520) . '" ORDER BY `login` ASC'
); );
while ($pl = mysql_fetch_array($sp)) { while ($pl = mysql_fetch_array($sp)) {
$html .= '<div>'; $html .= '<div>';
@ -320,8 +306,7 @@ while ($clanwa = mysql_fetch_array($clanwar)) {
$html .= '</div>'; $html .= '</div>';
} }
$sp = mysql_query( $sp = mysql_query(
'SELECT * FROM `users` WHERE `clan` = "' . $clan['id'] . '" AND `clan_prava` != "glava" AND `online` <= "' . (time( 'SELECT * FROM `users` WHERE `clan` = "' . $clan['id'] . '" AND `clan_prava` != "glava" AND `online` <= "' . (time() - 520) . '" ORDER BY `login` ASC'
) - 520) . '" ORDER BY `login` ASC'
); );
while ($pl = mysql_fetch_array($sp)) { while ($pl = mysql_fetch_array($sp)) {
$html .= '<div style="color:grey">'; $html .= '<div style="color:grey">';

1941
exp.php

File diff suppressed because it is too large Load Diff

View File

@ -7,26 +7,25 @@ require_once('_incl_data/__config.php');
require_once('_incl_data/class/__db_connect.php'); require_once('_incl_data/class/__db_connect.php');
define('IP', UserIp::get()); define('IP', UserIp::get());
class battleNew {
$user = mysql_fetch_array(mysql_query('SELECT `id`,`battle` FROM `users` WHERE `login` = "' . mysql_real_escape_string($_COOKIE['login']) . '"'));
if (isset($user['id']) && $user['battle'] > 0) {
} $stats = mysql_fetch_array(
mysql_query(
$user = mysql_fetch_array(mysql_query('SELECT `id`,`battle` FROM `users` WHERE `login` = "'.mysql_real_escape_string($_COOKIE['login']).'"')); 'SELECT
if(isset($user['id']) && $user['battle'] > 0) {
$stats = mysql_fetch_array(mysql_query('SELECT
`id`,`team`,`enemy`, `id`,`team`,`enemy`,
`tactic1`,`tactic2`,`tactic3`,`tactic4`,`tactic5`,`tactic6`,`tactic7`, `tactic1`,`tactic2`,`tactic3`,`tactic4`,`tactic5`,`tactic6`,`tactic7`,
`battle_yron`,`priems`,`priems_z`,`priemslot` `battle_yron`,`priems`,`priems_z`,`priemslot`
FROM `stats` WHERE `id` = "'.$user['id'].'" LIMIT 1')); FROM `stats` WHERE `id` = "' . $user['id'] . '" LIMIT 1'
)
);
if( $stats['hpNow'] > $stats['hpAll'] ) { if ($stats['hpNow'] > $stats['hpAll']) {
$stats['hpNow'] = $stats['hpAll']; $stats['hpNow'] = $stats['hpAll'];
} }
if( $stats['mpNow'] > $stats['mpAll'] ) { if ($stats['mpNow'] > $stats['mpAll']) {
$stats['mpNow'] = $stats['mpAll']; $stats['mpNow'] = $stats['mpAll'];
} }
@ -36,150 +35,161 @@ if(isset($user['id']) && $user['battle'] > 0) {
//Проверяем размен с текущим противником //Проверяем размен с текущим противником
$bot_go = false; $bot_go = false;
$rd = ''; $rd = '';
$sp = mysql_query('SELECT `id`,`uid1`,`uid2`,`time` FROM `battle_act` WHERE ( `uid1` = "'.$user['id'].'" OR `uid2` = "'.$user['id'].'" ) AND `battle` = "'.$user['battle'].'" ORDER BY `time` ASC'); $sp = mysql_query(
while( $pl = mysql_fetch_array($sp) ) { 'SELECT `id`,`uid1`,`uid2`,`time` FROM `battle_act` WHERE ( `uid1` = "' . $user['id'] . '" OR `uid2` = "' . $user['id'] . '" ) AND `battle` = "' . $user['battle'] . '" ORDER BY `time` ASC'
$rd .= ',['.$pl['id'].','.$pl['uid1'].','.$pl['uid2'].','.($pl['time']-time()+$bt['timeout']).']'; );
while ($pl = mysql_fetch_array($sp)) {
$rd .= ',[' . $pl['id'] . ',' . $pl['uid1'] . ',' . $pl['uid2'] . ',' . ($pl['time'] - time() + $bt['timeout']) . ']';
// //
if( $pl['uid1'] == $user['id'] && $bot_go == false ) { if ($pl['uid1'] == $user['id'] && $bot_go == false) {
$bot_test = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `id` = "'.$pl['uid2'].'" LIMIT 1')); $bot_test = mysql_fetch_array(mysql_query('SELECT `id` FROM `stats` WHERE `id` = "' . $pl['uid2'] . '" LIMIT 1'));
if(isset($bot_test['id'])) { if (isset($bot_test['id'])) {
$bot_go = true; $bot_go = true;
} }
} }
// //
} }
$rd = ltrim($rd,','); $rd = ltrim($rd, ',');
$r .= ',"act":['.$rd.']'; $r .= ',"act":[' . $rd . ']';
unset($sp,$pl,$rd); unset($sp, $pl, $rd);
//Удары ботов //Удары ботов
if( $bot_go == true ) { if ($bot_go == true) {
$error = 'Обычное обновление!'; $error = 'Обычное обновление!';
} }
if(isset($_GET['global'])) { if (isset($_GET['global'])) {
$btl = new \Model\BattleModel($user['battle']);
$bt = $btl->battleArray;
$bt = mysql_fetch_array(mysql_query('SELECT `id`,`timeout`,`hod` FROM `battle` WHERE `id` = "'.$user['battle'].'" LIMIT 1')); if (isset($bt['id'])) {
if(isset($bt['id'])) {
//Получение инф. о пользователях в бою //Получение инф. о пользователях в бою
$rd = ''; $rd = '';
$sp = mysql_query('SELECT `id`,`login`,`level`,`align`,`clan` FROM `users` WHERE `battle` = "'.$bt['id'].'"'); $sp = mysql_query('SELECT `id`,`login`,`level`,`align`,`clan` FROM `users` WHERE `battle` = "' . $bt['id'] . '"');
while( $pl = mysql_fetch_array($sp) ) { while ($pl = mysql_fetch_array($sp)) {
$st = mysql_fetch_array(mysql_query('SELECT `hpNow`,`mpNow`,`hpAll`,`mpAll`,`team` FROM `stats` WHERE `id` = "'.$pl['id'].'" LIMIT 1')); $st = mysql_fetch_array(mysql_query('SELECT `hpNow`,`mpNow`,`hpAll`,`mpAll`,`team` FROM `stats` WHERE `id` = "' . $pl['id'] . '" LIMIT 1'));
$rd .= '['.(0+$pl['id']).','.(0+$st['hpNow']).','.(0+$st['mpNow']).','.(0+$st['hpAll']).','.(0+$st['mpAll']).'],'; $rd .= '[' . (0 + $pl['id']) . ',' . (0 + $st['hpNow']) . ',' . (0 + $st['mpNow']) . ',' . (0 + $st['hpAll']) . ',' . (0 + $st['mpAll']) . '],';
} }
$rd = rtrim($rd,','); $rd = rtrim($rd, ',');
$r .= ',"u":['.$rd.']'; $r .= ',"u":[' . $rd . ']';
}else{ } else {
$error = 'Поединок не найден...'; $error = 'Поединок не найден...';
} }
//Эффекты текущего персонажа и противника //Эффекты текущего персонажа и противника
$r .= ',"eff_me":['; $r .= ',"eff_me":[';
$i = 0; $i = 0;
$sp = mysql_query('SELECT * FROM `eff_users` WHERE ( `uid` = "'.$user['id'].'" OR `uid` = "'.$stats['enemy'].'" ) AND `delete` = "0" ORDER BY `id` DESC'); $sp = mysql_query('SELECT * FROM `eff_users` WHERE ( `uid` = "' . $user['id'] . '" OR `uid` = "' . $stats['enemy'] . '" ) AND `delete` = "0" ORDER BY `id` DESC');
while( $pl = mysql_fetch_array($sp) ) { while ($pl = mysql_fetch_array($sp)) {
if( $pl['v1'] == 'priem' ) { if ($pl['v1'] == 'priem') {
$prm = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "'.$pl['v2'].'" LIMIT 1')); $prm = mysql_fetch_array(mysql_query('SELECT * FROM `priems` WHERE `id` = "' . $pl['v2'] . '" LIMIT 1'));
if( $user['id'] == $pl['uid'] || $prm['neg'] > 0 ) { if ($user['id'] == $pl['uid'] || $prm['neg'] > 0) {
if( $i == 0 ) { if ($i == 0) {
$i++; $i++;
}else{ } else {
$r .= ','; $r .= ',';
} }
$r .= '['.$pl['uid'].','.$pl['id'].','.$pl['id_eff'].',"'.$pl['name'].'","'.$prm['img'].'.gif","14"]'; $r .= '[' . $pl['uid'] . ',' . $pl['id'] . ',' . $pl['id_eff'] . ',"' . $pl['name'] . '","' . $prm['img'] . '.gif","14"]';
} }
}else{ } else {
if( $user['id'] == $pl['uid'] ) { if ($user['id'] == $pl['uid']) {
if( $i == 0 ) { if ($i == 0) {
$i++; $i++;
}else{ } else {
$r .= ','; $r .= ',';
} }
$eff = mysql_fetch_array(mysql_query('SELECT * FROM `eff_main` WHERE `id2` = "'.$pl['id_eff'].'" LIMIT 1')); $eff = mysql_fetch_array(mysql_query('SELECT * FROM `eff_main` WHERE `id2` = "' . $pl['id_eff'] . '" LIMIT 1'));
$r .= '['.$pl['uid'].','.$pl['id'].','.$pl['id_eff'].',"'.$pl['name'].'","'.$eff['img'].'","'.$eff['type1'].'"]'; $r .= '[' . $pl['uid'] . ',' . $pl['id'] . ',' . $pl['id_eff'] . ',"' . $pl['name'] . '","' . $eff['img'] . '","' . $eff['type1'] . '"]';
} }
} }
} }
$r .= ']'; $r .= ']';
// //
}elseif(isset($_GET['loading'])) { } elseif (isset($_GET['loading'])) {
//Загрузда дополнительных данных //Загрузда дополнительных данных
if(isset($_GET['uload']) && $_GET['uload'] != '0') { if (isset($_GET['uload']) && $_GET['uload'] != '0') {
//Загрузка пользователей //Загрузка пользователей
$ex = explode(',',$_GET['uload']); $ex = explode(',', $_GET['uload']);
$i = 1; $i = 1;
$rd = ''; $rd = '';
while( $i < count($ex) ) { while ($i < count($ex)) {
if( $ex[$i] > 0 ) { if ($ex[$i] > 0) {
// //
$us = mysql_fetch_array(mysql_query('SELECT $us = mysql_fetch_array(
mysql_query(
'SELECT
`id`,`login`,`level`,`clan`,`align`,`obraz` `id`,`login`,`level`,`clan`,`align`,`obraz`
FROM `users` WHERE `battle` = "'.$user['battle'].'" AND `id` = "'.mysql_real_escape_string($ex[$i]).'" LIMIT 1')); FROM `users` WHERE `battle` = "' . $user['battle'] . '" AND `id` = "' . mysql_real_escape_string($ex[$i]) . '" LIMIT 1'
if(isset($us['id'])) { )
$ss = mysql_fetch_array(mysql_query('SELECT );
if (isset($us['id'])) {
$ss = mysql_fetch_array(
mysql_query(
'SELECT
`hpNow`,`mpNow`,`hpAll`,`mpAll`,`team` `hpNow`,`mpNow`,`hpAll`,`mpAll`,`team`
FROM `stats` WHERE `id` = "'.$us['id'].'" LIMIT 1')); FROM `stats` WHERE `id` = "' . $us['id'] . '" LIMIT 1'
)
);
if( $ss['hpNow'] > $ss['hpAll'] ) { if ($ss['hpNow'] > $ss['hpAll']) {
$ss['hpNow'] = $ss['hpAll']; $ss['hpNow'] = $ss['hpAll'];
} }
if( $ss['mpNow'] > $ss['mpAll'] ) { if ($ss['mpNow'] > $ss['mpAll']) {
$ss['mpNow'] = $ss['mpAll']; $ss['mpNow'] = $ss['mpAll'];
} }
$rd .= ',{'; $rd .= ',{';
// //
$rd .= ' "id":'.( 0 + (int)$ex[$i] ); $rd .= ' "id":' . (0 + (int)$ex[$i]);
$rd .= ',"login":"'.$us['login'].'"'; $rd .= ',"login":"' . $us['login'] . '"';
$rd .= ',"level":"'.$us['level'].'"'; $rd .= ',"level":"' . $us['level'] . '"';
$rd .= ',"align":"'.$us['align'].'"'; $rd .= ',"align":"' . $us['align'] . '"';
$rd .= ',"clan":"'.$us['clan'].'"'; $rd .= ',"clan":"' . $us['clan'] . '"';
$rd .= ',"team":"'.$ss['team'].'"'; $rd .= ',"team":"' . $ss['team'] . '"';
$rd .= ',"hp":'.( 0 + $ss['hpNow'] ).''; $rd .= ',"hp":' . (0 + $ss['hpNow']);
$rd .= ',"mp":'.( 0 + $ss['mpNow'] ).''; $rd .= ',"mp":' . (0 + $ss['mpNow']);
$rd .= ',"hpAll":'.( 0 + $ss['hpAll'] ).''; $rd .= ',"hpAll":' . (0 + $ss['hpAll']);
$rd .= ',"mpAll":'.( 0 + $ss['mpAll'] ).''; $rd .= ',"mpAll":' . (0 + $ss['mpAll']);
$rd .= ',"sex":'.( 0 + $us['sex'] ).''; $rd .= ',"sex":' . (0 + $us['sex']);
$rd .= ',"obraz":"'.$us['obraz'].'"'; $rd .= ',"obraz":"' . $us['obraz'] . '"';
// //
//Предметы //Предметы
$ri = ''; $ri = '';
$sp = mysql_query('SELECT `id`,`item_id`,`inOdet`,`magic_inc` FROM `items_users` WHERE `uid` = "'.$us['id'].'" AND `delete` = 0 AND `inOdet` > 0'); $sp = mysql_query('SELECT `id`,`item_id`,`inOdet`,`magic_inc` FROM `items_users` WHERE `uid` = "' . $us['id'] . '" AND `delete` = 0 AND `inOdet` > 0');
while( $pl = mysql_fetch_array($sp) ) { while ($pl = mysql_fetch_array($sp)) {
// //
$im = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`img`,`magic_inci` FROM `items_main` WHERE `id` = "'.$pl['item_id'].'" LIMIT 1')); $im = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`img`,`magic_inci` FROM `items_main` WHERE `id` = "' . $pl['item_id'] . '" LIMIT 1'));
// //
$ccv = ''; $ccv = '';
if( $pl['magic_inc'] == '' ) { if ($pl['magic_inc'] == '') {
$pl['magic_inc'] = $im['magic_inci']; $pl['magic_inc'] = $im['magic_inci'];
} }
if( $pl['magic_inc'] != '' ) { if ($pl['magic_inc'] != '') {
$mgi = mysql_fetch_array(mysql_query('SELECT * FROM `eff_main` WHERE `id2` = "'.$pl['magic_inc'].'" AND `type1` = "12345" LIMIT 1')); $mgi = mysql_fetch_array(mysql_query('SELECT * FROM `eff_main` WHERE `id2` = "' . $pl['magic_inc'] . '" AND `type1` = "12345" LIMIT 1'));
if(isset($mgi['id2'])) { if (isset($mgi['id2'])) {
$ccv .= 'top.useMagicBattle(\''.$mgi['mname'].'\','.$pl['id'].',\''.$mgi['img'].'\',1,2);'; $ccv .= 'top.useMagicBattle(\'' . $mgi['mname'] . '\',' . $pl['id'] . ',\'' . $mgi['img'] . '\',1,2);';
} }
} }
// //
$ri .= ',['.$pl['id'].','.$pl['item_id'].','.$pl['inOdet'].',"'.$im['name'].'","'.$im['img'].'","'.$ccv.'"]'; $ri .= ',[' . $pl['id'] . ',' . $pl['item_id'] . ',' . $pl['inOdet'] . ',"' . $im['name'] . '","' . $im['img'] . '","' . $ccv . '"]';
} }
$ri = ltrim($ri,','); $ri = ltrim($ri, ',');
$rd .= ',"itm":['.$ri.']'; $rd .= ',"itm":[' . $ri . ']';
// //
//Эффекты (не требуется кэширование) //Эффекты (не требуется кэширование)
$ri = ''; $ri = '';
$ri = ltrim($ri,','); $ri = ltrim($ri, ',');
$rd .= ',"eff":['.$ri.']'; $rd .= ',"eff":[' . $ri . ']';
// //
// //
$rd .= ' }'; $rd .= ' }';
@ -187,35 +197,39 @@ if(isset($user['id']) && $user['battle'] > 0) {
} }
$i++; $i++;
} }
$rd = ltrim($rd,','); $rd = ltrim($rd, ',');
$r .= ',"ul":['.$rd.']'; $r .= ',"ul":[' . $rd . ']';
unset($rd,$ri); unset($rd, $ri);
// //
} }
// //
if(isset($_GET['pload']) && $_GET['pload'] != '0') { if (isset($_GET['pload']) && $_GET['pload'] != '0') {
//Загрузка приемов //Загрузка приемов
$ex = explode(',',$_GET['pload']); $ex = explode(',', $_GET['pload']);
$i = 1; $i = 1;
$rd = ''; $rd = '';
while( $i < count($ex) ) { while ($i < count($ex)) {
if( $ex[$i] > 0 ) { if ($ex[$i] > 0) {
// //
$pl = mysql_fetch_array(mysql_query('SELECT $pl = mysql_fetch_array(
mysql_query(
'SELECT
`id`,`name`,`img`,`type`,`onUser`,`team` `id`,`name`,`img`,`type`,`onUser`,`team`
FROM `priems` WHERE `id` = "'.mysql_real_escape_string($ex[$i]).'" LIMIT 1')); FROM `priems` WHERE `id` = "' . mysql_real_escape_string($ex[$i]) . '" LIMIT 1'
if(isset($pl['id'])) { )
);
if (isset($pl['id'])) {
// //
$rd .= ',{'; $rd .= ',{';
// //
$rd .= ' "id":'.( 0 + (int)$ex[$i] ); $rd .= ' "id":' . (0 + (int)$ex[$i]);
$rd .= ',"name":"'.$pl['name'].'"'; $rd .= ',"name":"' . $pl['name'] . '"';
$rd .= ',"img":"'.$pl['img'].'"'; $rd .= ',"img":"' . $pl['img'] . '"';
$rd .= ',"type":"'.$pl['type'].'"'; $rd .= ',"type":"' . $pl['type'] . '"';
$rd .= ',"onUser":"'.$pl['onUser'].'"'; $rd .= ',"onUser":"' . $pl['onUser'] . '"';
$rd .= ',"team":"'.$pl['team'].'"'; $rd .= ',"team":"' . $pl['team'] . '"';
// //
$rd .= ' }'; $rd .= ' }';
// //
@ -223,17 +237,21 @@ if(isset($user['id']) && $user['battle'] > 0) {
} }
$i++; $i++;
} }
$rd = ltrim($rd,','); $rd = ltrim($rd, ',');
$r .= ',"pl":['.$rd.']'; $r .= ',"pl":[' . $rd . ']';
unset($sp,$pl,$rd); unset($sp, $pl, $rd);
// //
} }
// //
} }
}else{ } else {
$error = 'Пользователь в бою не найден...'; $error = 'Пользователь в бою не найден...';
} }
echo '{ "btl":"'.(0+$bt['id']).'" , "hod":"'.(0+$bt['hod']).'" , "you":"'.(0+$user['id']).'" , "enemy":"'.(0+$stats['enemy']).'" , "pr": [ "'.$stats['priems'].'" , "'.$stats['priems_z'].'" , '.(0+$stats['priemslot']).' ] , "dm":"'.floor($stats['battle_yron']).'" , "to":"'.round($bt['timeout']/60,2).'" , "r":{ '.ltrim($r,',').' } , "e":"'.$error.'" , "t1":"'.$stats['tactic1'].'" , "t2":"'.$stats['tactic2'].'" , "t3":"'.$stats['tactic3'].'" , "t4":"'.$stats['tactic4'].'" , "t5":"'.$stats['tactic5'].'" , "t6":"'.$stats['tactic6'].'" , "t7":"'.$stats['tactic7'].'" }'; echo '{ "btl":"' . (0 + $bt['id']) . '" , "hod":"' . (0 + $bt['hod']) . '" , "you":"' . (0 + $user['id']) . '" , "enemy":"' . (0 + $stats['enemy']) . '" , "pr": [ "' . $stats['priems'] . '" , "' . $stats['priems_z'] . '" , ' . (0 + $stats['priemslot']) . ' ] , "dm":"' . floor(
$stats['battle_yron']
) . '" , "to":"' . round($bt['timeout'] / 60, 2) . '" , "r":{ ' . ltrim(
$r, ','
) . ' } , "e":"' . $error . '" , "t1":"' . $stats['tactic1'] . '" , "t2":"' . $stats['tactic2'] . '" , "t3":"' . $stats['tactic3'] . '" , "t4":"' . $stats['tactic4'] . '" , "t5":"' . $stats['tactic5'] . '" , "t6":"' . $stats['tactic6'] . '" , "t7":"' . $stats['tactic7'] . '" }';

View File

@ -53,7 +53,6 @@ while ($pl = mysql_fetch_array($sp)) {
} }
// //
$html .= $i . '. <span class="date">' . date('H:i', $pl['time']) . '</span> '; $html .= $i . '. <span class="date">' . date('H:i', $pl['time']) . '</span> ';
$html .= ' <img title="' . $u->city_name[$pl['city']] . '" src="//img.new-combats.tech/i/city_ico/' . $pl['city'] . '.gif">';
$html .= ' (' . $users . ') (' . $pl['min_lvl_1'] . '-' . $pl['max_lvl_1'] . ') Тип боя: <img src="//img.new-combats.tech/i/fighttype' . $pl['type'] . '.gif"> '; $html .= ' (' . $users . ') (' . $pl['min_lvl_1'] . '-' . $pl['max_lvl_1'] . ') Тип боя: <img src="//img.new-combats.tech/i/fighttype' . $pl['type'] . '.gif"> ';
if ($pl['noinc'] > 0) { if ($pl['noinc'] > 0) {
$html .= '<img src="//img.new-combats.tech/closefight.gif" title="В поединок нельзя вмешаться">'; $html .= '<img src="//img.new-combats.tech/closefight.gif" title="В поединок нельзя вмешаться">';
@ -113,7 +112,6 @@ while ($pl = mysql_fetch_array($sp)) {
// //
$html .= $i . '. <span class="date">' . date('d.m.Y H:i', $pl['time_start']) . '</span> '; $html .= $i . '. <span class="date">' . date('d.m.Y H:i', $pl['time_start']) . '</span> ';
$html .= ' <img title="' . $u->city_name[$pl['city']] . '" src="//img.new-combats.tech/i/city_ico/' . $pl['city'] . '.gif">';
$html .= ' (' . $users . ') Тип боя: <img src="//img.new-combats.tech/i/fighttype' . $pl['type'] . '.gif"> '; $html .= ' (' . $users . ') Тип боя: <img src="//img.new-combats.tech/i/fighttype' . $pl['type'] . '.gif"> ';
if ($pl['noinc'] > 0) { if ($pl['noinc'] > 0) {
$html .= '<img src="//img.new-combats.tech/closefight.gif" title="В поединок нельзя вмешаться">'; $html .= '<img src="//img.new-combats.tech/closefight.gif" title="В поединок нельзя вмешаться">';
@ -145,9 +143,6 @@ $sp = mysql_query('SELECT * FROM `bs_turnirs`');
$i = 0; $i = 0;
while ($pl = mysql_fetch_array($sp)) { while ($pl = mysql_fetch_array($sp)) {
$i++; $i++;
//
$html .= $i . '. <img title="' . $u->city_name[$pl['city']] . '" src="//img.new-combats.tech/i/city_ico/' . $pl['city'] . '.gif">';
//
$html .= ' [' . $pl['level'] . ']'; $html .= ' [' . $pl['level'] . ']';
if ($pl['status'] == 0) { if ($pl['status'] == 0) {
//Ожидаем начала нового турнира //Ожидаем начала нового турнира

View File

@ -266,7 +266,11 @@ if (isset($uer)) {
<!-- pos1 --> <!-- pos1 -->
<?php <?php
//Персонаж онлайн //Персонаж онлайн
$battleid = Db::getValue('select id from battle where id = ? and time_over = 0', [$inf['battle']]); if ($inf['battle']) {
$b = new \Model\BattleModel($inf['battle']);
$battleid = $b->battle->time_over == 0 ? $b->battle->id : false;
unset($b);
}
if ($inf['room'] != 303) { if ($inf['room'] != 303) {
if ($inf['online'] > time() - 520 && $inf['banned'] == 0 && $inf['invis'] != 1 && $inf['invis'] < time()) { if ($inf['online'] > time() - 520 && $inf['banned'] == 0 && $inf['invis'] != 1 && $inf['invis'] < time()) {

View File

@ -596,7 +596,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
?> ?>
<BR> <BR>
</td> </td>
<td align="center" valign="top" style='padding: 0,2,0,5'> <td align="center" valign="top" style='padding: 0 2px 0 5px'>
<a title="<?= $itm['name'] ?>" href="/item/<?= $itm['id'] ?>"> <a title="<?= $itm['name'] ?>" href="/item/<?= $itm['id'] ?>">
<SPAN style='background-color: #E0E0E0'> <SPAN style='background-color: #E0E0E0'>
<img src="//img.new-combats.tech/i/items/<?= $itm['img'] ?>" <img src="//img.new-combats.tech/i/items/<?= $itm['img'] ?>"
@ -612,7 +612,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
<p> <p>
</td> </td>
<!-- End of text --> <!-- End of text -->
<td style='padding-left: 3' align=right> <td style='padding-left: 3px' align=right>
<img id="imright" height=144 <img id="imright" height=144
src="//img.new-combats.tech/i/encicl/pict_<?= $rz[$rt[$itm['type']]][0] ?>.jpg" width=139 src="//img.new-combats.tech/i/encicl/pict_<?= $rz[$rt[$itm['type']]][0] ?>.jpg" width=139
border=0> border=0>
@ -621,7 +621,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
</tr> </tr>
<tr valign=top> <tr valign=top>
<td></td> <td></td>
<td valign=center style="padding-bottom:50" align="right"><IMG height=236 <td valign=center style="padding-bottom:50px" align="right"><IMG height=236
src="//img.new-combats.tech/i/encicl/pictr_<?= $rz[$rt[$itm['type']]][0] ?>.jpg" src="//img.new-combats.tech/i/encicl/pictr_<?= $rz[$rt[$itm['type']]][0] ?>.jpg"
width=128 border=0> width=128 border=0>
</td> </td>
@ -643,7 +643,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 26'); $sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 26');
} elseif ($rv == 3) { } elseif ($rv == 3) {
//Свитки //Свитки
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 29 AND `name` NOT LIKE "%Кристаллизатор%"'); $sp = mysql_query("SELECT * FROM `items_main` WHERE `type` = 29 AND `name` NOT LIKE '%Кристаллизатор%'");
} elseif ($rv == 2) { } elseif ($rv == 2) {
//Эликсиры //Эликсиры
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 30'); $sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 30');
@ -682,7 +682,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 1'); $sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 1');
} elseif ($rv == 16) { } elseif ($rv == 16) {
//Елки //Елки
$sp = mysql_query('SELECT * FROM `items_main` WHERE `name` LIKE "%Елка%"'); $sp = mysql_query("SELECT * FROM `items_main` WHERE `name` LIKE '%Елка%'");
} elseif ($rv == 17) { } elseif ($rv == 17) {
//Дубины //Дубины
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 20'); $sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 20');
@ -700,7 +700,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 22'); $sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 22');
} elseif ($rv == 22) { } elseif ($rv == 22) {
//Цветы //Цветы
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 32 AND `img` LIKE "f_%"'); $sp = mysql_query("SELECT * FROM `items_main` WHERE `type` = 32 AND `img` LIKE 'f_%'");
} elseif ($rv == 25) { } elseif ($rv == 25) {
//Подарки //Подарки
$sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 38 OR `type` = 63'); $sp = mysql_query('SELECT * FROM `items_main` WHERE `type` = 38 OR `type` = 63');
@ -1074,7 +1074,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
?> ?>
<BR> <BR>
</td> </td>
<td align="center" valign="top" style='padding: 0,2,0,5'> <td align="center" valign="top" style='padding: 0 2px 0 5px'>
<a title="<?= $itm['name'] ?>" href="/item/<?= $itm['id'] ?>"> <a title="<?= $itm['name'] ?>" href="/item/<?= $itm['id'] ?>">
<SPAN style='background-color: #E0E0E0'> <SPAN style='background-color: #E0E0E0'>
<img src="//img.new-combats.tech/i/items/<?= $itm['img'] ?>" <img src="//img.new-combats.tech/i/items/<?= $itm['img'] ?>"
@ -1096,7 +1096,9 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
<BR> <BR>
<p> <p>
<!-- End of text --> <!-- End of text -->
<td style='padding-left: 3' align=right> </p>
</td>
<td style='padding-left: 3px' align=right>
<img id="imright2" height=144 src="//img.new-combats.tech/i/encicl/pict_subject.jpg" width=139> <img id="imright2" height=144 src="//img.new-combats.tech/i/encicl/pict_subject.jpg" width=139>
</td> </td>
<td valign=top background="/forum_script/img/rightground.jpg">&nbsp;&nbsp;&nbsp;&nbsp;</td> <td valign=top background="/forum_script/img/rightground.jpg">&nbsp;&nbsp;&nbsp;&nbsp;</td>
@ -1158,7 +1160,7 @@ $rz[$rt[$itm['type']]][1] ??= 'Прочие предметы';
<!-- --> <!-- -->
</td> </td>
<td valign="bottom" style="padding-bottom:50" align="right"> <td valign="bottom" style="padding-bottom:50px" align="right">
<IMG height=236 src="//img.new-combats.tech/i/encicl/pictr_subject.jpg" width=128 border=0> <IMG height=236 src="//img.new-combats.tech/i/encicl/pictr_subject.jpg" width=128 border=0>
</td> </td>
<td width="23" valign=top background="/forum_script/img/rightground.jpg">&nbsp;</td> <td width="23" valign=top background="/forum_script/img/rightground.jpg">&nbsp;</td>

View File

@ -5,7 +5,7 @@ function info_reflesh(id_info,uid,up_info,obraz,hp,hpAll,mp,mpAll,invis,sex,eff,
{ {
stl4[id_info] = { 4:'',5:'',6:'' }; img4 = ''; lst4 = 0; stl4[id_info] = { 4:'',5:'',6:'' }; img4 = ''; lst4 = 0;
var d = document.getElementById(`player${id_info}`); var d = document.getElementById(`player${id_info}`);
if(d!=undefined) if(d)
{ {
var mbmp = ''; var mbmp = '';
var nomp = 0; var nomp = 0;
@ -30,7 +30,7 @@ function info_reflesh(id_info,uid,up_info,obraz,hp,hpAll,mp,mpAll,invis,sex,eff,
hpAll = '100%'; hpAll = '100%';
} }
var zaggg = '',zggg1 = '',zggg2 = '',zggg3,zggg4 = ''; var zaggg = '',zggg1 = '',zggg2 = '',zggg3,zggg4 = '';
if( zag != undefined && zag != 0 && zag != '' ) { if(zag) {
zggg1 = 'class="inf2s"'; zggg1 = 'class="inf2s"';
zggg2 = 'position:relative;height:280px;'; zggg2 = 'position:relative;height:280px;';
zggg3 = 'position:absolute;top:3px;left:3px;z-index:102;'; zggg3 = 'position:absolute;top:3px;left:3px;z-index:102;';

View File

@ -42,6 +42,7 @@ const chat = {
efftxt: function (id, txt) { efftxt: function (id, txt) {
return txt; return txt;
}, },
ignore: function (login) { ignore: function (login) {
if (this.ignoreList[login] !== undefined) { if (this.ignoreList[login] !== undefined) {
if ($('#ignr_alu').attr('id') !== undefined) { if ($('#ignr_alu').attr('id') !== undefined) {
@ -63,10 +64,13 @@ const chat = {
ingr_alu.html(`${ingr_alu.html()}<div id="ignr_u_${this.ignoreList.x}"><b>${login}</b> <a target="_blank" href="/info/${login}"><img alt="Инф. о ${login}" src="${c.img2}/i/inf_capitalcity.gif" onMouseOver="top.hi(this,\'<b>Инф. о ${login}</b>\',event,5,-2,2,2,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"></a> <small><a href="javascript:void(0)" onclick="chat.ignorUn(${this.ignoreList.x})">Clear</a></small></div>`); ingr_alu.html(`${ingr_alu.html()}<div id="ignr_u_${this.ignoreList.x}"><b>${login}</b> <a target="_blank" href="/info/${login}"><img alt="Инф. о ${login}" src="${c.img2}/i/inf_capitalcity.gif" onMouseOver="top.hi(this,\'<b>Инф. о ${login}</b>\',event,5,-2,2,2,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"></a> <small><a href="javascript:void(0)" onclick="chat.ignorUn(${this.ignoreList.x})">Clear</a></small></div>`);
} }
}, },
getRandom: function (a, b) { getRandom: function (a, b) {
return a + ((b - a) * Math.random()); return a + ((b - a) * Math.random());
}, },
feerverk_id: 0, feerverk_id: 0,
feerverk: function (name) { feerverk: function (name) {
const frc = { const frc = {
'name': 'fw04', 'name': 'fw04',
@ -82,7 +86,7 @@ const chat = {
frc.left -= 35; frc.left -= 35;
} }
if (frc.name !== undefined) { if (frc.name) {
this.sendSound(frc.sound); this.sendSound(frc.sound);
const obj = top.frames.main.document.getElementById('frvrks'); const obj = top.frames.main.document.getElementById('frvrks');
if (obj !== undefined) { if (obj !== undefined) {
@ -103,6 +107,7 @@ const chat = {
if (zad > 0) { if (zad > 0) {
setTimeout(`chat.feerverk_go(${id}, ${time_back}, "${img}", ${x}, 0);`, 500 * zad); setTimeout(`chat.feerverk_go(${id}, ${time_back}, "${img}", ${x}, 0);`, 500 * zad);
} else { } else {
time_back--; time_back--;
top.frames.main.document.getElementById(`frvanim_${id}`); top.frames.main.document.getElementById(`frvanim_${id}`);
if (time_back > 0) { if (time_back > 0) {
@ -258,10 +263,12 @@ const chat = {
clearText: function () { clearText: function () {
$('#textmsg').val(''); $('#textmsg').val('');
}, },
reflesh: function () { reflesh: function () {
this.time = 0; this.time = 0;
this.testTimer(true); this.testTimer(true);
}, },
reMoney: function () { reMoney: function () {
$('#moneyGM').html(`${c.money} кр.`); $('#moneyGM').html(`${c.money} кр.`);
}, },

View File

@ -1,4 +1,9 @@
<?php <?php
// я ебу, архивы поединков используют динамически-генерируемые логи из шаблона на лету
// вместо того чтобы хранить тупо статический текст
// сколько ещё открытий чудных?
// мораль: перед удалением проверить кто и где вызывает файл.
$log_text = []; $log_text = [];
$log_text[0] = []; //для муж. $log_text[0] = []; //для муж.

View File

@ -78,13 +78,11 @@ if (!isset($CRON_CORE) && $u->info['online'] < time() - 30) {
$error = fn(string $str): string => '<div style="color: red; text-align: center; font-weight: bold;">' . $str . '</div>'; $error = fn(string $str): string => '<div style="color: red; text-align: center; font-weight: bold;">' . $str . '</div>';
require_once 'log_text.php';
$btl = new Battle(); $btl = new Battle();
require_once('log_text.php'); $isBattle = $btl->initRefresh($u);
$btl->is = $u->is;
$btl->items = $u->items;
$btl->info = $btl->battleInfo($u->info['battle']);
if (!isset($btl->info['id'])) { if (!$isBattle) {
if ($u->info['battle'] == -1) { if ($u->info['battle'] == -1) {
//завершаем поединок //завершаем поединок
Db::sql('update users set battle = 0, online = unix_timestamp() where id = ?', [$u->info['id']]); Db::sql('update users set battle = 0, online = unix_timestamp() where id = ?', [$u->info['id']]);
@ -97,7 +95,7 @@ if (!isset($btl->info['id'])) {
} }
} else { } else {
//получаем массив с игроками в бою //получаем массив с игроками в бою
$btl->teamsTake(); $btl->teamsTake($u);
if (isset($_POST['useitem']) && $btl->testUsersLive()) { if (isset($_POST['useitem']) && $btl->testUsersLive()) {
$magic->useItems((int)$_POST['useitem']); $magic->useItems((int)$_POST['useitem']);

View File

@ -82,7 +82,7 @@ if (!isset($btl->info['id'])) {
} }
} else { } else {
//получаем массив с игроками в бою //получаем массив с игроками в бою
$btl->teamsTake(); $btl->teamsTake($u);
if (isset($_POST['useitem']) && $btl->testUsersLive() == true) { if (isset($_POST['useitem']) && $btl->testUsersLive() == true) {
$magic->useItems((int)$_POST['useitem']); $magic->useItems((int)$_POST['useitem']);

View File

@ -79,7 +79,7 @@ if (isset($_POST['atack'], $_POST['block']) || (isset($_POST['id']) && $_POST['i
} }
} else { } else {
//получаем массив с игроками в бою //получаем массив с игроками в бою
$btl->teamsTake(); $btl->teamsTake($u);
if (isset($_POST['useitem']) && $btl->testUsersLive() == true) { if (isset($_POST['useitem']) && $btl->testUsersLive() == true) {
$magic->useItems((int)$_POST['useitem']); $magic->useItems((int)$_POST['useitem']);

View File

@ -86,12 +86,11 @@ if (isset($CRON_CORE) && (isset($_POST['atack'], $_POST['block']) || (isset($_PO
) . "' WHERE `id`='" . $u->info['id'] . "' LIMIT 1" ) . "' WHERE `id`='" . $u->info['id'] . "' LIMIT 1"
); );
} }
$btl = new Battle();
require_once('log_text.php'); require_once('log_text.php');
$btl->is = $u->is; $btl = new Battle();
$btl->items = $u->items; $isBattle = $btl->initRefresh($u);
$btl->info = $btl->battleInfo($u->info['battle']);
if (!isset($btl->info['id'])) { if (!$isBattle) {
if ($u->info['battle'] == -1) { if ($u->info['battle'] == -1) {
//завершаем поединок //завершаем поединок
$upd = mysql_query( $upd = mysql_query(
@ -115,7 +114,7 @@ if (isset($CRON_CORE) && (isset($_POST['atack'], $_POST['block']) || (isset($_PO
} }
} else { } else {
//получаем массив с игроками в бою //получаем массив с игроками в бою
$btl->teamsTake(); $btl->teamsTake($u);
if (isset($_POST['useitem'])) { if (isset($_POST['useitem'])) {
$magic->useItems((int)$_POST['useitem']); $magic->useItems((int)$_POST['useitem']);

992
logs.php

File diff suppressed because it is too large Load Diff

414
main.php
View File

@ -7,49 +7,7 @@ use Core\{Config, Database, Db};
use User\ItemsModel; use User\ItemsModel;
use User\UserIp; use User\UserIp;
?> function var_info($vars, $d = false): void
<style>
/* Paste this css to your style sheet file or under head tag */
/* This only works with JavaScript,
if it's not present, don't show loader */
.no-js #loader {
display: none;
}
.js #loader {
display: block;
position: absolute;
left: 100px;
top: 0;
}
.se-pre-con {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 9999;
background: url(default.gif) center no-repeat #e2e0e1;
}
pre {
border: 1px solid gray;
border-radius: 5px;
padding: 3px 6px;
background: #cecece;
color: black;
font-family: Arial, sans-serif;
font-size: 12px;
}
</style>
<link href="<?= Config::img() ?>/css/main.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/css/training/modal.css">
<div class="se-pre-con" id="se-pre-con"></div>
<?php
function var_info($vars, $d = false)
{ {
echo "<pre>\n"; echo "<pre>\n";
var_dump($vars); var_dump($vars);
@ -72,7 +30,7 @@ $code = PassGen::intCode(); //для ссылок вида ?rnd=XXXXXX, врод
/** Восстанавливаем всем ботам, которые не в бою здоровье до максимума. */ /** Восстанавливаем всем ботам, которые не в бою здоровье до максимума. */
Db::sql( Db::sql(
'update stats set hpNow = hpAll, mpNow = mpAll where id in (select id from users where bot = 2 and battle = 0)' 'update stats set hpnow = hpall, mpnow = mpall where id in (select id from users where bot = 2 and battle = 0)'
); );
if ($u->info['banned'] > 0) { if ($u->info['banned'] > 0) {
@ -99,12 +57,12 @@ if ($u->room['file'] == "room_hostel" || $u->room['file'] == "post") {
if (($u->info['online'] < time() - 60 || $u->info['afk'] != '')) { if (($u->info['online'] < time() - 60 || $u->info['afk'] != '')) {
$filter->setOnline(0, $u->info['id']); $filter->setOnline(0, $u->info['id']);
Db::sql( Db::sql(
'update users set online = unix_timestamp(), timeMain = unix_timestamp(), afk = ? where id = ?', 'update users set online = unix_timestamp(), timemain = unix_timestamp(), afk = ? where id = ?',
['', $u->info['id']] ['', $u->info['id']]
); );
} elseif ($u->info['timeMain'] < time() - 60 || $u->info['afk'] != '') { } elseif ($u->info['timeMain'] < time() - 60 || $u->info['afk'] != '') {
Db::sql( Db::sql(
'update users set online = unix_timestamp(), timeMain = unix_timestamp(), afk = ? where id = ?', 'update users set online = unix_timestamp(), timemain = unix_timestamp(), afk = ? where id = ?',
['', $u->info['id']] ['', $u->info['id']]
); );
} }
@ -129,10 +87,6 @@ if ($u->info['battle_text'] != '' && $u->info['last_b'] > 0) {
); );
} }
if (!isset($_GET['mAjax']) && !isset($_GET['ajaxHostel'])) {
echo '<!DOCTYPE html>
<div style="padding-top:0; margin-top:17px; /*height:100%;*/ background-color:#e2e0e1;">';
}
$act = -2; $act = -2;
$act2 = 0; $act2 = 0;
$u->stats = $u->getStats($u->info['id'], 0); $u->stats = $u->getStats($u->info['id'], 0);
@ -176,11 +130,11 @@ if (isset($_GET['atak_user']) && $u->info['battle'] == 0 && $_GET['atak_user'] !
] ]
); );
$check = Db::getValue( $check = Db::getValue(
'select id from eff_users where id_eff = 478 and uid = ? and `delete` = 0 order by overType desc limit 1', 'select id from eff_users where id_eff = 478 and uid = ? and `delete` = 0 order by overtype desc limit 1',
[$u->info['id']] [$u->info['id']]
); );
$check2 = Db::getValue( $check2 = Db::getValue(
'select id from eff_users where id_eff = 479 and uid = ? and `delete` = 0 order by overType desc limit 1', 'select id from eff_users where id_eff = 479 and uid = ? and `delete` = 0 order by overtype desc limit 1',
[$ua['id']] [$ua['id']]
); );
$check3 = Db::getValue( $check3 = Db::getValue(
@ -234,7 +188,8 @@ if (isset($_GET['atak_user']) && $u->info['battle'] == 0 && $_GET['atak_user'] !
} }
Db::sql( Db::sql(
'update stats set hpNow = ?, mpNow = ? where id = ?', [ 'update stats set hpnow = ?, mpnow = ? where id = ?',
[
$usta['hpNow'], $usta['hpNow'],
$usta['mpNow'], $usta['mpNow'],
$usta['id'], $usta['id'],
@ -292,70 +247,6 @@ if ($u->info['battle'] == 0) {
'select id, battle from battle_users where uid = ? and finish = 0 limit 1', [$u->info['id']] 'select id, battle from battle_users where uid = ? and finish = 0 limit 1', [$u->info['id']]
); );
} }
if (isset($btl_last['id']) && $u->info['battle'] == 0) {
require_once('modules_data/btl_.php');
$u->info['battle_lsto'] = true;
} elseif ($u->info['battle'] == 0) {
//Проверка/Снятие предметов
if (!isset($sleep['id'])) {
$act2 = $u->testItems($u->info['id'], $u->stats, 0);
}
if ($act2 != -2 && $act == -2) {
$act = $act2;
}
if ($u->room['block_all'] != 0) {
unset($_GET['inv'], $_GET['skills'], $_GET['anketa']);
}
if (!isset($u->tfer['id']) && $u->room['block_all'] == 0) {
//Одеть/снять предмет
if (isset($_GET['rstv']) && isset($_GET['inv'])) {
$u->freeStatsMod($_GET['rstv'], $_GET['mf'], $u->info['id']);
} elseif (isset($_GET['ufs2']) && isset($_GET['inv'])) {
$u->freeStats2Item($_GET['itmid'], $_GET['ufs2'], $u->info['id'], 1);
} elseif (isset($_GET['ufs2mf']) && isset($_GET['inv'])) {
$u->freeStats2Item($_GET['itmid'], $_GET['ufs2mf'], $u->info['id'], 2);
} elseif (isset($_GET['ufsmst']) && isset($_GET['inv'])) {
$u->itemsSmSave($_GET['itmid'], $_GET['ufsmst'], $u->info['id']);
} elseif (isset($_GET['ufsms']) && isset($_GET['inv'])) {
$u->itemsSmSave($_GET['itmid'], $_GET['ufsms'] + 100, $u->info['id']);
} elseif (isset($_GET['ufs']) && isset($_GET['inv'])) {
$u->freeStatsItem($_GET['itmid'], $_GET['ufs'], $u->info['id']);
} elseif (isset($_GET['sid']) && isset($_GET['inv'])) {
$act = $u->snatItem($_GET['sid'], $u->info['id']);
} elseif (isset($_GET['oid']) && isset($_GET['inv'])) {
$act = $u->odetItem($_GET['oid'], $u->info['id']);
} elseif (isset($_GET['item_rune']) && isset($_GET['inv'])) {
$u->runeItem(null);
} elseif (isset($_GET['remitem'], $_GET['inv'])) {
$act = $u->snatItemAll($u->info['id']);
} elseif (isset($_GET['delete']) && isset($_GET['inv']) && $u->newAct($_GET['sd4'])) {
if ($u->info['allLock'] < time()) {
$u->deleteItem(intval($_GET['delete']), $u->info['id']);
} else {
echo '<script>setTimeout(function(){alert("Вам запрещено удалять предметы до ' . date(
'd.m.y H:i', $u->info['allLock']
) . '")},250);</script>';
}
} elseif (isset($_GET['unstack']) && isset($_GET['inv']) && $u->newAct($_GET['sd4'])) {
$u->unstack(intval($_GET['unstack']), intval($_GET['unstackCount']));
} elseif (isset($_GET['stack']) && isset($_GET['inv'])) {
$u->stack($_GET['stack']);
} elseif (isset($_GET['end_qst_now'])) {
$q->endq((int)$_GET['end_qst_now'], 'end');
}
//Использовать эффект
if (isset($_GET['use_pid'])) {
$magic->useItems((int)$_GET['use_pid']);
}
} else {
if ($u->room['block_all'] > 0) {
$u->error = 'В данной локации запрещено пользоваться чем-либо...';
}
}
}
if ($magic->youuse > 0) { if ($magic->youuse > 0) {
$act = 1; $act = 1;
@ -372,90 +263,6 @@ if ($act != -2) {
} }
} }
/*-----------------------*/
if (isset($_GET['security']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_changepass.php');
} elseif (isset($_GET['friends']) && !isset($u->tfer['id'])) {
require_once('modules_data/_friends.php');
} elseif (($u->info['admin'] > 0 || $u->info['level'] > 7 || $u->info['align'] == 50) && isset($_GET['notepad']) && !isset($u->tfer['id'])) {
require_once('modules_data/notepad.php');
} elseif (isset($_GET['moderation'])) {
require_once('modules_data/_mod.php');
} elseif (isset($_GET['vip']) && !isset($u->tfer['id'])) {
require_once('modules_data/vip.php');
} elseif (
(
isset($_GET['zayvka']) &&
$u->info['battle'] == 0
) ||
(
isset($_GET['zayvka']) &&
(
$_GET['r'] == 6 ||
$_GET['r'] == 7 ||
!isset($_GET['r'])
) &&
$u->info['battle'] > 0
) &&
!isset($u->tfer['id'])
) {
require_once('modules_data/_zv.php');
} elseif (isset($_GET['alh']) && !isset($u->tfer['id'])) {
require_once('modules_data/_alh.php');
} elseif (isset($_GET['clan']) && !isset($u->tfer['id'])) {
require_once('modules_data/_clan.php'); //Панель кланов
} elseif (isset($_GET['alhp']) && ($u->info['admin'] == 1 || $u->info['align'] == 50) && !isset($u->tfer['id'])) {
require_once('modules_data/_alhp.php'); //Панель алхимиков
} elseif ($u->info['align'] > 0 && !isset($u->tfer['id']) && !empty($_GET['ap'])) {
require_once('modules_data/alignPanel.php'); //Панель склонностей, GET чтобы вызывать по ссылке.
} elseif ($u->info['battle'] != 0) {
//поединок
if ((!isset($btl_last['id']) || $u->info['battle'] > 0) && !isset($u->info['battle_lsto'])) {
require_once('modules_data/btl_.php');
echo '<script type="text/javascript" src="js/onlineList.js"></script>';
}
} else {
if (isset($_GET['talk']) && !isset($u->tfer['id'])) {
echo "<script>document.getElementById('se-pre-con').parentNode.removeChild(document.getElementById('se-pre-con'));</script>";
if ($u->info['dnow'] > 0) {
$d = new Dungeon;
}
require_once('modules_data/_dialog.php');
} elseif (isset($_GET['inv']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_inv.php');
} elseif (isset($_GET['add_eff']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/add_eff.php');
} elseif (isset($_GET['referals']) && $trololo == 1 && !isset($u->tfer['id'])) {
require_once('modules_data/_ref.php');
} elseif (isset($_GET['obraz']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_obraz.php');
} elseif (isset($_GET['skills']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_umenie.php');
} elseif ((isset($_GET['transfer']) || isset($u->tfer['id'])) && $u->info['level'] >= Config::get(
'level_ransfer'
) && $trololo == 1 && $u->info['inTurnir'] == 0 && $u->info['inTurnirnew'] == 0) {
if ($u->info['allLock'] > time()) {
require_once('modules_data/_locations.php');
echo '<script>setTimeout(function(){alert("Вам запрещены передачи до ' . date(
'd.m.y H:i', $u->info['allLock']
) . '")},250);</script>';
} else {
require_once('modules_data/_transfers.php');
}
} elseif (isset($_GET['anketa']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('settings.php');
} elseif (isset($_GET['newanimal']) && $trololo == 1) {
require_once('modules_data/_newanimal.php');
} elseif (isset($_GET['act_trf']) && $u->room['block_all'] == 0) {
require_once('modules_data/act_trf.php');
} elseif (isset($_GET['titul']) && $u->room['block_all'] == 0) {
require_once('modules_data/titul.php');
} elseif (!isset($u->tfer['id'])) {
require_once('modules_data/_locations.php');
}
}
//Проверяем квесты на готовность //Проверяем квесты на готовность
if (in_array( if (in_array(
$u->room['file'], $u->room['file'],
@ -547,12 +354,209 @@ foreach ($sp as $pl) {
</a> </a>
HTML; HTML;
} }
} else {
echo '[!]';
} }
unset($tk, $itmo); unset($tk, $itmo);
} }
$spl = Db::getValue('select exp from levels where nextlevel = ? order by exp limit 1', [$u->info['level'] + 1]);
?>
<style>
/* Paste this css to your style sheet file or under head tag */
/* This only works with JavaScript,
if it's not present, don't show loader */
.no-js #loader {
display: none;
}
.js #loader {
display: block;
position: absolute;
left: 100px;
top: 0;
}
.se-pre-con {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 9999;
background: url(default.gif) center no-repeat #e2e0e1;
}
pre {
border: 1px solid gray;
border-radius: 5px;
padding: 3px 6px;
background: #cecece;
color: black;
font-family: Arial, sans-serif;
font-size: 12px;
}
</style>
<link href="<?= Config::img() ?>/css/main.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="/css/training/modal.css">
<div class="se-pre-con" id="se-pre-con"></div>
<?php
if (!isset($_GET['mAjax']) && !isset($_GET['ajaxHostel'])) {
echo '<!DOCTYPE html>
<div style="padding-top:0; margin-top:17px; /*height:100%;*/ background-color:#e2e0e1;">';
}
if (isset($btl_last['id']) && $u->info['battle'] == 0) {
require_once('modules_data/btl_.php');
$u->info['battle_lsto'] = true;
} elseif ($u->info['battle'] == 0) {
//Проверка/Снятие предметов
if (!isset($sleep['id'])) {
$act2 = $u->testItems($u->info['id'], $u->stats, 0);
}
if ($act2 != -2 && $act == -2) {
$act = $act2;
}
if ($u->room['block_all'] != 0) {
unset($_GET['inv'], $_GET['skills'], $_GET['anketa']);
}
if (!isset($u->tfer['id']) && $u->room['block_all'] == 0) {
//Одеть/снять предмет
if (isset($_GET['rstv']) && isset($_GET['inv'])) {
$u->freeStatsMod($_GET['rstv'], $_GET['mf'], $u->info['id']);
} elseif (isset($_GET['ufs2']) && isset($_GET['inv'])) {
$u->freeStats2Item($_GET['itmid'], $_GET['ufs2'], $u->info['id'], 1);
} elseif (isset($_GET['ufs2mf']) && isset($_GET['inv'])) {
$u->freeStats2Item($_GET['itmid'], $_GET['ufs2mf'], $u->info['id'], 2);
} elseif (isset($_GET['ufsmst']) && isset($_GET['inv'])) {
$u->itemsSmSave($_GET['itmid'], $_GET['ufsmst'], $u->info['id']);
} elseif (isset($_GET['ufsms']) && isset($_GET['inv'])) {
$u->itemsSmSave($_GET['itmid'], $_GET['ufsms'] + 100, $u->info['id']);
} elseif (isset($_GET['ufs']) && isset($_GET['inv'])) {
$u->freeStatsItem($_GET['itmid'], $_GET['ufs'], $u->info['id']);
} elseif (isset($_GET['sid']) && isset($_GET['inv'])) {
$act = $u->snatItem($_GET['sid'], $u->info['id']);
} elseif (isset($_GET['oid']) && isset($_GET['inv'])) {
$act = $u->odetItem($_GET['oid'], $u->info['id']);
} elseif (isset($_GET['item_rune']) && isset($_GET['inv'])) {
$u->runeItem(null);
} elseif (isset($_GET['remitem'], $_GET['inv'])) {
$act = $u->snatItemAll($u->info['id']);
} elseif (isset($_GET['delete']) && isset($_GET['inv']) && $u->newAct($_GET['sd4'])) {
if ($u->info['allLock'] < time()) {
$u->deleteItem(intval($_GET['delete']), $u->info['id']);
} else {
echo '<script>setTimeout(function(){alert("Вам запрещено удалять предметы до ' . date(
'd.m.y H:i', $u->info['allLock']
) . '")},250);</script>';
}
} elseif (isset($_GET['unstack']) && isset($_GET['inv']) && $u->newAct($_GET['sd4'])) {
$u->unstack(intval($_GET['unstack']), intval($_GET['unstackCount']));
} elseif (isset($_GET['stack']) && isset($_GET['inv'])) {
$u->stack($_GET['stack']);
} elseif (isset($_GET['end_qst_now'])) {
$q->endq((int)$_GET['end_qst_now'], 'end');
}
//Использовать эффект
if (isset($_GET['use_pid'])) {
$magic->useItems((int)$_GET['use_pid']);
}
} else {
if ($u->room['block_all'] > 0) {
$u->error = 'В данной локации запрещено пользоваться чем-либо...';
}
}
}
/*-----------------------*/
if (isset($_GET['security']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_changepass.php');
} elseif (isset($_GET['friends']) && !isset($u->tfer['id'])) {
require_once('modules_data/_friends.php');
} elseif (($u->info['admin'] > 0 || $u->info['level'] > 7 || $u->info['align'] == 50) && isset($_GET['notepad']) && !isset($u->tfer['id'])) {
require_once('modules_data/notepad.php');
} elseif (isset($_GET['moderation'])) {
require_once('modules_data/_mod.php');
} elseif (isset($_GET['vip']) && !isset($u->tfer['id'])) {
require_once('modules_data/vip.php');
} elseif (
(
isset($_GET['zayvka']) &&
$u->info['battle'] == 0
) ||
(
isset($_GET['zayvka']) &&
(
$_GET['r'] == 6 ||
$_GET['r'] == 7 ||
!isset($_GET['r'])
) &&
$u->info['battle'] > 0
) &&
!isset($u->tfer['id'])
) {
require_once('modules_data/_zv.php');
} elseif (isset($_GET['alh']) && !isset($u->tfer['id'])) {
require_once('modules_data/_alh.php');
} elseif (isset($_GET['clan']) && !isset($u->tfer['id'])) {
require_once('modules_data/_clan.php'); //Панель кланов
} elseif (isset($_GET['alhp']) && ($u->info['admin'] == 1 || $u->info['align'] == 50) && !isset($u->tfer['id'])) {
require_once('modules_data/_alhp.php'); //Панель алхимиков
} elseif ($u->info['align'] > 0 && !isset($u->tfer['id']) && !empty($_GET['ap'])) {
require_once('modules_data/alignPanel.php'); //Панель склонностей, GET чтобы вызывать по ссылке.
} elseif ($u->info['battle'] != 0) {
//поединок
if ((!isset($btl_last['id']) || $u->info['battle'] > 0) && !isset($u->info['battle_lsto'])) {
require_once('modules_data/btl_.php');
echo '<script type="text/javascript" src="js/onlineList.js"></script>';
}
} else {
if (isset($_GET['talk']) && !isset($u->tfer['id'])) {
echo "<script>document.getElementById('se-pre-con').parentNode.removeChild(document.getElementById('se-pre-con'));</script>";
if ($u->info['dnow'] > 0) {
$d = new Dungeon;
}
require_once('modules_data/_dialog.php');
} elseif (isset($_GET['inv']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_inv.php');
} elseif (isset($_GET['add_eff']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/add_eff.php');
} elseif (isset($_GET['referals']) && $trololo == 1 && !isset($u->tfer['id'])) {
require_once('modules_data/_ref.php');
} elseif (isset($_GET['obraz']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_obraz.php');
} elseif (isset($_GET['skills']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_umenie.php');
} elseif ((isset($_GET['transfer']) || isset($u->tfer['id'])) && $u->info['level'] >= Config::get(
'level_ransfer'
) && $trololo == 1 && $u->info['inTurnir'] == 0 && $u->info['inTurnirnew'] == 0) {
if ($u->info['allLock'] > time()) {
require_once('modules_data/_locations.php');
echo '<script>setTimeout(function(){alert("Вам запрещены передачи до ' . date(
'd.m.y H:i', $u->info['allLock']
) . '")},250);</script>';
} else {
require_once('modules_data/_transfers.php');
}
} elseif (isset($_GET['anketa']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('settings.php');
} elseif (isset($_GET['newanimal']) && $trololo == 1) {
require_once('modules_data/_newanimal.php');
} elseif (isset($_GET['act_trf']) && $u->room['block_all'] == 0) {
require_once('modules_data/act_trf.php');
} elseif (isset($_GET['titul']) && $u->room['block_all'] == 0) {
require_once('modules_data/titul.php');
} elseif (!isset($u->tfer['id'])) {
require_once('modules_data/_locations.php');
}
}
if ($iloc != '') { if ($iloc != '') {
if ($iloce != '') { if ($iloce != '') {
$iloc = '<div style="padding:10px; color: red;">' . $iloce . '</div>' . $iloc; $iloc = '<div style="padding:10px; color: red;">' . $iloce . '</div>' . $iloc;
@ -617,10 +621,8 @@ if ($iloc != '') {
} }
unset($iloc, $iloce); unset($iloc, $iloce);
/*-----------------------*/ /*-----------------------*/
$spl = Db::getValue('select exp from levels where nextLevel = ? order by exp limit 1', [$u->info['level'] + 1]);
//Сломаное обучение. Как оно достало! Ins. 🤬 //Сломаное обучение. Как оно достало! Ins. 🤬
//$training_manager->render(); //$training_manager->render();
?> ?>

View File

@ -52,7 +52,7 @@ if ($r === FightRequest::BATTLE_RAZDEL_ENDED) {
IntlDateFormatter::LONG, IntlDateFormatter::LONG,
IntlDateFormatter::NONE IntlDateFormatter::NONE
); );
$dt = $_GET['logs2'] ??= time(); $dt = $_GET['logs2'] ??= (new DateTime('now midnight'))->gettimestamp();
$slogin = $_GET['filter'] ?? $_POST['filter'] ?? $u->info['login']; $slogin = $_GET['filter'] ?? $_POST['filter'] ?? $u->info['login'];
$slogin = str_replace('"', '', $slogin); $slogin = str_replace('"', '', $slogin);
$slogin = str_replace("'", '', $slogin); $slogin = str_replace("'", '', $slogin);
@ -190,10 +190,10 @@ if ($r === FightRequest::BATTLE_RAZDEL_ENDED) {
<a href="/main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_TOURNAMENTS ?>&rnd=<?= $code ?>">Турниры</a> <a href="/main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_TOURNAMENTS ?>&rnd=<?= $code ?>">Турниры</a>
</td> </td>
<td class="<?= $r == FightRequest::BATTLE_RAZDEL_GROUP ? 's' : 'm' ?>"> <td class="<?= $r == FightRequest::BATTLE_RAZDEL_GROUP ? 's' : 'm' ?>">
<a href="main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_GROUP ?>&rnd=<?= $code ?>">Групповые</a> <a href="/main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_GROUP ?>&rnd=<?= $code ?>">Групповые</a>
</td> </td>
<td class="<?= $r == FightRequest::BATTLE_RAZDEL_CHAOTIC ? 's' : 'm' ?>"> <td class="<?= $r == FightRequest::BATTLE_RAZDEL_CHAOTIC ? 's' : 'm' ?>">
<a href="main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_CHAOTIC ?>&rnd=<?= $code ?>">Хаотичные</a> <a href="/main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_CHAOTIC ?>&rnd=<?= $code ?>">Хаотичные</a>
</td> </td>
<td class="<?= $r == FightRequest::BATTLE_RAZDEL_CURRENT ? 's' : 'm' ?>"> <td class="<?= $r == FightRequest::BATTLE_RAZDEL_CURRENT ? 's' : 'm' ?>">
<a href="/main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_CURRENT ?>&rnd=<?= $code ?>">Текущие</a> <a href="/main.php?zayvka=1&r=<?= FightRequest::BATTLE_RAZDEL_CURRENT ?>&rnd=<?= $code ?>">Текущие</a>

View File

@ -19,21 +19,9 @@ if ($u->info['battle'] == 0 || isset($_GET['bend'])) {
die('<script>top.frames[\'main\'].location = "main.php";</script>'); die('<script>top.frames[\'main\'].location = "main.php";</script>');
} }
$thisBattle = Db::getRow('select * from battle where id = ?', [$u->info['battle']]); $thisBattle = Battle::get($u->info['battle']);
$allprice = Db::getValue('select sum(price1) from battle_users where battle = ?', [$u->info['battle']]); $allprice = Db::getValue('select sum(price1) from battle_users where battle = ?', [$u->info['battle']]);
function typeBattle($x): array
{
return match (true) {
$x >= 5000000 => [150, 150, 'Судный День', 'Судный День'],
$x >= 2500000 => [100, 125, 'Эпохальная Битва', 'Кровавое Побоище'],
$x >= 1000000 => [75, 100, 'Историческая Битва', 'Кровавая Сеча'],
$x >= 500000 => [50, 75, 'Величайшая Битва', 'Кровавая Резня'],
$x >= 100000 => [25, 50, 'Великая Битва', 'Кровавая Битва'],
default => [0, 0, 'Поединок', 'Кровавый Поединок'],
};
}
function finish(User $u): void function finish(User $u): void
{ {
if (!isset($_GET['finish'])) { if (!isset($_GET['finish'])) {
@ -72,11 +60,9 @@ function normJsonStr($str)
); );
} }
$allprice = typeBattle($allprice); $allprice = Battle::getType($allprice, $thisBattle['smert'] == 1);
if ($thisBattle['smert'] == 1) {
$allprice = [150, 150, 'Жесточайшее Сражение', 'Жесточайшее Сражение'];
}
?> ?>
<script src="/js/jquery.js"></script> <script src="/js/jquery.js"></script>

View File

@ -263,7 +263,7 @@ if ($u->room['file'] == 'bsenter') {
<BR> <BR>
</fieldset> </fieldset>
</form> </form>
<h4>Топ 10 игроков (новая статистиика) турнир 5<? //=$t['level']?> уровней</h4> <h4>Топ 10 игроков (новая статистиика) турнир 5 уровней</h4>
<?php <?php
$sp = mysql_query('SELECT * FROM `users` WHERE `win_bs`>0 ORDER BY `win_bs` DESC LIMIT 10'); $sp = mysql_query('SELECT * FROM `users` WHERE `win_bs`>0 ORDER BY `win_bs` DESC LIMIT 10');
$i = 1; $i = 1;
@ -279,7 +279,7 @@ if ($u->room['file'] == 'bsenter') {
$i++; $i++;
} }
?> ?>
<h4>Победители 10-ти предыдущих турниров для 5<? //=$t['level']?> уровней</h4> <h4>Победители 10-ти предыдущих турниров для 5 уровней</h4>
<?php <?php
$sp = mysql_query('SELECT * FROM `bs_statistic` WHERE `wuid` > 0 ORDER BY `id` DESC LIMIT 10'); $sp = mysql_query('SELECT * FROM `bs_statistic` WHERE `wuid` > 0 ORDER BY `id` DESC LIMIT 10');
$i = 1; $i = 1;
@ -317,7 +317,7 @@ if ($u->room['file'] == 'bsenter') {
$i++; $i++;
} }
?> ?>
<h4>Самый продолжительный турнир для 5<? //=$t['level']?> уровней</h4> <h4>Самый продолжительный турнир для 5 уровней</h4>
<?php <?php
$sp = mysql_query('SELECT * FROM `bs_statistic` WHERE `wuid` > 0 ORDER BY `time_sf` DESC LIMIT 1'); $sp = mysql_query('SELECT * FROM `bs_statistic` WHERE `wuid` > 0 ORDER BY `time_sf` DESC LIMIT 1');
$i = 1; $i = 1;

View File

@ -1,200 +1,210 @@
<?php <?php
if(!defined('GAME')) if (!defined('GAME')) {
{
die(); die();
} }
//id Новогоднего подарка //id Новогоднего подарка
$pidid = 4008; $pidid = 4008;
$dy = 1; $dy = 1;
if((date('n',time())==2 && date('j',time())<=14)) if ((date('n', time()) == 2 && date('j', time()) <= 14)) {
{
$dy = 0; $dy = 0;
} }
$dt = date('Y',time())+$dy; $dt = date('Y', time()) + $dy;
$dt = 2023; $dt = 2023;
if($u->room['file']=='elka') if ($u->room['file'] != 'elka') {
return;
}
if (isset($_GET['elka_shar']) && isset($_GET['shar_name'])) //Украшение Ёлки
{ {
$itd = mysql_fetch_array(
if(isset($_GET['elka_shar'])&& isset($_GET['shar_name'])) //Украшение Ёлки mysql_query(' SELECT * FROM `items_users` WHERE `item_id` > 2723 AND `item_id` < 2741 AND `uid`= "' . $u->info['id'] . '" AND `delete` = 0 AND `id`= "' . $_GET['elka_shar'] . '" LIMIT 1 ')
{ );
$itd = mysql_fetch_array(mysql_query(' SELECT * FROM `items_users` WHERE `item_id` > 2723 AND `item_id` < 2741 AND `uid`= "'.$u->info['id'].'" AND `delete` = 0 AND `id`= "'.$_GET['elka_shar'].'" LIMIT 1 ')); if (isset($itd['id'])) {
if (isset($itd['id'])){ $itdu = mysql_query('UPDATE `items_users` SET `delete` ="' . time() . '" WHERE `id` ="' . $_GET['elka_shar'] . '" LIMIT 1 ');
$itdu=mysql_query('UPDATE `items_users` SET `delete` ="'.time().'" WHERE `id` ="'.$_GET['elka_shar'].'" LIMIT 1 '); if (isset($itdu)) {
if (isset($itdu))
{
//eff Благословение Ёлки X //eff Благословение Ёлки X
$effe = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid`= "'.$u->info['id'].'" AND `delete` = 0 AND `id_eff`= 477 LIMIT 1')); $effe = mysql_fetch_array(mysql_query('SELECT * FROM `eff_users` WHERE `uid`= "' . $u->info['id'] . '" AND `delete` = 0 AND `id_eff`= 477 LIMIT 1'));
if (isset($effe['id'])) if (isset($effe['id'])) {
{ $tdata = str_replace("add_hpAll=", "", $effe['data']);
$tdata=str_replace("add_hpAll=", "", $effe['data']); $tdata = $tdata + 5;
$tdata=$tdata+5; if ($tdata > 500) {
if ($tdata>500){$tdata=500;} $tdata = 500;
$newdata='add_hpAll='.$tdata; }
$newname='Благословение Ёлки x'.($tdata/5); $newdata = 'add_hpAll=' . $tdata;
$newname = 'Благословение Ёлки x' . ($tdata / 5);
$effeadd = mysql_query('UPDATE `eff_users` SET `name` = "' . $newname . '",`data`="' . $newdata . '", `timeUse` = "' . time() . '"WHERE `id` ="' . $effe['id'] . '" ');
if (isset($effeadd)) {
$effeadd=mysql_query('UPDATE `eff_users` SET `name` = "'.$newname.'",`data`="'.$newdata.'", `timeUse` = "'.time().'"WHERE `id` ="'.$effe['id'].'" '); echo "Вы получили <b><font color=red>Благословение Ёлки x" . round($tdata / 5) . "</font></b> ";
if (isset($effeadd))
{
echo "Вы получили <b><font color=red>Благословение Ёлки x".round($tdata/5)."</font></b> " ;
} }
} } else {
else $effeadd = mysql_query(
{ 'INSERT INTO `eff_users`
$effeadd=mysql_query('INSERT INTO `eff_users`
(`id`,`id_eff`, `uid`, `name`, `data`, `overType`, `timeUse`, `timeAce`, `user_use`, `delete`, `v1`, `v2`, `img2`, `x`, `hod`, `bj`, `sleeptime`, `no_Ace`, `file_finish`, `tr_life_user`, `deactiveTime`, `deactiveLast`, `mark`, `bs`) (`id`,`id_eff`, `uid`, `name`, `data`, `overType`, `timeUse`, `timeAce`, `user_use`, `delete`, `v1`, `v2`, `img2`, `x`, `hod`, `bj`, `sleeptime`, `no_Ace`, `file_finish`, `tr_life_user`, `deactiveTime`, `deactiveLast`, `mark`, `bs`)
VALUES VALUES
(NULL, "477", "'.$u->info['id'].'", "Благословение Ёлки x1", "add_hpAll=5", "110", "'.time().'", "0", "", "0", "0", "0", "", "1", "-1", "0", "0", "0", "", "0", "0", "0", "0", "0")'); (NULL, "477", "' . $u->info['id'] . '", "Благословение Ёлки x1", "add_hpAll=5", "110", "' . time(
) . '", "0", "", "0", "0", "0", "", "1", "-1", "0", "0", "0", "", "0", "0", "0", "0", "0")'
);
if (isset($effeadd)) if (isset($effeadd)) {
{ echo "Вы получили <b><font color=red>Благословение Ёлки x1</font></b> ";
echo "Вы получили <b><font color=red>Благословение Ёлки x1</font></b> " ;
} }
} }
echo "Использовал: <b><font color=red>".$_GET['shar_name']."</font><b>" ; echo "Использовал: <b><font color=red>" . $_GET['shar_name'] . "</font><b>";
} } else {
else echo "<b><font color=red>Ошибка</font></b>";
{
echo "<b><font color=red>Ошибка</font></b>" ;
} }
} }
} }
if(isset($_GET['take_gift']) && (date('m') == 12 || (date('m') == 1 && date('d') <= 8))) if (isset($_GET['take_gift']) && (date('m') == 12 || (date('m') == 1 && date('d') <= 8))) {
{
//получаем свой новогодний подарок за текущий год addItem($id,$uid) //получаем свой новогодний подарок за текущий год addItem($id,$uid)
$smt = $u->testAction('`uid` = "'.$u->info['id'].'" AND `vars` = "take_gift_'.$dt.'" LIMIT 1',1); $smt = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `vars` = "take_gift_' . $dt . '" LIMIT 1', 1);
if(!isset($smt['id'])) if (!isset($smt['id'])) {
{ $pid = \User\ItemsModel::addItem($pidid, $u->info['id']);
$pid = \User\ItemsModel::addItem($pidid,$u->info['id']); if ($pid > 0) {
if($pid>0) mysql_query('UPDATE `items_users` SET `gift` = "Администрация",`gtxt1` = "Поздравляем Вас с Новым Годом!" WHERE `id` = "' . $pid . '" AND `uid` = "' . $u->info['id'] . '" LIMIT 1');
{ $u->addAction(time(), 'take_gift_' . $dt . '', $u->info['city']);
mysql_query('UPDATE `items_users` SET `gift` = "Администрация",`gtxt1` = "Поздравляем Вас с Новым Годом!" WHERE `id` = "'.$pid.'" AND `uid` = "'.$u->info['id'].'" LIMIT 1');
$u->addAction(time(),'take_gift_'.$dt.'',$u->info['city']);
echo '<font color=red>Предмет находится у Вас в инвентаре, в разделе "прочее"</font>'; echo '<font color=red>Предмет находится у Вас в инвентаре, в разделе "прочее"</font>';
}else{ } else {
echo '<font color=red>Не удалось получить подарок...</font>'; echo '<font color=red>Не удалось получить подарок...</font>';
} }
}else{ } else {
echo '<font color=red>Вы уже получили свой подарок ;)</font>'; echo '<font color=red>Вы уже получили свой подарок ;)</font>';
} }
}elseif(isset($_GET['del'])) } elseif (isset($_GET['del'])) {
{ if ($u->info['admin'] > 0 || ($u->info['align'] > 1 && $u->info['align'] < 2) || ($u->info['align'] > 3 && $u->info['align'] < 4)) {
if($u->info['admin']>0 || ($u->info['align']>1 && $u->info['align']<2) || ($u->info['align']>3 && $u->info['align']<4)) if ($u->info['admin'] == 0) {
{ $pInfo = '' . $u->info['align'] . '|' . $u->info['clan'] . '|' . $u->info['login'] . '|' . $u->info['level'] . '|' . $u->info['cityreg'] . '';
if($u->info['admin']==0) } else {
{
$pInfo = ''.$u->info['align'].'|'.$u->info['clan'].'|'.$u->info['login'].'|'.$u->info['level'].'|'.$u->info['cityreg'].'';
}else{
$pInfo = '1'; $pInfo = '1';
} }
mysql_query("UPDATE `elka` SET `delete`='".$pInfo."' WHERE `id`='".mysql_real_escape_string($_GET['del'])."'"); mysql_query("UPDATE `elka` SET `delete`='" . $pInfo . "' WHERE `id`='" . mysql_real_escape_string($_GET['del']) . "'");
} }
}elseif(isset($_GET['use_cup'])) } elseif (isset($_GET['use_cup'])) {
{ $smt = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `time` > ' . (time() - 600) . ' AND `vars` = "use_cupNewYear" LIMIT 1', 1);
$smt = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time` > '.(time()-600).' AND `vars` = "use_cupNewYear" LIMIT 1',1); if (!isset($smt['id'])) {
if(!isset($smt['id'])) $u->addAction(time(), 'use_cupNewYear', '');
{ mysql_query('UPDATE `stats` SET `hpNow` = "' . $u->stats['hpAll'] . '",`mpNow` = "' . $u->stats['mpAll'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
$u->addAction(time(),'use_cupNewYear','');
mysql_query('UPDATE `stats` SET `hpNow` = "'.$u->stats['hpAll'].'",`mpNow` = "'.$u->stats['mpAll'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
echo '<font color=red>Успешно использован эликсир "Полное восстановление"</font>'; echo '<font color=red>Успешно использован эликсир "Полное восстановление"</font>';
} }
}elseif(isset($_POST['message'])) } elseif (isset($_POST['message'])) {
{ $_POST['message'] = htmlspecialchars($_POST['message'], null);
$_POST['message'] = htmlspecialchars($_POST['message'],NULL); if ($_POST['message'] != '') {
if($_POST['message']!='')
{
$dy = 1; $dy = 1;
if((date('n',time())==1 && date('j',time())<=15)) if ((date('n', time()) == 1 && date('j', time()) <= 15)) {
{
$dy = 0; $dy = 0;
} }
$u->info['ET'] = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time` > '.(time()-600).' AND `vars` = "send_elka" LIMIT 1',1); $u->info['ET'] = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `time` > ' . (time() - 600) . ' AND `vars` = "send_elka" LIMIT 1', 1);
if(isset($u->info['ET']['id'])) if (isset($u->info['ET']['id'])) {
{
echo '<font color=red>Оставлять надписи на стволе ёлки можно не чаще одного раза в 10 минут</font>'; echo '<font color=red>Оставлять надписи на стволе ёлки можно не чаще одного раза в 10 минут</font>';
}else{ } else {
$pInfo = ''.$u->info['align'].'|'.$u->info['clan'].'|'.$u->info['login'].'|'.$u->info['level'].'|'.$u->info['cityreg'].'|'.$u->info['id'].''; $pInfo = '' . $u->info['align'] . '|' . $u->info['clan'] . '|' . $u->info['login'] . '|' . $u->info['level'] . '|' . $u->info['cityreg'] . '|' . $u->info['id'] . '';
mysql_query("INSERT INTO `elka` (`year`,`time`,`pers`,`text`,`city`) VALUES (".(date('Y',time())+$dy).",".time().",'".$pInfo."','".mysql_real_escape_string($_POST['message'])."','".$u->info['city']."'); "); mysql_query(
$u->addAction(time(),'send_elka',''); "INSERT INTO `elka` (`year`,`time`,`pers`,`text`,`city`) VALUES (" . (date('Y', time()) + $dy) . "," . time() . ",'" . $pInfo . "','" . mysql_real_escape_string(
$_POST['message']
) . "','" . $u->info['city'] . "'); "
);
$u->addAction(time(), 'send_elka', '');
} }
} }
}
?>
<style type="text/css">
.pH3 {
COLOR: #8f0000;
FONT-FAMILY: Arial;
FONT-SIZE: 12pt;
FONT-WEIGHT: bold;
} }
?>
<style type="text/css">
.pH3 { COLOR: #8f0000; FONT-FAMILY: Arial; FONT-SIZE: 12pt; FONT-WEIGHT: bold; }
.class_ { .class_ {
font-weight: bold; font-weight: bold;
color: #C5C5C5; color: #C5C5C5;
cursor:pointer; cursor: pointer;
} }
.class_st { .class_st {
font-weight: bold; font-weight: bold;
color: #659BA3; color: #659BA3;
cursor:pointer; cursor: pointer;
} }
.class__ { .class__ {
font-weight: bold; font-weight: bold;
color: #FFFFFF; color: #FFFFFF;
cursor:pointer; cursor: pointer;
background-color: #659BA3; background-color: #659BA3;
} }
.class__st { .class__st {
font-weight: bold; font-weight: bold;
color: #FFFFFF; color: #FFFFFF;
cursor:pointer; cursor: pointer;
background-color: #659BA3; background-color: #659BA3;
font-size: 10px; font-size: 10px;
} }
.class_old { .class_old {
font-weight: bold; font-weight: bold;
color: #919191; color: #919191;
cursor:pointer; cursor: pointer;
} }
.class__old { .class__old {
font-weight: bold; font-weight: bold;
color: #FFFFFF; color: #FFFFFF;
cursor:pointer; cursor: pointer;
background-color: #838383; background-color: #838383;
font-size: 10px; font-size: 10px;
} }
</style> </style>
<div align="right"><?php if($re!=''){ echo '<font color="red"><b>'.$re.'</b></font>'; } ?></div> <div align="right"><?php if ($re != '') {
<div id="hint3" style="visibility:hidden"></div> echo '<font color="red"><b>' . $re . '</b></font>';
<TABLE width="100%" cellspacing="0" cellpadding="0"> } ?></div>
<tr><td valign="top"><div align="center" class="pH3">Новогодняя елка <?php <div id="hint3" style="visibility:hidden"></div>
echo $dt; ?>!</div> <TABLE width="100%" cellspacing="0" cellpadding="0">
<br /> <tr>
<td valign="top">
<div align="center" class="pH3">Новогодняя елка <?php
echo $dt; ?>!
</div>
<br/>
<!-- Подарки --> <!-- Подарки -->
<?php <?php
$sg = 1; $sg = 1;
//Если есть подарки //Если есть подарки
if((date('n',time())==12 || date('n',time())<=2) && $sg==1) if ((date('n', time()) == 12 || date('n', time()) <= 2) && $sg == 1) {
{
?> ?>
<div style="padding-left:10px;"> <div style="padding-left:10px;">
<span class="pH3"><small>Подарки:</small></span> <span class="pH3"><small>Подарки:</small></span>
<div> <div>
<?php <?php
$smt = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time` > '.(time()-600).' AND `vars` = "use_cupNewYear" LIMIT 1',1); $smt = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `time` > ' . (time() - 600) . ' AND `vars` = "use_cupNewYear" LIMIT 1', 1);
?> ?>
<a href="?use_cup=<?= $code; ?>" <?php if(isset($smt['id'])){ echo 'onClick="alert(\'Использовать "Чаша жизненных сил" можно не чаще одного раза в 10 минут\');return false;"'; } ?> /><img src="//img.new-combats.tech/cup2012.gif" style="padding:10px;<?php if(isset($smt['id'])){ echo 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;'; } ?>" title="Выпить из`Чаши жизненных сил`"></a> <a href="?use_cup=<?= $code; ?>" <?php if (isset($smt['id'])) {
echo 'onClick="alert(\'Использовать "Чаша жизненных сил" можно не чаще одного раза в 10 минут\');return false;"';
} ?> /><img src="//img.new-combats.tech/cup2012.gif" style="padding:10px;<?php if (isset($smt['id'])) {
echo 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;';
} ?>" title="Выпить из`Чаши жизненных сил`"></a>
<?php <?php
if( date('m') == 12 || (date('m') == 1 && date('d') <= 8)) { if (date('m') == 12 || (date('m') == 1 && date('d') <= 8)) {
$pd = $u->testAction('`uid` = "'.$u->info['id'].'" AND `time` > '.(time()-600).' AND `vars` = "take_gift'.$dt.'" LIMIT 1',1); $pd = $u->testAction('`uid` = "' . $u->info['id'] . '" AND `time` > ' . (time() - 600) . ' AND `vars` = "take_gift' . $dt . '" LIMIT 1', 1);
?> ?>
<a href="?take_gift=<?= $code; ?>" <?php if(isset($pd['id'])){ echo 'onClick="return false;"'; } ?> /><img src="//img.new-combats.tech/i/items/<?= 'podarok'.($dt-1); ?>.gif" style="padding:10px;<?php if(isset($pd['id'])){ echo 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;'; } ?>" title="Взять `Новогодний подарок 2023`"></a> <a href="?take_gift=<?= $code; ?>" <?php if (isset($pd['id'])) {
echo 'onClick="return false;"';
} ?> /><img src="//img.new-combats.tech/i/items/<?= 'podarok' . ($dt - 1); ?>.gif" style="padding:10px;<?php if (isset($pd['id'])) {
echo 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;';
} ?>" title="Взять `Новогодний подарок 2023`"></a>
<?php } ?> <?php } ?>
</div> </div>
</div> </div>
@ -209,168 +219,154 @@ if($u->room['file']=='elka')
<span class="pH3"><small>Наряжаем Ёлку:</small></span> <span class="pH3"><small>Наряжаем Ёлку:</small></span>
<div> <div>
<?php <?php
$it = mysql_fetch_array(mysql_query(' SELECT * FROM `items_users` WHERE `item_id` > 2723 AND `item_id` < 2741 AND `uid`= "'.$u->info['id'].'" AND `delete` = 0 LIMIT 1 ')); $it = mysql_fetch_array(mysql_query(' SELECT * FROM `items_users` WHERE `item_id` > 2723 AND `item_id` < 2741 AND `uid`= "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1 '));
if (isset($it['item_id'])) if (isset($it['item_id'])) {
{ $itt = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "' . $it['item_id'] . '" LIMIT 1'));
$itt = mysql_fetch_array(mysql_query('SELECT * FROM `items_main` WHERE `id` = "'.$it['item_id'].'" LIMIT 1'));
?> ?>
<a href="?elka_shar=<?echo $it['id'];?>&shar_name=<?echo $itt['name'];?>" <?php if(!isset($itt['id'])){ echo 'onClick="return false;"'; } ?> /><img src="//img.new-combats.tech/i/items/<?= $itt['img']; ?>" style="padding:10px;<?php if(!isset($it['id'])){ echo 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;'; } ?>" title="Повесить `Шар`"></a> <a href="?elka_shar=<?php echo $it['id']; ?>&shar_name=<?php echo $itt['name']; ?>" <?php if (!isset($itt['id'])) {
<?} echo 'onClick="return false;"';
else { echo "У Вас нет шаров для украшения Ёлки!";} } ?> /><img src="//img.new-combats.tech/i/items/<?= $itt['img']; ?>" style="padding:10px;<?php if (!isset($it['id'])) {
echo 'filter: alpha(opacity=35); -moz-opacity: 0.35; -khtml-opacity: 0.35; opacity: 0.35;';
} ?>" title="Повесить `Шар`"></a>
<?php
} else {
echo "У Вас нет шаров для украшения Ёлки!";
}
?> ?>
</div> </div>
</div> </div>
<hr> <hr>
<?php <?php
// } // }
if(isset($_GET['page'])) if (isset($_GET['page'])) {
{
$fpage = round($_GET['page']); $fpage = round($_GET['page']);
if($fpage<=0) if ($fpage <= 0) {
{
$fpage = 1; $fpage = 1;
} }
}else{ } else {
$fpage = 1; $fpage = 1;
} }
$limit1 = ($fpage-1)*20+$fpage-1; $limit1 = ($fpage - 1) * 20 + $fpage - 1;
$limit2 = 21; $limit2 = 21;
$i = mysql_fetch_array(mysql_query('SELECT COUNT(`year`) FROM `elka` WHERE `year` = "'.$dt.'" AND (`delete` = "0" OR '.$u->info['admin'].' > 0) ORDER BY `id` DESC')); $i = mysql_fetch_array(mysql_query('SELECT COUNT(`year`) FROM `elka` WHERE `year` = "' . $dt . '" AND (`delete` = "0" OR ' . $u->info['admin'] . ' > 0) ORDER BY `id` DESC'));
$i = $i[0]; $i = $i[0];
$d = ceil($i/21); $d = ceil($i / 21);
if($i>0) if ($i > 0) {
{ if ($d < 13) {
if($d<13) $j = 0;
{
$j=0;
$pagesN = ''; $pagesN = '';
while($i>=0) while ($i >= 0) {
{
$i -= 21; $i -= 21;
if($i!=0) if ($i != 0) {
{
$j++; $j++;
$r2 = ''; $r2 = '';
if($j<=$d) if ($j <= $d) {
{ if (isset($r)) {
if(isset($r)) $r2 = '&r=' . $r;
{
$r2 = '&r='.$r;
} }
$jt = $j; $jt = $j;
if($fpage==$j) if ($fpage == $j) {
{ $jt = '<span class="number">' . $j . '</span>';
$jt = '<span class="number">'.$j.'</span>';
} }
$pagesN .= ' <a href="?id='.$post['id'].'&d='.$_GET['d'].'&page='.$j.'" title="Перейти на страницу №'.$j.'">'.$jt.'</a> '; $pagesN .= ' <a href="?id=' . $post['id'] . '&d=' . $_GET['d'] . '&page=' . $j . '" title="Перейти на страницу №' . $j . '">' . $jt . '</a> ';
} }
} }
} }
$pages .= ' '.$pagesN.' '; $pages .= ' ' . $pagesN . ' ';
}else{ } else {
$j = $fpage-6; $j = $fpage - 6;
$i = 0; $i = 0;
$pagesN = ''; $pagesN = '';
while($k<13) while ($k < 13) {
{ if ($j > 0) {
if($j>0) if ($j <= $d) {
{
if($j<=$d)
{
$jt = $j; $jt = $j;
if($fpage==$j) if ($fpage == $j) {
{ $jt = '<span class="number">' . $j . '</span>';
$jt = '<span class="number">'.$j.'</span>';
} }
$pagesN .= ' <a href="?id='.$post['id'].'&d='.$_GET['d'].'&page='.$j.'" title="Перейти на страницу №'.$j.'">'.$jt.'</a> '; $pagesN .= ' <a href="?id=' . $post['id'] . '&d=' . $_GET['d'] . '&page=' . $j . '" title="Перейти на страницу №' . $j . '">' . $jt . '</a> ';
} }
$k++; $k++;
} }
$j++; $j++;
} }
$prpage = $fpage-12; $prpage = $fpage - 12;
$nxpage = $fpage+12; $nxpage = $fpage + 12;
if($prpage<=0) if ($prpage <= 0) {
{
$prpage = 1; $prpage = 1;
} }
if($nxpage>$d) if ($nxpage > $d) {
{
$nxpage = $d; $nxpage = $d;
} }
$_GET['d'] = (int)$_GET['d']; $_GET['d'] = (int)$_GET['d'];
if($fpage-7>0) if ($fpage - 7 > 0) {
{ $pages .= '<a href="?id=' . $post['id'] . '&d=' . $_GET['d'] . '&page=1" title="Первая страница">«</a> <a href="?id=' . $post['id'] . '&d=' . $_GET['d'] . '&page=' . $prpage . '" title="Показать предыдущие страницы">...</a> ';
$pages .= '<a href="?id='.$post['id'].'&d='.$_GET['d'].'&page=1" title="Первая страница">«</a> <a href="?id='.$post['id'].'&d='.$_GET['d'].'&page='.$prpage.'" title="Показать предыдущие страницы">...</a> ';
} }
$pages .= ' '.$pagesN.' '; $pages .= ' ' . $pagesN . ' ';
if($fpage<$d-5) if ($fpage < $d - 5) {
{ $pages .= '<a href="?id=' . $post['id'] . '&d=' . $_GET['d'] . '&page=' . $nxpage . '" title="Показать следующие страницы">...</a> <a href="?id=' . $post['id'] . '&d=' . $_GET['d'] . '&page=' . $d . '" title="Последняя страница">»</a>';
$pages .= '<a href="?id='.$post['id'].'&d='.$_GET['d'].'&page='.$nxpage.'" title="Показать следующие страницы">...</a> <a href="?id='.$post['id'].'&d='.$_GET['d'].'&page='.$d.'" title="Последняя страница">»</a>';
} }
} }
}else{ } else {
$pages = ''; $pages = '';
} }
?> ?>
<U>Посетители оставили надписи на стволе елки:</U> <?= $pages; ?><br> <U>Посетители оставили надписи на стволе елки:</U> <?= $pages; ?><br>
<div style="padding:5px;"> <div style="padding:5px;">
<?php <?php
$sp = mysql_query('SELECT * FROM `elka` WHERE `year`="'.$dt.'" AND `city`="'.$u->info['city'].'" AND (`delete` = "0" OR '.$u->info['admin'].' > 0) ORDER BY `time` DESC LIMIT '.$limit1.','.$limit2.''); $sp = mysql_query(
'SELECT * FROM `elka` WHERE `year`="' . $dt . '" AND `city`="' . $u->info['city'] . '" AND (`delete` = "0" OR ' . $u->info['admin'] . ' > 0) ORDER BY `time` DESC LIMIT ' . $limit1 . ',' . $limit2 . ''
);
$page = floor((int)$_POST['page']); $page = floor((int)$_POST['page']);
if($page<1){ $page = 1; }elseif($page>300){ $page==300; } if ($page < 1) {
while($pl = mysql_fetch_array($sp)) $page = 1;
{ } elseif ($page > 300) {
$prs = explode('|',$pl['pers']); $pers = ''; $page == 300;
if($prs[0]!=0)
{
$pers .= '<img src="//img.new-combats.tech/i/align/align'.$prs[0].'.gif">';
} }
if($prs[1]!=0) while ($pl = mysql_fetch_array($sp)) {
{ $prs = explode('|', $pl['pers']);
$clanPrs = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id`="'.$prs[1].'" LIMIT 1')); $pers = '';
$pers .= '<img src="//img.new-combats.tech/i/clan/'.$clanPrs['name_mini'].'.gif">'; if ($prs[0] != 0) {
$pers .= '<img src="//img.new-combats.tech/i/align/align' . $prs[0] . '.gif">';
} }
$pers .= '<b>'.$prs[2].'</b>['.$prs[3].']<a href="/info/'.$prs[5].'" title="Инф. о '.$prs[2].'" target="blank"><img src="//img.new-combats.tech/i/inf_'.$prs[4].'.gif"></a>'; if ($prs[1] != 0) {
if($pl['delete']!='0') $clanPrs = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id`="' . $prs[1] . '" LIMIT 1'));
{ $pers .= '<img src="//img.new-combats.tech/i/clan/' . $clanPrs['name_mini'] . '.gif">';
if($pl['delete']=='1') }
{ $pers .= '<b>' . $prs[2] . '</b>[' . $prs[3] . ']<a href="/info/' . $prs[5] . '" title="Инф. о ' . $prs[2] . '" target="blank"><img src="//img.new-combats.tech/i/inf_' . $prs[4] . '.gif"></a>';
if($u->info['admin']>0) if ($pl['delete'] != '0') {
{ if ($pl['delete'] == '1') {
$pl['text'] = '<font color=red><i>Сообщение стерто</i></font> <font color=grey><small>('.$pl['text'].')</small></font>'; if ($u->info['admin'] > 0) {
}else{ $pl['text'] = '<font color=red><i>Сообщение стерто</i></font> <font color=grey><small>(' . $pl['text'] . ')</small></font>';
} else {
$pl['text'] = '<font color=red><i>Сообщение стерто</i></font>'; $pl['text'] = '<font color=red><i>Сообщение стерто</i></font>';
} }
}else{ } else {
$prs = explode('|',$pl['delete']); $pers2 = ''; $prs = explode('|', $pl['delete']);
if($prs[0]!=0) $pers2 = '';
{ if ($prs[0] != 0) {
$pers2 .= '<img src="//img.new-combats.tech/i/align/align'.$prs[0].'.gif">'; $pers2 .= '<img src="//img.new-combats.tech/i/align/align' . $prs[0] . '.gif">';
} }
if($prs[1]!=0) if ($prs[1] != 0) {
{ $clanPrs = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id`="' . $prs[1] . '" LIMIT 1'));
$clanPrs = mysql_fetch_array(mysql_query('SELECT * FROM `clan` WHERE `id`="'.$prs[1].'" LIMIT 1')); $pers2 .= '<img src="//img.new-combats.tech/i/clan/' . $clanPrs['img'] . '.gif">';
$pers2 .= '<img src="//img.new-combats.tech/i/clan/'.$clanPrs['img'].'.gif">';
} }
$pers2 .= '<a href="javascript:top.toUser(\''.$prs[2].'\',\'private\');"><b>'.$prs[2].'</b></a>['.$prs[3].']<a href="/info/'.$prs[2].'" title="Инф. о '.$prs[2].'" target="blank"><img src="//img.new-combats.tech/i/inf_'.$prs[4].'.gif"></a>'; $pers2 .= '<a href="javascript:top.toUser(\'' . $prs[2] . '\',\'private\');"><b>' . $prs[2] . '</b></a>[' . $prs[3] . ']<a href="/info/' . $prs[2] . '" title="Инф. о ' . $prs[2] . '" target="blank"><img src="//img.new-combats.tech/i/inf_' . $prs[4] . '.gif"></a>';
if($u->info['admin']>0 || ($u->info['align']>1 && $u->info['align']<2) || ($u->info['align']>3 && $u->info['align']<4)) if ($u->info['admin'] > 0 || ($u->info['align'] > 1 && $u->info['align'] < 2) || ($u->info['align'] > 3 && $u->info['align'] < 4)) {
{ $pl['text'] = '<i><font color=red>Сообщение стерто персонажем</font> ' . $pers2 . '</i> <font color=grey><small>(' . $pl['text'] . ')</small></font>';
$pl['text'] = '<i><font color=red>Сообщение стерто персонажем</font> '.$pers2.'</i> <font color=grey><small>('.$pl['text'].')</small></font>'; } else {
}else{ $pl['text'] = '<i><font color=red>Сообщение стерто персонажем</font> ' . $pers2 . '</i>';
$pl['text'] = '<i><font color=red>Сообщение стерто персонажем</font> '.$pers2.'</i>';
} }
} }
} }
if(($u->info['admin']>0 || ($u->info['align']>1 && $u->info['align']<2) || ($u->info['align']>3 && $u->info['align']<4)) && $pl['delete']=='0') if (($u->info['admin'] > 0 || ($u->info['align'] > 1 && $u->info['align'] < 2) || ($u->info['align'] > 3 && $u->info['align'] < 4)) && $pl['delete'] == '0') {
{ $dl = ' <a href="main.php?page=' . $_POST['page'] . '&del=' . $pl['id'] . '"><small>Стереть</small></a>';
$dl = ' <a href="main.php?page='.$_POST['page'].'&del='.$pl['id'].'"><small>Стереть</small></a>'; } else {
}else{
$dl = ''; $dl = '';
} }
echo '<font class=date>'.date('d.m.Y H:i',$pl['time']).'</font> '.$pers.' - '.$pl['text'].''.$dl.'<BR>'; echo '<font class=date>' . date('d.m.Y H:i', $pl['time']) . '</font> ' . $pers . ' - ' . $pl['text'] . '' . $dl . '<BR>';
} }
?> ?>
</div> </div>
@ -378,39 +374,56 @@ if(isset($_GET['page']))
<FORM method="post" action="main.php"> <FORM method="post" action="main.php">
Оставить сообщение: <INPUT type=text name=message maxlength=150 size=50>&nbsp;<INPUT type=submit name=addmessage value='Добавить'> Оставить сообщение: <INPUT type=text name=message maxlength=150 size=50>&nbsp;<INPUT type=submit name=addmessage value='Добавить'>
</FORM> </FORM>
<td width="280" valign="top"><table cellspacing="0" cellpadding="0"> <td width="280" valign="top">
<table cellspacing="0" cellpadding="0">
<tr> <tr>
<td width="100%">&nbsp;</td> <td width="100%">&nbsp;</td>
<td><table border="0" cellpadding="0" cellspacing="0"> <td>
<table border="0" cellpadding="0" cellspacing="0">
<tr align="right" valign="top"> <tr align="right" valign="top">
<td><!-- --> <td><!-- -->
<?= $goLis; ?> <?= $goLis; ?>
<!-- --> <!-- -->
<table border="0" cellspacing="0" cellpadding="0"> <table border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<td nowrap="nowrap"><table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE"> <td nowrap="nowrap">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE">
<tr> <tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7" /></td> <td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7"/></td>
<td bgcolor="#D3D3D3" nowrap="nowrap"><a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.9&amp;rnd=<?= $code; ?>';" title="<?php thisInfRm('1.180.0.9',1); ?>">Центральная Площадь</a></td> <td bgcolor="#D3D3D3" nowrap="nowrap">
</tr> <a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.9&amp;rnd=<?= $code; ?>';" title="<?php thisInfRm(
</table></td> '1.180.0.9', 1
</tr> <tr> ); ?>">Центральная Площадь</a></td>
<td nowrap="nowrap"><table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE">
<tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7" /></td>
<td bgcolor="#D3D3D3" nowrap="nowrap"><div align="left"><a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.209&amp;rnd=<?= $code; ?>';" title="<?php thisInfRm('1.180.0.209',1); ?>">Ледяная пещера</a></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr> </tr>
</table> </table>
<br /> </td>
<center></center></td> </tr>
<tr>
<td nowrap="nowrap">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE">
<tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7"/></td>
<td bgcolor="#D3D3D3" nowrap="nowrap">
<div align="left">
<a href="#" id="greyText" class="menutop" onclick="location='main.php?loc=1.180.0.209&amp;rnd=<?= $code; ?>';" title="<?php thisInfRm(
'1.180.0.209', 1
); ?>">Ледяная пещера</a></div>
</td>
</tr>
</table> </table>
<div id="textgo" style="visibility:hidden;"></div> </td>
<?php </tr>
} </table>
?> </td>
</tr>
</table>
</td>
</tr>
</table>
<br/>
<center></center>
</td>
</table>
<div id="textgo" style="visibility:hidden;"></div>

View File

@ -22,7 +22,7 @@ if($u->room['file']=='novich')
$ids = ''; $ids = '';
$map_locs = array(); $map_locs = array();
$spm2 = mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = "106"'); $spm2 = mysql_query('SELECT `id`,`x`,`y` FROM `dungeon_map` WHERE `id_dng` = 106');
while( $plm2 = mysql_fetch_array( $spm2 ) ) { while( $plm2 = mysql_fetch_array( $spm2 ) ) {
$map_locs[] = array($plm2['x'],$plm2['y']); $map_locs[] = array($plm2['x'],$plm2['y']);
} }
@ -41,7 +41,7 @@ if($u->room['file']=='novich')
//Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id'] //Добавляем ботов и обьекты в пещеру $zid с for_dn = $dungeon['id']
//Добавляем ботов //Добавляем ботов
$vls = ''; $vls = '';
$sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = "106"'); $sp = mysql_query('SELECT * FROM `dungeon_bots` WHERE `for_dn` = 106');
while( $pl = mysql_fetch_array( $sp ) ) { while( $pl = mysql_fetch_array( $sp ) ) {
if( $pl['id_bot'] == 0 && $pl['bot_group'] !=''){ if( $pl['id_bot'] == 0 && $pl['bot_group'] !=''){
$bots = explode( ',', $pl['bot_group'] ); $bots = explode( ',', $pl['bot_group'] );
@ -54,7 +54,7 @@ if($u->room['file']=='novich')
$ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`,`noatack`) VALUES '.$vls.''); $ins1 = mysql_query('INSERT INTO `dungeon_bots` (`dn`,`id_bot`,`colvo`,`items`,`x`,`y`,`dialog`,`atack`,`go_bot`,`noatack`) VALUES '.$vls.'');
//Добавляем обьекты //Добавляем обьекты
$vls = ''; $vls = '';
$sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = "106"'); $sp = mysql_query('SELECT * FROM `dungeon_obj` WHERE `for_dn` = 106');
while($pl = mysql_fetch_array($sp)) while($pl = mysql_fetch_array($sp))
{ {
$vls .= '("'.$zid.'","'.$pl['name'].'","'.$pl['img'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['action'].'","'.$pl['type'].'","'.$pl['w'].'","'.$pl['h'].'","'.$pl['s'].'","'.$pl['s2'].'","'.$pl['os1'].'","'.$pl['os2'].'","'.$pl['os3'].'","'.$pl['os4'].'","'.$pl['type2'].'","'.$pl['top'].'","'.$pl['left'].'","'.$pl['date'].'"),'; $vls .= '("'.$zid.'","'.$pl['name'].'","'.$pl['img'].'","'.$pl['x'].'","'.$pl['y'].'","'.$pl['action'].'","'.$pl['type'].'","'.$pl['w'].'","'.$pl['h'].'","'.$pl['s'].'","'.$pl['s2'].'","'.$pl['os1'].'","'.$pl['os2'].'","'.$pl['os3'].'","'.$pl['os4'].'","'.$pl['type2'].'","'.$pl['top'].'","'.$pl['left'].'","'.$pl['date'].'"),';

View File

@ -417,7 +417,7 @@ if ($u->info['admin'] > 0) {
</tr> </tr>
</table> </table>
<?= $err ?> <?= $err ?>
<? switch ($level){ <?php switch ($level){
case 1:#-----Вход case 1:#-----Вход
?> ?>
<TABLE cellpadding=0 cellspacing=0> <TABLE cellpadding=0 cellspacing=0>
@ -458,7 +458,7 @@ if ($u->info['admin'] > 0) {
<A href="?arenda=advanced2&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 10 кр.?')">Арендовать</A> <A href="?arenda=advanced2&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 10 кр.?')">Арендовать</A>
<HR> <HR>
<? <?php
break; break;
case 2:#-----Арендованная койка case 2:#-----Арендованная койка
?> ?>
@ -479,7 +479,7 @@ if ($u->info['admin'] > 0) {
&nbsp;&bull; Размер сундука: <?= $maxbox; ?> вещей<BR> &nbsp;&bull; Размер сундука: <?= $maxbox; ?> вещей<BR>
&nbsp;&bull; Сувениры: <?= $max_p_box; ?> шт.<BR> &nbsp;&bull; Сувениры: <?= $max_p_box; ?> шт.<BR>
<? if ($objaga['type'] == "advanced2") { <?php if ($objaga['type'] == "advanced2") {
echo '&nbsp;&bull; Мест для животных: 2 <BR>'; echo '&nbsp;&bull; Мест для животных: 2 <BR>';
} ?> } ?>
&nbsp&bull; Койка<BR> &nbsp&bull; Койка<BR>
@ -498,7 +498,7 @@ if ($u->info['admin'] > 0) {
Смена аренды, оплаченной зубами на кредитную аренду запрещена.<BR> Смена аренды, оплаченной зубами на кредитную аренду запрещена.<BR>
Количество вещей, сувениров и животных на вашем складе не должно превышать допустимое значение для выбранного арендуемого помещения.<BR> Количество вещей, сувениров и животных на вашем складе не должно превышать допустимое значение для выбранного арендуемого помещения.<BR>
</SMALL> </SMALL>
<? <?php
break; break;
case 3:#-----Комната case 3:#-----Комната
switch ($room){ switch ($room){
@ -509,7 +509,7 @@ if ($u->info['admin'] > 0) {
<TEXTAREA rows=15 style='width: 90%;' name='notes'><?= $objaga['notes']; ?></TEXTAREA><BR> <TEXTAREA rows=15 style='width: 90%;' name='notes'><?= $objaga['notes']; ?></TEXTAREA><BR>
<INPUT type='hidden' name='room' value='1'> <INPUT type='hidden' name='room' value='1'>
<INPUT type='submit' name='savenotes' value='Сохранить текст'> <INPUT type='submit' name='savenotes' value='Сохранить текст'>
<? <?php
break; break;
case 2:#-----Сундук case 2:#-----Сундук
@ -693,7 +693,7 @@ if ($u->info['admin'] > 0) {
</TD> </TD>
</TR> </TR>
</TABLE> </TABLE>
<? break; <?php break;
case 7:#-----Персонажи case 7:#-----Персонажи
?> ?>
@ -832,7 +832,7 @@ if ($u->info['admin'] > 0) {
echo $r; echo $r;
?> ?>
<? <?php
break; break;
case 3:#-----Животные case 3:#-----Животные
?> ?>
@ -851,7 +851,7 @@ if ($u->info['admin'] > 0) {
} }
?></A> ?></A>
</TD> </TD>
<? if ($cage2['pet_in_cage'] == 2) { <?php if ($cage2['pet_in_cage'] == 2) {
echo '<TD width=150 align=center><nobr><B>' . $cage2['name'] . '</B> [' . $cage2['level'] . ']</nobr> echo '<TD width=150 align=center><nobr><B>' . $cage2['name'] . '</B> [' . $cage2['level'] . ']</nobr>
<A href="/main.php?pet_id=' . $cage2['id'] . '&sd4=' . $u->info['id'] . '&room=3&0.' . rand(0, 9999999999999999) . '" alt="Оставить"><IMG src="//img.new-combats.tech/i/obraz/' . $cage2['sex'] . '/' . $cage2['obraz'] . '.gif" width=120 height=220>'; <A href="/main.php?pet_id=' . $cage2['id'] . '&sd4=' . $u->info['id'] . '&room=3&0.' . rand(0, 9999999999999999) . '" alt="Оставить"><IMG src="//img.new-combats.tech/i/obraz/' . $cage2['sex'] . '/' . $cage2['obraz'] . '.gif" width=120 height=220>';
} else { } else {
@ -875,7 +875,7 @@ if ($u->info['admin'] > 0) {
</A> </A>
</TD> </TD>
</TR></TABLE> </TR></TABLE>
<? <?php
break; break;
case 4:#-----Сон case 4:#-----Сон
?> ?>
@ -892,7 +892,7 @@ if ($u->info['admin'] > 0) {
<A href="?to_<?= $link; ?>=1&sd4=<?= $u->info['id']; ?>&room=4&0.<?= rand(0, 9999999999999999); ?>"><?= $button; ?></A><BR> <A href="?to_<?= $link; ?>=1&sd4=<?= $u->info['id']; ?>&room=4&0.<?= rand(0, 9999999999999999); ?>"><?= $button; ?></A><BR>
<?= $div1 ?> <?= $div1 ?>
</SMALL> </SMALL>
<? <?php
}#--Конец свича $room }#--Конец свича $room
break; break;
case 4:#-----------------------------------------------смена аренды---------------------------------------- case 4:#-----------------------------------------------смена аренды----------------------------------------
@ -915,7 +915,7 @@ if ($u->info['admin'] > 0) {
&bull; Койка<BR> &bull; Койка<BR>
<A href="?changearenda=base&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 1 кр. за смену помещения?')">Сменить помещение</A> <A href="?changearenda=base&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 1 кр. за смену помещения?')">Сменить помещение</A>
<? <?php
} }
if ($objaga['type'] != "advanced"){ if ($objaga['type'] != "advanced"){
?> ?>
@ -929,7 +929,7 @@ if ($u->info['admin'] > 0) {
<A href="?changearenda=advanced&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 3 кр. за смену помещения?')">Сменить помещение</A> <A href="?changearenda=advanced&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 3 кр. за смену помещения?')">Сменить помещение</A>
<? <?php
} }
if ($objaga['type'] != "advanced2"){ if ($objaga['type'] != "advanced2"){
?> ?>
@ -944,7 +944,7 @@ if ($u->info['admin'] > 0) {
<A href="?changearenda=advanced2&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 10 кр. за смену помещения?')">Сменить помещение</A> <A href="?changearenda=advanced2&sd4=<?= $u->info['id']; ?>" onClick="return confirm('Вы уверены, что хотите заплатить 10 кр. за смену помещения?')">Сменить помещение</A>
<? <?php
} }
echo '<HR>'; echo '<HR>';
} }
@ -998,8 +998,8 @@ if ($u->info['admin'] > 0) {
<td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onClick="location='main.php?loc=1.180.0.218&rnd=<?= $code; ?>';" <td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onClick="location='main.php?loc=1.180.0.218&rnd=<?= $code; ?>';"
title="<?php thisInfRm('1.180.0.218', 1); ?>">Общ. Этаж 2</a></td> title="<?php thisInfRm('1.180.0.218', 1); ?>">Общ. Этаж 2</a></td>
</tr> </tr>
<? } ?> <?php } ?>
<? if ($u->info['room'] == '218' and $ar_lvl >= 2 and $sleep_mod == 0) { ?> <?php if ($u->info['room'] == '218' and $ar_lvl >= 2 and $sleep_mod == 0) { ?>
<tr> <tr>
<td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7"/></td> <td bgcolor="#D3D3D3"><img src="//img.new-combats.tech/i/move/links.gif" width="9" height="7"/></td>
<td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onClick="location='main.php?loc=1.180.0.217&rnd=<?= $code; ?>';" <td bgcolor="#D3D3D3" nowrap><a href="#" id="greyText" class="menutop" onClick="location='main.php?loc=1.180.0.217&rnd=<?= $code; ?>';"

View File

@ -2,17 +2,19 @@
if (!defined('GAME')) { if (!defined('GAME')) {
die(); die();
} }
if ($u->room['file'] == 'znahar') { if ($u->room['file'] != 'znahar') {
?> return;
<STYLE> }
?>
<STYLE>
.H3 { .H3 {
COLOR: #8f0000; COLOR: #8f0000;
FONT-FAMILY: Arial; FONT-FAMILY: Arial;
FONT-SIZE: 12pt; FONT-SIZE: 12pt;
FONT-WEIGHT: bold; FONT-WEIGHT: bold;
} }
</STYLE> </STYLE>
<SCRIPT> <SCRIPT>
function gfastshow(dsc, dx, dy) { function gfastshow(dsc, dx, dy) {
top.fullfastshow(document, mmoves3, window.event, dsc, dx, dy); top.fullfastshow(document, mmoves3, window.event, dsc, dx, dy);
} }
@ -20,13 +22,13 @@ if ($u->room['file'] == 'znahar') {
function ghideshow() { function ghideshow() {
top.fullhideshow(mmoves3); top.fullhideshow(mmoves3);
} }
</SCRIPT> </SCRIPT>
</HEAD> </HEAD>
<body leftmargin=5 topmargin=5 marginwidth=5 marginheight=5 bgcolor=e2e0e0> <body leftmargin=5 topmargin=5 marginwidth=5 marginheight=5 bgcolor=e2e0e0>
<div id="mmoves3" <div id="mmoves3"
style="background-color:#FFFFCC; visibility:hidden; z-index: 101; overflow:visible; position:absolute; border-color:#666666; border-style:solid; border-width: 1px; padding: 2px;"></div> style="background-color:#FFFFCC; visibility:hidden; z-index: 101; overflow:visible; position:absolute; border-color:#666666; border-style:solid; border-width: 1px; padding: 2px;"></div>
<SCRIPT src='//img.new-combats.tech/i/commoninf.js'></SCRIPT> <SCRIPT src='//img.new-combats.tech/i/commoninf.js'></SCRIPT>
<TABLE width=100%> <TABLE width=100%>
<TR> <TR>
<TD> <TD>
<DIV class='H3' align=center>Комната Знахаря</DIV> <DIV class='H3' align=center>Комната Знахаря</DIV>
@ -40,7 +42,7 @@ if ($u->room['file'] == 'znahar') {
</TD> </TD>
<TD width=1 valign=top> <TD width=1 valign=top>
<?php <?php
if ($c['znahar'] == 1) { if (\Core\Config::get('znahar') == 1) {
$raspst = 99999; $raspst = 99999;
} else { } else {
$raspst = 0; $raspst = 0;
@ -101,8 +103,8 @@ if ($u->room['file'] == 'znahar') {
</HTML> </HTML>
</TD> </TD>
</TR> </TR>
</TABLE> </TABLE>
<TABLE> <TABLE>
<TR bgcolor=#D8D8D8> <TR bgcolor=#D8D8D8>
<TD><IMG width=20 height=20 src='//img.new-combats.tech/i/misc/strsmall.gif'> Характеристики</TD> <TD><IMG width=20 height=20 src='//img.new-combats.tech/i/misc/strsmall.gif'> Характеристики</TD>
<TD><IMG width=20 height=20 src='//img.new-combats.tech/i/misc/cureelixirsmall.gif'> Пристрастия</TD> <TD><IMG width=20 height=20 src='//img.new-combats.tech/i/misc/cureelixirsmall.gif'> Пристрастия</TD>
@ -111,28 +113,22 @@ if ($u->room['file'] == 'znahar') {
<TD width=270 valign=top> <TD width=270 valign=top>
<SCRIPT> <SCRIPT>
//////////////Название,параметр,всего, +сколько, до скольки сбросить(макс возможное),сколько сбрасывать/прибавлять //////////////Название,параметр,всего, +сколько, до скольки сбросить(макс возможное),сколько сбрасывать/прибавлять
var pr = new Array( const pr = [
'Сила', 's1', <?=$st['s1'];?>, <?=$u->stats['s1'] - $st['s1'];?>, 3, 0, 'Сила', 's1', <?= $st['s1'];?>, <?= $u->stats['s1'] - $st['s1'];?>, 3, 0,
'Ловкость', 's2', <?=$st['s2'];?>, <?=$u->stats['s2'] - $st['s2'];?>, 3, 0, 'Ловкость', 's2', <?= $st['s2'];?>, <?= $u->stats['s2'] - $st['s2'];?>, 3, 0,
'Интуиция', 's3', <?=$st['s3'];?>, <?=$u->stats['s3'] - $st['s3'];?>, 3, 0, 'Интуиция', 's3', <?= $st['s3'];?>, <?= $u->stats['s3'] - $st['s3'];?>, 3, 0,
'Выносливость', 's4', <?=$st['s4'];?>, 0, <?=$vinos[$u->info['level']]?>, 0 'Выносливость', 's4', <?= $st['s4'];?>, 0, <?= $vinos[$u->info['level']]?>, 0
<?if ($u->info['level'] > 3) {?> <?php if($u->info['level'] > 3){?>
, 'Интеллект', 's5', <?=$st['s5'];?>, <?=$u->stats['s5'] - $st['s5'];?>, 0, 0 , 'Интеллект', 's5', <?=$st['s5'];?>, <?=$u->stats['s5'] - $st['s5'];?>, 0, 0
<?}if ($u->info['level'] > 6) {?> <?php } if ($u->info['level'] > 6) {?>
, 'Мудрость', 's6', <?=$st['s6'];?>, 0, 0, 0 , 'Мудрость', 's6', <?=$st['s6'];?>, 0, 0, 0
<?}if ($u->info['level'] > 9) {?> <?php } if ($u->info['level'] > 9) {?>
, 'Духовность', 's7', <?=$st['s7'];?>, 0, 0, 0 , 'Духовность', 's7', <?=$st['s7'];?>, 0, 0, 0
<?}if ($u->info['level'] > 12) {?> <?php } ?>
, 'Воля', 's8', <?=$st['s8'];?>, 0, 0, 0 ];
<?}if ($u->info['level'] > 15) {?>
, 'Свобода Духа', 's9', <?=$st['s9'];?>, 0, 0, 0
<?}if ($u->info['level'] > 18) {?>
, 'Божественность', 's10', <?=$st['s10'];?>, 0, 0, 0
<?}?>
);
function getprstr(i) { function getprstr(i) {
var ss = pr[i] + ": " + (pr[i + 2] + pr[i + 3] + pr[i + 5]); let ss = pr[i] + ": " + (pr[i + 2] + pr[i + 3] + pr[i + 5]);
if (pr[i + 3] || pr[i + 5]) { if (pr[i + 3] || pr[i + 5]) {
ss += " (" + pr[i + 2]; ss += " (" + pr[i + 2];
if (pr[i + 3]) { if (pr[i + 3]) {
@ -151,9 +147,9 @@ if ($u->room['file'] == 'znahar') {
return ss; return ss;
} }
var freepr = 0; let freepr = 0;
var freemoves = <?=$raspst;?>; const freemoves = <?=$raspst;?>;
var movecost = 5; const movecost = 5;
function modpr(i, to) { function modpr(i, to) {
if (to == 1 && freepr == 0) { if (to == 1 && freepr == 0) {
@ -166,14 +162,13 @@ if ($u->room['file'] == 'znahar') {
freepr -= to; freepr -= to;
document.all["pr" + i].innerHTML = getprstr(i); document.all["pr" + i].innerHTML = getprstr(i);
document.all["prfree"].innerHTML = freepr; document.all["prfree"].innerHTML = freepr;
var moves = 0; let moves = 0;
for (j = 0; j < pr.length; j += 6) { for (let j = 0; j < pr.length; j += 6) {
if (pr[j + 5] > 0) { if (pr[j + 5] > 0) {
moves += pr[j + 5] moves += pr[j + 5]
} }
;
} }
movedonebutton.disabled = (freepr || moves == 0 ? true : false); movedonebutton.disabled = (!!(freepr || moves == 0));
document.all["prmoves"].innerHTML = moves + ((freemoves < moves) ? " за " + (movecost * (moves - freemoves)) + " кр." : (moves ? " / бесплатно" : "")); document.all["prmoves"].innerHTML = moves + ((freemoves < moves) ? " за " + (movecost * (moves - freemoves)) + " кр." : (moves ? " / бесплатно" : ""));
} }
@ -181,22 +176,20 @@ if ($u->room['file'] == 'znahar') {
if (freepr) { if (freepr) {
return; return;
} }
var s = ""; let s = "";
for (j = 0; j < pr.length; j += 6) { for (let j = 0; j < pr.length; j += 6) {
if (pr[j + 5]) { if (pr[j + 5]) {
s += "&" + pr[j + 1] + "=" + pr[j + 5]; s += "&" + pr[j + 1] + "=" + pr[j + 5];
} }
;
} }
if (!s) { if (!s) {
return return
} }
;
location = "?movestat=0.<?=$code;?>&sd4=<?=$u->info['id']?>" + s; location = "?movestat=0.<?=$code;?>&sd4=<?=$u->info['id']?>" + s;
} }
var s = "<TABLE>"; let s = "<TABLE>";
for (i = 0; i < pr.length; i += 6) { for (let i = 0; i < pr.length; i += 6) {
if (pr[i + 2] != -1) { if (pr[i + 2] != -1) {
s += "<TR><TD width=200 id=pr" + i + ">" + getprstr(i) + "</TD>"; s += "<TR><TD width=200 id=pr" + i + ">" + getprstr(i) + "</TD>";
s += '<TD><img src=https://img.combats.com/i/minus.gif border=0 onclick="modpr(' + i + ',-1)" style="cursor: hand"> ' s += '<TD><img src=https://img.combats.com/i/minus.gif border=0 onclick="modpr(' + i + ',-1)" style="cursor: hand"> '
@ -217,31 +210,32 @@ if ($u->room['file'] == 'znahar') {
</TD> </TD>
<TD valign=top><BR> <TD valign=top><BR>
Навыки владения оружием и магией<BR> Навыки владения оружием и магией<BR>
<form method=post>
<form method=post><input type=hidden value='<?= $u->info['id']; ?>' name='dropmastery'><INPUT type=submit value='Сбросить <? echo $c['znahar'] == 1 ? "бесплатно" : "(32кр.)" ?>' <input type=hidden value='<?= $u->info['id']; ?>' name='dropmastery'>
<INPUT type=submit value='Сбросить <?php echo $c['znahar'] == 1 ? "бесплатно" : "(32кр.)" ?>'
onclick="return confirm('Вы действительно хотите сбросить умения?')"> onclick="return confirm('Вы действительно хотите сбросить умения?')">
<HR color=black> <HR color=black>
</form> </form>
Особенности персонажа<BR> Особенности персонажа<BR>
<form method=post><input type=hidden value='<?= $u->info['id']; ?>' name='dropperks'> <INPUT type=submit value='Сбросить <? echo $c['znahar'] == 1 ? "бесплатно" : "(300кр.)" ?>' <form method=post>
<input type=hidden value='<?= $u->info['id']; ?>' name='dropperks'>
<INPUT type=submit value='Сбросить <?php echo $c['znahar'] == 1 ? "бесплатно" : "(300кр.)" ?>'
onclick="return confirm('Вы действительно хотите сбросить особенности?')"> onclick="return confirm('Вы действительно хотите сбросить особенности?')">
<HR color=black> <HR color=black>
</form> </form>
Характеристики<BR> Характеристики<BR>
<form method=post><input type=hidden value='<?= $u->info['id']; ?>' name='dropstats'><INPUT type=submit value='Сбросить <? echo $c['znahar'] == 1 ? "бесплатно" : "(500кр.)" ?>' <form method=post>
<input type=hidden value='<?= $u->info['id']; ?>' name='dropstats'>
<INPUT type=submit value='Сбросить <?php echo $c['znahar'] == 1 ? "бесплатно" : "(500кр.)" ?>'
onclick="return confirm('Вы действительно хотите сбросить все характеристики до минимального уровня?')"> onclick="return confirm('Вы действительно хотите сбросить все характеристики до минимального уровня?')">
</form> </form>
</TABLE> </TABLE>
<small>Каждые 7 дней после последнего использования комнаты знахаря вы получаете 1 бесплатное перераспределение, но не более 15<BR> <small>Каждые 7 дней после последнего использования комнаты знахаря вы получаете 1 бесплатное перераспределение, но не более 15<BR>
Исцеление пристрастия, cброс умений или особенностей стоят 5 перераспределений<BR> Исцеление пристрастия, cброс умений или особенностей стоят 5 перераспределений<BR>
Изменение Характеристик досрочно завершает некоторые эффекты, например эффект свитка <B>Жажда Жизни</B> Изменение Характеристик досрочно завершает некоторые эффекты, например эффект свитка <B>Жажда Жизни</B>
</small> </small>
<BR> <BR>
</TABLE> </TABLE>
<div> <div></div>
<? //рейтинг </BODY>
?> </HTML>
</div>
</BODY>
</HTML>
<? } ?>

View File

@ -19,8 +19,20 @@ if (isset($_GET['showmenu'])) {
mysql_query('UPDATE `stats` SET `showmenu`="' . $u->info['showmenu'] . '" WHERE `id`="' . $u->info['id'] . '"'); mysql_query('UPDATE `stats` SET `showmenu`="' . $u->info['showmenu'] . '" WHERE `id`="' . $u->info['id'] . '"');
} }
} }
$rz0 = '';
$rz1 = '';
$rz2 = '';
$rz3 = '';
$rz4 = '';
$rz5 = '';
$expbase = number_format($u->stats['levels']['exp'], 0, ",", " ");
$expbase = '(<a href="/exp" target="_blank">' . $expbase . '</a>)';
$repovo = $u->rep['rep3'] - $u->rep['rep3_buy'];
?> ?>
<style type="text/css"> <style>
.linestl1 { .linestl1 {
background-color: #ececec; background-color: #ececec;
font-size: 11px; font-size: 11px;
@ -31,66 +43,7 @@ if (isset($_GET['showmenu'])) {
padding-right: 4px; padding-right: 4px;
padding-bottom: 1px; padding-bottom: 1px;
} }
</style>
<script>
function getLine(id, name, a, b, o, id2) {
var tss = '<td width="20"><img src="//img.new-combats.tech/i/minus.gif" style="display:block;cursor:pointer;margin-bottom:3px;" title="Скрыть" class="btn-slide" onClick="location=\'main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&showmenu=' + id2 + '&rnd=<?= $code; ?>\';"></td>';
if (o == 0) {
tss = '<td width="20"><img src="//img.new-combats.tech/i/plus.gif" style="display:block;cursor:pointer;margin-bottom:3px;" title="Показать" class="btn-slide" onClick="location=\'main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&showmenu=' + id2 + '&rnd=<?= $code; ?>\';"></td>';
}
var sts01 = '<a href="main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&up=' + id + '&rnd=<?= $code; ?>"><img style="display:block;float:right; margin-bottom:3px;" src="//img.new-combats.tech/i/3.gif"></a>';
if (id == 0) {
sts01 = '<img style="display:block;float:right;margin-bottom:3px;" src="//img.new-combats.tech/i/4.gif">';
}
var sts02 = '<a href="main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&down=' + id + '&rnd=<?= $code; ?>"><img style="display:block; margin-bottom:3px; float:right;" src="//img.new-combats.tech/i/1.gif"></a>';
if (id == 6) {
sts02 = '<img style="display:block;float:right;margin-bottom:3px;" src="//img.new-combats.tech/i/2.gif">';
}
var sts2 = '<td width="40"><div style="float:right;">' + sts01 + '' + sts02 + '</div></td>';
document.write('<table class="mroinv" width="100%" border="0" cellspacing="2" cellpadding="0">' +
'<tr>' + tss +
'<td style="font-size:9px;"><span class="linestl1">&nbsp;' + name + '</span></td>' + sts2 + '</tr>' +
'</table>');
}
function showDiv(id) {
var block = document.getElementById('block_' + id);
block.style.display = 'block';
}
function hiddenDiv(id) {
var block = document.getElementById('block_' + id);
block.style.display = 'none';
}
function save_com_can() {
var ddtpsBankDiv = document.getElementById('chpassbank');
if (ddtpsBankDiv != undefined) {
ddtpsBankDiv.style.display = 'none';
ddtpsBankDiv.innerHTML = '';
}
}
function save_compl() {
var ddtpswBank = '<div><form action="main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&rnd=<?= $code; ?>" method="post">' +
'<table style="border:1px solid #B1A996;" width="250" border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#B1A996"><div align="center"><strong>Сохранить комплект</strong></div></td></tr><tr><td bgcolor="#DDD5C2" style="padding:5px;"><div align="center"><small>Введите название боевого комплекта:<br />' +
'<input style="width:90%;" type="text" name="compname" value="" id="compname" /><label></label></small><br><input style="margin-left:3px;cursor:pointer;" type="submit" name="button" id="button" value=" Сохранить " /><input style="margin-left:3px;cursor:pointer;" onClick="save_com_can();" type="button" value=" Отмена " /></div></td></tr></table></form></div>';
var ddtpsBankDiv = document.getElementById('chpassbank');
if (ddtpsBankDiv != undefined) {
ddtpsBankDiv.style.display = '';
ddtpsBankDiv.innerHTML = ddtpswBank;
}
}
function za_block(id) {
if ($('#za_block_' + id).css('display') == 'none') {
$('#za_block_' + id).css('display', '');
} else {
$('#za_block_' + id).css('display', 'none');
}
}
</script>
<style>
.mroinv { .mroinv {
/*background-color:#e2e2e2;border-top:1px solid #eeeeee;border-left:1px solid #eeeeee;border-right:1px solid #a0a0a0;border-bottom:1px solid #a0a0a0;*/ /*background-color:#e2e2e2;border-top:1px solid #eeeeee;border-left:1px solid #eeeeee;border-right:1px solid #a0a0a0;border-bottom:1px solid #a0a0a0;*/
background: url(//img.new-combats.tech/i/back.gif) 0 2px; background: url(//img.new-combats.tech/i/back.gif) 0 2px;
@ -116,59 +69,92 @@ if (isset($_GET['showmenu'])) {
background-color: #BEBEBE; background-color: #BEBEBE;
} }
</style> </style>
<script>
function getLine(id, name, a, b, o, id2) {
var tss = '<td width="20">' +
'<img src="//img.new-combats.tech/i/minus.gif" style="display:block;cursor:pointer;margin-bottom:3px;" title="Скрыть" class="btn-slide" onClick="location=\'main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&showmenu=' + id2 + '&rnd=<?= $code; ?>\';"></td>';
if (o === 0 || o === '0') {
tss = '<td width="20"><img src="//img.new-combats.tech/i/plus.gif" style="display:block;cursor:pointer;margin-bottom:3px;" title="Показать" class="btn-slide" onClick="location=\'main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&showmenu=' + id2 + '&rnd=<?= $code; ?>\';"></td>';
}
var sts01 = '<a href="main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&up=' + id + '&rnd=<?= $code; ?>"><img style="display:block;float:right; margin-bottom:3px;" src="//img.new-combats.tech/i/3.gif"></a>';
if (id === 0 || id === '0') {
sts01 = '<img style="display:block;float:right;margin-bottom:3px;" src="//img.new-combats.tech/i/4.gif">';
}
var sts02 = '<a href="main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&down=' + id + '&rnd=<?= $code; ?>"><img style="display:block; margin-bottom:3px; float:right;" src="//img.new-combats.tech/i/1.gif"></a>';
if (id === 6 || id === '6') {
sts02 = '<img style="display:block;float:right;margin-bottom:3px;" src="//img.new-combats.tech/i/2.gif">';
}
var sts2 = '<td width="40"><div style="float:right;">' + sts01 + '' + sts02 + '</div></td>';
document.write('<table class="mroinv" width="100%" border="0" cellspacing="2" cellpadding="0">' +
'<tr>' + tss +
'<td style="font-size:9px;"><span class="linestl1">&nbsp;' + name + '</span></td>' + sts2 + '</tr>' +
'</table>');
}
function showDiv(id) {
const block = document.getElementById('block_' + id);
block.style.display = 'block';
}
function hiddenDiv(id) {
const block = document.getElementById('block_' + id);
block.style.display = 'none';
}
function save_com_can() {
const ddtpsBankDiv = document.getElementById('chpassbank');
if (ddtpsBankDiv) {
ddtpsBankDiv.style.display = 'none';
ddtpsBankDiv.innerHTML = '';
}
}
function save_compl() {
const ddtpswBank = '<div><form action="main.php?inv=1&otdel=<?= $_GET['otdel']; ?>&rnd=<?= $code; ?>" method="post">' +
'<table style="border:1px solid #B1A996;" width="250" border="0" cellspacing="0" cellpadding="0"><tr><td bgcolor="#B1A996"><div align="center"><strong>Сохранить комплект</strong></div></td></tr><tr><td bgcolor="#DDD5C2" style="padding:5px;"><div align="center"><small>Введите название боевого комплекта:<br />' +
'<input style="width:90%;" type="text" name="compname" value="" id="compname" /><label></label></small><br><input style="margin-left:3px;cursor:pointer;" type="submit" name="button" id="button" value=" Сохранить " /><input style="margin-left:3px;cursor:pointer;" onClick="save_com_can();" type="button" value=" Отмена " /></div></td></tr></table></form></div>';
const ddtpsBankDiv = document.getElementById('chpassbank');
if (ddtpsBankDiv) {
ddtpsBankDiv.style.display = '';
ddtpsBankDiv.innerHTML = ddtpswBank;
}
}
function za_block(id) {
if ($('#za_block_' + id).css('display') === 'none') {
$('#za_block_' + id).css('display', '');
} else {
$('#za_block_' + id).css('display', 'none');
}
}
</script>
<div id="chpassbank" style="display:none; position:absolute; top:50px; left:250px;"></div> <div id="chpassbank" style="display:none; position:absolute; top:50px; left:250px;"></div>
<?php <table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
$rz0 = ''; <td>&nbsp;</td>
$rz1 = ''; </tr>
$rz2 = '';
$rz3 = '';
$rz4 = '';
$rz5 = '';
$expbase = number_format($u->stats['levels']['exp'], 0, ",", " ");
if ($expbase - 1 == $u->info['exp'] && $c['nolevel']) {
//Проверяем блок опыта
$tlus = mysql_fetch_array(
mysql_query('SELECT COUNT(*) FROM `users` WHERE `real` = 1 AND `level` = "' . $u->info['level'] . '" LIMIT 1')
);
if ($tlus[0] < $u->info['level'] * 10) {
$expbase = '<strike>' . $expbase . '</strike>';
}
$expbase = '(<a href="/exp" target="_blank">' . $expbase . '</a>)';
if (((1 + $u->info['level'] * 10) - $tlus[0]) > 0) {
$expbase .= ' <u><a onMouseOver="top.hi(this,\'<b>Персонажи ' . $u->info['level'] . ' уровня не получают опыт.</b><br>Для разблокировки не хватает <u>' . ((1 + $u->info['level'] * 10) - $tlus[0]) . ' персонажей</u> данного уровня.\',event,0,1,1,1,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();" style="cursor:help">[?]</a></u>';
}
} else {
$expbase = '(<a href="/exp" target="_blank">' . $expbase . '</a>)';
}
if ($u->info['exp'] == 12499 && $c['infinity5level']) {
$trks5 = '<div align="center"><hr><font color=red>Для получения следующего уровня вам необходим <a target="_blank" href="/item/1204">Кристалл Вечности</a></font><hr></div>';
}
$repovo = $u->rep['rep3'] - $u->rep['rep3_buy'];
echo '
<table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr><td>&nbsp;</td></tr>
<tr> <tr>
<td height="15"> <td height="15">
<small style="font-size:12px;"> <small style="font-size:12px;">
<div style="padding:5px 5px 0px 5px;"> <div style="padding:5px 5px 0 5px;">
Опыт:&nbsp;<span style="float0:right"><a href="/exp" target="_blank">' . number_format( Опыт:&nbsp;
$u->info['exp'], 0, ",", " " <span style="float:right">
) . '</a></span><br>' . $trks5 . ' <a href="/exp" target="_blank">
'; <?= number_format($u->info['exp'], 0, ",", " ") ?>
if ($u->info['expstopu'] < 3 && $u->info['exp'] == $c['expstop']) { </a>
</span><br> <?= $trks5 ?>
<?php
if ($u->info['expstopu'] < 3 && $u->info['exp'] == $c['expstop']) {
echo ' echo '
Квест <b>12</b>й:&nbsp;<span style="float0:right"> Квест <b>12</b>й:&nbsp;<span style="float0:right">
<a href="/quest" target="_blank"><b>' . ($u->info['expstopu'] + 1) . '/3 </b></a> статия'; <a href="/quest" target="_blank"><b>' . ($u->info['expstopu'] + 1) . '/3 </b></a> статия';
echo '<button style="width:224px;margin-top:5px;" class="btnnew" onclick="location.href=\'/main.php?inv&propusk=1\';"> echo '<button style="width:224px;margin-top:5px;" class="btnnew" onclick="location.href=\'/main.php?inv&propusk=1\';">
Стоимость пропуска 600 Екр</button> <br>'; Стоимость пропуска 600 Екр</button> <br>';
}
/* echo '
takelevelplease
*/
}
echo '
Бои:&nbsp;<span style="float0:right"><span title="Побед: ' . number_format( Бои:&nbsp;<span style="float0:right"><span title="Побед: ' . number_format(
$u->info['win'], 0, ",", " " $u->info['win'], 0, ",", " "
) . '"><b>' . number_format( ) . '"><b>' . number_format(
@ -194,7 +180,7 @@ echo '
'; ';
if ($u->stats['pbe'] > 0) { if ($u->stats['pbe'] > 0) {
echo '<a href="/news/268/" target="_blank">Бонус покупателя:&nbsp;' . $u->stats['pbe'] . '&nbsp;уровень</a>'; echo '<a href="/news/268/" target="_blank">Бонус покупателя:&nbsp;' . $u->stats['pbe'] . '&nbsp;уровень</a>';
$nowby = mysql_fetch_array( $nowby = mysql_fetch_array(
mysql_query( mysql_query(
@ -205,13 +191,13 @@ if ($u->stats['pbe'] > 0) {
echo ' <font color="red"><br>(Совершите покупку ЕКР чтобы сохранить и увеличить бонус покупателя)</font>'; echo ' <font color="red"><br>(Совершите покупку ЕКР чтобы сохранить и увеличить бонус покупателя)</font>';
} }
echo '<br>'; echo '<br>';
} }
if ($u->info['ability'] > 0 || ($u->info['skills'] > 0 && $u->info['level'] > 0)) { if ($u->info['ability'] > 0 || ($u->info['skills'] > 0 && $u->info['level'] > 0)) {
echo '&nbsp;<a href="main.php?skills=1&side=1">+ Способности</a><br>'; echo '&nbsp;<a href="main.php?skills=1&side=1">+ Способности</a><br>';
} }
if ($_GET['propusk'] == 1) { if ($_GET['propusk'] == 1) {
$usrdata = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $u->info['id'] . '" LIMIT 1')); $usrdata = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'));
if ($usrdata['money2'] >= 600 && $u->info['level'] == 11) { if ($usrdata['money2'] >= 600 && $u->info['level'] == 11) {
mysql_query('UPDATE `users` SET `money2` = `money2` - 600 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `users` SET `money2` = `money2` - 600 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
@ -223,22 +209,22 @@ if ($_GET['propusk'] == 1) {
} else { } else {
$er8 = 'Недостаточно средств!!!'; $er8 = 'Недостаточно средств!!!';
} }
} }
//Получение уровня задания //Получение уровня задания
if ($u->info['level'] >= 0 && $u->info['inTurnir'] == 0 && $c['bonuslevel'] && !isset($u->info['noreal']) && $c['bonussocial']) { if ($u->info['level'] >= 0 && $u->info['inTurnir'] == 0 && $c['bonuslevel'] && !isset($u->info['noreal']) && $c['bonussocial']) {
/* /*
[1] Нужно докачаться на клоне до 1 уровня. [1] Нужно докачаться на клоне до 1 уровня.
[2]-[3]-[4] Нужно подтвердить e-mail чтобы получить со 2 по 4 уровень на выбор. [2]-[3]-[4] Нужно подтвердить e-mail чтобы получить со 2 по 4 уровень на выбор.
[5]-[6] Нужно подтвердить страницу ВКонтакте чтобы получить 5 или 6 уровень на выбор. [5]-[6] Нужно подтвердить страницу ВКонтакте чтобы получить 5 или 6 уровень на выбор.
[7] Нужно привести 1 друга. [7] Нужно привести 1 друга.
[8] Нужно привести 3 друзей и провести 3 хаота. [8] Нужно привести 3 друзей и провести 3 хаота.
[9] Нужно привести 5 друзей и провести 50 хаотов. [9] Нужно привести 5 друзей и провести 50 хаотов.
[10] Нужно привести 7 друзей и провести 100 хаотов. [10] Нужно привести 7 друзей и провести 100 хаотов.
*/ */
$mxlvl = mysql_fetch_array( $mxlvl = mysql_fetch_array(
mysql_query( mysql_query(
'SELECT `id`,`level` FROM `users` WHERE `real` = 1 AND `admin` = 0 AND `banned` = 0 ORDER BY `level` DESC LIMIT 1' 'select id,level from users where `real` = 1 and admin = 0 and banned = 0 order by level desc limit 1'
) )
); );
if (isset($mxlvl['id']) && $mxlvl['level'] > $u->info['level'] + 1) { if (isset($mxlvl['id']) && $mxlvl['level'] > $u->info['level'] + 1) {
@ -291,22 +277,16 @@ if ($u->info['level'] >= 0 && $u->info['inTurnir'] == 0 && $c['bonuslevel'] && !
} elseif ($ml == 6) { } elseif ($ml == 6) {
mysql_query('UPDATE `stats` SET `exp` = 12500 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'); mysql_query('UPDATE `stats` SET `exp` = 12500 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
} }
if ($ml == 6 && !isset($itmsv['id']) && $c['infinity5level'] == true) {
$er8 = 'Требуется Кристалл Вечности!';
} else {
if ($ml == 6) { if ($ml == 6) {
mysql_query( mysql_query(
'INSERT INTO `mini_actions` ( 'INSERT INTO `mini_actions` (`uid`,`time`,`val`,`var`) VALUES ("' . $u->info['id'] . '","' . time() . '","mbtnlvl6","0")'
`uid`,`time`,`val`,`var`
) VALUES (
"' . $u->info['id'] . '","' . time() . '","mbtnlvl6","0"
)'
); );
} }
$er8 = 'Вы успешно получили ' . $ml . ' уровень!'; $er8 = 'Вы успешно получили ' . $ml . ' уровень!';
$u->info['level']++; $u->info['level']++;
$ml++; $ml++;
}
} }
} elseif ($ml <= 7) { } elseif ($ml <= 7) {
$tstlvl = mysql_fetch_array( $tstlvl = mysql_fetch_array(
@ -434,10 +414,10 @@ if ($u->info['level'] >= 0 && $u->info['inTurnir'] == 0 && $c['bonuslevel'] && !
// //
} }
} }
} }
//Бонус за мыло, контакт //Бонус за мыло, контакт
if (!isset($u->info['noreal']) && $c['bonussocial'] == true) { if (!isset($u->info['noreal']) && $c['bonussocial'] == true) {
$mcf = mysql_fetch_array( $mcf = mysql_fetch_array(
mysql_query( mysql_query(
'SELECT * FROM `mini_actions` WHERE `uid` = "' . $u->info['id'] . '" AND `val` = "mailconfirm" LIMIT 1' 'SELECT * FROM `mini_actions` WHERE `uid` = "' . $u->info['id'] . '" AND `val` = "mailconfirm" LIMIT 1'
@ -520,10 +500,10 @@ if (!isset($u->info['noreal']) && $c['bonussocial'] == true) {
} }
echo '<div align="center"><button style="width:224px;margin-top:5px;" class="btnnew" onclick="top.mailConf();"><img src="//img.new-combats.tech/mini_mail.png" height="13" width="13"> ' . $mcff . '</button></div>'; echo '<div align="center"><button style="width:224px;margin-top:5px;" class="btnnew" onclick="top.mailConf();"><img src="//img.new-combats.tech/mini_mail.png" height="13" width="13"> ' . $mcff . '</button></div>';
} }
} }
echo '</div>'; echo '</div>';
$prt = explode('|', $u->info['prmenu']); $prt = explode('|', $u->info['prmenu']);
if (isset($_GET['up'])) { if (isset($_GET['up'])) {
$i = 0; $i = 0;
if (isset($prt[$_GET['up']], $prt[$_GET['up'] - 1])) { if (isset($prt[$_GET['up']], $prt[$_GET['up'] - 1])) {
$prt1 = $prt[intval($_GET['up'])]; $prt1 = $prt[intval($_GET['up'])];
@ -538,7 +518,7 @@ if (isset($_GET['up'])) {
); );
$prt = explode('|', $u->info['prmenu']); $prt = explode('|', $u->info['prmenu']);
} }
} elseif (isset($_GET['down'])) { } elseif (isset($_GET['down'])) {
$i = 0; $i = 0;
if (isset($prt[$_GET['down']], $prt[$_GET['down'] + 1])) { if (isset($prt[$_GET['down']], $prt[$_GET['down'] + 1])) {
$prt1 = $prt[intval($_GET['down'])]; $prt1 = $prt[intval($_GET['down'])];
@ -553,25 +533,25 @@ if (isset($_GET['up'])) {
); );
$prt = explode('|', $u->info['prmenu']); $prt = explode('|', $u->info['prmenu']);
} }
} }
$i = 0; $i = 0;
while ($i < count($prt)) { while ($i < count($prt)) {
$prtpos[$prt[$i]] = $i; $prtpos[$prt[$i]] = $i;
$i++; $i++;
} }
function intSpan($val) function intSpan($val)
{ {
$val = explode('>', $val); $val = explode('>', $val);
$val = explode('<', $val[1]); $val = explode('<', $val[1]);
$val = $val[0]; $val = $val[0];
return $val; return $val;
} }
$rz0 = '<script>getLine(' . $prtpos[0] . ',"Характеристики ","0","0","' . $uShow[0] . '",1);</script>'; $rz0 = '<script>getLine(' . $prtpos[0] . ',"Характеристики ","0","0","' . $uShow[0] . '",1);</script>';
$rz0 .= '<font id="rz0">'; $rz0 .= '<font id="rz0">';
if ($uShow[0] == 1) { if ($uShow[0] == 1) {
$i = 1; $i = 1;
while ($i <= 10) { while ($i <= 10) {
$u->stats['s' . $i] = 0 + $u->stats['s' . $i]; $u->stats['s' . $i] = 0 + $u->stats['s' . $i];
@ -598,10 +578,10 @@ if ($uShow[0] == 1) {
Духовность:&nbsp;<b>' . @$u->stats['s7'] . '</b><br /> Духовность:&nbsp;<b>' . @$u->stats['s7'] . '</b><br />
'; ';
} }
} }
$rz0 .= '</font></div>'; $rz0 .= '</font></div>';
$rz1 = '<script>getLine(' . $prtpos[1] . ',"Модификаторы ","0","0",' . $uShow[1] . ',2);</script>'; $rz1 = '<script>getLine(' . $prtpos[1] . ',"Модификаторы ","0","0",' . $uShow[1] . ',2);</script>';
if ($uShow[1] == 1) { if ($uShow[1] == 1) {
//if( $u->info['admin'] > 0 ) { //if( $u->info['admin'] > 0 ) {
$rz1 .= '<div style="display:none" id="lnk1">'; $rz1 .= '<div style="display:none" id="lnk1">';
$rz1 .= 'Урон: ' . $u->inform('yrontest') . ''; $rz1 .= 'Урон: ' . $u->inform('yrontest') . '';
@ -659,18 +639,18 @@ if ($uShow[1] == 1) {
} }
$rz1 .= '</span>'; $rz1 .= '</span>';
$rz1 .= '</nobr></div>'; $rz1 .= '</nobr></div>';
} }
$rz2 = '<script>getLine(' . $prtpos[2] . ',"Броня ","0","0",' . $uShow[2] . ',3);</script>'; $rz2 = '<script>getLine(' . $prtpos[2] . ',"Броня ","0","0",' . $uShow[2] . ',3);</script>';
if ($uShow[2] == 1) { if ($uShow[2] == 1) {
$rz2 .= '<div style="display:none" id="lnk2"> $rz2 .= '<div style="display:none" id="lnk2">
Броня головы: ' . $u->stats['mib1'] . '-' . $u->stats['mab1'] . ' (' . ($u->stats['mib1']) . '+d' . ($u->stats['mab1'] - ($u->stats['mib1']) + 1) . ')<br /> Броня головы: ' . $u->stats['mib1'] . '-' . $u->stats['mab1'] . ' (' . ($u->stats['mib1']) . '+d' . ($u->stats['mab1'] - ($u->stats['mib1']) + 1) . ')<br />
Броня груди: ' . $u->stats['mib2'] . '-' . $u->stats['mab2'] . ' (' . ($u->stats['mib2']) . '+d' . ($u->stats['mab2'] - ($u->stats['mib2']) + 1) . ')<br /> Броня груди: ' . $u->stats['mib2'] . '-' . $u->stats['mab2'] . ' (' . ($u->stats['mib2']) . '+d' . ($u->stats['mab2'] - ($u->stats['mib2']) + 1) . ')<br />
Броня живота: ' . $u->stats['mib2'] . '-' . $u->stats['mab2'] . ' (' . ($u->stats['mib2']) . '+d' . ($u->stats['mab2'] - ($u->stats['mib2']) + 1) . ')<br /> Броня живота: ' . $u->stats['mib2'] . '-' . $u->stats['mab2'] . ' (' . ($u->stats['mib2']) . '+d' . ($u->stats['mab2'] - ($u->stats['mib2']) + 1) . ')<br />
Броня пояса: ' . $u->stats['mib3'] . '-' . $u->stats['mab3'] . ' (' . ($u->stats['mib3']) . '+d' . ($u->stats['mab3'] - ($u->stats['mib3']) + 1) . ')<br /> Броня пояса: ' . $u->stats['mib3'] . '-' . $u->stats['mab3'] . ' (' . ($u->stats['mib3']) . '+d' . ($u->stats['mab3'] - ($u->stats['mib3']) + 1) . ')<br />
Броня ног: ' . $u->stats['mib4'] . '-' . $u->stats['mab4'] . ' (' . ($u->stats['mib4']) . '+d' . ($u->stats['mab4'] - ($u->stats['mib4']) + 1) . ')<br /></div>'; Броня ног: ' . $u->stats['mib4'] . '-' . $u->stats['mab4'] . ' (' . ($u->stats['mib4']) . '+d' . ($u->stats['mab4'] - ($u->stats['mib4']) + 1) . ')<br /></div>';
} }
$rz3 = '<script>getLine(' . $prtpos[3] . ',"Мощность ","0","0",' . $uShow[3] . ',4);</script>'; $rz3 = '<script>getLine(' . $prtpos[3] . ',"Мощность ","0","0",' . $uShow[3] . ',4);</script>';
if ($uShow[3] == 1) { if ($uShow[3] == 1) {
$rz3 .= '<div style="display:none" id="lnk3">'; $rz3 .= '<div style="display:none" id="lnk3">';
$i = 1; $i = 1;
$rz3 .= ucfirst(str_replace('Мф. мощности', 'Мощность ', $u->is['m10'] . ': ')); $rz3 .= ucfirst(str_replace('Мф. мощности', 'Мощность ', $u->is['m10'] . ': '));
@ -702,9 +682,9 @@ if ($uShow[3] == 1) {
$i++; $i++;
} }
$rz3 .= '</div>'; $rz3 .= '</div>';
} }
$zi = [ //Предметы влияющие на зоны $zi = [ //Предметы влияющие на зоны
'n' => [ 'n' => [
'', 'голова', 'грудь', 'живот', 'пояс', 'ноги', '', 'голова', 'грудь', 'живот', 'пояс', 'ноги',
], ],
@ -713,10 +693,10 @@ $zi = [ //Предметы влияющие на зоны
3 => [2, 4, 5, 6, 13], //живот 3 => [2, 4, 5, 6, 13], //живот
4 => [7, 16, 10, 11, 12], //пояс 4 => [7, 16, 10, 11, 12], //пояс
5 => [17], //ноги 5 => [17], //ноги
]; ];
$rz4 = '<script>getLine(' . $prtpos[4] . ',"Кнопки ","0","0",' . $uShow[4] . ',5);</script>'; $rz4 = '<script>getLine(' . $prtpos[4] . ',"Кнопки ","0","0",' . $uShow[4] . ',5);</script>';
if ($uShow[4] == 1) { if ($uShow[4] == 1) {
$rz4 .= '<div style="display:none" id="lnk4"><center style="padding:5px;">'; $rz4 .= '<div style="display:none" id="lnk4"><center style="padding:5px;">';
$rz4 .= '<input class="btn" style="padding:3px 15px 3px 15px;" type="button" name="snatvso" value="Снять всё" onclick="top.frames[\'main\'].location=\'main.php?inv=1&remitem&otdel=' . $_GET['otdel'] . '\';" $rz4 .= '<input class="btn" style="padding:3px 15px 3px 15px;" type="button" name="snatvso" value="Снять всё" onclick="top.frames[\'main\'].location=\'main.php?inv=1&remitem&otdel=' . $_GET['otdel'] . '\';"
style="font-weight:bold;" /> style="font-weight:bold;" />
@ -728,45 +708,47 @@ if ($uShow[4] == 1) {
unset($hgo); unset($hgo);
$rz4 .= '</center>'; $rz4 .= '</center>';
$rz4 .= '</div>'; $rz4 .= '</div>';
} }
$rz5 = '<script>getLine(' . $prtpos[5] . ',"Комплекты&nbsp;&nbsp;&nbsp;<a href=\"#\" onClick=\"save_compl();\">запомнить</a>&nbsp;","0","0",' . $uShow[5] . ',6);</script>'; $rz5 = '<script>getLine(' . $prtpos[5] . ',"Комплекты&nbsp;&nbsp;&nbsp;<a href=\"#\" onClick=\"save_compl();\">запомнить</a>&nbsp;","0","0",' . $uShow[5] . ',6);</script>';
if ($uShow[5] == 1) { if ($uShow[5] == 1) {
$rz5 .= '<div style="display:none" id="lnk5">'; $rz5 .= '<div style="display:none" id="lnk5">';
$sp = mysql_query('SELECT * FROM `save_com` WHERE `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 10'); $sp = mysql_query('SELECT * FROM `save_com` WHERE `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 10');
while ($pl = mysql_fetch_array($sp)) { while ($pl = mysql_fetch_array($sp)) {
$rz5 .= '<a href="?inv=1&delc1=' . $pl['id'] . '&otdel=' . ((int)$_GET['otdel']) . '&rnd=' . $code . '"><img src="'.\Core\Config::img().'/i/close2.gif" title="Удалить комплект" width="9" height="9"></a> <small><a href="?inv=1&usec1=' . $pl['id'] . '&otdel=' . ((int)$_GET['otdel']) . '&rnd=' . $code . '">Надеть &quot;' . $pl['name'] . '&quot;</a></small><br>'; $rz5 .= '<a href="?inv=1&delc1=' . $pl['id'] . '&otdel=' . ((int)$_GET['otdel']) . '&rnd=' . $code . '"><img src="' . \Core\Config::img(
) . '/i/close2.gif" title="Удалить комплект" width="9" height="9"></a> <small><a href="?inv=1&usec1=' . $pl['id'] . '&otdel=' . ((int)$_GET['otdel']) . '&rnd=' . $code . '">Надеть &quot;' . $pl['name'] . '&quot;</a></small><br>';
} }
$rz5 .= '</div>'; $rz5 .= '</div>';
} }
$rz6 = '<script>getLine(' . $prtpos[6] . ',"Приемы &nbsp; &nbsp;<a href=\"/main.php?skills=1&rz=4&rnd=' . $code . '\">настроить</a>&nbsp;","0","0",' . $uShow[6] . ',7);</script>'; $rz6 = '<script>getLine(' . $prtpos[6] . ',"Приемы &nbsp; &nbsp;<a href=\"/main.php?skills=1&rz=4&rnd=' . $code . '\">настроить</a>&nbsp;","0","0",' . $uShow[6] . ',7);</script>';
if ($uShow[6] == 1) { if ($uShow[6] == 1) {
$rz6 .= '<div style="display:none" id="lnk6">'; //возможно 5 $rz6 .= '<div style="display:none" id="lnk6">'; //возможно 5
$sp = mysql_query('SELECT * FROM `complects_priem` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 10'); $sp = mysql_query('SELECT * FROM `complects_priem` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 10');
$rz6 .= '<small>'; $rz6 .= '<small>';
while ($pl = mysql_fetch_array($sp)) { while ($pl = mysql_fetch_array($sp)) {
$rz6 .= '<a onclick="if(confirm(\'Удалить набор ?\')){location=\'main.php?inv=1&otdel=' . round( $rz6 .= '<a onclick="if(confirm(\'Удалить набор ?\')){location=\'main.php?inv=1&otdel=' . round(
(int)$_GET['otdel'] (int)$_GET['otdel']
) . '&delcop=' . $pl['id'] . '\'}" href="javascript:void(0)"><img src="' . \Core\Config::img() . '/i/close2.gif" width="9" height="9"></a> <a href="main.php?inv=1&otdel=' . round( ) . '&delcop=' . $pl['id'] . '\'}" href="javascript:void(0)"><img src="' . \Core\Config::img(
) . '/i/close2.gif" width="9" height="9"></a> <a href="main.php?inv=1&otdel=' . round(
(int)$_GET['otdel'] (int)$_GET['otdel']
) . '&usecopr=' . $pl['id'] . '">Использовать &quot;' . $pl['name'] . '&quot;</a><br>'; ) . '&usecopr=' . $pl['id'] . '">Использовать &quot;' . $pl['name'] . '&quot;</a><br>';
} }
$rz6 .= '</small>'; $rz6 .= '</small>';
$rz6 .= '</div>'; //возможно 5 $rz6 .= '</div>'; //возможно 5
} }
$i = 0; $i = 0;
while ($i < count($prt)) { while ($i < count($prt)) {
if (isset(${'rz' . $prt[$i]})) { if (isset(${'rz' . $prt[$i]})) {
echo ${'rz' . $prt[$i]}; echo ${'rz' . $prt[$i]};
} }
$i++; $i++;
} }
// //
?> ?>
<script> <script>
<?php <?php
$i = 0; $i = 0;
while ($i < count($uShow)) { while ($i < count($uShow)) {
@ -776,7 +758,7 @@ while ($i < count($prt)) {
$i++; $i++;
} }
?> ?>
</script> </script>
</td> </td>
</tr> </tr>
</table> </table>

View File

@ -1,6 +1,7 @@
<?php <?php
use Core\Db; use Core\Db;
use Model\ActionModel;
use User\ItemsModel; use User\ItemsModel;
use User\StatsModel; use User\StatsModel;
@ -10,58 +11,34 @@ if (!defined('GAME')) {
die(); die();
} }
$am = new ActionModel($u->info['id']);
$txt ??= ''; $txt ??= '';
if (isset($_GET['getq'])) { if (isset($_GET['getq'])) {
$test = mysql_fetch_array( $zadID = !$am->getDailyQuest() ? mt_rand(1, 7) : 0;
mysql_query('SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vars`= \'day_quest\'')
);
if (!isset($test['id'])) {
$zadID = rand(1, 7);
if ($u->info['level'] == 8 && $zadID == 6) {
$zadID = 2;
}
if ($u->info['level'] > 11 && $zadID == 4) {
$zadID = 2;
}
if ($u->info['level'] > 11 && $zadID == 1) {
$zadID = 2;
}
} else {
$zadID = 0;
}
if ($zadID == 1) {
$txt .= '<b>Говорят в Capital City завелись всякие Трупожоры. Пойди да убей их дважды, порадуй бабушку</b>';
} elseif ($zadID == 2) {
$txt .= '<b>Покажи на что способен! Поучаствуй в 10 хаотических поединках!</b>';
} elseif ($zadID == 3) {
$txt .= '<b>Необходимо исследовать для бабушки два любых подземелия, ей очень интересно что там внутри! Только гляди милок, пропуски не используй!</b>';
} elseif ($zadID == 4) {
$txt .= '<b>Сразись в хаотических поединках и получи 100 000 опыта!</b>';
} elseif ($zadID == 5) {
$txt .= '<b>Открой сундук Трупожора, порадуй бабушку!</b>';
} elseif ($zadID == 6) {
$txt .= '<b>Посети Излом Хаоса!</b>';
} elseif ($zadID == 7) {
$txt .= '<b>Выполни 3 любых задания в подземелиях!Бабушка будет очень довольна!</b>';
} elseif ($zadID == 8) {
$txt .= '<b>Сходи ка милок в Башню Смерти! Да попробуй как там свои силенки.</b>';
} else {
$txt .= '<b>Эх шустрый малец, получал задание уже сегодня! Завтра приходи, накормлю чем нибудь вкусным ну и задание дам!</b>';
}
$txt .= match ($zadID) {
1 => 'Говорят в городе завелись всякие Трупожоры. Пойди да убей двоих, порадуй бабушку.',
2 => 'Покажи на что способен! Поучаствуй в 10 хаотических поединках!',
3 => 'Необходимо исследовать для бабушки два любых подземелия, ей очень интересно что там внутри! Только гляди милок, пропуски не используй!',
4 => 'Сразись в хаотических поединках и получи 100 000 опыта!',
5 => 'Открой сундук Трупожора, порадуй бабушку!',
6 => 'Посети Излом Хаоса!',
7 => 'Выполни 3 любых задания в подземелиях! Бабушка будет очень довольна!',
8 => 'Сходи-ка милок в Башню Смерти! Да попробуй там свои силенки.',
default => 'Эх шустрый малец, получал задание уже сегодня! Завтра приходи, накормлю чем нибудь вкусным ну и задание дам!'
};
$txt = "<b>$txt</b>";
if ($zadID > 0) { if ($zadID > 0) {
mysql_query( ActionModel::new($u->info, $zadID, 'day_quest');
'INSERT INTO `actions`(`uid`, `time`, `city`, `room`, `vars`, `ip`, `vals`, `val`) VALUES (' . $u->info['id'] . ',unix_timestamp(),\'capitalcity\',421,\'day_quest\',\'\',' . $zadID . ',' . $u->info['exp'] . ')'
);
sendSysChat($txt); sendSysChat($txt);
} }
} }
function sendSysChat($message) function sendSysChat($message): void
{ {
global $u; global $u;
$cmsg = new ChatMessage(); $cmsg = new ChatMessage();
$cmsg->setCity($u->info['city']);
$cmsg->setRoom($u->info['room']); $cmsg->setRoom($u->info['room']);
$cmsg->setTo($u->info['login']); $cmsg->setTo($u->info['login']);
$cmsg->setType(6); $cmsg->setType(6);
@ -69,132 +46,76 @@ function sendSysChat($message)
(new Chat())->sendMsg($cmsg); (new Chat())->sendMsg($cmsg);
} }
function giveDailyQuestPrize() function giveDailyQuestPrize(): void
{ {
global $u; global $u;
Db::sql('update actions set vals = 0 where vars = ? and uid = ?', ['day_quest', $u->info['id']]); Db::sql('update actions set vals = 0 where vars = ? and uid = ?', ['day_quest', $u->info['id']]);
Db::sql('update users_achiv set zb = zb + 1 where id = ?', [$u->info['id']]); Db::sql('update users_achiv set zb = zb + 1 where id = ?', [$u->info['id']]);
if ($u->info['level'] < 12) {
ItemsModel::addItem(10020, $u->info['id'], '|sudba=' . $u->info['login']); ItemsModel::addItem(10020, $u->info['id'], '|sudba=' . $u->info['login']);
} else {
ItemsModel::addItem(6470, $u->info['id'], '|sudba=' . $u->info['login']);
}
StatsModel::addRepexpById($u->info['id'], 50); //Репутация +20 StatsModel::addRepexpById($u->info['id'], 50); //Репутация +20
} }
if (isset($_GET['putq'])) { if (isset($_GET['putq'])) {
$test = mysql_fetch_array( $test = $am->getDailyQuest();
mysql_query('SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vars`= \'day_quest\'') if (!$test) {
); $txt .= 'У тебя нет задания милок, не юли! Хоть бабушка плохо видит но бабушка хорошо помнит.';
if (!isset($test['id'])) {
$txt .= '<b style="color: red">У тебя нет задания милок, не юли! Хоть бабушка плохо видит но бабушка хорошо помнит.</b>';
} else { } else {
$zadID = $test['vals']; $zadID = $test['vals'];
$finishedTasks = $am->getFinishedDailyQuestTasks($test['time']);
if ($zadID == 1) { if ($zadID == 1) {
$check = mysql_query( if ($finishedTasks['end_trup'] > 1) {
'SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vars`= \'end_trup\' AND `time` > ' . $test['time'] $txt .= 'Порадовал бабушку! Убил ипостата! Может на печи полежим? - Нет, ну держи жетончик!';
);
$i = 0;
while ($pl = mysql_fetch_array($check)) {
$i++;
}
if ($i > 1) {
$txt .= '<b>Порадовал бабушку! Убил ипостата! Может на печи полежим? - Нет, ну держи жетончик!</b>';
giveDailyQuestPrize(); giveDailyQuestPrize();
} else { } else {
$txt .= '<b>Победи в боях с Трупожором ' . $i . '/2</b>'; $txt .= 'Победи в боях с Трупожором ' . $finishedTasks['end_trup'] . '/2.';
} }
} elseif ($zadID == 2) { } elseif ($zadID == 2) {
$check = mysql_query( if ($finishedTasks['end_xaot'] > 9) {
'SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vars`= \'end_xaot\' AND `time` > ' . $test['time'] $txt .= 'Порадовал бабушку! Поучаствовал в боях! А точно покушать не хочешь? - Нет, ну держи жетончик!';
);
$i = 0;
while ($pl = mysql_fetch_array($check)) {
$i++;
}
if ($i > 9) {
$txt .= '<b>Порадовал бабушку! Поучаствовал в боях! А точно покушать не хочешь? - Нет, ну держи жетончик!</b>';
giveDailyQuestPrize(); giveDailyQuestPrize();
} else { } else {
$txt .= '<b>Участия в хаотах ' . $i . '/10</b>'; $txt .= 'Участия в хаотах ' . $finishedTasks['end_xaot'] . '/10.';
} }
} elseif ($zadID == 3) { } elseif ($zadID == 3) {
$check = mysql_query( if ($finishedTasks['psh0'] > 1) {
'SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vars`= \'psh0\' AND `time` > ' . $test['time'] $txt .= 'Порадовал бабушку! Хороший запах! А точно покушать не хочешь? - Нет, ну держи жетончик!';
);
$i = 0;
while ($pl = mysql_fetch_array($check)) {
$i++;
}
if ($i > 1) {
$txt .= '<b>Порадовал бабушку! Хороший запах! А точно покушать не хочешь? - Нет, ну держи жетончик!</b>';
giveDailyQuestPrize(); giveDailyQuestPrize();
} else { } else {
$txt .= '<b>Посещение Подземелий ' . $i . '/2</b>'; $txt .= 'Посещение Подземелий ' . $finishedTasks['psh0'] . '/2.';
} }
} elseif ($zadID == 4) { } elseif ($zadID == 4) {
if (($u->info['exp'] - $test['val']) > 100000) { if (($u->info['exp'] - $test['val']) > 100000) {
$txt .= '<b>Порадовал бабушку! Подрос,Подрос! держи жетончик!</b>'; $txt .= 'Порадовал бабушку! Подрос, подрос! держи жетончик!';
giveDailyQuestPrize(); giveDailyQuestPrize();
} else { } else {
$txt .= '<b>Получение ' . ($u->info['exp'] - $test['val']) . '/100 000 опыта</b>'; $txt .= 'Получение ' . ($u->info['exp'] - $test['val']) . '/100 000 опыта.';
} }
} elseif ($zadID == 5) { } elseif ($zadID == 5) {
$check = mysql_query( if ($finishedTasks['trup_sun'] > 0) {
'SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vars`= \'trup_sun\' AND `time` > ' . $test['time'] $txt .= 'Порадовал бабушку! Сундучек удачу принес? Нет? Ну держи жетончик!';
);
$i = 0;
while ($pl = mysql_fetch_array($check)) {
$i++;
}
if ($i > 0) {
$txt .= '<b>Порадовал бабушку! Сундучек удачу принес? Нет? Ну держи жетончик!</b>';
giveDailyQuestPrize(); giveDailyQuestPrize();
} else { } else {
$txt .= '<b>Открытие сундуков Трупожора 0/1</b>'; $txt .= 'Открытие сундуков Трупожора 0/1';
} }
} elseif ($zadID == 6) { } elseif ($zadID == 6) {
$check = mysql_query( if ($finishedTasks['izlom'] > 0) {
'SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vars`= \'izlom\' AND `time` > ' . $test['time'] $txt .= 'Порадовал бабушку! Так пахнет гарью и смертью Ммммм ... За это тебе жетончик!';
);
$i = 0;
while ($pl = mysql_fetch_array($check)) {
$i++;
}
if ($i > 0) {
$txt .= '<b>Порадовал бабушку! Так пахнет гарью и смертью Ммммм ... За это тебе жетончик!</b>';
giveDailyQuestPrize(); giveDailyQuestPrize();
} else { } else {
$txt .= '<b>Посещение Излома Хаоса 0/1</b>'; $txt .= 'Посещение Излома Хаоса 0/1';
}
} elseif ($zadID == 7) {
if ($finishedTasks['win'] > 2) {
$txt .= 'Порадовал бабушку! Стало в мире светлее, но бабка как была слепая так и осталась... <br> Чуть не забыла жетончик!';
giveDailyQuestPrize();
} else {
$txt .= 'Выполни 3 задания в подземелиях. ' . $finishedTasks['win'] . '/3.';
}
} }
} elseif ($zadID == 7) { sendSysChat("<b>$txt</b>");
$check = mysql_query(
'SELECT * FROM `actions` WHERE `uid` = ' . $u->info['id'] . ' AND `vals`= \'win\' AND `time` > ' . $test['time']
);
$i = 0;
while ($pl = mysql_fetch_array($check)) {
$i++;
}
if ($i > 2) {
$txt .= '<b>Порадовал бабушку! Стало в мире светлее, но бабка как была слепая так и осталась... <br> Чуть не забыла жетончик!</b>';
giveDailyQuestPrize();
} else {
$txt .= '<b>Выполни 3 задания в подземелиях. ' . $i . '/3 </b>';
}
} elseif ($zadID == 8) {
$txt .= '<b>Участие в башне смерти 0.1</b>';
} else {
$txt .= '<b style="color: red">Эх шустрый малец, получал задание уже сегодня! Завтра приходи накормлю чем нибудь вкусным ну и задание дам!</b>';
}
sendSysChat($txt);
} }
} }
@ -213,7 +134,7 @@ $repovo = $u->rep['rep3'] - $u->rep['rep3_buy'];
Духовность:&nbsp;<b><?= $u->stats['s7']; ?></b><br> Духовность:&nbsp;<b><?= $u->stats['s7']; ?></b><br>
<?php endif; ?> <?php endif; ?>
<?php if ($u->info['ability'] > 0 || $u->info['skills'] > 0): ?> <?php if ($u->info['ability'] > 0 || $u->info['skills'] > 0): ?>
<a href="main.php?skills=1&side=1">+ Способности</a><br> <a href="/main.php?skills=1&side=1">+ Способности</a><br>
<?php endif; ?> <?php endif; ?>
&nbsp;<br> &nbsp;<br>
@ -225,7 +146,7 @@ $repovo = $u->rep['rep3'] - $u->rep['rep3_buy'];
Деньги:&nbsp;<b><?= $u->info['money'] ?> кр.</b>&nbsp;</br> Деньги:&nbsp;<b><?= $u->info['money'] ?> кр.</b>&nbsp;</br>
Деньги:&nbsp;<b style="color:green"><?= $u->info['money2'] ?> екр.</b><br> Деньги:&nbsp;<b style="color:green"><?= $u->info['money2'] ?> екр.</b><br>
<?php if ($u->stats['pbe'] > 0): ?> <?php if (isset($u->stats['pbe']) && $u->stats['pbe'] > 0): ?>
<a href="/news/268/" target="_blank">Бонус покупателя:&nbsp;<?= $u->stats['pbe'] ?>&nbsp;уровень</a> <a href="/news/268/" target="_blank">Бонус покупателя:&nbsp;<?= $u->stats['pbe'] ?>&nbsp;уровень</a>
<?php if (date('d.m.Y') != date('d.m.Y', $nowby)): ?> <?php if (date('d.m.Y') != date('d.m.Y', $nowby)): ?>
<span style="color: red"><br>(Совершите покупку ЕКР чтобы сохранить и увеличить бонус покупателя)</span> <span style="color: red"><br>(Совершите покупку ЕКР чтобы сохранить и увеличить бонус покупателя)</span>

View File

@ -110,7 +110,7 @@ $vi = [
<td width="75" align="center" valign="middle" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;"><b>Вечно</b></td> <td width="75" align="center" valign="middle" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;"><b>Вечно</b></td>
<td style="border-bottom:1px solid #CCCCCC;"><font color=darkgreen><b>1 Выносливость = 1 ХП</b></font></td> <td style="border-bottom:1px solid #CCCCCC;"><font color=darkgreen><b>1 Выносливость = 1 ХП</b></font></td>
</tr> </tr>
<? } ?> <?php } ?>
<?php if ($account == 'silvers'){ ?> <?php if ($account == 'silvers'){ ?>
<table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#E1E1E1"> <table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#E1E1E1">
<td style="border-bottom:1px solid #CCCCCC;">&bull; Восстановление жизни и манны +10%</td> <td style="border-bottom:1px solid #CCCCCC;">&bull; Восстановление жизни и манны +10%</td>
@ -141,7 +141,7 @@ $vi = [
<td width="75" align="center" valign="middle" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;"><b>Вечно</b></td> <td width="75" align="center" valign="middle" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;"><b>Вечно</b></td>
<td style="border-bottom:1px solid #CCCCCC;"><font color=darkgreen><b>1 Выносливость = 2 ХП</b></font></td> <td style="border-bottom:1px solid #CCCCCC;"><font color=darkgreen><b>1 Выносливость = 2 ХП</b></font></td>
</tr> </tr>
<? } ?> <?php } ?>
<?php if ($account == 'gold'){ ?> <?php if ($account == 'gold'){ ?>
<table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#E1E1E1"> <table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#E1E1E1">
<td style="border-bottom:1px solid #CCCCCC;">&bull; Восстановление жизни и манны +50%</td> <td style="border-bottom:1px solid #CCCCCC;">&bull; Восстановление жизни и манны +50%</td>
@ -173,7 +173,7 @@ $vi = [
<td width="75" align="center" valign="middle" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;"><b>На время действия Благодати</b></td> <td width="75" align="center" valign="middle" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;"><b>На время действия Благодати</b></td>
<td style="border-bottom:1px solid #CCCCCC;"><font color=darkgreen><b>Увеличивает защиту от урона и магии на 50 едениц.</b></font></td> <td style="border-bottom:1px solid #CCCCCC;"><font color=darkgreen><b>Увеличивает защиту от урона и магии на 50 едениц.</b></font></td>
</tr> </tr>
<? } ?> <?php } ?>
</table> </table>
<fieldset><p><b>Доступные предметы:</b><br/><small>(Чтобы забрать предмет просто кликните на его изображение)</small></p> <fieldset><p><b>Доступные предметы:</b><br/><small>(Чтобы забрать предмет просто кликните на его изображение)</small></p>
<p> <p>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ - пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅ</title> <title>пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ - пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅ</title>

View File

@ -1,12 +0,0 @@
User-agent: DuplexWeb-Google
User-agent: AdsBot-Google-Mobile-Apps
User-agent: AdsBot-Google
User-agent: AdsBot-Google-Mobile
User-agent: *
Disallow: /
User-agent: *
Allow: /*.html$
Sitemap: /sitemap.xml
Host: https://new-combats.com