Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
motocat

Строка в RPT нужна помощь

как отключить эту функцию ? 11:54:26 "Deleting object Offroad_DSHKM_Gue with invalid ID at pos [5000.51,2342.67,0]"

И что вообще её блочит? Подскажите пожалуйста.

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

открываешь server_updateObject.sqf в dayz_server.pbo, находишь эту часть кода:

// delete if still not ok
if (_isNotOk) exitWith {
    deleteVehicle _object;
    diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",typeOf _object,_object_position select 0,_object_position select 1, _object_position select 2]);
};

далее комментируешь как в примере и сохраняешь:

// delete if still not ok
if (_isNotOk) exitWith {
    // deleteVehicle _object;
    // diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",typeOf _object,_object_position select 0,_object_position select 1, _object_position select 2]);
};

учти что такие сбои как у Вас могут возникать из за того что БД не справляется, либо процессор лиюл рейты и.п..

Share this post


Link to post
Share on other sites



  • 0

Зачем отключать вывод в лог подобных сообщений? Очевидно же, что проблема в нерабочем (инвалидном) айди оффроада. Либо поправь ручками в БД этот айди, или полностью удали. Похоже какой-то скрипт криво написан - который их спавнит

Edited by kenguru74 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Зачем отключать вывод в лог подобных сообщений? Очевидно же, что проблема в нерабочем (инвалидном) айди оффроада. Либо поправь ручками в БД этот айди, или полностью удали. Похоже какой-то скрипт криво написан - который их спавнит

мне удаляет машину, которую я не хочу чтобы её удаляло(с миссии до рестарта).

Share this post


Link to post
Share on other sites
  • 0

И? И что ты сделал для того, чтобы её не удалило? Я же тебе пишу: исправь айди этого внедорожника - если он тебе важен и исправь процесс выдачи этого айди в самом скрипте миссии. Иначе проблема так и останется нерешённой..



У тебя там так он выдаётся? У меня, например, в ВАИ так в \dayz_server\WAI\compile\custom_publish_vehicle.sqf

	_vehicle setVariable ["ObjectID","1",true];

Если да, то проблема где-то в другом месте. Ибо айди = 1, это объекты, принадлежащие серверу и имеющиеся до рестарта как раз..

Edited by kenguru74 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

И? И что ты сделал для того, чтобы её не удалило? Я же тебе пишу: исправь айди этого внедорожника - если он тебе важен и исправь процесс выдачи этого айди в самом скрипте миссии. Иначе проблема так и останется нерешённой..

Когда миссию проходишь машина(вся техника) сразу пропадает и выдает в RPT эту строку и я не понял как исправить.. Если оставляю технику в БД то все норм. А мне нужно именно до рестарта. Создатель редактора миссий сказал что это серверная проблема.

Share this post


Link to post
Share on other sites
  • 0

Айди должно быть присваиваться именно 1



Если сервер УДАЛЯЕТ технику с айди = 1, то это поломанный серверный скрипт какой-то - надо будет server_monitor.sqf проверять, server_cleanup.fsm и Бог знает где ещё копать - где поломано (изменённые серверные скрипты)

Но я полагаю - всё же сам скрипт криво выдаёт айди, либо вообще его НЕ выдаёт - поэтому и удаляется техника.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fedotovyasha
      в messages есть такая возможность
      <messages> <!-- This is example message for automatic server termination --> <message> <!-- no delay --> <delay>0</delay> <!-- if the value is larger than 0, then flag Repeat is enabled --> <repeat>0</repeat> <!-- if the value is larger than 0, then flag Countdown is enabled, countdown reaches zero in 10 hours --> <deadline>600</deadline> <!-- disable On connect flag --> <onConnect>0</onConnect> <!-- enable Shutdown flag --> <shutdown>1</shutdown> <!-- message itself with placeholders --> <text>Hello, #name will shutdown in #tmin minutes.</text> </message> </messages> Что лучше и эффективнее будет. Писать свой рестартер с помощью Rcon или будет достаточно messages.xml?
    • By BorizzK
      Есть класс
       
      class LogClass { private FileHandle File; void LogClass() { Print("::: [LogClass] ::: Init :::"); } void ~LogClass() { Print("::: [LogClass] ::: UnInit :::"); } void Save(string FileName, string String) { private int year, month, day, hour, minute, second; Print("::: [LogClass]: Save: " + FileName); if (!FileExist(FileName)) { File = OpenFile(FileName,FileMode.WRITE); } else { File = OpenFile(FileName, FileMode.APPEND); } if ( File == 0 ) { Print("::: [LogClass]: Can not write FileName: " + FileName); Print("::: [LogClass]: May be disk error, file write protected, file busy or FileMode.WRITE disabled (need to specify option -scrAllowFileWrite in server run parameters for enable FileMode.WRITE."); return; } FPrintln(File, DataBase_GetDate() + "," + DataBase_GetTime() + " : " + String); CloseFile(File); } void Rotate(string FileName, int FileNum) { Print("::: [LogClass]: Rotate: " + FileName); if (!FileExist(FileName)) { Print("::: [LogClass]: Rotate: FileName not exists: " + FileName); return; } else { for ( int i = FileNum; i > 0; i-- ) { Print("::: [LogClass]: Rotate: FileName: " + FileName + "." + i); if (FileExist(FileName + "." + i)) { Print("::: [LogClass]: Rotate: DeleteFile: " + FileName + "." + i); DeleteFile(FileName + "." + i); } if (FileExist(FileName + "." + (i - 1))) { Print("::: [LogClass]: Rotate: CopyFile: " + FileName + "." + (i - 1) + " => " + FileName + "." + i); CopyFile(FileName + "." + (i - 1), FileName + "." + i); } } CopyFile(FileName, FileName + ".0"); DeleteFile(FileName); } } static string DataBase_GetDate() { int year, month, day; GetYearMonthDay(year, month, day); string date = day.ToStringLen(2) + "." + month.ToStringLen(2) + "." + year.ToStringLen(2); return date; } static string DataBase_GetTime() { int hour, minute, second; GetHourMinuteSecond(hour, minute, second); string time = hour.ToStringLen(2) + ":" + minute.ToStringLen(2) + ":" + second.ToStringLen(2); return time; } } Мне нужно им пользоваться функциями из него в нескольких местах
      в PlayerBase.c в функциях в классе PlayerBase
      в init.c в функция в классе миссии
      Вопрос как?
       
      В PlayerBase.c
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
      Далее в классе
      ref LogClass Log = new LogClass();
      ну и в функциях
      Log.Save{"путь-имя", данные);
       
      Но после последнего обновления 0.63.149.525
      В init.c
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
      приводит к ошибке - Multiple declaration of class "LogClass"
       
      Can't compile mission init script'!
      $CurrentDir://mpmissions//dayzOffline.chernarusplus//_MOD//LogClass//LogClass.c(1): Multiple declaration of class 'LogClass'
       
      До этого обновления все было норм
      Как быть?
       
       
    • By BorizzK
      Что такое массивы и тп я в целом знаю, но поскольку на c++ и подобном никогда не писал (только в Дейзе столкнулся), то есть некоторое непонимание некоторых принципов работы с массивами в данном случае
       
      Продположим
       
      обявили массив внутри функции
       
      array<string> stringParam;
      // определяем массив текстового типа который живет до завершения работы функции
       
      или
       
      static array<string> stringParam;
      // определяем массив текстового типа который сохраняет в себе данные и после завершения работы функции и при следующем
      вызове функции содержимое массива останется и может быть использовано внутри функции (повторного обьявления массива не произойдет)
       
      string text = "text";
       
      //записываем содержимое переменной text в элемент массива 0
      stringParam.Insert(text);
      //записываем содержимое переменной text  в элемент массива 1, если переменная text пуста в элемент запишется текст NULL
      stringParam.Insert(text, "NULL");
       
      читаем в переменную text элемент массива 1
      string text = stringParam.Get(1);
       
      А вот теперь вопрос
      Как мне изменить эелемент 1 массива?
      stringParam[1] = "блаблабла";
       
      так?
      в теории должно быть так
       
      Это вообще возможно?
       
      И еще про функцию возвращающую результат в качестве массива
       
       array<string> FileRead(string FileName)
       {
        array<string> stringParam;
        string line_content;
         
      .....

        CloseFile(File);
        return stringParam;
       }
       
      Все верно?
       
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.