Aktualnie pracujemy nad:
Zadaniami pobocznymi do modyfikacji Bandyta
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