|
|
31.01.2015, 21:16
|
#6001
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Мне также хочется добавить, что "трусость" монстров - крайне неудачная идея.
1) Подобные изиенения уже не дают патчу права называться патчем - это уже явный модинг.
2) Как уже было замечено, в Готике I подобного явления у "молодых" монстров не было, ксати, и трусости овец в G2 также никогда не было.
3) Это "фича" явно мало тестировалась, т.к. приводит ко многим багам. Кавалорн или стража Хориниса убивает бандита, игрок теряет лишний опыт + возрасает нагрузка на AI, между прочим + молодые монстры есть не только в начале игры, а еще в некоторых местах.
P.S. В игре, по-прежнему, осталось много "некритичных", но эстетических багов, поэтому внедрять "модинговые" фичи считаю неразумным.
|
|
|
|
03.02.2015, 10:02
|
#6002
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Black Phantom:А в G1 она тоже "крайне неудачная"? (сарказм) 1) Если тебе так хочется, то считай это патчем с элементами моддинга. 2) У молодых монстров - не было, а у овец - было всегда, смотри функцию атаки монстров из G2 версии 1.30:
Cпойлер(щелкните, чтобы прочесть):
func void ZS_MM_Attack() { * * *Npc_SetPercTime(self,1); * * *Npc_PercEnable(self,PERC_ASSESSBODY,B_MM_AssessBo dy); * * *Npc_PercEnable(self,PERC_ASSESSMAGIC,B_AssessMagi c); * * *Npc_PercEnable(self,PERC_ASSESSDAMAGE,B_MM_Assess Damage); * * *Npc_PercEnable(self,PERC_ASSESSWARN,B_MM_AssessWa rn); * * *Npc_PercEnable(self,PERC_ASSESSSURPRISE,B_MM_Asse ssSurprise); * * *B_ValidateOther(); * * *if(self.guild == GIL_SHEEP) * * *{ * * * * * *Npc_ClearAIQueue(self); * * * * * *B_ClearPerceptions(self); * * * * * *Npc_SetTarget(self,other); * * * * * *AI_StartState(self,ZS_MM_Flee,0,""); * * * * * *return; * * *}; * * *AI_Standup(self); * * *AI_SetWalkMode(self,NPC_RUN); * * *Npc_SendPassivePerc(self,PERC_ASSESSWARN,other,se lf); * * *self.aivar[AIV_PursuitEnd] = FALSE; * * *self.aivar[AIV_StateTime] = 0; * * *self.aivar[AIV_HitByOtherNpc] = 0; * * *self.aivar[AIV_SelectSpell] = 0; };
3) Так уж и многим? Например, Кавалорн и бандит не станут бегать за молодыми волками, если не пытаться забить этих зверей палкой, а пристрелить из короткого лука. Ещё трусливые молодые волки встречаются за воротами Прохода в Миненталь (у волков, которых надо убить по квесту Пепе, нет режима трусости). Изначально в G2 тактика FAI_MONSTER_COWARD была прописана только у молодых гигантских крыс, молодых волков и молодых гоблинов (из-за проблем с нападением на Кавалорна заменена на стандартную FAI_GOBBO). У молодых полевых хищников и малых кровавых мух заданы стандартные тактики FAI_GIANT_BUG и FAI_BLOODFLY. Поэтому я не считаю, что надо срочно изменять тактику у молодых волков на FAI_WOLF. По поводу потери опыта: например, не трусливых молодых волков быстро убивает Грег. Трусливые на некоторое время убегают от капитана пиратов и тем самым дают ГГ шанс получить опыт за их убийство. P.S.: Подробный список - в студию.
|
|
|
|
04.02.2015, 16:59
|
#6003
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
|
Сообщение от Dimus link=board=gothic&t=1192576961&goto=7351913 date=02/03/15, в 09:02:00
2Black Phantom: А в G1 она тоже "крайне неудачная"? (сарказм)
|
|
1) Если тебе так хочется, то считай это патчем с элементами моддинга.
|
2) У молодых монстров - не было, а у овец - было всегда, смотри функцию атаки монстров из G2 версии 1.30:
Cпойлер(щелкните, чтобы прочесть):
func void ZS_MM_Attack() { * * *Npc_SetPercTime(self,1); * * *Npc_PercEnable(self,PERC_ASSESSBODY,B_MM_AssessBo dy); * * *Npc_PercEnable(self,PERC_ASSESSMAGIC,B_AssessMagi c); * * *Npc_PercEnable(self,PERC_ASSESSDAMAGE,B_MM_Assess Damage); * * *Npc_PercEnable(self,PERC_ASSESSWARN,B_MM_AssessWa rn); * * *Npc_PercEnable(self,PERC_ASSESSSURPRISE,B_MM_Asse ssSurprise); * * *B_ValidateOther(); * * *if(self.guild == GIL_SHEEP) * * *{ * * * * * *Npc_ClearAIQueue(self); * * * * * *B_ClearPerceptions(self); * * * * * *Npc_SetTarget(self,other); * * * * * *AI_StartState(self,ZS_MM_Flee,0,""); * * * * * *return; * * *}; * * *AI_Standup(self); * * *AI_SetWalkMode(self,NPC_RUN); * * *Npc_SendPassivePerc(self,PERC_ASSESSWARN,other,se lf); * * *self.aivar[AIV_PursuitEnd] = FALSE; * * *self.aivar[AIV_StateTime] = 0; * * *self.aivar[AIV_HitByOtherNpc] = 0; * * *self.aivar[AIV_SelectSpell] = 0; };
|
|
3) Так уж и многим? Например, Кавалорн и бандит не станут бегать за молодыми волками, если не пытаться забить этих зверей палкой, а пристрелить из короткого лука. Ещё трусливые молодые волки встречаются за воротами Прохода в Миненталь (у волков, которых надо убить по квесту Пепе, нет режима трусости). Изначально в G2 тактика FAI_MONSTER_COWARD была прописана только у молодых гигантских крыс, молодых волков и молодых гоблинов (из-за проблем с нападением на Кавалорна заменена на стандартную FAI_GOBBO). У молодых полевых хищников и малых кровавых мух заданы стандартные тактики FAI_GIANT_BUG и FAI_BLOODFLY. Поэтому я не считаю, что надо срочно изменять тактику у молодых волков на FAI_WOLF. По поводу потери опыта: например, не трусливых молодых волков быстро убивает Грег. Трусливые на некоторое время убегают от капитана пиратов и тем самым дают ГГ шанс получить опыт за их убийство.
|
|
P.S.: Подробный список - в студию.
|
Если по порядку: 1. Довольно странный аргумент, что раз было в G1, то должно быть и в G2. В G1 было много того, чего не было в G2. Например, возможность пройти мимо стражи с оружием в руках, и.т.п. Это же не значит, что нужно переносить все из 1-й части во 2-ю 1 к 1. 2. Ну если уж заниматься модингом, то можно исправить некоторые очевидные странности, например ловкость 120+ для кражи у Диего во 2-й главе .и.т.п. 3. Зато Кавалорн будет бежать за гоблинами до самого Хориниса, например :). По поводу Грега - можно убить 2-х волков огненной стрелой, как вариант. Довольно странный аргумент - "сделаем трусость, чтобы игроку было проще заработать опыт в некоторых ситуациях." 4. Там действительно прилично меняется, как мимнумум при поведении: Кавалорна, бандита у пещеры, Малета, Грега, городской стражи.
|
|
|
|
05.02.2015, 10:23
|
#6004
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
|
Например, возможность пройти мимо стражи с оружием в руках
|
Это была ошибка ИИ персонажей, охраняющих проходы в закрытые зоны, исправленная в Gothic Mod Fix. Ладно, уговорил - в следующей сборке у молодых волков будет стандартная тактика FAI_WOLF. В итоге будут сразу убегать овцы, мясные жуки и молодые крысы, а различные виды падальщиков и взрослые крысы/кротокрысы - после потери более половины здоровья:
Cпойлер(щелкните, чтобы прочесть):
func int C_WantToFlee(var C_Npc slf,var C_Npc oth) { if(slf.guild < GIL_SEPERATOR_HUM) { if((slf.guild != GIL_DMT) && ((slf.npcType == NPCTYPE_AMBIENT) || (slf.npcType == NPCTYPE_OCAMBIENT) || (slf.npcType == NPCTYPE_BL_AMBIENT) || (slf.npcType == NPCTYPE_TAL_AMBIENT) || (slf.fight_tactic == FAI_HUMAN_COWARD))) { if((slf.fight_tactic == FAI_HUMAN_COWARD) && ((slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 2)) || C_AmIWeaker(slf,oth))) { return TRUE; // ...coward flees! }; if((slf.fight_tactic == FAI_HUMAN_STRONG) && (slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 4))) { return TRUE; // ...strong fighter flees! }; if((slf.aivar[AIV_MagicUser] == MAGIC_ALWAYS) && (slf.attribute[ATR_MANA] < (slf.attribute[ATR_MANA_MAX] / 5))) { return TRUE; // ...mage flees! }; if(Npc_IsInFightMode(slf,FMODE_FAR) && (slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 3))) { return TRUE; // ...ranged fighter flees! }; }; } else { if((slf.guild == GIL_SHEEP) || (slf.guild == GIL_MEATBUG)) { return TRUE; // ...sheep or meatbug flees! }; if((((slf.fight_tactic == FAI_SCAVENGER) && (slf.aivar[AIV_MM_REAL_ID] != ID_OrcBiter)) || (slf.fight_tactic == FAI_GIANT_RAT) || (slf.fight_tactic == FAI_MOLERAT)) && (slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 2))) { return TRUE; // ...scavenger, rat or molerat flees! }; if((slf.fight_tactic == FAI_MONSTER_COWARD) && ((slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 2)) || C_AmIWeaker(slf,oth))) { return TRUE; // ...coward monster flees! }; }; return FALSE; };
А если ты категорически не приемлешь режим трусости, то используй NoFlee сборку от Udar.
|
|
|
|
05.02.2015, 15:09
|
#6005
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
|
Сообщение от Dimus link=board=gothic&t=1192576961&goto=7352100 date=02/05/15, в 09:23:30
Это была ошибка ИИ персонажей, охраняющих проходы в закрытые зоны, исправленная в Gothic Mod Fix.
|
Ладно, уговорил - в следующей сборке у молодых волков будет стандартная тактика FAI_WOLF. В итоге будут сразу убегать овцы, мясные жуки и молодые крысы, а различные виды падальщиков и взрослые крысы/кротокрысы - после потери более половины здоровья:
Cпойлер(щелкните, чтобы прочесть):
func int C_WantToFlee(var C_Npc slf,var C_Npc oth) { * * *if(slf.guild < GIL_SEPERATOR_HUM) * * *{ * * * * * *if((slf.guild != GIL_DMT) && ((slf.npcType == NPCTYPE_AMBIENT) || (slf.npcType == NPCTYPE_OCAMBIENT) || (slf.npcType == NPCTYPE_BL_AMBIENT) || (slf.npcType == NPCTYPE_TAL_AMBIENT) || (slf.fight_tactic == FAI_HUMAN_COWARD))) * * * * * *{ * * * * * * * * *if((slf.fight_tactic == FAI_HUMAN_COWARD) && ((slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 2)) || C_AmIWeaker(slf,oth))) * * * * * * * * *{ * * * * * * * * * * * *return TRUE; * * *// ...coward flees! * * * * * * * * *}; * * * * * * * * *if((slf.fight_tactic == FAI_HUMAN_STRONG) && (slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 4))) * * * * * * * * *{ * * * * * * * * * * * *return TRUE; * * *// ...strong fighter flees! * * * * * * * * *}; * * * * * * * * *if((slf.aivar[AIV_MagicUser] == MAGIC_ALWAYS) && (slf.attribute[ATR_MANA] < (slf.attribute[ATR_MANA_MAX] / 5))) * * * * * * * * *{ * * * * * * * * * * * *return TRUE; * * *// ...mage flees! * * * * * * * * *}; * * * * * * * * *if(Npc_IsInFightMode(slf,FMODE_FAR) && (slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 3))) * * * * * * * * *{ * * * * * * * * * * * *return TRUE; * * *// ...ranged fighter flees! * * * * * * * * *}; * * * * * *}; * * *} * * *else * * *{ * * * * * *if((slf.guild == GIL_SHEEP) || (slf.guild == GIL_MEATBUG)) * * * * * *{ * * * * * * * * *return TRUE; * * *// ...sheep or meatbug flees! * * * * * *}; * * * * * *if((((slf.fight_tactic == FAI_SCAVENGER) && (slf.aivar[AIV_MM_REAL_ID] != ID_OrcBiter)) || (slf.fight_tactic == FAI_GIANT_RAT) || (slf.fight_tactic == FAI_MOLERAT)) && (slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 2))) * * * * * *{ * * * * * * * * *return TRUE; * * *// ...scavenger, rat or molerat flees! * * * * * *}; * * * * * *if((slf.fight_tactic == FAI_MONSTER_COWARD) && ((slf.attribute[ATR_HITPOINTS] < (slf.attribute[ATR_HITPOINTS_MAX] / 2)) || C_AmIWeaker(slf,oth))) * * * * * *{ * * * * * * * * *return TRUE; * * *// ...coward monster flees! * * * * * *}; * * *}; * * *return FALSE; };
А если ты категорически не приемлешь режим трусости, то используй NoFlee сборку от Udar.
|
1. А кроме овещ в G2a по дефолту у кого-то была трусость? Например, когда крыса в долине Лестера убегала от волка - это оно, или нет? 2. Сейчас как раз прохожу игру с последней сборкой, сразу же внес изменения и пересобрал gothic.dat под свои нужды, в т.ч. noflee
|
|
|
|
05.02.2015, 19:49
|
#6006
|
 |
|
 |
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
 |
|
 |
|
Re: Gothic 1, 2, 3: Технические вопросы
2Black Phantom:
|
. А кроме овещ в G2a по дефолту у кого-то была трусость? Например, когда крыса в долине Лестера убегала от волка - это оно, или нет?
|
1. Только овцы бегали, больше никто если не ошибаюсь. 2. Нет, это реализация поведения и жизни монстров в природе для ИИ, прописываемое в их рутине..
|
|
|
|
06.02.2015, 00:34
|
#6007
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2MaGoth: Спасибо!
2Dimus: У меня есть несколько идей для скрипт-патча: 1. *Понизить уровень ловкости, требуемый для карманной кражи у Диего в Минентале или Эстебана в Долине строителей. ИМХО - ловкость 120 - нереальная цифра для 2-3 глав.
2. В игре есть квест, в котром требуется принести 3 ед. болотной *травы для Ватраса. *Так вот, если в игре найдена ВСЯ болотная трава и продана Фортуно, то квест становится непроходимым (таакая же ситуация с зубами болотожоров в G1). Чтобы исключить эту гипотетическую возможность, предлагаю после разговора с Ватрасом "Где мне найти болотную траву", добавить ее где-нибудь на карте мира функцией: "Wld_InsertItem() (по аналогии с царским щавелем при разговоре с Зурисом).
3. В игре есть баг: если главный герой стреляет во врагов из лука или арбалета, и при этом его убивают, то после загрузки сохраненной игры на земле остаются лежать стрелы и болты (хотя их по всем законам там не должно быть, т.к. сейв более ранних событий). Таким образом возможна накрутка стрел, да и просто глупо выглядит ситуация. Я не знаю, можно ли исправить это правкой скриптов....
4. Если поговорить с Корагоном про Валентино, а потом избить Валентино, то как только герой подойдет к Корагону автоматически начнется диалог: "AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_0 9_33"); * * *//Прошлой ночью он не смог расплатиться по счету. * * *if(Valentino.aivar[AIV_DefeatedByPlayer] == TRUE) * * *{ * * * * * *AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_0 9_34"); * * *//Он болтал что-то о том, что его обокрали и что он заплатит мне потом. Как же! * * *} "
Диалог выглядит довольно забавно, т.к. непонятно, что речь про Валентино. Вероятно, разработчики предполагали, что этот диалог - прямое продолжение разговора "А что там насчет Валентино? ". А так - получается, что фраза непонятно к чему...хотя может я не прав...
5. В скриптах оригинальной G2 в дилогах Лотара была функция: func void B_Lothar_Blubb() { * * *AI_Output(other,self,"DIA_Lothar_Add_15_00"); * * *//Но я ДОЛЖЕН увидеться с лордом Хагеном! * * *AI_Output(self,other,"DIA_Lothar_Add_01_45"); * * *//Как я понимаю, он принял тебя в ряды ополчения. * * *AI_Output(self,other,"DIA_Lothar_Add_01_46"); * * *//Хмм... Надеюсь, он знает, что делает. * * *AI_Output(other,self,"DIA_Lothar_Add_15_20"); * * *//Сколько мастеров работает в городе? * * *AI_Output(self,other,"DIA_Lothar_Add_01_21"); * * *//Насколько я знаю, всего их пять. * * *AI_Output(self,other,"DIA_Lothar_Add_01_62"); * * *//Скажи мне, разве я говорил недостаточно внятно? Хватит разговоров о драконах! * * *AI_Output(other,self,"DIA_Lothar_Add_15_63"); * * *//Откуда тебе знать?.. * * *AI_Output(self,other,"DIA_Lothar_Add_01_64"); * * *//Это НЕ ТВОЕ дело! * * *AI_Output(self,other,"DIA_Lothar_Add_01_65"); * * *//Это было последний раз, понятно?! * * *AI_Output(other,self,"DIA_Lothar_Add_15_66"); * * *//Где мне найти командира ополчения? ...
Эти фразы никогда не использовались, хотя сами файлы озвучки в vdf есть. В G2a из скриптов эту функцию убрали вовсе. Может быть, как-нибудь восстановить эти фразы? Было бы довольно интересно,тем более - озвучка уже есть.
5. В аддоне почему-то убрана функция отказа Бальтрама от торовли с ГГ, в случае провала квеста Кантара: func int dia_baltram_sperre_condition() { * * *if((Canthar_Sperre == TRUE) && Npc_IsInState(self,ZS_Talk)) * * *{ * * * * * *return TRUE; * * *}; };
func void dia_baltram_sperre_info() { * * *AI_Output(self,other,"DIA_Baltram_Sperre_01_00"); * * *//Чего тебе нужно? Ты заключенный из горнодобывающей колонии. Я не хочу иметь с тобой никаких дел! * * *AI_StopProcessInfos(self); };
Добавление от 02/05/15, в 23:54:46 Небольшой вопрос камраду Dimus: В скриптпатче Мартин экипируется шпагой мастера и ее становится невозмжно купить - это баг или фича?
|
|
|
|
06.02.2015, 10:28
|
#6008
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Black Phantom:
|
У меня есть несколько идей для скрипт-патча: 1. *Понизить уровень ловкости, требуемый для карманной кражи у Диего в Минентале или Эстебана в Долине строителей. ИМХО - ловкость 120 - нереальная цифра для 2-3 глав.
|
120 ловкости реально в 1 главе, я бы понизил уровень карманной кражи у Декстера
|
|
|
|
06.02.2015, 11:02
|
#6009
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2. Надо посмотреть, есть ли в игре 3 свободных freepoint для вставки болотной травы, потому что при вставке на waypoint предмет будет висеть в воздухе. 3. В скрипте из G2 MDK Корагон называет его имя:
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Coragon_News_Info () { AI_Output (self ,other,"DIA_ADDON_NEW_Coragon_Add_09_33"); //Valentino konnte letzte Nacht seine Zeche nicht bezahlen. if (Valentino.aivar[AIV_DefeatedByPlayer] == TRUE) { AI_Output (self ,other,"DIA_ADDON_NEW_Coragon_Add_09_34"); //Er hat irgendwas gefaselt - er wдre ausgeraubt worden und wьrde spдter bezahlen... Sowas!. } else //Pickpocket OHNE Niederschlagen - AUSKOMMENTIERT { AI_Output (self ,other,"DIA_ADDON_NEW_Coragon_Add_09_35"); //Vorher hat er noch geprahlt, wieviel Geld er hat. AI_Output (self ,other,"DIA_ADDON_NEW_Coragon_Add_09_36"); //Dann greift er in seine Tasche und macht ein dдmliches Gesicht. Er meint er wдre bestohlen worden... }; AI_Output (other, self,"DIA_Coragon_Add_15_37"); //Und? Was hast du gemacht? AI_Output (self ,other,"DIA_ADDON_NEW_Coragon_Add_09_38"); //Na, ich hab ihm 'ne ordentliche Tracht Prьgel verabreicht, was sonst! };
Не уверен, что мне удастся исправить субтитры и озвучку этой фразы в русской версии. 5. Потому что этот диалог убран в скрипте из G2 MDK:
Cпойлер(щелкните, чтобы прочесть):
///////////////////////////////////////////////////////////////////////AUSKOMMENTIERT WEGEN ADDON M.F. (Missionen passen nicht mehr, Spielfluss hemmend) // * * *Info Sperre /////////////////////////////////////////////////////////////////////// /* instance DIA_Baltram_Sperre * * * * * *(C_INFO) { * * *npc * * * * * * * * * = * * *VLK_410_Baltram; * * *nr * * * * * * * * * = * * *1; * * *condition * * * = * * *DIA_Baltram_Sperre_Condition; * * *information * * * = * * *DIA_Baltram_Sperre_Info; * * *permanent * * * = *TRUE; * * *important * * * = * * *TRUE; }; func int DIA_Baltram_Sperre_Condition () { * * *if (Canthar_Sperre == TRUE) * * *&& (Npc_IsInState (self, ZS_Talk )) * * *&& ((!Npc_KnowsInfo (other, DIA_Addon_Baltram_LaresAbloese)) * * *|| (SCIsWearingRangerRing == FALSE)) * * *{ * * * * * *return TRUE; * * *}; }; func void DIA_Baltram_Sperre_Info () { * * *AI_Output (self, other, "DIA_Baltram_Sperre_01_00"); //Was willst du? Du bist ein Strдfling aus der Minenkolonie. Mit dir mache ich keine Geschдfte! * * *AI_StopProcessInfos (self); * * * }; */
Подозреваю, что был какой-то конфликт с диалогом, в котором ставший наёмником ГГ должен восстановить торговлю с Бальтрамом. Это не баг, а особенность ИИ: если в инвентаре NPC есть оружие с наилучшими характеристиками, которым он сможет экипироваться, то он сделает это. А шпага мастера будет наилучшим оружием для Мартина. Поэтому я старался купить её при первом разговоре, а если Мартин экипировался ей, то продавал ему топор палача. P.S.: На остальные вопросы у меня пока нет ответов.
|
|
|
|
06.02.2015, 14:06
|
#6010
|
 |
|
 |
|
A.G.F.C.
Регистрация: 18.02.2008
Сообщений: 0
|
|
 |
|
 |
|
Re: Gothic 1, 2, 3: Технические вопросы
2Dimus:
|
Это не баг, а особенность ИИ: если в инвентаре NPC есть оружие с наилучшими характеристиками, которым он сможет экипироваться, то он сделает это. А шпага мастера будет наилучшим оружием для Мартина.
|
На мой взгляд, это баг. Вариантов решения могу предложить два. Во-первых, можно дать ему не одну, а две сабли. Во-вторых, можно подкорректировать его характеристики таким образом, чтобы он не мог её экипировать. Добавление от 02/06/15, в 13:10:59 2Black Phantom:
|
3. В игре есть баг: если главный герой стреляет во врагов из лука или арбалета, и при этом его убивают, то после загрузки сохраненной игры на земле остаются лежать стрелы и болты (хотя их по всем законам там не должно быть, т.к. сейв более ранних событий).
|
Если сохраниться в момент, когда противник находится в режиме дальнего боя и стреляет в ГГ, то после загрузки сохранения противник окажется в ступоре (видимо, из-за потери идентификатора атакуемой цели), а стрелы/болты останутся висеть в воздухе. Глюк движка, походу. Не знаю, способен ли такое вылечить СистемПак. Керракс в GE как-то вылечил.
|
|
|
|
06.02.2015, 15:39
|
#6011
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2ElderGamer:Лично я не вижу смысла перевооружать Мартина с грубого палаша на шпагу мастера или понижать ему уровень атрибутов командой B_SetAttributesToChapter(self,1), потому что это оружие можно
Cпойлер(щелкните, чтобы прочесть):
отобрать у Кассии или Рамиреза, а также найти в башне Ксардаса в Минентале.
Тем более, что в следующей сборке обновления я планирую переработать систему торговли оружием, например, шпага мастера появится в продаже у Мартина начиная с главы 3.
|
|
|
|
06.02.2015, 18:49
|
#6012
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Ксати, нашел еще один косяк с Марином - если подраться ним, то ГГ его убивает оружием, а не нокаутирует...
Добавление от 02/06/15, в 17:58:19 И еще один баг найден: при выборе кражи у Бартока в инвентаре должны появиться стрелы, но они не появляются...
Добавление от 02/06/15, в 18:09:10 При краже у интенданта Мартина выводится сообщение: description = Pickpocket_60;
А должно быть: description = Pickpocket_80;
потому что: return C_Beklauen(65,77);
|
|
|
|
06.02.2015, 20:05
|
#6013
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
1. Баг не подтверждён - у меня ГГ всегда отправляет Мартина в нокаут. 2. На самом деле стрелы появляются в инвентаре Бартока и сразу же передаются ГГ, поэтому ты не успеваешь увидеть их:
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Bartok_PICKPOCKET_DoIt() { CreateInvItems(self,ItRw_Arrow,40); B_StealItems(30,Hlp_GetInstanceID(ItRw_Arrow),40) ; Info_ClearChoices(DIA_Bartok_PICKPOCKET); };
3. Здесь всё правильно, потому что PickPocket_60 подразумевает разброс значений ловкости по 10 единиц в обе стороны, т.е. от 50 до 70.
|
|
|
|
07.02.2015, 01:10
|
#6014
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
|
Сообщение от Dimus link=board=gothic&t=1192576961&goto=7352218 date=02/06/15, в 19:05:04
1. Баг не подтверждён - у меня ГГ всегда отправляет Мартина в нокаут.
|
2. На самом деле стрелы появляются в инвентаре Бартока и сразу же передаются ГГ, поэтому ты не успеваешь увидеть их:
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Bartok_PICKPOCKET_DoIt() { * * *CreateInvItems(self,ItRw_Arrow,40); * * *B_StealItems(30,Hlp_GetInstanceID(ItRw_Arrow),40) ; * * *Info_ClearChoices(DIA_Bartok_PICKPOCKET); };
|
|
3. Здесь всё правильно, потому что PickPocket_60 подразумевает разброс значений ловкости по 10 единиц в обе стороны, т.е. от 50 до 70.
|
1. Сейв: https://yadi.sk/d/TuCfGk2FeWmzS ГГ дерется с Мартином, ГГ осталось нанести последний удар... 2. Сейв: https://yadi.sk/d/uuQtUZAmeWn4h Иллюстрации:   3. Т.е. получется, что когда, например, написано: "Украсть его кошелек будет довольно рискованно" - это не всегда означает, что ловкости 60 будет достаточно для кражи? Добавление от 02/07/15, в 00:18:23
И еще такое преложение: У некоторых NPC не получится совершить карманную кражу, хотя функции прописаны. Причина - отсутвие диалогов, т.е. есть только односторонняя речь и нет опции выбора: Борка Атилла Нагур и.т.д. может чтоит исправить - явная недоработка же?
|
|
|
|
07.02.2015, 19:49
|
#6015
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
1. Не подтверждается даже с твоим сэйвом - Мартин всегда уходит в нокаут от удара шпагой мастера. 2. Вопрос "на засыпку": на какой сборке обновления ты начинал новую игру? Потому что для сохранения совместимости с ней мне пришлось переделывать алгоритм кражи стрел у Бартока по образцу алгоритма Кавалорна. В следующий раз я буду игнорировать отчёты об ошибках в случае, если новая игра не была начата на последней сборке обновления. 3. Так оно и есть. На самом деле мне удалось обокрасть Нагура
Cпойлер(щелкните, чтобы прочесть):
после того, как Кардиф посоветовал ГГ обратиться к нему насчёт "особой работы" (нужно 80 ловкости).
Поэтому задай у ГГ 120 ловкости и проверь диалоги у Аттилы
Cпойлер(щелкните, чтобы прочесть):
если ГГ не отправил в тюрьму Ренгару, Нагура и Хальвора
и у Борки
Cпойлер(щелкните, чтобы прочесть):
после получения от Андрэ задания найти распространителя болотной травы в порту.
|
|
|
|
09.02.2015, 17:02
|
#6016
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
|
Сообщение от Dimus link=board=gothic&t=1192576961&goto=7352307 date=02/07/15, в 18:49:11
1. Не подтверждается даже с твоим сэйвом - Мартин всегда уходит в нокаут от удара шпагой мастера.
|
|
2. Вопрос "на засыпку": на какой сборке обновления ты начинал новую игру? Потому что для сохранения совместимости с ней мне пришлось переделывать алгоритм кражи стрел у Бартока по образцу алгоритма Кавалорна. В следующий раз я буду игнорировать отчёты об ошибках в случае, если новая игра не была начата на последней сборке обновления.
|
На самом деле мне удалось обокрасть Нагура
Cпойлер(щелкните, чтобы прочесть):
после того, как Кардиф посоветовал ГГ обратиться к нему насчёт "особой работы" (нужно 80 ловкости).
Поэтому задай у ГГ 120 ловкости и проверь диалоги у Аттилы
Cпойлер(щелкните, чтобы прочесть):
если ГГ не отправил в тюрьму Ренгару, Нагура и Хальвора
и у Борки
Cпойлер(щелкните, чтобы прочесть):
после получения от Андрэ задания найти распространителя болотной травы в порту.
|
1. Я понял в чем дело - в Г2 есть фишка: избиение NPC, когда он почти полностью стоит в воде заканчивается его смертью, а не нокаутом (логично, типо он захлебывается) 2. На сборке от 24.12.14, которую ты отправлял мне в ЛС. Можешь игнорировать - мне все равно. Можешь сам взять сборку от 24.12 и добежать от Ксардас до Хориниса. 3. Тут я с тобой совсем не согласен: а) откуда ГГ имеет навык карманика при первых разговорах с Нагуром и Атилой? б) У некоторых "подобных" персонажей, такая возможность есть. Например Элвих при возвращении в Хоринис не имеет никаких пунктов диалога, но при этом есть сам вход в диалог с кнопкой "КОНЕЦ" и, соответсвенно с возможность выбора кражи. в) Проблема решается элементарно - нужно вставить проверку: если у ГГ есть навык карманника то после реплики, к примеру, Борки оставлять открытым диалог с кнопкой "КОНЕЦ" И кнопкой "украсть", без других реплик.
|
|
|
|
09.02.2015, 22:52
|
#6017
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Поддержу Black Phantom по поводу воровства. Почему, например, при игре за наемника того же зазывалу Борку вообще нельзя обокрасть, так как игрой почему-то не предусмотрено прямых диалогов с ним? Игровой момент? Но тогда почему можно обокрасть мужика, что курит траву около дома Лемара, который также рекламирует услуги
Cпойлер(щелкните, чтобы прочесть):
(взять денег в долг)
, но заговорить и обокрасть его почему-то можно. Как-то не логично получается.
|
|
|
|
11.02.2015, 16:39
|
#6018
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Udar: Обокрасть Борку за наемника можно, если избить, а потом к нему обратиться (он пробормочет что-то типа "Окей, ты победил, чего ты хочешь?" - и вот тут-то и надо быстро сообразить). Но я тоже думаю, что такая ситуация - баг, и избиение непися не должно быть условием для карманной кражи, т.к. это полностью ставит с ног на голову её идеологию.
П.С. Сложнее всего обокрасть Гритту, но это уже действительно игровой момент с её обидой.
|
|
|
|
11.02.2015, 22:04
|
#6019
|
 |
|
 |
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
 |
|
 |
|
Re: Gothic 1, 2, 3: Технические вопросы
2Dimus:
|
Не уверен, что мне удастся исправить субтитры и озвучку этой фразы в русской версии.
|
А в чем там проблема ?! ::) Подготовь все тексты диалогов для Гг которые были изменены или исправлены тобой в патчах для Г2 и Г2а, позже, попрошу Петра озвучить и их. Будет все в лучшем виде.. ;)
|
|
|
|
13.02.2015, 11:35
|
#6020
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2MaGoth:В данном случае речь идёт о фразе Корагона, которого озвучивал не Пётр. Фраза Корагона из оригинальной G2 не подходит, т.к. она отличается от фразы из аддона и этого персонажа озвучивал какой-то другой актёр:
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Coragon_News_Info() { * * *AI_Output(self,other,"DIA_Coragon_Add_05_33"); * * *//Валентино не смог заплатить за выпивку прошлой ночью. * * *if(Valentino.aivar[AIV_DefeatedByPlayer] == TRUE) * * *{ * * * * * *AI_Output(self,other,"DIA_Coragon_Add_05_34"); * * *//Он бормотал что-то о том, что его ограбили и что он заплатит мне позже... Чушь какая! * * *} * * *else * * *{ * * * * * *AI_Output(self,other,"DIA_Coragon_Add_05_35"); * * *//А за пять минут до этого он бахвалился, что у него денег куры не клюют. * * * * * *AI_Output(self,other,"DIA_Coragon_Add_05_36"); * * *//Затем он сунул руку у карман и сделал удивленное лицо. Он сказал, что у него украли кошелек... * * *}; * * *AI_Output(other,self,"DIA_Coragon_Add_15_37"); * * *//И? Что ты сделал? * * *AI_Output(self,other,"DIA_Coragon_Add_05_38"); * * *//Ну, я задал ему хорошую трепку, что же еще? };
А это та же функция из аддона:
Cпойлер(щелкните, чтобы прочесть):
func void DIA_Coragon_News_Info() { * * *AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_0 9_33"); * * *//Прошлой ночью он не смог расплатиться по счету. * * *if(Valentino.aivar[AIV_DefeatedByPlayer] == TRUE) * * *{ * * * * * *AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_0 9_34"); * * *//Он болтал что-то о том, что его обокрали и что он заплатит мне потом. Как же! * * *} * * *else * * *{ * * * * * *AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_0 9_35"); * * *//Только что он разорялся о том, как много у него денег. * * * * * *AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_0 9_36"); * * *//И тут он запускает руку в карман, делает глупое лицо и говорит, что его обокрали... * * *}; * * *AI_Output(other,self,"DIA_Coragon_Add_15_37"); * * *//И? Что ты сделал? * * *AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_0 9_38"); * * *//Я? Задал ему хорошую трепку, что же еще? };
Слава Инносу, что в озвучке аддона есть фраза, из которой удалось вырезать имя "Валентино" и вставить в нужную фразу, пусть и с небольшим различием в интонации (смотри список изменений хотфикса в теме Патч на озвучку v.1.13 для G2 и G2a от Dimus'a).
|
|
|
|
15.02.2015, 20:03
|
#6022
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
|
Сообщение от Udar link=board=gothic&t=1192576961&goto=7352441 date=02/09/15, в 21:52:54
Поддержу Black Phantom по поводу воровства. Почему, например, при игре за наемника того же зазывалу Борку вообще нельзя обокрасть, так как игрой почему-то не предусмотрено прямых диалогов с ним? Игровой момент? Но тогда почему можно обокрасть мужика, что курит траву около дома Лемара, который также рекламирует услуги
Cпойлер(щелкните, чтобы прочесть):
(взять денег в долг)
, но заговорить и обокрасть его почему-то можно. Как-то не логично получается.
|
Могу привести контраргумент - когда нас обучает навыку кражи *Кассия, то она конкретно указывает на необходимость заболтать жертву перед кражей, именно поэтому часть персонажей не удается обокрасть после первого разговора. Мужик около Лемара - болтун и обокрасть его всегда легко, а Борка - типичный вышибала, ему не положено болтать на работе и не дает нам возможности украсть, пока его не избить. Нагур, Атилла и другие - тут все зависит от опытности игрока, если хочешь украсть, то не болтай с ними лишнего и порядок. 2Black Phantom:
|
Например Элвих при возвращении в Хоринис не имеет никаких пунктов диалога, но при этом есть сам вход в диалог с кнопкой "КОНЕЦ" и, соответсвенно с возможность выбора кражи.
|
Имхо здесь именно баг и нужно править скрипты, добавляя новый или старый диалоги, поскольку это персонаж квестовый и должен общаться с нашим героем в любой момент. Добавление от 02/15/15, в 19:23:54
По-моему самый сложный (или извращенный) алгоритм кражи у Бладвина в золотой шахте, игрой это не было предусмотрено, но я нашел к нему подход, хотя это чистый баг скриптов.
|
|
|
|
06.03.2015, 13:01
|
#6024
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Кот Баюн:Где именно находятся эти лестницы?
Cпойлер(щелкните, чтобы прочесть):
Я помню только пару около пресса в шахте СЛ. Там на самом верху лестницы надо сделать прыжок.
Не уверен, что это исправлялось в Gothic Mod Fix или других модах для G1.
|
|
|
|
06.03.2015, 14:10
|
#6025
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
|
Сообщение от Dimus link=board=gothic&t=1192576961&goto=7354264 date=03/06/15, в 12:01:06
2Кот Баюн:Где именно находятся эти лестницы?
Cпойлер(щелкните, чтобы прочесть):
Я помню только пару около пресса в шахте СЛ. Там на самом верху лестницы надо сделать прыжок.
Не уверен, что это исправлялось в Gothic Mod Fix или других модах для G1.
|
2Dimus: Ещё одна (может и 2, не могу проверить т.к. не забраться) в крепости на горе. [spoiler]  [/spoiler] Но я её домучал всё же, хоть и стоило мне нервов :) просто не хочется ещё где то натыкаться на такое.
|
|
|
|
07.03.2015, 21:58
|
#6026
|
 |
|
 |
|
A.G.F.C.
Регистрация: 18.02.2008
Сообщений: 0
|
|
 |
|
 |
|
Re: Gothic 1, 2, 3: Технические вопросы
Dimus:
|
Не уверен, что это исправлялось в Gothic Mod Fix или других модах для G1.
|
В мод-фиксе это исправлено. А ещё есть проект от Керракса, где проблема лестниц пофиксена.
|
|
|
|
19.04.2015, 05:51
|
#6029
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Здравствуйте.
Возникла следующая техническая проблема. После активации через Gothic.ini быстрых сохранения и загрузки (F5, F9) происходит следующее: после использования быстрой загрузки перестает работать "Esc" и все кнопки ряда "F1, F2, F3...", кроме F9. После этого из игры удается выйти только через Alt+Ctrl+Del, ну и, разумеется, ни о каком сохранении и нормальной игре говорить не приходится. Не подскажите, в чем тут проблема? Причем возникла она на XP, а на 7-ке та же сборка (скачана с Рутрекера) работает нормально, лишь один раз такой глюк случился.
|
|
|
|
19.04.2015, 14:18
|
#6031
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Petetokorn:Обрати внимание на предупреждение от разработчиков игры:
|
; ... with this value set to "1" you quicksave and quickload slots will be enabled in the savegame screen. press "F5" to quicksave and "F9" to quickload ; this feature is not tested good enough yet, and therefore it is disabled for goldmaster. you may enable it at your own risk by setting it to "1"
|
Поэтому если не хочешь проблем - отключай поддержку быстрых сэйвов.
|
та же сборка (скачана с Рутрекера)
|
Ты сразу же исключил возможность оказания помощи в решении проблемы, т.к. это будет обсуждением пиратского программного обеспечения - смотри [rul], статья 3 пункт 14. Добавление от 04/19/15, в 13:15:39 2scorp 007:А что будет, если во время диалога нажать F5? Потому что в это время нельзя выйти в главное меню, чтобы сделать сохранение или загрузку сэйва. Добавление от 04/19/15, в 13:38:45
Проверил: во время диалога нажатие на F5 не даёт никакого эффекта.
|
|
|
|
05.05.2015, 08:34
|
#6032
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Помогите, пожалуйста, в решении такой проблемы в первой "Готике". Похоже, у меня в игре баг (русская версия, перевод "Snowball"). В городе орков я взял телекинезом со столба статую Спящего, нашел в одном из сундуков орочью телепортацию, но войти в храм не могу. Рычаг у входа как не поворачивался, так и не поворачивается, телепортация нигде не срабатывает. Плюс при входе город орков не поворачивается лебедка - так и должно быть? Если это можно как-то исправить, подскажите, пожалуйста.
Добавление от 05/05/15, в 07:35:27 scorp 007
Вы были правы, там проблема действительно была в том, что Ф9 нажимали во время диалога. А вот с храмом Спящего проблема серьезней...
|
|
|
|
05.05.2015, 17:24
|
#6034
|
 |
|
 |
|
A.G.F.C.
Регистрация: 18.02.2008
Сообщений: 0
|
|
 |
|
 |
|
Re: Gothic 1, 2, 3: Технические вопросы
Petetokorn:
|
В городе орков я взял телекинезом со столба статую Спящего, нашел в одном из сундуков орочью телепортацию, но войти в храм не могу. Рычаг у входа как не поворачивался, так и не поворачивается, телепортация нигде не срабатывает. Плюс при входе город орков не поворачивается лебедка - так и должно быть?
|
Все эти вещи не сработают до 5 главы игры. Если Улу-Мулу уже в кармане, а 5 глава не наступила, значит глюк заключается в этом. Слышал, такое возможно.
|
|
|
|
05.05.2015, 21:01
|
#6035
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2ElderGamer:А можно ли получить от Таррока Улу-Мулу и при этом остаться в главе 4? Ведь глава 5 начинается после разговора с Горном после выхода из СвШ:
Cпойлер(щелкните, чтобы прочесть):
- Забавная у тебя штуковина. Похоже, это орочья работа. Тебе его дал раб из шахты? - Это оркский знак дружбы. С ним я хочу войти в город орков. - Надеюсь, что орки поймут этот... ЗНАК!
05.05.2015 обновлён хотфикс для патчей озвучки G2 и G2a v1.13. Список изменений: [spoiler]- убрано повторение "Командующему Гаронду это не понравится." в SVM_9_OC_CRIME; - исправлены ошибки перевода в SVM_16_DIEMONSTER, SVM_17_DIEMONSTER и SVM_xx_SHEEPKILLERMONSTER; - убраны лишние междометия в начале и конце двух фраз Горакса; - изменена фраза Корагона на "Прошлой ночью Валентино не смог расплатиться по счету."; - изменена фраза Тома на "А иначе бы я не сидел тут и считал камни..."; - удалена задержка в начале вопроса ГГ Ли: "Как ты можешь помочь мне добраться до паладинов?"; - фраза "Убей этих ублюдков! Всех!" перенесена в начало следующей фразы Гарада. [/spoiler]
|
|
|
|
|
Здесь присутствуют: 9 (пользователей: 0 , гостей: 9)
|
|
|
| Опции темы |
Поиск в этой теме |
|
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 08:16. Часовой пояс GMT +4.
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|