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

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

По умолчанию Re: Gothic 1, 2, 3: Технические вопросы

2 Efectivo:
Очередная порция различных ошибок Г2 НВ:
Cпойлер(щелкните, чтобы прочесть):
- В субтитрах меканье Лизель и украденной у Акила овцы показывается по-немецки (Story\B_Content\B_LieselMaeh.d):
AI_Output(self,other,"DIA_Liesel_15_00"); * * *//Mдддh!

- В последней версии патча не работает обучение силе у Диего в главе 3 (он учит только ловкости)! Причина - в скрипте Story\Dialoge\DIA_PC_Thief_NW.d при вызовах функции Info_AddChoice() указан ошибочный пункт меню "DIA_DiegoOw_Teach". При его замене на "DIA_DiegoNW_Teach" всё становится O.K.

- В описании ключа Бромора (ItKe_Bromor) указано, что он от комнаты отеля. На самом деле этот ключ открывает комнату в портовом борделе "Красная лампа".

- Диалоги с Гарадом (Story\Dialoge\DIA_VLK_412_Harad.d):
"Орк это очень серьезный противник ... ..." (меню), "Но орк это очень серьезный противник ..." (субтитры)
"Том не менее, ты должен доказать мне, что у тебя хватит мужества сражаться, если это будет необходимо." (правильно: "Тем")
"Я готов стать твоим учеником!" (меню), "Я готов!" (субтитры)
"Я подаю магические мечи только паладинам. И только по одному в одни руки." (правильно: "продаю")
"Ты можешь ремонтировать ювелирные изделия?" (меню), "Ты можешь синить драгоценности?" (правильно: "чинить");

- Диалоги с Беннетом (Story\Dialoge\DIA_SLD_809_Bennet.d):
"Вот держи." (пропущена запятая)
"Хммм, превосходная работа. Оправа сломана. Но, думаю, впрочем, я смогу починить ее." (в озвучке: "я смогу починить ее, впрочем.");

Очень странное условие в функции DIA_Bennet_DRACHENEIER_ok() - похоже на ошибку декомпиляции:
* * *if(1 == 2)
* * *{
* * * * * *AI_Output(self,other,"DIA_Bennet_DRACHENEIER_ok_0 6_08"); * * *//Но сначала ты должен взять карту пещер у картографа в городе. Будет жаль, если ты найдешь не все яйца.
* * * * * *B_LogEntry(TOPIC_DRACHENEIER,"Я должен купить карту пещер у картографа в городе, чтобы быть уверенным, что я не пропущу часть яиц.");
* * *};
Надо проверить как это выглядит в том же скрипте из G2MDK.

- Ян (DIA_DJG_714_Jan.d):
"Я делаю оружие. А сражаются им путь другие." (правильно: "пусть");

- Ретон (DIA_DJG_709_Rethon.d):
"Моей группы? У меня нет группы. Я охотник за трофеями." (в озвучке: "Да у меня");

- Гаронд (DIA_Pal_250_Garond.d):
"Это хорошие новости. Вот. Возьми эти деньги. Надеюсь, они помогут тебе обновить свое снаряжение." (в озвучке: "твое снаряжение");

- Диалоги с Керолотом (DIA_Pal_258_Keroloth.d):
"Ничего, когда я доберусь до этой сволочи..." (в озвучке: "вот когда")
"Я покажу тебе, как воровать *честных людей!" (правильно: "у честных");

Указанные при покупке доспехов значения параметров защиты не соответствуют фактическим.
- кожанные доспехи (25/20/5/0) у Маттео (DIA_VLK_416_Matteo.d):
"Купить кожаные доспехи. Защита: оружие 25, стрелы 20 (250 золота)";
- средние (50/50/0/5) и тяжелые доспехи наёмника (80/80/5/10) у Ли (DIA_SLD_800_Lee.d):
"Купить средние доспехи наемника. Защита: оружие 45, стрелы 45. Цена: 500 золота"
"Купить тяжелые доспехи наемника. Защита: оружие 60, стрелы 60. Цена: 1000 золота"
- средние (120/120/75/35) и тяжёлые доспехи охотника на драконов (150/150/100/50) у Беннета (DIA_SLD_809_Bennet.d):
"Средние доспехи охотника на драконов: Защита: оружие 80, стрелы 80. (12000 золота)"
"Тяжелые доспехи охотника на драконов: Защита: оружие 90, стрелы 90. (20000 золота)"
- средние доспехи охотника на драконов (120/120/75/35) у Яна (DIA_DJG_714_Jan.d):
"Средние доспехи охотника на драконов: Защита: оружие 80, стрелы 80. (12000 золота)"
- тяжёлые доспехи ополчения (70/70/10/10) у Энгора (DIA_VLK_4108_Engor.d):
"Купить тяжелые доспехи ополчения (Защита: Оружие 60, Стрелы 60. Цена: 2500 золота)"
- тяжёлые доспехи бандита (50/50/0/0) у Хуно (DIA_BDT_1099_Addon_Huno.d):
"Купить тяжелые доспехи бандита (Защита: оружие 45, стрелы 45. Цена: 2100 золотых)"
"Купить тяжелые доспехи бандита (Защита: оружие 45, стрелы 45. Цена: 1400 золотых)"

А теперь довольно спорный момент в игре - в 4 главе Бифф не помогает герою в зачистке горного форта - останавливается, когда расстояние до площади перед входом в форт (LOCATION_19_03_PATH_RUIN8) < 10000 и возвращается к мосту (LOCATION_19_01).
Надо, чтобы он останавливался перед входом в логово каменного дракона (OW_ROCKDRAGON_11 < 2000, расстояние надо уточнять) и отходил к к телу охотника на драконов (OW_ROCKDRAGON_09) или ко входу в форт (LOCATION_19_03_PATH_RUIN11).
Story\Dialoge\DAI_DJG_713_Biff.d:
Cпойлер(щелкните, чтобы прочесть):
func int DIA_Biff_ICHBLEIBHIER_Condition()
{
* * *if((Npc_GetBodyState(hero) != BS_INVENTORY) && (Npc_GetBodyState(hero) != BS_MOBINTERACT_INTERRUPT) && (DJG_BiffParty == TRUE) && (DJG_Biff_Stay == FALSE) && (((((Npc_GetDistToWP(self,"OW_SWAMPDRAGON_01") < 4000) && (Npc_IsDead(SwampDragon) == FALSE) && (SwampDragon.flags != 0)) || ((Npc_GetDistToWP(self,"OW_ROCKDRAGON_11") < 2000) && (Npc_IsDead(RockDragon) == FALSE) && (RockDragon.flags != 0)) || ((Npc_GetDistToWP(self,"CASTLE_36") < 4000) && (Npc_IsDead(FireDragon) == FALSE) && (FireDragon.flags != 0)) || ((Npc_GetDistToWP(self,"OW_ICEDRAGON_01") < 4000) && (Npc_IsDead(IceDragon) == FALSE) && (IceDragon.flags != 0))) && (Npc_HasItems(hero,ItMi_InnosEye_MIS) >= 1)) || (Npc_GetDistToWP(self,"OC_CENTER_GUARD_02") < 4500)))
* * *{
* * * * * *return TRUE;
* * *};
};

func void DIA_Biff_ICHBLEIBHIER_Info()
{
* * *AI_Output(self,other,"DIA_Biff_ICHBLEIBHIER_07_00 "); * * *//Очень опасная местность. Ты иди первым. А я буду прикрывать тебя сзади.
* * *AI_StopProcessInfos(self);
* * *Npc_SetRefuseTalk(self,300);
* * *if(Npc_GetDistToWP(self,"OW_SWAMPDRAGON_01") < 10000)
* * *{
* * * * * *Npc_ExchangeRoutine(self,"Stay_Swamp");
* * *};
* * *if(Npc_GetDistToWP(self,"OW_ROCKDRAGON_11") < 10000)
* * *{
* * * * * *Npc_ExchangeRoutine(self,"Stay_Rock");
* * *};
* * *if(Npc_GetDistToWP(self,"CASTLE_36") < 10000)
* * *{
* * * * * *Npc_ExchangeRoutine(self,"Stay_Fire");
* * *};
* * *if(Npc_GetDistToWP(self,"OW_ICEDRAGON_01") < 10000)
* * *{
* * * * * *Npc_ExchangeRoutine(self,"Stay_Ice");
* * *};
* * *if(Npc_GetDistToWP(self,"OC_CENTER_GUARD_02") < 10000)
* * *{
* * * * * *Npc_ExchangeRoutine(self,"Stay_AwayFromOC");
* * *};
* * *DJG_Biff_Stay = TRUE;
* * *DJG_Biff_SCGold = Npc_HasItems(hero,ItMi_Gold);
};

Story\NPC\DJG_713_Biff.d:
Cпойлер(щелкните, чтобы прочесть):
func void Rtn_Stay_Rock_713()
{
* * *TA_Stand_Guarding(8,0,23,0,"LOCATION_19_03_PATH_RUIN11");
* * *TA_Stand_Guarding(23,0,8,0,"LOCATION_19_03_PATH_RUIN11");
};
Ответить с цитированием