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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 132 133 134 135 136 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Teranozavr_REX
сообщение Jun 25 2007, 15:11
Сообщение #3311


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Пааасибо то чтонадо для тест модуля мгновенный сон
а то тесты 40 чаров кастеров очень утомительны тем чтоприходиться ждатьпока оно выспиться ))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jun 25 2007, 15:19
Сообщение #3312


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Teranozavr_REX, ты все правильно делаешь, нужно прописать модульные свойства и то, что ты хочешь от отдыха… Вот тебе в помощь маленькая болванка скрипта отдыха:
Neverwinter Script Source
//::////////////////////////
//:: Слот: OnPlayerRest
//::////////////////////////
void main()
{
object oPC = GetFirstPC();
int iTH = GetTimeHour();

///////////////////////////    START      /////////////////////////////////////
if (GetLastRestEventType() == REST_EVENTTYPE_REST_STARTED)
{
  SetCommandable(FALSE, oPC); // заблокировать очередь
  DelayCommand(4.0, FadeToBlack(oPC, FADE_SPEED_SLOW)); // Занавес из черного экрана
  DelayCommand(18.0, FadeFromBlack(oPC, FADE_SPEED_SLOW)); // Уберем занавес
}
//////////////////////////////    FINISH    ///////////////////////////////////
if (GetLastRestEventType() == REST_EVENTTYPE_REST_FINISHED)
  {
  iTH = iTH+1;
  SetTime(iTH,0,0,0);
  SendMessageToPC(oPC, "Вы отдыхали 1 час.");
  SetCommandable(TRUE, oPC); // разблокировать очередь
  }
}


Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 25 2007, 15:30
Сообщение #3313


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

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



2 Teranozavr_REX, на будущее. Что бы знать какую использовать функцию в той или иной ситуации, будь то инициализация игрока, аль просто нужная операция, проще всего - заглянуть в Лексикон. Там они подробно рассортированы, каждая функция, к каждому эвенту. Можно так же прописать в фильтре, непосредственно в самом тулсете. Скажем, нужна операция с дверью, прописываешь Door, выдаст список ф-ций с таким элементом в своем названии.

PS: gennady еще бы знать для чего? ForceRest(GetLastPCRested()); - а для тестового модуля, ничего больше и не нужно.

Сообщение отредактировал Dik Morris - Jun 25 2007, 15:35
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 5 2007, 12:28
Сообщение #3314


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Я могу запустить скрипт что висит на обжекте на заданом слоте если не знаю его имя (имя скрипта)???

Сообщение отредактировал Teranozavr_REX - Jul 5 2007, 13:48
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 5 2007, 13:25
Сообщение #3315


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

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



все что ты можешь - запустить скрипт, зная его имя
ExecuteScript функция называется. Причем там можно указать объект, для которого он будет запущен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 5 2007, 14:19
Сообщение #3316


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



QUOTE(Lex @ Jul 5 2007, 13:25) [snapback]110284[/snapback]
все что ты можешь - запустить скрипт, зная его имя
ExecuteScript функция называется. Причем там можно указать объект, для которого он будет запущен.

Этоя знаю
Этим и пользуюсь только приходиться еще несколько строчек кода добалятьчто бы тем или иным способов выяснитьимя скрипта думал может что естьчто бы на прямую запустить
сам не нашел вот вас решил спросить
нет так нет значит буду через ExecuteScript запускать
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 10 2007, 12:05
Сообщение #3317


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Neverwinter Script Source
SummonAnimalCompanion();


Вызывает барсучка(, если в биолде есть друид.
Как вызвать паука или мишку ???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 10 2007, 23:11
Сообщение #3318


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Если верить описанию форума здесь мне ответят на любой вопрос. Вобщем я в создании модулей полный чайник. не могу разобраться со скриптами. мне просто надо было чтоб после определенного диалога в кое каком месте появлялся определенный НПС, нашел вроде как делается мол через effect appear а вот только че писать в саму строку редактора скриптов - понял. и почему некоторые надписи синие? Люди вы уж извините если вопросы тупые, просто я читал все эти мануалы - нифига там ненаписано. а в теме про скрипты все на непонятном мне языке. все таки тема для тупых вопросов. вобщем помогите разобраться.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 11 2007, 08:21
Сообщение #3319


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

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



мдя.. излагайте вопросы более структурировано, будет проще.
- в редакторе синим подсвечиваются зарезервированные слова (типы данных, логические операторы и тд)
- нужный вам скрипт состоит из пары сток. Поможет если его тут напишут, или таки хотите сами разобраться?
- если с английским нет проблем, советую почитать мануалы по скриптам, которые есть в Lexicon'е. Если с английским туго, на www.wrg.ru в разделе файлов есть частичные переводы лексикона, где как раз общие положения по скриптам и данным переведены.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 11 2007, 08:42
Сообщение #3320


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

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



Loki87, дружище. Скрипты это язык. Не зная иностранного языка петь песенки и сочинять стихи довольно сложновато.

Вот примерный расклад как должно быть, если РС разговаривает и хочешь ты что бы к ним неожиданно вошел другой НПС и подключился к разшговору. Все не проверял но сама идея должна быть такой.
Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*

*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 22.04.2005
//:://////////////////////////////////////////////

void main()
{
    object oPC = GetPCSpeaker(); // Берем РС ведущего диалог

    object oNPC = GetObjectByTag("ТАГ_ТВОЕГО_НПС");
    //Берем ближайшего НПС с Тегом "ТАГ_ТВОЕГО_НПС", он должен быть в другой локации.

    object oWp = GetWaypointByTag("WP_SPAWN_NPC_01");
    // Это мы ставим вейпоинт недалеко от двери, что бы НПС появился как бы из нее.

    if (!GetIsObjectValid(oNPC)) return; // Если НПС не существует такого то тоже
    if (GetIsEnemy(oNPC, oPC)) return; // Если РС и НПС враги то ничего не будет

    if (GetObjectType(oNPC)!=OBJECT_TYPE_CREATURE) return;
    // Если таг НПСты спутал и он не существо, а например дверь...

    AssignCommand(oPC, ClearAllActions()); // говорим РС забудь все что хотел делать
    AssignCommand(oPC, ActionPauseConversation()); // Ставим паузу в разговоре
    AssignCommand(oNPC, ClearAllActions()); // Чистим стек команд у НПС

    AssignCommand(oNPC, JumpToLocation(GetLocation(oWp)));
    // Отправляем его в точку появления в таверне у двери

    AssignCommand(oNPC, ActionForceMoveToObject(oPC, FALSE)); // Направляем ПЕШКОМ к РС

    AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oPC)))); // Поворачиваем его лицом к игроку

    AssignCommand(oNPC, ActionDoCommand(AssignCommand(oPC, ActionResumeConversation())));
    // Говорим РС продолжить диалог
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 11 2007, 09:30
Сообщение #3321


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

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



2 Teranozavr_REX, эта функция вызывает то существо что выбрал сам игрок. А так как у тебя это NPC, у него по умолчанию и стоит этот звирь. Посмотрев фит, непосредственно в тулсете, понял что изменить там что-либо, по моему нельзя. Может стоит копнуть в направление 2DA таблиц. Но игра стоит свеч? ИМХО, совсем не стоит, так что используй вместо "SummonAnimalCompanion", что-нибуть другое, благо не одной ей ограничены, и вариантов много.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 11 2007, 12:33
Сообщение #3322


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Если быть более точным, то я просто не знаю самой системы создания скриптов. Не понимаю как она работает.
Английский мой второй родной язык, так что проблем не будет. Просто "живые люди" объяснят лучше любой инструкции. В любом случае спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Neo
сообщение Jul 11 2007, 15:55
Сообщение #3323



Иконки Групп

Класс: Пьяный Мастер
Характер: Lawful Good
Раса: Тварь
MySQL, PHP, JavaScript
Порядок Времени



(IMG:style_emoticons/kolobok_light/offtopic.gif)
Цитата(Loki87 @ Jul 11 2007, 13:33) [snapback]110459[/snapback]
Если быть более точным, то я просто не знаю самой системы создания скриптов. Не понимаю как она работает.Английский мой второй родной язык, так что проблем не будет.

Цитата(Aiwan @ Jul 11 2007, 09:42) [snapback]110450[/snapback]
Скрипты это язык. Не зная иностранного языка петь песенки и сочинять стихи довольно сложновато.

(IMG:style_emoticons/kolobok_light/secret.gif) скрипты == c, delphi и иже с ними, не английский, английский нужен для мануалов (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 11 2007, 17:05
Сообщение #3324


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

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



Цитата(Loki87 @ Jul 11 2007, 13:33) [snapback]110459[/snapback]
росто "живые люди" объяснят лучше любой инструкции.

не совсем так.. точнее совсем не так. Рассказывать базу и общие принципы на пальцах на форуме - это на самом деле крайне неэффективно. (на досуге попробуйте изложить все принципы программирования в 1-2 постах. Словите неимоверный кайф.)
Базу надо набирать самому по мануалам и статьям. Когда она будет, тогда и разговор с живыми людьми по этой теме будет и интересен и продуктивен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 11 2007, 18:46
Сообщение #3325


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Lex - я понял. Как было выше замечено, мне следует быть более конструктивным. Так вот. я вроде как понемногу въезжать начал. Попробовал написать первый скрипт и тут же сел на пятую точку. Вобщем идея такова, что начинается диалог с НПС, в таверне. В этом диалоге есть 4 концовки, из которых 3 по смыслу одинаковые и четвертая отличная от первых трех. то есть при первых трех НПС просит героя сходить на встречу со вторым НПС (который уже не в таверне, а должен появиться снаружи в лесу) и тот соглашается, а в четвертом варианте герой посылает НПС так сказать на три буквы.
Я хочу зделать чтобы после первых трех "правильных" концовок диалога, тут же в лесу в определенной точке извне спавнился НПС 2. то есть чтобы он там появился только после удачного диалога с НПС 1.
А при плохом, четвертом раскладе диалога, хочу чтобы НПС 1 атаковал героя, а НПС 2 снаружи не спавнился.

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

Neverwinter Script Source
void main()
{
object oNPC=GetObjectByTag("NW_DROWROGUE001");
object oWp=GetWaypointByTag("furyspawn01");


дальше вроде надо написать - AssignCommand (oNPC, и какую тут функцию впихнуть??? типа надо effect EffectAppear () тока у меня не сработало.

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 11 2007, 20:52
Сообщение #3326


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

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



Цитата(Loki87 @ Jul 11 2007, 21:46) [snapback]110464[/snapback]
effect EffectAppear ()

Та нафик тебе этот эффект? Это типа потрясти экран. Толку то мало. Тебе надо отпраивть НПС в точку или на локальный объект. Я написал скрипт и там есть описание каждого шага. Если ты напряжешь серое вещество то все твои задачи можно решить моими командами.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 11 2007, 21:07
Сообщение #3327


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Цитата
дальше вроде надо написать - AssignCommand (oNPC, и какую тут функцию впихнуть??? типа надо effect EffectAppear () тока у меня не сработало.


Тут два варианта появления NPC на точке: или прыжок или вызов из палитры.
Neverwinter Script
AssignCommand(oNPC, ActionJumpToObject(oPoint)); // Прыжок

// ВЫЗОВ ИЗ ПАЛИТРЫ
object oWP = GetWaypointByTag("furyspawn01");
location Loc = GetLocation(oWP);
CreateObject(OBJECT_TYPE_CREATURE,"ResRef",Loc,FALSE,"newTag"); // Существо из палитры


EffectAppear () накладывает на существо эффект падения с неба, т.е. существо уже должно быть!

P.S. Я тут почти закончил писать мануал для чайников, можно найти в шпаргалке все часто используемые функции, плюс набор некоторых скриптов для модуля, ну и описание что откуда растет… Рекомендую ознакомиться, ну и конечно мануал Айва окажет большую помощь в модостроительстве.
Игроделу: http://remmgen.narod.ru/shpora.html

Цитата
за вот это - location Loc = GetLocation(oWP);
вылезла ошибка - ERROR: VARIABLE DEFINED WITHOUT TYPE

короче или я дурак, или аврора

Помедетировав, обнаружил ошибку в обозначение точки. (У тебя было oWp)...

Сообщение отредактировал gennady - Oct 8 2010, 09:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 12:01
Сообщение #3328


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Вот как раз из палитры самое то. но я зделал все как было сказано и в итоге вот что получил:

за вот это - location Loc = GetLocation(oWP);
вылезла ошибка - ERROR: VARIABLE DEFINED WITHOUT TYPE

короче или я дурак, или аврора
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 12 2007, 12:47
Сообщение #3329


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

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



Цитата(Loki87 @ Jul 12 2007, 13:01) [snapback]110490[/snapback]
короче или я дурак, или аврора

не аврора.
oWP определен выше? как? Приводите или целиком скрипты, или рабочие кусочки (+ определения используемых переменных.)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 13:29
Сообщение #3330


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Цитата(Lex @ Jul 12 2007, 11:47) [snapback]110497[/snapback]
не аврора.
oWP определен выше? как? Приводите или целиком скрипты, или рабочие кусочки (+ определения используемых переменных.)


Neverwinter Script Source
void main()
{
object oWp=GetWaypointByTag("furyspawn01");
object oNPC = GetObjectByTag("NW_DROWROGUE001");

location Loc = GetLocation(oWP);
CreateObject(OBJECT_TYPE_CREATURE,"ResRef",Loc,FALSE,"NW_DROWROGUE001");

}


по-моему я просто от незнания забыл что то добавить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 12 2007, 13:49
Сообщение #3331


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Цитата(Loki87 @ Jul 12 2007, 14:29) [snapback]110500[/snapback]
по-моему я просто от незнания забыл что то добавить.

Короче, пиши так:
Neverwinter Script Source
// ВЫЗОВ ИЗ ПАЛИТРЫ
void main()
{
object oWP = GetWaypointByTag("furyspawn01");
location Loc = GetLocation(oWP);
string ResRef = "РесРеф твоего перса в палитре, не путать с тэгом!!!";

CreateObject(OBJECT_TYPE_CREATURE, ResRef, Loc, FALSE, "NW_DROWROGUE001"); // Существо из палитры
}

Скрипт видит различие между большой и малой буквой в обозначении точки (P - p). Здесь и крылась ошибка! Кстати, РесРеф в скрипте можно писать как малыми, так и дольшими буквами, ошибки не будет. А вот тэг нет, будет ошибка! (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 14:42
Сообщение #3332


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Зделал все так все равно ошибка.

Neverwinter Script Source
void main()
{
object oWP = GetWaypointByTag("furyspawn01");
location Loc = GetLocation(oWP);
string ResRef = "fury";

CreateObject (OBJECT_TYPE_CREATURE, "ResRef", Loc, FALSE, "NW_DROWROGUE001");
}


ERROR: DECLARATION DOES NOT MATCH PARAMETERS - это относилось к последней строчке - CreateObject и т.д.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 12 2007, 17:03
Сообщение #3333


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

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



Цитата(Loki87 @ Jul 12 2007, 15:42) [snapback]110507[/snapback]
"ResRef"

там надо без ковычек
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 17:57
Сообщение #3334


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



без ковычек сначало было, но все равно не сработало. я поставил их - тоже не работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 12 2007, 19:59
Сообщение #3335


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

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



2 Loki87, ты точно делаешь все так?

Третья строка: точное указание тэга вайпоинта;

Пятая строка: указание ResRef'a того NPC которого нужно создать;

Седьмая строка: собственно настройка всех параметров, указание того, что нужен именно NPC (не плейс и т.д), и как мне кажется, ошибка у тебя в самом последнем параметре. Почему ошибка? Потому что может быть, ты задаешь, новый тэг: NW_DROWROGUE001, сам того не ведая, и хотя создать NPC именно по нему.


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


PS: вот тебе небольшой модуль в помощь (версия для игры, максимальная, на данный момент).

Сообщение отредактировал Dik Morris - Jul 12 2007, 20:12
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 132 133 134 135 136 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th July 2025 - 15:12