Free

Ravn Win Sequence

Ravn Win Sequence

Every arena script ends a round the same way: a chat message and a teleport. This replaces that with a proper end-of-round moment — result headline, the winner, a standings board, and a countdown to whatever comes next.

It is deliberately a single job done well. It does not run your arena, track your scores, or own your game loop. You send it a payload when a round ends and it handles the presentation.

No framework. No database. No dependencies.
Identical on ESX, QBCore, Qbox and fully standalone — it only draws what you send it.

One payload, personalised per player

The overlay works out on its own whether the viewer won, lost or drew, and adjusts the headline, colours and confetti for each player individually. You send the same payload to everyone.

TriggerClientEvent('ravn_winsequence:play', src, {
    title  = 'PISTOL ARENA',
    accent = 'gold',
    winner = { id = 12, name = 'Mikkel', kills = 7 },
    standings = {
        { id = 12, name = 'Mikkel', kills = 7, deaths = 2 },
        { id = 34, name = 'Sofie',  kills = 5, deaths = 4 },
    },
    nextMap = 'School',
})

Or client-side via exports.ravn_winsequence:Play(payload).

It never blocks your players

The overlay takes no NUI focus. Players can still move, shoot and type while it is on screen. That matters for rotating arenas where the next round starts before the overlay finishes.

Features

  • Victory / defeat / draw states, decided per player from the payload
  • Standings board with medal colours, your own row highlighted
  • Animated elimination counter and a live countdown footer
  • Five accent themes, or add your own in the stylesheet
  • “You placed 3rd · 5 kills” chip for players who did not win
  • Confetti only for the actual winner
  • Fully translatable, English included
  • Hides itself if the resource stops, so it can never get stuck on screen

Configurable

Duration and a min/max clamp, standings row count, sorting, accent list, sound cues, and every piece of on-screen text. config.lua and locales/ ship unencrypted so you can edit them.

Install

Two steps. Drop in the folder, then:

ensure ravn_winsequence

Requirements: none.


FAQ

Does it work without a framework?
Yes. It never reads player data, so there is nothing to be compatible with.

Will it block my players from moving?
No. It never takes NUI focus.

Can I use it with my own arena script?
That is what it is for. Any script that knows who won can drive it.

Can I translate it?
Copy locales/en.lua, translate the values, point Config.Locale at it. Missing keys fall back to English.

Does it need a database?
No.

Is the code open?
The Lua is protected through the FiveM asset escrow system. config.lua and the locale files ship unencrypted, and the payload contract is documented in the README and in the code header.

€0.00