blondi Opublikowano 7 Kwietnia 2010 Udostępnij Opublikowano 7 Kwietnia 2010 Robiąc ostatnio swojego rpg'a chciałem zrobić questloga który by sprawdzał czy mam maksymalną liczbe questów (5 maks) i ewentualnie dodawał,jak jak sie mieści w tej liczbie,i ze względu ze chce zrobić też poboczne nie wiem jak i co bedzie łatwiej czy ds_map czy tablice,prosze o pomoc i wskazówki:) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 7 Kwietnia 2010 Administratorzy Udostępnij Opublikowano 7 Kwietnia 2010 wszelkie struktury danych ds_ są wygodniejsze, bo możesz policzyć ile ich jest i dokonywać na nich pewnych operacji, jak przeszukiwanie itd. po kluczu, bez bawienia się w pętle for - tablice w GM są bardzo słabe, więc ja bym skorzystał ze struktur tutaj - tym bardziej, ze np. w mapę ( ds_map...) możesz wsadzić kolejną mapę i w ten sposób popakować różne informacje :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 7 Kwietnia 2010 Autor Udostępnij Opublikowano 7 Kwietnia 2010 no dobra,mam nadzieje ze jak poczytam pare tutoriali to naucze sie wpełni korzystać z ds_map,pbo na razie kuleje,ekwipunek mam na tablicach,i jest ok ale strasznie trudno dac jakies warunki itd,lub zeby sprawdzac cos,ale i tak dzieki za pomoc:) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 7 Kwietnia 2010 Administratorzy Udostępnij Opublikowano 7 Kwietnia 2010 pamiętaj, że każda mapa ma swoje ID, zatem tworząc ją, dostaniesz to ID: GML global.mapa; global.mapa= ds_map_create(); potem możesz wsadzić ją w inną mapę GML var inna; inna = ds_map_create(); ds_map_add(global.mapa,'wsadzona_mapa',inna); a potem, żeby odzyskać id tej wsadzonej mapy: GML var id_innej; id_innej = ds_map_find_value(global.mapa,'wsadzona_mapa'); var costam; costam = ds_map_find_value(id_innej,'jakas_wartosc....'); ... W ten sposób można pakować mapy w mapy, pamiętając jedynie ID tej głównej (warto przypisać do zmiennej globalnej, chyba, że jakiś obiekt istnieje całą grę właściwą). Jak może się to przydać? Ot, mamy np. w grze kilku bohaterów, każdy z nich ma quest. Tworzymy więc mapę, gdzie klucze to imiona, a wartości to ID ich map z questami. Mapa z questem jako klucze ma np. 'nazwa','czy_wykonany','nagroda'. Wtedy rozmawiając z postacią szukamy w global.mapa wartości 'imie_postaci' (ds_map_find_value), pobieramy jej wartość do zmiennej (nawet tymczasowej), i mamy dostęp do informacji o queście (mamy ID struktury, jej referencję). Oczywiście w mape można wsadzić listę, kolejkę itd. i na odwrót. Warto pamiętać, że o ile zmienna var znika, to sama struktura nie zniknie, ponieważ zmienna var ma tylko jej identyfikator (referencję), a struktura znika dopiero przy zamykaniu gry lub poprzed ds_xxxx_destroy(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 8 Kwietnia 2010 Autor Udostępnij Opublikowano 8 Kwietnia 2010 o super dzieki za wytłumaczenie zobaczymy jak to wyjdzie mi w praktyce:)wielkie dzięki xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się