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

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

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

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

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

Доброго времени суток знатаки. 

 

Подскажите, как прописать Логирование Автомобилей и Строительства в ADM, или новый файл? 

 

Знаю что есть моды для этого дела, но не хочется особо засорять сервер. 

 

Заранее благодарю за ответ. 

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


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

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

  • 0
14 часа назад, 123new сказал:

BorizzK вот так там код задан


modded class CarScript
{
	PluginVehicleLogs m_VehicleLogger = PluginVehicleLogs.Cast(GetPlugin(PluginVehicleLogs));
	bool IsServerSideScript = false;
	
    void CarScript()
    {
		Print("[CarScript Debug] init modded CarScript " + GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") ");
        if (GetGame().IsServer())
        {
			IsServerSideScript = true;
            GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(this.LogPosition, 3, false, true);
        }
    }

	void ~CarScript()
	{
        if (IsServerSideScript)
		{
            LogPosition(false);
		}
	}

    void LogPosition(bool init)
    {
		string msg = "initialized";
		if (!init)
			msg = "saved";

        PluginVehicleLogs m_VehicleLogger = PluginVehicleLogs.Cast(GetPlugin(PluginVehicleLogs));
        m_VehicleLogger.Log(GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);
		Print("[CarScript Debug] bool " + init.ToString() + " " + GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);
    }
}

при деконструкции вызывается функция логирования с запросом инфы из класса, и в 25% случаев он ругается именно на


m_VehicleLogger.Log(GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);
		Print("[CarScript Debug] bool " + init.ToString() + " " + GetDisplayName() + " (" + this + " - pos " + GetPosition() + ") " + msg);

как оказалось - this равно null в некоторых моментах. Логирование хоть в скриптс, хоть в кастомный файл, роли не играет

 

this проверить на NULL никак?

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


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



  • 0

BorizzK сложна)) да и обработка на NULL не даст нужного эффекта, оно тупо логирвоаться не будет) Тут надо играться уже с чем-то еще, например добавлением переменных в класс и кешированием данных в них, как мне кажется.
Также я извращаюсь пока с сохранениями и загрузками транспорта на карте, пришел к выводу что проще оттуда залогировать сохранение авто. Оно, кстати, и корректнее будет таки там. Бонусом к этому определил, что авто не сразу руинятся на карте, а после из спавна на карте, и при загрузке на карте координаты не сбиваются, а вот сами авто походу иногда от текстур или каких-то объектов слегка двигаются, ну и это не мешает им руиниться в 0, после чего через 300 сек (дефолт с тайпс) уходят на ожидание удаления и переспавна на карте

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


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

123new не деконструкция - а деструкция

в деструкторе if (!this) return;

хотя да-  this до окончания работы кода деструктора всегда не NULL

а функция логгирования может отработать и после завершения деструктора

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 07.10.2019 в 16:44, Vladislavfaddeevich сказал:

123new Спасибо, думаю на альтернативе останусь) 

чисто из любопытства, что за альтернатива?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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