[G2 NK] Podpalanie przeciwników czarem 1755 2

O temacie

Autor Khantor

Zaczęty 10.08.2016 roku

Wyświetleń 1755

Odpowiedzi 2

Khantor

Khantor

Użytkownicy
posty59
Propsy12
Profesjabrak
  • Użytkownicy
Witam.

Chciałem zbalansować nieco czary w Gothicu i wprowadzić opcję, że po użyciu czarów magii ognia (jeśli przeciwnik ma odpowiednio niską obronę przed magią) jest on podpalany i np. przez 5 sekund podpalenie zadaje mu "x" pkt obrażeń (te już niezależnie od obrony).
W tym celu przez pare dni kombinowałem, na początek chciałem po prostu zmienić typ obrażeń tych czarów z "DAM_MAGIC" na "DAM_FIRE", ale z tego co widzę to obrażenia od ognia są niejako "przypisane" do smoków i ognistych jaszczurów i takie płonięcie zadaje stałe 50 pkt obrażeń. Nie mam pojęcia jak to zmienić ani w ogole czy się da to tak prosto zrobić więc zacząłem kombinować inaczej.
Przerobiłem plik ZS_MagicFreeze tak, żeby zadawać obrażenia po użyciu np. ognistej strzały (dodałem oczywiście odpowiednie stałe (obrażenia na sekundę i czas trwania) w pliku odpowiadającym za wspomnianą ognistą strzałę, dodałem też efekt dla ognistej strzały w pliku "B_AssesMagic"), innym razem "aktywowałem" gotowy już plik "ZS_MagicBurn" i wszystko nawet działa, obrażenia od podpalenia są naliczane przez te 5 sekund, z tym, że podczas podpalenia i naliczania obrażeń przeciwnik zamiera w miejscu.

To jest problem którego przeskoczyć nijak nie mogę, w jaki sposób mogę wprowadzić to nieszczęsne podpalenie w taki sposób, żeby przeciwnik nie zamierał w miejscu (coś na kształt podpalenia przez ognistego jaszczura tylko najlepiej od magii a nie od ognia)? Może pliki ZS_ po prostu mają "wbudowane" w sobie zamieranie w miejscu? Mam coś poprawić w plikach ZS_, czy sposobu należy szukać zupełnie gdzie indziej? A może da się edytować to gotowe podpalenie (np. ogniste jaszczury) zmieniając jego obrażenia, typ obrażeń i czas trwania w zależności od użycia czaru?

Pozdrawiam i proszę o pomoc...  ;(
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Do tego potrzebujesz Ikarusa i LeGo i najlepiej poczekać do nowej aktualizacji na pakiet Buff.d. Obrażenia czasowe są w silniku. Pliki ZS_MagicFreeze itp. służą do blokowania npc i wywoływania czegoś przez dany okres czasu.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

WayneBlack

WayneBlack

Użytkownicy
posty30
Propsy6
ProfesjaSkrypter
  • Użytkownicy
Mam nadzieję, że z tej odpowiedzi ktoś skorzysta, chociaż długo nikt nic nie pisał tutaj. No nic, pomogę:

najlepiej jest ustawić tylko obrażenia "DAM_FIRE" czarom, które mają być ogniste, bo łatwiej jest wtedy zbalansować obronę przed magią i przed ogniem. Teraz, by zmienić te obrażenia z podpalenia, wchodzisz do content/_intern i odpalasz plik "constants", a w nim szukasz linijki:
CONST INT NPC_BURN_DAMAGE_POINTS_PER_INTERVALLTo ona podaje, ile obrażeń co ile czasu zadaje podpalenie. Podstawowo ta linijka kończy się "= 50" - czyli te nasze magiczne 50 obrażeń co sekundę. Ja to ustawiłem na 10, ale trzeba pamiętać, że każdy punkt obrony przed ogniem to 1 punkt obrażeń mniej otrzymywanych od ognia. Więc wszelkie pancerze, amulety, pierścienie, pasy, które dają postaci ochronę przed ogniem mogą łatwo zniwelować tę wartość. Dlatego dobrze jest pobawić się właśnie jednocześnie wszystkimi wartościami obronnymi - nie tylko przedmiotów, ale i potworów. Pamiętaj, że potwory z wczytanego zapisu będą miały stare statystyki, dopiero zaczęcie nowej gry wczyta świat ze stworami (ogólnie NPC) o wpisanych im bazowych w skryptach statystykach.

Nad podaną przeze mnie linijką jest jeszcze jedna, która określa, co ile czasu jest "tyknięcie" obrażeń:
CONST INT NPC_BURN_TICKS_PER_DAMAGE_POINTi podstawowo podane jest "= 1000" - czyli co sekundę. To też możesz zmienić, np. "= 500" będzie oznaczało zadawanie obrażeń od ognia co pół sekundy itd.
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry