![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2961
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
Как определить координату Z точки локации по её X и Y? (Кроме как поставить туда существо и считать его Z.)
|
![]()
Сообщение
#2962
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
В NWNX Funcs есть функция GetGroundHeight() или как-то так.
|
![]()
Сообщение
#2963
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
а без икса никак? Ато плейсы криэйтобджектные иногда в воздухе висят или в землю зарываются. Обошел, конечно, это дело двумя разными способами, но некрасиво с програмерской точки зрения
Сообщение отредактировал Anakondar - Oct 10 2012, 17:22 |
![]()
Сообщение
#2964
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата Ато плейсы криэйтобджектные иногда в воздухе висят или в землю зарываются. Они должны создаваться на земле. Тайлы стандартные? Ибо кривая высота - обычно болезнь кастомных тайлов.
|
![]()
Сообщение
#2965
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
всё стандартное. Расположение задётся через Location
|
![]()
Сообщение
#2966
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
На земле создаются только существа (и айтемы?). Для плейсов, вейпоинтов, магазинов если задаёшь место через lLoc = Location (oArea, vPos, fAngle); а vPos через vPos.x=~; vPos.y=~; то z будет браться 0, если не задавать его отдельно. Приходится задавать.
|
![]()
Сообщение
#2967
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
В 99% случаев что-то создаётся на заранее определённых точках, где не менее заранее был с любовью размещён вейпоинт, от которого берётся GetLocation или как-то так, не помню.
|
![]()
Сообщение
#2968
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
Да, зачастую так и происходит. Но что если тебе нужно разместить что-то в рандомной точке локации? Не в одной из 20и с заранее установленными вейпоинтами, а действительно в рандомной.
Сообщение отредактировал Anakondar - Oct 11 2012, 17:23 |
![]()
Сообщение
#2969
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
1. Нвнх.
2. Поставить на все уровни локации по одному вейпоинту и считывать его вертикаль. 3. Поставить те же 20 вейпоинтов и добавить каждому рандомный радиус. При хитром размещении покроет почти всю локу. А как ты решаешь вопрос непроходимых тайлов? Полный рандом может кинуть на дом или в море. |
![]()
Сообщение
#2970
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
2. А как насчёт непрерывных изменений уровня: трапы, лестницы, подъёмы, склоны, камни на стандартных тайлах, на которых можно стоять?
3. По 20 вейпоинтов на каждой из 400 локаций - эдак у меня вейпоинтов не хватит. Тот способ, который я выше описал, в отличие от NWNXа полностью защищает от попадания в невалидную точку локации. Сообщение отредактировал Anakondar - Oct 11 2012, 18:23 |
![]()
Сообщение
#2971
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
существо
Насколько мне известно в не валидную точку тайла либо не прыгнет, либо прыгнет в максимально близкую валидную к точке прыжка плэйс Ему, вроде, по-барабану, но без заданной z он будет всегда на уровне плоскости, которая отвечает за проходимость/непроходимость на тайле (она бывает иногда ниже видимой части земли тайла) |
![]()
Сообщение
#2972
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
А как не задать Z? Если просто объявлять новую переменную-вектор, то у неёуже будет дефолтовый 0 во все координатах, включая Z. Поэтому все плейсы (вейпоинты, магазины) будут на Z=0 помещаться, если ничего не менять. А если менять, то будут висеть на соответствующей высоте. Иногда это клёво смотрится, когда у тебя над головой висят бабочки, например, или вейпоинты...
С существами правильно. Они всегда в валидную точку прыгают. Поэтому у меня сейчас структура грубо говоря Neverwinter Script lLoc = Location (oArea, vPos, fAngle); Ну плюс ещё несколько проверок на наличие или отсутствие рядом соответствующих объектов
object oObject=CreateObject(OBJECT_TYPE_CREATURE,"null_creature",lLoc); lLoc = GetLocation(oObject); DestroyObject(oObject); CreateObject(OBJECT_TYPE_PLACEABLE,sTag,lLoc); |
![]()
Сообщение
#2973
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Гнусное извращение, которое тебе операцию создания этого несчастного плейса замедлит раз в 10. Лучше NWNX, верь мне.
|
![]()
Сообщение
#2974
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
Ну во-первых, я и написал, что такая конструкция мне не нравится. Во-вторых, как NWNX поможет не оказаться в невалидной точке локации? Ну и в третих, что-то я не нашел тут темы по нему.
|
![]()
Сообщение
#2975
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Помнится, радовала долго одна проблема - при создании лута чара, сумочка оказывалась под землей. Выяснилось, что это из-за кастомной водной плоскости, которой часто любят в лесу закрывать ямы. Она же большая и часть ее находиться под тайлами. Проблема в том, что нвн почему начинает считать z = 0 от нее, если создаваемый плэйс попадает над ней и по идеи должен быть на земле. При рисовании в тулсете, наблюдается тот же эффект.
Сообщение отредактировал Melisse - Oct 11 2012, 20:17 |
![]()
Сообщение
#2976
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Ну во-первых, я и написал, что такая конструкция мне не нравится. Во-вторых, как NWNX поможет не оказаться в невалидной точке локации? Ну и в третих, что-то я не нашел тут темы по нему. Поможет определить высоту волкабельной точки. Если такой нет, GetGroundHeight(), насколько я помню, возвращает какую-то гадость - смотри код. (IMG:style_emoticons/kolobok_light/smile.gif) Тык! |
![]()
Сообщение
#2977
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
Я так понимаю, там только для сервера?
|
![]()
Сообщение
#2978
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
В теории для сингла существуют NWNCX и NWNCX Bridge, но как минимум придётся использовать виндовую сборку NWNX, а как в ней дела обстоят с этой конкретной функцией, я не знаю.
|
![]()
Сообщение
#2979
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
Не, мне в целов всё равно, сервер или нет. Даже стандартные компании я проходил в своё время запуская их на сервере. Использование базы данных меня тоже не смущает. Просто выглядит каким-то не очень универсальным инструмент: при работающих иксе и базе будут возвращаться хорошие значения и быстро, а в ином случае вообще никаких.
|
![]()
Сообщение
#2980
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
База ни при чём, только NWNX и плагин функций.
Современный шардовый модуль без NWNX - это уже неприлично. (IMG:style_emoticons/kolobok_light/rolleyes.gif) |
![]()
Сообщение
#2981
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
На одном из шардов буржуйских встретилась такая тема - ограничение партии 6-10 человек. Это сделано через Nwnx или как-то костылем? Просто интересно.
Сообщение отредактировал Melisse - Oct 25 2012, 15:57 |
![]()
Сообщение
#2982
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Посчитать количество игроков в партии можно, выкинуть из неё - тоже. Некрасиво только, на хб проверку вешать надо. Если запилить событие приёма в партию (не знаю как штатно, но мб нвнх), то ещё удобнее.
|
![]()
Сообщение
#2983
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
У меня так стоит ограничение на кол-во членов отряда от модификатора харизмы лидера. В принципе ничто не мешает сделать типовую проверку и при заходе на новую локацию, но я вот подумал, что хертбит будет лучше, особенно если сделать заглушку, с которой проверяться число сопартийцев будет только у тех, кто лидирует отряды не из одного самого себя.
|
![]()
Сообщение
#2984
|
|
Level 8 ![]() ![]() ![]() Класс: Псионик Характер: Chaotic Neutral Раса: Хафлинг ![]() |
(IMG:http://s1.ipicture.ru/uploads/20121026/joR27O25.jpg)
Кто может подсказать, почему при старте модуля у меня устанавливается месяц 1, день 1? тобишь всегда январь |
![]()
Сообщение
#2985
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
1) Скрипта нет со сменой? Попробуй в онлоад поставить установку даты, раз глючит.
2) А оно надо вообще? (IMG:style_emoticons/kolobok_light/biggrin.gif) Дата в нвн никакого значения не имеет. |
![]() ![]() |
Текстовая версия | Сейчас: 8th July 2025 - 21:37 |