Ergebnis 1 bis 1 von 1
  1. #1
    Rookie
    Registriert seit
    20.12.2009
    Beiträge
    53

    Standard Probleme mit dem erstellen eines Messagemenus

    Also folgendes, ich bin zur Zeit damit beschäftigt ein ziemlich grosses options-Messagemenu zu basteln. Nun bin ich beim testen allerdings auf einen sehr frustrierenden Fehler gestossen.
    Der fehler macht sich wie folgt bemerkbar. die ersten 2 messages werden noch normal mit den buttons aufgeführt und lassen sich auch normal anwählen, aber sobald ich dann etwas auswählen will fängt das menu an, die auswahl nicht mehr richtig zu erkennen und wild irgendwelche optionen aus dem Menu zu öffnen, das geht dann soweit das ich das menu nur noch mit hilfe des consolencommands "cam" wieder verlassen kann.

    Irgendwer ne Idee was da schief läuft

    Spoiler:
    scn R72menu

    int StealthSoundStart
    int R72Button0
    int R72Button1
    int R72Button2
    int R72Button3
    int R72Button4
    int R72HelmButton1
    int R72HelmButton2
    int R72HelmButton3
    int R72HelmButton4
    int R72HelmButton5
    int R72ArmorButton1
    int R72ArmorButton2
    int R72ArmorButton3
    int R72ArmorButton4
    int R72ArmorButton5
    int R72MoveButton1
    int R72MoveButton2
    int R72MoveButton3
    int R72MoveButton4
    int R72Menuint
    int R72MenuintHelmSelect
    int R72MenuintArmorSelect
    int R72MenuintMoveSelect


    Begin OnEquip
    ShowMessage R72MainMenu
    set R72Menuint to 1

    End


    Begin GameMode
    ;================================================= ====================================
    ; Hauptauswahl
    ;================================================= ====================================
    if R72Menuint == 1

    set R72Button0 to GetButtonPressed
    if R72Button0 == -1 ; No button has been pressed yet
    Return
    elseif R72Button0 == 0
    ShowMessage R72Visionmenu
    set R72Menuint to 2
    elseif R72Button0 == 1
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72Button0 == 2
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72Button0 == 3
    ShowMessage R72MainMenuReset
    set R72Menuint to 5
    elseif R72Button0 == 4
    player.UnequipItem R72Menumodul1 0 1
    set R72Menuint to 0
    endif
    endif
    ;================================================= ====================================
    ; Menuebene 1
    ;================================================= ====================================
    ; R72Menuint 1 --> Hauptmenu
    ; - R72Menuint 2 --> Helmmenu
    ; - R72Menuint 3 --> Rüstungsmenu
    ; - R72Menuint 4 --> Bewegungsmenu
    ; - R72Menuint 5 --> Alles auf Default zurücksetzen
    ;================================================= ====================================
    ; Helmmenu (Vision) (set R72MenuintHelmSelect)
    ;================================================= ====================================
    if R72Menuint == 2

    set R72Button1 to GetButtonPressed
    if R72Button1 == -1 ; No button has been pressed yet
    Return
    elseif R72Button1 == 0
    ShowMessage R72VisionMenuNightvision
    set R72MenuintHelmSelect to 1
    Return
    elseif R72Button1 == 1
    ShowMessage R72VisionMenuBrighterview01
    set R72MenuintHelmSelect to 2
    Return
    elseif R72Button1 == 2
    ShowMessage R72VisionMenuBrighterview02
    set R72MenuintHelmSelect to 3
    Return
    elseif R72Button1 == 3
    ShowMessage R72VisionMenuBreath
    set R72MenuintHelmSelect to 4
    Return
    elseif R72Button1 == 4
    ShowMessage R72VisionMenuNormalview
    set R72MenuintHelmSelect to 5
    Return
    elseif R72Button1 == 5
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif
    ;================================================= ====================================
    ; Armormenu (set R72MenuintArmorSelect)
    ;================================================= ====================================
    if R72Menuint == 3

    set R72Button2 to GetButtonPressed
    if R72Button2 == -1 ; No button has been pressed yet
    Return
    elseif R72Button2 == 0
    ShowMessage R72ArmorMenuStealth01
    set R72MenuintArmorSelect to 1
    Return
    elseif R72Button2 == 1
    ShowMessage R72ArmorMenuStealth02
    set R72MenuintArmorSelect to 2
    Return
    elseif R72Button2 == 2
    ShowMessage R72ArmorMenuStealth03
    set R72MenuintArmorSelect to 3
    Return
    elseif R72Button2 == 3
    ShowMessage R72ArmorMenuMedic
    set R72MenuintArmorSelect to 4
    Return
    elseif R72Button2 == 4
    ShowMessage R72ArmorMenuReset
    set R72MenuintArmorSelect to 5
    Return
    elseif R72Button2 == 5
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif
    ;================================================= ====================================
    ; Movemenu (set R72MenuintMoveSelect)
    ;================================================= ====================================

    if R72Menuint == 4

    set R72Button3 to GetButtonPressed
    if R72Button3 == -1 ; No button has been pressed yet
    Return
    elseif R72Button3 == 0
    ShowMessage R72MoveMenuSpeed
    set R72MenuintMoveSelect to 1
    Return
    elseif R72Button3 == 1
    ShowMessage R72FOSEJUMP
    set R72MenuintMoveSelect to 2
    Return
    elseif R72Button3 == 2
    ShowMessage R72FOSENOISE
    set R72MenuintMoveSelect to 3
    Return
    elseif R72Button3 == 3
    ShowMessage R72MoveMenuReset
    set R72MenuintMoveSelect to 4
    Return
    elseif R72Button3 == 4
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif

    ;================================================= ====================================
    ; Reset All to Default menu
    ;================================================= ====================================

    if R72Menuint == 5

    set R72Button4 to GetButtonPressed
    if R72Button4 == -1 ; No button has been pressed yet
    Return
    elseif R72Button4 == 0 ; JA
    ;hier kommen später die refID's rein
    player.RemoveSpell, R72NightvisionFXspell
    player.RemoveSpell, R72BrighterFXspell
    player.RemoveSpell, R72BrighterFXspell2
    player.RemoveSpell, R72WaterBreath
    player.RemoveSpell, R72Stealth01
    player.RemoveSpell, R72Stealth02
    player.RemoveSpell, R72Stealth03
    player.RemoveSpell, R72Medics
    player.RemoveSpell, R72Speed01
    player.RemoveSpell, R72Speed02
    player.RemoveSpell, R72Speed03
    player.RemoveSpell, R72Speed04
    player.RemoveSpell, R72Speed05
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    elseif R72Button4 == 1 ; Nein zurück zum Hauptmenu
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif

    ;================================================= ====================================
    ; Menuebene 2
    ;================================================= ====================================
    ; - R72Menuint 2 --> Helmmenu
    ; - R72MenuintHelmSelect 1 --> Nachtsicht
    ; - R72MenuintHelmSelect 2 --> Sichtaufheller Draussen
    ; - R72MenuintHelmSelect 3 --> Sichtaufheller Drinnen
    ; - R72MenuintHelmSelect 4 --> Unterwasseratmung
    ; - R72MenuintHelmSelect 5 --> Sichtmodifikationen ausschalten
    ;
    ; - R72Menuint 3 --> Rüstungsmenu
    ; - R72MenuintArmorSelect 1 --> Tarnfeld Standard
    ; - R72MenuintArmorSelect 2 --> Tarnfeld Hochleistung
    ; - R72MenuintArmorSelect 3 --> Unsichtbarkeit
    ; - R72MenuintArmorSelect 4 --> MedicArmor
    ; - R72MenuintArmorSelect 5 --> Rüstungsmodifikationen ausschalten
    ;
    ; - R72Menuint 4 --> Bewegungsmenu
    ; - R72MenuintMoveSelect 1 --> Bewegungsbeschleuniger
    ; - R72MenuintMoveSelect 2 --> Sprungverstärker FOSE Only
    ; - R72MenuintMoveSelect 3 --> Geräuschdämpfer FOSE Only
    ; - R72MenuintMoveSelect 4 --> Bewegungsmodifikationen zurücksetzen
    ;
    ;================================================= ====================================
    ; Helmmenu (Vision) (set R72MenuintHelmSelect)
    ;================================================= ====================================
    if R72MenuintHelmSelect == 1

    set R72HelmButton1 to GetButtonPressed
    if R72HelmButton1 == -1 ; No button has been pressed yet
    Return
    elseif R72HelmButton1 == 0
    player.AddSpell, R72NightvisionFXspell
    elseif R72HelmButton1 == 1
    player.RemoveSpell, R72NightvisionFXspell
    elseif R72HelmButton1 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif
    if R72MenuintHelmSelect == 2

    set R72HelmButton2 to GetButtonPressed
    if R72HelmButton2 == -1 ; No button has been pressed yet
    Return
    elseif R72HelmButton2 == 0
    player.AddSpell, R72BrighterFXspell
    elseif R72HelmButton2 == 1
    player.RemoveSpell, R72BrighterFXspell
    elseif R72HelmButton2 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif
    if R72MenuintHelmSelect == 3

    set R72HelmButton3 to GetButtonPressed
    if R72HelmButton3 == -1 ; No button has been pressed yet
    Return
    elseif R72HelmButton3 == 0
    player.AddSpell, R72BrighterFXspell2
    elseif R72HelmButton3 == 1
    player.RemoveSpell, R72BrighterFXspell2
    elseif R72HelmButton3 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif
    if R72MenuintHelmSelect == 4

    set R72HelmButton4 to GetButtonPressed
    if R72HelmButton4 == -1 ; No button has been pressed yet
    Return
    elseif R72HelmButton4 == 0
    player.AddSpell, R72WaterBreath
    elseif R72HelmButton4 == 1
    player.RemoveSpell, R72WaterBreath
    elseif R72HelmButton4 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif
    if R72MenuintHelmSelect == 5

    set R72HelmButton5 to GetButtonPressed
    if R72HelmButton5 == -1 ; No button has been pressed yet
    Return
    elseif R72HelmButton5 == 0
    player.RemoveSpell, R72NightvisionFXspell
    player.RemoveSpell, R72BrighterFXspell
    player.RemoveSpell, R72BrighterFXspell2
    player.RemoveSpell, R72WaterBreath
    elseif R72HelmButton5 == 1
    ShowMessage R72Visionmenu
    set R72Menuint to 2
    Return
    elseif R72HelmButton5 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    Return
    endif
    endif
    ;================================================= ====================================
    ; Rüstungsmenu (Armor) (set R72MenuintArmorSelect)
    ;================================================= ====================================
    if R72MenuintArmorSelect == 1

    set R72ArmorButton1 to GetButtonPressed
    if R72ArmorButton1 == -1 ; No button has been pressed yet
    Return
    elseif R72ArmorButton1 == 0
    set StealthSoundStart to 1
    player.AddSpell, R72Stealth01
    if StealthSoundStart == 1
    PlaySound NPCMedicArmorStealth
    set StealthSoundStart to 0
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton1 == 1
    player.RemoveSpell, R72Stealth01
    set StealthSoundStart to 0
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton1 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    endif
    endif
    endif
    if R72MenuintArmorSelect == 2

    set R72ArmorButton2 to GetButtonPressed
    if R72ArmorButton2 == -1 ; No button has been pressed yet
    Return
    elseif R72ArmorButton2 == 0
    set StealthSoundStart to 1
    player.AddSpell, R72Stealth02
    if StealthSoundStart == 1
    PlaySound NPCMedicArmorStealth
    set StealthSoundStart to 0
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton2 == 1
    player.RemoveSpell, R72Stealth02
    set StealthSoundStart to 0
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton2 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    endif
    endif
    endif
    if R72MenuintArmorSelect == 3

    set R72ArmorButton3 to GetButtonPressed
    if R72ArmorButton3 == -1 ; No button has been pressed yet
    Return
    elseif R72ArmorButton3 == 0
    set StealthSoundStart to 1
    player.AddSpell, R72Stealth03
    if StealthSoundStart == 1
    PlaySound NPCMedicArmorStealth
    set StealthSoundStart to 0
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton3 == 1
    player.RemoveSpell, R72Stealth03
    set StealthSoundStart to 0
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton3 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    endif
    endif
    endif
    if R72MenuintArmorSelect == 4

    set R72ArmorButton4 to GetButtonPressed
    if R72ArmorButton4 == -1 ; No button has been pressed yet
    Return
    elseif R72ArmorButton4 == 0
    player.AddSpell, R72Medics
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton4 == 1
    player.RemoveSpell, R72Medics
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton4 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    endif
    endif
    if R72MenuintArmorSelect == 5

    set R72ArmorButton5 to GetButtonPressed
    if R72ArmorButton5 == -1 ; No button has been pressed yet
    Return
    elseif R72ArmorButton5 == 0
    player.RemoveSpell, R72Stealth01
    player.RemoveSpell, R72Stealth02
    player.RemoveSpell, R72Stealth03
    player.RemoveSpell, R72Medics
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton5 == 1
    ShowMessage R72ArmorMenu
    set R72Menuint to 3
    elseif R72ArmorButton5 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    endif
    endif
    ;================================================= ====================================
    ; Bewegungsmenu (Move) (set R72MenuintMoveSelect)
    ;================================================= ====================================

    if R72MenuintMoveSelect == 1

    set R72MoveButton1 to GetButtonPressed
    if R72MoveButton1 == -1 ; No button has been pressed yet
    Return
    elseif R72MoveButton1 == 0
    player.AddSpell, R72Speed01
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton1 == 1
    player.AddSpell, R72Speed02
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton1 == 2
    player.AddSpell, R72Speed03
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton1 == 3
    player.AddSpell, R72Speed04
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton1 == 4
    player.AddSpell, R72Speed05
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton1 == 5
    player.RemoveSpell, R72Speed01
    player.RemoveSpell, R72Speed02
    player.RemoveSpell, R72Speed03
    player.RemoveSpell, R72Speed04
    player.RemoveSpell, R72Speed05
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton1 == 6
    ShowMessage R72MainMenu
    set R72Menuint to 1
    endif
    endif
    if R72MenuintMoveSelect == 2

    set R72MoveButton2 to GetButtonPressed
    if R72MoveButton2 == -1 ; No button has been pressed yet
    Return
    elseif R72MoveButton2 == 0
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    endif
    endif
    if R72MenuintMoveSelect == 3
    set R72MoveButton3 to GetButtonPressed
    if R72MoveButton3 == -1 ; No button has been pressed yet
    Return
    elseif R72MoveButton3 == 0
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    endif
    endif
    if R72MenuintMoveSelect == 4

    set R72MoveButton4 to GetButtonPressed
    if R72MoveButton4 == -1 ; No button has been pressed yet
    Return
    elseif R72MoveButton4 == 0
    player.RemoveSpell, R72Speed01
    player.RemoveSpell, R72Speed02
    player.RemoveSpell, R72Speed03
    player.RemoveSpell, R72Speed04
    player.RemoveSpell, R72Speed05
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton4 == 1
    ShowMessage R72MoveMenu
    set R72Menuint to 4
    elseif R72MoveButton4 == 2
    ShowMessage R72MainMenu
    set R72Menuint to 1
    endif
    endif
    End


    Hat sich inzwischen mehr als erledigt, alles fertig *grins*
    Geändert von Angeldust007 (23.09.2010 um 00:21 Uhr) Grund: script im spoiler eingefügt, zwecks einfacher Fehlersuche

Berechtigungen

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