Показать сообщение отдельно
Старый 30.08.2010, 12:31   #2322
Dimus

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

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

2orebaron25:
1.Как создать квест в плане занесения его в дневник. Чтобы он существовал.
Посмотрите, как это делается в скриптах, например, у Бабо (Story\Dialoge\DIA_NOV_612_Babo.d):
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Babo_Anliegen_Info()
{
* * *AI_Output(other,self,"DIA_Babo_Anliegen_15_00"); * * *//Что за просьба?
* * *AI_Output(self,other,"DIA_Babo_Anliegen_03_01"); * * *//Ну, один из паладинов, Сержио, сейчас живет в монастыре.
* * *AI_Output(self,other,"DIA_Babo_Anliegen_03_02"); * * *//Если ты сможешь убедить его дать мне несколько уроков, тогда я потренирую тебя.
* * *AI_Output(other,self,"DIA_Babo_Anliegen_15_03"); * * *//Я посмотрю, что можно сделать.
* * *Log_CreateTopic(Topic_BaboTrain,LOG_MISSION);
* * *Log_SetTopicStatus(Topic_BaboTrain,LOG_Running);
* * *B_LogEntry(Topic_BaboTrain,"Если я смогу убедить паладина Сержио немного потренироваться с Бабо, он научит меня искусству обращения с двуручным оружием.");
};

...

func void DIA_Babo_Sergio_Info()
{
* * *AI_Output(other,self,"DIA_Babo_Sergio_15_00"); * * *//Я поговорил с Сержио. Он будет тренировать тебя по два часа каждое утро, с пяти часов.
* * *AI_Output(self,other,"DIA_Babo_Sergio_03_01"); * * *//Спасибо! Какая честь для меня!
* * *AI_Output(self,other,"DIA_Babo_Sergio_03_02"); * * *//Если хочешь, я также могу показать тебе несколько секретов боевого искусства.
* * *Babo_TeachPlayer = TRUE;
* * *Babo_Training = TRUE;
* * *B_GivePlayerXP(XP_Ambient * 2);
* * *Log_CreateTopic(Topic_KlosterTeacher,LOG_NOTE);
* * *B_LogEntry(Topic_KlosterTeacher,"Бабо может обучить меня искусству обращения с двуручным оружием.");
};


2.как сделать так чтобы например когда на тебя после диалога нападает тот же лорд Хаген, и когда убиваешь его,он просто падал замертво,а не падал раненым.(как бандюки)
Можно сделать это и без присваивания бандитской гильдии - вместо этого непись должен атаковать ГГ с причиной AR_Kill или AR_SuddenEnemyInferno - смотрим скрипты Ульфа (Story\Dialoge\DIA_NOV_602_Ulf.d):
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Ulf_Abrechnung_Lass()
{
* * *AI_Output(other,self,"DIA_Ulf_Abrechnung_Lass_15_ 00"); * * *//Прекрати, я не хочу убивать тебя.
* * *AI_Output(self,other,"DIA_Ulf_Abrechnung_Lass_03_ 01"); * * *//Чушь. Ты же знаешь, что у тебя нет ни единого шанса против меня! Сражайся!
* * *AI_StopProcessInfos(self);
* * *B_Attack(self,other,AR_KILL,0);
};

или Моргахарда (Story\Dialoge\DIA_BDT_1030_Morgahard.d):
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Morgahard_HALLO_attack()
{
* * *AI_Output(other,self,"DIA_Morgahard_HALLO_attack_ 15_00"); * * *//Хватит хныкать. Доставай свое оружие. Мы положим этому делу конец.
* * *AI_Output(self,other,"DIA_Morgahard_HALLO_attack_ 07_01"); * * *//Отлично. Мне все равно нечего терять.
* * *AI_StopProcessInfos(self);
* * *MorgahardSucked = TRUE;
* * *B_Attack(self,other,AR_SuddenEnemyInferno,1);
};
Ответить с цитированием