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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 86 87 88 89 90 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Lex
сообщение Apr 20 2006, 12:58
Сообщение #2166


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

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



2 статьи по анимации на старом сайте. Сайт снесли в феврале вроде, а статьи на новый не переехали пока. Когда ты тогда интересовался этим вопросом, я давал линки. Сейчас у мя нет на харде тех материалов.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Apr 20 2006, 16:41
Сообщение #2167


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

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



Kavin
Статьи есть ЗДЕСЬ


LEX: забыл про народ, уехали оттуда черте когда, а сайт висит. (IMG:style_emoticons/kolobok_light/smile.gif) ) Надеюсь перенесем на сайт статью.


Сообщение отредактировал Dik Morris - Apr 20 2006, 18:06
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Kavin
сообщение Apr 20 2006, 20:23
Сообщение #2168


Level 8
***

Класс: Паладин
Характер: Lawful Good
Раса: Полуэльф
ПОДМАСТЕРЬЕ



Спасибо! Работаю.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Apr 21 2006, 18:00
Сообщение #2169


Level 5
**

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



Кто-нибудь может написать скрипт на повышения силы, ловкости и т.д?
Так чтобы это было постаяннао. (IMG:style_emoticons/kolobok_light/swoon.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Apr 21 2006, 18:02
Сообщение #2170


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

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



NSS
// Apply eEffect to oTarget.
void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)

NSS
// Create an Ability Increase effect
// - bAbilityToIncrease: ABILITY_*
effect EffectAbilityIncrease(int nAbilityToIncrease, int nModifyBy)

NSS
// Set the subtype of eEffect to Supernatural and return eEffect.
// (Effects default to magical if the subtype is not set)
// Permanent supernatural effects are not removed by resting
effect SupernaturalEffect(effect eEffect)


1 минус - иконка справа от портрета игрока.
(Хотя это как сказать... Кажется ЗДЕСЬ Lex, предлагал иной способ.)

PS:
QUOTE
Так чтобы это было постаяннао

int DURATION_TYPE_PERMANENT.

Сообщение отредактировал Dik Morris - Apr 21 2006, 18:19
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Apr 23 2006, 14:59
Сообщение #2171


Level 5
**

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



А можит кто-то другой сможыт исправить так чтобы небыло значька.
[/nss]void main()
{
object oTargetPC = GetPCSpeaker();
effect oEffectAbilityIncrease = EffectAbilityIncrease (ABILITY_CONSTITUTION, 1);
ApplyEffectToObject(DURATION_TYPE_ PERMANENT, oEffectAbilityIncrease, oTargetPC);
}

И ещё напишыте пожалуйста скрипт на снятие одежды с героя.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
[MoF]Darth_Nick
сообщение Apr 23 2006, 15:03
Сообщение #2172


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить
NWN: Скриптинг [PW]



QUOTE
И ещё напишыте пожалуйста скрипт на снятие одежды с героя.

поиск юзай..
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elf-Drow
сообщение Apr 23 2006, 15:11
Сообщение #2173


Level 8
***

Класс: Теневой Танцор
Характер: True Neutral
Раса: Эльф



Здрасьте, не подскажете как можно в определенный момент, к примеру катсцены, включить воспроизведение музыки? пробовал через звук(обычный, как объект), но он не хочет воспроизводиться. А музыку свою в игру вставлял в формате BMU, как описано в мануале Айвана, но он ее не видит, хотя делал все точно по инструкции. Подсобите, пожалуйста, советом...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Apr 23 2006, 15:18
Сообщение #2174


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

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



Вкл. боевую музыку:
NSS
// Play the battle music for oArea.
void MusicBattlePlay(object oArea)

Если нужно сменить уже играющею то:
NSS
// Change the background day track for oArea to nTrack.
// - oArea
// - nTrack
void MusicBackgroundChangeDay(object oArea, int nTrack)

Либо:
NSS
// Change the background night track for oArea to nTrack.
// - oArea
// - nTrack
void MusicBackgroundChangeNight(object oArea, int nTrack)

Соответственно с battle точно также.
NSS
// Change the battle track for oArea.
// - oArea
// - nTrack
void MusicBattleChange(object oArea, int nTrack)

QUOTE
музыку свою в игру вставлял в формате BMU, как описано в мануале Айвана, но он ее не видит, хотя делал все точно по инструкции.

Заместо константы TRACK_ , ставь номер своей композиции, из 2da ambietmusic.

QUOTE
А можит кто-то другой сможыт исправить так чтобы небыло значька.

Повторюсь: http://www.wrg.ru/forums/index.php?showtopic=1798

QUOTE
И ещё напишыте пожалуйста скрипт на снятие одежды с героя.

NSS
// Unequip oItem from whatever slot it is currently in.
void ActionUnequipItem(object oItem)


Сообщение отредактировал Lex - Apr 23 2006, 16:36
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elf-Drow
сообщение Apr 24 2006, 15:04
Сообщение #2175


Level 8
***

Класс: Теневой Танцор
Характер: True Neutral
Раса: Эльф



А дык через что присваивать Area? Через Location? А Location тода через что?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Apr 24 2006, 15:18
Сообщение #2176


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

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



QUOTE
А дык через что присваивать Area? Через Location? А Location тода через что?

В зависимости от ситуации.
Например, если ты хочешь сменить трек в текущей локации:
NSS
object oArea = GetArea(OBJECT_SELF);// Т.е oArea - сама лока

Если в какой либо другой:
NSS
object oArea = GetArea(GetObjectBtTag(""));


Сообщение отредактировал Dik Morris - Apr 24 2006, 15:23
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Apr 26 2006, 01:49
Сообщение #2177


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



Доброго времени суток. У меня возник вопрос, если он глупый, прошу строго не судить - так как это мой первый опыт в написании скриптов.
Решил немного модифицировать скрипт с реакцией гварда на оружие в руках игрока: при виде игрока с оружием в руках, гвард начинает диалог(предлагает заплатить штраф), при отказе платить штраф вызывается следующий скрипт:
CODE

void main()
{
object oPC = GetPCSpeaker();
object OS = OBJECT_SELF;
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);

      if (!GetIsObjectValid(oWeapon)) return;

      DelayCommand(0.30, ActionSpeakString("Может так ты лучше поймешь!"));
      DelayCommand(0.60, ActionUseFeat(FEAT_IMPROVED_DISARM, oPC));
      DelayCommand(1.40, ApplyEffectToObject(1, EffectKnockdown(), oPC, 8.0));
      DelayCommand(0.25, SetStandardFactionReputation(REPUTATION_TYPE_ENEMY, 50, oPC));
      DelayCommand(2.30, ClearAllActions(TRUE));
      DelayCommand(4.30, ActionPickUpItem(oWeapon));
      DelayCommand(7.20, ActionMoveToObject(oPC, FALSE, 1.4));
      DelayCommand(10.0, AssignCommand(OBJECT_SELF, ActionStartConversation(oPC, "dl_afterdisarm")));
}

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

З.Ы.
DelayComand() - это задержка от начала выполнения скрипта или от предыдущего действия?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Apr 26 2006, 02:53
Сообщение #2178


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

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



QUOTE(windhover @ Apr 26 2006, 02:49) [snapback]79626[/snapback]
DelayComand() - это задержка от начала выполнения скрипта или от предыдущего действия?

от начала
QUOTE(windhover @ Apr 26 2006, 02:49) [snapback]79626[/snapback]
Чаще всего гвард после проведения дизарма остается хостайл и продолжает атаковать игрока.

ну ессно. Ты ж его заставляешь применить фит, который расценивается как атака. Смена отношения между РС и хостайлами не ясна.
Если уж на то пошло, то тебе надо такое:
- отчистить стеки акций у обоих участников
- (тут можно поставить TemporaryEnemy)
- применить фит дизарм
- наложить кнок
- с небольшой задержкой после дизарма очищай персональные отношения, можешь насильно поставить нейтрал
- запускай диалог. Но учти, что после боя требуется время.

как вариант - выкинуть дизарм. Те анимашка (быстрый взмах рукой.. скажем ANIMATION_LOOPING_TALK_FORCEFUL), эффект кнока, копирование оружия на землю и удаление из руки. Подбор и диалог сразу.

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Apr 26 2006, 18:26
Сообщение #2179


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



QUOTE(Lex @ Apr 26 2006, 02:53) [snapback]79629[/snapback]

как вариант - выкинуть дизарм. Те анимашка (быстрый взмах рукой.. скажем ANIMATION_LOOPING_TALK_FORCEFUL), эффект кнока, копирование оружия на землю и удаление из руки. Подбор и диалог сразу.

Спасибо большое, вариант без дизарма действителшьно лучше, так как стража тоже иногда "1" бросает =)
Еще один глупый вопрос: если скрипт вызывается из диалога, ClearAllActions(TRUE) у кого очистит стэк акций?

P.S. простите, поправил.. Mozilla чегойто... (IMG:style_emoticons/kolobok_light/unsure.gif) (IMG:style_emoticons/kolobok_light/unsure.gif)

Сообщение отредактировал windhover - Apr 26 2006, 18:55
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Apr 26 2006, 20:45
Сообщение #2180


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

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



QUOTE(Aiwan @ Apr 26 2006, 19:32) [snapback]79700[/snapback]
Еще один глупый вопрос: если скрипт вызывается из диалога, ClearAllActions(TRUE) у кого очистит стэк акций?

в диалоге если не указываешь объект, или указываешь OBJECT_SELF, то это относится к НПС, с которым разговариваешь. Тут это особо не нужно (я про отчистку), но лучше подстраховаться и ввести в правило: что-то делаешь с Игроком/Неписью - отчисть его стек, если это возможно. (бывают случаи когда стек наоборот чистить не нужно, но эт другая история)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Apr 28 2006, 05:20
Сообщение #2181


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Добрый день (IMG:style_emoticons/kolobok_light/smile.gif) . Не особо разбираюсь в скриптах - все познания ограничиваются установкой локальных переменных, созданием монстров и эффектами, поэтому частенько заглядываю сюда в поисках готовых примеров. Долго искал, но не смог обнаружить, как сделать:
1.Вызов приживалы (спутника, существа у магов и колдунов), вызов элементалей и планаров доступным только в определенных областях и с наличием определенных предметов в инвентаре.
2.Предмет, вызывающий определенное существо сроком на 6 минут, после чего его использование становится невозможным на 12 минут.
Буду очень признателен, если кто-нибудь окажется достаточно терпеливым и объяснит мне, как это сделать (IMG:style_emoticons/kolobok_light/smile.gif) .
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Apr 28 2006, 07:17
Сообщение #2182


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

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



QUOTE
2.Предмет, вызывающий определенное существо сроком на 6 минут, после чего его использование становится невозможным на 12 минут.

В закрытой локации, поставь готового NPC.
Поскольку конкретно ничего не сказано о:
QUOTE
после чего его использование становится невозможным

Я сделал так что NPC, после истечении 6 минут, прыгает на нужный вайпоин.
(Скажем, в той же закрытой локе)

На onActivateItem в мод. св-вах:
NSS
void main()
{
  object oPC = GetItemActivator(); // Игрок;
  object oNPC = GetObjectByTag(""); // Таг вызываемого NPC;
  object oWP = GetObjectByTag(""); // Таг "домашнего" вейпа;
  object oItem = GetItemActivated(); // Активируемый предмет;

     if (GetTag(oItem) == "") // Здесь укажи таг oItem ;
      {
        if (GetLocalInt(oPC, "Local") == FALSE)
         {
            SetLocalInt(oPC,"Local", 1);
            DelayCommand(1200.0, SetLocalInt(oPC,"Local",0));
            effect eVisual = EffectVisualEffect(VFX_IMP_DIVINE_STRIKE_FIRE);
            DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPC));

            DelayCommand(0.7, AssignCommand(oNPC, ClearAllActions(TRUE)));
            DelayCommand(1.0, AssignCommand(oNPC, ActionJumpToObject(oPC)));

            DelayCommand(599.7, AssignCommand(oNPC, ClearAllActions(TRUE)));
            DelayCommand(600.0, AssignCommand(oNPC, ActionJumpToObject(oWP)));

           
         }

        if (GetLocalInt(oPC, "Local") == TRUE)
         FloatingTextStringOnCreature("Нужное время еще не пришло.", oPC);
      }
}

QUOTE
1.Вызов приживалы (спутника, существа у магов и колдунов), вызов элементалей и планаров доступным только в определенных областях и с наличием определенных предметов в инвентаре.

Это можно сделать, немного модернизировав вышеприведенный код, т.е добавить проверку на айтемы, локи и т.п...

Сообщение отредактировал Dik Morris - Apr 28 2006, 07:48
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Apr 28 2006, 10:44
Сообщение #2183


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Премного благодарен (IMG:style_emoticons/kolobok_light/smile.gif) .
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Apr 29 2006, 14:15
Сообщение #2184


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

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



Есть гостиница, в ней - разные комнаты. В некоторых есть окна, во всех есть различные источники искусственного освещения.
Нужно сделать естественное освещение, т.е. с наступлением дня и ночи менять тайловое освещение в тех комнатах, в которых есть окна.
Но поскольку просто так скриптами границы комнаты не определишь (насколько я знаю), есть вопрос: Как, по-вашему, наиболее удобно/эффективно обозначать расположение тайлов комнаты для скрипта? Можно, конечно, и в скрипт коррдинаты каждого тайла запихнуть, но это как-то не очень. Повторюсь: ВСЕ тайлы менять не надо, только определённые комнаты.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mefist
сообщение Apr 29 2006, 18:42
Сообщение #2185


Level 1


Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Человек



Недавно сел за редактор и никак не могу понять следующие вещи.

Как приказать NPC двигаться в точку? И как назначить эту точку?

При генерации вещей в сундуках, они выбратся из указанного уровня вещей. А можно ли редактировать эти самые уровни? Например, при генерации золота на высоком уровне получается около 20 золотых, а мне нужно примерно 1000-3000. И можно как-то сделать, чтобы они генерировались из заданного мной списка вещей?


Сообщение отредактировал mefist - Apr 29 2006, 18:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Apr 29 2006, 18:51
Сообщение #2186


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

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



mefist
Для начала прочитай FAQ по тулсету - отпадет много вопросов. ЗДЕСЬ ~ 4mb

QUOTE
Как приказать NPC двигаться в точку?

С помощью фун-ции:
NSS
void ActionMoveToObject(
    object oTarget,
    int bRun = FALSE,
    float fRange = 1.0f
);

QUOTE
И как назначить эту точку?

WayPoints Wizard.
QUOTE
И можно как-то сделать, чтобы они генерировались из заданного мной списка вещей?

Например так:
NSS
void main()
{
  // OnOpen сундука
    object oPC = GetLastOpenedBy();

    if (GetLocalInt(OBJECT_SELF,"Open") == 0)
     {
      SetLocalInt(OBJECT_SELF,"Open",TRUE);

      if (GetHitDice(oPC) == 1)
         CreateItemOnObject("ResRef_itema", OBJECT_SELF);        

      if (GetHitDice(oPC) == 2)
         CreateItemOnObject("ResRef_itema", OBJECT_SELF);

      if (GetHitDice(oPC) == 2)
         CreateItemOnObject("ResRef_itema", OBJECT_SELF);
    // 3, 4, 5 левелы и т.д...
         }
}


Сообщение отредактировал Dik Morris - Apr 29 2006, 19:27
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Apr 29 2006, 19:31
Сообщение #2187


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

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



QUOTE(virusman @ Apr 29 2006, 15:15) [snapback]80129[/snapback]
Но поскольку просто так скриптами границы комнаты не определишь (насколько я знаю), есть вопрос: Как, по-вашему, наиболее удобно/эффективно обозначать расположение тайлов комнаты для скрипта?


в 1.67 есть что-то вроде GetAreaSize(), но близко не смотрел. Для обозначения тайлов удобнее всего ставить вэйпоинты, и по их координатам определять, что за тайл.

Почему-то когда пыталася сделать нечто подобное, то ничего не было видно, пока не выйдешь и снова не зайдешь в область. RecalculateStaticLighting() не помогает. Похоже цвет вделанных в тайлы факелов считается статическими данными, т.е. считываются один раз при заходе в область, а RecalculateStaticLighting пересчитывает карту теней, учитывая статические данные о свете и свет плейсов. Кажется по этой же причине нельзя создавать звуки скриптами. Хотя, может быть просто что-то криво делал (IMG:style_emoticons/kolobok_light/wacko.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mefist
сообщение Apr 29 2006, 21:16
Сообщение #2188


Level 1


Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Человек



Спасибо. А можно все-таки менять границы категорий при генерации вещей? Например, при генерации золота категории high создается около 20 золота, а мне нужно, допустим, около 1000. Или есть какая-то другая альтернатива? С деньгами то проще, их можно делать через рандом, а вот с вещами мне что-то ничего в голову не приходит.

И еще вопрос, как сделать чтобы в диалоге учавствали сразу несколько NPC?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Apr 29 2006, 21:39
Сообщение #2189


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

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



QUOTE(mefist @ Apr 30 2006, 00:16) [snapback]80189[/snapback]
И еще вопрос, как сделать чтобы в диалоге учавствали сразу несколько NPC?

Читайте мой мануал с сайта. Очень много чего написано.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mefist
сообщение Apr 29 2006, 22:22
Сообщение #2190


Level 1


Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Человек



Ты про Цикл "Aurora Toolset"? я что-то там этого не нашел. Не мог бы дать ссылку?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 86 87 88 89 90 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2025 - 23:19