- 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
| Downloads | 7,317 |
|---|---|
| Updated | 17 days ago |
| Released | 3 years ago |
| Identifier | CurrentEffects |
| Numeric ID | 382 |
| Min. Openplanet | 1.29.14 |
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.
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 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
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!
// 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();
// 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();
// the ID of the entity we're looking at
uint StatusEntityId();
// nametags are visible
bool StatusNametags();
// opponents are transparent, opaque, or off
OpponentVis StatusOpponents();
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,
}
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.