Manialinks Turtorial... [90% done]
Posted: 18 November 2009, 16:35
I. WSTĘP
1. Wprowadzenie
Manialinki to specialnie przygotowane strony, ktore można przeglądać w przeglądarce dołączonej do gry. Wbrew pozorom możliwe jest to także dla użytkowników wersji Nations. Takie strony dają dużo możliwości (głównie szybki dostęp do zawartości bez wychodzenia z gry)! Pliki manialinków można generować głównie przez odpowiednie tagi w plikach xml, choć nic nie stoi na przeszkodzie, aby funckję generatora pełnił interpreter PHP.
2. Przygotowanie
Do stworzenia manialinka po pierwsze będziemy potrzebowali miejsca w sieci. Im więcej opcji oferuje nam dany hosting tym lepiej, jednak nie zapominajmy, iż na nasze potrzeby wystarcza naprawdę niewiele. Dodatkowo, jeżeli posiadamy wersję United można tworzy przekierowania do złożonych adresów URL poprzez proste skojarzeniowe hasła.
Przed tworzeniem manialinka zalecana jest wcześniejsza styczność choćby z HTMLem
3. Rejestrowanie manialinka
Nasz manialink nie wymaga rejestracji, jednak zostawiając go bez niej będziemy musieli podawać pełne adresy URL, aby dostać się do podstron, oraz nie będziemy mogli stosować tzw. ManiaCodes (o nich póniej), dlatego odsyłam na stronę:
http://official.trackmania.com/tmf-playerpage/
Po zalogowaniu na stronę klikamy na zakładkę"Manialinks/Maniacodes", a kolejno rejestrujemy nasz plik wpisując w Code pożądaną nazwę (np. tmpl), można też dodać podstrony (np. tmpl:newsy, konwencją jest oddzielanie podstron dwukropkiem). Kolejny parametr URL - to pełny adres manialinka (np. http://www.tmpl.info/manialink/index.xml). Jako typ ustawiamy oczywiście Manialink i akceptujemy.
II. PODSTAWY
4. Szkielet manialinka
Praktycznie każdy manialink powinien zaczynać się deklaracją pliku XML oraz znacznikami <manialink> oraz </manialink> (wyjątek stanowią includowane kody). Na pewno zauważycie analogię w stosunku do innych języków kodowania stron. Między tymi znacznikami znajdzie się cała zawartość manialinka.
Przykład 1 - http://www.mlpl.y0.pl/tutek/przyklad01.xml
Narazie wyświetli nam się puste tło, ale za niedługo spróbujemy je czymś wypełnić. Jak poznać po kodzie kodujemy w utf-8, więc nie będzie problemów z polskimi znakami
5. Budowanie manialinka
Zasadniczą różnicą jest jednak traktowanie przez wewnętrzną przeglądarkę wszystkich elementów jako niezależne częci strony. W praktyce to oznacza, że jeżeli wstawimy do kodu dwa obiekty tekstowe bez ustawienia ich pozycji elementy nałożą się na siebie. Zatem pozycjonowanie będzie tutaj kluczowe. Także, wszystkie występujące tam tagi będą wymagały domknięcia.
6. Trochę o frame'ach...
Aby ułatwić sobie pracę z pozycjonowaniem rozbudowującego się manialinka można grupować elementy w tagi <frame>. Zmieniając jego pozycję, przesuniemy wszystko, co znajduje się wewnątrz niego. Spójrzmy na przykład:
Poznaliśmy także pierwszy atrybut określający pozycję (istnieje także atrybut pos z poprzedniej generacji manialinków, ale jest bardzo niewygodny). Zwróćmy uwagę, iż każda wartość bezwzględnie musi być wzięta w cudzysłowy! Wbrew pozorom określamy aż 3 kierunki w trybucie posn:
Pierwsza wartość (czyli z lewej do prawej) waha się od wartości -64 do 64, za igreka (z dołu do góry) najlepiej przyjąć wartości od -48 do 48, a parametr Z (obiekt o większym "Z" pokrywa te o mniejszym) przyjmuje wartości od -32 do 32. Możliwe jest oczywiście użycie wartości z commą, np. 31.8.
7. Label'e - elementy tekstowe
Skoro już tak długo i wytrwale czytacie moje ględzenie czas wykonać coś, co da efekt! Do tego między innymi służy tag <label>, jak wiadomo najlepiej się temu przyjrzeć w praktyce:
Przykład 2 - http://www.mlpl.y0.pl/tutek/przyklad02.xml
Atrybut posn już znamy i działa w sumie analogicznie jak we <frame>. Oprócz tego dodałem atrybut text, którego wartość to po prostu tekst, który ma zostać wypisany. Także polecam atrybut autonewline o wartości "1", który automatycznie przy dłuższych opisach przeniesie nam kolejne linijki do odpowiednich linii. Oprócz tego istnieje wiele innych atrybutów takich jak url, manialink, scale oraz, które na tym poziomie wtajemniczenia nam się na przydadzą. Pełny ich spis zamieszczam na dole poradnika.
8. Wygodny zapis
Jeżeli <manialink> i <frame> wymaga od nas zamknięcia trochę póniej niż otwarcia ze względu na to, że zawiera w sobie elementy o tyle <label> w środku jest pusty. A jako, że nie lubimy pisać, skrócimy sobie zapis tak:
Zapis w punkcie powyżej i w tym są równoważne. Od teraz będę używać skróconej wersji zapisu.
9. Atrybuty wyrównywania halign i valign
Jako, że Nadeo słynie z dziwnych pomysłów postanowiło zaskoczyć nas i tym razem! Na logikę człowiek stwierdziłby, że halign zapewne dotyczy wysokości, a valign wyrównywania w poziomie. Jednak okazuje się że jest zupełnie na odwrót. Atrybut valign może przyjąc atrybuty top, center lub bottom, co oznacza odpwiednio wyrównanie do góry, środka i spodu. Natomiast atrybut halign przyjmie odpwiednio wartości left, center lub right.
10. Quad'y - ramki oraz tło
Quad to kolejny tag, który tym razem będzie ustawiał swojego rodzaju ramkę. Oprócz pozycji dość ważny będzie także rozmiar ustalany w atrybucie sizen oraz wygląd. TrackMania umożliwia nam używanie gotowych styli, dzięki czemu nie musimy czekać na załadowanie się poszczególnych obrazków jednakże z drugiej strony wybór jest ograniczony. Wykaz styli między innymi znajdziecie na tym manialinku: http://smurf1.free.fr/mle/index.xml lub na stronie: http://fish.stabb.de/styles/. Tak więc przykładowy quad może wyglądać tak:
Przykład 3 - http://www.mlpl.y0.pl/tutek/przyklad03.xml
Również nic nie stoi na przeszkodzie by ustawić quada o wymiarach 128 na 96 jako tło strony. Jeśli rogi są zaokrąglone sam quad można poszerzyć. Nie zapomnimy dać w miarę niskiego parametru Z, tak aby na pewno nie przesłonił innego elementu strony:
Przykład 4 - http://www.mlpl.y0.pl/tutek/przyklad04.xml
Także quady obejmują szeroką grupę przycisków. Dodamy teraz do tego jeszcze jeden atrybut url, który przenosi do wybranej strony (można użyć także manialink, jeśli poruszam się po manialinku):
Przykład 5 - http://www.mlpl.y0.pl/tutek/przyklad05.xml
Na przyszłość jeżeli będziemy poruszać się wewnątrz manialinka jako atrybut manialink możemy podać wartość:
Co odniesie nas od razu do wybranego pliku w obrębie katalogu. Dość znacznie ułatwia pisanie oraz w pewnym stopniu uniezależnia od działania po przeniesieniu w inne miejsce.
12. Wyrównywanie quadów i labeli
Jeżeli będziemy chcieli ustawić więcej quadów możemy posłużyć się albo opcją <frame>, albo wyrównamy quady. Jeżeli nie będzie nam to utrudniało sprawy w dołączaniu kolejnych elementów możemy spróbować pobawić się z wyrównywaniem. Jeżeli ustawimy halign na "left" a valign na "top" to quad ustawi się stykając się górnym lewym rogiem z punktem ustalonym w atrybucie posn. Najlepiej pokaże to rysunek zaczerpnięty z pewnego turtoriala:

Spójrzymy na przykład:
Przykład 6 - http://www.mlpl.y0.pl/tutek/przyklad06.xml
Nie musimy się obawiać o badanie pozycji ponieważ wszystkie quady odnoszą się do tego samego punktu (warto też zwrócić uwagę na pierwsze praktyczne wykorzystanie frame'a. Z labelami będzie podobnie. Ja proponuję jako za atrybut halign użyć left, wtedy tekst ładnie będzie zaczynać się od nowej linii. Ale, żeby nie było proponuję także spojrzeć, jak będzie wyglądał efekt, gdy użyjemy każdej z wersji:
Przykład 7 - http://www.mlpl.y0.pl/tutek/przyklad07.xml
13. <include> - dzielimy kod na części
Podczas rozbudowy naszego manialinka na pewno zechcemy pogrupować elementy. Na przykład menu czy stopka powinny trafić do osobnych plików xml. Jak wykonać taką operację?
A tak prezentuje się plik naglowek.xml :
Warto zwrócić uwagę na, to iż nasz includowany .xml nie ma podstawowych znaczników jak <manialink> oraz deklaracji xml'a. Za to całość musi być ujęta w znaczniki <frame>. Inaczej zostałaby odczytana wyłącznie pierwsza linijka dokumentu. Zachęcam także, do ekspeymentów 
14. <format> - manialinkowy CSS
Jeżeli na przykład mamy zamiar wypisać kilka labeli ale nie chcemy dla każdego wpisywać atrybutów można ominąć to sprytnym sposobem - tagiem <format>. Tag ten obowiązuje wyłącznie we frame'u, w którym został wpisany (jeżeli zagnieździmy kolejne <frame>'y te odziedziczą wpisane we <format> wartości). Zerknijmy na poniższy przykład:
Przykład 8 - http://www.mlpl.y0.pl/tutek/przyklad08.xml
III. INDEKS ATRYBUTÓW
15. Spis atrybutów - label:
* posn="X Y Z" – pozycja tekstu
* sizen="X Y" – szerokość i wysokość tekstu
* scale="skala" - przeskalowanie tekstu o daną wartość, 1 to domyślna wartość
* halign="left/center/right" – wyrównanie w poziomie
* valign="top/center/bottom" – wyrównanie w pionie
* text="tekst" – tekst, pojawiający się w labelu (można używać formatowania $...)
* autonewline="0/1" – gdy wartość jest równa 1 tekst jest przenoszony do kolejnych linii
* url="link" – link do zewnętrznej strony WWW
* manialink="link" – link do manialinka
* maniazones="link" – link do forum ManiaZones
* addplayerid="0/1" - gdy wartość wynosi 1 do manialinka doczepione zostają dodatkowe informacji np. loginu, nicku oraz narodowości gracza (playerlogin, nickname, lang, path)
16. Spis atrybutów - quad:
* posn, sizen, scale, halign, valign, url. manialink, maniazones, addplayerid - opisane w labelu
* image="link" – alternatywnie zamiast stylu można utworzyć ramkę, której tekstura to wybrany obraz (obsługa formatów .jpg, .tga and .dds, .gif .png)
* imagefocus="link" – obraz pokazujący się po najechaniu na quad (musi posiadać odsyłacz do innej strony lub manialinka)
* style="kategoria", substyle="styl" – jeden z predefiniowanych stylów wyglądu quada
* bgcolor="RGBA" – wybrany kolor quada (R-czerwony, G-zielony, B-niebieski, A-kanał alfa)
* url="externalHomepage.html" – Link to a external page
* manialink="ManiaLink" – Link to a Manialink (registered code or URL)
* maniazones="Maniazones-Link" – Link to ManiaZones
17. Spis atrybutów - format:
* textsize="wartość" – rozmiar tekstu
* textcolor="RGBA" – kolor tekstu
* style="styl" - predefinowany styl (labela)
18. Spis atrybutów - frame:
* posn="X Y Z" - pozycja frame'a
19. Spis atrybutów - include:
* url="link" - ścieżka to pliku, który ma być załadowany i włączony do kodu strony
IV. MANIACODES
20. ManiaCodes - wbudowane skrypty
Do zarejestrowanych Manialinków (patrz: rodział 3) można dodawać także tzw. pliki ManiaCode (ich kodowanie są post niżej - dzięki Rhino!). Są to po prostu pliki .xml które nie zawierają w sobie kodu strony lecz instrukcje jak wykonać daną akcję (np. pewnien ManiaCode może być odpowiedzialny za wykrycie trasy na serwerze i ściągnięcie jej na nasz komputer do odpowiedniego katalogu). Instrukcje maniacode mogą być użyte wielokrotnie.
Warto pamiętać, jeżeli już udostępniamy jakiś maniacode, aby nie ujawniała adresu zawartości (po wtedy można sobie adres wklepać i ściągnąć coś za darmo) oraz należy Maniacode przetestować aby działał prawidło (niejeden gracz by się zdenerwował, gdyby po zapłaceniu 500 miedziaków maniacode zwrócił by mu bład zamiast skina czy moda). Cen za wykonanie skryptu nie ustalamy w samym pliku lecz dopiero przy rejestracji jego na PlayerPage'u.
Spis dostępnych tagów jak już pisałem przedstawiony jest post niżej
V. PLAYERPAGE
21. Wstęp
Playerpage to strona umożliwiająca nam zarejestrowania ManiaLinka lub ManiaCode co daje nam wiele korzyści - po pierwsze skrócony i wygodny adres, a po drugie umożlwia nam ustalenie cen na wykonanie skryptów ManiaCode i monitorowania zysków.
22. Logowanie
Jedyną przeszkodą do zalogowania się i zajrzenia w listę manialinków będzie albo nieznajomość naszego loginu/hasła z gry, albo posiadanie wersji konta Nations. Co prawda zalogujemy się, ale tylko gracze United będą mogli dodawać swoje Manialinki (dla graczy Nations po prostu ta zakładka będzie niewidoczna). Podając nasz login i hasło z gry logujemy się na tej stronie - PLAYERPAGE. Następnie po lewej widnieje zakładka "Manialinks/Maniacodes". Klikając na nią znajdziemy się we właściwym menu.
23. Dodawanie Manialinków
Aby dodać ManiaLink należy podać dwa parametry. Pierwszy to "Code" - oznaczajacy hasło skojarzeniowe, po którego wpisaniu znajdziemy się na stronie wypisanej poniżej w polu "URL". Np. za code przyjmę tmpl, a za url http://www.tmpl.info/ml/index.xml, znowu tworząc tmpl:klany wpiszę adres http://www.tmpl.info/ml/clans.xml. Po wybraniu typu kodu jako "ManiaLink" i zaakceptowaniu formularza przyciskiem "Save this code" na liście pojawi się nowy wprowadzony kod.
Od teraz działa on także w grze. Dużą wadą tego rozwiązania jest to, że każdą stronę trzeba wpisywać ręcznie na stronie. Rozwiązaniem może być albo wprowadzenie małej ilości podstron, albo zarejestrowanie wyłącznie strony startowej i o ile nie zachodzi taka potrzeba podawanie w odnośnikach w kodzie .xml pełnych adresów URL.
23. Dodawanie Maniacode'ów
Dodawanie to wygląda bardzo podobnie jak w kwestii ManiaLinka, jednak z tym, że typ to "ManiaCode" oraz że można ustawić opłatę za dostęp do kodu. W polu "Coppers Cost" ustawiamy całą stawkę, którą gracz będzie musiał uiścić, aby otrzymać dostęp. Poniżej są wypisani gracze, którzy otrzymają miedziaki rozdzielone z całej puli. Nadeo MUSI otrzymać 5% całego zarobku, dlatego najlepiej jako całkowity koszt ustawiać sumy podzielne przez 20, aby jak najmniej na tym stracić. Inaczej zysk Nadeo trzeba zaokrąglić w górę, że przy 50 miedziakach Nadeo musi otrzymać 3 (5% z 50 = 2,5). Resztę miedziaków w "Beneficial players" można rozdysponować pomiędzy dowolną liczbę loginów (najczęściej jednak jest to 1 login - autora manialinka
). Każdą akcję - czy dodanie loginu, czy zmianę ilości miedziaków trzeba aktualizować "Save this Code". Nie lubię działania tego skryptu, bo zapisuje tylko 1 zmianę, ale trzeba brać co dają. Po każdym kliknięciu "Save this code" pokaże się w polu "Sum" kontrolna liczba miedziaków rozdanych poszczególnym graczom. Jeśli nie jest ona zgodna z "Coppers Cost" formularz nie zostanie zapisany. Jeśli jednak wszystko się zgadza wciśnięcia "Save this code" powinno dodać nasz ManiaCode do listy.
24. Lista aktualnych kodów
Poniżej formularza znajduje się lista dodanych przez nasz kodów. Podane są tam informacje wskazanie przez nas w formularzu oraz przyciski "Delete" - usuń oraz "Edit" - edytuj. Przy Maniacodes warto zobaczyć także na zakładkę "Revenues", która oznacza nasz profit. Na samym dole "Total Revenues" sumuje wszystkie zyski i wskazuje cały nasz dochód z ManiaLinka. Po zaktualizowaniu listy można się wylogować.
ToDo
wielojęzyczne manialinki[/list]
Btw. praca autorska, we własnych potach ;d
Fave Fun!
1. Wprowadzenie
Manialinki to specialnie przygotowane strony, ktore można przeglądać w przeglądarce dołączonej do gry. Wbrew pozorom możliwe jest to także dla użytkowników wersji Nations. Takie strony dają dużo możliwości (głównie szybki dostęp do zawartości bez wychodzenia z gry)! Pliki manialinków można generować głównie przez odpowiednie tagi w plikach xml, choć nic nie stoi na przeszkodzie, aby funckję generatora pełnił interpreter PHP.
2. Przygotowanie
Do stworzenia manialinka po pierwsze będziemy potrzebowali miejsca w sieci. Im więcej opcji oferuje nam dany hosting tym lepiej, jednak nie zapominajmy, iż na nasze potrzeby wystarcza naprawdę niewiele. Dodatkowo, jeżeli posiadamy wersję United można tworzy przekierowania do złożonych adresów URL poprzez proste skojarzeniowe hasła.
Przed tworzeniem manialinka zalecana jest wcześniejsza styczność choćby z HTMLem
3. Rejestrowanie manialinka
Nasz manialink nie wymaga rejestracji, jednak zostawiając go bez niej będziemy musieli podawać pełne adresy URL, aby dostać się do podstron, oraz nie będziemy mogli stosować tzw. ManiaCodes (o nich póniej), dlatego odsyłam na stronę:
http://official.trackmania.com/tmf-playerpage/
Po zalogowaniu na stronę klikamy na zakładkę"Manialinks/Maniacodes", a kolejno rejestrujemy nasz plik wpisując w Code pożądaną nazwę (np. tmpl), można też dodać podstrony (np. tmpl:newsy, konwencją jest oddzielanie podstron dwukropkiem). Kolejny parametr URL - to pełny adres manialinka (np. http://www.tmpl.info/manialink/index.xml). Jako typ ustawiamy oczywiście Manialink i akceptujemy.
II. PODSTAWY
4. Szkielet manialinka
Praktycznie każdy manialink powinien zaczynać się deklaracją pliku XML oraz znacznikami <manialink> oraz </manialink> (wyjątek stanowią includowane kody). Na pewno zauważycie analogię w stosunku do innych języków kodowania stron. Między tymi znacznikami znajdzie się cała zawartość manialinka.
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<!-- Nasz pierwszy manialink! -->
</manialink>Narazie wyświetli nam się puste tło, ale za niedługo spróbujemy je czymś wypełnić. Jak poznać po kodzie kodujemy w utf-8, więc nie będzie problemów z polskimi znakami
5. Budowanie manialinka
Zasadniczą różnicą jest jednak traktowanie przez wewnętrzną przeglądarkę wszystkich elementów jako niezależne częci strony. W praktyce to oznacza, że jeżeli wstawimy do kodu dwa obiekty tekstowe bez ustawienia ich pozycji elementy nałożą się na siebie. Zatem pozycjonowanie będzie tutaj kluczowe. Także, wszystkie występujące tam tagi będą wymagały domknięcia.
6. Trochę o frame'ach...
Aby ułatwić sobie pracę z pozycjonowaniem rozbudowującego się manialinka można grupować elementy w tagi <frame>. Zmieniając jego pozycję, przesuniemy wszystko, co znajduje się wewnątrz niego. Spójrzmy na przykład:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<!-- Elementy wewnątrz frame -->
</frame>
</manialink>Code: Select all
posn="X Y Z"7. Label'e - elementy tekstowe
Skoro już tak długo i wytrwale czytacie moje ględzenie czas wykonać coś, co da efekt! Do tego między innymi służy tag <label>, jak wiadomo najlepiej się temu przyjrzeć w praktyce:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<label posn="0 0 0" text="O kurde, to działa?!"></label>
</frame>
</manialink>Atrybut posn już znamy i działa w sumie analogicznie jak we <frame>. Oprócz tego dodałem atrybut text, którego wartość to po prostu tekst, który ma zostać wypisany. Także polecam atrybut autonewline o wartości "1", który automatycznie przy dłuższych opisach przeniesie nam kolejne linijki do odpowiednich linii. Oprócz tego istnieje wiele innych atrybutów takich jak url, manialink, scale oraz, które na tym poziomie wtajemniczenia nam się na przydadzą. Pełny ich spis zamieszczam na dole poradnika.
8. Wygodny zapis
Jeżeli <manialink> i <frame> wymaga od nas zamknięcia trochę póniej niż otwarcia ze względu na to, że zawiera w sobie elementy o tyle <label> w środku jest pusty. A jako, że nie lubimy pisać, skrócimy sobie zapis tak:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<label posn="0 0 0" text="O kurde, to działa?!" />
</frame>
</manialink>9. Atrybuty wyrównywania halign i valign
Jako, że Nadeo słynie z dziwnych pomysłów postanowiło zaskoczyć nas i tym razem! Na logikę człowiek stwierdziłby, że halign zapewne dotyczy wysokości, a valign wyrównywania w poziomie. Jednak okazuje się że jest zupełnie na odwrót. Atrybut valign może przyjąc atrybuty top, center lub bottom, co oznacza odpwiednio wyrównanie do góry, środka i spodu. Natomiast atrybut halign przyjmie odpwiednio wartości left, center lub right.
10. Quad'y - ramki oraz tło
Quad to kolejny tag, który tym razem będzie ustawiał swojego rodzaju ramkę. Oprócz pozycji dość ważny będzie także rozmiar ustalany w atrybucie sizen oraz wygląd. TrackMania umożliwia nam używanie gotowych styli, dzięki czemu nie musimy czekać na załadowanie się poszczególnych obrazków jednakże z drugiej strony wybór jest ograniczony. Wykaz styli między innymi znajdziecie na tym manialinku: http://smurf1.free.fr/mle/index.xml lub na stronie: http://fish.stabb.de/styles/. Tak więc przykładowy quad może wyglądać tak:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<quad posn="0 0 -5" sizen="30 30" halign="center" valign="center" style="Bgs1" substyle="BgWindow1" />
</frame>
</manialink>Również nic nie stoi na przeszkodzie by ustawić quada o wymiarach 128 na 96 jako tło strony. Jeśli rogi są zaokrąglone sam quad można poszerzyć. Nie zapomnimy dać w miarę niskiego parametru Z, tak aby na pewno nie przesłonił innego elementu strony:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<quad posn="0 0 -32" sizen="128 96" halign="center" valign="center" style="Bgs1" substyle="BgTitle3_3" />
<quad posn="0 0 -5" sizen="30 30" halign="center" valign="center" style="Bgs1" substyle="BgWindow1" />
</frame>
</manialink>Także quady obejmują szeroką grupę przycisków. Dodamy teraz do tego jeszcze jeden atrybut url, który przenosi do wybranej strony (można użyć także manialink, jeśli poruszam się po manialinku):
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<quad posn="0 0 0" sizen="10 10" halign="center" valign="center" style="Icons64x64_1" substyle="ButtonLeagues" url="http://www.tmpl.info" />
</frame>
</manialink>Na przyszłość jeżeli będziemy poruszać się wewnątrz manialinka jako atrybut manialink możemy podać wartość:
Code: Select all
manialink="./podstrona.xml"12. Wyrównywanie quadów i labeli
Jeżeli będziemy chcieli ustawić więcej quadów możemy posłużyć się albo opcją <frame>, albo wyrównamy quady. Jeżeli nie będzie nam to utrudniało sprawy w dołączaniu kolejnych elementów możemy spróbować pobawić się z wyrównywaniem. Jeżeli ustawimy halign na "left" a valign na "top" to quad ustawi się stykając się górnym lewym rogiem z punktem ustalonym w atrybucie posn. Najlepiej pokaże to rysunek zaczerpnięty z pewnego turtoriala:

Spójrzymy na przykład:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="-10 -10 0">
<quad posn="0 0 0" sizen="10 10" halign="right" valign="top" style="Bgs1" substyle="BgTitle3" />
<quad posn="0 0 0" sizen="30 10" halign="left" valign="top" style="Bgs1" substyle="BgTitle3_1" />
<quad posn="0 0 0" sizen="10 30" halign="right" valign="bottom" style="Bgs1" substyle="BgTitle3_2" />
<quad posn="0 0 0" sizen="30 30" halign="left" valign="bottom" style="Bgs1" substyle="BgTitle3_3" />
</frame>
</manialink>Nie musimy się obawiać o badanie pozycji ponieważ wszystkie quady odnoszą się do tego samego punktu (warto też zwrócić uwagę na pierwsze praktyczne wykorzystanie frame'a. Z labelami będzie podobnie. Ja proponuję jako za atrybut halign użyć left, wtedy tekst ładnie będzie zaczynać się od nowej linii. Ale, żeby nie było proponuję także spojrzeć, jak będzie wyglądał efekt, gdy użyjemy każdej z wersji:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<quad posn="0.1 0 -1" sizen="1 96" halign="center" valign="center" style="Icons64x64_1" substyle="TagTypeNone" />
<label posn="0 5 0" halign="right" valign="center" text="HALIGN=RIGHT" />
<label posn="0 0 0" halign="center" valign="center" text="HALIGN=CENTER" />
<label posn="0 -5 0" halign="left" valign="center" text="HALIGN=LEFT" />
</frame>
</manialink>13. <include> - dzielimy kod na części
Podczas rozbudowy naszego manialinka na pewno zechcemy pogrupować elementy. Na przykład menu czy stopka powinny trafić do osobnych plików xml. Jak wykonać taką operację?
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<include url="./naglowek.xml"/>
</frame>
</manialink>Code: Select all
<frame>
<label posn="0 40 0" scale="1.5" style="TextRaceChrono" text="Mój manialink!" />
</frame>14. <format> - manialinkowy CSS
Jeżeli na przykład mamy zamiar wypisać kilka labeli ale nie chcemy dla każdego wpisywać atrybutów można ominąć to sprytnym sposobem - tagiem <format>. Tag ten obowiązuje wyłącznie we frame'u, w którym został wpisany (jeżeli zagnieździmy kolejne <frame>'y te odziedziczą wpisane we <format> wartości). Zerknijmy na poniższy przykład:
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<manialink>
<frame posn="0 0 0">
<format style="TextValueSmall" />
<label posn="0 10 0" halign="center" valign="center" text="Tekst 1" />
<frame posn="0 0 0">
<format textsize="0.5" textcolor="080f" />
<label posn="0 5 0" halign="center" valign="center" text="Tekst 2" />
<frame posn="0 0 0">
<format style="TextRaceChrono" />
<label posn="0 0 0" halign="center" valign="center" text="Tekst 3" />
</frame>
<label posn="0 -5 0" halign="center" valign="center" text="Tekst 4" />
</frame>
<label posn="0 -10 0" halign="center" valign="center" text="Tekst 5" />
</frame>
</manialink>III. INDEKS ATRYBUTÓW
15. Spis atrybutów - label:
* posn="X Y Z" – pozycja tekstu
* sizen="X Y" – szerokość i wysokość tekstu
* scale="skala" - przeskalowanie tekstu o daną wartość, 1 to domyślna wartość
* halign="left/center/right" – wyrównanie w poziomie
* valign="top/center/bottom" – wyrównanie w pionie
* text="tekst" – tekst, pojawiający się w labelu (można używać formatowania $...)
* autonewline="0/1" – gdy wartość jest równa 1 tekst jest przenoszony do kolejnych linii
* url="link" – link do zewnętrznej strony WWW
* manialink="link" – link do manialinka
* maniazones="link" – link do forum ManiaZones
* addplayerid="0/1" - gdy wartość wynosi 1 do manialinka doczepione zostają dodatkowe informacji np. loginu, nicku oraz narodowości gracza (playerlogin, nickname, lang, path)
16. Spis atrybutów - quad:
* posn, sizen, scale, halign, valign, url. manialink, maniazones, addplayerid - opisane w labelu
* image="link" – alternatywnie zamiast stylu można utworzyć ramkę, której tekstura to wybrany obraz (obsługa formatów .jpg, .tga and .dds, .gif .png)
* imagefocus="link" – obraz pokazujący się po najechaniu na quad (musi posiadać odsyłacz do innej strony lub manialinka)
* style="kategoria", substyle="styl" – jeden z predefiniowanych stylów wyglądu quada
* bgcolor="RGBA" – wybrany kolor quada (R-czerwony, G-zielony, B-niebieski, A-kanał alfa)
* url="externalHomepage.html" – Link to a external page
* manialink="ManiaLink" – Link to a Manialink (registered code or URL)
* maniazones="Maniazones-Link" – Link to ManiaZones
17. Spis atrybutów - format:
* textsize="wartość" – rozmiar tekstu
* textcolor="RGBA" – kolor tekstu
* style="styl" - predefinowany styl (labela)
18. Spis atrybutów - frame:
* posn="X Y Z" - pozycja frame'a
19. Spis atrybutów - include:
* url="link" - ścieżka to pliku, który ma być załadowany i włączony do kodu strony
IV. MANIACODES
20. ManiaCodes - wbudowane skrypty
Do zarejestrowanych Manialinków (patrz: rodział 3) można dodawać także tzw. pliki ManiaCode (ich kodowanie są post niżej - dzięki Rhino!). Są to po prostu pliki .xml które nie zawierają w sobie kodu strony lecz instrukcje jak wykonać daną akcję (np. pewnien ManiaCode może być odpowiedzialny za wykrycie trasy na serwerze i ściągnięcie jej na nasz komputer do odpowiedniego katalogu). Instrukcje maniacode mogą być użyte wielokrotnie.
Warto pamiętać, jeżeli już udostępniamy jakiś maniacode, aby nie ujawniała adresu zawartości (po wtedy można sobie adres wklepać i ściągnąć coś za darmo) oraz należy Maniacode przetestować aby działał prawidło (niejeden gracz by się zdenerwował, gdyby po zapłaceniu 500 miedziaków maniacode zwrócił by mu bład zamiast skina czy moda). Cen za wykonanie skryptu nie ustalamy w samym pliku lecz dopiero przy rejestracji jego na PlayerPage'u.
Spis dostępnych tagów jak już pisałem przedstawiony jest post niżej
V. PLAYERPAGE
21. Wstęp
Playerpage to strona umożliwiająca nam zarejestrowania ManiaLinka lub ManiaCode co daje nam wiele korzyści - po pierwsze skrócony i wygodny adres, a po drugie umożlwia nam ustalenie cen na wykonanie skryptów ManiaCode i monitorowania zysków.
22. Logowanie
Jedyną przeszkodą do zalogowania się i zajrzenia w listę manialinków będzie albo nieznajomość naszego loginu/hasła z gry, albo posiadanie wersji konta Nations. Co prawda zalogujemy się, ale tylko gracze United będą mogli dodawać swoje Manialinki (dla graczy Nations po prostu ta zakładka będzie niewidoczna). Podając nasz login i hasło z gry logujemy się na tej stronie - PLAYERPAGE. Następnie po lewej widnieje zakładka "Manialinks/Maniacodes". Klikając na nią znajdziemy się we właściwym menu.
23. Dodawanie Manialinków
Aby dodać ManiaLink należy podać dwa parametry. Pierwszy to "Code" - oznaczajacy hasło skojarzeniowe, po którego wpisaniu znajdziemy się na stronie wypisanej poniżej w polu "URL". Np. za code przyjmę tmpl, a za url http://www.tmpl.info/ml/index.xml, znowu tworząc tmpl:klany wpiszę adres http://www.tmpl.info/ml/clans.xml. Po wybraniu typu kodu jako "ManiaLink" i zaakceptowaniu formularza przyciskiem "Save this code" na liście pojawi się nowy wprowadzony kod.
Od teraz działa on także w grze. Dużą wadą tego rozwiązania jest to, że każdą stronę trzeba wpisywać ręcznie na stronie. Rozwiązaniem może być albo wprowadzenie małej ilości podstron, albo zarejestrowanie wyłącznie strony startowej i o ile nie zachodzi taka potrzeba podawanie w odnośnikach w kodzie .xml pełnych adresów URL.
23. Dodawanie Maniacode'ów
Dodawanie to wygląda bardzo podobnie jak w kwestii ManiaLinka, jednak z tym, że typ to "ManiaCode" oraz że można ustawić opłatę za dostęp do kodu. W polu "Coppers Cost" ustawiamy całą stawkę, którą gracz będzie musiał uiścić, aby otrzymać dostęp. Poniżej są wypisani gracze, którzy otrzymają miedziaki rozdzielone z całej puli. Nadeo MUSI otrzymać 5% całego zarobku, dlatego najlepiej jako całkowity koszt ustawiać sumy podzielne przez 20, aby jak najmniej na tym stracić. Inaczej zysk Nadeo trzeba zaokrąglić w górę, że przy 50 miedziakach Nadeo musi otrzymać 3 (5% z 50 = 2,5). Resztę miedziaków w "Beneficial players" można rozdysponować pomiędzy dowolną liczbę loginów (najczęściej jednak jest to 1 login - autora manialinka
24. Lista aktualnych kodów
Poniżej formularza znajduje się lista dodanych przez nasz kodów. Podane są tam informacje wskazanie przez nas w formularzu oraz przyciski "Delete" - usuń oraz "Edit" - edytuj. Przy Maniacodes warto zobaczyć także na zakładkę "Revenues", która oznacza nasz profit. Na samym dole "Total Revenues" sumuje wszystkie zyski i wskazuje cały nasz dochód z ManiaLinka. Po zaktualizowaniu listy można się wylogować.
ToDo
wielojęzyczne manialinki[/list]
Btw. praca autorska, we własnych potach ;d
Fave Fun!