Scripthilfe Waffengenerator

iTsDelta
Hiho,

ich arbeite an einer kleinen CoD WaW Funmap, dazu möchte ich ein Script schreiben, welches dem Spieler eine Waffe gibt, bzw. upgradet.
Eine art Waffengenerator also.

Doch leider fehlt mir der Ansatz bei den Waffen (der rest ist kein Problem grosses Grinsen )

#1
Angenommen der Spieler hat eine SVT und will eine neue zufallswaffe, wie frage ich denn ab ob der Spieler bereits eine SVT hat (damit er die nicht nochmal bekommt).

#2
Wenn der Spieler seine Waffe upgraden möchte, wie finde ich heraus ob er die Waffe hat und ob er bereits ein upgrade hat (Bayonett, Red Dot...).

#3
Wie gebe ich dem Spieler eine Waffe als Primär (Taste 1) oder Sekundär (Taste 2) und könnte ich auch Waffen auf die Tasten 3 4 5 6 7 8 .. legen?

#4
Gibt es eine Möglichkeit mehr als ein Attachment auf die Waffe zu legen?
Bayonett + Red Dot ? oder sogar Schalldämpfer, Red Dot und größeres Magazin?

Vielen dank schonmal im vorraus.
OLD MAN WITH GUN

Zitat:

Original von iTsDelta
#1
Angenommen der Spieler hat eine SVT und will eine neue zufallswaffe, wie frage ich denn ab ob der Spieler bereits eine SVT hat (damit er die nicht nochmal bekommt).

Da gibt es einen Scriptbefehl für: hasWeapon("weaponname").
Schau in die Scriptdokumentation http://www.zeroy.com/script/

Zitat:

Original von iTsDelta
#2
Wenn der Spieler seine Waffe upgraden möchte, wie finde ich heraus ob er die Waffe hat und ob er bereits ein upgrade hat (Bayonett, Red Dot...).

Hier gilt das gleiche (gleicher Scriptbefehl).
Wenn du die Upgrades prüfen willst, musst du halt jede Waffenversion dieser Waffe überprüfen ob der Spieler diese besitzt (Für den Spieler hat es zwar den Anschein, man hat nur eine Waffe mit verschiedenen Zusätzen. Es sind aber in Wirklichkeit 4 verschiedene Waffen).
Bei der SVT musst du also halt nacheinander prüfen, ob der Spieler die svt40_mp (nackte SVT), svt40_flash_mp (mit Mündungsfeuerdämpfer), svt40_aperture_mp (mit Dioptervisier) oder die svt40_telescopic_mp (mit Zielfernrohr) hat.

Zitat:

Original von iTsDelta
#3
Wie gebe ich dem Spieler eine Waffe als Primär (Taste 1) oder Sekundär (Taste 2) und könnte ich auch Waffen auf die Tasten 3 4 5 6 7 8 .. legen?
Garnicht. Wenn du einem Spieler eine Waffe gibst, wird immer die ersetzt, die er in der gerade Hand hält. Und nein, man kann keine weiteren Tasten definieren. Es gibt keine echten Waffenslots, die man direkt per Taste auswählen kann. Es gibt nur die Befehle "nächte Waffe" und "vorherige Waffe". Machen beide exakt das Gleiche (da man ja nur 2 Waffen hat). Wenn du bei dir mit zwei Tasten die Waffen wechseln kannst, liegt bei dir wahrscheinlich "weapnext" auf Taste 1 und "weapprev" auf Taste 2 (es wäre aber vollkommen egal, weche der beiden Tasten du drückst, den das Ergebnis wäre das Gleiche).

Zitat:

Original von iTsDelta
#4
Gibt es eine Möglichkeit mehr als ein Attachment auf die Waffe zu legen?
Bayonett + Red Dot ? oder sogar Schalldämpfer, Red Dot und größeres Magazin?
Dafür musst du die Waffen erst selbst erstellen. Im Spiel gibt es nur Waffen mit einem Zusatz. Wenn du andere willst (mit 2 Zusätzen), musst du dir die Waffenmodelle mit Maya selber erstellen.
iTsDelta
ok, vielen dank hat mir geholfen ;-)

um eine waffe zu geben habe ich einfach noch folgendes gemacht:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
if ( !(player hasWeapon (wep)) ) { 										 														check_weapon_status(player); 												 									player GiveWeapon( wep, 0 );	 												player GiveMaxAmmo( wep );  												player SwitchToWeapon( wep ); 													}



Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
check_weapon_status(pl) { 	 	primaryWeapons = pl GetWeaponsListPrimaries();  	current_weapon = undefined;   	if( primaryWeapons.size >= 2 ) // he has two weapons 	{ 		current_weapon = pl getCurrentWeapon(); // get his current weapon  		if ( current_weapon == "mine_bouncing_betty" ) 		{ 			current_weapon = undefined; 		}  		if( isdefined( current_weapon ) ) 		{ 			pl TakeWeapon( current_weapon );  		}  	} }