Overview
When a player dies, LenoSpirit Pro clones their ped (same clothes, same face), makes the copy see-through, poses it, and lets it rise from the body while it turns and fades out. Particles and sounds play at the start, along the way, and at the end.
Everything about the look is set from an in-game menu (/spiritadmin). One save applies it to every player straight away.
Features
| Area | Purpose |
|---|---|
| Staff menu | Two cards around your character: pick on the left, tune on the right. Live preview on your own character, Test on me, Save, Discard, Reset defaults |
| Spirit | Rise height, duration, rotation, starting opacity, when the fade starts, remove hats and glasses |
| Poses | 35 tested game poses, plus your own addon animations (checked in game before they can be saved). Start height and rotation per pose |
| Particles | Start burst, trail and end burst, each picked from 2 907 game effects or an addon one. Size, opacity, height, rotation, trail interval |
| Sound | Start and end sound: a game sound (searchable, with Listen) or one of your own .ogg / .mp3 files with a volume |
| Visibility | Only the player who died, or every player nearby |
| Death detection | Native GTA death, ESX / QBCore, or one export from your own script |
| Season | All year, or only during the months you choose (server clock) |
| Player choice | Each player can hide the effect for themselves with /spirit |
| Admin | On · Off · Automatic switch, test command, ACE permissions, hooks |
| Safety | Every staff request is checked again on the server; two staff saving at once can't overwrite each other |
| Backups | Every save keeps the previous config.lua (the last 10) |
| Theme | Menu colours and corner radius in web/theme.css |
| Notifications | GTA feed, ox_lib, okokNotify, QBCore, ESX, or your own function |
| Languages | English and Portuguese included |
Free vs Pro
| LenoSpirit | LenoSpirit Pro | |
|---|---|---|
| Settings | Edit config.lua, restart | In-game menu, live for everyone |
| Poses | 5 | 35, plus addon animations |
| Particles | Base-game effects by name, size and height | Searchable list of 2 907 game effects or addon ones, with opacity and rotation |
| Sounds | GTA sounds by name | Searchable GTA sounds with preview, or your own files |
| Preview | /spirittest | Live preview while you tune, plus /spirittest |
/spiritadmin on | off | Lost on restart | Saved |
| Hooks | — | Server and client hooks |
The Pro uses the same commands and the same ACE as the free version, so it replaces it. Don't run both. See Installation.
How it works
| Part | Where it runs | Why |
|---|---|---|
| Spirit, particles, sound | Each client, locally | No networked entities: nothing to sync, and it works with sv_entityLockdown |
| "I died" message | One event to the server | The server checks the cooldown and hooks, picks the players nearby (same routing bucket) and tells each one to show the spirit |
| Settings | Server, written to config.lua and shared through GlobalState | One source for everyone; clients can't change it |
| Menu save | Server | Checked for the permission, rate-limited, and fully validated before it is applied |
Hide for me (/spirit) | Client KVP | Saved on the player's PC, no database |
The spirit can't be shot, doesn't block bullets, and can't be targeted.
Frameworks
LenoSpirit Pro is standalone. It works on any server with the default native trigger mode.
| Framework | Support |
|---|---|
| Any | triggerMode = 'native': detects the GTA death directly |
| ESX | triggerMode = 'framework': listens to esx:onPlayerDeath |
| QBCore | triggerMode = 'framework': watches metadata.isdead |
| Anything else | Call the Trigger export from your death script. See Exports and Events |
Performance
- Idle: 0.00 ms.
- During the effect: a per-frame loop runs only while a spirit is on screen and stops by itself.
- Big fights:
General.maxSpiritscaps how many spirits one client draws at the same time.
Where to start
- Server owners: Installation and Configuration.
- Staff: User Guide and Commands.
- Developers: Exports and Events.
- Problems: FAQ / Troubleshooting.
