Помощь - Поиск - Пользователи - Календарь
Полная версия: Скрипты
Город Мастеров > РЕДАКТОРЫ > 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
Dark Lord
Попробую завтрась. Не, вообще я делаю пятизарядный арбалет. Пока арбалет spiteful.gif А то ну что это такое - закончился магазин бластера - а на темпе стрельбы смена магазина не отразилась... bad.gif Надо ввести смену магазина как полное действие. Почему биотвари не сделали пятизарядный арбалет ? pleasantry.gif beee.gif
Добавлено в [mergetime]1090610916[/mergetime]
Да, и еще

Цитата(Dark Lord @ Jul 20 2004, 12:18)
В общем ясно сделать полноценно очередь даже в форме быстрого выстрела с увеличенным числом пуль нельзя. Ладно, если понадобится сделаю пулей из нескольких частей (роем пуль) и анимацией самого випона. Кстати, Айс, растолкуй как сделать вот такое :

есть в инвентарике объект, штык, вернее багинет. Есть винтарик. Задача : с помощью УникПауэра на штыке нацепить его на винтарик. Ну все ясно да : проверитьт есть ли в инвентаре винтарик с нужным тегом, удалить штык удаолить винтарик и дать копье сделанное в форме винтарика. У копья УникПауэр который возвращает винтарик и штык. НО ! На одну и ту же винтовку можно надеть разные штыки ! Более того штык и винтарик могут быть КВЕСТОВЫМИ ! Т.е. надо как-то "запоминать" образы винтарика и штыка а затем их восстанавливать в инвентаре причем уже из ДРУГОВО скрипа. ВОТ как ? Заодно расскажи как повесить ЮникПауэр ибо стыдно но до сих пор не допер  скрип написать на уник пауэр так-то смог а вот проверить повесив немогу...


Добавлено в [mergetime]1090611811[/mergetime]
Цитата(Tarre Talliorne @ Jul 23 2004, 21:09)
срабатывает событие на избятие этой вещи из инвентаря


Вот это совсем не факт, надо проверить. СТрелы- то остаются в инвентаре ! Они просто пеемещаются в слот ! Ну ладнось завтра проверю отпостю.
DBColl
У меня есть такой чувак в модуле. Он стреляет по мишени, после 6 выстрелов идет к мишени, "собирает" стрелы, перезаряжается...

(Aiwan: по секрету, этого чувака когда-то делал Баал :ss: )

Эээ... Короче, ты для кого делаешь, для PC или NPC?
Dark Lord
Для ПС и для НПС, для всех у кого будет ЗВ-дистантное оружие !
DBColl
Цитата(DBColl @ Jul 23 2004, 23:40)
(Aiwan: по секрету, этого чувака когда-то делал Баал)

Этого чувака делал я. wink3.gif С нуля. Бааловский меня не устроил.
Dark Lord
Ну такъ ?
Tarre Talliorne
Цитата
Вот это совсем не факт, надо проверить. СТрелы- то остаются в инвентаре ! Они просто пеемещаются в слот ! Ну ладнось завтра проверю отпостю.

А тебя не смущает, что ИНВЕНТАРЬ это одно, а СЛОТЫ - это другое? :-) Попробуй, ЧТО вернет фёст айтем ин инвентори, если в инвентаре ничего нет, а в слотах дофига шмота. Правильно, OBJECT_INVALID.
Dark Lord
Гмм... Действительно ! Пасиба Тарре за идею good.gif
Tarre Talliorne
Всегда пожалуйста.
Dark Lord
А тогда, как реализовать этакую задержку во время боя ? Имеются идеи как справоцировать ПС произвести некие действия именно когда заканчивается обойма ПРИЧЕМ ИМЕННО С ЦЕЛЬЮ НЕКОТОРОЙ ПАУЗЫ НА "СМЕНУ МАГАЗИНА" - но !желательно конечно чтобы это была своя анимация симены магазина на ! не будет ли эта анимация СРЕДИ БОЯ отображаться как-то не так ? если будет то лучше прросто задержка в действиях ПС (без тайцм-стопа ! просто прекращение атаки на время "перезаряжания" = 1 полное действие !! )
Tarre Talliorne
Попробуй так: ловишь событие окончания обоймы, кидаешь на игрока очистку акций, а затем делэй на 1 сек. Все гениальное просто (гениальность не гарантирую, но простота налицо :-) )
Dark Lord
Цитата(Tarre Talliorne @ Jul 25 2004, 12:01)
делэй на 1 сек


Энто как ? МОжно отсюда поподробнее ? ЧТо за делей ? И на что он влияет ? Только на акции ПК чтоли ?
DBColl
Делэй, это задержка относительно того момента, когда срабатывает данный скрипт. Т.е. если в твоем событии стоит:
DelayCommand(3.0, некая команда); то сработает она через 3 секунды.
DelayCommand(3.0, некий Action); попытается занестись в стек акций через 3 секунды.
Аваддон
Вот что хотел спросить. Как можно оорганизовать хотсайл по саб расам? Допустим если в эльфийский городок прибегает игрок с саб расой Drow.
Он юзер дефайнед ставится проверка саб расы? И сразу делать действие - атака?
Хм так ладно, а вот еще что хотел спросить. Можно сделать так чтоб при заходе на шард у игрока с саб расой дроу автоматом выставлялся хостайл на игроков с остальными расами?
DBColl
Цитата(Аваддон @ Jul 25 2004, 19:54)
Хм так ладно, а вот еще что хотел спросить. Можно сделать так чтоб при заходе на шард у игрока с саб расой дроу автоматом выставлялся хостайл на игроков с остальными расами?

А с чем собсна проблемы-то? На онентер что нельзя репутацию зааджастить в цикле, ко всем игрокам? unknw.gif
Dark Lord
Цитата(Аваддон @ Jul 25 2004, 19:54)
. Можно сделать так чтоб при заходе на шард у игрока с саб расой дроу автоматом выставлялся хостайл на игроков с остальными расами?


Хмм... А зачем ? В смысле смысл самого скрипта ? Или это секрет :ss:
DBColl
Dark Lord
Ну вроде ж как Дроу - враждебная раса. Реализм. Какие секреты? biggrin.gif
Auren
См. Nordok. Вот смысл
Valleo
Тут описана хостайловая система на дроу - если дроу видят эльфа то атакуют. ЗЫ: у НПС-дроу должна быть своя фракция.
Используетсямоя система субрасс, которая работает на шарде Энтарион 1.01. Позже, как зпустим 2.0 я выложу всю систему сюда.

Все "SUBRASE_SUB_" заменить на свое... нужное вам =)

Скрипт смотрит стелс, хайд и т.п. и делает чеки.
Ставится на OnPerception дроу...
Используется стандартный AI скрипт "nw_c2_default2".

Neverwinter Script Source
#include "val_subrace_func" //свою систему субрас

void main()
{
object oPC = GetLastPerceived();

//Check is oPC is PC-Player
if(!GetIsPC(oPC) || GetIsDM(oPC))
  {
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }

int iRacial = GetRacialType(oPC);
int iSubRace = SubraseDefineSubrase(oPC);

if(GetLastPerceptionSeen() == TRUE)
  {
  if(iRacial == RACIAL_TYPE_ELF && iSubRace == SUBRASE_SUB_DROW)
  {
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }
  else if(iRacial == RACIAL_TYPE_DWARF && iSubRace == SUBRASE_SUB_DUERGAR)
  {
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }
  else if(iRacial == RACIAL_TYPE_ELF)
  {
  if(GetStealthMode(oPC) == STEALTH_MODE_ACTIVATED) SpeakString("От менz не спрzчешьсz, трус!");
  AdjustReputation(oPC, OBJECT_SELF, -100);
  AdjustReputation(OBJECT_SELF, oPC, -100);
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }
  else
  {
  if(GetStealthMode(oPC) == STEALTH_MODE_ACTIVATED)
    {
    SpeakString("Странно, что это существо нижшей рассы пытаетсzспрzтатьсz! В атаку!");
    AdjustReputation(oPC, OBJECT_SELF, -100);
    AdjustReputation(OBJECT_SELF, oPC, -100);
    }
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }
  }
else if(GetLastPerceptionHeard() == TRUE)
  {
  if(GetStealthMode(oPC) == STEALTH_MODE_ACTIVATED)
  {
  SpeakString("Я что то слышал...");
  ActionMoveToObject(oPC,TRUE);
  ActionSpeakString("Вот здесь... Хммм...");
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }
  else
  {
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }
  }
else
  {
  ExecuteScript("nw_c2_default2", OBJECT_SELF);
  return;
  }
}
DBColl
Цитата(Valleo @ Jul 26 2004, 01:17)
нижшей рассы

Извини, может я придираюсь, но в 2-х словах 2 ошибки.
Правильно - "низшей расы".
Valleo
Ой ну это ляпнуто у меня клава кривая буквы западают на и в запале чего тока не напечатаешь =)

ЗЫ: а на OnEnter модуля кинуть цикл GetFerstPC....GetNextPC и сверять субрасы??
Shad
Пара вопросов по скриптам... рад что нашёл где могу задать:

1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.

2. Как сделать AreaOfEffect, не подверженную диспеллу?// Прописывание её при наложении как ExtraordinaryEffect не помогает...

4. Как узнать, использовался ли при текущем ударе талант-фит Improved Disarm// (например. Power Attack или Expertise легко определить - это режимы...). Это в скрипте для спец-атаки в OnHitCastSpell - одновременно с Дизармом не должно использоваться, по задумке.

При скриптовании и вообще работе с редактором вопросов возникает много, но я выбрал самые труднорешаемые для меня сейчас. Возможно кто уже сталкивался, подскажите.
Tarre Talliorne
1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.[QUOTE]
На сколько я знаю, единственный способ (и то в ХотУ) это юзать EffectRest (все эффекты завершенного отдыха, только мгновенно)
2GoDoom
У мя тоже вопрос smile.gif
1. Как узнать ResRef конверсейшна? (если это и есть название которое даешь при создании то см. второе)
2. Почему не запускает конверсейшн:
Neverwinter Script Source
if(sTag=="FUR_BOSS") {
  if(GetIsObjectValid(GetItemActivatedTarget())) {
  SetLocalString(oPC, "furniture", GetResRef(GetItemActivatedTarget()));
  ActionStartConversation(oPC, "cc_fur_boss", TRUE); //Не пашет
  } else
   {
    FloatingTextStringOnCreature("Данную вещицу можно использовать только на предмет!", oPC, FALSE); //Пашет если не на объект щелкнул
   }

ОШИБОК КОМПИЛЯТОР НЕ ВЫДАЕТ!
aleVandal
Цитата
Как в скрипте восстановить количество кастов спелла

- функция ForceRest(object oCreature) - но учти, что она востанавливает не только спелы, но и хиты и фиты.
Так что последние перед вызовом функции сохраняешь, а потом восстанавливаешь.
Aiwan
Цитата(2GoDoom @ Jul 26 2004, 16:11)
ОШИБОК КОМПИЛЯТОР НЕ ВЫДАЕТ!


Neverwinter Script Source
AssignCommand(oNPC, ActionStartConversation(oPC, "cc_fur_boss", TRUE));


Твой скрипт на OBJECT_SELF ?
То как ты поставил команду возможно только для OBJECT_SELF, все остальные должны юзать функцию AssignCommand (Тому кто должен сделать, то то то то...)
Аваддон
Тут вопрос назрел. Допустим есть сабраса Вампир. Как сделать чтоб он лечился кровью я знаю. А вот как сделать чтоб для него были пагубны вские Healers Kit и Poition'ы ?
Добавлено в [mergetime]1090855183[/mergetime]
Внести изменения в скрипт отвечающий за спелл лечения?
Aiwan
Shad твои вопросы выше среднего. Я с таким не сталкивался, а крутые скриптеры мнрогие отдыхают. Если не ответят на все вопросы сейчас, попозже подними их еще раз. И добро пожаловать к нам на форум wink3.gif
2GoDoom
Аваддон, выбирай сабрасу на основе расы андеад.
Или же выдавай шкуру андеда (хотя кажись не в ней дело).
Добавлено в [mergetime]1090869202[/mergetime]
А... Точно.. Упустил из виду
Спасибо, Айв smile.gif
Аваддон
2GoDoom,
Чего то я вообще не догнал. Конкретнее smile.gif
Shad
Цитата
Пара вопросов по скриптам... рад что нашёл где могу задать:

1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.

2. Как сделать AreaOfEffect, не подверженную диспеллу?// Прописывание её при наложении как ExtraordinaryEffect не помогает...

4. Как узнать, использовался ли при текущем ударе талант-фит Improved Disarm// (например. Power Attack или Expertise легко определить - это режимы...). Это в скрипте для спец-атаки в OnHitCastSpell - одновременно с Дизармом не должно использоваться, по задумке.
(Вопрос снят - GetLastAttackType(object): возвращает тип последней аттаки _по object_ (вопреки описанию)).


Цитата(Aiwan @ Jul 26 2004, 19:08)
Shad_ твои вопросы выше среднего. Я с таким не сталкивался, а крутые скриптеры мнрогие отдыхают. Если не ответят на все вопросы сейчас, попозже подними их еще раз. И добро пожаловать к нам на форум wink3.gif

Ок. smile.gif

А про ForceRest я тоже думал... только сложно выходит (для сервера), особенно если перед тем обкастовка... всякие неестественности как бы не произошли. Еще была идея к спеллу фит привязать, и его потом восстанавливать - но как-то через левое ухо получается.
2GoDoom
Аввадон, запусти обычный модуль (локально) с кучкой зомби (они то UNDEAD по рассе и шкурка UNDEAD'а на них натянута) - и попробуй их полечить клериком smile.gif
Аваддон
Ну эту фишку что мертвых можно лечить только негативом я еще с балдуры знаю. Ты мне скажи конкретно что с саб расой вампир делать? Это не НПС! Это у игрока такая саб раса. С нпс то все проще.
Tarre Talliorne
Цитата
Тут вопрос назрел. Допустим есть сабраса Вампир. Как сделать чтоб он лечился кровью я знаю. А вот как сделать чтоб для него были пагубны вские Healers Kit и Poition'ы ?

Думаю, такой вариант прокатит:
1. Для пойшнов. Выход только один: отлавливаем событие "принятия на грудь" зелья и кидаем на Пс нужные нам эффекты. Для ПС модульное событие потери предмета, а для НВН- on_disturbed. Только надо проверять, выпил ПС\НПС зелье или положил на землю...
2. Для заклов. Здесь все немного сложнее: в скриптэдиторе жмешь опер, кликаешь скрипты кампаний НВН, в свитке выбираешь spell'ы. И по названиям находишь скрипты заклов лечения, их редактируешь как тебе надо и перезаписываешь.
Аваддон
Так собсна гря также и с поишенами дело обстоит они ведь просто напросто кастуют спелл лечения.
balrog
Я тута гляжу собрались такие крутые скриптеры такого уже напридумывали =) А могли бы вы мои ошибки в скриптах подправить, а?
http://www.wrg.ru/forums/index.php?showtopic=370 <== тяпать сюда .... там всё что я написал .... будте добры помогите ошибки в скриптах исправить ... коегде дописать кое где зачеркнуть .... вам это займёт всего нетого - пару минут yes3.gif

А ещё! ищу хорошего скриптера каторому не впадлу написать пару скриптиков - пишите

СПАСИБО ЗА ВНЕМАНИЕ.
Tarre Talliorne
Цитата
http://www.wrg.ru/forums/index.php?showtopic=370 <== тяпать сюда ....

Пости сюда все скрипты. Если хочешь создать отдельную комнату для своей команды - обращайся к Айвану.

Цитата
ЕСТЬ НОВАЯ ИДЕЯ!!! Игрок берёт в аренду здание под магазин, Нанемает продавца, пишет ему текст диалога, но вот как сделать так, шобы продавец продовал то, что игрок ему передаст из своего инвентаря (с учётом того, шо продавец ничего не скупает!) ПОМОГИТЕ!!!

Самая простая реализация - ПС оставляет в сундуке то, что должен получить НПС - продавец.
Aiwan
Цитата

Окей, скажем так - есть некоторые скрипты, которые больше не используются и не обновляются с тех пор, как в них исчезла нужда (например, система помощников была полностью заменена как в SoU, так и в HotU). Я перекомпилировал все те скрипты, что поставлялись с "ордами", перед выпуском, чтобы удостовериться, что все необходимые скрипты компилируются без проблем. Проблема в 99.9% всех случаев "Я не могу скомпилировать из-за этого include-файла" - из-за перезаписанных стандартных скриптов в модуле или каталоге override. Если один скрипт где-нибудь внизу лестницы зависимостей перезаписан в модуле, он не будет обновляться, когда игра патчится, если вы вручную его не удалите, тем самым ломая все зависящие от него скрипты. В общем, вам лучше не менять include-файлы Bioware, если вы не знаете, что это за собой повлечёт. Если вы настаиваете на использовании старых наборов скриптов (напрмер, старого ИИ наёмников/помощников), вам придётся переписать всю цепочку зависимостей в модуле.

pleasantry.gif Мы это съели и выплюнули чуть не подавившись год назад...
gor
Кто-нибудь делал марширующий взвод солдат? smile.gif
В смысле, чтобы ровно передвигались и не спотыкались
Aiwan
У... Это очень сложно. moil.gif Помоему почти нельзя, только если натыкать кучу вейпов и пинать каждого к следующему, но это мега геммор ИМХО.
Dark Lord
Брр... Сделать всех одним кричем. Лучше плайсом и его двигать. Вот и усе. Не конечно если надо чтобы каждый еще и диалог имел - то ето другое. Ну а так то....
Добавлено в [mergetime]1095157295[/mergetime]
Только анимацию сложно делать, и - учитывая что в НВН поворот осужествляется наскоко я помню *без* анимации - очень интересно посмотреть как такой крич будет поворачиваться crazy.gif А если просто прошагать да по красной плозади клонной - тада именно - одним кричем или плайсом всех солдат.
Аваддон
А мона сделать много тригеров и вейпов. И как солдать на него наступает - проверять че за солдат и направлять его к определенному вейпу
DBColl
Брррр... Гемор. Не стоит свеч. Имхо.
Lex
Самый наименее геморный способ - ActionForceFollowObject
Добавлено в [mergetime]1095177569[/mergetime]
качество не охти, но зато никаких трудностей
DBColl
В ногу они все равно шагать не будут biggrin.gif.
gor
QUOTE
Сделать всех одним кричем. Лучше плайсом и его двигать.


Что есть "кричем?"

QUOTE
А мона сделать много тригеров и вейпов. И как солдать на него наступает - проверять че за солдат и направлять его к определенному вейпу


Хм, наверное, так что-то получится. Да, геморно yes.gif

QUOTE
Брррр... Гемор. Не стоит свеч. Имхо.


СтОит. Заходишь в город, а там сурово - война, все идут на фронт. Сразу настраивает на нужный лад.

QUOTE
Самый наименее геморный способ - ActionForceFollowObject


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

2DBColl. Насчет карты, как в Леворе. Можно сделать так? На плане карта боя, кругом войска - их мышкой перекидываешь, в общем, стратегия. К примеру, оборона города во второй части ХотУ - с такойкартойбысмотрелась






DBColl
QUOTE (gor @ Sep 22 2004, 03:17)
Что есть "кричем?"

Creature.
QUOTE (gor @ Sep 22 2004, 03:17)
Хм, наверное, так что-то получится. Да, геморно

Не получится. Все равно будет сбоить. this.gif
QUOTE (gor @ Sep 22 2004, 03:17)
СтОит. Заходишь в город, а там сурово - война, все идут на фронт. Сразу настраивает на нужный лад.

Можно не толпой отправлять. А по частям. По 3 чела допустим. Тогда можно хорошо сделать. И лад тоже будет нужный wink.gif. Если еще экран взрывами потрясывать.
Есть на самом деле куча способов ОБОЗНАЧИТЬ военные действия и утыкаться в то, что практически не реализуемо не стоит. Лучше подумать хорошенько и попробовать другие методы wink.gif.
QUOTE (gor @ Sep 22 2004, 03:17)
Надо, чтобы просто шла вооруженная группа и было видно, что это организованная единица. Навороченной анимации - не обязательно.

Имхо, как сказал Dark Lord это получится только если делать ВСЮ толпу одним кричем с одинаковой анимацией... Но смотреться будет не лучшим образом, когда при наведении мыши будет подсвечиваться ВСЯ толпа... Потому ЛУЧШЕ забить на это. Пробовать другие способы. yes.gif
QUOTE (gor @ Sep 22 2004, 03:17)
2DBColl. Насчет карты, как в Леворе. Можно сделать так? На плане карта боя, кругом войска - их мышкой перекидываешь, в общем, стратегия. К примеру, оборона города во второй части ХотУ - с такой картой бы смотрелась

Не знаю... А оно надо? Хех. Может и можно как-то сделать, если подумать. Но я бы не стал гемориться со стратегией... НВН не для того заточен buba.gif.
Shad
Вот, несколько вопросов возникло... под пол-ворого ночи. Кто знает - подскажите:
1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.
2. Как сделать AreaOfEffect, не подверженную диспеллу?// Прописывание её при наложении как ExtraordinaryEffect не помогает...
3. Как сделать, чтобы Item свободно левитировал в воздухе, и чтобы его из воздуха можно было взять?//Редакторе висит, в игре падает вниз.
4. Как сделать, чтобы работали фиты на Creature Weapon - Improved Critical, Overwhelming Critical, например. У меня не работают.
5. Как сделать, чтобы Creature Weapon наносил одновременно разные типы физического урона (Режущий и колющий и дробящий сразу).// Когда ставлю такие свойства на оружме, или эффект на существо - урон растет но остаетья того же типа, что на базовом предмете оружии.
Twin
У меня не работает DelayCommand, если я вызываю его из onDeath и указанное время больше чем примерно 5.0f. Попробуйте вписать себе в onDeath любого НПС следующее:

Neverwinter Script Source
#include "x2_inc_compon"
#include "x0_i0_spawncond"

void DoSpawn2();

void main()
{
    int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
    int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
    object oKiller = GetLastKiller();

    // If we're a good/neutral commoner,
    // adjust the killer's alignment evil
    if ( nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL) )
    {
        AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
    }

    // Call to allies to let them know we're dead
    SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);

    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);

    DelayCommand( 20.0f, DoSpawn2());
    SendMessageToPC(GetFirstPC(), "debug 1");

    // NOTE: the OnDeath user-defined event does not
    // trigger reliably and should probably be removed
    if ( GetSpawnInCondition(NW_FLAG_DEATH_EVENT) )
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1007));
    }

    craft_drop_items(oKiller);
}

void DoSpawn2()
{
    SendMessageToPC(GetFirstPC(), "debug2");
}


Смысловой нагрузки в DoSpawn2() нет, т.к. у нас идет типа отладка. Проблема в том, что у меня "debug2" не пишет, если понизить время в DelayCommand до 5.0f то напишет, но мне то нужно таймер больше чем минуты делать. Почему так происходит я не знаю, еще очень мало работаю с тулсетом. Может кто подскажет как мне реализовать таймер после убийства НПС, причем я должен иметь доступ к свойствам убиваемого НПС (только для чтения, не для записиsmile.gif).
Aiwan
Твоя функция вызывается скорее всего ПОСЛЕ разрушения твоего НПС. Вот посему он ее и не находит после 5 секунд.
Добавлено в [mergetime]1096598585[/mergetime]
Если ты хочешь какой то набор действий, то лучше запускай через DelayCommand отдельный скрипт.
Twin
Aiwan
Ок, на счет разрушения. Если ты говоришь так, значит так. Я это допускал. Но объясни мне, как может DelayCommand зависить от существования OBJECT_SELF'а? Это же бред. 5 секунд, примерно изчезают останки с карты и появляется лут, видимо этот отрезок и является ключевым. Но его править не размуно. Опять же, выходит такой кривой движок, если DelayCommand перестает работать после уничтожения объякта, вызвавшего его? Ведь DoSpawn2() никакого отношения к OBJECT_SELF'у не имеет. Не приятно, что через такую жопу всё... swoon.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2025 Invision Power Services, Inc.