Jak rozkodować pliki mapy terenu na jakiś czytelny zapis?

Wszystko o szeroko pojętej działalności Fanów gry: mapy, programy, tłumaczenia...

Moderatorzy: kuba11100, The Viking, Moderatorzy

Odpowiedz
Awatar użytkownika
expert
Użytkownik Forum
Posty: 44
Rejestracja: 26 cze 2009, 21:00

Jak rozkodować pliki mapy terenu na jakiś czytelny

Odpowiedz z cytatem

Post autor: expert »

Witam,

czy ktoś ma jakieś pojęcie w jaki sposób można rozkodować pliki z terenem, tak aby to było jakoś bardziej czytelne? W edytorze terenu Kroma nigdzie nie ma jakiejś opcji eksportu do czytelniejszej wersji.
kuba11100
Administrator Forum 
Administrator Forum 
Posty: 1667
Rejestracja: 18 sie 2008, 13:57
Lokalizacja: Polska
Kontakt:

Odpowiedz z cytatem

Post autor: kuba11100 »

Bardziej czytelne tzn. chcesz móc odczytać wartości wszystkich opcji? Edytor terenu Qage'a to potrafi, choć jego interfejs jest dość toporny:
http://www.knightsandmerchants.net/inde ... in-editors (na dole strony)

Tu masz też trochę informacji na temat struktury samego pliku:
http://www.knightsandmerchants.net/inde ... /map-files
Pozdrawiam,
kuba11100

Strefa KaMMirror misji
Awatar użytkownika
expert
Użytkownik Forum
Posty: 44
Rejestracja: 26 cze 2009, 21:00

Odpowiedz z cytatem

Post autor: expert »

Wszystko ładnie, pięknie po za jednym, mianowicie skąd ja mam wiedzieć, który kwadracik na teksturze terenu to 161? Po za tym w edytorze Qage'a ta tekstura wygląda inaczej, skąd ta różnica?

EDIT:

W tym poradniku Kroma, jest napisane, że wartość obrotu może przyjmować od 0 do 4, jednak ja spotkałem mapę z obrotem '6'. Rozwiązałem to tak:

Kod: Zaznacz cały

if($j==$y){break;}
	switch (ord($v[3])) {
    case "0": case "4":
        $ror = '0';
        break;
    case "1": case "5":
        $ror = '90';
        break;
    case "2": case "6":
        $ror = '180';
        break;
    case "3": case "7":
        $ror = '270';
        break;
}
i jest git :)
radziopoke
Użytkownik Forum
Posty: 86
Rejestracja: 15 gru 2011, 09:49

Odpowiedz z cytatem

Post autor: radziopoke »

expert pisze:Rozwiązałem to tak:

Kod: Zaznacz cały

if($j==$y){break;}
	switch (ord($v[3])) {
    case "0": case "4":
        $ror = '0';
        break;
    case "1": case "5":
        $ror = '90';
        break;
    case "2": case "6":
        $ror = '180';
        break;
    case "3": case "7":
        $ror = '270';
        break;
}
i jest git :)
No a jak przypadkiem będzie 8 :) No wiesz wszystko może się zdarzyć. Ja bym najpierw dostał resztę z dzielenia przez 4, a potem sprawdzał czy to 0, 1, 2 lub 3. W końcu reszta z dzielenia liczby 6 przez 4 to 2. Jak widać lepiej by to wyglądało i nie musiał byś tyle liczb sprawdzać.
Awatar użytkownika
expert
Użytkownik Forum
Posty: 44
Rejestracja: 26 cze 2009, 21:00

Odpowiedz z cytatem

Post autor: expert »

wiem o tym, dla tego tak później robiłem, tylko nie chciało mi się juz o tym pisać :P

Jeszcze jedna kwestia jest tego jak rozkodować informacje o ilości ryb w jeziorach, ilości węgla itp, bo z tego co czytałem, to ostatnie cyfry po terenie to dane mówiące o ilości surowców.
kuba11100
Administrator Forum 
Administrator Forum 
Posty: 1667
Rejestracja: 18 sie 2008, 13:57
Lokalizacja: Polska
Kontakt:

Odpowiedz z cytatem

Post autor: kuba11100 »

Za ryby odpowiada plik misji i unit.dat (konkretnie to ilość produkowanego towaru dla chatki rybackiej) - jedno polecenie w kodzie to dana z unit.dat (przed SR2=1, od SR2=2) razy 5.

Ilość surowca jest przypisana każdemu typowi terenu, na przykładzie węgla typ 153 będzie pozwalał na wydobycie 1 worka, typ 154 na 2, 155 na 3, 156 na 4.
Pozdrawiam,
kuba11100

Strefa KaMMirror misji
Odpowiedz