Skip to content

Add getPlayerDownloadStatus #4276

Open
Open
@blow1d

Description

@blow1d

Is your feature request related to a problem? Please describe.

The function monitors and returns detailed information about the status of a player's resource (file) download on a server.

  • Tracks files: Monitors which files the player needs to download from the server
  • Measures progress: Calculates how many files have been downloaded vs. total needed
  • Monitors speed: Measures current download speed in bytes/second
  • Estimates time: Calculates remaining time based on current speed

Describe the solution you'd like

The function would return a table with the following information:

{
    -- General download status
    isDownloading = true/false,           -- Whether something is currently downloading
    totalFiles = 10,                      -- Total files to download
    downloadedFiles = 7,                  -- Files already downloaded

    -- Current progress
    currentFile = "models/vehicle.dff",   -- File currently being downloaded
    currentFileSize = 2048000,            -- Current file size (bytes)
    currentFileDownloaded = 1024000,      -- Bytes already downloaded from current file

    -- Total progress
    totalSize = 50000000,                 -- Total size of all downloads (bytes)
    totalDownloaded = 35000000,           -- Total bytes already downloaded

    -- Speed and time
    downloadSpeed = 500000,               -- Current speed (bytes/second)
    estimatedTimeRemaining = 30,          -- Estimated time remaining (seconds)

    -- File list
    fileQueue = {                         -- File queue for download
        "models/vehicle.dff",
        "textures/skin.txd",
        "sounds/engine.wav"
    },

    completedFiles = {                    -- Files already completed
        "scripts/main.lua",
        "images/logo.png"
    },

    -- Error status (if any)
    hasError = false,
    errorMessage = nil,
    failedFiles = {}
}

Describe alternatives you've considered

-- Server-side
table getPlayerDownloadStatus(player thePlayer)

-- Client-side
table getPlayerDownloadStatus()

Additional context

No response

Security Policy

  • I have read and understood the Security Policy and this issue is not about a cheat or security vulnerability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions