Zmiana statystyk wroga
Aktualny czas: 28-04-26, 23:52 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[XP] Zmiana statystyk wroga
Kaneki Offline
*


Liczba postów: 12
Dołączył: 07-02-15

Pomógł: 1



Post: #1
Zmiana statystyk wroga

Cześć, chciałem się zapytać czy jest możliwość zmiany statystyk wroga podczas gry, jeżeli taka istnieje to prosiłbym o wytłumaczenie jak to zrobić :)
07-02-15 17:21
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Venesard Offline
*


Liczba postów: 226
Dołączył: 07-11-14

Pomógł: 37



Post: #2
RE: Zmiana statystyk wroga

Chyba najprościej będzie stworzyć w bazie danych kilku identycznych przeciwników różniących się po prostu statystykami. Chyba że chodzi ci o zmianę statystyk w trakcie walki?

Sam nie wiem czy coś tworzę.
07-02-15 17:55
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Kaneki Offline
*


Liczba postów: 12
Dołączył: 07-02-15

Pomógł: 1



Post: #3
RE: Zmiana statystyk wroga

Dokładniej mówiąc chciałbym robić to na zdarzeniach:
tworzę jednego wroga w bazie danych, następnie ten sam wróg na jednej mapie ma przykładowo 100HP a na innej 200.
Myślę o tym czy możliwe jest na bieżąco modyfikowanie statystyk wroga.
07-02-15 18:04
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Avaron Offline
*


Liczba postów: 213
Dołączył: 27-10-14

Pomógł: 9



Post: #4
RE: Zmiana statystyk wroga

Nie jestem pewny aczkolwiek może to pomoże:
Tworzysz na mapie zdarzenie w jakimś niedostępnym miejscu, ustawiasz na równoległe zdarzenie
teraz w tym zdarzeniu bierzesz zmień HP (oczywiście przeciwnika) na 200, na innej mapie robisz to samo z tym że na 100.

I am the bone of my sword.
Steel is my body, and fire is my blood.
I have created over a thousand blades.
Unknown to death.
Nor known to life.
Have withstood pain to create many weapons.
Yet, those hands will never hold anything.
So as I pray, "Unlimited Blade Works."
08-02-15 01:21
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #5
RE: Zmiana statystyk wroga

Cytat:Tworzysz na mapie zdarzenie w jakimś niedostępnym miejscu, ustawiasz na równoległe zdarzenie
teraz w tym zdarzeniu bierzesz zmień HP (oczywiście przeciwnika) na 200, na innej mapie robisz to samo z tym że na 100.

To nie zadziała, Avaron. Wiesz, dlaczego? Polecenie zdarzenia "Zmień HP" zmienia tylko aktualny zapas energii, a nie jej limit. Poza tym standardowo klasa "Game_Battler" na w obiekcie funkcję "hp=(n)" napisaną tak, że jeśli ilość HP tego obiektu przekroczy wartość zwróconą przez funkcję "maxhp" tego obiektu, to automatycznie zresetuje ci na to, co zwóciła funkcja "maxhp".

Dlatego, jesli twoja rada MA zadziałać, to najpierw LIMIT, potem zapasy.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
08-02-15 13:45
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Avaron Offline
*


Liczba postów: 213
Dołączył: 27-10-14

Pomógł: 9



Post: #6
RE: Zmiana statystyk wroga

Mateusz tak więc tworzymy w bazie danych przeciwników mających np 1000hp a potem na mapie ustawiamy zdarzenie zmniejszenia hp o 800 wtedy przeciwnik będzie miał 200 hp a na innej mapie odejmij 700 to wtedy będzie miał 300

I am the bone of my sword.
Steel is my body, and fire is my blood.
I have created over a thousand blades.
Unknown to death.
Nor known to life.
Have withstood pain to create many weapons.
Yet, those hands will never hold anything.
So as I pray, "Unlimited Blade Works."
08-02-15 19:28
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Kaneki Offline
*


Liczba postów: 12
Dołączył: 07-02-15

Pomógł: 1



Post: #7
RE: Zmiana statystyk wroga

@Avaron
wiem że mam ustawić zdarzenie ale nie wiem co w nim :/

@Mateusz SSJ8
Wytłumaczył byś mi albo napisał w jaki sposób odjąć HP potworowi o ID1(w bazie danych)
polecenie zmiana HP potwora nie działa
08-02-15 19:43
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Venesard Offline
*


Liczba postów: 226
Dołączył: 07-11-14

Pomógł: 37



Post: #8
RE: Zmiana statystyk wroga

Kaneki, myślę ze mimo wszystko najprostszym sposobem będzie ten o którym pisałem, kilka identycznych potworów o różnych statystykach. To kwestia Ctrl+C i Ctrl+V w bazie danych z podmianą kilku wartości.

Sam nie wiem czy coś tworzę.
08-02-15 21:28
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #9
RE: Zmiana statystyk wroga

Cytat:Mateusz tak więc tworzymy w bazie danych przeciwników mających np 1000hp a potem na mapie ustawiamy zdarzenie zmniejszenia hp o 800 wtedy przeciwnik będzie miał 200 hp a na innej mapie odejmij 700 to wtedy będzie miał 300
Powiem ci, czemu to nie zadziała, Avaron. Polecenia zdarzenia "Zmień HP" i "Zmień SP" odnoszą się do zapasu energii, jaką postać, do której się odnoszą, dysponuje W TEJ CHWILI, a nie do tego, ile tej energii ma, kiedy jest całkowicie wypoczęta. Poza tym te odnoszące się do potwora mogą zostać użyte wyłącznie w walce. Na mapie nie będą działać.

Cytat:Wytłumaczył byś mi albo napisał w jaki sposób odjąć HP potworowi o ID1(w bazie danych)
polecenie zmiana HP potwora nie działa
I nie będzie działać, Kaneki, bo ta komenda jest dla walki, a ty jesteś na mapie. Musisz wykorzystać komendę zdarzenia "Wywołaj skrypt". W tym celu musisz przeanalizować uważnie skrypt wstawiający potwora na mapę. Jeśli potwór jest algorytmem, to już wszystko zepsułeś. Dobrą praktyką byłoby napisanie specjalnego modułu, klasy, albo obiektu, który przechowywałby wszystkie potwory z danej mapy. I dopiero, kiedy potwory już są, możesz próbować ustawić je zdarzeniami.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
08-02-15 22:18
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #10
RE: Zmiana statystyk wroga

Jeśli chcesz dodać każdemu przeciwnikowi HP, zależnie od ID mapy to możesz skorzystać z tego
class RPG::Enemy
  alias ayene_enemy_maxhp maxhp
  #--------------------------------------------------------------------------
  # * Enemy MaxHP
  #--------------------------------------------------------------------------
  def maxhp
    map_id = $game_map.map_id
    hp_plus = {
      # ID mapy => +HP
      1 => 100,
      2 => 200,
    }
    result = ayene_enemy_maxhp + (hp_plus.include?(map_id) ? hp_plus[map_id] : 0)
    return result.round
  end
end
Wewnątrz kodu masz tzw. hp_plus, któremu przyporządkuj wartości zależnie od ID mapy.
Jeśli potrzebujesz innej wariacji tego skryptu, np. aby dotyczył również wybranych stworów, nie dodawał a mnożył, itd. daj znać.

[Obrazek: aye_furniture_pres.png]
10-02-15 19:24
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a): Kaneki
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.