1. TRLevel
  2. Forum
    1. Unresolved Threads
    2. Articles
  3. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Trophy
    5. Search Members
  4. Tutorials
  5. Levels
  6. Downloads
  7. Adventskalender
    1. Kalender 2025
    2. Kalender 2024
    3. Kalender 2023
    4. Kalender 2022
    5. Kalender 2021
    6. Kalender 2020
    7. Kalender 2019
    8. Kalender 2018
    9. Kalender 2017
  8. Osterkalender
    1. Osterkalender 2026
    2. Osterkalender 2025
    3. Osterkalender 2024
    4. Osterkalender 2023
    5. Osterkalender 2022
    6. Osterkalender 2021
    7. Osterkalender 2020
    8. Osterkalender 2019
    9. Osterkalender 2018
    10. Osterkalender 2017
    11. Osterkalender 2016
  9. Mediathek
    1. Albums
    2. Video channels
  • Login
  • Register
  • Search
Tutorials
  • Everywhere
  • Articles
  • Pages
  • Forum
  • Tutorials
  • Files
  • Images
  • Videos
  • More Options
  1. TRLevel.de
  2. Lexicon

TRNG Eigene Anzeigebalken erstellen TRNG

  • Jörg
  • December 5, 2023 at 10:18 AM
  • December 5, 2023 at 12:13 PM
  • 1,653 times viewed

WICHTIG

Diese Tutorials sind beim schreiben immer mit der aktuellsten TEN/TE Version erstellt worden.
Leider kann sich von Version zu Version des Tomb Editor oder der Tomb Engine immer etwas am Code ändern. Daher können manche Teile der Tutorials veraltet sein, bzw. nicht mehr funtkionieren.
Wenn euch hier etwas auffällt, teilt uns dies BITTE mit. Damit man sich das Tutorial ansehen und überarbeiten kann. Dazu bitte einfach ein Thema im "TRLevel Forum" eröffnen.

  • Eigene Anzeigebalken erstellen

    Mit dem Script Befehl "Customize=CUST_BAR" kann man die Standardanzeigebalken wie Gesundheit, Sprinten usw. anpassen. Man kann aber auch völlig neue Anzeigebalken erstellen.

    Hier in diesem Beispiel zeige ich euch wie man z.B. die Dauer, die eine Magnesiumfackel brennt, in einen Anzeigebalken setzen kann. Die Standardbrenndauer ist 30 Sekunden bei einer Magnesiumfackel. Diese kann man mit dem Script Befehl "CUST_FLARE" ändern.

    Das Basis Tutorial über den "CUST_BAR" Script Befehl kann man hier nachlesen.

    Zunächst einmal benötigen wir das Grundgerüst für einen eigenen Anzeigebalken, dazu definieren wir die Farbe des Balkens und stellen ein, dass wir einen eigenen Anzeigebalken haben möchten.

    Code
    ColorRGB=1, 255,255,0
    ColorRGB=2, 255,128,0
    Customize=CUST_BAR,BAR_CUSTOM1, FBAR_SHOW_BAR_NAME,8,100, 150,12, 1,2,#0800

    Unter BAR_ können wir bis zu 4 verschiedene eigene Balken erstellen. Wir wählen hier den ersten BAR_CUSTOM1. Unter Extra setzen wir die Variable "Current Value" als Variable die wir im Balken anzeigen möchten. In diese Variable setzen wir den Wert der Anzeige der Magnesiumfackel als Hexadezimalwert.

    Anmerkung:
    Wie Variablen als Platzhalter in einem Hexadezimalwert aussehen, könnt ihr in TombIDE im Reference Browser in der Rubrik "Variable Placeholders" nachlesen.

    Durch "FBAR_SHOW_BAR_NAME" können wir unserem Anzeigebalken noch einen Text oder eine Variable als Hexadezimalwert mitgeben, die unter dem Balken anzeigt wird. Diesen Text setzen wir in die English.txt Datei unter "Extra NG Strings". (Welche ID wir dafür verwenden müssen können wir ebenfalls in dem "CUST_BAR" Tutorial nachlesen.)

    Code
    [ExtraNG]
    301: Flare life time: #0800

    Nun erstellen wir noch einen GlobalTrigger mit einer Condition Group, indem wir der Engine mitteilen, dass wir die Anzeige der Magnesiumfackel in die Variable "Current Value" setzen möchten.

    Der Aufbau ist folgerndermaßen:

    Code
    GlobalTrigger= 1,IGNORE, GT_CONDITION_GROUP,IGNORE,1,2,3
    
    TriggerGroup= 1, $8000,7,$0023
    
    ; ConditionNg for ParameterNg
    ; <#> Holding_Flare
    ; <&> Lara. (Holds) Lara is holding/driving the <#>item (C35)
    ; Copy following values to your script:
    ; $8000,7,$0023
    
    TriggerGroup=2, $2000,244,$0C50,> ; Copy to Local Short Alfa1 "Lara. Hands. Remaining time with lighted flare in the hand"
    $2000,331,$0004,> ; Show Custom Bar1 forever on screen
    $2000,253,$0950,>  ; Divide Local Short Alfa1 by 9
    $2000,271,$0050,> ; Copy Local Short Alfa1 to Current Value
    $2000,232,$6442,> ; Set Local Byte Alfa3 to Value 100
    $2000,286,$0042,> ; Substract from Current Value Local Byte Alfa3
    $2000,284,$00FF ; Invert the sign of Current Value
    
    ; Trigger for FlipEffect
    ; <#> Variables. Memory. Copy to <&>Numeric Variable the (E)Savegame Memory value (F244)
    ; <&> Local Short Alfa1
    ; <E> Lara. Hands. Remaining time with lighted flare in the hand (Short)
    ; Copy following values to your script:
    ; $2000,244,$0C50
    
    ; Trigger for FlipEffect
    ; <#> Custom Bar. Show the <&>Custom bar on screen for (E)Seconds (F331)
    ; <&> BAR_CUSTOM1
    ; <E> Forever (use other action/effect to disable it)
    ; Copy following values to your script:
    ; $2000,331,$0004
    
    ; Trigger for FlipEffect
    ; <#> Variables. Numeric. Divide <&>Numeric Variable by (E)Value (F253)
    ; <&> Local Short Alfa1
    ; <E> Value 9
    ; Copy following values to your script:
    ; $2000,253,$0950
    
    ; Trigger for FlipEffect
    ; <#> Variables. Numeric. Copy <&>Numeric Variable to CurrentValue (F271)
    ; <&> Local Short Alfa1
    ; Copy following values to your script:
    ; $2000,271,$0050
    
    ; Trigger for FlipEffect
    ; <#> Variables. Numeric. Set <&>Variable with (E)value (F232)
    ; <&> Local Byte Alfa3
    ; <E> Value 100
    ; Copy following values to your script:
    ; $2000,232,$6442
    
    ; Trigger for FlipEffect
    ; <#> Variables. Numeric. Subtract from CurrentValue the <&>Numeric Variable (F286)
    ; <&> Local Byte Alfa3
    ; Copy following values to your script:
    ; $2000,286,$0042
    
    ; Trigger for FlipEffect
    ; <#> Variables. Numeric. Invert the sign of <&>Numeric Variable (F284)
    ; <&> Current Value
    ; Copy following values to your script:
    ; $2000,284,$00FF
    
    TriggerGroup=3,$2000,332,$0004
    ; Trigger for FlipEffect
    ; <#> Custom Bar. Hide the <&>Custom bar (F332)
    ; <&> BAR_CUSTOM1
    ; Copy following values to your script:
    ; $2000,332,$0004
    Display More

    Kurze Erklärung:

    in der TriggerGroup1 setzen wir die Bedingung immer, wenn Lara eine Fackel anzündet, bzw. in der Hand hält soll folgendes passieren was wir in der TriggerGroup2 gesetzt haben.

    Hält Lara keine Magnesiumfackeln in der Hand soll TriggerGroup3 ausgeführt werden. In dieser ist festgelegt, dass der Anzeigebalken "BAR_CUSTOM1" wieder vom Bildschirm verschwinden soll. Ist die Fackel also zuende gebrannt, verschwindet auch der Anzeigebalken.

    In der TriggerGroup2 werden folgende Flipeffekte ausgeführt.

    1. Wir setzen die Brenndauer der Magnesiumfackel in die Variable "Local Short Alfa1". Der Zahlenwert der Brenndauer ist von 0-900. Deswegen müssen wir eine "Short" Variabel nehmen, da eine "Byte" Variabel nur Zahlenwerte bis 127 haben kann. (900 entspricht hier einer Brenndauer von 30 Sekunden)
    2. Wir lassen den Anzeigebalken mit der "BAR_CUSTOM1" für immer auf dem Bildschirm erscheinen.
    3. Wir teilen den Zahlenwert 900 durch 9 damit wir "100" erhalten, da ein Balken nur von 0-100 Zahlenwerte anzeigen lassen kann.
    4. Wir setzen die Variabel "Local Short Alfa1" in die Variabel "Current Value".

      Anmerkung:
      Nun erhalten wir einen Balken der von 0 auf 100 ansteigt. Möchten wir aber schon zu Beginn einen vollen Balken haben, der langsam abnimmt müssen wir noch folgendes machen:
    5. Wir setzen in eine Variable z.B. Local Byte Alfa3 (Wichtig ist hier, dass wir nicht Local Byte Alfa1 oder Local Byte Alfa2 nehmen, da sich sonst die Werte überschneiden würden) den Wert 100.
    6. Dann ziehen wir von der Variabel "Current Value" den Wert dieser Variabel 100 ab.
    7. Da wir nun einen Minuswert erhalten, invertieren wir das ganze noch mit einem "Invert Sign" Flipeffect, um einen Positivwert zu erhalten.

    Wie erhalten wir einen vollen Balken zu Beginn?

    Da bei einem Anzeigebalken der Wert 0 ein leerer Balken ist, und der Wert 100 ein voller Balken, müssen wir es so einstellen dass der Wert der "Current Value" Variabel schon zu Beginn 100 ist.
    Am Anfang ist der Wert immer 0, also 0% und steigt dann bis zu 100%.

    Um nun schon einen vollen Balken zu erhalten, ziehen wir von dem Wert 0, der am Anfang besteht, die Zahl 100 ab. Dadurch erhalten wir -100. Diesen Wert "-100" invertieren nun noch und erhalten den Wert 100. Der Balken startet also mit 100% und nimmt dann stetig ab.

    Beispiel:
    Wert 10 - 100 ergibt -90, dieser in einem positiven Wert umgewandelt ergibt 90. Der Balken ist also noch zu 90% voll.

    Anzeigebalken der Brenndauer einer Magnesiumfackel, hier im Beispiel entsprechen 90% 26 Sekunden Brenndauer.

    • Custom Bar
    • Bar_Custom

Share

  • Previous entry Drehventil mit Brechstange herausbrechen und wieder einsetzen
  • Next entry FLARE_INV_ITEM Menge anpassen beim Aufsammeln
  • Changelog
  • PDF

Categories

  1. Archiv 8
    1. Tomb Editor_Alt 2
    2. TRNG_Alt 4
  2. Bauen 239
    1. Tomb Editor (TE) 107
      1. Tipps und Tricks 19
      2. SoundTool 5
      3. TombIDE 6
      4. WadTool 11
      5. NodeEditor 2
    2. Tomb Engine (TEN) 72
      1. Tipps und Tricks 17
      2. Lua Scripting 35
    3. TRNG Engine 194
      1. Scripting 4
      2. NG Center 20
      3. Allgemein 7
      4. Neue TRNG Script Befehle 66
      5. Neue TRNG Trigger 66
      6. Neue TRNG OCB Werte 9
      7. TRNG Plugins 6
      8. Tipps und Tricks 5
      9. TRNG Engine Praktische Beispiele 8
    4. NGLE (Next Generation Level Editor) 12
    5. Tomb Raider Level Editor 86
      1. Licht 4
      2. Geometrie 8
      3. Levelbau 110
      4. Tipps und Tricks 12
      5. Script 3
      6. Sounds 2
      7. Texturen 2
      8. OCB 4
      9. Sonstiges 3
      10. Dxtre3D 1
  3. Tools 21
    1. Metasequoia 5
      1. Metasequoia 3.x 2
      2. Metasequoia 4.x 3
    2. StrPix und WADMerger 4
      1. StrPix 2
      2. WADMerger 2
    3. FLEP 9
    4. Tools 2
    5. TREP 7
      1. Flipeffect Editor 1
      2. Custom Patches 2
    6. TRViewer 1
    7. Blender 0
  4. Allgemeine Tipps und Tricks 3
  5. Level Editor Lexikon 107
    1. Tomb Editor 1
    2. Tools 3
      1. TREP/FLEP 3
      2. WADMerger 0
      3. Strpix 0
    3. NGLE/LE 97
    4. Allgemein 6
      1. WAD Slots 5
    5. NGEngine 0
  1. Privacy Policy
  2. Contact
  3. Legal Notice
Lexicon 7.1.17, developed by www.viecode.com
Powered by WoltLab Suite™ 6.1.18
TRLevel.de in the WSC-Connect App on Google Play
TRLevel.de in the WSC-Connect App on the App Store
Download