FunTrackers Easter Special 2016 - Finished! » View News


Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[GER] ManiaLinks Forever
» Eine Einführung in die neuen Forever ManiaLinks
Author Message
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #1
[GER] ManiaLinks Forever
ManiaLinks Forever
Eine Einführung in die neuen Forever-ManiaLinks

Letzte Aktualisierungen:
04.12.2008 - Neues Attribut für Labels hinzugefügt: MaxLine
19.10.2008 - Neue Attribute hinzugefügt: Scale und Looping
15.10.2008 - Abschnitt über Mehrsprachigkeit erweitert

Übersicht über das Tutorial

Positionierung und Ausrichtung
Überblick über die neuen Elemente
  • <frame>Zusammenfassen mehrerer Elemente
  • <quad>Darstellen von Bildern und Formen
  • <format>Globales Festlegen von Formatierungen
  • <label>Darstellen von Texten und Buttons
  • <entry>Einfaches Eingabefeld
  • <fileentry>Eingabefeld für einen Dateiupload
  • <timeout>Verhinderung des Cachens
  • <include>Importieren einer anderen XML-Datei
  • <music>Ausgabe von Hintergrundmusik (ohne Buttons)
  • <audio>Ausgabe einer Musikdatei (mit Play/Stop-Button)
  • <video>Ausgabe einer Videodatei

Wissenswertes zum Schluss

Einleitende Worte
Mit dem Forever Addon hat sich der Aufbau der ManiaLinks im Vergleich zu TMU grundlegend verändert. Durch die neuen Möglichkeiten wurden die bisher eng gefassten Grenzen stark gelockert und bieten nun viel Freiraum bei der Gestaltung. Aufgabe von diesem Tutorial ist es, euch die neuen Möglichkeiten zu erklären, sodass ihr anschließend in der Lage sein solltet, selbst einen neuen Forever-ManiaLink zu erstellen.
Das Tutorial beschäftigt sich zu Beginn mit etwas Theorie: Notwendiges Grundwissen über die Positionierung von Elemente. Im zweiten Post habt ihr anschließend eine detaillierte Beschreibung aller Elemente, inklusive jeweils eines Beispiels. Zum Schluss gehe ich auf einige wissenswerte Aspekte ein und gebe ein etwas komplexeres Beispiel, um einen (kleinen) zusammenhängenden ManiaLink zu zeigen.
Grob lässt sich sagen: <line> und <cell> gibt es in den neuen ManiaLinks nicht mehr. Sie werden durch frei positionierbare Elemente wie <quad>, <label> und <frame> abgelöst. Aber dazu später mehr ^^
Übrigens: Alle alten ManiaLinks aus TMU funktionieren in TMF, es besteht also kein Grund zur Panik. Es ist euch überlassen, ob ihr wirklich auf die neuen ManiaLinks umsteigt, oder weiterhin die alte Syntax verwendet.

Was nicht in diesem Tutorial erklärt wird:
  • Das grundlegende Erstellen einer ManiaLink-Datei
    Ich werde in diesem Tutorial nicht erklären, wie ihr einen ManiaLink erstellt oder registriert. Da sich hier im Vergleich zu TMU, bis auf die neue PlayerPage, nichts geändert hat, könnt ihr dafür das Tutorial von Bratwurst-Mobil zu Rate ziehen.
  • ManiaLinks für Server
    Ich werde mich in dem Tutorial auf die ManiaLinks beschränken, die im TMF-Explorer angezeigt werden. Spezielle Sachen für Server-ManiaLinks werden somit nicht behandelt.

Die neue Playerpage
TrackMania Forever hat eine eigene Playerpage: https://official.trackmania.com/tmf-playerpage/
An der PlayerPage und der Art und Weise, wie man einen Code registriert, hat sich nichts verändert, lediglich die URL ist eine neue.
Die alte TMU-PlayerPage wurde bereits abgeschalten, und in TMU sind die registrierten Codes nicht mehr abrufbar. In der Endphase der Beta wurden alle Codes zu TMF übertragen, sodass eben in TMF alle alten ManiaLinks erreichbar sind.


United vs. Nations: Die Unterschiede der Spielversionen
TMUF als kostenpflichtige Forever Version bietet natürlich die uneingeschränkte Nutzung der ManiaLinks, wie sie aus TMU schon bekannt ist.
In TMNF sieht das anders aus: Die kostenlose Version hat einige (teils wesentliche) Einschränkungen:
  • Keine registrierten ManiaLinks
    TMNF Spieler können weder eigene ManiaLinks registrieren, noch auf registrierte ManiaLinks zugreifen. Das bedeutet, dass nur über die komplette URL der XML-Datei auf den Manialink zugegriffen werden kann. Des Weiteren müssen alle Verlinkungen innerhalb des Manialinks über die URL stattfinden müssen, sofern dieser kompatibel zu TMNF sein soll.
    Übrigens: In TMNF gibt es keinen Explorer-Menüpunkt mehr im Hauptmenü. Ihr erreicht den Explorer, indem ihr in der oberen Leiste (Maus an den oberen Rand bewegen) das linke Icon anklickt Wink2
  • Keine ManiaCodes
    TMNF Spieler sind nicht in der Lage, auf ManiaCodes zuzugreifen: Der Zugriff direkt per URL wurde in TMU schon verweigert, und der Zugriff via Registrierung wird auch nicht unterstützt. Das hat als Folge, dass TMNF Spieler keine Inhalte von den Manialinks downloaden können, auch wenn sie kostenlos wären (TMNF Spieler haben keine Coppers). Das heißt, in TMNF sind die Manialinks nur zum "klotzen" da, um es mal direkt auszudrücken ^^
  • Grün ist die Welt
    In den neuen ManiaLinks kann direkt auf die Menü-Texturen zugegriffen werden (via Styles, siehe unten). Da die TMNF-Menüs vorwiegend in Grün gehalten sind, werden auch diese Styles in TMNF grün sein, während sie in TMNF verschiedene Farben haben. Diese Einschränkung ist im Vergleich zu den anderen nur gering, sodass diese keine weiteren Folgen auf die Verwendung der ManiaLinks in TMNF hat.
Anmerkung: Wenn ihr euch mit einem TMUF-Account in TMNF einloggt, so habt ihr nurnoch die dritte (kleine) Einschränkung. Die ersten beide Punkte beziehen sich also auf den Account-Typ, und nicht direkt auf die Spieleversion. Der dritte Punkt ist direkt von der eingesetzten Spieleversion abhängig.
Die Funktionstüchtigkeit der einzelnen Elemente ist bei beiden Spielen gleich: Das bedeutet, dass auch TMNF-Spieler die Features von Entries und FileEntries etc. wahrnehmen können Wink2





Der Anfang allen Übels: Positionierung und Ausrichtung
In den Forever ManiaLinks ist es möglich, alle visuellen Elemente frei auf dem Bildschirm zu positionieren. Das heißt natürlich auch, dass gewisse Kenntnisse über diese Positionierung notwendig sind. Deshalb werde ich in diesem Abschnitt detailliert auf die verwendeten Methoden eingehen.

Doppelt hält besser: Die beiden Positionierungsarten
In den neuen Forever ManiaLinks stehen zwei verschiedene Arten der Positionierung zur Verfügung: Die klassische Positionierung, bereits bekannt aus TMU mit einer Gesamtgröße von 2.0*1.5, und die neue Menü-Positionierung, die eine Gesamtgröße von 128*96 hat.
Kurzer Überblick über die beiden Positionierungsarten:
  • Klassische Positionierung:
    Bereich für X: -1.00 ... +1.00 - Je größer, desto weiter links!
    Bereich für Y: -0.75 ... +0.75 - Je größer, desto weiter oben
    Bereich für Z: -0.75 ... +0.75 - Je größer, desto weiter hinten
    Bereich für die Breite: 0.0 ... 2.0
    Bereich für die Höhe: 0.0 ... 1.5
  • Menü-Positionierung:
    Bereich für X: -64 ... +64 - Je größer, desto weiter rechts
    Bereich für Y: -48 ... +48 - Je größer, desto weiter oben
    Bereich für Z: -48 ... +48 - Je größer, desto weiter vorne
    Bereich für die Breite: 0 ... 128
    Bereich für die Höhe: 0 ... 96

Der Hauptunterschied zwischen den zwei Arten ist der Bereich für die Werte. Beachtet außerdem, dass in der klassischen Positionierung X- und Z-Achse im Vergleich zur Menü-Positionierung gespiegelt sind!
Für die Positionierung benötigt ihr nun die entsprechenden Attribute:
  • pos="X Y Z" und size="Breite Höhe" für die klassische Positionierung
  • posn="X Y Z" und sizen="Breite Höhe" für die Menü-Positionierung
Für die Menüpositionierung wird also einfach ein zusätzliches "n" an das Attribut angehangen. Die Werte werden dabei durch Leerzeichen getrennt in Anführungszeichen gesetzt. Für den manialink solltet ihr euch möglichst für eine Art der Positionierung entscheiden, da es sonst zu Verwirrungen kommen könnte, wenn ein Quad mit pos="0.5 0.5 0" und das andere mit posn="32 32 0" positioniert wird.
Die Werte beziehen sich stets auf das Elternelement. Das heißt, sollte ein Element sich in einem Frame befinden, so beziehen sich die angegebenen Werte relativ zu den Werten des Frames. Sollte das Element das <manialink>-Element als Vorgänger haben, so liegt der Koordinatenursprung in der Mitte des Fensters.

Darf's auch eine mehr sein? Die dritte Dimension
Frei positionierbare Elemente können sich natürlich gegenseitig überecken. Welches wird aber von wem verdeckt? Dazu gibt es den bereits erwähnten Z-Wert. Oben habe ich bereits den Bereich genannt, in dem sich der Z-Wert bewegen sollte. Allerdings sind diese Werte nur geschätzt, also legt es bitte nicht drauf an, diese bis zum Rand auszureizen Biggrin Beachtet auch, dass in der Menü-Positionierung große Werte vorne liegen, während diese in der klassischen hinten liegen Wink2
Sollten zwei Elemente den gleichen Z-Wert haben, oder sollte ein Element einen "ungültigen" (also außerhalb des Bereichs liegenden) Wert haben, so wird der Zufall entscheiden, welches Element letztendlich welches Überdeckt: Jeder Aufruf des Manialinks wird eine neue Reihenfolge zeigen. Achtet also darauf, immer eindeutige und gültige Werte zu verwenden.
Wie oben bereits erwähnt, können Elemente in ein Frame platziert werden, und dieser wiederum ebenfalls in einem Frame sein. Jeder Frame kann seinen eigenen Z-Wert haben. Sollte ein Element in einem Frame liegen, so ist sein gesamter Z-Wert gleich der Summe der Einzelwerte, also seinem eigenen Z-Wert plus den Z-Wert des Frames.
Als Beispiel: Ihr habt einen Frame mit dem Z-Wert 0.5 definiert (klassische Positionierung). In diesem Frame befindet sich ein Quad mit einem Z-Wert von 0.2. Das Quad hat also letztendlich einen Gesamt-Z-Wert von 0.7, es überdeckt alle Elemente mit einem Z-Wert größer als 0.7.


Genug Theorie: Nun zur Praxis
Es wird langsam Zeit, dass ein paar Codebeispiele gezeigt werden. Die genaue Erklärung der Elemente findet ihr unten, hier geht es erstmal nur um die Positionierung.

Code:
<quad pos="1 0.75 0" size="2 1.5" />
Dieses Quad wird in der linken oberen Ecke positioniert (gespiegelte X-Achse nicht vergessen Wink2) und hat die Größe des gesamten Bildschirms. Es kann also zum Beispiel als Hintergrundbild fungieren.

Das gleiche erreicht folgender Code:
Code:
<quad posn="-64 48 0" sizen="128 96" />
Auch hier wird das Quad in die linke obere Ecke positioniert und ober den gesamten Bildschirm gestreckt, nur diesmal mit der neuen Menü-Positionierung.

Code:
<quad sizen="20 20" />
Der Standartwert für pos(n) ist jeweils "0 0 0", also der Mittelpunkt des Bildschirmes bzw. der Positionierungspunkt des Vorgänger-Frames. Dieses Quad wird sich also ungefähr in der Mitte des Bildschirmes befinden. (Wieso nur ungefähr steht im nächsten Abschnitt).

Code:
<quad posn="20 20 0" />
Wird die Größe weggelassen, wird auch hier der Standartwert angewendet. Der Standart liegt dabei ungefähr bei pos="1 1" bzw. posn="64 64". Man würde also eine rechteckige Fläche erhalten, die mit ihrer Breite die Hälfte des Bildschirmes einnehmen.

Am besten ist es wohl, sowohl pos(n) als auch size(n) immer mit anzugeben, um dem Spiel keine Chance zur Willkür zu lassen Tongue
Als kleine Spielerei und zu Ausprobieren der Positionierungen habe ich ein kleines Skript entworfen, was ihr direkt aus TMU steuern könnt und (fast) live sehen könnt, wie sich die Manipulation der pos(n), size(n) und halign/valign Werte auf ein (simples) Quad auswirken. Zu Erreichen ist der ManiaLink unter Test Quad


Die perfekte Verwirrung: Die Auswirkungen von halign und valign
Wenn ihr soweit alles (zumindest einigermaßen) verstanden habt, wird es Zeit, etwas Verwirrung zu stiften: Die Ausrichtung der Element kommt nun ins Spiel.
Manche würden intuitiv wohl folgendes sagen: Mit halign (horizontal align => Horizontale Ausrichtung) und valign (vertical align => Vertikale Ausrichtung) wird die Position des Inhaltes angegeben, also in einem Label zum Beispiel, wo sich der Text befinden soll.

Dem ist aber (leider) nicht so. Die beiden Aligns beziehen sich nicht auf den Inhalt, sondern direkt auf die Position des Elementes selbst. Zur Veranschaulichung folgendes Bild:

[Image: 70664806366b51291.png]

Als Außenstehender würde man behaupten, dass die Ausrichtung genau verkehrt herum interpretiert wird: Gibt man valign="top" an, so ist das Viereck unten, bei halign="right" ist es links.
Sieht man aber das ganze aus Sicht des Viereckes, wird es dann logisch: Mit der Angabe von halign und valign wird festgelegt, an welcher Ecke sich der Positionierungspunkt befindet, also der Punkt, den wir mit Hilfe von pos oder posn festgelegt haben. Geben wir bottom und left an, so befindet sich der Punkt an der unteren linken Ecke des Viereckes.
Die Standart-Werte sind halign="left" und valign="top", das heißt, der Positionierungspunkt befindet sich standartmäßig in der oberen linken Ecke des Elements.

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
(This post was last modified: 04.12.2008 18:35 by Marcel.)
15.04.2008 18:11
Visit this user's website Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #2
RE: ManiaLinks Forever
Nun wird es ernst: Die Elemente der Forever ManiaLinks


<frame>
Ein Frame ist eine Zusammenfassung mehrerer Elemente. Er kann dafür eingesetzt werden, um zum Beispiel alle zu einem Bereich gehörende Elemente zu gruppieren, um somit eine gewisse Strukturierung zu erzielen. Es ist dabei möglich, Frames ineinander zu verschachteln, um den ManiaLink weiter zu untergliedern.
Der Vorteil der Verwendung von Frames ist, dass sich alle in ihm befindlichen Tags an dessen Positionierungspunkt ausrichten: Somit wirkt sich die Verschiebung des Frames direkt auf als Verschiebung der beinhaltenden Elemente aus. Somit kann zum Beispiel ein Bereich leicht verschoben werden Wink2
Um es noch einmal deutlich zu machen: Der Frame setzt den Koordinatenurspung auf seinen eigenen Positionierungspunkt. Die in ihm enthaltenen Elemente orientieren sich also an dem Punkt des Frames, nicht an der Bildschirmmitte Wink2

Attribute:
  • pos(n)="X Y Z"Die Position des Frames

Beispiel:
Code:
<frame posn="20 20 0">
    <quad posn="10 -10 0" />
</frame>
Ein Frame, der sich rechts oberhalb des Mittelpunktes des Bildschirms befindet. Alle in ihm enthaltenen Elemente (also auch das Quad) werden sich relativ zum Punk (20, 20, 0) anordnen, also leicht versetzt zur Mitte. Das bedeutet, dass das Quad nun um (10, -10, 0) versetzt zum Punkt (20, 20, 0) positioniert wird, also letztendlich am Punkt (30, 10, 0). Es ist natürlich möglich, weitere Elemente in den Frame zu stecken, der Einfachheit halber wurde hier nur eins aufgeführt Wink2


<quad>
Eines der wichtigsten Elemente in den Forever Manialinks ist das Quad. Die Aufgabe der Quads ist es, Bilder auf den neuen ManiaLinks darzustellen. Dabei kann ein Quad auf die Maus reagieren (Ändern des Bildes wenn die Maus hinein bewegt wird), sowie verlinkt werden.
Bei einem Quad handelt es sich um einen StandAlone-Tag, das heißt, es hat keinen Inhalt zwischen den öffnenden <quad> und dem schließenden </quad>-Tag. Dabei bietet XML eine Kurzschreibweise an: Statt <quad ...></quad> kann <quad ... /> geschrieben werden. (Das gilt für alle StandAlone-Tags) Wink2

Attribute:
  • pos(n)="X Y Z"Die Position des Quads
  • size(n)="Breite Höhe"Die Größe des Quads
  • scale="Faktor" - Der Skalierungsfaktor für das Quad
    Mit dem Skalierungsfaktor kann die wirkliche Ausdehnung des Quads bestimmt werden. Dabei entspricht der Wert "1" der Originalgröße, die bei size(n) angegeben wurde. Wird zum Beispiel scale="2" angegeben, erscheint das Quad am Ende doppelt so groß, wie bei size(n) angegeben, ist der Wert kleiner als 1, wird das Quad entsprechend verkleinert.
  • halign="left|center|right"Die horizontale Ausrichtung
  • valign="top|center|bottom"Die vertikale Ausrichtung
  • image="Bild.jpg"Die URL für das Bild
    Wie bereits gesagt, dient ein Quad vorwiegend zum Darstellen von Bildern. Das mit image angegebene Bild wird dabei auf die Größe des Quads angepasst, das heißt, das Bild füllt stets das Quad voll aus. Neben den bereits in TMU unterstützten Bildformaten .jpg, .tga und .dds wird in TMF nun auch .gif (256 Farben, mit Transparenzfarbe) und .png (24bit, mit und ohne Transparenz) unterstützt.
  • imagefocus="Bild.jpg"Die URL für das MouseOver-Bild
    Wird die Maus in das Quad hinein bewegt, so wird das image-Bild automatisch durch dieses Bild ersetzt. Wird die Maus wieder hinausbewegt, wechselt das Quad zurück zum image-Bild.
    Für imagefocus gelten die gleichen Bedingungen wie für image.
    Der genannte Effekt tritt nur auf, wenn das Quad verlinkt wurde. Ohne Verlinkung wird das Bild nicht geändert.
  • style="KategorieName"Der Name der Kategorie des vordefinierten Styles
  • substyle="StyleName"Der Name des vordefinierten Styles
    Mit den beiden Attribute style und substyle können auf diverse vordefinierte Styles aus TMF, wie zum Beispiel Menüelemente oder Buttons, zugegriffen werden. Beide Angaben sind notwendig, um einen Style zu erhalten. style/substyle und image/imagefocus können nicht gleichzeitig verwendet werden, da sie beide für die gleiche Eigenschaft zuständig sind (das Erzeugen eines Bildes) und sich somit gegenseitig blockieren.
    Smurf stellt einen Manialink zur Verfügung, auf dem ihr alle vorhandenen Styles für Quads und Labels einsehen könnt: ManiaLink Example
  • bgcolor="RGBA"Einfarbiger Hintergrund
    Bei Quad kann, wie bei den Cells aus TMU, ein einfarbiger Hintergrund angezeigt werden. Der Wert entspricht einer 4stelligen Hexadezimalzahl, wie beim textcolor das Format-Tags, wobei jeder Farbwert (Rot, Grün und Blau) eine Stelle hat, und die vierte Stelle für die Transparenz (Alpha) ist. (Jede Stelle hat den Bereich 0..9 und A..F)
    Dieses Attribut kann auch im <format> angegeben werden und bezieht sich dann auf alle Quads des ManiaLinks bzw. Frames. Es hat keine Auswirkungen auf die anderen Elemente, die die Format-Attribute unterstützen.
  • url="ExterneSeite.html"Verlinkung zu einer externen Seite
  • manialink="ManiaLink"Verlinkung zu einem anderen Manialink (über registrierten Code oder URL)
  • maniazones="Maniazones-Link"Verlinkung zu ManiaZones
    Mit diesen drei Tags kann eine Verlinkung erzeugt werden, entweder zu einer externen Seite (TMF wird minimiert und ein Browserfenster wird geöffnet), zu einem anderen ManiaLink, oder zu ManiaZones (Keine weiteren Kenntnisse. Scheint irgendwie keinen Effekt in TMF zu haben oO). Es kann logischerweise nur eine der drei Link-Attribute verwendet werden Wink2
  • addplayerid="1"Erzeugen eines Identifizierungs-Link
    Dieses Attribut, auf "1" gesetzt, wandelt den angegebenen Link in einen Identifizierungslink um, das bedeutet, es werden die Daten des Spielers an den Link angehangen. Auf diese kann dann per PHP zugegriffen werden. Folgende Angaben werden hinzugefügt:
    playerlogin=m4rcelDer Accountname
    lang=deDie Sprache der Spielversion
    nickname=FT»MarcelDer Nickname inklusive Formatierungen (Sonderzeichen verfälscht, also statt » wird beispielsweise als %bb angegeben)
    path=World/Germany/Thuringia/ErfurtDer im Profil angegebene Ort (/ wird als %7c angegeben)
    Mit diesen Werten kann quasi eine Identifizierung des Spielers erfolgen, um spezielle Dienste auf dem ManiaLink anzubieten.
    Der Link würde mit diesen Werten folgendermaßen aussehen: Seite.php?playerlogin=m4rcel&lang=de&nickname=FT%bbMarcel&path=World%7cGermany%7cThuringia%7cErfurt, wobei Seite.php die bei url, manialink bzw. maniazones angegebene URL ist.
    Wichtiger Hinweis: Leider ist AddPlayerID nicht so sicher, wie es klingt. Zwar ist eine Identifizierung des Spielers möglich, doch lassen sich diese Daten sehr leicht manipulieren, indem man einfach die URL manuell eingibt. Für kritische Bereiche somit nicht zu empfehlen! Wink2

Beispiele:
Code:
<quad pos="-0.5 0.25 -0.5" size="1.2 0.2"
    valign="center"
    image="http://funtrackers.bplaced.net/images/tm_island/header.png"
    imagefocus="http://funtrackers.bplaced.net/images/tm_desert/header.png"
    manialink="http://localhost/manialink/index.xml"
/>
Dieses Quad hat als Hintergrundbild den Island-Header des FT-Forums. Geht man mit der Maus drüber, so ändert er sich zum Desert-Header. Als Link wurde dabei die Datei selbst angegeben, die sich auf meinem lokal eingerichteten Server befindet, damit ich die URL nicht immer neu eingeben brauch Tongue Das Quad wurde dabei rechts oberhalb des Mittelpunktes gesetzt. Mit Z=-0.5 wurde es relativ weit nach vorne gesetzt.

Code:
<quad posn="0 0 0" sizen="32 32" halign="left" valign="top" style="Bgs1InRace" substyle="BgWindow1" />
Dies ist das voreingestellte Quad, was mein [url=tmtp://funtrackers.bplaced.net/manialink/quad/]Quad-Positionierungs-Script auswirft. Hier sieht man die Verwendung voreingestellter Styles. Die Kombination "Bgs1InRace" und "BgWindow1" erzeugt dabei ein recht dunkles, abgerundetes Viereck.


<format>
Der Format-Tag fasst als nicht-visuelles Element mehrere Formatierungen zusammen, die gewisse andere Elemente übernehmen. Die Formatierungen gelten entweder global für den gesamten Manialink, oder, wenn es in einem Frame angegeben wurde, nur lokal für diesen Frame und seine Sub-Frames.
Beeinflusst von den Formatierungen werden Labels, Entries und FileEntries, wobei diese Elemente jederzeit die vordefinierten Formatierungen überschreiben können.
(Dieses Element gab es übrigens schon in TMU, und wurde lediglich um die Style-Angabe ergänzt Wink2 )

Attribute:
  • textsize="Zahl" – [i]Die Größe des Textes
  • textcolor="RGBA"Die Farbe des Textes
    Die Textfarbe ist eine 4stellige Hexadezimalzahl nach dem Muster RGBA, also jede Ziffer ist im Bereich 0..9 oder A..F. Der vierte Wert ist die Transparenz.
  • style="StyleName"Der Name des vordefinierten Styles
    Beachtet, dass hier nur die Styles eines Labels angewendet werden können, die sich von den Styles der Quads unterscheiden. Welche Styles es gibt, seht ihr wie oben bereits gesagt auf Smurfs ManiaLink. (Beachtet, dass manche Styles, wie zum besipiel die CardButtons, direkt Auswirkungen auf die Größe des dazugehörigen Elements, etwa ein label, hat.)

Beispiel:
Code:
<format style="TextValueSmall" />
Hier wird festgelegt, dass der Text in Labels, Entries und FileEntries die Formatierungen eines Eingabewertes (TextValueSmall) erhalten sollen. Genauso gut könnte man selbst Größe und Schriftfarbe für den Text festlegen Wink2


<label>
Das Label ist ebenfalls eines der wichtigsten neuen Elemente. Seine Aufgabe ist die Ausgabe von Texten, wobei der Begriff Label hier nicht als "Bezeichnung" dient, sondern generell den Text-Tag ersetzt. Das heißt, auch längere Texte werden in den Forever ManiaLinks mit Hilfe von labels dargestellt.
Da das Label eines der Elemente ist, dass die Format-Eigenschaften umsetzt, kann hier auch auf vordefinierte Styles zugegriffen werden: Somit ist es möglich, den Text direkt als weißen Button darzustellen.
Als besondere Fähigkeit können die Labels gewisse Wörter selbstständig übersetzen: So wird aus dem Wort "Statistics", je nach eingestellter Sprache, automatisch übersetzt, also zu "Statistik" im Deutschen. Dies funktioniert nur bei alleinstehenden Wörtern, sobald auch nur ein Zeichen mehr oder weniger ist, wird der Übersetzungsmechanismus außer Kraft gesetzt. (Gut wenn ungewollt ein Wort übersetzt wird: Einfach ein Leerzeichen hinten dran gesetzt und es bleibt Englisch Wink2)

Attribute:
  • pos(n)="X Y Z"Die Position des Labels
  • size(n)="Breite Höhe"Die Größe des Labels
  • scale="Faktor" - Der Skalierungsfaktor für das Label
  • halign="left|center|right"Die horizontale Ausrichtung
  • valign="top|center|bottom"Die vertikale Ausrichtung
    Die beiden Ausrichtungen haben direkt Einfluss auf die Darstellung des Textes, der diese Ausrichtungen mit übernimmt. Der Text orientiert sich dabei so nah wie möglich am Positionierungspunkt, also wenn der Punkt sich unten in der Mitte (bottom center) befindet, wird der Text zentriert am unteren Rand des Labels dargestellt.
    Bei mehrzeiligem Text wird allerdings nicht jede Zeile einzeln, sondern alle Zeilen zusammen an einer Linie ausgerichtet (in Bezug auf halign).
  • text="Labeltext"Der Text des Labels
    Mit deisem Attribut wird der anzuzeigende Text angegeben. Zeilenumbrüche im Text werden als solche im ManiaLink angezeigt.
    Anstatt <label text="LabelText" /> zu schreiben, kann der ext auch zwischen die Tags geschrieben werden: <label>LabelText</label> (Das erinnert schon stark an den Text-Tag, wo der Text ja auch zwischen den Tags stand Wink2)
    Der Text kann beliebige $-Formatierungen enthalten.
  • autonewline="1"Aktiviert den Zeilenumbruch
    Mit diesem Attribut kann der Zeilenumbruch aktiviert, sodass zu lange Zeilen an Leerzeichen oder gewissen Sonderzeichen umgebrochen werden. Ansonsten wird der Text in einer Zeile angezeigt, und falls notwendig auf die Breite des Labels gestaucht.
  • maxline="Anzahl" - Begrenzt die maximale Anzahl an dargestellten Zeilen
    In Verbindung mit AutoNewLine ist es mit MaxLine möglich, die darzustellenden Zeilen auf die angegebene Anzahl zu begrenzen. Sollte das Label mehr Zeilen besitzen, so werden die weiteren Zeilen abgeschnitten und nicht mehr mit ausgegeben.
  • url="ExterneSeite.html"Verlinkung zu einer externen Seite
  • manialink="ManiaLink"Verlinkung zu einem anderen Manialink (über registrierten Code oder URL)
  • maniazones="Maniazones-Link"Verlinkung zu ManiaZones
    Sollte kein Style angewendet werden, so wird automatisch der gesamte Bereich des Labels verlinkt, und nicht nur der Text. Wird eine Verlinkung erzeugt, so wird das Attribut autonewline nicht mehr interpretiert. (Ein Bug den ich bereits in der Beta gemeldet hatte)
  • addplayerid="1"Erzeugen eines Identifizierungs-Link
    Informationen siehe Attribut AddPlayerID des Quads.
  • <format>-Attribute

Beispiel:
Code:
<label posn="-30 -20 5" halign="center" style="CardButtonMedium" text="$o$008Weißer Button mit dunkelblauer Schrift" />
Dieses Label wird in der unteren linken Ecke positioniert, und hat neben dem vordefinierten Style auch ein paar $-Formatierungen.


<entry>
Eine grundlegende Neuerung der ManiaLinks ist die Möglichkeit, Eingaben der Spieler entgegen zu nehmen und diese (per PHP-Script) auswerten zu lassen. Für die Eingabe steht euch das Entry zur Verfügung, welches automatisch seinen Wert in jede URL einfügt, wo sein Name auftaucht. Wie das Quad ist auch das ENtry ein StandAlone-Tag und enthält somit keinen Text zwischen den Tags.
Ein Entry nimmt stets Zeichenketten (Strings) entgegen, eine eventuelle Einschränkung der Werte (zum Beispiel auf Zahlen) muss im Script geschehen, das ungültige Werte abfängt und eventuell eine Fehlermeldung erzeugen könnte.
Es dürfte selbsterklärend sein, dass ein Entry nur sinnvoll in Verbindung mit einem dynamischen (also auf einem Script basierenden) ManiaLink ist. Ein statischer (auf einer XML basierender) ManiaLink könnte ja auf Eingaben nicht reagieren Wink2

Attribute:
  • pos(n)="X Y Z"Die Position des Entries
  • size(n)="Breite Höhe"Die Größe des Entries
  • scale="Faktor" - Der Skalierungsfaktor für das Entry
  • halign="left|center|right"Die horizontale Ausrichtung
  • valign="'top|center|botton"Die vertikale Ausrichtung
  • name="EntryName"Der (eindeutige) Name des Entries
    Um auf Eingaben reagieren zu können, ist der Name des Entries von äuserster Bedeutung: Sollte in irgendeinem Link dieser Name auftreten, so wird er automatisch durch den aktuellen Wert des Entries ersetzt. Deshalb ist es auch wichtig, dass die Entries alle einen eindeutigen Namen haben.
  • default="Wert"Der Standard-Wert des Entries
    Dieser Wert wird beim Aufruf des ManiaLinks in das Entry geschrieben. Solange der Spieler nicht selber den Wert ändert, wird er im Eingabefeld stehen bleiben.
  • autonewline="1"Aktiviert den Zeilenumbruch
    Bei größeren Entries kann es nützlich sein, wenn die Eingabe über mehrere Zeilen geht. Das erreicht man über AutoNewLine. Ohne diese Angabe würde die Eingabe immer in einer Zeile gezeigt werden, auch wenn die Enter-Taste gedrückkt wird.
  • <format>-Attribute

Beispiel:
Code:
<entry posn="15 -8 5" sizen="5 2" style="TextValueSmall" name="inputwert" default="42" />
<label posn="15 -1 -12 5" style="CardButtonMedium" text="Link mit Wert" url="http://seite.php?wert=inputwert" />
Dieses Entry zeigt beim Aufruf des ManiaLinks den Wert "42" an, den der Spieler jederzeit ändern kann. Klickt der Spieler auf das Label (welches als Button dargestellt wird), so wird "inputwert" automatisch durch seine Eingabe ersetzt, und kann schließlich in seite.php ausgewertet werden.


<fileentry>
Der name sagt es bereits: Das FileEntry hat die Aufgabe, ganze Dateien entgegenzunehmen und diese an ein verarbeitendes Script zu schicken. Wird dieses Element angeklickt, so öffnet sich für den Spieler ein kleines Fenster, wo er eine Datei auswählen kann, die anschließend auf den Server hochgeladen werden kann. Diese Aktion bedarf allerdings gute Kenntnisse in PHP, da schließlich die Datei entgegengenommen (POST-Methode) und auf dem Server abgelegt werden muss. (An dieser Stelle hören meine Kenntnisse dann auf, sodass ich nicht wirklich viel dazu sagen kann ^^)

Attribute:
  • pos(n)="X Y Z"Die Position des FileEntries
  • size(n)="Breite Höhe"Die Größe des FileEntries
  • scale="Faktor" - Der Skalierungsfaktor für das FileEntry
  • halign="left|center|right"Die horizontale Ausrichtung
  • valign="top|center|bottom"Die vertikale Ausrichtung
  • name="FileEntryName"Der Name des Feldes
    Der Name eines FileEntries hat die gleiche Funktion wie der Name des Entries. Weitere Informationen siehe Entry.
  • folder="OrdnerPfad"Der Pfad des obersten Ordners
    Der hier angegebene Ordner wird als erster beim Aufruf des Öffnen-Dialogs angezeigt, und ist gleichzeitig der oberste erreichbare Ordner. Der Standard-Ordner ist der TMF-Ordner in den eigenen Dateien.
    Wichtiger Hinweis: Folder muss unbedingt angegeben werden, ohne dieses Attribut stürzt TMF ab! Wollt ihr den obersten Ordner (den TrackMania Ordner in den eigenen Dateien), so gebt folder="" an Wink2
  • autonewline="1"Aktiviert den Zeilenumbruch
    Hat den gleichen Effekt wie beim Entry, macht hier aber eventuell nicht so viel Sinn, da ja schließlich immer nur der Dateiname (plus Pfad) drinsteht.
  • default="Wert"Der Standardwert des FileEntries
    Der Default Wert hat die gleiche Aufgabe wie bei einem Entry: Dieser Wert wird bei Aufruf des Manialinks angezeigt, und sofort ersetzt, wenn der Spieler eine Datei ausgewählt hat.
  • <format>-Attribute

Beispiel:
Code:
<fileentry sizen="39 2" posn="16 -28 0" halign="left" style="TextValueSmall" name="avatarfilename" folder="skins\avatars" default="??"/>
<label posn="1 -32 0" halign="left" style="CardButtonMediumWide" manialink="POST(http://localhost/ManialinkSamples/UploadAvatar.php?file=avatarfilename,avatarfilename)" addplayerid="1" text="Post with playerid, target=manialink"/>
Dieser Code stammt aus dem Manialink-Beispiel von Nadeo, der im Betaforum zur Verfügung gestellt wurde.
Das hier angegebene FileEntry startet im Ordner "skins\avatars", sodass der Spieler nur einen Avatar hochladen kann, oder aber eine beliebige andere datei, die er zuvor in diesen Ordner gespeichert hat.
Das Label zeigt, wie die Datei an ein passendes Script gesendet wird: Mit Hilfe von POST() wird die datei übertragen, und kann vom Script entgegengenommen und auf dem Server abgelegt werden. (Mit Hilfe der Daten des AddPlayerID-Attributs kann ein eindeutiger Dateiname erzeugt werden.)


<timeout>
in TMU hatte man bisher das Problem, dass die Manialinks gecacht wurden, das heißt, sie wurden lokal gespeichert, und beim nächsten Aufruf wurde nur die lokale Sicherung abgerufen, anstatt das sie erneut vom Server geladen wurde. Gerade bei dynamischen ManiaLinks, wo sich der Inhalt schnell ändern kann, war dies ärgerlich. Mit Hilfe von Header-Manipulationen konnte man zwar das Cachen verhindern, aber so wirklich elegant sah das danach nicht mehr aus ^^
Hierfür ist nun das TimeOut-Tag zuständlich: Es wird einfach ein Zeitintervall in Sekunden angegeben. Wird diese zeitdauer überschritten, lädt TMF den ManiaLink beim nächsten Aufruf neu vom Server herunter, und somit sind Änderungen sofort sichtbar.

Beispiel:
Code:
<timeout>0</timeout>
Die zwei Tags umschließen eine Null. Noch Fragen? Biggrin
Mit diesem Codeschnipsel wird TMF gezwungen, die XML bzw. PHP-Datei jedesmal neu vom Server abzurufen, sodass eventuelle Änderungen sofort sichtbar werden, ohne TMF neu starten zu müssen. Nutzt diesen Code, wenn ihr gerade im Aufbau des Manialinks seit, damit ihr auch wirklich immer alle Änderungen sehen könnt Wink2


<include>
PHP-Programmierer unter euch werden die Bedeutung von diesem Element sofort erahnen: Mit Hilfe von Include kann eine andere XML-Datei in die aktuelle Datei eingebunden werden. Häufig verwendete Inhalte können so in einer seperaten Datei abgelegt werden, und in den einzelnen ManiaLinks einfach per Include-Tag eingefügt werden.
Die zu importierende Datei enthält dabei lediglich die Tags, ohne XML-Header oder dem <manialink>. Stellt euch das Importieren wie folgt vor: TMF schneidet die XML-Datei an der Stelle des Includes auseinander, und klebt dort dann die zu importierende Datei 1:1 rein. Somit würde ein zusätzliches <manialink> nur stören Wink2
Es gibt allerding einen kleinen bug, der mir bereits in der Beta aufgefallen ist: Es wird immer nur das erste Element importiert, alle nachfolgenden Elemente scheinen ignoriert zu werden. Ein kleiner Trick: Schreibt den einzufügenden Code zwischen <frame> und </frame>, somit wird der Frame als Element ausgewählt und alle enthaltenden Elemente erfolgreich importiert. Nachteil: Da der Music-Tag nicht in Frames funktioniert, kann dieses Element nur alleine in einer XML-Datei includiert werden Sad

Attribute:
  • url="inc.xml"Die zu importierende Datei

Beispiel:
Manialink Datei:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
    <include url="http://localhost/manialink/inc.xml"/>
</manialink>
Datei inc.xml:
Code:
<frame>
    <quad posn="-20 -20 0" sizen="20 20" style="Bgs1InRace" substyle="BgWindow2" />
    <quad posn="20 20 1" sizen="20 20" style="Bgs1InRace" substyle="BgWindow1" />
</frame>
Die Hauptdatei enthält hier nur das Include-Element. Damit von inc.xml auch wirklich beide Quads angezeigt werden, müssen diese in einem Frame zusammengefasst werden. Ohne den Frame würde nur das erste Quad auf dem ManiaLink angezeigt werden.


<music>
Bisher musste Hintergrund-Musik über den Audio-tag eingefügt werden, dem eine Größe von 0*0 zugewiesen wurde, um den Start/Stop-Button zu verstecken. Genau für diesen zweck kommt das Musik-Element ins Spiel: Nach Angabe einer passenden Musik-Datei im .ogg oder .mux-Format, wird diese Musik ohne visuelle Ausgabe im Hintergrund als Endlosschleife abgespielt. Netter Nebeneffekt: Wird der ManiaLink gewechselt, und hat der folgende ManiaLink dieselbe Musikdatei als Hintergrundmusik, so spielt die Musik ohne Unterbrechung direkt weiter Wink2
Der Music-Tag funktioniert nur, wenn es direkt im <manialink> steht, sobald es in einen Frame gesetzt wird, bleibt es ruhig (bzw. es wird die Standard-Menümusik abgespielt). Am besten ist es, den Music-Tag als allerletztes anzugeben, so wird erst der gesamte ManiaLink geladen, und danach erst die (eventuell etwas größere) Musikdatei Wink2

Attribute:
  • data="Musik.ogg"Die abzuspielende Musikdatei

Beispiel:
Code:
<music data="http://localhost/manialink/alpine_race.ogg"/>
Einfache Funktion, einfacher Code. Einfach das Musikfile (Hier die Snow-Musik aus TMO) mit data angeben, und fertig. (Weil einfach einfach einfach ist Ugly )


<audio>
Eines der wenigen Elemente, dass uneingeschränkt in der neuen Struktur der Forever-ManiaLinks funktioniert, ist das Audio. Wie euch bereits aus TMU bekannt sein durfte, kann man mit Hilfe des Audios eine Musikdatei abspielen lassen. Der Unterschied zum Music ist, dass beim Audio ein Play oder Stop-Button angezeigt wird, über den der Spieler das Abspielen der Musik steuern kann. Wie bei Music sind hier die zulässigen Formate .ogg und .mux.

Attribute:
  • pos(n)="X Y Z"Die Position des Audios
  • size(n)="Breite Höhe"Die Größe des Audios
    Auf Grund der Abwärtskompatibilität stehen euch auch noch die zwei alten Attribute für die Größe zur Verfügung: width="Breite" und height="Höhe" (Beide nur mit der klassichen Positionierung).
  • scale="Faktor" - Der Skalierungsfaktor für das Audio
  • data="Audio.ogg"Die Audio-Datei
    Anstelle das Attribut data zu verwenden, kann die Datei, wie in TMU, zwischen die Tags geschrieben werden: <audio>Audio.ogg</audio>
  • play="1"Automatischer Start beim Aufruf des Manialinks
    Wird play auf "1" gesetzt, so wird die Musikdatei automatisch beim Aufruf des Manialinks abgespielt, ohne dass der Spieler auf den Play-Button drücken muss.
  • looping="0" - Deaktivieren des Wiederholens der Audio-Datei
    Wird looping auf "0" gesetzt, so endet die Wiedergabe der Audio-Datei nach einem Durchlauf. Auf "1" gesetzt (Standard) wird die Datei in einer Endlosschleife wiederholt.

Beispiel:
Code:
<audio pos="0 0 0" data="http://localhost/manialink/alpine_race.ogg"/>
Ein in der Mitte angezeigter Start-Button startet die TMO-Snow-Musik.


<video>
Auch das Video-Element wird noch vollständig unterstützt. Es funktioniert fast genauso wie das Audio, nur die Anzeige unterscheidet sich (eben ein Video statts einer Musikdatei ^^). Das zulässige Format für das Video ist .bik.

Attribute:
  • pos(n)="X Y Z"Die Position des Videos
  • size(n)="Breite Höhe"Die Größe des Videos
    Wie beim Audio stehen auch hier die zwei alten Attribute für die Größe zur Verfügung: width="Breite" und height="Höhe" (Beide nur mit der klassichen Positionierung).
  • scale="Faktor" - Der Skalierungsfaktor für das Video
  • data="Video.bik"Die Video-Datei
    Anstelle das Attribut data zu verwenden, kann die Datei, wie in TMU, zwischen die Tags geschrieben werden: <video>Video.bik</video>
  • play="1"Automatischer Start beim Aufruf des Manialinks
    Wird play auf "1" gesetzt, wird auch das Video beim Aufruf des Manialinks automatisch gestartet.
  • looping="0" - Deaktivieren des Wiederholens des Videos
    Wird looping auf "0" gesetzt, so wird wie beim Audio das angegebene Video nur einmal abgespielt. Bei "1" (Standard) wird es in einer Endlosschleife wiederholt.

Beispiel:
Code:
<video pos="0 0 0" size="0.512 0.256" data="http://localhost/manialink/sign_warning.bik" play="1"/>
Hier wird beim Aufruf des Manialinks automatisch das SignWarning-Schild angezeigt und abgespielt.

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
(This post was last modified: 04.12.2008 18:34 by Marcel.)
15.04.2008 18:11
Visit this user's website Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #3
RE: ManiaLinks Forever
Wissenswertes zum Schluss

Zu schön, um wahr zu sein: Bekannte Probleme
TMF ist noch gar nicht lange da, schon tauchen die ersten Probleme auf. Um sich wiederholende Anfragen zu vermeiden, möchte ich hier kurz die bereits bekannten Probleme auslisten.
  • Qualität der Bilder abhängig von der Textureinstellung
    Leider werden seit dem Forever Addon die Bilder eines ManiaLinks in Abhängigkeit von der Textureinstellung im Launcher angezeigt. Das heißt im Klartext: Nur Spieler mit Texturstufe "hoch" sehen die ManiaLinks in voller schärfe, alle niedrigeren Einstellungen führen zur Verunstaltung der Bilder.
  • AddPlayerID in Quads und Labels leicht manipulierbar
    Wie Bereits bei der Beschreibung des Attributs im Quad genannt, lassen sich die Angaben, die mit Hilfe von AddPlayerID vorgenommen werden, sehr leicht manipulieren. Wirklich kritische Bereiche müssen anderweitig geschützt werden!
  • Kompletter Absturz, wenn in einem FileEntry das Attribut Folder nicht angegeben wird
    Auch dieses Problem findet ihr als Wichtigen Hinweis in der Attributbeschreibung: Wird das Attribut Folder weggelassen, stürzt das Spiel sofort bei Aufruf des ManiaLinks ab, das heißt, ihr landet ohne Umwege auf dem Desktop. Umgeht diesen Bug, indem ihr zumindest folder="" angebt Wink2
  • Auf Funpic und Ohost liegende XML/PHP-Dateien nicht mehr registrierbar
    Während der Registrierung eines ManiaLinks scheint ein Konflikt mit Funpic und Ohost aufzutreten: Die PlayerPage scheitert beim Überprüfen des Vorhandenseins der XML/PHP-Datei, und kann somit die Regitrierung nicht abschließen. Auch wenn die Meldung kommt, der ManiaLink sei erfolgreich registriert worden, ist dies nicht der Fall!
    (Bereits registrierte ManiaLinks funktionieren ohne Probleme.)


Keine Panik: Die Kombination neuer und alter ManiaLinks
Wie bereits zu Beginn gesagt, sind die alten TMU-ManiaLinks komplett kompatibel zu TMF. Durch diese Kompatibilität ergeben sich neue Möglichkeiten:
  • Komplett neuer ManiaLink
    Ihr könnt natürlich komplett euren ManiaLink mit den neuen Elementen aufbauen, die ich zuvor beschrieben habe.
  • Komplett alter ManiaLink
    Wer verbietet es, auch weiterhin einfach den alten Style der ManiaLinks zu verwenden? Wenn euch die (begrenzten) Möglichkeiten der TMU-ManiaLinks voll ausreichen, könnt ihr auf die neuen elemente komplett verzichten.
    Netter Nebeneffekt: Die ManiaLinks können auch weiterhin in TMU betrachtet werden.
  • Kombination aus altem und neuem ManiaLink
    Diese Variante des altneuen (:uglySmile ManiaLinks bietet lässt die größte Freiheit an Möglichkeiten: Zum einen hat man recht einfach eine Tabellenstruktur durch die Lines und Cells, zum anderen kann man aber darüber weitere von den neuen Elementen, zum Beispiel ein Entry, anbringen.
    Die Vorgehensweise ist dabei einfach: Zuerst baut man den ManiaLink wie gewohnt auf, also mit Lines und Cells. Beachtet, dass innerhalb der Cells nur die alten Elemente wie Text, Icon, Audio und Video funtkionieren. Ist der alte Teil fertig, so können im Anschluss (oder auch zu Beginn) einfach die neuen Elemente dazuplatziert werden. Auch hier gilt es zu beachten, dass die Elemente Text und Icon nur innerhalb der Cells funktionieren, und diese durch Label bzw. Quad ersetzt werden müssen Wink2
    Der ManiaLink besteht am Ende also aus zwei Teilen: Zum einen den alten teil, wo mit Lines und Cells gearbeitet wurde, zum anderen der neue Teil mit Frames, Quads, Labels und co.
    Dabei kann der alte Teil des ManiaLinks als extra Quad oder Frame angesehen werden, der dabei folgenden Z-Wert hat: pos="X Y -0.04" bzw. posn="X Y 2.56". Damit ist es auch möglich, neue Elemente hinter den alten Teil zu setzen, und somit halb zu verstecken oder sonstiges sinnvolles ^^
Eventuell noch einen Hinweis: Sollte jemand versuchen, einen komplett oder teilweise neuen ManiaLink in TMU anzuschauen, wird er keine Fehlermeldung erhalten: Er sieht lediglich nur den alten Anteil des ManiaLinks (bei komplett neu also nichts).
(Wobei immer die Sache mit den Registrierungen beachtet werden muss, die ich zu Begin genannt hatte Wink2)


Komplexes Beispiel
An dieser Stelle möchte ich euch ein etwas komplexeres Beispiel zeigen. Es handelt sich dabei um das Eingabefenster aus meine Quad-Test-ManiaLink (Manialink: Test Quad).
(Um es etwas übersichtlicher zu gestalten, habe ich die URL der ManiaLink-Verlinkungen gekürzt, sodass nicht mehr alle Eingabewerte übergeben werden.)
Code:
01 <?xml version="1.0" encoding="utf-8" ?>
02 <manialink>
03   <frame posn="-60 -10 5">
04     <label posn="25 -2 15" sizen="40 4" halign="center" style="TextTitle3" text="Input Window (Menu Mode)"/>
05     <quad  posn="25 -1 10" sizen="40 4" halign="center" style="Bgs1InRace" substyle="BgTitle3_4" manialink="http://funtrackers.bplaced.net/manialink/quad/index.php?type=classic&amp;lang=en&amp;x=inputx&amp;y=inputy"/>
06     <label posn="15   -6 5" halign="center" style="TextStaticSmall" text="$o$ff0Position:"/>
07     <label posn="15 -8.5 5" halign="right"  style="TextStaticSmall" text="$oX = "/>
08     <label posn="15  -11 5" halign="right"  style="TextStaticSmall" text="$oY = "/>
09     <entry posn="15 -8.5 5" sizen="5 2" style="TextValueSmall" name="inputx" default="0"/>
10     <entry posn="15  -11 5" sizen="5 2" style="TextValueSmall" name="inputy" default="0"/>
11     <label posn="35   -6 5" halign="center" style="TextStaticSmall" text="$o$ff0Size:"/>
12     <label posn="37 -8.5 5" halign="right"  style="TextStaticSmall" text="$oWidth = "/>
13     <label posn="37  -11 5" halign="right"  style="TextStaticSmall" text="$oHeight = "/>
14     <entry posn="37 -8.5 5" sizen="5 2" style="TextValueSmall" name="inputwidth"  default="32"/>
15     <entry posn="37  -11 5" sizen="5 2" style="TextValueSmall" name="inputheight" default="32"/>
16     <label posn="25   -15 5" halign="center" style="TextStaticSmall" text="$o$ff0Alignment:"/>
17     <label posn="25 -17.5 5" halign="right"  style="TextStaticSmall" text="$ohalign = "/>
18     <label posn="25   -20 5" halign="right"  style="TextStaticSmall" text="$ovalign = "/>
19     <entry posn="25 -17.5 5" sizen="10 2" style="TextValueSmall" name="inputhalign" default="left"/>
20     <entry posn="25   -20 5" sizen="10 2" style="TextValueSmall" name="inputvalign" default="top"/>
21     <quad  posn=" 7 -25.5 5" sizen="6 3" halign="center" image="http://funtrackers.bplaced.net/manialink/quad/en.png" manialink="http://funtrackers.bplaced.net/manialink/quad/index.php?type=menu&amp;lang=en&amp;x=inputx&amp;y=inputy"/>
22     <quad  posn="43 -25.5 5" sizen="6 3" halign="center" image="http://funtrackers.bplaced.net/manialink/quad/de.png" manialink="http://funtrackers.bplaced.net/manialink/quad/index.php?type=menu&amp;lang=de&amp;x=inputx&amp;y=inputy"/>
23     <label posn="25 -25 5" halign="center" style="CardButtonMedium" manialink="http://funtrackers.bplaced.net/manialink/quad/index.php?type=menu&amp;lang=en&amp;x=inputx&amp;y=inputy" text="Apply Values"/>
24     <quad  sizen="50 30" style="Bgs1InRace" substyle="BgWindow2"/>
25   </frame>
26 </manialink>
Und hier noch ein Bild, wie das ganze im Spiel aussieht:
[Image: 70664806366b87da0.png]

Okay, dann legen wir los.
  • Zeilen 03 und 25 - Der Umschließende Frame
    Diese beiden Zeilen enthalten den Frame, der das gesamte Eingabefenster umschließt. Der Sinn ist folgender: Wenn ich nun das Fenster doch lieber etwas weiter oben platzieren möchte, so brauche ich lediglich die Position des Frames zu ändern, und alle in ihm enthaltenen Elemente, also das komplette Eingabefenster, "rutscht" hinterher, da sich ja alle Elemente an dem Punkt des Frames ausrichten.
    Zwei negative Angaben bei der Position des Frames in der Menü-Positionierung bedeutet, dass das Fenster unten links angezeigt werden wird.
  • Zeile 24 - Das Fenster an sich
    Das Quad in Zeile 24 erzeugt das Fenster an sich, also das abgerundete Viereck. Die Position wurde weggelassen. Es übernimmt als Positionierungspuntk somit den Punkt des Frames. Die Größe bestimmt, wie groß letztendlich unser Fenster erscheint, da dieses Quad eben die Form zeichnet. Ohne dieses Quad würden die Eingabefelder und Labels nur verlassen auf dem Bildschirm rumhängen, so wurden sie optisch eben zu einer Einheit zusammengefasst. Das abgerundete Viereck wird dabei mit dem "BgWindow2" aus der Kategorie "Bgs1InRace" erzeugt.
  • Zeilen 04 und 05 - Die Titelleiste
    Das Label und das Quad in diesen beiden Zeilen sind zusammen für die grüne Titelleiste des Fenster zuständig. Diese beide Elemente überlagern sich dabei exakt, und mit einem niedrigeren Z-Wert wird das Quad hinter das Label gezwungen.
    Das Label hat als Style TextTitle3, damit die Schrift wie ein Titel aussieht. Es zeigt letztendlich das "Input Window (Menu Mode)" an.
    Für das Quad wurde als Style "BgTitle3_4" aus der Kategorie "Bgs1InRace" gewählt, welches sowohl in TMUF als auch in TMNF eine grüne Farbe besitzt. Des weiteren seht ihr, dass ich das Quad verlinkt habe: Es ruft diese Datei wieder auf, nur mit abgeänderten Werten. (Genaueres zu den Werten siehe Zeile 23)
  • Zeilen 06 bis 08, 10 bis 13 und 16 bis 18 - Bezeichnungen der Eingabefelder
    Diese 9 Labels sind für die Bezeichnungen zuständig. Die Positionierung war ganz schöne Arbeit, bis ich die passend hatte ^^ Also das Try'n'Error-Prinzip kommt auch oft zum Einsatz, bis so ein schickes Fenster entsteht Tongue Jedes Wort hat dabei sein eigenes Label, das jeweils als Style "TextStaticSmall" (eben für statischen Text) hat, sowie jeweils ein $o, um die Schrift fetter zu machen, und die "Überschriften" noch eine gelbe Farbe.
  • Zeilen 09, 10, 14, 15, 19, 20 - Die Eingabefelder
    Jeder Wert braucht natürlich sein eigenes Feld. Der Name ist dabei jeweils "input" und um welchen Wert es sich handelt. Dies wird bei Zeile 23 dann interessant. Ansonsten ist ja nicht so viel zu erklären: Positionierung und Ausrichtung sollte eigentlich klar sein, mit Style="TextValueSmall" erreicht man das Aussehen des Eingabefeldes mit gelber Schrift und leichter Schattierung.
    Die Standardwerte sind passend gesetzt: Während X, Y, Width und Height Zahlenwerte sind, kommt bei Halign und Valign natürlich left bzw. top hin. Alles andere wäre unpassend und nur verwirrend ^^
  • Zeile 23 - Button mit Verlinkung, inklusive Wertübergabe der Entries
    An diesem Label seht ihr, wie die Werte an das Script (hier an sich selbst) übergeben werden: Wenn der Name des Entries in einer URL steht, wird dieser automatisch durch den Inhalt des Feldes ersetzt. Das heißt, die URL würde (mit den Standardwerten) eigentlich so aussehen: http://funtrackers.bplaced.net/manialink...=0&y=0
    Beachtet, dass das &-Zeichen durch &amp; ersetzt werden muss, da es sonst fehlinterpretiert wird. (PHP Programmierer sollten das aber eigentlich wissen ^^). Würden nun die Werte in den Eingabefeldern geändert werden, so ändern sich automatisch die Werte in den URLs mit, sodass wirklich die Eingaben übergeben werden.
    Mit Style="CardButtonMedium" wird ein mittelgroßer weißer Button erzeugt, der den angegebenen Text ("Apply Values") enthält. Der Button sollte euch im Spiel schon des öfteren mal begegnet sein Tongue Eine Angabe der Größe ist bei Verwendung der Button-Styles überflüssig, da der Style selbst die Größe festlegt.
  • Zeilen 21 und 22 - Zwei eigene Bilder
    Diese beiden Quads zeigen die zwei Flaggen, mit dehnen die Sprache ausgewählt werden kann. Das Bild wurde dabei, wie oben beschrieben, mit image angegeben. Hier seht ihr auch, das .png (24bit) in TMF unterstützt wird Wink2 ich hätte auch ein zwietes Bild mit imagefocus angeben können, um einen MouseOver-Effekt zu erzielen, aber man muss ja nicht überall auf die Maus reagieren ^^
    Als ManiaLink wurde wieder auf die eigene Datei verwiesen, nur eben mit angepasster Sprache (lang=de/en).


Der ManiaKlick: Direktes Verlinken via TMTP-Protokoll
Mit dem Forever Addon gibt es nun eine Möglichkeit, durch entsprechende Verlinkung die ManiaLinks direkt aus dem Browser heraus mit nur einem Klick aufzurufen (quasi ein ManiaKlick Biggrin). Dafür kommt das TMTP-Protokoll zum Einsatz. Hat man während der Installation von TMF am Ende ausgewählt, dass TMTP-Links automatisch an TMF geschickt werden sollen, wird sich das Spiel nach Anklicken eines solchen Links (und nach Bestätigen einer eventuellen Nachfrage durch den Browser) öffnen und den entsprechenden Inhalt anzeigen. Läuft TMF bereits, wird der Inhalt natürlich dort angezeigt.
Der Umgang mit solchen TMTP-Links ist dabei genauso einfach wie mit HTTP-Links. Folgende Möglichkeiten gibt es für die Verlinkung von ManiaLinks:
  • Aufruf eines ManiaLinks über die komplette URL
    Um einen ManiaLink über dessen (vollständige) URL aufzurufen, muss lediglich das http:// durch ein tmtp:// ersetzt werden. Anschließend folgt wie gewohnt die Domain sowie die Ordnerstruktur auf dem Server, eben wie bei normalen HTTP-Links.
    Beispiel: tmtp://funtrackers.bplaced.net/manialink/quad/index.php
  • Aufruf eines ManiaLinks über seinen registrierten Code
    Es ist möglich, einen ManiaLink auch über dessen registrierten Code aufzurufen. Dies funktioniert allerdings nur mit TMUF, da TMNF, wie eingangs erwähnt, keine registrierten Codes unterstützt. Um einen registrierten Code zu verlinken, muss vor diesen einfach "tmtp:///:" gesetzt werden. Die drei / sind dabei wichtig, da sonst manche Browser fälschlicherweise ein abschließendes / an den gesamten Link anhängen, was im Spiel dann für ein Fehler sorgt. Der dritte Slash verhindert dies, und alles sollte funktionieren.
    Beispiel: tmtp:///:Marcel
    Vorsicht bei Sonderzeichen: Da diese in URLs umgewandelt werden, wird die Verlinkung nicht funktionieren. Zum Beispiel wird ein Leerzeichen zu "%20" umgewandelt, sodass aus "tmtp:///:Test Quad" schnell ein "tmtp:///:Test%20Quad" wird. Da dieser Code nicht existiert, kann TMUF diesen TMTP-Link also nicht korrekt umsetzen.
Das TMTP-Protokoll kann im Übrigen auch für das Joinen des Servers und andere Sachen verwendet werden. Da dies aber nicht Bestandteil des Tutorials ist, habe ich dies großzügigerweise weggelassen Biggrin


What he said? Mehrsprachige ManiaLinks
In TMF ist es möglich, die Sprache des ManiaLinks automatisch vom Spiel auswählen zu lassen, jenachdem, welche Einstellung der Spieler hat. Die Vorgehensweise ist dabei recht einfach: Ihr schreibt eine Datei, wo die einzelnen Wörter, Wortgruppen oder Sätze in den verschiedenen Sprachen stehen, und das Spiel wählt einfach die passende aus und zeigt es an (bzw. wird Englisch gewählt, wenn die passende Sprache nicht vorhanden ist). Okay, ganz so einfach ist es doch nicht, man muss nämlich eine bestimmte Syntax einhalten. Das folgende Beispiel soll euch den Aufbau eines solchen mehrsprachigen ManiaLinks zeigen:

Die ManiaLink-Datei
Code:
<?xml version="1.0" encoding="utf-8"?>
<manialink>
  <timeout>0</timeout>

  <include url="http://localhost/manialink/lang.xml" />

  <label posn="-20 0 1" textid="example" />
  <label posn="-20 -10 1" textid="nadeo" />
  <quad sizen="10 5" imageid="img" />

</manialink>
Hier seht ihr den Aufbau des mehrsprachigen ManiaLinks. Wesentliche Merkmale sind dabei zum einen das Include, welches die Sprachdatei reinlädt, sowie die Labelsund das Quad: Anstelle des Attributes text wird hier nun textid verwendet, es wird nicht direkt der Text angegeben, sondern nur eine Art Schlüssel, der in der lang.xml wieder auftauchen wird. Analog dazu im <quad> das imageid. Eigentlich nicht spektakulär Tongue

Die Sprachdatei: lang.xml
Code:
<dico>
    <language id="de">
        <example>Beispiel</example>
        <nadeo>Danke Nadeo für diese neuen ManiaLinks</nadeo>      
        <img>http://localhost/manialink/de.png</img>
    </language>

    <language id="en">
        <example>Example</example>
        <nadeo>Thanks Nadeo for these new ManiaLinks</nadeo>
        <img>http://localhost/manialink/en.png</img>
    </language>
</dico>
Hier seht ihr eine solche Sprachdatei für die zwei Sprachen Deutsch und Englisch.
Jede Sprache wird durch ein <language id="CODE"></language> umschlossen, wobei der CODE eben der Spieleigene Sprachcode ist. Unten seht ihr eine Liste mit einigen Sprachen. Innerhalb des Language-Tags kommen nun die IDs zum Einsatz: Der Inhalt des öffnenden < > und des schließenden </ > Tags könnt ihr frei wählen. Den Wert, den ihr hier angebt, ist gleichzeitig die ID, die ihr im entsprechenden Tag eintragt, um den entsprechenden Text oder das Bild zu erhalten. Dabei wird jeweils der Inhalt des ID-Tags als Wert für das entsprechende Attibut genommen.

Einige Hinweise
  • Die Wahl der ID
    Eine ID muss zwingend mit einem Buchstabe anfangen. Danach können Zahlen und Underlines _ folgen. Generell sollte auf Sonderzeichen jeglicher Art (bis auf _ eben) verzichtet werden. Alles andere würde der allgemeinen XML-Syntax widersprechen.
  • Fehlende IDs bei einer Sprache
    Sollte eine ID bei einer Sprache nicht vorhanden sein, so wird zuerst bei "en" geschaut, ob es dort diese ID gibt. Wenn ja, wird der Englische Inhalt genommen, sollte es bei Englisch aber auch fehlen, so wird nichts in den entsprechenden Tag eingefügt. Die Rangordnung ist also: Eigene Sprache (laut Einstellung) > Englisch > Nichts.
    Achtet also darauf, dass zumindest Englisch komplett ist, ansonsten habt ihr eventuell Lücken auf dem ManiaLink ^^
  • Sonderzeichen
    Falls ihr in der lang.xml irgendwelche Sonderzeichen verwendet, kann damit gerechnet werden, dass diese nicht korrekt dargestellt werden. Um das zu umgehen, müsst ihr die lang.xml als UTF-8 codiert abspeichern. (Beim normalen Text-Editor geht das zum Beispiel im Speichern-Dialog.)

Unterstützte Attribute
Um eine ID zu verwenden, muss man lediglich "id" an das jeweilige Attribut anhängen. So wird beispielsweise aus "text" einfach "textid", aus "image" wird "imageid" usw.
Folgende Attribute unterstützen die Mehrsprachigkeit:
  • <quad> - image, imagefocus, url, manialink
  • <label> - text, url, manialink
  • <audio> - data
  • <video> - data
Diese Liste beruht auf eigenen Tests und ist eventuell unvollständig. Falls ihr noch ein unterstütztes Attribut findet, sagt einfach Bescheid. Danke an Konte, der den entscheidenden Hinweis dazu gab Wink2

Liste einiger Sprach-Codes
  • cz - Tschechisch
  • de - Deutsch
  • en - Englisch
  • es - Spanisch
  • fr - Französisch
  • hu - Ungarisch
  • it - Italienisch
  • jp - Japanisch
  • kr - Kroatisch
  • nl - Niederländisch
  • pl - Polnisch
  • pt - Portugisisch
  • ru - Russisch
  • sk - Slowakisch
  • zh - Chinesisch
Ich habe nicht alle Codes getestet. Für diese Sprachen sind eigene Sprachdateien für das Spiel vorhanden, sodass ich einfach annehme, dass alle in den ManiaLinks unterstützt werden Wink2


Test?id=3: Parameterübergabe an ManiaLinks
Zusammen mit kastun und Balmung habe ich die Möglichkeit entdeckt, dynamisch an einen registrierten ManiaLink Parameter zu übergeben, auf die dann im Script zugegriffen werden können. Dieses durchaus sehr nützliche Feature (in Verbindung mit PHP natürlich ^^) soll dieses Tutorial der Perfektion etwas näher bringen Ugly
Das ganze ist dabei recht einfach: Die PHP-Programmierer kennen mit Sicherheit solche Aufrufe wie "http://www.beispiel.de/seite.php?id=15", also das der deite.php eine Variable "id" mit dem Wert 15 übergeben wird. Dies lässt sich fast 1:1 auf ManiaLinks übertragen.
Registriert die Seite ganz normal als ManiaLink, ohne irgendwelche Parameter:
Code für ManiaLink: "Seite" => URL: "http://www.beispiel.de/seite.php"
Um nun diesen ManiaLink mit Parametern aufzurufen, tut einfach so, als wäre es die Seite: Seite?id=15
Das war schon die ganze Magie: An die registrierten ManiaLinks können also genauso wie an ein PHP-File einfach per ? ein paar Variablen und deren Werte angehangen werden. Beachtet dabei, dass mehrere Parameter mit &amp; getrennt werden müssen.
(Im Beispiel würde man mit $_GET['id'] im Script also den Wert 15 erhalten Wink2 )


Alles hat ein Ende...
Somit sind wir am Ende meines Tutorials angelangt. Ich habe alles gesagt, was ich zu sagen hatte, auf alles hingewiesen, worauf es hinzuweisen gab. Nun liegt es an euch, das hier niedergelegte Wissen anzuwenden. Präsentiert eure neuen, oder auch alten, ManiaLinks, und zeigt, was ihr jetzt drauf habt Biggrin
Natürlich freue ich mich über jegliche Kommentare zum Tutorial, Lob und Kritik sind gerne gesehen.
Solltet ihr Fragen oder Probleme haben, so postet diese bitte nicht in diesem Thread, das wäre zu unübersichtlich und die Hälfte würde im Chaos versinken. Eröffnet einfach einen neuen Thread zu eurem Problem, natürlich aber erst nachdem ihr die Suchfunktion genutzt habt Wink2

Ich möchte mich abschließend noch bei denjenigen bedanken, die mich beim Schreiben des Tutorials unterstützt haben:
Zum einen bei den Betatestern, die mir einige Fragen zu den ManiaLinks beantworet haben, um das ganze besser zu verstehen, zum anderen geht ein Dank auch an die Member meines Clans FT und des Partnerclans ECU, die mich auf unpassende, fehlerhafte oder unverständliche Textstellen hingewiesen haben.
:thx:

Zu guter letzt noch ein Link zum tm-forum:
Forever ManiaLinks @ TM-Forum
Englische Version des Tutorials
Dort findet ihr auch nochmal das offizielle von Nadeo während der Tests bereitsgestellte ManiaLink-Beispiel und weitere Informationen.

Das wars von mir, jetzt seit ihr dran.
FT»Marcel

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
(This post was last modified: 04.12.2008 18:34 by Marcel.)
15.04.2008 18:12
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #4
RE: ManiaLinks Forever
Genug Theorie: Nun zur Praxis
Was ist den der Standart bei einem halign/valign? Wenn es nämlich center ist, geht es so nicht wie in dem Abschnitt beschreiben. Standart vielleicht in italich hervorheben.

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
(This post was last modified: 15.04.2008 18:34 by kastun.)
15.04.2008 18:33
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #5
RE: ManiaLinks Forever
Die Standardwerte sind halign=left und valign=top Wink2
Wurde aber im Abschnitt Ausrichtung auch gesagt (habs jetzt nochmal fett hervorgehoben). Ansonsten beid er Element-Beschreibung: Der erste wert ist Standard (betrifft ja nur halign und valign Tongue)

Bei den Beispielen wurden die Aligns ja noch nicht behandelt, deshalb habe ich die auch nicht angegeben und nur "normal" per Verschiebung das ganze gemacht Wink2

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
(This post was last modified: 15.04.2008 18:54 by Marcel.)
15.04.2008 18:50
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #6
RE: ManiaLinks Forever
Ja, da stehts, aber da in TMU bei den MLs immer alles von der Mitte ausgeht, denkt man, dass es da auch so ist und center Standart ist, da untern hat man dann ja noch nciht gelesen,

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
15.04.2008 22:05
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #7
RE: ManiaLinks Forever
Ich denke so wie es jetzt ist, ist es besser. Es wäre nur unverständlicher, wenn ich da nun schon die Aligns mit reinbringe, das Beispiel soll eben nur die Positionierung und Größe zeigen.
Und normalerweise liest man ja gleich weiter, sodass es dann auch klar sein sollte, denk ich zumindest.

Sollten aber auch im DS Forum (morgen oder ü.morgen) die ManiaLinker (Tongue) Probleme damit haben, kann ich es ja noch umschreiben, aber wie gesagt: So halte ich es für besser.


Btw: Letzten Post fertig geschrieben Wink2

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
15.04.2008 22:38
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #8
RE: ManiaLinks Forever
Language ist ja einfach^^

Aber es wäre noch intteresannt zu wissen, was passiert, wenn eine Text ID in der entsprechenden Sprache fehlr. Kommt dann "TMU mag ned mehr. Geh heim. *error* *bluescreen* *hausbrand*" oder einfach die ID statt des Textes?

Tippfehler:
Unten seht ihr eine Liste mit einigen Sprachen.

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
15.04.2008 23:17
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #9
RE: ManiaLinks Forever
Ich kam bis jetzt noch nicht dazu, diese Sprachversion wirklich zu testen, bis jetzt vertraue ich smurf, dass das stimmt, was er mir im Betaforum gesagt hat.
Ich werde morgen mal das Sprachding testen, da kommt dann auch sowas dran. Ich glaube aber, wenn es das Element nicht gibt, wird einfach nur die TextID ausgegeben, zumindest ist das in TMF selbst so (hab ich im Betaforum gesehen, wo ne Sprachvariable gefehlt hatte: Da stand einfach der Variablenname da). Ich denk mal auf den MLs wird es nicht anders sein, aber das wird der Test morgen zeigen Wink2

PS: Ich wäre für *Aktivierung der Selbstzerstörungsfunktion des Rechners* Ugly

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
(This post was last modified: 15.04.2008 23:40 by Marcel.)
15.04.2008 23:39
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #10
RE: ManiaLinks Forever
Kann man eigentlich auch selber eine Hintergrundfarbe festlegen?

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
16.04.2008 10:30
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #11
RE: ManiaLinks Forever
Das ist so ein Punkt, wo ich auch nicht weiter weiß: Denn sowas wie ne simple Hintergrundfarbe für ein Quad muss es doch geben, aber ich habe nirgends etwas dazu finden können. Blink (Quasi das bgcolor bei Cells für Quads eben)

Ansonsten bei den Styles ist alles festgelegt: Da kann man nicht wählen. Wenn es eine Farbe nicht gibt, dann gibts die nicht Sad (Das grüne Feld des Komplexen Beispiels gibts auch in Orange, Hellblau und Dunkelblau)

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
16.04.2008 12:45
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #12
RE: ManiaLinks Forever
Was bringt denn dann das neue System, wenn man nochnichtmal eine Hintergrundfarbe festlegen kann?

Gibt ja wohl genug Leute, die nicht die TMUF Styles nehmen wollen bzw. ein eigenes design erstellen wollen. Oder muss man dazu einen eigenen Style erstellen? Und wenn ja, wie?

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
16.04.2008 14:23
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #13
RE: ManiaLinks Forever
Das ist eben das, was mich wundert. Ohne Hintergrundfarbe macht das ganze wenig sinn, wobei man dazu sagen muss, das man als ManiaLinkHintergrund nur noch nen graues Bild hat und nicht mehr das Menü Sad


Btw: Änderungen am ersten post (Einleitung) und letzten Post (Sprache)

EDIT: Ich habs rausgefunden: Im Quad kann man tatsächlich noch bgcolor verwenden Smile Kann es sein, dass es eines von dern von dir vermissten <format>-Attributen ist?


EDIT2: Hmm, nö, funktioniert nur im Quad, also kann es nicht im <format> mit drin sein

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
(This post was last modified: 16.04.2008 14:51 by Marcel.)
16.04.2008 14:48
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #14
RE: ManiaLinks Forever
ICh bin mal am Testen ob man irgendwie Hintergrund reinkreigt.

Tippfehler:
Allem anderen würde der allgemeinen XML-Syntax widersprechen.

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
16.04.2008 15:03
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #15
RE: ManiaLinks Forever
Hö? Wieso nicht alles andere? Halte ich für richtig so:
"Alles andere würde der Syntax widersprechen"
Alles andere widerspricht die Syntax. Unsure

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
16.04.2008 15:06
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #16
RE: ManiaLinks Forever
so gehts nicht: Alles andere würde der allgemeinen XML-Syntax widersprechen. (Sounds grausam)
so gings aber: Alles andere würde dem allgemeinen XML-Syntax widersprechen.
wobei mein ersteres Mits ist, der Syntax ist ja nicht männlich, oder?

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
16.04.2008 15:18
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #17
RE: ManiaLinks Forever

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
(This post was last modified: 16.04.2008 15:21 by Marcel.)
16.04.2008 15:20
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #18
RE: ManiaLinks Forever
Hmm, dan schreib dazu das Syntax feminin ist, wenn man das weis, klingt der Satzt schon viel besser so wie du ihn orguinal geschreiben hast^^

btw. Fehler im Quad Script, bei dem klassichen und wenn man die Box zu groß macht steht was mit sizen außerhalb des range, dabei ist es da doch nur size

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
(This post was last modified: 16.04.2008 15:49 by kastun.)
16.04.2008 15:36
Find all posts by this user Quote this message in a reply
Marcel Offline
ここにはコードがありません。
********
ClanLeader

Posts: 695
Joined: Aug 2007
Reputation: 22
Post: #19
RE: ManiaLinks Forever
Im Tut steht, das es noch nicht ganz fertig ist Tongue
Auch das umrechnen von Menu->Classic und andersrum funzt nicht richtig (X Wert wird nicht invertiert) ^^

[Image: 54e39adf682a7e.png][Image: 54e81d421182e1.png]
[Image: message.png]
16.04.2008 16:09
Visit this user's website Find all posts by this user Quote this message in a reply
kastun Offline
Skilled Mapper
****
FunTracker

Posts: 316
Joined: Jan 2008
Reputation: 2
Post: #20
RE: ManiaLinks Forever
Ich sollte aufhören mitzudenken, ich dachte da steht man soll Fehler bitte melden Sad

Rock Concert Movement #237: Taking the audience on a Jungian journey into the collective unconscious by using the shadow as a metaphor for the primal self that gets repressed by the modern persona and also by using an underground setting and labyrinth office design to represent both the depths of the psyche and the dungeon-like isolation of our increasingly mechanistic society which prevents people from finding satisfying work or meaningful connections with others.
16.04.2008 16:11
Find all posts by this user Quote this message in a reply
Post Reply 



Forum Jump:

User(s) browsing this thread: 1 Guest(s)

Contact Us | FunTrackers | Return to Top | Return to Content | Lite (Archive) Mode | RSS Syndication | Twitter