GUI-Funktionen - Wer kann helfen bei dEdK

» Siedler Map Source Forum » Mapdiskussionen - Mapdiscussions » GUI-Funktionen - Wer kann helfen bei dEdK

Seiten: 1

Kalle
#1
31.08.2009 22:55
Beiträge: 1150

GUI-Funktionen - Wer kann helfen bei dEdK

Hallo Scripter,

wer kann mir bei den GUI-Funktionen helfen? Ich bekomme es einfach nicht hin, die Auswahl der zu bauenden (kaufenden) Gebäude zu erfassen. Die Entity-Protect habe ich "verarbeitet" und soweit verstanden. Aber ich finde keinen Ansatz, die/das ausgewählte Objekt (aus dem Bau-Menue) abzufragen.

Beispiel : Ich will DZ-besetzen verbieten

Hat jemand eine Idee übrig?

Danke

Kalle

____________________
Lieber Siedeln statt (fern)sehen.....

Noigi
#2
31.08.2009 23:18
Beiträge: 772

Aber immer!
Das hier ist ein simpler Hack einer internen GUI-Funktion, um den Klick auf den DZ-Button im Leibi-Menü abzufangen (fast 1:1 aus meinem ItM-Skript übernommen):

GUIAction_PlaceBuilding_Orig_DZVerbot = GUIAction_PlaceBuilding;
GUIAction_PlaceBuilding = function(_category)
	if _category == UpgradeCategories.VillageCenter then
		Message("Nix da, Freundchen!");
	else
		GUIAction_PlaceBuilding_Orig_DZVerbot(_category)
	end
end


Auf diese Weise lassen sich sämtliche internen GUI-Funktionen "kapern". Alle GUI_Action, GUI_Tooltip, GUI_... -Funktionen die es gibt stehen im _G-table.

-> Download: http://www.siedler-games.de/si...okuwiki/doku.php/utilscripts:g

Kalle
#3
01.09.2009 07:53
Beiträge: 1150

Perfekt - Danke

Hallo Noigi,

vielen, vielen herzlichen Dank, damit konnte ich das gewünschte erreichen. Funzt prima. Danke

Kalle

____________________
Lieber Siedeln statt (fern)sehen.....

Wladimir
#4
02.09.2009 11:51
Beiträge: 489

Dorfzentrum und dessen Funktionen deaktivieren

Wie stelle ich das Siedlerlimit aus ? Ging ja bei ItM auch und zu einer Karte, die mit meinem (mittlerweile geänderten) Kampfmap by Wladi versehen ist, könnte das doch passen.

Wladimir.

PS: Das Dorfzentrum selbst kann man doch auch mit einem ForbidTechnology deaktivieren.

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

Noigi
#5
02.09.2009 15:49
Beiträge: 772

Das Siedlerlimit kann man nicht abschalten, auch ItM macht das nicht.
Alle Siedler bei ItM werden im Endeffekt über CreateEntity, CreateMilitaryGroup o.Ä. erstellt und ignorieren daher das Limit.

Das einzige, was man abschalten kann, ist die Anzeige des Siedlerlimits links unten im Menü:

XGUIEng.ShowWidget( 707, 0 ); -- Bevölkerung
XGUIEng.ShowWidget( 716, 0 ); -- Icon Bevölkerung

Wladimir
#6
02.09.2009 16:44
Beiträge: 489

Zitat von Noigi:
Das Siedlerlimit kann man nicht abschalten, auch ItM macht das nicht.
Alle Siedler bei ItM werden im Endeffekt über CreateEntity, CreateMilitaryGroup o.Ä. erstellt und ignorieren daher das Limit.

Das einzige, was man abschalten kann, ist die Anzeige des Siedlerlimits links unten im Menü:

XGUIEng.ShowWidget( 707, 0 ); -- Bevölkerung
XGUIEng.ShowWidget( 716, 0 ); -- Icon Bevölkerung



Seltsam... es hieß nie: Euer Dofzentrum ist voll, ihr könnt keine weiteren Siedler haben.

Ich werde einfach hinter dem Rand der Karte DZs verstecken und nur eins (für Siedler und Arbeiter) dem Spieler übergeben.

Wladimir.

____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!

Gandalf

totalwarANGEL
#7
01.10.2009 14:17
Beiträge: 2123

Also ich hab auch mal eine Frage...

die geht an alle!

Kann mir jemand sagen wie die funktion zum verändern der texte der quickinfo, die erscheint, wenn man mit dem Mauszeiger auf die fortbildungsschalter der soldaten zeigt, aussehen muss?

ich bedanke mich schon mal im voraus.

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

Flodder
#8
01.10.2009 16:32
Beiträge: 2608

Zitat von totalwarANGEL:
die geht an alle!

Kann mir jemand sagen wie die funktion zum verändern der texte der quickinfo, die erscheint, wenn man mit dem Mauszeiger auf die fortbildungsschalter der soldaten zeigt, aussehen muss?
ich bedanke mich schon mal im voraus.


Hi totalwarANGEL,
ich schätze mal, beim Einblenden des Infotextes bei der jeweiligen Quickinfo wird die X/Y-Position der jeweiligen Quickinfo abgefragt.

Wenn ich richtig geschätzt habe, würde das bedeuten:
Befindet sich der Mauszeiger auf der X/Y-Position eines der Quickinfos, wird der jeweilige Qickinfotext eingeblendet.

Wenn dem so ist, läuft intern im Hintergrund ständig eine Abfrage, ob sich der Mauszeiger gerade genau auf einem der Quickinfos befindet.

Ob man das evtl. über eine sog. "Mouseover"-Funktion, oder überhaupt abfangen kann, entzieht sich momentan meiner Kenntnis. Evtl. eine bestimmte GUI hacken?

Gruss
Flodder

____________________
Take a Nudelholz und hau it on the Kopp of a bekloppt Person .... to give you a better Gefühl than vorher.

Dieser Beitrag wurde von Flodder am 01.10.2009 um 16:56 editiert.

Noigi
#9
01.10.2009 16:36
Beiträge: 772

Das geht - wie so oft - mit einem Hack einer bestimmten GUI-Funktion

Beispiele für solche Tooltip-Veränderungen gibt es zB hier (mit STRG-F nach "Tooltip" suchen):
http://www.siedler-games.de/si...iester_und_schamanen?s=tooltip

Die Funktion, die du hacken musst, wird intern (Beispiel: Upgrade auf Langbogen) so aufgerufen:

GUITooltip_ResearchTechnologies(Technologies.T_UpgradeBow1,"MenuArchery/UpgradeBow1","KeyBindings/UpgradeUnit1")


(Quelle: http://www.siedler-games.de/si...dokuwiki/doku.php/gui_elements )

Viel Spaß beim Tüfteln


Nachtrag @Flodder:
Jein!
Intern verwendet das Spiel bestimmt eine Mouseover-Funktion wie von dir beschrieben, aber zum Modifizieren müssen wir nicht so tief in die Materie einsteigen.

Flodder
#10
01.10.2009 16:49
Beiträge: 2608

Zitat von Noigi:
Das geht - wie so oft - mit einem Hack einer bestimmten GUI-Funktion

GUITooltip_ResearchTechnologies(Technologies.T_UpgradeBow1,"MenuArchery/UpgradeBow1","KeyBindings/UpgradeUnit1")




Boah... Noigi! Hut ab, das wars! Meine Aussage über Dein phänomenales Wissen in Funktionsdingen bestätigt sich mal wieder.

PS:
Die Funktion kann ich gerade gut gebrauchen!

Gruss
Flodder

____________________
Take a Nudelholz und hau it on the Kopp of a bekloppt Person .... to give you a better Gefühl than vorher.

totalwarANGEL
#11
01.10.2009 17:28
Beiträge: 2123

Aha!

Ich glaube es dämmert mir so langsam!
Danke Noigi. Mal sehen, ob ich weiter komme.

____________________
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