Помощь - Поиск - Пользователи - Календарь
Полная версия: ОДИНОЧНЫЙ ВОПРОС
Город Мастеров > РЕДАКТОРЫ > 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
StasMokos
Добрый день!
Перестал запускаться тест модуля при нажатии F9 в редакторе. Подозреваю, что дело в записи в реестре, ошибка по поводу которой выскакивает каждый раз при запуске редактора. Переустановка игры не помогла (устанавливался Diamond Edition от R.G. Catalyst).
Может быть, дело в винде (стоит убогая восьмерка)?
denis0k
У меня на восьмёрке (в год релиза, лицензия) была DE лицензионная, не от пиратов, всё работало без сообщений об ошибках в реестре. Собсно, нет смысла в пиратской нвн уже давно, носиди добавили с одним из патчей, а ключи любые валидные подходят.

Запускал тулсет от админа? Нвн требует админа.
StasMokos
Ага, запуск от админа помог, спасибо)

Еще вот вопрос...
Сильно ли плохо, если скрипт на вешанье отрицательных эффектов на входе в область работает правильно, но перед этим выдает ошибку по типу "слишком много инструкций"?
denis0k
Это значит, что в результате он вылетает, не доработав совсем до конца. Как правило, это либо слишком большой, либо (что чаще) бесконечный цикл.
StasMokos
Цикл вроде завершается (как мне кажется). Собственно, тут только открытие карты для игрока, запись в журнал, снятие вещей, дающих иммунитет, и наложение самих эффектов. Многовато проверок, да?
(сами функции)
Код
void CheckItem(int iTape, object oPC, object oItem)
{
  itemproperty ipItem = GetFirstItemProperty(oItem);
  while(GetIsItemPropertyValid(ipItem))
  {
    if (iTape ==1)
    if (GetItemPropertyType(ipItem) == ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS)
    {
      if(GetItemPropertySubType(ipItem) == IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN)
        AssignCommand(oPC, ActionUnequipItem(oItem));
    }
    if (iTape ==2)
    if (GetItemPropertyType(ipItem) == IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE)
    ipItem = GetNextItemProperty(oItem);
  }
}

void HandleItems(int iTape, object oTarget)
{
    object oItem;
    oItem = GetItemInSlot(INVENTORY_SLOT_ARMS, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_BELT, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_BOOTS, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_CHEST, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_CLOAK, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_HEAD, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_NECK, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oTarget);
    CheckItem(iTape, oTarget, oItem);
    oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oTarget);
    CheckItem(iTape, oTarget, oItem);
}

void AdvanceDisease(object oEnter)
{
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEAD_NATURE), oEnter);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_IMPLOSION), oEnter);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_NATURE), oEnter);

    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_WISDOM, 5)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_INTELLIGENCE, 5)), oEnter);

    int Str_Ch;
    int Dex_Ch;
    int Cha_Ch;
    int Con_Ch;
    switch (Random(3))
    {
        case 0: Str_Ch = 0; break;
        case 1: Str_Ch = 3; break;
        case 2: Str_Ch = 5; break;
    }
     switch (Random(3))
    {
        case 0: Dex_Ch = 0; break;
        case 1: Dex_Ch = 3; break;
        case 2: Dex_Ch = 5; break;
    }
     switch (Random(3))
    {
        case 0: Cha_Ch = 0; break;
        case 1: Cha_Ch = 3; break;
        case 2: Cha_Ch = 5; break;
    }
     switch (Random(3))
    {
        case 0: Con_Ch = 0; break;
        case 1: Con_Ch = 3; break;
        case 2: Con_Ch = 5; break;
    }
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_STRENGTH, Str_Ch)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_DEXTERITY, Dex_Ch)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_CONSTITUTION, Con_Ch)), oEnter);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect( EffectAbilityDecrease(ABILITY_CHARISMA, Cha_Ch)), oEnter);

    SetLocalInt (oEnter, "Str_Change", Str_Ch);
    SetLocalInt (oEnter, "Dex_Change", Dex_Ch);
    SetLocalInt (oEnter, "Con_Change", Con_Ch);
    SetLocalInt (oEnter, "Cha_Change", Cha_Ch);
    SetLocalInt (oEnter, "Wis_Change", 5);
    SetLocalInt (oEnter, "Int_Change", 5);
}
denis0k
CODE
void CheckItem(int iTape, object oPC, object oItem)
{
itemproperty ipItem = GetFirstItemProperty(oItem);
while(GetIsItemPropertyValid(ipItem))
{
if (iTape ==1)
if (GetItemPropertyType(ipItem) == ITEM_PROPERTY_IMMUNITY_MISCELLANEOUS)
{
if(GetItemPropertySubType(ipItem) == IP_CONST_IMMUNITYMISC_LEVEL_ABIL_DRAIN)
AssignCommand(oPC, ActionUnequipItem(oItem));
}
if (iTape ==2)
if (GetItemPropertyType(ipItem) == IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE)
ipItem = GetNextItemProperty(oItem);
}
}
Я конечно устал и очень хочу спать, но налицо классика программирования smile.gif GetNextItemProperty под условием, не выполняется условие - цикл становится бесконечным. Биоварям стоило такую проверку прямо в компилятор загнать.
StasMokos
Прошу прощения, что трачу ваше время на такие глупости. Действительно, просто не заметила, что эта строка под условие попала.
Cпасибо!)
denis0k
Таки для этого форум и существует smile.gif
NumberOne
Приветствую всех. Сразу к делу:

Можно ли как-то запретить выгонять спутника из отряда кнопкой из радиального меню? Если нельзя, то как можно запустить определенный скрипт, когда игрок все же выкинул спутника через радиальное меню?
greye
Цитата(NumberOne @ Feb 22 2015, 15:19) *
Можно ли как-то запретить выгонять спутника из отряда кнопкой из радиального меню? Если нельзя, то как можно запустить определенный скрипт, когда игрок все же выкинул спутника через радиальное меню?

Никак, насколько мне известно: нативных событий нет, быстрый поиск по nwnx результатов не дал. Можно разве что проверять на хб, состоит ли непись в группе с игроком, и запускать необходимые действия. Очевидно, скорее всего с задержкой в несколько секунд.
NumberOne
Благодарю за ответ.

Ребят... начал баловаться с tlk файлами. Засунул свой тлк в папку tlk и в модуле поставил индивидуальный тлк файл. Но почему-то когда я играл в свой модуль перевод оставался прежним. Как это вообще работает? И для чего тогда, если при распаковке и загрузке в игре модуля перевод не меняется, а должен ли вообще?
Aiwan
В папке оверрайд любой ресурс перебъет модульные хаки и ресурсы нвн в целом. Если в овверайде лежит тлк, то остальные уже не важно где лежат...
NumberOne
А если в оверрайде нет тлк? Что может быть?
denis0k
Я всегда думал, что тлк в овере и не работает smile.gif Это не модульный ресурс, смысл ему там работать. Для перевода всей игры меняется сам dialog.tlk в корне. А тот тлк, что в папке тлк - это чисто для модуля (добавочный), и он начинается не с первой строки, в гайдах можно найти это число, там кажется больше миллиона.
NumberOne
Цитата(denis0k @ Feb 23 2015, 09:04) *
Для перевода всей игры меняется сам dialog.tlk в корне. А тот тлк, что в папке тлк - это чисто для модуля (добавочный), и он начинается не с первой строки, в гайдах можно найти это число, там кажется больше миллиона.


Понятно, я не так слегка понял. Зря размечтался.
NumberOne
Подскажет кто, как прекратить в области дождь? Т.е свести погодный процент в свойствах области к нулю скриптом в игре?
greye
Цитата(NumberOne @ Jun 27 2015, 20:39) *
Подскажет кто, как прекратить в области дождь? Т.е свести погодный процент в свойствах области к нулю скриптом в игре?

SetWeather()
Heather
Доброго всем времени суток. Подскажите, можно ли командой
Neverwinter Script
SetCreatureAppearanceType
поменять внешний вид лошади? Не нашла ее в списке типов внешности в редакторе скриптов. Хочется, чтобы через диалог можно было, например, снять седло или надеть.
Flaristan
Цитата(NumberOne @ Feb 22 2015, 13:19) *
Приветствую всех. Сразу к делу:

Можно ли как-то запретить выгонять спутника из отряда кнопкой из радиального меню? Если нельзя, то как можно запустить определенный скрипт, когда игрок все же выкинул спутника через радиальное меню?
Все команды спутников содержатся в отдельном стандартном НВН-ском скрипте "x0_inc_henai", если ты напишешь кастомный скрипт для своего спутника (или "модернизируешь" стандартный и сохранишь в качестве своего кастомного скрипта) в триггер OnConversation и используешь этот ресурс инклюдом, то сможешь задать спутникам такие параметры, какие сможешь. В том числе запретить выгонять их из группы.
Кроме того, если какое-либо существо было добавлено к игроку в качестве хенчмена командой AddHenchman, и у этого существа отсутствует адекватный скрипт по управлению хенчменом в триггере OnConversation - его по умолчанию вообще не возможно выгнать из отряда (т.к. все команды его радиального меню без такого скрипта просто не будут работать).

Цитата(Heather @ Jul 12 2015, 00:38) *
Подскажите, можно ли командой
Neverwinter Script
SetCreatureAppearanceType
поменять внешний вид лошади? Не нашла ее в списке типов внешности в редакторе скриптов. Хочется, чтобы через диалог можно было, например, снять седло или надеть.
Можно. Вся трудность состоит в том, что в окне свойств создания аппеаренсы обозначены словесным описанием и негде посмотреть их таги (если они вообще есть), однако все они имеют
Neverwinter Script
int nAppearanceType
т.е. свой номер.
Так например:
Neverwinter Script
SetCreatureAppearanceType(OBJECT_SELF, 522);
= "Лошадь пегая".
Neverwinter Script
SetCreatureAppearanceType(OBJECT_SELF, 523);
= "Лошадь пегая, оседланная".
Neverwinter Script
SetCreatureAppearanceType(OBJECT_SELF, 524);
= "Лошадь пегая, оседланная, навьюченная".
Тоже делал у себя в модуле такую фичу с поклажей - экспериментальным путем нашел эти аппеаренсы, дальше не искал. Можешь поэкспериментировать с цифрами и найти вариации для других мастей (сделай модуль с рычагом который меняет стоящему рядом неписю апеаренс, произнося его номер вслух).
denis0k
Очевидно, эти номера в appearance.2da.
Heather
denis0k, спасибо! я сама этот 2.da файл ковыряла, но не догадалась вводить цифры, пыталась текст вбивать. Со сменой внешнего вида будет куда удобнее, нежели убирать одну модель и телепортировать другую))) Пасиба еще раз)
NumberOne
Вот сижу я дом и сижу, да тут как приспичит мне что-нибудь скачать для баловства в тулсете, тайлы например, захожу и что не ссылка - то непонятная страница на ваулте, где окромя ереси и нет ничего. Это что, получается, все потеряно, капут? Как быть, столько тайлов интересных качал с этого форума, а сейчас ссылки в бездну ведут...
Aiwan
Да, валут переехал.
denis0k
Переехал - это сильно сказано. Атари (или игн, кто там рулил хз) не парились с сохранением контента и просто закрыли сайт. То, что сейчас есть, слили и выложили энтузиасты, там имхо лишь малая доля.
Melisse
Да, мало того они я так понимаю даже не предупредили о закрытии. Просто в один прекрасный день ваулт перестал работать.
Радует то что большая часть качественных ресурсов сохранилась. Остальное - потеряно навсегда или лежит у кого-то мертвым грузом.
Не могу понять кому потребовалось 5гб сносить, лежали бы уж...
denis0k
Предупреждение с полгода минимум висело, а то и год. Просто всем пофиг на самом деле smile.gif И я думаю там больше юридический вопрос, чем экономический.
NumberOne
Обращаюсь ко всем жителям города: если у кого-то есть дополнение к стандартному биоваревскому тайлсету леса в виде возможности строить замки, как в тайлсете города, просьба мне написать.

P.S Перерыл ваулт, не нашел...
denis0k
Лес + город ни разу не видел, хотя тоже перерыл много чего на оригинальном волте. Rural+city было несколько версий, с лесом как-то обошло smile.gif
NumberOne
Там не совсем лес + город. Добавляется лишь один замок. Ничего городского больше нет. Так же есть возможность строить эти замки в сельской местности, rural.

Даже ссылку нашел, откуда качал когда-то: http://www.city-of-masters.ru/forums/index...ost&p=31055

Четвертый пост лекса, третья строчка "Замок среди дикой природы"...

Эх...
Heather
NumberOne, а что-то наподобие не подойдет? мне этот тайлсет очень нравится
Medieval
NumberOne
Слишком хорош. В моем случае нужна лишь стандартная моделька биоваревских замков city только для forest...

А еще слегка баговат этот тайлсет. А еще не убираются объекты при повороте камеры, а меня это жутко раздражает.
Flaristan
А чем тебя не устраивают стандартные тайлы 1.69 для "наружной части замка": там есть и деревья типа лес и собсно замок?
NumberOne
Всем, абсолютно. Во-первых, не скрываются элементы, когда поворачивается камера, во-вторых, слегка тормозит, в третьих, мне нужен биоваревский лес, с деревьями в высоту с несколькиэтажным домом (суть модуля такая).
Flaristan
Большие деревья есть отдельными плейсеблами в 1.69 палитре, в разделе природных объектов - в принципе можно нарисовать красивый лес или его кусок вокруг замка самостоятельно. А локацию разбить на несколько, если это принципиально (сам замок с рядом стоящими "большими деревьями" + локация(и) леса ее предворяющие/окружающие).

Почему-то большинство мододелов гонится за "красотой" и "оригинальностью" в своих модулях в виде хаков, что ИМХО для такой игрушки, как НВН1 просто бесполезно. Она морально устарела в плане графики еще лет 5 назад и это никакими хаками не исправить. Зато у игры есть куча других преимуществ упор на которые легко можно сделать вместо "красивой" и "оригинальной" графики, придя к подобным вышеописанному компромиссам. scratch_one-s_head.gif

PS: Я б РПГ-игры тут сравнил с хорошей книжкой: какие бы красивые иллюстрации к ней ты не делал - суть книги все равно останется в ее текстовом содержании.
denis0k
Ну конкретно ты можешь играть хоть в текстовые квесты smile.gif
Flaristan
Конкретно я уж как-нибудь сам решу во что я могу играть. smile.gif

А РПГ из аналогии с книгой - ролевая игра, на первый план в ней должна выходить не графика а ролевая составляющая.
denis0k
Если бы большинству не нужна была графика, мы бы все играли в текстовые квесты. Однако, это не так. Если бы у биоварей были попрямее руки, и кричи не застревали на сложных тайлах, тайлсеты были бы ещё круче.
NumberOne
Цитата(Flaristan @ Aug 15 2015, 04:27) *
Почему-то большинство мододелов гонится за "красотой" и "оригинальностью" в своих модулях в виде хаков, что ИМХО для такой игрушки, как НВН1 просто бесполезно. Она морально устарела в плане графики еще лет 5 назад и это никакими хаками не исправить. Зато у игры есть куча других преимуществ упор на которые легко можно сделать вместо "красивой" и "оригинальной" графики, придя к подобным вышеописанному компромиссам.


Ты совершенно прав, именно поэтому я хочу использовать СТАНДАРТНЫЙ биоваревский замок, только в лесном массиве. А насчет деревьея я скажу все тоже - эти деревья неимоверно тормозят мой комп и все так же мешают обзору камеры, что очень печалит, ибо они довольно хорошо вписываются.

Ах да, тот хак весил по-моему не более 2 мегабайт.
Flaristan
Цитата(denis0k @ Aug 16 2015, 08:22) *
Если бы большинству нужна была графика, мы бы все давно играли только в новые игры, а не НВН. Однако, это не так.
fxd smile.gif
С тайлами вообще никаких проблем не вижу - научите АИ ваших мобов выбираться из любых текстур и все будет ок. Если не нравится нагрузка на сервер от скриптов - просто поставьте заглушку дающую застрявшим мобам волшебного пенделя (не так красиво, зато компромисс).
Вообще продвинутый уровень модинга в НВН позволяет не с нуля профессионально заняться геймдевом и тупо создать свою команду разработчиков и игру, если уж вам как то творение биоварей не нравится. Никто ж не держит.
Графика это конечно хорошо, но я повторюсь - она не главное. И это кстати доказывает и история, потому как видеоигры в жанре адвенчур (из которых появился жанр РПГ) и начинали как раз в виде текстовых игр, а не аркад. РПГ должна давать игроку нечто большее, чем просто мир с псевдофизическими законами и красивой графикой, если делать это не получается - лучше заняться творчеством в жанре экшена. Там это как раз главное.

Цитата(NumberOne @ Aug 16 2015, 09:49) *
Ты совершенно прав, именно поэтому я хочу использовать СТАНДАРТНЫЙ биоваревский замок, только в лесном массиве. А насчет деревьея я скажу все тоже - эти деревья неимоверно тормозят мой комп и все так же мешают обзору камеры, что очень печалит, ибо они довольно хорошо вписываются.

Ах да, тот хак весил по-моему не более 2 мегабайт.
Без понятия где достать такой хак (всегда предпочитал обходиться в принципе без них).

Из 1.69 деревьев там вроде только ивы тормознутые, но их можно починить, если потыкать в свойствх плейсеблов галочку на "сюжет" вместо "статика" (почему-то у всех новых 1.69 моделек плейсеблов слетает галочка "статик" в свойствах даже если ее выставлять вручную). Если тормозят остальные деревья - могу только посоветовать купить новый комп или скачать менее глючный НВН.
Обзор камеры - это да, но можно приспособиться понижая в игре угол камеры ближе к земле и приближая ее к персонажу (у меня в модуле есть такой лес - так даже более атмосферно бегать в нем, переключаясь больше на 1 лицо от 3).
На счет замка могу только еще предложить поизвращаться в таком духе:..
NumberOne
Неплохие скрины. У автора хорошо голова работает в плане мапинга. Главное не переборщить, а то чрезмерное использование таких объектов вызывает ощущение костыля.

Вообще я подумываю уже самому создать такой хак. Буду изучать как создавать свои тайлсеты - там надо-то, совсем ничего: перенести модельку замка в лес и дать ей текстуры подножья соответствующие.

Эм... сразу вопрос появился, чему открыть mdl и itp файлы? Блонкнот их не берет, либо берет настолько криво, что сделать что-то не возможно.
Flaristan
Это я тебе грубо и приблизительно накидал экстерьер возможного замка в лесу, как это могло бы выглядеть без помощи всяких хаков. smile.gif
Есть несколько приемов в редакторе которыми вполне можно обойтись для воплощения практически совершенно любой задумки в тулсете:
- нарезка тайлов с последующим сокрытием швов плейсеблами;
- рисование плейсеблами;
- модифицирование ландшафта эффектами тайлов;
- включение фантазии.
К примеру на этой локации можно еще окружить импровизированный замок обрывом и поставить "дверь на мост" через него ко входу, а затем залить обрыв талом воды с нужной высотой и получится классический замковый ров, наполненный водой. Собсно числу извращений с этими приемами нет предела. smile.gif Ощущение костылей не будет возникать в любом случае, если локация будет проработана деталями и иметь целостную композицию. Впервые я увидел такой творческий подход к маппингу на Arelith'е и с тех пор твердо решил, что хаки мне тоже никак не понадобятся. prankster2.gif Использую его в своем модуле постоянно так что, играя в него, у вас не будет постоянно возникать ощущение избитости встреченных карт (чего только стоит к примеру лес овер 8х8 всего из двух видов деревьев посаженный так, чтоб не вызывать ощущения 8-битной игры или стереокартинки - все деревья тщательно рассажены с разным вектором и на разную высоту smile.gif). Чего и всем советую (включать воображение и творческое мышление, а не хаки).

PS: Вот к примеру несколько скринов моих локаций сделанных не на скорую руку...







denis0k
Цитата
Если бы большинству нужна была графика, мы бы все давно играли только в новые игры, а не НВН.
Открой глаза, все и играют в новые игры smile.gif Тут пишет три калеки, из них полторы - про ведьмаки и драгон эйджи smile.gif
Цитата
С тайлами вообще никаких проблем не вижу - научите АИ ваших мобов выбираться из любых текстур и все будет ок.
1) Естественно ты не видишь, у тебя же нет хаков smile.gif
2) Быстро и в бою это нереально, застревание можно понять только со временем.
3) Игроки в них тоже застревают. Иногда создаваемый лут создаётся под землёй. Это мало играбельно в принципе. На волте завались тайлов по сотне мб, но их оценивали походу по скриншотам, т.к. проблемы у всех одни и те же - поиск пути и застревания. Даже на стандартных тайлах нвн тупит и при обилии плейсов ведёт чара совсем не по короткому пути, именно поэтому никто массово плейсами "в продакшене" и не маппит, оно красиво конечно, но создаёт больше проблем, чем решает. Особенно, если модуль не сингл.
Цитата
Эм... сразу вопрос появился, чему открыть mdl и itp файлы? Блонкнот их не берет, либо берет настолько криво, что сделать что-то не возможно.
Все редакторы когда-то были на волте smile.gif
NumberOne
Цитата(Flaristan @ Aug 17 2015, 08:30) *
Все редакторы когда-то были на волте


Зшбс, блин...
Flaristan
Ну прям уж, и ты и я периодически играем/модим в НВН1, и NumberOne вон походу тоже, так что не надо прям так сгущать краски. smile.gif Еслиб НВН не была нам интересна, мы б сюда не заходили даже.

То, что у меня нет хаков, совершенно не значит, что я никогда не испытывал проблем с застреванием в тайлах/текстурах.
Вот к примеру этот НПС на скрине, в соответствии с установками своего АИ и задумке, должен уметь ПСЖ выйти из этого заставленного плейсеблами закутка и полечить соседнего НПС-стража, который в соответствии с установками своего АИ должен бродить туда сюда неподалеку и выслеживать мнимых врагов.

Причем после того, как страж полечиться, НПС должен вернуться на свое место. Задача практически не выполнимая путем следования из точки А в точку Б из-за сложности рельефа + обстоятельства требовали того, чтоб эти НПС могли проделывать аналогичную функцию в произвольной местности. Пришлось писать цикл "вездехода" - написал, работает успешно. smile.gif

Вышеозвученная задача для того НПС и подразумевает действия в бою (страж бьет врагов, ремонтники бегают за ним и лечат себя и стража). "Вездеход" у крыс к примеру написан в еще более реактивной формации - они способны осиливать сложные лабиринты в текстурах в течении 1-3 раундов (все без всяких "рокетджампов" есно).

То что игроки застревают - этого везде хватает с хаками или без... Ну тут уж ничего не поделать, да и прошаренные игроки знают все способы как можно вылезти.
retriever
У меня такой вопрос.
Есть модуль (РП). В модуле ДОФИГА локаций (70 с чем-то), многие из них заставлены плейсеблами очень так конкретно.
Используются хакпаки d20modern, CEP 2.4 + несколько моих (там, в основном, музыка и патчи для предотвращения перекрытия ресурсов из существующих хакпаков)
Решаю импортировать в него еще 4 локации из другого модуля (по хакпакам там все более-менее совместимо, хотя создавались эти локации в версии CEP 2.3 или 2.2, кажется)

Так вот, сам по себе этот другой модуль запускается без проблем.
Если я выкидываю из текущего модуля все локации вообще и вставляю только эти 4 локации, все тоже работает.
А вот если я добавляю локации в существующий модуль, то при заходе в игру крашится сервер.
Причем крашится, даже если я вставляю только одну локацию из 4-х и выкидываю после импорта из нее вообще все, оставляя только тайлы.

Есть ли у кого-то опыт лечения подобных вещей? Может, есть какой-то патч или утилиты, позволяющие отыскать причину?
denis0k
Ну 70 - это далеко не дофига smile.gif А как импортируешь? Через меню тулсета, собирая erf с кучей попутного дерьма?

Я не спец по локациям, но предложил бы два варианта:
1) Толстый. Перерисовать заново с нуля самому, их всего 4.
2) Тонкий. Создать в модуле локации с аналогичными ресрефами, а потом напрямую подменить файлы в temp0. В ситуации без конфликта хаков я так делал постоянно, импорт-экспорт в нвн изврат.
Melisse
Цитата
У меня такой вопрос.
Есть модуль (РП). В модуле ДОФИГА локаций (70 с чем-то), многие из них заставлены плейсеблами очень так конкретно.
Используются хакпаки d20modern, CEP 2.4 + несколько моих (там, в основном, музыка и патчи для предотвращения перекрытия ресурсов из существующих хакпаков)
Решаю импортировать в него еще 4 локации из другого модуля (по хакпакам там все более-менее совместимо, хотя создавались эти локации в версии CEP 2.3 или 2.2, кажется)

Так вот, сам по себе этот другой модуль запускается без проблем.
Если я выкидываю из текущего модуля все локации вообще и вставляю только эти 4 локации, все тоже работает.
А вот если я добавляю локации в существующий модуль, то при заходе в игру крашится сервер.
Причем крашится, даже если я вставляю только одну локацию из 4-х и выкидываю после импорта из нее вообще все, оставляя только тайлы.

Есть ли у кого-то опыт лечения подобных вещей? Может, есть какой-то патч или утилиты, позволяющие отыскать причину?


1.
Это, возможно, проблема совмещения версий СЕР или битые локации.
Если проблема в СЕР, то нужно методом тыка изучить какие тайлы/плэйсы/существа крашат
Если проблема в битых файлах локации тут только перерисовать заново

2.
Если как выразился denis0k ты не правильно экспортировал - то могло экспортнуться куча всякого овна в .erf в виде левых скриптов, структур gff и подобного... В данном случае сервер будет крашиться, без сомнения
Iceberg
Товарищи. Есть такая идея, реализации в своем модуле системы фракций по типу дарк соулса. С присоединением к определенным фракциям, репы у них и различным плюшкам за выполнение различных квестов/действий. Как примерно это можно реализовать и можно ли?
Melisse
Сделай существ с фракциями и уникальными тэгами, поставь в закрытой локации.
После этого через цикл пробегаешь по нужным фракциям и сдвигаешь репу относительно игрока через AjustReputation ... что то такое -я уже не помню как называется функция и все.
Desan
Добрый вечер!!! нашел один скрипт для респавна мобов как в ММОРПГ MMORPG Style Respawner
Код
#include "NW_I0_GENERIC"

void VoidCreateObject(string sTemplate, location lLoc, int bUseAppearAnimation=TRUE);
void main()
{


float fSeconds = 600.0; //monster spawn time
string sTemplate = GetTag(OBJECT_SELF);
string sWayPointPrefix = "WP_";
string sCurrentWaypoint = sWayPointPrefix + sTemplate;
location lLoca = GetLocation(GetObjectByTag (sCurrentWaypoint));


if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}


{
SetIsDestroyable(TRUE);
AssignCommand(GetObjectByTag("SpawnWalk"), DelayCommand(fSeconds, VoidCreateObject(sTemplate,lLoca, TRUE)));
}

}

void VoidCreateObject(string sTemplate, location lLoca, int bUseAppearAnimation=TRUE)
{
CreateObject(OBJECT_TYPE_CREATURE, sTemplate,lLoca,TRUE);
}

//****************

Скрипт вставляется в OnDeath, если в краце то создается моб с тегом и вайпоинт тоже с тегом тем же.Когда моб умерает то должен сработать скрипт.Но почему то не срабатывает.Помогите знатоки что не так
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.