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

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


Ferst
Отправлено: Aug 10 2005, 10:06


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE (-fenix- @ Aug 10 2005, 09:53)
Зачем в скрипте на смерть мудрить со слотами и деньгами?

Эффект, как в Дьябло - скидывание вещей с игрока и денег.
QUOTE
У ПС при смерти трупа та и нет. Он какбы валяется а при нажатии на респаун он просто встает с полными хитами. В стандартных скриптах про удаление трупа ни слова. Откуда у тебя труп появляется, у меня скажем ничего не появлялось.

1. Трупа нет скорее всего потому, что Скалед делал костомный объект-труп, который Вы не создали усебя ;)
2. Встает с хилами, т.к. нет в модуле у Вас объекта с нужным тэгом, к которому телепортируется игрок при респе.
QUOTE
Сумочка с вещами остается при убийстве монстров!

Именно поэтому Сумочку с вещами опять же он создает сам, чтобы она валялась рядом с трупом.
У Вас она скорее всего не появляется(если это так), из-за отсутствия в костомной палитре.


ЗЫ. Надеюсь не страшно, что ответил за Скаледа :) Я подумал, что он долго будет разбираться почему у Вас ничего не работает. Сорри, если помешал вашей дискуссии :)
ЗЫЫ. А почему не работало удаление у автора вопроса, написал чуть выше.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #47604 · Ответов: 5109 · Просмотров: 1,026,000

Ferst
Отправлено: Aug 10 2005, 09:51


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


1. SetLocalObject(oCorpse, "oOwner", oPlayer);

2. object oCorpse = GetLocalObject(oRespawner,"oOwner");

В первом скрипте Вы устанавливаете локальный объект на _труп_.
А во втором берете переменную с _игрока_.

SetLocalObject(oPlayer, "oOwner", oCorpse);

Так будет верно.

ЗЫ.
При работе с объектами, чтобы проверить существует ли вообще объект, сделайте себе дебаг строки на имя объекта:
SendMessageToPC(oPlayer, "CorpseName="+GetName(oCorpse));
Если у Вас после "CorpseName=" будет пустое значение в логе чата, то объекта просто нет и нужно искать почему ;)
Естессно имя у объекта должно быть обязательно.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #47602 · Ответов: 5109 · Просмотров: 1,026,000

Ferst
Отправлено: Jul 30 2005, 18:53


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE (Tonakien @ Jul 30 2005, 16:16)
Просьба о помощи...
Кто как дебагит модуль если он здоровый, а нужно оказаться в определенном месте с определенными значениями на тебе и на мире?  :xz:

Neverwinter Script Source
SendMessageToPC(oPC, "iTop="+IntToString(iTop)+"  iBottom="+IntToString(iBottom)+"  iCount="+IntToString(iCount));//////


Тока так :)
Слэши в конце специально, чтобы знать что эту строчку можно удалить в любой момент. Полезно, когда модуль заработал и дебаг не нужен, чтобы найти все такие строки.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #47140 · Ответов: 3364 · Просмотров: 955,706

Ferst
Отправлено: Jul 30 2005, 18:43


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE (-fenix- @ Jul 29 2005, 21:23)
Блин, люди не как не могу понять, как заставить чела скастовать спел на другого чела. Можно через

1. Сначала Assign, а _потом_ делей. Вполне возможно, что исчезает тот объект, от которого делается событие за столько минут. AssignCommand(oPC, DelayCommand(165.0, ..........

2. А точно делей нужен более 150 секунд? (165.0 = 165сек. )

3. Пишите пожалуйста полностью строчки кода, а если код маленький, то лучше весь код - быстрее получите ответ.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #47139 · Ответов: 5109 · Просмотров: 1,026,000

Ferst
Отправлено: Jul 15 2005, 16:17


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


Я прошу прощения у ответивших, а особенно у модераторов... :)
Удалите мой вопрос, пожалуйста. Я просто запутался.

Действительно работает.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46128 · Ответов: 3364 · Просмотров: 955,706

Ferst
Отправлено: Jul 15 2005, 15:55


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE
Если проставлять в skills.2da ссылку на строку у любого дополнительного(моего) навыка как 16826112 (как есть у ПРЦешников), то в игре отображает строку "Iaijutsu Focus". Что логично, но не понимаю почему костомные не пашут.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46125 · Ответов: 3364 · Просмотров: 955,706

Ferst
Отправлено: Jul 15 2005, 15:03


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


Кто-нить может мне объяснить такую проблему?:

Имеем:
"Iaijutsu Focus" в ПРЦешном ТЛК на строке 48896.
Но в skills.2da ссылка на 16826112

Хочу, например:
"Изготовление ядерных бомб" в ТЛК на строке 49098.
Проставляю: 16826314 (и далее для других навыков по порядку)в skills.2da . В игре показывает пустые значения. :(
Проставляю: 49098 - значение берется из стандартного ТЛК.

Если проставлять в skills.2da ссылку на строку у любого дополнительного(моего) навыка как 16826112 (как есть у ПРЦешников), то в игре отображает строку "Iaijutsu Focus". Что логично, но не понимаю почему костомные не пашут.

Это я туплю или логика тут не стандартная? :(
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #46120 · Ответов: 3364 · Просмотров: 955,706

Важно! Скрипты
Ferst
Отправлено: Apr 14 2005, 18:43


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE (Aiwan @ Apr 12 2005, 22:46)
Русский тулсет закинь, если не хочешь мертвого модуля по прошествии времени...

Это к чему?
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #36043 · Ответов: 3670 · Просмотров: 809,633

Важно! Скрипты
Ferst
Отправлено: Apr 12 2005, 15:35


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE
Ставится на ХБ МОДУЛЯ. (или какого-нить особого объекта)

Даже если все верно работает, то вариант совершенно не приемлем для онлайн модулей.

А жаль. Я смогу его переделать, если мне понадобится, но вот остальные, как понял, с трудом... Сам не смогу пока смотреть как переделать - море и так скриптов :)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #35816 · Ответов: 3670 · Просмотров: 809,633

Важно! Скрипты
Ferst
Отправлено: Apr 6 2005, 14:44


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


Срабатывает.

Что может быть проще, чем повесить на онЕнтер и онЕксит по строчке коментария в шаут и тестить?
SpeakString("ENTER", TALKVOLUME_SHOUT);
SpeakString("EXIT", TALKVOLUME_SHOUT);

Или вот так на каждого игрока не в шаут(менять по вкусу):

Neverwinter Script Source
object oPC   = GetExitingObject();
void main()
{
AssignCommand(oPC, SpeakString("EXIT"));
}


Сразу подводный камень:
При вселении в фамильяра(а также ДМом в непися) событие онЕксит срабатывает, а вот при вылизании онЕнтер не срабатывает!
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #34869 · Ответов: 3670 · Просмотров: 809,633

Важно! Скрипты
Ferst
Отправлено: Apr 2 2005, 21:57


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


С переменными действительно проще :)
На самом неписе делаете заранее подготовленные локальные переменные (у каждого объекта есть это свойство)
переменные будут иметь имена

speach1
speach2
speach3
.....

А код изменится соответственно:
Neverwinter Script Source
/// ВО ВРЕМЯ БОЯ И ДИАЛОГА С РС ФРАЗЫ НЕ ГОВОРИМ
if ((!IsInConversation(OBJECT_SELF))&&(!GetIsInCombat(OBJECT_SELF)))
        {
        string s;
        GetLocalString(OBJECT_SELF, "speach"+IntToString(Random(20)));
        if (s!="") SpeakString(s);
        }


Надеюсь, как устанавливать переменные все знают.

Кстати. Вот скрипт, построенный на таком же принципе:
Neverwinter Script Source
void main()
{
if (GetLocalInt(OBJECT_SELF, "treaschest_rnd_open")==FALSE)
{
  string sItem = GetLocalString(OBJECT_SELF, "treaschest_rnd_"
       +IntToString(Random(GetLocalInt(OBJECT_SELF, "treaschest_rnd_col"))+1));
  object oItem = CreateItemOnObject(sItem);

  SetLocalInt(OBJECT_SELF, "treaschest_rnd_open", TRUE);
  DelayCommand(60.0f, SetLocked(OBJECT_SELF, TRUE));
  DelayCommand(60.0f, DeleteLocalInt(OBJECT_SELF, "treaschest_rnd_open"));
}
}

Вешается на onOpen.
Сундук открывается ключом, затем создается случайный предмет, из списка ResRef`ов, заданных заранее в переменных
"treaschest_rnd_*"
Где * : 1..GetLocalInt(OBJECT_SELF, "treaschest_rnd_col")
То есть и максимальная величина задается в переменной.
Если переменная пустая, то объект не создастся, что может внести элемент неудачи при генерации сокровища.
Через 60 секунд сундук автоматически запирается.

if (GetLocalInt(OBJECT_SELF, "treaschest_rnd_open")==FALSE)
Введено для невозможности генерации сокровищ, если сундук еще не закрылся на ключ.

ЗЫ: Надеюсь, пост не был лишним :)
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #34269 · Ответов: 3670 · Просмотров: 809,633

Важно! Скрипты
Ferst
Отправлено: Mar 30 2005, 22:36


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


Это не офтопик, а уточнее, что написано не для хиартбита, а основываясь на том, что было указано в вопросе.

Я не против критики, если она имеет смысл быть.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #33802 · Ответов: 3670 · Просмотров: 809,633

Важно! Скрипты
Ferst
Отправлено: Mar 30 2005, 22:26


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE (Алексашка @ Mar 30 2005, 22:16)
Оптимизация вещь хорошая. Только ClearAllActions ставить лучше после выполнения условий день или ночь. Тогда в spawne непись может ночью спать, а днем дрова рубить например. :yes:

Мда... Невнимательность продолжается.
Кто-то сказал, что это Хиартбит? Я уже говорил, что о событии человек не спрашивал.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #33800 · Ответов: 3670 · Просмотров: 809,633

Важно! Скрипты
Ferst
Отправлено: Mar 30 2005, 21:07


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


QUOTE (Archangel @ Mar 30 2005, 20:12)
Люди, помогите... Почему этот скрипт не работает, а точнее работает но на половину... 
Когда день, то НеПиСь идет куда ему положено, а когда наступает ночь, то он стоит, как вкопаный...

Всем: Вроде бы человек сказал, что не работает наполовину. При чем тут событие?


Первая и вторая часть отличаются только одним - вейпоинтом (фраза не в счет).
Может, просто нет вейпоинта с таким именем? ;)

Да, и еще. Сделайте оптимизировано. Зачем два раза проверять одно и то же условие?

Neverwinter Script Source
void main()
{
  object oW1= GetWaypointByTag("W1");
  object oW2= GetWaypointByTag("W2");
  object oN1 = GetObjectByTag("N1");
DelayCommand(7.0, AssignCommand(oN1, ClearAllActions()));
if (GetIsDay()==TRUE)

  DelayCommand(10.0, AssignCommand(oN1, SpeakString("I HATE DAY!!!!")));
  DelayCommand(15.0, AssignCommand(oN1, ActionForceMoveToObject(oW2,TRUE, 1.0,   12.0)));
}
else
{
  DelayCommand(10.0, AssignCommand(oN1, SpeakString("Nigh? I like night...")));
  DelayCommand(15.0, AssignCommand(oN1, ActionForceMoveToObject(oW1,TRUE, 1.0, 12.0)));
}
}
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #33787 · Ответов: 3670 · Просмотров: 809,633

Ferst
Отправлено: Jan 9 2005, 01:04


Level 2
*

Группа: Newbie
Сообщений: 15
Регистрация: 09.01.2005
Пользователь №: 479


С момента выхода патча 1.65 нигде так и не увидел обсуждения его плюсов и минусов. Здесь было предложено обсудить этот патч, но как-то дело не пошло.

Мне важно знать каких он проблем добавил, а какие реально убрал, не описанные в документе. Причем желательно не с 1.65 сравнивать, а с более стабильной версией 1.62.
Нужно решить, переводить шард на новую версию или нет, а информации нету. :)
  Форум: Neverwinter Nights · Просмотр сообщения: #21297 · Ответов: 42 · Просмотров: 51,439


Есть новые сообщения  Открытая тема (есть новые ответы)
Нет новых сообщений  Открытая тема (нет новых ответов)
Горячая тема (есть новые сообщения)  Горячая тема (есть новые ответы)
Горячая тема (нет новых сообщений)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Тема закрыта  Закрытая тема
Тема перемещена  Тема перемещена
 

Текстовая версия Сейчас: 31st July 2025 - 22:40