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

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

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

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

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

Есть ли скрипт на удаление закрытой техники после некоторого времени? Тоесть,если техника не открывалась,к примерну,неделю - она будет удалена.

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


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

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

  • 0

BEGIN

# Открываем закрытые машины, неактивные более 14 дней

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

#==================================================================================================================

# Наносим урон в 50% технике, неиспользуемой более 14 дней

UPDATE Object_DATA SET `Damage`=`Damage`+ 0.5

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

 

#==================================================================================================================

 

# Обновление предметов у торговцев до 100

UPDATE `Traders_DATA` SET qty=100 WHERE qty<50;

 

# Удаляем персонажей, незаходивших на сервер более 30 дней

DELETE FROM `character_data` WHERE `LastLogin` < DATE_SUB(NOW() , INTERVAL 30 DAY);

 

# Удаляем мёртвых персонажей из базы

DELETE FROM `character_data` WHERE Alive = 0;

 

# Удаляем взорванную или разбитую технику

DELETE FROM `object_data` WHERE `Damage` > 0.8;

 

# Удаляем технику без ключей и с пустым инвентарем стоящую более 7 дней

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 7 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 `player_login` WHERE DATE(Datestamp) < CURDATE() - INTERVAL 10 DAY;

END

 

 

Создайте функцию Cleanup. Вставьте туда этот код (если нужно-отредактировать под себя).

Добавить в батник запуска параметр

 

echo Очистка базы данных

"i:\xampp\mysql\bin\mysql.exe" -u %dbuser% -p%dbpass% %dbname% --execute="call cleanup()" 

Естественно, исправив пути и имена\пароли на свои. При каждом рестарте будет выполняться данная очистка.

Спасибо.А как не открывать машины после 14 дней,а удалять с базы данных?

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


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





  • 0

Есть ли скрипт на удаление закрытой техники после некоторого времени? Тоесть,если техника не открывалась,к примерну,неделю - она будет удалена.

BEGIN

# Открываем закрытые машины, неактивные более 14 дней

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

#==================================================================================================================

# Наносим урон в 50% технике, неиспользуемой более 14 дней

UPDATE Object_DATA SET `Damage`=`Damage`+ 0.5

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

 

#==================================================================================================================

 

# Обновление предметов у торговцев до 100

UPDATE `Traders_DATA` SET qty=100 WHERE qty<50;

 

# Удаляем персонажей, незаходивших на сервер более 30 дней

DELETE FROM `character_data` WHERE `LastLogin` < DATE_SUB(NOW() , INTERVAL 30 DAY);

 

# Удаляем мёртвых персонажей из базы

DELETE FROM `character_data` WHERE Alive = 0;

 

# Удаляем взорванную или разбитую технику

DELETE FROM `object_data` WHERE `Damage` > 0.8;

 

# Удаляем технику без ключей и с пустым инвентарем стоящую более 7 дней

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 7 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 `player_login` WHERE DATE(Datestamp) < CURDATE() - INTERVAL 10 DAY;

END

 

 

Создайте функцию Cleanup. Вставьте туда этот код (если нужно-отредактировать под себя).

Добавить в батник запуска параметр

 

echo Очистка базы данных

"i:\xampp\mysql\bin\mysql.exe" -u %dbuser% -p%dbpass% %dbname% --execute="call cleanup()" 

Естественно, исправив пути и имена\пароли на свои. При каждом рестарте будет выполняться данная очистка.

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


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

И как должен выглядить батник?

Так:

Start bec.bat
"Expansion\beta\arma2oaserver.exe" -port=2302 "-config=instance_24_Napf\config.cfg" "-cfg=instance_24_Napf\basic.cfg" "-profiles=instance_24_Napf" "-name=instance_24_Napf" "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;"
echo Очистка базы данных
"c:\xampp\mysql\bin\mysql.exe" -u dayz -p123456 dayz_epoch --execute="call cleanup()" 
exit

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


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

 

И как должен выглядить батник?

Так:

Start bec.bat
"Expansion\beta\arma2oaserver.exe" -port=2302 "-config=instance_24_Napf\config.cfg" "-cfg=instance_24_Napf\basic.cfg" "-profiles=instance_24_Napf" "-name=instance_24_Napf" "-mod=@DayZ_Epoch;@DayZ_Epoch_Server;"
echo Очистка базы данных
"c:\xampp\mysql\bin\mysql.exe" -u dayz -p123456 dayz_epoch --execute="call cleanup()" 
exit

батник правильный, а как удалять хз, это всё писал не я, после 14 дней идёт дамаг 50% потом ещё раз и машина удалится

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


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

батник правильный, а как удалять хз, это всё писал не я, после 14 дней идёт дамаг 50% потом ещё раз и машина удалится

Спасибо.

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


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

Надо текстовый документ создать и закинуть в корень игры? Или как-то подругому?

 

МНЕ ОТВЕТИТ КТО НИБУТЬ((( 

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

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


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

 

Создайте функцию Cleanup. Вставьте туда этот код (если нужно-отредактировать под себя). Добавить в батник запуска параметр

 

1. Как создать функцию в PhpMyAdmin?

2. Откуда запускать cleanup в Open Server?

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


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

1. Как создать функцию в PhpMyAdmin?

2. Откуда запускать cleanup в Open Server?

ни кто не знает?

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


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

Может кто SQL запрос напишет для создания функции?

Ну че все молчат? Что моих сообщений не видно?

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


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

phpmyadmin мало кто пользуется. Обычно используют Navicat.
Там function есть и туда заливают. Вот ответ.
Отвечают по возможности, а не каждые 5 минут. У нас тоже дела есть.

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


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

phpmyadmin мало кто пользуется. Обычно используют Navicat.

Там function есть и туда заливают. Вот ответ.

Отвечают по возможности, а не каждые 5 минут. У нас тоже дела есть.

В ПХП тоже функции есть, ну фиг с ним, теперь у меня и навикат есть) Вопрос в том какие параметры использовать?

Там ведь есть предпросмотр SQL запроса на создание функции, выложите кто нить плиз.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • Автор: 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: 123new
      Много вопросов на данную тему наблюдаю от новичков, попробую прояснить немного сей вопрос.
       
      Предположим. что вы уже знаете на каких координатах вам надо спавнить определенное здание или объект\животное\бота, с каким углом поворота. И так. эта тема для вас.
       
      Сразу делаю пометку, метод, который добавили нам разработчики игры в патче 1.15, очень хорошо описал наш товарищ в сообщении форума:
      Рекоммендую вам использовать именно его!
      Ниже опубликованы старые методы.
       
      Если вы с расставили их с модифицированной версии Offline (Offline by Arksenor это называется), то вы получили и нашли код вида:
      GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13260.040039 0.0 3670.984131").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13262.756836 0.0 3645.180176").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13265.441406 0.0 3619.531982").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13268.124023 0.0 3593.995361").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13270.844727 0.0 3568.186523").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13273.514648 0.0 3542.561279").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13276.195313 0.0 3517.048828").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13278.399414 0.0 3496.097900").SetOrientation("-96.000000 0.000000 0.000000"); Здесь (по примеру первой строки) 1 значение в скобках - id постройки/объекта, 2 значение - координаты в формате X Y Z, разделенные пробелом, 3 - значение поворота примерно в том же формате.
      Как это делать в Offline - статья от автора Offine:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Add-custom-objects-to-your-server-or-mission
       
      И так, инструкция:
      1. Добавляем в начало init.c файла в вашей mpmissions следующий код:
      #include "$CurrentDir:mpmissions\dayzOffline.chernarusplus\spawn_buildings.c" 2. Создаем в папке вашей активной mpmissions файлик spawn_buildings.c и заполняем его следующей информацией.
      void SpawnObject( string type, vector position, vector orientation ) { private string NameBlockLog = "[CreateObject] "; private string InfoLog = ""; if(type != "") { auto obj = GetGame().CreateObject( type, "0 0 0" ); if(obj) { if ((position[0] != 0) && (position[1] != 0) && (position[2] != 0)) { obj.SetPosition( position ); obj.SetOrientation( orientation ); obj.Update(); if (obj.CanAffectPathgraph()) { obj.SetAffectPathgraph(true, false); GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj); } InfoLog = "[Type: '" + obj.GetType() + "' Position: '" + obj.GetPosition().ToString() + "' Orientation: '" + obj.GetOrientation().ToString() + "']"; Write_Log(NameBlockLog + " Object has been created successfully! Info " + InfoLog); } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed position. Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed type. Info " + InfoLog); } } void Write_Log(string message) { Print(String(message)); } 3. Открываем созданный нами файл,  и в конце файла дописываем следующее:
      void SpawnAirfeeldBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } void SpawnKrasnoBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } Где после void - название функции идет, а между открытыми скобками вызов спавна самих зданий на указанных координатах.
      На примере 1 строки:
      Land_CementWorks_ExpeditionB - id постройки (type)
      13251.875000 0.0 3748.525879 - координаты в формате X Y Z
      -96.000000 0.000000 0.000000 - значение поворота в формате X Y Z
      Внимание: id постройки и координаты в примере указаны не верные и требуют подключения дополнительной модификации для корректной работы!!! Координаты не соответствуют названию функции!!!
      4. открываем в MpMissions в папке с вашей активной миссией init.c и перед ЗАКРЫВАЮЩЕЙ скобкой '}' дописываем нужную нам функцию (это будет активация спавна на карте):
      SpawnAirfeeldBuildings(); 5. Готово, Запускайте сервер, и в scripts.log вы увидите процедуру спавна ваших зданий и увидите, спавнятся ли они на карте или нет.
      Можно написать конечно и более готовую, универсальную систему спавна на карте со считыванием конфигурации из файла, но я считаю это лишним.
       
      Как заполнить добавленные здания лутом на карте:
      вариант 1:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Enable-loot-for-custom-placed-objects
      вариант 2: вручную заполнить xml-файл  mapgrouppos.xml в mpmssions данными о местоположении зданий, где rpy - значение поворота здания в формате Z Y X
       
      С помощью данной статьи вы можете разместить любой элемент игры(постройку, животное, зомби, бота), доступный к спавну через любую модификацию-админ. панель. Очень полезный мод в этом смысле BuilderItems, с его помощью можно творить поистину интересные локации!
    • Автор: Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
  • Наш выбор

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

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

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