NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
[MMF2] Ekwipunek
Autor Wiadomość
MrDartmoor 
Kapral


Główny edytor: MMF2 Dev
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: MMF2 Dev
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: MMF2 Dev
Drugi edytor: Stencyl
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ć :P .
_________________
 
 
     
MrDartmoor 
Kapral


Główny edytor: MMF2 Dev
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: MMF2 Dev
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" :D .
Mam nadzieję, że come on o to :D .
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: MMF2 Dev
Drugi edytor: Stencyl
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ść :rollugly:
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: MMF2 Dev
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: MMF2 Dev
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 :D .
 
     
MrDartmoor 
Kapral


Główny edytor: MMF2 Dev
Posty: 23

288 Prestiż
Wysłany: 19-05-2011, 21:34   

https://rapidshare.com/files/2036279620/ekwipunek.mfa
Powiedzcie mi jak to skończyć by działało.
 
     
Fadex 
Legenda
#4; #12; #18; #20; #21; #27


Główny edytor: MMF2 Dev
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ę :P )

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: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3446

33789 Prestiż
Wysłany: 19-05-2011, 23:22   

Tak naprawdę nie pamiętam, co tam dokładnie zrobiłam, a dodatkowo nie mogę teraz zajrzeć do środka, ale masz, może się przyda:
http://romanx.webd.pl/?66
http://romanx.webd.pl/?83
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie
Daj piniondza Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group