Перейти к содержимому
=FB=Vaal

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

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

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

Изменено пользователем dobinmg

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


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

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

Изменено пользователем dobinmg

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


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

в папке с игрой есть ресейвер

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


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

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

Изменено пользователем =E95=DenLarik

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


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

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

 

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

[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


 

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


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

логи

 

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

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

logs.zip

Изменено пользователем adds

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


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

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

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

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


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

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

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

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


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

В startup.cfg

 

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

  • Спасибо! 1
  • Поддерживаю! 1

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


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

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

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


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

Теперь вот

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

[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

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


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

охх надеюсь это последнее

заменить objects.csv и запустить апдейт

objects.zip

  • Спасибо! 1

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


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

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

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

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


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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
  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

 

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

Изменено пользователем =E95=DenLarik

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


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

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

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

 

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


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

загрузка не причем, здесь уже логи нужны

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


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

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

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


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

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

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


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

@=FB=Vaal, вы хотя бы паттерны парсера выкладывайте. Тогда может и продолжим...

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


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

В каком смысле паттерны парсера? 

 

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


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

о, смотри

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$");
}

 

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

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


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

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

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

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

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

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


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

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

  • Нравится 1

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


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

Конкретный вопрос - совместимость с питоном 3.6 есть?

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


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

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

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


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

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

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


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

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

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


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Stremniy сказал:

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

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

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

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

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


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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, Stremniy сказал:

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

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

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

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

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


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

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

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


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

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас

×