Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Нужна помощь?

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

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

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на торговую площадку

    Там вы можете купить
    Всё что касается игровых серверов
RedLink

Логирование

Recommended Posts

Всем привет.

Собственно хочу услышать мнения и варианты.

Как у кого устроено логирование и конкретно чего логирование?

К примеру у меня логируется в отдельные файлы все операции с баблом, операции с сейфами и дверями, смертями, столбами и т.д. По типу как у инфистара.

 

Предлагаю обсудить это и по возможности поделиться своими вариантами.

 

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

Edited by RedLink (see edit history)

Share this post


Link to post
Share on other sites



RedLink А чего там за варианты могут быть? В принципе логгирование нафиг не нужно. т.е. опционально должно быть, но при стабильной работе сервера, должно отключается. т.е. Все блоки логов должны быть в if'ах - if (DEBUG_LELVEL > X) then ... Ну а X - уровень отладки. Нафига дергать файловую систему?

Если что то косячит, или читерят - можно повысить уровень отладки, чтобы больше логировалось инфы. Или задать 0, чтобы ничего лишнего.

А сами логи, еще и от сборки зависят. У меня например покупка в одном файле, продажи в другом. + Есть еще оптовые покупки\продажи...

Все естественно через DLL, в txt файлы. С датой и временем + все логи на яндекс диск, + имена файлов с приставкой - Дата+Время. + Автоочистка логов старше Х дней...

 

Share this post


Link to post
Share on other sites

через DLL это само собой. иначе в отдельный файл не выгрузить.

просто вот думаю что еще можно логировать и на что обращать внимание. в частности логи помогают впоследствии выявлять тех, кто начинает пиздеть что типа ничего не делал и вообще я был в другой части карты, а этот дом/вертолет сам сломался и т.д.

я уже блин даже в некоторых интересных местах триггер поставил, чтоб фиксировал кто и в какое время в него попадал.

 

Share this post


Link to post
Share on other sites

RedLink А оно надо? Проблемы игры, неблагодарное для админов...

А ваще, я те открою страшный секрет богемии_)))

Небольшая ремарка:

Бывает, что отремонченная тачка, у которой осталось пусть и не большое повреждение(похрену сколько - пусть будет 1% какое то колесо там - не суть), вдруг ни с того ни с сего, взрывается с пол тычка....

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

 

А суть она вот в чем:

У техники есть общий запас ХП, а так же массив хитпоинтов.

Если ты полностью новую тачку попробуешь продамажить на 5% командой setDamage 0.05;, а потом пробежишся по хитпоинтам, то они все будут на 5% раздамажены. Логично. Правильно....

Следовало бы предположить, что задумка была такая - общее кол-во ХП вычисляется в % отношении - где кол-во хитпоинтов принимается за 100%.

т.е. - если ХитПоинтов 10, и 1 поврежден на 90%, а остальные 0, то общее повреждение будет расчитано по формуле - (0 + 0...+90)/10 = 9%

А => предпологаем, что при ремонте хитпоинта, должно восстанавливаться и общее повреждение(частично, по той же формуле)

Но тут вмешался кто то левый чувак, и решил, - а ну его на, хрен с ним с общим дамагом... И как итог - даже если ты все модули отремонтишь на 100% - общее ХП так и останется, на том же уровне повреждений.

В эпоче эту дыру заткнули костылем - Если при ремонте хитпоинта, в результате проверки, у тачки все хиты в нули, то ей делают SetDamage 0; - а эта команда удалит и повреждения общего дамага.

Но если кто то, катает на тачке, и даже ремонтит ее время от времени, НО не полностью, то повреждения накапливаются, и результат - ПТЫДЫЩ)))

 

Так что игроки бывает и правы, что "сама по себе шарахнула".

 

 

Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

да это не проблема. в лог пишется когда выходит игрок. привязать например к коду +100-200 метров на проверку игроков рядом с выводом координат и никнейма игроков.

Share this post


Link to post
Share on other sites
В 12.07.2019 в 14:34, RedLink сказал:

да это не проблема. в лог пишется когда выходит игрок. привязать например к коду +100-200 метров на проверку игроков рядом с выводом координат и никнейма игроков.

если бы ещё написанием логов под заказ кто-то занимался)

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 KING324
      Всем привет у меня вопрос есть ли какая нибудь DLL для создания логов в отдельном файле?
    • By dimquea
      Решил выложить в паблик.
      Небольшой клиент-серверный скрипт, выводящий в в серверный лог попытки угона техники.
      Возможности:
      * вывод всех попыток
      * запрет на угон конкретных класснеймов
      * запрет на угон в сейф-зоне (infistar)
       
      Как это выглядит:
      ник && playerUID класснейм && objectID GPS координаты результат [HOTWIRE]: dimquea (**************) BTR90 (*************) at @123123 [123.123,123.123,0.123] - SUCCESS [HOTWIRE]: dimquea (**************) BTR90 (*************) at @123123 [123.123,123.123,0.123] - FAIL [HOTWIRE]: dimquea (**************) BTR90 (*************) at @123123 [123.123,123.123,0.123] - HW-Forbid [HOTWIRE]: dimquea (**************) BTR90 (*************) at @123123 [123.123,123.123,0.123] - Safe-Zone  
      Инструкция подразумевает, что вы знаете где взять fn_selfActions и подобные файлы. И так, поехали:
       
      1) в fn_selfActions.sqf найти
      _Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursortarget, 2, true, true, "", ""]; заменить на
      _Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "custom\hotwire_veh.sqf",_cursortarget, 2, true, true, "", ""]; 2) создать в папке custom файл hotwire_veh.sqf, добавить в него следующий код:
      //////////////////////////////////////////////////////////////////////////////////// // [RU48] Y.O.B.A // https://vk.com/dayz48 // dimquea@gmail.com // skype: dimquea // //////////////////////////////////////////////////////////////////////////////////// private ["_vehicle","_donVeh","_pos","_map","_uid","_class","_removed","_hotw","_id"]; _vehicle = _this select 3; if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_32") , "PLAIN DOWN"]; }; _pos = getPosATL player; _map = mapGridPosition getPos player; _uid = getPlayerUID player; _class = typeOf _vehicle; _id = _vehicle getVariable['ObjectID','0']; _donVeh = ["T90","M1A1","BTR90","BMP2_INS","BMP2_CDF","GAZ_Vodnik_HMG","Su34","F35B","MI24_D","Ka60_GL_PMC","Mi171Sh_rockets_CZ_EP1"]; if (typeOf cursorTarget in _donVeh) exitWith { cutText [("Нельзя взломать.") , "PLAIN DOWN"]; _hotw = "HW-Forbid"; PVDZE_atp = format["[HOTWIRE]: %2 (%3) %4 (%7) at @%6 %5 - %1",_hotw,(name player),_uid,_class,_pos,_map,_id]; publicVariableServer "PVDZE_atp"; }; if (!isNil 'outNow') exitWith { cutText [("Нельзя взламывать в сейф-зоне.") , "PLAIN DOWN"]; _hotw = "Safe-Zone"; PVDZE_atp = format["[HOTWIRE]: %2 (%3) %4 (%7) at @%6 %5 - %1",_hotw,(name player),_uid,_class,_pos,_map,_id]; publicVariableServer "PVDZE_atp"; }; DZE_ActionInProgress = true; {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = 1; _removed = ([player,"ItemHotwireKit",1] call BIS_fnc_invRemove); if (_removed == 1) then { if((random 10) <= 7.5) then { PVDZE_veh_Lock = [_vehicle,false]; if(player distance _vehicle < 10) then { if (local _vehicle) then { PVDZE_veh_Lock spawn local_lockUnlock } else { publicVariable "PVDZE_veh_Lock"; _hotw = "SUCCESS"; PVDZE_atp = format["[HOTWIRE]: %2 (%3) %4 (%7) at @%6 %5 - %1",_hotw,(name player),_uid,_class,_pos,_map,_id]; publicVariableServer "PVDZE_atp"; }; }; } else { cutText [(localize "str_epoch_player_33") , "PLAIN DOWN"]; _hotw = "FAIL"; PVDZE_atp = format["[HOTWIRE]: %2 (%3) %4 (%7) at @%6 %5 - %1",_hotw,(name player),_uid,_class,_pos,_map,_id]; publicVariableServer "PVDZE_atp"; }; }; s_player_lockUnlock_crtl = -1; DZE_ActionInProgress = false;  
      3) поставить +.
       
      done.
       
      UPD 31.05.15: переход на PVDZE_atp, спасибо Golgofinyanin.
×
×
  • 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.