[MMF2] Ekwipunek |
Autor |
Wiadomość |
MrDartmoor
Kapral
Główny edytor:
Posty: 23
288 Prestiż
|
Wysłany: 19-05-2011, 20:09 [MMF2] Ekwipunek
|
|
|
Witam. Czy da się w MMF2 zrobić ekwipunek polegający na tym że podnosimy przedmiot i on trafia do wolnej kratki? Czyli wchodzę na obiekt i sprawdza która kratka jest wolna i tam wrzuca przedmiot. Jeśli tak to proszę o jakieś wskazówki. |
|
|
|
|
Fadex
Legenda #4; #12; #18; #20; #21; #27
Główny edytor:
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 19-05-2011, 20:22
|
|
|
Tak, jednak wymaga to pewnej wiedzy. Potrzebne będą na pewno:
-spis wszystkich przedmiotów, wraz z unikalnym numerem identyfikacyjnym dla każdego (może być w INI),
-dwuwymiarowa (albo i nawet trójwymiarowa, jeśli ma być wielozakładkowy ekwipunek) tablica, w której przechowywane będą numery identyfikayjne podniesionych przedmiotów (ta tablica to właśnie główny element ekwipunku),
-pętla, która sprawdza wszystkie pola tablicy aż natrafi na takie z wartością 0 (czyli puste) i tam wstawia numer identyfikacyjny przedmiotu, który właśnie podnieśliśmy,
-pętla, która wyświetla wszystkie przedmioty w ekwipunku na podstawie danych wyciągniętych z tablicy i w oparciu o główny spis przedmiotów,
-silnik przenoszenia przedmiotów między slotami ekwipunku (czyli pobiera wartość klikniętego pola i zapamiętuje, a następnie nadpisuje wartość na polu, w którym przedmiot został upuszczony pamiętając o zresetowaniu poprzedniej wartości tablicy).
Co może okazać się przydatne?
Wszelkie rozszerzenia tablic, przechowywania wartości zewętrznych (łatwo modyfikowalnych) w stylu INI i mnóstwo, powtarzam MNÓSTWO cierpliwości.
Ekwipunek to nie taka prosta sprawa, wstęp teoretyczny masz za sobą - jeśli nie za bardzo wiesz od czego zacząć/nie rozumiesz logicznego sensu porad - może lepiej będzie odpuścić? |
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
|
Wackyjackie
Bohater Starszy Chorąży Sztabowy Randomu
Główny edytor:
Drugi edytor:
Pojedynki: nie
Pomógł: 69 razy Posty: 717
36331 Prestiż
|
Wysłany: 19-05-2011, 20:25
|
|
|
Da się. Za pomocą tablicy (bądź INI, czy nawet obiektu listy) i pętli.
Gdy gracz chce dodać obiekt do ekwipunku, wczytaj tablicę z ekwipunkiem i puść pętlę, jeżdżącą po osi X tablicy, która wychwytywała by, czy miejsce jest wolne, czy też nie (przypuśćmy, że jeśli wartość w danym miejscu na tablicy wynosi 0 -> utwórz tam przedmiot). Po czym zapisz tablicę.
Zdarzeniowo można to zrobić tak:
Gracz próbuje dodać coś do EQ ---> Start loop "sprawdzanie" X times (X = ilość slotów; pamiętaj by zmienić to w ustawieniach tablicy).
On loop "sprawdzanie" ---> Set X dimension index to loopindex("sprawdzanie").
On loop "sprawdzanie" + current value/string (w zależności czy wolisz tablicę liczbową, czy tekstową) = 0 (0 to puste miejsce) ---> Write value/string to current position [numer/nazwa dodawanego przedmiotu].
Po zakończeniu pętli najlepiej zapisz arrajkę.
Jeśli ogarniesz to co wyżej zapisałem, będziesz w stanie spokojnie zrobić to, by przedmioty były widoczne w grze. Zrób tylko "X" obiektów aktywnych reprezentujących sloty i nadaj im kolejne "alterable values" używając funkcji "spread value". Potem, podczas generowania przedmiotów, ustawiasz przedmiot na odpowiednim miejscu tj. na slocie z jakąś zmienną równą "array:current X dimension".
Ewentualnie zostaje łopatologia, ale nie chce mi się już o tym pisać . |
_________________
|
|
|
|
|
MrDartmoor
Kapral
Główny edytor:
Posty: 23
288 Prestiż
|
Wysłany: 19-05-2011, 20:47
|
|
|
"sprawdzanie"StrAtX = 0
Doszedłem do tego
On loop "sprawdzanie" + current value/string
Niestety wyskakuje błąd że komenda jest nie poprawna gdzie robię błąd. |
|
|
|
|
Vader
Chorąży Nastoletni emeryt
Główny edytor:
Pojedynki: być może
Pomógł: 5 razy Posty: 342
3177 Prestiż
|
Wysłany: 19-05-2011, 20:52
|
|
|
Masz napisać "Value" czyli wartość, lub "String" czyli tekstową, bo przecież znak "/" w tym przypadku oznacza "lub" .
Mam nadzieję, że come on o to . |
Ostatnio zmieniony przez Vader 19-05-2011, 20:55, w całości zmieniany 2 razy |
|
|
|
|
Wackyjackie
Bohater Starszy Chorąży Sztabowy Randomu
Główny edytor:
Drugi edytor:
Pojedynki: nie
Pomógł: 69 razy Posty: 717
36331 Prestiż
|
Wysłany: 19-05-2011, 20:52
|
|
|
Nie mam pojęcia o co ci chodzi, ale z tego co widzę to na razie sobie odpuść
Pewnie chcesz wklepać tekst, tam gdzie wymagana jest liczba, bądź liczbę, tam gdzie ma być tekst.
Do zamiany liczby na tekst użyj Str$(liczba), a Val(Tekst), działa na odwrót. |
_________________
|
|
|
|
|
MrDartmoor
Kapral
Główny edytor:
Posty: 23
288 Prestiż
|
Wysłany: 19-05-2011, 21:25
|
|
|
Była spacja i nie chciało się przyjąć.
Jaką wartość value mają mieć sloty , zostawić zero?
I zapomniałem o "" i zamiast tego co było dałem value |
Ostatnio zmieniony przez MrDartmoor 19-05-2011, 21:29, w całości zmieniany 1 raz |
|
|
|
|
Vader
Chorąży Nastoletni emeryt
Główny edytor:
Pojedynki: być może
Pomógł: 5 razy Posty: 342
3177 Prestiż
|
Wysłany: 19-05-2011, 21:27
|
|
|
Ale ty nam tutaj napisałeś bez spacji, która zapeszyła . |
|
|
|
|
MrDartmoor
Kapral
Główny edytor:
Posty: 23
288 Prestiż
|
|
|
|
|
Fadex
Legenda #4; #12; #18; #20; #21; #27
Główny edytor:
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 19-05-2011, 21:43
|
|
|
Przed rozpoczęciem tworzenia kodu zawsze najpierw trzeba wyobrazić sobie całość, od początku do końca jak chcemy dany efekt uzyskać. W przypadku braku doświadczenia może się to wydawać trudne, szczególnie przy nieznajomości akcji i warunków, ale wystarczy trochę się przyłożyć i można zobaczyć efekty
To może w ten sposób przedstawię:
Kod: | Tablica może wyglądać tak:
\] 1 2 3 4 5 6
1] 2 1 5 0 0 0
2] 3 7 0 0 0 0
3] 0 0 0 0 0 0
4] 0 0 0 0 0 0
Spis przedmiotów może tak, czyli zawierać nazwę przedmiotu oraz grafikę wyświetlaną przez aplikację. Oczywiście powinien zawierać więcej cech, taką jak np. obrażenia broni, premia do obrony itp.
[1]
przedmiot=sztylet
obrazek=sztyl.gif
[2]
przedmiot=tarcza
obrazek=tarcza.gif
[3]
przedmiot=miecz
obrazek=miecz.gif
[4]
przedmiot=zwój
obrazek=zwój.gif
[5]
przedmiot=mikstura
obrazek=mikst.gif
[6]
przedmiot=klucz
obrazek=klucz.gif
[7]
przedmiot=hełm
obrazek=hełm.gif
|
W tym przypadku w ekwipunku powinniśmy znaleźć odpowiednio:
[{1:1}Tarcza][{1:2}Sztylet][{1:3}Mikstura]
[{2:1}Miecz][{2:2}Hełm]
Tyle z teorii. Praktyki nie da się przedstawić w sposób zrozumiały (a przynajmniej ja nie potrafię )
EDIT: Z tego co widzę raczej źle się do tego zabrałeś. Stworzyłeś 10 różnych obiektów slotu, mimo iż wystarczyłby jeden, odpowiednio przygotowany z poziomu zdarzeń. Ciężko będzie stworzyć grę z ekwipunkiem opierając się wyłącznie na rzeczach zupełnie podstawowych. Potrzeba doświadczenia, a poza tym to dość dużo pracy |
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
|
Minty
Stwórczyni omc dr fizyki
Główny edytor:
Drugi edytor:
Pojedynki: być może
Pomogła: 259 razy Posty: 3446
33789 Prestiż
|
|
|
|
|
|