Помощь - Поиск - Пользователи - Календарь
Полная версия: ОДИНОЧНЫЙ ВОПРОС
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
denis0k
Дрова на видео скорее всего. Старой игре - старое окружение.
stsl
Здравствуйте, уважаемые форумчане, если кто заходит сюда, вобщем появился один вопрос, скорее даже трабла. Скачал на днях нвн, решил поностальгировать и что-нибудь намутить в редакторе, чисто для души, даже кеп неполенился скачал, но вот загвоздка возникла, в редакторе самом все норм, а в игре не отображаются отредактированные неписи, только из стандартной палитры. Все остальные объекты нормально отображаются а неписей как-будто вообще нет, словно я их и не ставил, то есть дело не в модельках даже а вообще непонятно в чем. Думал дело в кепе вначале, но нет, без хаков то же самое. Мб кто сталкивался с такой бедой и знает как поправить дело?)
Flaristan
Не норм там все в редакторе самом – он должен ошибку выдавать про класс пурпурного дракона в 2da. На такие вещи нужно обращать внимание и использовать поиск – если дело в этом, ответ на сей вопрос тут постился уже дважды:..
Цитата(Flaristan @ Aug 1 2012, 11:13) *
У меня та же проблема была с патчем 1.69 (в патчах более ранней версии ее нет).
Решение так же уже постилось тут, так что на выбор – либо решение, либо просто использовать редактор более ранней версии и играть модули на 1.69.
denis0k
1. Посмотреть ещё и папку оверрайд и поудалять оттуда всё лишнее.
2. Давныым-давнооо, когда я запускал нвн на линуксе, из-за кривого видеодрайвера не рисовались неписи при какой-то из включённых опций в настройках графики.
stsl
Благодарю, замена dialog.tlk решила проблему, да и перевод более привычный теперь
justshurik
Народ, такая проблема:
есть некая сумка bag, в этой сумке находятся несколько предметов. при этом точно такие же предметы могут находиться просто в инвентаре игрока. Нужно определить количество предметов четко заданного образца(по resref или тагу) именно в этой сумке. предметы вне сумки, но находящиеся в инвентаре игрока не учитывать.
Ilerien
Если память не гуляет на стороне, то достаточно в цикле пробежать Get(First|Next)ItemInventory(), скармливая функциям объект-сумку.
justshurik
QUOTE (Ilerien @ Sep 12 2012, 23:54) *
Если память не гуляет на стороне, то достаточно в цикле пробежать Get(First|Next)ItemInventory(), скармливая функциям объект-сумку.

точно1 как я сам не догадался до этого..ппц 2 дня убил. Спасибо Илериен =)
Anakondar
Есть идеи как реализовать добавление в инвентарь пустой бутылки после выпивания зелий?

А, всё, сделал.
Anakondar
А есть какая-нибудь удобная читалка для fpt-файлов?
Anakondar
Как определить координату Z точки локации по её X и Y? (Кроме как поставить туда существо и считать его Z.)
Ilerien
В NWNX Funcs есть функция GetGroundHeight() или как-то так.
Anakondar
а без икса никак? Ато плейсы криэйтобджектные иногда в воздухе висят или в землю зарываются. Обошел, конечно, это дело двумя разными способами, но некрасиво с програмерской точки зрения
denis0k
Цитата
Ато плейсы криэйтобджектные иногда в воздухе висят или в землю зарываются.
Они должны создаваться на земле. Тайлы стандартные? Ибо кривая высота - обычно болезнь кастомных тайлов.
Anakondar
всё стандартное. Расположение задётся через Location
Anakondar
На земле создаются только существа (и айтемы?). Для плейсов, вейпоинтов, магазинов если задаёшь место через lLoc = Location (oArea, vPos, fAngle); а vPos через vPos.x=~; vPos.y=~; то z будет браться 0, если не задавать его отдельно. Приходится задавать.
denis0k
В 99% случаев что-то создаётся на заранее определённых точках, где не менее заранее был с любовью размещён вейпоинт, от которого берётся GetLocation или как-то так, не помню.
Anakondar
Да, зачастую так и происходит. Но что если тебе нужно разместить что-то в рандомной точке локации? Не в одной из 20и с заранее установленными вейпоинтами, а действительно в рандомной.
denis0k
1. Нвнх.
2. Поставить на все уровни локации по одному вейпоинту и считывать его вертикаль.
3. Поставить те же 20 вейпоинтов и добавить каждому рандомный радиус. При хитром размещении покроет почти всю локу.

А как ты решаешь вопрос непроходимых тайлов? Полный рандом может кинуть на дом или в море.
Anakondar
2. А как насчёт непрерывных изменений уровня: трапы, лестницы, подъёмы, склоны, камни на стандартных тайлах, на которых можно стоять?

3. По 20 вейпоинтов на каждой из 400 локаций - эдак у меня вейпоинтов не хватит.

Тот способ, который я выше описал, в отличие от NWNXа полностью защищает от попадания в невалидную точку локации.
Melisse
существо
Насколько мне известно в не валидную точку тайла либо не прыгнет, либо прыгнет в максимально близкую валидную к точке прыжка

плэйс
Ему, вроде, по-барабану, но без заданной z он будет всегда на уровне плоскости, которая отвечает за проходимость/непроходимость на тайле (она бывает иногда ниже видимой части земли тайла)
Anakondar
А как не задать 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);
Ну плюс ещё несколько проверок на наличие или отсутствие рядом соответствующих объектов
Ilerien
Гнусное извращение, которое тебе операцию создания этого несчастного плейса замедлит раз в 10. Лучше NWNX, верь мне.
Anakondar
Ну во-первых, я и написал, что такая конструкция мне не нравится. Во-вторых, как NWNX поможет не оказаться в невалидной точке локации? Ну и в третих, что-то я не нашел тут темы по нему.
Melisse
Помнится, радовала долго одна проблема - при создании лута чара, сумочка оказывалась под землей. Выяснилось, что это из-за кастомной водной плоскости, которой часто любят в лесу закрывать ямы. Она же большая и часть ее находиться под тайлами. Проблема в том, что нвн почему начинает считать z = 0 от нее, если создаваемый плэйс попадает над ней и по идеи должен быть на земле. При рисовании в тулсете, наблюдается тот же эффект.
Ilerien
Цитата(Anakondar @ Oct 11 2012, 20:13) *
Ну во-первых, я и написал, что такая конструкция мне не нравится. Во-вторых, как NWNX поможет не оказаться в невалидной точке локации? Ну и в третих, что-то я не нашел тут темы по нему.

Поможет определить высоту волкабельной точки. Если такой нет, GetGroundHeight(), насколько я помню, возвращает какую-то гадость - смотри код. smile.gif
Тык!
Anakondar
Я так понимаю, там только для сервера?
Ilerien
В теории для сингла существуют NWNCX и NWNCX Bridge, но как минимум придётся использовать виндовую сборку NWNX, а как в ней дела обстоят с этой конкретной функцией, я не знаю.
Anakondar
Не, мне в целов всё равно, сервер или нет. Даже стандартные компании я проходил в своё время запуская их на сервере. Использование базы данных меня тоже не смущает. Просто выглядит каким-то не очень универсальным инструмент: при работающих иксе и базе будут возвращаться хорошие значения и быстро, а в ином случае вообще никаких.
Ilerien
База ни при чём, только NWNX и плагин функций.
Современный шардовый модуль без NWNX - это уже неприлично. rolleyes.gif
Melisse
На одном из шардов буржуйских встретилась такая тема - ограничение партии 6-10 человек. Это сделано через Nwnx или как-то костылем? Просто интересно.
denis0k
Посчитать количество игроков в партии можно, выкинуть из неё - тоже. Некрасиво только, на хб проверку вешать надо. Если запилить событие приёма в партию (не знаю как штатно, но мб нвнх), то ещё удобнее.
Flaristan
У меня так стоит ограничение на кол-во членов отряда от модификатора харизмы лидера. В принципе ничто не мешает сделать типовую проверку и при заходе на новую локацию, но я вот подумал, что хертбит будет лучше, особенно если сделать заглушку, с которой проверяться число сопартийцев будет только у тех, кто лидирует отряды не из одного самого себя.
PaiNt


Кто может подсказать, почему при старте модуля у меня устанавливается месяц 1, день 1? тобишь всегда январь
denis0k
1) Скрипта нет со сменой? Попробуй в онлоад поставить установку даты, раз глючит.
2) А оно надо вообще? biggrin.gif Дата в нвн никакого значения не имеет.
Melisse
У меня подобное было, когда происходила смена скриптово года, месяца и дня. Почему-то не может быть меньше того, что задано в настройках модуля как исходное.

А у вас больше похоже на глюк, может быть если ничего не поможет - перенос всех ресурсов модуля в новый модуль исправит проблему. Так бывает иногда, даже престает открываться или запускаться (это финал) smile.gif
PaiNt
Цитата(denis0k @ Oct 26 2012, 07:56) *
1) Скрипта нет со сменой? Попробуй в онлоад поставить установку даты, раз глючит.
2) А оно надо вообще? biggrin.gif Дата в нвн никакого значения не имеет.

1. Я пробовал. скрипт ничего не меняет sad.gif
2. Надо, т.к. в модуле установлена система погоды http://nwvault.ign.com/View.php?view=Scrip...ail&id=2541
но я думал она из настроек модуля значения должна брать?

попробую по совету Melisse выставить 1 месяц и скриптом установить больший, потом отпишусь

========добавлено
1. Выставил месяц 1. скриптом при загрузке модуля через 10 с поставил дату 9 месяц след года. ноль эффекта
2. Создал новый модуль, поставил дату в настройках модуля - все правильно установилось в игре. Заимпортил ресурсы из первого модуля - все опять 1 мес. январь.

Часы(всмысле время дня) ни там не там не ломается- то что в настройках то и в игре.

Варинт 1 - баг.
Варинат 2 - где-то в моих ресурсах криво отрабатывает "SetCalendar()"
Варинат 3 - хз )
denis0k
Копай тогда скрипты, что-то где-то не так.
Melisse
Возможно, где-то в скрипте у вас 2 раза происходит установка календарной даты

Это вот в вашей системе смены погоды такое есть
Neverwinter Script
//::///////////////////////////////////////////////
//:: Sample On Module Load Script
//:: mod_onmoduleload
//:: Copyright © 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    This is a sample script showing how to set up
    the module load script to use the weather
    system.
*/

//:://////////////////////////////////////////////
//:: Created By: MJ
//:: Created On: 12/30/04
//:://////////////////////////////////////////////

#include "weather_inc"
#include "area_inc"

void main()
{
// Set Calendar
    int nDay = 1; <----- вот он ваш 1 день smile.gif
    int nMonth = 1;  <----- вот он ваш 1 месяц smile.gif
    int nYear = 1380;

    SetCalendar(nYear, nMonth, nDay);

// Initialize Area List
    InitializeAreaList();

// Global Weather Script
    SetGlobalWeather();
}
Rewazer
Цитата
На одном из шардов буржуйских встретилась такая тема - ограничение партии 6-10 человек. Это сделано через Nwnx или как-то костылем? Просто интересно.
отключать опыт, не давать ачивки, респить тараску если народа в партии больше N человек
PaiNt
Цитата(Melisse @ Oct 26 2012, 18:04) *
Возможно, где-то в скрипте у вас 2 раза происходит установка календарной даты

Это вот в вашей системе смены погоды такое есть
Neverwinter Script
//::///////////////////////////////////////////////

void main()
{
// Set Calendar
    int nDay = 1; <----- вот он ваш 1 день smile.gif
    int nMonth = 1;  <----- вот он ваш 1 месяц smile.gif
    int nYear = 1380;

    SetCalendar(nYear, nMonth, nDay);

}


good.gif yahoo.gif angel.gif

спасибо, действительно глупый недосмотр smile.gif
Flaristan
Поэтому скрипты лучше самому писать. smile.gif
PaiNt
Цитата(Flaristan @ Oct 28 2012, 02:53) *
Поэтому скрипты лучше самому писать. smile.gif

зато в моем модуле есть законченая система погоды и ДМ-ка tease.gif
denis0k
Особенность 99% русских проектов - "я сама", т.к. смысл не в законченном продукте, а в процессе самовыражения и самоудовлетворения. Поэтому, к примеру, в 2006м на скачанном модуле нордока уже были крафт, стопицот локаций, пвп, наёмники, квесты и все прочие прелести, а на геме2 в городах неписей не было и спавны через раз работали smile.gif

Если бы не невозможность тогда купить лицензию большинством, у нас бы в принципе никто не играл smile.gif
Flaristan
Такой вопрос если кто знает: что отрицательного в НВН делает оглушение (глухота)?
Насколько я знаю движок НВН, глухота даже на врага дает в основном только бонусы ему – например иммунитет к звуковому урону, проклинающей песне и насмешке. Но по идее этот эффект помещается на определенный ряд арсенала в игре который должен вредить врагу, а не помогать. Так что же такого «вредного» она делает??
Rewazer
вроде еще колдовать не дает, не уверен т.к. это мог быть местный фикс
Flaristan
Колдовать не дает сайленс/тишина, если заклинания имеют вербальный компанент. А вот глухота колдовать не мешала никогда без специфических фиксов (по идее и не должна – глухой говорить же может).
edwardkz
Как ни противно, вынужден согласится с Флером, не дает колдовать сайленс. Скорее всего снимаются не только отрицательные, но и положительные эффекты с песенки, алсо листен возможно режется.
Ilerien
Автоматический провал проверок на слух и 20% провала тайных заклинаний.
Вика.
Flaristan
«Исключая неподвижные заклинания» - получается глухота действует как 20% обуза от доспехов, оригинально. о_О
А этот штраф суммируется с насмешкой? (тогда громоподобная ярость варвара в купе с его же насмешкой по идее приобретает смысл против арканов…)

И еще параллельно тогда такой вопрос: в описании ужасающей ярости варвара говорится, что ДЦ на страх берется от значения навыка запугивания – на практике я проверял оно вообще какое-то левое. Так есть смысл повышать варвару запугивание выше 25 для боевки?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.