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 - chemik

Strony: [1] 2
1
Skrypty / Filtr na ekranie
« dnia: 2011-10-30, 11:10 »
A jak by to około wyglądało? Bo nigdy nie pracowałem z efektami :/ Dotychczas robiłem proste itemy, NPC'ów, dialogi i proste questy. Trochę też pracowałem na modelach. Może dam skrypt pierścienia:
INSTANCE ItRi_One_Ring(C_Item)
{
name = NAME_Ring;

mainflag = ITEM_KAT_MAGIC;
flags = ITEM_RING;

value = 5000;

visual = "ring.3ds";

visual_skin = 0;
material = MAT_METAL;
on_equip = Equip_ItRi_One_Ring;
on_unequip = UnEquip_ItRi_One_Ring;

description = "Jedyny Pierścień";

TEXT[2] = "";
TEXT[3]        = "";

TEXT[5] = NAME_Value;
COUNT[5] = value;

INV_ZBIAS = 200;
INV_ROTZ = INVCAM_Z_RING_STANDARD;
INV_ROTX = INVCAM_X_RING_STANDARD;

};

FUNC VOID Equip_ItRi_One_Ring()
{
                Npc_ChangeAttribute(self,ATR_HITPOINTS_MAX, 500);
Npc_ChangeAttribute(self,ATR_HITPOINTS, 500);
Npc_ChangeAttribute(self,ATR_STRENGTH, 50);
Wld_PlayEffect("screenblend.scx",  hero, hero, 0, 0, 0, FALSE );
};

FUNC VOID UnEquip_ItRi_One_Ring()
{
                if (self.attribute [ATR_HITPOINTS] < 500)
                {
                        self.attribute[ATR_HITPOINTS] = 1;
                }
                else
                {
                        Npc_ChangeAttribute(self,ATR_HITPOINTS,- 500);
                };
       Npc_ChangeAttribute(self,ATR_HITPOINTS_MAX,- 500);
       Npc_ChangeAttribute(self,ATR_STRENGTH,- 50);
       Wld_StopEffect("screenblend.scx");
};
Tę funkcję efektową skopiowałem z dialogu poszukiwacza. Nie mam pojęcia co znaczą te atrybutyhero hero 0 0 0 FalseTen skrypt prasuje się bezbłędnie, ale po założeniu, pierścień nie daje żadnego efektu.

2
Skrypty / Filtr na ekranie
« dnia: 2011-10-25, 20:36 »
Dało by się zrobić tak, że np. po założeniu pierścienia czy amuletu cały "świat" jest widziany w skalach szarości?
Bo jak gadasz z poszukiwaczem to ekran się robi różowy i faluje, a ja bym chciał pierścień "zszarzający" rzeczywistość.

3
Skrypty / Problem
« dnia: 2010-08-09, 18:06 »
Żeby było widać "dymki" dialogów trzeba stworzyć paczkę z modem. Z Gothic Startera nie zadziała.
Paczki robi się GothicVDFS-em.

A tak w ogóle to temat nie powinien nazywać się "Problem", tylko np. "Nie widać dialogów".

4
Skrypty / Problem
« dnia: 2010-08-08, 19:39 »
A zreprasowałeś dialogi spacerem?
TU masz tutorial.

5
Skrypty / MakeRune.d Problemy z nowymi runami
« dnia: 2010-08-07, 12:45 »
Ale ja ten skrypt zrobiłem właśnie na kształt innych z MakeRune. Poza tym w MakeRune są addchoice, dowody? Proszę uprzejmie:
Cytuj
//*******************************************************
// Runen- Erschaffung Dialoge
//---------------------------
//*******************************************************

INSTANCE PC_Circle_01 (C_Info)
{
   npc            = PC_Hero;
   condition      = PC_Circle_01_Condition;
   information      = PC_Circle_01_Info;
   permanent      = TRUE;
   description      = "Twórz runy pierwszego kręgu";
};

FUNC INT PC_Circle_01_Condition ()
{
   if( (PLAYER_MOBSI_PRODUCTION   ==   MOBSI_MAKERUNE)
   && ((PLAYER_TALENT_RUNES[SPL_LIGHT] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_Firebolt] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_LightHeal] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_SummonGoblinSkeleton] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_Zap] == TRUE) ) )
   {   
      return TRUE;
   };
};

FUNC VOID PC_Circle_01_Info()
{
   Info_ClearChoices (PC_Circle_01);
   
   Info_AddChoice      (PC_Circle_01,DIALOG_BACK,PC_Circle_01_BACK);
   if (PLAYER_TALENT_RUNES[SPL_LIGHT] == TRUE)
   {
      Info_AddChoice      (PC_Circle_01,NAME_SPL_LIGHT,PC_ItRu_Light_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_Firebolt] == TRUE)
   {
      Info_AddChoice      (PC_Circle_01,NAME_SPL_Firebolt,PC_ItRu_Firebolt_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_Zap] == TRUE)
   {
      Info_AddChoice      (PC_Circle_01,NAME_SPL_Zap,PC_ItRu_Zap_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_LightHeal] == TRUE)
   {
      Info_AddChoice      (PC_Circle_01,NAME_SPL_LightHeal,PC_ItRu_LightHeal_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_SummonGoblinSkeleton] == TRUE)
   {
      Info_AddChoice      (PC_Circle_01,NAME_SPL_SummonGoblinSkeleton,PC_ItRu_SumGobSkel_Info);
   };
   
};
FUNC VOID PC_Circle_01_BACK()
{
   Info_ClearChoices (PC_Circle_01);
};

I co?

EDIT: Pomóżcie mi proszę. Przez ten błąd stoi produkcja mojego moda.

6
Skrypty / MakeRune.d Problemy z nowymi runami
« dnia: 2010-08-06, 16:42 »
Zrobiłem jak kazałeś i teraz mam unknown identifier: PC_RUNE_TRANSFORM_CIRCLE1
skrypt wygląda tak:
Cytuj
//#######################################
//      MOD
//#######################################

INSTANCE PC_Rune_Transform (C_Info)
{
   npc            = PC_Hero;
   nr      = 998;
   condition      = PC_Rune_Transform_Condition;
   information      = PC_Rune_Transform_Info;
   permanent      = TRUE;
   description      = "Twórz runy przemian";
};

FUNC INT PC_Rune_Transform_Condition ()
{
   if( (PLAYER_MOBSI_PRODUCTION   ==   MOBSI_MAKERUNE)
   && ((PLAYER_TALENT_RUNES[SPL_TrfDragonSnapper] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfSheep] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfScavenger] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfGiantRat] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfGiantBug] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfWolf] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfWaran] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfSnapper] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfWarg] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfFireWaran] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfLurker] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfShadowbeast   ] == TRUE) ) )
   {   
      return TRUE;
   };
};

FUNC VOID PC_Rune_Transform_Info()
{
   Info_ClearChoices (PC_Rune_Transform);
   
   Info_AddChoice      (PC_Rune_Transform,DIALOG_BACK,PC_Rune_Transform_BACK);
   if (PLAYER_TALENT_RUNES[SPL_TrfSheep] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy pierwszego Kręgu",PC_Rune_Transform_Circle1);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfScavenger] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfGiantRat] == TRUE)
   || (PLAYER_TALENT_RUNES[SPL_TrfGiantBug] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy drugiego Kręgu",PC_Rune_Transform_Circle2);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfWolf] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfWaran] == TRUE)
   || (PLAYER_TALENT_RUNES[SPL_TrfLurker] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy trzeciego Kręgu",PC_Rune_Transform_Circle3);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfWarg] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfFireWaran] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy czwartego Kręgu",PC_Rune_Transform_Circle4);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfSnapper] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfDragonSnapper] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy piątego Kręgu",PC_Rune_Transform_Circle5);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfShadowbeast] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy szóstego Kręgu",PC_Rune_Transform_Circle6);
   };
   
};
FUNC VOID PC_Rune_Transform_BACK()
{
   Info_ClearChoices (PC_Rune_Transform);
};

FUNC VOID PC_Rune_Transform_Circle1_Info ()
{
   Info_ClearChoices (PC_Rune_Transform_Circle1);
   
   Info_AddChoice      (PC_Rune_Transform_Circle1,DIALOG_BACK,PC_Rune_Transform_Circle1_BACK);
   if (PLAYER_TALENT_RUNES[SPL_TrfSheep] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform_Circle1,"Przemiana w owcę",PC_ItRu_SheepTrf_Info);
   };
   
};

FUNC VOID PC_Rune_Transform_Circle1_BACK()
{
   Info_ClearChoices (PC_Rune_Transform_Circle1);
};

//****************************************************************************************************

FUNC VOID PC_Rune_Transform_Circle2_Info ()
{
   Info_ClearChoices (PC_Rune_Transform_Circle2);
   
   Info_AddChoice      (PC_Rune_Transform_Circle2,DIALOG_BACK,PC_Rune_Transform_Circle2_BACK);
   if (PLAYER_TALENT_RUNES[SPL_TrfScavenger] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform_Circle2,"Przemiana w ścierwojada",PC_ItRu_ScavengerTrf_Info);
   };

EDIT: Pomoże mi ktoś?

7
Skrypty / MakeRune.d Problemy z nowymi runami
« dnia: 2010-08-06, 14:09 »
Nad tym skryptem męczyłem się trzy dni, a pod koniec taka przykra niespodzianka, Błąd:
U:PAR: CONTENT\STORY\DIALOG_MOBSIS\MAKERUNE.D: Unknown identifier: PC_TRF1CIRCLE
Co tu jest żle?

Oto fragment skryptu(nie zżynać :D  ):

Cytuj
//#######################################
//      MOD
//#######################################

INSTANCE PC_Rune_Transform (C_Info)
{
   npc            = PC_Hero;
   nr      = 998;
   condition      = PC_Rune_Transform_Condition;
   information      = PC_Rune_Transform_Info;
   permanent      = TRUE;
   description      = "Twórz runy przemian";
};

FUNC INT PC_Rune_Transform_Condition ()
{
   if( (PLAYER_MOBSI_PRODUCTION   ==   MOBSI_MAKERUNE)
   && ((PLAYER_TALENT_RUNES[SPL_TrfDragonSnapper] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfSheep] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfScavenger] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfGiantRat] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfGiantBug] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfWolf] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfWaran] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfSnapper] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfWarg] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfFireWaran] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfLurker] == TRUE)
   ||  (PLAYER_TALENT_RUNES[SPL_TrfShadowbeast   ] == TRUE) ) )
   {   
      return TRUE;
   };
};

FUNC VOID PC_Rune_Transform_Info()
{
   Info_ClearChoices (PC_Rune_Transform);
   
   Info_AddChoice      (PC_Rune_Transform,DIALOG_BACK,PC_Rune_Transform_BACK);
   if (PLAYER_TALENT_RUNES[SPL_TrfSheep] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy pierwszego Kręgu",PC_Trf1Circle_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfScavenger] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfGiantRat] == TRUE)
   || (PLAYER_TALENT_RUNES[SPL_TrfGiantBug] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy drugiego Kręgu",PC_Trf2Circle_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfWolf] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfWaran] == TRUE)
   || (PLAYER_TALENT_RUNES[SPL_TrfLurker] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy trzeciego Kręgu",PC_Trf3Circle_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfWarg] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfFireWaran] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy czwartego Kręgu",PC_Trf4Circle_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfSnapper] == TRUE)
   && (PLAYER_TALENT_RUNES[SPL_TrfDragonSnapper] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy piątego Kręgu",PC_Trf5Circle_Info);
   };
   if (PLAYER_TALENT_RUNES[SPL_TrfShadowbeast] == TRUE)
   {
      Info_AddChoice      (PC_Rune_Transform,"Runy szóstego Kręgu",PC_Trf6Circle_Info);
   };
   
};
FUNC VOID PC_Rune_Transform_BACK()
{
   Info_ClearChoices (PC_Rune_Transform);
};

FUNC VOID PC_Trf1Circle_Info ()
{
   Info_ClearChoices (PC_Trf1Circle);
   
   Info_AddChoice      (PC_Trf1Circle,DIALOG_BACK,PC_Trf1Circle_BACK);
   if (PLAYER_TALENT_RUNES[SPL_TrfSheep] == TRUE)
   {
      Info_AddChoice      (PC_Trf1Circle,"Przemiana w owcę",PC_ItRu_SheepTrf_Info);
   };
   
};

FUNC VOID PC_Trf1Circle_BACK()
{
   Info_ClearChoices (PC_Trf1Circle);
};

//****************************************************************************************************

FUNC VOID PC_Trf2Circle_Info ()
{
   Info_ClearChoices (PC_Trf2Circle);
   
   Info_AddChoice      (PC_Trf2Circle,DIALOG_BACK,PC_Trf2Circle_BACK);
   if (PLAYER_TALENT_RUNES[SPL_TrfScavenger] == TRUE)
   {
      Info_AddChoice      (PC_Trf2Circle,"Przemiana w ścierwojada",PC_ItRu_ScavengerTrf_Info);
   };

EDIT: Sory, zapomniałem, że ten temat powinien być w 'Błędy podczas reprasowania'

8
Błędy podczas parsowania / Expected ')'
« dnia: 2010-08-01, 13:53 »
Adanos jesteś wielki. Wszystko działa :)  ( no było jeszcze parę błędów ale wszystkie naprawiłem) Wielkie Dzięki.

9
Błędy podczas parsowania / Expected ')'
« dnia: 2010-08-01, 13:11 »
Mam taki błąd Expected ')' line 121. Tak wygląda skrypt:

Cytuj
//----------------------------------------------------------------------
//   Info EXIT
//----------------------------------------------------------------------
INSTANCE DIA_Teny_EXIT   (C_INFO)
{
   npc         = NONE_8989_Teny;
   nr          = 998;
   condition   = DIA_Teny_EXIT_Condition;
   information = DIA_Teny_EXIT_Info;
   permanent   = TRUE;
   description = DIALOG_ENDE;
};
FUNC INT DIA_Teny_EXIT_Condition()
{
   return TRUE;
};
FUNC VOID DIA_Teny_EXIT_Info()
{   
   AI_StopProcessInfos (self);
};

//----------------------------------------------------------------------
//   Info Hello
//----------------------------------------------------------------------
INSTANCE DIA_Teny_Hello   (C_INFO)
{
   npc         = NONE_8989_Teny;
   nr          = 1;
   condition   = DIA_Teny_Hello_Condition;
   information = DIA_Teny_Hello_Info;
   permanent   = FALSE;
   description = "Jak leci?";
};
FUNC INT DIA_Teny_Hello_Condition()
{   
   
   return TRUE;
   
};
FUNC VOID DIA_Teny_Hello_Info()
{   
   AI_Output (other, self, "DIA_NONE_8989_Teny_Hello_15_00"); //Jak leci?
   AI_Output (self, other, "DIA_NONE_8989_Teny_Hello_89_01"); //Może być. Odkąd otworzyłem ten interes wiedzie mi się coraz lepiej.
};

//----------------------------------------------------------------------
//   Hello2
//----------------------------------------------------------------------
INSTANCE DIA_Teny_Hello2   (C_INFO)
{
   npc         = NONE_8989_Teny;
   nr          = 1;
   condition   = DIA_Teny_Hello2_Condition;
   information = DIA_Teny_Hello2_Info;
   permanent   = FALSE;
   description = "Hodujesz psy?";
};
FUNC INT DIA_Teny_Hello2_Condition()
{
   if (Npc_KnowsInfo (other, DIA_Teny_Hello))
   {   
   return TRUE;
   };
};
FUNC VOID DIA_Teny_Hello2_Info()
{   
   AI_Output (other, self, "DIA_NONE_8989_Teny_Hello2_15_00"); //Hodujesz psy?
   AI_Output (self, other, "DIA_NONE_8989_Teny_Hello2_89_01"); //Tak, to nawet dość opłacalne zajęcie.
   AI_Output (self, other, "DIA_NONE_8989_Teny_Hello2_89_02"); //Poza tym kocham te małe słodziaki.
};

//----------------------------------------------------------------------
//   Hello3
//----------------------------------------------------------------------
INSTANCE DIA_Teny_Hello3   (C_INFO)
{
   npc         = NONE_8989_Teny;
   nr          = 1;
   condition   = DIA_Teny_Hello3_Condition;
   information = DIA_Teny_Hello3_Info;
   permanent   = FALSE;
   description = "Mogę kupić psa?";
};
FUNC INT DIA_Teny_Hello3_Condition()
{
   if (Npc_KnowsInfo (other, DIA_Teny_Hello2))
   {   
   return TRUE;
   };
};
FUNC VOID DIA_Teny_Hello3_Info()
{   
   AI_Output (other, self, "DIA_NONE_8989_Teny_Hello3_15_00"); //Mogę kupić psa?
   AI_Output (self, other, "DIA_NONE_8989_Teny_Hello3_89_01"); //Jasne. Tylko będzie cię to kosztować 150 sztuk złota.
   AI_Output (self, other, "DIA_NONE_8989_Teny_Hello3_89_02"); //To co? Zainteresowany?
};

//----------------------------------------------------------------------
//   Trade
//----------------------------------------------------------------------
INSTANCE DIA_Teny_Trade   (C_INFO)
{
   npc         = NONE_8989_Teny;
   nr          = 1;
   condition   = DIA_Teny_Trade_Condition;
   information = DIA_Teny_Trade_Info;
   permanent   = FALSE;
   description = "Kupuję psa";
};
FUNC INT DIA_Teny_Trade_Condition()
{
   if (Npc_KnowsInfo (other, DIA_Teny_Hello3))
   {   
   return TRUE;
   };
};
FUNC VOID DIA_Teny_Trade_Info()
{   
   AI_Output (other, self, "DIA_NONE_8989_Teny_Trade_15_00"); //Kupuję psa.

   if (Npc_HasItems (other, ItMi_gold, 150))
   {
      AI_Output (self, other, "DIA_NONE_8989_Teny_Trade_89_01"); //Dobra, weź jednego.
      AI_Output (self, other, "DIA_NONE_8989_Teny_Trade_89_02"); //Tylko dbaj o niego.
      
      B_GiveInvItems (other, self, ItMi_gold, 150);
      Wld_InsertNpc (Dog_my,"XXX");
   }
   else
   {
      AI_Output (self, other, "DIA_NONE_8989_Teny_Trade_89_03"); //Nie masz wystarczającej ilości złota.
   }
};

//----------------------------------------------------------------------
//   Trade2
//----------------------------------------------------------------------
INSTANCE DIA_Teny_Trade   (C_INFO)
{
   npc         = NONE_8989_Teny;
   nr          = 1;
   condition   = DIA_Teny_Trade2_Condition;
   information = DIA_Teny_Trade2_Info;
   permanent   = TRUE;
   description = "Kupuję psa";
};
FUNC INT DIA_Teny_Trade2_Condition()
{
   if (Npc_KnowsInfo (other, DIA_Teny_Trade))
   {   
   return TRUE;
   };
};
FUNC VOID DIA_Teny_Trade2_Info()
{   
   AI_Output (other, self, "DIA_NONE_8989_Teny_Trade2_15_00"); //Kupuję psa.

   if (Npc_HasItems (other,ItMi_Gold, 150))
   {
      if (Npc_IsDead(Dog_my))
      {
         AI_Output (self, other, "DIA_NONE_8989_Teny_Trade2_89_01"); //Jasne.
         AI_Output (self, other, "DIA_NONE_8989_Teny_Trade2_89_02"); //Ale nie pozwól mu zginąć, dobra?
      
         B_GiveInvItems (other, self, itmi_gold, 150);
         Wld_InsertNpc (Dog_my,"XXX");
      }
      else
      {
         AI_Output (self, other, "DIA_NONE_8989_Teny_Trade2_89_03"); //Po co ci dwa psy, hę? Nie dam ci drugiego.
      }
   
   }
   else
   {
      AI_Output (self, other, "DIA_NONE_8989_Teny_Trade2_89_04"); //Nie masz wystarczającej ilości złota.
   }
};
Pogrubiłem 121 linijkę. Ale nie mogę znaleźć w niej żadnego błędu. Pomocy!!!

10
Spacer / Vobblider(cz jakoś tak) do gothica 2
« dnia: 2010-06-14, 18:20 »
Tak jak w temacie. Czy istnieje gdzieś taki zbiór obrazków przedstawiających meshe z gothic'a 2 z oryginalnymi nazwami?

11
Skrypty / Pierścień przyzywania
« dnia: 2010-06-12, 20:38 »
Ta komenda B_StartotherRoutine (NONE_7777_MS, "START"); nie działa. NPC wciąż zachowuje się jak worek treningowy, tj. nie można z nim zagadać, nie reaguje na ciosy (nie oddaje) i nie łazi za mną. CO ZROBIĆ??? ;(

EDIT: UDAŁO SIĘ  :(  :D  :D    !!!! Po prostu konendę B_StartotherRoutine (NONE_7777_MS, "START"); dałem przed Wld_SpawnNpcRange (self, NONE_7777_MS, 1, 500); i dlatego nie działało. Dziękuję wszystkim którzy mi pomogli, a propos, to gdzie
Cytuj
Dobre, jak skończysz skrypt ów pierścienia wstaw tu.
Powodzenia przy robocie. 4.gif
mam to wstawić?

12
Skrypty / Pierścień przyzywania
« dnia: 2010-06-09, 18:03 »
Dzięki Vayurax, ta komenda działa. Ale co mam zrobić, żeby ten npc przywołany z pierścienia za mną chodził? Bo nie zrozumiałem RafalBudzis-a.

13
Skrypty / Pierścień przyzywania
« dnia: 2010-06-06, 18:37 »
Zrobiłem pierścień przyzywania NPC-a Oto skrypt:
Cytuj
INSTANCE ItRi_Nekr_Ring2(C_Item)
{
   name             =   NAME_Ring;

   mainflag             =   ITEM_KAT_MAGIC;
   flags             =   ITEM_RING;

   value             =   0;

   visual             =   "ItRi_Prot_Fire_02.3ds";

   visual_skin          =   0;
   material             =   MAT_METAL;
   on_equip            =   Equip_ItRi_Nekr_Ring2;
   on_unequip         =   UnEquip_ItRi_Nekr_Ring2;

   wear            =    WEAR_EFFECT;
   effect            =   "ITEMGLIMMER";

   description         = "Pierścień Mrocznego Strażnika";
   
   TEXT[5]            = NAME_Value;
   COUNT[5]            = value;
      
};

   FUNC VOID Equip_ItRi_Nekr_Ring2 ()
   {
      Wld_SpawnNpcRange   (self,   NONE_7777_MS,   1,   500);
   };

   FUNC VOID UnEquip_ItRi_Nekr_Ring2 ()
   {
      
   };

A oto skrypt tego NPC-a:

instance NONE_7777_MS (Npc_Default)
{
// ------ NPC ------
name = "Mroczny Sługa";
guild = GIL_NONE;
id = 7777;
voice = 11;
flags   = NPC_FLAG_GHOST;
npctype = NPCTYPE_MAIN;

// ------ Atrybuty ------
attribute[ATR_STRENGTH] = 500;
attribute[ATR_DEXTERITY] = 500;
attribute[ATR_MANA_MAX] = 500;
attribute[ATR_MANA] = 500;
attribute[ATR_HITPOINTS_MAX] = 500;
attribute[ATR_HITPOINTS] = 500;

// ------ AIVAR ------
aivar[AIV_IGNORE_Murder] = TRUE;
aivar[AIV_IgnoresArmor] = TRUE;

// ------ Taktyka walki ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Ekwipunek ------
EquipItem (self, ItMw_Secrets_Weapon);

// ------ Wygląd ------
B_SetNpcVisual (self, MALE, "Hum_Head_Psionic", Face_N_CoolPock, BodyTex_N, ITAR_XARDAS);
Mdl_SetModelFatness (self, 0);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");

// ------ Umiejętności ------
Npc_SetTalentSkill (self, NPC_TALENT_MAGE, 6);
Npc_SetTalentSkill (self, NPC_TALENT_PICKLOCK, 0);
Npc_SetTalentSkill (self, NPC_TALENT_SNEAK, 0);
Npc_SetTalentSkill (self, NPC_TALENT_ACROBAT, 0);
Npc_SetTalentSkill (self, NPC_TALENT_PICKPOCKET, 0);
Npc_SetTalentSkill (self, NPC_TALENT_SMITH, 0);
Npc_SetTalentSkill (self, NPC_TALENT_RUNES, 0);
Npc_SetTalentSkill (self, NPC_TALENT_ALCHEMY, 0);
Npc_SetTalentSkill (self, NPC_TALENT_TAKEANIMALTROPHY, 0);

// ------ Umiejętności bojowe ------
B_AddFightSkill (self, NPC_TALENT_1H, 100);
B_AddFightSkill (self, NPC_TALENT_2H, 100);  
B_AddFightSkill (self, NPC_TALENT_BOW, 100);
B_AddFightSkill (self, NPC_TALENT_CROSSBOW, 100);

// ------ Rutyna ------
daily_routine = Rtn_Start_7777;
};

FUNC VOID Rtn_start_7777 ()
{
TA_Follow_Player   (22,00,08,00,"XXX");
TA_Follow_Player   (08,00,22,00,"XXX");
};

Mam dwa problemy:
 1 co napisać w unEquip żeby po zdjęciu pierćsienia NPC giną?
 2 Po założeniu pieścienia pojawia się NPC, ale nie chodzi za mną, lecz gdy przywołam go konsolą to chodzi. Co zrobić aby ten "z pierścienia" też za mną chodził?

14
Błędy podczas parsowania / Unknown Identifier
« dnia: 2010-06-06, 17:14 »
W gothic starterze po zaznaczeniu opcji reparse script wyskoczył mi dziwny błąd:
Cytuj
U:PAR: CONTENT\STORY\NPC\NONE_7777_MS :
Unknown Identifier:
RTN_START_7777

Skrypt NPC-a to:

instance NONE_7777_MS (Npc_Default)
{
// ------ NPC ------
name = "Mroczny Sługa";
guild = GIL_NONE;
id = 7777;
voice = 11;
flags   = NPC_FLAG_GHOST;
npctype = NPCTYPE_MAIN;

// ------ Atrybuty ------
attribute[ATR_STRENGTH] = 500;
attribute[ATR_DEXTERITY] = 500;
attribute[ATR_MANA_MAX] = 500;
attribute[ATR_MANA] = 500;
attribute[ATR_HITPOINTS_MAX] = 500;
attribute[ATR_HITPOINTS] = 500;

// ------ AIVAR ------
aivar[AIV_IGNORE_Murder] = TRUE;
aivar[AIV_IgnoresArmor] = TRUE;

// ------ Taktyka walki ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Ekwipunek ------
EquipItem (self, ItMw_Secrets_Weapon);

// ------ Wygląd ------
B_SetNpcVisual (self, MALE, "Hum_Head_Psionic", Face_N_CoolPock, BodyTex_N, ITAR_XARDAS);
Mdl_SetModelFatness (self, 0);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");

// ------ Umiejętności ------
Npc_SetTalentSkill (self, NPC_TALENT_MAGE, 6);
Npc_SetTalentSkill (self, NPC_TALENT_PICKLOCK, 0);
Npc_SetTalentSkill (self, NPC_TALENT_SNEAK, 0);
Npc_SetTalentSkill (self, NPC_TALENT_ACROBAT, 0);
Npc_SetTalentSkill (self, NPC_TALENT_PICKPOCKET, 0);
Npc_SetTalentSkill (self, NPC_TALENT_SMITH, 0);
Npc_SetTalentSkill (self, NPC_TALENT_RUNES, 0);
Npc_SetTalentSkill (self, NPC_TALENT_ALCHEMY, 0);
Npc_SetTalentSkill (self, NPC_TALENT_TAKEANIMALTROPHY, 0);

// ------ Umiejętności bojowe ------
B_AddFightSkill (self, NPC_TALENT_1H, 100);
B_AddFightSkill (self, NPC_TALENT_2H, 100);  
B_AddFightSkill (self, NPC_TALENT_BOW, 100);
B_AddFightSkill (self, NPC_TALENT_CROSSBOW, 100);

// ------ Rutyna ------
daily_routine = Rtn_Start_7777;
};
:nosebleed:  nie identyfikuje rutyny??????

EDIT: Poradziłem sobie, temat do zamknięcia.

15
Mam nowy pomysł.:lol:   Co zrobić, żeby ten pierścień zmieniał na FLY obrażenia BRONI, którą trzyma teraz bezio?

EDIT: I jeszcze coś. Co zrobić, żeby po założeniu pierścienia przez cały czas aż do zdjęcia, ekran był taki różowy, falował i żeby był ten fajny dzwięk, jak podczas moditwy przy kapliczce Beliara, albo podczas "spodkania" z poszukiwaczem?

EDIT2: Halo? Ma ktoś jakiś pomysł?

EDIT3: Haloooooooooo! Odświeżam.

EDIT4: Co do efektu "poszukiwacza", to sobie poradziłem. Obrażenia od FLY działają, ale mają mało mocy, tj, NPC-e nie odlatują po uderzenu pięścią, ale gdy w EAB zwiększam swoje obrażenia z pięści to już działa. I tu pojawia się kolejne moje pytanie - jak zrobić żeby ten pierścień zwiększał obrażenia jakie bezio zadaje z pięści?

16
Zrobiłem skrypt pierścienia, ale nie wiem co wpisać w Equip_(nazwa), żeby bezio zadawał z pięści obrażenia od FLY.

17
A gdzie mam dopisać skrypt odpowiadający czynnościom triggera.
a i jeszcze coś, mam coś zrobić w spacerze? Bo mEatrikZ napisał że nie trzeba
bo to się pisze w itemie.

18
zrobiłem taki skrypt:

INSTANCE ItFo_Poison (C_Item)
{
name = "Trucizna";

mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;

value = 150;

visual = "ItPo_Perm_STR.3ds";
material = MAT_GLAS;
scemeName = "POTIONFAST";
on_state[0] = Use_poison;


description = name;

TEXT[5] = NAME_Value;
COUNT[5] = 150;
};

FUNC VOID Use_poison()
{

if (trucizna == TRUE)
{
    hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] - 1;
};
};

i niby działa - gra się uruchamia,żadnych błędów, ale jak próbuje wypić
tą truciznę to bezi ją pije ale nie ma żadnego efektu.


PS:

zmienna w storyGlobals wygląda tak:

// *************************
// Globalvariablen für Story
// *************************

// ------ Teacher MAX Werte ------
const int T_MEGA = 300; //Pyrokar MANA
const int T_MAX = 200;
const int T_HIGH = 120;
const int T_MED = 90;
const int T_LOW = 60;

//**************
// ADDON
//**************
var int Saturas_KlaueInsMeer;
var int Saturas_AboutWilliam;
var int MIS_Eremit_Klamotten;
var int Diego_angekommen;
var int Diego_IsDead;
var int PlayerTalkedToSkipNW;
var int PlayerTalkedToGregNW;
//---------------------------------------------------
// ITEMS

//----- Artefakt Set der Bauern (HP)-----------------
var int trucizna;
var int HP_Ring_1_Equipped;
var int HP_Ring_2_Equipped;  
var int HP_Amulett_Equipped;
/*  
var int HP_Ring_Double_Bonus; ...

PS2: coś mi się nie chce pogrubić moja zmienna, ale chyba zobaczycie,
zmienna nazywa się "var int trucizna"

19
Oj sory w pierwszym poście napisałem cytuję: Chcę zrobić... ( koniec cytatu)
a chciałem napisać "zrobiłem skrypt trucizny, ale nie wiem co dopisać..."
ale tak czy inaczej dzięki.


PS: jak się dodaje punkty reputacji :]

mEa: Nie ma takiej opcji.

20
Czyli wystarczy zrobić zmienną w storyGlobals a do skryptu dodać:
if (zmienna == true)
{
   hero.attribute[ATR_HITPOINTS] = Bohater.attribute[ATR_HITPOINTS] - 1;
};

i będzie działać?

Strony: [1] 2
Do góry