Uciekanie przed potworami 4986 13

O temacie

Autor Iuppiter

Zaczęty 6.01.2015 roku

Wyświetleń 4986

Odpowiedzi 13

Iuppiter

Iuppiter

Użytkownicy
posty19
Profesjabrak
  • Użytkownicy
Witam!
W jaki sposób mogę zrobić tak, aby stworzony przeze mnie NPC (gildii Nekromanta) nie uciekał na widok trolla, ale z nim walczył?

Z góry dziękuję za pomoc.
 

Sier4a

Sier4a

Użytkownicy
posty34
Propsy36
ProfesjaGrafik 3D
  • Użytkownicy
Daj trollowi inną gildie np wilka albo swojemu NPC :) powinno pomóc
 
Zapomniana Droga - Oficjalna strona modyfikacji
http://zapomnianadroga.cba.pl/

Maciej

Maciej

Użytkownicy
posty3689
Propsy1006
ProfesjaGracz
  • Zbanowany
Daj trollowi inną gildie np wilka albo swojemu NPC :) powinno pomóc

Nie. Uciekanie zależy od lvl postaci i potwora.
 

Iuppiter

Iuppiter

Użytkownicy
posty19
Profesjabrak
  • Użytkownicy
A więc jaki musi być stosunek lvli, aby postać nie uciekała?
1:1?
 

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
A więc jaki musi być stosunek lvli, aby postać nie uciekała?
1:1?
Ustaw wyższy dla pewności. Już nie pamiętam, jak to było w G1.
 
Lieb Vaterland magst ruhig sein

Góral Żywiec

Góral Żywiec

Użytkownicy
Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
posty153
Propsy42
Profesjabrak
  • Użytkownicy
  • Krew odporna na mrozy,chłody,wiatry i lód "Błkitna krew"
Musi być większy NPC Diego ma LVL 9999 i dal tego nie uciekał w misi z kanionem troli
 

A.K.

A.K.

Użytkownicy
posty156
Propsy163
Profesjabrak
  • Użytkownicy
Chyba więcej niż 2:1 + warunki specjalne dla określonych gildii/typów postaci

Cytuj
func int C_AmIStronger (var C_Npc slf, var C_Npc oth)
{
PrintDebugNpc (PD_ZS_DETAIL, "C_AmIStronger" );

if ((2*slf.level) > oth.level)
{
PrintDebugNpc (PD_ZS_DETAIL, "...yes" );
return TRUE;
}
else
{
PrintDebugNpc (PD_ZS_DETAIL, "...no" );
return FALSE;
};
};


Myślę że zadziałałaby też w ZS_AssessMonster zmiana warunku:if (C_AmIStronger (self, other))
{
PrintDebugNpc (PD_ZS_CHECK, " ...aber trotzdem stärker als das Monster!");
B_FullStop (self);
B_DrawWeapon (self, other);
return;
}
else
{
PrintDebugNpc (PD_ZS_CHECK, " ...und noch dazu schwächer als das Monster!");
B_FullStop (self);
B_WhirlAround (self, other);
Npc_SetTarget (self, other);
B_SayOverlay (self, NULL, "$ShitWhatAMonster");

Npc_GetTarget ( self);
AI_StartState (self, ZS_Flee, 0, "");
};

na:if ((C_AmIStronger (self, other))
||(Hlp_GetInstanceID(self)==Hlp_GetInstanceID(TEN_NEKROMANTA))) //sprawdza, czy postać nie jest tym gościem od trolla
{
PrintDebugNpc (PD_ZS_CHECK, " ...aber trotzdem stärker als das Monster!");
B_FullStop (self);
B_DrawWeapon (self, other);
return;
}
else
{
PrintDebugNpc (PD_ZS_CHECK, " ...und noch dazu schwächer als das Monster!");
B_FullStop (self);
B_WhirlAround (self, other);
Npc_SetTarget (self, other);
B_SayOverlay (self, NULL, "$ShitWhatAMonster");

Npc_GetTarget ( self);
AI_StartState (self, ZS_Flee, 0, "");
};
, co doda tą konkretną postać jako wyjątek, albo w C_NpcIsBoss (plik C_Functions) dodanie ||(slf.guild == GIL_DMB)do if ((slf.guild == GIL_EBR) ||
(slf.guild == GIL_KDF) ||
(slf.guild == GIL_KDW) ||
(slf.guild == GIL_GUR))
, w ten sposób:if ((slf.guild == GIL_EBR) ||
(slf.guild == GIL_KDF) ||
(slf.guild == GIL_KDW) ||
(slf.guild == GIL_GUR) ||
(slf.guild == GIL_DMB))
, gdzie wykluczymy całą gildię "Nekromanta", ale nie sprawdzałem tego.
 

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!
Z tego co pamiętam, zakładając, że troll ma 40 lv, npc musi mieć co najmniej 41
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Albo zamiast bawić się, to zmień mu fight_tactic jeśli ma coward.
Cytuj
Z tego co pamiętam, zakładając, że troll ma 40 lv, npc musi mieć co najmniej 41
Level npc musi być większy od połowy levela potwora.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Albo zamiast bawić się, to zmień mu fight_tactic jeśli ma coward.
To nie odpowiada za "odwagę" npc. To odpowiada na zachowanie w czasie walki (czy będzie biegał w bok, jak często blokował, czy będzie wyprowadzał serie ataków etc.)
 
Lieb Vaterland magst ruhig sein

A.K.

A.K.

Użytkownicy
posty156
Propsy163
Profesjabrak
  • Użytkownicy

A.K.

Uciekanie przed potworami
#10 2015-01-07, 19:02(Ostatnia zmiana: 2015-01-07, 19:08)
Level npc musi być większy od połowy levela potwora.
Rzeczywiście, mój błąd. Nie więcej niż 2:1, tylko więcej niż 1:2. Dzięki. :)
 

Iuppiter

Iuppiter

Użytkownicy
posty19
Profesjabrak
  • Użytkownicy
Dziękuję za pomoc!:)
 

Maciej

Maciej

Użytkownicy
posty3689
Propsy1006
ProfesjaGracz
  • Zbanowany
Level npc musi być większy od połowy levela potwora.

Przecież w g1 nie ma połówek lvl  :|
No chyba że chodziło o to, że lvl musi być równy lub większy niż potwora  :hmmm:
 

A.K.

A.K.

Użytkownicy
posty156
Propsy163
Profesjabrak
  • Użytkownicy

A.K.

Uciekanie przed potworami
#13 2015-01-07, 22:10(Ostatnia zmiana: 2015-01-07, 22:27)
Chodzi o to, że jeśli podwoimy poziom postaci, będzie on większy niż obecny poziom potwora.

if ((2*slf.level) > oth.level)
To znaczy:
Jeśli BN ma poziom 8, a potwór 15, wtedy:

8*2=16
16>15

więc warunek jest spełniony dla poziomów:
postaci=8
potwora=15

A jeśli BN będzie na 7 poziomie:

7*2=14
14<15

czyli warunek nie jest spełniony (14 nie jest większe od 15)

To, o czym mówi chicken:

8>(15/2); 8>7,5
7<(15/2); 7<7,5
 


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