<!-- fivemad.com, Markdown source of https://fivemad.com/docs/tools/screen-effects -->
> Source: https://fivemad.com/docs/tools/screen-effects
> Section: Tools
> Tags: timecycle, animpostfx, postfx, screen effects, lua
> Tool: https://fivemad.com/tools/screen-effects
> Last updated: 2026-09-25
> Site map for assistants: https://fivemad.com/llms.txt

# Screen Effects Browser

Find the right GTA V timecycle modifier or animpostfx effect, see what it does before you try it, and copy the Lua that switches it on.

The Screen Effects Browser lists every named screen effect the game ships: 1,101 timecycle
modifiers and 252 animpostfx effects. Each one has a before and after preview you can drag, the
exact values it sets, and ready Lua.

Every snippet block on this page has a **Lua / JS / TS / C#** switcher in its corner. The choice is remembered across the site, and [the runtimes page](/docs/development/runtimes) explains what changes between them.

## The two tabs

**Timecycle modifiers** are named sets of overrides on the lighting and the screen: light and
ambient colour, fog, exposure, the tone curve, colour correction, vignette, grain, blur and so on.
You switch one on and it stays on until you clear it. Most interiors, drunk and drugged states and
"this area feels different" effects on a server are a timecycle modifier.

**animpostfx** effects are stacks of those modifiers with timing on top. Each layer has a start
delay, a fade in, a hold and a fade out, and the stack can loop. The character switch flash, the
death fade and the race boost streaks are animpostfx.

## Finding one

- The search box matches the name, and for timecycle modifiers also the file it comes from. For
  animpostfx it also matches the modifiers the effect plays, so searching `nightvision` finds the
  effects that use it.
- The dropdown filters by source file for timecycle modifiers, or by a rough family (character
  switch, drugs, racing, damage, vision modes) for animpostfx.
- The three buttons on the right switch the viewpoint every card is rendered from: a city street,
  a shop interior and a view over the city. Interior lighting values show up best on the interior
  view, fog and far clip on the landscape one.

## Reading a card

Each card is the same view drawn twice: the left half with the game's clear noon lighting, the
right half with the effect's values on top. Drag the divider, or focus it and use the arrow keys.
The badge in the corner says how many parameters the modifier sets, or how many layers the effect
stacks.

## The detail view

Click a name to open it. You get:

- the bigger comparison and the viewpoint switcher
- a **strength** slider, which blends the effect back towards the plain frame the same way
  `SetTimecycleModifierStrength` blends a modifier towards the timecycle that is running
- the full parameter table, searchable and filterable by group, with both floats the game file
  stores, the clear noon value for comparison, and a mark on every parameter the preview draws
- for an animpostfx effect, the layer table with every duration and the layer blend settings
- cross links: which animpostfx effects play a modifier, and which modifiers an effect plays
- copy buttons for the name and for ready Lua
- **Open it live in the 3D map**, which loads the Interactive Map in 3D with the effect applied to
  the world and the same strength slider

## Using a timecycle modifier

```lua title="client.lua"
SetTimecycleModifier("CAMERA_BW")
SetTimecycleModifierStrength(0.6)   -- 0.0 to 1.0

-- later
ClearTimecycleModifier()
```

- Only one modifier is active at a time. Setting a second one replaces the first.
- `SetExtraTimecycleModifier` and `ClearExtraTimecycleModifier` give you a second slot that stacks
  on top.
- Modifiers are client side and per player.

> [!TIP]
> Strength is the cheapest way to make a strong effect usable. Most of the dramatic modifiers look
> right somewhere between 0.3 and 0.6.

## Playing an animpostfx effect

```lua title="client.lua"
AnimpostfxPlay("SwitchHUDIn", 0, true)  -- 0 = the effect's own timings, true = loop

AnimpostfxStop("SwitchHUDIn")
AnimpostfxStopAll()

if AnimpostfxIsRunning("SwitchHUDIn") then
    -- ...
end
```

> [!WARNING]
> A looping effect runs until something stops it. Always pair a loop with an `AnimpostfxStop`, and
> call `AnimpostfxStopAll()` when your resource stops, or players get stuck with it.

## What the previews can and cannot show

The pictures are ours, rendered from the effect's own values. They show light and ambient colour
and intensity, fog colour, density, start and far clip, exposure, the filmic tone curve, colour
correction and colour shift, saturation, the screen gradient, vignette, grain, scan lines,
chromatic aberration, lens distortion, bloom, blur, depth of field and the night vision curve.

They do not show shadows, ambient occlusion, reflections, water, streaming distances, heat haze,
god rays, light directions, lens flares or the weather and particle switches. Those parameters are
still in the table, just not in the picture.

Treat a preview as a hint about the direction an effect pulls the image in. The parameter tables,
the layer timings and the names are exact.

## Names shown as a hash

A few animpostfx effects are listed with a `hash_xxxxxxxx` name. The game only stores the hash for
those and the readable string is not in the files we can read, so there is nothing to type. They
are shown so the list is complete.
