• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5


Ekwipunek Tekstowy - Wieloschowek
#1
  Czołem szanowne gobliny!

Od jakiegoś czasu pracuję sobie nad pewnym projektem RPG (być może niebawem utworzę stosowny temat w dziale Projekty). Standardowy ekwipunek, jakim cieszą się bohaterowie w Warcraftcie 3, jest zdecydowanie za mały na odpowiednio rozbudowany projekt z duża liczbą przedmiotów.

Z założenia w moim projekcie występować będą takie pancerze jak kirys, rękawice, buty, hełmy i tarcze, jak również bronie w postaci mieczy, toporów, broni obuchowych, włóczni, kosturów i łuków.
Zawsze brakowało mi swoistej bazy danych przedmiotów, gdzie w jednym miejscu i w krótkim czasie moglibyśmy stworzyć nowy przedmiot i określić jego parametry, takie jak premie do atrybutów, obrona, obrażenia oraz wymagania potrzebne do jego założenia. Co więcej, chciałem mieć większą kontrolę nad cenami sprzedaży przedmiotów, a dodatkowo sprawić, że bohater dzierżący łuk będzie z tego łuku szył.
Do tej pory mozolnie tworzyłem odpowiednie premie i dawałem je do przedmiotu, a wymagania sprawdzałem poprzez wyzwalacze. Uzmysłowiłem sobie, że przy bazie, dajmy na to, dwustu przedmiotów będę miał zajebiście długi wyzwalacz, sprawdzający jaki przedmiot został podniesiony i sprawdzający, czy nasz bohater spełnia jego wymagania. Chciałem to usprawnić i wpadłem na pewien pomysł.

Co gdyby w nazwie przedmiotu zawrzeć jego parametry?
I tutaj z pomocą przyszedł mi sposób kodowania koloru, jaki udostępnił nam Blizzard.

W efekcie zacząłem powoli tworzyć ekwipunek, który opierałby się jedynie na ciągach tekstowych (string). Otworzyło to przede mną ciekawe możliwości.

TL;DR, przejdźmy do konkretów.

W założeniu stworzyłem wyzwalacz, który po podniesieniu przedmiotu, jego wszystkie parametry sczytuje z jego nazwy za pomocą podciągów (substring). A wygląda to mniej więcej tak (przykładowy przedmiot - Stalowy topór):


Poziom przedmiotu: 22
|c00200120|r|c13030000|r|c02121110|rTopór - Stalowy topór

I teraz rozbiję to na poszczególne segmenty:

|c00200120|r|c13030000|r|c02121110|rTopór - Stalowy topór

Część określona niebieskim kolorem decyduje o dwóch rzeczach, a mianowicie o jego indeksie (002) oraz jego cenie (00120).
Indeks: 002, cena przedmiotu: 120 szt. złota.
Cenę dodatkowo ustalam po to, aby mieć nad nią większą kontrolę podczas sprzedaży przedmiotu (np. reputacja, zdolność kupiecka etc.)


Część zielona decyduje o premiach do statystyk bohatera, czyli premii do obrażeń krytycznych (13), premii do siły (03) oraz premii do zwinności (00) i inteligencji (00).
+13% do obrażeń krytycznych, +3 do Siły bohatera.

Część czerwona to wymagania potrzebne do dzierżenia tego toporzyska, kolejno poziom bohatera (02), siła (12), zwinność (11), inteligencja (10) (nie pytajcie po co inteligencja do obsługi topora).
Wymagane - Poziom bohatera: 2, Siła: 12, Zwinność: 11, Inteligencja: 10.


Pogrubiona część nazwy to rodzaj przedmiotu. Wyzwalacz wykrył, że jest to topór, więc pierwsza część zielonego członu nazwy (13) będzie odnosiło się do premii do obrażeń krytycznych.
Rodzaje broni:
Miecz - premia do szybkości ataków
Topór - szansa na krytyczne obrażenia
Obuch - szansa na ogłuszenie
Włócznia - szansa na unik
Kostur - zaklęcie (do tego jeszcze wrócę przy okazji Pierścieni).

Pancerze nie mają żadnej specjalnej premii.


Poziom przedmiotu decyduje o jego obronie bądź obrażeniach, w zależności jaki to przedmiot.

Są jeszcze dwa rodzaje przedmiotów: wspomniane wcześniej Kostury oraz Pierścienie. Ich premią specjalną są zaklęcia dodawane bohaterowi. W wyzwalaczu należy określić jaki indeks, odpowiada jakiemu zaklęciu i reszta sama się już wykona.


Dodatkowo system ten ładnie współpracuje z podczepianymi przedmiotami tj. attachements. Wystarczy, aby odpowiedni zaimportowany model nazwać tak, jak indeks danego przedmiotu, czyli dla stalowego topora w tym wypadku byłoby to 002.mdx. W wyzwalaczach należy tylko odpowiednio umieścić przedmiot.

W załączniku daję prostą kampanię, w której przedstawiam owy ekwipunek i system w akcji. Nasz ekwipunek bohatera służy teraz tylko do noszenia mikstur, a reszta przedmiotów znajduje się w ekwipunku tekstowym.

Do załącznika dorzuciłem też prosty arkusz w excelu (2007), który usprawnia dodawanie przedmiotów. W obecnej chwili, stworzenie nowego przedmiotu do kampanii, ustalenie jego opisów i parametrów oraz zaimportowanie modelu zajmuje mi średnio minutę (trochę dłużej dla kosturów i pierścieni).


Pozdrawiam.


Attached Files
.w3n   asart.w3n (Size: 928.79 KB / Downloads: 8)
.xlsx   tworzenie przedmiotów.xlsx (Size: 12.18 KB / Downloads: 6)
Mrok jak...
Reply }}}
Podziękowanie od:
#2
Genialne, kurde jakbym na to wpadł, jak robiłem ekwipunek do Bastionu. Zarąbisty pomysł, fajnie że się podzieliłeś. Może kiedyś mi się jeszcze przyda Duży uśmiech
Reply }}}
Podziękowanie od:
#3
Zrobisz kolejne części tej mapki? Ciekaw jestem co zrobi ta siostra
Ten post był edytowany -259638 raz(y) ostatnio edytowany przez Axator: Za 3 pojutrze, 29:89
Reply }}}
Podziękowanie od:
#4
Owszem, planuję kontynuować tą historię. Ogólnie rzecz biorąc od jakiegoś czasu tworzę sobie pewne uniwersum i chciałem zacząć je jakoś urzeczywistniać. Dzięki temu wróciłem do Warcrafta 3 po długiej przerwie Oczko

Najwięcej jednak problemu sprawia mi balansowanie map. Mianowicie...
Graczem jestem dość mizernym i staram się zawsze brać to pod uwagę przy projektowaniu trudności mapy. Wychodzę z założenia, że jeśli ja to potrafię przejść, to inni przejdą z palcem w... nosie.
Dlatego w swoich projektach bardziej celuję w RPG, gdzie kierujemy jedną jednostką bądź niewielką grupką, gdzie każdy jakoś uzupełnia swoje umiejętności.


Ale wracając do Twojego pytania, to myślę, że kontynuacja ukaże się jakoś niebawem. Jednak nie będzie to długa seria Oczko
Mrok jak...
Reply }}}
Podziękowanie od:
#5
Do tego ekwipunku mógłbyś dodać opcję zdjęcia przedmiotu i włożenia go bezpośrednio do plecaka, bo obecnie trzeba wyrzucić przedmiot i podnieść go jeszcze raz by to zrobić.

A co do tego balansu, przeszedłem to używając tylko głównego bohatera i kapłana. Świetnie się uzupełniali. Za dużo przedmiotów wypadało, wrogowie prawie mnie nie krzywdzili. Przydzielenie dodatkowych punktów do statystyk mógłbyś zrobić jakoś inaczej, żeby można było je przydzielić w dowolnym momencie a nie od razu po zdobyciu poziomu. Nie mogłem w trakcie sprawdzić wymagań kolejnego przedmiotu i nie wiedziałem w co zainwestować te punkty żeby móc go założyć Język

SPOILER ALERT!!!!!!!!!!!!!!!
W fabule nie czaję jedynie, ta siostra była obok tamtego statku i odpłynęła nim. W trakcie bohater dotarł do swojego domu gdzie byli jeszcze ludzie i jego brat. Jak ta siostra wymordowała wszystkich skoro odpłynęła?
Ten post był edytowany -259638 raz(y) ostatnio edytowany przez Axator: Za 3 pojutrze, 29:89
Reply }}}
Podziękowanie od:
#6
Właśnie też zauważyłem, że zdejmowanie przedmiotów jest problematyczne... Zaraz się doda. A co do statystyk co poziom, to myślałem już nad wykorzystaniem surowca, jakim jest drewno, skoro w kampanii i tak nie mam na razie dla niego zastosowania. Ew. wymyślę coś innego, dzięki serdeczne za sugestie Oczko

W tej kampanii akurat poziom trudności specjalnie nastawiłem na łatwy, gdyż chodziło mi bardziej o pokazanie zasady działania ekwipunku. Stąd przedmioty i trupy słały się gęsto Duży uśmiech Jednak i tak przeczuwam, że dalsze mapy również nie będą zbyt trudne. Postaram się Oczko

Oczywiście już trzepnąłem kolejny idiotyczny błąd... Mogłem na zakończenie kampanii zapisać bohatera i innych w buforze. Postęp byłby zachowany... No nic, fixed start od następnych map.



A co do ostatniej kwestii... Widziałeś, aby ona rzeczywiście na niego wsiadała? Oczko
Mrok jak...
Reply }}}
Podziękowanie od:
#7
Z tymi statystykami możesz dodać odpowiednie umiejętności do samego ekwipunku i będzie git. Albo to okno dialogowe otworzy się po wciśnięciu ESC jeśli są dostępne punkty. Jeśli niedostępne, to nie otworzy się Duży uśmiech

Zostało powiedziane że ostatni statek odpłynął, zakładam że ona się na nim znalazła Język Nie mam pojęcia co się z nią stało xD
Ten post był edytowany -259638 raz(y) ostatnio edytowany przez Axator: Za 3 pojutrze, 29:89
Reply }}}
Podziękowanie od:
#8
Nie czyta mi mapy w Warcrafcie 3, w sumie w edytor też nie mogę wrzucić. Ktoś podpowie czemu?
Reply }}}
Podziękowanie od:

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  




Users browsing this thread:
1 Guest(s)

Silnik forum - © MyBB - Styl forum - iAndrew, grafika - Kithraya, Midas, Bezifabr, Blizzard Entertainment
   
O NAS
Goblin Factory to założone w grudniu 2013 roku forum moderów Warcraft 3 wspólnym wysiłkiem dwóch osób - Scaraba, i WrathaAmona. Celem ich było stworzenie czegoś na wzór starego arcane.pl - miejsca, w którym osoby które wciąż tworzą coś do Warcrafta mogą się spotkać, porozmawiać, zaprezentować swoje dzieła, zapytać o rozwiązanie różnych problemów itd. 22 czerwca 2014 roku Goblin Factory został przeniesiony na nowy silnik, i nowy hosting, a obecnie jest już największym i najpopularniejszym polskim forum dotyczącym Warcrafta 3.