Merge
This commit is contained in:
@@ -18,11 +18,11 @@ require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . 'autoload.php';
|
||||
# Пещера запущена более 3х часов назад
|
||||
# Время пещеры вышло (?!)
|
||||
# ??? bsid
|
||||
# Это не пещера №15 (было захардкодено)
|
||||
|
||||
$dungeons = Db::getRows(
|
||||
'
|
||||
select
|
||||
dungeon_now.city,
|
||||
dungeon_now.id as did
|
||||
from
|
||||
dungeon_now
|
||||
@@ -33,48 +33,41 @@ $dungeons = Db::getRows(
|
||||
users.online < unix_timestamp() - 10800 and
|
||||
dungeon_now.time_start < unix_timestamp() - 10800 and
|
||||
dungeon_now.time_finish = 0 and
|
||||
dungeon_now.bsid = 0
|
||||
dungeon_now.bsid = 0 and
|
||||
dungeon_now.id != 15
|
||||
group by dungeon_now.id order by dungeon_now.id desc
|
||||
'
|
||||
);
|
||||
|
||||
foreach ($dungeons as $dungeon) {
|
||||
if (!$dungeon['did'] || $dungeon['did'] === 15) {
|
||||
continue;
|
||||
}
|
||||
# [1] Выкидываем игроков с подземелья и перемещаем его в `382` подвальное помещение
|
||||
|
||||
$podvalRoom = 382;
|
||||
if ($dungeon['city'] === 'capitalcity') {
|
||||
$podvalRoom = 321;
|
||||
} elseif ($dungeon['city'] === 'angelscity') {
|
||||
$podvalRoom = 242;
|
||||
}
|
||||
|
||||
Db::sql('update stats set dnow = 0 where id in (select id from stats where dnow = ? limit 10)', [$dungeon['did']]);
|
||||
# Выбросили игрока с подземелья и переместили в подвальное помещение
|
||||
Db::sql(
|
||||
'update users set room = ? where id in (select id from stats where dnow = ? limit 10)',
|
||||
[$podvalRoom, $dungeon['did']]
|
||||
);
|
||||
# Выбрасываем пещерные предметы у игрока
|
||||
Db::sql(
|
||||
'update items_users set `delete` = unix_timestamp() where dn_delete = 1 and uid in (select id from stats where dnow = ? limit 10)',
|
||||
[$dungeon['did']]
|
||||
);
|
||||
|
||||
# [2] Удаляем объекты.
|
||||
Db::sql('delete from dungeon_obj where for_dn = 0 and dn = ?', [$dungeon['did']]);
|
||||
|
||||
# [3] Удаляем монстров.
|
||||
Db::sql('delete from dungeon_bots where for_dn = 0 and dn = ?', [$dungeon['did']]);
|
||||
|
||||
# [4] Удаляем предметы.
|
||||
Db::sql('delete from dungeon_items where for_dn = 0 and dn = ?', [$dungeon['did']]);
|
||||
|
||||
# [5] Удаляем действия (actions)
|
||||
Db::sql('delete from dungeon_actions where dn = ?', [$dungeon['did']]);
|
||||
|
||||
# [6] Закрываем Подземелье Dungeon_Now - time_finish = time();
|
||||
Db::sql('update dungeon_now set time_finish = unix_timestamp() where id = ?', [$dungeon['did']]);
|
||||
$arr = [];
|
||||
foreach ($dungeons as $dungeonid) {
|
||||
$arr[] = $dungeonid;
|
||||
}
|
||||
$dungeonids = implode(',', $arr);
|
||||
|
||||
$stats = Db::getRows('select id from stats where dnow in (?)', [$dungeonids]);
|
||||
$arr2 = [];
|
||||
foreach ($stats as $statid) {
|
||||
$arr2[] = $statid;
|
||||
}
|
||||
$statids = implode(',', $arr2);
|
||||
|
||||
# [1] Выкидываем игроков с подземелья и перемещаем его в `321` портал
|
||||
Db::sql('update stats set dnow = 0 where id in (?)', [$statids]);
|
||||
Db::sql('update users set room = 321 where id in (?)', [$statids]);
|
||||
Db::sql('update items_users set `delete` = unix_timestamp() where dn_delete = 1 and uid in (?)', [$statids]);
|
||||
|
||||
# [2] Удаляем объекты.
|
||||
Db::sql('delete from dungeon_obj where for_dn = 0 and dn in (?)', [$dungeonids]);
|
||||
|
||||
# [3] Удаляем монстров.
|
||||
Db::sql('delete from dungeon_bots where for_dn = 0 and dn in (?)', [$dungeonids]);
|
||||
|
||||
# [4] Удаляем предметы.
|
||||
Db::sql('delete from dungeon_items where for_dn = 0 and dn in (?)', [$dungeonids]);
|
||||
|
||||
# [5] Удаляем действия (actions)
|
||||
Db::sql('delete from dungeon_actions where dn in (?)', [$dungeonids]);
|
||||
|
||||
# [6] Закрываем Подземелье Dungeon_Now - time_finish = time();
|
||||
Db::sql('update dungeon_now set time_finish = unix_timestamp() where id in (?)', [$dungeonids]);
|
||||
|
||||
Reference in New Issue
Block a user