View Full Version : EGuiControl.LogbookPage
Sargraner
30-11-2011, 18:05
Namd allerseits!
Mit Ach und Krach habe ich es gerade hinbekommen, meine Logbuchanzeige zu erweitern. Das Schlimmste war dabei, die Logbuchseite zu identifizieren. Funktioniert zwar, aber so kann ich das nicht veröffentlichen. Deshalb wünsche ich mir zum 1. Advent ein EGuiControl.LogbookPage um mit dessen Hilfe einen Filter basteln zu können, der nur anspringt, wenn ich die Logbuchübersichtsseite aufrufe.
Außerdem würde mich mal brennend interessieren, wozu die Funktionen
Function AddFilter(Filter As CGuiEventFilterBase)
Function AddPageAction(PageAction As Integer) As CGuiEventFilter
Function AddSubPage(SubPage As Integer) As CGuiEventFilter
in Class CGuiEventFilter
gut sind.
AddPageAction alias AddFilter(new CGuiEventFilterPageAction(PageAction))
AddSubPage alias AddFilter(New CGuiEventFilterPageAction(PageAction))
AddFilter sollte nun klar sein.
PageAction --> Jede Aktion im Spiel hat eine Nummer, welche aber nur für die aktuelle Webform gültig ist(EGuiPage). So könnte man z.b. nach einer flugaktion etwas bestimmtes tun. Achtung: Es gibt keine Garantie, dass sich die ID's von zeit zu zeit ändern(bzw. verschieben, weil ich zwischendrin was einfüge). Die ID's sind nämlich nicht festvergeben und werden vom Compiler festgelegt in Reihenfolge, wie sie im Quelltext von STNE stehen. Ausnahme: Schiffsaktionen, da sind die Konstanten von mir statisch vergeben worden.
SubPage ---> Geiches gilt für Unterseiten pro Webform. Gebäudeansicht oder kampfeinstellungen sind Unterseiten von EWebForm.Ship bzw. EWebform.Planet
Das mit dem Logbuch müsstest nur noch mal näher erläutern. Du redest von Logubchseiten, wärehdn du das Event aber nur auf einer Übersichtsseite haben möchtest("Eingang", "Ausgang", "Gelöscht").
Lieben Gruß,
Sebastian
Sargraner
07-12-2011, 13:20
OK! Die Erklärungen muss ich erst ein paar Mal in Ruhe durch die Großhirnrinde jagen.
Mit Logbuchseite meine ich die Übersichtsseite, also die, auf die man kommt, wenn man unter Kommunikation 'Logbuch' anklickt.
Ach soooo, na das ist simpel.
Var* Filter* As* CGuiEventFilter* =* CGuiEventFilter.Create().AddPage(EGuiPage.Logs);
ScriptContext.RegisterEvent(..., ...,* Filter);
Lieben Gruß,
Arakis
Es gibt keine Variable mit dem Namen 'EGuiPage'
compiler error: No method found with these amount of parameters. (Line: 1, Column: 58, Index: 57, Token: 'AddPage', File: 'Testscript').
Stimmt....ist beim nächsten Update mit drin.
Notfalls für "EGuiPage.Logs" einfach die Konstante 106 eintragen. EGuiPage-Konstanten ändern sich nicht.
Lieben Gruß,
Arakis
Sargraner
10-12-2011, 08:13
Wenn ich die Konstante 106 eintrage:
Es ist ein Fehler aufgetreten
Das Objekt mit dem Typ "System.Int32" kann nicht in den Typ "stne.EWebForm" konvertiert werden.
Das Update ist nun drin, daher sollte die Enumeration EGuiPage.Logs nun funktionieren.
Lieben Gruß,
Arakis
Sargraner
11-12-2011, 09:47
Funktioniert!
*Daumen hoch*
(Wieder kein passendes Smilie vorhanden.)
Powered by vBulletin® Version 4.2.2 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.