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.


Wiadomości - nocnymocny

Strony: [1] 2 3 4
1
Skrypty / Problem z wyborem strzał
« dnia: 2015-07-29, 16:30 »
Wszystko już działa, jak powinno. Chicken wielkie dzięki!

2
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);
};

3
Archiwum / Gothic DirectX 11
« dnia: 2015-05-18, 01:28 »
Witam! Zainstalowałem wszystkie potrzebne rzeczy do G2 NK, ale w trakcie ładowania, przerywa mi grę i wyrzuca do Windowsa. Błąd jest następujący:
0023:6409EE4E(...) d3d11.dll
0023:6AA7E163 (...) DDRAW.dll
0023:6AA818BF (...) DDRAW.dll
 
Komputer: www.x-kom.pl/p/189486-notebook-laptop-17-3-acer-v3-772g-i7-4702mq-8gb-1000-gtx850m-fhd.html
Windows 7 64-bit

Co muszę zrobić (czy zrobiłem coś nie tak?) aby uruchomić Gothic z DX11?

4
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.

5
Skrypty / Udżwig w Gothic II NK
« dnia: 2014-12-10, 22:35 »
W Gothic II NK, jest podobnie; w CLASSES jest: VAR INT  weight,value; ale nic więcej, co można wykorzystać.

6
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? 

7
Skrypty / Rutyna trzymania pochodni.
« dnia: 2014-12-04, 20:24 »

8
Skrypty / Ork nie atakuje
« dnia: 2014-11-18, 18:51 »
Ok. Dzięki za odpowiedzi. Problem jest rozwiązany i temat do zamknięcia.

9
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.

10
Spacer / Dodanie skrzyni do G NK
« dnia: 2014-11-04, 18:39 »
Np:
Kategorie:              oCMobContainer
Visual:              CHESTSMALL_NW_POOR_LOCKED.MDS
Focus Name:      MOBNAME_CHEST
cdStatic:TRUE
cdDyn:TRUE
static Vob:TRUE
Locked:FALSE oder TRUE(-1)
KeyInstance:zum Beispiel ItKe_Key_01
Contains: zum Beispiel "ItMI_Gold:25,ItFo_Mutton:5,ItPo_Health_02:2 "

A najlepiej ściągnąć "G2 Mob Katalog" - gdzie masz wszystko ładnie podane.

11
Skrypty / Teleport bohatera do nowego Zena po dialogu
« dnia: 2014-10-31, 19:57 »
Fakt, przypomniałeś mi, że już kiedyś była mowa o tym na forum. Wiem o co chodzi. Dziękuje za przypomnienie i znowu przepraszam za niepotrzebny temat.

12
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?

13
Skrypty / Pojawianie się potworów o wyznaczonej godzinie
« dnia: 2014-10-22, 20:55 »
Poprawiłem skrypty i wszystko działa, jak trzeba; pojawia się tylko jeden potworzak i tylko raz. Dzięki za pomoc Avallach i chicken.  :ok:

14
Skrypty / Pojawianie się potworów o wyznaczonej godzinie
« dnia: 2014-10-22, 16:53 »
Zastosowałem zmienną, ale nadal jest to samo.

15
Skrypty / Pojawianie się potworów o wyznaczonej godzinie
« dnia: 2014-10-21, 23:33 »
Fakt "przesypiałem" godzinę 00.00, ale jak poczekałem to demon pojawił się w wyznaczonym miejsu, tylko nie jeden a z 50, jak nie lepiej.

16
Skrypty / Pojawianie się potworów o wyznaczonej godzinie
« dnia: 2014-10-21, 22:35 »
Dzięki Avallach. Zrobiłem to bez ticktocka, może nie tak, jakbym chciał, ale też mnie to zadowala. Dopisałem do monologu spania, żeby po spełnieniu odpowienich warunków, bohater spał do 23, po położeniu i wstaniu o wyznaczonej porze pojawiają sie w danym  miejscu potwory. Po ich zabiciu monolog spania do 23 jest już nieaktywny, żeby potwory nie pojawiały się bez końca. I jeszcze pytanko do tego: http://themodders.org/index.php?topic=85 Dopisałem:

func void B_RefreshArmor()
{

if (MIS_POTWOR == LOG_Running)
{
Wld_InsertNpc    (Demon,       "PIR_87");
};
};
Warunek jest spełniony, jednak o 00.00 nie pojawia się potwór. Co muszę poprawić?


 

17
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)))?
 

18
Skrypty / Wygląd okna umiejętności
« dnia: 2014-05-19, 17:38 »
Tekstrury krwi:
ZBLOODSPLAT0.TGA
ZBLOODSPLAT1.TGA
ZBLOODSPLAT2.TGA
...
ZBLOODSPLAT10.TGA

Są one w folderze: Gothic II\_Work\data\Textures\_intern\_Blood

19
Pytania i problemy / Śmieszny błąd...
« dnia: 2014-04-24, 14:49 »
C:\Program Files\Gothic II\_Work\data\Anims\HumanS - dopisz modele pancerzy, które dodałeś do gry. Gdy modele nie były zarejestrowane czasami robiło się tak, że zbroje "nakładały" się na siebie.

20
Spacer / Winda w G2 NK
« dnia: 2014-04-23, 22:07 »
Ok. Dziękuje Ci Avallach. Czynność okazała się bardzo prosta. Tylko teraz jeszcze dodatkowe "małe" pytanie:
- jaka jest nazwa dźwieku towarzyszącego przesuwaniu się elementów drewnianych? (do ścian z cegieł jest: STONE_SMALL_START)   

Strony: [1] 2 3 4
Do góry