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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 91 92 93 94 95 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Lex
сообщение Dec 4 2005, 21:30
Сообщение #2286


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (AliceDiren @ Dec 4 2005, 20:48)
DelayCommand(2.0, DestroyObject(OBJECT_SELF));//например так :)

точнее DestroyObject(OBJECT_SELF,2.0);
+ можно наложить не на object, а на location. В данном случае это кажется более предпочтительным. (дейстрой можно сдвинуть всего на 0.2 чтобы постановка визуалки успела сработать.. ну или ставить визуалку через игрока AssignCommand(GetPCSpeaker(),..)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Master Wu
сообщение Dec 4 2005, 22:30
Сообщение #2287


Level 3
*

Класс: Некромант
Характер: True Neutral
Раса: Полуэльф



Такой вопрос. Можно ли как-то заставить появившихся гвардов бежать к ПС и атаковать только его (в пределах одной локи),где бы и как бы далеко от них он нибыл, а не стоять и ждать, пока он подойдет ближе.

To AliceDiren:
Спасибо.

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

Сообщение отредактировал Master Wu - Dec 6 2005, 22:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Dec 4 2005, 22:47
Сообщение #2288


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Этот кусочек кода заставит npc атаковать ближайшего персонажа управляемого игроком
Neverwinter Script Source
object oAttacker = ... здесь определяешь своего npc
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
AssignCommand(oAttacker, ActionAttack(oPC));

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
yudgi
сообщение Dec 5 2005, 11:16
Сообщение #2289


Level 4
**

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



Ребята спаибо, что обьяснили. Dik Morris ты упоминал модуль Lexa не подскажешь как называется?

Сообщение отредактировал yudgi - Dec 5 2005, 11:18
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Dec 5 2005, 11:54
Сообщение #2290


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

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



QUOTE
Dik Morris ты упоминал модуль Lexa не подскажешь как называется?

AdvVFXBrowser находится в разделе файлы -> Aurora Toolset (самый первый)
Также некоторые эффекты, рисунками предоставлены в лексиконе. :yes:
Master Wu
Вышеприведенный код нужно чуток "обработать" и поставить в соответствующий слот. (например onEnter локации)
QUOTE
object oAttacker = ... здесь определяешь своего npc

Здесь тебе поможет функция:
Neverwinter Script Source
// Get the nNth object with the specified tag.
// - sTag
// - nNth: the nth object with this tag may be requested
// * Returns OBJECT_INVALID if the object cannot be found.
// Note: The module cannot be retrieved by GetObjectByTag(), use GetModule() instead.
object GetObjectByTag(string sTag, int nNth=0)




LEX
QUOTE (Dik Morris @ Dec 5 2005, 11:54)
AdvVFXBrowser находится в разделе файлы -> Aurora Toolset (самый первый)

тока это не мой :)
************
8( Тоестькак?! 8(
Ну, а если серьезно то я видать попутал с другими константами :)
Если не ошибаюсь твой с констн. анимации :yes:

LEX: да, мой про анимацию. COA 1.30

Сообщение отредактировал Lex - Dec 6 2005, 17:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
yudgi
сообщение Dec 6 2005, 16:38
Сообщение #2291


Level 4
**

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



Приветик. Ребята вопросик появился. Кажется на него уже отвечали так, что если, что просто скажите где. Вопрос такой: нужно заставить ПС следовать за НПС.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Dec 6 2005, 16:39
Сообщение #2292


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

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



Cмотри, в базе скриптов там есть отличный скрипт...
***************
А если лень глядеть, бери вот этот: (он попроще =))
Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
//Определяем игрока. Сработает если скрипт стоит в диалоге.
//А если нет то можно юзать функ-ции:
//GetEnteringObject(), GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC); и т.п...
object oNPC= OBJECT_SELF;
//Это сам НПС (опять таки подействует если скрипт стоит в диалоге)
if (GetLocalInt(OBJECT_SELF, "FOLLOW")==1)
return;
//Проверка. Если локалка FOLLOW равна 1 то ничего не произойдет.
//Можно удалить если хочешь чтобы НПС опять следовал за игроком, после диалога.
AssignCommand(oNPC, ActionForceFollowObject(oPC, 1.0f));
//Заставляем НПС следовать за игроком. 1.0f - это дистанция на которой НПС должен идти за игроком.
//oPC --- это наш игрок (выше мы его определили)
SetLocalInt(OBJECT_SELF,"FOLLOW",1);
//Устнв. локалку.
//Можно удалить если хочешь чтобы НПС опять следовал за игроком, после диалога.
}


Сообщение отредактировал Dik Morris - Dec 6 2005, 16:55
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Апельсинов
сообщение Dec 8 2005, 02:01
Сообщение #2293


Level 1


Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



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

1. Простой вопрос. Мало где описывается про то, как создаются-удаляются локальные переменные.
На сколько я понимаю есть чисто локальные переменные, которые удаляются после прохода скрипта (определяются int,float и т.д. , а есть такие, которые остаются с объектом (определяются SetLocalVar,SetLocalFloat и т.д.). Так вот на счет вторых: много ли места в ОЗУ могут занимать они при неправильном использовании? Если да, как и когда их нужно удалять.

2. Еще один простой вопрос:
Хотел создать ПУСТУЮ таверну со стенками, но как не стирай, все равно редактор добавляет галимую статику. А на нее очень трудно что-то весить.
Можно ли как-то создать пустую комнату со стенками?

3. И еще один:
Я поставил в таверне пару ребят: типа музыкальная группа.
В каком формате надо сделать музыкальный файл, чтобы сделать 3D звук на то место, где стоят эти перцы. Я пытался сжатый WAV - вообще не декодируется, сырой WAV - декодируется, но можно только звуком, заполняющим всю зону.(Я портировал в игру через подключение хака, который сам спакавал стандартной утилой).

4. Я делаю Минишард - такую демо-версию для опробования разных скриптов. Решил сделать реалистичную таверну. А что там самое главное? Нужно уметь правильно садиться и вставать со стульев. Использую следующий скрипт (опубликован в скриптах 2_advanced):
Neverwinter Script Source
void main()
{
    object oPC = GetLastUsedBy();
    object oChair = OBJECT_SELF;

    if(GetIsObjectValid(oChair) && GetIsObjectValid(oPC))
    {
        object oSurf = GetLocalObject(oChair, "surf");

        if(GetIsObjectValid(oSurf))
        {
            object oSitter = GetSittingCreature(oSurf);

            if(!GetIsObjectValid(oSitter) || GetArea(oSitter) != GetArea(oChair))
                DestroyObject(oSurf);
            else
                return;
        }

        vector vSurf = GetPosition(oChair);
        vSurf.z = 0.0;

        location lSurf = Location(GetArea(oChair), vSurf, GetFacing(oChair));

        object oNewSurf = CreateObject(OBJECT_TYPE_PLACEABLE, "sittingsurface", lSurf, FALSE);

        SetLocalObject(oChair, "surf", oNewSurf);

        AssignCommand(oPC, ActionSit(oNewSurf));
    }
}

Он поворачивает сидящего в то направление, куда смотрит стул.\
ВОПРОС №1:
НО как грамотно сделать, чтобы вставать с него? Когда встаешь - он просто появляется рядом со стулом, идет куда указал, а потом иногда все-же срабатывает анимация встать! Выгладит не очень.
ВОПРОС №2:
Нужно ли делать проверку, на то сидит ли кто-то на стуле? Если да, хранить переменную, как локальную стула? Если да, как сделать, что бы она меняла значение, когда ПС или НПС вставал?(эта переменная пригодилась бы и для других целей)
ВОПРОС №3:
surf - это чисто локальная переменная стула? Она надеюсь не создается дубликатами каждый раз, когда садишься?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Dec 8 2005, 02:47
Сообщение #2294


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



Привет.
1.
Наскока я помню у меня багов небыло, значит немного.
Но с обьектов локалку удаляет вроде функцыя DeleteLocalLocation
Я ещё использовал: SpawnScriptDebugger
2.
Незя Так-уш устроен Тайл таверы. Качай ХакПаки или 3ДМакс.
3.
Свойства Звуков/Позиционное/Воспроизведение в Оп. точке.
Я просто запихивал сырой WAV в Overred/
//-------
ВОПРОС №1:
???
Баги игры или тормоза. Незнаю.
ВОПРОС №2:
Я непонел тебе надо, если на стуле ктото сидит то на него нельзя сесть?
Дак это помойму и без скриптов так. в крайнем случае снять галочку "Используемый" скриптом.
ВОПРОС №3:
Не она создаётся лиш один раз когда игрок Юзает стул.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
yudgi
сообщение Dec 8 2005, 04:59
Сообщение #2295


Level 4
**

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



Привет. Я попробовала катсцену написать, в принципе полчилось. Только она прошла буквально за 1 секунду я даже увидеть ничего не успела. Подскажите как время установить,чтобы она нормально шла и подскажите пожалуйста ошибки и недочёты в моём скрипте:
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oFriam = GetNearestObjectByTag("FRIAM");
object oDoor = GetNearestObjectByTag("friam_home");
object oFriamPoint = GetNearestObjectByTag("FRIAM_WP");
{
SetCutsceneMode(oPC,TRUE);
AssignCommand(oPC, ClearAllActions());
AssignCommand(oFriam, ClearAllActions());
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(210.0,30.0,45.0,CAMERA_TRANSITION_TYPE_SLOW)));
ActionDoCommand(SetCutsceneMode(oPC,FALSE));
ActionDoCommand(AssignCommand(oFriam, ActionStartConversation(oPC, "friam")));
SetCutsceneMode(oPC,TRUE);
ActionMoveToObject(GetObjectByTag("FRIAM_WP"));
ActionOpenDoor(oDoor);
ActionDoCommand(DestroyObject(oFriam));
ActionDoCommand(SetCutsceneMode(oPC,FALSE));
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Dec 8 2005, 07:44
Сообщение #2296


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



yudgi, есть функция
Neverwinter Script Source
DelayCommand(float fDelay, action aActionToDo)

она поможет :)
я так поняла, что ты хотела, чтобы началась катсцена, npc поговорил с игроком, и как бы ушел в дверь? Это можно написать примерно так:
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oFriam = GetNearestObjectByTag("FRIAM", oPC);

SetCutsceneMode(oPC,TRUE);
DelayCommand(0.1, AssignCommand(oPC, ClearAllActions()));
DelayCommand(0.1, AssignCommand(oFriam, ClearAllActions()));
DelayCommand(0.2, ActionDoCommand(AssignCommand(oPC, SetCameraFacing(210.0,30.0,45.0,CAMERA_TRANSITION_TYPE_SLOW))));
DelayCommand(0.3, AssignCommand(oFriam, ActionStartConversation(oPC, "friam"))));
}

а на окончание диалога ставишь вторую часть скрипта
Neverwinter Script Source
void main()
{
object oFriam = GetNearestObjectByTag("FRIAM", oPC);
object oDoor = GetNearestObjectByTag("friam_home", oPC);

AssignCommand(oFraim, ActionForceMoveToObject(oDoor));
AssignCommand(oFraim, ActionPlayAnimation(13, 1.0, 3.0)); //анимашка открывания замков
AssignCommand(oFraim, ActionOpenDoor(oDoor));
AssignCommand(oFraim, ActionDoCommand(SetCutsceneMode(oPC,FALSE)));
AssignCommand(oFraim, ActionDoCommand(DestroyObject(oFriam)));
}

:oops: не судите строго, в редакторе не проверяла :) но должно работать

QUOTE
Но с обьектов локалку удаляет вроде функцыя DeleteLocalLocation

Эта функция удаляет только локальные переменные типа location, для остальных есть соответствующие DeleteLocal* и там Float\Int\Object...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
yudgi
сообщение Dec 8 2005, 08:05
Сообщение #2297


Level 4
**

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



Спасибо я попробую :Thank:
Добавлено в [mergetime]1134023027[/mergetime]
AliceDiren Возникла проблемка в первом скрипте NPC нехочет разговаривать с игроком просто стоит и всё.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 8 2005, 09:49
Сообщение #2298


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Апельсинов @ Dec 8 2005, 02:01)
Так вот на счет вторых: много ли места в ОЗУ могут занимать они при неправильном использовании? Если да, как и когда их нужно удалять.

немного. Удалять как, тебе Алиса сказала.
QUOTE (Апельсинов @ Dec 8 2005, 02:01)
2. Еще один простой вопрос:
Хотел создать ПУСТУЮ таверну со стенками, но как не стирай, все равно редактор добавляет галимую статику. А на нее очень трудно что-то весить.
Можно ли как-то создать пустую комнату со стенками?

на волте глять TC Interior. Там есть пустые комнаты.
никуда от этого не денешься. (могу объяснить, откуда этот эффект вставания после того, как уже отошел)
QUOTE (Апельсинов @ Dec 8 2005, 02:01)
Нужно ли делать проверку, на то сидит ли кто-то на стуле? Если да, хранить переменную, как локальную стула? Если да, как сделать, что бы она меняла значение, когда ПС или НПС вставал?(эта переменная пригодилась бы и для других целей)

в скрипте эта проверка уже есть.
QUOTE (Апельсинов @ Dec 8 2005, 02:01)
surf - это чисто локальная переменная стула? Она надеюсь не создается дубликатами каждый раз, когда садишься?

это локальная переменная, что хранится на стуле. Каждый раз, когда кто-то садится, меняется ее значение. Дубликатов нет.
Добавлено в [mergetime]1134024762[/mergetime]
QUOTE (AliceDiren @ Dec 8 2005, 07:44)
object oFriam = GetNearestObjectByTag("FRIAM", oPC);

можно просто object oFriam = OBJECT_SELF;
QUOTE (yudgi @ Dec 8 2005, 08:05)
AliceDiren Возникла проблемка в первом скрипте NPC нехочет разговаривать с игроком просто стоит и всё.

на чем у тебя стоит скрипт этот? (который Алиса написала)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Dec 8 2005, 11:33
Сообщение #2299


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



yudgi, ты точно уверена, что есть такой разговор "friam" и что он именно так называется? Попробуй просто
Neverwinter Script Source
DelayCommand(0.3, AssignCommand(oFriam, ActionStartConversation(oPC))));

Лучше делать так, а само название разговора ставить в свойствах npc :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Апельсинов
сообщение Dec 8 2005, 13:46
Сообщение #2300


Level 1


Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



QUOTE (NedWarN @ Dec 8 2005, 02:47)
Привет.
1.
Наскока я помню у меня багов небыло, значит немного.
Но с обьектов локалку удаляет вроде функцыя
3.
Свойства Звуков/Позиционное/Воспроизведение в Оп. точке.
Я просто запихивал сырой WAV в Overred/
//-------
ВОПРОС №1:
???
Баги игры или тормоза. Незнаю.
ВОПРОС №2:
Я непонел тебе надо, если на стуле ктото сидит то на него нельзя сесть?
Дак это помойму и без скриптов так. в крайнем случае снять галочку "Используемый" скриптом.

На счет WAV - ставится, но только не как 3D,а это не интересно.

На счет снимать Usebale - спасибо, за совет, вот только как выставлять обратно, когда персонажу кликаешь встать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Апельсинов
сообщение Dec 8 2005, 13:48
Сообщение #2301


Level 1


Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



QUOTE (Lex @ Dec 8 2005, 09:49)
на волте глять TC Interior. Там есть пустые комнаты.
никуда от этого не денешься. (могу объяснить, откуда этот эффект вставания после того, как уже отошел)

расскажи чуток.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 8 2005, 14:07
Сообщение #2302


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Апельсинов @ Dec 8 2005, 13:46)
На счет снимать Usebale - спасибо, за совет, вот только как выставлять обратно, когда персонажу кликаешь встать?

не, юзабл это не то. В том скрипте, что ты привел уже все учтено и нормально сделано.

моя статья по анимации.
там пункт
2.3.2 АНИМАЦИОННЫЕ КОНСТАНТЫ ТИПА _LOOPING_.

Сиденье и хотьба по сути те же анимации.. сиденье можно отнести к _LOOPING_. А хотьбу к FIREFORGET. Когда встаешь со стула, тыкая на точку, анимация хотьбы вклинивается до финального ролика сиденья (это когда проигрывается анимация вставания). И выполняется полностью, а только потом проигрывается финальный ролик. Поэтому он сначала идет, потом встает. (для этого быстренько сев на создух). Все предельно просто.

Это особености анимации в НВН, от этого не уйдешь. Наоборот, надо пользоваться :) Плохо, что это имеет такую побочную сторону.. но что поделать :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Апельсинов
сообщение Dec 8 2005, 14:11
Сообщение #2303


Level 1


Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



QUOTE (NedWarN @ Dec 8 2005, 02:47)
Свойства Звуков/Позиционное/Воспроизведение в Оп. точке.
Я просто запихивал сырой WAV в Overred/

Прошу прощения, ставится то ставится, да не играет WAV при выставлении его как 3D, как и пишется в предупреждалке
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Апельсинов
сообщение Dec 8 2005, 14:15
Сообщение #2304


Level 1


Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



QUOTE (Lex @ Dec 8 2005, 14:07)
не, юзабл это не то. В том скрипте, что ты привел уже все учтено и нормально сделано.

УУУУб спасибо за ссылочку. А юзебл, не юзебл - просто хочу хранить переменную сидит человек или нет (в человеке), когда садится выставляем 1 , а как выставить в 0 когда встает?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Dec 8 2005, 15:04
Сообщение #2305


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

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



QUOTE (Апельсинов @ Dec 8 2005, 15:15)
А юзебл, не юзебл - просто хочу хранить переменную сидит человек или нет (в человеке), когда садится выставляем 1 , а как выставить в 0 когда встает?

зачем тебе переменная? при "вставании" не происходит событий, отлавливаемых скриптами(хотя извратиться можно). если ты по этой переменной хочешь проверять, сидит ли чел, то проще сделать такую проверку:
Neverwinter Script Source
if (GetCurrentAction(oPC)==ACTION_SIT)
{
  // сидит ;)
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 8 2005, 15:23
Сообщение #2306


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Апельсинов @ Dec 8 2005, 14:15)
УУУУб спасибо за ссылочку. А юзебл, не юзебл - просто хочу хранить переменную сидит человек или нет (в человеке), когда садится выставляем 1 , а как выставить в 0 когда встает?

на самом челе точно не надо, нет смысла. Вообще я не понимаю, чем тебя тот скрипт не устраивает?
(для синглов он упрощается чуток)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Апельсинов
сообщение Dec 8 2005, 20:47
Сообщение #2307


Level 1


Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



Ладно, сделаем так, впринципе ты прав - чего то я говорю полные глупости.
С сылочкой все решилось - я хочу сейчас сделать как там сказано, но официантку.

И все-таки можно WAV ставить как 3D звук? У меня его просто становится не слышно, какой формат использован для 3D звуков?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Dec 9 2005, 01:28
Сообщение #2308


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



QUOTE
И все-таки можно WAV ставить как 3D звук? У меня его просто становится не слышно, какой формат использован для 3D звуков?

Можно, я видел там есть 3д звуки в Формате WAV/
Попробуй перевести в Формат BMU, хотя дейсво маловероятно. Что поможет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Апельсинов
сообщение Dec 9 2005, 19:19
Сообщение #2309


Level 1


Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



Очень странный эффект! Сделал так, чтобы можно было разговаривать сидя.
Человек сидит, а полурослик встает-садится.
Есть ли какие-то хитрости по отношению к анимации разных рас?

Сажу ПС первый раз по тому скрипту. (Только запоминаю в sitplace tag стула.
Снова сажу, когда с ним начинает говорить НПС
Neverwinter Script Source
void main()
{
   object oPC=GetPCSpeaker();
   object oChair = GetObjectByTag(GetLocalString(oPC,"sitplace"));

    if(GetIsObjectValid(oChair) && GetIsObjectValid(oPC))
    {
        object oSurf = GetLocalObject(oChair, "surf");


        AssignCommand(oPC, ActionSit(oSurf));
       // SetLocalString(oPC,"sitplace",GetTag(oChair));
    }
}

По этому садим ПС снова, чтобы не крутился за НПС
Neverwinter Script Source
void main()
{
object oPC=GetPCSpeaker();
SetLocalInt(OBJECT_SELF,"BUSY",0);
AssignCommand(oPC,ClearAllActions());

  object oChair = GetObjectByTag(GetLocalString(oPC,"sitplace"));

    if(GetIsObjectValid(oChair) && GetIsObjectValid(oPC))
    {
        object oSurf = GetLocalObject(oChair, "surf");

        DestroyObject(oSurf);
        vector vSurf = GetPosition(oChair);
        vSurf.z = 0.0;

        location lSurf = Location(GetArea(oChair), vSurf, GetFacing(oChair));

        object oNewSurf = CreateObject(OBJECT_TYPE_PLACEABLE, "sittingsurface", lSurf, FALSE);

        SetLocalObject(oChair, "surf", oNewSurf);

        AssignCommand(oPC, ActionSit(oNewSurf));
        SetLocalString(oPC,"sitplace",GetTag(oChair));
    }
}

2. На счет WAV - какие-то играют, какие-то нет, это зависит от размера? мой 38мб.




LEX: Устное предупреждение: все скрипты писать ТОЛЬКО в нсс тэгах.
Добавлено в [mergetime]1134148890[/mergetime]
Прошу прощения за теги, запарил вставить второй раз, а исправить уже не мог.
Пояснение к предидущему:
Хотя эффект интересный - если посадить ПС в разговоре - он следит взглядом за НПС даже по окончанию - крутится на стуле. Кто-нибудь сталкивался с таким?
Я ему СlearAllAxtions, сажу снова - иногда встает, иногда нет, похоже локалки парят.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 9 2005, 22:58
Сообщение #2310


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

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



QUOTE (Апельсинов @ Dec 9 2005, 22:19)
Хотя эффект интересный - если посадить ПС в разговоре - он следит взглядом за НПС даже по окончанию - крутится на стуле. Кто-нибудь сталкивался с таким?

Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Name: am_ccn_spider
//:: Copyright © 2005 WRG!
//::///////////////////////////////////////////////
/*
  Скрипт am_ccn_spider, позволяет разговаривать с
  мертвым пауком.
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 18.09.2005
//:://////////////////////////////////////////////
void main()
{
        /* Теперь НПС не встанет при диалоге */
        if (GetCommandable(OBJECT_SELF)==TRUE) // Если стек команд НПС работает
        {
            SetCommandable(FALSE,OBJECT_SELF);
            DelayCommand(1.0, SetCommandable(TRUE,OBJECT_SELF));
        }
        /* Если НПС уже не понимает команды, то сразу начнем диалог */
        BeginConversation();
}

Попробуй воткнуть на OnConversation НПС.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 91 92 93 94 95 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22nd July 2025 - 06:39