[TUTORIAL] Efekt Ulu-Mulu w G2NK 8455 16

O temacie

Autor TNTalib

Zaczęty 15.02.2015 roku

Wyświetleń 8455

Odpowiedzi 16

TNTalib

TNTalib

Użytkownicy
posty17
Propsy9
ProfesjaSkrypter
  • Użytkownicy

TNTalib

[TUTORIAL] Efekt Ulu-Mulu w G2NK
2015-02-15, 19:52(Ostatnia zmiana: 2015-10-22, 20:06)
Witam,
Jest to mój pierwszy tutorial, więc proszę o wyrozumiałość;) Na pewno myślał ktoś kiedyś o przeniesieniu Ulu-Mulu z pierwszego Gothica do Nocy Kruka. Broń ta powodowała, że kiedy mieliśmy ją założoną to orkowie nas nie atakowali. Właśnie to dzisiaj zrobimy.

1. Tworzymy broń.
Jak pewnie każdy się domyślił, najpierw musimy stworzyć zwykłą, podstawową broń;p Nie będę tego tłumaczył, jest wiele tutoriali jak robić broń.
 
Cytuj
INSTANCE LAGA_MOCY (C_Item)
{   
   name             =   "Laga Mocy"; 

   mainflag          =   ITEM_KAT_NF;
   flags             =   ITEM_AXE;   
   material          =   MAT_WOOD;

   value             =   1;

   damageTotal        =    1;
   damagetype          =   DAM_BLUNT;
   range             =     RANGE_BauMace;      

   cond_atr[2]         =   ATR_STRENGTH;
   cond_value[2]        =   1;
   visual             =   "ItMw_010_1h_Club_01.3DS";

   description         = name;
   TEXT[0]            = "Groźnie wyglądająca laga.";
   TEXT[1]            = "Orkowie i Wargi Ci nie podskoczą...";
   TEXT[2]            = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]          = NAME_Str_needed;            COUNT[3]   = cond_value[2];
   TEXT[4]          = NAME_OneHanded;
   TEXT[5]            = NAME_Value;               COUNT[5]   = value;
};

2. Wyszukujemy potrzebne informacje.
Chcemy uzyskać efekt, że orkowie i wargi nie będą nas atakować. Szukamy w plikach gry skryptów orków i warga. Znajdują się one w pliku
Cytuj
_Work\data\Scripts\Content\Story\NPC\Monster\MST_Warg.d
oraz pliki orków znajdują się w katalogu
Cytuj
_Work\data\Scripts\Content\Story\NPC\Orc
W przypadku orków interesuje nas zablokowanie całej gildii, czyli interesuje nas informacja
Cytuj
GIL_ORC
Jednak przeglądając pliki warga zauważamy, że ma on gildię
Cytuj
GIL_WOLF
Do tej gildii należą również wilki, lodowe wilki itd., więc blokada tej gildii powodowałaby również brak ataku ze strony tamtych zwierząt. Możemy też zauważyć coś takiego:
   
Cytuj
aivar[AIV_MM_REAL_ID]         =    ID_WARG;
Ten aivar definiuje tak jakby subgildię, precyzując, czy jest to zwykły wilk, czy warg. To jest druga interesująca nas informacja.

3. Edycja pliku B_MM_AssessEnemy.d, czyli powodujemy, że orkowie nas nie atakują.
Do pliku
Cytuj
B_MM_AssessEnemy.d
który znajduje się w katalogu
Cytuj
_Work\data\Scripts\Content\AI\Monster\B_Monster
dopisujemy na samym początku pod
Cytuj
func void B_MM_AssessEnemy ()
{
ten kod:
Cytuj
      var C_Item LAGA_MOCY_eqwep;
      var C_Item LAGA_MOCY_rdwep;
      LAGA_MOCY_eqwep = Npc_GetEquippedMeleeWeapon(hero);
      LAGA_MOCY_rdwep = Npc_GetReadiedWeapon(hero);
      if (Hlp_IsItem(LAGA_MOCY_eqwep, LAGA_MOCY) == TRUE) ||
      (Hlp_IsItem(LAGA_MOCY_rdwep, LAGA_MOCY) == TRUE) &&
      (self.guild == GIL_ORC) ||
      (self.aivar[AIV_MM_REAL_ID] == ID_WARG)
      {
         return;
      };

Pierwsze dwie linijki definiują zmienne. Dwie kolejne sprawdzają, czy nasza broń jest założona lub wyciągnięta i przypisują wyniki do zmiennych. Następnie mamy warunek mówiący, że jeśli nasza broń jest założona lub wyciągnięta i nasz przeciwnik ma gildię orka lub subgildię warga to przeciwnicy nie traktują nas jako wroga.

4. Edycja pliku B_Attack.d, czyli powodujemy, że nasi przyjaciele nie atakują orków.
Kiedy byliśmy sami - było OK, ale kiedy byliśmy prowadzeni przez jakiegoś NPC to on atakował orki, które po tym jak go zabiły, atakowały nas. Chcąc tego uniknąć musimy wprowadzić podobny do wcześniejszego warunek do pliku
Cytuj
B_Attack.d
znajdującego się w katalogu
Cytuj
_Work\data\Scripts\Content\AI\Human\B_Human
Znowu na samym początku pliku pod wpisem:
Cytuj
func void B_Attack (var C_NPC slf, var C_NPC oth, var int attack_reason, var int wait)
{
musimy wpisać:
Cytuj
      var C_Item LAGA_MOCY_eqwep;
      var C_Item LAGA_MOCY_rdwep;
      LAGA_MOCY_eqwep = Npc_GetEquippedMeleeWeapon(hero);
      LAGA_MOCY_rdwep = Npc_GetReadiedWeapon(hero);
      if (Hlp_IsItem(LAGA_MOCY_eqwep, LAGA_MOCY) == TRUE) ||
      (Hlp_IsItem(LAGA_MOCY_rdwep, LAGA_MOCY) == TRUE) &&
      (oth.guild == GIL_ORC) ||
      (oth.aivar[AIV_MM_REAL_ID] == ID_WARG)
      {
         return;
      };
Jest to dokładnie to samo, tylko zamiast self napisane jest oth. Chodzi o to, że patrząc oczami Bezia, w trakcie pojedynku to Bezio byłby other, a postać - self;) Teraz wystarczy zreparsować skrypty i mamy nasze "Ulu-Mulu";)
Kolorem zielonym zaznaczono miejsca, gdzie należy wpisać INSTANCE naszej broni.

Chciałem podziękować Bogdanowi Zwei za nakierowanie mnie, które pliki powinienem edytować, żeby to zadziałało;)

Wybaczcie momentami chaotyczne tłumaczenie, kiepski ze mnie nauczyciel;p

Tutorial kopiujcie ile wejdzie, ale proszę napisać, że pochodzi on z tego forum i że ja jestem autorem;)

Pozdrawiam, TNTalib
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Powinno się znajdować w ZS_MM_Attack, a nie w B_Attack. Nic nie daje, jak jest w B_Attack. Testowałeś to? Ja już przetestowałem, powinno być w LOOP funkcji ZS_MM_Attack (odpowiedzialna za zapętlenie ataku dla zwierząt i bestii - w skrócie funkcja ataku dla nieludzi).
Btw., w ZS_MM_Attack powinno być return LOOP_END;.

Sorki za chaotyczne rozpisanie, ale jestem po imprezie. :F
 
: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.

TNTalib

TNTalib

Użytkownicy
posty17
Propsy9
ProfesjaSkrypter
  • Użytkownicy
No pewnie, że testowałem i działa;) U mnie nie działało w tym pliku co mówiłeś;) Dwa dni się męczyłem w tym pliku i nic... W B_Attack.d jest dlatego, że to np. FaceHelper ma sprawdzać, czy może zaatakować i do tej funkcji jest odwołanie w ZS_Attack.d. Teraz ja jestem na imprezie, więc jak wrócę to zainstaluję świeżego Gothica i sprawdzę jeszcze raz, no ale to musi działać;p W międzyczasie proszę kogoś, żeby to jeszcze sprawdził, jeżeli może;)

[EDIT]
A przeczytałeś całe, czy tylko ten punkt, który podesłałem?;p Bo do B_MM_AssessEnemy.d też jest wpis bardzo podobny, a bez tego raczej słabo działa;p
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
No pewnie, że testowałem i działa;) U mnie nie działało w tym pliku co mówiłeś;) Dwa dni się męczyłem w tym pliku i nic... W B_Attack.d jest dlatego, że to np. FaceHelper ma sprawdzać, czy może zaatakować i do tej funkcji jest odwołanie w ZS_Attack.d. Teraz ja jestem na imprezie, więc jak wrócę to zainstaluję świeżego Gothica i sprawdzę jeszcze raz, no ale to musi działać;p W międzyczasie proszę kogoś, żeby to jeszcze sprawdził, jeżeli może;)

[EDIT]
A przeczytałeś całe, czy tylko ten punkt, który podesłałem?;p Bo do B_MM_AssessEnemy.d też jest wpis bardzo podobny, a bez tego raczej słabo działa;p

ZS_Attack jest dla gildii ludzkich, ZS_MM_Attack dla nieludzi, czyli zwierząt i bestii.
 
: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.

TNTalib

TNTalib

Użytkownicy
posty17
Propsy9
ProfesjaSkrypter
  • Użytkownicy
Hmm no właśnie o to chodzi;p Najpierw w B_MM_AssessEnemy.d deklaruję zwierzęciu, że człowiek nie stanowi zagrożenia, a potem w B_Attack.d, do którego jest odwołanie w ZS_Attack.d deklaruję CZŁOWIEKOWI jakim jest np. FaceHelper, żeby nie atakował zwierząt danego rodzaju. Ciężko zrobić odwołanie tak jak napisałeś najpierw z pętli ataku zwierzęcia, które odwołuje się do rozpoznania celu przez człowieka, które potem odwołuje się do tego, że człowiek widzi, że ma nie atakować;p Zrobiłem coś takiego, że FH i tak atakuje, orkowie go zabijają, a potem rzucają się na nas, ale jak w nas wycelują, to kończą pościg. To rozwiązanie jest strasznie zbugowane, bo czasem orkowie i tak nas uderzą, a zawsze dzieje się coś takiego, że jak staniesz koło FH to orkowie celują i tak w nas, jako domyślnie groźniejszego wroga i stoją(z dziwnie zapętlonymi klatkami animacji :D), a FH ich bezkarnie leje;/

[EDIT]
Nie no... Zainstalowałem czystego Gothica i działa bez zarzutu;) Może masz jakiegoś syfa w skryptach i dlatego ci nie działa? Albo to efekt wczorajszej imprezy :D :D :D
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
1. Załóż tę broń.
2. Przyzwij orka.
3. Przyzwij jakiegokolwiek NPC.
4. Jeśli ork go nie atakuje, albo obydwaj się ignorują, twój skrypt jest błędny.
U mnie wygląda to tak, że ork zabije NPC, a potem jest takie "Masz Ulu-mulu? Pff, ale mnie to interesuje...", po czym padam.

Mój skrypt działa tak, że orkowie zabijają co powinni, a jak ja jestem celem, ignorują mnie i kończą walkę. W tym ludzie też atakują orków. Nie ma czegoś takiego, że ork nie zaatakuje innego NPC, czy inni NPC go ignorują. Ork zachowuje się tak jak zawsze zachowywał. Tylko po chęci zaatakowania nas, nie atakuje, ani nie szykuje się do ataku, jest po prostu naszym przyjacielem.

Niech ktoś inny to przetestuje, bo jak u mnie nie działa, a nic nie robiłem w ów skryptach, tylko przekleiłem to, co ty tutaj masz i nie działa. Mój skrypt jest całkiem inaczej napisany i działa w większości jak chciałem.
 
: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.

TNTalib

TNTalib

Użytkownicy
posty17
Propsy9
ProfesjaSkrypter
  • Użytkownicy
No właśnie o to chodziło, że jeżeli ty idziesz z Ulu-Mulu to przyjaciel też nie jest bity przez orki;) To właśnie chciałem uzyskać;D
 

Vamper

Vamper

Użytkownicy
posty62
Propsy2
Profesjabrak
  • Użytkownicy
Przetestowałem to ulumulu. Orkowie i Wagry nie atakują. Ale jest jedna wada. Inne stwory (Polne Bestie,Trolle, Krwiopiceitd.) też cię nie atakują i po wyciągnięciu ulumulu do walki wtedy stwory atakują bohatera. To jest gupie bo bohater może sobie chodzić po mapie bez większych przeszkód. Co zrobić aby to tylko i wyłącznie działało na orki i wagry?
 

TNTalib

TNTalib

Użytkownicy
posty17
Propsy9
ProfesjaSkrypter
  • Użytkownicy
Jak pisałem skrypt to z tego co pamiętam sprawdzałem na kilku innych zwierzętach i one atakowały, ale to było dawno więc nie jestem pewny na 100% :D Może faktycznie cos spieprzyłem?... Sprawdzę to może dzisiaj wieczorem, albo jutro i dam znać, a jak będzie trzeba to spróbuję to naprawić. Tak czy inaczej, dzięki za info, postaram się to ogarnąć :D

[EDIT]
Sprawdziłem od razu, bo sam byłem ciekawy. Faktycznie, miałeś rację, skrypt jest zabugowany. Postaram się naprawić jak najszybciej. Debugowanie skryptu po roku - zawsze spoko :F

[EDIT2]
Naprawione, straszne głupoty zrobiłem :D Dodatkowo poprawiłem działanie, żeby broń działała tak jak Ulu-Mulu, czyli że przyjaciele atakują orki i wargi, po namyśle uważam, że tak jednak jest lepiej. Poniżej poprawiony tutorial, będzie tutaj, aż moderator (jeśli będzie taka możliwość) podmieni go z tym pierwszym.
 


Witam,
Jest to mój pierwszy tutorial, więc proszę o wyrozumiałość :) Na pewno myślał ktoś kiedyś o przeniesieniu Ulu-Mulu z pierwszego Gothica do Nocy Kruka. Broń ta powodowała, że kiedy mieliśmy ją założoną to orkowie nas nie atakowali. Właśnie to dzisiaj zrobimy.

1. Tworzymy broń.
Jak pewnie każdy się domyślił, najpierw musimy stworzyć zwykłą, podstawową broń :P Nie będę tego tłumaczył, jest wiele tutoriali jak robić broń.
 
Cytuj
INSTANCE LAGA_MOCY (C_Item)
{   
   name             =   "Laga Mocy"; 

   mainflag          =   ITEM_KAT_NF;
   flags             =   ITEM_AXE;   
   material          =   MAT_WOOD;

   value             =   1;

   damageTotal        =    1;
   damagetype          =   DAM_BLUNT;
   range             =     RANGE_BauMace;      

   cond_atr[2]         =   ATR_STRENGTH;
   cond_value[2]        =   1;
   visual             =   "ItMw_010_1h_Club_01.3DS";

   description         = name;
   TEXT[0]            = "Groźnie wyglądająca laga.";
   TEXT[1]            = "Orkowie i Wargi Ci nie podskoczą...";
   TEXT[2]            = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]          = NAME_Str_needed;            COUNT[3]   = cond_value[2];
   TEXT[4]          = NAME_OneHanded;
   TEXT[5]            = NAME_Value;               COUNT[5]   = value;
};

2. Wyszukujemy potrzebne informacje.
Chcemy uzyskać efekt, że orkowie i wargi nie będą nas atakować. Szukamy w plikach gry skryptów orków i warga. Znajdują się one w pliku
Cytuj
_Work\data\Scripts\Content\Story\NPC\Monster\MST_Warg.d
oraz pliki orków znajdują się w katalogu
Cytuj
_Work\data\Scripts\Content\Story\NPC\Orc
W przypadku orków interesuje nas zablokowanie całej gildii, czyli interesuje nas informacja
Cytuj
GIL_ORC
Jednak przeglądając pliki warga zauważamy, że ma on gildię
Cytuj
GIL_WOLF
Do tej gildii należą również wilki, lodowe wilki itd., więc blokada tej gildii powodowałaby również brak ataku ze strony tamtych zwierząt. Możemy też zauważyć coś takiego:
   
Cytuj
aivar[AIV_MM_REAL_ID]         =    ID_WARG;
Ten aivar definiuje tak jakby subgildię, precyzując, czy jest to zwykły wilk, czy warg. To jest druga interesująca nas informacja.

3. Edycja pliku B_MM_AssessEnemy.d, czyli powodujemy, że orkowie nas nie atakują.
Do pliku
Cytuj
B_MM_AssessEnemy.d
który znajduje się w katalogu
Cytuj
_Work\data\Scripts\Content\AI\Monster\B_Monster
dopisujemy na samym początku pod
Cytuj
func void B_MM_AssessEnemy ()
{
ten kod:
Cytuj
      var C_Item LAGA_MOCY_eqwep;
      LAGA_MOCY_eqwep = Npc_GetEquippedMeleeWeapon(hero);
      if (Hlp_IsItem(LAGA_MOCY_eqwep, LAGA_MOCY) == TRUE) && ((self.guild == GIL_ORC) || (self.aivar[AIV_MM_REAL_ID] == ID_WARG))
      {
            return;
      };

Pierwsza linijka definiuje zmienną. Kolejna sprawdza, czy nasza broń jest założona i przypisuje wynik do zmiennej. Następnie mamy warunek mówiący, że jeśli nasza broń jest założona i nasz przeciwnik ma gildię orka lub subgildię warga to przeciwnicy o podanych gildiach nie traktują nas jako wroga.

4. Edycja pliku ZS_MM_Attack.d, czyli powodujemy, że orkowie nie zabijają nas w przypadku zaatakowania ich przez naszego przyjaciela.
Kiedy byliśmy sami - było OK, ale kiedy byliśmy prowadzeni przez jakiegoś NPC to on atakował orki, które po tym jak go zabiły, atakowały nas. Chcąc tego uniknąć musimy wprowadzić warunek do pliku
Cytuj
ZS_MM_Attack.d
znajdującego się w katalogu
Cytuj
_Work\data\Scripts\Content\AI\Monster\ZS_Monster
Pod wpisem:
Cytuj
func int ZS_MM_Attack_Loop ()
{

   Npc_GetTarget (self); // other = target
musimy wpisać:
Cytuj
   var C_Item LAGA_MOCY_eqwep;
   LAGA_MOCY_eqwep = Npc_GetEquippedMeleeWeapon(hero);
   if (Hlp_GetInstanceID (other) == PC_HERO) && (Hlp_IsItem(LAGA_MOCY_eqwep, LAGA_MOCY) == TRUE) && ((self.guild == GIL_ORC) || (self.aivar[AIV_MM_REAL_ID] == ID_WARG))
   {
         Npc_ClearAIQueue(self);
         AI_StandUp      (self);
         AI_TurnToNpc   (self, hero);
         AI_PlayAni      (self, "T_WARN");
         self.aivar[AIV_PursuitEnd] = TRUE;
         return LOOP_END;
   };
Tak samo jak wcześniej, pierwsza linijka definiuje zmienną, druga sprawdza, czy mamy założoną naszą lagę i przypisuje wynik do zmiennej. Następnie mamy warunek, który mówi, że jeśli kod INSTANCE człowieka, którego chce zaatakować ork to PC_HERO (kod Bezimiennego) i mamy założoną naszą broń oraz gildia przeciwnika to ork lub warg to wtedy czyścimy kolejkę czynności, które miał zaplanowane przeciwnik, mówimy potworowi, żeby wstał, powodujemy, że przeciwnik obróci się w naszą stronę, wykona animację ostrzeżenia, mówimy mu, że pościg za nami się skończył i przeskakujemy do końca pętli. Opis tego warunku to chyba najdłuższe zdanie jakie było mi dane napisać :F Teraz wystarczy zreparsować skrypty i mamy nasze "Ulu-Mulu" :)
Kolorem zielonym zaznaczono miejsca, gdzie należy wpisać INSTANCE naszej broni.

Chciałem podziękować Bogdanowi Zwei za nakierowanie mnie, które pliki powinienem edytować, żeby to zadziałało oraz Vamperowi za znalezienie buga :D

Wybaczcie momentami chaotyczne tłumaczenie, kiepski ze mnie nauczyciel :P

Tutorial kopiujcie ile wejdzie, ale proszę napisać, że pochodzi on z tego forum i że ja jestem autorem :)

Pozdrawiam, TNTalib

[TUTORIAL POPRAWIONY 05.03.2016]
 

karaczanowy

karaczanowy

Użytkownicy
posty10
Profesjabrak
  • Użytkownicy
jak zrobić, że zamiast broni dać np. amulet ?
 

Halicor

Halicor

Użytkownicy
Hauptsturmfuhrer
posty365
Propsy57
ProfesjaNierób
  • Użytkownicy
  • Hauptsturmfuhrer
Prześledź uważnie skrypt, powinieneś sam się domyślić jak to zrobić.

R4zor

R4zor

Użytkownicy
posty456
Propsy141
ProfesjaGracz
  • Użytkownicy
jak zrobić, że zamiast broni dać np. amulet ?
Analogicznie do powyższego tutka dotyczącego broni, tylko w miejscach "LAGA_MOCY" wpisać ten twój amulet :).
Edit:

Nie da się w żaden sposób sprawdzić, czy npc ma założony amulet, pierścień czy pas.
@Bogdan Zwei, tego sam nie wiedziałem XD

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Musiałbyś dodać do amuletu zmienną, która się będzie wypełniała po założeniu i podczas gdy zmienna wynosi 1 (jest true) to orkowie nie atakują. Najlepiej byłoby ustawienie aivara, przez co skrypt działałby tylko na postać, która to założy (jeśli dasz zmienną globalną to będzie to działało dla wszystkich). Amulety, jak i pierścienie czy pasy, są przedmiotami, których, teoretycznie, nie zakładamy. Nie da się w żaden sposób sprawdzić, czy npc ma założony amulet, pierścień czy pas.
 
: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.

karaczanowy

karaczanowy

Użytkownicy
posty10
Profesjabrak
  • Użytkownicy
 

Lester777

Lester777

Użytkownicy
posty5
Profesjabrak
  • Użytkownicy
Działa, ale nie do końca. Kto wie, co zrobić, żeby to działało jak się ma broń wyciągniętą ? Bo jak mam schowaną, to jest ok, a kiedy wyciągam to orkowie i wargi mnie atakują. Jak z powrotem chowam, to przestają mnie gonić.
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
 
Cytuj
var C_Item LAGA_MOCY_eqwep;
LAGA_MOCY_eqwep = Npc_GetEquippedMeleeWeapon(hero);
var C_Item LAGA_MOCY_eqwep2;
LAGA_MOCY_eqwep2 = Npc_GetReadiedWeapon(hero);

if (Hlp_GetInstanceID (other) == PC_HERO) && (Hlp_IsItem(LAGA_MOCY_eqwep, LAGA_MOCY) == TRUE) && ((self.guild == GIL_ORC) || (self.aivar[AIV_MM_REAL_ID] == ID_WARG))
|| (Hlp_GetInstanceID (other) == PC_HERO) && (Hlp_IsItem(LAGA_MOCY_eqwep2, LAGA_MOCY) == TRUE) && ((self.guild == GIL_ORC) || (self.aivar[AIV_MM_REAL_ID] == ID_WARG))

Powinno to wyglądać tak, jeśli chcesz żeby działało także z wyciągniętą. Nie chciało mi się tego szlifować, żeby nie powtarzać kodu, więc jeśli chcesz, zrób to sam.
 
: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.

Lester777

Lester777

Użytkownicy
posty5
Profesjabrak
  • Użytkownicy
Dzięki, działa!
 


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