9 сообщений в этой теме

Всем привет.

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

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

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

 

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

 

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

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

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


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


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

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

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

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

 

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


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

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

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

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

 

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


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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

 

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

 

 

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

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


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

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

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


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

RedLink Если еще актуально, то можно вывести лог, который покажет кто пытался выйти рядом с другим игроком. Некоторые "дюпы" по сей день так используют.

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


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

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

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


Ссылка на сообщение
Поделиться на других сайтах
В 12.07.2019 в 14:34, RedLink сказал:

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

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

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


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

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

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

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

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


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

Войти

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


Войти сейчас

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

    • Автор: KING324
      Всем привет у меня вопрос есть ли какая нибудь DLL для создания логов в отдельном файле?
    • Автор: 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 // [email protected] // 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.