Помощь - Поиск - Пользователи - Календарь
Полная версия: Одиночный вопрос
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights 2 Obsidian Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
Griffon
Если ты располагал ВП по кругу, то НПС и должен ходить 1,2,3,4,1,2,3,4. Для того чтобы менять направление на рандомное есть скрипт:
Neverwinter Script
#include "ginc_wp"

void main()
{
int iCurrentWP = GetCurrentWaypoint();// the waypoint we just arrived at
int iNextWP = iCurrentWP+1;
if (iCurrentWP>4)
iNextWP = 1;
SetNextWaypoint(iNextWP);
}


Ставится на хартбит НПС.


priest
Цитата(Griffon @ Jul 29 2008, 15:15) *
Если ты располагал ВП по кругу, то НПС и должен ходить 1,2,3,4,1,2,3,4.

хм, ты уверен? У меня вот как waypoint'ы расположены:


и все равно она ходит 1-2-3-4-3-2-1-2-3-4-3-2-1...

может я как-то не так их расставил? если можешь - дай пожалуйста свой скрин с расположением waypoint'ов, позволяющим зациклить ходьбу NPC.

Скрипт, устанавливаемый на "on heartbeat" хорош для одного NPC... а если у меня их 50-60? и в каждом раунде это будет обрабатываться? а в модуле ведь помимо этих и другие скрипты есть.

Интересно, а можно реализовать как-нибудь так: создается скрипт с названием wp_<npctag>, и в нем уже прописывается что, мол, с последнего waypoint'а NPC должен идти на первый, а не на предпоследний? И вот таким образом зациклить waypoint'ы.
Griffon
У тебя три ВП! Как она может ходить 1,2,3,4????? И не надо их замыкать в треугольник она сама пойдет по 1,2,3,1,2,3......

Цитата(priest @ Jul 29 2008, 18:29) *
Скрипт, устанавливаемый на "on heartbeat" хорош для одного NPC... а если у меня их 50-60? и в каждом раунде это будет обрабатываться? а в модуле ведь помимо этих и другие скрипты есть.

ничего страшного они ж не все пойдут рандомно
priest
Цитата(Griffon @ Jul 29 2008, 21:39) *
У тебя три ВП! Как она может ходить 1,2,3,4????? И не надо их замыкать в треугольник она сама пойдет по 1,2,3,1,2,3......
не-не-не! Там где она стоит, не один вейпоинт, а два! У них просто координаты абсолютно одинаковые!


по алгебре у мну трояк был, но считать до четырех я умею crazy.gif еее
к тому же между последним и первым waypoint'aми белых стрелочек не бывает!


Цитата(Griffon @ Jul 29 2008, 21:39) *
ничего страшного они ж не все пойдут рандомно
Да не в том дело, я читал, что если в моде много NPC со скриптом в "on heartbeat script", то просчет в каждом раунде скриптов для каждого NPC систему нагружает сильно. Это правда? Просто мне уже нужно первую локацию модуля заселять, а вдруг я сделаю - а потом тормоза сплошняком будут. Я же убьюсь переделывать sad.gif
Armor Darks
у тебя четвертый вэйпоинт лишний, если он стоит внутри стартового вэйпоинта. Возможно он и приводит к неправильной последовательности. Попробуй просто убрать его, тогда достигнув 3 вэйпоинт нпс пойдет к стартовому, создавая таким обрязом треугольник.
priest
Цитата(Armor Darks @ Jul 30 2008, 15:46) *
у тебя четвертый вэйпоинт лишний, если он стоит внутри стартового вэйпоинта. Возможно он и приводит к неправильной последовательности. Попробуй просто убрать его, тогда достигнув 3 вэйпоинт нпс пойдет к стартовому, создавая таким обрязом треугольник.

фигушки... сами смотрите.

Так что насчет моего предыдущего вопроса, "on heartbeat" скрипты перегружают систему при просчете, если в модуле много NPC?
Armor Darks
К сожелению не могу взглянуть лично, поскольку я забил на нвн2 и всем, что связано с ним больше года назад и, соответственно, клиента нвн2 у меня попросто не осталось. От ныне нвн1 во веки веков pilot.gif =)
priest
ыыы жаль smile.gif но все равно спасибо что пытался помочь
ага уже трое скачавших, может завтра кто и даст ответы...
Lex
Цитата(priest @ Jul 29 2008, 23:30) *
Да не в том дело, я читал, что если в моде много NPC со скриптом в "on heartbeat script", то просчет в каждом раунде скриптов для каждого NPC систему нагружает сильно. Это правда? Просто мне уже нужно первую локацию модуля заселять, а вдруг я сделаю - а потом тормоза сплошняком будут. Я же убьюсь переделывать

сильно грузят систему корявые и не оптимизированные скрипты, особенно если они стоят в ХБ.
Чтобы он ходил по кругу, а не туда-сюда, нужно переписать WalkWayPoints. Делается скриптерами это для себя довольно часто, кто-то вроде бы выкладывал такое в базу скриптов НВН1. Можно взять оттуда. Можно переписать Walk и самому (заодно оптимизировав его, если этого еще не сделали Обси. Ибо исходный код Биотварей малек тяжеловат и легко потдается упрощению и облегчению)
priest
Цитата(Lex @ Jul 31 2008, 21:17) *
Чтобы он ходил по кругу, а не туда-сюда, нужно переписать WalkWayPoints. Делается скриптерами это для себя довольно часто, кто-то вроде бы выкладывал такое в базу скриптов НВН1. Можно взять оттуда. Можно переписать Walk и самому

Ну а гайда как переписать WalkWayPoints или чего-то в этом роде не существует? Просто этот т.н. скриптинг для меня вновинку, у меня голова кругом идет уже от половины прочитанной странички тьютора по скриптингу на вики. Вообще я с незначительным скриптованием пересекался когда под half-life 1 и 2 маппил, но тут же просто кошмар, я не понимаю как вы в этом разбираетесь. scratch_one-s_head.gif Может просто поначалу тяжело.
gennady
Цитата(Lex @ Jul 31 2008, 21:17) *
Чтобы он ходил по кругу, а не туда-сюда, нужно переписать WalkWayPoints. Делается скриптерами это для себя довольно часто, кто-то вроде бы выкладывал такое в базу скриптов НВН1. Можно взять оттуда. Можно переписать Walk и самому (заодно оптимизировав его, если этого еще не сделали Обси. Ибо исходный код Биотварей малек тяжеловат и легко потдается упрощению и облегчению)
Весь WalkWayPoints в моде переписывать с круговым движением нельзя! НПС не с круговым движением будут тыкаться по углам, как слепые котята... (т.е. с последней точки щемиться на первую) И вообще, эта функция запускается не только с ХБ, поэтому нужен комплексный подход... Если уж нужно запустить НПС по кругу, то проще сделать для этого другую функцию и почистить у него скрипты запускающие WalkWayPoints. Или перевести НПС на точки ходьбы с другими тегами...

Помниться кто-то открыл отдельную тему по WalkWayPoints, но правда для 1 Невера (но я вижу, что мало что изменилось...) Можно глянуть там, что к чему, я писал свою функцию для сингла WalkWayPoints, можно оттуда выдрать круговую ходьбу, удалив обратный цикл подсчета точек.
priest
Вопрос.
У меня на локации есть npc, тэг: npc1, есть стул, тэг: chair1.
Мне нужно, чтобы npc подошел к стулу и сел, я пишу скрипт и ставлю его у npc на on spawn in script:
void main()
{
object oNpc = GetObjectByTag("npc1");
object oChair = GetObjectByTag("chair1");
ActionMoveToObject(oChair);
ActionDoCommand(ActionSit(oChair));
}


npc подходит к стулу, начинает садиться на него, но тут же прерывается и тупо возле стула стоит. Что я не так делаю?
Zirrex
priest, если уж скрипт висит на НПС, то какой смысл запрашивать его тэг таким способом?
Neverwinter Script
object oNpc = GetObjectByTag("npc1");

Достаточно сделать так:
Neverwinter Script
object oNpc = OBJECT_SELF;

Попробуй использовать такой скрипт:
Neverwinter Script
void main()
{
// AI скрипт
...
// скрипт посадки НПС на стул
    object oChair = GetObjectByTag("chair1");
    float fDistance = GetDistanceToObject(oChair);

    AssignCommand(oPC, ClearAllActions(TRUE));

    if (fDistance > 0.0)
        AssignCommand(oPC, ActionMoveToObject(oChair, FALSE, fDistance));
    DelayCommand(fDistance, AssignCommand(oPC, ActionSit(oChair)));
}

Только есть одна мелкая деталь. НПС не сидят снова на стул, если с ним поговорить. Лучше подобный скрипт вешать на хартбит существа, и делать проверку с помощью переменной или проверки действия НПС, сидит ли НПС или нет.
priest
Вопрос по объекту static camera. В диалогах я его научился использовать, а как сделать, чтобы камера некоторое время показывала просто игровую область - т.е. чтобы работала не в диалоге и не фокусировалась на персонаже?
Griffon
Самое простое изменить задержку. Если же тебе нужно определенный ракурс, то поставить свою камеру и направить куда тебе надо или используй user defined фокус камеры, правда там всего три опции.
priest
Цитата(Griffon @ Aug 15 2008, 09:40) *
Самое простое изменить задержку. Если же тебе нужно определенный ракурс, то поставить свою камеру и направить куда тебе надо или используй user defined фокус камеры, правда там всего три опции.

А поподробнее можешь описать? Я просто не пойму, как это должно работать - тоже в диалоге, что ли?
Celestial
Коллеги, помогите, пожалуйста, с созданием вещей для шарда Балдурс Гейт:

1. Делаем броню "Подарок Ночи":
Необходимо на броню повесить постоянный эффект окутанности тенями: как при выпритии бутылочки Death Armor.
Как это сделать?

2. Делаем мечь "Лаликор":
Мечь по сеттингу - разговаривающий.
Как сделать так чтобы он при ударе по врангу с 20% вероятностью произносил фразу (текст всплывать должен) случайно выбранную из некого набора?
А так же как следать так, чтобы с ним отдельно можно было поговорить, как с НПС?

3. Делаем щит "Щит Балдурана":
По сеттингу он дает иммунитет к атакам Бехолдеров.
Как сделать так, чтобы щит давал иммунитет к магии и магическому дамаджу именно от бехолдеров?

4. Делаем щит... забыл название:
По сеттингу он отражает заклинания обратно на кастующего. Как это реализовать?

Заранее спасибо.
azathoth
"Не знаю, как там у вас, а у нас..." (с) Неизвестный Разработчик на НВН1

Цитата
1. Делаем броню "Подарок Ночи"

посмотрите в скрипт этой самой Death Armor (в нвн1 она зовётся "X2_S0_DthArm.nss", вроде скрипты из первой части перенесли "как есть"), там будет наложение визуального эффекта, что-то типа:
Neverwinter Script
effect eDur = EffectVisualEffect(463);

вот его и надо использовать... в онЭквип модудя или скрипт ещё по умолчанию запускается типа "i_+тэг предмета+еq" (опять же, не помню точно)... правда как снимать - непонятно, можно поставить псевдоцикл проверки на "надетость предмета", а эффект длительностью 5-10 сек, если броня надета - подновлять, нет - так нет.

Цитата
2. Делаем мечь "Лаликор":

выкрики - смотрите в сторону On Hit \ On Hit Cast Spell, разговор - Cast Spell, поредактировав .2da, можно добиться чтобы это выглядело естественно. Разговоры с оружием в ХотУ разработчики сделали через создание рядом невидимого нпц с видимым мечом в руке, пропадающего после разговора, но можно вроде игрока разговаривать и с самим собой.
А если пять ударов в раунд - То выкрики каждый раунд получатся: "Этот раунд боя спонсирован Церковью Тора" blum3.gif

Цитата
3. Делаем щит "Щит Балдурана":

иммунитета от определённой расы вроде бы нет. пути решения:
а) если у бихолдера ассортимент ограчичен только специальными Лучами Смерти \ Любви, то можно использовать EffectSpellImmunity.
б) можно попробовать использовать спеллхуки, если они остались - "x2_inc_spellhook" в помощь. Если вкратце - то там задаётся в начале функцией SetModuleOverrideSpellscript(string sScriptName) где нибудь при старте модуля скрипт, который будет исполняться при касте любого спелла, и в нём уже можно делать всякие штуки с проверками.

Цитата
4. Делаем щит... забыл название:

малой кровью - не знаю как, в принципе спеллхуком можно отменить, GetSpellId() - выяснить, что за спел и в .2да к нему заглянуть через Get2DAString() - а вдруг площадное, и если в обратку кинуть - цикл бесконечный, а вот что дальше с ним делать - зх. невидимым монстром ActionCastSpellAtObject(...)?
А вообще - имба.

вобщем, в указаных вещах везде - гимор. pardon.gif
Griffon
Цитата(priest @ Aug 15 2008, 17:10) *
А поподробнее можешь описать? Я просто не пойму, как это должно работать - тоже в диалоге, что ли?

Да, это все делается в редакторе диалогов - закладка срока текста (node)
Lorendroll
Все верно сказал azathoth.
Хочу только добавить что выкрики на мече можно сделать оверрайдом, заменив оригинальный скрипт стоящий на OnDamaged неписей (не дома сейчас поэтому не помню названия) скриптом с инициированием рандомного FloatingText на атакующем, экипированным данным мечом...
А разговор с мечом проще всего сделать через "Use Item Special Power"... Позже могу написать пример.
Celestial
Цитата
Позже могу написать пример

Буду благодарен.
Lorendroll
Создаешь скрипт, название которого i_item_ac где item - тег того айтема который активируешь. На айтеме ставь каст спела "Activate Object".
В скрипте пишешь:
Neverwinter Script
void main()
{
object oPC = GetItemActivator();
AssignCommand(oPC, ActionStartConversation(oPC, "dialog")); //где dialog - название диалога для разговора
}

Все просто.
Celestial
Спасибо, дружище!
Tristar
Еще раз по подробней, пожалуйста, как решить эту задачу (по возможности без редактирования 2да):?

Цитата
2. Делаем мечь "Лаликор":
Мечь по сеттингу - разговаривающий.
Как сделать так чтобы он при ударе по врангу с 20% вероятностью произносил фразу (текст всплывать должен) случайно выбранную из некого набора?
Lorendroll
Tristar, мне видится пока только один путь решения:
В скрипте NW_C2_DEFAULTD пиши следующее:

Neverwinter Script
void main()
{
    int nEvent = GetUserDefinedEventNumber();
    int iPercentage = 20;
   
    switch( nEvent )
    {   
       case EVENT_DAMAGED:
       {
          object oDamager = GetLastDamager();
          if (GetIsPC(oDamager) && GetTag(GetLastWeaponUsed(oDamager)) == "lalikor_sword")
          {
             if (d100() <= iPercentage)
             {
                switch (d10())
                {
                   case 1: FloatingTextStringOnCreature("1", oDamager); break;
                   case 2: FloatingTextStringOnCreature("2", oDamager); break;
                   case 3: FloatingTextStringOnCreature("3", oDamager); break;
                   case 4: FloatingTextStringOnCreature("4", oDamager); break;
                   case 5: FloatingTextStringOnCreature("5", oDamager); break;
                   case 6: FloatingTextStringOnCreature("6", oDamager); break;
                   case 7: FloatingTextStringOnCreature("7", oDamager); break;
                   case 8: FloatingTextStringOnCreature("8", oDamager); break;
                   case 9: FloatingTextStringOnCreature("9", oDamager); break;
                   case 10: FloatingTextStringOnCreature("10", oDamager); break;
                }
             }
          }
          break;
       }
    }   
}


Где iPercentage - процент наступления этого события, "lalikor_sword" - тег говорящего меча, а "1", "2", "3" в case'е - строки которые будут случайным образом всплывать над атакующим.
Lex
ээ.. лучше всетаки события меча обрабатывать. см example.nss, там шаблон-обработчик вроде бы 6 событий, среди них и onHit.
Tristar
Лекс, опиши, пожалуйста, детально, как это сделать и чем данный вариан оптимальней, предложенного Лорендролом?
Lex
ну чем оптимальней - видно сразу. Меньшее число "холостых" запусков скрипта. По подробнее - чуть позже, сейчас очень не до НВН.
Lorendroll
Я смог обнаружить только следующие стандартные эвенты:
Neverwinter Script
const int X2_ITEM_EVENT_ACTIVATE         = 0;
const int X2_ITEM_EVENT_EQUIP             = 1;
const int X2_ITEM_EVENT_UNEQUIP         = 2;
const int X2_ITEM_EVENT_ONHITCAST         = 3;
const int X2_ITEM_EVENT_ACQUIRE         = 4;
const int X2_ITEM_EVENT_UNACQUIRE         = 5;
const int X2_ITEM_EVENT_SPELLCAST_AT     = 6;

azathoth
Они нужны были в нвн1, т.к. там все "айтемовые эвенты" запускали один и тот же скрипт под названием "<Item Tag>", в котором требовалось проверить - "а что произошло-то?"

В нвн2 же нужно добавлять соотвествующий эвенту постфикс:
i_<Item Tag>_ac - скрипт на активацию предмета
i_<Item Tag>_aq - скрипт на взятие предмета
i_<Item Tag>_ua - скрипт на выбрасывание/потерю предмета
i_<Item Tag>_eq - скрипт на одевание предмета
i_<Item Tag>_ue - скрипт на снятие предмета

Естественно скрипт надо ещё заставить запускаться - так что нужна "активация" - свойство On Hit Cast Spell : Unique Power.
Lorendroll
azathoth, ах да! Ну разумеется, можно добавить каст-спелл-он-хит! Дырявая моя бошка. Я просто думал над этим скриптом с корсытной целью изобразить поломку вещей на своем шарде prankster2.gif А ежели это будет уникальный меч, то конечно можно просто засунуть в i_<Item Tag>_ac
Neverwinter Script
object oDamager = GetLastUsedBy();
int iPercentage = 20;

if (d100() <= iPercentage)
            {
                switch (d10())
                {
                  case 1: FloatingTextStringOnCreature("1", oDamager); break;
                  case 2: FloatingTextStringOnCreature("2", oDamager); break;
                  case 3: FloatingTextStringOnCreature("3", oDamager); break;
                  case 4: FloatingTextStringOnCreature("4", oDamager); break;
                  case 5: FloatingTextStringOnCreature("5", oDamager); break;
                  case 6: FloatingTextStringOnCreature("6", oDamager); break;
                  case 7: FloatingTextStringOnCreature("7", oDamager); break;
                  case 8: FloatingTextStringOnCreature("8", oDamager); break;
                  case 9: FloatingTextStringOnCreature("9", oDamager); break;
                  case 10: FloatingTextStringOnCreature("10", oDamager); break;
                }
            }

Вроде как то так
virusman
Цитата(Lorendroll @ Aug 28 2008, 15:10) *
Neverwinter Script
object oDamager = GetLastUsedBy();
int iPercentage = 20;

if (d100() <= iPercentage)
             {
                switch (d10())
                {
                   case 1: FloatingTextStringOnCreature("1", oDamager); break;
                   case 2: FloatingTextStringOnCreature("2", oDamager); break;
                   case 3: FloatingTextStringOnCreature("3", oDamager); break;
                   case 4: FloatingTextStringOnCreature("4", oDamager); break;
                   case 5: FloatingTextStringOnCreature("5", oDamager); break;
                   case 6: FloatingTextStringOnCreature("6", oDamager); break;
                   case 7: FloatingTextStringOnCreature("7", oDamager); break;
                   case 8: FloatingTextStringOnCreature("8", oDamager); break;
                   case 9: FloatingTextStringOnCreature("9", oDamager); break;
                   case 10: FloatingTextStringOnCreature("10", oDamager); break;
                }
             }
lol.gif
Armor Darks
спецефический черный юмор программистов? оО
azathoth
примеры смешны с точки зрения кода biggrin.gif

в реализации же, я надеюсь, будет что-то типа такого:
Neverwinter Script
if (GetRacialType(oTarget) == RACIAL_TYPE_GOBLIN)
{
    SpeakString("В топку гоблинов. Го на орков!");
}

Цитата
Я просто думал над этим скриптом с корсытной целью изобразить поломку вещей на своем шарде

в этом случае советую смотреть в сторону того же On Hit Cast Spell, только создать кастомный спелл в 2да (или отредактировать тот самый Unique Power, если хаки не дозволены), который и будет обрабатывать поломку (и не только wink3.gif ... к тому же будет ещё и обрабатываться атака плейсов и прочих адамантиновых дверей) Только у меня были глюки в нвн1 с одновременной атакой оружием в обоих руках, нвн2 по этому поводу не тестировал.
Lorendroll
azathoth, и придется каждому вэпону вручную задавать свойство OnHitCastSpell:UniquePower? Я хотел бы этого избежать...
Tristar
Скрипт сделал.
Поставил свойство Каст Спел Он хит: Юник Пауа.

Не работает - сообщения не выдаются (
Lorendroll
Проверил, действительно не работает. Надо заменить object oDamager = OBJECT_SELF;
Lex
вопросы по переводу переехали сюда: http://www.city-of-masters.ru/forums/index...mp;#entry121098
Ёжик
Кто знает как сохранить группу предметов в виде Prefabs? "Экспортировать группу" конечно получается, но вот импортнуть её потом в модуль - нет, у кого получалось, подскажиет плз.

Разобралась:

Сначла ПКМ-Group, потом ПКМ- Export group, сохраняем, заркываем тулс. И лёгким движением мышки преносим нашу группу из папки Prefabs в папку Override. Открываем тулс. Ура, группа на месте - в палитре Prefabs!
ZipovUA
to VitNWN2

-------
4.Как сделать так чтобы в зависимости от твоего решения(в диалоге) определённый персонаж присоединился к твоей команде?
-------

на диалоге вешаешь команду addHencmen

Описание увидишь в редакторе. Там не сложно.

P.S. админам: извините, случайно ответил на старый вопрос. пост можно удалять.
Stobor
День(вечер) добрый.
Не поможете ли:

1) в созданной локации есть овраг, через него положил мост. Как сделать, чтобы перс мог идти по мосту? На данный момент герой бежит сквозь мост (и в случае если мост объект как размещаемый, и если он элемент окружения)
2) не смог найти как же задавать патрулирование: вэйпойнты созданы, на Wiki написано, что их нужно указать в скриптах, но где в свойствах НПС такой скрипт - не нашел. Если же задавать нужно не свойствах НПС, то как сделать, чтобы одни персонажи ходили (например, стража), а другие на эти вэйпойнты не реагировали.
3) где и как задавать получаемый опыт
- за убийства (чтоб зависел от разницы уровней героя и монстра)
- за взлом замков и разоружение ловушек
(если как и в квестах нужно запускать скрипт ga_give_xp, то где его указывать?)

заранее спасибо.
Griffon
Цитата(Stobor @ Oct 6 2008, 13:53) *
1) в созданной локации есть овраг, через него положил мост. Как сделать, чтобы перс мог идти по мосту? На данный момент герой бежит сквозь мост (и в случае если мост объект как размещаемый, и если он элемент окружения)

Сделай овраг непроходимым (non-walkable)
Stobor
уточняю вопрос про ХР за взлом замков и разоружение ловушек: вариант задания ХР с помощью скрипта, как описано в Wiki это единственный (или лучший) вариант?

Griffon
Спасибо. У меня non-walk был настроен с начала оврага, а мост начинался чуть раньше. Подровнял до края моста и все заработало.
Griffon
Stobor, не за что. Есть еще полезная штука в плейсах - помощник проходимости (walkmesh helper). С его помощью так же можно решать такие вопросы - только нужно правильно выставить размер и расположение помощника и ставить его чуть-чуть выше.
Можешь смело использовать данный код, т.к. его писали мастера скриптинга. Если, что-то выкладывается в вики, то это уже проверенный материал.
Celestial
ENCOUNTERS

Создали в палитре мобов и НПСов. Хочу добавить их на шард через encounters.

Научите, пожалуйста, КАК ДЕЛАТЬ ENCOUNTERS?
Или помогите ссылкой на инструкцию....
Griffon
Celestial, вот тебе 4 страницы туториалов. http://nwvault.ign.com/View.php?view=nwn2t...ow_days_back=10

Если будет мало, то есть еще официальный форум. Используй поиск и получишь тучу советов.
DarkPhoenix
Скажите пожалуйста какая функция отвечает за изменение цвета глаз (чтоб они светились там красным или зеленым).
Melshin
Визуальный эффект.
DarkPhoenix
Еще один вопросик - где то год назад видел ссылку на "пустые" звуки для диалогов, а теперь найти не могу sad.gif может кто знает ссыль?
deltaone
Наткнулся на скрипт торговца - некорректно работает под NWN2:SoZ (NWN2 и NWN2:MotB все ок), вернее работает, только на функции N2_AppraiseOpenStore убираются все вещи из инвентаря (даже из контейнеров) и потом добавляются назад - что делать подскажите пожалуйста ...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.