Seite 1 von 4 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 20 von 64

Thema: Forever ManiaLinks

  1. #1
    PsyduckTechnischer Administrator
    Enton, Zweton, Dreton, ...
    Avatar von Marcel
    Registriert
    10.06.2010
    Alter
    31
    Beiträge
    1.125
    ManiaPlanet
    FT»Marcel
    Login: m4rcel
    Nickname: FT»Marcel
    Zone: World » Europe » Germany » Thüringen » Erfurt
    Clan: FunTrackers
    ManiaLinks: Tetris
    TrackMania
    FT»Marcel
    Login: m4rcel United
    Nickname: FT»Marcel
    Zone: World » Germany » Thuringia » Erfurt
    Clan: FunTrackers
    ManiaLinks: FunTrackers, Marcel
    Links: TM-Ladder
    Blog-Einträge
    11

    Forever ManiaLinks

    Forever ManiaLinks
    Eine Einführung in die Forever ManiaLinks



    Letzte Aktualisierungen:

    • 30.07.2010Komplette Überarbeitung des Tutorials



    Übersicht über das Tutorial



    Positionierung und Ausrichtung



    Überblick über die Elemente

    • <frame>Gruppieren mehrerer Elemente
    • <format>Vordefinieren von Formatierungen
    • <quad>Darstellen von Bildern und Formen
    • <label>Darstellen von Texten und Buttons
    • <audio>Ausgabe einer Musikdatei (mit Start/Stop-Button)
    • <music>Ausgabe von Hintergrundmusik (ohne Buttons)
    • <video>Ausgabe einer Videodatei
    • <timeout>Deaktivieren des Caches
    • <include>Importieren einer weiteren XML-Datei
    • <entry>Einfaches Eingabefeld
    • <fileentry>Eingabefeld für einen Dateiupload


    Wissenswertes zum Schluss



    Einleitende Worte
    Die Forever ManiaLinks – für die einen ein Buch mit sieben Siegeln, gehören sie für die anderen mitlerweile zu TrackMania wie der Streckeneditor. Dieses Tutorial soll für alle die, denen beim Stöbern im TMF-Browser nur noch der Mund offen stehen bleibt, einen Einstieg in die Welt der ManiaLinks bieten. In die Welt, wo der Phantasie freien Lauf gegeben werden kann, die Welt der unbegrenzten Möglichkeiten...

    *ähem*

    Ganz so schlimm wird es nicht, das Tutorial ist wirklich nur ein Einstieg in ManiaLinks

    Das Tutorial ist in drei Teile untergliedert. Der eher theoretisch gehaltene erste Teil vermittelt notwendiges Grundwissen, um sich später besser in ManiaLinks zurechtzufinden. Diesen Brocken einmal überstanden, folgt anschließend eine detaillierte Auflistung aller Elemente inklusiver ihrer Attribute, die gleichzeitig als Nachschlagewerk dienen soll. Im letzten Teil finden sich einige Sachverhalte, die hilfreich sein können, für den ersten ManiaLink aber nicht unbedingt notwendig sind.


    Was nicht in diesem Tutorial erklärt wird:

    • Das grundlegende Erstellen einer ManiaLink-Datei
      Es wird vorausgesetzt, dass das Erstellen einer ManiaLink-Datei (bzw. allgemein einer XML-Datei) und das Registrieren eines Codes für diese bekannt ist. Sollte dies nicht der Fall sein, muss ein anderes Tutorial zu Rate gezogen werden.
    • ManiaLinks für Server
      In diesem Tutorial beschränke ich mich auf ManiaLinks, die im Explorer von TMF angezeigt werden. Spezielle Sachen für Server-ManiaLinks werden nicht behandelt.




    United vs. Nations: Die Unterschiede der Spielversionen
    TMUF als kostenpflichtige Version bietet natürlich die uneingeschränkte Nutzung der ManiaLinks. Als TMNF-Spieler muss man hingegen einige Einschränkungen in Kauf nehmen, die hier kurz gelistet werden sollen.


    • Chronisch PleiteAbhängig vom Kontotyp
      TMNF Spieler besitzen keine Coppers, infolgedessen können sie nicht auf kostenpflichtigen ManiaLinks und ManiaCodes zugreifen. Solange die ManiaLinks und ManiaCodes kostenlos sind, können TMNF Spieler diese uneingeschränkt nutzen.
    • Grün ist die WeltAbhängig von der Spielversion
      Das Menü ist in TMNF vorwiegend grün gehalten. Entsprechend kann es zu leichten Farbunterschieden zwischen TMUF und TMNF kommen, wenn die vordefinierten Styles verwendet werden.






    In den Forever ManiaLinks sind alle visuellen Elemente frei auf dem Bildschirm positionierbar. Dies erfordert natürlich ein gewisses Grundkenntnisse über diese Positionierung, ohne diese es nur sehr schwer möglich sein wird, einen ManiaLink zu erstellen.
    In der Vergangenheit hat sich dabei gezeigt, dass sich das ganze zunächst komplizierter anhört, als es sich am Ende herausstellt. Nehmt euch die Zeit, um dieses Wissen zu verinnerlichen, da es wie gesagt wichtig ist. Als kleine Unterstützung gibt es den von mir erstellten ManiaLink Quad, wo ihr "live" die Auswirkungen der Position und Ausrichtung sehen könnt.




    Doppelt hält besser: Die beiden Positionierungsarten
    In den Forever ManiaLink stehen euch zwei verschiedene Arten für die Positionierungen zur Verfügung. Neben der klassischen Positionierung, die von den Ur-ManiaLinks aus TMU übernommen wurde, gibt es die Menü-Positionierung. Letztendlich unterscheiden sich die beiden Arten nur in ihren Wertebereichen, und in den Ausrichtungen der Achsen, davon abgesehen gibt es keinerlei Einschränkungen. Es ist euch also frei gestellt, ob ihr lieber mit der klassischen oder der Menü-Positionierung arbeiten möchtet, euch entstehen durch die Entscheidung keine Nachteile. Es ist zu empfehlen, sich wirklich für eine Art zu entscheiden. Es ist zwar problemlos möglich, beide Arten zu vermischen, allerdings leidet darunter stark die Übersichtlichkeit, da stets umgerechnet werden muss

    Überblick der Positionierungsarten

    • Klassische Positionierung
    • Menü-Positionierung


    Beachtet vor allem die unterschiedliche Ausrichtung der Achsen: Während in der klassischen Positionierung große X-Werte links liegen, so liegen diese in der Menü-Positionierung rechts. (Ähnliches gilt für die Z-Werte). Im folgenden werden beide Positionierungsarten zusammengefasst und nur als pos(n) oder size(n) bezeichnet. Die einzelnen Werte (also bei der Position beispielsweise X, Y und Z) werden dabei einfach mit einem Leerzeichen voneinander getrennt geschrieben: pos(n)="X Y Z" bzw. size(n)="Breite Höhe".

    Wenn Elemente frei positionierbar sind, hat dies unmittelbar zur Folge, dass sie sich überlagern können. Doch welches Element wird von wem verdeckt? Um diese Frage zu klären, gibt es die Z-Werte: Mit ihnen legt man die Reihenfolge der Elemente fest, und somit die Überdeckungen. Es gilt dabei zu beachten, dass Elemente mit gleichen Z-Werten sich zufällig gegenseitig überdecken. Auch Elemente mit ungültigen (dh. außerhalb des Bereichs liegenden) Z-Werten werden zufällig eingereiht, also achtet darauf, dass eure Elemente möglichst verschiedene, gültige Werte haben, wenn sie sich gegenseitig überdecken

    Die Angabe der Position bezieht sich immer auf das Elternelement, wobei <manialink> seinen Ursprung in (0, 0, 0), in der Mitte des Bildschirmes, hat. Ist das Elternelement ein Frame, so bezieht sich die Position auf den dort angegebenen Punkt. In verschachtelten Frames werden die Positionen also entsprechend summiert. (Für weitere Informationen, siehe <frame>.)




    Kurze Verschnaufspause: Erste Beispiele
    An dieser Stelle sollen nun ein paar Code-Beispiele folgen, die die Funktionsweise der Positionen etwas verdeutlichen sollen. Lasst euch dabei nicht von den style und substyle irritieren, diese sind nur enthalten, damit ihr die Quads direkt in euren ManiaLink zum testen kopieren könnt
    An dieser Stelle sei auch nochmal auf meinen ManiaLink Quad hingewiesen, wo man verschiedene Positionen quasi live sehen kann.

    Code:
    <quad style="Bgs1InRace" substyle="BgWindow1" />
    Wird weder eine Position noch eine Größe angegeben, so bekommt das Quad die Standardwerte. Diese liegen bei pos(n)="0 0 0" und size="1 1" bzw. sizen="32 32".

    Code:
    <quad size="0.25 0.25" style="Bgs1InRace" substyle="BgWindow1" />
    <quad sizen="8 8" style="Bgs1InRace" substyle="BgWindow1" />
    Ein wenig handlicher wird unser Quad, wenn wir eine Größe festlegen. Die beiden Werte für Breite und Höhe können dabei beliebig verändert werden, solange sie im gültigen Bereich liegen.
    Im Übrigen: Beide Quads in diesem Beispiel erzeugen das gleiche Viereck. Im Folgenden werde ich nurnoch die Menü-Positionierungen angeben, alle Beispiele sind aber auch mit der klassischen positionierung realisierbar

    Code:
    <quad posn="24 -24 0" sizen="8 8" style="Bgs1InRace" substyle="BgWindow1" />
    Das letzte Quad war immernoch relativ in der Mitte. Nun haben wir hier eine Position angegeben, die dies ändern soll. Frage: Wo wird sich das Quad ungefähr befinden? Oberhalb oder unterhalb der Mitte? Links oder rechts davon?
    Versucht diese Frage zu beantworten, anschließend könnt ihr eure Antwort auf Quad überprüfen

    Code:
    <quad posn="-64 48 0" sizen="128 64" style="Bgs1InRace" substyle="BgWindow1" />
    Zum Schluss noch ein Quad, was sich gut für ein Hintergrundbild eignet: Es füllt den gesamten Bildschirm aus




    Die perfekte Verwirrung: Die Auswirkungen von halign und valign
    Wenn ihr das mit den Positionen (zumindest einigermaßen) verstanden habt, wird es Zeit, ein wenig Verwirrung zu stiften

    Die Position wird auch durch die Ausrichtung des Elementes beeinflusst. Der intuitive Ansatz, mit halign (horizontal alignment = horizontale Ausrichtung) und valign (vertical alignment = vertikale Ausrichtung) würde nur der Inhalt beeinflusst werden (beispielsweise in Labels der Text), der täuscht sich. Die Ausrichtung beeinflusst das gesamte Element. Allerdings kann man auch hier schnell ins Stoplern geraten. Schaut euch dazu mal folgendes Bild an:

    Huch, das Quad mit bottom und right ist oben links, und umgekehrt? Aus unserer Sicht ist das unsinnig, aus Sicht des Quads beginnt es allerdings langsam Sinn zu machen: Mit halign und valign gibt man an, wo sich der Positionierungspunkt befindet. Mit bottom und right soll der Punkt unten rechts sein, und siehe da, das stimmt bei dem oberen linken Quad. Also immer dran denken: Die Ausrichtung bezieht sich auf den Punkt, nicht auf das Element

    Die Standartwerte liegen im übrigen bei halign="top" und valign="left", der Positionierungspunkt also standarmäßig an der oberen linken Ecke.



  2. #2
    PsyduckTechnischer Administrator
    Enton, Zweton, Dreton, ...
    Avatar von Marcel
    Registriert
    10.06.2010
    Alter
    31
    Beiträge
    1.125
    ManiaPlanet
    FT»Marcel
    Login: m4rcel
    Nickname: FT»Marcel
    Zone: World » Europe » Germany » Thüringen » Erfurt
    Clan: FunTrackers
    ManiaLinks: Tetris
    TrackMania
    FT»Marcel
    Login: m4rcel United
    Nickname: FT»Marcel
    Zone: World » Germany » Thuringia » Erfurt
    Clan: FunTrackers
    ManiaLinks: FunTrackers, Marcel
    Links: TM-Ladder
    Blog-Einträge
    11


    Der zweite Teil des Tutorials beschäftigt sich detailliert mit den verwendbaren Elementen sowie deren Attribute. Es ist zu empfehlen, diesen Abschnitt einmalig komplett durchzulesen, um eine grobe Vorstellung zu bekommen, was mit den einzelnen Elementen möglich ist. Gleichzeitig dient die Auflistung als Art Nachschlagewerk, da wohl kaum jemand alle Details behalten kann.




    <frame>
    Der Frame dient zur Gruppierung von logisch zusammengehörigenden Elementen, die innerhalb der <frame>-Tags notiert werden. Der Frame selbst ist dabei nicht sichtbar, die in ihm befindlichen Elemente richten sich aber am Frame aus. Das heißt: Wird der Frame verschoben, so verschieben sich automatisch alle in ihm enthaltenen Elemente mit.
    Frames sollten dafür genutzt werden, alle Elemente, die auf dem finalen ManiaLink ein Objekt (beispielsweise eine Box) bilden, zusammenzufassen. Muss die Position der Box später geändert werden, so reicht das Ändern der Frame-Position aus.
    Frames können dabei beliebig ineinander verschachtelt werden, um eine gewisse Hierarchie im ManiaLink zu erstellen.

    Attribute:

    • pos(n)="X Y Z"Die Position des Frames
    • scale="Faktor"Der Skalierungsfakot des Frames

    Beispiel:
    Code:
    <frame posn="20 20 0">
        <quad posn="10 -10 0" sizen="16 4" style="Bgs1InRace" substyle="BgWindow1" />
        <label posn="10 -10 1" sizen="16 4" text="Hallo Welt!" />
    </frame>
    Dieses Beispiel zeigt einen Frame, welcher ein Quad und ein Label beinhaltet, die sich übereinander befinden. Das ändern der Frame-Position bewirkt automatisch das Verschieben beider Elemente, sodass diese übereinander bleiben. Probier es aus: Verändere die Frame-Position zu beispielsweise posn="10 10 0"


    <format>
    Mit Hilfe des <format>-Tags können ausgewählte Attribute anderer Tags als allgemeine Formatierung festgelegt werden. Diese Formatierungen gelten dabei global für alle Elemente, oder falls es innerhalb eines Frames Platziert ist für diesen Frame und seine untergeordneten Frames. Das Format ist dabei selbst nicht sichtbar, sondern beeinflusst nur, ähnlich wie die Frames, andere Elemente in ihrer Darstellung.
    Das Format beeinflusst die Elemente <label>, <quad>, <entry> und <fileentry>, wobei die vordefinierten Formatierungen jederzeit innerhalb der entsprechenden Elemente überschrieben werden können.

    Attribute:

    • bgcolor="RGBA"Die Hintergrundfarbe der Elemente – Beeinflusst: Quad
      Die Farben werden als vierstellige Hexadezimalzahl angegeben, das heißt jede Ziffer kann die Werte 0 bis 9 oder A bis F annehmen. Die einzelnen Ziffern stehen dabei für Rot, Grün, Blau und Alpha in genau dieser Reihenfolge.
    • textsize="Zahl"Die Textgröße der Elemente – Beeinflusst: Label, Entry, FileEntry
    • textcolor="RGBA"Die Textfarbe der Elemente – Beeinflusst: Label, Entry, FileEntry
    • focusareacolor1="RGBA"Die Hintergrundfarbe (ohne MouseOver) der Elemente – Beeinflusst: Label, Entry, FileEntry
    • focusareacolor2="RGBA"Die Hintergrundfarbe (mit MouseOver) der Elemente – Beeinflusst: Label, Entry, FileEntry
      Die beiden Attribute focusareacolor1 und focusareacolor2 legen die Hintergrundfarbe der Elemente fest. Dabei wird focusareacolor1 angewendet, solange die Maus nicht über dem Label ist, entsprechend focusareacolor2 wenn die Maus drüber ist.
    • style="StyleName"Der Style der Elemente – Beeinflusst: Label, Entry, FileEntry
      Mit dem Attribut style können bestimmte Formatierungen aus dem Spiel im ManiaLink genutzt werden. So kann beispielsweise mit style="CardButtonSmall" ein Label zu einem für TMF typischen weißen Button verändert werden.
      Eine Liste der möglichen Styles ist auf dem ManiaLink Example und auf der Internetseite TM Styles zu finden.
      Es ist zu beachten, dass dieses Attribut keine Auswirkungen auf Quads haben: Diese benötigen noch einen zusätzlichen substyle, der allerdings innerhalb des <format> nicht unterstützt wird.

    Beispiel:
    Code:
    <format textcolor="F00F" />
    <label text="Hallo Welt!" />
    <label posn="0 -4 0" textcolor="FF0F" text="Hallo Welt!" />
    In diesem Beispiel sehen wir ein Format, gefolgt von zwei Labels. Das erste Label übernimmt dabei die vordefinierte rote Farbe des Formats. Das zweite Label besitzt selbst ein textcolor, sodass es die vordefinierte Farbe mit der eigenen Farbe überschreibt: Es erscheint gelb.


    <quad>
    Eines der wichtigsten Elemente in den Forever ManiaLinks ist das Quad zum Anzeigen von Bildern oder Hintergründen. Dabei ist es möglich, auf Spielinterne Designs (sogenannte Styles) zuzugreifen, um so seinen ManiaLink fester in das Design des Spiels zu integrieren. Es ist möglich, ein <quad> zu Verlinken, und diese Verlinkung auch visuell mittels eines MouseOver-Effektes zu verdeutlichen.
    Als Bildformate werden dabei .jpg, .png, .tga und .dds, sowie .bik als animiertes Format akzeptiert. Wid eine BIK-Datei eingebunden, so wird deren Animation nach einem ManiaLink-Wechsel ununterbrochen fortgesetzt, wenn auf dem neuen ManiaLink dieselbe BIK-Datei eingebunden wurde.

    Attribute:

    • pos(n)="X Y Z"Die Position des Quads
    • size(n)="Breite Höhe"Die Größe des Quads
    • scale="Faktor"Der Skalierungsfaktor des Quads
    • halign="left|center|right"Die horizontale Ausrichtung des Quads
    • valign="top|center|bottom"Die vertikale Ausrichtung des Quads
    • style="KategorieName"Die Kategorie des Styles des Quads
    • substyle="StyleName"Der genaue Style des Quads
      Für das Quad müssen immer beide Attribute, style und substyle, angegeben werden, um ein spielinternes Design festzulegen.
      Eine Liste der möglichen Styles ist auf dem ManiaLink Example und auf der Internetseite TM Styles zu finden.
    • image="Bild.jpg"Das Bild des Quads
    • imagefocus="Bild.jpg"Das Bild für den MouseOver-Effekt des Quads
      Die Bilder für image und imagefocus können wahlweise als absolute Pfade (http://localhost/images/bild.jpg) oder zur XML-Datei relative Pfade (./images/bild.jpg) angegeben werden.
      Wird die Maus in das Quad hinein bewegt, so wird das bei image angegebene Bild durch das von imagefocus ersetzt. Wird die Maus wieder hinaus bewegt, kommt das alte Bild wieder zum Vorschein. Dieser Effekt tritt allerdings nur auf, wenn das Quad zusätzlich verlinkt wurde.
    • bgcolor="RGBA"Die Farbe des Quads
      Da die Attribute style/substyle, image/imagefocus und bgcolor die gleiche Eigenschaft, nämlich die Darstellung des Quads, beeinflussen, können nicht alle drei gleichzeitig angegeben werden. Um genau zu sein ist die Priorität in der Reihenfolge, wie sie gelistet sind: Der Style überschreibt die Bilder, und diese wiederum die Farbe.
    • manialink="ManiaLink"Verlinkung zu einem ManiaLink (Registrierter Code oder URL)
    • url="ExterneSeite.html"Verlinkung zu einer externen Website
      Zum Anzeigen der Website wird TMF minimiert und der Standardbrowser des Systems geöffnet.
    • addplayerid="1"Fügt Benutzerdaten an den Link an
      Genauere Informationen siehe Die PlayerID.

    Beispiel:
    Code:
    <quad style="Bgs1InRace" substyle="BgWindow1" />
    <quad sizen="16 4" 
        image="http://localhost/manialink/menu.png" 
        imagefocus="http://localhost/manialink/menuHover.png" 
        manialink="FunTrackers"
    />
    Das erste Quad wurde mit einem Style versehen, welcher zu einer Darstellung als halb-transparente schwarze Box mit abgerundeten Ecken führt.
    Das zweite Quad definiert hingegen eigene Bilder für die Darstellung.


    <label>
    Neben den Quads sind die Labels die wohl am häufigsten verwendeten Elemente: Sie übernehmen die Ausgabe von Text. Dabei ist "Label" nicht im Sinne von "Bezeichnung" zu sehen, sondern generell als Text-Ausgabe-Element, also zum Beispiel auch ganze Textblöcke. Der Text kann dabei wahlweise als Attribut text angegeben werden, oder zwischen die <label>-Tags geschrieben werden.
    Als besondere Eigenschaft des Labels (oder als Fluch, jenachdem, ob es erwünscht ist oder nicht ) ist anzumerken, dass gewisse Wörter automatisch übersetzt werden: So wird statts dem Wort "Statistics", wenn es alleine im Label steht, bei den deutschen Benutzern "Statistik" angezeigt. Sollte diese Übersetzung nicht erwünscht sein, reicht es, beispielsweise ein Leerzeichen anzuhängen.

    Attribute:

    • pos(n)="X Y Z"Die Position des Labels
    • size(n)="Breite Höhe"Die Größe des Labels
    • scale="Faktor"Der Skalierungsfaktor des Labels
    • halign="left|center|right"Die horizontale Ausrichtung des Labels
    • valign="top|center|bottom"Die vertikale Ausrichtung des Labels
    • text="LabelText"Der Text des Labels
      Der Text kann beliebige $-Formatierungen, die TMF unterstützt, beinhalten. Zeilenumbrüche werden als solche übernommen, sonstige Steuerzeichen wie Tabs sollten vermieden werden.
      Wie bereits erwähnt, kann, statts das Attribut text zu verwenden, dieser auch zwischen die Tags geschrieben werden.
    • style="StyleName"Der Style des Labels
      In Labels genügt die Angabe von style, um eine entsprechende spieleigene Darstellung zu erreichen.
      Eine Liste der möglichen Styles ist auf dem ManiaLink Example und auf der Internetseite TM Styles zu finden.
    • textsize="Zahl"Die Textgröße des Labels
    • textcolor="RGBA"Die Textfarbe des Labels
      Da die Attribute style und textsize/textcolor die gleiche Eigenschaft, nämlich die Darstellung des Textes des Labels, beeinflussen, können nicht beide gleichzeitig angegeben werden. Um genau zu sein ist die Priorität in der Reihenfolge, wie sie gelistet wurden: Der Style überschreibt die Textgröße und Textfarbe.
    • focusareacolor1="RGBA"Die Hintergrundfarbe (ohne MouseOver) des Labels
    • focusareacolor2="RGBA"Die Hintergrundfarbe (mit MouseOver) des Labels
      Die beiden Attribute focusareacolor1 und focusareacolor2 werden nur angewendet, wenn das Label verlinkt ist.
      Da die Attribute style und focusareacolor1/focusareacolor2 die gleiche Eigenschaft, nämlich die Darstellung des Hintergrundes des Labels, beeinflussen, können nicht beide gleichzeitig angegeben werden. Um genau zu sein ist die Priorität in der Reihenfolge, wie sie gelistet wurden: Der Style überschreibt die FocusAreaColors.
    • autonewline="1"Aktiviert den Zeilenumbruch
      Mit dem Attribut autonewline kann der automatische Zeilenumbruch aktiviert werden: Zu lange Zeilen werden an Leerzeichen und speziellen Sonderzeichen umgebrochen.
    • maxline="Zahl"Begrenzt die maximale Anzahl an Zeilen
      Mit maxline ist es möglich, die Anzahl der darzustellenden Zeilen zu beschränken. Zeilen, die dieses Limit überschreiten, werden abgeschnitten und ignoriert.
    • manialink="ManiaLink"Verlinkung zu einem anderen ManiaLink (Registrierter Code oder URL)
    • url="ExterneSeite.html"Verlinkung zu einer externen Website
      Zum Anzeigen der Website wird TMF minimiert und der Standardbrowser des Systems geöffnet.
    • addplayerid="1"Fügt Benutzerdaten an den Link an
      Genauere Informationen siehe Die PlayerID.

    Beispiel:
    Code:
    <label posn="-30 -20 5" halign="center" style="CardButtonMedium" text="$o$008Weißer Button mit dunkelblauer Schrift" />
    Ein Label hat neben dem vordefinierten Style, welcher zu einer Darstellung als weißer Button führt, auch einige $-Formatierungen, um beispielsweise trotz Style die Schriftfarbe auf ein dunkles blau zu setzen.


    <audio>
    Wie es der Name schon andeutet, dient der <audio>-Tag zum Abspielen einer Musikdatei. Dabei wird dem Benutzer ein Start/Stopp-Button angeboten, womit er das Abspielen beeinflussen kann. Als Dateiformat wird, wie im Rest des Spiels auch, nur das .ogg und das .mux Format unterstützt.

    Attribute:

    • pos(n)="X Y Z"Die Position des Audios
    • size(n)="Breite Höhe"Die Größe des Audios
    • scale="Faktor"Der Skalierungsfaktor des Audios
    • halign="left|center|right"Die horizontale Ausrichtung des Audios
    • valign="top|center|bottom"Die vertikale Ausrichtung des Audios
    • data="Audio.ogg"Die abzuspielende Musikdatei
    • play="1"Automatischer Start
      Wird das Attribut play auf 1 gesetzt, startet das Abspielen der Musikdatei direkt nachdem diese fertig geladen wurde.
    • looping="0"Deaktivieren des Wiederholens
      Wird das Attribut looping auf 0 gesetzt, so stoppt das Abspielen der Musikdatei, wenn diese zu Ende ist. Im Standardfall wird die Wiedergabe in einer Endlosschleife fortgesetzt werden.

    Beispiel:
    Code:
    <audio data="http://localhost/manialink/music.ogg" play="1" />
    Die angegebene Musikdatei music.ogg wird beim Aufrufen des ManiaLinks automatisch abgespielt werden.


    <music>
    Falls nun eine Musikdatei im Hintergrund abgespielt werden soll, ohne Einfluss durch den Benutzer, so kann der <music>-Tag dafür genutzt werden. Dabei wird das angegebene Musikstück in einer Endlosschleife wiedergegeben. Wie beim <audio> wird auch hier nur das .ogg und das .mux Format unterstützt. Netter Effekt: Wechselt man den ManiaLink, und wurde auf beiden ManiaLinks dieselbe Musikdatei eingebunden, so wird die Wiedergabe ununterbrochen fortgesetzt.

    Hinweis: Das <music> funktioniert nur, wenn es außerhalb aller Frames gelegen ist. Das heißt, als übergeordnetes Element muss es zwingend den <manialink>-Tag besitzen.

    Attribute:

    • data="Musik.ogg"Die abzuspielende Musikdatei

    Beispiel:
    Code:
    <music data="http://localhost/manialink/music.ogg" />
    Die Musikdatei als data angegeben lässt diese im Hintergrund abspielen. Das ist auch schon die ganze Zauberei hinter <music>


    <video>
    Der <video>-Tag hat sehr starke Ähnlichkeit zum <audio>-Tag, mit der einzigen Ausnahme, dass statts Musik ein Video wiedergegeben wird. Auch diese Wiedergabe kann der Benutzer durch einen in das Video integrierten Start/Stopp-Button steuern. Die Videos müssen dabei im .bik-Format vorliegen.

    Attribute:

    • pos(n)="X Y Z"Die Position des Videos
    • size(n)="Breite Höhe"Die Größe des Videos
    • scale="Faktor"Der Skalierungsfaktor des Videos
    • halign="left|center|right"Die horizontale Ausrichtung des Videos
    • valign="top|center|bottom"Die vertikale Ausrichtung des Videos
    • data="Video.bik"Die abzuspielende Videodatei
    • play="1"Automatischer Start
      Wird das Attribut play auf 1 gesetzt, startet das Abspielen der Videodatei direkt nachdem diese fertig geladen wurde.
    • looping="0"Deaktivieren des Wiederholens
      Wird das Attribut looping auf 0 gesetzt, so stoppt das Abspielen der Videodatei, wenn diese zu Ende ist. Im Standardfall wird die Wiedergabe in einer Endlosschleife fortgesetzt werden.

    Beispiel:
    Code:
    <video sizen="16 8" data="http://localhost/manialink/video.bik" looping="0" />
    Auf dem ManiaLink wird das Video video.bik eingebunden. Hat dieses fertig geladen, kann der Benutzer mit einem Klick auf den Start-Button dieses Video starten. Dabei wurde das looping deaktiviert, sodass das Video automatisch nach einem Durchlauf wieder anhält.


    <timeout>
    Um Traffic zu sparen, speichert TMF alle besuchten ManiaLink lokal zwischen, sodass sie bei erneutem Aufruf nicht neu vom Server angefordert werden brauchen. Dieses Cachen der ManiaLink-Dateien kann allerdings zum Problem werden: Ändert sich nach dem ersten Anfordern die Datei, weil ihr beispielsweise noch im Aufbau seid, so bekommt TMF diese Änderungen nicht mit, es wird immernoch die alte Version anzeigen. Besonders bei dynamischen ManiaLinks ist es meist wichtig, dass die Dateien bei jedem Aufruf neu vom Server geladen werden müssen.
    Mit dem <timeout>-Tag kann man das Cachen von TMF beeinflussen: Er gibt an, nach wie vielen Sekunden der Server die Datei neu anfordern soll. Üblicherweise wird mit einer 0 das Cachen komplett deaktiviert.

    Beispiel:
    Code:
    <timeout>0</timeout>
    Die Null, einsam und ungeschützt gegen Wind und Wetter stand sie da... Bis ein mutiger Held vorbeischritt, und sie mit den schützenden <timeout>-Tags umschloss


    <include>
    Den PHP-Programmierern wird die Bezeichnung include wohl bekannt sein: Mit dem <include>-Tag ist es möglich, andere XML-Dateien in die aktuelle Datei einzubinden. Somit können oft genutzte Teile des ManiaLinks, beispielsweise das Menü, in eine seperate Datei ausgelagert und anschließend in allen anderen Dateien eingebunden werden. Das Importieren ist dabei auf eine Ebene beschränkt: Das heißt, in einer eingebundenen Datei kann keine weitere Datei eingebunden werden.
    Weiterhin gilt zu beachten, dass die einzubindende Datei keine <manialink>-Tags besitzen darf. Stellt euch den Import folgendermaßen vor: TMF zerschneidet die aktuelle Datei genau am <include>, holt sich die darin angegebene Datei vom Server, und klebt diese unverändert an diese Stelle. Ein zusätzliches <manialink> würde also stören
    Allerdings stimmt dass so nicht ganz: Da auch die einzubindende Datei als XML interpretiert wird, müssen alle geöffneten Elemente (beispielweise Frames) auch wieder geschlossen werden. Des Weiteren wird nur das erste Element beachtet. (Dies liegt daran, dass ein XML-Dokument nur ein Wurzel-Element haben darf.) Sollen mehrere Elemente eingebunden werden, müssen diese in einen Frame gepackt werden. Aber: Da der <music>-Tag nur außerhalb von Frames funktioniert, muss dieser immer alleine in der einzubindenden Datei stehen.

    Hinweis: Beachtet bitte, dass das Einbinden einer Datei mittels <include> zu einer längeren Ladezeit führt, da die einzubindende Datei seperat vom Server angefordert werden muss. Seid also entsprechend sparsam mit den Includes. Bei dynamischen ManiaLinks sollten anstelle der <include>-Tags lieber die PHP-eigenen include- bzw. require-Befehle verwendet werden.

    Attribute:

    • url="inc.xml"Die URL zur einzubindenden Datei

    Beispiel:
    ManiaLink-Datei:
    Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <manialink>
        <include url="inc.xml"/>
    </manialink>
    Datei inc.xml:
    Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <frame>
        <quad posn="10 -10 0" sizen="16 4" style="Bgs1InRace" substyle="BgWindow1" />
        <label posn="10 -10 1" sizen="16 4" text="Hallo Welt!" />
    </frame>
    Die Hauptdatei enthält hier nur das Include. Damit auch wirklich beide Elemente der einzubindenden Datei angezeigt werden, müssen diese in einen Frame gepackt werden.


    <entry>
    Eine andere Möglichkeit, mit dem Benutzer zu interagieren (außer ihn wählen zu lassen, ob das Katzengejaule des <audio> weiter abgespielt werden soll) sind die Eingabefelder. Diese machen natürlich nur Sinn in dynamischen ManiaLinks, da eine statische XML-Datei die Eingaben nicht verarbeiten kann.
    Die Funktionsweise ist dabei relativ einfach: Dem Entry wird ein eindeutiger Name zugewiesen, und in jedem Link, wo dieser auftaucht, wird er mit dem aktuellen Wert des Eingabefeldes ersetzt. So kann der Inhalt des Entrys als Parameter an die URL angehangen werden.
    Weiterhin gilt zu beachten, dass das Entry immer Strings entgegennimmt. Eine eventuelle Einschränkung auf beispielsweise Zahlen muss im verarbeitenden Script erfolgen.

    Attribute:

    • pos(n)="X Y Z"Die Position des Entrys
    • size(n)="Breite Höhe"Die Größe des Entrys
    • scale="Faktor"Der Skalierungsfaktor des Entrys
    • halign="left|center|right"Die horizontale Ausrichtung des Entrys
    • valign="top|center|bottom"Die vertikale Ausrichtung des Entrys
    • style="StyleName"Der Style des Entrys
      Eine Liste der möglichen Styles ist auf dem ManiaLink Example und auf der Internetseite TM Styles zu finden.
    • textsize="Zahl"Die Textgröße des Entrys
    • textcolor="RGBA"Die Textfarbe des Entrys
      Da die Attribute style und textsize/textcolor die gleiche Eigenschaft, nämlich die Darstellung des Textes des Entrys, beeinflussen, können nicht beide gleichzeitig angegeben werden. Um genau zu sein ist die Priorität in der Reihenfolge, wie sie gelistet wurden: Der Style überschreibt die Textgröße und Textfarbe.
    • focusareacolor1="RGBA"Die Hintergrundfarbe (ohne MouseOver) des Entrys
    • focusareacolor2="RGBA"Die Hintergrundfarbe (mit MouseOver) des Entrys
      Da die Attribute style und focusareacolor1/focusareacolor2 die gleiche Eigenschaft, nämlich die Darstellung des Hintergrundes des Entrys, beeinflussen, können nicht beide gleichzeitig angegeben werden. Um genau zu sein ist die Priorität in der Reihenfolge, wie sie gelistet wurden: Der Style überschreibt die FocusAreaColors.
    • name="EntryName"Der eindeutige Name des Entrys
      Wie bereits erwähnt, ist der Name des Entrys wichtig: Jedes Vorkommen des Namens in einer URL wird durch den Inhalt des entsprechenden Entrys ersetzt.
    • default="Wert"Der Standard-Wert des Entrys
      Dieser Wert wird bei Aufruf des ManiaLinks automatisch in das Entry eingetragen. Solange der Benutzer diesen Wert nicht verändert, wird er im Eingabefeld stehen bleiben.
    • autonewline="1"Aktiviert den Zeilenumbruch
      Bei größeren Eingaben ist es hilfreich, den Zeilenumbruch mit Hilfe von autonewline zu aktivieren. Ohne diese Angabe würde die Eingabe immer auf eine Zeile angezeigt werden.

    Beispiel:
    Code:
    <entry posn="15 -8 5" sizen="5 2" style="TextValueSmall" name="inputWert" default="Hallo Welt!" />
    <label posn="15 -12 5" style="CardButtonMedium" text="Link mit Wert" url="http://localhost/verarbeitendesScript.php?wert=inputWert" />
    Das Entry trägt in diesem beispiel den Namen inputWert. Deshalb wird in der Verlinkung des Labels diese Zeichenkette durch den Inhalt des Entrys ersetzt, der standardmäßig "Hello World!" lautet. Innerhalb des verarbeitenden Scriptes kann nun mit $_GET['wert'] auf den Wert des Entrys zugegriffen werden, sobald der Benutzer auf das Label geklickt hat.


    <fileentry>
    Der <fileentry>-Tag funktioniert ähnlich wie ein <entry>, mit dem Unterschied, dass der Benutzer eine Datei auswählen kann, die anschließend zum Server übertragen wird. Auch hier gilt: Dieser Tag macht nur Sinn bei dynamischen ManiaLinks.
    Klickt der Benutzer auf das FileEntry, so öffnet sich der TMF-typische Datei-Dialog, wo er dann eine Datei auswählen kann. Über einen seperaten Link kann diese Datei dann zum Server übertragen werden, ein entsprechendes Beispiel findet sich im dritten Teil des Tutorials.

    Hinweis: Das unüberprüfte Hochladen von Dateien kann eine enorme Sicherheitslücke darstellen, deshalb sollte die hochgeladene Datei stets überprüft werden. Ansonsten ist es dem Benutzer möglich, ein PHP-Skript hochzuladen, und dieses auf dem Server auszuführen!

    Attribute:

    • pos(n)="X Y Z"Die Position des FileEntrys
    • size(n)="Breite Höhe"Die Größe des FileEntrys
    • scale="Faktor"Der Skalierungsfaktor des FileEntrys
    • halign="left|center|right"Die horizontale Ausrichtung des FileEntrys
    • valign="top|center|bottom"Die vertikale Ausrichtung des FileEntrys
    • style="StyleName"Der Style des FileEntrys
      Eine Liste der möglichen Styles ist auf dem ManiaLink Example und auf der Internetseite TM Styles zu finden.
    • textsize="Zahl"Die Textgröße des FileEntrys
    • textcolor="RGBA"Die Textfarbe des FileEntrys
      Da die Attribute style und textsize/textcolor die gleiche Eigenschaft, nämlich die Darstellung des Textes des FileEntrys, beeinflussen, können nicht beide gleichzeitig angegeben werden. Um genau zu sein ist die Priorität in der Reihenfolge, wie sie gelistet wurden: Der Style überschreibt die Textgröße und Textfarbe.
    • focusareacolor1="RGBA"Die Hintergrundfarbe (ohne MouseOver) des FileEntrys
    • focusareacolor2="RGBA"Die Hintergrundfarbe (mit MouseOver) des FileEntrys
      Da die Attribute style und focusareacolor1/focusareacolor2 die gleiche Eigenschaft, nämlich die Darstellung des Hintergrundes des FileEntrys, beeinflussen, können nicht beide gleichzeitig angegeben werden. Um genau zu sein ist die Priorität in der Reihenfolge, wie sie gelistet wurden: Der Style überschreibt die FocusAreaColors.
    • name="FileEntryName"Der eindeutige Name des FileEntrys
      Der Name des FileEntries hat die gleiche Funktion wie beim <entry>. Dieser wird in den URLs durch den ausgewählten Dateinamen ersetzt.
    • folder="OrdnerPfad"Der Pfad des obersten Ordners
      Wird der Dialog des FileEntry geöffnet, so wird dieser Ordner als erstes angezeigt. Des Weiteren ist es dem Benutzer nicht möglich, in einen höheren Ordner zu wechseln. Die Angabe erfolgt relativ zum TrackMania-Ordner in den Eigenen Dateien bzw. Dokumenten, dieser stellt gleichzeitig den obersten Ordner dar, der möglich ist.
    • default="Wert"Der Standardwert des FileEntries
      Dieser Wert wird solange im FileEntry angezeigt, bis der Benutzer eine Datei ausgewählt hat.
    • autonewline="1"Aktiviert den Zeilenumbruch
      autonewline hat den gleichen Effekt wie im <entry>, nur macht er hier wenig Sinn, da die Pfade meist nicht allzu lang werden.

    Beispiel:
    Code:
    <fileentry posn="16 -28 0" sizen="39 2" style="TextValueSmall" name="inputTrackFile" folder="tracks\challenges" default="Strecke auswählen"/>
    <label posn="1 -32 0" style="CardButtonMediumWide" manialink="POST(http://localhost/manialink/verarbeitendesScript.php?file=inputTrackFile,inputTrackFile)" text="Strecke absenden"/>
    Hier wird ein FileEntry mit dem Namen "inputAvatarFile" festgelegt, wo der Benutzer einen Avatar aus dem Ordner Skins\Avatars auswählen kann. Das darunter befindliche Label sendet die Datei mittels POST() zum verarbeitenden Script.

  3. #3
    PsyduckTechnischer Administrator
    Enton, Zweton, Dreton, ...
    Avatar von Marcel
    Registriert
    10.06.2010
    Alter
    31
    Beiträge
    1.125
    ManiaPlanet
    FT»Marcel
    Login: m4rcel
    Nickname: FT»Marcel
    Zone: World » Europe » Germany » Thüringen » Erfurt
    Clan: FunTrackers
    ManiaLinks: Tetris
    TrackMania
    FT»Marcel
    Login: m4rcel United
    Nickname: FT»Marcel
    Zone: World » Germany » Thuringia » Erfurt
    Clan: FunTrackers
    ManiaLinks: FunTrackers, Marcel
    Links: TM-Ladder
    Blog-Einträge
    11

    Zu schön um wahr zu sein: Bekannte Probleme
    Über die Zeit sind einige Probleme aufgetreten, die hier kurz genannt werden sollen, um wiederholtes Fragen danach möglichst zu vermeiden.


    • AddPlayerID in Quads und Labels leicht manipulierbar
      Die Angaben, die mit Hilfe von addplayerid an die Links angefügt werden können, lassen sich leicht manipulieren, indem der Link einfach manuell eingegeben wird und dabei falsche Werte für die PlayerID vorgetäuscht werden. Für kritische Bereiche ist also von der PlayerID abzuraten!
    • bplaced.net blockt den Zugriff von TMF
      Da das Angebot von bplaced in der Vergangenheit zu stark missbraucht wurde, werden sämtliche Zugriffe von TMF auf die Server von bplaced mit dem HTTP-Fehler 403 (Forbidden) abgeblockt. Infolgedessen können keine ManiaLinks auf bplaced gehostet werden.




    Komplexes Beispiel
    An dieser Stelle möchte ich euch ein etwas komplexeres Beispiel zeigen und ein wenig erläutern. Es handelt sich dabei um das Eingabefenster der ersten Version des Quad-ManiaLinks, und zeigt recht gut, wie ein vollständiger ManiaLink am Ende aussehen könnte.

    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://localhost/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://localhost/manialink/quad/en.png" manialink="http://localhost/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://localhost/manialink/quad/de.png" manialink="http://localhost/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://localhost/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>
    Hier auch noch ein Screenshot, wie das ganze im Spiel aussieht:


    Erläuterungen:

    • Zeilen 03 und 25Der 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 24Das Fenster an sich
      Das Quad in Zeile 24 erzeugt das Fenster an sich, also das abgerundete Viereck. Die Position wurde weggelassen. Es übernimmt als Positionierungspunkt somit den Punkt des Frames. Die Größe bestimmt, wie groß letztendlich unser Fenster erscheint. Ohne dieses Quad würden die Eingabefelder und Labels nur verlassen auf dem Bildschirm rumhängen, so werden sie optisch zu einer Einheit zusammengefasst. Das abgerundete Viereck wird dabei mit dem "BgWindow2" aus der Kategorie "Bgs1InRace" erzeugt.
    • Zeilen 04 und 05Die 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 Wert, sodass zwischen den Positionierungsarten gewechselt wird.
    • Zeilen 06 bis 08, 10 bis 13 und 16 bis 18Bezeichnungen 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 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, 20Die 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 23Button 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.
      Beachtet, dass das &-Zeichen durch & ersetzt werden muss, da es sonst fehlinterpretiert wird. Würden nun die Werte in den Eingabefeldern geändert werden, so ändern sich automatisch die Werte in den URLs mit, sodass immer die aktuellen 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 Eine Angabe der Größe ist bei Verwendung der Button-Styles überflüssig, da der Style selbst die Größe festlegt.
    • Zeilen 21 und 22Zwei 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. Ich hätte auch ein zweites 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 mit angepasster Sprache (lang=de/en).




    Der ManiaKlick: Verlinken via TMTP-Protokoll
    Mit dem Forever Addon gibt es eine Möglichkeit, durch entsprechende Verlinkung die ManiaLinks direkt aus dem Browser heraus mit nur einem Klick aufzurufen (quasi ein ManiaKlick ). 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 dort angezeigt. (Sollte das TMTP-Protokoll nicht mit TMF verknüpft worden sein, ist hier nachzulesen, wie dies nachträglich getan werden kann.)

    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.incredispace.net/
    • Aufruf eines ManiaLinks über seinen registrierten Code
      Es ist möglich, einen ManiaLink auch über dessen registrierten Code aufzurufen, indem 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:///:FunTrackers
      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 TMF diesen TMTP-Link also nicht korrekt umsetzen. Ausnahme bildet hier der Internet Explorer, welcher tatsächlich "Test Quad" an TMF weitergibt, und somit Sonderzeichen in TMTP-Links mit diesem Browser funktionieren.

    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




    What he said? Mehrsprachige ManiaLinks
    In TMF ist es möglich, die Sprache der ManiaLinks automatisch an die Spracheinstellung des Spiels anzupassen. Dabei werden für die zu unterstützenden Sprachen die jeweiligen Wörter, Wortgruppen oder Sätze seperat notiert, und das Spiel wählt die passende Version zum Anzeigen aus. Im Folgenden soll das Erstellen eines mehrsprachigen ManiaLinks etwas erläutert werden.

    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, wie die eigentliche ManiaLink-Datei aufgebaut ist. Es ist euch freigestellt, ob ihr die Mehrsprachigkeit direkt mit in die Haupt-Datei einbaut, oder, so wie hier, mittels <include> einbindet. Ein weiterer Unterschied ist, dass bei den Elementen nun nicht mehr text und image stehen, sondern textid und imageid. Des weiteren ist auch der eigentliche Wert nicht mehr angegeben, sondern als Platzhalter eine ID für die zu verwendende Sprachvariable.

    Die Sprachdatei: lang.xml:
    Code:
    <dico>
        <language id="de">
            <example>Beispiel</example>
            <nadeo>Danke Nadeo für diese ManiaLinks</nadeo>      
            <img>http://localhost/manialink/de.png</img>
        </language>
    
        <language id="en">
            <example>Example</example>
            <nadeo>Thanks Nadeo for these ManiaLinks</nadeo>
            <img>http://localhost/manialink/en.png</img>
        </language>
    </dico>
    Hier seht ihr die Sprachdatei mit den beiden Sprachen Deutsch und Englisch.
    Jede Sprache wird durch ein <language id="CODE"></language> umschlossen, wobei der CODE dem Sprachcode entspricht (unten findet ihr eine Liste dazu).
    Innerhalb des Language-Tags kommen nun die IDs zum Einsatz: Den Inhalt der öffnenden < > und schließenden </ > Tags könnt ihr frei wählen. Den Wert, den ihr hier angibt, ist dabei genau die ID, die oben bspw. als textid angegeben wurde. Zwischen die Tags kommt nun der Inhalt, der anstelle der ID eingesetzt werden soll.


    Einige Hinweise:

    • Die Wahl der ID
      Eine ID muss mit einem Buchstaben oder einem Underline _ beginnen, danach können auch Zahlen folgen. Dies ist der sicherste Weg, Syntax-Problemen aus dem Weg zu gehen
    • Fehlende IDs einer Sprache
      Sollte eine ID in einer Sprache nicht vorhanden sein, so wird versucht, die Englische Entsprechung zu nutzen. Fehlt auch diese, so wird für die ID nichts angezeigt werden. Entsprechend sollte man darauf achten, dass mindestens Englisch vollständig ist.
    • Sonderzeichen
      Werden irgendwelche Sonderzeichen verwendet, muss die Sprach-XML-Datei mit der Kodierung UTF-8 abgespeichert werden. (Dies ist meist im Speichern-Dialog oder im Menü einstellbar.) Generell ist zu empfehlen, alle XML-Dateien als UTF-8 abzuspeichern, da dies die Standard-Kodierung für XML ist.


    Unterstützte Attribute:

    • <quad>image, imagefocus, url, manialink
    • <label>text, url, manialink
    • <audio>data
    • <video>data

    Um eine ID zu verwenden, muss lediglich "id" an das jeweilige Attribut angehangen werden. So wird beispielsweise aus "text" einfach "textid", aus "image" wird "imageid" usw.


    Liste der Sprachcodes:

    • czTschechisch
    • deDeutsch
    • enEnglisch
    • esSpanisch
    • frFranzösisch
    • huUngarisch
    • itItalienisch
    • jpJapanisch
    • krKroatisch
    • nlNiederländisch
    • plPolnisch
    • ptPortugisisch
    • ruRussisch
    • skSlowakisch
    • zhChinesisch

    (Für diese Codes existieren Sprachdateien für das Spiel, deshalb wird angenommen, dass sie alle als Sprache unterstützt werden.)




    Ausweis bitte: Die PlayerID
    PHP-Kenntnisse erforderlich.

    Bei verlinkbaren Elementen, also bei Labels und Quads, ist es möglich, mittels setzen von addplayerid benutzerspezifische Daten an den Link zu übergeben. Die Daten werden dabei als zusätzliche Parameter an die URL angehangen, dh. der Zugriff auf diese erfolgt somit über $_GET.


    Übergebene Daten:

    • playerlogin="m4rcel"Der Accountname des Spielers
    • lang="de"Die Sprache des Spiels
    • nickname="FT»Marcel"Der Nickname des Spielers
      Der Nickname wird inklusive aller Formatierungen übergeben. Die Sonderzeichen erscheinen in der URL zwar verfälscht (genauer gesagt URL-kodiert), das Script dekodiert diese Werte aber automatisch, sodass die unverfälschten Werte direkt zur Verfügung stehen.
    • path="World|Germany|Thuringia|Erfurt"Die Zone des Spielers

    Hinweis: Da die Daten an die URL angehangen werden, lassen sich diese leicht manipulieren, indem die URL manuell eingegeben wird und dabei falsche Werte vorgetäuscht werden. Für kritische Bereiche ist also von der PlayerID abzuraten!




    Gebt her eure Daten: Ein Beispiel zu Entry und FileEntry
    PHP-Kenntnisse erforderlich.

    Mit Entrys und FileEntrys ist es dem Benutzer möglich, Eingaben bzw. Dateien zum ManiaLink zu übertragen. Dieser Abschnitt soll ein kurzes Beispiel liefern, wie das auf Script-Seite aussehen kann.

    Beispiel zu Entry
    Das Verwenden von Entrys ist relativ einfach, da die Werte direkt an die URL angehangen werden können.

    XML-Code:
    Code:
    <entry posn="15 -8 5" sizen="5 2" style="TextValueSmall" name="inputWert" default="Hallo Welt!" />
    <label posn="15 -12 5" style="CardButtonMedium" text="Link mit Wert" manialink="ManiaLink?wert=inputWert" />
    Verarbeitendes Script:
    PHP-Code:
    <?php
    // Einlesen des übergebenen Wertes
    $wert $_GET['wert'];

    // Ausgabe des ManiaLinks
    header('Content-Type: text/xml');
    echo <<<EOT
    <?xml version="1.0" encoding="utf-8" ?>
    <manialink>
        <timeout>0</timeout>
        <label text="
    {$wert}" />
    </manialink>
    EOT;
    ?>
    In der XML-Datei findet sich ein Entry mit dem Namen inputWert. Dieser Wert wird anschließend im Label als Parameter verwendet: ?wert=inputWert. Das heißt, wir bekommen den Inhalt des Entrys als wert geliefert.
    Im Script selbst wird nun einfach der empfangene Wert ausgelesen, und anschließend ein vollständiger ManiaLink generiert, der den übergebenen Wert als Label ausgibt.

    Beispiel zu FileEntry
    Das Verwenden von FileEntry ist etwas komplexer, da der Inhalt einer Datei nicht an die URL angehangen werden kann, sondern seperat (mittels POST-Methode) übertragen werden muss.

    XML-Code:
    Code:
    <fileentry posn="16 -28 0" sizen="39 2" style="TextValueSmall" name="inputTrackFile" folder="tracks\challenges" default="Strecke auswählen"/>
    <label posn="1 -32 0" style="CardButtonMediumWide" manialink="POST(ManiaLink?file=inputTrackFile,inputTrackFile)" text="Strecke absenden"/>
    Verarbeitendes Script:
    PHP-Code:
    <?php
    // Einlesen der empfangenen Datei
    $name $_GET['file'];
    $file file_get_contents('php://input');

    // Empfangene Datei auf dem Server speichern
    file_put_contents("tracks/{$name}"$file);

    // Größe der Streckendatei ermitteln für die Ausgabe
    $size filesize("tracks/{$name}");

    // Ausgabe des ManiaLinks
    header('Content-Type: text/xml');
    echo <<<EOT
    <?xml version="1.0" encoding="utf-8" ?>
    <manialink>
        <timeout>0</timeout>
        <label text="Empfangene Strecke: 
    {$name} (Größe: {$size})" />
    </manialink>
    EOT;
    ?>
    Der XML-Code ähnelt dem des ersten Beispiels. Herauszuheben ist nur die Angabe im manialink-Attribut des FileEntry: Dort steht nicht nur der eigentliche ManiaLink, sondern es wird mit POST(ManiaLink?file=inputTrackFile,inputTrackFile) gesagt, dass er die bei inputTrackFile (hinter dem Komma) ausgewählte Datei an ManiaLink?file=inputTrackFile (vor dem Komma) senden soll. Doch wieso wird die Strecke nochmal als Parameter an die URL angehangen? Damit im Script der Original-Dateiname vorhanden ist. Ohne diesen Parameter würde der Streckenname verloren gehen, dieser wird allerdings (in diesem Beispiel) zum Speichern benötigt. (Heißt auch: Wird der Dateiname nicht benötigt, kann der Parameter in der URL entfallen.)
    Im Script selbst wird nun der Name und die Datei eingelesen, die Datei selbst gespeichert, und anschließend der Name und die Größe der Datei ausgegeben. Der Code sollte eigentlich selbst erklärend sein.

    Hinweis: An dieser Stelle sei nochmals darauf hingewiesen, dass das unkontrollierte Hochladen und Abspeichern von Dateien eine enorme Sicherheitslücke darstellt. Überprüft also auf jeden Fall, ob ihr eine erwartete Datei bekommen habt, und dass nicht versucht wurde, eine schädliche Datei unterzujubeln.
    Im Beispiel wäre eine einfache Kontrolle, dass der Dateiname auf ".Challenge.Gbx" enden muss. Ein besserer, allerdings auch schwieriger zu realisierender Schutz wäre, den XML-Header der Strecken-Datei auszulesen und zu überprüfen, ob dieser gültige Werte beispielsweise für Streckenname und Author hat.




    Alles hat ein Ende...
    Somit sind wir am Ende meines Tutorial angelangt. Ich habe alles gesagt, was ich zu sagen hatte, auf alles hingewiesen, worauf es hinzuweisen galt. Nun liegt es bei euch, das hier niedergelegte Wissen anzuwenden. Lasst eurer Phantasie freien lauf, und taucht ein in die Welt der unbegrenzten Möglichkeiten...

    Natürlich freue ich mich über jegliche Kommentare zum Tutorial. Wenn es irgendeinen Fehler gibt, oder irgendetwas nicht stimmt, so weist darauf hin, auf dass ich ihn noch in diesem Jahrtausend ausbessern werde ^^ Wenn ihr ein Problem zu den ManiaLinks habt, öffnet bitte ein eigenes Thema dafür (nachdem ihr die Suchfunktion verwendet habt ), in diesem Thread sollten nur Dinge gepostet werden, die unmittelbar etwas mit dem Tutorial zu tun haben.

    Zum Schluss folgen noch ein paar Danksagungen an diejenigen, die mich beim Schreiben des Tutorials unterstützt haben:
    Zum einen wären da die Betatester von TMF, die mir einige meiner Fragen zu den damals neuen ManiaLinks beantworten konnten, und mich das ganze besser haben verstehen lassen.
    Zum anderen geht ein Dank an die Member des FT Clans und den ehemaligen Partnerclan ECU, die mich auf unpassende, fehlerhafte oder unverständliche Textstellen hingewiesen haben.
    Zu letzt geht noch ein besonderer Dank an FT»kastun. Er hat mich nicht nur schon bei der ersten Version des Tutorials unterstützt, sondern auch die Komplett-Überarbeitung mit kritischem Blick begutachtet.




    Möge mit euch sein.
    FT»Marcel

  4. #4
    Erfahrener Benutzer
    Registriert
    27.06.2010
    Beiträge
    136
    TrackMania
    ๓яł¤ł
    Login: joshua-g United
    Nickname: ๓яł¤ł
    Zone: World » Germany » Hamburg
    Multiplayer: 97.098 (60.481 LP)
    Soloplayer: 11.042 (56.963 SP)
    ManiaLinks: speedtech
    Links: TM-Ladder
    Sagmal, warum hast du den Titel umgedreht? Hieß das nicht mal Manialinks Forever?
    Daily-Witz:
    Als ich noch jünger war, hasste ich es, auf Hochzeiten zu gehen.
    Meine beiden Großmütter und alle möglichen Tanten drängten sich immer um mich, pickten mich in die Seite und kicherten: "Du bist der Nächste! Du bist der Nächste!"
    Sie haben erst mit dem ganzen Mist aufgehört, als ich anfing, bei Beerdigungen das selbe zu machen!"

  5. #5
    Erfahrener Benutzer Wurzel 2 Avatar von ManuueL
    Registriert
    28.06.2010
    Ort
    Niedersachsen
    Beiträge
    141
    ManiaPlanet
    sL' МαήuueL~
    Login: manuuel
    Nickname: sL' МαήuueL~
    Zone: World » Europe » Germany » Niedersachsen » Oldenburg
    Multiplayer: 104.831 (4.979 LP)
    Soloplayer: 36.717 (846 SP)
    Clan: SkiLL:LeSS
    ManiaLinks: TheStore
    TrackMania
    sL।דωя.МαήuuैeL.
    Login: makaronie United
    Nickname: sL।דωя.МαήuuैeL.
    Zone: World » Germany » Lower Saxony » Oldenburg
    Multiplayer: 107.630 (60.096 LP)
    Soloplayer: 46.871 (6.427 SP)
    Clan: SkiLL:LeSS
    Links: TM-Ladder
    Blog-Einträge
    1
    Zitat Zitat von MrLoL Beitrag anzeigen
    Sagmal, warum hast du den Titel umgedreht? Hieß das nicht mal Manialinks Forever?
    Ähm Forever Manialink ist doch richtig.
    Also wie soll ichs sagen...Forever steht für die Trackmania Forever Spiele.
    Und dann heißt Forever Manialinks die Manialinks in den Forever spielen.
    Wenn das Manialinks Forever heißen würde wäre das ja wie Trackmania Nations/United Forever.
    Ach so richtig weis ichs auch nicht ^^

  6. #6
    Erfahrener Benutzer Avatar von яοвєяτ
    Registriert
    26.06.2010
    Ort
    Nürnberg
    Alter
    25
    Beiträge
    427
    ManiaPlanet
    яοвєяτ
    Login: robbit
    Nickname: яοвєяτ
    Zone: World » Europe » Germany » Bayern » Nürnberg
    Multiplayer: 41.446 (19.731 LP)
    Soloplayer: 3.281 (27.868 SP)
    TrackMania
    яοвєяτ
    Login: robbys22 United
    Nickname: яοвєяτ
    Zone: World » Germany » Bavaria » Nürnberg
    Multiplayer: 70.957 (62.285 LP)
    Soloplayer: 41.225 (8.095 SP)
    ManiaLinks: robert
    Links: TM-Ladder
    "Manialinks Forever" könnte man zB wie "Manialinks ftw" verstehen.
    Trackmania Forever:


    Trackmania²:
    (coming soon)

  7. #7
    PsyduckTechnischer Administrator
    Enton, Zweton, Dreton, ...
    Avatar von Marcel
    Registriert
    10.06.2010
    Alter
    31
    Beiträge
    1.125
    ManiaPlanet
    FT»Marcel
    Login: m4rcel
    Nickname: FT»Marcel
    Zone: World » Europe » Germany » Thüringen » Erfurt
    Clan: FunTrackers
    ManiaLinks: Tetris
    TrackMania
    FT»Marcel
    Login: m4rcel United
    Nickname: FT»Marcel
    Zone: World » Germany » Thuringia » Erfurt
    Clan: FunTrackers
    ManiaLinks: FunTrackers, Marcel
    Links: TM-Ladder
    Blog-Einträge
    11
    Ja, ich habe den Titel umgereht, da mir "Forever ManiaLinks" logischer erschien. "ManiaLinks Forever" war damals eine Anspielung auf "United Forever", nur ist der Zusammenhang mitlerweile verloren.
    Allgemein müsste ich das Tutorial mal überarbeiten, da zu viele Querverbindungen zu TMU sind, die mit der Zeit einfach überflüssig geworden sind. Nur habe ich noch nicht die Zeit gefunden, das von Grund auf zu überarbeiten.

  8. #8
    Erfahrener Benutzer
    Registriert
    28.06.2010
    Ort
    Schleswig-Holstein
    Beiträge
    183
    ManiaPlanet
    .маясо
    Login: Marco01_809
    Nickname: .маясо
    Zone: World » Europe » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 8.019 (60.931 LP)
    Soloplayer: 42.053 (619 SP)
    TrackMania
    .маясо
    Login: Marco01_809 United
    Nickname: .маясо
    Zone: World » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 101.708 (60.293 LP)
    Soloplayer: 14.970 (37.798 SP)
    Links: TM-Ladder
    TMNF Spieler können doch jetzt auf registrierte Codes zugreifen? Solltest du aus deinem Tutorial entfernen
    i5-2500K | P8Z68-V PRO | 16GB DDR3 | GTX670 Windforce 3X | 840 pro 256GB

  9. #9
    PsyduckTechnischer Administrator
    Enton, Zweton, Dreton, ...
    Avatar von Marcel
    Registriert
    10.06.2010
    Alter
    31
    Beiträge
    1.125
    ManiaPlanet
    FT»Marcel
    Login: m4rcel
    Nickname: FT»Marcel
    Zone: World » Europe » Germany » Thüringen » Erfurt
    Clan: FunTrackers
    ManiaLinks: Tetris
    TrackMania
    FT»Marcel
    Login: m4rcel United
    Nickname: FT»Marcel
    Zone: World » Germany » Thuringia » Erfurt
    Clan: FunTrackers
    ManiaLinks: FunTrackers, Marcel
    Links: TM-Ladder
    Blog-Einträge
    11
    Lese meinen vorherigen Post, dann sollte die klar werden, dass ich eine Überarbeitung plane. Wegen knapper Zeit (u.a. wegen dem Forum hier xD) wird das aber nochn Weilchen brauchen.
    Es gibt mehrere Sachen, die nicht mehr oder noch nie gestimmt haben, nur die jetzt noch zu ändern halte ich für überflüssig.

  10. #10
    Moderator und Moderator Avatar von xxluke
    Registriert
    10.06.2010
    Ort
    Kiel
    Alter
    25
    Beiträge
    1.733
    ManiaPlanet
    xxluke
    Login: xxluke
    Nickname: xxluke
    Zone: World » Europe » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 32.812 (25.126 LP)
    Soloplayer: 36.653 (849 SP)
    ManiaLinks: disney
    TrackMania
    xxluke
    Login: xxluke United
    Nickname: xxluke
    Zone: World » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 64.618 (63.001 LP)
    Soloplayer: 22.874 (20.754 SP)
    ManiaLinks: xxluke, MMLPlugins, vorname, CMSs
    Links: TM-Ladder
    Wie wärs noch mit "focusareacolor1", "focusareacolor2" und "action"?

  11. #11
    The Tux of destiny... Avatar von destroflyer
    Registriert
    10.06.2010
    Beiträge
    1.566
    ManiaPlanet
    XR // destro~flyer
    Login: destroflyer
    Nickname: XR // destro~flyer
    Zone: World » Europe » Germany » Baden-Württemberg » Stuttgart
    Multiplayer: 21.074 (37.323 LP)
    Soloplayer: 3.895 (22.989 SP)
    TrackMania
    destro~flyer
    Login: destro_flyer United
    Nickname: destro~flyer
    Zone: World » Germany » Baden-Württemberg » Stuttgart
    Multiplayer: 158.473 (59.508 LP)
    Soloplayer: 42.185 (7.760 SP)
    ManiaLinks: mls, mls_dev, mlsexchange, apps, enton, maniacommunity
    Links: TM-Ladder
    Blog-Einträge
    2
    "focusareacolor1", "focusareacolor2"
    Was soll das sein?

    "action"
    Wurde meines Wissens mit Absicht weggelassen, da sich Marcel mit den serverseitigen ML-Funktionen nicht so gut auskennt und auch das lästige action="0" auf jedem Amateur-ML verhindern will.

  12. #12
    Minecraft Freak! When I'm sixty-four Avatar von CyberX
    Registriert
    18.06.2010
    Ort
    Berlin
    Alter
    25
    Beiträge
    64
    TrackMania
    »pex1L
    Login: cyberx United
    Nickname: »pex1L
    Zone: World » Germany » Berlin
    Multiplayer: 99.360 (60.384 LP)
    Soloplayer: 9.559 (68.571 SP)
    ManiaLinks: CyberX
    Links: TM-Ladder
    Focusareacolor1 ist für die Farbe des Entrys zuständig und Focusareacolor2 für die Farbe beim Anklicken/Hover. Dafür wird ein 4-stelliger Hex Code verwendet. Die ersten 3 Stellen halt RGB, die 4. für die Transparenz.

  13. #13
    PsyduckTechnischer Administrator
    Enton, Zweton, Dreton, ...
    Avatar von Marcel
    Registriert
    10.06.2010
    Alter
    31
    Beiträge
    1.125
    ManiaPlanet
    FT»Marcel
    Login: m4rcel
    Nickname: FT»Marcel
    Zone: World » Europe » Germany » Thüringen » Erfurt
    Clan: FunTrackers
    ManiaLinks: Tetris
    TrackMania
    FT»Marcel
    Login: m4rcel United
    Nickname: FT»Marcel
    Zone: World » Germany » Thuringia » Erfurt
    Clan: FunTrackers
    ManiaLinks: FunTrackers, Marcel
    Links: TM-Ladder
    Blog-Einträge
    11
    Destro hat es richtig erkannt: Um die überflüssigen "Beenden"-Buttons auf Anfänger-MLs zu verhindern (bzw. einzudämmen), wurde action bewusst nicht mit aufgenommen. Es macht auf MLs einfach keinen Sinn, wenn ich raus will, drück ich Esc und nicht irgendeinen Link, der vlt. nochmal meine PlayerID abfragt

    FocusColor1 und 2 wurden erst bekannt, als ich das Tutorial nicht mehr aktualisiert hatte (bzw. keine Zeit mehr dafür hatte). Sobald ich mich an die Komplett-Überarbeitung setze, werden diese mit aufgenommen

  14. #14
    Moderator und Moderator Avatar von xxluke
    Registriert
    10.06.2010
    Ort
    Kiel
    Alter
    25
    Beiträge
    1.733
    ManiaPlanet
    xxluke
    Login: xxluke
    Nickname: xxluke
    Zone: World » Europe » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 32.812 (25.126 LP)
    Soloplayer: 36.653 (849 SP)
    ManiaLinks: disney
    TrackMania
    xxluke
    Login: xxluke United
    Nickname: xxluke
    Zone: World » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 64.618 (63.001 LP)
    Soloplayer: 22.874 (20.754 SP)
    ManiaLinks: xxluke, MMLPlugins, vorname, CMSs
    Links: TM-Ladder
    Ja, Focusareacolor1 und 2 sind zum Farbwechseln beim Hover. Aber funktioniert das nur mit Entrys? Muss mal jemand ausprobieren. Und gibt es eigendlich noch einen anderen Wert für action außer "0"?

  15. #15
    Erfahrener Benutzer Avatar von яοвєяτ
    Registriert
    26.06.2010
    Ort
    Nürnberg
    Alter
    25
    Beiträge
    427
    ManiaPlanet
    яοвєяτ
    Login: robbit
    Nickname: яοвєяτ
    Zone: World » Europe » Germany » Bayern » Nürnberg
    Multiplayer: 41.446 (19.731 LP)
    Soloplayer: 3.281 (27.868 SP)
    TrackMania
    яοвєяτ
    Login: robbys22 United
    Nickname: яοвєяτ
    Zone: World » Germany » Bavaria » Nürnberg
    Multiplayer: 70.957 (62.285 LP)
    Soloplayer: 41.225 (8.095 SP)
    ManiaLinks: robert
    Links: TM-Ladder
    Von was willst du denn die Farbe ändern?
    Bei Quads kann man die Farbe ja mit bgcolor einstellen und bei Labels mit $...

    action=1 gibt es noch^^
    Trackmania Forever:


    Trackmania²:
    (coming soon)

  16. #16
    PsyduckTechnischer Administrator
    Enton, Zweton, Dreton, ...
    Avatar von Marcel
    Registriert
    10.06.2010
    Alter
    31
    Beiträge
    1.125
    ManiaPlanet
    FT»Marcel
    Login: m4rcel
    Nickname: FT»Marcel
    Zone: World » Europe » Germany » Thüringen » Erfurt
    Clan: FunTrackers
    ManiaLinks: Tetris
    TrackMania
    FT»Marcel
    Login: m4rcel United
    Nickname: FT»Marcel
    Zone: World » Germany » Thuringia » Erfurt
    Clan: FunTrackers
    ManiaLinks: FunTrackers, Marcel
    Links: TM-Ladder
    Blog-Einträge
    11
    Okay, es ist soweit, es gibt das nächste Update:
    » Komplette Überarbeitung des Tutorials

    Da das Tutorial langsam immer mehr veraltete, habe ich mich in den letzten Tagen rangesetzt, und es von Grund auf überarbeitet. Unnötige Abschnitte wurden entfernt, irgendwelche Querverbindungen zu TMU eleminiert, neue Abschnitte hinzugefügt. Es sind keine "neuen ManiaLinks" mehr, sondern einfach "die ManiaLinks".

    Freue mich natürlich auch weiterhin über jedes Feedback zum Tutorial

    Viel Spaß beim lesen

    (Die Version im DS-Forum wird in den nächsten Tagen erneuert werden, das aktuelle Design sieht dort ein wenig... naja aus. ^^)

  17. #17
    The Tux of destiny... Avatar von destroflyer
    Registriert
    10.06.2010
    Beiträge
    1.566
    ManiaPlanet
    XR // destro~flyer
    Login: destroflyer
    Nickname: XR // destro~flyer
    Zone: World » Europe » Germany » Baden-Württemberg » Stuttgart
    Multiplayer: 21.074 (37.323 LP)
    Soloplayer: 3.895 (22.989 SP)
    TrackMania
    destro~flyer
    Login: destro_flyer United
    Nickname: destro~flyer
    Zone: World » Germany » Baden-Württemberg » Stuttgart
    Multiplayer: 158.473 (59.508 LP)
    Soloplayer: 42.185 (7.760 SP)
    ManiaLinks: mls, mls_dev, mlsexchange, apps, enton, maniacommunity
    Links: TM-Ladder
    Blog-Einträge
    2
    WOW! Super Arbeit!


    EDIT: Kleinen Schreibfehler gefunden:
    Zitat Zitat von Marcel
    Mit dem <timeouty>-Tag kann man das Cachen von TMF beeinflussen:
    Hinweis Hinweis von Marcel
    fixed
    Geändert von destroflyer (30.07.2010 um 20:30 Uhr)

  18. #18
    Erfahrener Benutzer Avatar von Keks
    Registriert
    28.06.2010
    Alter
    24
    Beiträge
    124
    ManiaPlanet
    Keks
    Login: urny123
    Nickname: Keks
    Zone: World » Europe » Germany » Hessen » Offenbach
    Multiplayer: 271.655 (147 LP)
    Soloplayer: 99.385 (0 SP)
    TrackMania
    »Keks
    Login: urny123 United
    Nickname: »Keks
    Zone: World » Germany » Hesse » Offenbach
    Soloplayer: 6.766 (106.993 SP)
    ManiaLinks: Keks
    Links: TM-Ladder
    Blog-Einträge
    2
    Echt super geworden, Marcel.
    Mir persönlich gefällt gut, dass du bezüglich der POST-Kiste was mit reingebracht hast. Vorallem hast du mal einen sehr stark vereinfachten Weg für einen Dateiupload gezeigt.

    Klasse!

  19. #19
    Erfahrener Benutzer Avatar von Lancer
    Registriert
    25.06.2010
    Alter
    26
    Beiträge
    209
    ManiaPlanet
    Lancer
    Login: ovid
    Nickname: Lancer
    Zone: World » Europe » Germany » Nordrhein-Westfalen » Essen
    Multiplayer: 45.098 (17.921 LP)
    Soloplayer: 68.625 (142 SP)
    ManiaLinks: lancer
    TrackMania
    Lancer>>forever
    Login: holli007 United
    Nickname: Lancer>>forever
    Zone: World » Germany » North Rhine-Westphalia » Duisburg
    Multiplayer: 164.930 (59.455 LP)
    Soloplayer: 7.300 (96.698 SP)
    ManiaLinks: lancer
    Links: TM-Ladder
    Blog-Einträge
    16
    Tolle Überarbeitung, besonders die Beispiele und Hinweise sind bestimmt eine große Hilfe für Einsteiger ins Thema Manialinks und XML/PHP!
    Find ich toll das du dich dadran gesetzt hast und das Tutorial nochmal grundlegend aktualisiert hast!


  20. #20
    Moderator und Moderator Avatar von xxluke
    Registriert
    10.06.2010
    Ort
    Kiel
    Alter
    25
    Beiträge
    1.733
    ManiaPlanet
    xxluke
    Login: xxluke
    Nickname: xxluke
    Zone: World » Europe » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 32.812 (25.126 LP)
    Soloplayer: 36.653 (849 SP)
    ManiaLinks: disney
    TrackMania
    xxluke
    Login: xxluke United
    Nickname: xxluke
    Zone: World » Germany » Schleswig-Holstein » Kiel
    Multiplayer: 64.618 (63.001 LP)
    Soloplayer: 22.874 (20.754 SP)
    ManiaLinks: xxluke, MMLPlugins, vorname, CMSs
    Links: TM-Ladder
    Kannst du zu den Bildern bei quad nochmal schreiben, dass man keine relativen Pfade verwenden kann, sondern nur z.B. "http://www.abc.de/Bild.png"?

Seite 1 von 4 1 2 3 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •