Ergebnis 1 bis 10 von 10

Thema: 10 Variablen miteinander vergleichen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Switches lassen sich nicht "anpointern" und sind fürs Scripten daher unbrauchbar.

  2. #2
    Vorab solltest du die Idee mit den Switches schonmal vergessen. Es gibt einen simpleren Weg, statt auf einen SwitchPointerPatch zu warten: Werte, die nicht abgefragt werden sollen, mit -1 multiplizieren (bei Erhöhung/Senkung im Hintergrund aber Minus statt Plus, um den Betrag zu erhöhen usw.).

    Zitat Zitat von EasyEventExporterEdit
    - VarCheck -

    <> Change Variable: [0021 Check_Target] Set 1
    <> Change Variable: [0022 Check_ID_First/Now] Set 1
    <> Change Variable: [0023 Check_ID_Last] Set 10
    <> Change Variable: [0024 Check_Value_Memory] Set Var[V[0021]] Value
    <> Change Variable: [0025 Check_ID_Memory] Set 0
    <> Label: 1
    <> Fork Condition: If Variable [0022 Check_ID_First/Now] is V[0021] Not
    <> Change Variable: [0026 Check_Value] Set Var[V[0022]] Value
    <> Fork Condition: If Variable [0026 Check_Value] is 0 or more
    <> Comment: Jede Var mit negativem Wert wird nicht berücksichtigt.
    <> Fork Condition: If Variable [0026 Check_Value] is V[0024] Less/Equal
    <> Change Variable: [0024 Check_Value_Memory] Set Var[V[0022]] Value
    <> Change Variable: [0025 Check_ID_Memory] Set Var[0022]'s Value
    <>
    : End
    <>
    : End
    <>
    : End
    <> Fork Condition: If Variable [0022 Check_ID_First/Now] is V[0023] Not
    <> Change Variable: [0022 Check_ID_First/Now] + 1
    <> Jump To Label: 1
    <>
    : End
    <> Fork Condition: If Variable [0025 Check_ID_Memory] is 0 Not
    <> Change Variable: [0026 Check_Value] Set Var[V[0021]] Value
    <> Show Message: Var.No \v[0021] (hat den Wert \v[0026]) wird um \v[0024] subtrahiert.
    <> Change Variable: [0026 Check_Value] - Var[0024]'s Value
    <> Show Message: Das Ergebnis ist \v[0026].
    <> Comment: Send Value of V[0026]
    : oder:
    :
    : Variable Oper: [V[0021]] Set, Var V[0026]'s Value
    <>
    : Else Handler
    <> Show Message: Alle geprüften Werte sind größer als das Ziel.
    <>
    : End
    <>
    Es werden alle Werte zwischen ID_First und ID_Last mit der Var-ID in Check_Target verglichen. Alles mit einem Wert unter Null bleibt draußen. Bei gleichen kleinsten Zahlen wird der letzte erfasste Wert genommen.

    Zum Thema "Variablen liegen verstreut herum": verpasse den genutzten Variablen einen Pseudo-Header. Zum Bsp. zu nutzende Werte um +7 000 000 erhöhen, Fork Cond. if V[xxxx] is 7 000 000 or more um zugewiesene Variablen zu erkennen, dann -7 000 000 gefolgt von allen Berechnungen und Abfragen, am Ende wieder +7 000 000. Oder was auch immer für Erkennungsmuster, die in keiner anderen Variable je erreicht werden.

  3. #3
    bugmenot: Ich versteh deinen Code zwar nicht ganz d.h. ich kann deinen Code schlecht mit deiner Erklärung verknüpfen, aber ich werd ihn mal so testen, wie dus mir geraten hast. Danke dafür.

    Die Idee, Varis, die nicht berücksichtigt werden sollen, durch "x(-1)" rauszusortieren, find ich gut. Wär ich jetz auch nich so wirklich draufgekommen. Vllt krieg ich mit dem Ansatz ja auch nen eigenen Code hin. Wird heut mal versucht.

    Corti: Hab auch nicht vor die Switches anzupointern. Jede Vari hat einen Switch zugeordnet bekommen. Es macht ja keinen Sinn, Werte in die Rechnung mit einzubeziehen, die laut Spiel noch gar nicht gelten dürfen. Das regelt der jeweilige Switch.

Berechtigungen

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