Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - nocnymocny

Strony: [1]
1
Skrypty / Problem z wyborem strzał
« dnia: 2015-07-29, 14:26 »
Witam. Na podstawie tutoriala "Jeden łuk a wiele strzał zrobiłem, jak było w nim napisane. Wybór w przypadku Beziego działa, jednak kiedy podchodzę do bandyty, a on używa łuku, to automatycznie pojawia się okienko monologu. Jak zrobić, żeby monolog włączał się tylko w przypadku bohatera, a nie osób trzecich.

Skrypt monologu:
Cytuj
      instance Bow_Hero_Choose (C_INFO)
      {
         npc         = PC_Hero;
         nr         = 1;
         condition   = Bow_Hero_Choose_Condition;
         information   = Bow_Hero_Choose_Info;
         permanent   = 1;
         important   = 1;
      };                

      FUNC int Bow_Hero_Choose_Condition()
      {
         if ( BowChoose == TRUE)
         {
         
            return 1;
         };
      };

   FUNC VOID Bow_Hero_Choose_Info()
   {
            
         Info_ClearChoices   (Bow_Hero_Choose);
         Info_AddChoice       (Bow_Hero_Choose,      DIALOG_BACK,   powrot);

         if Npc_HasItems(hero, ItRw_ognista_strzala)
         {
         Info_AddChoice (Bow_Hero_Choose,   "Plonlce strzaly",   ogien );
         
         };

         if Npc_HasItems(hero, ItRw_Arrow)
         {
         Info_AddChoice (Bow_Hero_Choose,   "Normalne strzaly",   pocisk );
         
         };

      if Npc_HasItems(hero, ItRw_strzala_mrozu)
         {
         Info_AddChoice (Bow_Hero_Choose,   "Zamrazajace strzaly",   mroz );
         
         };

            if Npc_HasItems(hero, ITRW_POISONARROW01)
         {
         Info_AddChoice (Bow_Hero_Choose,   "Slabo zatrute strzaly",   POISONARROW01);
         
         };
         
            if Npc_HasItems(hero, ITRW_POISONARROW02)
         {
         Info_AddChoice (Bow_Hero_Choose,   "Srednio zatrute strzaly",   POISONARROW02);
         
         };
         
         
      if Npc_HasItems(hero, ITRW_POISONARROW03)
         {
         Info_AddChoice (Bow_Hero_Choose,   "Mocno zatrute strzaly",   POISONARROW03);
         
         };
         
   if Npc_HasItems(hero, ItRw_strzala_odrzucajaca)
         {
         Info_AddChoice (Bow_Hero_Choose,   "Odrzucajace strzaly",   odrzut );
         
         };
   };
      
   

      FUNC void pocisk ()
      {
         var C_ITEM equippedbow;
         equippedbow = Npc_GetEquippedRangedWeapon(hero);

         equippedbow.munition = ItRw_Arrow;
         BowChoose = FALSE;
         none = TRUE;
         fire = FALSE;
         AI_StopProcessInfos (hero);
   
      };


      FUNC void ogien ()
      {
         var C_ITEM equippedbow;
         equippedbow = Npc_GetEquippedRangedWeapon(hero);
         equippedbow.munition = ItRw_ognista_strzala;
         BowChoose = FALSE;
         fire = TRUE;
         none = False;
         AI_StopProcessInfos (hero);
   
      };


      FUNC void mroz ()
      {
         var C_ITEM equippedbow;
         equippedbow = Npc_GetEquippedRangedWeapon(hero);
         equippedbow.munition = ItRw_strzala_mrozu;
         BowChoose = FALSE;
         fire = TRUE;
         none = False;
         AI_StopProcessInfos (hero);

      };

      
         FUNC void POISONARROW01 ()
      {
         var C_ITEM equippedbow;
         equippedbow = Npc_GetEquippedRangedWeapon(hero);
         BowChoose = FALSE;
         equippedbow.munition = itrw_poisonarrow01;
         fire = TRUE;
         none = False;
         AI_StopProcessInfos (hero);

      };   
      
      
      FUNC void POISONARROW02 ()
      {
         var C_ITEM equippedbow;
         equippedbow = Npc_GetEquippedRangedWeapon(hero);
         BowChoose = FALSE;
         equippedbow.munition = itrw_poisonarrow02;
         fire = TRUE;
         none = False;
         AI_StopProcessInfos (hero);

      };      
      
      
      FUNC void POISONARROW03 ()
      {
         var C_ITEM equippedbow;
         equippedbow = Npc_GetEquippedRangedWeapon(hero);
         BowChoose = FALSE;
         equippedbow.munition = itrw_poisonarrow03;
         fire = TRUE;
         none = False;
         AI_StopProcessInfos (hero);

      };   
      
      
   FUNC void odrzut()
      {
         var C_ITEM equippedbow;
         equippedbow = Npc_GetEquippedRangedWeapon(hero);
         equippedbow.munition = ItRw_strzala_odrzucajaca;
         BowChoose = FALSE;
         fire = TRUE;
         none = False;
         AI_StopProcessInfos (hero);
      
      };


      FUNC void powrot ()
      {
      BowChoose = FALSE;
      AI_StopProcessInfos (hero);
      };


Skrypt przykładowego łuku:

Cytuj
INSTANCE ItRw_Arabic_Bow (C_Item)
{
   name             =   "Łuk z Orientu";
   mainflag          =   ITEM_KAT_FF;
   flags             =   ITEM_BOW;
   material          =   MAT_WOOD;
   value             =   750;
   damageTotal         =   75;
   damagetype         =   DAM_POINT;
   munition         =   ItRw_Arrow;
   on_equip          =    equip_bestarrow_01;
   on_unequip          =    unequip_bestarrow_01;
   cond_atr[2]         =    ATR_DEXTERITY;
   cond_value[2]        =    70;
   visual             =   "ItRw_Bow_Long_Arabic.mms";
   description         = name;
   TEXT[2]            = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]          = NAME_Dex_needed;            COUNT[3]   = cond_value[2];
   TEXT[5]            = NAME_Value;               COUNT[5]   = value;
};

func void equip_bestarrow_01()
{
         BowChoose = TRUE;
         equip_bestarrow (ItRw_Arabic_Bow);
         AI_ProcessInfos (hero);
         
};
func void unequip_bestarrow_01 ()
{
        BowChoose = FALSE;
        AI_StopProcessInfos (hero);
};

2
Skrypty / Grzebanie w ziemi
« dnia: 2015-01-19, 02:55 »
Witam. Chciałem dodać możliwość wykopywania skarbów, jak w zadaniu ze skarbami Grega. W pliku B_SCUsesRake dopisałem
Spoiler
else if ((Npc_GetDistToWP(hero,               "KRODA_RAKEPLACE_209"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[6]==FALSE)){
            Wld_InsertItem       (ItMi_GoldRing,          "KRODA_RAKEPLACE_209"   );                                 RAKEPLACE[6]=TRUE;
            Wld_InsertItem       (ItSe_GoldPocket100,          "KRODA_RAKEPLACE_209"   );                                
            RakeTreasureSuccess (ItSe_GoldPocket100);}
   
- cały plik:
Spoiler
var int   RAKEPLACE[50];
const int Greg_FirstSecret   = 1 ;
const int RAKE_BUDDEL_DIST_MAX = 300;
const int RAKE_BUDDEL_DIST_MIN = 200;

func void RakeTreasureSuccess (var C_ITEM itm)
{
   Wld_PlayEffect("spellFX_ItemAusbuddeln",  itm, itm, 0, 0, 0, FALSE );
   B_Say_Overlay (self, self, "$FOUNDTREASURE");
   B_GivePlayerXP (XP_Ambient);
};

FUNC VOID B_SCUsesRake(var C_NPC slf)
{
   //alte Use-Item-Funktion
};

FUNC VOID B_SCGetTreasure_S1()
{
   if    (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(hero))   //FixmeJoly:RAKEPLACE [1] nummerierung checken.
   {
   //NEWWORLD_ZEN
            if ((Npc_GetDistToWP(hero,               "NW_BIGFARM_LAKE_CAVE_07"   )< RAKE_BUDDEL_DIST_MIN) && (RAKEPLACE[Greg_FirstSecret]==FALSE))
            {
               Wld_InsertItem       (ItSe_GoldPocket25, "NW_BIGFARM_LAKE_CAVE_07"   );                        RAKEPLACE[Greg_FirstSecret]=TRUE;   //Joly: Auftrag von GREG_NW  RAKEPLACE[1] wird als Abfrage verwendet, nicht ändern.
               RakeTreasureSuccess (ItSe_GoldPocket25);
               var C_ITEM GregsArmor;
               GregsArmor = Npc_GetEquippedArmor(Greg_NW);
   
               if (Hlp_IsItem(GregsArmor, ITAR_PIR_H_Addon) == FALSE)
               {
                  AI_EquipArmor   (Greg_NW, ITAR_PIR_H_Addon);   
               };
            }
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,            "NW_LAKE_GREG_TREASURE_01"   )< RAKE_BUDDEL_DIST_MIN)       &&  (RAKEPLACE[2]==FALSE)){
            Wld_InsertItem       (ItSe_GoldPocket100,    "NW_LAKE_GREG_TREASURE_01"   );                              RAKEPLACE[2]=TRUE;
            RakeTreasureSuccess (ItSe_GoldPocket100);}
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,            "NW_FARM3_GREGTREASURE_01"   )< RAKE_BUDDEL_DIST_MIN)       &&  (RAKEPLACE[3]==FALSE)){
            Wld_InsertItem       (ItMi_GoldCup,          "NW_FARM3_GREGTREASURE_01"   );                             RAKEPLACE[3]=TRUE;
            RakeTreasureSuccess (ItMi_GoldCup);}
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,            "NW_FARM3_MOUNTAINLAKE_MONSTER_01"   )< RAKE_BUDDEL_DIST_MIN) && (RAKEPLACE[4]==FALSE)){   
            Wld_InsertItem       (ItMi_SilverChalice,    "NW_FARM3_MOUNTAINLAKE_MONSTER_01"   );                       RAKEPLACE[4]=TRUE;
            RakeTreasureSuccess (ItMi_SilverChalice);}
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,            "NW_BIGMILL_FARM3_01"   )< RAKE_BUDDEL_DIST_MIN)          &&    (RAKEPLACE[5]==FALSE)){
            Wld_InsertItem       (ItAm_Prot_Point_01,          "NW_BIGMILL_FARM3_01"   );                           RAKEPLACE[5]=TRUE;
            RakeTreasureSuccess (ItAm_Prot_Point_01);}
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   
         else if ((Npc_GetDistToWP(hero,               "KRODA_RAKEPLACE_209"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[6]==FALSE)){
            Wld_InsertItem       (ItMi_GoldRing,          "KRODA_RAKEPLACE_209"   );                                 RAKEPLACE[6]=TRUE;
            Wld_InsertItem       (ItSe_GoldPocket100,          "KRODA_RAKEPLACE_209"   );                                
            RakeTreasureSuccess (ItSe_GoldPocket100);}
   
   
   //ADDONWORLD_ZEN
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //         ENTRANCE
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,                  "ADW_ENTRANCE_RAKEPLACE_01"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[12]==FALSE)){
            Wld_InsertItem       (ItWr_StonePlateCommon_Addon,   "ADW_ENTRANCE_RAKEPLACE_01"   );                                 RAKEPLACE[12]=TRUE;
            Wld_InsertItem       (ItMi_SilverChalice,          "ADW_ENTRANCE_RAKEPLACE_01"   );                                
            RakeTreasureSuccess (ItMi_SilverChalice);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_ENTRANCE_RAKEPLACE_02"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[13]==FALSE)){
            Wld_InsertItem       (ItWr_DexStonePlate1_Addon,   "ADW_ENTRANCE_RAKEPLACE_02"   );                                 RAKEPLACE[13]=TRUE;
            Wld_InsertItem       (ItMi_GoldCup,             "ADW_ENTRANCE_RAKEPLACE_02"   );                                
            RakeTreasureSuccess (ItMi_GoldCup);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_ENTRANCE_RAKEPLACE_03"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[14]==FALSE)){
            Wld_InsertItem       (ItPo_Perm_Health,          "ADW_ENTRANCE_RAKEPLACE_03"   );                                 RAKEPLACE[14]=TRUE;
            Wld_InsertItem       (ItSe_GoldPocket100,       "ADW_ENTRANCE_RAKEPLACE_03"   );                                
            RakeTreasureSuccess (ItSe_GoldPocket100);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_ENTRANCE_RAKEPLACE_04"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[15]==FALSE)){
            Wld_InsertItem       (ItMi_SilverRing,          "ADW_ENTRANCE_RAKEPLACE_04"   );                                 RAKEPLACE[15]=TRUE;
            Wld_InsertItem       (ItMw_Schwert4,          "ADW_ENTRANCE_RAKEPLACE_04"   );                                
            RakeTreasureSuccess (ItMw_Schwert4);}
      
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //         VALLEY
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_VALLEY_GREGTREASURE_01"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[16]==FALSE)){
            Wld_InsertItem       (ItSe_GoldPocket100,       "ADW_VALLEY_GREGTREASURE_01"   );                                 RAKEPLACE[16]=TRUE;
            Wld_InsertItem       (ItPo_Health_02,          "ADW_VALLEY_GREGTREASURE_01"   );                                
            Wld_InsertItem       (ItPo_Mana_03,             "ADW_VALLEY_GREGTREASURE_01"   );                                
            RakeTreasureSuccess (ItPo_Mana_03);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_VALLEY_RAKEPLACE_01"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[17]==FALSE)){
            Wld_InsertItem       (ItPo_Mana_Addon_04,       "ADW_VALLEY_RAKEPLACE_01"   );                                 RAKEPLACE[17]=TRUE;
            Wld_InsertItem       (ItPo_Speed,             "ADW_VALLEY_RAKEPLACE_01"   );                                
            Wld_InsertItem       (ItPo_Mana_02,             "ADW_VALLEY_RAKEPLACE_01"   );                                
            RakeTreasureSuccess (ItPo_Mana_02);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,                  "ADW_VALLEY_RAKEPLACE_02"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[18]==FALSE)){
            Wld_InsertItem       (ItPo_Health_Addon_04,          "ADW_VALLEY_RAKEPLACE_02"   );                                 RAKEPLACE[18]=TRUE;
            Wld_InsertItem       (ItWr_StonePlateCommon_Addon,    "ADW_VALLEY_RAKEPLACE_02"   );                                
            Wld_InsertItem       (ItSe_LockpickFisch,          "ADW_VALLEY_RAKEPLACE_02"   );                                
            RakeTreasureSuccess (ItSe_LockpickFisch);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,                  "ADW_VALLEY_RAKEPLACE_03"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[19]==FALSE)){
            Wld_InsertItem       (ItSc_Firerain,             "ADW_VALLEY_RAKEPLACE_03"   );                                 RAKEPLACE[19]=TRUE;
            Wld_InsertItem       (ItSe_GoldPocket50,          "ADW_VALLEY_RAKEPLACE_03"   );                                    
            Wld_InsertItem       (ItWr_StonePlateCommon_Addon,    "ADW_VALLEY_RAKEPLACE_03"   );                                    
            RakeTreasureSuccess (ItSe_GoldPocket50);}
   
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //         BANDITSCAMP
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,                  "ADW_BANDITSCAMP_RAKEPLACE_01"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[20]==FALSE)){
            Wld_InsertItem       (ItMi_Honigtabak,             "ADW_BANDITSCAMP_RAKEPLACE_01"   );                                 RAKEPLACE[20]=TRUE;
            Wld_InsertItem       (ItWr_StonePlateCommon_Addon,    "ADW_BANDITSCAMP_RAKEPLACE_01"   );                                
            Wld_InsertItem       (ItAm_Addon_MANA,             "ADW_BANDITSCAMP_RAKEPLACE_01"   );                                
            RakeTreasureSuccess (ItAm_Addon_MANA);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_BANDITSCAMP_RAKEPLACE_02"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[21]==FALSE)){
            Wld_InsertItem       (ItSc_SumGobSkel,          "ADW_BANDITSCAMP_RAKEPLACE_02"   );                                 RAKEPLACE[21]=TRUE;
            Wld_InsertItem       (ItPo_Mana_03,             "ADW_BANDITSCAMP_RAKEPLACE_02"   );                                
            RakeTreasureSuccess (ItPo_Mana_03);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_BANDITSCAMP_RAKEPLACE_03"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[22]==FALSE)){
            Wld_InsertItem       (ItSc_TrfShadowbeast,       "ADW_BANDITSCAMP_RAKEPLACE_03"   );                                 RAKEPLACE[22]=TRUE;
            Wld_InsertItem       (ItSc_LightHeal,          "ADW_BANDITSCAMP_RAKEPLACE_03"   );                                
            RakeTreasureSuccess (ItSc_LightHeal);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,                  "ADW_BANDITSCAMP_RAKEPLACE_04"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[23]==FALSE)){
            Wld_InsertItem       (ItWr_StonePlateCommon_Addon,   "ADW_BANDITSCAMP_RAKEPLACE_04"   );                                 RAKEPLACE[23]=TRUE;
            Wld_InsertItem       (ItRi_HP_01,                "ADW_BANDITSCAMP_RAKEPLACE_04"   );                                
            RakeTreasureSuccess (ItRi_HP_01);}


         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //         CANYON
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_CANYON_MINE1_11"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[24]==FALSE)){
            Wld_InsertItem       (ItSE_Addon_FrancisChest,    "ADW_CANYON_MINE1_11"   );                                 RAKEPLACE[24]=TRUE;
            RakeTreasureSuccess (ItSE_Addon_FrancisChest);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_CANYON_RAKEPLACE_01"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[25]==FALSE)){
            Wld_InsertItem       (ItMi_RuneBlank,          "ADW_CANYON_RAKEPLACE_01"   );                                 RAKEPLACE[25]=TRUE;
            Wld_InsertItem       (ItSe_GoldPocket25,       "ADW_CANYON_RAKEPLACE_01"   );                                
            RakeTreasureSuccess (ItSe_GoldPocket25);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_CANYON_RAKEPLACE_02"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[26]==FALSE)){
            Wld_InsertItem       (ItMi_Nugget,             "ADW_CANYON_RAKEPLACE_02"   );                                 RAKEPLACE[26]=TRUE;
            Wld_InsertItem       (ItSc_LightningFlash,       "ADW_CANYON_RAKEPLACE_02"   );                                
            Wld_InsertItem       (ItSc_ChargeFireBall,       "ADW_CANYON_RAKEPLACE_02"   );                                
            RakeTreasureSuccess (ItSc_ChargeFireBall);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_CANYON_RAKEPLACE_03"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[27]==FALSE)){
            Wld_InsertItem       (ItSe_GoldPocket25,       "ADW_CANYON_RAKEPLACE_03"   );                                 RAKEPLACE[27]=TRUE;
            Wld_InsertItem       (ItWr_ManaStonePlate1_Addon,"ADW_CANYON_RAKEPLACE_03"   );                                
            Wld_InsertItem       (ItMi_Pitch,             "ADW_CANYON_RAKEPLACE_03"   );                                
            RakeTreasureSuccess (ItMi_Pitch);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_CANYON_RAKEPLACE_04"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[28]==FALSE)){
            Wld_InsertItem       (ItMi_SilverRing,          "ADW_CANYON_RAKEPLACE_04"   );                                 RAKEPLACE[28]=TRUE;
            Wld_InsertItem       (ItMi_Sulfur,             "ADW_CANYON_RAKEPLACE_04"   );                                
            Wld_InsertItem       (ItWr_TwoHStonePlate1_Addon,"ADW_CANYON_RAKEPLACE_04"   );                                
            RakeTreasureSuccess (ItWr_TwoHStonePlate1_Addon);}
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_CANYON_RAKEPLACE_05"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[29]==FALSE)){
            Wld_InsertItem       (ItMi_GoldRing,          "ADW_CANYON_RAKEPLACE_05"   );                                 RAKEPLACE[29]=TRUE;
            Wld_InsertItem       (ItAt_DragonBlood,          "ADW_CANYON_RAKEPLACE_05"   );                                
            RakeTreasureSuccess (ItAt_DragonBlood);}
   
            
   
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //         PIRATECAMP
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            else if ((Npc_GetDistToWP(hero,               "ADW_PIRATECAMP_GREGTREASURE_KOMPASS"   )< RAKE_BUDDEL_DIST_MIN)          &&  (RAKEPLACE[30]==FALSE)){
            Wld_InsertItem       (ItMI_Addon_Kompass_Mis,    "ADW_PIRATECAMP_GREGTREASURE_KOMPASS"   );                                 RAKEPLACE[30]=TRUE;
            RakeTreasureSuccess (ItMI_Addon_Kompass_Mis);};
            
      
            

   };   
};



- Jednak, kiedy bohater stoi w wyznaczonym WP nic się nie dzieje. Co miałbym zrobić, aby wydobył z ziemi podane przedmioty?


Pytanie 2: Co zrobić, aby po wyjściu z G2 NK pozostała ustawiona rozdzielczość z 1920/1080, bo za każdym razem zmienia się na 800/600 i muszę nadpisywać plik Gothic. Mam Windows 7 64-bit.

3
Skrypty / Udźwig w Gothic II NK
« dnia: 2014-12-09, 23:17 »
Witam! Próbowałem zrobić udźwig w GII NK analogicznie do zasady na jakiej działają amulety, pierścienie, pancerze dodając nową fałszywą wartość obrony  (udźwigu) i wpisując w funkcję danego przedmiotu zmienną określającą jego wagę; błędów nie było, ale zasada działała na tylko te przedmioty, które bohater mógł "założyć" (w/w + miecz, pas itp.). Co miałbym zrobić, żeby po przypisaniu wartości wagi do każdego przedmiotu, był zliczany ciężar wszystkich przedmiotów w ekwipunku? Mógłby ktoś podpowiedzieć, jak miałbym to zrobić? Może jakaś analogia do rozwiązań w Gothicu, o której nie pomyślałem? 

4
Skrypty / Ork nie atakuje
« dnia: 2014-11-17, 20:44 »
Witam! Chciałbym, żeby ork po rozmowie zaatakował bohatera. Jednak, kiedy ma to zrobić, to nic się nie dzieje, chociaż ma w dialogu wpisane:
Spoiler
AI_StopProcessInfos   ( self );
Npc_SetTarget(self,other);
B_Attack (self, other, AR_NONE, 2);

Skrypt orka
Spoiler
INSTANCE  NONE_5036_Hetros (C_Npc)      
{
   //-------- primary data --------
   name             =      "Hetros";
   guild          =      GIL_FRIENDLY_ORC;   
   aivar[AIV_MM_REAL_ID]   =       ID_ORCELITE;   
   id             =      5036;
   voice          =      18;
   flags             =       0;   
   Npctype          =      NPCTYPE_MAIN;
   level            =      100;

//----- Attribute -----   
   attribute   [ATR_STRENGTH]      =   425; //+180 Waffe //MIN 180!
   attribute   [ATR_DEXTERITY]      =   425;
   attribute   [ATR_HITPOINTS_MAX]   =   1;
   attribute   [ATR_HITPOINTS]      =   1;
   attribute   [ATR_MANA_MAX]       =   0;
   attribute   [ATR_MANA]          =   0;
   
   //----- Protections ----   
   protection   [PROT_BLUNT]      =   200;
   protection   [PROT_EDGE]         =   200;
   protection   [PROT_POINT]      =   200;
   protection   [PROT_FIRE]         =   200;
   protection   [PROT_FLY]         =   200;
   protection   [PROT_MAGIC]      =   150;
   
   //----- HitChances -----
   HitChance   [NPC_TALENT_1H]         = 100;
   HitChance   [NPC_TALENT_2H]         = 100;
   HitChance   [NPC_TALENT_BOW]      = 100;
   HitChance   [NPC_TALENT_CROSSBOW]   = 100;
   
   //----- Damage Types ----   
   damagetype                   =   DAM_EDGE;
//   damage      [DAM_INDEX_BLUNT]   =   0;
//   damage      [DAM_INDEX_EDGE]   =   0;
//   damage      [DAM_INDEX_POINT]   =   0;
//   damage      [DAM_INDEX_FIRE]   =   0;
//   damage      [DAM_INDEX_FLY]      =   0;
//   damage      [DAM_INDEX_MAGIC]   =   0;


   fight_tactic   =    FAI_ORC;

   Mdl_SetVisual      (self,   "Orc.mds");
   Mdl_SetVisualBody   (self,   "Orc_BodyElite",   DEFAULT,   DEFAULT,   "Orc_HeadWarrior",   DEFAULT,     DEFAULT,   -1);

   EquipItem (self, ItMw_2H_OrcSword_02);
   start_aistate            = ZS_Orc_Sit_Campfire;
   daily_routine    = Rtn_PreStart_5036;

};

FUNC VOID Rtn_PreStart_5036 ()
{   
TA_Orc_Sit_Bench     (08,00,12,00,"AR_07A");
TA_Stand_WP         (12,00,13,00,"AR_08");
TA_Orc_Eat         (13,00,14,00,"AR_08");
TA_Orc_Sit_Bench     (14,00,18,00,"AR_07A");
TA_Stand_WP         (18,00,19,00,"AR_08");
TA_Orc_Eat         (19,00,20,00,"AR_08");
TA_Orc_Sit_Campfire    (20,00,08,00,"AR_09");


};

func VOID Rtn_Guide_5036 ()
{
   TA_Guide_Player (08,00,20,00,"AR_41");
   TA_Guide_Player(20,00,08,00,"AR_41");
};
Dialog
Spoiler
//*********************************************************************
//   Info EXIT
//*********************************************************************
INSTANCE DIA_NONE_5036_Hetros_EXIT   (C_INFO)
{
   npc         = NONE_5036_Hetros;
   nr          = 999;
   condition   = DIA_NONE_5036_Hetros_EXIT_Condition;
   information = DIA_NONE_5036_Hetros_EXIT_Info;
   permanent   = TRUE;
   description = DIALOG_ENDE;
};

FUNC INT DIA_NONE_5036_Hetros_EXIT_Condition()
{
   return TRUE;
};

FUNC VOID DIA_NONE_5036_Hetros_EXIT_Info()
{
   AI_StopProcessInfos (self);
};

//*********************************************************************
//   Info Hello
//*********************************************************************
INSTANCE DIA_NONE_5036_Hetros_Hello   (C_INFO)
{
   npc         = NONE_5036_Hetros;
   nr          = 100;
   condition   = DIA_NONE_5036_Hetros_Hello_Condition;
   information = DIA_NONE_5036_Hetros_Hello_Info;
   permanent   = FALSE;
   description = "Ork na tutejszej arenie?";
};

FUNC INT DIA_NONE_5036_Hetros_Hello_Condition()
{
   return TRUE;
};

FUNC VOID DIA_NONE_5036_Hetros_Hello_Info()
{
   AI_Output (other,self ,"DIA_NONE_5036_Hetros_Hello_15_00"); //Ork na tutejszej arenie?
   AI_Output (self ,other,"DIA_NONE_5036_Hetros_Hello_08_01"); //Orkowie honorowi i silni wojownicy, morra słabe i przebiegłe.
   AI_Output (other,self ,"DIA_NONE_5036_Hetros_Hello_15_02"); //Tak, tak...
   AI_Output (self ,other,"DIA_NONE_5036_Hetros_Hello_08_03"); //Morra, jak chcieć zawalczyć z Hetrosem, to ten połamać mu wszystkie kości, a wtedy on zrozumieć moje słowa.
};


//*********************************************************************
//   Info Hello3
//*********************************************************************
INSTANCE DIA_NONE_5036_Hetros_Hello3   (C_INFO)
{
   npc         = NONE_5036_Hetros;
   nr          = 4;
   condition   = DIA_NONE_5036_Hetros_Hello3_Condition;
   information = DIA_NONE_5036_Hetros_Hello3_Info;
   permanent   = FALSE;
   description = "Chcę z tobą walczyć - jesteś gotów?";
};

FUNC INT DIA_NONE_5036_Hetros_Hello3_Condition()
{
if ((ARENAHETROS == TRUE) && (Wld_IsTime(12,00,19,59)))
   {
   return TRUE;
};
};
FUNC VOID DIA_NONE_5036_Hetros_Hello3_Info()
{
   AI_Output (other,self ,"DIA_NONE_5036_Hetros_Hello3_15_00"); //Chcę z tobą walczyć - jesteś gotów?
   AI_Output (self ,other,"DIA_NONE_5036_Hetros_Hello3_08_01"); //Morra, ty dziś umrzeć.

   AI_StopProcessInfos   ( self );
       
        Npc_ExchangeRoutine   (self,"GUIDE");

};


//*********************************************************************
//   Info Hello4
//*********************************************************************
INSTANCE DIA_NONE_5036_Hetros_Hello4  (C_INFO)
{
   npc         = NONE_5036_Hetros;
   nr          = 5;
   condition   = DIA_NONE_5036_Hetros_Hello4_Condition;
   information = DIA_NONE_5036_Hetros_Hello4_Info;
   permanent   = FALSE;
   important    = TRUE;
};

FUNC INT DIA_NONE_5036_Hetros_Hello4_Condition()
{
if ((ARENAHETROS == TRUE) && (Npc_GetDistToWp  (self,"AR_41")  <= 500))
   {
   return TRUE;
};
};
FUNC VOID DIA_NONE_5036_Hetros_Hello4_Info()
{

   AI_Output (self ,other,"DIA_NONE_5036_Hetros_Hello4_08_00"); //Morra, gotuj się na śmierć!

      AI_StopProcessInfos   ( self );
      Npc_SetTarget(self,other);
      B_Attack (self, other, AR_NONE, 2);

};


Co zrobić, by ork zaatakował bohatera?
Myślę, że zachowanie orka powinno się zmienić na    
start_aistate = ZS_MM_AllScheduler;
aivar[AIV_MM_RestStart]    = OnlyRoutine;

tylko nie wiem, jak we właściwy sposób wpisać to w dialog.


Post połączony: 2014-11-17, 21:15
Anuluję pytanie. Pospieszyłem się. Przepraszam...
Ze skryptu orka usunąłem:  daily_routine    = Rtn_PreStart_5036;
a dodałem:
start_aistate = ZS_MM_AllScheduler;
start_aistate = ZS_MM_Rtn_DragonRest;
aivar[AIV_MM_RestStart] = OnlyRoutine;
i jest dobrze.

5
Skrypty / Teleport bohatera do nowego Zena po dialogu
« dnia: 2014-10-31, 19:33 »
Witam. Chciałbym zrobić, aby bohater teleportował się do nowego świata po dialogu z drugą osobą. Na forum jest  temat:
http://themodders.org/index.php?topic=21731.0
jednak teleportacja odbywa się do miejsca w świecie, w którym przebywa aktulanie postać. Jak należałoby to poprawić, by hero teleportował się do nowego Zena?

6
Skrypty / Pojawianie się potworów o wyznaczonej godzinie
« dnia: 2014-10-21, 00:05 »
Witam! Jak zrobić, by po rozmowie z daną postacią, np. o godzinie 8.00, pojawił się potwór o godzinie np. 23.00?
Można to "połączyć" ze sobą - Wld_InsertNpc (Lurker,"XXX"); i (Wld_IsTime(12,0,23,59)  w coś takiego: Wld_InsertNpc ((Lurker,"XXX") && (Wld_IsTime(23,00)))?
 

7
Spacer / Winda w G2 NK
« dnia: 2014-04-23, 14:05 »
Witam! W jaki sposób za pomocą Spacera można zrobić "windę", tak jak np. było w Gothic I:

http://www.youtube.com/watch?v=CPHh9WHGyhg

8
MDS i animacje / Pliki ASC potworów z Dark Sagi
« dnia: 2014-04-08, 15:52 »
Witam! Czy mógłby ktoś podesłać mi pliki z Dark Sagi: GNORE_BODY.ASC, GNOREWARIOR_BODY.ASC, RABBIT_BODY.ASC, KARAKUS_BODY1.ASC oraz skrypty do tych potworów (+ skrypt piranii) z folderu ...Content\Story\NPC\Monster. Pliki tylko do mojego prywatnego użytu. 

9
MDS i animacje / Plik MDM w ASC
« dnia: 2014-04-06, 13:33 »
Witam! Jakim programem zmienić plik MDM w ASC?

10
Skrypty / Używanie czarów przez zwierzęta
« dnia: 2014-03-16, 23:33 »
Witam! Po skopiowaniu skryptów i animacji śniącego do Gothic 2 NK, ten jednak nie "pluje" ognistymi kulami, kiedy bohater zbliży się do niego. Co zrobić, żeby atakował on magią?
Skopiowane skrypty:
Spoiler
prototype MST_DEFAULT_SLEEPER(C_Npc)
{
   name[0] = "Demonikon";
   guild = GIL_DEMON;
   aivar[AIV_MM_REAL_ID] = ID_SLEEPER;
   level = 500;
   attribute[ATR_STRENGTH] = 500;
   attribute[ATR_DEXTERITY] = 500;
   attribute[ATR_HITPOINTS_MAX] = 10000;
   attribute[ATR_HITPOINTS] = 10000;
   attribute[ATR_MANA_MAX] = 500;
   attribute[ATR_MANA] = 500;
   protection[PROT_BLUNT] = 500;
   protection[PROT_EDGE] = 500;
   protection[PROT_POINT] = IMMUNE;
   protection[PROT_FIRE] = IMMUNE;
   protection[PROT_FLY] = 150;
   protection[PROT_MAGIC] = 250;
   damagetype = DAM_MAGIC;
   damage[DAM_INDEX_MAGIC] = 300;
   effect = "SPELLFX_FIREARROW";
   fight_tactic = FAI_SLEEPER;
   senses = SENSE_HEAR | SENSE_SEE | SENSE_SMELL;
   senses_range = PERC_DIST_DRAGON_ACTIVE_MAX;
   aivar[AIV_MM_FollowTime] = FOLLOWTIME_MEDIUM;
   aivar[AIV_MM_FollowInWater] = FALSE;
   aivar[AIV_MagicUser] = MAGIC_ALWAYS;
   aivar[AIV_OriginalFightTactic] = FAI_SLEEPER;
   aivar[AIV_MaxDistToWp] = 650;
   start_aistate = ZS_MM_AllScheduler;
   Npc_SetTalentSkill(self,NPC_TALENT_MAGE,6);
   aivar[AIV_MM_RestStart] = OnlyRoutine;
};

func void b_setvisuals_sleeper()
{
   Mdl_SetVisual(self,"Sleeper.mds");
   Mdl_SetVisualBody(self,"Sle_Body",DEFAULT,DEFAULT,"",DEFAULT,DEFAULT,-1);
};


instance SLEEPER(MST_DEFAULT_SLEEPER)
{
   aivar[94] = TRUE;
   b_setvisuals_sleeper();
   Mdl_SetModelScale(self,0.3,0.3,0.3);
   Npc_SetToFistMode(self);
};

W ZS_Monster
Spoiler
func void zs_sleeper()
{
   Npc_SetPercTime(self,0.5);
   b_staminainvent();
   AI_AlignToWP(self);
};

func int zs_sleeper_loop()
{
   var C_Npc outter1;
   var C_Npc outter2;
   var int randomMove;
   b_staminainvent();
   if(Npc_CanSeeNpc(self,hero) && (HEROOBSENT == FALSE))
   if(!Npc_CanSeeNpc(self,hero) && (Npc_GetDistToNpc(self,hero) <= PERC_DIST_DRAGON_ACTIVE_MAX))
   {
      AI_TurnToNPC(self,hero);
   };
   if((Npc_GetStateTime(self) > 3) && Npc_CanSeeNpc(self,hero))
   {
      Snd_Play("DEM_Warn");
      AI_PlayAni(self,"T_HURT");
      Wld_PlayEffect("SPELLFX_SLEEPER_FIREBALL",self,hero,2,1000,DAM_FIRE,TRUE);
      if(Npc_GetDistToNpc(self,hero) <= 300)
      {
         Wld_PlayEffect("spellFX_BELIARSRAGE",hero,hero,0,0,0,FALSE);
         B_MagicHurtNpc(self,hero,300);
      };
      Npc_SetStateTime(self,0);
   };
   return FALSE;
};

func void zs_sleeper_end()
{
   Wld_StopEffect("DEMENTOR_FX");
   b_staminainvent();
};


W RTN_Monster:
Spoiler
func void ZS_Sleeper()   // Immobile
{
    PrintDebugNpc      (PD_MST_FRAME, "ZS_Sleeper");
   
   Npc_PercEnable      (self,   PERC_ASSESSPLAYER,   B_Sleeper_AssessSC);
    Npc_SetPercTime      (self,   0.5);

   AI_AlignToWP      (self);                     // SN: Monster am Start am Wegpunkt ausrichten
};
func int ZS_Sleeper_loop()
{
   if (SLF_FIRE == TRUE)
   {
      AI_TurnToNpc(self,hero);
      
      if (Npc_GetStateTime(self) > 5)
      {
         Wld_PlayEffect("SPELLFX_SLEEPER_FIREBALL", self, hero, 2, 150, DAM_FIRE, TRUE); //Projetil = TRUE (trifft alle)
         Npc_SetStateTime(self,0);
      };
   };
   return 0;
};
func void ZS_Sleeper_end()
{
    PrintDebugNpc      (PD_MST_FRAME, "ZS_Sleeper_end");
};


func void B_Sleeper_AssessSC ()
{
   if    (Npc_GetDistToNpc(self,hero) < 800)
   &&   !Npc_IsInState(hero,ZS_MagicSleep)
   {
      B_FullStop      (hero);
      AI_StartState   (hero,   ZS_MagicSleep, 0, "");
   };
};

11
Skrypty / Zmiana rutyny NPC-a po rozmowie z drugim NPC-em
« dnia: 2014-03-11, 00:25 »
Witam! Jak zmienić  rutynę postaci "A" po rozmowie z postacią "B"?
W dialogu z postacią "B" mam dopisane:
Npc_ExchangeRoutine (INSTANCE_NPC, "NAZWA_RUTYNY");

A jednak nic się nie dzieje. Co musiałbym zrobić, aby NPC zmienił rutynę?

12
MDS i animacje / Problem z kobietami :))
« dnia: 2014-03-02, 14:44 »
Przezuciłem pliki kobiet z Gothic I do Gothic II i kiedy w grze przywołuję jakąś to wyskakuje mi błąd:

D: zMorphMesh(zCMorphMeshProto: LoadmorphsSript)
: MMS not found: BAB_HEAD_HAIR1. MMS


W Anims/_compiled wrzuciłem plik BAB_HEAD_HAIR1.MMB

Co mam zrobić, żeby animacje kobiet z GI zadziałały?

13
Skrypty / Nowa umiejętność
« dnia: 2014-02-27, 02:16 »
Zrobiłem nową umiejętność - jubilerstwo.
1. W: Dialog_Mobsis - Jubilerstwo.d (działa mi na 100%, teraz tylko dopiszę warunek, że NPC zna umiejętność).
2. W: AI_Constants.d - const int   MOBSI_Jubilerstwo                = 17;
3. W: B_GetLearnCostTalent.d -

if (talent == NPC_TALENT_JUBILERSTWO)
   {
      kosten = (20);
   };
4. W: Constants.d  - const int NPC_TALENT_JUBILERSTWO            = 19;
5. W: Text.d (rzecz jasna wszystko we właściwym miejscu)
"Jubilerstwo",                       //NPC_TALENT_C      = 19;
"-|Uczony",                  //NPC_TALENT_C      = 19;
const string PRINT_LearnJubilerstwo   = "Nauka wyrobu artykułów jubilerskich";

Nie ma będów.
Pytanie: Czy pominąłem jakiś pliki niezbędne do tego, aby umiejętność działała w grze? I które pliki muszę edytować, aby w oknie umiejętności w czasie gry pojawiła się nowa profesja? (wiem, że coś trzeba zmienić w pliku Menu_Status.d, i że kiedyś na forum było coś podobnego).

 

14
Zrobiłem miecz runiczny według wzoru;
http://thedragonmasters.net/viewtopic.php?f=32&t=731&sid=f197c41bdc0b7bfd07bc90df29e5f4de
Jednak, kiedy zabiję nim jakieś zwierzę nie otrzymuję za nie doświadczenia. Co muszę zrobić, aby bohater otrzymywał doświadczenie?

15
MDS i animacje / Niedopracowana animacja rąbania drewna
« dnia: 2014-02-26, 00:57 »
Siągnąłem animację rąbania drewna:
http://www.worldofgothic.de/?go=moddb&action=view&fileID=823&cat=1&page=3&order=0
Animacja dobrze chodzi w grze, jednak kiedy nasz bohater kończy pracę, znika jego siekiera, którą rąbał drzewo. 
Również w jego ekwipunku nie ma drewna, które urąbał, a jedynie vob - drewko z wbitą w nie siekierą. Jest to trochę nielogiczne, bo w jego ekwipunku powinny być oddzielnie siekiera i drewno. Stworzyłem skrypt drewna (itmi_drewno_opalowe), próbowałem usunąć drewno z siekierą (łącznie) i dać (oddzielnie) siekerę i drewno, jednak nadpisanie pliku HumanS.d kończyło się tym, że gra nie chciała się uruchomić. Co miałbym nadpisać, aby było ok?

Cytuj
ani ("t_HolzSpalten_Stand_2_S0"   1 "s_HolzSpalten_S0" 0.1   0.0   M. "Hum_TREASURE_A01.asc" F   0   75)
      
      {
         *eventTag (0 "DEF_CREATE_ITEM" "ZS_LEFTHAND" "ItMw_HolzAxt")
         *eventPFX   (44      1   "CPFX_IAI_STONE"   "ZS_RIGHTHAND"   )
         *eventSFX   (44         "pickore"   R:1000   EMPTY_SLOT)
         
      }
      
      ani ("s_HolzSpalten_S0" 1 "s_HolzSpalten_S0" 0.1 0.0 M. "Hum_TREASURE_A01.asc" F 44 75)      
      
      {
         *eventTag (44 "DEF_EXCHANGE_ITEM" "ZS_LEFTHAND" "ItMw_HolzAxt_h")
      }
      
      
      
      ani ("t_HolzSpalten_S0_2_Stand" 1 "" 0.1 0.4 M. "Hum_TREASURE_A01.asc" F 75 75)      
      {
         *eventTag (75 "DEF_REMOVE_ITEM" )
      }
      ani ("t_HolzSpalten_S0_2_S1" 1 "s_HolzSpalten_S1" 0.1 0.0 M. "Hum_TREASURE_A01.asc" F 75 75)
      
      ani ("s_HolzSpalten_S1"   1 "s_HolzSpalten_S1" 0.0 0.1 M. "Hum_TREASURE_A01.ASC" F 15 75)
      
      {   
         
         *eventPFX   (44      1   "CPFX_IAI_STONE"   "ZS_RIGHTHAND"   )
         *eventSFX   (44         "pickore"   R:1000   EMPTY_SLOT)
      }
      
      
      
      ani ("t_HolzSpalten_S1_2_S0" 1 "s_HolzSpalten_S0" 0.1 0.0 M. "Hum_TREASURE_A01.asc" F 0 0)



2. Pytanie. Ściągnąłem animację sarkofagu orków:
http://www.worldofgothic.de/?go=moddb&action=view&fileID=857&cat=1&page=2&order=0
Wstawiłem ją do gry przez oCMobContainer, postać kiedy podchodzi do sakrofagu wykonuje swoją animację: klęka na kolano i wykonuje ruch rękoma, jakby ponosiła wieko, ale nie pojawia się animacja przedmiotu. Po raz kolejny, co źle zrobiłem? ;D

16
MDS i animacje / Problem z animacjami z WOG
« dnia: 2014-02-23, 11:36 »
Witam!
Dodałem do Gothic II NK kilka animacji, np.:
http://www.worldofgothic.de/?go=moddb&action=view&fileID=832&cat=1&page=2&order=0
http://www.worldofgothic.de/?go=moddb&action=view&fileID=857&cat=1&page=2&order=0
http://www.worldofgothic.de/?go=moddb&action=view&fileID=855&cat=1&page=2&order=0

 - postępowałem dokładnie, jak jest napisane w dołączonych instrukcjach. Po wstawieniu obiektów do gry, NPC podchodzi do nich i jakby wykonywał już właściwe zadanie, to jednak akcja zostaje przerwana i nic się nie dzieje.
W czym może tkwić problem?

17
Skrypty / Cztery pytania (Gothic 2 NK)
« dnia: 2014-02-15, 17:17 »
Witam serdecznie, mam następujące problemy:

1. Jak zmienić nastawienie NPC-a po przegranej przez niego walce, aby ten chciał z nami rozmawiać?

2. Co należy dopisać do skryptu zbroi, aby można było ją założyć dopiero po zdobyciu określonej liczby punktów siły?

3. Co należy dopisać do skryptu nowostworzonej zbroi, aby neutralne NPC-y chciały rozmawiać z bohaterem i nie kazały zmienić stroju?

4. Mam też problem z handlarzami w nowych Zenach, otóż nie mają oni produktów, którymi powinni handlować, choć dialogi i skrypty w B_GiveTradeInv są prawidłowe. Nie ma tego problemu z dodanymi handlarzami w Khorinis, Górniczej Dolinie, czy Jarkenderze.

Domyślam się, że nie są to jakieś "wielkie" problemy dla doświadczonych skrypterów. Dla mnie pomoc w ich rozwiązaniu sprawi, że w wolnych chwilach będę mógł pobawić się w edycję Gothica.

Pozdrawiam serdecznie!

18
Skrypty / Problem ze Śniącym
« dnia: 2013-11-30, 15:19 »
Witam! Mam taki mały problem - po wstawieniu Śniącego do Gothic II, nie atakuje bohatera. Wiem, że miana gildii nie jest rozwiązaniem. Co mam zrobić, aby zaczął on atakować. Pozdrawiam serdecznie.   

19
Pytania i problemy / Dwa pytania
« dnia: 2013-07-26, 00:01 »
Witam!

Mam dwa pytania dotyczące Gothic II NK.
1. Jak zrobić, aby podczas przejścia do własnego "świata" (ZEN-a) zastąpić opcjonalny, szary ekran własnym obrazem?
2. Jak zrobić, aby dodane do gry postaci strzegły "własnych" skrzyń, przedmiotów, domostw przed kradzieżą ze strony bohatera? A w przypadku nieuzasadnionego przywłaszczenia jakiejś rzeczy, atakowały go i zmieniało się im nastawienie wobec niego na niechętne?

Pozdrawiam serdecznie!
Piotrek

Strony: [1]
Do góry