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