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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
135 страниц V  « < 70 71 72 73 74 > »   
Ответить в эту темуОткрыть новую тему
> ОДИНОЧНЫЙ ВОПРОС, на любую тулсетовскую тему
Aiwan
сообщение Sep 15 2006, 17:28
Сообщение #1761


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

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



Поставь шрифт Courer
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 17 2006, 13:56
Сообщение #1762


Level 5
**

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



Кто сможет выложить скрипт на появления строки в диалоге один рас.
К примеру, непись мне что-то говорит, а у меня три варианта ответа и после использования какой небудь строки, при повторной попытки поговорить с неписем тот вариант исчезает, остается только два.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Sep 17 2006, 14:04
Сообщение #1763


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

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



Артём, тебе бы следовало изучить работу локальных переменных. Статей на эту тему, есть ВЕЛИКОЕ множество, ссылки давать не буду - сам найдешь, если внимательно почитаешь форум, сайт.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 17 2006, 14:26
Сообщение #1764


Level 5
**

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



Будь человеком дай пару ссылок. (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 17 2006, 14:31
Сообщение #1765


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

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



http://www.city-of-masters.ru/forums/index.php?showtopic=867
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 17 2006, 16:35
Сообщение #1766


Level 5
**

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



Способа щяс буду учить.

То что я искал там нет.

Ладно буду дожидаться НВН 2 вот там и буду учить скрипты.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Sep 17 2006, 17:14
Сообщение #1767


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

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



А это не то??
QUOTE
ВОПРОС
Здраствуйте, я вот тут захотел сделать простейший стационарный квест, но в этом я полный 0.
1) Как сделать чтобы при первом разгооре игрока с НПС показывался первый диалог;
2) После первого разговора включался второй диалог;
3) Как сделать проверку на наличие предмета у игрока? Например ели у игрока есть например ключ ему включался определеный диалог (тоесть вот смотри пункт 2, идет второй диалог. и там спрашивають.ты добыл ключ? говориш да, и делаеться проверка на наличие)
4) После того как квест выполнен включался следующий диалог


ОТВЕТЫ
Делается очень легко - с пмощью Локальных переменных...

Как ты мог догадатсья, полистав словарик или просто почитав надписи в тулсете при создании конверсейшна:
TextAppearsWhen - значит "Текст появляется когда..." и там нужно выбрать скрипт. Это значит что в скрипте задаются условия появления. (кстати там есть визард)
ActionTaken - значит "Предпринимаемое действие" (или типа того), то есть - что-то происходит после того как игрко выбрал этот ответ в диалоге, или НПЦ вышел на ветку с этим скриптом... Тут опять же есть визард.
Визард (Wizard) - помощник создания простых скриптов, отображается как шапочка...

Итак, теперь рассказываю подробнее...
Мы создаем все три ветки (для данного примера):

- Привет, игрок
-- Привет, нпц!
- Есть ключ?
-- Есть (проверка)
-- Нету
- Молодец, ты справился с квестом! Терь вали отсюдова!

На первом диалоге (Привет, игрок) вешаем скрипт проверки локальной переменной, например назовем её - quest_prog (quest progress). Для этого можно использовать визард (пока в плане скриптинга обьяснять не буду - запустите визард, посмотрите на код и надеюсь все поймете) - визард в TextAppearsWhen (ТекстПоявляетсяКогда) - и там выбираем Local Variable, выбираем: int (числовая переменная, целая (не дробная)), пишем название переменной (q_prog), is less than (меньше чем), constant int (заданное число), 1.
Далее на продолжении первого диалога ("привет, нпц!") вешаем скрипт (можно опять же визардом) на создании переменной q_prog и задачи ей числа 1. Set Local Variable (Задать локальную переменную), int, q_prog, constant int, 1.
Теперь переходим к второй ветке диалога (есть ключ?) - надпись будет высвечиваться если q_prog равно 1. (Думай разберешься как сделать проверку ), ну а на ответе: (Есть) - делать првоерку на ключ... Опять же визардом: Item in Inventory и там вписываем тэг вещицы (лучше писать не попамяти - акопировать и вставлять...). Ну и Action Taken - присваиваем q_prog значение 2.
И последнюю ветку вешаем првоерку, если q_prog равен 2.

Раз стат квест - значит надо выдать награду. Выдавать награду можно опять же через ActionTaken (Give Rewards)... Примечание: если хочешь наградить вещью - то там надо вписывать ResRef вещит, а не тэг.

Кстати попутно с квестом можно вести запись в дневнике (закладочка - Others... там думаю разберешься)
ПРИМЕЧАНИЕ №1: Локальные переменные - остаюстя на игроке, так что в следущем квесте не используй переменную q_prog...
ПРИМЕЧАНИЕ №2: Если хорошо подумаете - то сможете это все еще оптимизирвоать и улучшить... (хоят бы для повышения переменной - не обязательно использоват ьнесколько разных скриптов )

Еще есть тут: http://www.city-of-masters.ru/forums/index...ost&p=48763

Сообщение отредактировал -fenix- - Sep 17 2006, 17:43
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 17 2006, 18:28
Сообщение #1768


Level 5
**

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



Я хотел, чтобы скрипт не менял строку, а убирал одну из них.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Sep 17 2006, 18:33
Сообщение #1769


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

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



Артём, убрать ты НИКАК не сможешь. (Т.е стереть.)
Нужно ставить условие при котором появляется строка, (проверка локальной переменной, значение 0 & FALSE) потом собственно устанавливать эту локальную переменную. (ActionsTakes, при выборе данной строки)
Читай мануал, там это подробно расписано.


PS: ссылки принципиально приводить не буду, все это уже было много раз, но видимо не особо кому-то нужно. Да и свой трафик, у меня нет никакого желания расходовать.

Сообщение отредактировал Dik Morris - Sep 17 2006, 18:41
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 17 2006, 19:37
Сообщение #1770


Level 5
**

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



QUOTE(Артём @ Sep 17 2006, 20:36) [snapback]91887[/snapback]

Вот скрипт на появления текста один рас в день.
[/nss]
int StartingConditional()
{
object oPC = GetPCSpeaker();
int nDay = GetCalendarDay();
if (GetLocalInt(oPC, "once_a_day_phrase") != nDay)
{
SetLocalInt(oPC, "once_a_day_phrase", nDay);
return TRUE;
}
return FALSE;
}
[nss]
Мне нужно почти тоже самое только чтобы он появлялся ни каждый день а всего 1 рас.
Или такога скрипта нет? (IMG:style_emoticons/kolobok_light/biggrin.gif)



Сообщение отредактировал Артём - Sep 17 2006, 19:37
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Sep 17 2006, 20:36
Сообщение #1771


Level 5
**

Класс: Друид
Характер: Lawful Neutral
Раса: Человек



Артём, на условие появления строки напиши скрипт
NSS
int StartingConditional()
{
    int iResult;

    iResult = GetLocalInt(GetPCSpeaker(), "PEREM") == 0;
    return iResult;

}

А на ActionsTakes
NSS
SetLocalInt(GetPCSpeaker(), "PEREM", 1);


Всё строка появится только один раз. Тебе об этом же говорили Dik Morris и -fenix-
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 17 2006, 20:53
Сообщение #1772


Level 5
**

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



Это у меня уже есть.
Ладно, всем спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение Sep 23 2006, 19:02
Сообщение #1773


Level 3
*

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



QUOTE
на onPlayerLevelUp (есть такой слот в свойствах модуля) написать скрипт-проверку. Если классов 2/3 (те первый и второй/третий валидны), то отбираем опыт и на левелап заново.
Сам напишешь скрипт?

Спасибо.
Не, не смогу.Да и вас не прошу.
А можно скриптами писать заметки в журнал игрока?
Aug 24 2006, 16:57>Sep 23 2006, 20:02.Гы, давно меня тут не было.Школа...



Сообщение отредактировал Nuprahtor - Sep 23 2006, 19:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 23 2006, 20:09
Сообщение #1774


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

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



Nuprahtor, скриптом заметку можно добавить. Но сам текст туда вносить надо заранее, в редакторе журналов. Вписать текст через скрипт нельзя.
По скрипту: если нужен, попроси в теме.. да хотяб в этой. Напишут я думаю (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 23 2006, 22:14
Сообщение #1775


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

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



Все простые вопросы есть в мануалах. Там наглядно с картинками. (IMG:style_emoticons/kolobok_light/pardon.gif) На форуме сложнее объяснить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Sep 23 2006, 22:28
Сообщение #1776


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

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



QUOTE(Lex @ Sep 23 2006, 21:09) [snapback]92615[/snapback]

Nuprahtor, скриптом заметку можно добавить. Но сам текст туда вносить надо заранее, в редакторе журналов. Вписать текст через скрипт нельзя.
Токенами (<CUSTOMxxxx>) можно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 23 2006, 22:30
Сообщение #1777


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

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



Хм.. не знал. Спасибки (IMG:style_emoticons/kolobok_light/smile.gif) бу иметь ввиду
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 23 2006, 22:40
Сообщение #1778


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

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



Доброго времени суток всем! (IMG:style_emoticons/kolobok_light/hi.gif)

У меня возник вопрос: как сделать добавление к дефолтному скрипту OnAquireItem, чтобы при помещении в инвентарь определенного предмета возникала запись в журнале? Знаю, что так сделать можно, пытаюсь при помощи ScriptGen'а, но там получается, что одна и та же запись в журнале появляется при запихивании в инвентарь всех без исключения предметов. Как исправить, не знаю. Помогите, плз! (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 23 2006, 22:53
Сообщение #1779


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

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



поставь в слот Module Acquired стандартный скрипт x2_mod_def_aqu
потом сделай свой скрипт с именем = тэгу айтема. Например itm_lx_figulina
вот шаблон скрипта:
NSS
//::///////////////////////////////////////////////
//:: Example Item Event Script
//:: x2_it_example
//:: Copyright © 2003 Bioware Corp.
//:://////////////////////////////////////////////
/*
    This is an example on how to use the
    new default module events for NWN to
    have all code concerning one item in
    a single file.

    Note that this system only works, if
    the following events set on your module

    OnEquip      - x2_mod_def_equ
    OnUnEquip    - x2_mod_def_unequ
    OnAcquire    - x2_mod_def_aqu
    OnUnAcqucire - x2_mod_def_unaqu
    OnActivate  - x2_mod_def_act

*/

//:://////////////////////////////////////////////
//:: Created By: Georg Zoeller
//:: Created On: 2003-09-10
//:://////////////////////////////////////////////

#include "x2_inc_switches"

void main()
{
    int nEvent =GetUserDefinedItemEventNumber();
    object oPC;
    object oItem;

  SendMessageToPC(GetFirstPC(),IntToString(nEvent));

    // * This code runs when the item has the OnHitCastSpell: Unique power property
    // * and it hits a target(weapon) or is being hit (armor)
    // * Note that this event fires for non PC creatures as well.
    if (nEvent ==X2_ITEM_EVENT_ONHITCAST)
    {
        oItem  =  GetSpellCastItem();                  // The item casting triggering this spellscript
        object oSpellOrigin = OBJECT_SELF ;
        object oSpellTarget = GetSpellTargetObject();
        oPC = OBJECT_SELF;
    }

    // * This code runs when the Unique Power property of the item is used
    // * Note that this event fires PCs only
    else if (nEvent ==  X2_ITEM_EVENT_ACTIVATE)
    {
        oPC  = GetItemActivator();
        oItem = GetItemActivated();
    }

    // * This code runs when the item is equipped
    // * Note that this event fires PCs only
    else if (nEvent ==X2_ITEM_EVENT_EQUIP)
    {
        oPC = GetPCItemLastEquippedBy();
        oItem = GetPCItemLastEquipped();
    }

    // * This code runs when the item is unequipped
    // * Note that this event fires PCs only
    else if (nEvent ==X2_ITEM_EVENT_UNEQUIP)
    {
        oPC    = GetPCItemLastUnequippedBy();
        oItem  = GetPCItemLastUnequipped();
    }
    // * This code runs when the item is acquired
    // * Note that this event fires PCs only
    else if (nEvent == X2_ITEM_EVENT_ACQUIRE)
    {
        oPC = GetModuleItemAcquiredBy();
        oItem  = GetModuleItemAcquired();
    }

    // * This code runs when the item is unaquire d
    // * Note that this event fires PCs only
    else if (nEvent == X2_ITEM_EVENT_UNACQUIRE)
    {
        oPC = GetModuleItemLostBy();
        oItem  = GetModuleItemLost();
    }

    //* This code runs when a PC or DM casts a spell from one of the
    //* standard spellbooks on the item
    else if (nEvent == X2_ITEM_EVENT_SPELLCAST_AT)
    {
        oPC = GetLastSpellCaster();
        oItem  = GetSpellTargetObject();
    }
}


вообще все ж написано и закомментировано скриптерами биовар, какие проблемы почитать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 24 2006, 19:54
Сообщение #1780


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

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



Если влом думать как Лекс написал, то можешь так...

NSS
void main()
{
    object oMod = GetModule();
    object oItem = GetModuleItemAcquired(); // Сам Item объект
    object oPC = GetModuleItemAcquiredBy(); // Тот кто взял
    string sTagItem = GetTag(oItem); // Таг Item-a

    if (sTagItem =="ТАГ_НОВОГО_ИТЕМА") // Если мы взяли предмет с таким тегом
    {
      if(!GetLocalInt(oMod, sTagItem)) // Если нет на модуле локалки равной тегу предмета ТО
      {
        SetLocalInt(oMod, sTagItem, TRUE); // Присвои модулю такую, значит предмет у нас побывал раз
        AddJournalQuestEntry("ТАГ_КВЕСТА_В_ЖУРНАЛЕ", 1, oPC); // Дадим РС заметку в журнале или еще что
      }
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 24 2006, 21:17
Сообщение #1781


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

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



Lex, почитать-то не проблема. Проблема - понять прочитанное. (IMG:style_emoticons/kolobok_light/sad.gif) А добавить еще что-то свое, и так, чтобы скрипт при этом работал, - еще большая проблема.
Но в принципе, сейчас, с твоей помощью и с помощью Aiwan'a, разобралась, за что огромное спасибо. (IMG:style_emoticons/kolobok_light/thank_you.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Sep 24 2006, 23:58
Сообщение #1782


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



QUOTE(shadowdweller @ Sep 24 2006, 22:17) [snapback]92683[/snapback]
Lex, почитать-то не проблема. Проблема - понять прочитанное.

Оффтоп, но без шуток.

Ребята, объединялись бы вы в команды, желательно - с четким разделением труда и разграничением ответственности внутри них. Толку куда больше будет.

Так, чтоб каждый - и швец, и жнец, и все остальное по мере необходимости, сейчас уже очень мало кто работает.

LEX: угу, мало кто это только мы. Остальные с разделением труда.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Sep 27 2006, 10:16
Сообщение #1783


Level 5
**

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




У меня вопрос кто сможет написать скрипт на появления строки случайно?
Мне надо чтобы после октивезацыи предмета одна из трёх строк появлялось случайно.
(IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dart_Vadder
сообщение Sep 29 2006, 13:50
Сообщение #1784


Level 4
**

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



В соседней теме столько хохм про этот ворос, что хочется во все разобраться и помочь-таки человеку. Для начала, где это строка должна появиться? В описании, разговоре или еще где? или Вы хотите, что бы у предмета появилось такое действие - "активация появления случайной строки"? А может я чего ни понял?

Сообщение отредактировал Dart_Vadder - Sep 29 2006, 13:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
SobakaRU
сообщение Sep 29 2006, 16:38
Сообщение #1785


Level 1


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



народ, поделись плиз документацией на Аврору на русском и если можно прогу саму либо ссылочку! чтоб без регистарции на каком либо портале!
заранее спс мое мыло если-что megaeddy@mail.ru
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

135 страниц V  « < 70 71 72 73 74 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17th July 2025 - 11:16