De/Recoding Weapons

From Valve Developer Community
Jump to navigation Jump to search

Waffen umcoden

Hallo,Ich möchte euch in diesem Tutorial erklären wie man schon mit simplen coding seinen eigenen kleinen HL2DM Coden kann. In diesem Tutorial werden wir uns als Basis nur das SMG1 umcoden. Dieses Tutorial kann aber auf andere Waffen angewendet werden.

Aber auch wie man die Ammo im Magazin, sowie die extra Munition umstellen kann(Also die man insgesamt mit scih trägt), aber auch wie man den Damage, den die Waffe anrichtet, umcoden kann!


Was ihr benötigt:

Gute C++ Kenntnisse damit ihr das auch versteht!
Einen Compilierer für eure Mod(Leider muss es erstmal VC++ 2003 sein!)
Verständnis wie alles Funktioniert!
Ein wenig Zeit zum lesen!

Wenn ihr das alles habt dann ist das kein Problem was ich schreibe.

Die Schussfrequenz umcoden

Als erstes müsst ihr nur die Weapon_smg1.cpp öffnen. Diese findet ihr hier-> src\game_shared\hl2mp\weapon_smg1.cpp

Als erstes wird euch diese Klasse gezeigt:

class CWeaponSMG1 : public CHL2MPMachineGun


In ihr müsst ihr diese Elementfunktion(Methode)finden:

float GetFireRate( void )


Diese wurde von Valve inline gecodet (Direkt in die Klassendeklaration implementiert)

Das müsste so aussehen(Ich hab den Wert schon geändert!):

float	GetFireRate( void ) { return 0.065f; }	// 13.3hz


Damit eure Waffe nun schneller/langsamer schiesst müsst ihr den wert hinter return nur erhöhen/vertiefen.

Ändert den Wert mal in:

float	GetFireRate( void ) { return 0.005f; }	// Gefixt!(Extrem Langsam!)


Jetzt sollte eure Waffe extrem langsam sein :)

Stellt die zahl mal auf 0.065f ein dann habt ihr schon ein schnelles MG! Das nutzen wir für den Rest des Tutorials.

Jetzt könnt ihr eure Mod Compilieren und fertig. Eure waffe schiesst nun schneller.

Das könnt ihr auch bei dem Brecheisen und eigentlich allen anderen Waffen. Somit wisst ihr wie man die schussfrequenz ändern kann.


Die Munition erhöhen/vertiefen

Die Munition im Magazin wird einfach umgeändert, dies muss nicht mal groß gecodet werden!

Dazu müsst ihr in eurem Mod Ordner den Unterordner scripts öffnen. Darin befinden sich alle waffenscripts die wir benötigen.

Nehmen wir wieder mal unsere SMG1. Diese besitzt folgendes script:

weapon_smg1.txt 

Nun müsst ihr sie mit dem Editor öffnen. Jetzt können wir uns erstmal den Aufbau angucken.

Natürlich wird es euch bestimmt verwirren was dort alles drin ist aber wir brauchen nur diese Teile:

// Weapon data is loaded by both the Game and Client DLLs. "printname" "#HL2_SMG1" "viewmodel" "models/weapons/v_smg1.mdl" "playermodel" "models/weapons/w_smg1.mdl" //FIXME: "anim_prefix" "smg2" "bucket" "2" "bucket_position" "0"

"clip_size" "50" "clip2_size" "-1"

"default_clip" "50" "default_clip2" "-1"

"primary_ammo" "SMG1" "secondary_ammo" "SMG1_Grenade"

//Fortsetzung folgt!