Nothing to do with IRRLICHT engine. Irrlicht is for 3D/2D scene, this is a graphic engine with some bonus. To "manage" player, friend, enemy, all characters in your game, this is an AI (artificial intelligence) issue.
Look for AGENT, steering behavior, path finding engine, physical engine, goal engine, etc. You need to create a base class that is an Agent. After that, your Agent can be any kind of "character" you want with PROPERTIES and METHOD like size, max speed, mass, acceleration, energy, number of life, etc. Method can be like EAT, CHASE, SEEK, ATTACK, DEFENDS, WALK, etc. This is a big issue. If you know C++, you know what is object programming and AGENT is an object with properties and method.
A more ABSTRACT class could me a MovingEntity. You can
create Agent as a derived class of MovingEntity and create other Vehicule class (like car, boat, plane, etc.) as a derived class of MovingEntity.
Big hint..... Read MORE about Artificial Intelligence. Irrlicht will be use only to show your Agent or Vehicule in the 3D scene. Nothing more. In your agent, you can have a Property that is a pointer to a Billboard with position. The Irrlicht Engine, when will Update the Agent, will show the billboard at the good position.
Have fun ! (lots of work to do but very interesting !)
![Smile :)](./images/smilies/icon_smile.gif)