Есть необходимость вытащить из пары сотен реплеев информацию кто каким героем играл. Нашел библиотеку на php, но с ней так и не смог разобраться. Там можно отследить героя, если он был выбран последним. Если кто то подскажет по какому принциу спец проги под доту определяют какой игрок кем играл и в каком порядке прокачивал способности - буду благодарен.

Информация для тех, кто в этой теме через поиск и в поисках информации. Ниже есть кусок кода, с помощью которого можна записать данные в реплей.
Пока что получилось записать только значения типа Integer.
function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing

    local gamecache g = InitGameCache("Map.w3v")
    call StoreInteger(g, "Map", "winner", 1)
    call TriggerSyncStart()
    call SyncStoredInteger(g, "Map", "winner")
    call TriggerSyncReady()
    call FlushGameCache(g)
    set g = null
    
    call DisplayTextToForce( GetPlayersAll(),"Tried to store info")
    
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
8
В реплее хранится очень много информации, собственно, по нему можно восстановить состояние игры в произвольный момент времени. Но с анализом есть очевидные проблемы - в реплее хранится не само состояние, а, в основном действия игроков. Поэтому, чтобы получить информацию можно записать специальным образом значения в кеш, что будет 100% видно и уникально при парсинге реплея.
Автоматически можно инфу собрать просто последовательно загружая реплеи и смотря пикнутых героев. Можно делать не вручную, а какими-то автоматическими средствами.
11
goodlyhero, в моих влажных мечтах я представил как использую готовый парсер и получаю просто список игроков которые играли и какими героями играли, а оказываеться все куда сложнее.
Буду думать как можно это дело провернуть не пересматривая все реплеи.
32
wetalq, всякие реплей сикер, или айкап умеют парсить репы, там сразу и чат и апм, и прочее.
11
quq_CCCP, с парсингом чата и апм проблем нет, тот парсер на PHP что я нашел это делать умеет. А вот вытащить героя которым играл игрок увы не получаеться. Буду копать документацию к парсеру.
32
wetalq, там передаётся ифа в геймкешь в виде id героя, давно есть список героев и че кто когда.
11
Информация для тех, кто в этой теме через поиск и в поисках информации. Ниже есть кусок кода, с помощью которого можна записать данные в реплей.
Пока что получилось записать только значения типа Integer.
function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing

    local gamecache g = InitGameCache("Map.w3v")
    call StoreInteger(g, "Map", "winner", 1)
    call TriggerSyncStart()
    call SyncStoredInteger(g, "Map", "winner")
    call TriggerSyncReady()
    call FlushGameCache(g)
    set g = null
    
    call DisplayTextToForce( GetPlayersAll(),"Tried to store info")
    
endfunction
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.