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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 12 13 14 15 16 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Вишес
сообщение Nov 12 2004, 08:11
Сообщение #326


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



Aiwan
честно говоря, нет :unsure: .

Ну да ладно, скоро я патч поставлю... По крайней мере, я на это расчитываю...
Еще такой вопрос, кто - нибудь знает, как создавать особые возможности у артефактов, вроде тех каковые дают в начале теней андертайда? Вопрос в том, как скрипты привязываются к предметам.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
|REZIDENT|
сообщение Nov 12 2004, 09:45
Сообщение #327


Level 1


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



Помогите пожалута скриптом.
Нужно усадить НПС на стул, стол, кровать хоть куда нибудь (тока не на пол).
Нужно как то указать сам обьект на которые будет усажен НПС и самомго НПС.
Саму анимацию присаживания я заню, только эта сволочь (НПС) никак не хочет садится на заданный обьект. Либо его в сторону относит постоянно от стула, либо он вообще исчезает кудато.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vanes
сообщение Nov 12 2004, 10:36
Сообщение #328


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

Класс: Вор
Характер: Neutral Evil
Раса: Эльф
NWN: Скриптинг [PW]
Validor2



вопрос...
если две ситуации...
1. работает постоянно скрипт, который выболняет каждые N секунд определенные действия (вроде харбитного, тока интервалы времени, через которое скрипт запускается можно менять). Действий, допустим, всего 3: подсчет и сохранение в локальную переменную модуля постоянно изменеющихся данных, "опрос" локальных переменных на определенном кол-ве объектов, ну и, скажем, небольшой дебаговый скрипт, использующий 2-3 простеньких функции...
2. есть 3 подобных скрипта, каждый из которых выполняет отведенное ему действие... В данном случае скрипты выполняются с промежутком в 2 секунды, сначала первый, потом второй, потом третий, потом снова первый и т.д.
И в первом, и во втором случае скрипты постоянно опрашиваются харбитом модуля на одну или несколько переменных...

в общем хочу узнать, какой из вариантов будет "кушать" меньше ресурсов ???
даже если разница незначительна - для меня она имеет значение

ну и сразу еще вопросик на ту же тему... если действий (а значит и скриптов во втором случае) не 3, а скажем 10... как изменится ситуация ???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Nov 12 2004, 10:53
Сообщение #329


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

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



|REZIDENT| разговор неконкретный. Вот почему... Ты просишь выправить ситуацию, в которой неизвестный НПС не может семть на неизвестный стул. КОД В ССТУДИЮ! :D Что бы разобраться с твоей ошибкой нужно посмотреть твою домашнюю работу. И так на будущее всех касается. Есть ошибка? Кидайте код. Жду :yes:

QUOTE (Q'elt'rine @ Nov 12 2004, 11:11)
Вопрос в том, как скрипты привязываются к предметам.

Сделай предмет используемым в свойствах, там где все свойства: спеллы, вес и прочее. Дальше напиши скрипт ему и при использовании на слоте в модуле OnActivateItem
QUOTE
The OnActivateItem Event fires whenever a player uses an item via its "Activate Item" radial menu option.

При использовании этого предмета сработает скрипт.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
0_o
сообщение Nov 12 2004, 15:25
Сообщение #330


Level 2
*

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



Приветствую...

Подскажите как можно получить ПС, который пытается открыть закрытую дверь. Мой вариант скрипта висит на onfailtoopen и не дает ПС

CODE
object oPC = GetLastUsedBy();

 
if (GetLocalString( oPC,"PlayerName") != GetName(oPC))

 {
   SetLocalString( oPC,"PlayerName", GetName(oPC));
   SetLocalInt(GetModule(), "SomeOneTryOpen", TRUE);
   SetLocalObject(GetModule(), "oPC", oPC);
 }
  else SetLocalInt(GetModule(), "SomeOneTryOpen", FALSE);

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

Сообщение отредактировал 0_o - Nov 12 2004, 16:17
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Nov 12 2004, 16:06
Сообщение #331


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

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



Neverwinter Script Source
if(GetIsPC(oPC)....

Вот так проверить можно и НУЖНО.
Добавлено в [mergetime]1100264876[/mergetime]
И вообще, скажи ЗАЧЕМ это скрипт. Задачу и конкретней обрисуй. Я может тебя не понял...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Nov 12 2004, 16:22
Сообщение #332


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



|REZIDENT| предложу такой вариант:
на OnSpawn НПС
CODE
void main()
{
object oCreature = GetObjectByTag("тэг_существа");
object oChair = GetObjectByTag("тег_стула");
AssignCommand(oCreature,ActionSit(oChair));
}



Если игрок попробует с ним заговорить(разговора нет) то НПС встанет, чтобы не вставал ставь этот же скрипт на OnConversation :yes:

Сообщение отредактировал Лито - Nov 12 2004, 16:24
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вишес
сообщение Nov 14 2004, 02:40
Сообщение #333


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



Я выяснил, в чем прикол с хенчменами. Это не сверсией игры связанно.
В HotU в свойствах модуля в графе onModuleLoad стоит скрипт в котором встречается строчка SetMaxHenchmen(3);
Все дело в ней. Я сделал скрипт, отличающегося от стандартного, стоящего по умолчанию в onModuleLoad, только наличием этой строчки. И теперь у меня в модуле может быть до трех хенчменов одновременно. :lol:
к стати, в том скрипте лежит невключенным много интересного, например можно включить действие фаерболов на нейтральных персонажей.

Теперь у меня другой вопрос (у меня всегда будут вопросы :D ) как скриптом убить персонажа. Не стереть а именно убить (чтоб кровью истек и умер в мучениях :DB: )?

Наверно, это просто, но я не догоняю. :crazy:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Nov 14 2004, 07:34
Сообщение #334


Level 10
***

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



Дык есть такая вещь
Neverwinter Script Source
// Create a Death effect
// - nSpectacularDeath: if this is TRUE, the creature to which this effect is
//  applied will die in an extraordinary fashion
// - nDisplayFeedback
effect EffectDeath(int nSpectacularDeath=FALSE, int nDisplayFeedback=TRUE)

Вот и накладываешь ее на персонажа функцией ApplyEffectToObject
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gor
сообщение Nov 15 2004, 02:57
Сообщение #335


Level 3
*

Класс: Рейнджер
Характер: Lawful Good
Раса: Человек
NWN: Маппинг



Как присвоить диалог фамильяру или саммоненному животному? Чтобы можно было поговорить с ним и послать куда надо :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Nov 15 2004, 18:13
Сообщение #336


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

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



QUOTE (gor @ Nov 15 2004, 05:57)
Как присвоить диалог фамильяру или саммоненному животному? Чтобы можно было поговорить с ним и послать куда надо

Обычно у фамильяра уже есть диалог. Он ведь кастуется из палитры. Но можно любой другой например так:

Neverwinter Script Source
ActionStartConversation(oPC, "имя_диалога_из_палитры")


Добавлено в [mergetime]1100531723[/mergetime]
Такой командой можно заставить говорить с заданным диалогом из палитры. Просто вставь его имя.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
elf-demon
сообщение Nov 15 2004, 18:37
Сообщение #337


Level 2
*

Класс: Тайный Лучник
Характер: Lawful Good
Раса: Полуэльф



Aiwan
у вас на сайте статья прикольная про скрипты а то я вних не очень допираю=(
Так вот статья - "Aurora Toolset" Описание функций тулсета.
Там только часть 1 аь остальные? не мог бы дать мне все? либо суда на флрум скинь ссылки либо на мыло -
elf-demon@yandex.ru
Cпасибо!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gor
сообщение Nov 20 2004, 00:12
Сообщение #338


Level 3
*

Класс: Рейнджер
Характер: Lawful Good
Раса: Человек
NWN: Маппинг



2 Q'elt'rine

Поставил патч?Ж) То биш - достал ли где nwmain.exe или таки качал ребилд?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Nov 20 2004, 01:18
Сообщение #339


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

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



Гор, файлы часто попадаются на крупных шардах или порталах где есть НВН. Поищи...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Nov 20 2004, 16:20
Сообщение #340


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

Класс: Монах
Характер: Lawful Good
Раса: Человек
NWN: Контент



Подсобите, кто-нить.
Нужно "затемнить" сцену чтобы ничего видно не было, кроме диалогов.

Делаю раз:
CODE
void main {
  object oPC = GetPCSpeaker();
  effect eDark = EffectVisualEffect(VFX_DUR_BLACKOUT);
  ApplyEffectToObject(DURATION_TYPE_INSTANT, eDark, oPC);
}

(Кусок кода. По событию от диалога.)

Делаю два: компайл саксессфул 0 еррорз.

Делаю три: Тест.

Результат: НЕ ПАШЕТ. Совсем.

Не работает эффект VFX_DUR_BLACKOUT ! Почти все остальные работают, а этот - нет. В чем загвоздочка - то ?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mihason
сообщение Nov 20 2004, 19:10
Сообщение #341


Level 2
*

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



народ скрипт нужен!!!
Мишень для лука .... нажимаеш взламать ... и надо чтобы при каждом выстреле давался 1 ехп .... любому лвл ... можете помоч??И как сделать чтобы при ипользавание он выбирал команду взломать?


И как сделать чтобы после того как ты открыл дверь она акрывалась через 2 сек?

Сообщение отредактировал Mihason - Nov 20 2004, 19:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raven
сообщение Nov 20 2004, 19:42
Сообщение #342


Level 8
***

Класс: Фея
Характер: Chaotic Evil
Раса: Фея



На OnDamaged мишени ставишь скрипт, в нем пишешь

Neverwinter Script Source
const int XP =1;

void main()

{
    object oPC = GetLastDamager(OBJECT_SELF);

    if (!GetIsPC(oPC)) {

    return;

    }

    GiveXPToCreature(oPC, XP);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mihason
сообщение Nov 20 2004, 20:17
Сообщение #343


Level 2
*

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



помогите плз срочно надо ...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Nov 21 2004, 00:02
Сообщение #344


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

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



QUOTE (Mihason @ Nov 20 2004, 22:10)
И как сделать чтобы после того как ты открыл дверь она акрывалась через 2 сек?

На OnOpen двери ставь.
Neverwinter Script Source
void main()
{
object oPC = GetLastOpenedBy();
object oDoor = OBJECT_SELF;
if (!GetIsPC(oPC))
  {
  DelayCommand(7.0f, ActionCloseDoor(oDoor));
  return;
  }
AssignCommand(oDoor, ActionWait(2.0));
AssignCommand(oDoor, ActionCloseDoor(oDoor));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilharess
сообщение Nov 21 2004, 00:09
Сообщение #345


Level 2
*

Класс: Клерик
Характер: Neutral Evil
Раса: Эльф



AssignCommand(oDoor, ActionCloseDoor(oDoor)); не нужно связывать она и так закроется ActionCloseDoor(oDoor)); :lol:
Добавлено в [mergetime]1100985220[/mergetime]
Хотел сделать проверку на каст спела в арии, и вот что пришло в голову.. можно ли так или есть лучше способы?
На онхб арии
CODE

object oLastSpellCaster = SetLocalObject(GetModule(), GetName(GetLastSpellCaster()), GetLastSpellCaster());

А у нпс на onPerception
CODE

if (GetLastPerceived() == oLastSpellCaster)
{
 if (GetLastPerceptionSeen())
              {
              действия нпс

И где про NW_FLAG.. посмотреть можно?
И еще:) если на пути нпса попадается закрытая дверь, то он пытается сломать ее, можно ли сделать что бы он сначала пробывал открывать ее (хочу что бы работал onfailtoopen) или это уже ядро?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mihason
сообщение Nov 21 2004, 00:28
Сообщение #346


Level 2
*

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



как сделать чтобы при нажатии использовать переходило на каманду взломать?(нажимаеш использовать а он ломает ....)
И еще ... Я сделал чтобы дверь закрывалась через 2 сек ... но как сделать чтобы она была закрта вобще( чтобы нужен был ключь чтобы открыть) какбы 1 раз откываеш ключем и она закрывается ... и чтобы 2 раз опять ключ надо было ...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elven king
сообщение Nov 21 2004, 01:48
Сообщение #347


Level 12
****

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Эльф
NWN: Маппинг



QUOTE (Mihason @ Nov 21 2004, 00:28)
И еще ... Я сделал чтобы дверь закрывалась через 2 сек ... но как сделать чтобы она была закрта вобще( чтобы нужен был ключь чтобы открыть) какбы 1 раз откываеш ключем и она закрывается ... и чтобы 2 раз опять ключ надо было ...

В своойствах двери выбираешь закладку Lock, далее ставишь галочку около lock потом около can be relocked, далее key required to unlock lock в поле key tag пишешь тэг ключа, которым будет открываться дверь, вот и все. :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вишес
сообщение Nov 21 2004, 02:24
Сообщение #348


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



gor
Извиняюсь, что так поздно отвечаю, - скачал ребилд с сайта Игромании - не я. есть друзья с нелимитированым нетом. А потом скачал no cd. Еть же тема про это.
- это было не в тему. а в тему:
Старая песня про усаживание персонажей на стул.
мой скрипт вглядит так

void main()
{
object oChair = GetNearestObjectByTag("seatable");
AssignCommand(OBJECT_SELF, ActionSit(oChair));
}
записывается в OnSpawn(если бы еще кто сказал. когда эта штука - OnSpawn - срабатывает, было бы совсем хорошо :yes: ) но персонаж перед разговором вскакивает, а если этот же скрипт положить и в OnConversation, то просто никакого разговора не будет - персонаж никак на клики не реагирует. :xz:

И еще, произошел у меня странный эффект замещения
Было два хенчменя и один зверь, вызванный хенчменом. Присоединяется еще один хенчмен, но почемуто тутже отсоединяется другой. Хтоя я прописал количество хенчменов равным трем. Что за фигня такая? Изза зверя чтоли? :bad:

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mihason
сообщение Nov 21 2004, 10:21
Сообщение #349


Level 2
*

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



QUOTE
В своойствах двери выбираешь закладку Lock, далее ставишь галочку около lock потом около can be relocked, далее key required to unlock lock в поле key tag пишешь тэг ключа, которым будет открываться дверь, вот и все.
У меня на русском. Но я так понел что ключь будет проподать?
Мне надо чтобы ключь не пропадал и дверь после 2 сек закрывалась на замок.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elven king
сообщение Nov 21 2004, 12:27
Сообщение #350


Level 12
****

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Эльф
NWN: Маппинг



QUOTE (Mihason @ Nov 21 2004, 10:21)
Но я так понел что ключь будет проподать?
нет он не будет пропадать...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 12 13 14 15 16 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th March 2024 - 16:12