oh, well if it is that cpu intesive, thanks anyways :-\
but then how does ofp do it, like with the little cloud of dust where a bullet hits?
In the ofp core, an instance of 'bulletsingle' is created. When the bulletsingle collides with something, the collision checking process returns the exact location, and bullet destroys itself and produces a 'smokepuff'. Or something along those lines. Basically, the game can do whatever it likes to the bullet at the exact instant of its death, because it contains the code that decides when the bullet dies in the first place.
This is an example of event-driven code; the game does not have to run a background check on all it's bullets, because
they notify
it of their own deaths, and it responds accordingly. So for example when the bullet hits a player, it retreives to mesh of whatever it collides with, tells the game that it collided with it. The game checks the owner of the mesh and sends a damage call. That object then decides if it wants to take damage from that type of ammunition (eg yes if player, no if tank). Each bullet flying around has it's own thread executing simultaneously with all the other bullets, and tanks, and men. The bullet may refer back to the game for lists of objects to check, but fundamentally it is independent and manages it's own affairs.
Hopefully that has shed some light on the situation, unless of course i have spent the last 5 minutes telling you something you already knew...
Anyhow, that is approximately the way object-oriented programming works in these situations. It is different to the way we write scripts in ofp. We are forced to retrieve what meagre scraps of information we can at, relative to the game's workings, extremely large intervals. This is why we are quite dependent on event-handlers- they are things that the objects themselves call at specific times in their life. You can be assured that a Killed eventhandler has executed just before (or just after) an object dies, as opposed to anywhere between 0.001 and 0.1 seconds after it's died.
Access to some of the ofp source code would really be nice. Something similar to the way the Unreal series gives you access to a large portion of their game code, plus a compiler, and you can edit the games at the source level.