UluMulu w G2 4335 7

O temacie

Autor LordKamilVII

Zaczęty 23.05.2010 roku

Wyświetleń 4335

Odpowiedzi 7

LordKamilVII

LordKamilVII

Rzeka
posty38
Propsy67
Nagrody
ProfesjaLvl designer
  • Rzeka
Witam ostatnio zastanawiałem sie jak dodać znane UluMulu do gothica 2 Bawiłem się z tym bardzo długo lecz bez efektów chodzi mi o to aby orkowie po złożeniu UluMulu nas nie atakowali
Skrypt i model broni mam już w g2
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

UluMulu w G2
#1 2010-05-25, 16:53(Ostatnia zmiana: 2010-05-25, 19:00)
może zmiana gildii albo coś w spacerze było dodane bo aby nie atakowali trzeba było wyciągnąć broń a potem schować ale najlepiej popatrzeć do skryptów w G1 jak coś znajdę dam znać

EDIT :w skrypcie zbroi nic
w dialogach tez nic pewnie gdzieś indziej

albo takie cos zrobić jako tigera

if(noszeulumulu=1){
B_SetGuildAttitude (GIL_SEPERATOR_HUM, ATT_FRIENDLY, GIL_ORCWARRIOR );
B_SetGuildAttitude (GIL_SEPERATOR_HUM, ATT_FRIENDLY, GIL_ORCSCOUT );
B_SetGuildAttitude (GIL_SEPERATOR_HUM, ATT_FRIENDLY, GIL_ORCSHAMAN );

B_SetGuildAttitude (GIL_ORCWARRIOR, ATT_FRIENDLY, GIL_SEPERATOR_HUM );
B_SetGuildAttitude (GIL_ORCSCOUT, ATT_FRIENDLY, GIL_SEPERATOR_HUM );
B_SetGuildAttitude (GIL_ORCSHAMAN, ATT_FRIENDLY, GIL_SEPERATOR_HUM );

}
else{
B_SetGuildAttitude (GIL_SEPERATOR_HUM, ATT_HOSTILE, GIL_ORCWARRIOR );
B_SetGuildAttitude (GIL_SEPERATOR_HUM, ATT_HOSTILE, GIL_ORCSCOUT );
B_SetGuildAttitude (GIL_SEPERATOR_HUM, ATT_HOSTILE, GIL_ORCSHAMAN );

B_SetGuildAttitude (GIL_ORCWARRIOR, ATT_HOSTILE, GIL_SEPERATOR_HUM );
B_SetGuildAttitude (GIL_ORCSCOUT, ATT_HOSTILE, GIL_SEPERATOR_HUM );
B_SetGuildAttitude (GIL_ORCSHAMAN, ATT_HOSTILE, GIL_SEPERATOR_HUM );
};
oczywiście najpierw zrobić zmienna noszeulumulu i dodawać lub odejmować przy zakładaniu zdejmowani broni może zadziała :ok:

LordKamilVII

LordKamilVII

Rzeka
posty38
Propsy67
Nagrody
ProfesjaLvl designer
  • Rzeka
W g1 znalazłem taki skrypt w C_Functions.d

Cytuj
func int C_OtherIsToleratedEnemy(var C_NPC slf, var C_NPC oth)
{
   PrintDebugNpc         (PD_ZS_DETAIL,   "C_OtherIsToleratedEnemy");

   //-------- Orkverfolger --------
   if (C_NpcIsOrc(slf))
   {
      PrintDebugNpc      (PD_ZS_DETAIL,   "...'self' ist Ork!");

      //---- Ulu-Mulu in der Hand ? ----
      var C_ITEM         weapon;
      var int            weaponInstance;
      weapon =          Npc_GetReadiedWeapon(oth);
      if (Hlp_IsValidItem(weapon))
      {
         weaponInstance =Hlp_GetInstanceID(weapon);
         PrintDebugString(PD_ZS_DETAIL, "...gezogene Waffe von 'other': ", weapon.name);
         if (weaponInstance == UluMulu)
         {
            PrintDebugNpc(PD_ZS_DETAIL, "...true!");
            return      TRUE;
         };
      };
      
      //---- Ulu-Mulu equipped ? ----
      weapon =          Npc_GetEquippedMeleeWeapon   (oth);
      if (Hlp_IsValidItem(weapon))
      {
         weaponInstance =Hlp_GetInstanceID(weapon);
         PrintDebugString(PD_ZS_DETAIL, "...equippte Waffe von 'other': ", weapon.name);
         if (weaponInstance == UluMulu)
         {
            PrintDebugNpc(PD_ZS_DETAIL, "...true!");
            return      TRUE;
         };
      };
   };

   PrintDebugNpc         (PD_ZS_DETAIL, "...false!");
   return                FALSE;
};

func void B_TolerateEnemy(var C_NPC slf, var C_NPC oth)
{
   PrintDebugNpc         (PD_ZS_DETAIL,   "B_TolerateEnemy");

   //-------- Orkverfolger --------
   if   (C_NpcIsOrc(slf))
   &&   (Npc_GetDistToNpc(slf,oth) > HAI_DIST_ASSESSTOLERATEDENEMY)
   {
      PrintDebugNpc      (PD_ZS_DETAIL,   "...'self' ist Ork und nah genug dran!");

      var int            npcInstance;
      npcInstance =      Hlp_GetInstanceID(slf);

      //-------- Aufreger --------
      if   (npcInstance == OrcScout)
      ||   (npcInstance == OrcWarrior1)
      ||   (npcInstance == OrcWarrior2)
      {
         PrintDebugNpc   (PD_ZS_DETAIL,   "...'self' ist anderer Ork!");
         if   !Npc_IsInState(slf, ZS_Upset)
         {
            PrintDebugNpc   (PD_ZS_DETAIL,   "...'self' noch nicht in ZS_FollowPC");
            Npc_ClearAIQueue(slf);
            AI_StandUp      (slf);
            AI_StartState   (slf, ZS_Upset, 1, "");         
         };
      }

      //-------- Verfolger --------
      else if   (npcInstance == OrcWarrior3)      
      {
         PrintDebugNpc   (PD_ZS_DETAIL,   "...'self' ist Ork Tempelkrieger!");
         if   !Npc_IsInState(slf, ZS_FollowPC)
         {
            PrintDebugNpc   (PD_ZS_DETAIL,   "...'self' noch nicht in ZS_FollowPC");
            Npc_ClearAIQueue(slf);
            AI_StandUp      (slf);
            AI_StartState   (slf, ZS_FollowPC, 1, "");         
         };
      };
   };
};

Prawdopodobnie to on odpowiada za to że orkowie nas nie atakują Tylko jak go wklepać do G2 gdyż w G2 nie istnieje Functions.d
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Najłatwiej to po prostu dodać do skryptu broni. No chyba, że ta funkcja musi mieć wysoki "priorytet", to musisz stworzyć ręcznie ten plik i dopisać w odpowiednie miejsce w gothic.src.

LordKamilVII

LordKamilVII

Rzeka
posty38
Propsy67
Nagrody
ProfesjaLvl designer
  • Rzeka
A Więc tak Stworzyłem ten plik ręcznie i dopisałem w Gothic.src Jednak gra wywaliła błąd że brakuje jakiejś funkcji więc stworzyłem brakującą funkcję a tu nadal mi błędy wywala że niema funkcji
Bawiłem się tak ok 3h tworząc nowe funkcje i po 3h udało mi się gra nie wywalała błędów lecz gdy podszedłem pod orka z ulumulu ten zaczął mnie bezwzględnie ciachać swoim toporkiem  :)  
Ehh chyba dam sobie z tym spokój
A i dzięki za pomoc  ;]
 

KolegaZWojska

KolegaZWojska

Rzeka
posty1095
Propsy2397
NagrodyVVV
Profesjabrak
  • Rzeka
Nie poddawaj się tak łatwo! Popróbuj, a w końcu na pewno ci się uda.

Aha, a jak już ci się uda to napisz tutaj, bo też chce mieć Ulu Mulu w G2.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
UluMulu dodaje warunki czy wróg jest orkiem, a gracz ma założone UluMulu w funkcjach zs_attack_loop, ZS_Upset_Loop, B_AssessEnemy.
Wystarczy krótko przeanalizować je i skopiować do g2. Funkcję C_OtherIsToleratedEnemy można skopiować albo napisać na logikę :)

LordKamilVII

LordKamilVII

Rzeka
posty38
Propsy67
Nagrody
ProfesjaLvl designer
  • Rzeka
Ok spróbuje jeszcze myślę że teraz się uda...  :lol:
 


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