Показать сообщение отдельно
Старый 14.08.2005, 17:06   #733
Finsernis

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Скриптинг в Готике

2TSYLin:
Попробуй создать скрипт:

instance SEK_30000_FORTUNO_NW(Npc_Default)
{
* * *id = 30000; \\ ID ЛЮБОГО непися, будь он в Минентале, Яркендаре, Хоринисе должно быть УНИКАЛЬНЫМ
* * *name[0] = "Фортуно";
* * *guild = GIL_None; \\ если у тебя не описана гильдия послушников в файле Guilds.d то лучше, пусть он будет без гильдии
* * *voice = 13;
* * *flags = 0;
* * *npcType = NPCTYPE_AMBIENT;
* * *B_SetAttributesToChapter (self, 1);
* * *aivar[AIV_IGNORE_Murder] = TRUE;
* * *aivar[AIV_IGNORE_Theft] = TRUE;
* * *aivar[AIV_IGNORE_Sheepkiller] = TRUE;
* * *fight_tactic = FAI_HUMAN_COWARD;
* * *EquipItem (self, ItMw_1h_Sld_Axe);
* * *B_CreateAmbientInv (self);
* * *B_SetNpcVisual (self, MALE, "Hum_Head_Bald", 8, 10, itar_nov_h);
* * *Mdl_SetModelFatness (self, 0);
* * *Mdl_ApplyOverlayMds (self, "Humans_Relaxed.mds");
* * *B_GiveNpcTalents (self);
* * *B_SetFightSkills (self, 20);
* * *daily_routine = rtn_start_30000;
};


func void rtn_start_30000 ()
{
* * *TA_Stand_Eating (5, 0, 11, 0, "NW_FARM3_OUT_06");
* * *TA_Smoke_Joint (11, 0, 24, 0, "NW_FARM3_OUT_06");
* * *TA_Pray_Sleeper (24, 0, 5, 0, "NW_FARM3_OUT_06");
};

В файле Story\Npc_Globals в начале файла напиши
var C_Npc FORTUNO_NW;

Далее найди в этом же файле функцию func void B_InitNpcGlobals() и после строк

if (Kapitel == 0)
* * *{
* * * * * *Kapitel = 1;
* * *};

напиши вот что:

FORTUNO_NW = Hlp_GetNpc (SEK_30000_FORTUNO_NW);

Далее в файле Story\Startup.d в функции
func void STARTUP_NewWorld_Part_GreatPeasant_01()

напиши вот что:
Wld_InsertNpc (SEK_30000_FORTUNO_NW, "FARM3");


Теперь самое ответственное: Файл DIA_sek_6006_fortuno.d переименуй в
DIA_ SEK_30000_FORTUNO_NW.d
и везде замени
npc = sek_6006_fortuno;
на
npc = SEK_30000_FORTUNO_NW;

Заключительный штрих – впиши в файл Gothic.scr строчки
DIA_ SEK_30000_FORTUNO_NW.d
SEK_30000_FORTUNO_NW.d


Если не получится то ты выдай кусок скрипта, где компилятор ругается и ошибку ZSpy.

Ответить с цитированием