Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на рынок

    Там вы можете продать или купить
    Всё что касается игровых серверов

Вопрос

Всем привет ребят,подскажите как сделать запрос в базу данных на удаление палаток которые не используются или с пустым инвентарем и ещё есть такой вопрос,может кто подскажет, слыхал есть такое что после рестарта открывается техника от которой утерян ключ подскажите кто знает как это делается. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

dayz_epoch - название БД.
INTERVAL 30 DAY - не использовались более 30 дней.

Можно использовать как процедуру, или переделать в ивент.

BEGIN

DELETE FROM dayz_epoch.object_data
WHERE Classname LIKE 'Tent%'
AND object_data.LastUpdated < NOW() - INTERVAL 30 DAY;

END

 

Удаление техники, ключ от которой потерян. Ивент, выполняется каждый день.

DROP EVENT IF EXISTS `UnlockNonKeyVehicles`;
DELIMITER ;;
CREATE EVENT `UnlockNonKeyVehicles` ON SCHEDULE EVERY 1 DAY DO UPDATE
`Object_DATA`
SET
`Object_DATA`.`CharacterID` = 0
WHERE
`Object_DATA`.`CharacterID` <> 0
AND `Object_DATA`.`CharacterID` <= 12500
AND `Object_DATA`.`Classname` NOT LIKE 'Tent%'
AND `Object_DATA`.`Classname` NOT LIKE '%Locked'
AND `Object_DATA`.`Classname` NOT LIKE 'Land%'
AND `Object_DATA`.`Classname` NOT LIKE 'Cinder%'
AND `Object_DATA`.`Classname` NOT LIKE 'Wood%'
AND `Object_DATA`.`Classname` NOT LIKE 'Metal%'
AND `Object_DATA`.`Classname` NOT LIKE '%Storage%'
AND `Object_DATA`.`Classname` NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ')
AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0
;;
DELIMITER ;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


  • 0

Всем привет ребят,подскажите как сделать запрос в базу данных на удаление палаток которые не используются или с пустым инвентарем и ещё есть такой вопрос,может кто подскажет, слыхал есть такое что после рестарта открывается техника от которой утерян ключ подскажите кто знает как это делается. 

1. Создай процедуру(если 30 дней в палатку ни чего не положат или не возьмут, она удалится)

DELETE FROM `object_data` WHERE (Classname = "ItemTent" or Classname = "ItemDomeTent" or Classname = "ItemDesertTent") AND `LastUpdated` < DATE_SUB(NOW() , INTERVAL 30 DAY);

2.С сервером идёт файл в папке SQL add_recommended_mysql_events.sql там есть эвент

 

-- ----------------------------

-- Event structure for UnlockNonKeyVehicles

-- Открываем тс без ключа

-- ----------------------------

DROP EVENT IF EXISTS `UnlockNonKeyVehicles`;

DELIMITER ;;

CREATE EVENT `UnlockNonKeyVehicles` ON SCHEDULE EVERY 3 DAY DO UPDATE

`Object_DATA`

SET

`Object_DATA`.`CharacterID` = 0

WHERE

`Object_DATA`.`CharacterID` <> 0

AND `Object_DATA`.`CharacterID` <= 12500

AND `Object_DATA`.`Classname` NOT LIKE 'Tent%'

AND `Object_DATA`.`Classname` NOT LIKE '%Locked'

AND `Object_DATA`.`Classname` NOT LIKE 'Land%'

AND `Object_DATA`.`Classname` NOT LIKE 'Cinder%'

AND `Object_DATA`.`Classname` NOT LIKE 'Wood%'

AND `Object_DATA`.`Classname` NOT LIKE 'Metal%'

AND `Object_DATA`.`Classname` NOT LIKE '%Storage%'

AND `Object_DATA`.`Classname` NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ')

AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0

;;

DELIMITER ;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: dok379
      Можно ли поставить БД на exile через XAMPP(MySQL)? Не взаимодействия с Navicat Premium 10.1.6 и MySQL 5.5.
       
      Если да, то где вот этот пункт нужно делать исходя из инструкции по установке exile сервера
       
      2.1) - идем в папку "mysql" (мой путь C:\Program Files\MySQL\MySQL Server 5.5) и ищем там файл "my.ini"
       
      ищем параметр :
      sql-mode="STRICT_TRANS_TABLE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
       
      меняем на этот:
      sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
       
      или удалить, что бы было так:
      sql_mode=""
    • Автор: MeinCain
      Доброго времени суток!
       
      Что-то я зачастил с созданием тем, но... В общем, какая-то херь происходит с коннектом к БД. Помогите, пожалуйста, разобраться, что за ерунда!
       
      В общем, сейчас был рестарт и когда зашел на сервер, то ни одной базы не было, ни одной единицы техники. Перезапустил сервер и все стало гут.
       
      То я писал про краш сервера, то про обнуление хумки и мне кажется, что все это как-то связано, так как не смотря на то, что объекты все восстановились сейчас после перезапуска сервера, деньги из некоторых (а может и изо всех) сейфов пропали. Вот лог, который выдал мне RPT:
       
       
      Лог HiveExt (частично вырезал, оставив важное):
       
       
      На всякий случай сам Hive:
       
       
      И конфиг mysql:
       
       
    • Автор: MeinCain
      Доброго времени суток!
       
      Что-то последнее время я зачастил с созданием тем, но вот вопросы подкопились просто.
       
      Подскажите, пожалуйста, можно ли как-то из бд вытащить базы игроков? Например, сделал на сервере вайп, но есть желание сохранить именно базы игроков (обычные, не редакторные). Можно ли как-то такое осуществить? Никто не заморачивался случайно?))
       
      Заранее благодарен за возможную помощь
    • Автор: TheLinsus
      Нашёл батник для создания бэкапа БД с таким кодом:
      @REM *** PARAMETERS/VARIABLES *** SET BackupDir="D:\new" SET mysqldir="C:\xampp\mysql\data\dayz_epoch" SET mysqlschema=dayz_epoch SET mysqlpassword= SET mysqluser=TheLinsus SET housekeepafter=5 For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b) For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a.%%b) set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set datestamp=%date:~10,4%-%date:~4,2%-%date:~7,2%_%hour%%time:~3,2% @REM *** EXECUTION *** @REM Change to mysqldir c: cd %mysqldir% @REM dump/backup ALL database, this is all in one line mysqldump -u %mysqluser% -p%mysqlpassword% --databases %mysqlschema% --routines --events --triggers --quick >%BackupDir%\%mysqlschema%_backup.%datestamp%.sql @REM - Housekeeping forfiles -p %BackupDir% -s -m *.sql -d -%housekeepafter% -c "cmd /c del @path" timeout /t 999 Но почему-то не работает mysqldump. Пишет "mysqldump" не является внутренней или внешней
      командой, исполняемой программой или пакетным файлом. Подскажите, пожалуйста, как делать бэкапы БД или что сделать с батником, шоб работал.
    • Автор: davidx
      Добрый день. создал SQL файл с запросом
       
      BEGIN # Открываем закрытые машины, неактивные более 7 дней UPDATE Object_DATA SET Object_DATA.CharacterID = 0 WHERE Object_DATA.CharacterID <> 0 AND Object_DATA.CharacterID <= 12500 AND Object_DATA.Classname NOT LIKE 'Tent%' AND Object_DATA.Classname NOT LIKE '%Locked' AND Object_DATA.Classname NOT LIKE 'Land%' AND Object_DATA.Classname NOT LIKE 'Cinder%' AND Object_DATA.Classname NOT LIKE 'Wood%' AND Object_DATA.Classname NOT LIKE 'Metal%' AND Object_DATA.Classname NOT LIKE '%Fuel%' AND Object_DATA.Classname NOT LIKE '%Storage%' AND Object_DATA.Classname NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ','BagFenceRound_DZ') and `LastUpdated` < DATE_SUB(NOW() , INTERVAL 7 DAY); #================================================================================================================== # Наносим урон в 50% технике, неиспользуемой более 10 дней UPDATE Object_DATA SET `Damage`=`Damage`+ 0.9 WHERE Object_DATA.CharacterID <> 0 AND Object_DATA.CharacterID <= 12500 AND Object_DATA.Classname NOT LIKE 'Tent%' AND Object_DATA.Classname NOT LIKE '%Locked' AND Object_DATA.Classname NOT LIKE 'Land%' AND Object_DATA.Classname NOT LIKE 'Cinder%' AND Object_DATA.Classname NOT LIKE 'Wood%' AND Object_DATA.Classname NOT LIKE 'Metal%' AND Object_DATA.Classname NOT LIKE '%Fuel%' AND Object_DATA.Classname NOT LIKE '%Storage%' AND Object_DATA.Classname NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ','BagFenceRound_DZ') and `LastUpdated` < DATE_SUB(NOW() , INTERVAL 10 DAY); #================================================================================================================== # Удаляем взорванную или разбитую технику DELETE FROM `object_data` WHERE `Damage` > 0.9; # Удаляем технику без ключей и с пустым инвентарем стоящую более 3 дней DELETE FROM `object_data` WHERE `CharacterID` = 0 AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') OR (`Inventory` = '[[[],[]],[[],[]],[[],[]]]') ) AND Object_DATA.Classname NOT LIKE '%Fuel%' and `LastUpdated` < DATE_SUB(NOW() , INTERVAL 3 DAY); # Удаляем велосипеды, нетронутые более 3 дней DELETE FROM `object_data` WHERE (Classname = "MMT_Civ" or Classname = "Old_bike_TK_INS_EP1") AND DATE(LastUpdated) < CURDATE() - INTERVAL 3 DAY; # Удаляем мёртвых персонажей из базы DELETE FROM `character_data` WHERE Alive = 0; # Удаляем персонажей, незаходивших на сервер более 25 дней DELETE FROM `character_data` WHERE `LastLogin` < DATE_SUB(NOW() , INTERVAL 25 DAY); # Очищаем историю заходов на сервер DELETE FROM `player_login` WHERE DATE(Datestamp) < CURDATE() - INTERVAL 10 DAY; #Наносим дамаг любой технике и постройкам в 10% раз в 2 дня UPDATE `Object_DATA` SET `Damage`=0.1 WHERE `ObjectUID` <> 0 AND `CharacterID` <> 0 AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 2 DAY) AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') ); ===================================================================================================================== # Обновление статуса сейфов и локбоксов до состояния "открыто" (нетронутых болеее 15 дней) UPDATE `object_data` SET `CharacterID` = 0 WHERE (Classname = "VaultStorageLocked" or Classname = "LockboxStorageLocked") and `LastUpdated` < DATE_SUB(NOW() , INTERVAL 15 DAY); #Удаляем товар, лежащий более недели на аукционе DELETE FROM `store` WHERE `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY); END При попытке загрузить в navicat (execute SQL file) выдает ошибки 
      [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UPDATE Object_DATA SET Object_DATA.CharacterID = 0 WHERE Object_DATA.Character' at line 3 [Err] BEGIN и запросы не загружаются. Кто может помочь?
×
×
  • Создать...