opieka nad bronia po wygranej walce 3017 5

O temacie

Autor pawbuj

Zaczęty 4.01.2010 roku

Wyświetleń 3017

Odpowiedzi 5

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
chciałem zrobić, żeby było jak w g3, kiedy to po walce słychąć głosy "zaopiekuję się twoją bronią.

fragment pliku b_assessbody, nierstety nie wiedzieć czemu - to nie działa. wie ktoś[codebox]func void ZS_AssessBody_RecoverWeapon ()
{   
   PrintDebugNpc      (PD_ZS_FRAME,   "ZS_AssessBody_RecoverWeapon");

   B_SetPerception      (self);
      
   //-------- nach der evtl. fallengelassenen Waffe suchen --------
   Npc_PerceiveAll      (self);
   if (( Wld_DetectItem   (self,ITEM_KAT_NF) || Wld_DetectItem (self,ITEM_KAT_FF) )
       && Npc_GetDistToItem(self,item) < 300 )
   {
      PrintDebugNpc   (PD_ZS_CHECK, "...Nah- oder Fernkampfwaffe gefunden!" );
      B_SayOverlay   (self,   NULL, "$ITakeYourWeapon");
      AI_TakeItem      (self,   item);
      AI_EquipBestMeleeWeapon(self);
      AI_EquipBestRangedWeapon(self);
   };

   //-------- Heilen ! --------
   AI_StartState      (self,   ZS_HealSelf,   1,   "");
};
   [/codebox] , czemu?
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
W G2 jest coś takiego. Popatrz w skrypty.

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
prawidłowe rozwiązanie. [codebox]func void ZS_AssessBody_RecoverWeapon ()
{   
   PrintDebugNpc      (PD_ZS_FRAME,   "ZS_AssessBody_RecoverWeapon");

   B_SetPerception      (self);
      
   //-------- po walce NPC zabiera twój oręż - edit by Pawbuj for gothic 1--------
   
   Npc_PerceiveAll   (self);
   
   if ( Wld_DetectItem (self, ITEM_KAT_NF) || Wld_DetectItem (self, ITEM_KAT_FF) )
   {
      if (Hlp_IsValidItem(item))
      {
         if (Npc_GetDistToItem(self,item) < 500)
         {
            AI_TakeItem   (self, item);
            B_Say      (self, self, "$ITAKEYOURWEAPON");      
            
            AI_EquipBestMeleeWeapon(self);
            AI_EquipBestRangedWeapon(self);
         };
      };
   };

   //-------- leczenie ! --------
   AI_StartState      (self,   ZS_HealSelf,   1,   "");
};
   [/codebox] pozdrawiam - wierny fan serii Gothic

adminie - trochę za szybko zamnknąłeś
 

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
żeby juz nie zakładac nowego tematu, jak zrobić aby po walce npc "wyczyścił " z itemów npc zabitego lub pokonanego .


dałem coś takiego, ale nic nie zabiera.

czy musze pisać skrypt dla każdego oddzielnego itema, czy da się to jakoś uściśllić, bo co zrobiłem w skrypcie - nie działa.[codebox]   if (Npc_HasItems (other, item) > 0)
      {      
      var int y;
      y = Npc_HasItems(other, item);
      CreateInvItems      (self, item, y);
      Npc_RemoveInvItems   (other,item, y);   [/codebox]
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

opieka nad bronia po wygranej walce
#4 2010-01-07, 19:45(Ostatnia zmiana: 2010-01-07, 20:11)
Zerknij do funkcji
Gothic\_Work\Data\Scripts\Content\AI\B_Human\B_Plunder.dNie sprawdza ona po kolei itemów, tylko sloty w ekwipunku, jest podzielona na kilka funkcji składowych i być może będziesz musiał ją sam poskładać i aktywować.

@Down: bardzo mi przykro :lol2:

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
qrcze, z tym sobie nie poradzę.
 


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