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