Обучение #39
@ -4,22 +4,17 @@ namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class SecondStep extends StepFactory
|
||||
class ChatFirstQuest extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Тест';
|
||||
return 'Начало.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Тест';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'second_step';
|
||||
return 'Отправьте сообщение в общий чат.';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
@ -27,4 +22,13 @@ class SecondStep extends StepFactory
|
||||
return [];
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
|
||||
{
|
||||
return 'chat_first_quest';
|
||||
}
|
||||
|
||||
public function isInfo(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class ChatFirstStep extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Начало.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Помните, оскорблять, унижать, обсуждать политику, подстёгивать других игроков, как в общем чате так и в приватном приведет к временному ограничению возможности отправки сообщений в любой из чатов.';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'chat_first_step';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class ChatSecondQuest extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Начало.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Отправьте адресное сообщение в общий чат, нажав 1 раз по никнейму игрока либо в чате, либо со списка онлайна, который находится справа.';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'chat_second_quest';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function isInfo(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class ChatThirdQuest extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Начало.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Отправьте адресное личное сообщение в чат, нажав 2 раза по никнему игрока либо в чате, либо со списка онлайна, который находится справа.';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'chat_third_quest';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function isInfo(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class FirstStep extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Добро пожаловать в игру!';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Мы поможем Вам адаптироваться в нашей браузерной онлайн игре.<br>
|
||||
Суть игры, заключается стремлении стать непобедимым бойцом в игре среди других персонажей!<br>
|
||||
Сделать это сможет каждый игрок, путём усиления своего персонажа, предметов улучшенного качества, интеграции рун и чарок в предметы и других, интересных усилений.<br>
|
||||
На общем фоне слева, Вы можете наблюдать своего персонажа ( слева ), на котором показаны пустые слоты под предметы, его параметры, ваши деньги, победы/поражения, а с права, общее окно разных локаций, таких как: Магазин, Ремонтная Мастерская, Здание лото, Здание Бойцовского Клуба где проходят поединки, Почта, Переход на Страшилкину Улицу и т.д.<br>
|
||||
Далее, мы подскажем Вам, для чего служит нижний фрейм.';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'first_step';
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserFirstQuest extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Сколько всего основных игровых Валют? Введите их число...';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_first_quest';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function getAnswer(): string
|
||||
{
|
||||
return '2';
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserFirstStep extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'В нашей игре, ваш персонаж расположен слева от экрана с игровыми локациями, там же, можно увидеть пустые слоты под предметы и параметры персонажа, ваш опыт, деньги, ежедневные задания...';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_first_step';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserFourthQuest extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Войдите во вкладку " Умения ", в правой части экрана, сверху, а далее, перейдите во вкладку " Приёмы ", после чего, выберите нужные Вам приемы, но будьте внимательны, некоторые из приемов могут быть на разные классы, обязательно прочтите их описание или потестируйте в поединках.';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_fourth_quest';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function isInfo(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserFourthStep extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return '"Параметры Персонажа"<br>
|
||||
Все игроки имеют свободные очки распределения параметров, что они дают игрокам конкретные модификаторы в зависимости от того, в какой из параметров распределяются очки распределения.<br>
|
||||
--- если можно, добавить скрин как выглядит эта кнопка ---
|
||||
Сила - Увеличивает мощность рубящего урона ( для Силачей )<br>
|
||||
Ловкость - Увеличивает мощность колющего урона ( для Критоуворотов и Уворотов )<br>
|
||||
Интуиция - Увеличивает мощность режущего урона ( для Критовиков )<br>
|
||||
Выносливость - Увеличивает защиту от урона и магии, а так же добавит немного жизней. ( для Танков )<br>
|
||||
Интелект - Увеличивает мощность магии. ( Для Любого Мага )<br>
|
||||
Мудрость - Увеличивает колличество маны. ( Для Любого Мага )<br>
|
||||
<br>
|
||||
Дополнительно, игроки имеют очки распределения Мастерства Оружия, это позволит воинам увеличить урон, а магам, открыть новые приемы.<br>
|
||||
Очки распределения Оружий распределяются точно так же, как и очки распределения параметров ( статов ).<br>
|
||||
<br>
|
||||
В случае, если вы распределили неверно любые доступные очки распределения, или хотите их изменить, вы можете это сделать, поднявшись на 2 этаж здания " Бойцовский Клуб ".';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_fourth_step';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function getAnswer(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserSecondQuest extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Кого убивает игровой класс "Танк"?';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_second_quest';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function getAnswer(): string
|
||||
{
|
||||
return 'Уворотов и Силачей';
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserSecondStep extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Опыт - Получение опыта происходит после сыгранных поединков, в зависимости от выбитого урона с противников, нажав по своему опыту, откроется таблица опыта, в которой можно посмотреть, когда вы получите дополнительное очко распределение параметров персонажа/оружий, награду за взятие " апа " или " Уровня "<br>
|
||||
Текущий уровень - Отображает ваш текущий уровень персонажа.<br>
|
||||
Победы - Отображает сумму всех ваших побед, в любых поединках.<br>
|
||||
Поражения - Отображает сумму всех ваших поражений, в любых поединках.<br>
|
||||
Ничьих - Отображает сумму всех поединков, которые завершились в ничью.<br>
|
||||
Кредиты - Обычная игровая валюта - кредиты ( креды ), которые можно потратить в обычном магазине.<br>
|
||||
Еврокредиты - Покупная игровая валюта - еврокредиты ( екры ) , которые можно потратить в магазине " Берёзка ". <br>
|
||||
Воинственность - Дополнительная игровая валюта, потратить её можно в Подпольной Лавке.<br>
|
||||
Ежедневное задание - Отображает текущее ежедневное задание либо предоставляет возможность его взятия.<br>
|
||||
Бонус - Позволяет получить немного кредитов или еврокредитов.';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_second_step';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserThirdQuest extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'Распределите свободные параметры распределения ( статы ) и параметры оружий ( умения ) в зависимости от выбранного вами при регистрации "Класса" игрока нажав по кнопке " + Способности ", а далее, после распределения параметров " Сохранить ".';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_third_quest';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function isInfo(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public function allowedToMove(): array
|
||||
{
|
||||
return ['cp1'];
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace DarksLight2\Training\Steps;
|
||||
|
||||
use DarksLight2\Training\StepFactory;
|
||||
|
||||
class MyUserThirdStep extends StepFactory
|
||||
{
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'Персонаж.';
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return 'В нашей игре, существует 5 Воинских и 4 Магических класса, такие как:<br>
|
||||
Критовик - Убивает Танков и Магов, основное оружие - Мечи<br>
|
||||
Уворот - Убивает Критовиков и Силачей, основное оружие - Кинжалы<br>
|
||||
Танк - Убивает Уворотов и Силачей, основное оружие - Дубина и щит.<br>
|
||||
Силач - Убивает Критовиков и Магов, основное оружие - Топоры<br>
|
||||
Критоуворот - Убивает Силачей и с небольшим шансом Критовиков и Уворотов, основное оружие - Кинжалы.<br>
|
||||
<br>
|
||||
Маг Огня - Атакующий маг, убивает Уворотов и Танков.<br>
|
||||
Маг Воздуха - Атакующий маг, убивает Уворотов и Танков.<br>
|
||||
Маг Земли - Защищающийся маг, слабый урон, хорошая защита.<br>
|
||||
Маг Воды - Защищающийся маг, слабый урон, хорошая защита.';
|
||||
}
|
||||
|
||||
public function getShortName(): string
|
||||
{
|
||||
return 'my_user_third_step';
|
||||
}
|
||||
|
||||
public function getRewards(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
public function allowedToMove(): array
|
||||
{
|
||||
return ['cp1'];
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Core\Db;
|
||||
use DarksLight2\Training\TrainingManager;
|
||||
use Insallah\Math;
|
||||
|
||||
/*
|
||||
@ -2054,6 +2055,10 @@ class Priems
|
||||
'UPDATE `stats` SET `priems` = "' . $p . '" WHERE `id` = "' . $this->u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd) {
|
||||
TrainingManager::getInstance()
|
||||
->addPoint('my_user_fourth_quest', function (TrainingManager $manager) {
|
||||
$manager->store();
|
||||
});
|
||||
$this->u->info['priems'] = $p;
|
||||
}
|
||||
} else {
|
||||
|
12
main.php
@ -36,8 +36,11 @@ if (!defined('GAME_VERSION')) {
|
||||
}
|
||||
|
||||
use Core\{Config, Database, Db};
|
||||
use DarksLight2\Training\TrainingException;
|
||||
DarksLight2 marked this conversation as resolved
Outdated
lopar
commented
Нужны ли игроку технические исключения? Нужны ли **игроку** технические исключения?
DarksLight2
commented
Солгасен, тупанул Солгасен, тупанул
|
||||
use DarksLight2\Training\TrainingManager;
|
||||
|
||||
$training_manager = TrainingManager::getInstance(User::start()->info['id']);
|
||||
DarksLight2 marked this conversation as resolved
Outdated
lopar
commented
На На https://src.lopar.space/new-combats.com/game/src/commit/dcc6a1337c861b9f2dfd957aeebc6e1c6d8cc85b/main.php#L59 вызывается инстанс User. Зачем вызывать ещё один на 20 строк выше?
DarksLight2
commented
Не обратил внимание) Не обратил внимание)
|
||||
|
||||
function var_info($vars, $d = false)
|
||||
{
|
||||
echo "<pre style='border: 1px solid gray;border-radius: 5px;padding: 3px 6px;background: #cecece;color: black;font-family: Arial;font-size: 12px;'>\n";
|
||||
@ -559,11 +562,10 @@ $spl = $spl['exp'];
|
||||
echo '<script>top.myexpLineTop27(' . $u->info['exp'] . ',' . $spl . ');' . $tjs . 'top.ctest("' . $u->info['city'] . '");top.sd4key="' . $u->info['nextAct'] . '"; var battle = ' . (0 + $u->info['battle']) . '; top.hic();</script></body>
|
||||
</html>';
|
||||
|
||||
$training_manager = TrainingManager::getInstance();
|
||||
|
||||
if($u->room['file']=='cp1') {
|
||||
$training_manager->first_step->render();
|
||||
$training_manager->second_step->render();
|
||||
try {
|
||||
$training_manager->render();
|
||||
} catch (TrainingException $e) {
|
||||
echo $e->getMessage();
|
||||
}
|
||||
?>
|
||||
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.2/modernizr.js"></script>-->
|
||||
|
@ -139,6 +139,8 @@ function thisInfRm($id, $tp = null, $json = false)
|
||||
}
|
||||
|
||||
if (isset($_GET['loc'])) {
|
||||
$training_manager = \DarksLight2\Training\TrainingManager::getInstance();
|
||||
|
||||
$go = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `room` WHERE `code` = "' . mysql_real_escape_string(
|
||||
@ -146,210 +148,228 @@ if (isset($_GET['loc'])) {
|
||||
) . '" AND `city` = "' . $u->info['city'] . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
$tr_pl = mysql_fetch_array(
|
||||
DarksLight2 marked this conversation as resolved
Outdated
lopar
commented
Куча замен ниже, это тоже про обучение? Костыли, увечья, хаосники, турниры.. Куча замен ниже, это тоже про обучение? Костыли, увечья, хаосники, турниры..
DarksLight2
commented
Я не понимаю почему это добавилось, наверное потому что я обернул в условие. Я хз Я не понимаю почему это добавилось, наверное потому что я обернул в условие. Я хз
|
||||
mysql_query(
|
||||
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
//Проверяем костыли
|
||||
$kos1 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$kos2 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
if (in_array(
|
||||
$go['file'],
|
||||
$training_manager->getRegistered(
|
||||
)[$training_manager->getCurrentStepName()]->allowedToMove()
|
||||
)) {
|
||||
|
||||
if ($kos1['item_id'] == 630 || $kos1['item_id'] == 631) {
|
||||
$kos1['good'] = 1;
|
||||
} else {
|
||||
$kos1['good'] = 0;
|
||||
}
|
||||
if ($kos2['item_id'] == 630 || $kos2['item_id'] == 631) {
|
||||
$kos2['good'] = 1;
|
||||
} else {
|
||||
$kos2['good'] = 0;
|
||||
}
|
||||
$tr_pl = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`v1` FROM `eff_users` WHERE `id_eff` = 4 AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" ORDER BY `v1` DESC LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
if (isset($tr_pl['id'])) {
|
||||
//Проверяем костыли
|
||||
$kos1 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 3 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
$kos2 = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT `id`,`item_id` FROM `items_users` WHERE `inOdet` = 14 AND `uid` = "' . $u->info['id'] . '" AND `delete` = 0 LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
$zadej = 0;
|
||||
|
||||
if ($tr_pl['v1'] == 1) {
|
||||
//все ок
|
||||
} elseif ($tr_pl['v1'] == 2) {
|
||||
if ($kos1['good'] == 0 && $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$zadej = 20;
|
||||
}
|
||||
} elseif ($tr_pl['v1'] == 3 || $tr_pl['v1'] == 4) {
|
||||
if ($kos1['good'] == 0 || $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$zadej = 30;
|
||||
}
|
||||
if ($kos1['item_id'] == 630 || $kos1['item_id'] == 631) {
|
||||
$kos1['good'] = 1;
|
||||
} else {
|
||||
$kos1['good'] = 0;
|
||||
}
|
||||
}
|
||||
if ($u->room['extdlg'] > 0) {
|
||||
header('location: main.php?talk=' . $u->room['extdlg'] . '');
|
||||
} elseif (isset($zadej) && $zadej == -1) {
|
||||
if (!isset($re) || $re == '') {
|
||||
$re = 'У вас травма, нельзя перемещаться...';
|
||||
if ($kos2['item_id'] == 630 || $kos2['item_id'] == 631) {
|
||||
$kos2['good'] = 1;
|
||||
} else {
|
||||
$kos2['good'] = 0;
|
||||
}
|
||||
//Травма...
|
||||
} elseif ($u->info['align'] == 2 && $go['nochaos'] == 1) {
|
||||
$re = 'Проход для хаосников закрыт!';
|
||||
} elseif ($u->info['inTurnir'] > 0) {
|
||||
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
|
||||
} elseif (($kos1['good'] == 0 && $kos2['good'] == 0) && ((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
|
||||
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
|
||||
} elseif (isset($go['id'])) {
|
||||
$rmgo = [];
|
||||
$rg = explode(',', $u->room['roomGo']);
|
||||
$mlvl = explode('-', $go['level']);
|
||||
$i = 0;
|
||||
while ($i < count($rg)) {
|
||||
if ($rg[$i] >= 0) {
|
||||
$rmgo[$rg[$i]] = 1;
|
||||
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$sleep = $u->testAction('`vars` = "sleep" AND `uid` = "' . $u->info['id'] . '" LIMIT 1', 1);
|
||||
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
|
||||
$re = '<font color=red><b>Вы можете перемещаться только когда бодрствуете.</b></font>';
|
||||
echo ' ' . $re;
|
||||
} elseif ($u->info['timeGo'] >= time()) {
|
||||
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time()) . ' сек.';
|
||||
} elseif ($rmgo[$go['id']] == 1) {
|
||||
$alg = explode('-', $go['align']);
|
||||
$ku = mysql_fetch_array(
|
||||
mysql_query('SELECT `id` FROM `katok_zv` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1')
|
||||
);
|
||||
if (isset($tr_pl['id'])) {
|
||||
$zadej = 0;
|
||||
|
||||
if (isset($ku['id'])) {
|
||||
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
|
||||
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0 && $u->info['admin'] == 0) {
|
||||
$re = 'Ты не ту склонность выбрал.. Дружок :)';
|
||||
} elseif ($u->info['zv'] > 0) {
|
||||
$test_zv = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time(
|
||||
) - 60 * 60 * 2) . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
if (isset($test_zv['id'])) {
|
||||
$re = 'Подали заявку и убегаем?.. Не хорошо!';
|
||||
if ($tr_pl['v1'] == 1) {
|
||||
//все ок
|
||||
} elseif ($tr_pl['v1'] == 2) {
|
||||
if ($kos1['good'] == 0 && $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!';
|
||||
mysql_query('UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
|
||||
$zadej = 20;
|
||||
}
|
||||
} elseif ((($go['clan'] > 0 && $u->info['clan'] != $go['clan']) || ($go['clan'] == -1 && $u->info['clan'] == 0)) && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time(
|
||||
) && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($mlvl[0] > $u->info['level'] && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
|
||||
} elseif ($mlvl[1] < $u->info['level'] && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
|
||||
} elseif ($go['close'] == 0 || $u->info['admin'] > 0) {
|
||||
$travms = mysql_fetch_array(
|
||||
} elseif ($tr_pl['v1'] == 3 || $tr_pl['v1'] == 4) {
|
||||
if ($kos1['good'] == 0 || $kos2['good'] == 0) {
|
||||
$re = 'Вы травмированы. Не возможно с такими увечиями передвигаться без костылей.';
|
||||
$zadej = -1;
|
||||
} else {
|
||||
$zadej = 30;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($u->room['extdlg'] > 0) {
|
||||
header('location: main.php?talk=' . $u->room['extdlg'] . '');
|
||||
} elseif (isset($zadej) && $zadej == -1) {
|
||||
if (!isset($re) || $re == '') {
|
||||
$re = 'У вас травма, нельзя перемещаться...';
|
||||
}
|
||||
//Травма...
|
||||
} elseif ($u->info['align'] == 2 && $go['nochaos'] == 1) {
|
||||
$re = 'Проход для хаосников закрыт!';
|
||||
} elseif ($u->info['inTurnir'] > 0) {
|
||||
$re = 'Вы не можете перемещаться, Вы приняли заявку на турнир ...';
|
||||
} elseif (($kos1['good'] == 0 && $kos2['good'] == 0) && ((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
|
||||
$re = 'Вы не можете перемещаться, рюкзак переполнен ...';
|
||||
} elseif (isset($go['id'])) {
|
||||
$rmgo = [];
|
||||
$rg = explode(',', $u->room['roomGo']);
|
||||
$mlvl = explode('-', $go['level']);
|
||||
$i = 0;
|
||||
while ($i < count($rg)) {
|
||||
if ($rg[$i] >= 0) {
|
||||
$rmgo[$rg[$i]] = 1;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
$sleep = $u->testAction(
|
||||
'`vars` = "sleep" AND `uid` = "' . $u->info['id'] . '" LIMIT 1',
|
||||
1
|
||||
);
|
||||
if (isset($sleep['id']) && $sleep['vars'] == 'sleep' && $go['name'] != 'Общ. Этаж 1' && $go['name'] != 'Общ. Этаж 2' && $go['name'] != 'Общ. Этаж 3') {
|
||||
$re = '<font color=red><b>Вы можете перемещаться только когда бодрствуете.</b></font>';
|
||||
echo ' ' . $re;
|
||||
} elseif ($u->info['timeGo'] >= time()) {
|
||||
$re = 'Вы не можете перемещаться еще ' . ($u->info['timeGo'] - time(
|
||||
)) . ' сек.';
|
||||
} elseif ($rmgo[$go['id']] == 1) {
|
||||
$alg = explode('-', $go['align']);
|
||||
$ku = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
|
||||
'SELECT `id` FROM `katok_zv` WHERE `uid` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
|
||||
//замедление перемешения при травмах
|
||||
$plus_timeGo = 0 + $zadej; // добавочное время при травме
|
||||
if ($plus_timeGo < 0) {
|
||||
$plus_timeGo = 0;
|
||||
}
|
||||
|
||||
if (((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
|
||||
$plus_timeGo += 2 * 60;
|
||||
if ($kos1['good'] == 0) {
|
||||
$plus_timeGo += 1.5 * 60;
|
||||
} elseif ($kos1['good'] == 0) {
|
||||
$plus_timeGo += 1.5 * 60;
|
||||
}
|
||||
}
|
||||
|
||||
//end freez time go
|
||||
|
||||
if ($u->stats['silver'] >= 1) {//время перемещения -20%
|
||||
$go['timeGO'] = floor($go['timeGO'] / 100 * 80);
|
||||
$plus_timeGo = floor($plus_timeGo / 100 * 80);
|
||||
}
|
||||
$u->info['timeGo'] = time() + $go['timeGO'] + $plus_timeGo;
|
||||
$u->info['timeGoL'] = time();
|
||||
$upd = mysql_query(
|
||||
'UPDATE `stats` SET `timeGo` = "' . $u->info['timeGo'] . '",`timeGoL` = "' . $u->info['timeGoL'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd) {
|
||||
$upd2 = mysql_query(
|
||||
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time(
|
||||
) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
if (isset($ku['id'])) {
|
||||
$re = 'Вы подали заявку на турнир и не можете перемещаться...';
|
||||
} elseif (($alg[0] > $u->info['align'] || $alg[1] < $u->info['align']) && $go['align'] != 0 && $u->info['admin'] == 0) {
|
||||
$re = 'Ты не ту склонность выбрал.. Дружок :)';
|
||||
} elseif ($u->info['zv'] > 0) {
|
||||
$test_zv = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `zayvki` WHERE `id` = "' . $u->info['zv'] . '" AND `cancel` = 0 AND `start` = 0 AND `time` > "' . (time(
|
||||
) - 60 * 60 * 2) . '" LIMIT 1'
|
||||
)
|
||||
);
|
||||
if (isset($test_zv['id'])) {
|
||||
$re = 'Подали заявку и убегаем?.. Не хорошо!';
|
||||
} else {
|
||||
$re = 'Ваша заявка была удалена... Теперь вы можете перейти в другую локацию!';
|
||||
mysql_query(
|
||||
'UPDATE `stats` SET `zv` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
} elseif ((($go['clan'] > 0 && $u->info['clan'] != $go['clan']) || ($go['clan'] == -1 && $u->info['clan'] == 0)) && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($go['sex'] > 0 && $go['sex'] - 1 != $u->info['sex'] && $u->info['invis'] != 1 && $u->info['invis'] < time(
|
||||
) && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату';
|
||||
} elseif ($mlvl[0] > $u->info['level'] && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень маловат ;)';
|
||||
} elseif ($mlvl[1] < $u->info['level'] && $u->info['admin'] == 0) {
|
||||
$re = 'Вы не можете попасть в эту комнату, уровень высоковат ;)';
|
||||
} elseif ($go['close'] == 0 || $u->info['admin'] > 0) {
|
||||
$travms = mysql_fetch_array(
|
||||
mysql_query(
|
||||
'SELECT * FROM `eff_users` WHERE `uid` = "' . $u->info['id'] . '" and (`v1`="2" or `v1`="3") and `delete`=0 ORDER by v1 DESC'
|
||||
)
|
||||
);
|
||||
if ($upd2) {
|
||||
|
||||
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
|
||||
//Удаляем все ставки в БС
|
||||
$sp_bs = mysql_query(
|
||||
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
);
|
||||
while ($pl_bs = mysql_fetch_array($sp_bs)) {
|
||||
//замедление перемешения при травмах
|
||||
$plus_timeGo = 0 + $zadej; // добавочное время при травме
|
||||
if ($plus_timeGo < 0) {
|
||||
$plus_timeGo = 0;
|
||||
}
|
||||
|
||||
if (((!isset($zadej) || $zadej == 0) && $u->aves['now'] >= $u->aves['max'] && $u->room['name'] != 'Общежитие' && $u->room['name'] != 'Общ. Этаж 1' && $u->room['name'] != 'Общ. Этаж 2' && $u->room['name'] != 'Общ. Этаж 3')) {
|
||||
$plus_timeGo += 2 * 60;
|
||||
if ($kos1['good'] == 0) {
|
||||
$plus_timeGo += 1.5 * 60;
|
||||
} elseif ($kos1['good'] == 0) {
|
||||
$plus_timeGo += 1.5 * 60;
|
||||
}
|
||||
}
|
||||
|
||||
//end freez time go
|
||||
|
||||
if ($u->stats['silver'] >= 1) {//время перемещения -20%
|
||||
$go['timeGO'] = floor($go['timeGO'] / 100 * 80);
|
||||
$plus_timeGo = floor($plus_timeGo / 100 * 80);
|
||||
}
|
||||
$u->info['timeGo'] = time() + $go['timeGO'] + $plus_timeGo;
|
||||
$u->info['timeGoL'] = time();
|
||||
$upd = mysql_query(
|
||||
'UPDATE `stats` SET `timeGo` = "' . $u->info['timeGo'] . '",`timeGoL` = "' . $u->info['timeGoL'] . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd) {
|
||||
$upd2 = mysql_query(
|
||||
'UPDATE `users` SET `room` = "' . $go['id'] . '",`online` = "' . time(
|
||||
) . '" WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
|
||||
);
|
||||
if ($upd2) {
|
||||
if ($u->room['file'] == 'bsenter' && $go['file'] != 'bsenter') {
|
||||
//Удаляем все ставки в БС
|
||||
$sp_bs = mysql_query(
|
||||
'SELECT `id`,`bsid`,`money` FROM `bs_zv` WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
);
|
||||
while ($pl_bs = mysql_fetch_array($sp_bs)) {
|
||||
mysql_query(
|
||||
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs['bsid'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
unset($sp_bs, $pl_bs);
|
||||
mysql_query(
|
||||
'UPDATE `bs_turnirs` SET `users` = `users` - 1 WHERE `id` = "' . $pl_bs['bsid'] . '" LIMIT 1'
|
||||
'UPDATE `bs_zv` SET `finish` = "' . time(
|
||||
) . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
);
|
||||
}
|
||||
unset($sp_bs, $pl_bs);
|
||||
mysql_query(
|
||||
'UPDATE `bs_zv` SET `finish` = "' . time(
|
||||
) . '" WHERE `uid` = "' . $u->info['id'] . '" AND `inBot` = "0" AND `finish` = "0"'
|
||||
|
||||
$smt = $u->testAction(
|
||||
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time(
|
||||
) - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1',
|
||||
1
|
||||
);
|
||||
if (isset($smt['id'])) {
|
||||
mysql_query(
|
||||
'DELETE FROM `actions` WHERE `id` = "' . $smt['id'] . '" LIMIT 1'
|
||||
);
|
||||
}
|
||||
mysql_query(
|
||||
'UPDATE `eff_users` SET `delete` = "' . time(
|
||||
) . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
|
||||
);
|
||||
}
|
||||
|
||||
$smt = $u->testAction(
|
||||
'`uid` = "' . $u->info['id'] . '" AND `time`>=' . (time(
|
||||
) - 600) . ' AND `vars` = "create_snowball_cp" LIMIT 1', 1
|
||||
);
|
||||
if (isset($smt['id'])) {
|
||||
mysql_query('DELETE FROM `actions` WHERE `id` = "' . $smt['id'] . '" LIMIT 1');
|
||||
}
|
||||
mysql_query(
|
||||
'UPDATE `eff_users` SET `delete` = "' . time(
|
||||
) . '" WHERE `id_eff` = "24" AND `uid` = "' . $u->info['id'] . '" AND `delete` = "0" LIMIT 24'
|
||||
);
|
||||
|
||||
$u->info['room'] = $go['id'];
|
||||
$u->room = $go;
|
||||
if (!isset($_GET['mAjax'])) {
|
||||
echo '<script>top.chat.reflesh();</script>';
|
||||
$u->info['room'] = $go['id'];
|
||||
$u->room = $go;
|
||||
if (!isset($_GET['mAjax'])) {
|
||||
echo '<script>top.chat.reflesh();</script>';
|
||||
}
|
||||
} else {
|
||||
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена';
|
||||
}
|
||||
} else {
|
||||
$re = 'Вы не смогли перейти в локацию, возможно она была разрушена';
|
||||
$re = 'Вы не смогли перейти в локацию';
|
||||
}
|
||||
} elseif ($go['destroy'] == 1) {
|
||||
$re = 'Здание было разрушено, в данный момент оно реставрируется';
|
||||
} else {
|
||||
$re = 'Вы не смогли перейти в локацию';
|
||||
$re = 'Временно закрыто';
|
||||
}
|
||||
} elseif ($go['destroy'] == 1) {
|
||||
$re = 'Здание было разрушено, в данный момент оно реставрируется';
|
||||
} else {
|
||||
$re = 'Временно закрыто';
|
||||
$re = 'Проход не существует';
|
||||
}
|
||||
} else {
|
||||
$re = 'Проход не существует';
|
||||
}
|
||||
} else {
|
||||
$re = 'Проход не существует';
|
||||
$re = 'Вам запрещено передвигаться до окончания обучения!!!';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
<?php
|
||||
|
||||
use DarksLight2\Training\TrainingManager;
|
||||
|
||||
if (!defined('GAME')) {
|
||||
die();
|
||||
}
|
||||
@ -441,6 +444,11 @@ $tma = '';
|
||||
WHERE
|
||||
`id` = '" . (int)$u->info['id'] . "';"
|
||||
)) {
|
||||
TrainingManager::getInstance()
|
||||
DarksLight2 marked this conversation as resolved
Outdated
lopar
commented
А если человек поднимет не стат, а навык или особенность? Он пройдёт квест так и не подняв стат. А если человек поднимет не стат, а навык или особенность? Он пройдёт квест так и не подняв стат.
DarksLight2
commented
упс, не заметил, я думал там только ability меняется упс, не заметил, я думал там только ability меняется
|
||||
->addPoint('my_user_third_quest', function (TrainingManager $manager) {
|
||||
$manager->store();
|
||||
});
|
||||
|
||||
//if($_GET['energy']>0) {echo ' <font color=red>Увеличение способности "<B>Энергия</B>" произведено удачно</font><br>';}
|
||||
if ($_GET['str'] > 0) {
|
||||
echo ' <font color=red>Увеличение способности "<B>Сила</B>" произведено удачно</font><br>';
|
||||
|
@ -4,8 +4,6 @@ if(!defined('GAME'))
|
||||
{
|
||||
die();
|
||||
}
|
||||
DarksLight2 marked this conversation as resolved
Outdated
lopar
commented
Убирая где-то Убирая где-то `__config.php` и `__db_connect.php` надо вместо них вызывать `Config::init()` и `Database::init()`. Первое подтягивает настройки, второе подтягивает функции `mysql_`.
DarksLight2
commented
Я же убирал галочку ( Я же убирал галочку (
|
||||
require_once('/home/newcom1/public_html/_incl_data/__config.php');
|
||||
require_once('/home/newcom1/public_html/_incl_data/class/__db_connect.php');
|
||||
|
||||
if($u->room['file']=='cp1') {
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @var string $token
|
||||
* @var int $time
|
||||
* @var string $button_text
|
||||
* @var object $step
|
||||
*/
|
||||
|
||||
$short_name = 'first_step';
|
||||
|
||||
require 'step.php';
|
||||
|
||||
?>
|
||||
<script>
|
||||
const training_data = () => {
|
||||
return {
|
||||
content: `<?=$step->message?>`,
|
||||
title: `<?=$step->title?>`,
|
||||
button_text: `<?=$button_text?>`,
|
||||
time: <?=$time?>,
|
||||
token: '<?=$token?>',
|
||||
short_name: '<?=$short_name?>',
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script src="/js/training/modal.js"></script>
|
||||
|
||||
<script>
|
||||
modal.show()
|
||||
</script>
|
@ -1,31 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @var string $token
|
||||
* @var int $time
|
||||
* @var string $button_text
|
||||
* @var object $step
|
||||
*/
|
||||
|
||||
$short_name = 'second_step';
|
||||
|
||||
require 'step.php';
|
||||
|
||||
?>
|
||||
<script>
|
||||
const training_data = () => {
|
||||
return {
|
||||
content: `<?=$step->message?>`,
|
||||
title: `<?=$step->title?>`,
|
||||
button_text: `<?=$button_text?>`,
|
||||
time: <?=$time?>,
|
||||
token: '<?=$token?>',
|
||||
short_name: '<?=$short_name?>',
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script src="/js/training/modal.js"></script>
|
||||
|
||||
<script>
|
||||
modal.show()
|
||||
</script>
|
13
online.php
@ -7,6 +7,7 @@ if (!defined('GAME_VERSION')) {
|
||||
use Core\Config;
|
||||
use Core\Database;
|
||||
use Core\Db;
|
||||
use DarksLight2\Training\TrainingManager;
|
||||
|
||||
|
||||
Config::init();
|
||||
@ -265,6 +266,18 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') {
|
||||
mysql_query("UPDATE `chat` SET `delete` = 1 WHERE `login` = '" . $u->info['login'] . "' LIMIT 1000");
|
||||
$_POST['msg'] = 'Я спамер ' . $u->info['login'] . ' и меня нужно заблокировать https://new-combats.com/info/' . $u->info['id'] . '';
|
||||
|
||||
$training_manager = TrainingManager::getInstance();
|
||||
lopar
commented
И эта штука один раз отработала и дальше будет вхолостую колбаситься на каждое сообщение в чате? И эта штука один раз отработала и дальше будет вхолостую колбаситься на каждое сообщение в чате?
DarksLight2
commented
Я не знал как по другому, может не додумал Я не знал как по другому, может не додумал
|
||||
|
||||
$training_manager->addPoint('chat_first_quest');
|
||||
|
||||
if(preg_match("/to\[(.*?)\]/", $_POST['msg'])) {
|
||||
$training_manager->addPoint('chat_second_quest');
|
||||
}
|
||||
|
||||
if(preg_match("/private\[(.*?)\]/", $_POST['msg'])) {
|
||||
$training_manager->addPoint('chat_third_quest');
|
||||
}
|
||||
|
||||
mysql_query(
|
||||
'INSERT INTO `chat` (`nosee`,`invis`,`da`,`delete`,`molch`,`new`,`login`,`to`,`city`,`room`,`time`,`type`,`spam`,`text`,`toChat`,`color`,`typeTime`,`sound`,`global`) VALUES (
|
||||
"0",
|
||||
|
Это методы, возвращающие.. константу?
Это добавляет гибкости. Захочешь ты для определённого задания сделать логику отличную от других, сможешь спокойно это сделать, плюс я уже убедился что это хорошое решение, когда решил переписать логику трейнинга.