Limitierte Munition bei den Pistolen TRNG
Wir benötigen hier die 2 Objekte "PISTOLS_ITEM" und "PISTOLS_AMMO_ITEM", welche aber standardmäßig in jedem Wad sind.
Damit Lara keine unendliche Munition bei den Pistolen hat benötigen wir zwei Scripteinträge:
Equipment= PISTOLS_ITEM,0
Customize= CUST_AMMO, PISTOLS_AMMO_ITEM,IGNORE, IGNORE,20,0, IGNORE, IGNORE,IGNORE, IGNORE, IGNORE, IGNORE, IGNORE
Im ersten Scripteintrag mit "Equipment" sagen wir der Engine, dass zunächst keine Pistolen im Inventar sind. Mit dem zweiten Scripteintrag "CUST_AMMO" legen wir fest, dass die Menge der Pistolenmunition "20" beträgt. Die "0" dahinter sagt, dass bei den Pistolen selber keine Munition ist, wenn Lara die Pistolen aufhebt. Das kann man aber auch noch einstellen, wenn man möchte. Siehe auch CUST_AMMO Tutorial.
Anmerkung:
Damit das Ganze funktioniert, muss Lara die Pistolen zunächst im Level aufheben. (Ohne den "Equipment=PISTOLS_ITEM,0" Eintrag sind die Pistolen schon vorher mit unendlicher Munition im Inventar vorhanden.)
Erst danach können wir Pistolenmunition im Level zum Aufsammeln verteilen. Hebt man Pistolenmunition vorher auf, ohne dass die Pistolen im Inventar sind, erscheint die Munition im Inventar nicht und wird auch später nicht zur Munition gezählt. Das hat damit zu tun, dass die Menge der Munition direkt bei den Pistolen erscheint. Man könnte zwar über ein Fake Objekt und Verwenden von Variablen das Ganze realisieren, das ist aber sehr viel Mehrarbeit, deswegen hier nur mal der normale Weg.
Tipp:
Damit der Spieler die Pistolen auch wirklich einsammelt und nicht übersieht, kann man das Ganze damit verbinden, dass z.B. erst eine Tür aufgeht, wenn Lara die Pistolen im Inventar hat.
Verteilen wir nun Munition zum Aufsammeln im Level, kann Lara mit den Pistolen so lange schießen, bis die Munition aus ist. Leider steckt sie die Pistolen nicht automatisch in die Halfter (Holsters) zurück, wenn die Pistolenmunition auf "0" ist. Da dies bei dem Original Level von Tomb Raider IV nicht vorgesehen war.
Hier kann man einen GlobalTrigger= erstellen, der jedesmal wenn die Pistolenmunition auf "0" ist, Lara die Pistolen zurück in die Halfter stecken lässt.
Das Ganze könnte so aussehen:
GlobalTrigger=1,IGNORE,GT_CONDITION_GROUP,IGNORE,1,2,IGNORE
TriggerGroup=1,$8000,1,$0023,$8000,350,$0104
; ConditionNg for ParameterNg
; <#> Holding_Pistols
; <&> Lara. (Holds) Lara is holding/driving the <#>item (C35)
; Copy following values to your script:
; $8000,1,$0023
; ConditionNg for ParameterNg
; <#> PISTOLS_AMMO_ITEM Slot=350
; <&> Inventory. There are less than (E) of <#>inventory_item in inventory (C4)
; <E> 1
; Copy following values to your script:
; $8000,350,$0104
TriggerGroup=2,$2000,53,$000A
; Trigger for FlipEffect
; <#> Keyboard. Simulate receivement of <&>keyboard comand in (E) way (F53)
; <&> Draw Weapon
; <E> Single sending
; Copy following values to your script:
; $2000,53,$000A
Display More
Der GlobalTrigger besagt, dass jedesmal wenn Lara die Pistolen gezogen hat und die Pistolenmunition weniger als "1" ist, Lara die Pistolen zurück in die Halfter steckt.