Current Effects

A plugin by Ezio(Trusted developer)

Current Effects
Downloads 7,317
Updated 17 days ago
Released 3 years ago
Identifier CurrentEffects
Numeric ID 382
Min. Openplanet 1.29.14
Game Trackmania
Game Maniaplanet 4
Game Trackmania Turbo

Current Effects

So many things can affect your car, ranging from an effect that kills your engine to one that makes you fly. It can be hard to keep track of it all, and now you don't have to! With a little window on your screen, you get a comprehensive overview of the things you need to worry about.

  • "Did I actually touch that fragile block?"
  • "When is my reactor going to run out?"
  • "How wet am I?"

Not all statuses (the things we track) are available everywhere. Refer to the chart below to see what is and where. If you're a developer and want to add a checkmark somewhere, human-written PRs are always welcome.

status solo replay server spectate tm2 solo tm2 server tm2 spectate turbo solo turbo server turbo spectate
action key ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
brake pedal ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
camera ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
cruise control ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
cruise control speed ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
driving ✅ ✅ ✅ ❌ ✅ ✅ ✅ ✅ ✅ ❌
engine off ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ ✅ ❌
entity id ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ❌
finished ✅ ✅ ✅ ❌ ✅ ✅ ✅ ✅ ✅ ❌
forced acceleration ✅ ❌ ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌
fragile ✅ ⚠️ ✅ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌
fragile damage ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
game mode ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
ghost visibility ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
launch respawning ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
login ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
name ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
nametag visibility ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ❌
no brakes ✅ ❌ ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌
no grip ✅ ❌ ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌
no steering ✅ ❌ ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌
opponent visibility ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ❌
race time ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
reactor ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
reactor duration ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
reactor final timer ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
reactor level ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
reactor remaining ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
reactor type ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
respawn duration ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
respawn end tick ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
respawning ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
respawn remaining ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
respawns ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
sequence ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
slow-mo ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
slow-mo coefficient ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
slow-mo duration ⚠️ ❌ ⚠️ ❌ ❌ ❌ ❌ ❌ ❌ ❌
slow-mo level ✅ ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
slow-mo remaining ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
spawning ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
stand respawning ✅ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
start tick ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
ticks ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅
turbo ✅ ✅ ✅ ❌ ✅ ✅ ❌ ✅ ✅ ❌
turbo level ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
turbo timer ✅ ✅ ✅ ❌ ✅ ✅ ❌ ✅ ✅ ❌
vehicle type ✅ ✅ ✅ ✅ ⚠️ ⚠️ ⚠️ ✅ ✅ ✅
web services id ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌
water ✅ ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
  • ⚠️ when watching a replay or spectating, fragile only appears if at least one tire is partially worn
  • ⚠️ when switching to/from alt cars, slow-mo duration may be wrong
  • ⚠️ vehicle type is probably wrong in envimix

Exports

CurrentEffects has a number of exports for you to use in your own plugins. When using these, it's important to note that CE is updated on the render loop, not the simulation loop.

Plugin version 1.1 is planned to have a much more extensive export system so stay tuned!

Functions (all games)

// the current camera
Camera StatusCamera();

// ghosts are visible
bool StatusGhosts();

// the current vehicle type (stadium, canyon, etc.)
VehicleType StatusVehicleType();

// the current view mode (solo, spectating, etc.)
ViewMode StatusViewMode();

Functions (TM2020)

// the plugin is running, whether or not it's safe
bool Running();

// it is safe to run the plugin with the current game version
bool Safe();

// the current action key
uint8 StatusActionKey();

// brake pedal is held
bool StatusBrakePedal();

// fragile effect is active
bool StatusFragile();

// car is doing a launched respawn
bool StatusLaunchRespawning();

// race time of the player, to the thousandth
uint StatusRaceTime();

// reactor ticks given
uint StatusReactorDuration();

// ticks of reactor used
uint StatusReactorElapsed();

// when reactor started
uint StatusReactorStartTick();

// reactor ticks left
uint StatusReactorRemaining();

// when the current respawn ends
uint StatusRespawnEndTick();

// car is respawning
bool StatusRespawning();

// respawn ticks left
uint StatusRespawnRemaining();

// slow-mo ticks given
uint StatusSlowMoDuration();

// when slow-mo ends
uint StatusSlowMoEndTick();

// slow-mo ticks left
uint StatusSlowMoRemaining();

// car is doing a standing respawn
bool StatusStandRespawning();

Functions (TM2020/MP4)

// the ID of the entity we're looking at
uint StatusEntityId();

// nametags are visible
bool StatusNametags();

// opponents are transparent, opaque, or off
OpponentVis StatusOpponents();

Enums

enum Camera {
    Unknown = -1,
    Cam1,
    Alt1,
    Cam2,
    Alt2,
    Cam3,
    Alt3,
    Cam7,
    Alt7,
    Backwards,
    SpecFollow,
    SpecFollowAll,
    SpecFree,
    SpecReplay,
}

enum OpponentVis {
    Unknown     = -1,
    Off         = 0,
    Transparent = 1,
    Opaque      = 2,
}

enum VehicleType {
    Unknown = -1,
    Snow,
    Desert,
    Rally,
    Island,
    Bay,
    Coast,
    Stadium,
    Canyon,
    Human,
    Valley,
    Lagoon,
    Traffic,
}

enum ViewMode {
    Unknown     = -1,
    Solo        = 0x1,
    Replay      = 0x2,
    Server      = 0x4,
    Spectate    = 0x8,
    SplitScreen = 0x10,
}

Thank You

I want to give a special thank you to the following developers who have given me great insight and assistance on this project. Without their research and help in testing, this plugin would be a shell of what it is now.

  • Miss
  • XertroV
  • achepta
  • druduche
  • Fort
  • Manama

Changelog

1.0.0 - 17 days ago

  • rewrote entire plugin
  • added:
    • progress bars under certain statuses
    • action key
    • ghost/opponent/nametag visibility
    • respawning (launched/standing)
    • slow-mo timer
    • water
  • changed/improved:
    • full reactor timer
    • fragile detection
    • settings menu
    • exports

0.23.1 - 8 months ago

  • new font system
  • use default window flags
  • fixed deprecations
  • fixed warnings
  • updated license

0.22.0 - 2 years ago

  • use new Vehicle State functions
  • removed deprecated functions

View all changelogs