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

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

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

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

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

Как сделать глобальную очистку предметов после рестарта?

Здравствуйте,эксперты)

Очень нужна ваша помощь! Делаю дезматч сервер,нужно сделать так что-бы после рестарта удалялись все вещи лежащие на полу кроме палаток ящиков и тд. поставленных игроками!!!

За это все вместе отвечает папка storage_1\data , очень нужно узнать какие именно файлы там отвечают только за лут,что-бы не удалять палатки и тд.

Либо если можно сделать это как-то по другому,подскажите буду очень признателен!

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


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

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

  • 0

это получаеться серверный мод

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


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

modded class ItemBase extends InventoryItem { override void AfterStoreLoad() { super.AfterStoreLoad(); if (DoDelete()) delete this; } private void DoDelete() { EntityAI parent = GetHierarchyParent(); if (parent) { return false; //Если является составной частью инвентаря или аттачментом - не удалять } else if (IsInherited(TentBase)) { TentBase t = TentBase.Cast(this); if (t) { if (t.GetState() == 0) return true; //Если палатка и она свернутся - удалять } } else if (IsInherited(DeployableContainer_Base)) // Barrel_ColorBase, SeaChest, WoodenCrate { return false; //Если бочка или один из ящиков - не удалять } return true; //Остальное удалять } }


modded class ItemBase extends InventoryItem
{
	override void AfterStoreLoad()
	{
		super.AfterStoreLoad();

		if (DoDelete()) delete this;
	}

	private void DoDelete()
	{
		EntityAI parent = GetHierarchyParent();
		if (parent)
		{
			return false; //Если является составной частью инвентаря или аттачментом - не удалять
		}
		else if (IsInherited(TentBase))
		{
			TentBase t = TentBase.Cast(this);
			if (t)
			{
				if (t.GetState() == 0) return true; //Если палатка и она свернутся - удалять
			}
					
		}
		else if (IsInherited(DeployableContainer_Base)) // Barrel_ColorBase, SeaChest, WoodenCrate
		{
			return false; //Если бочка или один из ящиков - не удалять
		}
				
		return true; //Остальное удалять
	}
}

Суть такова
После старта сервера и загрузки предмета из БД сервера всегда выполняется функция AfterStoreLoad()
Мы ее оверрайдим

Внутри сначала вызываем нативную функцию

Затем проверяем через нашу функцию сам предмет

И удаляем если подходит под описание

 

респект за скрипт. Занимательно и полезно для обучения =)

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


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

это получаеться серверный мод

угу

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


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

Здравствуйте, прошу вас о помощи советом и направлении на истину. 
Суть такова я слишком глупый человек и не могу понять куда мне вставлять этот скрипт на своем сервере дабы была очистка лута после рестарта.
Подскажите пожалуйста.?
modded class ItemBase extends InventoryItem { override void AfterStoreLoad() { super.AfterStoreLoad(); if (DoDelete()) delete this; } private void DoDelete() { EntityAI parent = GetHierarchyParent(); if (parent) { return false; //Если является составной частью инвентаря или аттачментом - не удалять } else if (IsInherited(TentBase)) { TentBase t = TentBase.Cast(this); if (t) { if (t.GetState() == 0) return true; //Если палатка и она свернутся - удалять } } else if (IsInherited(DeployableContainer_Base)) // Barrel_ColorBase, SeaChest, WoodenCrate { return false; //Если бочка или один из ящиков - не удалять } return true; //Остальное удалять } }@BorizzK 

31.08.2020 в 17:58, BorizzK сказал:

modded class ItemBase extends InventoryItem { override void AfterStoreLoad() { super.AfterStoreLoad(); if (DoDelete()) delete this; } private void DoDelete() { EntityAI parent = GetHierarchyParent(); if (parent) { return false; //Если является составной частью инвентаря или аттачментом - не удалять } else if (IsInherited(TentBase)) { TentBase t = TentBase.Cast(this); if (t) { if (t.GetState() == 0) return true; //Если палатка и она свернутся - удалять } } else if (IsInherited(DeployableContainer_Base)) // Barrel_ColorBase, SeaChest, WoodenCrate { return false; //Если бочка или один из ящиков - не удалять } return true; //Остальное удалять } }


modded class ItemBase extends InventoryItem
{
	override void AfterStoreLoad()
	{
		super.AfterStoreLoad();

		if (DoDelete()) delete this;
	}

	private void DoDelete()
	{
		EntityAI parent = GetHierarchyParent();
		if (parent)
		{
			return false; //Если является составной частью инвентаря или аттачментом - не удалять
		}
		else if (IsInherited(TentBase))
		{
			TentBase t = TentBase.Cast(this);
			if (t)
			{
				if (t.GetState() == 0) return true; //Если палатка и она свернутся - удалять
			}
					
		}
		else if (IsInherited(DeployableContainer_Base)) // Barrel_ColorBase, SeaChest, WoodenCrate
		{
			return false; //Если бочка или один из ящиков - не удалять
		}
				
		return true; //Остальное удалять
	}
}

Суть такова
После старта сервера и загрузки предмета из БД сервера всегда выполняется функция AfterStoreLoad()
Мы ее оверрайдим

Внутри сначала вызываем нативную функцию

Затем проверяем через нашу функцию сам предмет

И удаляем если подходит под описание

 

 

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


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

Да просто все

делаете свой серверный мод - в него файл в кодировке UTF-8 и с расширением .c

и подключаете на стороне сераера

 

как делать мод и тп - все есть тут на форуме - там все разжевано от и до

 

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

 

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


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

Ток у там в коде ошибка

 

private void DoDelete()

должно быть private bool DoDelete()

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


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

Ток у там в коде ошибка

 

private void DoDelete()

должно быть private bool DoDelete()

Все понятно спасибо большое ) 

 

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


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

Всем привет. А можно данный скрипт использовать для удаление определенного предмета? Например Сундука (SeaChest)
Очень нужен скрипт что бы после запуска сервера удалял с карты определенные предметы.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
7 часов назад, parazitlandry сказал:

Всем привет. А можно данный скрипт использовать для удаление определенного предмета? Например Сундука (SeaChest)
Очень нужен скрипт что бы после запуска сервера удалял с карты определенные предметы.

можно. Но конкретно определенного типа предмета со всей карты или конкретного предмета в конкретной точке карты?

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


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

Друзья, добрый день!

Уже измучился потому что не могу настроить, чтобы брошенный на землю лут удалялся при рестарте.

Я в батник уже что только не прописывал....

 1988650167_.png.19070f463d23f6056f14477df648b570.png

 

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

 

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

Попытался "в тупую" сделать PBO файл с имеющимся тут скриптом

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

Собрал с "миру по нитки инфы" пытался склеить.. но ничего не работает.. ибо я не понимаю что я делаю...

 

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

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


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

....папку бэкап удалять ещё не пробовали при рестарте,кроме всех "бинов"??

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


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

Нет, бекапы не трогал.

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


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

....папку бэкап удалять ещё не пробовали при рестарте,кроме всех "бинов

боюсь они затрут весь лут,..может и нет... попробую потестить..

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

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


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

Друзья, добрый день!

Уже измучился потому что не могу настроить, чтобы брошенный на землю лут удалялся при рестарте.

Я в батник уже что только не прописывал....

 1988650167_.png.19070f463d23f6056f14477df648b570.png

 

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

 

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

Попытался "в тупую" сделать PBO файл с имеющимся тут скриптом

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

Собрал с "миру по нитки инфы" пытался склеить.. но ничего не работает.. ибо я не понимаю что я делаю...

 

Помогите сделать

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
53 минуты назад, 123new сказал:

и не будет работать, сервер

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

Добавил исправленный файл, прописал в

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Рестартнул сервер,

Оружие / одежда брошенные на землю продолжают валяться.

 

Может не туда в батнике поместил?

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

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


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

Добавил исправленный файл, прописал в

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Рестартнул сервер,

Оружие / одежда брошенные на землю продолжают валяться.

 

Может не туда в батнике поместил?

да вроде туда, если строка одна. Сам код я не тестил, разве что код не рабочий изначально.

Ошибки есть в крашлогах может какие?

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 минуты назад, 123new сказал:

да вроде туда, если строка одна. Сам код я не тестил, разве что код не рабочий изначально.

Ошибки есть в крашлогах может какие?

Может ошибка тут ?  private void DoDelete()

 

должно быть private bool DoDelete() ?

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


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

Может ошибка тут ?  private void DoDelete()

 

должно быть private bool DoDelete() ?

молоток, даже не обратил внимание. Попробуй замени, переписал эту

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 часа назад, 123new сказал:

молоток, даже не обратил внимание. Попробуй замени, переписал эту

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Да че т все равно не выходит... мод цепанул, ребутнул серв, выброшенное мной хозяйство как валялось так и валяется)

 

Если я в батнике раскомментирую

 

::del /f/q "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_00*.*"
::del /f/q "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_01*.*

 

то лут пропадет, правда весь, машины здания и так далее)

 

 

что же я не так делаю то...

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

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


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

backup папку удалял?

datacache в профиле еще не поешает

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


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

backup папку удалял?

datacache в профиле еще не поешает

 

Просьба уточнить, чтобы я понял и сделал все правильно:

 

backup совместно с ?

1912005574_.png.4ae53734aa9be4d8800b6c501d0ecef5.png

 

и единоразово? Или добавлять в батник их постоянную очистку?

 

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

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


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

В общем

 

del "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.bin" по 011 удалил

 

Удалил папку backup,

удалил datacache

 

Пока результата нет. Сейчас попробую удалить весь лут., опять все вычистить, заспавнить через админку что-нибудь и еще раз ребутнуть

 

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

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


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

Друзья, в общем результата нет.

 

Я удалил все

del /f/q "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_00*.*"
del /f/q "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_01*.*

 

Далее удалил

del "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\types.*"
del "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\events.*"

 

Удалил еще раз

backup

datacache

 

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

 

Ребутнулся, весь лут пропал. Я заспавнил на земле, ствол, штаны, булылку...

 

далее все выше описанные *DEL в батнике закомментировал, сохранил, пошел ребутаться и надеяться на "-servermod=@My_Server_Mod;" -FilePatching 

 

В итоге весь лут остался на земле... просто дичь какая-то...

 

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

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


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

Друзья, в общем результата нет.

 

Я удалил все

del /f/q "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_00*.*"
del /f/q "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_01*.*

 

Далее удалил

del "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\types.*"
del "D:\Server Dayz\steamapps\common\DayZServer\mpmissions\dayzOffline.chernarusplus\storage_1\data\events.*"

 

Удалил еще раз

backup

datacache

 

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

 

Ребутнулся, весь лут пропал. Я заспавнил на земле, ствол, штаны, булылку...

 

далее все выше описанные *DEL в батнике закомментировал, сохранил, пошел ребутаться и надеяться на "-servermod=@My_Server_Mod;" -FilePatching 

 

В итоге весь лут остался на земле... просто дичь какая-то...

 

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

скажите мне, а как вы тестили вообще сервермод?

348349690_.png.1e8d916f850f38a12756fc2e31eb9a98.png

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
10 минут назад, 123new сказал:

скажите мне, а как вы тестили вообще сервермод?

348349690_.png.1e8d916f850f38a12756fc2e31eb9a98.png

 

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

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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