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

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

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

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

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

Голову уже сломал как правильно настроить удержание построек.

Используется ли при этом CleanupPlacedAfterDays?

Писал процедуру, постепенно наносящую урон постройкам, старше определённого уровня, как то это работало, но даже после удержания рандомные стены пропадали.

Объясните как правильно реализовать.

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


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

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

  • 0

Голову уже сломал как правильно настроить удержание построек.

Используется ли при этом CleanupPlacedAfterDays?

Писал процедуру, постепенно наносящую урон постройкам, старше определённого уровня, как то это работало, но даже после удержания рандомные стены пропадали.

Объясните как правильно реализовать.

Попробуйте вот так:

 

 

-- ----------------------------
-- Event structure for setDamageOnAge
-- ----------------------------
DROP EVENT IF EXISTS `setDamageOnAge`;
DELIMITER ;;
CREATE EVENT `setDamageOnAge` ON SCHEDULE EVERY 1 DAY COMMENT 'This sets damage on a wall so that it can be maintained' DO UPDATE `Object_DATA` SET `Damage`=0.1 WHERE `ObjectUID` <> 0 AND `CharacterID` <> 0 AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 DAY) AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') )
;
DELIMITER ; 

 

 

 

 

Себе поставил и проблем не знаю  :smile:

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


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

Попробуйте вот так:

 

 

-- ----------------------------
-- Event structure for setDamageOnAge
-- ----------------------------
DROP EVENT IF EXISTS `setDamageOnAge`;
DELIMITER ;;
CREATE EVENT `setDamageOnAge` ON SCHEDULE EVERY 1 DAY COMMENT 'This sets damage on a wall so that it can be maintained' DO UPDATE `Object_DATA` SET `Damage`=0.1 WHERE `ObjectUID` <> 0 AND `CharacterID` <> 0 AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 DAY) AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') )
;
DELIMITER ; 

 

 

 

 

Себе поставил и проблем не знаю  :smile:

CleanupPlacedAfterDays включен?

этот эвент только наносит урон, что позволяет удержать. постройки он не удаляет.

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


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

CleanupPlacedAfterDays включен?

включен

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


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

дописали в init.sqf нужные строчки?

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


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

дописали в init.sqf нужные строчки?

какие? CleanupPlacedAfterDays в HiveExt.ini

 

наверное вопрос решён. буду пробовать.

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

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


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

какие? CleanupPlacedAfterDays в HiveExt.ini

 

наверное вопрос решён. буду пробовать.

да нет же,  строчки в init.sqf там 2 строки отвечают за обслуживание плота

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


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

да нет же,  строчки в init.sqf там 2 строки отвечают за обслуживание плота

DZE_maintainRange и DZE_DamageBeforeMaint. зачем они в init? дефолтные значения из variables вполне устраивают.

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


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

я добавлял просто

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


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

Писал процедуру,

 

Зачем? Если всё есть в папке SQL в предоставляемых серверных файлах с офф форума... писал он. 

 

Стандартная система поддерживания работает на ура. Главное правильно позаливать евенты в БД.

Как их залить правильно я уже писал в теме процедур БД и удаления лишнего транспорта.

Значение: CleanupPlacedAfterDays в трогать вообще не нужно, не надо снимать с него комментирование или лепить значение -1.

 

как правильно настроить

 

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

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

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


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

 

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

ну так скажи тогда как это должно работать?

 

Главное правильно позаливать евенты в БД.

Как их залить правильно я уже писал в теме процедур БД и удаления лишнего транспорта.

Значение: CleanupPlacedAfterDays в трогать вообще не нужно, не надо снимать с него комментирование или лепить значение -1.

чтобы эвент залить, большого ума не надо. ты лучше скажи, какие именно эвенты для этого нужны. setDamageOnAge просто наносит урон, для удержания. как правильно удалять брошенные объекты, вот что меня интересует.

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


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

SetDamageOnAge наносит урон постройкам до тех пор пока не добьёт до конца. Потом в действие вступает евент RemoveDamagedVehicles, который сносит то, что предыдущий евент добил до нуля.

Кроме того, removeObjectOld так же выполняет чистку обьектов, которые не обновлялись 30м столбом в течение месяца.

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


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

 

SetDamageOnAge наносит урон постройкам до тех пор пока не добьёт до конца.

эм. разве команда SET приплюсовывает значение?

а removeObjectOld трёт вообще все записи?

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


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

эм. разве команда SET приплюсовывает значение?

а removeObjectOld трёт вообще все записи?

Set устанавливает.

Хоть минусовое хоть плюсовое по моему.

Без ультимы хрен разберёмся.

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


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

Попробуйте вот так:

 

 

-- ----------------------------
-- Event structure for setDamageOnAge
-- ----------------------------
DROP EVENT IF EXISTS `setDamageOnAge`;
DELIMITER ;;
CREATE EVENT `setDamageOnAge` ON SCHEDULE EVERY 1 DAY COMMENT 'This sets damage on a wall so that it can be maintained' DO UPDATE `Object_DATA` SET `Damage`=0.1 WHERE `ObjectUID` <> 0 AND `CharacterID` <> 0 AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 DAY) AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') )
;
DELIMITER ; 

 

 

 

 

Себе поставил и проблем не знаю  :smile:

1.

(`Inventory` IS NULL) OR (`Inventory` = '[]')

Не будет наносить дамаг, => удалять заброшенные сейфы, ящики, коробки и т.п. в которых есть хоть 1 предмет

2.

`ObjectUID` <> 0 - лишнее, таких объектов быть не должно вообще

3.

`CharacterID` <> 0

не будет наносить урон бесхозной технике => нужен еще 1 эвент, чтоб удалял бесхозную технику, если она не используется больше Х часов.

4. И вообще!

SET `Damage`=0.1

тупо каждый раз установит дамагу в 0.1

Имхо надо то так

SET `Damage`='Damage'+0.1

 

5. по теме - Когда объекту нанесен урон >= 1 - он и так должен удалится. Но можно еще и жвент прицепить -

DELETE FROM object_data WHERE damage >= 1

*кавычки самим поставить... на память вписал.

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


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

 

4. И вообще! SET `Damage`=0.1 тупо каждый раз установит дамагу в 0.1

я так и думал.

 

а вообще твой ответ по исходной теме?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: pekar0201
      При обслуживании (Maintain) построек не только чинятся повреждённые постройки, а и полностью восстанавливаются разрушенные. В том числе и разрушенный плот.
      Как сделать так что-бы разрушенные постройки не восстанавливались сией функцией?

      Эксперементировал с - if (damage > 0.9) then {
      Но ничего не получилось. Может я конечно где-то не там его пихал.

      P.S. Если объяснил не особо доходчиво, то - Как сделать так что-бы постройки нельзя было починить при определённом уровне урона!?

      Вот сам файл "обслуживания (Maintain)" построек:
       

      За помощь\адекватные ответы ставлю + !
    • Автор: rifer
      Всем привет! Стоит 1.0.6.1. Часто начал замечать что по карте спавнятся различные лутабельные постройки, при чем каждый рестарт в разных местах. Я так понял эта генерация вшита в мод. Пробовал найти скрипт в dayz_code - не нашел....  В принципе всё нравится, НО хотелось бы прописать маркера, чтобы они еще и на карте обозначались. Кто знает как решить эту тему?
    • Автор: Tiberian
      Добрый день/утро/ночь/вечер.
      Нигде не нашел и поэтому спрашиваю.
      Как разобрать/демонтировать постройки сделанные в "прошлой жизни"?
      Строил стены, лестницы и в списке действий была такая строка "разобрать...." то-се. Потом убили. Теперь при подходе к постройке такого пункта действия нет, а разобрать нужно. 
      Как быть?
    • Автор: MeinCain
      Доброго и хорошего времени суток всем!
       
      Подскажите, пожалуйста, как сделать возможность разбирать постройки внутри базы для игроков? Ну, там стены, полы и так далее.
    • Автор: AJlex
      Скрин не прикладываю т.к. приложение консольное
      Весь функционал написан в заголовке темы

      Программа считывает все sqf файлы в папке и на выходе создает файл mission.sqf
      Вопрос вначале,создавать готовый файл или нет говорит сам за себя,если выберите да, то файл останется только подключить,если нет то, в файле будет только список объектов

      Для работы нужен net framework 4.5

      Скачать
      VirusTotal
  • Наш выбор

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

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

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

Поддержка