[G2: NK]Hełmy + wykuwanie 24257 21

O temacie

Autor Sulejman

Zaczęty 2.11.2009 roku

Wyświetleń 24257

Odpowiedzi 21

Sulejman

Sulejman

Użytkownicy
Piotrek
posty237
Propsy229
Profesjabrak
  • Użytkownicy
  • Piotrek

Sulejman

[G2: NK]Hełmy + wykuwanie
2009-11-02, 16:11(Ostatnia zmiana: 2010-10-06, 20:31)
W tym tutorialu opiszę jak zrobić hełmy.
instance ITHE_EJNAR(C_Item)
{
name = "Hełm Ejnara";   \\Nazwa
mainflag = ITEM_KAT_NF;   \\Jeśli chcemy aby hełm mogli nosić NPC to musi tak być, jeśli wpiszemy ITEM_KAT_ARMOR jak na innych tutorialach to NPC, którym założymy hełm w skrypcie nie będą go mieć na głowie
flags = 0;
protection[PROT_EDGE] = 15;
protection[PROT_BLUNT] = 15;
protection[PROT_POINT] = 15;
protection[PROT_FIRE] = 0;
protection[PROT_MAGIC] = 0;
value = 1500;
wear = WEAR_HEAD;   \\To także ważne, inaczej hełm nie będzie leżał na głowie
visual = "Ejnar_helmet.3ds";   \\Model hełmu
visual_skin = 0;
material = MAT_LEATHER;   \\Materiał, można dać także MAT_METAL, MAT_STONE, MAT_GLASS itp.
description = name;
text[0] = "Ten hełm Ejnar miał na sobie podczas swej ostatnie walki z orkami";   \\Opis mojego hełmu, można pominąć
text[1] = NAME_Prot_Edge;
count[1] = protection[PROT_EDGE];
text[2] = NAME_Prot_Point;
count[2] = protection[PROT_POINT];
text[3] = NAME_Prot_Fire;
count[3] = protection[PROT_FIRE];
text[4] = NAME_Prot_Magic;
count[4] = protection[PROT_MAGIC];
text[5] = NAME_Value;
count[5] = value;
};

Skrypt ten wklejamy do [Gothic]\_Work\Data\Scripts\Content\Items\IT_Armor.d

Model hełmu Ejnara i tekstury hełmów z Gothic 3
Odświeżona wersja, 402 trisy.

Dla przypomnienia model .3ds wsadzamy do [Gothic]/_Work/Data/Meshes/Items/Armor, a tekstury w .tga do Gothic]/_Work/Data/Textures

Okej, teraz mamy gotowy hełm, jeśli chcemy założyć go NPC'owi wpisujemy w jego skrypt
EquipItem(self,ITHE_EJNAR);

Jednak to nie wszystko co można zrobić z hełmami, metalowe hełmy można także wykuć na kowadle ;d

Akurat do modelu, który wysłałem to się nie przyda ale jeśli ktoś ma inne modele to jak najbardziej powinien skorzystać z tej części tutoriala.

1.Otwieramy plik [Gothic]_Work\Data\Scripts\Content\Story\Dialog_Mobsis\SmithWeapon.d
2.Na początku wklejamy
var int Helmets;3.Po dialogu PC_Ore wklejamy to:
INSTANCE PC_Helmets (C_INFO)
{
npc = PC_Hero;
condition = PC_Helmets_Condition;
information = PC_Helmets_Info;
permanent = TRUE;
description = "Wykuj hełm";
};

FUNC INT PC_Helmets_Condition()
{
if(PLAYER_MOBSI_PRODUCTION == MOBSI_SMITHWEAPON)
&& (Normalwaffen == FALSE)
&& (Erzwaffen == FALSE)
&& (Helmets == FALSE)
{
return TRUE;
};
};

FUNC VOID PC_Helmets_Info ()
{
Helmets = TRUE;
};

4.Po dialogu PC_OreBACK wklejamy:
INSTANCE PC_HelmetsBACK (C_INFO)
{
npc = PC_Hero;
nr = 99;
condition = PC_HelmetsBACK_Condition;
information = PC_HelmetsBACK_Info;
permanent = TRUE;
description = DIALOG_BACK;
};
FUNC INT PC_HelmetsBACK_Condition()
{
if(PLAYER_MOBSI_PRODUCTION == MOBSI_SMITHWEAPON)
&& (Normalwaffen == FALSE)
&& (Erzwaffen == FALSE)
&& (Helmets == TRUE)
{
return TRUE;
};
};

FUNC VOID PC_HelmetsBACK_Info ()
{
Helmets = FALSE;
};

5.Zaraz za tym wklejamy to ;d  :
instance PC_WEAPON_ITHE_STEEL_1(C_Info)
{
npc = PC_Hero;
condition = pc_weapon_ithe_steel_1_condition;
information = pc_weapon_ithe_steel_1_info;
permanent = TRUE;
description = "Hełm";
};


func int pc_weapon_ithe_steel_1_condition()
{
if((PLAYER_MOBSI_PRODUCTION == MOBSI_SmithWeapon) && (PLAYER_TALENT_SMITH[WEAPON_Common] == TRUE) && (Helmets == TRUE))
{
return TRUE;
};
};

func void pc_weapon_ithe_steel_1_info()
{
if (Npc_HasItems (hero, ItRe_Steel_1) >= 1)
{
Npc_RemoveInvItems  (hero,ItRe_Steel_1,1);

CreateInvItems   (hero,ITHE_STEEL_1,1);
Print ("Wykułeś hełm!");
}
else
{
Print ("Nie posiadasz odpowiedniej receptury!");
CreateInvItems (self, ItMiSwordRaw,1);
};
B_ENDPRODUCTIONDIALOG ();
Helmets = FALSE;
};


6.Teraz ostatni etap, skrypt receptury, która będzie nam potrzebna do wykucia hełmu.


Do pliku wklejamy [Gothic]\_Work\Data\Scripts\Content\Items\IT_Written.d to:
instance ItRe_Steel_1(C_Item)
{
name = "Receptura";
mainflag = ITEM_KAT_DOCS;
flags = 0;
value = 100;
visual = "ItWr_Scroll_01.3DS";
material = MAT_LEATHER;
on_state[0] = UseItRe_Steel_1;
scemeName = "MAP";
description = "Jak wykuć stalowy hełm";
};


func void UseItRe_Steel_1()
{
var int nDocID;
nDocID = Doc_Create();
Doc_SetPages(nDocID,1);
Doc_SetPage(nDocID,0,"letters.TGA",0);
Doc_SetFont(nDocID,0,FONT_BookHeadline);
Doc_SetMargins(nDocID,-1,50,50,50,50,1);
Doc_PrintLine(nDocID,0,"Jak wykuć stalowy hełm");
Doc_SetFont(nDocID,0,FONT_Book);
Doc_PrintLine(nDocID,0,"");
Doc_PrintLines(nDocID,0,"Podczas kucia pamiętaj aby nie uderzać w stal zbyt mocno.");
Doc_Show(nDocID);
};



A więc jeśli potrafimy wykuć zwykły miecz i posiadamy odpowiednią recepturę, możemy wykuć hełm.
 

DarcuS

DarcuS

Użytkownicy
posty68
Propsy2
  • Użytkownicy
Mam problem - zrobiłem tak jak na tym tutku hełm paladyna - w grze NPC nie ma go w ekwipunku dopóki nie przyzwę tego NPC kodem na przykład NPC Lord Hagen w siedzibie nie ma tego hełmu a jak wpiszę insert pal_200_hagen to wtedy ma...

Simon Said

Simon Said

Moderator
Nilfgaard
posty6476
Propsy3038
ProfesjaTester
  • Moderator
  • Nilfgaard
a zacząłeś grę od nowa czy wczytałeś, bo to też ma znaczenie?
 
http://chomikuj.pl/gothicwarrior

https://www.youtube.com/watch?v=UCMTYnPVyFu



DarcuS

DarcuS

Użytkownicy
posty68
Propsy2
  • Użytkownicy
Cytat: gothicman link=topic=7672.msg103807#msg103807#msg103807#msg103807 date=1279462999
a zacząłeś grę od nowa czy wczytałeś, bo to też ma znaczenie?

wczytałem

Alexik

Alexik

Użytkownicy
posty396
Propsy150
ProfesjaNierób
  • Użytkownicy
No to nie możesz wczytywać musisz wżiąść Nowo gre
 

sunfenix

sunfenix

Użytkownicy
posty14
  • Użytkownicy
Mam jedno zastrzeżenie:
mainflag = ITEM_KAT_NF;
Tu dałem ITEM_KAT_ARMOR i działa dobrze (G2NK), jeśli dam NF to przy zakładaniu hełmu ściąga mi aktualnie założoną broń.
 

Gruben

Gruben

Użytkownicy
posty31
  • Użytkownicy
Mógłby ktoś napisać jak zrobić to wykuwanie do g1?
 

Sulejman

Sulejman

Użytkownicy
Piotrek
posty237
Propsy229
Profesjabrak
  • Użytkownicy
  • Piotrek
Cytat: sunfenix link=topic=7672.msg105267#msg105267#msg105267#msg105267 date=1280621800
Mam jedno zastrzeżenie:
mainflag = ITEM_KAT_NF;
Tu dałem ITEM_KAT_ARMOR i działa dobrze (G2NK), jeśli dam NF to przy zakładaniu hełmu ściąga mi aktualnie założoną broń.
Jeśli dasz ITEM_KAT_ARMOR, to inni NPC go nie mogą założyć.
 

Alexik

Alexik

Użytkownicy
posty396
Propsy150
ProfesjaNierób
  • Użytkownicy
gruben jesli chcesz najpierw zrobic wykuwanie to najpierw zrób monolog do kowadła :facepalm:
 

sunfenix

sunfenix

Użytkownicy
posty14
  • Użytkownicy
Cytat: Vayurax link=topic=7672.msg106596#msg106596#msg106596#msg106596 date=1281350880
Jeśli dasz ITEM_KAT_ARMOR, to inni NPC go nie mogą założyć.
Jakimś cudem u mnie mogą. No chyba, że nie mogą go założyć przez funkcję (tego nie sprawdzałem). Ale jak mówiłem przy ITEM_KAT_NF ściąga nam broń, więc i tak źle i tak nie dobrze. Zawsze można zrobić dwie wersje tego samego hełmu (jedna dla bohatera, druga do noszenia dla NPC), różniące się tylko mainflagą.
 

Sulejman

Sulejman

Użytkownicy
Piotrek
posty237
Propsy229
Profesjabrak
  • Użytkownicy
  • Piotrek
Cytat: sunfenix link=topic=7672.msg106952#msg106952#msg106952#msg106952 date=1281558137
Jakimś cudem u mnie mogą. No chyba, że nie mogą go założyć przez funkcję (tego nie sprawdzałem). Ale jak mówiłem przy ITEM_KAT_NF ściąga nam broń, więc i tak źle i tak nie dobrze. Zawsze można zrobić dwie wersje tego samego hełmu (jedna dla bohatera, druga do noszenia dla NPC), różniące się tylko mainflagą.
Po co kombinować, skoro możesz zrobić jedną, a potem jak ci nie pasuje ułożenie w ekwipunku to obrócić?
 

Nestor

Nestor

Użytkownicy
posty66
Propsy18
  • Użytkownicy

Nestor

[G2: NK]Hełmy + wykuwanie
#11 2010-11-23, 16:16(Ostatnia zmiana: 2010-11-23, 21:32)
Zrobiłem wszystko zgodnie z poradnikiem a mimo to wyskakuje mi przy reparsowaniu skryotów:
"U:Par: CONTENT\STORY\DIALOG_MOBSIS\SMITHWEAPON.D: Unknown identifier : ITRE_STEEL_1.
Tak jakbym nie wkleił receptury albo był gdzieś błąd.


Moje pytanie: WTF!?


@edit problem rozwiązany  (@down)
 
Spoiler

Nestor

Nestor

Użytkownicy
posty66
Propsy18
  • Użytkownicy

Nestor

[G2: NK]Hełmy + wykuwanie
#12 2010-11-23, 21:29(Ostatnia zmiana: 2010-11-23, 21:31)
Dobra już mam. Zrobiłem błąd w instance receptury już jest spoko. W skryptach twoich jest błąd gdy wykujesz hełm nie ma go w eq. Dlaczego? Bo zapomniałeś o

CreateInvItems     (hero,ITHE_EJNAR,1);
powinno być tak :


instance PC_WEAPON_ITHE_STEEL_1(C_Info)
{
        npc = PC_Hero;
        condition = pc_weapon_ithe_steel_1_condition;
        information = pc_weapon_ithe_steel_1_info;
        permanent = TRUE;
        description = "Hełm";
};


func int pc_weapon_ithe_steel_1_condition()
{
        if((PLAYER_MOBSI_PRODUCTION == MOBSI_SmithWeapon) && (PLAYER_TALENT_SMITH[WEAPON_Common] == TRUE) && (Helmets == TRUE))
        {
                return TRUE;
        };
};

func void pc_weapon_ithe_steel_1_info()
{
        if (Npc_HasItems (hero, ItRe_Steel_1) >= 1)
        {
                Npc_RemoveInvItems  (hero,ItRe_Steel_1,1);
                CreateInvItems     (hero,ITHE_EJNAR,1); // Tego brakowało :D
                CreateInvItems     (hero,ITHE_STEEL_1,1);
               
                Print ("Wykułeś hełm!");
        }
        else
        {
                Print ("Nie posiadasz odpowiedniej receptury!");
                CreateInvItems (self, ItMiSwordRaw,1);
        };      
        B_ENDPRODUCTIONDIALOG ();
        Helmets = FALSE;
};
 
Spoiler

Sulejman

Sulejman

Użytkownicy
Piotrek
posty237
Propsy229
Profesjabrak
  • Użytkownicy
  • Piotrek
Niczego nie brakowało, w dalszej części tutka jest inna instancja hełmu, ponieważ skórzanych hełmów nie robi się na kowadle.
 

Lord Reginald

Lord Reginald

Użytkownicy
posty4
Propsy5
  • Użytkownicy
A ja zrobiłem to samo ale z hełmem palka i dałem go Hagenowi...Nowa gra a tu bach i nadal ma zbroję palka i hełm(ale razem z paladyna zbroją)Pomocy!!!
 

Kaled

Kaled

Użytkownicy
posty36
  • Użytkownicy
Nie wczytuj gry musisz od nowa i przywołaj ten hełm kodem w konsoli!
 

jono

jono

Użytkownicy
posty525
Propsy155
ProfesjaNierób
  • Użytkownicy
BTW a można prosić o reup modelu i tekstur z g3? Bo linki w 1 poście wygasły.
 

Sulejman

Sulejman

Użytkownicy
Piotrek
posty237
Propsy229
Profesjabrak
  • Użytkownicy
  • Piotrek
BTW a można prosić o reup modelu i tekstur z g3? Bo linki w 1 poście wygasły.

Sam nie posiadam już tych plików i byłbym wdzięczny za wstawienie ich tutaj, jeśli ktoś posiada je gdzieś na dysku.
 

PROR

PROR

Użytkownicy
posty42
Propsy6
  • Użytkownicy

PROR

[G2: NK]Hełmy + wykuwanie
#18 2011-11-03, 16:36(Ostatnia zmiana: 2011-11-03, 16:40)
Mógł by ktoś wysłać gotowy plik SmithWeapon.d, Bo mam błąd (line70/line71) :|
 

Paradoxal

Paradoxal

Użytkownicy
posty617
Propsy978
NagrodyV
Profesjabrak
  • Użytkownicy
Spoiler
var int Erzwaffen;
var int Normalwaffen;


//*******************************************************
//   SmithWeapon Dialog abbrechen
//*******************************************************
INSTANCE PC_SmithWeapon_End (C_Info)
{
   npc            = PC_Hero;
   nr            = 999;
   condition      = PC_SmithWeapon_End_Condition;
   information      = PC_SmithWeapon_End_Info;
   permanent      = TRUE;
   description      = DIALOG_ENDE;
};

FUNC INT PC_SmithWeapon_End_Condition ()
{
   if (PLAYER_MOBSI_PRODUCTION == MOBSI_SMITHWEAPON)
   {   
      return TRUE;
   };
};

FUNC VOID PC_SmithWeapon_End_Info()
{
   CreateInvItems (self, ItMiSwordRaw,1);
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
   NormalWaffen = FALSE;
};
//*******************************************************


// *****************
// Amboß-Dialoge
// -------------
// hängen am Spieler
// *****************


//*******************************************************
INSTANCE PC_Common (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_Common_Condition;
   information      = PC_Common_Info;
   permanent      = TRUE;
   description      = "Wykuj zwykłą broń";
};

FUNC INT PC_Common_Condition()
{   
   if(PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (Normalwaffen == FALSE)
   && (Erzwaffen == FALSE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_Common_Info ()
{
   Normalwaffen = TRUE;
};
//*******************************************************
INSTANCE PC_Ore (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_Ore_Condition;
   information      = PC_Ore_Info;
   permanent      = TRUE;
   description      = "Wykuj broń z rudy";
};

FUNC INT PC_Ore_Condition()
{   
   if(PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (Normalwaffen == FALSE)
   && (Erzwaffen == FALSE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_Ore_Info ()
{
   Erzwaffen = TRUE;
};
//*******************************************************
INSTANCE PC_CommonBACK (C_INFO)
{
   npc            = PC_Hero;
   nr            = 99;
   condition      = PC_CommonBACK_Condition;
   information      = PC_CommonBACK_Info;
   permanent      = TRUE;
   description      = DIALOG_BACK;
};
FUNC INT PC_CommonBACK_Condition()
{   
   if(PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (Normalwaffen == TRUE)
   && (Erzwaffen == FALSE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_CommonBACK_Info ()
{
   Normalwaffen = FALSE;
};
//*******************************************************
INSTANCE PC_OreBACK (C_INFO)
{
   npc            = PC_Hero;
   nr            = 99;
   condition      = PC_OreBACK_Condition;
   information      = PC_OreBACK_Info;
   permanent      = TRUE;
   description      = DIALOG_BACK;
};
FUNC INT PC_OreBACK_Condition()
{   
   if(PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (Normalwaffen == FALSE)
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_OreBACK_Info ()
{
   Erzwaffen = FALSE;
};
//*******************************************************
INSTANCE PC_ItMw_1H_Common (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_1H_Common_Condition;
   information      = PC_ItMw_1H_Common_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_1H_Common_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_Common] == TRUE))
   && (Normalwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_1H_Common_Info ()
{
   CreateInvItems       (hero, ItMw_1H_Common_01,  1);
   Print (PRINT_SmithSuccess);
   
   B_ENDPRODUCTIONDIALOG ();
   Normalwaffen = FALSE;
};
//*******************************************************
INSTANCE PC_WEAPON_1H_Harad_01 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_WEAPON_1H_Harad_01_Condition;
   information      = PC_WEAPON_1H_Harad_01_Info;
   permanent      = TRUE;
};

FUNC INT PC_WEAPON_1H_Harad_01_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Harad_01] == TRUE))
   && (Normalwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_WEAPON_1H_Harad_01_Info ()
{
   CreateInvItems       (hero,ItMw_Schwert1 ,  1);
   Print (PRINT_SmithSuccess);
   
   B_ENDPRODUCTIONDIALOG ();
   Normalwaffen = FALSE;
};
//*******************************************************
INSTANCE PC_WEAPON_1H_Harad_02 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_WEAPON_1H_Harad_02_Condition;
   information      = PC_WEAPON_1H_Harad_02_Info;
   permanent      = TRUE;
};

FUNC INT PC_WEAPON_1H_Harad_02_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Harad_02] == TRUE))
   && (Normalwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_WEAPON_1H_Harad_02_Info ()
{
   CreateInvItems       (hero,ItMw_Schwert4 ,  1);
   Print (PRINT_SmithSuccess);
   
   B_ENDPRODUCTIONDIALOG ();
   Normalwaffen = FALSE;
};
//*******************************************************
INSTANCE PC_WEAPON_1H_Harad_03 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_WEAPON_1H_Harad_03_Condition;
   information      = PC_WEAPON_1H_Harad_03_Info;
   permanent      = TRUE;
};

FUNC INT PC_WEAPON_1H_Harad_03_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Harad_03] == TRUE))
   && (Normalwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_WEAPON_1H_Harad_03_Info ()
{
   CreateInvItems       (hero,ItMw_Rubinklinge ,  1);
   Print (PRINT_SmithSuccess);
   
   B_ENDPRODUCTIONDIALOG ();
   Normalwaffen = FALSE;
};
//*******************************************************
INSTANCE PC_WEAPON_1H_Harad_04 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_WEAPON_1H_Harad_04_Condition;
   information      = PC_WEAPON_1H_Harad_04_Info;
   permanent      = TRUE;
};

FUNC INT PC_WEAPON_1H_Harad_04_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Harad_04] == TRUE))
   && (Normalwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_WEAPON_1H_Harad_04_Info ()
{
   CreateInvItems       (hero,ItMw_ElBastardo ,  1);
   Print (PRINT_SmithSuccess);
   
   B_ENDPRODUCTIONDIALOG ();
   Normalwaffen = FALSE;
};
//*******************************************************

INSTANCE PC_ItMw_1H_Special_01 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_1H_Special_01_Condition;
   information      = PC_ItMw_1H_Special_01_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_1H_Special_01_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Special_01] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_1H_Special_01_Info ()
{
   if (Npc_HasItems (hero, ItMi_Nugget) >= 1)
   {
      Npc_RemoveInvItems (hero, ItMi_Nugget, 1);
      
      CreateInvItems       (hero, ItMw_1H_Special_01,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************

INSTANCE PC_ItMw_2H_Special_01 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_2H_Special_01_Condition;
   information      = PC_ItMw_2H_Special_01_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_2H_Special_01_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_2H_Special_01] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_2H_Special_01_Info ()
{
   if (Npc_HasItems (hero, ItMi_Nugget) >= 2)
   {
      Npc_RemoveInvItems  (hero,ItMi_Nugget,2);
      
      CreateInvItems       (hero,ItMw_2H_Special_01,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************

INSTANCE PC_ItMw_1H_Special_02 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_1H_Special_02_Condition;
   information      = PC_ItMw_1H_Special_02_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_1H_Special_02_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Special_02] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_1H_Special_02_Info ()
{
   if (Npc_HasItems (hero, ItMi_Nugget) >= 2)
   {
      Npc_RemoveInvItems  (hero,ItMi_Nugget,2);
      
      CreateInvItems       (hero,ItMw_1H_Special_02,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************

INSTANCE PC_ItMw_2H_Special_02 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_2H_Special_02_Condition;
   information      = PC_ItMw_2H_Special_02_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_2H_Special_02_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_2H_Special_02] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_2H_Special_02_Info ()
{
   if (Npc_HasItems (hero, ItMi_Nugget) >= 3)
   {
      Npc_RemoveInvItems  (hero,ItMi_Nugget,3);
      
      CreateInvItems       (hero,ItMw_2H_Special_02,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************
INSTANCE PC_ItMw_1H_Special_03 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_1H_Special_03_Condition;
   information      = PC_ItMw_1H_Special_03_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_1H_Special_03_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Special_03] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_1H_Special_03_Info ()
{
   if (Npc_HasItems (hero, ItMi_Nugget) >= 3)
   {
      Npc_RemoveInvItems  (hero,ItMi_Nugget,3);
      
      CreateInvItems       (hero,ItMw_1H_Special_03,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************

INSTANCE PC_ItMw_2H_Special_03 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_2H_Special_03_Condition;
   information      = PC_ItMw_2H_Special_03_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_2H_Special_03_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_2H_Special_03] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_2H_Special_03_Info ()
{
   if (Npc_HasItems (hero, ItMi_Nugget) >= 4)
   {
      Npc_RemoveInvItems  (hero,ItMi_Nugget,4);
      
      CreateInvItems       (hero,ItMw_2H_Special_03,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************

INSTANCE PC_ItMw_1H_Special_04 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_1H_Special_04_Condition;
   information      = PC_ItMw_1H_Special_04_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_1H_Special_04_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_1H_Special_04] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_1H_Special_04_Info ()
{
   if (Npc_HasItems (hero, ItMi_Nugget) >= 4)
   && (Npc_HasItems (hero, ItAt_DragonBlood) >= 5)
   {
      Npc_RemoveInvItems  (hero,ItMi_Nugget,4);
      Npc_RemoveInvItems  (hero,ItAt_DragonBlood,5);
      
      CreateInvItems       (hero,ItMw_1H_Special_04,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************

INSTANCE PC_ItMw_2H_Special_04 (C_INFO)
{
   npc            = PC_Hero;
   condition      = PC_ItMw_2H_Special_04_Condition;
   information      = PC_ItMw_2H_Special_04_Info;
   permanent      = TRUE;
};

FUNC INT PC_ItMw_2H_Special_04_Condition()
{   
   if((PLAYER_MOBSI_PRODUCTION   ==   MOBSI_SMITHWEAPON)
   && (PLAYER_TALENT_SMITH[WEAPON_2H_Special_04] == TRUE))
   && (Erzwaffen == TRUE)
   {   
      return TRUE;
   };
};

FUNC VOID PC_ItMw_2H_Special_04_Info ()
{
   if (Npc_HasItems  (hero, ItMi_Nugget) >= 5)
   && (Npc_HasItems  (hero, ItAt_DragonBlood) >= 5)
   {
      Npc_RemoveInvItems  (hero,ItMi_Nugget,5);
      Npc_RemoveInvItems  (hero,ItAt_DragonBlood,5);
      
      CreateInvItems       (hero,ItMw_2H_Special_04,1);
      Print (PRINT_SmithSuccess);
   }
   else
   {
      Print (PRINT_ProdItemsMissing);
      CreateInvItems (self, ItMiSwordRaw,1);
   };   
   B_ENDPRODUCTIONDIALOG ();
   Erzwaffen = FALSE;
};
//*******************************************************

// ****************************************************
// SMITHWEAPON_S1
// --------------
// Funktion wird durch Amboß-Mobsi-Benutzung aufgerufen!
// benötigtes Item dafür: ItMiSwordrawhot
// *****************************************************

FUNC VOID SMITHWEAPON_S1 ()
{
   var C_NPC her;    her = Hlp_GetNpc(PC_Hero);
      
   if  (Hlp_GetInstanceID(self)==Hlp_GetInstanceID(her))
   {   
      self.aivar[AIV_INVINCIBLE]=TRUE;
      PLAYER_MOBSI_PRODUCTION   =   MOBSI_SMITHWEAPON;
      Ai_ProcessInfos (her);
   };

   PC_ItMw_1H_Common.description         = NAME_ItMw_1H_Common_01;                                           
   PC_ItMw_1H_Special_01.description      = ConcatStrings (NAME_ItMw_1H_Special_01, PRINT_Smith_1H_Special_01);
   PC_ItMw_2H_Special_01.description      = ConcatStrings (NAME_ItMw_2H_Special_01, PRINT_Smith_2H_Special_01);
   PC_ItMw_1H_Special_02.description      = ConcatStrings (NAME_ItMw_1H_Special_02, PRINT_Smith_1H_Special_02);
   PC_ItMw_2H_Special_02.description      = ConcatStrings (NAME_ItMw_2H_Special_02, PRINT_Smith_2H_Special_02);
   PC_ItMw_1H_Special_03.description      = ConcatStrings (NAME_ItMw_1H_Special_03, PRINT_Smith_1H_Special_03);
   PC_ItMw_2H_Special_03.description      = ConcatStrings (NAME_ItMw_2H_Special_03, PRINT_Smith_2H_Special_03);
   PC_ItMw_1H_Special_04.description      = ConcatStrings (NAME_ItMw_1H_Special_04, PRINT_Smith_1H_Special_04);
   PC_ItMw_2H_Special_04.description      = ConcatStrings (NAME_ItMw_2H_Special_04, PRINT_Smith_2H_Special_04);
   
   PC_WEAPON_1H_Harad_01.description      = NAME_Addon_Harad_01;
   PC_WEAPON_1H_Harad_02.description      = NAME_Addon_Harad_02;
   PC_WEAPON_1H_Harad_03.description      = NAME_Addon_Harad_03;
   PC_WEAPON_1H_Harad_04.description      = NAME_Addon_Harad_04;
};
 


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