![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#51
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Может я ошибаюсь конечно, но помоему скриптом можно шкурку повесить и на место "укуса"??
|
![]()
Сообщение
#52
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Получается, что вешать переменные на нее бессмысленно? (раз она уничтожается и дается по новой или, что то не так понял?) Это надо подробнее смотреть скрипты биоварей, насколько я помню, шкурка эта, если есть в слоте, то не убивается. Я рекомендую просто локалку X3_NO_SHAPESHIFT_SPELL_CHECK на модуле выставить в 1. Если лошади в модуле не используются, то этого должно хватить (IMG:style_emoticons/kolobok_light/smile.gif) Цитата Может я ошибаюсь конечно, но помоему скриптом можно шкурку повесить и на место "укуса"?? Не налезет.
Сообщение отредактировал Ilerien - Dec 22 2008, 21:57 |
![]()
Сообщение
#53
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Цитата Не налезет. А если в 2da создать отдельный вид шкурки и в параметре слота указать ... ну вообщем я не помню какая это цифра, но "укус" (IMG:style_emoticons/kolobok_light/declare.gif) ??? |
![]()
Сообщение
#54
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Да можно хоть саму шкурку изменить в 2да, чтобы налезала, только надо учесть, что итемы в этим слотах используются в качестве природного оружия существа. Сам никогда не пробовал этим заниматься, надо тестить (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#55
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Цитата итемы в этим слотах используются в качестве природного оружия существа В смысле свойства, которые будут вешаться через редактор будут такие-же как для "укуса"?? Если да, то это ненужная трата времени( |
![]()
Сообщение
#56
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Полуэльф ![]() |
Народ, никто не подбросит идею, как сделать расписание по часам для мобов? Я знаю, что эта тема уже поднималась, но найти не смог...
|
![]()
Сообщение
#57
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
http://nwnmod.narod.ru/stat_anim_npc2.htm
вместо рандомного выбора ActionSet будет функция, которая на основе времени и каких-либо еще параметров будет этот ActionSet выбирать. Собсна эта функция и будет расписанием. совет: Если все действия выполняет на 1 локации - проблем нет. Если же нужно чтобы ночью ходил домой и тд - советую не заморачиваться с "честным" движением домой, ибо в последних версиях НВН этот механизм переработали и он стал какой-то кривой. Лучше этот эффект эмулировать, телепортируя домой нужных НПС, когда игрока нет на карте. Если игрок в этот момент дома у НПС, можно НПС кидать к двери, имитируя приход. Если же игрок в другом месте - смело кидай НПС куда нужно. |
![]()
Сообщение
#58
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Полуэльф ![]() |
Спасибо!=)
|
![]()
Сообщение
#59
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Забавная вещь, при использовании действия ActionMoveToObject, если персонаж начинает движение без присутствия игрока на локации, он не ищет путь от точки а к точке б, а идет... Оо... напролом. Потом застревает, судя по логам и минусовой координате по оси высоты в его векторе, к примеру, в тайле с деревом. Сначала хотел использовать проверку, есть ли игрок на локации, потом телепортировать NPC, вместо того, чтобы его двигать. Но потом решил просто модифицировать скрипт WalkToWaypoint. Не буду его выкладывать, по скольку модифицирован он для моих нужд
Так будет полезно знать, что если вы захотите, чтобы внезапно какой нить нписюшник, далеко от игрока, захотел сходить за пивом, нужно либо немножко поломать голову, либо сделать так, чтобы на его пути не было препятствий) |
![]()
Сообщение
#60
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
А ActionForceMoveToObject не спасает?
|
![]()
Сообщение
#61
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Зачем что-то делать без игрока на локации? В этой ситуации все скрипты должны останавливаться, иначе это напрасная трата ресурсов и, при расширении модуля, кандидат на лаги. Либо запоминать позицию, либо сразу телепортировать, но без игрока аи должен быть выключен, ибо десяток таких "живых" локаций - и привет тормозам.
|
![]()
Сообщение
#62
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Вирусман говорит что вырубается аи в локах, где нет игрока.
А, кстати, нпс и вправду плохо ищут путь, если в пределах экрана нет игрока, грубо говоря игрок на них не смотрит) Мне кажется тут происходит глюк с тайлсетовской walkmesh и pwk у плэйсов, по идеи они должны накладыватсья и общитываться, где не проходимые, а на самом деле часто очень глючат. Сообщение отредактировал Melisse - Oct 21 2011, 16:45 |
![]()
Сообщение
#63
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Зачем что-то делать без игрока на локации? В этой ситуации все скрипты должны останавливаться, иначе это напрасная трата ресурсов и, при расширении модуля, кандидат на лаги. Либо запоминать позицию, либо сразу телепортировать, но без игрока аи должен быть выключен, ибо десяток таких "живых" локаций - и привет тормозам. Конечно я проверил ForceMoveToObject. Десяток таких локаций не тормозят - проверено. Тормозят неграмотно сделанные циклы, и прочая нечисть. Зачем что то делать? Мне нужно чтобы нпсюшник двигался, и относительно времени оказывался на определенной точке, а игрок может войти в любой момент. Мне же не надо этот скрипт на всех вешать. Я поэтому и выложил сюда во всякого рода фишки, так как этот баг показался мне занятным. Вектор выдает во время столкновения объекта с препятствием минусовую координату. по оси z |
![]()
Сообщение
#64
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Мне нужно чтобы нпсюшник двигался, и относительно времени оказывался на определенной точке, а игрок может войти в любой момент. Так и посчитай эту точку на входе игрока, не трогай непися в отсутствие человека. Сообщение отредактировал greye - Oct 21 2011, 18:27 |
![]()
Сообщение
#65
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата Вирусман говорит что вырубается аи в локах, где нет игрока. Там в скриптах стоит заглушка - если игроков нет, то сразу return. Но события-то типа перцепшена, хб и прочих всё равно срабатывают и запускают свои скрипты, хоть они сразу и выходят.Цитата Мне нужно чтобы нпсюшник двигался, и относительно времени оказывался на определенной точке, а игрок может войти в любой момент. Поясняя мысль greye, могу добавить, что для этого достаточно скорость умножить на время. Как в 5м классе (IMG:style_emoticons/kolobok_light/smile.gif) Более того, если пофилософствовать, тут по сути нпс Шрёдингера (IMG:style_emoticons/kolobok_light/smile.gif) Игрока в локе нет, а значит он не может однозначно утверждать, где он должен быть при его входе и будет ли вообще (IMG:style_emoticons/kolobok_light/smile.gif) Что как бы делает возможным вариант пихать их хоть рандомно, на общую картину не особо повлияет.
|
![]()
Сообщение
#66
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Поясняя мысль greye, могу добавить, что для этого достаточно скорость умножить на время.
Об этом тоже думал. А если координата попадет на, например, воду? Или нписюшник в доме застрянет? Ну не, рандомно - это не наш метод) В общем, вычисляю путь виртуально, если падает под землю - смещаю на соседний тайл и вытаскиваю. Сойдет -___- Если падает при респауне* |
![]()
Сообщение
#67
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Если хочется так уж подробно смоделировать. В каждом доступном тайле на пути поставить по вейпоинту, пронумеровав их по порядку и примерно соблюдая дистанцию. Засечь, сколько времени нпс идёт между точками. Посчитать, сколько в локации не было игрока и при его заходе высчитать, сколько тайлов прошёл нпс и, стало быть, куда его кидать.
|
![]()
Сообщение
#68
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Об этом тоже думал. А если координата попадет на, например, воду? Или нписюшник в доме застрянет? Биовари были не глупыми: почти все операции с расположением объектов ищут свободное место в радиусе 20.0 (2 тайла) от точки. Конечно, не очень приятно, если постоянно будет проводиться такой поиск, если вблизи нет подходящих точек, но в среднем терпимо. Сообщение отредактировал greye - Oct 21 2011, 19:52 |
![]()
Сообщение
#69
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Если хочется так уж подробно смоделировать. В каждом доступном тайле на пути поставить по вейпоинту, пронумеровав их по порядку и примерно соблюдая дистанцию. Засечь, сколько времени нпс идёт между точками. Посчитать, сколько в локации не было игрока и при его заходе высчитать, сколько тайлов прошёл нпс и, стало быть, куда его кидать. У меня то же самое по сути, только объектов меньше для этого нужно) высчитывается относительно скорости и времени путь, затем считаю локацию относительно последнего пройденного вейпоинта. Все равно я этим биоварем не доверяю... вдруг баг всплывет. Двойная проверка не будет лишней) |
![]()
Сообщение
#70
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
У одного меня так работает или это известная фича? Нет ли в ней известных багов?
Для некоторых видов кравта использую "врЕменные" айтемы, созданные копиобджектом на инвалид локейшен, а затем этим же скриптом дестроятся. И не нужно придумывать каких-нибудь невидимых, недоступнтых или расположенных в скрытых областях контейнеров. Сообщение отредактировал Anakondar - Nov 29 2011, 23:55 |
![]()
Сообщение
#71
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Ну работает, значит работает (IMG:style_emoticons/kolobok_light/smile.gif) Просто лично мне не приходила в голову идея крафта, где надо применять временные итемы. Только при смене внешнего вида доспеха, но там для наглядности его всё равно надо было на персонаже держать, невидимых контейнеров а-ля фоллаут не было.
|
![]()
Сообщение
#72
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Может быть, знакомая многим, но все же
string stext = "Я упала с самосвала\n"; +stext = "Тормозила\n"; +stext = "Головой\n"; Выглядеть будет визуально в чате или в описание вещи так: Я упала с самосвала Тормозила Головой т.е. \n - это перенос строки типа Enter при печати в блокноте мне долго была не известна эта фишка =) |
![]()
Сообщение
#73
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
А еще помойму в нвнСкрипт есть регулярные выражения но я правда, как не старался в этом не разобрался - и забил.
|
![]()
Сообщение
#74
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Это стандартный символ переноса строки. У меня в нвн он кстати не работал, по крайней мере в районе патча этак 1.64.
|
![]()
Сообщение
#75
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата А еще помойму в нвнСкрипт есть регулярные выражения но я правда, как не старался в этом не разобрался - и забил. Есть, но кастрированные. Функции, работающие с listen pattern'ами. Я их юзать перестал после появления onPlayerChat эвента.
Сообщение отредактировал Ilerien - Dec 11 2011, 13:54 |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 01:13 |