Jump to content
=FB=Vaal

Статистика серверов Ил-2 (неофициальный проект)

Recommended Posts

ТАМ БЫЛО 2 МЕССЕРА. ОДИН СДОХ ОТ ОДНГОГО ПОВРЕЖДЕНИЯ, ДРУГОМУ ДОСТАЛОСЬ 11 ПОВРЕЖДЕНИЙ. ВОЗМОЖНО КОНЕЧНО ЧТО 6 ШВАКОВ ПРИЛЕТЕЛИ в броню...но держала ли броня мессера швак в принципе? вот в чем вопрос.

Edited by dobinmg

Share this post


Link to post
Share on other sites

Еще вопрос Ваалу...существует ли возможность файл .mission переформатировать в бинарный формат минуя пересохранение в редакторе миссий?? так чтобы игра его корректно распознавала?

Edited by dobinmg

Share this post


Link to post
Share on other sites

Что-то у меня логи не пишутся... что-то я забыл включить

Edited by =E95=DenLarik

Share this post


Link to post
Share on other sites

после обновы вот такое случилось:

 

Скрытый текст

[2018.03.15 10:07:06] missionReport(2018-03-14_12-56-19)[0] - processing finished
[2018.03.15 10:07:06] waiting new report...
[2018.03.15 10:22:06] unexpected error
Traceback (most recent call last):
  File "D:\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "D:\il2_stats\src\stats\stats_whore.py", line 69, in main
    online_timestamp = update_online(m_report_files=m_report_files, online_timestamp=online_timestamp)
  File "D:\il2_stats\src\stats\online.py", line 24, in update_online
    data = parse_mission_log_line.parse(line)
  File "D:\il2_stats\src\mission_report\parse_mission_log_line.py", line 231, in parse
    data = atype_handlers[atype_id].match(line.strip()).groupdict()
AttributeError: 'NoneType' object has no attribute 'groupdict'
[2018.03.15 10:22:06] Lock 109642800 released on D:\il2_stats\file.lock
[2018.03.15 11:13:25] Lock 108618832 acquired on D:\il2_stats\file.lock
[2018.03.15 11:13:25] IL2 stats 1.2.19, Python 3.5.2, Django 1.11.11
[2018.03.15 11:13:26] missionReport(2018-03-15_10-15-26)[0] - processing new report
[2018.03.15 11:13:26] unexpected error
Traceback (most recent call last):
  File "D:\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "D:\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\pimpo\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "D:\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore
    m_report.processing(files=m_report_files)
  File "D:\il2_stats\src\mission_report\report.py", line 88, in processing
    data = parse_mission_log_line.parse(line)
  File "D:\il2_stats\src\mission_report\parse_mission_log_line.py", line 231, in parse
    data = atype_handlers[atype_id].match(line.strip()).groupdict()
AttributeError: 'NoneType' object has no attribute 'groupdict'
[2018.03.15 11:13:26] Lock 108618832 released on D:\il2_stats\file.lock
[2018.03.15 11:15:33] Lock 113861712 acquired on D:\il2_stats\file.lock
[2018.03.15 11:15:33] IL2 stats 1.2.19, Python 3.5.2, Django 1.11.11
[2018.03.15 11:15:33] missionReport(2018-03-15_10-15-26)[0] - processing new report
[2018.03.15 11:15:33] unexpected error
Traceback (most recent call last):
  File "D:\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "D:\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\pimpo\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "D:\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore
    m_report.processing(files=m_report_files)
  File "D:\il2_stats\src\mission_report\report.py", line 88, in processing
    data = parse_mission_log_line.parse(line)
  File "D:\il2_stats\src\mission_report\parse_mission_log_line.py", line 231, in parse
    data = atype_handlers[atype_id].match(line.strip()).groupdict()
AttributeError: 'NoneType' object has no attribute 'groupdict'
[2018.03.15 11:15:33] Lock 113861712 released on D:\il2_stats\file.lock
[2018.03.15 11:15:51] Lock 105800784 acquired on D:\il2_stats\file.lock
[2018.03.15 11:15:51] IL2 stats 1.2.19, Python 3.5.2, Django 1.11.11
[2018.03.15 11:15:51] missionReport(2018-03-15_10-15-26)[0] - processing new report
[2018.03.15 11:15:51] unexpected error
Traceback (most recent call last):
  File "D:\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "D:\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\pimpo\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "D:\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore
    m_report.processing(files=m_report_files)
  File "D:\il2_stats\src\mission_report\report.py", line 88, in processing
    data = parse_mission_log_line.parse(line)
  File "D:\il2_stats\src\mission_report\parse_mission_log_line.py", line 231, in parse
    data = atype_handlers[atype_id].match(line.strip()).groupdict()
AttributeError: 'NoneType' object has no attribute 'groupdict'
[2018.03.15 11:15:51] Lock 105800784 released on D:\il2_stats\file.lock


 

Share this post


Link to post
Share on other sites

логи

 

ох, не то... надо из бэкапа выдернуть

а нет, вроде то... какой то из них

logs.zip

Edited by adds

Share this post


Link to post
Share on other sites

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

По поводу того что парсер падает. Патч будет вечером.

Share this post


Link to post
Share on other sites

А что за настройки включают логи?

P.s. Я вчера взял дефолтный sds из папки multiplayer и по нему настраивал. В итоге: логи не пишет, скины все залочены, в миссии отображается кол-во очков. При попытки их убрать миссия завершается сразу после старта.

Share this post


Link to post
Share on other sites

В startup.cfg

 

[KEY = system]
    chatlog = 1
    chatlog_folder = "logs\chat\"
    mission_text_log = 1
    text_log_folder = "logs\txt\"
 

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites

Блиииин. Про это то я и забыл. Игру то полностью переставил на сервере...

Share this post


Link to post
Share on other sites

Теперь вот

Скрытый текст

[2018.03.15 23:24:14] Lock 115270576 acquired on D:\il2_stats\file.lock
[2018.03.15 23:24:14] IL2 stats 1.2.20, Python 3.5.2, Django 1.11.11
[2018.03.15 23:24:14] missionReport(2018-03-15_10-15-26)[0] - processing new report
[2018.03.15 23:24:17] missionReport(2018-03-15_10-15-26)[0] - processing finished
[2018.03.15 23:24:17] missionReport(2018-03-15_11-12-09)[0] - processing new report
[2018.03.15 23:24:19] missionReport(2018-03-15_11-12-09)[0] - processing finished
[2018.03.15 23:24:20] missionReport(2018-03-15_12-13-21)[0] - processing new report
[2018.03.15 23:24:23] missionReport(2018-03-15_12-13-21)[0] - processing finished
[2018.03.15 23:24:23] missionReport(2018-03-15_15-13-33)[0] - processing new report
[2018.03.15 23:24:23] unexpected error
Traceback (most recent call last):
  File "D:\il2_stats\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "D:\il2_stats\src\stats\stats_whore.py", line 62, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\pimpo\AppData\Local\Programs\Python\Python35-32\lib\contextlib.py", line 30, in inner
    return func(*args, **kwds)
  File "D:\il2_stats\src\stats\stats_whore.py", line 159, in stats_whore
    m_report.processing(files=m_report_files)
  File "D:\il2_stats\src\mission_report\report.py", line 109, in processing
    self.events_handlers[atype_id](**data)
  File "D:\il2_stats\src\mission_report\report.py", line 315, in event_game_object
    country_id=country_id, coal_id=coal_id, parent_id=parent_id)
  File "D:\il2_stats\src\mission_report\report.py", line 421, in __init__
    obj = mission.objects[self.log_name]
KeyError: 'botgunner_pe2s87rear'
[2018.03.15 23:24:23] Lock 115270576 released on D:\il2_stats\file.lock

 

log.zip

Share this post


Link to post
Share on other sites

Отлично, спасибо, все отрепортило:thank_you:

Вот бы еще танкистов в стату добавить:crazy:

Share this post


Link to post
Share on other sites

В данный момент можно считать что проект статистики заморожен. Осуществляется только поддержка работоспособности с новыми версиями игры.

Добавление нормальной (а не просто тяп ляп как самолет только на земле) поддержки танков потребует времени которого нет.

Share this post


Link to post
Share on other sites
  File "F:\www\il2stat.aviaskins.com\src\mission_report\report.py", line 482, in __init__
    obj = mission.objects[self.log_name]
KeyError: 'dshk g5 turret'
[2018.03.15 22:16:00] Lock 82278944 released on F:\www\il2stat.aviaskins.com\file.lock

 

Нет такого объекта

Edited by =E95=DenLarik

Share this post


Link to post
Share on other sites

Еще, загрузка видать

zation
[2018.03.15 23:02:46] unexpected error
Traceback (most recent call last):
  File "F:\www\il2stat.aviaskins.com\src\stats\management\commands\stats_whore.py", line 16, in handle
    stats_whore.main()
  File "F:\www\il2stat.aviaskins.com\src\stats\stats_whore.py", line 69, in main
    stats_whore(m_report_file=m_report_file)
  File "C:\Users\il2_gagarin\AppData\Local\Programs\Python\Python36\Lib\contextlib.py", line 52, in inner
    return func(*args, **kwds)
  File "F:\www\il2stat.aviaskins.com\src\stats\stats_whore.py", line 176, in stats_whore
    m_report.processing(files=m_report_files)
  File "F:\www\il2stat.aviaskins.com\src\mission_report\report.py", line 109, in processing
    self.events_handlers[atype_id](**data)
  File "F:\www\il2stat.aviaskins.com\src\mission_report\report.py", line 359, in event_player
    cartridges=cartridges, shells=shells, bombs=bombs, rockets=rockets)
  File "F:\www\il2stat.aviaskins.com\src\mission_report\report.py", line 763, in __init__
    raise ValueError('sortie: unplayable object')
ValueError: sortie: unplayable object
[2018.03.15 23:02:46] Lock 82278944 released on F:\www\il2stat.aviaskins.com\file.lock

 

Share this post


Link to post
Share on other sites

Больше не у кого спросить - есть какая-то причина, по которой убрали из логов информацию об оружии и модификациях ?

Share this post


Link to post
Share on other sites

Похоже что позапаре. В след версии должны вернутся.

Share this post


Link to post
Share on other sites

о, смотри

package ru.blgroup.manager.parser.model;

import java.util.regex.Pattern;

public interface AType {

    Pattern TYPE_INDEX = Pattern.compile("^T:\\d+\\sAType:(?<type>\\d{1,2})\\s*");
    //# старт миссии
    //# T:0 AType:0 GDate:1942.9.19 GTime:14:0:0 MFile:Multiplayer/Dogfight\result.msnbin MID: GType:2 CNTRS:0:0,101:1,201:2
    //# SETTS:000000000010000100000000110 MODS:0 PRESET:0 AQMID:0 ROUNDS: 1 POINTS: 15000
    //    atype_0 = re.compile('^T:(?P<tik>\d+) AType:0 GDate:(?P<date>(\d{4}.\d{1,2}.\d{1,2} GTime:\d{1,2}:\d{1,2}:\d{1,2})) '
    //'MFile:(?P<file_path>.+) MID:\d* GType:(?P<game_type_id>\d+) CNTRS:(?P<countries>[,:\d]+) '
    //'SETTS:(?P<settings>\d+) MODS:(?P<mods>\d) PRESET:(?P<preset_id>\d)')
    Pattern START_MISSION = Pattern.compile("^T:(?<tik>\\d+)\\sAType:0\\s" +
            "GDate:(?<date>\\d{4}.\\d{1,2}.\\d{1,2})\\sGTime:(?<time>\\d{1,2}:\\d{1,2}:\\d{1,2})\\s" +
            "MFile:(?<filePath>.+)\\sMID:(?<mid>\\d*)\\sGType:(?<gameTypeId>\\d+)\\sCNTRS:(?<countries>[,:\\d]+)\\s" +
            "SETTS:(?<settings>\\d+)\\sMODS:(?<mods>\\d)\\sPRESET:(?<presetId>\\d)");
    //# попадание пули/бомбы в объект
    //# T:63164 AType:1 AMMO:BULLET_GER_792x57_SS AID:138247 TID:59392
    //    atype_1 = re.compile('^T:(?P<tik>\d+) AType:1 AMMO:(?P<ammo>[-\w]+) AID:(?P<attacker_id>\d+) TID:(?P<target_id>\d+)$')
    Pattern HITTING = Pattern.compile("^T:(?<tik>\\d+)\\sAType:1\\sAMMO:(?<ammo>[-\\w]+)\\s" +
            "AID:(?<attackerId>\\d+)\\sTID:(?<targetId>\\d+)$");
    //# повреждение (дамаг может быть отрицательным - баг?)
    //# T:524734 AType:2 DMG:0.007 AID:172089 TID:133194 POS(23876.303,119.281,28392.604)
    //# atype_2 = parse_tpl('T:<tik> AType:2 DMG:<damage> AID:<attacker_id> TID:<target_id> POS(<pos>)')
    //    atype_2 = re.compile('^T:(?P<tik>\d+) AType:2 DMG:(?P<damage>\S{5,6}) AID:(?P<attacker_id>[-\d]+) '
    //'TID:(?P<target_id>[-\d]+) POS\((?P<pos>.+)\)$')
    Pattern DAMAGE = Pattern.compile("^T:(?<tik>\\d+)\\sAType:2\\sDMG:(?<damage>\\S{5,6})\\s" +
            "AID:(?<attackerId>[-\\d]+)\\sTID:(?<targetId>[-\\d]+)\\sPOS\\((?<pos>.+)\\)$");
    //# убийство/смерть
    //# T:26383 AType:3 AID:107527 TID:106497 POS(25131.697,744.438,23284.689)
    //    atype_3 = re.compile('^T:(?P<tik>\d+) AType:3 AID:(?P<attacker_id>[-\d]+) '
    //'TID:(?P<target_id>[-\d]+) POS\((?P<pos>.+)\)$')
    Pattern KILL = Pattern.compile("^T:(?<tik>\\d+)\\sAType:3\\sAID:(?<attackerId>[-\\d]+)\\s" +
            "TID:(?<targetId>[-\\d]+)\\sPOS\\((?<pos>.+)\\)$");
    //# конец вылета
    //# T:27071 AType:4 PLID:106497 PID:107521 BUL:869 SH:0 BOMB:0 RCT:0 (25727.014,57.894,23335.092)
    //    atype_4 = re.compile('^T:(?P<tik>\d+) AType:4 PLID:(?P<aircraft_id>\d+) PID:(?P<bot_id>\d+) BUL:(?P<cartridges>\d+) '
    //'SH:(?P<shells>\d+) BOMB:(?P<bombs>\d+) RCT:(?P<rockets>\d+) \((?P<pos>.+)\)$')
    Pattern END_FLY = Pattern.compile("^T:(?<tik>\\d+)\\sAType:4\\sPLID:(?<playerId>\\d+)\\sPID:(?<botId>\\d+)\\s" +
            "BUL:(?<bullets>\\d+)\\sSH:(?<shells>\\d+)\\sBOMB:(?<bombs>\\d+)\\sRCT:(?<rockets>\\d+)\\s\\((?<pos>.+)\\)$");
    //# взлет (скорость больше чего то и высота больше 50 м)
    //# T:16960 AType:5 PID:109572 POS(23800.740, 116.003, 28128.986)
    //    atype_5 = re.compile('^T:(?P<tik>\d+) AType:5 PID:(?P<aircraft_id>\d+) POS\((?P<pos>.+)\)$')
    Pattern TAKEOFF = Pattern.compile("^T:(?<tik>\\d+)\\sAType:5\\sPID:(?<playerId>\\d+)\\sPOS\\((?<pos>.+)\\)$");
    //# приземление
    //# T:27080 AType:6 PID:106497 POS(25729.223, 58.303, 23334.037)
    //    atype_6 = re.compile('^T:(?P<tik>\d+) AType:6 PID:(?P<aircraft_id>\d+) POS\((?P<pos>.+)\)$')
    Pattern LANDING = Pattern.compile("^T:(?<tik>\\d+)\\sAType:6\\sPID:(?<playerId>\\d+)\\sPOS\\((?<pos>.+)\\)$");
    //# завершение миссии
    //# T:525287 AType:7
    //    atype_7 = re.compile('^T:(?P<tik>\d+) AType:7$')
    Pattern END_MISSION = Pattern.compile("^T:(?<tik>\\d+)\\sAType:7\\s$");
    //# статус какой-то задачи в миссии
    //# T:3745 AType:8 OBJID:102 POS(37286.734,0.000,18839.822) COAL:1 TYPE:0 RES:1 ICTYPE:0
    //    atype_8 = re.compile('^T:(?P<tik>\d+) AType:8 OBJID:(?P<object_id>\d+) POS\((?P<pos>.+)\) COAL:(?P<coal_id>\d) '
    //'TYPE:(?P<task_type_id>\d+) RES:(?P<success>\d) ICTYPE:(?P<icon_type_id>[\-\d]+)$')
    Pattern TASK_STATUS = Pattern.compile("^T:(?<tik>\\d+)\\sAType:8\\sOBJID:(?<objectId>\\d+)\\sPOS\\((?<pos>.+)\\)\\s" +
            "COAL:(?<coalId>\\d)\\sTYPE:(?<taskTypeId>\\d+)\\sRES:(?<success>\\d)\\sICTYPE:(?<iconTypeId>[\\-\\d]+)$");
    //# инфа об аэродроме и какой самолет к нему привязан
    //# T:10 AType:9 AID:13312 COUNTRY:501 POS(30178.900, 66.126, 25254.000) IDS()
    //# T:10 AType:9 AID:22528 COUNTRY:101 POS(97874.656, 90.384, 141539.406) IDS(0,0,0)
    //# T:10 AType:9 AID:150527 COUNTRY:201 POS(144322.453, 82.669, 259528.047) IDS(-1,-1,-1)
    //    atype_9 = re.compile('^T:(?P<tik>\d+) AType:9 AID:(?P<airfield_id>\d+) COUNTRY:(?P<country_id>\d{1,3}) '
    //'POS\((?P<pos>.+)\) IDS\((?P<aircraft_id_list>[,\-\d]*)\)$')
    Pattern AIRFIELD_INFO = Pattern.compile("^T:(?<tik>\\d+)\\sAType:9\\sAID:(?<airfieldId>\\d+)\\s" +
            "COUNTRY:(?<countryId>\\d{1,3})\\sPOS\\((?<pos>.+)\\) IDS\\((?<playerIdList>[,\\-\\d]*)\\)$");
    //# респаун игрока (INAIR: 0 - в воздухе, 1 - с полосы (двигатель вкл), 2 - со стоянки
    //# T:2186 AType:10 PLID:105480 PID:106504 BUL:1000 SH:0 BOMB:0 RCT:0 (24602.203,38.541,22096.617)
    //# IDS:94adf9ab-11f1-47cb-a4eb-7a95321499bb LOGIN:da3ebe2b-cfe8-4d72-b0b6-ac4577857c34 NAME:WilWil
    //# TYPE:Sopwith Camel COUNTRY:101 FORM:0 FIELD:24576 INAIR:0 PARENT:-1
    //# PAYLOAD:2 FUEL:0.120 SKIN:bristolf2bf2/f2bf2_def.dds WM:3
    //    atype_10 = re.compile('^T:(?P<tik>\d+) AType:10 PLID:(?P<aircraft_id>\d+) PID:(?P<bot_id>\d+) BUL:(?P<cartridges>\d+) '
    //'SH:(?P<shells>\d+) BOMB:(?P<bombs>\d+) RCT:(?P<rockets>\d+) \((?P<pos>.+)\) '
    //'IDS:(?P<profile_id>[-\w]{36}) LOGIN:(?P<account_id>[-\w]{36}) NAME:(?P<name>.+) '
    //'TYPE:(?P<aircraft_name>[\w\(\) .\-_]+) COUNTRY:(?P<country_id>\d{1,3}) FORM:(?P<form>\d+) '
    //'FIELD:(?P<airfield_id>\d+) INAIR:(?P<airstart>\d) PARENT:(?P<parent_id>[-\d]+) '
    //'PAYLOAD:(?P<payload_id>\d+) FUEL:(?P<fuel>\S{5,6}) '
    //'SKIN:(?P<skin>[\S ]*) WM:(?P<weapon_mods_id>\d+)$')
    Pattern PLAYER_RESPAWN = Pattern.compile("^T:(?<tik>\\d+)\\sAType:10\\sPLID:(?<playerId>\\d+)\\s" +
            "PID:(?<botId>\\d+)\\sBUL:(?<bullets>\\d+) " +
            "SH:(?<shells>\\d+)\\sBOMB:(?<bombs>\\d+)\\sRCT:(?<rockets>\\d+)\\s\\((?<pos>.+)\\)\\s" +
            "IDS:(?<profileId>[-\\w]{36})\\sLOGIN:(?<accountId>[-\\w]{36})\\sNAME:(?<name>.+)\\s" +
            "TYPE:(?<aircraftName>[\\w\\(\\) .\\-_]+)\\sCOUNTRY:(?<countryId>\\d{1,3})\\sFORM:(?<form>\\d+)\\s" +
            "FIELD:(?<airfieldId>\\d+)\\sINAIR:(?<airstart>\\d)\\sPARENT:(?<parentId>[-\\d]+)\\s" +
            "PAYLOAD:(?<payloadId>\\d+)\\sFUEL:(?<fuel>\\S{5,6})\\s" +
            "SKIN:(?<skin>[\\S ]*)\\sWM:(?<weaponModsId>\\d+)$");
    //# группа объектов, с лидером и список членов
    //# T:1 AType:11 GID:115711 IDS:17407,26623,35839 LID:17407
    //    atype_11 = re.compile('^T:(?P<tik>\d+) AType:11 GID:(?P<group_id>\d+) '
    //'IDS:(?P<members_id>[,\d]*) LID:(?P<leader_id>\d+)$')
    Pattern GROUP_OBJECTS = Pattern.compile("^T:(?<tik>\\d+)\\sAType:11 GID:(?<groupId>\\d+)\\s" +
            "IDS:(?<membersId>[,\\d]*)\\sLID:(?<leaderId>\\d+)$");
    //# респаун какого-то игрового объекта
    //# T:504220 AType:12 ID:410733 TYPE:Sopwith Camel COUNTRY:102 NAME:noname PID:-1
    //# T:53 AType:12 ID:61440 TYPE:bridge_big_1[265,1] COUNTRY:201 NAME:Bridge PID:-1
    //# T:48738 AType:12 ID:649216 TYPE:static_zis[-1,-1] COUNTRY:101 NAME:Block PID:-1
    //# T:171760 AType:12 ID:1266700 TYPE:CParachute_1266700 COUNTRY:101 NAME:CParachute_1266700 PID:-1
    //    atype_12 = re.compile('^T:(?P<tik>\d+) AType:12 ID:(?P<object_id>\d+) '
    //'TYPE:(?P<object_name>[ .\'\-\w\(\)]*)(\[-?\d+,-?\d+\])* '
    //'COUNTRY:(?P<country_id>\d{1,3}) NAME:(?P<name>.*) PID:(?P<parent_id>[-\d]+)$')
    Pattern OBJECT_RESPAWN = Pattern.compile("^T:(?<tik>\\d+)\\sAType:12\\sID:(?<objectId>\\d+)\\s" +
            "TYPE:(?<type>[ .\\'\\-\\w\\(\\)]*)(?<count>\\[-?\\d+,-?\\d+\\])*\\s" +
            "COUNTRY:(?<countryId>\\d{1,3})\\sNAME:(?<name>.*)\\sPID:(?<parentId>[-\\d]+)$");
    //# зона, количество самолетов в воздухе для каждой коалиции (0, 1, 2, 3, 4, 5, 6, 7) находящихся в данный момент в зоне
    //# T:0 AType:13 AID:39936 COUNTRY:501 ENABLED:1 BC(0,0,0,0,0,0,0,0)
    //    atype_13 = re.compile('^T:(?P<tik>\d+) AType:13 AID:(?P<area_id>\d+) COUNTRY:(?P<country_id>\d{1,3}) '
    //'ENABLED:(?P<enabled>\d) BC\((?P<in_air>[,\d]+)\)$')
    Pattern AIRCRAFT_IN_ZONE = Pattern.compile("^T:(?<tik>\\d+)\\sAType:13\\sAID:(?<areaId>\\d+)\\s" +
            "COUNTRY:(?<countryId>\\d{1,3})\\sENABLED:(?<enabled>\\d)\\sBC\\((?<inAir>[,\\d]+)\\)$");
    //# границы зоны, список вершин зоны (произвольный многоугольник)
    //# T:1 AType:14 AID:39936 BP((26968.0,74.3,22949.0),(30848.0,74.3,23891.0),(35717.0,74.3,23876.0),(55007.0,74.3,15026.0),
    //# (55001.0,74.3,55020.0),(-5018.0,74.3,55042.0),(-4991.0,74.3,34620.0),(2552.0,74.3,34401.0),(8185.0,74.3,29341.0),
    //# (17968.0,74.3,26690.0),(21055.0,74.3,27434.0),(22561.0,74.3,24669.0),(25287.6,74.3,24965.3))
    //    atype_14 = re.compile('^T:(?P<tik>\d+) AType:14 AID:(?P<area_id>\d+) BP(?P<boundary>[-,\(\)\.\d]+)$')
    Pattern BOUNDARY_ZONE = Pattern.compile("^T:(?<tik>\\d+)\\sAType:14\\sAID:(?<areaId>\\d+)\\sBP(?<boundary>[-,\\(\\)\\.\\d]+)$");
    //# версия системы логов?
    //# T:0 AType:15 VER:17
    //    atype_15 = re.compile('^T:(?P<tik>\d+) AType:15 VER:(?P<version>\d+)$')
    Pattern LOG_VERSION = Pattern.compile("^T:(?<tik>\\d+)\\sAType:15\\sVER:(?<version>\\d+)$");
    //# утилизация объекта?
    //# T:32497 AType:16 BOTID:108551 POS(23899.598,154.684,20580.168)
    //    atype_16 = re.compile('^T:(?P<tik>\d+) AType:16 BOTID:(?P<bot_id>\d+) POS\((?P<pos>.+)\)$')
    Pattern DISPOSAL_OBJECT = Pattern.compile("^T:(?<tik>\\d+)\\sAType:16\\sBOTID:(?<botId>\\d+)\\sPOS\\((?<pos>.+)\\)$");
    //# текущая позиция объекта
    //# T:58 AType:17 ID:107519 POS(39013.016,45.535,16807.107)
    //    atype_17 = re.compile('^T:(?P<tik>\d+) AType:17 ID:(?P<object_id>\d+) POS\((?P<pos>.+)\)$')
    Pattern POS_OBJECT = Pattern.compile("^T:(?<tik>\\d+)\\sAType:17\\sID:(?<objectId>\\d+)\\sPOS\\((?<pos>.+)\\)$");
    //# прыжок?
    //# T:68207 AType:18 BOTID:1662987 PARENTID:1661963 POS(103313.617,358.759,168764.578)
    //    atype_18 = re.compile('^T:(?P<tik>\d+) AType:18 BOTID:(?P<bot_id>\d+) '
    //'PARENTID:(?P<parent_id>[-\d]+) POS\((?P<pos>.+)\)$')
    Pattern SKYDIVING = Pattern.compile("^T:(?<tik>\\d+)\\sAType:18\\sBOTID:(?<botId>\\d+)\\sPARENTID:(?<parentId>[-\\d]+)\\sPOS\\((?<pos>.+)\\)$");
    //# конец раунда
    //# T:706771 AType:19
    //    atype_19 = re.compile('^T:(?P<tik>\d+) AType:19$')
    Pattern END_ROUND = Pattern.compile("^T:(?<tik>\\d+)\\sAType:19$");
    //# вход игрока
    //# T:2126 AType:20 USERID:3cf05e60-809a-4c12-bfa4-832f6d282f0d USERNICKID:19ce5f28-1bd6-4116-9e5e-fbe1cb955da3
    //atype_20 = re.compile('^T:(?P<tik>\d+) AType:20 USERID:(?P<account_id>[-\w]{36}) USERNICKID:(?P<profile_id>[-\w]{36})$')
    Pattern ENTRANCE_PLAYER = Pattern.compile("^T:(?<tik>\\d+)\\sAType:20\\sUSERID:(?<accountId>[-\\w]{36})\\sUSERNICKID:(?<profileId>[-\\w]{36})$");
    //# выход игрока
    //# T:18573 AType:21 USERID:d5bc9e4c-055c-46c2-8ace-8a7daa9eed4a USERNICKID:e608236e-332a-4843-8421-8e013c59685f
    //atype_21 = re.compile('^T:(?P<tik>\d+) AType:21 USERID:(?P<account_id>[-\w]{36}) USERNICKID:(?P<profile_id>[-\w]{36})$')
    Pattern EXIT_PLAYER = Pattern.compile("^T:(?<tik>\\d+)\\sAType:21\\sUSERID:(?<accountId>[-\\w]{36})\\sUSERNICKID:(?<profileId>[-\\w]{36})$");
    //POS(103313.617,358.759,168764.578)
    Pattern POSITION = Pattern.compile("(?<x>[.\\d]+),\\s*(?<y>[.\\d]+),\\s*(?<z>[.\\d]+)");
    //missionReport(2017-12-31_03-24-29)[0].txt
    Pattern FILE_NAME = Pattern.compile("^missionReport\\((?<time>[\\-_\\d]+)\\)\\[(?<num>\\d{1,4})\\].txt$");
}

 

 без ваших мудрых слов, я ничего не смогу

Share this post


Link to post
Share on other sites

Я вижу тут регулярки которые из питона в яву перевели.

В чем вопрос то?

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

Если все равно непонятно что есть что, спрашивай конкретно.

Share this post


Link to post
Share on other sites

Вопрос  в том, что бы не отстать от вас. Я питон тяжело понимаю. Танки то ерунда, было бы желание....

  • Like 1

Share this post


Link to post
Share on other sites

Да можно 3.6 и 3.7. У питона хорошая совместимость между версиями (за исключением ситуации между 2й и 3й версией)

Share this post


Link to post
Share on other sites

Да, на 3.6 совместимость потдверждаю. Выпилить, зачистить, поставить с нуля - работает. Как автомат калашникова. А то старая питонья шкура присохла где-то в venv, видимо :)

Share this post


Link to post
Share on other sites

Подскажите, пожалуйста, при помощи какого MCU или каким либо другим способом, я могу записать в лог миссии наступление какого-либо события? Предположим, самолет влетел в чек-зону. Я хочу получить об этом уведомление в лог-файле. Транслятор Mission Objective не пишет в лог ничего.

Share this post


Link to post
Share on other sites
2 минуты назад, Stremniy сказал:

Подскажите, пожалуйста, при помощи какого MCU или каким либо другим способом, я могу записать в лог миссии наступление какого-либо события? Предположим, самолет влетел в чек-зону. Я хочу получить об этом уведомление в лог-файле. Транслятор Mission Objective не пишет в лог ничего.

Пишет. Его надо "дёрнуть" из логики миссии. Можно для верности проверить с субтитром - прицепить рядом с обжективом субтитр и посмотреть, сработает ли он.

Вдобавок, теперь при срабатывании появляется надпись "Задача №6 выполнена" или что-то в этом духе.

В логах искать AType:8 - это оно.

Share this post


Link to post
Share on other sites

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

Это самый простой способ записать в лог? MCU:Log("tra-la-la") не существует?

Share this post


Link to post
Share on other sites
4 минуты назад, Stremniy сказал:

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

Это самый простой способ записать в лог? MCU:Log("tra-la-la") не существует?

Конкретно, что нужно?

Узнать через лог, что в чек-зоне кто-то был? Шоза тра-ла-ла?

Share this post


Link to post
Share on other sites

Хотелось бы передать в лог собственные данные. Код события.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...