Witaj Wesnothańczyku
Nawigacja
-> Poradniki dla graczy
-> Poradniki dla twórców
-> Zrzuty ekranu
-> Komendy do BfW
-> Ladder of Wesnoth
-> JAK NIE DOSTAĆ BANA?
-> Kodeks strony
-> Darczyńcy
-> Kontakt
-> Galeria
-> Szukaj

-> Władcy Taktyk
-> Polski Ranking Graczy

-> Era Magii
-> Eastern Europe at War
-> Forgotten Legends
-> Nowy Porządek
-> Ucieczka Marbusa
 
Aktualnie online
-> Gości online: 2

-> Użytkowników online: 0

-> Łącznie użytkowników: 3,183
-> Najnowszy użytkownik: Eliza505
 
Ankieta
Czym jest dla Ciebie Bitwa o Wesnoth?

sentymentem, do którego lubię wracać
sentymentem, do którego lubię wracać
68% [13 głosy]

jedną z lepszych strategii, w którą regularnie gram
jedną z lepszych strategii, w którą regularnie gram
21% [4 głosy]

dopiero poznaję, ale na razie mi się podoba
dopiero poznaję, ale na razie mi się podoba
5% [1 głos]

nie mam wyrobionego zdania
nie mam wyrobionego zdania
5% [1 głos]

Ogółem głosów: 19
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 18/11/2023 10:08

Archiwum ankiet
 
Linki













Polecane portale

Sygnaturki i buttony wesnoth.com.pl


 
Nawigacja
Artykuły » Kurs Tworzenia Dodatków » 02 Tworzymy erę
02 Tworzymy erę
02 Tworzymy erę

Jak już wspomniałem, Wesnoth wymaga tylko pliku _main.cfg. Co prawda istnieją też inne pliki np. _server.pbl, których szuka, ale nie są one obowiązkowe, ani nie będą ci na razie do niczego potrzebne. A co z tym całym śmietnikiem, to jest masą folderów i plików jakie zawierają inne dodatki? Zapomnij o nich! Nie są do niczego potrzebne. Jedyne czego potrzebujesz do szczęścia to _main.cfg.

Otwieramy _main.cfg w edytorze tekstu. W Wesnoth używamy głównie języka WML (ale w pewnych przypadkach można korzystać też z lua). WML opiera się gównie na tak zwanych znacznikach, dzięki którym gra będzie wiedzieć czego od niej chcemy. Znaczniki najpierw otwieramy [znacznik], a potem zamykamy [/znacznik]. Między znacznikami możemy, a często wręcz musimy sprecyzować czego dokładnie chcemy. Dokonamy tego ustawiając wartości kluczy (czym jest klucz wyjaśnię dalej).

W swoim kodzie (tekście), możesz używać do woli spacji, tabulatora i entera, byle tylko nie dzielić wyrazów, a ustawianie wartości klucza powinno odbywać się w jednej linijce.

Czas użyć znaczników [era].

Pobierz kod źródłowy Kod źródłowy
[era]
[/era]



W ten oto sposób dodaliśmy do gry nową erę. By nasza era działała poprawnie, brakuje jeszcze kilku rzeczy, które musimy wpisać między znacznikami. Przyda się dokumentacja: https://wiki.wesn...org/EraWML. Niezbędne będą klucze id oraz name. Wpisujemy między znacznikami nazwę klucza, potem =, na końcu wartość jaką chcemy mu ustawić.

Dla większego porządku, między każdymi znacznikami warto robić wcięcia tabulatorem.

id będzie nazwą ery niewidoczną dla gracza. Dzięki id będziemy mogli odwoływać się do naszej ery w kodzie. name to nazwa naszej ery wyświetlana w grze.

Pobierz kod źródłowy Kod źródłowy
[era]
id = MojaEra
name = "Moja Era"
[/era]




Zwróć uwagę, że każda wartość dla klucza, która nie jest id (albo liczbą), powinna być w cudzysłowach ””.

Dodajmy teraz do naszej ery dwie strony konfliktu: Elfy i Nieumarłych. Makro {RANDOM_SIDE} pozwoli na wybranie losowej frakcji.

Makro to nic innego jak gotowy kawałek kodu spakowany do postaci jednego wyrazu pomiędzy znakami {}. Zamiast pisać całą serię znaczników i kluczy, możemy skorzystać właśnie z makr, żeby zaoszczędzić czas i skorcić kod. Krótszy kod łatwiej jest ogarnąć. Tutaj znajduje się spis wszystkich makr w Wesnoth: https://www.wesno...ence.xhtml, jak by co. Na razie jednak nie ma potrzeby do niego zaglądać.

Nową stronę konfliktu dodamy znacznikiem [multiplayer_side]. Niezbędne nam będą klucze id i name, działające podobnie jak w przypadku ery. Musimy ustalić jaki kolor na jednostkach będzie podmieniany na kolor gracza. Problem załatwi za nas to makro: {MAGENTA_IS_THE_TEAM_COLOR}. Raczej nigdy nie trafi ci się sytuacja, w której nie miałbyś go użyć.

Pobierz kod źródłowy Kod źródłowy
[era]
id = MojaEra
name = "Moja Era"
{RANDOM_SIDE}
[multiplayer_side]
id = Elfy
name = "Elfy"
{MAGENTA_IS_THE_TEAM_COLOR}
[/multiplayer_side]
[multiplayer_side]
id = Nieumarli
name = "Nieumarli"
{MAGENTA_IS_THE_TEAM_COLOR}
[/multiplayer_side]
[/era]



leader to id jednostki przywódcy. Id jednostek możemy znaleźć pod tym adresem: https://units.wes.... Można dodać więcej jednostek oddzielając je przecinkiem. recruit to lista dostępnych do rekrutacji jednostek.

Pobierz kod źródłowy Kod źródłowy
[era]
id = MojaEra
name = "Moja Era"
{RANDOM_SIDE}
[multiplayer_side]
id = Elfy
name = "Elfy"
{MAGENTA_IS_THE_TEAM_COLOR}
leader = Elvish Lord
recruit = Elvish Archer
[/multiplayer_side]
[multiplayer_side]
id = Nieumarli
name = "Nieumarli"
{MAGENTA_IS_THE_TEAM_COLOR}
leader = Dark Sorcerer, Skeleton
recruit = Walking Corpse
[/multiplayer_side]
[/era]



Teraz możesz już uruchomić grę i zobaczysz, że twoja era działa.
i.imgur.com/QUYOowD.jpg

i.imgur.com/pyPYXM7.jpg
Brakuje jeszcze tylko obrazków reprezentujących frakcje. Dodamy je za pomocą kluczy image. Obrazki znajdziemy w folderze z zainstalowaną grą w folderze data/core/images. Jako wartość klucza image podajemy brakującą ścieżkę do obrazka, czyli np. "units/orcs/archer.png".

Pobierz kod źródłowy Kod źródłowy
[era]
id = MojaEra
name = "Moja Era"
{RANDOM_SIDE}
[multiplayer_side]
id = Elfy
name = "Elfy"
{MAGENTA_IS_THE_TEAM_COLOR}
leader = Elvish Lord
recruit = Elvish Archer
image = "units/elves-wood/avenger+female-sword-1.png"
[/multiplayer_side]
[multiplayer_side]
id = Nieumarli
name = "Nieumarli"
{MAGENTA_IS_THE_TEAM_COLOR}
leader = Dark Sorcerer, Skeleton
recruit = Walking Corpse
image = "units/undead/shadow-s-attack-4.png"
[/multiplayer_side]
[/era]



i.imgur.com/XPinjbD.jpg
Na koniec, dobrym zwyczajem było by objąć naszą erę za pomocą warunku preprocesora. Kod preprocesora to kod wykonywany PRZED kodem WML. Są to specjalne wyrazy użyte po znaku #. Jeśli po znaku # nie użyjesz jednego z wyrazów specjalnych, gra nie zgłosi błędu a reszta linijki zostanie po prostu pominięta. Dla tego znak # również służy do zostawiania komentarzy w kodzie. Dodajmy #ifdef MULTIPLAYER na początku naszego kodu i #ednif na końcu. Po co? Ten kod mówi grze, że ma załadować wszystko co jest pomiędzy #ifdef i #endif (czyli naszą erę) jeśli rozpoczynamy grę w trybie wielu graczy. Takie warunki pozwalają uniknąć ładowania elementów naszego dodatku, kiedy nie są potrzebne.

Pobierz kod źródłowy Kod źródłowy
#ifdef MULTIPLAYER
[era]
id = MojaEra
name = "Moja Era"

{RANDOM_SIDE}

#Pierwszy komentarz. Pod spodem frakcja elfów.
[multiplayer_side]
id = Elfy
name = "Elfy"
{MAGENTA_IS_THE_TEAM_COLOR}
leader = Elvish Lord
recruit = Elvish Archer
image = "units/undead/avenger+female-sword-1.png"
[/multiplayer_side]

#Drugi komentarz. Poniżej mamy frakcję nieumarłych.
[multiplayer_side]
id = Nieumarli
name = "Nieumarli"
{MAGENTA_IS_THE_TEAM_COLOR}
leader = Dark Sorcerer, Skeleton
recruit = Walking Corpse
image = "units/undead/shadow-s-attack-4.png"
[/multiplayer_side]
[/era]
#endif



Autor: Smok
Komentarze
Brak komentarzy. Może czas dodać swój?
Dodaj komentarz
Zaloguj się, aby móc dodać komentarz.
Oceny
Tylko zarejestrowani użytkownicy mogą oceniać zawartość strony
Zaloguj się lub zarejestruj, żeby móc zagłosować.

Brak ocen. Może czas dodać swoją?
Logowanie
Nazwa użytkownika

Hasło



Nie masz jeszcze konta?
Zarejestruj się

Nie możesz się zalogować?
Poproś o nowe hasło
 
Shoutbox
Musisz zalogować się, aby móc dodać wiadomość.

01-03-2025 12:33
Te nowe statystyki w EEaW są do niczego. Można by wrócić do starych???

31-01-2025 10:27
Usunąłem spam tematów w Karczmie.

15-01-2025 21:08
Dziękujemy i wzajemnie!

01-01-2025 22:50
Najlepszego wam na nowy rok, którzy jeszcze wchodzicie na stronę. Grin

13-11-2024 02:17
Elo, wbijaj na Discorda, tutaj już mało się dzieje

12-11-2024 10:46
Witam wszystkich po bardzo długiej przerwie Smile

01-11-2024 19:10
https://www.wesnot
h.com.pl/forum/vie
wthread.php?thread
_id=2183

31-10-2024 21:23
Jest nowa wersja dodatków WOTG oraz MWC. Naprawiony bug z brakiem obrazków postaci. Można rzezić kompa jednostki ile chcecie! Zapraszam do spróbowania MWC z WOTG erą.

10-09-2024 23:10
A może może. Ale jeszcze nie teraz.

04-09-2024 20:19
Może jakiś turniej?

 
Wygenerowano w sekund: 0.14
10,885,002 unikalne wizyty