Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Vitalik

Запрос в БД

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

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 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 ;

Share this post


Link to post
Share on other sites



  • 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 ;

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 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=""
    • By MeinCain
      Доброго времени суток!
       
      Что-то я зачастил с созданием тем, но... В общем, какая-то херь происходит с коннектом к БД. Помогите, пожалуйста, разобраться, что за ерунда!
       
      В общем, сейчас был рестарт и когда зашел на сервер, то ни одной базы не было, ни одной единицы техники. Перезапустил сервер и все стало гут.
       
      То я писал про краш сервера, то про обнуление хумки и мне кажется, что все это как-то связано, так как не смотря на то, что объекты все восстановились сейчас после перезапуска сервера, деньги из некоторых (а может и изо всех) сейфов пропали. Вот лог, который выдал мне RPT:
       
       
      Лог HiveExt (частично вырезал, оставив важное):
       
       
      На всякий случай сам Hive:
       
       
      И конфиг mysql:
       
       
    • By MeinCain
      Доброго времени суток!
       
      Что-то последнее время я зачастил с созданием тем, но вот вопросы подкопились просто.
       
      Подскажите, пожалуйста, можно ли как-то из бд вытащить базы игроков? Например, сделал на сервере вайп, но есть желание сохранить именно базы игроков (обычные, не редакторные). Можно ли как-то такое осуществить? Никто не заморачивался случайно?))
       
      Заранее благодарен за возможную помощь
    • By 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" не является внутренней или внешней
      командой, исполняемой программой или пакетным файлом. Подскажите, пожалуйста, как делать бэкапы БД или что сделать с батником, шоб работал.
    • By 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 и запросы не загружаются. Кто может помочь?
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.