Broń do zabicia wybranego NPC i efekty. 1735 4

O temacie

Autor Anonimus14

Zaczęty 21.08.2018 roku

Wyświetleń 1735

Odpowiedzi 4

Anonimus14

Anonimus14

Użytkownicy
posty92
Propsy82
Profesjabrak
  • Użytkownicy
Cześć, chciałbym w swoim modzie dodać broń i tylko tą bronią mógłbym zabić wybranego przeze mnie NPC (to ma być boss). Oczywiście na potwory i na innych NPC też by działała ale boss mógłby paść tylko od niej. No i chciałbym też jakieś efekty podczas atakowania.

Ma to wyglądać tak jak tutaj.
https://youtu.be/SVpfa8sThGk?t=3m29s

Z góry dzięki za pomoc
 

Cruc

Cruc

Użytkownicy
posty667
Propsy236
Profesjabrak
  • Użytkownicy
Pomysłów jest wiele. Podam jeden z prostszych.

1. Piszesz sobie funkcję zadającą obrażenia na wzór: _Work\Data\Scripts\Content\Story\B_Content\B_BeliarsWeaponSpecialDamage.d
2. Podpinasz to do funkcji B_AssessDamage. Po prostu ją tam wywołujesz tak samo jak B_BeliarsWeaponSpecialDamage.

3. No i w sumie to tyle xD

Tak naprawdę to kwestia logiki. W samej funkcji musisz dać warunek, za pomocą którego sprawdzisz, czy dany NPC jest tym, którego potrzebujesz np. poprzez funkcję Hlp_GetNpc, albo od biedy sprawdzając czy jego id się zgadza.
Samego NPCa możesz uczynić nieśmiertelnym i za pomocą funkcji zmniejszać mu HP przy trafieniu, albo może być śmiertelny, a przy traceniu HP sprawdzana byłaby broń atakującego i w razie czego HP może być ponownie przywracane na MAX... No sposób jest wiele. Ważne, żeby logicznie wszystko się zgadzało.
 
while (!success) try{...}

Najlepszy modder od gothic multiplayer - polecam pytać go o wszystko!

Anonimus14

Anonimus14

Użytkownicy
posty92
Propsy82
Profesjabrak
  • Użytkownicy
Zrobiłem tak jak pisałeś ale skrypt wolałem wziąć z neta, ten w tym pliku był dla mnie niezrozumiały, nie mogłem zrozumieć jak jest on "podpięty" pod moją broń. Ale najważniejsze, że działa chociaż miałbym jeszcze parę pytań.

1. Rozumiem, że linijka Hlp_Random (100); odpowiada za wylosowanie jakiejś liczby od 0 do 100, tak? Chcę zrobić taki bajer, że gdy wylosuje się liczba mniejsza niż 5 to zespawnuje obok mnie przeciwnika (dam tutaj jakiś punkt w miejscu walki), żeby walka była nieco trudniejsza. Będzie się to dało zrobić Wld_InsertNpc? Wiem, że mógłbym sprawdzić ale tego momentu jeszcze nie mam zrobionego a chciałbym juz wiedzieć czy będę miał jakieś problemy czy nie XD

2. Co do ranienia bossa to myślę że lepiej bedzie użyć sposobu drugiego czyli jeśli będzie to inna broń niż wpisana, to ma przywracać HP. Jak to zrobić no i czy oba te punkty da się zrobić w tym warunku? Ten kod pochodzi z tego skryptu na efekty
if (slf.id == 1103)
{
Wld_PlayEffect("spellFX_Skull", slf, slf, 1, 1, 1, FALSE );
B_MagicHurtNpc (slf, slf, obrazenia);

Wld_PlayEffect("spellFX_MassDeath", slf, slf, 1, 1, 1, FALSE );
B_MagicHurtNpc (slf, slf, obrazenia);

};
 

Cruc

Cruc

Użytkownicy
posty667
Propsy236
Profesjabrak
  • Użytkownicy
1. Tak. Hlp_Random służy do losowania liczb. I tak. Nie ma problemu z Wld_InsertNpc. Co tam wsadzisz to tam będzie.

2. Do pobierania itemu NPCa służy Npc_GetReadiedWeapon, a porównanie odbywa się poprzez Hlp_IsItem.
HP możesz przywracać poprzez linijkę slf.attribute[ATR_HITPOINTS] = slf.attribute[ATR_HITPOINTS_MAX].
 
while (!success) try{...}

Najlepszy modder od gothic multiplayer - polecam pytać go o wszystko!

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
1. Losuje liczbę od 0 do 99. 100 to liczba sto pierwsza.
 
: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.


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