|
-
Lehrling
Данная переменная меняется только если непися побьет ГГ или член его команды - через нее в функции B_UnconciousXP организована защита от начисления опыта за последующие избиения.
Если нужна помощь с лечением подобных багов, то по возможности могу подсобить, если будет список, что надо исправить.
Да, если еще не исправлена возможность читинга с заклинанием телекинеза, то я выкладывал метод лечения здесь: http://forum.worldofplayers.ru/showthread.php?t=34507
-
Zitat von George1234
Данная переменная меняется только если непися побьет ГГ или член его команды - через нее в функции B_UnconciousXP организована защита от начисления опыта за последующие избиения.
Спасибо за пояснение!
Если нужна помощь с лечением подобных багов, то по возможности могу подсобить, если будет список, что надо исправить.
Да, конечно, помощь очень нужна. И список будет. Чуть позже.
Пока навскидку могу вспомнить проблему с анимацией тренировки с оружием. Во первых, наблюдается глюк, если попытаться заговорить с неписем во время этой анимации. Непись убирает меч и поворачивается к ГГ, но затем продолжает анимацию уже без оружия. И всё это происходит в режиме диалога до первой реплики непися. Другую проблему, связанную с этой анимацией, я уже описывал на АГ. Если вызвать на бой одного из бойцов арены в СЛ во время, когда не арене кто-либо из других бойцов занимается тренировкой, то тренирующийся боец не прерывает тренировку и мешает проводить бой с вызванным бойцом. Я пытался изменять распорядок дня бойцам, если кто-то из них вызван на бой. Распорядок исправно меняется (контролирую это в режиме марвина), но анимация тренировки не прерывается. Советы камрадов на АГ, к сожалению, не помогли мне пока решить эту проблему.
Имеет место проблема неагрессивности последнего из бессмертных шаманов орков в храме Спящего. В скрипте предусмотрено два способа вызвать его агрессию. Но даже после переведения шамана в режим агрессии, если от него убежать и вернуться позже, шаман перестаёт реагировать на ГГ. Даже, когда ГГ рубит его УРИЗЕЛЕМ. Непорядок, короче. Возможно, это как-то связано с тем, что изначально шаман имеет статус друга и диалог с ним может начаться, даже когда ГГ стоит с обнажённым оружием.
Если честно, я про возможность читинга со свитками телекинеза даже не знал. А вот бестолковость рун Шестого Круга для меня не секрет. На мой взгляд, неплохо бы подкорректировать их параметры так, чтобы они стали реально грозным оружием в руках некроманта. А иначе, ради чего мы учимся Шестому Кругу магии? Ради того, чтобы носить мантию некроманта и рубить вражин УРИЗЕЛЕМ?
-
Прочитав о шаманах, вспомнил что в комнате одного из них, где ещё коридор с мишенями и в конце такой пресс(вроде), в той комнате бутыльки с маной и жизнью висят прямо в воздухе. Если будет правиться файл мира, то это стоит тоже исправить. Хотя такую очевидную вещь наверное уже все заметили.
А ну и вопрос-предложение. В лесу что на стороне Старой шахты, там есть такой тоннельчик и у того его выхода что смотрит на подъём к месту обмена, там есть кустик с очень ярким пятном света. Баг?
Подозрение суть видимость, а ложь лишь кажущееся вдохновение
Вивек
Gendert von Shifroval (24.09.2011 um 20:01 Uhr)
Grund: ъ
-
А ещё бутылка висит в воздухе в помещении перед мостом к последнему шаману. Слева от входа, где тусят одержимые стражи, там же (в смежном помещении) лежит отличная секира.
-
Lehrling
Висящие бутылки скорее всего так и задуманы, чтобы можно было взять только телекинезом.
-
Zitat von Shifroval
А ну и вопрос-предложение. В лесу что на стороне Старой шахты, там есть такой тоннельчик и у того его выхода что смотрит на подъём к месту обмена, там есть кустик с очень ярким пятном света. Баг?
Это баг с расположением источников света. Такое в Г1 часто встречается.
А насчет висящих бутылок я уже исправил миры с помощью Spacer.
-
Lehrling
Zitat von ElderGamer
Пока навскидку могу вспомнить проблему с анимацией тренировки с оружием. Во первых, наблюдается глюк, если попытаться заговорить с неписем во время этой анимации. Непись убирает меч и поворачивается к ГГ, но затем продолжает анимацию уже без оружия. И всё это происходит в режиме диалога до первой реплики непися.
Ну это лечится легко. Просто анимация тренировки с оружием прописана во втором слое и продолжает проигрываться, хотя собеседник вроде как стоит. Надо в файле анимации человека HUMANS.MDS сделать так:
Code:
ani ("t_1hSFree" 1 "" 0.0 0.2 M. "Hum_FreeFight_M01.asc" F 0 750 FPS:10)
С боями на арене это тоже может частично помочь, если использовать одновременно с советами с аг.ру.
Zitat von ElderGamer
Имеет место проблема неагрессивности последнего из бессмертных шаманов орков в храме Спящего. В скрипте предусмотрено два способа вызвать его агрессию. Но даже после переведения шамана в режим агрессии, если от него убежать и вернуться позже, шаман перестаёт реагировать на ГГ. Даже, когда ГГ рубит его УРИЗЕЛЕМ. Непорядок, короче. Возможно, это как-то связано с тем, что изначально шаман имеет статус друга и диалог с ним может начаться, даже когда ГГ стоит с обнажённым оружием.
Тут скорее всего баг из-за неадекватности отработки aivar[AIV_TALKBEFOREATTACK] и тогда он может наблюдаться со всеми 5-ю шаманами в храме (сия штука только у них используется). Надо сделать следующее:
Code:
func void Info_HighPriest5_Info()
{
AI_SetWalkMode(self,NPC_WALK);
AI_GotoNpc(self,other);
if(Npc_HasItems(hero,Mythrilklinge02) || Npc_HasItems(hero,UrizielRune))
{
AI_Output(self,other,"Info_HighPriest5_17_04"); //УУУ ТЕЕЕБЯЯЯ ЕЕЕСТЬ МОООЩНОЕЕЕ ОРУУУЖИЕЕЕ!!!
AI_Output(self,other,"Info_HighPriest5_17_05"); //ЯЯЯЯ ОСТАААНОВЛЮЮЮ ТЕЕЕБЯЯ!!!
AI_StopProcessInfos(self);
self.npcType = npctype_main;
self.aivar[AIV_TALKBEFOREATTACK] = FALSE;
Npc_SetAttitude(self,ATT_HOSTILE);
Npc_SetTempAttitude(self,ATT_HOSTILE);
}
.......
Сам не проверял - нет подходящего сейва.
Zitat von ElderGamer
А вот бестолковость рун Шестого Круга для меня не секрет. На мой взгляд, неплохо бы подкорректировать их параметры так, чтобы они стали реально грозным оружием в руках некроманта. А иначе, ради чего мы учимся Шестому Кругу магии? Ради того, чтобы носить мантию некроманта и рубить вражин УРИЗЕЛЕМ?
Когда ГГ получает руны 6-го круга, изничтожать уже некого, а убойной силы руны Уризеля достаточно, чтобы пройти последних противников - у них просто все защиты большие, а от магии всего 100. У дыхания смерти повреждение 100, есть она только у последнего шамана (если не ошибаюсь), так что усиливать - только время тратить. Да, если дыхание смерти можно получить раньше, то усиливая ее надо увеличивать защиту Граш-Варраг-Арушата, иначе игру можно будет пройти в пятой главе (подобный баг вылез в Мрачных Тайнах).
-
Zitat von George1234
Висящие бутылки скорее всего так и задуманы, чтобы можно было взять только телекинезом.
Что за ерунда? Так можно все криво расположенные предметы обосновать как задуманные. ИМХО, когда предмет мотается в воздухе без всякой на то причины - баг.
-
Lehrling
Zitat von -Fritz-
Что за ерунда? Так можно все криво расположенные предметы обосновать как задуманные. ИМХО, когда предмет мотается в воздухе без всякой на то причины - баг.
Не надо передергивать. Криво расположен юнитор в форте Лестера, но что-то вы не рветесь его переставить на другое место, чтобы не возникало вопросов, как туда маг к нему лазил. Криво барьер стоит - не расширься он сверх меры и все заключенные сидели бы посреди колонии, не имея даже теоретической возможности руду для короля добывать, а сдвигать его вы опять таки не рветесь. И так можно продолжать очень долго.
Какова вероятность, что такое количество криво расположенных предметов в маленькой локации? И все они по углам всяким распиханы, так что не в воздухе мотаются, а типа в паутине запутались Сколько раз требуется заклинание телекинеза? Два на всю игру. Зачем тогда вообще руну делать было? ИМХО, бутылки там висят дабы от закла как-бы дополнительная польза была. Разумеется сомнения может развеять только кто-то из разрабов Готики.
-
Может, проблема с отстутствием агрессивности у шаманов-нежити в случае, если ГГ сбежал от них, заключается в том, что у них задаётся временная, а не постоянная враждебность к ГГ после разговора с ним? Например, в 4-й главе у охраняющих закрытые ворота Старого Лагеря стражников после разговора ГГ с Бладвином и Флетчером прописана постоянная враждебность к ГГ.
Story\Missions\DIA_GRD_233_Bloodwyn.d:
Code:
B_SetPermAttitude(GRD_233_Bloodwyn,ATT_HOSTILE);
B_SetPermAttitude(GRD_232_Gardist,ATT_HOSTILE);
B_SetPermAttitude(GRD_229_Gardist,ATT_HOSTILE);
B_SetPermAttitude(GRD_216_Torwache,ATT_HOSTILE);
B_SetPermAttitude(GRD_217_Torwache,ATT_HOSTILE);
Story\Missions\DIA_GRD_255_Fletcher.d:
Code:
B_SetPermAttitude(GRD_255_Fletcher,ATT_HOSTILE);
B_SetPermAttitude(GRD_252_Gardist,ATT_HOSTILE);
B_SetPermAttitude(GRD_253_Gardist,ATT_HOSTILE);
B_SetPermAttitude(GRD_244_Gardist,ATT_HOSTILE);
B_SetPermAttitude(GRD_214_Torwache,ATT_HOSTILE);
B_SetPermAttitude(GRD_215_Torwache,ATT_HOSTILE);
-
Zitat von George1234
Ну это лечится легко. ...
Тут скорее всего баг из-за ...
Сам не проверял - нет подходящего сейва.
Завтра проверю. Сейвы у меня есть. Спасибо за оперативность!
Когда ГГ получает руны 6-го круга, изничтожать уже некого, а убойной силы руны Уризеля достаточно, чтобы пройти последних противников - у них просто все защиты большие, а от магии всего 100. У дыхания смерти повреждение 100, есть она только у последнего шамана (если не ошибаюсь), так что усиливать - только время тратить. Да, если дыхание смерти можно получить раньше, то усиливая ее надо увеличивать защиту Граш-Варраг-Арушата, иначе игру можно будет пройти в пятой главе (подобный баг вылез в Мрачных Тайнах).
Тут ведь как получается. Руны Шестого Круга даются ГГ только в шестой главе игры, и действительно, противников там раз-два и обчёлся. НО... Тут бы, казалось бы, и надо дать игроку почувствовать, что он не зря стремился пройти все Круги магии, что не зря напялил на себя мантию некроманта. А что мы имеем в итоге?
Руна "Дыхание смерти" годна только в бою против одиночных противников в храме Спящего и то, при условии, что противника можно поймать в фокус на большом расстоянии, и он не успеет добежать до ГГ. Таких противников после получения этой руны всего два или три.
Свойства руны "Волна смерти УРИЗЕЛЯ" у меня почти стёрлись из памяти. Согласился вытащить её из меча всего однажды и убедился тогда в том, что она практически неприменима в бою против толпы сбрендивших послушников. Слишком долго кастуется, каст прерывается ударом кого-нибудь из противников, урон недостаточно силён. Гораздо удобнее валить противников огненным штормом, периодически сваливая от них под действием зелья ускорения. И на кой, спрашивается, нужны тогда эти руны Шестого Круга? Да и солидно ли магу Шестого Круга бегать от противников?
Справедливости ради стоит сказать что и руны Пятого Круга в первой Готике не оправдывают возложенного на них доверия. Но здесь опасно что-то менять, ибо баланс. А вот усиление рун Шестого Круга на балансе практически не скажется, только даст удовлетворение игроку, выбравшему путь мага. Мне так кажется.
Zitat von Wolfgar93
Это баг с расположением источников света. Такое в Г1 часто встречается.
А насчет висящих бутылок я уже исправил миры с помощью Spacer.
Просвети меня, будь добр, что правится в этом случае, относительно лёгкие файлы архива meshes.VDF, или более тяжёлые файлы из worlds.VDF? Насколько потяжелеет патч, если добавить туда правки игрового мира?
Zitat von Dimus
Может, проблема с отстутствием агрессивности у шаманов-нежити в случае, если ГГ сбежал от них, заключается в том, что у них задаётся временная, а не постоянная враждебность к ГГ после разговора с ним?
Там вроде бы и временная и постоянная враждебность задаётся:
Npc_SetAttitude(self,ATT_HOSTILE);
Npc_SetTempAttitude(self,ATT_HOSTILE);
Я правда не понимаю, зачем нужно задавать обе, но такое встречается в нескольких местах.
P. S. По поводу висящих в воздухе бутылочек и факелов, думаю, это всё-таки ошибка игрового мира. Хотя, сама идея запрятать что-то вне зоны досягаемости неплоха. Но это должно быть корректно реализовано. Если тот же храм Спящего поддаётся правке, то можно распихать те же бутылочки в такие места, где они действительно будут лежать вне зоны досягаемости, а не висеть в воздухе. Тогда и заклинание "Телекинеза" будет полезно, и откровенные ошибки мира не будут бросаться в глаза. Как то так.
Gendert von ElderGamer (25.09.2011 um 18:52 Uhr)
-
Lehrling
Dimus, перманентная враждебность своего рода игра словами, точнее кодом:
Code:
func void Npc_SetPermAttitude(var C_Npc slf,var int att)
{
PrintDebugNpc(PD_ZS_DETAIL,"Npc_SetPermAttitude()");
Npc_SetAttitude(slf,att);
Npc_SetTempAttitude(slf,att);
};
Перепутал имя функции, но сути не меняется:
Code:
func void B_SetPermAttitude(var int npcInstance,var int newAttitude)
{
var C_Npc npc;
PrintDebugNpc(PD_ZS_DETAIL,"B_SetPermAttitude");
npc = Hlp_GetNpc(npcInstance);
Npc_SetAttitude(npc,newAttitude);
Npc_SetTempAttitude(npc,newAttitude);
};
А у шаманов:
Code:
Npc_SetAttitude(self,ATT_HOSTILE);
Npc_SetTempAttitude(self,ATT_HOSTILE);
Как на меня, разницы нет.
А вот с aivar[AIV_TALKBEFOREATTACK] вопросы есть - по ней идет проверка на начало обязательных диалогов с враждебными неписями и если диалог не состоится, то и атаки не будет. А как он может состояться, если уже все было сказано? Причем используется это только в 5 случаях за всю игру - с каждым из шаманов. Я не утверждаю, что это так, т.к. сейва нет для проверки, а тратить время на прохождение игры ради такой мелочи я не хочу.
ElderGamer, руны 6-го круга лучше ополезнить по-другому: поставить Апокалипсическим стражам, фанатичным послушникам, Кор Галому и демонам всю защиту, кроме магии, по 1000 (как у 5-го шамана) и защиту от магии нормальную, чтобы ничем кроме дыхания смерти и волны смерти их не пробивало.
Gendert von George1234 (25.09.2011 um 19:03 Uhr)
Grund: перепутал кусок кода
-
Zitat von George1234
ElderGamer, руны 6-го круга лучше ополезнить по-другому: поставить Апокалипсическим стражам, фанатичным послушникам, Кор Галому и демонам всю защиту, кроме магии, по 1000 (как у 5-го шамана) и защиту от магии нормальную, чтобы ничем кроме дыхания смерти и волны смерти их не пробивало.
Тут даже не столько важен урон от магии, сколько время, необходимое на каст и сопутствующий эффект временного паралича. Нужно, чтобы маг был способен кастовать заклинания, не подпуская к себе противников на расстояние удара. Кстати, на самого ГГ руна "Дыхание смерти" оказывает кратковременное парализующее действие. По крайней мере, когда шаман, кастующий заклинание, находится рядом. Возможно, это не эффект непосредственно заклинания, а проявление полученного героем повреждения. Не знаю.
-
Lehrling
Zitat von ElderGamer
Тут даже не столько важен урон от магии, сколько время, необходимое на каст и сопутствующий эффект временного паралича. Нужно, чтобы маг был способен кастовать заклинания, не подпуская к себе противников на расстояние удара.
Тогда надо просто поменять скорость каста:
Code:
nstance Spell_MassDeath(C_Spell_Proto)
{
time_per_mana = 250; // поставить меньше - и всего делов
damage_per_level = SPL_DAMAGE_MASSDEATH;
spellType = SPELL_BAD;
damagetype = DAM_MAGIC;
targetCollectAlgo = TARGET_COLLECT_ALL_FALLBACK_NONE;
targetCollectRange = 1000;
targetCollectAzi = 360;
targetCollectElev = 60;
};
-
Zitat von ElderGamer
Просвети меня, будь добр, что правится в этом случае, относительно лёгкие файлы архива meshes.VDF, или более тяжёлые файлы из worlds.VDF? Насколько потяжелеет патч, если добавить туда правки игрового мира?
Это правка файлов .zen в архиве Worlds.vdf
Большую часть мира я уже исправил и заполнил, так что работа в этой части не требуется.
Потратил огромное количество времени и потрачу еще несколько дней, прежде чем залью архив.
Исправленный World.zen весит примерно ~35мб.
Выложу все свои наработки в ближайшее время.
Пока что работаю над мирами.
-
Zitat von George1234
Если не секрет, в чем проблема в лечении двойного начисления опыта?
Как по мне, должно хватить этого:
...
Работает!
Zitat von George1234
Ну это лечится легко. Просто анимация тренировки с оружием прописана во втором слое и продолжает проигрываться, хотя собеседник вроде как стоит. Надо в файле анимации человека HUMANS.MDS сделать так:
Code:
ani ("t_1hSFree" 1 "" 0.0 0.2 M. "Hum_FreeFight_M01.asc" F 0 750 FPS:10)
С боями на арене это тоже может частично помочь, если использовать одновременно с советами с аг.ру.
Частично работает. В режиме диалога анимация тренировки прерывается сразу. Но при смене распорядка в момент тренировки она прерываться пока не хочет. Вот фрагмент скрипта Кирго:
Code:
var C_Npc Arena_Fighter;
...
AI_Output(other,self,"Info_Kirgo_ChargeREAL_15_00"); //Мы будем драться - ты готов?
AI_Output(self,other,"Info_Kirgo_ChargeREAL_05_01"); //Иди за мной!
AI_StopProcessInfos(self);
Kirgo_Charged = TRUE;
Npc_ExchangeRoutine(self,"GUIDE");
Arena_Fighter = Hlp_GetNpc(Sld_729_Kharim);
Npc_ExchangeRoutine(Arena_Fighter,"nopractice");
Mdl_RemoveOverlayMDS(Arena_Fighter,"T_1HSFREE");
Arena_Fighter = Hlp_GetNpc(Tpl_1422_GorHanis);
Npc_ExchangeRoutine(Arena_Fighter,"nopractice");
Mdl_RemoveOverlayMDS(Arena_Fighter,"T_1HSFREE");
Может, я чего-то накосячил? Пробовал добавлять функцию B_FullStop(Arena_Fighter) вместо или вместе с Mdl_RemoveOverlayMDS(Arena_Fighter,"T_1HSFREE"). Всё равно не работает, так, как нужно.
Zitat von George1234
Тут скорее всего баг из-за неадекватности отработки aivar[AIV_TALKBEFOREATTACK] и тогда он может наблюдаться со всеми 5-ю шаманами в храме (сия штука только у них используется). Надо сделать следующее:
...
Тоже не работает. Шаман перестаёт реагировать на ГГ даже если не доводить дело до драки в пятой главе. Для такого случая я пытался добавить инстанцию:
Code:
instance Info_HighPriest5_2(C_Info)
{
npc = ORC_Priest_5;
nr = 1;
condition = Info_HighPriest5_2_Condition;
information = Info_HighPriest5_2_Info;
permanent = 0;
important = 1;
};
func int Info_HighPriest5_2_Condition()
{
if(Npc_KnowsInfo(hero,Info_HighPriest5) && !Npc_KnowsInfo(hero,Info_HighPriest5FAILED) && (Npc_HasItems(hero,Mythrilklinge02) || Npc_HasItems(hero,UrizielRune)))
{
return TRUE;
};
};
func void Info_HighPriest5_2_Info()
{
AI_SetWalkMode(self,NPC_WALK);
AI_GotoNpc(self,other);
AI_Output(self,other,"Info_HighPriest5_17_04"); //УУУ ТЕЕЕБЯЯЯ ЕЕЕСТЬ МОООЩНОЕЕЕ ОРУУУЖИЕЕЕ!!!
AI_Output(self,other,"Info_HighPriest5_17_05"); //ЯЯЯЯ ОСТАААНОВЛЮЮЮ ТЕЕЕБЯЯ!!!
AI_StopProcessInfos(self);
self.npcType = npctype_main;
Npc_SetAttitude(self,ATT_HOSTILE);
Npc_SetTempAttitude(self,ATT_HOSTILE);
};
Но шаман ни на что не реагирует. Кстати, а как и где считается переменная self.aivar[AIV_MISSION1]? Насколько я понимаю, это счётчик количества ударов, нанесённых шаману. Может глюк связан с ней?
-
Lehrling
С ареной вместо Mdl_RemoveOverlayMDS(Arena_Fighter,"T_1HSFREE"); лучше поставить просто AI_GotoWP(Arena_Fighter, "начальная_точка_расписания_nopractice");
B_FullStop(Arena_Fighter) тоже можно добавить, но она фехтование всеравно не прервет, пока анимация не закончится.
С шаманом просто добавлена новая инстанция диалога? Если да, то она появится только в новой игре.
Если можно скинуть сюда сейв около шамана, то я проверю у себя.
-
http://forum.worldofplayers.de/forum...;а/page2
Кому интересно, помогите пожалуйста с заполнением мира.
-
@Wolfgar93
Из недоработок мира могу предложить исправить эту:
Нужно убрать дорогу, упирающуюся в скалу и добавить меш скал на горизонте.
Из прозрачных предметов вспоминается подставка для книг. Особенно неприятно, когда стоит она не у стены, как у Сатураса, например.
По поводу "заполнения мира" предлагаю такой механизм взаимодействия: ты называешь конкретное место, где, на твой взгляд, чего-то не хватает, а мы все вместе размышляем, нужно ли там что-то добавить, и если нужно, то что.
Кстати, удалось ли тебе решить проблему падающей колонны?
-
Уже заполнено огромное количество пещер и местности...в ближайшее время выложу тест-версию...дальше решим что делать.
Колонна развернута в правильную сторону, но остаётся прозрачной. Нужен профи.
Насчет исправлений меша: пока что не знаю, c 3d не очень дружу, только с функцией редактора.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhnge hochladen: Nein
- Beitrge bearbeiten: Nein
|
|