nick pisze:Powiedzcie mi jedna rzecz - kiedy probuje podmienic pliki z kartami itp., ktore maja nowe nazwy, to pomimo iz zmieniam nazwy rowniez w pliku xml, gra wiesza sie przy uruchomieniu. Powiedzcie jak to zrobic zeby dzialalo?
Generalnie trzeba poznać prostą zasadę. W pliku game-box.xml tworzymy sobie zakładki widoczne u dołu ekranu. Podam teraz mały przykład jak należy rozumieć to co znajduje się pośrodku.
<?xml version="1.0" encoding="windows-1252" ?>
ta linijka to standartowy kod informujący program o sposobie kodowania i nie powinna być ruszana
<game-box
name="Magia I Miecz"
description=""
copyright=" "
startup-scenario="MiM.zts">
Tutaj zaczynamy program pisać i nadawać mu już jakieś parametry najważniejsze to
name i
startup scenario.[/i][/b] Są to niejako identyfikatory dzięki którym, plik game-box.xml wie z którego pliku MiM.zts (scenariusza) ma korzystać. I analogicznie rzecz biorąc, plik MiM.zts wie, że jest przyporządkowany do pliku game-box.xml.
Tak naprawdę należy wiedzieć iż te dwa pliki, są jakby nierozerwalną częścią i jeden bez drugiego nie działa. Plik MiM.zts wystarczy, że ustawimy na odczyt z notepadem i można go spokojnie edytować.
I teraz mały example:
W pliku game-box.xml wpisujemy linijkę
<map name="Plansza" image-file="plansza.jpg" resolution="300 dpi" />
Komenda pozwalająca odczytać programowi ZunTzu obraz
plansza.jpg jako stół do gry. W większości bitewniaków plansza występuje tylko jedna, dlatego dla wielu planszówek będzie to komenda do dodania planszy. Tak naprawdę w przypadku mojej wersji MiMa sytuacja przedstawia się nieco inaczej. Plansz jest wiele, i chcąc korzystać z powyższej komendy mielibyśmy sytuację, w której, każda kolejna pojawiałaby się nam w osobnych zakładkach. W przypadku komendy map name z planszą nie możemy nic zrobić. Staje się nieedytowalnym tłem. Dlatego w moim przypadku image-file=plansza.jpg przedstawia napis "Magia i Miecz Online" wyświetlany po załadowaniu pliku MiM.ztb.
Zatem dodaliśmy pierwszy obiekt do pliku xml czyli owe logo.
Na tym etapie program jeszcze nic nie widzi. Bo nie wie tak naprawdę, gdzie ma dany obiekt umieścić. Do precyzowania służy właśnie plik MiM.zts, który od czoła przedstawia się następująco:
game-box="Magia I Miecz"
scenario-name="Empty"
scenario-description=" "
scenario-copyright=" ">
jak widać jest deklaracja game-boxa do którego ma się odnosić oraz nazwa scenariusza, która będzie wyświetlana w programie celem ułatwienia jej identyfikacji.
Po dodaniu komendy:
<layout board="Plansza" left="-184.14" top="-252.00" right="2594.46" bottom="1484.63" visible="true" />
spowodujemy, że program doda nową zakładkę (pierwszą - więc zakładek jeszcze nie będzie widać) i w tej zakładce na współrzędnych takich i takich (top, right etc.) umieści jako pole do gry plik obrazu, który został w pliku xml zadeklarowany jako "Plansza". Wiem, że bardziej od "Plansza" powinno być "Logo" czy coś w tym stylu, ale tak zostało od początku i jakoś nie mam zamiaru tego zmieniać. Ważne, aby użytkownik wiedział co pod jaką nazwą deklaruje.
I to w zasadzie tyle. Mamy pierwszy obiekt dodany własnoręcznie. Na tym etapie tak naprawdę nic nie zrobimy, ale coś już umiemy. Piszę to dlatego, że przerabianie gotowego Talismana na MiMa mija się z celem. Dlaczego? Krótszą i pewniejszą metodą jest napisanie wszystkiego od podstaw.
Wrócę teraz do zagadnienia naszej wieloelementowej planszy. Kombinowałem na dwa sposoby.
1) wrzucenie wszystkich plansz na jeden jpeg. Zapomnijcie.
2) pogrzebałem w pliku od talismana i rzuciła mi się w oczy następująca komenda
<terrain-sheet name="Podstawka"
front-image-file="podstawka.jpg" front-resolution="300 dpi"
back-image-file="podstawka.jpg" back-resolution="300 dpi">
<counter-section rows="1" columns="1"
front-left="0" front-top="0" front-right="7000" front-bottom="5348"
back-left="0" back-top="0" back-right="7000" back-bottom="5348" />
</terrain-sheet>
(tekst napisany kolorem czerwonym wytłumaczę przy okazji stosów)
umożliwia ona dodanie nowego obiektu, którego da się edytować po wciśnięciu ikony kielni w prawym dolnym rogu programu. W moim przypadku jest to nic innego jak właśnie plansza główna mima. Oczywiście należy pamiętać o dodaniu nowej linijki w pliku MiM.zts
<layout board="Podstawka" left="-184.14" top="-252.00" right="2594.46" bottom="1484.63" visible="true" />
stworzy nam to kolejną zakładkę, tym razem drugą, w której będzie znajdował się obraz planszy, który po wciśnięciu kielni stanie się edytowalny. Tym sposobem możemy sobie dodać plansz ile nam się podoba. Ale jak to teraz poskładać do kupy?
Ja rozwiązałem to w ten sposób, że z każdej zakładki z planszą (po wciśnięciu kielni) najechałem na każdą planszę i wcisnąłem spację (powoduje to pobranie obiektu na rękę gracza) a później zwyczajnie zrzuciłem to w zakładce pierwszej. Ot cała filozofia. Nie rozumiem tylko jednej rzeczy. Którą Wy pewnie też zauważycie, bawiąc się sami w ten sposób. Powiem tylko jedno, że z ręki obiekty usuwamy wciskając DEL po najechaniu na obiekt.
Do kart, tekstu który napisałem kolorem czerwonym nawiążę innym razem, gdyż jestem już co nieco senny. Dodam tylko jedną bardzo ważną rzecz, która wytłumaczy dlaczego nie ma sensu edytować plików z czyichś projektów
Mając już wszystkie plansze na jednej zakładce. Należy zrobić Save Game. Powstanie nam tym sposobem plik o nazwie */ztg. Plik ten to tak naprawdę plik *.zts, ale są w nim zawarte rzeczy, które program sobie sam przydziela i edytując go możemy w bardzo szybki sposób pozbyć się cierpliwości i działania programu. Każde przesunięcie, nawet o milimetr, którejkolwiek z planszy, stosu kart, czy innego obiektu zostaje w tym pliku zapisane. Każda z kart dostaje swój unikalny identyfikator i żeby dość co jest do czego stracimy czas na zrobienie 5 kolejnych gier od podstaw.
Tak czy inaczej, mając już ułożone wszystko jak należy tj. plansze, karty(stosy kart z podzielonych jpegów dodajemy podobnie jak plansze, zrzucając wszystkie karty na rękę a poźniej tworząc stos i ustawiając gdziekolwiek) itd. Zapisujemy grę i plik *.ztg zmieniamy na *.zts i dorzucamy do paczki *.ztb. W ten sposób mamy gotowy scenariusz.
Łech się napisałem.