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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 38 39 40 41 42 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Алексашка
сообщение Mar 30 2005, 21:52
Сообщение #966


Level 3
*

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



С этим скриптом у меня все работает. Я его слегка подредактировал.
Ставил на heartbeat
void main()
{
object oW1= GetWaypointByTag("W1");
object oW2= GetWaypointByTag("W2");
object oN1 = GetObjectByTag("N1");
if (GetIsDay() && GetLocalInt(oN1, "Day") != 1)
{
DelayCommand(7.0, AssignCommand(oN1, ClearAllActions()));
DelayCommand(10.0, AssignCommand(oN1, SpeakString("I HATE DAY!!!!")));
DelayCommand(15.0, AssignCommand(oN1, ActionForceMoveToObject(oW2,TRUE, 1.0, 12.0)));
SetLocalInt(oN1, "Day", 1);
SetLocalInt(oN1, "Night", 0);
return;

}

if (GetIsNight()&& GetLocalInt(oN1, "Night") != 1)
{
DelayCommand(7.0, AssignCommand(oN1, ClearAllActions()));
DelayCommand(10.0, AssignCommand(oN1, SpeakString("Nigh? I like night...")));
DelayCommand(15.0, AssignCommand(oN1, ActionForceMoveToObject(oW1,TRUE, 1.0, 12.0)));
SetLocalInt(oN1, "Day", 0);
SetLocalInt(oN1, "Night", 1);
return;
}
}
:yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Mar 30 2005, 22:16
Сообщение #967


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Алексашка, огромное те Архангеловское спасибо. :D
Только вот загвостка... Будет ли НеПиСь делать это каждый день, т.е.:
День, затем ночь, потом снова день, потом ночь и т.д. Или он только 1 раз это сделает?
ЗЫ
Самому лень проверять... Имхо оч долго ждать надо...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Алексашка
сообщение Mar 30 2005, 22:16
Сообщение #968


Level 3
*

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



QUOTE (Ferst @ Mar 30 2005, 21:07)
Всем: Вроде бы человек сказал, что не работает наполовину. При чем тут событие?


Первая и вторая часть отличаются только одним - вейпоинтом (фраза не в счет).
Может, просто нет вейпоинта с таким именем? ;)

Да, и еще. Сделайте оптимизировано. Зачем два раза проверять одно и то же условие?

Neverwinter Script Source
void main()
{
= object oW1= GetWaypointByTag("W1");
= object oW2= GetWaypointByTag("W2");
= object oN1 = GetObjectByTag("N1");
DelayCommand(7.0, AssignCommand(oN1, ClearAllActions()));
if (GetIsDay()==TRUE)
{=
= DelayCommand(10.0, AssignCommand(oN1, SpeakString("I HATE DAY!!!!")));
= DelayCommand(15.0, AssignCommand(oN1, ActionForceMoveToObject(oW2,TRUE, 1.0,=љ 12.0)));
}
else
{
= DelayCommand(10.0, AssignCommand(oN1, SpeakString("Nigh? I like night...")));
= DelayCommand(15.0, AssignCommand(oN1, ActionForceMoveToObject(oW1,TRUE, 1.0, 12.0)));
}
}

Оптимизация вещь хорошая. Только ClearAllActions ставить лучше после выполнения условий день или ночь. Тогда в spawne непись может ночью спать, а днем дрова рубить например. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Алексашка
сообщение Mar 30 2005, 22:20
Сообщение #969


Level 3
*

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



QUOTE (Archangel @ Mar 30 2005, 22:16)
Алексашка, огромное те Архангеловское спасибо. :D
Только вот загвостка... Будет ли НеПиСь делать это каждый день, т.е.:
День, затем ночь, потом снова день, потом ночь и т.д. Или он только 1 раз это сделает?
ЗЫ
Самому лень проверять... Имхо оч долго ждать надо...

Будет делать. Куда он денется. :D Для этого и ставится на heartbeat. А переменные day & night для того чтобы он каждый раунд не пытался вопить и идти к точке. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ferst
сообщение Mar 30 2005, 22:26
Сообщение #970


Level 2
*

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



QUOTE (Алексашка @ Mar 30 2005, 22:16)
Оптимизация вещь хорошая. Только ClearAllActions ставить лучше после выполнения условий день или ночь. Тогда в spawne непись может ночью спать, а днем дрова рубить например. :yes:

Мда... Невнимательность продолжается.
Кто-то сказал, что это Хиартбит? Я уже говорил, что о событии человек не спрашивал.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Алексашка
сообщение Mar 30 2005, 22:30
Сообщение #971


Level 3
*

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



QUOTE (Ferst @ Mar 30 2005, 22:26)
Мда... Невнимательность продолжается.
Кто-то сказал, что это Хиартбит? Я уже говорил, что о событии человек не спрашивал.

Сплошной оффтопик. Я не говорю о чем он спрашивал, Я говорю, как работает. Я понял задачу так: Непись днем пашет, а ночью идет спать. И это каждый день и ночь. А не разовая команда. :yes: Не воспринимай критику в штыки. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ferst
сообщение Mar 30 2005, 22:36
Сообщение #972


Level 2
*

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



Это не офтопик, а уточнее, что написано не для хиартбита, а основываясь на том, что было указано в вопросе.

Я не против критики, если она имеет смысл быть.

Сообщение отредактировал Ferst - Mar 30 2005, 22:43
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Mar 30 2005, 22:38
Сообщение #973


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

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



Neverwinter Script Source
if (GetIsNight()&& GetLocalInt(oN1, "Night") != 1)

Вроде надо поставить число. не 1 а нвпример 10!

Добавлено в [mergetime]1112211572[/mergetime]
Алексашка Выделяй весь свой скрипт и нажимай NSS. Так всем легче будет понятно! ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Mar 31 2005, 01:30
Сообщение #974


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

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



QUOTE
Не подкинет ли кто скриптик для закрытия двери ночью?

Вот Арх, можеш например онЭнтер Локации поставить.(Писал без Туллса, Мож чё неправильно!).

Neverwinter Script Source
void main()
{
object oDoor = GetObjectByTag("DOOR_NIGHT");
if (GetIsNight()==TRUE)
{
DelayCommand(7.0,ActionCloseDoor(oDoor)));
}
}


Сообщение отредактировал Nokoll - Mar 31 2005, 01:35
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Mar 31 2005, 05:58
Сообщение #975



Иконки Групп

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



QUOTE (Nokoll @ Mar 30 2005, 22:38)
Neverwinter Script Source
(GetIsNight()&& GetLocalInt(oN1, "Night") != 1)


Вроде надо поставить число. не 1 а нвпример 10!

Nokoll, в данном случае 1 для проверки истинности\ложности условия. Что угодно там можно ставить. Главное и переменную потом менять на именно эту цифру.

2 Archangel Запирание дверей на ночь. Есть в базе скриптов. Ссылка на пост со скриптом :)
QUOTE (Archangel @ Mar 30 2005, 22:16)
ЗЫ Самому лень проверять... Имхо оч долго ждать надо...

А поставить 1 час = 1 минуте не судьба? Изменить начало дня и ночи и проверить на двух сменах. А?

Сообщение отредактировал Tiger Greyhawk - Mar 31 2005, 06:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 31 2005, 09:21
Сообщение #976


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

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



QUOTE (Aiwan @ Mar 29 2005, 22:01)
ГОСПОДА НОВОИЧКИ. ЕСЛИ У ВАС ЕСТЬ ВОПРОС, ОФОРМИТЕ ЕГО ПО ВОЗМОЖНОСТИ ПОДРОБНО И В ОДНОМ ПОСТЕ. НЕ НАДО ФЛУДИТЬ ТУТ НЕ ЧАТ А ФОРУМ. А МОДЕРАТОРАМ РЕКОМЕНДУЮ НАЧАТЬ ПРЕДУПРЕЖДАТЬ.

похоже особо этот пост никого не вразумил.



ОФФТОП потерт
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 31 2005, 09:24
Сообщение #977


Level 3
*

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



2 archangel ЗАРАБОТАЛО :D :D :D
ВОПРОС:
1МОЖНО ЛИ СДЛЕАТЬ ДИАЛОГ 2-УХ НЕПИСЕЙ(ТИПА ОДИН СТОИТ НАПРОТИВ ДРУГОГО И НАД НИМИ ПОЯВЛЯЮТСЯ ИХ РЕПЛИЛКИ)
2НЕ МОГ БЫ ТЫ ВЫЛОЖИТЬ КОМАНДЫ АНИМАЦИИ ?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 31 2005, 09:49
Сообщение #978


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

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



Еще раз поворю и влеплю для острастки предов пару. КТо будет флудить тут забаню нахер на неделю! Все вопросы что вы тут постите уже разбирались! :agr: Поисковиком пользуйтесь. И нехрен изобретать КРИВЫЕ скрипты когда в базе лежат нормальные или в форуме старом ан рельсах. Детский сад ,емае... Так кому навешать пилюлей? *Оворачивается в поисках жертвы...* :drag:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение Mar 31 2005, 13:16
Сообщение #979


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
Так кому навешать пилюлей? *Оворачивается в поисках жертвы...* 


люлей надо отвешать кому то , кто вовсе не причем, а так мимо проходил...чтоб остальные млели и дрожали (" ну если уж ему так отвесили, то что с нами будет") :D :DB:

..уупс...Айван, не смотри на меня так хитроо .... =)
*проворно уплетает в направлении ближайшего укрытия* :yes: :D

Сообщение отредактировал mamuc - Mar 31 2005, 13:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 31 2005, 19:54
Сообщение #980


Level 3
*

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



{осторожно осматриваясь по сторонам тихо шепчет}
а где-нить есть обновления для редактора а то некотрые erf. файлы не открываются пише ттипа версия редактора левая{.
аакуратно осматирваясь уходит в тень}

Айван: Кто из нас идиот? Каого бока касается ереф в теме скриптов? Бан на три дян за идиотизм. Очень странно и непонятно твое поведение. Я огорчен, думал ты нормальный парень. :unsure: Засрали всю тему, как новички. Позор. Тошно смотреть.

Сообщение отредактировал Aiwan - Mar 31 2005, 21:29
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Mar 31 2005, 20:50
Сообщение #981


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



Какие .erf файлы? Это при импорте такое пишет? Ни разу не видел.
А так, вообще, тулсет вместе с игрой обновляется. А где патчи брать (у Биоварей) и как их ставить - это тема отдельная и во многих местах давно описанная.

И это не по скриптам, вроде, вопрос. :)

Добавлено в [mergetime]1112293239[/mergetime]
Действительно, экспортированное из 1.64 в 1.62 экспортироваться не будет (кто бы мог подумать?). Однако, это можно легко обойти. Переименуй .erf в .hak, открой его, удали оттуда ExportInfo.gff, сохрани, переименуй обратно в erf. Усе! :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Apr 1 2005, 16:04
Сообщение #982


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

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



QUOTE
1МОЖНО ЛИ СДЛЕАТЬ ДИАЛОГ 2-УХ НЕПИСЕЙ(ТИПА ОДИН СТОИТ НАПРОТИВ ДРУГОГО И НАД НИМИ ПОЯВЛЯЮТСЯ ИХ РЕПЛИЛКИ)

У меня получается попробуй так. на onEnter Локации.
DelayCommand(60.0, AssignCommand(oHi, ActionStartConversation(oPC, "hiller_talk", FALSE,FALSE)));
вместо моего oHi сделаеш своего, а вместо диалога "hiller_talk" Свой поставиш! :unsure:

Добавлено в [mergetime]1112360846[/mergetime]
Friedrich Что то я думаю ты наспамил, не здесь и не там, Айван, рассердится!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Apr 1 2005, 19:24
Сообщение #983


Level 9
***

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



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

Впринципе можно сделать проще. Когда наносится урон, существу которое должно превращатся, оно дестроится и на его место создается уже готовая форма волка(ну или еще кого), но все же хотелось бы узнать, возможен ли более продвинутый способ :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Apr 1 2005, 19:30
Сообщение #984


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

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



Можно.
Надо в polymorph.2da добавить нужный тебе полиморф.
В тему 2да таблицы сходи.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Apr 2 2005, 16:31
Сообщение #985


Level 9
***

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



У меня еще один вопрос. Необходимо сделать следующие:
Есть стражник который идет по двум вэйпоинтам. На ходу он должен говорить фразы, как бы самому себе.Типа: "Левой-правой, раз-два-три!", "Мои бедные ноги...".
Ходьбу по вэйпоинтам я сделал :D и с разговором управился, но соединить эти два действия у меня не получается. Либо стражник стоит и говорит сам с собой, либо он бодро шагает по заданому пути...

Сделал такой скрипт:
для разговора с самим собой
Neverwinter Script Source
void main()
{
ActionStartConversation(OBJECT_SELF);
}
:)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Apr 2 2005, 17:08
Сообщение #986


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

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



Навскидку 2 варианта. Опишу более простой.. Сам на днях кой-чего так делал.

Сделал НПС, поставил вэйпоинты. Он ходит, все ок. ЧТобы над головой были фразы, лично я редактировал ЮД скрипт.
Вот такая вставка в обработку события ХБ
(Можно впихнуть в конец скрипта ХБ, перед запуском эвента. Но если у тебя у этого НПС спавн-скрипт с раскомментированными эвентами, то лучше в ЮД)

Neverwinter Script Source
/// ВО ВРЕМЯ БОЯ И ДИАЛОГА С РС ФРАЗЫ НЕ ГОВОРИМ
if ((!IsInConversation(OBJECT_SELF))&&(!GetIsInCombat(OBJECT_SELF)))
        {
        string s;
        /// РАНДОМ ПО 20, а ФРАЗ 10. СПЕЦИАЛЬНО. ЧТОБЫ ГОВОРИЛ НЕ ПОСТОЯННО, А ЧЕРЕЗ РАЗ В СРЕДНЕМ.
        /// УВЕЛИЧИТЬ ИЛИ УМЕНЬШИТЬ ЧАСТОТУ ПРОИЗНЕСЕНИЯ ПРОСТО - МЕНЯЙ 20. БЛИЖЕ К 10, ГОВОРИТ ЧАЩЕ.
        switch (Random(20))
            {
            case 0:
                s="фраза 1"; break;
            case 1:
                s="фраза 2"; break;
            // и так далее
            case 10:
                s="фраза 11"; break;

            }
        if (s!="") SpeakString(s);
        }


Минусы данного метода - для каждого такого НПС свой ХБ.
Что можно сделать?
- повесить локалки на НПС в тулсете со строками, что он будет говорить. Соответственно тогда брать фразы надо будет из этих локалок.
(имхо лучший вариант. Тогда скрипт будет 1, но все будут говорить то, что ты записал для них)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Apr 2 2005, 20:38
Сообщение #987


Level 9
***

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



Спасибо код вроде работает :good: . С локалками надо разобраться...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ferst
сообщение Apr 2 2005, 21:57
Сообщение #988


Level 2
*

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



С переменными действительно проще :)
На самом неписе делаете заранее подготовленные локальные переменные (у каждого объекта есть это свойство)
переменные будут иметь имена

speach1
speach2
speach3
.....

А код изменится соответственно:
Neverwinter Script Source
/// ВО ВРЕМЯ БОЯ И ДИАЛОГА С РС ФРАЗЫ НЕ ГОВОРИМ
if ((!IsInConversation(OBJECT_SELF))&&(!GetIsInCombat(OBJECT_SELF)))
        {
        string s;
        GetLocalString(OBJECT_SELF, "speach"+IntToString(Random(20)));
        if (s!="") SpeakString(s);
        }


Надеюсь, как устанавливать переменные все знают.

Кстати. Вот скрипт, построенный на таком же принципе:
Neverwinter Script Source
void main()
{
if (GetLocalInt(OBJECT_SELF, "treaschest_rnd_open")==FALSE)
{
  string sItem = GetLocalString(OBJECT_SELF, "treaschest_rnd_"
       +IntToString(Random(GetLocalInt(OBJECT_SELF, "treaschest_rnd_col"))+1));
  object oItem = CreateItemOnObject(sItem);

  SetLocalInt(OBJECT_SELF, "treaschest_rnd_open", TRUE);
  DelayCommand(60.0f, SetLocked(OBJECT_SELF, TRUE));
  DelayCommand(60.0f, DeleteLocalInt(OBJECT_SELF, "treaschest_rnd_open"));
}
}

Вешается на onOpen.
Сундук открывается ключом, затем создается случайный предмет, из списка ResRef`ов, заданных заранее в переменных
"treaschest_rnd_*"
Где * : 1..GetLocalInt(OBJECT_SELF, "treaschest_rnd_col")
То есть и максимальная величина задается в переменной.
Если переменная пустая, то объект не создастся, что может внести элемент неудачи при генерации сокровища.
Через 60 секунд сундук автоматически запирается.

if (GetLocalInt(OBJECT_SELF, "treaschest_rnd_open")==FALSE)
Введено для невозможности генерации сокровищ, если сундук еще не закрылся на ключ.

ЗЫ: Надеюсь, пост не был лишним :)

Сообщение отредактировал Ferst - Apr 3 2005, 14:42
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Apr 2 2005, 22:42
Сообщение #989


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

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



QUOTE (Ferst @ Apr 2 2005, 21:57)
На самом деле, с переменными еще проще может быть

я и написал, что
QUOTE (Lex @ Apr 2 2005, 17:08)
Минусы данного метода - для каждого такого НПС свой ХБ.
Что можно сделать?
- повесить локалки на НПС в тулсете со строками, что он будет говорить. Соответственно тогда брать фразы надо будет из этих локалок.
(имхо лучший вариант. Тогда скрипт будет 1, но все будут говорить то, что ты записал для них)

:) Просто расписывать не стал.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Apr 3 2005, 10:00
Сообщение #990


Level 9
***

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



А у меня новая задачка. Кто играл в Готику, видел как с наступлением ночи, торговцы на рыночной площади, расходятся по своим домам.
Хотелось бы сделать что то подобное. Есть торговец, с наступлением ночи он двигается к объекту (к двери например), после чего дестроится. С наступлением дня, торговец создается около двери и двигается к своей точке на рынке. Не знаю как подступится, наверное снова через хартбит... :xz:

Ferst, у тебя какой то косяк в коде :unsure:

Сообщение отредактировал Лито - Apr 3 2005, 10:07
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 38 39 40 41 42 > » 
Ответить в эту темуОткрыть новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 14th May 2025 - 21:21