![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#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 |
![]()
Сообщение
#76
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
Есть, но кастрированные. Функции, работающие с listen pattern'ами. Я их юзать перестал после появления onPlayerChat эвента. Вообще обобщая все это восхищаешься какие крючечки в свое время, очень давнее, стремились сделать в нвн, поидее.. если помечтать можно было замутить крутые семантитеские движки которые могли бы воспринимать слова, фразы с разными формами и сочетаниями, как яндекс.. |
![]()
Сообщение
#77
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Ну как бы даже профессионалы в области лингвистики ещё не изобрели бота, которого человек в разговоре воспринимал бы как настоящего человека. Была однажды статья на хабре, что некие студенты спутали некого супербота с человеком, но, во-первых, то были программеры, а подобные задроты и переписываются по алгоритмам, сами напоминая ботов, а во-вторых, случай был единичный и стабильного повторения не вызвал (т.е. эксперимент провален).
Варианты создания более менее свободных диалогов в играх тоже как-то не увенчались успехом. Наверно потому, что работают такие системы на базах данных, содержащих тысячи слов и бессчётное множество вариантов их применения, и такая бд будет больше самой игры имхо (IMG:style_emoticons/kolobok_light/smile.gif) По крайней мере в плане трудозатрат точно. К тому же, такую игру уже не локализуешь, отдельный язык - отдельная полноценная база. Максимум, что видел - это возможность ввести слово-два в заранее заготовленных диалогах (вроде в фоллауте было) и слова-теги, которые добавляются в базу знаний персонажа и на которые у неписей есть реплики (система диалогов морровинда). Самое амбициозное на эту тему, что я слышал в кругах нвн, - парсер чата, автоматически определяющий отыгрыш и выдающий за каждую "ролевую" фразу опыт. Какое счастье, что это не реализовали, когда я играл. |
![]()
Сообщение
#78
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
Вообще еще подобная система (гибридная по сравнению с мором (хотя и там втречались варианты диалогов)) была в Wizardry 8
Самое амбициозное на эту тему, что я слышал в кругах нвн, - парсер чата, автоматически определяющий отыгрыш и выдающий за каждую "ролевую" фразу опыт. Какое счастье, что это не реализовали, когда я играл. У Вируса одно время же была система РП-индекса, котороая судя по всему в в общем расчете тоже подобную часть учитывала. |
![]()
Сообщение
#79
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
По-моему она просто считала отношение времени проведенного персонажем в игре к режиму боя. (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#80
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
Галка Left Lootable Corpse очень странно влияет на набор опций SetIsDestroyble(). Изначально у непися срабатывают выставленные опции, но стоит загрузить сейв модуля (!), и все декоративно-умершие NPC превращаются в ограбляемые трупы. Причем у меня еще и перестали работать скрипты оживления этих декоративно-умерших. Целый час времени убил, пока нашел проблему =/
|
![]()
Сообщение
#81
|
|
Level 1 Класс: Оборотень Характер: Chaotic Neutral Раса: Человек ![]() |
Доброго времени суток, подскажите пожалуйста, очень нужна помощь по вопросу.
При играх на шардах при отмене превращения формы или сразу переход из одной формы в другую (класс оборотень) появляется микролаг (вся игра фризится). Длительностью от 0.5 до 2 сек. Можете пожалуйста сказать, с чем это может быть связано? Записал видео даже - https://youtu.be/XHa12SvMI4U. Почему я думаю, что дело в скриптах, потому что на одном из шардов такое не наблюдается вообще (на всех остальных всегда есть микролаг, в одиночной, разумеется лага нету). Вне зависимоти от пинга. Есть доступ к модулю, но не знаю куда копать. Помогите плиз, куда копать. |
![]()
Сообщение
#82
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Это не совсем скрипты, скрипты на сервере, а это клиент виснет. Графический лаг на смене формы - это недозагруженные анимации как правило, но лагать должно всего один раз для каждой новой формы. Должно по крайней мере, кажется кони не у всех работали гладко, а там тот же полиморф.
Если есть возможность сравнить модули, то надо смотреть: - скрипт входа игрока (лошади из 1.69 там как раз делают прелоад анимации) - он в свойствах модуля - скрипт полиморфа (его придётся поискать в ресурсах, он скорее всего шаблона x1_s?_*, x1 - первый аддон, шифтер вроде оттуда, s0/s1/s2 - спеллы и абилки) - хаки, может там кастомные модели или кастомные анимации |
![]()
Сообщение
#83
|
|
Level 1 Класс: Оборотень Характер: Chaotic Neutral Раса: Человек ![]() |
Большое спасибо, что ответили. Шард без хаков. Теперь понятно. На том шарде где раньше играл, там лошадей не было. А на этом есть. Получается прикол в них. А можно как-нибудь обмануть систему эту?
Чтобы на шарде не лагало (доступа к модулю нет, где лошади работают), т.е. что-нибудь сделать с клиентом, с анимациями? Получается, если логически думать, если лагает, то анимация с сервера каждый раз грузится? И клиент не при чём? Подскажите пожалуйста, есть ли какие-нибудь идеи, что можно сделать с клиентом? На том шарде, где нет лошадей, от них админы отказывались, говорили, что много проблем с ними. Теперь ясно. Благодарю за помощь. |
![]()
Сообщение
#84
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Хм... Сайт иногда перестаёт грузиться, мог ответить на пару дней раньше.
Загрузка имеется в виду в память с диска, а не с сервера. Там с лошадьми хак простой - на входе (пока ещё не отрисовалась первая локация) скрипт быстро ставит вид лошади, а потом обычный. С полиморфом такой фокус вряд ли сработает, т.к. все формы перебрать мне не представляется возможным. Да и лагать должно только один раз на форму даже без дозагрузки, а не постоянно. Рекомендую опросить других игроков, мб проблема чисто на клиенте. Насколько я помню, лошади у некоторых всё равно лагали, от компа зависит. Нвн вообще сильно от железа зависим. А ещё раньше была беда с вылетами при атаке из невидимости, и тоже проблема была в анимации, лечилось заменой на старую, до 2-го аддона. |
![]()
Сообщение
#85
|
|
Level 1 Класс: Оборотень Характер: Chaotic Neutral Раса: Человек ![]() |
Интересно, что админ шарда не смог вообще никак воспроизвести мою проблему и закрыл тикет, заявиви что это не баг нвн. При чем у него на лаптопе древней чем мой комп (п4) идёт вообще без лагов. У него лицензия на нвн. Получается проблема не в железе, и не в скриптах нвн или анимациях. Но, почему эе тогда когда рядом со мной лошадь, то лага вообще нет. Упоротый админ. Я ему всё расписал, а он всё равно говорит, что не при делах.
|
![]() ![]() |
Текстовая версия | Сейчас: 7th July 2025 - 07:38 |