![]() |
glass
Неужель нет едигого скрипта для всех неписей? Чтоб одной командой всех спать уложить? |
UniAlex
А я подумал, что головой с разбегу с петлей сшибать. :) Оружие+охрану точно можно сделать, да и прочность, тоже наверное. |
glass
Ну где все то? NPC'ей ~3000 (очень грубо округлил в большую сторону), персональный скрипт висит на менее, чем 1/3, а большая часть из этой трети имеет общие простенькие скрипты на одно событие. То есть, в итоге, счастливых обладателей полноценных скриптов не так уж много - от силы, пара сотен. А ты не замечал в меню такой ключик как "AI distance" ? ;) Скрипты обрабатываются в каком-то радиусе от чара, этот радиус и зависит от данного ползунка. :) Поэтому достаточно будет увеличить сложность скриптов в два-три раза у всех NPC и уменьшить во столько же раз радиус и все будет супер. А вообще, я думаю, что даже с максимальным радиусом там достаточный запас есть: изменения фпс, при разных значениях AI радиуса, минимальны. Ес-но, иначе, как бы они работали? Только что-то у меня большие сомнения, что они постоянно работают. См. выше. ;) Но даже для такой примитивной штуки придется на каждого повесить скрипт, телепортирующий хозяина в его конкретные координаты для ночлега, и глобальный скрипт, который будет проверять время и запускать локальные у каждого. Фигня, надо либо сделать глобальный скрипт, который кидает всех спать (по моему это сделать невозможно, из-за ограничений редактора), либо скрипт у каждого непися, который тупо проверяет скока сейчас времени и, в зависимости от этого, тянет непися домой. :) Чтобы стало круто, надо в скрипт каждого добавить дорогу до дома - расставить вешки для алгоритма pathfinding'а и сделать это крайне ловко, потому что никто не знает, где какждый конкретный хмырь будет во время наступления часа-Х. Насколько я понял алгоритм пасфаиндинга в MW крайне убогий и именно с ним будут проблемы. С другой стороны монстры, в большинстве случаев, довольно резво находят дорогу к чару. ;) Так что можно спокойно в нужное время дать комманду NPC топать домой, а если он не дошел за какое-то определенное время: застрял, не смог найти дорогоу и т.д. - телепортировать его туда. Будет, имхо, выглядеть достаточно прилично. ;) |
Kit
Да телепортируйте так, сразу. Чтоб исчезали как в Даггере. Вспомним былое :) |
UniAlex
Такой волшебной команды я не узрел. Единый скрипт для всех неписей сделать можно, нет проблем, но единый скрипт тут не поможет (мне показалось, я достаточно подробно описал наверху - почему). Еще фигня в том, что AI NPС/Монстров это отдельная штука. В скриптах можно использовать варианты поведения (разные AI Package), но сам AI - написан не на скриптовом языке для CS. |
А как насчет путешевствующих неписей? Пущай появляются и исчезают как только отойдут на приличное (оочень приличное) расстояние. Рандомные имена и инвентарь им давать можно? Типа челноки :)
|
А ты не замечал в меню такой ключик как "AI distance" ?
Скрипты обрабатываются в каком-то радиусе от чара, этот радиус и зависит от данного ползунка. Yep. ;) Только этой радиус всегда укладывается в текущий Cell. А значит реально работающих в настоящий момент времени скриптов, даже еще меньше, чем общего кол-ва скриптов на данную локацию. Замечаешь, пахнет все хуже и хуже? ;) либо скрипт у каждого непися, который тупо проверяет скока сейчас времени и, в зависимости от этого, тянет непися домой. Ну, во-первых, моя схема правильней и будет быстрее работать. :) Но дело не в этом, а в том, что общее кол-во скриптов, которые надо сделать и развесить по неписям, не меняется (ok, меняется на -1 ;)). Это много работы - вот я к чему. Скрипты то однотипные, но как минимум нужно знать, куда каждого на постой отправлять. Насколько я понял алгоритм пасфаиндинга в MW крайне убогий и именно с ним будут проблемы. Крайне убогим я бы его не считал. Алгоритм, как алгоритм - бывает хуже, мир то трехмерный, а не тайловый. дать комманду NPC топать домой AiTravel? Может быть. Но это не отменяет сказанного выше. а если он не дошел за какое-то определенное время: застрял, не смог найти дорогоу и т.д. - телепортировать его туда. И все запускается все больше и больше. ;) Будет, имхо, выглядеть достаточно прилично. Будет, если удасться это все реализовать. ;) Ok, как мне кажется, некое понимание достигнуто. Теперь главное. Внимание, вопрос: ты готов за это взяться? :) |
glass
А есть такая команда? А если вечером убирать, а утром снова спонить непися? |
glass
Внимание, вопрос: ты готов за это взяться? Уфф, мне лекции по теории графов на этой неделе надо писать. ;) Но вообще время будет ближе к концу недели: безработный пока. ;) |
xelax
Я немного считил и отредактировал свой пост. ;) Кстати, еще такой момент, npc то небось будет снова рваться на свободу, так что, мало того, что его надо будет доставить домой, так еще и ограничить его поползновения до утра. Короче, мне все это пока кажется слишком сложным и слабореальным. Разубедите меня, что ли? :) |
glass
У меня пока первый диск с игрой. После ваших обсуждений поставил второй на закачку :) Скачаю, гляну - возможно некоторые вопросы прояснятся. |
xelax
А если вечером убирать, а утром снова спонить непися? Всех телепортировать в удаленную точку пространства? ;) Можно. Только это еще хуже, чем телепорт, как в Даггере. Настал вечер и город вымер, потом настало утро и все воскресли? Зачем такое нужно? К тому же, уверен, полезут такие баги, что текущая круглосуточная жизнь сплошным раем покажется. ;) |
glass
Кстати, еще такой момент, npc то небось будет снова рваться на свободу, так что, мало того, что его надо будет доставить домой, так еще и ограничить его поползновения до утра. Предлагаю его убить. Серьезно. Убитый - значит спит. Будить по след тригеру: чар в той же комнате и сник у него не включен, причем сразу с мессадж боксом к чару. ;) Тепрь осталось придумать как его труп положить на кровать. Хмм. P.S. очень плохо что скриптовой язык нифига не объектно ориентированный, вот хрен создашь новый state для игрока: sleeping. Блин. |
xelax
Какие? Редактор работает и с одним диском. На втором только статика разная. |
Kit
Предлагаю его убить. Серьезно. Убитый - значит спит. Кошмар! NPC с грехом пополам добрался до дома, где одномоментно и издох. Лежит и шныряет до утра. :lol: Мда, в чем точно уверен: скучно не будет. (см. выше про баги) ;) Мне кажется, ты все-таки преувеличиваешь возможности скриптового языка, как по сложности того, что можно на нем реализовать, так и по скорости. |
очень плохо что скриптовой язык нифига не объектно ориентированный, вот хрен создашь новый state для игрока: sleeping.
Есть такое дело. Интересно, с чем это связано? Со скоростью работы, 'сложностью' ооп модели (не смешно) или еще чем-то? Он мне вообще кажется все более убогим, при ближайшем рассмотрении. Над условиями, например, даже логические операции нельзя задавать. Программописатели, итить... :dn: |
glass
Проверил, действительно работает :) Что касается темы. Есть в игре Нелос Олмар - он вроде гуляет между Пелагиадом и дорогой. Посмотреть как это сделано. В боевках если тебя оглоушивают здорово, то лежишь какое-то время на полу. Посмотреть как это сделано. |
glass
Кошмар! NPC с грехом пополам добрался до дома, где одномоментно и издох. Лежит и шныряет до утра. Хе-хе, я тут изучил пока help file по скриптам. Ндаа, положение удручающее. Во-первых: вообще неясно какие скрипты можно набросить на мертвого непися, есть подозрение, что только стандартные реакции. :( Во вторых: действительно богатство здешнего "языка" поражет воображение. В том же Quake/Unreal скриптовой язык в разы лучше. И при этом совершенно объектный. |
Kit
Мне кажется, что надо fatigue до нуля уменьшать. Т.е. еще не мертвый, но уже не бодрый. |
xelax
Есть в игре Нелос Олмар - он вроде гуляет между Пелагиадом и дорогой. Посмотреть как это сделано. У меня нет сомнений, что какого-то одного NPC можно обучить уходить домой вечером. У меня есть сомнения, что это можно сделать со всеми NPC'ями, во всех городах. Даже в одном городе. И дело не только в ограничениях, налагаемых скриптовым языком. Еще раз повторюсь: это много работы, очень много. Работы, за которую не заплатят денег, как девелоперам того же Готика. Но если кто-то сделает это, тем самым развеяв мои дурацкие сомнения, я готов быть первым, кто будет отпаивать его пивом. I mean it. :) В боевках если тебя оглоушивают здорово, то лежишь какое-то время на полу. Посмотреть как это сделано. Это мысль мне тоже только что приходила в голову. ;) Но это уже относится ко второй части: не дать засранцу утечь из дома до утра. А еще и первая не выполнена. ;) Kit Ага. ;) В том же Quake/Unreal скриптовой язык в разы лучше. И при этом совершенно объектный. QuakeC? Ну ты даешь - сравнивать культуры и уровень программирования в Id и Bethesda! У последней, это никогда не было ее самой сильной стороной. :gigi: |
glass
Еще раз повторюсь: это много работы, очень много. Ага, но есть мнение, что ее можно автоматизировать. ;) Например довольно просто получить координаты всех кроватей в мире MW. ;) отпаивать его пивом. Чур не меня: ненавижу пиво! :D Ну ты даешь - сравнивать культуры и уровень программирования в Id и Bethesda! Ндаа, Кармак конечно гений, если не в играх, то в программинге точно. |
Ага, но есть мнение, что ее можно автоматизировать.
Например довольно просто получить координаты всех кроватей в мире MW. Потом еще соотнести координаты каждой кровати с каждым NPC. Не напутать при этом. Иначе получится сплошной разврат. ;) А потом столкнуться с проблемой накладок. На вроде того, что какой-то конкертный отщепенец не должен в это время валяться на своей кровати (в бессознательном состоянии ;)), потому что должен находится совсем в другом месте или запорется какой-нибудь квест. Потом еще и еще чего-нибудь в таком же духе. Чур не меня: ненавижу пиво! Ok, готов заменить на другой животворящий напиток. Только замена должна быть разумной - ясное дело, что на ящик "Бенедиктина" меня не хватит (не уверен даже насчет одной бутылки). ;) |
glass
На вроде того, что какой-то конкертный отщепенец не должен валятся на своей кровати (в бессознательном состоянии ), потому что должен находится совсем в другом месте или запорется какой-нибудь квест. А тут ни один квест не проходится на время. Поэтому никакие временные отключки npc не должны влиять вообще. Ok, готов заменить на другой животворящий напиток. Беру манговым соком в промышленных количествах. ;) P.S. Кстати, насчет разврата - гениальная идея. :) А то, я думал, куда девать тех неписей, у которых нет собственного дома и они целыми днями на улице (а таких не так мало)? ;) |
Kit
А тут ни один квест не проходится на время. Поэтому никакие временные отключки npc не должны влиять вообще. Я же просто примеры привожу. Но ключевое слово 'не должны', а 'не будут'. ;) Беру манговым соком в промышленных количествах. Это - легко. :) P.S. Кстати, насчет разврата - гениальная идея. Вот ведь... Теперь, в случае даже частичного успеха, меня будут считать отцом разврата в Morr'е? Ну, спасибо!.. :gigi: Картинка из жизни будущего: ... PC пытается добудиться NPC, спящего на кровати вповалку с двумя female npc и еще одним male npc: - %NPCName%, проснитесь! Да проснитесь же!!! %NPCName%, с трудом разлепляя заспанные глаза: - Что,... что стряслось?! PC, протягивая тому журнал: - Вот тут распишитесь, пожалуйста... ... Занавес. |
glass
Kit Мне каэтся, камрады, что задача "тотального" оживляторства морровинда имеет исключительно академический интерес. Вся эта "живость" присутсвовала в полном объеме к примеру в той же готике. Ну и чего. Как долго она радовала глаз и душу?. Часа два от силы. Потом все замылилось. Так же было бы и в морре. Вот ежели наводнить игру по самые немогу уникальными (ну или квазиуникальными) скриптовыми сценками, вот тады да, был бы стойкий положительный эхфехт. А так.... баловство одно имхо |
All times are GMT +3. The time now is 11:00. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Любое использование материалов сайта
возможно только с разрешения его администрации.