GUI und Drake passen nicht zusammen. Ich brauche hilfe beim GUI

» Siedler Map Source Forum » Siedler DEdK Script Forum » GUI und Drake passen nicht zusammen. Ich brauche hilfe beim GUI

Seiten: 1

Drake
#1
26.06.2010 06:43
Beiträge: 132

GUI und Drake passen nicht zusammen. Ich brauche hilfe beim GUI

hi ich habe eine frege zu GUI wie kann ich die GUI Action und den Tooltip ändern habe alles versucht und nix funzt richtig pls hilfe.

un hier kriege ich immer nen Stack overflow :

	GUITooltip_ResearchTechnologies_Orig = GUITooltip_ResearchTechnologies
	GUITooltip_ResearchTechnologies = function(_a)
		if _a == 120  then	
         
		else 
		GUITooltip_ResearchTechnologies_Orig(_a)
		end
		
	end


(Ich glaube ich verstehe GUI in 100 Jahren nicht)

Dieser Beitrag wurde von Drake am 26.06.2010 um 09:44 editiert.

warrior1024
#2
26.06.2010 11:12
Beiträge: 345

Tipp: GUI_Elements

Research_LightBricks
                 Calls: GUIAction_ReserachTechnology(Technologies.T_LightBricks)
                 Calls: GUITooltip_ResearchTechnologies(Technologies.T_LightBricks,"MenuBrickworks/LightBricks")


Das steht in den GUI_Elements, Zeile 2058-2060

Somit sind die Parameter falsch.

function HackBrickworks()
	GUITooltip_ResearchTechnologies_Orig = GUITooltip_ResearchTechnologies
	GUITooltip_ResearchTechnologies = function(_tech, _kA)
		if _tech == Technologies.T_LightBricks  then
			XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomCosts, "Hallo, ich bin ein Tooltip!" )
		else 
			GUITooltip_ResearchTechnologies_Orig(_tech, _kA)
		end
	end
	GUIAction_ReserachTechnology_Orig = GUIAction_ReserachTechnology
	GUIAction_ReserachTechnology = function(_tech)
		if _tech == Technologies.T_LightBricks then
			BrickworksAction()
		else
			GUIAction_ReserachTechnology_Orig(_tech)
		end
	end
end
function BrickworksAction()
end



Dann gibt´s noch ein Problem:
Der Button fehlt(wird nicht angezeigt).
Lässt sich per SimpleJob abfragen, ob gerade eine Lehmhütte selektiert ist und dann eben XGUIEng.ShowWidget(120, 1) und XGUIEng.DisableButton(120,0)

warrior1024

____________________
"Banken machen keine Fehlentscheidungen! Haben Euch das Eure Eltern nicht beigebracht?"
- Bankier Samael Silren, Enderal

totalwarANGEL
#3
26.06.2010 11:23
Beiträge: 2123

Ich versuche dir das mal am Beispiel des Leibeigenen-Button zu erklären:

GUIAction_BuySerf_Orig = GUIAction_BuySerf
GUIAction_BuySerf = function()
    if DASundDAS == true then
	Function() -- was soll stattdessen getan werden?
    else
	GUIAction_BuySerf_Orig() -- Backup der alten Funktion.
    end
end

GUITooltip_BuySerf_Orig = GUITooltip_BuySerf
GUITooltip_BuySerf = function()
    if DASundDAS == true then
	XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomText, "Neuer Text"))
        XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomCosts, "Neue Kosten")
    else
	GUITooltip_BuySerf_Orig() -- Backup des alten Textes
    end
end



Die erste Funktion ändert die GUI Aktion und die zweite den Tooltip. Im Prinzip ist das bei allen anderen Buttons gleich mit geringen Abweichungen. Wenn du jetzt experimentieren willst, dann probier dich aus. Dadurch kannst du nur besser werden.

Andernfalls sag Bescheit. Natürlich kannst du die GUI auch ohne Backup hacken.

Syntax-Errors vorbehalten!

____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.

totalwarANGEL
#4
26.06.2010 11:23
Beiträge: 2123

Ups, da warrior schneller...

____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.

Seiten: 1

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum