Aktualnie pracujemy nad:
Zadaniami pobocznymi do modyfikacji Bandyta
Obecnie taki miecz runiczny mo¿na dostaæ prawie wszêdzie, poka¿e wam jak takie co¶ zrobiæ, krok po kroku.
Przechodzimy do folderu:
x:\Program Files\JoWood\Gothic II\_Work\data\Scripts\Content\AI\Human\B_Human otwieramy
B_AssessDamage
I robimy taki skrypt
w 7-mej linijce od góry
func void B_runiczny (var C_NPC oth, var C_NPC slf) { if (Hlp_GetInstanceID(oth) == Hlp_GetInstanceID(hero)) { var C_ITEM ready; var int randomdmg; var int procent_trafienia; var int obrazenia; ready = Npc_GetReadiedWeapon(hero); randomdmg = Hlp_Random (80); procent_trafienia = 50; obrazenia = 50; if (Npc_HasItems(hero, ItMw_2H_Special_04) == TRUE && Hlp_IsItem(ready, ItMw_2H_Special_04) == TRUE) && (randomdmg <= procent_trafienia) { if (slf.flags != NPC_FLAG_IMMORTAL) { Wld_PlayEffect("spellFX_Sleep_TARGET", slf, slf, 0, 0, 0, FALSE ); B_MagicHurtNpc (slf, slf, obrazenia); AI_PlayAniBS (self, "T_STAND_2_VICTIM_SLE", BS_LIE ); }; Wld_PlayEffect("spellFX_Sleep_ORIGIN", hero, hero, 0, 0, 0, FALSE ); }; if (Npc_HasItems(hero, ItMw_2H_Special_04) == TRUE && Hlp_IsItem(ready, ItMw_2H_Special_04) == TRUE) && (randomdmg <= procent_trafienia) { Wld_PlayEffect("spellFX_Sleep_ORIGIN", hero, hero, 0, 0, 0, FALSE ); }; }; };
Nstêpnie trche ni¿ej zaraz pod
B_BeliarsWeaponSpecialDamage (other, self);
piszemy:
B_runiczny (other, self);
Zrobili¶my miecz który usypia, ale dzia³a to tylko na ludziach,
aby czar dzia³a³ na potwory wchodzimy do tego folderu
x:\Program Files\JoWood\Gothic II\_Work\data\Scripts\Content\AI\Monster\B_Monster
i otwieramy
B_MM_AssessDamage.D
i podobnie jak przedtem zaraz pod
B_BeliarsWeaponSpecialDamage (other, self);
wklejamy skrypt naszego miecza
czyli w moim przypadku
B_runiczny (other, self);
Poni¿ej jest dok³adnie wyt³umaczone znaczenie ka¿dej z tych linijek:
func void B_runiczny (var C_NPC oth, var C_NPC slf)- co tu du¿o mówiæ, to po prostu nowa funkcja, niezbêdna, dzia³a tylko z npc-tami
if (Hlp_GetInstanceID(oth) == Hlp_GetInstanceID(hero))
{
var C_ITEM ready;
var int randomdmg;
var int procent_trafienia;
var int obrazenia;
pisze tam przy jaki npc-ecie (w tym przypadku bezii) bêdzie dzia³a³ miecz runiczny
wszystkie linijki z var... co¶ tam s± ni¿ej maj± ustawione wspó³czynniki dla miecza
ready = Npc_GetReadiedWeapon(hero);
randomdmg = Hlp_Random (80);
procent_trafienia = 50;
obrazenia = 50;
tutaj s± wypisane warto¶ci wszystkie dla tego miecza, czyli kiedy procent trafienia bêdzie wynosi³ 50, miecz wyzwoli czar i odejmie celowi 50 punktw ¿ycia
if (Npc_HasItems(hero, ItMw_2H_Special_04) == TRUE && Hlp_IsItem(ready, ItMw_2H_Special_04) == TRUE)
&& (randomdmg <= procent_trafienia)
z jakim mieczem ma dzia³aæ czar, nie bêde sie tu rozpisywa³, po prostu to jest wa¿ne, tak samo jak ni¿ej
if (slf.flags != NPC_FLAG_IMMORTAL)
na kogo miecz ma dzia³aæ, ew. tutaj mo¿na ddodaæ wyj±tki
Wld_PlayEffect("spellFX_Sleep_TARGET", slf, slf, 0, 0, 0, FALSE );
B_MagicHurtNpc (slf, slf, obrazenia);
efekt który siê wyzwala, czyli efekt snu
AI_PlayAniBS (self, "T_STAND_2_VICTIM_SLE", BS_LIE );
animacja, czyli co siê stanie z trafionym celem (tutaj u¶nie)
Lesterek17-Oczy¶ci³em temat.
Ostatnio edytowany przez Szymek1994s (2010-03-09 20:38:12)
Offline