Ankündigung

Einklappen
Keine Ankündigung bisher.

Tooltips ändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Frage] Tooltips ändern

    Nachdem die Icongeschichte geklärt ist, sind jetzt die Tooltips dran. Insbesondere geht es um die Tooltips der interaktiven Objekte (siehe Bild).

    Ich habe schon rausgefunden, dass das die Widgets "/InGame/Root/Normal/TooltipBuy/FadeIn/Name" und "/InGame/Root/Normal/TooltipBuy/FadeIn/Text" sind. Für's erste wollte ich versuchen, die Tooltips permanent zu ändern, indem ich in der Mission_LocalOnMapStart einen HiResJob aufrufe, der so aussieht:

    Code:
    function tooltipmanipulation()
    
        XGUIEng.SetText("/InGame/Root/Normal/TooltipBuy/FadeIn/Name", "TEST")
        XGUIEng.SetText("/InGame/Root/Normal/TooltipBuy/FadeIn/Text", "Das ist ein Test.")
    end
    Das bewirkt leider nichts. Allerdings konnte ich mit

    Code:
    function tooltipmanipulation()
    
        XGUIEng.ShowWidget("/InGame/Root/Normal/TooltipBuy/FadeIn/Name", 0)
        XGUIEng.ShowWidget("/InGame/Root/Normal/TooltipBuy/FadeIn/Text", 0)
    end
    die Tooltips dauerhaft ausblenden (die rechteckige Box poppt zwar auf, ist aber leer).


    Jetzt ist die Frage, wann und wie kann ich den Tooltip ändern. Am wahrscheinlichsten scheint mir das mittels InteractiveObjectMouseOver().

    Code:
    GUI_Interaction.InteractiveObjectMouseOver_Orig = GUI_Interaction.InteractiveObjectMouseOver
    function GUI_Interaction.InteractiveObjectMouseOver()
        
        XGUIEng.SetText("/InGame/Root/Normal/TooltipBuy/FadeIn/Name", "TEST")
        XGUIEng.SetText("/InGame/Root/Normal/TooltipBuy/FadeIn/Text", "Das ist ein Test.")
    end
    Code:
    function GUI_Interaction.InteractiveObjectMouseOver()
        
        GUI_Tooltip.TooltipBuy({Goods.G_Gold, 500}, "TEST", "Das ist ein Test.")
    end
    und

    Code:
    function GUI_Interaction.InteractiveObjectMouseOver()
        
        GUI_Tooltip.FadeInTooltip("TEST", "Das ist ein Test.")
    end
    ändern leider alle nichts.


    Wer weiß weiter?
    Angehängte Dateien
    Zuletzt geändert von siedlereldeis; 16.08.2011, 13:13.

  • #2
    AW: Tooltips ändern

    Mit Hilfe des NEP habe ich es jetzt zumindest für die Gebäudeupgradebuttons hinbekommen.

    Code:
    function GUI_BuildingButtons.UpgradeMouseOver()
            
            local UpgradeCosts = GUI_BuildingButtons.GetUpgradeCosts()
            local TooltipTextKey = "testtooltip"
            local TooltipTextKeyDisabled = "testtooltip"
            GUI_Tooltip.TooltipBuy(UpgradeCosts, TooltipTextKey, TooltipTextKeyDisabled)
    end
    Dazu muss nur der entsprechende Eintrag in g_UserTooltips getätigt werden.

    Code:
    function GUI_Interaction.InteractiveObjectMouseOver()
            
            Logic.DEBUG_AddNote("T E S T")
            local UpgradeCosts = {Goods.G_Gold, 100}
            local TooltipTextKey = "testtooltip"
            local TooltipTextKeyDisabled = "testtooltip"
            GUI_Tooltip.TooltipBuy(UpgradeCosts, TooltipTextKey, TooltipTextKeyDisabled)
    end
    sollte folglich auch funktionieren. Das AddNote habe ich zur Kontrolle eingefügt. Es wird zu keinem Zeitpunkt angezeigt. Also wird InteractiveObjectMouseOver entweder nicht neu definiert oder während des Spiels überhaupt nicht ausgeführt.

    Was kann man da noch machen?
    Angehängte Dateien

    Kommentar


    • #3
      AW: Tooltips ändern

      vielleicht sowas in der Art?
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: edel7.jpg
Ansichten: 1
Größe: 36,3 KB
ID: 215986

      ich kann aber nur dringend davon abraten dermaßen in der GUI rumzufummeln...
      die Konsequenzen im Spiel sind unkalkulierbar...

      Kommentar


      • #4
        AW: Tooltips ändern

        Eher nicht. Wenn Du jetzt mit dem Mauszeiger auf das Edelsteinsymbol kommst, poppt immer noch der alte Tooltip auf. Der soll verändert werden, eben genauso wie in dem Bild in Beitrag #2.
        Zuletzt geändert von siedlereldeis; 16.08.2011, 19:00.

        Kommentar


        • #5
          AW: Tooltips ändern

          Zitat von siedlereldeis Beitrag anzeigen
          Eher nicht. Wenn Du jetzt mit dem Mauszeiger auf das Edelsteinsymbol kommst, poppt immer noch der alte Tooltip auf. Der soll verändert werden, eben genauso wie in dem Bild in Beitrag #2.
          ich bin mit dem Mauszeiger auf dem Symbol^^
          und das ist mein Tooltip
          und das Symbol hab ich nur etwas nach rechts gesetzt damit man die Kisten besser sieht
          Zuletzt geändert von LordFWD; 16.08.2011, 19:26.

          Kommentar


          • #6
            AW: Tooltips ändern

            Ah, ok. Innerhalb welcher Funktion manipulierst Du den?

            Kommentar


            • #7
              AW: Tooltips ändern

              Zitat von siedlereldeis Beitrag anzeigen
              Ah, ok. Innerhalb welcher Funktion manipulierst Du denn?
              in zu vielen...
              darum könnte es auch zu unerwarteten Spielabstürzen kommen
              wenn andere Funktionen auf Grund der Änderungen ein NIL bekommen...

              Kommentar


              • #8
                AW: Tooltips ändern

                Ist doch alles Mist. Warum läuft die InteractiveObjectMouseOver nicht?

                Kommentar


                • #9
                  AW: Tooltips ändern

                  Ich hab's doch noch hinbekommen. Letztendlich ist es ganz simpel. Das

                  Code:
                  if XGUIEng.GetWidgetPathByID(CurrentWidgetID) == "/InGame/Root/Normal/InteractiveObjects/1" 
                  or XGUIEng.GetWidgetPathByID(CurrentWidgetID) == "/InGame/Root/Normal/InteractiveObjects/2" then
                  
                      local x1, y1 = GUI.Debug_GetMapPositionUnderMouse()
                      local x2, y2 = Logic.GetEntityPosition(Logic.GetEntityIDByName("objekt"))
                      if abstandvon({x1, y1}, {x2, y2}) < 1000 then
                          _OptionalTextKeyName = "neuertooltip"
                          _OptionalDisabledTextKeyName = "neuertooltip"
                      end
                  end
                  muss in GUI_Tooltip.SetNameAndDescription aus dem NEP eingefügt werden.

                  Kommentar

                  Lädt...
                  X