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

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

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

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

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

Добрый день. создал 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

и запросы не загружаются. Кто может помочь?

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


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

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

  • 0

у меня эвент не запускается. сервак на платном хосте. бд там же. в навикат пишет что эвент оff

 

Гугл всегда помогает в таких ситуациях.

Заходишь в папку с XAMPP (обычно в корне диска С:), находишь там файл my.ini, в него в раздел [mysqld] вписываешь event_scheduler=ON, чтобы получилось примерно так:

[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql" 
tmpdir = "C:/xampp/tmp" 
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 16M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log_error = "mysql_error.log"
event_scheduler = on

Всё, ивенты включены. Презапускаешь XAMPP и радуешься.

 

По поводу открытия техники. Создаёшь процедуру в твоём Navicat с названием "FindVehicleKeysCount" и таким кодом:

BEGIN
    DECLARE totalKeys INT DEFAULT 0;
    DECLARE keyName VARCHAR(32) DEFAULT "";
    DECLARE keysInChar INT DEFAULT 0;
    DECLARE keysInObj INT DEFAULT 0;

    SET keyName = (CASE
        WHEN `keyId` < 2501 THEN CONCAT('ItemKeyGreen', `keyId`)
        WHEN `keyId` < 5001 THEN CONCAT('ItemKeyRed', `keyId` - 2500)
        WHEN `keyId` < 7501 THEN CONCAT('ItemKeyBlue', `keyId` - 5000)
        WHEN `keyId` < 10001 THEN CONCAT('ItemKeyYellow', `keyId` - 7500)
        WHEN `keyId` < 12501 THEN CONCAT('ItemKeyBlack', `keyId` - 10000)
        ELSE 'ERROR'
    END);

    SET keysInChar = (SELECT COUNT(*) FROM `Character_DATA` WHERE `Alive` = '1' AND (`Inventory` LIKE CONCAT('%', keyName, '%') OR `Backpack` LIKE CONCAT('%', keyName, '%')));
    SET keysInObj = (SELECT COUNT(*) FROM `Object_DATA` WHERE `Inventory` LIKE CONCAT('%', keyName, '%'));

    RETURN (keysInChar + keysInObj);
END

Затем создаёшь ивент с таким кодом:

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

 

???

Profit!

 

Удачи с сервером!

Изменено пользователем TheLinsus (история изменений)

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


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



  • 0

Добрый день. создал 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

и запросы не загружаются. Кто может помочь?

 

Попробуй каждый отдельно запихнуть как Ивент.

Создаёшь например ивент с таким кодом:

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

Потом следующий и так далее по одному.

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


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

кто знает как сделать, чтобы машины от которых был утерян ключ ,открывались после рестарта? пробовал разные варианты. не помогают

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


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

Попробуй каждый отдельно запихнуть как Ивент.

Создаёшь например ивент с таким кодом:

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

Потом следующий и так далее по одному.

у меня эвент не запускается. сервак на платном хосте. бд там же. в навикат пишет что эвент оff

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

    • Автор: Vitalik
      Всем привет ребят,подскажите как сделать запрос в базу данных на удаление палаток которые не используются или с пустым инвентарем и ещё есть такой вопрос,может кто подскажет, слыхал есть такое что после рестарта открывается техника от которой утерян ключ подскажите кто знает как это делается. 
    • Автор: 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
      Доброго времени суток!
       
      Что-то последнее время я зачастил с созданием тем, но вот вопросы подкопились просто.
       
      Подскажите, пожалуйста, можно ли как-то из бд вытащить базы игроков? Например, сделал на сервере вайп, но есть желание сохранить именно базы игроков (обычные, не редакторные). Можно ли как-то такое осуществить? Никто не заморачивался случайно?))
       
      Заранее благодарен за возможную помощь
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.