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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
14 страниц V  « < 5 6 7 8 9 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты: Все вопросы, Алгоритмы, оптимизация, особености и хитрости в скриптинге
Aiwan
сообщение Dec 7 2007, 22:39
Сообщение #151


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

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



Обычно функция описывается. надо навести на нее курсор и в инфопанели внизу будет описание. Но честно, говоря лучше сделать простую дебаг инклюду и пользоваться. Вы собсвенно что хотите увидеть в дебаге? Дебаг НВН-а это место куда идут все сообщения во время игры. Внизу окно такое растягивается.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
audun
сообщение Dec 8 2007, 17:27
Сообщение #152


Level 1


Класс: Дварф-Защитник
Характер: Neutral Good
Раса: Дварф



Цитата(Aiwan @ Dec 7 2007, 22:39) *
Обычно функция описывается. надо навести на нее курсор и в инфопанели внизу будет описание.


Как ни печально, но описания этих отладочных функций(PrettyDebug,PrettyError) в инфопанели я не нашел.

Цитата
Но честно, говоря лучше сделать простую дебаг инклюду и пользоваться.


Подключать к рабочему скрипту свой отладочный? Зачем писать свой, если есть уже написанные?

Цитата
Вы собсвенно что хотите увидеть в дебаге?


Давайте попробуем по порядку:

Возьмем глобальный скрипт :
Neverwinter Script Source

// ga_influence( int nCompanion, int nChange )
/* This adjusts the influence rating of the companion to the PC ( the players as a whole technically ).
  The influence rating is based on a scale between -100( worst ) and 100( best ). ( 0 being neutral )

  Parameters:
    int nCompanion  = This is the integer value of the companion to adjust. ( See ginc_companions )
    int nChange    = This is the amount to adjust influence by.

    1    Khelgar
    2    Neeshka
    3    Elanee
    4    Qara
    5    Sand
    6    Grobnar
    7    Casavir
    8    Bishop
    9    ShandraJerro
    10    Construct
    11    Zhjaeve
    12    AmmonJerro
    13  Bevil
*/
// FAB 10/4
// ChazM 5/4/05
// BMA 5/5/05 ginc_companions id look up
// BMA-OEI 8/22/05 added companion id table
// ChazM 12/16/05 added bevil
// ChazM 4/18/06 prepped for adding influence indicator
// ChazM 4/25/06 added string ref constants
// ChazM 5/1/06 fixed "temp text" bug.
// EPF 7/10/06 - added debug strings for balance testing
// BMA-OEI 7/10/06 -- Updated to use GetInfluenceByNumber( )
       
#include "kinc_companion"

const int    STRING_REF_LOST_INFLUENCE     = 178842;
const int    STRING_REF_GAINED_INFLUENCE = 178841;

int GetCompanionNameStringRef( int nCompanion )
{
    // companions str refs are 178843 - 178855
    return ( 178842 + nCompanion );
}

void main( int nCompanion, int nChange )
{
    if ( nChange == 0 )
    {
        PrettyError( "ga_influence: companion " + IntToString( nCompanion ) + " no influence change" );
        return;
    }
   
    int nOldInfluence = GetInfluenceByNumber( nCompanion );
    IncInfluenceByNumber( nCompanion, nChange );
    int nNewInfluence = GetInfluenceByNumber( nCompanion );
   
    string sOut;
    int nDelta = nNewInfluence - nOldInfluence; //nChange; // Actual nDelta may not == nChange
    if ( nDelta > 0 )
        sOut = GetStringByStrRef( STRING_REF_GAINED_INFLUENCE );
    else
        sOut = GetStringByStrRef( STRING_REF_LOST_INFLUENCE );

    sOut += " " + GetStringByStrRef( GetCompanionNameStringRef( nCompanion )) + ": " + IntToString( nDelta );
   
    object oPC = ( GetPCSpeaker( )==OBJECT_INVALID?OBJECT_SELF:GetPCSpeaker( ) );
    SendMessageToPC( oPC, sOut );
    PrettyDebug( sOut );
    PrettyDebug( "Total influence with " + GetStringByStrRef( GetCompanionNameStringRef( nCompanion )) + " = " + IntToString( nNewInfluence ));
}


31 строка:
Цитата
// EPF 7/10/06 - added debug strings for balance testing

и далее в теле идут отладочные функции PrettyError и PrettyDebug
Раз авторы их добавлялм ,они ими пользовались.
Значит режим отладки где то должен включаться. Во встроенных функциях этих нет.
Вопросы:
могут эти функции быть только в тулсете, а не в игре?
Возможно ли их как то задействовать в самой игре?
Как вариант , могут ли они после завершения создания модуля удалены из тулсета/игры?
Существует ли в тулсете система отладки скриптов, (которая мне не известна,но может быть известна вам)?


Цитата
Дебаг НВН-а это место куда идут все сообщения во время игры.
Внизу окно такое растягивается.


Мы говорим об окне сообщений, или о чем то другом?

В режиме DebugMode 0 все сообщения в игре отправляются в окно сообщений, в частности строка :
Цитата
SendMessageToPC( oPC, sOut );

А при включенном режиме DebugMode 1 некоторые команды ,например showfps выводятся просто на экран. Значит стандартный вывод
можно менять?
А вэтих строках получается , что выводится 3 сообщения:
Цитата
SendMessageToPC( oPC, sOut ); // вывод в окно сообщений
PrettyDebug( sOut ); // повторение той же строки не понятно куда
PrettyDebug("Total influence with " + GetStringByStrRef(GetCompanionNameStringRef(nCompa
ion)) + " = " + IntToString(nNewInfluence));
// и вывод третьей строки с отладочной информацией


Вот и все же хотелось бы узнать как режим включить если это возможно,
и как сделать такой вывод отладки во время игры(с возможностью отключения конечно) как в своих скриптах,так и в оригинальных(раз уж функции там уже прописаны).
Как вариант ,как выводить просто текст на экран в любом произвольном месте,накладывая на игру, возможно ли это?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zmeika
сообщение Dec 24 2007, 15:27
Сообщение #153


Level 3
*

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



Здравствуйте уважаемые мастера!
Вот, скопилась целая порция вопросов.

1. Относительно точек приложения скриптов. Пока вижу, что их можно вешать на эвенты (события) из выпадающих списков в пропертях для модуля, для локации, для NPC кажется... И для каждого случая этот набор событий похоже фиксирован. Можно ли его расширить? Можно ли сделать обработку событий с клавиатуры, например? И как можно использовать событие UserDefinеdEvent?

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

3. В готовом игровом модуле nv2 - туториал (это нулевой акт) обнаружила заюзанный скрипт на onRest. Скрипт не принадлежал этому модулю, а был взят из длинного выпадающего списка готовых скриптов. Без проблем загрузила энтот чужой скрипт в редактор, изменила, скомпилила - после чего запущенный модуль вполне себе воспринял эти изменения. И догадываюсь, что если перекомпилить остальные модули, которые его используют, то с ними будет тож самое....
Вопрос - а где все эти готовые скрипты живут на уровне исходных текстов? По другим модулям разложены что ли? Или есть где-то для них общее место?



Сообщение отредактировал Zmeika - Dec 24 2007, 18:11
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 24 2007, 18:06
Сообщение #154


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

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



Цитата(Zmeika @ Dec 24 2007, 15:27) *
1. Относительно точек приложения скриптов. Пока вижу, что их можно вешать на эвенты (события) из выпадающих списков в пропертях для модуля, локации, для NPC кажется... И для каждого случая этот набор событий похоже фиксирован. Можно ли его расширить? Можно ли сделать обработку событий с клавиатуры, например? И как можно использовать событие UserDefinеdEvent?

можно расширить (см систему SSS AC на нашем сайте, как вариант). Другое дело что насколько оно вам необходимо?
С клавиатурой.. так как вы описали - нельзя. Но можно сделать обработку написанного в чат текста. Разбиралось много раз для НВН1, возможно годится для НВН2. Надо экспериментировать.

Цитата(Zmeika @ Dec 24 2007, 15:27) *
2. Пожалуйста, посоветуйте, каким образом лучше и проще делать информационную печать в скрипте? Например, чтобы без перехода в отладочный режим можно было видеть - вызвался ли скрипт и с какими данными вызвался. Другими словами есть ли тут аналог функции printf?

я пользуюсь SendMessageToPC - она выдает текст в игровой лог. Мне удобнее в режиме онлайн отслеживать происходящее, чем потом читать текстовой файл с логами. Хотя факт - в таком файле больше полезной инфы относительно некорректной работы скриптов.. например при проблеме с памятью или кэшэм.

Цитата(Zmeika @ Dec 24 2007, 15:27) *
. В готовом игровом модуле nv2 - туториал (это нулевой акт) обнаружила заюзанный скрипт на onRest. Скрипт не принадлежал этому модулю, а был взят из длинного выпадающего списка готовых скриптов. Без проблем загрузила энтот чужой скрипт в редактор, изменила, скомпилила - после чего запущенный модуль вполне себе воспринял эти изменения. И догадываюсь, что если перекомпилить остальные модули, которые его используют, то с ними будет тож самое....

не совсем. дело в том, что все стандартные скрипты живут в ресурсах игры. Если скрипт меняется - он перекачовывает в модуль. Соотв изменив стандартный скрипт, вы изменили его лишь для данного модуля. Все остальные модули будут работать как работали, сколько бы вы их не перекомпиливали.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zmeika
сообщение Dec 25 2007, 11:39
Сообщение #155


Level 3
*

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



Цитата(Lex @ Dec 24 2007, 18:06) *
можно расширить (см систему SSS AC на нашем сайте, как вариант). Другое дело что насколько оно вам необходимо?

Пока не знаю. Мне нужно засечь момент, когда солнышко заходит, причем точное время заката (в часах) известно. Такое ощущение, что только на onHeartBeat проверку по времени суток вешать. Пока не уверена, что это оправдано. (IMG:style_emoticons/kolobok_light/sad.gif) Правда, с другой стороны оч может быть, что сама игра определяет ход небес по этому же самому таймеру

Цитата(Lex @ Dec 24 2007, 18:06) *
я пользуюсь SendMessageToPC - она выдает текст в игровой лог. Мне удобнее в режиме онлайн отслеживать происходящее, чем потом читать текстовой файл с логами. Хотя факт - в таком файле больше полезной инфы относительно некорректной работы скриптов..

ага, мне тоже так удобно, уже подключила, спасип

Цитата(Lex @ Dec 24 2007, 18:06) *
дело в том, что все стандартные скрипты живут в ресурсах игры. Если скрипт меняется - он перекачовывает в модуль. Соотв изменив стандартный скрипт, вы изменили его лишь для данного модуля. Все остальные модули будут работать как работали, сколько бы вы их не перекомпиливали.

Странно, у меня не перекочевывается. Остается на прежнем месте в исправленном состоянии, и все другие модули начинают видеть исправленную версию. Правда, перкомпиляцию не пробовала...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Dec 25 2007, 13:15
Сообщение #156


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



так и хочется сказать "не знаю как там у вас в нвн2, а в нвн1 было так..." (IMG:style_emoticons/kolobok_light/smile.gif)

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

в общем сначала игруха ищет нужный ресурс в папке override (удобно для патчей-хотфиксов-дебагов)
потом в кампейне
потом в модуле (хотя логичнее было бы сначала в модуле, а потом в кампейне)
потом в ресурсах игры.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Kirald
сообщение Jan 2 2008, 21:17
Сообщение #157


Level 2
*

Класс: Клерик
Характер: Lawful Evil
Раса: Человек



Блин хочу написать скрипт для простейшего квеста и не могу (IMG:style_emoticons/kolobok_light/sad.gif) (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) ктонибудь помогите. хочу поставить локальную переменную ИНТ под названием "deathwolf"
Код
void main()
  {
  SetLocalInt(OBJECT_SELF, "deathWolf", 0);
  }


уверен что делаю что то не так после постановки в нужный слот (Респаун) НПС ставлю скрипт волку

Код
void main()
  {
  SetLocalInt(OBJECT_SELF, "deathWolf", 2);
  }


создаю диалог
Код
Переменная не работает----------------------\
                                             убей волка (deathwolf = 0)-----------------\
                                                                                         молодец (deathwolf = 2)

Плиз ПОМАГИТЕ (IMG:style_emoticons/kolobok_light/help.gif) (IMG:style_emoticons/kolobok_light/help.gif) (IMG:style_emoticons/kolobok_light/help.gif) А то я уже с ума схожу (IMG:style_emoticons/kolobok_light/crazy.gif) (IMG:style_emoticons/kolobok_light/prankster2.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 2 2008, 21:26
Сообщение #158


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

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



проблема у тебя в том, что ты ставишь 2 локалки, а не 1, как ты думаешь.
Ибо deathWolf у НПС и deathWolf у волка - 2 совершенно разные локалки. Мысль ясна? Чтобы это была одна локалка, тебе в скрипте волка (кстати почему в Респаун ты поставил скрипт? А не в Death?) написать не
Neverwinter Script Source
SetLocalInt( OBJECT_SELF, "deathWolf", 2 );

а
Neverwinter Script Source
SetLocalInt( GetObjectByTag( "Тэг НПС, который выдает квест" ), "deathWolf", 2 );

Я тебе в соседней теме не зря советовал использовать SetGlobal*/GetGlobal. Самое незамороченное решение, подходящее для начала (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Edwin
сообщение Jan 3 2008, 08:45
Сообщение #159


Level 3
*

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



QUOTE
я пользуюсь SendMessageToPC - она выдает текст в игровой лог. Мне удобнее в режиме онлайн отслеживать происходящее, чем потом читать текстовой файл с логами. Хотя факт - в таком файле больше полезной инфы относительно некорректной работы скриптов.. например при проблеме с памятью или кэшэм.


Небольшой оффтоп, про какой именно кэш идет речь?

Сообщение отредактировал Edwin - Jan 3 2008, 08:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Kirald
сообщение Jan 3 2008, 11:22
Сообщение #160


Level 2
*

Класс: Клерик
Характер: Lawful Evil
Раса: Человек



Arigato Спасибо Mersi Thenx кое что понял щас попробую (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 3 2008, 13:10
Сообщение #161


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

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



Цитата(Edwin @ Jan 3 2008, 08:45) *
про какой именно кэш идет речь?

спроси у шардовиков, я от них это слышал, сам этим логом не пользуюсь (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jan 3 2008, 13:19
Сообщение #162


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

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



Я тоже не понял, что за кэш и память и как они выводятся в лог.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 3 2008, 13:41
Сообщение #163


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

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



ну раз даже вирь не знает, значит я перепутал НВН с другим приложением (IMG:style_emoticons/kolobok_light/smile.gif) сам я натыкался только на переполнение стека, деление на 0 и какие-то ошибки с памятью (слово memory было (IMG:style_emoticons/kolobok_light/smile.gif) )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Edwin
сообщение Jan 3 2008, 13:42
Сообщение #164


Level 3
*

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



Ну если про память еще можно понять (сегментейшен фолт, хоть ни в каких логах ее ессесно не будет), то про кеш меня ввело в ступор, т.к. кеш абсолютно прозрачен для людей и управляется только хардвэйром. Даже через ассамблер в него не влезть.

Сообщение отредактировал Edwin - Jan 3 2008, 13:57
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Jan 3 2008, 13:58
Сообщение #165


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

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



Цитата(Edwin @ Jan 3 2008, 13:42) *
Ну если про память еще можно понять (сегментейшен фолт, хоть в логах ее не будет), то про кеш меня ввело в ступор, т.к. кеш абсолютно прозрачен для людей и управляется только хардвэйром. Даже через ассамблер в него не влезть.
Кэшей много разных, и в НВНе есть кэш (2da, скриптов и ресурсов), но в лог инфа о нём не выводится (даже через DummyLog).
Ошибки стека в скриптах, TMI, деление на ноль - да, бывает, но это тоже в лог не идёт, насколько я помню.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 3 2008, 14:19
Сообщение #166


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

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



Цитата(virusman @ Jan 3 2008, 13:58) *
Ошибки стека в скриптах, TMI, деление на ноль - да, бывает, но это тоже в лог не идёт, насколько я помню.

в НВН1 вроде идет и в лог файл и в лог в игре. А иначе очень странный лог получается, никакой инфы по ошибкам? (IMG:style_emoticons/kolobok_light/smile.gif) А вот в НВН2 мб и не идет, я лог-файлом тут и подавно не пользуюсь.

зы: что-то мы с оффтопом перебрали, пора завязывать (IMG:style_emoticons/kolobok_light/ph34r.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Edwin
сообщение Jan 3 2008, 14:54
Сообщение #167


Level 3
*

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



А в обычном компиляторе у тебя много информации об ошибках во время экзекуции? stderr, try-catch и руки - все что надо для отладки. Ффс.....

Сообщение отредактировал Edwin - Jan 3 2008, 14:58
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jan 3 2008, 15:12
Сообщение #168


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Цитата(Edwin @ Jan 3 2008, 13:42) *
кеш абсолютно прозрачен для людей и управляется только хардвэйром. Даже через ассамблер в него не влезть.
prefetch/prefetchw/prefetchnta/prefetcht0(1,2) (IMG:style_emoticons/kolobok_light/whistle3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Edwin
сообщение Jan 3 2008, 17:51
Сообщение #169


Level 3
*

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



Ок, про асм я загнул. Можно. Но ненужно, т.к. этим вероятнее всего пользуются только в написании мега симуляторов и софта для посадки шаттлов.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 3 2008, 17:57
Сообщение #170


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

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



Цитата(Edwin @ Jan 3 2008, 17:51) *
софта для посадки шаттлов.

тады уж Бурана, ибо только он садился на автопилоте, Шаттлы - вручную.

завязываем асм, компиляторы и дебагеры. тема не про это. Если хочется всетаки об этом - выделю вам отдельный топик (IMG:style_emoticons/kolobok_light/smile.gif) А то что выше почищу завтра, чтобы не пугать скриптеров (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jan 14 2008, 01:10
Сообщение #171


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



Есть очень удобная такая вещь: SetGlobalXXX, но только вот когда переменных становится много, то некоторые почему-то тупо игнорируются (IMG:style_emoticons/kolobok_light/sad.gif) другие можно продолжать добавлять (IMG:style_emoticons/kolobok_light/unknw.gif) зависимости он имён переменных или их количества установить не удалось, то после 200 начинает корявить, то 5000 спокойно держит. так что предупреждаю и спрашиваю: кто нибудь сталкивался и как с этим бороться?

зы: а чего тема не прикреплена?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 14 2008, 01:28
Сообщение #172


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

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



у меня пока наверное около 100 глобалок - никаких глюков ниразу не видел.

Цитата(azathoth @ Jan 14 2008, 01:10) *
зы: а чего тема не прикреплена?

тады тут пол раздела будет прикреплено (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragdaj
сообщение Jan 20 2008, 22:44
Сообщение #173


Level 1


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



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

И так - можно ли сделать следующее:

при перетаскивании вещи из инвентаря на какой нибудь объект происходило "событие" - открывался диалог, или ещё что - это уже детали.

На вскидку - перетаскиваем факел из инвентаря на стог сена - стог сена заменяется костром (первое пришедшее в голову)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 21 2008, 01:44
Сообщение #174


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

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



Цитата(Ragdaj @ Jan 20 2008, 22:44) *
На вскидку - перетаскиваем факел из инвентаря на стог сена - стог сена заменяется костром (первое пришедшее в голову)

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

с предметами и объектами "взаимодействие" возможно в принципе, но это лишний не очень нужный гемор. Самый простой вариант - положить в инвентарь. Скажем положить в стог сена факел - загорится.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ragdaj
сообщение Jan 21 2008, 10:15
Сообщение #175


Level 1


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



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

"Если нужен выбор - предоставлять выбор. или диалогом или гуи окном." в том то и проблема - что предоставляешь выбор, а не делаешь возможность сделать это игроку. Чтоб он сказал " о, я сам догадался!"

Добавлено через 6 минут

хотя - идея сделать объекты помещаемыми в руку и проверку на то ли есть в руки при взаимодействие - самый простой вариант...

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

14 страниц V  « < 5 6 7 8 9 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th March 2024 - 17:08