Allgemein
News
News-Archiv
Partner
Netzwerk
Banner
Header
Media
Downloads
Impressum

The Elder Scrolls
Arena
Daggerfall
Spin-offs
Romane
Jubiläum
Reviews
Welt von TES
Lore-Bibliothek
Namens-
generator

FRPGs

Elder Scrolls Online
Allgemein
Fraktionen
Charakter
Kargstein
Technik
Tamriel-
Manuskript

Media

Skyrim
Allgemein
Lösungen
Tipps & Tricks
Steam-Kniffe
Review
Media
Plugins & Mods

Oblivion
Allgemein
Lösungen
Tipps & Tricks
Technik
Charakter
Media
Plugins & Mods
Kompendium

Morrowind
Allgemein
Lösungen
Tipps & Tricks
Media
Plugins & Mods

Foren
The Elder Scrolls Online
Hilfe & Diskussion

Skyrim
Hilfe & Diskussion
Plugins & Mods

Ältere TES-Spiele
TES-Diskussion
Oblivion-Plugins
Morrowind-Plugins

Community
Taverne zum Shalk
Adventures of Vvardenfell
Tales of Tamriel
Ergebnis 1 bis 7 von 7

Thema: Mehrere Bedingungen

  1. #1

    Mehrere Bedingungen

    Aloha,
    Beim Schreiben eines kleinen Scripts hab' ich als absoluter Scripting-Noob mal wieder Probleme. Ich will nämlich meherere Bedingungen für eine Function, hab' aber keine Ahnung wie das geht.

    kleines Beispiel:

    scn DoppelIfScript

    short controlvar

    begin OnActivate
    if controlvar == 0 (und hier sollte noch ne' zweite Bedingung hin z.B if GetItemCount TestItem == 1)
    Player.AddItem Gold001 5
    endif
    end

    Danke im Vorraus an alle Scripting-Götter.

  2. #2
    entweder du fügst die zweite Bedinnung mit "&&" ein also:

    PHP-Code:
    if BedinnungA == && BedinnungB == 
    Allerdings kann diese Variante zu Problemen, und sogar zu Abstürzen führen. Daher benütze ich immer die 2. Variante:

    PHP-Code:
    if BedinnungA == X
        
    if BedinnungB == X
              Blabla
        
    endif
    endif 

  3. #3
    Lol ist das einfach. Auf jeden Fall vieeelen Dank!

  4. #4
    Abstürze? In wie fern? Ich benutz && häufig und hatt jetz noch keine besonderen Abstürze (jenfalls keine die ich direkt im zusammenhang damit gesehn hab^^). Wann genau kommts damit zu Abstürzen?

  5. #5
    Angeblich kann es zu "unvorhersehbaren Ergebnissen" führen, wenn eine der beiden Bedinnungen richtig ist, und die andere nicht. Genau weiß ich das nicht und einen hundertprozentig bestätigten Fall hatte ich auch noch nicht, aber das ist halt eine der Sachen, die ich überprüfe, wenn ein Script Probleme macht. ^^

  6. #6
    Das Absturzproblem tritt auf, wenn ein nichtgültiger Check durchgeführt wird.

    Beispiel:

    if IsActor == 1 && GetDead == 0
    ;do something
    endif

    Im Vergleich zu
    if IsActor == 1
    If GetDead == 0
    ;do something
    endif
    endif

    Wird das auf eine Tür aufgeführt, wird beides mal, der Check, ob es ein Actor ist, falsch. Der zweite Codeschnipsel tut dann nichts mehr. Aber beim ersten wird zusätzlich noch gecheckt, ob die Tür tot ist oder nicht. Und das sind dann "unerwartete" Checks, die zu Abstürzen führen können.

    (Zudem ist es auch im Sinne der Perfomance, wenn man Checks verschachtelt, da wie geschrieben bei einer Reihe alles durchgecheckt wird.)

  7. #7
    ah, ok.
    Ist mir bis jetz noch nich passiert, also entweder hab ich meine selbst gemachten Skripte bis jetz noch nich exesiv genug getestet oder meine && verbinden nur erwartete Vergleiche...
    (Wieso hat Beth nich zur Sicherheit nicht in diese Funktionen Abfragen eingebaut, die solche unerwarteten Vergleiche abfangen, also wenn eine Tür nich tot ist (was die meisten nicht sind^^) dann kommt halt raus, dass sie nich tot ist (ohne Absturz^^). Wär gar nich mal unmöglich gewesen...)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •