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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
135 страниц V  « < 67 68 69 70 71 > »   
Ответить в эту темуОткрыть новую тему
> ОДИНОЧНЫЙ ВОПРОС, на любую тулсетовскую тему
Dik Morris
сообщение Jul 20 2006, 10:44
Сообщение #1701


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



Вот здесь, есть альтернативная анимация боя, попробуй на ее основе - сделать свою. (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Bolat
сообщение Jul 21 2006, 07:10
Сообщение #1702


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Человек



Эта анимация у меня уже есть, там одни mdl файлы, я их редактил, но не умело.

Редактировал файл Assasin\njh_anims.mdl, хотел чтобы рука при ударе была допустим ниже, дохожу до кадров где бьется удар, отвожу руку вниз, но рука теперь всегда в таком положении.

Подскажите как работать там с анимацией.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vhall
сообщение Jul 21 2006, 13:45
Сообщение #1703


Level 19
Иконки Групп

Класс: Обыватель
Характер: True Neutral
Раса: Дварф
NWN: Контент



QUOTE(Bolat @ Jul 20 2006, 07:38) [snapback]88054[/snapback]
Я хочу изменить анимацию людей в nwn.
Как это сделать? Можно ли изменить стандартный файл в NWN или надо писать хак?

http://nwvault.ign.com/View.php?view=Movie...6298&id=188
http://nwvault.ign.com/View.php?view=Movie...6298&id=190

С анимацией - открой a_ba.mdl (только последнюю - ХотУшную), и от него уже прыгай...
QUOTE(Bolat @ Jul 21 2006, 08:10) [snapback]88111[/snapback]
отвожу руку вниз, но рука теперь всегда в таком положении.

Помимо ошибки в анимировании, это может быть ошибка экспорта =)
Попробуй экспортить и mdl plugin и nwmax
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jul 21 2006, 19:33
Сообщение #1704


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



QUOTE
я немного не понял, а какие могут быть проблемы с отображением ответов игрока во время диалога с НПС? Да пусть их хоть будет 20 или 30, они все будут видны, правда, если на них нет определенных условий, которые необходимо соблюсти, чтобы отобразилась та или иная ветка.
Я вот тоже не понял, почему пункт без условия отображается через раз по известному только ему критерию (IMG:style_emoticons/kolobok_light/smile.gif) Я собсно этим относительно давно занимаюсь, без моего ведома скрипт с условием никуда там не закрадывался (IMG:style_emoticons/kolobok_light/smile.gif)

Так что Айван прав походу, битый диалог. Будет время, надо попробовать его заново пересоздать (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Bolat
сообщение Jul 21 2006, 19:44
Сообщение #1705


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Человек



a_ba.mdl находится в ammunitiontypes.2da?
С помощью какой проги выдрать его оттуда?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 21 2006, 20:07
Сообщение #1706


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



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

NSS
// Список вещей для поиска и удаления
void CheckAndDestroy(object oItem);
// Удаление найденных вещей
void DestroySomeItemsInInventory(object oPC);

void CheckAndDestroy(object oItem)
{
    string sItemTag = GetTag(oItem);
    string sItemResRef = GetResRef(oItem);

    // Для примера
    if ((sItemTag == "thing1") ||
        (sItemResRef == "thing2"))
    {
        DestroyObject(oItem);
    }
}

void DestroySomeItemsInInventory(object oPC)
{
    if (GetHasInventory(oPC))
    {
        object oItem = GetFirstItemInInventory(oPC);

        while (GetIsObjectValid(oItem))
        {
            CheckAndDestroy(oItem);
            oItem = GetNextItemInInventory(oPC);
        }

        int i;
        object oSlot;

        for (i = 0; i < 14; i++)
        {
            oSlot = GetItemInSlot(i, oPC);
            CheckAndDestroy(oSlot);
        }
    }
}

Если что-то подобное происходило у вас, поясните, как боролись.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 22 2006, 00:37
Сообщение #1707


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Zirrex, нет ли каких то скриптов дающих сразу вещи РС? Может элементарный глюк, не влези вещи в инвентарь?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Bolat
сообщение Jul 22 2006, 00:58
Сообщение #1708


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Человек



Vhall

Нашел BIF Editor
Екстракнул из него файлы, там оказался a_ba.mdl.
Радостный запустил 3dmax и обломился - не хочет он импортировать этот файл :-(.

У меня плагин MDL Suit для 6-го макса(хотя стоит 7-ой).
.mdl файлы из альтернативной анимации импортируются, а вот a_ba.mdl нет.
Что же делать?

Сообщение отредактировал Bolat - Jul 22 2006, 00:59
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 23 2006, 22:11
Сообщение #1709


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



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

Если кто не в курсе, то после рестарта все вещи, которые носил персонаж, заново одеваются на персонажа. У меня такое впечатление, что подобная операция происходит и с инвентарем персонажа.

Да, забыл одну деталь описать, когда писал выше. Вещи, которые исчезают, не исчезают совсем, нет, они случайным образом даются другим персонажам, и даже ДМ.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jul 24 2006, 01:14
Сообщение #1710


Level 9
Иконки Групп

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Zirrex,
QUOTE
OnAcquireItem
The script attached to this event fires when an item is acquired. The item can be tested against a list of items, and if the item is found an event could occur such as the corpses around the PC arising to fight them in undeath or a journal entry is made. It also fires whenever the OnClientEnter script would fire for a PC. It fires before the OnClientEnter Event starts, for all the items in the PC's inventory (including those equipped!) This is new, quite recent behavior change for this event.


поэтому этот скрипт должен быть максимально "легким". возможно, перенос происходит при каких-то действиях на игрока в скрипте входа(смерть, джамп, итд) - определить где именно будет крайне затруднительно, ибо редко бывает такой "глюк"...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jul 24 2006, 18:39
Сообщение #1711


Level 12
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



Zirrex, дело может быть не в получении, а в потере вещей. Во многих системах есть такая вещь: при выходе персонажа с него снимаются все вещи с "Plot" флагом и отадются другому первому попавшемуся игроку. Это сделано для того, чтобы важные вещи не терялись, а оставались на сервере, и в сюжет не застопорился бы из-за их исчезновения. Симптомы похожи.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 24 2006, 20:35
Сообщение #1712


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



azathoth, вещи не Plot. Я вообще на сервере этот флажок не использую. С ним есть некоторые проблемы. Потом, вещи исчезают не в момент выхода, а в момент входа, причем перед этим должен произойти рестарт. dumbo правильно привел описание эвента, все вещи заново выдаются персонажу, когда он входит после рестарта на шард. Очень похоже, что в момент входа нескольких игроков, определенные вещи, какие именно, я знаю, теряют своих хозяев, и выдаются случайным образом. Если в новой версии не проявится подобный "глюк", значит удалось найти причину.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 27 2006, 22:57
Сообщение #1713


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Как обмануть функцию Random? Существует цикл, в который встроен переключатель (switch). В зависимости от настроек с уровнем, изменяется число от 1 до 5. Чем выше уровень персонажа, тем больше число. Чем выше число, тем больше case используется в переключателе. Т.е., если уровень ниже 7, то case всего 4. Цикл прокручивается 1 раз, а если уровень выше 7 уровня, то case 8, и цикл прокручивается 2 раза. Функция Random встроена в цикл, а значит, значение каждый раз новое. Но есть большой шанс, что цифра повторится. Когда цикл прокручивается 2 раза, изменить вторую цифру, если она совпадет с первой, легко, но когда таких чисел становится больше 2, то тут уже сложнее.

Для примера, берем Random(4)+1, и прокручиваем цикл 4 раза. Каждый раз должно получиться другое число, и числа не должны повториться. Но как этого добиться?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jul 27 2006, 23:59
Сообщение #1714


Level 9
Иконки Групп

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



QUOTE(Zirrex @ Jul 27 2006, 23:57) [snapback]88468[/snapback]
берем Random(4)+1, и прокручиваем цикл 4 раза. Каждый раз должно получиться другое число, и числа не должны повториться

это уже не случайное число. делай массив и на каждом проходе клади туда число. потом сверяй.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jul 28 2006, 00:00
Сообщение #1715


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Вот, что говорит Яндекс.
http://www.yandex.ru/yandpage?&q=13740...%25D3%25D4%25C9
Но отсутствие массивов в NWN сильно мешает это реализовать.
В конце концов, можно сделать псевдомассив, расположить там числа и перемешать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jul 28 2006, 00:15
Сообщение #1716


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



По вещам. Если скрипт стоит на OnAcquire, то цикл там лишний, ибо тогда скрипт пробегает по итему Н раз при Н итемах. Если на входе в мод/локу, то попробуй перенести его на триггер, который нельзя обойти. Как-то пробовал давно - некоторые функции в OnEnter локи или мода не работали помнится. Это я к тому, что у нас тоже стоит удаление вещей на входе, на триггере (в основном это ключи), но проблем никогда не было.


По рандому. Варианта 2.

- попроще. Написать свой рандом (на базе нвновского) на сишный аналог. Т.е. берем Random() от большого уникального семени - время в секундах, другие рандомы и т.п., можно кучу разных результатов складывать, умножать на коэффициент, не важно, важно получить уникальное число побольше (скажем десятки тысяч), потом делим вывод рандома на нужный нам дайс с остатком. Что-то типа Random(nSeed) % 6 (получим число 0-5), дальше думаю все понятно.
Конечно тоже не идеал, но совпадений становится меньше, проверно.

- посложней. Записывать все выпадающие варианты. Скажем на локалку на вэйпоинте. В качестве строки. Если чисел до 10 (0-9), то все просто - просто пишем подряд в строку, и пока FindSubstring() выдает что-то отличное от -1 гоняем рандом в цикле. Если числа по 2+ цифр, то ставим между ними к примеру банальный прочерк при записи. Вроде так (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 28 2006, 05:34
Сообщение #1717


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



НВН ский рандом очень привязан к локациям и прочему. В итоге на малой локе рандом будет одни и тем же числом почти всегда. Я с этим столкнулся при случайных боях. У меян было 7 локаций примерно одного размера. В итоге почти неделю я искал ошибку в скрипте, всегда выдавало одно число. Скажем почти всегда. Из 10 раз 9 выпадало одно. Так что с рандомом поосторожней.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 28 2006, 08:59
Сообщение #1718


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Я сделал проще, у меня 20 case строк. В зависимости от требуемого числа (1-5) к стартову числу Random(4)+1 стал прибавлять 5, 9, 13, 17. В итоге у меня получилось, что когда цикл прокручивается 2 раза, число сначала берется в промежутке от 1 до 4, далее от 5 до 8, и т.д. Т.е., даже если цикл прокручивается 5 раз, числа никогда не повторятся.

denis0k, никаких эвентов, отдельный скрипт, который будет срабатывать только в момент смерти существа. А что касается предложения, то тут то все просто. Чтобы получилось уникальное число, можно написать такую строчку: Random(20) + (Random(20) / 20.00).

Про запись уже думал. Только это лишняя проверка, и она заставит цикл прокручиваться лишний раз. А если не выпадет иное число очень долго, то цикл подвесит игру (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 30 2006, 22:22
Сообщение #1719


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Столкнулся с такой ситуацией, когда невозможно рестартовать модуль. Доступа к серверу нету, скрипта для рестарта тоже нету. И что же? Такой возможности нет даже среди консольных команд. Спрашивается, а почему за время существования игры туда их не внесли? Есть ли вообще возможность рестарта с помощью консоли?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Aug 1 2006, 16:20
Сообщение #1720


Level 12
Иконки Групп

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



Для генерации двух несовпадающих чисел из N можно использовать такую хормулу:
NSS
int var1 = Random(N);
int var2 = (1 + var1 + Random(N - 1)) % N;

Конечно, взятие остатка покруче, чем сравнение, зато все вычисляется за один проход, без потенциальной возможности зависнуть (IMG:style_emoticons/kolobok_light/biggrin.gif)

Можно вывести хормулу и для большего количества чисел, но, к примеру, на моем компьютере выбор 3х уникальных вариантов из 5 происходил мгновенно, когда это когда-то делал.

---

NSS
void StartNewModule(string sModuleName)

С именем того же модуля должен перезапускать его, во всяком случае в сингле работает.

Сообщение отредактировал azathoth - Aug 1 2006, 16:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Aug 1 2006, 19:08
Сообщение #1721


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



1. Рестарт из игры возможен только способом, написанным выше. Например, с дмской палки (но ее на данный момент конечно же нет, иначе проблемы бы не было).
2. Положить серв грубо, нвнх его должен поднять. Народных умельцев полно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 4 2006, 11:08
Сообщение #1722


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



У меня такой вопрос. В диологе NPS должен сказать определённую фразу несколько раз. Как сделать что бы не писать её ещё раз, то есть как обратиться к уже написаной фразе в разных местах.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Aug 4 2006, 11:23
Сообщение #1723


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Читай туториал Айвана. Там всё написано.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 4 2006, 14:17
Сообщение #1724


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



Спасибо разобрался, а как сделать, что бы после смерти NPS в журнале появлялась запись.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Aug 4 2006, 15:10
Сообщение #1725


Level 4
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить



Переделай ЭТОТ скрипт под свои нужды, то есть:

NSS
GiveXPToCreature(oKiller, 500);

Замени на:
NSS
AddJournalQuestEntry("Таг_квеста", Номер_задания, oKiller);


З.Ы: ЛУЧШАЯ_В_МИРЕ_КНОПКА
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

135 страниц V  « < 67 68 69 70 71 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 9th May 2025 - 15:30