• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, спешите принять участие в поэтическом конкурсе "Весенние поэты 2024"!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык

Не стесняюсь спросить....

FIRE DRAGON

★★★★★★★★★
Супермодератор
Регистрация
5 Ноя 2012
Сообщения
3.946
Благодарности
5.660
Баллы
1.615
Ничего сложного нет. Правда, без 3д макса не обойтись все равно. Если надо, то вот плагин на выдерку мешей из Г3 G3-TOOL: Gothic 3 Mesh Exporter
Нет меня интересуют только текстурки::)
 

retej

Участник форума
Регистрация
27 Июн 2011
Сообщения
126
Благодарности
54
Баллы
175
Где прописывается время пребывания в нокдауне (Г1)?
 

retej

Участник форума
Регистрация
27 Июн 2011
Сообщения
126
Благодарности
54
Баллы
175
Скрипт AI_Constants.d

Хм, да, но что-то странное получается. Все NPC поднимаются моментально, независимо от данного значения. Есть идеи, с чем это может быть связано?

UPD:
Хотя, все решилось довольно просто, заменил в ZS_Unconscious:

func int ZS_Unconscious_Loop()
{
PrintDebugNpc(PD_ZS_LOOP,"ZS_Unconscious_Loop");
if(Npc_GetStateTime(self) > HAI_TIME_UNCONSCIOUS)
{
PrintDebugNpc(PD_ZS_Check,"...Schleifen-Ende");
return 1;
};
AI_Wait(self,1);
return 0;
};
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.339
Благодарности
3.183
Баллы
525
Странно. В оригинале работает и без этого. Или движок не родной?
 

Strange


Модостроитель
Регистрация
25 Авг 2012
Сообщения
767
Благодарности
1.576
Баллы
280
Нет меня интересуют только текстурки::)
Про конвертацию моделей и текстур из G3 здесь есть почти вся необходимая информация. С текстурами никаких проблем не возникает. А вот с мешами будут проблемы, т.к. Gothic 3 Mesh Exporter конвертирует их некорректно, но можно конечно исправить эти проблемы в 3ds Max. А для конвертации из *.x в *.3ds вместо Blender 2.49b лучше использовать одну из последних версий Deep Exploration.
 

107-й

Участник форума
Регистрация
18 Дек 2011
Сообщения
59
Благодарности
3
Баллы
155
Хочу прикрутить эффект к одному колечку, чтобы при надевании от ГГ один раз исходила волна ветра, как от магии "Кулак ветра".
Прописываю вот это:
Код:
Wld_PlayEffect("SPELLFX_WINDFIST_INVESTBLAST",self,self,0,0,0,FALSE);
Пучок ветра как бы схлопывается к центру, а не исходит волной.
Есть ли какой-то похожий на мой вариант, готовый эффект с ветром?
Или какие вообще есть эффекты с ветром?
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.228
Благодарности
6.206
Баллы
1.565
Пучок ветра как бы схлопывается к центру, а не исходит волной.
и не будет
идет зацикливание на себя.
а вообще используй эффект от "волны смерти". Только цвет поменяй на какой хочешь в VisualFX.dat
попробуй эффект SPELLFX_INCOVATION_WHITE
т.е.
Wld_PlayEffect("spellFX_INCOVATION_WHITE",self,self,0,0,0,FALSE);
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.228
Благодарности
6.206
Баллы
1.565
107-й

извиняюсь, ошибочка вышла с моей стороны.
SPELLFX_WINDFIST_INVESTBLAST

этот эффект имеет тип сфера, тебе же нужен эффект типа круг
их несколько, но наиболее подходящий для тебя как раз spellFX_INCOVATION_WHITE
его можно подредактировать не в visualfx а в partictlefx.

есть еще вариант создать новый эффект. просто пример:
в visualfx файл visualfxinst.d
создаешь функцию:
Код:
instance SPELLFX_WIND_RING(CFX_BASE_PROTO)
{
    visname_s = "MFX_WIND_RING";
    sfxid = "SFX_Circle";
    sfxisambient = 1;
};
дальше в particlefx в файле pfxinsmagic.d
создаешь функцию:
Код:
instance MFX_WIND_RING(INVOCATION)
{
    vistexcolorstart_s = "220 220 255";
    vistexcolorend_s = "220 220 255";
};
вот последнее как раз цвета ветра.
ну дальше прописываешь в одевании кольца:
Код:
Wld_PlayEffect("SPELLFX_WIND_RING",self,self,0,0,0,FALSE);
дальше в свой модфайл суешь все 4 файла: gothic.dat ou.bin visualfx.dat и particlefx.dat
ну и судя теоретически? все должно работать правильно.

PS. возможно могут быть ошибки, я уже 4-5 лет не ковырялся в визуализации.
 

107-й

Участник форума
Регистрация
18 Дек 2011
Сообщения
59
Благодарности
3
Баллы
155
Если на один фрипоин положить сразу 2 предмета разных, например книгу и зелье, косяков не будет? Или их будет невозможно взять?
 

Хелдар

Участник форума
Регистрация
3 Июл 2012
Сообщения
2.450
Благодарности
780
Баллы
375
Если на один фрипоин положить сразу 2 предмета разных, например книгу и зелье, косяков не будет? Или их будет невозможно взять?

Технически все будет нормально, визуально же предметы "слипнутся", будут лежать один в другом.
 

107-й

Участник форума
Регистрация
18 Дек 2011
Сообщения
59
Благодарности
3
Баллы
155
Если прописать в инстанции монстра вот это:
Код:
Mdl_SetModelScale(self,1.5,1.2,1.5);
Т.е таким образом изменить размеры монстра, то монстр зависает в воздухе примерно в метре от земли когда не двигается. А когда начинает двигаться, он падает обратно на землю.
Почему такое происходит, и как это исправить?
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
С масштабированием моделей вообще проблемы. Если масштабировать человека, то он погружается в текстуру поверхности. Примерно по пояс. Когда подходишь ближе, снова "выныривает"
 

107-й

Участник форума
Регистрация
18 Дек 2011
Сообщения
59
Благодарности
3
Баллы
155
Так что, подобные косяки с масштабированием не лечатся?
А если вместо увеличения в скриптах, сделать увеличение модели в 3d max?
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.228
Благодарности
6.206
Баллы
1.565
Так что, подобные косяки с масштабированием не лечатся?
А если вместо увеличения в скриптах, сделать увеличение модели в 3d max?
Увеличение в 3д поможет, но главное бипеды не увеличивай.
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Как сделать следующее:

Идет диалог. По завершении диалога нужно, чтобы сменилось место действия. То есть гг оказался бы в другой точке локации.

Например, ему дали по голове, очнулся в другом месте. Другой вариант, ему говорят "завяжем тебе глаза и отведем в тайное место" (естественно, само завязывание глаз делать не буду).
 

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
Как сделать следующее:

Идет диалог. По завершении диалога нужно, чтобы сменилось место действия. То есть гг оказался бы в другой точке локации.

Например, ему дали по голове, очнулся в другом месте. Другой вариант, ему говорят "завяжем тебе глаза и отведем в тайное место" (естественно, само завязывание глаз делать не буду).

Смотри скрипт ZS_Talk, а именно функцию ZS_Talk_end, которая запускается после каждого окончания диалога. Добавь проверку по айди непися (что-то вроде Hlp_GetInstanceID), мол если айди непися self равно айди непися, после завершения диалога с которым нужно выполнить действие, то собсно выполнить это дествие. Чтобы не срабатывало после каждого завершения диалога с этим неписем, в диалог "Завяжем тебе глаза" добавить переменную (например Variable = TRUE), потом в функции завершения диалога проверять эту переменную и, если условие выполняется, присваивать ей значение 0.
Это что касается отслеживания. Для переноса можно использовать AI_Teleport() и эффект затемнения экрана. Надеюсь, что помог своим путанным ответом.
 

redleha


Модостроитель
Регистрация
26 Фев 2008
Сообщения
735
Благодарности
665
Баллы
245
Как сделать следующее:

Идет диалог. По завершении диалога нужно, чтобы сменилось место действия. То есть гг оказался бы в другой точке локации.

Например, ему дали по голове, очнулся в другом месте. Другой вариант, ему говорят "завяжем тебе глаза и отведем в тайное место" (естественно, само завязывание глаз делать не буду).

Ставишь в диалоге в конце типа: VAR_END = TRUE; AI_StopProcessInfos(self);
А в ZS_Talk_END:
if(VAR_END == TRUE)
{
Play_Video("BlackScreen.bik");
AI_Teleport(hero,"WP_XXX");
VAR_END = FALSE;
};
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Понял, спасибо.
 
Сверху Снизу