FindView Tooltip
» Siedler Map Source Forum » Siedler DEdK Script Forum » FindView Tooltip
Seiten: 1
Play4FuN
|
#1 12.10.2018 15:47 Beiträge: 704 |
FindView Tooltip
Moin,
in meiner Karte ersetzte ich Bogis durch Banditen Bogis und Schwertis durch Barbaren Schwertis. Habe die FindView dementsprechend angepasst:
if Logic.GetNumberOfEntitiesOfTypeOfPlayer(gvMission.PlayerID, Entities.CU_BanditLeaderBow1) > 0 then XGUIEng.ShowWidget(gvGUI_WidgetID.FindBowLeader ,1) else XGUIEng.ShowWidget(gvGUI_WidgetID.FindBowLeader ,0) end
...läuft wunderbar.
Nur die Tooltips nicht. Bei unveränderten Speerträgern kommt der Tooltip, bei meinen veränderten jedoch nicht. Die Funktion GUITooltip_Generic ruft GUITooltip_NormalButton auf und dort findet die Anzeige des TT statt... Ich habe mir den _TooltipString Parameter per Message ausgeben lassen und der wird bei allen dreien richtig angezeigt. Naja fast: bei den unveränderten Speerträgern wird der wie erwartet gespammt, bei den veränderten jedoch erscheint der genau ein Mal, dann ist Schluss - und eben kein TT ...
Problem verständlich?
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Play4FuN
|
#3 12.10.2018 16:44 Beiträge: 704 |
GUITooltip_Generic_Orig = GUITooltip_Generic GUITooltip_Generic = function(a) if a == "MenuBuildingGeneric/RecruitGroups" then if gvMission.Autofill[gvMission.PlayerID] == true then XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomText, Umlaute(col.gray.."Automatisches Rekrutieren ausschalten @cr "..col.w.."Eure Hauptmänner werden nur neue Soldaten in ihre Gruppe aufnehmen, wenn Ihr es ihnen befehlt.")) else XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomText, Umlaute(col.gray.."Automatisches Rekrutieren anschalten @cr "..col.yel.."ermöglicht:"..col.w.."Eure Hauptmänner können selbstständig neue Soldaten in ihre Gruppe aufnehmen, sofern genügend Plätze und Rohstoffe vorhanden sind.")) end XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomCosts, "") XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomShortCut, "") else GUITooltip_Generic_Orig(a) end end
Also überschreiben will ich die (noch) nicht...
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#4 12.10.2018 17:40 Beiträge: 1472 |
Die sieht in Ordnung aus, was ist denn mit der GUITooltip_NormalButton?
Play4FuN
|
#5 12.10.2018 18:03 Beiträge: 704 |
Verändere ich gar nicht (direkt?)
Ich überschreibe
GUITooltip_UpgradeBuilding
GUITooltip_BuyMilitaryUnit
GUITooltip_ResearchTechnologies
und eben was ich schon geschrieben habe.
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#6 12.10.2018 19:40 Beiträge: 1472 |
Ok, das ist dann wirklich seltsam... Mal mit dem LuaDebugger nachgesehen obs ne Fehlermeldung gibt?
Play4FuN
|
#7 12.10.2018 20:41 Beiträge: 704 |
Klaro, der Debugger läuft die ganze Zeit. Schweigt jedoch :c
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Peter-FS
|
#8 15.10.2018 05:54 Beiträge: 1086 |
Tooltip
Hi, Problem schon gelöst?
Sonst könntest du mal im Skript der "Heiratsschwindler" nachsehen, da habe ich jede Menge tooltips verändert.
Welchen button möchtest du denn verändern? RecruitGroups, habs gesehen.
Mach dir doch mal ne message rein und prüfe die variablen. Dann siehst du auch, wie oft der Aufruf kommt und ob du in der richtigen Funktion bist.
____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!
Play4FuN
|
#9 18.10.2018 10:37 Beiträge: 704 |
Prinzipiell ist mir schon klar, wie ich die TTs verändern kann. Der gezeigte Code funzt ja auch - das ist ja auch nicht das Problemkind Die TTs für die FindView geht kaputt, wenn ich die GUIUpdate_FindView manipuliere, sodass eben Banditen Bogis statt normalen Bogis gefunden werden.
GUITooltip_Generic zeigt beim hovern der FindView Dinger den korrekten Parameter an, also zb "MenuTop/Find_bow"... aber im Gegensatz zu den unveränderten nur 1x und es wird kein TT angezeigt...
Ich hau mal den Code hier dazu:
GUIUpdate_FindView_Orig = GUIUpdate_FindView GUIUpdate_FindView = function() GUIUpdate_FindView_Orig() if Logic.GetNumberOfEntitiesOfTypeOfPlayer(gvMission.PlayerID, Entities.CU_BanditLeaderBow1) > 0 then XGUIEng.ShowWidget(gvGUI_WidgetID.FindBowLeader ,1) else XGUIEng.ShowWidget(gvGUI_WidgetID.FindBowLeader ,0) end if (Logic.GetNumberOfEntitiesOfTypeOfPlayer(gvMission.PlayerID, Entities.CU_Barbarian_LeaderClub1) + Logic.GetNumberOfEntitiesOfTypeOfPlayer(gvMission.PlayerID, Entities.CU_BlackKnight_LeaderMace1)) > 0 then XGUIEng.ShowWidget(gvGUI_WidgetID.FindSwordLeader ,1) else XGUIEng.ShowWidget(gvGUI_WidgetID.FindSwordLeader ,0) end end KeyBindings_SelectUnit_Orig = KeyBindings_SelectUnit KeyBindings_SelectUnit = function(_UpgradeCategory,_type) if _UpgradeCategory == UpgradeCategories.LeaderSword then if gvMission.PlayerID == 1 then _UpgradeCategory = UpgradeCategories.BlackKnightLeaderMace1 elseif gvMission.PlayerID == 2 then _UpgradeCategory = UpgradeCategories.LeaderBarbarian end elseif _UpgradeCategory == UpgradeCategories.LeaderBow then _UpgradeCategory = UpgradeCategories.LeaderBanditBow end KeyBindings_SelectUnit_Orig(_UpgradeCategory,_type) end
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#10 21.10.2018 22:04 Beiträge: 1472 |
Kann sein, das das Problem dabei ist, das du das Widget, das den Tooltip hat, jeden Tick mehrmals ein oder ausblendest. (Das Problem hatte ich nämlich mal.) Versuch mal, die GUIUpdate_FindView komplett neu zu schreiben.
Seiten: 1