Skip to Content
VLRdevAPI

Replay da Série (Series Replay)

Obtenha a linha do tempo do replay com o kill-feed de cada round - abates com armas e coordenadas espaciais, plantas e desarmes de Spike, ressurreições e ângulos de visão.

series.replay(series_id, game_id) retorna a linha do tempo de replay do kill-feed para cada rodada de um mapa específico dentro de uma série no vlr.gg (aba logs).

Assinatura

series.replay(
    series_id: int,
    game_id: int,
) -> ReplayData

Com acesso curried:

vlrdevapi.series(series_id).replay(game_id: int) -> ReplayData

Parâmetros

Prop

Type

Retorno - ReplayData

Prop

Type

Método auxiliar round(round_number)

ReplayData.round(n) retorna o ReplayRound para uma rodada específica (base 1) ou None caso não haja dados.

ReplayRound

Prop

Type

Assistente loadout_for(player)

ReplayRound.loadout_for(player) aceita um nome de jogador sem distinção entre maiúsculas e minúsculas (ex: 'Derke') ou um player_id numérico, retornando o PlayerRoundLoadout do jogador para aquela rodada, ou None.

PlayerRoundLoadout

Snapshot de economia e armamento na fase de compras de um jogador no início da rodada.

Prop

Type

ReplayEvent

Um evento na linha do tempo da rodada. type é um enum ReplayEventType (KILL, PLANT, DEFUSE, BOOM ou RESURRECT; .value retorna a string em minúsculas e .full_name um rótulo legível); derived: True marca os dois tipos que o vlr.gg não registra como linhas de feed (detonação da spike e ressurreições).

Prop

Type

ReplayActor / ReplayAlivePlayer

Prop

Type

ReplayPlayerRef

Prop

Type

Exemplos

Kill-feed da Rodada 1

import vlrdevapi

replay = vlrdevapi.series.replay(series_id=754737, game_id=283288)
print(f"{replay.team1} vs {replay.team2} ({replay.num_rounds} rounds)")

for ev in replay.round(1).events:
    who = ev.actor.name if ev.actor else "-"
    print(f"{ev.seq}. {ev.seconds}s {ev.type.full_name}: {who}", end="")
    if ev.cause:
        print(f" ({ev.cause})", end="")
    if ev.victim:
        print(f" -> {ev.victim.name}", end="")
    print()

Plantas e detonação da Spike

import vlrdevapi
from vlrdevapi._series.replay.models import ReplayEventType

replay = vlrdevapi.series.replay(series_id=754737, game_id=283288)

for ev in replay.round(14).events:
    if ev.type in (ReplayEventType.PLANT, ReplayEventType.DEFUSE, ReplayEventType.BOOM):
        print(f"{ev.clock or '-'} {ev.type.full_name} no bombsite {ev.site} em ({ev.pos_x}, {ev.pos_y})")

Acesso curried

import vlrdevapi

series = vlrdevapi.series(754737)
replay = series.replay(game_id=283288)
round_1 = replay.round(1)
for ld in round_1.loadouts[:4]:
    print(f"{ld.name} ({ld.agent}): {ld.weapon} + {ld.armor} (${ld.spent} gastos)")

Última atualização em

Nesta página