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

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

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


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

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



можно поменять соотв. 2да (restduration) - время реста берется оттуда согласно уровню игрока.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Esidor
сообщение Jun 23 2007, 06:52
Сообщение #3302


Level 1


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



Что неверно в этом скрипте?
Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Проверка харизмы игрока >= 16
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 18.09.2005
//:://////////////////////////////////////////////
int StartingConditional()
{
    if(GetAbilityScore(GetPCSpeaker(), ABILITY_WISDOM) >= 5)
        return TRUE;

    return FALSE;
}


Я проверял в игре, но 0 эффекта. Это в диалоге. НПС говорит.
Причины изменения: блин, ну сколько раз повторять? зачем мы вам приделывали кнопку NSS?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 23 2007, 10:44
Сообщение #3303


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

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



Что неверно? Ну, например, комментарии не соответствуют самому скрипту (IMG:style_emoticons/kolobok_light/smile.gif) .

Штатными средствами, очень трудно установить значение WIS до пяти и ниже. Эффекты или вещи.
Тогда при стандартном раскладе, текст у тебя будет появляться всегда, учти.

А по поводу "эффекта 0". Так ты, я думаю, не знаешь чего хочешь. Этот скрипт, проверят значение характеристики мудрость, у игрока. Если оно больше, или равно пяти, то NPC начинает диалог (появляется нужная строка). Ставится код, на эвент "Текст появляется при:", в диалоге. Рабочий (во всяком случае, никаких причин для того чтобы он не работал, я не вижу).

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


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

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



Цитата(Esidor @ Jun 23 2007, 07:52) [snapback]109839[/snapback]
Я проверял в игре, но 0 эффекта. Это в диалоге. НПС говорит.

конкретнее, где стоит и как. Накидай упрощенную схему диаплога типа так:
======
Фраза игрока
-- Фраза НПС 1 (с этим скриптом в "text appears when")
-- Фраза НПС 2 (без скрипта)
======
Ибо скорее всего ты банально ошибся в построении диалога.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jun 24 2007, 11:23
Сообщение #3305


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

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



Цитата(Esidor @ Jun 23 2007, 07:52) [snapback]109839[/snapback]
Что неверно в этом скрипте?


Esidor, чтобы написать банальный скрипт, достаточно просто запустить мастер скрипта, расположенный в редакторе диалога (такая кнопка с красной шляпой)... Выбрав нужные проверки или действия, достаточно просто скомпилировать полученный скрипт для его работы в игре. Вот пример скрипта составленного при помощи мастера скрипта:
Neverwinter Script Source
//::///////////////////////////////////////////////
//:: FileName sc_001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 24.06.2007 11:59:24
//:://////////////////////////////////////////////
int StartingConditional()
{
    if(!(GetAbilityScore(GetPCSpeaker(), ABILITY_WISDOM) > 15))
        return FALSE;

    return TRUE;
}

P.S. Мастер сприпта прост в управление, поэтому инструкций по его использованию я нигде не видел...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Jun 25 2007, 13:16
Сообщение #3306


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Мучает меня вопрос - можно ли сделать в диалоге проверку на имя перса, чтобы определенная ветка запускалась в зависимости от имени героя? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jun 25 2007, 14:00
Сообщение #3307


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

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



Цитата(shadowdweller @ Jun 25 2007, 14:16) [snapback]109869[/snapback]
Мучает меня вопрос - можно ли сделать в диалоге проверку на имя перса, чтобы определенная ветка запускалась в зависимости от имени героя?

можно.
Neverwinter Script Source
int StartingConditional()
{
return GetName(GetPCSpeaker())=="Lex";
}

ставим скрипт на ту строку, на которой мне должны дать крутую плюшку:

= Фраза игрока
== Фраза НПС с бонусом для меня. (на эту строку скрипт в text appears when)
== Фраза НПС для остальных игроков-неудачников
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jun 25 2007, 14:13
Сообщение #3308


Level 4
**

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



QUOTE(Dik Morris @ Jun 22 2007, 17:55) [snapback]109825[/snapback]
2 Teranozavr_REX, ну можно это реализовать, используя солянку функций:
Первым делом, налаживать черный экран, затем ждать две секунды, и использовать ForceRest (мгновенный отдых), потом собственно снимать экран (не беру в учет анимацию и т.д, именно ядро).

Думаю такой вариант подойдет.


ForceRest я уже нашел проблема скорее в том что не могу найти слот для установки скрипта и\или определить object который отдыхает ибо юзал OBJECT_SELF
пробовал свойства модуля -> события -> OnPlayerRest ставить
Neverwinter Script Source
ForceRest (OBJECT_SELF);

предварительно убрав все чтотам есть
чар как спал так и спал и никаких изменений не произошло((


Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 25 2007, 14:23
Сообщение #3309


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

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



Ну конечно не произойдет ничего.
Neverwinter Script Source
object oPC = GetLastPCRested();
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jun 25 2007, 15:10
Сообщение #3310


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

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



Напомню: OBJECT_SELF в любом эвенте - это тот объект, к которому этот эвент привязан. OnPlayerRest - модульный эвент, поэтому OBJECT_SELF в нём - модуль.

Сообщение отредактировал virusman - Jun 25 2007, 15:10
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
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 () тока у меня не сработало.

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 17th June 2024 - 03:02