Ogłoszenie

Aktualnie pracujemy nad:

Zadaniami pobocznymi do modyfikacji Bandyta

Czy wiesz, że...


#1 2009-11-02 15:37:28

 Vayurax

Szef NGT

8211480
Call me!
Skąd: Katowice
Zarejestrowany: 2009-04-04
Posty: 1495
Punktów :   28 
Opis: Szef New Gothic Team
Profesja: Wszechstronny modder
Team: New Gothic Team
: I'm crazy
: And I like myself
WWW

Gothic II : Noc Kruka - Tutoriale - "Hełmy i wykuwnie"

W tym tutorialu opiszę jak zrobić hełmy.

Spoiler:

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

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

Spoiler:

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

Spoiler:

var int Helmets;

3.Po dialogu PC_Ore wklejamy to:

Spoiler:

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:

Spoiler:

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 xD :

Spoiler:

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:

Spoiler:

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.
Lesterek17-Oczyściłem temat

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.skuterfans.pun.pl www.ligacieni.pun.pl www.wowwrs.pun.pl www.narutomaniak.pun.pl www.sna.pun.pl