OnPlayerWeaponShot:
Da kann man aber noch einiges refaktorieren.
Eine Frage nebenbei. Warum nimmst du von dem getroffenem Objekt/Auto/Spieler die Position ? Ist da nicht fX,fY,fZ genauer ? Ich stelle mir nur mal vor, ich habe ein riesen Objekt (Hochhaus) und treffe es irgendwo außen. Deiner Funktion nach würde es aber die Map-Position nehmen und dort die Explosion erstellen. Das wäre mit Sicherheit irgendwo "im Haus", was ich niemals sehen könnte.
Habe ehrlich gesagt OnPlayerWeaponShot noch nie verwendet, daher die Frage zu fX,fY und fZ.
explosionsmunition:
Das str ist aber ganz schön überflüssig :/.