Rośliny resp

Problemy związane z pracą w RM, poszukiwania współpracowników. Uwaga na zasady zakładania tematów!

Moderatorzy: GameBoy, Dragon Kamillo

ODPOWIEDZ
Erigon
Posty: 4
Rejestracja: 18 sty 2022, 16:38

Rośliny resp

Post autor: Erigon »

Witam jestem w trakcie tworzenia projektu w MV. Chciałbym prosić o pomoc w małym problemie, projekt bedzie miał coś takiego jak zbieranie roślin. Lecz zeby to zrobić trzeba je poznać czytając o nic zwoje. Później można zrobić np. Eloksir many, wszystko ogarnięte oprócz opcji respu roślin np. W lesie, chodzi o cos takiego np. Zbiera sie paprotkę kiedy klika sie na nią 2 raz pokazuje komunikat jeszcze nie odrosła czekamy z 5min i znowu można zebrać. Czy trzeba zrobić to w typ. Zdarzeniu? Zapętlić? Czy tylko skrypt?
Awatar użytkownika
Kryzz333

GF2019 - Zapowiedzi (zwycięstwo); GF2017 - Pełne Wersje (miejsce 1); GF2016 - Zapowiedzi (zwycięstwo); Golden Forki 2014 - Pełne Wersje (miejsce 2); Liga Mapperów Sezon VI (miejsce 3); Puchar Ligi Mapperów III (zwycięstwo)
Posty: 803
Rejestracja: 14 sie 2011, 16:39

Re: Rośliny resp

Post autor: Kryzz333 »

Hej :)
Myślę, że zrobienie tego na licznik czasu może być trudne w RM, chociaż ktoś mógłby spróbować napisać skrypt do MV.

Poniżej pod EDIT dodałem jedno rozwiązanie. Ale może zamiast dać odnawiania z czasem, daj, aby nowe rośliny pojawiały się w ważnych momentach fabularnych. W Gothicu dodawało potwory na mapy z każdym rozdziałem, tam było 5 rozdziałów :-)

EDIT:

Tu chodzi o liczenie ile razy odwiedziłeś inne mapy:

Ja mogę zaproponować takie rozwiązanie:
1. Zrób zbieranie każdej rośliny w taki sposób, że zebranie przełącza przełącznik główny
2. Dodaj kartę na końcu zdarzenia rośliny, która jest równoległa, włącza się na ten sam przełącznik główny i inny przełącznik "NaprawRośliny"
3. Zrób zmienne liczące przejścia między mapami.
4. Przy wejściu na każdą mapę dodawaj każdą zmienną o 1
5. Zrób zdarzenie równoległe na mapie z roślinami, które włączy przełącznik "NaprawRośliny", po czym wyzeruje zmienną przejścia danej mapy, jeśli ta jest większa o np. 5

Nie wiem czy to jest zrozumiałe, ale chodzi o liczenie ile razy byłeś w innych mapkach jako zastępstwo dla liczenia czasu. Musiałbyś rozmieścić te dwa dodatkowe zdarzenia - liczące i kasujące na każdej mapie, albo przynajmniej na mapach wokół rośliny, aby gracz musiał trochę pochodzić. Przy odrobinie sprytu mogłoby to spoko działać.
W produkcji:
Obrazek
"To achieve great things, two things are needed; a plan, and not quite enough time" - Leonard Bernstein
Erigon
Posty: 4
Rejestracja: 18 sty 2022, 16:38

Re: Rośliny resp

Post autor: Erigon »

Hymm a coś takiego
Zmienna napraw roślinę, aby to sie udalo gracz musi przejść 20x przez ta lokacje czyli np. Z miasta do lasu, ze wsi do lasu, z jeziora do lasu. Każde wejście z innej lokacji dawało by +1 i orzy 20 umożliwiało by ponowne zebranie ale minus taki ze jednej rośliny?
Erigon
Posty: 4
Rejestracja: 18 sty 2022, 16:38

Re: Rośliny resp

Post autor: Erigon »

Kryzz333 pisze:
18 sty 2022, 19:01
Hej :)
Myślę, że zrobienie tego na licznik czasu może być trudne w RM, chociaż ktoś mógłby spróbować napisać skrypt do MV.

Poniżej pod EDIT dodałem jedno rozwiązanie. Ale może zamiast dać odnawiania z czasem, daj, aby nowe rośliny pojawiały się w ważnych momentach fabularnych. W Gothicu dodawało potwory na mapy z każdym rozdziałem, tam było 5 rozdziałów :-)

EDIT:

Tu chodzi o liczenie ile razy odwiedziłeś inne mapy:

Ja mogę zaproponować takie rozwiązanie:
1. Zrób zbieranie każdej rośliny w taki sposób, że zebranie przełącza przełącznik główny
2. Dodaj kartę na końcu zdarzenia rośliny, która jest równoległa, włącza się na ten sam przełącznik główny i inny przełącznik "NaprawRośliny"
3. Zrób zmienne liczące przejścia między mapami.
4. Przy wejściu na każdą mapę dodawaj każdą zmienną o 1
5. Zrób zdarzenie równoległe na mapie z roślinami, które włączy przełącznik "NaprawRośliny", po czym wyzeruje zmienną przejścia danej mapy, jeśli ta jest większa o np. 5

Nie wiem czy to jest zrozumiałe, ale chodzi o liczenie ile razy byłeś w innych mapkach jako zastępstwo dla liczenia czasu. Musiałbyś rozmieścić te dwa dodatkowe zdarzenia - liczące i kasujące na każdej mapie, albo przynajmniej na mapach wokół rośliny, aby gracz musiał trochę pochodzić. Przy odrobinie sprytu mogłoby to spoko działać.
Sprawdzam twój sposób jestem ciekaw czyndobrze zrozumiałem
Awatar użytkownika
Kryzz333

GF2019 - Zapowiedzi (zwycięstwo); GF2017 - Pełne Wersje (miejsce 1); GF2016 - Zapowiedzi (zwycięstwo); Golden Forki 2014 - Pełne Wersje (miejsce 2); Liga Mapperów Sezon VI (miejsce 3); Puchar Ligi Mapperów III (zwycięstwo)
Posty: 803
Rejestracja: 14 sie 2011, 16:39

Re: Rośliny resp

Post autor: Kryzz333 »

Możesz zrobić takie rozwiązanie, ale gracz będzie mógł po prostu parę razy wejść i wyjść z lokacji (bo 20 przejść to znowu o wiele za dużo!), aby dostać rośliny ponownie. No i nadal musiałbyś jakoś rozwiązać, aby to działało dla wielu roślin w danym miejscu.

Szczerze, to ta mechanika raczej nie jest aż tak bardzo warta zachodu. Możesz zrobić aby rośliny były jednorazowe i będzie dobrze, a nawet lepiej tak naprawdę. Albo jak pisałem, robić aby nowe rośliny pojawiały się wraz z fabułą :-)
W produkcji:
Obrazek
"To achieve great things, two things are needed; a plan, and not quite enough time" - Leonard Bernstein
Erigon
Posty: 4
Rejestracja: 18 sty 2022, 16:38

Re: Rośliny resp

Post autor: Erigon »

Właśnie sprawdzam twój sposób, chciałem żeby były jedno razowe. Ale boję się ze nie starczy roślin 🤣 plan był taki że mozna później większą ilość przerobić u alchemika na eliksiry za jakąś kasę mniejsza.
mac402
Posty: 54
Rejestracja: 27 lip 2008, 20:11

Re: Rośliny resp

Post autor: mac402 »

Na eventach można to zrobić "hurtowo" np. tak:

Kod: Zaznacz cały

- SCRIPT -
<> Wait: 60,0 sec.
<> Change Variable: [19] = 101
<> Loop
 <> Change Variable: [18] = V[V[19]]
 <> Fork Condition: If Variable [18] < 5 then ...
  <> Change Variable: [V[19]] += 1
  <>
 : End of fork
 <> Fork Condition: If Variable [19] == 200 then ...
  <> Break Loop
  <>
 : Else ...
  <> Change Variable: [19] += 1
  <>
 : End of fork
 <>
: End of loop
czyli robisz zdarzenie równoległe typu Common Event, które co minutę robi pętlę i sprawdza wszystkie zmienne odpowiedzialne za rośliny. Jeżeli zmienna jest mniejsza niż 5 to zwiększa ją o 1. Wybierasz sobie ile zmiennych poświęcisz na te roślinki (na tym przykładzie zmienne od 101 do 200, nie musisz wszystkich od razu wprowadzac do gry) i potem każdej kolejnej dajesz warunek w evencie na mapie, że musi być zmienna większa/równa w tym przypadku 5. W poleceniach zdarzenia na mapie dajesz, że +1 przedmiot i zmiana zmiennej na 0. I tyle. Rozbicie to na co minutę sprawi, że roślinka nie zrespawnuje się chwilę po zebraniu, a potrwa to 4-5 min. Oczywiście możesz zmodyfikować i dać tak, że pętla będzie wykonywana np. jeżeli zmieni się ID mapy ileś tam razy, ale zasada pozostaje ta sama.
ODPOWIEDZ