Walczą jak zieloni 6358 17

O temacie

Autor SabeMiczu

Zaczęty 17.08.2014 roku

Wyświetleń 6358

Odpowiedzi 17

SabeMiczu

SabeMiczu

Użytkownicy
posty52
Profesjabrak
  • Użytkownicy
Siemka. Mam problem zmienilem bron dla lee i jak podchodze do niego i go zaatakuje to wyciaga bron i walczy jak zielony. A ma mistrza... Tak jest z każdym. Co zrobić? Jeżeli potrzebujecie lepszego info to mowcie znacie moje wytlumaczenie.
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Zapisz i wczytaj.
 
: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.

SabeMiczu

SabeMiczu

Użytkownicy
posty52
Profesjabrak
  • Użytkownicy
Spróbuje, jakieś inne sugestie? Zrobię od razu wszystkie bo pisze z telefonu.
 

Taliasan

Taliasan

Użytkownicy
posty378
Propsy171
Profesjabrak
  • Użytkownicy
Możesz w skrypcie danej postaci która ma walczyć jak mistrz ustawić:
fight_tactic = FAI_HUMAN_MASTER;
 

SabeMiczu

SabeMiczu

Użytkownicy
posty52
Profesjabrak
  • Użytkownicy
Zobacze moze zadziala ale mnie sie nie chce przekladac wszystkiego jak zadziala xd
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio

chicken
RaveN Studio

Walczą jak zieloni
#5 2014-08-17, 11:47(Ostatnia zmiana: 2014-08-17, 11:57)
Możesz w skrypcie danej postaci która ma walczyć jak mistrz ustawić:
fight_tactic = FAI_HUMAN_MASTER;
To nie ma nic wspólnego z problemem..
Ogólnie to ten błąd jest dosyć dziwny i częsty. Mimo, że skrypty są poprawnie, to u mnie tak samo jest.
Możesz każdemu osobno dać, ale to żmudne. Np.

Mdl_ApplyOverlayMds   (self, "Humans_2hst2.mds");

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Możesz też tak jak napisał Chicken, ale jak nie chcesz do każdej jednej postaci tego wpisywać, to zrób tak w B_SetAttributesToChapter():

if (slf.HitChance[NPC_TALENT_2H] > 30) && (slf.HitChance[NPC_TALENT_2H] < 60)
{
     Mdl_ApplyOverlayMds   (self, "Humans_2hst1.mds");
}
else if (slf.HitChance[NPC_TALENT_2H] > 60)
{
     Mdl_ApplyOverlayMds   (self, "Humans_2hst2.mds");
};
dodajesz to zaraz przed
Cytuj
// ------ XP für NSCs ------
 
: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.

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič

Mark56
Moderator

Walczą jak zieloni
#7 2014-08-17, 18:46(Ostatnia zmiana: 2014-08-17, 18:57)
Nie wiem co wy tutaj kombinujecie ale mam takie wrażenie ze jedyne co trzeba jest to

Npc_SetTalentSkill (self, NPC_TALENT_1H,2);1 oznacza adept , 2 oznacza mistrz
co do magii to tam dodaje się liczba kręgu magicznego

talenty dla g1
const int NPC_TALENT_1H = 1;
const int NPC_TALENT_2H = 2;
const int NPC_TALENT_BOW = 3;
const int NPC_TALENT_CROSSBOW = 4;
const int NPC_TALENT_PICKLOCK = 5;
const int NPC_TALENT_PICKPOCKET = 6;
const int NPC_TALENT_MAGE = 7;
 


Draks

Draks

Użytkownicy
Gothic 2 Nowy porządek
posty1715
Propsy766
ProfesjaGrafik 3D
  • Użytkownicy
  • Gothic 2 Nowy porządek
albo wpisz w konsoli pod F2 apply overmadns Humans_2hst2
 

A.K.

A.K.

Użytkownicy
posty156
Propsy163
Profesjabrak
  • Użytkownicy

A.K.

Walczą jak zieloni
#9 2014-08-17, 20:25(Ostatnia zmiana: 2014-08-17, 21:02)
Nie wiem co wy tutaj kombinujecie
Chyba lepiej wiesz, że wymuszają nałożenie animacji. To daje efekt już po pierwszym uruchomieniu, ale na ile jest poprawne - nie mam pojęcia.
Cytuj
Npc_SetTalentSkill (self, NPC_TALENT_1H,2);
Ta funkcja jest zawarta w B_SetFightSkills i działa dopiero po wczytaniu.
____________________________________________________________
EDYTOWANE
Aj... Nie zauważyłem, że piszesz o G1, a w jedynce nie ma B_SetFightSkills. Jak tam jest z Npc_SetTalentSkill po rozpoczęciu nowej gry, to nie wiem.
____________________________________________________________

w konsoli pod F2
Ale to działa tylko, jeśli chce kręcić z tego filmy.
 

SabeMiczu

SabeMiczu

Użytkownicy
posty52
Profesjabrak
  • Użytkownicy
Rozumiem  jak bedzie dzialac to robie t mudna robote na postaciach albo popatrze jeszcze xd a w skrypcie postaci mam obojetnie gdzie to wpisac tak?
 

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
Ja popatrzyłem na skrypty postaci G1 , co go G2 nie mogę nic powiedzieć bo mam tylko czyste skrypty. Dam ci dobra rade jak coś nie wiesz to pomyśl czy coś takiego nie było w oryginale i poszukaj tego. Sprawdź co maja wpisane paladyni bo oni na pewno maja mistrzowski poziom z mieczami.
 


chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
B_SetFightSkills (self, 80);
// ************************************************************
// B_SetFightSkills
// ----------------
// B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance%
// ************************************************************
func void B_SetFightSkills (var C_NPC slf, var int percent)
{
   // Es wird auf alle FightSkills percent ADDIERT (Skills sind in Npc_Default auf 0 initialisiert)
   B_RaiseFightTalent (slf, NPC_TALENT_1H,       percent);
   B_RaiseFightTalent (slf, NPC_TALENT_2H,       percent);
   B_RaiseFightTalent (slf, NPC_TALENT_BOW,       percent);
   B_RaiseFightTalent (slf, NPC_TALENT_CROSSBOW,   percent);
};

// ******************
// B_RaiseFightTalent
// ******************
// ------------------------------------
func void B_RaiseRealFightTalentPercent (var C_NPC oth, var int talent, var int percent)
{
   if       (talent == NPC_TALENT_1H)      {   oth.aivar[REAL_TALENT_1H] = oth.aivar[REAL_TALENT_1H] + percent;   }
   else if (talent == NPC_TALENT_2H)      {   oth.aivar[REAL_TALENT_2H] = oth.aivar[REAL_TALENT_2H] + percent;   }
   else if (talent == NPC_TALENT_BOW)      {   oth.aivar[REAL_TALENT_BOW] = oth.aivar[REAL_TALENT_BOW] + percent;   }
   else if (talent == NPC_TALENT_CROSSBOW)   {   oth.aivar[REAL_TALENT_CROSSBOW] = oth.aivar[REAL_TALENT_CROSSBOW] + percent;   };
};
// ------------------------------------
func void B_RaiseFightTalent (var C_NPC oth, var int talent, var int percent)
{
   B_RaiseRealFightTalentPercent (oth, talent, percent);
   B_AddFightSkill (oth, talent, percent);
};
// ******************************************************************
// B_AddFightSkill
// ---------------
// setzt die Kampftalent-Ani abhängig von TrefferChance%
// (ab 30% und ab 60%)
// wird aus NPC_SetFightSkills aufgerufen (um FightSkill in NSC-Instanzen zu setzen)
// und aus B_TeachFightTalentPercent (um Player-Skill zu erhöhen)
// ******************************************************************
func void B_AddFightSkill (var C_NPC slf, var int talent, var int percent)
{
   if (talent == NPC_TALENT_1H)
   {
      slf.HitChance[NPC_TALENT_1H] = slf.HitChance[NPC_TALENT_1H] + percent;
     
      if (slf.HitChance[NPC_TALENT_1H] >=0)      {   Npc_SetTalentSkill (slf, NPC_TALENT_1H, 0);      };
      if (slf.HitChance[NPC_TALENT_1H] >=30)      {   Npc_SetTalentSkill (slf, NPC_TALENT_1H, 1);      };
      if (slf.HitChance[NPC_TALENT_1H] >=60)      {   Npc_SetTalentSkill (slf, NPC_TALENT_1H, 2);      };
   };
   
   if (talent == NPC_TALENT_2H)
   {
      slf.HitChance[NPC_TALENT_2H] = slf.HitChance[NPC_TALENT_2H] + percent;
     
      if (slf.HitChance[NPC_TALENT_1H] >=0)      {   Npc_SetTalentSkill (slf, NPC_TALENT_2H, 0);      };
      if (slf.HitChance[NPC_TALENT_2H] >=30)      {   Npc_SetTalentSkill (slf, NPC_TALENT_2H, 1);      };
      if (slf.HitChance[NPC_TALENT_2H] >=60)      {   Npc_SetTalentSkill (slf, NPC_TALENT_2H, 2);      };
   };
   
   if (talent == NPC_TALENT_BOW)
   {
      slf.HitChance[NPC_TALENT_BOW] = slf.HitChance[NPC_TALENT_BOW] + percent;
     
      if (slf.HitChance[NPC_TALENT_BOW] >=0)      {   Npc_SetTalentSkill (slf, NPC_TALENT_BOW, 0);   };
      if (slf.HitChance[NPC_TALENT_BOW] >=30)      {   Npc_SetTalentSkill (slf, NPC_TALENT_BOW, 1);   };
      if (slf.HitChance[NPC_TALENT_BOW] >=60)      {   Npc_SetTalentSkill (slf, NPC_TALENT_BOW, 2);   };
   };
   
   if (talent == NPC_TALENT_CROSSBOW)
   {
      slf.HitChance[NPC_TALENT_CROSSBOW] = slf.HitChance[NPC_TALENT_CROSSBOW] + percent;
     
      if (slf.HitChance[NPC_TALENT_CROSSBOW] >=0)      {   Npc_SetTalentSkill (slf, NPC_TALENT_CROSSBOW, 0);   };
      if (slf.HitChance[NPC_TALENT_CROSSBOW] >=30)   {   Npc_SetTalentSkill (slf, NPC_TALENT_CROSSBOW, 1);   };
      if (slf.HitChance[NPC_TALENT_CROSSBOW] >=60)   {   Npc_SetTalentSkill (slf, NPC_TALENT_CROSSBOW, 2);   };
   };
};

Tak jest oryginalnie, więc samo B_SetFightSkills (self, 80); powinno wystarczyć, ale chyba to się popsuło. U mnie to nie działa.
Zostaje opcja
Npc_SetTalentSkill (C_NPC, TALENT, ILOŚĆ);

SabeMiczu

SabeMiczu

Użytkownicy
posty52
Profesjabrak
  • Użytkownicy
THX troche roboty ale warto, każdego propsuje za chęci i rozwiązanie, a jak zrobic jeszcze kusze i łuki? Czy to robi że każdy walczy mistrzowsko kazdą bronią?
 

A.K.

A.K.

Użytkownicy
posty156
Propsy163
Profesjabrak
  • Użytkownicy
B_SetFightSkills(self,80) ustala NPCowi (self) 80% w obu technikach w zwarciu i obu dystansowych oraz automatycznie ustala, że to poziom mistrzowski (80>=60). Czyli:
  • 80% Jednoręczna - Mistrz
  • 80% Dwuręczna - Mistrz
  • 80% Łuki - Mistrz
  • 80% Kusze - Mistrz
@chicken
Po zapisie i wczytaniu też?
 

SabeMiczu

SabeMiczu

Użytkownicy
posty52
Profesjabrak
  • Użytkownicy
nie patrzylem. ale pewnie zadziala. czeka mnie troche roboty. nie vhce tworzyc nowego watku co zrobic aby wstawic nowy model i tekstoru? gdzie to wstawic?
 

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio

chicken
RaveN Studio

Walczą jak zieloni
#16 2014-08-19, 11:14(Ostatnia zmiana: 2014-08-20, 09:37)
Nowy model wstawiasz do folderu MESHES>dalej gdzie chcesz ( NIE DO _COMPILED ), a textury do folderu TEXTURES>dalej gdzie chcesz( NIE DO _COMPILED ).
Cytuj
więc nie rozumiem po co te kombinacje...
A ja nie rozumiem, jak można odpowiadać na coś, co już ma odpowiedź :facepalm:
Bogdan Zwei napisał odpowiedź, a Ty to samo...

RiPPerMAN

RiPPerMAN

Użytkownicy
FapTeam Studios
posty222
Propsy25
ProfesjaScenarzysta
  • Użytkownicy
  • FapTeam Studios
Wydaje mi się, że był to błąd jedynie ZAPISZ i WCZYTAJ.
Jest to tak zbugowane, więc nie rozumiem po co te kombinacje... 
SabeMiczu, usuń chociaż jednej postaci to co nakazali ci zrobić i zobaczysz w czym był błąd ;)
 
"Nie żałuj umarłych, żałuj żywych, a szczególnie tych, którzy żyją bez miłości"
~ Albus Parcival Wulfryk Brian Dumbledore

Atak Dzieci NEO
http://themodders.org/index.php?topic=21709.0


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