Community-Tutorials (Source)

FGD - Parameter hinzufügen oder 'Waffen mit Munition leicht gemacht'

Hi, erstmal!

So, nachdem ich heute in den FGD-Files rumgespielt habe, mein zweites Tutorial, das nicht schwer ist und euch hoffentlich auch einige Zeit einsparen wird.

Wir werden unsere cstrike.fgd (oder auch HL²: DM, falls es da derselbe Parameter ist) so verändern, dass, wenn wir im Hammer ein weapon_* Entity setzen, automatisch der ammo-Parameter in den Optionen ist.

Als erstes schauen wir die FGD mal an, die wir mit dem Editor öffnen.
Unter Weapons finden wir so etwas:

@PointClass base(Weapon) studio("models/weapons/w_rif_galil.mdl") = weapon_galil : "IDF Defender" []
@PointClass base(Weapon) studio("models/weapons/w_rif_ak47.mdl") = weapon_ak47 : "CV-47" []
@PointClass base(Weapon) studio("models/weapons/w_rif_sg552.mdl") = weapon_sg552 : "Krieg 552 Commando" []
@PointClass base(Weapon) studio("models/weapons/w_rif_famas.mdl") = weapon_famas : "Clarion 5.56" []
@PointClass base(Weapon) studio("models/weapons/w_rif_m4a1.mdl") = weapon_m4a1 : "Maverick M4A1 Carbine" []
@PointClass base(Weapon) studio("models/weapons/w_rif_aug.mdl") = weapon_aug : "Bullpup" []

Dabei steht studio("models\weapons\*.mdl") für das im Hammer angezeigte Model der Waffe.
weapon_aug : "Bullpup"
entspricht
entityname : "Name der Waffe"

Und, wie könnte es anders sein, in den eckigen Klammern ist Platz für die Parameter, die wir dem Entity hinzufügen wollen.

Ich zeige das mal am Beispiel der AK47, der ich nun den Parameter ammo hinzufüge, der bestimmt, wie viel Munition die Waffe noch außer den 30 Schuss im ersten Magazin hat:

@PointClass base(Weapon) studio("models/weapons/w_rif_ak47.mdl") = weapon_ak47 : "CV-47"
[
[color=green]ammo([color=blue]integer
) : "Ammunition" : 90 : "Sets the additional Ammunition for this weapon"[/color]
][/color]


(Wie man sieht, habe ich die eckigen Klammern etwas nach unten verschoben, um es übersichtlicher zu machen. Ihr solltet das auch tun, wenn ihr nicht irgendwann durch ein totales Wirrwarr in der FGD steigen wollt.
Ich habe als Typ der Variablen 'integer' genommen, da man nur ganzzahlige Munition haben kann, und somit im Hammer auch nichts anderes eingetragen werden soll. Wie würde das wohl aussehen, wenn ihr von 0,5 AK-schüssen getroffen würdet? :D)

Es funktioniert nach diesem Prinzip:

namedesparameters([color=blue]typdeswertes) [/color]: "Name im Hammer" : [color=red]Standardeinstellung [/color]: "Erklärung im Hammer"

Somit könnt ihr auch versuchen, bei anderen Entities Parameter hinzuzufügen, wie z.B. eine Parent-Funktion, dabei müsst ihr aber immer schauen, ob es klappt, denn nicht alles klappt bei jedem Entity. Habe es selbst noch bei keinem mit Parent-Funktionen versucht.

Ihr müsst euren Hammer neu starten oder die FGD neu laden, um die Wirkung zu sehen.
Ich hoffe, ich konnte euch das Mappen damit wieder etwas einfacher oder schneller machen.

Es werden, falls jemand auch noch Bilder braucht, auch noch welche hinzugefügt, aber ich werde erst ab dem 15.4 oder 16.4 wieder dafür Zeit haben.

MfG, Blues ;)