Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
Lex
после смерти тело исчезает. Если ты вешаешь туда скрипты, то шанс то, что они не сработают. Посему сначала делай тело SetIsDestroyable(FALSE), потом делай что нужно.. потом снимай флаг и удаляй. Вообще лучше скрипты после смерти к самому НПС не привязывать.. можно через Execute запустить от имени локации например.

С камерой - у меня все ок всегда и ролики делал в начале и камеру вращал. Это надо смотреть в модуле.. сам скрипт мало помочь может.
windhover
Такой вот глупый вопрос:
После перехода на 1.67 перестал работать в Тулсете Ctrl+C/Ctrl+V, только через меню копировать получаеться.
Может ктото сталкивался с подобной проблемой? Или это у меня локально... scratch_one-s_head.gif
Leon PRO
QUOTE
перестал работать в Тулсете Ctrl+C/Ctrl+V

Обычно этио случается иногда, если у тебя не инсталлированый НВН а просто копированый. ПО крайней мере у меня это замечалось.
helvene
Переключение раскладки клавиатуры туда-сюда-обратно спасет отца русской демократии.
windhover
QUOTE(Leon PRO @ Aug 19 2006, 15:16) [snapback]90029[/snapback]

Обычно этио случается иногда, если у тебя не инсталлированый НВН а просто копированый. ПО крайней мере у меня это замечалось.

Хм.. у меня он не инсталированный, точнее винда переставлена.. надо будет посмотреть...

QUOTE(helvene @ Aug 19 2006, 15:25) [snapback]90031[/snapback]

Переключение раскладки клавиатуры туда-сюда-обратно спасет отца русской демократии.

Пробовал.. непомогало sad.gif

Спасибо.
Noah

QUOTE(Aiwan @ Aug 18 2006, 19:22) [snapback]89920[/snapback]

На вход в игру нельзя ставить ролик. Ставь его на триггер или на задержку.

мой мод начинается с ролика.Но его куда не надо ставить на ентер мода или на ентер первой локи?Или на все вместе?Я лично использую задержку так что вроде все пашет!А вспомнил у меня на триггере стоит добавить временный эффект повысить ас,против всех видов урона и додж,но через время у героя получается минусовой ас,как раз на сколько прибавил.
Lex
QUOTE(windhover @ Aug 19 2006, 14:50) [snapback]89988[/snapback]
После перехода на 1.67 перестал работать в Тулсете Ctrl+C/Ctrl+V, только через меню копировать получаеться.

ты это.. запусти апдейт или nwn.exe. Пусть определит твою версию и что-то помимо этого запишет в реестр. тады заработает.
Angelelf
Люди и все остальные тоже помогите со скриптом nq_c2_default9 как присвоить НПС разные возможности поведения.
Waromon
2 Angelelf

Читай в Лексиконе: Home > Reference > Constants > NW_FLAG_*
Aiwan
Иди в тему скриптов для новичков. Там написано как.
windhover
QUOTE(windhover @ Aug 19 2006, 13:50) [snapback]89988[/snapback]

Такой вот глупый вопрос:
После перехода на 1.67 перестал работать в Тулсете Ctrl+C/Ctrl+V, только через меню копировать получаеться.
Может ктото сталкивался с подобной проблемой? Или это у меня локально... scratch_one-s_head.gif



QUOTE(Leon PRO @ Aug 19 2006, 15:16) [snapback]90029[/snapback]

Обычно этио случается иногда, если у тебя не инсталлированый НВН а просто копированый. ПО крайней мере у меня это замечалось.



QUOTE(Lex @ Aug 20 2006, 01:12) [snapback]90093[/snapback]

ты это.. запусти апдейт или nwn.exe. Пусть определит твою версию и что-то помимо этого запишет в реестр. тады заработает.


nwupdate.exe действительно помог. Спасибо.
Артём
У меня проблема при установки модуля Equilibrium.
При установки он не может найти место распаковки.
Форлонг
Помогите кто нибудь! shout.gif Вот я, например, хочу написать скрипт, чтобы когда игрок заходит в модуль 1 раз, то он сразу начинал разговор с НПС, который введет его в курс дела.
Для этого я создаю тригер на месте появления игрока, и вешаю на вкладу OnEnter такой скрипт:
NSS
void main ()
{object oBeren = GetObjectByTag("beren");
ActionStartConversation(object oBeren, string sDialogResRef="vvedenie"int bPrivateConversation=FALSE, int bPlayHello=FALSE);
//vvedenie - это файл диалога у НПС с которвым буду говорить , а "beren" - тэг НПС//
}

Но мастер выдает, что скрипт не првавильный... объясните плиз в чем ошибка
Milfes
swoon.gif
Ненеадо писать string sDialogResRef="vvedenie", int bPrivateConversation=FALSE, int bPlayHello=FALSE(и object не надо).
Параметры пишуться так:
NSS
ActionStartConversation(oBeren,"vvedenie"FALSE, FALSE);

Но это работать тоже не будет.

А что бы работало напиши:
NSS
void main ()
{
object oBeren = GetObjectByTag("beren");
object oPC =GetEnteringObject();
AssignCommand(oBeren, ActionStartConversation(oPC,"vvedenie"));
}
Waromon
2 Форлонг

тебы сначала мануалы прочитать.. Погляди на сайте там все есть.
Milfes
Кстати добавь перед AssignCommand строки:
NSS
if (GetLocalInt(oPC, "START") == 1)
    return;
  SetLocalInt(oPC, "START", 1);


Что бы сработало один раз.
Форлонг
Спасиб всем declare.gif
Особенено Milfes'у
Артём
Простите за повторение, но мне скрипт для прибавления нужного количество мне жизней. scratch_one-s_head.gif
Waromon
Как вариант, мона наложить эффект увеличения ХП. smile.gif


NSS
ApplyEffectToObject(DURATION_TYPE_*, EffectTemporaryHitpoints(НУЖНОЕ_КОЛ_ВО_ХП), ЧУВАК);

Артём
Понятно biggrin.gif
Спасибо!

Прибавка дополнительных жизней это конечно хорошо но мне надо было чтобы скрипт лечил игрока а не давал бонусы. unsure.gif
Но за скрипт спасибо он мне ещё пригодится.

Может, кто знает другой способ прибавки жизней.
Neo
NSS
// Create a Heal effect. This should be applied as an instantaneous effect.
// * Returns an effect of type EFFECT_TYPE_INVALIDEFFECT if nDamageToHeal < 0.
effect EffectHeal(int nDamageToHeal)

rtfm.gif
-fenix-
Артём, ДЫК, так бы и сказал, что лечение нужно, а то прибавка.
Юзай EffectHeal
Артём

Прошу прощение за неточность. biggrin.gif

У меня ёщё один вопрос.
В своём модуле я сделал людей со своими действиями.
Мне надо чтобы днём работал один скрипт, а ночью другой.
Waromon
мда... Подобное уже раз сто, тока за мое присутствие на форуме разбиралось.... (А я относительно недавно тут =))



http://www.city-of-masters.ru/forums/index...ost&p=89629
Артём
Понятно biggrin.gif

У непися скрипт ночью наработает, я нечего не изменял только подставил свои значения?
NSS
void main()
{
  int nUser = GetUserDefinedEventNumber();
object oNPC = GetObjectByTag("NPC_sh_1");
object oWPpc = GetWaypointByTag("NW_pradovec_1_0");
object oWPpc1 = GetWaypointByTag("NW_pradovec_1_1");
object oWPpc2 = GetWaypointByTag("NW_pradovec_1_2");
object oWPpc3 = GetWaypointByTag("NW_pradovec_1_3");
object oWPpc4 = GetWaypointByTag("NW_pradovec_1_4");
object oWPpc5 = GetWaypointByTag("NW_pradovec_1_5");
object oWPpc6 = GetWaypointByTag("NW_pradovec_1_6");
object oWPpc7 = GetWaypointByTag("NW_pradovec_1_7");

  if(nUser == 1001) //HEARTBEAT
  {
  if (GetIsDay() || GetIsDawn() && !GetLocalInt(OBJECT_SELF, "day"))
  {
  SetLocalInt(OBJECT_SELF, "day", 1);
  SetLocalInt(OBJECT_SELF, "night", 0);

  ClearAllActions();
ActionDoCommand(AssignCommand(oNPC, JumpToObject(oWPpc1)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc2)));
ActionDoCommand(AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 3.0)));
ActionDoCommand(AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_RIGHT, 1.0, 3.0)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc3)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc4)));
ActionDoCommand(AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 3.0)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc5)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc6)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc7)));
  }
  else if (GetIsNight() && !GetLocalInt(OBJECT_SELF, "night"))
  {
  SetLocalInt(OBJECT_SELF, "day", 0);
  SetLocalInt(OBJECT_SELF, "night", 1);

  ClearAllActions();
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc5)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc4)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc3)));
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWPpc1)));
ActionDoCommand(AssignCommand(oNPC, JumpToObject(oWPpc)));
  }
  }
}
Waromon
1. Не: object oNPC = GetObjectByTag("NPC_sh_1"); а object oNPC = OBJECT_SELF;

2. ActionDoCommand(AssignCommand(oNPC,... - ActionDoCommand нафиг здесь не нужно.

3. Мобу нужно на всяк пожарный забить стек, чтобы его не прервали по пути. (SetCommondable(FALSE & TRUE)

4. Проверь таги вайпоинтов.

5. Самое важно... Ты в скрипте на onSpawn, моба раскомментировал 239 строку (SetSpawn...(NW_FLAG_HEARTBEAT…)) ???


ЗЫ: может еще ошибки есть, смотрел бегло.
Артём
Насчёт 1, 2 и 4 это я понял, а вот 3 и 5 пункта не понимаю?
Если нетрудно разбери поподробней.
Waromon
Разбераю,

3. Когда НПЦ идет по вайпоинтам - игрок его может прервать (например банальным желанием начать разговор) тогда непись тупо встанет и продолжит так стоять, до утра/ночи. Шобы етого избежать нужно забить стек комманд непися, то есть просто напросто запретить добавление новых команд в его стек. Делаем это так:

NSS
// добавь в конец проверок день & ночь
DelayCommand(0.6, SetCommandable(FALSE));
ActionDoCommand(SetCommandable(TRUE));


5. Тут все просто smile.gif открываешь стандартный скрипт с onSpawn, и удаляешь знак // с 239 строки.
(SetSpawn...(NW_FLAG_HEARTBEAT…))
Артём
Спасибо
Насчёт первого до меня дошло ещё после первого твоего замечания (правда, после того как я тебе ответил) а вот второй щяс будим тыкать. biggrin.gif
Aiwan
Ребята, что вы маятесь? У Биовар есть система скриптов. Пишете нпс ходить по вейпоинтам. Настраиваете ему ходить по ночным - дневным поинтам. Дальше, рисуете дневные и ночные. И все. Хотите что бы он чесал жопу, нарисуйте на вейпах триггер. Если зашел НПС, очистили все акции. Почесали задницу. Пошел дальше...

То что я тут вижу жуть... unknw.gif
Артём
Не получается, исправти ошибки.
Плиз sad.gif
NSS
object oWPpc = GetWaypointByTag("NW_pradovec_1_0");
object oWPpc1 = GetWaypointByTag("NW_pradovec_1_1");
object oWPpc2 = GetWaypointByTag("NW_pradovec_1_2");
object oWPpc3 = GetWaypointByTag("NW_pradovec_1_3");
object oWPpc4 = GetWaypointByTag("NW_pradovec_1_4");
object oWPpc5 = GetWaypointByTag("NW_pradovec_1_5");
object oWPpc6 = GetWaypointByTag("NW_pradovec_1_6");
object oWPpc7 = GetWaypointByTag("NW_pradovec_1_7");

  if(nUser == 1001)
  {
  if (GetIsDay() || GetIsDawn() && !GetLocalInt(OBJECT_SELF, "day"))
  {
  SetLocalInt(OBJECT_SELF, "day", 1);
  SetLocalInt(OBJECT_SELF, "night", 0);

  ClearAllActions();
DelayCommand(3.0, AssignCommand(oNPC, JumpToObject(oWPpc1)));
DelayCommand(6.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc2)));
DelayCommand(7.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 3.0)));
DelayCommand(8.5, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_RIGHT, 1.0, 3.0)));
DelayCommand(10.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc3)));
DelayCommand(12.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc4)));
DelayCommand(14.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 3.0)));
DelayCommand(17.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc5)));
DelayCommand(19.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc6)));
DelayCommand(20.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc7)));
DelayCommand(30.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_PAUSE_TIRED , 1.0, 3.0)));
DelayCommand(35.0, AssignCommand(oNPC, SpeakString("Текст") ));
DelayCommand(100.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_SPASM , 1.0, 3.0)));
DelayCommand(140.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 3.0)));
DelayCommand(143.0, AssignCommand(oNPC, SpeakString("Текст") ));
DelayCommand(174.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_PAUSE_TIRED , 1.0, 3.0)));
DelayCommand(200.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_SPASM , 1.0, 3.0)));
DelayCommand(240.0, AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_FIREFORGET_HEAD_TURN_LEFT, 1.0, 3.0)));
DelayCommand(242.0, AssignCommand(oNPC, SpeakString("Текст") ));
ActionDoCommand(SetCommandable(TRUE));
DelayCommand(0.3, SetCommandable(FALSE));
  }
  else if (GetIsNight() && !GetLocalInt(OBJECT_SELF, "night"))
  {
  SetLocalInt(OBJECT_SELF, "day", 0);
  SetLocalInt(OBJECT_SELF, "night", 1);

  ClearAllActions();
DelayCommand(3.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc5)));
DelayCommand(6.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc4)));
DelayCommand(8.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc3)));
DelayCommand(10.0, AssignCommand(oNPC, ActionMoveToObject(oWPpc1)));
DelayCommand(14.0, AssignCommand(oNPC, JumpToObject(oWPpc)));
ActionDoCommand(SetCommandable(TRUE));
DelayCommand(0.3, SetCommandable(FALSE));
  }
  }
}


QUOTE(Aiwan @ Aug 30 2006, 08:55) [snapback]90741[/snapback]

Ребята, что вы маятесь? У Биовар есть система скриптов. Пишете нпс ходить по вейпоинтам. Настраиваете ему ходить по ночным - дневным поинтам. Дальше, рисуете дневные и ночные. И все. Хотите что бы он чесал жопу, нарисуйте на вейпах триггер. Если зашел НПС, очистили все акции. Почесали задницу. Пошел дальше...

То что я тут вижу жуть... unknw.gif

Хотелось бы с эти разобраться…!
Waromon
NSS
DelayCommand(242.0, AssignCommand(oNPC, SpeakString("Текст") ));
ActionDoCommand(SetCommandable(TRUE));
DelayCommand(0.3, SetCommandable(FALSE));


Ты через три секунды стек забиваешь, а потом команды ему кидаешь...
Просты выкинь DelayCommand из скрипта - она там нафиг не нужна. (если необходима задержка - используй ActionWait)

ЗЫ: Артем, те просто НЕОБХОДИМО (!) rtfm.gif rtfm.gif

ЗЫЫ: Айван, насчет жути согласен. smile.gif
Артём
Понял biggrin.gif
shadowdweller
Доброго времени суток всем!

Думаю, здесь такие проблемы, как у меня, уже обсуждались неоднократно, заранее прошу прощения, но все же рискну. В общем, сюжет такой: РС заходит в комнату и видит там спящего NPC, который спит в течение 30 секунд, затем просыпается и, если РС еще в комнате, атакует. Это получается.
Но есть одна проблема: я не хочу, чтобы игроки, пойдя по пути наименьшего сопротивления, просто прикончили спящего. Чтобы помешать, назначаю NPC исходную фракцию "защитник", а по прошествии 30 секунд делаю AdjustReputation. Но дело в том, то в скрипте не получается сделать DelayCommand, т.е. скрипт компилится, но при тестировании AdjustReputation происходит не через 30 секунд, а практически сразу.

То есть, вот это вставляю в обычный скрпит OnSpawn как 4 последние строчки:
NSS
effect eLieDown = EffectSleep();
    effect eSnore = EffectVisualEffect(VFX_IMP_SLEEP);
    effect eSleep = EffectLinkEffects(eLieDown,eSnore);
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSleep, OBJECT_SELF,30.0);


А этот скрипт - OnPercevied
NSS
//Goes OnPerceived of a creature
#include "nw_i0_generic"
void main()
{
object oPC = GetLastPerceived();
if (!GetIsPC(oPC)) return;
if (!GetLastPerceptionSeen()) return;

object oTarget;
oTarget = OBJECT_SELF;

AdjustReputation(oPC, oTarget, -100);
DelayCommand(30.0,AdjustReputation(oPC, oTarget, -100));
SetIsTemporaryEnemy(oPC, oTarget);
ActionAttack(oPC);
DetermineCombatRound(oPC);
}

Что я делаю неправильно? Как можно сделать по-другому?
Milfes
Сделай нейтральную фракцию и на OnPercevied
NSS
void main()
{
object oPC = GetLastPerceived();
if (!GetIsPC(oPC)) return;
if (!GetLastPerceptionSeen()) return;
SetIsTemporaryEnemy(OBJECT_SELF, oPC);
AssignCommand(OBJECT_SELF, ActionAttack(oPC));
}


Должно работать.
Aiwan
QUOTE(shadowdweller @ Sep 4 2006, 01:33) [snapback]91002[/snapback]
Но дело в том, то в скрипте не получается сделать DelayCommand, т.е. скрипт компилится, но при тестировании AdjustReputation происходит не через 30 секунд, а практически сразу.

NSS
AdjustReputation(oPC, oTarget, -100);
DelayCommand(30.0,AdjustReputation(oPC, oTarget, -100));

Вот ошибка. Сразу две строки одинаковые. Одна выполняется через 30 сек. Другая сразу.
Zirrex
Можно еще сделать рядом с кроватью НПС триггер, и написать, когда игрок войдет на триггер "Вы наделали много шума, когда подходили к кровати. Спящий проснулся от шума, увидел вас, и схватился за меч". В этом случае достаточно НПС сделать по отношению к игроку только врагом. Т.е. хватит 3-х строчек:

NSS
SetIsTemporaryEnemy(oPC, oTarget);
ActionAttack(oPC);
DetermineCombatRound(oPC);
azathoth
Даже дружественного НПС можно убить, если, конечно, сложность в настройках не минимальная - так что лучше действительно через триггер или что-либо подобное - хотя почему бы не позволить игроку прирезать кого-нибудь во сне, многих такая возможность обрадует. Либо сделать НПС достаточно сильным, чтобы не возникало желания с ним сражаться, пускай даже с уже раненым - хорошо, что Coup de Grace перестает работать, если спящий больше 4го уровня.
Mandrake
NSS
//::///////////////////////////////////////////////////
//:: X0_O2_ANYUNIQ.NSS
//:: OnOpened/OnDeath script for a treasure container.
//:: Treasure type: Any, random selection from whatever is in base container
//:: Treasure level: TREASURE_TYPE_UNIQUE
//::
//:: Copyright © 2002 Floodgate Entertainment
//:: Created By: Naomi Novik
//:: Created On: 11/21/2002
//::///////////////////////////////////////////////////

#include "x0_i0_treasure"

void main()
{

    CTG_CreateTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF);


}


Скрипт на ящиках, где появляются разные сокровища, подскажите пожалуйста, какой функцией заставить спавниться сокровища, скажем через каждые 10 минут в этом ящике.
Dik Morris
Mandrake

Как вариант, можно вешать переменную, а потом проверять ее в скрипте. (ХБ) но ИМХО, все же лучше посмотреть что нибуть подобное на ваулте. smile.gif
Aiwan
А зачем в ящике сокровища каждые 10 минут и монстры?
Lordeath
У меня такая проблема: хотим поиграть по сети в мой модуль, но никто не видит сервера, который я создаю.Видит все модули кроме моего. Вот у меня и вопрос - может надо было обязательно писать что-то в модульных свойствах=>События? Подскажите что может мешать.
9988
QUOTE(Lordeath @ Sep 4 2006, 19:22) [snapback]91051[/snapback]

У меня такая проблема: хотим поиграть по сети в мой модуль, но никто не видит сервера, который я создаю.Видит все модули кроме моего. Вот у меня и вопрос - может надо было обязательно писать что-то в модульных свойствах=>События? Подскажите что может мешать.

Название модуля скажи.
Какой сервак - вин\линь?
Сам-то зайти в свой модуль можешь?
shadowdweller
Milfes
Спасибо. Пробую - работает.
Zirrex
Через триггер - тоже отличная идея, только мне надо, чтобы NPC просыпался сам, т.е. если игрок не уложился во времени, не забрал из сундука нужный предмет и не смотался, его атакуют. Можно это как-то на триггер поставить?
Aiwan
QUOTE
NSS
AdjustReputation(oPC, oTarget, -100);
DelayCommand(30.0,AdjustReputation(oPC, oTarget, -100));


Вот ошибка. Сразу две строки одинаковые. Одна выполняется через 30 сек. Другая сразу.

А как исправить?

Вообще, огромное спасибо всем за помощь. Можно, спрошу еще?
Есть такой скрипт, который на входе в область уничтожает весь инвентарь, все золото и все Equipped Items. Но мне нужно, чтобы ы инвентаре игрока появилась какая-нибудь одежда. В общем, возникает такая проблема: если две последние строчки скрпита выглядят так:

NSS
TakeGoldFromCreature(GetGold(oEnter), oEnter, TRUE);
  object oClothes = CreateItemOnObject("NW_CLOTH004", oEnter);
}

РС остается при всем своем золоте,
а если так:
NSS
AssignCommand(oEnter, TakeGoldFromCreature(GetGold(oEnter),oEnter,TRUE));
  object oClothes = CreateItemOnObject("NW_CLOTH004", oEnter);
}

То никакая одежда в инвентаре не появляется. Почему? Как с этим бороться?
Dik Morris
QUOTE(shadowdweller @ Sep 5 2006, 12:56) [snapback]91077[/snapback]

А как исправить?


Просто удалить ненужную строку, в этом случае - AdjustReputation(oPC, oTarget, -100);.

QUOTE(shadowdweller @ Sep 5 2006, 12:56) [snapback]91077[/snapback]

Есть такой скрипт, который на входе в область уничтожает весь инвентарь, все золото и все Equipped Items. Но мне нужно, чтобы ы инвентаре игрока появилась какая-нибудь одежда.


В последнем примере кода, золото должно уничтожатся. (В первом не работает по той простой причине, что эта функция не применима к эвентам локаций и модуля)
Предметы не создаются, т.к нужно указывать не ТАГ предмета, а РесРеф.

PS: Кстати рекомендую почитaть следующею тему, думаю будет достаточно полезной.
Misty Archer
Доброго времени суток!!!
Ща наверно задам очеть сложный ( и тупо-сформулированный вопрос).
Я делаю модуль про воров и есть проблема можно ли сделать так что непись
1 не ощущает тебя когда ты подкрадываешся со спины (а когда повернется сразу замечает)
2 плохо видит когда темно ( а когда день то видит прекрасно)
3 лучше слышит тебя когда бежиш ( а когда в крысу шкеришся вообще не замечает)
Заранее благодарен!!!
virusman
Простых или очевидных методов решения этих задач нет.
Lex
QUOTE(Misty Archer @ Sep 5 2006, 18:26) [snapback]91106[/snapback]
1 не ощущает тебя когда ты подкрадываешся со спины (а когда повернется сразу замечает)

Я сделал свою функцию обнаружения для такого случая, включающую в себя угол обзора (220 градусов, те подходить можно сзади намана)
QUOTE(Misty Archer @ Sep 5 2006, 18:26) [snapback]91106[/snapback]
2 плохо видит когда темно ( а когда день то видит прекрасно)

зависит от того, что значит видит.. если это отражается на скиловых бросках - без проблем. Если просто GetIsSeen, то придется еще поизвращаться.
QUOTE(Misty Archer @ Sep 5 2006, 18:26) [snapback]91106[/snapback]
3 лучше слышит тебя когда бежиш ( а когда в крысу шкеришся вообще не замечает)

бег вроде нет, а форму можно.

имхо: ты щас в этом увязнешь, если начнешь делать. гемора много, толку для МОДУЛЯ мало. Эти примочки луже потом, если решишься, делай.
mop
Простите, не сможет ли кто объяснить доступно такому чайнику, как я, что такое хакпак с моделями и зачем он? У меня Проклятье Левора на 2 CD от Neogame, из трёх модулей на диске был первый. у вас скачал и поставил два остальных, работают, только в опции меню "Другие модули", там таких ещё 15. Нужны ли хакпаки? И как модули 2 и 3 поставить в главном меню в Прок Левора? Не судите строго ! Спасибо.



Простите, не сможете ли объяснить доступно такому чайнику, как я, что такое хакпак с моделями и зачем он? У меня Проклятье Левора на 2 CD от Neogame, из трёх модулей на диске был первый. у вас скачал и поставил два остальных, работают, только в опции меню "Другие модули", там таких ещё 15. Нужны ли хакпаки? И как модули 2 и 3 поставить в главном меню в Прок Левора, чтобы загружались из Прокл Левора, а не из Других модулей? Не судите строго ! Спасибо за хорошую игру!

Aiwan
Я уже ответил два раза. Или на все посты копировать свои ответы? Как тут не осерчать...
Вот тут на сайте ответил.
Хак пак - это дополнительные ресурсы к игре. Если не будет хватать что-то то модули не запустятся. Если работают, то значит все нормально. Модули в главное меню можно поставить пропатчив патчами для СД версии.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2025 Invision Power Services, Inc.