|
|
23.11.2013, 09:43
|
#5721
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Вопрос по 1 Готике. Маг - скелет невосприимчив к "уничтожению нежити", это неправильно. Исправить можно, я думаю, поменяв гильдию GIL_DEMON на GIL_SKELETON, но если гильдию не менять, то получается неясность:
В spells_params.d видим "targetCollectType = TARGET_TYPE_UNDEAD" в magic_intern.d видим TARGET_TYPE_UNDEAD = 32; 32 - это, как я понимаю, гильдия "SKELETON", но ведь на зомби (гильдия № 30) заклинание действует тоже, а на скелета-мага нет.
Почему? Спасибо.
|
|
|
23.11.2013, 13:27
|
#5722
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2annya:Согласен, что переназначение магам скелетов (SkeletonMage и SkeletonMage_fogtower) гильдии GIL_DEMON очень похоже на ошибку. Поэтому для этих инстанций можно закомментировать строку:
Cпойлер(щелкните, чтобы прочесть):
// guild = GIL_DEMON;
|
|
|
23.11.2013, 17:18
|
#5725
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Dimus Я извиняюсь, но не могу найти 2 вещи: 1) где находится это указание на принадлежность монстров к нежити, 2) где прописаны "врождённые" таланты (я знаю, что любому персонажу можно приписать талант "магия", но где находится указание на то, что, если монстр из гильдии демон, то у него этот таланта нет, а использовать руны он может, а, если из гильдии скелет, то и таланта нет и руной пользоваться не может?) PS. А ещё 1 странность - приписываю магу-скелету Npc_SetTalentSkill(self,NPC_TALENT_MAGE,6);, а он магией не пользуется, дерётся кулаком...??? (назначена гильдия - скелет) Спасибо
|
|
|
23.11.2013, 20:39
|
#5726
|
|
|
|
|
A.G.F.C.
Регистрация: 18.02.2008
Сообщений: 0
|
|
|
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2annya:
2) где прописаны "врождённые" таланты (я знаю, что любому персонажу можно приписать талант "магия", но где находится указание на то, что, если монстр из гильдии демон, то у него этот таланта нет, а использовать руны он может, а, если из гильдии скелет, то и таланта нет и руной пользоваться не может?) PS. А ещё 1 странность - приписываю магу-скелету Npc_SetTalentSkill(self,NPC_TALENT_MAGE,6);, а он магией не пользуется, дерётся кулаком...??? (назначена гильдия - скелет)
|
fight_tactic = FAI_HUMAN_MAGE; Если не ошибаюсь. :)
|
|
|
23.11.2013, 23:03
|
#5730
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
Сообщение от ElderGamer link=board=gothic&t=1192576961&goto=7285379 date=11/23/13, в 19:39:47
2annya:
|
fight_tactic = FAI_HUMAN_MAGE;
|
Да нет, выставлено это там, стоит поменять гильдию "Demon" на "Skeleton" и никакой tactic не помогает
|
|
|
25.11.2013, 01:37
|
#5735
|
|
Re: Gothic 1, 2, 3: Технические вопросы
А вот такая новая программа для Г3 хороша для оптимизации, кто-то пользовался?
|
|
|
26.11.2013, 03:41
|
#5736
|
|
|
|
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
|
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2annya:
Вопрос по 1 Готике. Маг - скелет невосприимчив к "уничтожению нежити", это неправильно.
|
Возможно, это сделано специально, он же маг, и должен иметь какую-то свою специфичную защиту, от тех или иных заклинаний... 2zombe:
Учту. А пока я буду приобретать лицензию ( с тем же "Золотым модом"), не подскажете, что делать, если будет то же самое? А то мало ли что...
|
В лицензиях такой баг не возможен, но их с Голден модом не бывает, его скачаешь отдельно. Есть только лиценз с Диккуриком от Руссобита..
|
|
|
26.11.2013, 10:48
|
#5737
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2MaGoth В этой игре много сделано специально, но не всё хорошо, что не случайно. Так, можно было бы сделать его вообще ни к чему невосприимчивым, как у некоторых квестовых персов: неуязвимый Торус, орк-шаман, с которым гарантированно ничего не случится. Я принципиально сделал всех уязвимыми, как в жизни, и увеличил их характеристики, а по поводу мага - для чего же тогда заклинание (только для скелетов?) Проблема решена, однако.
Добавление от 11/26/13, в 10:03:12 Такой вопрос: а можно ли в скриптах реализовать переменное значение атрибута "сила" для всех: attribute[ATR_STRENGTH] = ATR_STRENGTH * ATR_HITPOINTS / ATR_HITPOINTS_MAX Но надо потом вернуть прежнее значение. С одной стороны, если значение атрибута станет меньше, а ATR_HITPOINTS станет = ATR_HITPOINTS_MAX, то сила должна, конечно снова стать = прежней (по формуле). А можно ли реализовать это не по формуле, а непосредственным присвоением (после восстановления ATR_HITPOINTS) ей того значения, которое было до этого? Вообще суть вопроса такова - как лучше всего реализовать задумку: "Побитый персонаж и ГГ тоже, конечно, должен временно ослабевать до восстановления здоровья"? Спасибо.
|
|
|
26.11.2013, 23:45
|
#5740
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2ElderGamer Задумка понятна, но как быть с тем, что "ослабший" непись не сможет держать в руках своё оружие? Это совершенно нормально, почти как в жизни, значит пора уносить ноги (последнее тоже ведь можно сделать). Но я не сильный скриптолог и у меня всё медленно делается по причине того, что я не понимаю 1/2 логики скриптов. Вот, например, я думаю, что потребуется какая-нибудь переменная (или, возможно, константа), которой надо будет присваивать значения, а как её ввести, где-то надо будет описать её, не переполнив массив?
|
|
|
27.11.2013, 07:10
|
#5743
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Cubic:
Технически Волна смерти от Огненного дождя отличается ещё чем-то,
|
Длительностью работы. И с дождем побегать можно, а с волной нет
|
|
|
27.11.2013, 09:49
|
#5744
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
Сообщение от Cubic link=board=gothic&t=1192576961&goto=7285962 date=11/26/13, в 12:52:55
NotR. На сколько мне известно, по идее некоторые заклинания должны оглушать. Это срабатывает хоть при каких-то условиях, и при каких?
|
Оглушение? Не знаю такого в обеих частях Gothic. Зато есть остановка противника на время действия некоторых видов заклинаний. В первой части все жертвы не могли двигаться, когда получали урон от огня или молнии. Во второй части эта анимация осталась только у людей.
|
|
|
27.11.2013, 09:53
|
#5745
|
|
|
|
|
A.G.F.C.
Регистрация: 18.02.2008
Сообщений: 0
|
|
|
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2annya:
Походу, требование к уровню силы проверяется только в момент экипировки/деэкипировки оружия. Если во время боя у непися или ГГ изменится уровень силы, то оружие из рук не исчезает. Побитый ГГ или непись, из рук которого оружие выпало, не сможет его экипировать до восстановления здоровья/силы. Поскольку уровень силы планируется сделать плавающим, то максимальный уровень нужно запоминать в какой-нибудь из неиспользуемых aivar-переменных персонажа. Для ГГ потребуется также корректировать функции обучения и функции изменения атрибутов при выпивании зелий и использовании колец/амулетов.
Постепенное восстановление здоровья у неписей - это отдельная тема. Эту проблему тоже придётся как-то решать. Вероятно, проще всего через постель, как у ГГ. Только неписи должны уметь спать.
|
|
|
27.11.2013, 10:27
|
#5746
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2ElderGamer:Т.е. ты предлагаешь сделать как в G2, где у ГГ или непися в массиве aivar запоминаются реальные статсы и навыки владения оружием:
Cпойлер(щелкните, чтобы прочесть):
const int REAL_STRENGTH = 81; const int REAL_DEXTERITY = 82; const int REAL_MANA_MAX = 83; const int REAL_TALENT_1H = 84; const int REAL_TALENT_2H = 85; const int REAL_TALENT_BOW = 86; const int REAL_TALENT_CROSSBOW = 87;
Правда, в G1 маловато свободных элементов в массиве aivar: с 43 по 49. Кстати, почему в скриптах мод-фикса ты пишешь непосредственные номера aivar элементов, например, aivar[43] или aivar[45]? Ведь для этого в скрипте AI_Constants.d есть константы:
Cпойлер(щелкните, чтобы прочесть):
const int AIV_GPS_PUNISHDAY = 43; const int AIV_ARENA_FIGHT = 45;
|
|
|
27.11.2013, 11:00
|
#5747
|
|
|
|
|
A.G.F.C.
Регистрация: 18.02.2008
Сообщений: 0
|
|
|
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Правда, в G1 маловато свободных элементов в массиве aivar: с 43 по 49.
|
Если планируется реализовать такую фичу только для силы, то достаточно одной переменной.
Кстати, почему в скриптах мод-фикса ты пишешь непосредственные номера aivar элементов
|
Cпойлер(щелкните, чтобы прочесть):
Посмотрел свои исходники для освежения памяти. В них использованы константы AIV_GPS_PUNISHDAY и AIV_ARENA_FIGHT. Откуда взялись aivar[43] или aivar[45] не могу понять.
|
|
|
27.11.2013, 12:26
|
#5748
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2ElderGamer:Выходит, что GS так декомпилирует скрипты мод-фикса. Кстати, при декомпиляции скрипта DIA_Grd_218_Gardist.d он почему-то выдал 4 предупреждения:
Cпойлер(щелкните, чтобы прочесть):
Внимание: В библиотеке (OutputUnits) не найден модуль - )
Так и есть - GS игнорирует наличие дополнительных aivar констант и подставляет их номера. В неофициальном обновлении он тоже заменил константу
Cпойлер(щелкните, чтобы прочесть):
aivar[AIV_GETBONUSFOOD]
на её номер
Cпойлер(щелкните, чтобы прочесть):
aivar[89]
.
|
|
|
27.11.2013, 16:47
|
#5749
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2ElderGamerЕсли планируется реализовать такую фичу только для силы, то достаточно одной переменнойЕсли только для ГГ, то да, но персов много. Эксперимент с ГГ в PC_HERO.d:
Cпойлер(щелкните, чтобы прочесть):
var int STRENGTH_TEMP; //в 1-й строке // далее в конце instance PC_Hero(Npc_Default) STRENGTH_TEMP = attribute[ATR_STRENGTH]; * * * * * *if (attribute[ATR_HITPOINTS] < attribute[ATR_HITPOINTS_MAX]) * * * * * *{ * * * * * *Npc_ChangeAttribute(self,ATR_STRENGTH,-(STRENGTH_TEMP * attribute[ATR_HITPOINTS] / attribute[ATR_HITPOINTS_MAX])); * * * * * *} // не лучше ли здесь поставить ;? * * * * * *if (attribute[ATR_HITPOINTS] == attribute[ATR_HITPOINTS_MAX]) * * * * * *{ * * * * * *Npc_ChangeAttribute(self,ATR_STRENGTH,7); * // 7 - для экспериментальной проверки * * * * * *};
В результате - в момент начала новой игры реализуется значение силы, рассчитанное по формуле, но далее нет никакой динамики при изменении здоровья. Главная проблема - Реализация динамики изменения силыТ.к. я планирую убрать обучение силе у учителей (нелепо, послушав болтовню, стать сильнее), у меня при повышении уровня увеличивается сила на 1 ед., то после перехода на новый level сила становится соответствующей MAX значению + 1 независимо от здоровья. Т.е. формула работает только 1 раз в начале игры и всё. 2 AllКак отличить функции, которые вызываются в нужный момент, как запрограммировано в EXE-шнике от функций, вызываемых из скриптов? Могу ли я написать свою функцию с произвольным именем и вызвать её? Func STRENGTH_REAL() {....}; Так правильно? Или надо "FUNC VOID (или FUNC INT)"? Как избежать зацикливания? Возможно ли использовать goto метка? Спасибо
|
|
|
27.11.2013, 20:25
|
#5751
|
|
|
|
|
A.G.F.C.
Регистрация: 18.02.2008
Сообщений: 0
|
|
|
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2annya:
Если только для ГГ, то да, но персов много.
|
У каждого непися есть массив переменных aivar. В Г1 размерность его 50, в Г2 - не помню, но ещё больше. Довольно много переменных пылится без дела, и их можно использовать в своих целях.
Эксперимент с ГГ в PC_HERO.d:
|
Не вариант. Разные параметры считываются из инстанции непися по-разному. Внешний вид, например, считыается при каждой инициализации мира, в том числе при загрузке сохранения. Сила, как я понимаю, считывается единовременно и в дальнейшем изменяется по ходу игры. Для динамического изменения силы неписей, вероятно, можно использовать состояние атаки (ZS_Attack) для уменьшения и те состояния и функции, в которых здоровье будет восстанавливаться, для увеличения. Для реализации динамики у ГГ правильным будет использование циклической функции. Значение силы будет меняться в реальном масштабе времени вслед за изменением уровня здоровья. Циклическую функцию придётся создать, что потребует внесения правок во все локации игрового мира.
Так правильно? Или надо "FUNC VOID (или FUNC INT)"?
|
Правильно с указанием типа функции. Если работа ведётся в Сорсере, то он не даст *сделать неправильно. ;)
Возможно ли использовать goto метка?
|
Нет. 2Cubic:
Можно ли добавить скрипт, который бы удалял руну из пещеры в Минентале в начале 1-й главы?
|
Если руна лежит в сундуке, а сундук имеет уникальное название в игровом мире, то да, можно убрать руну при вхождении в локацию. Иначе нельзя.
|
|
|
27.11.2013, 22:54
|
#5752
|
|
|
|
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
|
|
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Dimus:
Выходит, что GS так декомпилирует скрипты мод-фикса. Кстати, при декомпиляции скрипта DIA_Grd_218_Gardist.d он почему-то выдал 4 предупреждения: Внимание: В библиотеке (OutputUnits) не найден модуль - )
|
Возможно, что что-то там не так, как того требует синтаксис Дедала...?
Так и есть - GS игнорирует наличие дополнительных aivar констант и подставляет их номера. В неофициальном обновлении он тоже заменил константу: aivar[AIV_GETBONUSFOOD] на её номер: aivar[89]
|
Ну это понятно, при декомпиляции всем переменным и константам даются свои номера, по мере их встрече в коде. т.к. Сурсеру не известны их оригинальные названия. Ошибок тут нет, можно переименовать обратно ручками в то, что требуется по всему проекту. 2annya:
Главная проблема - Реализация динамики изменения силы
|
Единственное решение, это отойти от статичных массивов оригинала игры и юзать свои переменные в связке с "триггер - скриптами". Тогда динамика изменения значений будет возможна постоянно по ходу игры, если требуется.
Могу ли я написать свою функцию с произвольным именем и вызвать её? Func STRENGTH_REAL() {....}; Так правильно? Или надо "FUNC VOID (или FUNC INT)"?
|
Можно написать любую в рамках правил. :) И так и эдак правильно, другое дело, что именно вы хотите писать, для обычных функций Войд, для инициализации Инт, причем, объявление всех функций указывать всегда заранее, до их вызова. Думаю этот тутор по Дедалу, *будет полезен: http://ge.tt/8riUKB41/v/0?c Зы, и да, со всеми скриптовыми вопросами, желательно переместится в тему Скриптинг в Готе. ;)
|
|
|
29.11.2013, 09:43
|
#5754
|
|
Re: Gothic 1, 2, 3: Технические вопросы
2Logan813:Дело в том, что во всех играх серии Gothic модели всех людей состоят из 2 частей: модели головы и модели тела. Поэтому если тебе нужно, чтобы ГГ изначально носил не рваньё, а какой-нибудь существующий в игре доспех (т.е. изменить его тело), то придётся поработать со скриптами игры. Сначала надо найти исходники скриптов G1 или декомпилировать их самому из файла GOTHIC.DAT с помощью GothicSourcer v3.14. Затем в скрипте Story\NPC\PC_Hero.d найди инстанцию ГГ PC_Hero и в функции
Cпойлер(щелкните, чтобы прочесть):
Mdl_SetVisualBody(self,"hum_body_Naked0",4,1,"Hum_ Head_Pony",9,0,-1)
вместо -1 укажи другой доспех, образцы найдёшь в той же функции тестовых инстанций героя ( PC_Hero_L2, PC_Hero_L5, PC_Hero_L7 и т.д.). Полный список доспехов G1 задан в скрипте Items\Armor.d. После внесения изменений нужно скомилировать скрипты, затем скопировать полученные файлы GOTHIC.DAT и OU.BIN в соответствующие подкаталоги:
Cпойлер(щелкните, чтобы прочесть):
_work\Data\Scripts\_compiled\GOTHIC.DAT _work\Data\Scripts\Content\Cutscene\OU.BIN
(не забудь сделать резервные копии исходных файлов!). Или же можно с помощью GothicVDFS создать mod или vdf том, содержащий внутри себя эти файлы с учётом указанной в спойлере структуры подкаталогов и положить его в каталог Gothic\Data. Затем надо начать новую игру. А на вопросы по изменению текстур или моделей пусть ответят другие пользователи. P.S.: Не жди от меня ссылок и инструкций по работе с указанными программами, т.к. всё это достаточно легко находится с помощью поиска.
|
|
|
02.12.2013, 01:43
|
#5755
|
|
Re: Gothic 1, 2, 3: Технические вопросы
NotR. Посмотрел конфиги заклинаний, и возник вопрос. Какой тип урона наносят заклинания Кража энергии, Рой насекомых, Ледяной блок и Ледяная волна? Добавление от 12/02/13, в 00:34:53
NotR. Волна смерти почему-то наносит больше урона, чем прописано, и действует на нежить, хотя, судя по скрипту, не должна. В чём причина? Добавление от 12/02/13, в 01:03:18
Волна смерти почему-то наносит больше урона
|
Похоже, что наносит 3х урона.
|
|
|
02.12.2013, 04:19
|
#5756
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Цитата:
Сообщение от Cubic link=board=gothic&t=1192576961&goto=7286902 date=12/02/13, в 00:43:21
Добавление от 12/02/13, в 01:03:18
Похоже, что наносит 3х урона.
|
Хех, это многое объясняет, в т.ч. смерть ДН с двух кастов ;D
|
|
|
02.12.2013, 22:36
|
#5757
|
|
Re: Gothic 1, 2, 3: Технические вопросы
Установил Г2а, поставил на нее 1) Г2а патч озвучки, 2) Г2а скриптопатч, 3) шрифты для высокого разрешения (все из этой темы), 4) Текстурный пак. И появилось как-то слишком много глюков для лицензионной версии с этими патчами-паками: - 2 раза игра зависала намертво при попытке закончить диалог с Ватрасом и Кавалорном (ошибку не выбивало) - Помог Кантару, сдал Сару. Но спустя 5 дней после завершения этого квеста пошел к Андрэ, он вдруг сказал, что Кантар на меня донес. Иду к Кантару - он на меня зол, говорит, что я поступил неверно и просит 500 монет (как будто бы это я его упрятал за решетку, а не Сару) - некоторые окошки с субтитрами теперь пропадают раньше, чем завершается озвучка фразы - отдаешь Корагону кольцо Валентино, но особого пиво в награду не получаешь
Если это важно, то у меня ОС Виста. Раньше запускал на ней Готику 2НВ, единственная проблема, с которой сталкивался - видеоролики не проигрывались. Но это легко исправляется через Gothic.ini
NoCD и Марвин не использую.
Единственный плюс от всех этих патчей, который я заметил - теперь нельзя нафармить много кружек пива)
PS: Решил установить Готику 2а как когда-то раньше: Готика 2а + NoCD + текстурный пак = все идет нормально...
|
|
|
Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 21:06. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|