Community-Tutorials (Source)

Explosionspfeile für die Armbrust

Hi und herzlich Willkommen zu meinem dritten Tutorial

Heute will ich euch zeigen wie ihr im Source Code Explosionsfeile für ddie Armbrust hinzufügt.

Das is auch nicht sehr schwer und einfach zu handhaben.

Nun denn auf gehts, als erstes öffnen wir im Visual C++ 2003 .net (ein anderes Programm geht nicht)
im Projekt hl/Source Files/HL2 DLL/ die Datei weapon_crossbow.cpp.

Als nächstes includen wir die Datei "explosion.h" ganz oben mit dem Befehl:

#include "explode.h"
kyle010.jpg

Diese Headerdatei enthält nämlich die Nötige Funktion um eine Explosion zu erschaffen.

Die funktion heißt:

void ExplosionCreate( const Vector &center, const QAngle &angles, 
	CBaseEntity *pOwner, int magnitude, int radius, bool doDamage, float flExplosionForce = 0.0f, bool bSurfaceOnly = false, bool bSilent = false );

(Wie man sieht ziemlich viele Parameter)

Nun dann wollen wir sie mal einbinden.

Nur wo?

Das kommt ganz auf euch an, ich habe sie in die Zeile 351 gesetzt, in der gemanaget wird das wenn der Pfeil
etwas streift oder ganz stecken bleibt Funken sprüht.

Unter:

g_pEffects->Sparks( GetAbsOrigin() ); 

Fügt ihr nun so wie auf dem Bild ein:


ExplosionCreate( GetAbsOrigin(), GetAbsAngles(), GetOwnerEntity(), GetDamage(), 200, 
		SF_ENVEXPLOSION_NOSPARKS | SF_ENVEXPLOSION_NODLIGHTS | SF_ENVEXPLOSION_NOSMOKE, 0.0f, this);

kyle011.jpg

Mehr nicht, das war es schon.

Jetzt kompilieren und FERTIG.

So sieht es jetztz bei mir aus, ich habe aber auch die geschwindigkeit geändert und die Schwerkraft der Pfeile höher gesetzt, ausserdem is der Pfeil jetzt ein Geschoss des Raketenwerfers (kommt besser).
Das wird nämlich ma nen Granatwerfen...

kyle012.jpg

Viel Spaß von Kyle!