+ Antworten
Ergebnis 1 bis 9 von 9
  1. #1
    Sägewerker
    Registriert seit
    05.02.2011
    Beiträge
    159

    Standard 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?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Tooltips ändern-tooltip.jpg  
    Geändert von siedlereldeis (16.08.2011 um 13:13 Uhr)

  2. #2
    Sägewerker
    Registriert seit
    05.02.2011
    Beiträge
    159

    Standard 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?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Tooltips ändern-tooltip2.jpg  

  3. #3
    Müller Avatar von LordFWD
    Registriert seit
    05.11.2007
    Beiträge
    572

    Standard AW: Tooltips ändern

    vielleicht sowas in der Art?
    Tooltips ändern-edel7.jpg

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

  4. #4
    Sägewerker
    Registriert seit
    05.02.2011
    Beiträge
    159

    Standard 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.
    Geändert von siedlereldeis (16.08.2011 um 19:00 Uhr)

  5. #5
    Müller Avatar von LordFWD
    Registriert seit
    05.11.2007
    Beiträge
    572

    Standard AW: Tooltips ändern

    Zitat 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
    Geändert von LordFWD (16.08.2011 um 19:26 Uhr)

  6. #6
    Sägewerker
    Registriert seit
    05.02.2011
    Beiträge
    159

    Standard AW: Tooltips ändern

    Ah, ok. Innerhalb welcher Funktion manipulierst Du den?

  7. #7
    Müller Avatar von LordFWD
    Registriert seit
    05.11.2007
    Beiträge
    572

    Standard AW: Tooltips ändern

    Zitat 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...

  8. #8
    Sägewerker
    Registriert seit
    05.02.2011
    Beiträge
    159

    Standard AW: Tooltips ändern

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

  9. #9
    Sägewerker
    Registriert seit
    05.02.2011
    Beiträge
    159

    Standard 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.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Diplomatiestatus ändern
    Von KuschelUschi im Forum Siedler 6 AeK Mapperecke
    Antworten: 10
    Letzter Beitrag: 10.12.2008, 11:05
  2. Schriftgrösse ändern
    Von Sokrates im Forum Siedler 6 AeK Mapperecke
    Antworten: 1
    Letzter Beitrag: 11.08.2008, 15:37
  3. Terrain ändern
    Von Sombeline im Forum S6 Scriptecke
    Antworten: 3
    Letzter Beitrag: 04.08.2008, 13:23
  4. Wetter ändern
    Von Sombeline im Forum S6 Scriptecke
    Antworten: 7
    Letzter Beitrag: 07.07.2008, 13:03
  5. Ignofunktion ändern
    Von katrin74 im Forum Archiv
    Antworten: 24
    Letzter Beitrag: 30.10.2006, 12:38

Stichworte

Berechtigungen

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