Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )


DNAlchemist
Отправлено: Dec 12 2011, 09:57


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


дело не в пианино, а в том, какие возможности открывает такой подход

Можно за каждую смерть персонажа удалять по одному системному файлу (IMG:style_emoticons/kolobok_light/biggrin.gif)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #140039 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Dec 9 2011, 21:12


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


с ваулта все сливают и распаковывают экзешные архивы - и не парятся. Тут тоже самое будет.
Да и не думаю что люди будут настолько осторожничать.
Все таки человек, пишущий серьезный модуль, врядли будет пихать троянов туда.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #140016 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Dec 9 2011, 08:14


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Ахах) появилась извращенная идея)
Написать установочник, который распакует все что нужно ( хаки, модуль ), и засунет в систему жучка, который будет ждать, пока запустится невервинтер, а потом сканировать DB, и если запуститься именно наш модуль, подгружаем в системку другую програмку, которая будет связана с DB, как и наш модуль. Персона садится за клавиши, в программа это узнает, и, собственно, генерит звук. Со всей клавиатуры. Через DB отправляем сыгранное обратно в игру, и рассылаем всем игрокам в дистанции 50 метров, и там такая же програмка все проигрывает, подрегулировав звук.
Правда на счет верности последнего пункта я сомневаюсь. задержка, все такое.

Кроме того, встраивание своей программы в систему может добавить так нехило возможностей редактору)
Ну и глюков, соответственно.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #140010 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Dec 9 2011, 06:13


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Все интервалы, трезвучия, септаккорды и аккорды от каждой ноты?(IMG:style_emoticons/kolobok_light/wacko.gif)
Представляю насколько это увеличит вес хака)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #140007 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Dec 8 2011, 21:37


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Цитата(Melisse @ Dec 8 2011, 11:18) *
Есть подобные системы на ваулте
вот одна из них
Где-то есть еще и пианино

Не, это не то. На ваулте смотрел, они все подбирают короткие одиночные ноты. А мне как минимум аккорды подавай
Хотя ссылка полезная, спасибо)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #140002 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Dec 8 2011, 08:44


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Цитата(Flaristan @ Dec 8 2011, 02:10) *
Ненада вешать на объекты - просто создай нужное кол-во «звуковых объектов» на локации в точке где стоит «пианино» под нужное число нот и в их свойствах поставь опцию «не активные» (чтоб не играли сами по себе), а при активации «клавиш» поставь на них скрипт с командами «саунд обжект плей/делей/саунд обжект стоп» с нужной длительностью звучания к соответствующему звуку ноты по тагам. (IMG:style_emoticons/kolobok_light/smile.gif)

Похоже придется так. Просто от модуля к модулю создавать объекты на каждую клавишу, их же блин 88 штук!
Почему разрабы не продумал скриптовое создание саундов

Крах. Даже создавая отдельные звуки на локации, больше 4х не дает играть одновременно (первый раз было тоже четыре). Единственное, что это дало, так это чтобы не перекрывало одну ноту второй такой же сверху, а запускало ее сначала. Но для создания 88 лишних объектов на локации это слабый аргумент.
Блин, неужели ничего не сделать?
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139994 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Dec 7 2011, 21:41


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Хочу сделать работающее пианино. Но после воспроизведения трех звуков оно перестает воспроизводить новые, пока не стихнут предыдущие.
Есть идеи?
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139989 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Dec 6 2011, 19:50


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Можно ли добавить дополнительную анимацию для игрока? Как это сделать?
  Форум: Custom Content · Просмотр сообщения: #139972 · Ответов: 1 · Просмотров: 3,407

DNAlchemist
Отправлено: Nov 16 2011, 05:44


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Можно ли сделать специальное свойство предмета (которое вызывает функцию OnItemActivated) доступным предметам, для которого оно заблокировано?
Не могу никак подружиться с 2da таблицами. Открыл ItemPropDef.2da, даже тупо не нашел там такой пункт -_-
  Форум: Custom Content · Просмотр сообщения: #139838 · Ответов: 642 · Просмотров: 132,156

DNAlchemist
Отправлено: Oct 21 2011, 20:37


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Цитата(denis0k @ Oct 21 2011, 20:48) *
Если хочется так уж подробно смоделировать. В каждом доступном тайле на пути поставить по вейпоинту, пронумеровав их по порядку и примерно соблюдая дистанцию. Засечь, сколько времени нпс идёт между точками. Посчитать, сколько в локации не было игрока и при его заходе высчитать, сколько тайлов прошёл нпс и, стало быть, куда его кидать.

У меня то же самое по сути, только объектов меньше для этого нужно) высчитывается относительно скорости и времени путь, затем считаю локацию относительно последнего пройденного вейпоинта.
Все равно я этим биоварем не доверяю... вдруг баг всплывет. Двойная проверка не будет лишней)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139687 · Ответов: 88 · Просмотров: 72,662

DNAlchemist
Отправлено: Oct 21 2011, 19:41


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Поясняя мысль greye, могу добавить, что для этого достаточно скорость умножить на время.
Об этом тоже думал. А если координата попадет на, например, воду? Или нписюшник в доме застрянет?
Ну не, рандомно - это не наш метод)

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

Если падает при респауне*
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139684 · Ответов: 88 · Просмотров: 72,662

DNAlchemist
Отправлено: Oct 21 2011, 18:21


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Цитата(denis0k @ Oct 21 2011, 17:32) *
Зачем что-то делать без игрока на локации? В этой ситуации все скрипты должны останавливаться, иначе это напрасная трата ресурсов и, при расширении модуля, кандидат на лаги. Либо запоминать позицию, либо сразу телепортировать, но без игрока аи должен быть выключен, ибо десяток таких "живых" локаций - и привет тормозам.

Конечно я проверил ForceMoveToObject.
Десяток таких локаций не тормозят - проверено. Тормозят неграмотно сделанные циклы, и прочая нечисть. Зачем что то делать? Мне нужно чтобы нпсюшник двигался, и относительно времени оказывался на определенной точке, а игрок может войти в любой момент.
Мне же не надо этот скрипт на всех вешать.
Я поэтому и выложил сюда во всякого рода фишки, так как этот баг показался мне занятным. Вектор выдает во время столкновения объекта с препятствием минусовую координату.

по оси z
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139681 · Ответов: 88 · Просмотров: 72,662

DNAlchemist
Отправлено: Oct 21 2011, 07:37


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Забавная вещь, при использовании действия ActionMoveToObject, если персонаж начинает движение без присутствия игрока на локации, он не ищет путь от точки а к точке б, а идет... Оо... напролом. Потом застревает, судя по логам и минусовой координате по оси высоты в его векторе, к примеру, в тайле с деревом. Сначала хотел использовать проверку, есть ли игрок на локации, потом телепортировать NPC, вместо того, чтобы его двигать. Но потом решил просто модифицировать скрипт WalkToWaypoint. Не буду его выкладывать, по скольку модифицирован он для моих нужд
Так будет полезно знать, что если вы захотите, чтобы внезапно какой нить нписюшник, далеко от игрока, захотел сходить за пивом, нужно либо немножко поломать голову, либо сделать так, чтобы на его пути не было препятствий)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139675 · Ответов: 88 · Просмотров: 72,662

DNAlchemist
Отправлено: Oct 21 2011, 07:27


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


У меня стоит.
Просто жаль тех людей, кому лень этот патч ставить)
Им тем более будет лень исправлять все "я" на не "я"
(IMG:style_emoticons/kolobok_light/rolleyes.gif)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139672 · Ответов: 111 · Просмотров: 187,235

DNAlchemist
Отправлено: Oct 16 2011, 11:22


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Здесь описанная часть системы поджигания, я ее использую чтобы с помощью факела можно было поджечь деревья, дома, и т.д.
Я выложил три скрипта, с подробным описанием.
SetFire - ставит огонь по указанным координатам
DestroyFire - уничтожает все огни.
локальные переменные
Fire - хранит индикатор, насколько разгорелся объект
FireObject - Содержит количество созданных огней

Я постарался сделать как можно более детальное описание каждой строчки кода, надеюсь, моя работа кому-нибудь, да пригодится)

"Спасибо" приветствуется :rolleyes:
Код
///////////////////////////////////////////////////////////////////////////////
//               * Функциz удалzет все пробелы из строки *                   //
///////////////////////////////////////////////////////////////////////////////
string RemoveSpace(string str)
{
string        str2; // Результат

              while(str!="")// Пока в строке есть хоть один символ
              {
              // Если символ первой строки - не пробел, то
              // добавлzем его к переменной результата
              if(GetStringLeft(str , 1)!=" ")
              str2 += GetStringLeft(str , 1);
              // Берем строку с конца до второго символа
              // (то есть избавлzемсz от первого символа)
              str  = GetStringRight(str , GetStringLength(str)-1);
              }
// Возвращаем результат строки без пробелов
return str2;
}



///////////////////////////////////////////////////////////////////////////////
//         * Функциz устанавливает огни по заданным точкам *
// К примеру, "1*0.2,0.1,0.0;", где
//       1  - номер устанавливаемого огнz (они должны
// всегда идти по порzдку),
//       *  - тип огнz (* - огонек, ! - искры), должны
// создаватьсz отдельно, резрефы заменить ниже, blueprint003 и blueprint033
// соответственно. Используйте длz огонька костер, а длz искр -
// магическую вспышку, в котором бы неплохо было вырезать с помощью 3dmax'a
// верхний zркий огонек в виде шарика).
//       0.2 - изменение координаты относительно oObject по оси x (ширине)    x \
//       0.1 - изменение координаты относительно oObject по оси y (длине)     y |>  координаты огонька
//       0.1 - изменение координаты относительно oObject по оси z (высоте)    z /
// "," разделzет оси координат (их должно быть обzзательно 3)
// ";" разделzет огни друг от друга
//
// Все пробелы из функции удалzютсz. Оформлzйте данные так, как вам удобнее
// читаетсz.
//
// >> P.S.Сейчас z работаю над системой дебагга вводных данных, но z надеюсь, вы
//        люди не глупые, перечитаете верхние правила ввода данных, не
//        будете злоупотреблzть количеством огоньков, и... удачи :)
///////////////////////////////////////////////////////////////////////////////
void SetFire(object oObject = OBJECT_SELF, string str = "1* 0.0,0.0,0.0;   2! 0.0,0.0,1.0;" )

{
//
str = RemoveSpace(str);

    int iFire = GetLocalInt(oObject,"Fire");
    int iFireObject = GetLocalInt(oObject,"FireObject");
        iFire++;


   //  Сохранzем переменную
   SetLocalInt(oObject,"Fire", iFire);
   //  * Если что то пойдет не так по причине некорректного
   //  * ввода данных при вызове функции, то, поскольку мы уже сохранили локальную
   //  * переменную, мы сможем в дальнейшем использовать ее, чтобы наносить
   //  * повреждение объекту
   //  Длz нанесениz повреждений можно использовать такие строчки
   //  iFire = GetLocalInt("имz объекта, которому наносим повреждение","Fire")
   //  ApplyEffectToObject(1,EffectDamage(iFire, DAMAGE_TYPE_FIRE),"имz объекта, которому наносим повреждение");


// Берем координаты длz созданиz будущего огонька
object   oArea = GetArea(oObject);
vector vVector = GetPosition(oObject);


     while(str!="")//Пока строчка не станет пустой
          {
          // Переменнаz отвечает за визуальный вид огонька
          // FALSE если искры
          int bCheck = FALSE;

          // С помощью этой переменной проверzем номер введенного объекта,
          // это длz того, чтобы уменьшить объем повреждений от неверно введенных данных
          int iCheckFireObject;

          //* Ниже код разбирает по косточкам введенный текст в переменную str.
          //* Каждый раз то символа ";".
          //vvvvvvvvvvvvvvvvvvvvvvvvvvv->S T R<-vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv//

          // Определzем тип огнz, котороый мы ставим ("-1" возвращаетсz, если символ не найден)
          if((FindSubString(str, "*")<FindSubString(str, "!") && FindSubString(str, "*")!=-1)||FindSubString(str, "!")==-1)
          {
          // Визуальный вид огонька. TRUE если огонек
          bCheck = TRUE;

          // Соответственно берем номер объекта устанавленного огнz
          iCheckFireObject = StringToInt     (GetStringLeft (str, FindSubString(str, "*")));
          }
          else
          {
          iCheckFireObject = StringToInt     (GetStringLeft (str, FindSubString(str, "!")));
          }

          // Выделzем из строчки str координаты x, y и z в другую строку
          string xyz = GetStringLeft   (GetStringRight(str, GetStringLength(str) - 2),FindSubString(str, ";")-2);
          // Убираем обработанную строчку из кода
                 str = GetStringRight  (str, GetStringLength(str)-GetStringLength(xyz)-3);

          // Проверzем, если выделенный номер объекта следует за уже существующим номером
          // то каждые три индикатора огнz ставим огонек
          if(iCheckFireObject == iFireObject + 1  &&  iFire>iFireObject*3)
          {
          // Разбиваем строку с координатами xyz на отдельные координаты
          float x = StringToFloat(GetStringLeft   (xyz, FindSubString(xyz, ",")));
              xyz = GetStringRight  (xyz, GetStringLength(xyz)-FindSubString(xyz,",")-1);
          float y = StringToFloat(GetStringLeft   (xyz, FindSubString(xyz, ",")));
          float z = StringToFloat(GetStringRight  (xyz, GetStringLength(xyz)-FindSubString(xyz,",")-1));
          //^^^^^^^^^^^^^^^^^^^^^^^^^^^->S T R<-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

       // Устанавливаем точку, на которую поставим огонек
       location lLoc = Location(oArea,Vector(vVector.x+x, vVector.y+y, vVector.z+z) , IntToFloat(Random(360)));
       // Регистрируем установку огонька
       iFireObject++;

       // Ставим модель огонька соответственно установленной ранее переменной. TRUE - огонь, FALSE - искры
       if(bCheck == TRUE)
       CreateObject(OBJECT_TYPE_PLACEABLE, "blueprint003", lLoc, FALSE, "fplace" + IntToString(iFireObject) );
       else
       CreateObject(OBJECT_TYPE_PLACEABLE, "blueprint033", lLoc, FALSE, "fplace" + IntToString(iFireObject) );
       // Сохранzем переменную, так как огонь мы уже поставили
       SetLocalInt(oObject,"FireObject", iFireObject);
          }
          }
}

///////////////////////////////////////////////////////////////////////////////
//             * Функциz удалzет все установленные огоньки *                 //
///////////////////////////////////////////////////////////////////////////////
void DestroyFire(object oObject)
{
// Объzвлzем счетчик и переменную, в которую заносим количество установленных огней в объекте
int i, iFireObject = GetLocalInt(oObject, "FireObject");

// Удалzем огни
for(i=iFireObject;i>0;i--)
DestroyObject(GetObjectByTag("fplace" + IntToString(i)));

// Очищаем объект от локальных переменных, хранzщих огонь
DeleteLocalInt(oObject, "FireObject");
DeleteLocalInt(oObject, "Fire");

}
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139641 · Ответов: 111 · Просмотров: 187,235

DNAlchemist
Отправлено: Oct 11 2011, 17:44


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


для скрипта дежурящих ночью гвардов
Цитата(Ilharess @ Nov 24 2004, 13:40) *
if ( !GetIsInCombat() || GetCurrentAction() != ACTION_DIALOGOBJECT)

Сдается мне, что скрипт не будет срабатывать только тогда, когда нпс будет в бою и в диалоге одновременно
О_о
Недоглядели, благородный дон

То был скрипт со второй страницы
Вот еще один, с первой страницы.


Цитата
Код
  while ((pos = FindSubString(sProperties, "@")) != -1)
    {
        sProperties = GetStringRight(sProperties, GetStringLength(sProperties) - pos - 1);

        pos = FindSubString(sProperties, "@");
        if (pos == -1)
            pos = GetStringLength(sProperties);

        sTemp = GetStringLeft(sProperties, pos);

        //SendMessageToPC(GetFirstPC(), "sTemp["+ IntToString(i) +"] == "+ sTemp);
        SetProperty(oItem, sTemp);

        i++;
    }


Тут есть счетчик i, который используется только при дебагге. Так то ничего страшного, но он стоит в цикле while, и мы будем делать десятки ненужных вычислений.
//SendMessageToPC(GetFirstPC(), "sTemp["+ IntToString(i) +"] == "+ sTemp);i++;
А нужно всего то ее закомментить
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139571 · Ответов: 111 · Просмотров: 187,235

DNAlchemist
Отправлено: Sep 21 2011, 08:18


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Руки пока не дошли ставить патч. Пока не критично.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139284 · Ответов: 5106 · Просмотров: 364,964

DNAlchemist
Отправлено: Sep 20 2011, 07:59


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


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

Мой написанный код не должен был что то делать, он должен был просто скопилироваться. ActionWait(100.0); имеет право на жизнь, независимо от того, обращена ли она к объекту.
Исправил ошибку, а крылась она в мерзком файлике nwscript.nss, который переводил описание всех функций на русский.
Теперь все отлично работает. Спасибо, что откликнулись)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139266 · Ответов: 5106 · Просмотров: 364,964

DNAlchemist
Отправлено: Sep 20 2011, 05:58


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Ollone5
Поподробней, с чего они должны ее ломать? Ты командуешь им двигатся из точки а в точку б, между которыми есть дверь, а они потом тупо встают возле двери?

Вариант, который мне приходит в голову - поставить в событие зомби OnHeartBeat проверку дистанции до двери, и, если она рядом, то заставить зомби ее атаковать, а иначе продолжить движение в точку б. Наверное это извращенный способ, и местные гуру подскажут лучше)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139263 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Sep 20 2011, 04:35


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


dumb question, если позволите.

У меня в тулсете не компилируется ни одной функции, даже в встроенных скриптах. Доходит до безобразия,

Код
void main()
{
int i = 100;
}


компилируется, а

Код
void main();
{
int i = 100;
ActionWait(i);
}


Уже нет

dumb question, если позволите.

У меня в тулсете не компилируется ни одной функции, даже в встроенных скриптах. Доходит до безобразия,

Код
void main()
{
int i = 100;
}


компилируется, а

Код
void main()
{
int i = 100;
ActionWait(i);
}


Уже нет
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139262 · Ответов: 5106 · Просмотров: 364,964

DNAlchemist
Отправлено: Sep 19 2011, 13:58


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


wirTUS
Оперативно, спасибо)

Не совсем пока разбираюсь в механике игры, поэтому у меня есть еще несколько глупых вопросов.

Для сохранения персональных достижений, позвольте поделится: хочу ввести в модуль профессии, можно же создать какую нибудь шкурку, в которые сохранять каким либо образом переменные?

Как то слышал, что DM может вселяться в NPC, и управлять им, правда ли это? Пока не могу проверить, ибо не могу пока запустить сервер. Нет возможности

Еще я запутался с библиотеками. Насколько я понял, некоторые функции, указанные справа, являются библиотечными, и без подключения последних они работать не будут. Как узнать, какая функция к какой библиотеке относится?

Это для начала. Много вопросов скопилось. Долго не мог зарегистрироваться, так как ваш форум, при условном ограничении пароля до 32 символов, отказывался кушать мой пароль в 20 символов(IMG:style_emoticons/kolobok_light/sad.gif)


Заранее спасибо (IMG:style_emoticons/kolobok_light/rolleyes.gif)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139251 · Ответов: 3355 · Просмотров: 291,246

DNAlchemist
Отправлено: Sep 19 2011, 11:19


Level 2
*

Группа: Candidate
Сообщений: 22
Регистрация: 19.09.2011
Пользователь №: 6,430


Подскажите, как можно сохранить данные? Мне нужно, чтобы после перезагрузки сервера можно было восстановить значения локальных переменных. Долго шарился по форуму, ничего подобного не нашел
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #139240 · Ответов: 3355 · Просмотров: 291,246


Есть новые сообщения  Открытая тема (есть новые ответы)
Нет новых сообщений  Открытая тема (нет новых ответов)
Горячая тема (есть новые сообщения)  Горячая тема (есть новые ответы)
Горячая тема (нет новых сообщений)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Тема закрыта  Закрытая тема
Тема перемещена  Тема перемещена
 

Текстовая версия Сейчас: 26th February 2020 - 01:46