AGFC
Страница 5 из 65 12345 67891011121555 Последняя »

AGFC (http://agfc.ru/index.php)
-   AGFC: Valley of Gothic (http://agfc.ru/forumdisplay.php?f=46)
-   -   М: Скриптинг в Готике (http://agfc.ru/showthread.php?t=1105030050)

03.02.2005 12:11

Re: Скриптинг в Готике
 
2Dagot_Ur: finch определенно имеет опыт в этом деле - он мне объяснил в двух словах, но лучше он сам более подробно расскажет при желании.<br><br>Раз уж ты объявился, не подскажешь, тебе что-нибудь известно про прямую функцию получения текущего времени? И второе - сейчас AI поизводит рассчет ТА НПС в очень маленьком радиусе вокруг игрока - мне нужно его существенно увеличить. Как это сделать, есть мысли?

03.02.2005 12:37

Re: Скриптинг в Готике
 
2Mitrich:<br>
Цитата:

И второе - сейчас AI поизводит рассчет ТА НПС в очень маленьком радиусе вокруг игрока - мне нужно его существенно увеличить. Как это сделать, есть мысли?
<br>Что ты понимаешь под расчетом распорядка дня вокруг ГГ? &nbsp;::)<br>А такую переменную не пробовал менять?<br>const int TA_DIST_SELFWP_MAX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 500; &nbsp;//Дистанция до объекта, на которой начинают выполняться функции распорядка дня

03.02.2005 13:15

Re: Скриптинг в Готике
 
2Vam:
Цитата:

Что ты понимаешь под расчетом распорядка дня вокруг ГГ?
ТА НПС начинают рассчитываться только при определенном приближении к ним игрока, т.е. фактически в некоем радиусе. Поэтому и вокруг. :)<br><br>
Цитата:

А такую переменную не пробовал менять?
<br>Если она была в уроках, то я ее пропустил. :( А где она находится?

03.02.2005 13:31

Re: Скриптинг в Готике
 
2Mitrich:<br>
Цитата:

Если она была в уроках, то я ее пропустил. *А где она находится?
<br>Пост №141 уроков.<br>
Цитата:

ТА НПС начинают рассчитываться только при определенном приближении к ним игрока, т.е. фактически в некоем радиусе. Поэтому и вокруг.
<br>Но ведь многие НПС идут выполнять свои функции, а это и есть распорядок дня, в разные точки, в независимости от того, был ли рядом с ними ГГ или нет.

03.02.2005 14:56

Re: Скриптинг в Готике
 
Кто-нибудь скажет, как сделать, чтобы амулет один раз возрождал после смерти?<br><br>И кто-нибудь исправит ошибку в амулете регенерации?

TycoooN 03.02.2005 15:21

Re: Скриптинг в Готике
 
2francisc:
Цитата:

Где надо прописывать :<br>MIS_Rafael_problem = LOG_RUNNING;<br>и <br>MIS_Rafael_problem &nbsp;= LOG_SUCCESS; ?
<br>В скрипте самого диалога<br><br>
Цитата:

XP_VINOWEIN
<br>Можно в файле XP_Constants.d, а можно просто написать<br>
Код:

B_GivePlayerXP(100)
, и ГГ получит 100 экспы ::)

PA 03.02.2005 16:20

Re: Скриптинг в Готике
 
2Dagot_Ur:<br>
Цитата:

Народ, давайте поговорим о роликах на движке игры (движение камеры). Как их можно создавать, каким способом. Я, если честно, до сих пор так и не разобрался с подобным вопросом. Может где-то у немцев и написано про это, но я ихнего языка не знаю и поэтому ничего не понимаю...
<br><br>Отвязываешь камеру от ГГ (но можно этого и не делать) включаешь грабилку (как правило fraps) и проигрываешь сюжетик (ну ГГ прыгает и дерется... или какой ладшафт облетаем).<br>После этого полученный мувик обрабатываешь - проще загнать в флэшку и УСЕ.<br><br>

03.02.2005 16:51

Re: Скриптинг в Готике
 
2Pa:
Цитата:

включаешь грабилку (как правило fraps)
<br>Звук она захватывать умеет?

03.02.2005 17:36

Re: Скриптинг в Готике
 
2Mitrich:<br>
Цитата:

Звук она захватывать умеет?
<br>Sorry, что вмешиваюсь.<br>Можно воспользоваться &quot;HyperCam&quot;-я с её помощью видеокараоке делал-захватывает окно плейера с картинкой, а звук пишет с master volume в wav-e.<br>Только, наверное, проще звук потом наложить.<br>

03.02.2005 19:47

Re: Скриптинг в Готике
 
2TycoooN: <br><br>2francisc: Где надо прописывать :<br>MIS_Rafael_problem = LOG_RUNNING;<br>и<br>MIS_Rafael_problem &nbsp;= LOG_SUCCESS; ?<br>В скрипте самого диалога<br><br>Нет,при компиляции мне пишет ошибку unknown indentifer MIS_Rafael_problem

03.02.2005 20:09

Re: Скриптинг в Готике
 
2francisc: <br>нужно еще в Story_globals.d прописать что значат твои MIS_Rafael_problem = &quot;Проблема Рафаеля&quot;

03.02.2005 20:18

Re: Скриптинг в Готике
 
2ZXZX:
Цитата:

Sorry, что вмешиваюсь.
<br>Да какое уж тут &quot;сорри&quot;, спасибо, что вмешиваешься. :) <br><br>Тут не много крутых перцев из мира аудио/видеозахвата, поэтому будет крайне удачно, если ты поделишься своим опытом в более доступной и развернутой форме. Наложить звук потом можно, но в том то и вся прелесть, чтобы использовать не только видео, но и звук, создаваемый движком. Для этого, как я понимаю, было бы идеальным вариантом снимать не только картинку с экрана (зачем нам вообще плеер?), но и звук с выхода. А уж как потом все это вместе сводить, AdobePremier сам разберется. :)

03.02.2005 20:22

Re: Скриптинг в Готике
 
2Dagot_Ur: Данные ролики делаются в Спейсере с помощью объекта zCCSCamera. Для этого объекта набираются фреймы zCCamTrj_KeyFrame. Вызывается ролик командой Wld_SendTrigger(&quot;&quot;); скриптово. Я к сожалению пока такие ролики не делал и не исключено, что там куча вопросов при реализации возникнет.<br>2Mitrich, Vam: Расчет всех TA нерационален. Самое главное - расчет таких TA, как RunToWP и подобных, тем самым можно убрать эффект телепортирования НПСов при переходе на заданный вейпойнт. У меня пока нет идей, как это сделать.

TycoooN 03.02.2005 21:10

Re: Скриптинг в Готике
 
2aleks999: <br>
Цитата:

нужно еще в Story_globals.d прописать что значат твои MIS_Rafael_problem = &quot;Проблема Рафаеля&quot;
<br>Вообще-то это не строковая, а целочисленная переменная, и ей не може быть присвоено значение &quot;Проблема Рафаеля&quot;. Переменные вроде MIS_*** просто вводят как var int MIS_*** в файле Story_globals.d

03.02.2005 21:46

Re: Скриптинг в Готике
 
2francisc: 2TycoooN: <br>Вот все, что нужно где-нибудь прописать:<br>const string MIS_Rafael_problem = &quot;Проблема Рафаэля&quot;;<br>var int MIS_END_Rafael_problem;<br>B_CloseTopic(MIS_Rafael _problem,0,MIS_END_Rafael_problem,6);<br><br>И в самом диалоге:<br>При получении миссии:<br>Log_CreateTopic(MIS_Rafael_problem,LOG_MISSION );<br>Log_SetTopicStatus(MIS_Rafael_problem,LOG_Ru nning);<br>B_LogEntry(MIS_Rafael_problem,&quot;Тут нужно написать то, что будет в журнале.&quot;);<br>И при завершении миссии:<br>MIS_END_Rafael_problem = TRUE;

03.02.2005 22:01

Re: Скриптинг в Готике
 
2WSA:
Цитата:

Расчет всех TA нерационален. Самое главное - расчет таких TA, как RunToWP и подобных, тем самым можно убрать эффект телепортирования НПСов при переходе на заданный вейпойнт.
А я планировал сегодня закончить свои эксперименты, чтобы уже аргументированно подойти к ответу. Но для их чистоты мне нужно было адекватны полигон создать, а я не успел. :(<br><br>2Vam:
Цитата:

Но ведь многие НПС идут выполнять свои функции, а это и есть распорядок дня, в разные точки, в независимости от того, был ли рядом с ними ГГ или нет.
<br>Как совершенно правильно заметил WSA, за пределами радиуса просчета происходит не выполнение ТА и всех внутренних его функций, а проверяется только точка выполнения (но не само выполнение). Т.е. если НПС за пределами радуиса просчета, а вейпойнт в ТА изменился, НПС будет мгновенно туда перенесен, но делать он там ничего не будет, пока игрок не приблизится. Проверялся спектакль зашитой в ТА функцией, которая добавляет единицу N-контрольного предмета за каждые время t выполнения ТА. Если 5 минут стоять рядом с НПС, он честно получит в инвентарь Nхt. Если от него удалиться, количество полученных предметов явно меньше.<br>Второй вариант (исторически первый) - запуск Готик 2 через GothicStarter с ZSpy. Выходим из башни Ксардаса, следим за сообщениями ZSpy. Где-то в районе пенька (прямо перед башней) выдается сообщение &quot;02.30 Info 2U NPC:AI Insert NPC Goblin YGOBBO_GREEN &lt;oNpc.cpp, #9188&gt;&quot; Насколько я понимаю, это начался рассчет гоблина, который слева у озера. Если назад отойти вместо Insert будет Removed.

03.02.2005 22:23

Re: Скриптинг в Готике
 
2Mitrich:<br>
Цитата:

снимать не только картинку с экрана (зачем нам вообще плеер?), но и звук с выхода
<br>Плеер это для примера.:)<br> *HyperCam (есть и другие подобные проги),захватывает и графику и звук.<br>Игра запускается в оконном режиме, выставляется оптимальное разрешение и битность цвета.<br>Alt-tab перемещаемся между окном игры и окном HyperCam.<br><br> *В HyperCam выбираются параметры захвата и сохранения видео и звука,затем -область захвата(окно целиком или произвольную).Горячими клавишами или мышой запускаем захват.Переключаемся на окно игры и запускаем нужный фрагмент.При захвате вокруг окна начинает мигать рамка.<br><br>По-окончании, вновь Alt-tab на HyperCam , останавливаем захват потом ставим игру на паузу.<br>Можно сразу просмотреть, что и как получилось, щелкнув на play в HyperCam.<br><br>Далее, вырезаем из получившейся avi-шки нужное(можно использовать VirtualDub) и в RADVideo<br>Tools конвертим в стандартный .bik. <br><br> Я сейчас пробовал.Все работает, но на Athlon 2800/512/FX5200 игра подтормаживает во время захвата1024X768 в 32-битном цвете. Надо тыкаться-может проц разгружать, память..<br><br><br>

03.02.2005 23:52

Re: Скриптинг в Готике
 
const string MIS_Rafael_problem = &quot;Проблема Рафаэля&quot;;<br>var int MIS_END_Rafael_problem;<br>B_CloseTopic(MIS_Rafael _problem,0,MIS_END_Rafael_problem,6<br><br>Это как я поянл нужно в Story_globals.d.

TycoooN 03.02.2005 23:56

Re: Скриптинг в Готике
 
2francisc: <br>Нет.<br>B_CloseTopic нужно прописать в Log_Entries\B_CloseTopics_***.d<br>const string MIS_Rafael_problem - в Log_Entries\LOG_Constants_***.d<br><br><br>

04.02.2005 01:07

Re: Скриптинг в Готике
 
2Dagot_Ur:
Цитата:

Народ, давайте поговорим о роликах на движке игры (движение камеры). Как их можно создавать, каким способом.
<br><br>
Цитата:

finch определенно имеет опыт в этом деле - он мне объяснил в двух словах, но лучше он сам более подробно расскажет при желании.
<br><br>Все зависит от того, как ты собираешься использовать этот ролик...<br>В принципа, здесь уже почти все сказали, но попытаюсь немного обощить...<br><br>1. ЕСли тебе нужен ролик на движке для заставки (например, в начале игры), то тогда, конечно, лучше всего использовать названные выше программы. Я лично использую fraps, а потом при помощи radvideo можно конвертануть ролик в *.bik<br><br>2. Если ты хочешь, чтобы ролик запускался в самой игре, при наступлении какого-нибудь события (пример, движение камеры в самом начале Диккурика), то здесь все немного сложнее...<br>Для начала необходимо в Спейсере вставить эту камеру, задать кейфреймы.<br>чтобы разобраться,как это работает, зайди в спейсер, на вертикальном тулбаре нажми кнопку с камерой. В соседнем окошке появится список доступных камер, сверху кнопка INSERT. Выбираешь любую камеру, жмешь инсерт - камера вставлена в игровой мир. Чтобы посмотреть, как она работает, можно нажать кнопку PLAY.<br>теперь о кейфреймах...<br>выбери в меню veiw/../toggle cams<br>должны появиться зеленые и белые линии.<br>белые линии - траектория движения камеры<br>зеленые - траектория, на которую камера &quot;смотрит&quot;<br>если удалить все кейфреймы, которые составляют зеленую линию, то камера будет смотреть просто перед собой.<br><br>чтобы запустить камеру в игре, используется функция
Цитата:

Wld_SendTrigger(&quot;&quot;);
. В кавычках название камеры.<br>Например, эту функцию можно запустить через триггер или диалог.<br>Через диалог не советую, т.к. если камера находится дальше тридцати метров от ГГ, который ведет диалог - диалог автоматически пропадает.<br>Короче, главное начать, а там уже разобраться будет не так и сложно! :)<br><br>З.Ы. Сорри, если все вышенаписанное выглядит невнятно или имеет неточности... Только что пришел с работы, писал все по памяти! :)

Dagot_Ur 04.02.2005 03:25

Re: Скриптинг в Готике
 
2finch: Я как раз и имел в виду камеру в самой игре, а не видео-ролик &quot;через fraps&quot;. Можно ли прогон камеры создавать через скрипты, не затрагивая спейсер? А вообще спасибо, теперь все вошло в свое русло. :)

Dagot_Ur 04.02.2005 06:48

Re: Скриптинг в Готике
 
Я тут почитал идеи регенерации с ренжачрком - это ж надо до такого додуматься. :lol: И вот что хочу спросить: где это вы откопали эту фунцию цикла в моде ManaReload? Сейчас скачал посмотреть - там точно такого нет!<br>

04.02.2005 10:00

Re: Скриптинг в Готике
 
2Mitrich:<br>
Цитата:

Как совершенно правильно заметил WSA, за пределами радиуса просчета происходит не выполнение ТА и всех внутренних его функций, а проверяется только точка выполнения (но не само выполнение). Т.е. если НПС за пределами радуиса просчета, а вейпойнт в ТА изменился, НПС будет мгновенно туда перенесен, но делать он там ничего не будет, пока игрок не приблизится. Проверялся спектакль зашитой в ТА функцией, которая добавляет единицу N-контрольного предмета за каждые время t выполнения ТА. Если 5 минут стоять рядом с НПС, он честно получит в инвентарь Nхt. Если от него удалиться, количество полученных предметов явно меньше.
<br><br>Это же игра, а не мультизадачная система реального времени. То, что находится за зоной видимости ГГ вообще не должно волновать, как будто, да и в реальности, ничего нет, но когда объект попадает в зону видимости он должен адекватно отображаться в заданном состоянии. Если НПС заставили пилить дрова и сами ушли, то подойдя по истечении определенного времени просто должны увидеть результат (N = время * производительность). То же относится к перемещению, расстояние от НПС до точки путешествия известно, траектория задана, и через скорость получаем время прибытия НПС в конечную точку, если мы встанем где-то у него на пути, он должен прошлепать мимо.<br>Как я понимаю, для реализации всего этого не хватает одного параметра - фактического времени.<br><br>Теперь вопрос - кто-нибудь пробовал менять значение константы именно на стадии работы скриптов, а не до компиляции. Работает ли такая вещь? Или можно менять значение только у VAR переменной?

04.02.2005 12:41

Re: Скриптинг в Готике
 
2Vam:
Цитата:

Это же игра, а не мультизадачная система реального времени
Согласен - анимацию можно не воспроизводить, но рассчитывать результаты действий НПС за пределами видимости надо (задача такая).<br><br>
Цитата:

Как я понимаю, для реализации всего этого не хватает одного параметра - фактического времени.
Именно. Не обнаружив такого элементарного инструмента, мне приходится думать о варианте честного расчета, т.е. о системе реального времени. Но не только поэтому.<br><br>
Цитата:

Если НПС заставили пилить дрова и сами ушли, то подойдя по истечении определенного времени просто должны увидеть результат (N = время * производительность).
<br>Верно. Но если НПС заставить напасть на другого НПС? Как рассчитывать результат? Фиксировать время стычки и прикидывать значения атака/защита данных НПС? Сейчас в Готике расчет стычки начинается когда игрок подойдет, а до этого момента все мирно курят.<br><br>
Цитата:

То же относится к перемещению, расстояние от НПС до точки путешествия известно, траектория задана, и через скорость получаем время прибытия НПС в конечную точку, если мы встанем где-то у него на пути, он должен прошлепать мимо.
Я думаю, надо определить какие промежуточные вейпойнты находятся на траектории и рассчитать время достижения ближайшей, т.к. по дороге (по идее) может случиться некоторое событие, которые путь прервет - драка например.<br><br> 2ZXZX:
Цитата:

Я сейчас пробовал.Все работает, но на Athlon 2800/512/FX5200 игра подтормаживает во время захвата1024X768 в 32-битном цвете. Надо тыкаться-может проц разгружать, память..
А по диспетчеру не удалось отследить загрузку процессора и использование памяти? Третью составляющую (видеокарту) можно было бы тогда элементарно вычелить методом исключения.

04.02.2005 14:27

Re: Скриптинг в Готике
 
2Mitrich: <br>
Цитата:

не удалось отследить
<br>Да, собственно,специально не проверял.<br>ИМХО, может с этим перейти в тему &quot;Die Nacht des Raben 2.8 (МОД)&quot;,а то к скриптам она имеет отдаленное отношение ;)

04.02.2005 20:31

Re: Скриптинг в Готике
 
2finch: Обобщил хорошо.<br>Интересует такая вещь: как правильно писать тригер ocTriggerChangeLevel или ocTriggerScript через событие OnTouch. У меня получилось только из zcTriggerа, да и то точечного.<br>2Mitrich:
Цитата:

Я думаю, надо определить какие промежуточные вейпойнты находятся на траектории и рассчитать время достижения ближайшей, т.к. по дороге (по идее) может случиться некоторое событие, которые путь прервет - драка например.
Я об этом тоже думал. Попробую сделать упрощенный вариант.

05.02.2005 00:12

Re: Скриптинг в Готике
 
2Dagot_Ur:
Цитата:

Можно ли прогон камеры создавать через скрипты, не затрагивая спейсер?
<br>ИМХО, нет...<br><br>2WSA:
Цитата:

Интересует такая вещь: как правильно писать тригер ocTriggerChangeLevel или ocTriggerScript через событие OnTouch. У меня получилось только из zcTriggerа, да и то точечного.
<br>Не понял вопроса...<br>На ОнТач реагирует и ocTriggerChangeLevel, и ocTriggerScript...<br><br>
Цитата:

да и то точечного.
<br>размеры &quot;точки&quot; можно менять...

05.02.2005 00:46

Re: Скриптинг в Готике
 
Сорри за два поста подряд! Больше не буду! :)<br><br>2Dagot_Ur:
Цитата:

Я тут почитал идеи регенерации с ренжачрком - это ж надо до такого додуматься. И вот что хочу спросить: где это вы откопали эту фунцию цикла в моде ManaReload? Сейчас скачал посмотреть - там точно такого нет!
<br>Там точно такое есть! ;D<br>Сама идея регенерации лежит в файле ZS_Recharger.d<br>Мне оставалось только приделать ее к амулету... С этим проблем не возникло...<br>А вообще, в этой теме я тебя уже спрашивал, как ты сделал регенерацию...<br>Если не сложно - опиши, плз, хотя бы общий принцип!

Dagot_Ur 05.02.2005 05:45

Re: Скриптинг в Готике
 
2finch: Да чего тут описывать-то? :) ATR_REGENERATEHP и ATR_REGENERATEMANA. Думаю, что из этого все понятно. Только есть одна проблемка - при регенерации одной жизни - мана моментально восстанавливается. Лечится добавлением Npc_ChangeAttribute(self,ATR_REGENERATEMANA,9999); .<br>Делал также через цикл - через любой готовый LOOP, например, MagicSleep. Но с этим мороки больше, да и ни к чему это... :)<br><br>2Mitrich: Точное время получить, наверное, нельзя. Можно оперировать лишь функцией Wld_IsTime(хх,хх,хх,хх);. Если вставить ее в цикл и проверять значение меняющихся переменных хх, то возможно это сделать. Или без цикла, но с проверкой каждой минуты часа, но тогда слишком громоздко получится. Пока мне надобности в этом не возникало, поэтому большего сказать не могу. Вообще-то этим ядро занимается, а доступа к нему у нас, к сожелению - нет. :)

05.02.2005 10:32

Re: Скриптинг в Готике
 
2finch: Уточняю вопрос.<br>Ни один из тригеров не работает после того как я меняю
Цитата:

размеры &quot;точки&quot;
. Точка работает, прямоугольник нет.<br>

06.02.2005 00:16

Re: Скриптинг в Готике
 
2WSA:
Цитата:

Ни один из тригеров не работает после того как я меняю размеры &quot;точки&quot;. Точка работает, прямоугольник нет.
<br>Хм.. Странно...<br>У меня все работает... Я использую для запуска камеры
Цитата:

ocTriggerScript
и функцию, в которой прописываю
Цитата:

Wld_SendTrigger(&quot;&quot;);
... ну, и другие необходимые мне вещи...

06.02.2005 04:57

Re: Скриптинг в Готике          
 
2All:<br>Вот пытаюсь разобраться в скиптах, как, что, к чему...<br>Как я понял, все скрипты заложены в файлах Ou.bin, Gothic.dat и т.д. Меня интересует вот что: как в простейшем виде вставить NPC в игру. Вот к примеру, чтобы я начал новую игру(Gothic I) и меня встречал не только Диего, а + еще какой-то стражник стоял рядом с ним. Я так понимаю, это надо создать некий &quot;файл.d&quot;, в котором будет описан этот самый стражник. А дальше что делать с этим файлом? Или я вообще не так все понял?<br><br>P.S. Вы только поймите меня правильно, я пытаюсь разобраться что к чему. Поэтому если я что-то не так сказал, то вы уж не смейтесь ;)

06.02.2005 10:17

Re: Скриптинг в Готике
 
2Vahaber: Почитай &nbsp;эту, эту и, собственно говря, вот эту темы... А лучше сохрани у себя на винте!<br>Многие вопросы сразу отпадут! ;)

06.02.2005 17:47

Re: Скриптинг в Готике
 
2finch:<br>
Цитата:

Почитай *эту, эту и, собственно говря, вот эту темы... А лучше сохрани у себя на винте!<br>Многие вопросы сразу отпадут!
<br><hr class="hr_agfc"><br>Что касается вот этой и этой тем, то они давно уже прочитаны и сохранены. В них я конкрентого ответа на свой вопрос не нашел. А вот что касается этой темы - ее я раньше читал, но особо не вникал. А теперь еще раз перечитал, и таки нашел ответы на свои вопросы.<br>Спасибо.

07.02.2005 02:52

Re: Скриптинг в Готике                            
 
Ответ-то я нашел, стал пробовать что-то сделать. Вышло, но не совсем. Итак, что я делал.<br><br>1. Расспаковал файл world.vdf при помощи GothicVDFS в \Gothic\_work\data\worlds<br><br>2. Запустил Spacer и создал возле входа в СЛ вайпоинт с именем &quot;my0&quot; и соедини его с вайпоинтами, которые были рядом. Вайпоинт создавал так: F3, нажал на горизонтальной панельке на кнопку с изображением ноги, на том месте,где я хотел создать вайпоинт клацнул правой кнопкой мыши - insert(...waypoint), зажал Shift, клачнул левой кнопкой мыши на рядом &quot;стоЯщий&quot; вайпоинт(&quot;OC1&quot;), на горизонтально панельке нажал на кнопку, которая отвечает за соединение вайпоинтов. Далее, этот же вайпоинт(&quot;my0&quot;) соединил таким же образом с еще одним. Сохранил world.zen.<br><br>3. В \Gothic\_work\data\scripts\content\story\NPC создал файл NONE_3131_TIV.d Вот содержимое файла:<br><br>instance NONE_3131_Tiv (NPC_DEFAULT)<br>{<br><br> * name = * * * * * * * * * * *&quot;Tiv&quot;;<br> * npctype = * * * * * * * * * npctype_main;<br> * guild = * * * * * * * * * * *GIL_NONE;<br> * level = * * * * * * * * * * *0;<br> * voice = * * * * * * * * * * *8;<br> * id = * * * * * * * * * * * * * *3131;<br><br> * attribute[ATR_STRENGTH] = * * * 200;<br> * attribute[ATR_DEXTERITY] = * * * 200;<br> * attribute[ATR_MANA_MAX] = * * * 100;<br> * attribute[ATR_MANA] = * * * * *100;<br> * attribute[ATR_HITPOINTS_MAX] = * *900;<br> * attribute[ATR_HITPOINTS] = * * * 900;<br><br> * Mdl_SetVisual * * * (self,&quot;HUMANS.MDS&quot;);<br> * Mdl_ApplyOverlayMds * *(self,&quot;Humans_Tired.mds&quot;);<br> * Mdl_SetVisualBody (self,&quot;hum_body_Naked0&quot;,3,1,&quot;Hum_He ad_Bald&quot;, 72, *4, GRD_ARMOR_H);<br><br> * B_Scale (self);<br> * Mdl_SetModelFatness (self, 0);<br><br> * self.aivar[AIV_IMPORTANT] = TRUE;<br><br> * fight_tactic * *= * *FAI_HUMAN_MASTER;<br><br><br> * Npc_SetTalentSkill (self, NPC_TALENT_1H,1);<br><br> * EquipItem (self, ItMw_2H_Sword_Heavy_03);<br> * CreateInvItem (self, ItMwPickaxe);<br> * CreateInvItem (self, ItFoLoaf);<br> * CreateInvItem (self, ItFoBeer);<br> * CreateInvItem (self, ItLsTorch);<br><br> * daily_routine = Rtn_Start_3131;<br>};<br> * func void Rtn_Start_3131 ()<br>{<br> *TA_Guard(09,00,24,00,&quot;my0&quot;);<br> *TA_Guard(24,00,09,00,&quot;my0&quot;);<br>};<br>< br>4. В файле \Gothic\_work\data\scripts\content\story\Startup.d после строчки &quot;Wld_InsertNpc * * * * * *(Grd_217_Torwache,&quot;OC1&quot;);//Sьdtor&quot; прописал свою строчку:<br>Wld_InsertNpc * * * * * * * * * * *(NONE_3131_Tiv,&quot;my0&quot;);<br><br>5. Запустил Spacer, далее World -&gt; Reparse Script и укзал путь к \Gothic\_work\data\scripts\content\Gothic.src Ошибок Spacer не выдавал.<br><br>6. При помощи GothicVDFS запаковал world.zen в worlds.mod в папку \Gothic\data\ После этого удалил в этой же папке *файл WORLDS.VDF *и поменял расширение у файла worlds.mod на worlds.vdf<br><br>7. Запускаю GOTHIC.EXE -&gt; New Game -&gt; бегу к воротам СЛ - моего NPC там нет. Вот так.<br><br>P.S.<br>1. Командой insert NONE_3131_Tiv получилось вставить этого NPC.<br>2. Непонятным для меня осталось следующее:<br>Mdl_SetVisual * * * (self,&quot;HUMANS.MDS&quot;);<br>Mdl_ApplyOverlay Mds * *(self,&quot;Humans_Tired.mds&quot;);<br>B_Scale (self);<br>self.aivar[AIV_IMPORTANT] = TRUE;<br><br>Внимание вопрос: :)<br>Что же не так? Почему мой NPC не появляется?<br>И в каком файле можно посмотреть
Цитата:

Все различные занятия для неписи
?

07.02.2005 10:15

Re: Скриптинг в Готике
 
2Vahaber: В строковых названиях вейпойнтов нужно различать регистр. Попробуй написать везде &quot;MY0&quot;.

07.02.2005 15:28

Re: Скриптинг в Готике
 
2Vahaber:
Цитата:

И в каком файле можно посмотреть Все различные занятия для неписи?
<br>Задай в поиске по папке _work &quot;ТА.d&quot;

07.02.2005 16:35

Re: Скриптинг в Готике
 
Попробуй его вставить при помоши марвина.Если не появится,то значит его нет в датнике.Если появится,то игра почему то не замечает твой вуапоинт,почему я не знаю,тк сам в этом не разобрался.

07.02.2005 17:07

Re: Скриптинг в Готике
 
2Vahaber:
Цитата:

Внимание вопрос: <br>Что же не так? Почему мой NPC не появляется?
<br>Весьма часто НПС не встает пока не создашь для него миссию и не пропишешь ее как надо.

07.02.2005 21:13

Re: Скриптинг в Готике
 
Так-с, наконец-то получилось. Обо всем по-порядку.<br><br>2WSA:<br>
Цитата:

В строковых названиях вейпойнтов нужно различать регистр. Попробуй написать везде &quot;MY0&quot;.
<br><hr class="hr_agfc"><br>Поменял в файлах NONE_3131_TIV.d и Startup.d &quot;my0&quot; на &quot;MY0&quot; и все заработало!!! Стоит NPC там где надо. Спасибо тебе.<br><br>2Mitrich:<br>
Цитата:

Задай в поиске по папке _work &quot;ТА.d&quot;
<br><hr class="hr_agfc"><br>Я так и предполагал, что это он, решил переспросить. Спасибо.<br><br>
Цитата:

Весьма часто НПС не встает пока не создашь для него миссию и не пропишешь ее как надо.
<br><hr class="hr_agfc"><br>И все-таки появился. ;)<br><br>2francisc:<br>
Цитата:

Попробуй его вставить при помоши марвина.
<br><hr class="hr_agfc"><br>Я это уже попробовал. В предыдущем моем посте*-
Цитата:

Командой insert NONE_3131_Tiv получилось вставить этого NPC.
;)<br>И тебе тоже спасибо.<br><br>Вопрос, который остался в силе: за что отвечают вот эти строчки?<br>Mdl_SetVisual * *(self,&quot;HUMANS.MDS&quot;);<br>Mdl_ApplyOverla yMds * (self,&quot;Humans_Tired.mds&quot;);<br>B_Scale (self);<br>self.aivar[AIV_IMPORTANT] = TRUE;


Текущее время: 08:03. Часовой пояс GMT +4.
Страница 5 из 65 12345 67891011121555 Последняя »

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot

AGFC: Valley of Gothic © 2004-2022