Ogłoszenie

Aktualnie pracujemy nad:

Zadaniami pobocznymi do modyfikacji Bandyta

Czy wiesz, ¿e...


#1 2009-11-02 14: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

[ Generated in 0.019 seconds, 6 queries executed ]


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.quidditch-marziblack.pun.pl www.pozyczki-kredyty-forum.pun.pl www.clan-olimp.pun.pl www.spaniele.pun.pl www.gwardiaset.pun.pl