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

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

    Ссылка на конкурсную тему - тык
    Ссылка на тему с работами участников- тык

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

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
Дикарь, С текстурами возможны глюки если не удалять дмп... :)
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
674
Благодарности
655
Баллы
245
Возник небольшой вопрос. Возможно ли переносить главного героя в другой ZEN-уровень с помощью скриптов? Или только через Spacer?
 

clumb

Участник форума
Регистрация
21 Июн 2010
Сообщения
302
Благодарности
13
Баллы
180
Появилась проблема, Я создал скрипт с функцией расписания, она заключается в том, что бы левый нпс, осматривался по сторонам, затем крался к нужному ВП, там "крал" (делал движение при обыске побитого НПС), снова осматривался, а затем шёл обратно. Но при тестировании, функция даёт сбой и НПС идёт к Дракс (Г1). Как мне это исравить? Скрипт в спойлере.
func void zs_Thief1()
{
AI_PlayAni (self, "T_SEARCH");
Npc_SetRefuseTalk (self, 400);
AI_SetWalkMode(self,NPC_SNEAK);
AI_GotoWP (self, "OCR_WASH_8");
};

func void zs_Thief1_loop()
{
if (Npc_GetDistToWP (self, "OCR_WASH_8") <= 400)
{
AI_PlayAni (self, "T_SEARCH");
AI_PlayAni (self, "T_PLUNDER");
AI_Wait (self, 1);
AI_SetWalkMode(self,NPC_Walk);
Npc_ExchangeRoutine (self, "START");
AI_ContinueRoutine (self);
}
else
{

};
};

func void zs_Thief1_end()
{
};
 

Bjorn++

Участник форума
Регистрация
28 Июн 2011
Сообщения
1.063
Благодарности
46
Баллы
235

redleha


Модостроитель
Регистрация
26 Фев 2008
Сообщения
735
Благодарности
665
Баллы
245
neromont, можно, переместив ГГ в зону триггера-перехода например.
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Не уверен, что Npc_ExchangeRoutine (self, "START"); можно ставить внутри функции состояния. Попробуй без нее.
 

Bjorn++

Участник форума
Регистрация
28 Июн 2011
Сообщения
1.063
Благодарности
46
Баллы
235
Согласитесь, проще через спейс;)
 

clumb

Участник форума
Регистрация
21 Июн 2010
Сообщения
302
Благодарности
13
Баллы
180
kraw, Можно, проверено, на расписании с атакой.
 

kraw


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

clumb

Участник форума
Регистрация
21 Июн 2010
Сообщения
302
Благодарности
13
Баллы
180
kraw,
попробовал без неё, нпс всё равно идёт к Драксу.*???*
 

Jr13San


Модостроитель
Регистрация
1 Апр 2010
Сообщения
435
Благодарности
261
Баллы
230
clumb, хоть я уже почти и вышел из модостроения, но прими мой совет. Тебе бы сначала попробовать сделать по подобию оригинальных циклов, а потом уже можно оттолкнуться от оригинала и сделать по-своему.

Я вижу у тебя нету команды ни на продолжение цикла "LOOP_CONTINUE", ни на выход из цикла "LOOP_END" да и сама функция цикла типа "void", поэтому не факт, что она вообще функционирует продолжительное время.

Кажется, что сами функции цикла набросаны на скорую руку и автору никак не хочется самому разобрать всё по кирпичикам, проверить их на наличие трещин, если таковые есть - замазать(исправить) и, наконец, заново сложить всю систему в единое целое. :)

По подобию должно выглядеть примерно так(тоже на скорую руку):
Код:
func void ZS_Thief1()
{
	AI_PlayAni(self,"T_SEARCH");
	Npc_SetRefuseTalk(self,400);
	AI_SetWalkMode(self,NPC_SNEAK);
	AI_GotoWP(self,"OCR_WASH_8");
};

func int ZS_Thief1_Loop()
{
	if (Npc_GetDistToWP(self,"OCR_WASH_8") <= 400)
	{
		return LOOP_END;
	};
	return LOOP_CONTINUE;
};

func void ZS_Thief1_End()
{
	AI_PlayAni(self,"T_SEARCH");
	AI_PlayAni(self,"T_PLUNDER");
	AI_Wait(self,1);
	AI_SetWalkMode(self,NPC_Walk);
	AI_ContinueRoutine (self);
};

Есть ещё одна особенность. AI функции вызываются на равне с остальными "не AI" функциями, но выполняются параллельно с ними. То есть получаются как бы две дорожки:
1) AI-функции.
2) обычные функции.

И в итоге нужно представлять какие функции сработают быстрее остальных. Далеко ходить не нужно, примером может служить последовательность действий из твоей функции:
Код:
AI_PlayAni (self, "T_SEARCH");
AI_PlayAni (self, "T_PLUNDER");
AI_Wait (self, 1);
AI_SetWalkMode(self,NPC_Walk);
Npc_ExchangeRoutine (self, "START");
AI_ContinueRoutine (self);
Смотри как всё происходит.
Сначала НПС self'у дадут задание "AI_PlayAni(self, "T_SEARCH")". Он начнёт выполнять анимацию. Дальше сразу быстро создаётся очередь AI-заданий: "AI_PlayAni (self, "T_PLUNDER")", "AI_Wait (self, 1)", "AI_SetWalkMode(self,NPC_Walk)". Это будет всё в очереди, поскольку НПС в данный момент будет ещё выполнять анимацию первого задания.
Теперь самый главный момент. Всё произойдёт на столько быстро, что self ещё не успеет выполнить ту первую анимацию, как получит новое распоряжение от функции "Npc_ExchangeRoutine (self, "START")", которая прикажет ему немедленно сменить "расписание рабочего дня". Тут то все запланированные задания и оборвутся. Так что нужно следить за всем, что происходит.
 

Vitalik

Участник форума
Регистрация
30 Май 2010
Сообщения
108
Благодарности
0
Баллы
165
Люди можете подсказать где лежат текстуры кожанных доспехов, еды, растений и др у меня готика 2 ребаланс версия 2.1 смотрел в файле Rebalance_V2_1.vdf там есть, но некоторые измененные текстуры в игре не отображаются. Заранее спс
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
674
Благодарности
655
Баллы
245
Один вопрос. Создал свою модель сундука. Назвал основу zm_case, а крышку zm_case_1. Создал две кости под именами Bip01 Bottom и Bip01 Top. Связал кости с крышкой и основой сундука, используя инструмент Select And Link. Кто подскажет, что делать дальше?
 

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.048
Благодарности
1.163
Баллы
340
Один вопрос. Создал свою модель сундука. Назвал основу zm_case, а крышку zm_case_1. Создал две кости под именами Bip01 Bottom и Bip01 Top. Связал кости с крышкой и основой сундука, используя инструмент Select And Link. Кто подскажет, что делать дальше?

Декомпилируй Соурсером стандартный сундук и посмотри что там и как. Насколько помню, нужно еще поставить нулевой меш, с позиции которого будет начинаться анимация открывания.
А дальше создавать свой мдс скрипт, где прописывать фазы анимации сундука.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.176
Благодарности
6.158
Баллы
1.565
Люди можете подсказать где лежат текстуры кожанных доспехов, еды, растений и др у меня готика 2 ребаланс версия 2.1 смотрел в файле Rebalance_V2_1.vdf там есть, но некоторые измененные текстуры в игре не отображаются. Заранее спс
http://forum.worldofplayers.ru/showthread.php?p=551196&highlight=gothicvdfs#post551196
Поск по форуму - разделу...
этот пост должен натолкнуть тебя на правильный путь...
 

Vitalik

Участник форума
Регистрация
30 Май 2010
Сообщения
108
Благодарности
0
Баллы
165
Народ подскажите как можно изменить музыку звуки природы в готике? Не проще ли будет взять файл новой музыки и переминовать в название старой или я ошибаюсь?*flowers*
 

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.048
Благодарности
1.163
Баллы
340
Народ подскажите как можно изменить музыку звуки природы в готике? Не проще ли будет взять файл новой музыки и переминовать в название старой или я ошибаюсь?*flowers*

Музыка содержится в довольно специфическом формате. Подробнее об этом можно (и нужно) прочитать здесь: https://worldofplayers.ru/node/564

Что касается звуков: https://worldofplayers.ru/node/591
 

OmGKokc

Участник форума
Регистрация
16 Июл 2012
Сообщения
19
Благодарности
0
Баллы
150
Вопрос.
У меня есть готовый мод который я хочу отредактировать.
*.mod - готовый мод
я через GothicVDFS распаковываю *.mod, получаю файл Gothic.dat
пытаюсь декомпилировать через GothicSourcer, ничего не выходит. Пишет файл не является ZenGin архивом. как отредактировать какие либо переменные из мода?
Например при получении уровня получать 15 lp вместо 10.
 

Bjorn++

Участник форума
Регистрация
28 Июн 2011
Сообщения
1.063
Благодарности
46
Баллы
235
как отредактировать какие либо переменные из мода?
Например при получении уровня получать 15 lp вместо 10.
Так. Что бы Маготу не утруждаться, напишу сам...
Тутор Вама в помощь*flowers*:D
 

OmGKokc

Участник форума
Регистрация
16 Июл 2012
Сообщения
19
Благодарности
0
Баллы
150
Так. Что бы Маготу не утруждаться, напишу сам...
Тутор Вама в помощь*flowers*:D

я могу через GothicSourcer отредактировать переменные из оригинальной игры. а как это сделать в готовом моде в туторе нету.
 
Сверху Снизу