|
[MMF2] Ekwipunek |
| Autor |
Wiadomość |
Dominika
Sierżant
 
Główny edytor: 
Drugi edytor: 
Posty: 121
6568 Prestiż
|
Wysłany: 04-11-2007, 18:19 [MMF2] Ekwipunek
|
|
|
Witam .
Mam taki problem, potrzebuję zrobić ekwipunek 6 slotów + miejsce na hełm, zbroje, buty, broń i tarczę.
Wygląda to mniej więcej tak: Bohater "bierze" obiekt klikając na nim.
Sprawdza czy są wolne sloty, jeżeli tak to przedmiot znika z ziemi i animacja slot1 zmienia się na animacje np. broni którą zebraliśmy. Klikamy prawy na slot - broń "wypada" z bohatera i slot się zwalnia.
Uprzedzam: Ten silniczek musi wytrzymać ok. 150 (czy tam 200) przedmiotów. |
|
|
|
 |
Minty
Stwórczyni omc dr fizyki
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomogła: 259 razy Posty: 3447
33795 Prestiż
|
Wysłany: 04-11-2007, 19:27
|
|
|
Najpierw tworzysz odpowiednią ilość duplikatów jednego obiektu (to będą widoczne obiekty), potem importujesz do jego animacji odpowiednie grafiki. Powinno działać dla dużej liczby przedmiotów. Następnie zerkasz do http://romanx.webd.pl/down/ekwipunek.zip i wyciągasz wnioski na temat wykorzystania takiego obiektu.
Pomoc do wnioskowania: http://www.romanx.kosa.net.pl/other/ekwipunek.rar
(niestety nie ma grafik: założyłam, że są w folderze DANE w formacie GIF, a w pliku liczbaitemow.txt w tymże folderze jest liczba grafik). |
|
|
|
 |
jarlfenrir
Generał brygady
 
Główny edytor: 
Drugi edytor: 
Pomógł: 82 razy Posty: 1731
37283 Prestiż
|
Wysłany: 04-11-2007, 23:16
|
|
|
W mojej pracy na batalię na grę RPG (niestety nie dokończyłem pracki) ekwipunek działał mniej więcej tak:
Klikasz na przedmiot, sprawdzana jest wartość obiektu slot1, jeśli jest różna od 0, to sprawdza się kolejny slot. Jeśli któryś slot ma wartość równą 0, to tą wartość zmienia się na wartość klikniętego przedmiotu.
Sloty to są obiekty Active Picture, które jeśli maja wartość 0, to nie pokazują nic lub np. czarny obrazek, a jeśli mają wartość różną od 0, np. 5, to w pliku przedmioty.ini w grupie [5] w item'ie "nazwa" jest podana scieżka do pliku .png do wczytania.
Wymaga to zrobienia sporej ilości plików zewnętrznych i odpowiednim zarządzaniem plików ini, ale myslę, że sporo rzeczy także to upraszcza. |
|
|
|
 |
Dominika
Sierżant
 
Główny edytor: 
Drugi edytor: 
Posty: 121
6568 Prestiż
|
Wysłany: 05-11-2007, 16:04
|
|
|
| Cytat: | | (niestety nie ma grafik: założyłam, że są w folderze DANE w formacie GIF, a w pliku liczbaitemow.txt w tymże folderze jest liczba grafik). |
Ekwipunek nie korzysta z zewnętrznych plików. Każdy slot ma około 150 animacji i jest osobnych ok. 150 obiektów.
Próbowałam też to robić z wartościami tak jak Fenrir mówił, i że jeżeli tam slot1 wartość a = 1 -> zmień animacje na krótki miecz.
Ale nie mogłam se poradzić, żeby z każdą pętlą przy podnoszeniu przedmiotów, sprawdzało czy jakiś slot jest wolny i dodać ten przedmiot na jego miejsce =( |
|
|
|
 |
Minty
Stwórczyni omc dr fizyki
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomogła: 259 razy Posty: 3447
33795 Prestiż
|
Wysłany: 05-11-2007, 18:05
|
|
|
No to przecież w tym moim wszystko jest. Korzystanie z zewnętrznych plików możesz wywalić, bo i tak gra najpierw je ładuje do jednego obiektu jako animacje (a tak już masz).
http://romanx.webd.pl/?83 |
|
|
|
 |
jarlfenrir
Generał brygady
 
Główny edytor: 
Drugi edytor: 
Pomógł: 82 razy Posty: 1731
37283 Prestiż
|
Wysłany: 05-11-2007, 19:09
|
|
|
| Dominika napisał/a: |
Ale nie mogłam sobie poradzić, żeby z każdą pętlą przy podnoszeniu przedmiotów, sprawdzało czy jakiś slot jest wolny i dodać ten przedmiot na jego miejsce =( |
Nie musisz sprawdzać pętlą. U mnie każdy slot jest osobnym obiektem, przez co trzeba napisać do każdego slotu osobne zdarzenie (jeśli slot1=0 to daj do slotu1, jeśli slot1<>0 a slot2=0 to daj do slotu2 itd). Slotów jest tylko 6, więc nie jest to wcale tak dużo zdarzeń, a mniejsze ryzyko popełnienia błędu. (6 zdarzeń, 21 warunków, 6 akcji).
Potem osbno robisz cos w stylu: always set animation of [slot1] to (AlterableValA(slot1)
Czyli po zebraniu przedmiotu w najgorszym wypadku będziesz czekać (przy domyślnych FPS) 2 setne sekundy na zaktualizowanie obrazka, a tego nikt nie zauważy |
| Ostatnio zmieniony przez jarlfenrir 05-11-2007, 19:20, w całości zmieniany 1 raz |
|
|
|
 |
Minty
Stwórczyni omc dr fizyki
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomogła: 259 razy Posty: 3447
33795 Prestiż
|
Wysłany: 05-11-2007, 19:17
|
|
|
1. IMO najlepiej wybierać slot losowo (bo czemu nie?) - tak jest w tym moim silniku.
2. Można nadać slotom ID i w 6 krokowej pętli sprawdzać je kolejno (warunek: ID slotu = krok pętli + 1), czy są puste. Gdy znajdzie się pusty, to wiadomo co się dzieje (przy okazji można zatrzymać pętlę, żeby nie jechała dalej). |
|
|
|
 |
|
|