Помощь - Поиск - Пользователи - Календарь
Полная версия: Локации. Группа I. Задание I
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights 2 Obsidian Toolset
Страницы: 1, 2, 3
Oranj
Цитата
Каменистая там матренская порода. Ты по горам лазил када-нибудь? Мой опят общения с крымскими горами говорит, что сверху на камне всегда есть сантиметр-другой пыли-грязи, на которой травка укореняется.

Не лазил. Спасибо, буду знать.
Цитата
50/50 - это про то, что у тебя то ли мусор сквозь камень проглядывает, толи камень сквозь мусор, получается кто-то из них явно пролзрачный, что неправильно. Т.е. у тебя же мусор не целлофановый тонким слоем на камень наклеен, правильно?

Ааа, ты про это smile.gif Я не всматривался, но действительно, я делал Cliff 01 - 100%, а слой повыше 50%
Цитата
Что касается хаоса... Ню... Это твоё личное дело, тебе же можно к дверям придираться. Просил критики - я тебе высказалась.

Это не лично дело, это дело вкуса каждого. Я могу с уверенностью сказать, что дизайн интерьера - это такая вещь, которую нельзя стандартизировать. Тебе нравятся поломанные шкафы и мрачные помещения, а мне нравится другое. Я тебе только благодарен что ты высказалась, но ненадо обижатся и считать хамством мои слова (P.S. для тех кто не в курсе, был разговор в аське)
Aiwan
Народ, вы не обижайтесь. Но у меня стойкое ощущение под словом "критика" многие понимают команду "ФАС" и пытаются автора просто растерзать. Хотя он того не заслуживает. smile.gif Только вас похвалил за то что нашли общий язык а вы за старое. unsure.gif
Ёжик
Автор чётко и недвусмысленно попросил поискать у него недостатки. Это первое. Второе. Это был самый добраый и вежливый тон на который я только способна. Если я начну кого-то терзать... Будет гора костей и море крови bb.gif , тем более что я уже много лет не практиковалась, так что попавший под горячую руку получит фсё что накопилося biggrin.gif .

Но это фсё офтоп, теперь по делу. Кто мне скажет, как сделать так, чтобы НПС говорил с игроком не диалогом, а спикстрингами? В смысле фразы типа "привет-пока". И как заставить выполнять видимость действий? (*продолжает впихивать в мод усиленно сопротивляющихся охотников*)
gennady
Цитата(Ёжик @ Aug 16 2007, 07:05) *
Кто мне скажет, как сделать так, чтобы НПС говорил с игроком не диалогом, а спикстрингами? В смысле фразы типа "привет-пока".

Ёжа, в 1 Невере можно было такое сделать тремя способами…
1. Пишем диалог из одних первых фраз НПС и на проверку ставим скрипт случайного начала диалога, например с вероятностью 25%. Самая нижняя ветка остается всегда без скрипта, для 100% вероятности появления фразы. Сприпт на проверку случайности:
Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Случайность 25%
//:: FileName prov_25x100
//:://////////////////////////////////////////////
int StartingConditional()
{
    if(Random(100) >= 25)
    return FALSE;
    return TRUE;
}


2. Если нужно, то можно записать несколько фраз, идущих последовательно при каждом клике по НПС. Пишем также диалог из одних фраз НПС и на проверку ставим ряд скриптов с проверкой и повышением локалки на этом НПС. В последней ветке на действие ставим скрипт обнуление локалки и тогда у нас цикл фраз замкнется… т.е. опять появитсь 1, потом 2 и т.д..
Neverwinter Script Source
// ПЕРВЫЙ ДИАЛОГ С ГЕРОЕМ
int StartingConditional()
{
  object oSelf = OBJECT_SELF;
  if(GetLocalInt(oSelf, "R_oPC_oSelf")== 0) // Тут в других скриптах повышаем переменную 1;2;3;4 и т.д. …
  {
   SetLocalInt(oSelf, "R_oPC_oSelf", GetLocalInt(oSelf, "R_oPC_oSelf") + 1);// Прибавить
   return TRUE;
  }
   return FALSE;
}

Neverwinter Script Source
// ВОЗВРАТ К ПЕРВОМУ ДИАЛОГУ
void main()
{
  object oSelf = OBJECT_SELF;
  SetLocalInt(oSelf, "R_oPC_oSelf", 0);
}

3. Третий способ просто пишем скрипт с нужными фразами, а ветку НПС можно оставить пустой, в действие ставим скрипт на случайность:
Neverwinter Script Source
void main()
{
object oSelf = OBJECT_SELF;
string s1 = "Привет!";
string s2 = "Как Дела?!";
string s3 = "Пока!";
string sSpeak;

switch (Random(3))
{
  case 0: sSpeak = s1; break;
  case 1: sSpeak = s2; break;
  case 2: sSpeak = s3; break;
}
  AssignCommand(oSelf, SpeakString(sSpeak));
}

На последовательный цикл:
Neverwinter Script Source
void main()
{
object oSelf = OBJECT_SELF;
string s1 = "Привет!";
string s2 = "Как Дела?!";
string s3 = "Пока!";
string sSpeak;
int iLocal = GetLocalInt(oSelf, "Dialog_oSelf");

if(iLocal == 0)  sSpeak = s1;
if(iLocal == 1)  sSpeak = s2;
if(iLocal == 2) {sSpeak = s3; SetLocalInt(oSelf, "Dialog_oSelf", -1);}
  AssignCommand(oSelf, SpeakString(sSpeak));
  SetLocalInt(oSelf, "R_oPC_oSelf", GetLocalInt(oSelf, "Dialog_oSelf") + 1);// Прибавить
}
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.