|
|
08.03.2007, 22:11
|
#1404
|
|
Re: Вопросы по модостроению
2Злой творец:
А можно ли как-нибудь изменить максимальное расстояние выдавливания полигонов???
|
Нажми на кнопку с изображением окошка рядом с "Bevel" или "Extrude". При этом вылезет небольшое окошко, где можно настроить высоту выдавливания.
И ещё... можно ли сделать так чтобы при работе с боксом в максе, при выделении полигонов выделялись только выделяемые, а не те что и на другой стороне бокса?
|
Запросто. Поставь галочку Ignore Backfacing в свитке в свитке SelectionP.S. И вообще, пройди уроки по 3ds max, которые можно найти на большинстве сайтов по 3D-графике, и сразу же отпадет масса вопросов.
|
|
|
09.03.2007, 01:14
|
#1406
|
|
|
|
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
|
|
|
|
Re: Вопросы по модостроению
2John White: Если не ошибаюсь Описания на русском для Nsis 2.0 и выше нема, сам юзаю Инглиш :)))
Вопрос! При декомпиляции и компиляции дат-файлов появляются ошибки. Но ведь оригинал мода работает исправно. Создатели компилируют с ошибками? Как их исправлять? Подробно!
|
За подробностями в ТЕМУ: Скриптинг в Готике. линк в пришпилке этой темы ;)))
|
|
|
10.03.2007, 01:25
|
#1407
|
|
Re: Вопросы по модостроению
2John White:
Дайте ссылку на описание работы на русском языке с Nsis v2 и выше.
|
Вот тут краткий учебник на русском.
|
|
|
10.03.2007, 23:18
|
#1408
|
|
Re: Вопросы по модостроению
Вопрос по сборке мода:
Cпойлер(щелкните, чтобы прочесть):
Локализовал *.dat-файл (исправил ошибки и перевел) мода. Начал процесс обратной сборки *mod-файла. Собрал по инструкции. Написал *.ini-файл, указав оба *mod-файла. Запускаю русификатор - меню русифицировано, но когда начинается игра, появляется черный экран и здоровье игрока. Че делать?
|
|
|
11.03.2007, 10:40
|
#1409
|
|
Re: Вопросы по модостроению
2John White:
Я не понимаю, зачем ты редактировал датник напрямую? Так же нельзя! Надо изменять скрипты с расширением *.d, а потом компилировать их вместе. После этого получишь локализованный *.dat-файл. Да, кстати. У тебя в ini-файле какой мир прописан? Если не тот, в котором должен появляться игрок, то, естественно, появится только черный экран.
|
|
|
12.03.2007, 14:20
|
#1413
|
|
Re: Вопросы по модостроению
2Злой творец:
Да и среди *.mds я даже кровати не нашёл...
|
А зачем тебе *.mds файл кровати? Если ты хочешь вставить в свой мир предметы, в т. ч. и кровати, то легче в Спейсере воспользоваться vob-контейнером. ИМХО, это удобнее, чем в ручную указывать файлы моделей игровых объектов.
|
|
|
15.03.2007, 23:49
|
#1416
|
|
Re: Вопросы по модостроению
Цитата:
Сообщение от MaGoth link=board=gothic&t=1078004330&start=1400#1414 date=03/15/07, в 22:20:39
2Ork Warrior:
|
Вот здесь она есть: http://g2mod.file-host.org/downloads.php?load_file=3&filename=gfe_0_3.zip
|
Пробовал уже по этой ссылке заходить, не работает она.
|
|
|
16.03.2007, 15:40
|
#1417
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Вопросы по модостроению
|
|
|
09.04.2007, 14:34
|
#1419
|
|
Функция состояния (ZS_*) - проблема
Готика 1. Сделал функцию состояния. В этом состоянии персонаж говорит некие монологи (стихи читает). Есть необходимость развязать это действие с аналогичными действиями других персонажей. Т. е. Если один персонаж начал говорить, другие, с той же функцией состояния, должны ждать пока он закончит. Для этого завел глобальную переменную типа C_NPC, куда помещаю ссылку на говорящего персонажа (чтобы к нему все слушающие поворачивались). В конце монолога эта переменная нулится, чтобы показать, что другой персонаж может говорить.
И тут проблема. Эта переменная нулится до того, как будет произнесен диалог. Т. е. все выводы AI_Output, видимо, буферизуются, или вообще выдаются асинхронно. Пробовал использовать AI_WaitTillEnd, даже (от отчаяния) AI_Wait. Ничто не помогает. Может быть кто подскажет как решить проблему?
Привожу выжимки из функции (сама она очень большая).
// prn - функция печати отладочной информации в отдельную миссию
//inst_NPCAp - это и есть глобальная переменная для хранения "говорящего" NPC
func void ZS_ReadVersePhill_Loop() { var int variant; var float floatTMP; var c_npc npcTMP; prn("start"); npcTMP = Hlp_GetNpc(-1); Npc_PerceiveAll(self); variant = Hlp_Random(10); floatTMP=intToFloat(variant); AI_Wait(self,floatTMP); prn(ConcatStrings("inst_NPCAp=",intToString(inst_ NPCAp.id))); if (inst_NPCAp.id != npcTMP.id && inst_NPCAp.id != self.id) { AI_TurnToNPC(self,inst_NPCAp); variant = Hlp_Random(10); floatTMP=intToFloat(variant); AI_Wait(self,floatTMP); } else if(Wld_DetectNpc(self,-1,NOFUNC,-1)) { inst_NPCAp = Hlp_GetNpc(self); prn(ConcatStrings("-- inst_NPCAp=",intToString(inst_NPCAp.id))); AI_TurnToNPC(self,other); variant = Hlp_Random(8);
if(variant <1) { AI_Output(self,NULL,"phill_poetry_vilon_01"); // персонаж говорит..... .............................. }; // далие разные ухищрения AI_Wait(self, 1000); AI_Output(other, self, "phill_poetry_empty"); // AI_WaitTillEnd(self, other); AI_Output(self, other, "phill_poetry_empty"); // AI_WaitTillEnd(other, self); // конец ухищрений inst_NPCAp = Hlp_GetNpc(-1); prn(ConcatStrings("self=",intToString(self.id ))); AI_GoToWP(self,NPC_GetNextWP(self)); AI_Wait(self,10); }; AI_SetWalkMode(self,NPC_WALK); AI_Wait(self,1); AI_GoToWP(self,NPC_GetNextWP(self)); AI_Wait(self,1); Npc_SetStateTime(self,0); };
PS: Еще одна непонятность - при первом запуске оба персонажа получают "свободный" inst_NPCAp и оба начинают говорить. Если перед началом сохранить и снова вызвать, происходит то же самое. Но если ГГ лег спать, и после пробуждения снова дождался начала этого действия, то у персонажей функция "LOOP" выполняется по очереди (о чем можно узнать по отладочной печати). Даже если в этот момент загрузить вышеописанное сохранение - все равно по очереди. Вот этого я никак понять не могу.
Может кто подкинет какие идеи, как это дело развязать?
|
|
|
09.04.2007, 16:29
|
#1421
|
|
Re: Вопросы по модостроению
Цитата:
Сообщение от MaGoth link=board=gothic&t=1078004330&start=1400#1419 date=04/09/07, в 15:52:06
2kraw:
|
Что если попробывать эту переменную проверять через инициализацию данной функции ?
|
Тогда персонажи не смогут менять действие в процессе выполнения. Т. е. захватил NPC "ресурс" (скажем так - внимание других NPC), так и не отпустит пока не закончится его состояние по расписанию. Можно было бы это использовать как крайний вариант (если других не найдется). И при этом указывать в расписании несколько раз подряд эту функцию. Ta_ReadVersePhill(23, 00,.... Ta_ReadVersePhill(23, 10,.... Ta_ReadVersePhill(23, 20,.... Ta_ReadVersePhill(23, 30,.... Ta_ReadVersePhill(23, 40,.... Но сложность еще и в том, что стихи он выбирает случайным образом, и они имеют разную длительность. Да цель была - создать функцию состояния (точнее даже семейство функций) и использовать их при совместной разработке, когда каждый разработчик пишет своих персонажей. И им нет необходимости согласовывать расписания этих персонажей.
А вообще, наверное стоит отказаться от глобальной переменной, и попытаться реализовать это на свободной константе AI, если таковая есть, и то не суть будет работать или нет.. (имхо)
|
Честно говоря, не понял насчет константы. Что это за константы AI, и как их можно задействовать для этой цели? Проблема в асинхронности процессов. Значение переменной меняется раньше, чем произведено действие.
|
|
|
10.04.2007, 05:28
|
#1423
|
|
|
|
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
|
|
|
|
Re: Вопросы по модостроению
2kraw:
Честно говоря, не понял насчет константы. Что это за константы AI, и как их можно задействовать для этой цели? Проблема в асинхронности процессов. Значение переменной меняется раньше, чем произведено действие.
|
Я чуток не так написал, надо было так: проверять через AIV_ скорее всего, но их в Г1 катастрофически ограничено. 2clainer: Тебе нужно скачать ГМДК к первой готике... ;)
|
|
|
10.04.2007, 10:04
|
#1424
|
|
Re: Вопросы по модостроению
Цитата:
Сообщение от MaGoth link=board=gothic&t=1078004330&start=1400#1422 date=04/10/07, в 05:28:37
2kraw:
|
Я чуток не так написал, надо было так: проверять через AIV_ скорее всего, но их в Г1 катастрофически ограничено.
|
А как они могут помочь? Писать в aivar вместо глобальной переменной? Лекарство хуже болезни. Проблему не решает, поскольку асинхронность процессов остается (все равно сброс значения этой переменной произойдет до того, как закончится монолог), только вот добавится проблема поиска NPC, в чьем aivar'е хранится заветное значение
|
|
|
10.04.2007, 15:33
|
#1425
|
|
Re: Вопросы по модостроению
2kraw:
И тут проблема. Эта переменная нулится до того, как будет произнесен диалог. Т. е. все выводы AI_Output, видимо, буферизуются, или вообще выдаются асинхронно. Пробовал использовать AI_WaitTillEnd, даже (от отчаяния) AI_Wait. Ничто не помогает. Может быть кто подскажет как решить проблему?
|
Может стоит попробовать эту функцию - // возвращает 1, если НПС npc разговаривает, иначе - 0. func int Npc_IsVoiceActive(var C_NPC npc);
|
|
|
10.04.2007, 17:02
|
#1426
|
|
Re: Вопросы по модостроению
Цитата:
Сообщение от Vam link=board=gothic&t=1078004330&start=1400#1424 date=04/10/07, в 15:33:34
2kraw:
|
Может стоит попробовать эту функцию - // возвращает 1, если НПС npc разговаривает, иначе - 0. func int Npc_IsVoiceActive(var C_NPC npc);
|
Не совсем то. Даже если она работает именно так, как представляется, то функция состояния станет разруливать только говорящих. А идея в том, что один говорит, потом девушка станцует, потом, скажем, кто-то огонь изо рта пустит и проч. Т. е. нужен унивкерсальный механизм разрешения этой коллизии. Мне подсказали идею (по крайней мере пока ничего лучшего не придумали), чтобы по очереди занимали определенный WP.Тоже не универсально....
|
|
|
11.04.2007, 08:29
|
#1430
|
|
Re: Вопросы по модостроению
2kraw:
Не совсем то. Даже если она работает именно так, как представляется, то функция состояния станет разруливать только говорящих. А идея в том, что один говорит, потом девушка станцует, потом, скажем, кто-то огонь изо рта пустит и проч. Т. е. нужен унивкерсальный механизм разрешения этой коллизии.
|
Тогда для каждого действия создаешь отдельный ZS_ цикл и пишешь функцию менеджера циклов (по аналогии с распорядком дня монстров), менеджер вводит НПС в цикл и отслеживает его окончание (функция Npc_IsInState), затем берет другого НПС и вводит в нужный цикл и т.д. Сам менеджер можно вызывать в одном из активных восприятий.
|
|
|
11.04.2007, 19:27
|
#1432
|
|
Re: Вопросы по модостроению
Цитата:
Сообщение от Седрик link=board=gothic&t=1078004330&start=1425#1430 date=04/11/07, в 16:40:50
Дорогие коллеги! Выручите пожалуйста. У меня проблема скорее всего легкорешимая да только я нигде не нашёл, как её решить. У меня спейсер для Г1. Когда я его открываю у меня ГЛАВНОЕ окно не открывается совсем! Как я не пробовал. И версии менял и удалял игры...Кто нибудь знает, как эту проблему решить?
|
Ну елы палы! >:( До чего лень доводит... Лично я об этом писал минимум 3 раза! Самое простое - в диспетчере задач - окно - развернуть. Или в реестре удалить параметр "WinMain" HKEY_CURRENT_USER\Software\Piranha Bytes\Spacer\Settings\WinMain
|
|
|
22.04.2007, 12:34
|
#1435
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Вопросы по модостроению
Вот вопрос: как исправить направление падения колонны разрушенного монастыря в Г1?
|
Поработать с мувером, который "отвечает" за эту колонну.
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 07:08. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|