This commit is contained in:
2023-07-31 20:06:51 +03:00
109 changed files with 15204 additions and 33584 deletions
+34 -41
View File
@@ -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]);
-3
View File
@@ -49,7 +49,6 @@ function delete_user_all( $uid , $login ) {
mysql_query('DELETE FROM `add_smiles` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `a_com_act` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `bandit` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `bank` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `bank_alh` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `battle_act` WHERE `uid1` = "'.$uid.'" OR `uid2` = "'.$uid.'"');
mysql_query('DELETE FROM `battle_actions` WHERE `uid` = "'.$uid.'"');
@@ -92,7 +91,6 @@ function delete_user_all( $uid , $login ) {
mysql_query('DELETE FROM `obraz` WHERE `uid` = "'.$uid.'" OR `login` = "'.$login.'"');
mysql_query('DELETE FROM `online` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `pirogi` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `post` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `reimage` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `rep` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `repass` WHERE `uid` = "'.$uid.'"');
@@ -110,7 +108,6 @@ function delete_user_all( $uid , $login ) {
mysql_query('DELETE FROM `users_turnirs` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `users_twink` WHERE `uid` = "'.$uid.'"');
mysql_query('DELETE FROM `zayavki` WHERE `creator` = "'.$uid.'"');
mysql_query('DELETE FROM `_clan` WHERE `uid` = "'.$uid.'"');
}
//1. Очистка чата, остается чат только за последние 3 дня