Zmiana run dla npc maga 4883 12

O temacie

Autor Siemekk

Zaczęty 20.07.2015 roku

Wyświetleń 4883

Odpowiedzi 12

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Otóz chciałbym tworze właśnie niedużego moda i chciałbym aby 1  z npc był magiem. Skrypt mam ale nie wiem jak można mu przypisać aby korzystał np. z runy pięść wichru itp. prosiłbym o szybką odpowiedź.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio

fight_tactic   = FAI_HUMAN_MAGE;

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Nie.
Wybór czaru dla npc jest określony w B_SelectSpell. Miło by było, gdyby autor napisał o jaką część gry chodzi.
 
Lieb Vaterland magst ruhig sein

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Nie.
Wybór czaru dla npc jest określony w B_SelectSpell. Miło by było, gdyby autor napisał o jaką część gry chodzi.

Gothic 2 NK
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
No to masz szczęście, bo się tą częścią zajmuję. Sprawdź ten plik (użyj windowsowej szukajki w folderze Scripts), jeżeli znasz podstawy skryptowania to sobie poradzisz z konfiguracją.
 
Lieb Vaterland magst ruhig sein

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Zmiana run dla npc maga
#5 2015-07-20, 20:16(Ostatnia zmiana: 2015-07-20, 22:37)
Tak. Rozgryzłem co i jak ale ciągle mi wyszukuje problem U:Par: syntax error :if (i tu linia w której występuje). nie wiem czym to może być spowodowane. A tutaj przesyłam skrypt (może ktoś wyjaśni mi o co chodzi na przyszłość ). Od tej linijki:
// ------ Mag próba ------
if (slf.guild == GIL_SLD)                                                 //Tu występuje...
|| (slf.aivar[AIV_MagiK]== MAGIC_ALWAYS)
{
if (Npc_HasItems (slf, ITRU_PYROKINESIS) == 0)
{
CreateInvItems (slf, ITRU_PYROKINESIS, 1);
};

if (Npc_HasItems (slf, ItRu_InstantFireBall) == 0)
{
CreateInvItems (slf, ItRu_InstantFireBall, 1);
};

if (Npc_HasItems (slf, ItRu_BREATHOFDEATH) == 0)
{
CreateInvItems (slf, ItRu_BREATHOFDEATH, 1);
};

if (Npc_HasItems (slf, ItRu_FullHeal) == 0)
{
CreateInvItems (slf, ItRu_FullHeal, 1);
};

if (self.attribute[ATR_HITPOINTS] < 100)
{
B_ReadySpell (slf, SPL_FullHeal, SPL_Cost_FullHeal);
return TRUE;
}
else if (C_NpcHasAttackReasonToKill (self))
{
if (self.flags == NPC_FLAG_IMMORTAL)
|| (Hlp_GetInstanceID(other) == Hlp_GetInstanceID(Raven))
{
B_ReadySpell (slf, SPL_BREATHOFDEATH, SPL_Cost_BREATHOFDEATH);
}
else
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireBall);
};
return TRUE;
}
else
{
B_ReadySpell (slf, SPL_PYROKINESIS, SPL_Cost_PYROKINESIS);
return TRUE;
};
};
   
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
błąd występuje wyżej, musisz dać więcej

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Zmiana run dla npc maga
#7 2015-07-20, 20:25(Ostatnia zmiana: 2015-07-20, 22:37)
Linijka 369 to jest ta gdzie pisze.Ale proszę...
// ------ Eisdrache ------
if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE)
{
if (Npc_HasItems (slf, ItRu_InstantFireball) == 0)
{
CreateInvItems (slf, ItRu_InstantFireball, 1);
};

if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_DRAGON_MAGIC)
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireball);
return TRUE;
}
else
{
return FALSE; //Nahkampfangriff
};
};

// ------ Untoter Drache (ENDGEGNER) ------
if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_UNDEAD)
{
Npc_ClearAIQueue(self);
if (Npc_HasItems (slf, ItRu_Deathball) == 0)
{
CreateInvItems (slf, ItRu_Deathball, 1);
};

if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_DRAGON_MAGIC)
{
B_ReadySpell (slf, SPL_Deathball, SPL_Cost_Deathball);
return TRUE;
}
else
{
return FALSE; //Nahkampfangriff
};
};

// ------ Ork Schamane ------
if (slf.aivar[AIV_MM_REAL_ID] == ID_ORCSHAMAN)
{
if (Npc_HasItems (slf, ItRu_InstantFireball) == 0)
{
CreateInvItems (slf, ItRu_InstantFireball, 1);
};

if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_MELEE)
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireball);
return TRUE;
}
else
{
return FALSE; //Nahkampfangriff
};
};

return FALSE; //alle anderen Gilden
};   
// ------ Mag próba ------
if (slf.guild == GIL_SLD)
|| (slf.aivar[AIV_MagiK]== MAGIC_ALWAYS)
{
if (Npc_HasItems (slf, ITRU_PYROKINESIS) == 0)
{
CreateInvItems (slf, ITRU_PYROKINESIS, 1);
};

if (Npc_HasItems (slf, ItRu_InstantFireBall) == 0)
{
CreateInvItems (slf, ItRu_InstantFireBall, 1);
};

if (Npc_HasItems (slf, ItRu_BREATHOFDEATH) == 0)
{
CreateInvItems (slf, ItRu_BREATHOFDEATH, 1);
};

if (Npc_HasItems (slf, ItRu_FullHeal) == 0)
{
CreateInvItems (slf, ItRu_FullHeal, 1);
};

if (self.attribute[ATR_HITPOINTS] < 100)
{
B_ReadySpell (slf, SPL_FullHeal, SPL_Cost_FullHeal);
return TRUE;
}
else if (C_NpcHasAttackReasonToKill (self))
{
if (self.flags == NPC_FLAG_IMMORTAL)
|| (Hlp_GetInstanceID(other) == Hlp_GetInstanceID(Raven))
{
B_ReadySpell (slf, SPL_BREATHOFDEATH, SPL_Cost_BREATHOFDEATH);
}
else
{
B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireBall);
};
return TRUE;
}
else
{
B_ReadySpell (slf, SPL_PYROKINESIS, SPL_Cost_PYROKINESIS);
return TRUE;
};
};
   
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Warunki nie mogą być poza ciałem funkcji.
if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_ICE)
   {
      if (Npc_HasItems (slf, ItRu_InstantFireball) == 0)
      {
         CreateInvItems (slf, ItRu_InstantFireball, 1);
      };
      
      if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_DRAGON_MAGIC)
      {
         B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireball);
         return TRUE;
      }
      else
      {
         return FALSE; //Nahkampfangriff
      };
   };
   
   // ------ Untoter Drache (ENDGEGNER) ------
   if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_UNDEAD)
   {
      Npc_ClearAIQueue(self);
      if (Npc_HasItems (slf, ItRu_Deathball) == 0)
      {
         CreateInvItems (slf, ItRu_Deathball, 1);
      };
      
      if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_DRAGON_MAGIC)
      {
         B_ReadySpell (slf, SPL_Deathball, SPL_Cost_Deathball);   
         return TRUE;
      }
      else
      {
         return FALSE; //Nahkampfangriff
      };
   };
   
   // ------ Ork Schamane ------
   if (slf.aivar[AIV_MM_REAL_ID] == ID_ORCSHAMAN)
   {
      if (Npc_HasItems (slf, ItRu_InstantFireball) == 0)
      {
         CreateInvItems (slf, ItRu_InstantFireball, 1);
      };
            
      if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_MELEE)
      {
         B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireball);
         return TRUE;
      }
      else
      {
         return FALSE; //Nahkampfangriff
      };
   };
    // ------ Mag próba ------
   if (slf.guild == GIL_SLD)
   || (slf.aivar[AIV_MagiK]== MAGIC_ALWAYS)
   {
      if (Npc_HasItems (slf, ITRU_PYROKINESIS) == 0)
      {
         CreateInvItems (slf, ITRU_PYROKINESIS, 1);
      };
      
      if (Npc_HasItems (slf, ItRu_InstantFireBall) == 0)
      {
         CreateInvItems (slf, ItRu_InstantFireBall, 1);
      };
      
      if (Npc_HasItems (slf, ItRu_BREATHOFDEATH) == 0)
      {
         CreateInvItems (slf, ItRu_BREATHOFDEATH, 1);
      };
      
      if (Npc_HasItems (slf, ItRu_FullHeal) == 0)
      {
         CreateInvItems (slf, ItRu_FullHeal, 1);
      };
      
      if (self.attribute[ATR_HITPOINTS] < 100) 
      {
         B_ReadySpell (slf, SPL_FullHeal, SPL_Cost_FullHeal);
         return TRUE;
      }
      else if (C_NpcHasAttackReasonToKill (self))
      {
         if (self.flags == NPC_FLAG_IMMORTAL)
         || (Hlp_GetInstanceID(other) == Hlp_GetInstanceID(Raven))
         {
            B_ReadySpell (slf, SPL_BREATHOFDEATH, SPL_Cost_BREATHOFDEATH);
         }
         else
         {
            B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireBall);
         };
         return TRUE;
      }
      else
      {
         B_ReadySpell (slf, SPL_PYROKINESIS, SPL_Cost_PYROKINESIS);
         return TRUE;
      };
   };
   return FALSE; //alle anderen Gilden      
};   
  

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Czyli jeśli można prościej?
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Nie możesz dawać warunków do funkcji poza funkcją. Muszą się mieścić między klamrą otwierającą a zamykającą. Tak wytłumaczyłem chicken napisał, ale to, co dałeś jest nieprzejrzyste, umieść w znacznikach code.
 
Lieb Vaterland magst ruhig sein

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
  • online
        if (Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_MELEE)
        {
            B_ReadySpell (slf, SPL_InstantFireball, SPL_Cost_InstantFireball);
            return TRUE;
        }
        else
        {
            return FALSE; //Nahkampfangriff
        };
    };
    Powinieneś to napisać w tym miejscu
}; < funkcja kończy się przy tej klamrze
Ty napisałeś tutaj, czyli pod funkcją
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Ok. Dzięki za pomoc wiem co i jak (Dzięki waszej pomocy i skryptów z returninga.) Oczywiście propsy lecą!
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.


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