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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 6 7 8 9 10 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
DBColl
сообщение Jul 20 2004, 10:07
Сообщение #176


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Тарре, попробуй:
Neverwinter Script Source
void main()
{
    object oObject = GetFirstObjectInArea(OBJECT_SELF);
    while (GetIsObjectValid(oObject) && GetObjectType(oObject)==1)      
    {
        if (GetTag(oObject)=="bw_prayer")          
         {
             AssignCommand(oObject, ActionPlayAnimation(ANIMATION_LOOPING_MEDITATE, 1.0, 9999.9));                    AssignCommand(DelayCommand(1.0, SetCommandable(FALSE, oObject)));
        }      
         oObject = GetNextObjectInArea(OBJECT_SELF);      
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ice Blade
сообщение Jul 20 2004, 10:08
Сообщение #177


Трехмерный Маньяк
Иконки Групп

Класс: Мастер Оружия
Характер: Lawful Neutral
Раса: Нежить
NWN: Контент
Проклятие Левора



Dark Lord & Co Ну вы даёте млин. (IMG:style_emoticons/kolobok_light/biggrin.gif) подобный фит "нормально" сделать в принцепе нельзя:
- Сама система ДнД реализованная в НВН, не позволяет так вести огонь очередями, разве что если стрельба является своего рода mass effect-ом.
- сколько раз можно объяснять, что есть два типа фитов: активные - т.е те что действуют как заклинания (песня барда там, или дыхание дракона) и пасивные - т.е те которые работают сами по себе например та же специализация в оружии или приведённый тобой быстрый выстрел, разница в том что первые имеют скрипт (он же спелл), вторые используют всякие genеric и вызовы движка,- т.е редактированию не подлежат (IMG:style_emoticons/kolobok_light/sad.gif) , единственное что позволенно это использовать самопальные константы фитов в модульных скриптах.

Что можно сделать? в теории:
В ХотУ у оружия появилось свойство onHitCastSpell(конечно по умолчанию, никаких арбалетов или луков там не предусмотренно, - но это поправимо (IMG:style_emoticons/kolobok_light/smile.gif) ) Суть, идеи - данное свойство выполнит скрипт помимо всего дав нашим скриптерам location цели, с помощью которого они без труда смогут расчитать массовые повреждения в округе. Но возникает проблемма с визуальным оформлением, в частности как заставить заставить все эти пули попасть в цель?.
Выхода я "пока" 2-а:
1. Делать это дело невидимым (IMG:style_emoticons/kolobok_light/smile.gif) , помнишь как в старых игрушках огонь из ствола и искры из цели, но ничего между ними.
2. Извращения с системами частиц - что в принцепе может дать тот самый "ожидаемый" результат, но потребует мнооооого гемороя.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dark Lord
сообщение Jul 20 2004, 12:18
Сообщение #178


Level 11
***

Класс: Страж Тьмы
Характер: Lawful Evil
Раса: Человек
NWN: Контент



В общем ясно сделать полноценно очередь даже в форме быстрого выстрела с увеличенным числом пуль нельзя. Ладно, если понадобится сделаю пулей из нескольких частей (роем пуль) и анимацией самого випона. Кстати, Айс, растолкуй как сделать вот такое :

есть в инвентарике объект, штык, вернее багинет. Есть винтарик. Задача : с помощью УникПауэра на штыке нацепить его на винтарик. Ну все ясно да : проверитьт есть ли в инвентаре винтарик с нужным тегом, удалить штык удаолить винтарик и дать копье сделанное в форме винтарика. У копья УникПауэр который возвращает винтарик и штык. НО ! На одну и ту же винтовку можно надеть разные штыки ! Более того штык и винтарик могут быть КВЕСТОВЫМИ ! Т.е. надо как-то "запоминать" образы винтарика и штыка а затем их восстанавливать в инвентаре причем уже из ДРУГОВО скрипа. ВОТ как ? Заодно расскажи как повесить ЮникПауэр ибо стыдно но до сих пор не допер (IMG:style_emoticons/kolobok_light/sad.gif) скрип написать на уник пауэр так-то смог а вот проверить повесив немогу...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 20 2004, 12:56
Сообщение #179


Level 3
*

Класс: Убийца
Характер: Lawful Good
Раса: Человек



У меня такой вопрос: Как сделать так, чтобы стояло 5 камней и от них друг к другу отходил луч, или чтобы он был направлен на NPC.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 20 2004, 16:39
Сообщение #180


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Подробней, пожалуйста. Вообще, эффект луча - это VFX_BEAM_*** , напр. VFX_BEAM_COLD.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jul 20 2004, 16:50
Сообщение #181


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



EffectBeam(...);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 20 2004, 17:42
Сообщение #182


Level 3
*

Класс: Убийца
Характер: Lawful Good
Раса: Человек



А как сделать чтобы он от камней был направлен на НПС.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 20 2004, 20:13
Сообщение #183


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Neverwinter Script Source
effect EffectBeam(
    int nBeamVisualEffect,
    object oEffector,
    int nBodyPart,
    int bMissEffect = FALSE
);


nBeamVisualEffect
VFX_BEAM_* константа, озбозначающая эффект, напр. VFX_BEAM_COLD.

oEffector
эффектор (ПС, НПС, камни)

nBodyPart
часть тела, в которую эффект направлен

bMissEffect
оставь как есть
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 20 2004, 22:17
Сообщение #184


Level 3
*

Класс: Убийца
Характер: Lawful Good
Раса: Человек



Большое спасибо (IMG:style_emoticons/kolobok_light/yes3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 20 2004, 22:48
Сообщение #185


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Всегда пожалуйста. Приятно иметь дело с вежливым человеком. Все ведь за "спасибо" работаем...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 20 2004, 22:54
Сообщение #186


Level 3
*

Класс: Убийца
Характер: Lawful Good
Раса: Человек



Наверное я прогоняю, но мне пишет "неправильная переменная", если не сложно напишите пример.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 20 2004, 23:41
Сообщение #187


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Могу ошибаться (пишу в отрыве от тулсета), но вроде так, где oPC - твой ПС, oStone - твой камень.
Neverwinter Script Source
ApplyEffectToObject(1, EffectBeam(VFX_BEAM_COLD, oStone, 1), oPC);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 21 2004, 09:16
Сообщение #188


Level 3
*

Класс: Убийца
Характер: Lawful Good
Раса: Человек



(IMG:style_emoticons/kolobok_light/bad.gif) Неполучается у меня, или пишет нет точки с запятой, или нет левой скобки,(хотя это всё на месте),или пишет потеря анализатора переменной, или просто ничего в игре не происходит, напишите скрипт уже с переменными, и куда его ставить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jul 21 2004, 09:42
Сообщение #189


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Попробуй на OnHeartbeat камня...
Neverwinter Script Source
object oPC = GetFirstPC();
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectBeam(VFX_BEAM_COLD, OBJECT_SELF, BODY_NODE_CHEST), oPC);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Jul 21 2004, 11:11
Сообщение #190


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



Цитата(DBColl @ Jul 21 2004, 09:42)
Попробуй на OnHeartbeat камня...
Neverwinter Script Source
object oPC = GetFirstPC();
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectBeam(VFX_BEAM_COLD, OBJECT_SELF, BODY_NODE_CHEST), oPC);

Если я правильно помню - камень обязан быть НЕ static, иначе ничего не выйдет. Хотя это было давно, до 1.3х и может что-то изменилось (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragnor
сообщение Jul 21 2004, 14:30
Сообщение #191


Level 3
*

Класс: Убийца
Характер: Lawful Good
Раса: Человек



Спасибо, скрипт работает отлично, но мне нужно чтобы он на НПС был направлен, а не на ПК
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Jul 21 2004, 14:37
Сообщение #192


Level 10
***

Класс: Воин
Характер: Lawful Neutral
Раса: Человек
NWN: Скриптинг [PW]



Тогда
Neverwinter Script Source
object oNPC = GetNearestObjectByTag("TAG_NPC",OBJECT_SELF);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectBeam(VFX_BEAM_COLD, OBJECT_SELF, BODY_NODE_CHEST), oNPC);


TAG_NPC это тэг твоего НеПиСя. Придумай ему что нить оригинальное
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
M@ster_o_B
сообщение Jul 21 2004, 17:41
Сообщение #193


Level 9
***

Класс: Теневой Танцор
Характер: Chaotic Good
Раса: Полуэльф
NWN: Маппинг



Помогите! Срочно! Плиииззз!
Написал совсем детский скрипт на OnUsed стула
Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
object oChair = OBJECT_SELF;
AssignCommand(oPC, ActionSit(oChair));
}


Вроде простой, но он не работает! Скрипт должен сажать перса на стул при его использовании. Перс к стулу подходит но на него не садится!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Auren
сообщение Jul 21 2004, 17:44
Сообщение #194


Сивоха
***

Класс: Некромант
Характер: Lawful Evil
Раса: Человек



object oPC = GetLastUsedBy();

А фапще лучше фот:
Neverwinter Script Source
void main()
{
   object oPC = GetLastUsedBy();
   object oChair = OBJECT_SELF;
   if (GetIsPC(oPC))
   {
   if (GetIsObjectValid(oChair) && !GetIsObjectValid (GetSittingCreature(oChair)))
       {
       AssignCommand(oPC, ActionSit(oChair));
       }
   }
}


Сообщение отредактировал Auren - Jul 21 2004, 17:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
M@ster_o_B
сообщение Jul 21 2004, 18:18
Сообщение #195


Level 9
***

Класс: Теневой Танцор
Характер: Chaotic Good
Раса: Полуэльф
NWN: Маппинг



Auren, большое сенькс! Заменил GetPCSpeaker на GetLastUsedBy и все заработало! Но я так и не понял в чем разница!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 21 2004, 18:25
Сообщение #196


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



GetPCSpeaker(); - это ПС, участвующий в диалоге.
А GetLastUsedBy(); - это последний использовавший стул.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
M@ster_o_B
сообщение Jul 21 2004, 18:29
Сообщение #197


Level 9
***

Класс: Теневой Танцор
Характер: Chaotic Good
Раса: Полуэльф
NWN: Маппинг



Цитата
GetPCSpeaker(); - это ПС, участвующий в диалоге.

То, что только в диалоге я не знал. Спасибо, Тарр, разъяснил!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 21 2004, 18:45
Сообщение #198


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Для всех:
Обращайте внимание в первую очередь на ее(функции) название и описание (чтобы увидеть его, клините 2 раз по функции, описание появится в субокне редактора). Назначение можно понять уже на этой стадии.
пример: GetPCSpeaker(. . . );
get - вернуть
PC - ПСплейер
Speaker - говорящий.
Итого: вернуть ПС, участвующего в диалоге. Все просто.

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

Цитата
То, что только в диалоге я не знал. Спасибо, Тарр, разъяснил!

Всегда рад помочь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dark Lord
сообщение Jul 23 2004, 19:59
Сообщение #199


Level 11
***

Класс: Страж Тьмы
Характер: Lawful Evil
Раса: Человек
NWN: Контент



ВОПРОС ! Какое событие происходит (если происходит) при ЗАКАНЧИВАНИИ стрел в обойме заряженной в слот и как его отследить ? Очень надою. (IMG:style_emoticons/kolobok_light/shout.gif)
Добавлено в [mergetime]1090602099[/mergetime]
Ну или хотя бы при заряжании в СЛОТ очередной обоймы при заканчивании старой.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Jul 23 2004, 21:09
Сообщение #200


Level 8
***

Класс: Псионик
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Хех. Авто перезарядку делаешб? :-)
Как я разумею, каждый раз когда ты берешь стрелу из пучка, срабатывает событие на избятие этой вещи из инвентаря. Тебе надо отследить последнюю стрелу... Хм... Тогда делай так: на это событие ставь фильтр "Если в слоте стрел больше ничего нет", то ДЕЙСТВИЕ. В твоем случае - взять в этот слот еще одну пачку стрел.
Не проверял, но имхо должно работать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 6 7 8 9 10 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16th June 2025 - 20:15