Dark Lord
Jul 23 2004, 22:22
Попробую завтрась. Не, вообще я делаю пятизарядный арбалет.
Пока арбалет

А то ну что это такое - закончился магазин бластера - а на темпе стрельбы смена магазина не отразилась...

Надо ввести смену магазина как полное действие. Почему биотвари не сделали пятизарядный арбалет ?
Добавлено в [mergetime]1090610916[/mergetime] Да, и еще
Цитата(Dark Lord @ Jul 20 2004, 12:18)
В общем ясно сделать полноценно очередь даже в форме быстрого выстрела с увеличенным числом пуль нельзя. Ладно, если понадобится сделаю пулей из нескольких частей (роем пуль) и анимацией самого випона. Кстати, Айс, растолкуй как сделать вот такое :
есть в инвентарике объект, штык, вернее багинет. Есть винтарик. Задача : с помощью УникПауэра на штыке нацепить его на винтарик. Ну все ясно да : проверитьт есть ли в инвентаре винтарик с нужным тегом, удалить штык удаолить винтарик и дать копье сделанное в форме винтарика. У копья УникПауэр который возвращает винтарик и штык. НО ! На одну и ту же винтовку можно надеть разные штыки ! Более того штык и винтарик могут быть КВЕСТОВЫМИ ! Т.е. надо как-то "запоминать" образы винтарика и штыка а затем их восстанавливать в инвентаре причем уже из ДРУГОВО скрипа. ВОТ как ? Заодно расскажи как повесить ЮникПауэр ибо стыдно но до сих пор не допер скрип написать на уник пауэр так-то смог а вот проверить повесив немогу...
Добавлено в [mergetime]1090611811[/mergetime] Цитата(Tarre Talliorne @ Jul 23 2004, 21:09)
срабатывает событие на избятие этой вещи из инвентаря
Вот это совсем не факт, надо проверить. СТрелы- то остаются в инвентаре ! Они просто пеемещаются в слот ! Ну ладнось завтра проверю отпостю.
DBColl
Jul 23 2004, 23:40
У меня есть такой чувак в модуле. Он стреляет по мишени, после 6 выстрелов идет к мишени, "собирает" стрелы, перезаряжается...
(Aiwan: по секрету, этого чувака когда-то делал Баал :ss: )
Эээ... Короче, ты для кого делаешь, для PC или NPC?
Dark Lord
Jul 24 2004, 11:38
Для ПС и для НПС, для всех у кого будет ЗВ-дистантное оружие !
DBColl
Jul 24 2004, 15:19
Цитата(DBColl @ Jul 23 2004, 23:40)
(Aiwan: по секрету, этого чувака когда-то делал Баал)
Этого чувака делал я.

С нуля. Бааловский меня не устроил.
Dark Lord
Jul 24 2004, 16:03
Ну такъ ?
Tarre Talliorne
Jul 24 2004, 19:01
Цитата
Вот это совсем не факт, надо проверить. СТрелы- то остаются в инвентаре ! Они просто пеемещаются в слот ! Ну ладнось завтра проверю отпостю.
А тебя не смущает, что ИНВЕНТАРЬ это одно, а СЛОТЫ - это другое? :-) Попробуй, ЧТО вернет фёст айтем ин инвентори, если в инвентаре ничего нет, а в слотах дофига шмота. Правильно, OBJECT_INVALID.
Dark Lord
Jul 24 2004, 20:27
Гмм... Действительно ! Пасиба Тарре за идею
Tarre Talliorne
Jul 24 2004, 20:39
Всегда пожалуйста.
Dark Lord
Jul 24 2004, 22:02
А тогда, как реализовать этакую задержку во время боя ? Имеются идеи как справоцировать ПС произвести некие действия именно когда заканчивается обойма ПРИЧЕМ ИМЕННО С ЦЕЛЬЮ НЕКОТОРОЙ ПАУЗЫ НА "СМЕНУ МАГАЗИНА" - но !желательно конечно чтобы это была своя анимация симены магазина на ! не будет ли эта анимация СРЕДИ БОЯ отображаться как-то не так ? если будет то лучше прросто задержка в действиях ПС (без тайцм-стопа ! просто прекращение атаки на время "перезаряжания" = 1 полное действие !! )
Tarre Talliorne
Jul 25 2004, 12:01
Попробуй так: ловишь событие окончания обоймы, кидаешь на игрока очистку акций, а затем делэй на 1 сек. Все гениальное просто (гениальность не гарантирую, но простота налицо :-) )
Dark Lord
Jul 25 2004, 14:47
Цитата(Tarre Talliorne @ Jul 25 2004, 12:01)
делэй на 1 сек
Энто как ? МОжно отсюда поподробнее ? ЧТо за делей ? И на что он влияет ? Только на акции ПК чтоли ?
DBColl
Jul 25 2004, 16:01
Делэй, это задержка относительно того момента, когда срабатывает данный скрипт. Т.е. если в твоем событии стоит:
DelayCommand(3.0, некая команда); то сработает она через 3 секунды.
DelayCommand(3.0, некий Action); попытается занестись в стек акций через 3 секунды.
Аваддон
Jul 25 2004, 19:54
Вот что хотел спросить. Как можно оорганизовать хотсайл по саб расам? Допустим если в эльфийский городок прибегает игрок с саб расой Drow.
Он юзер дефайнед ставится проверка саб расы? И сразу делать действие - атака?
Хм так ладно, а вот еще что хотел спросить. Можно сделать так чтоб при заходе на шард у игрока с саб расой дроу автоматом выставлялся хостайл на игроков с остальными расами?
DBColl
Jul 25 2004, 20:18
Цитата(Аваддон @ Jul 25 2004, 19:54)
Хм так ладно, а вот еще что хотел спросить. Можно сделать так чтоб при заходе на шард у игрока с саб расой дроу автоматом выставлялся хостайл на игроков с остальными расами?
А с чем собсна проблемы-то? На онентер что нельзя репутацию зааджастить в цикле, ко всем игрокам?
Dark Lord
Jul 25 2004, 22:23
Цитата(Аваддон @ Jul 25 2004, 19:54)
. Можно сделать так чтоб при заходе на шард у игрока с саб расой дроу автоматом выставлялся хостайл на игроков с остальными расами?
Хмм... А зачем ? В смысле смысл самого скрипта ? Или это секрет :ss:
DBColl
Jul 25 2004, 23:15
Dark Lord Ну вроде ж как Дроу - враждебная раса. Реализм. Какие секреты?
Valleo
Jul 26 2004, 01:17
Тут описана хостайловая система на дроу - если дроу видят эльфа то атакуют. ЗЫ: у НПС-дроу должна быть своя фракция.
Используетсямоя система субрасс, которая работает на шарде Энтарион 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
Jul 26 2004, 01:23
Цитата(Valleo @ Jul 26 2004, 01:17)
нижшей рассы
Извини, может я придираюсь, но в 2-х словах 2 ошибки.
Правильно - "низшей расы".
Valleo
Jul 26 2004, 01:33
Ой ну это ляпнуто у меня клава кривая буквы западают на и в запале чего тока не напечатаешь =)
ЗЫ: а на OnEnter модуля кинуть цикл GetFerstPC....GetNextPC и сверять субрасы??
Пара вопросов по скриптам... рад что нашёл где могу задать:
1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.
2. Как сделать AreaOfEffect, не подверженную диспеллу?// Прописывание её при наложении как ExtraordinaryEffect не помогает...
4. Как узнать, использовался ли при текущем ударе талант-фит Improved Disarm// (например. Power Attack или Expertise легко определить - это режимы...). Это в скрипте для спец-атаки в OnHitCastSpell - одновременно с Дизармом не должно использоваться, по задумке.
При скриптовании и вообще работе с редактором вопросов возникает много, но я выбрал самые труднорешаемые для меня сейчас. Возможно кто уже сталкивался, подскажите.
Tarre Talliorne
Jul 26 2004, 11:20
1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.[QUOTE]
На сколько я знаю, единственный способ (и то в ХотУ) это юзать EffectRest (все эффекты завершенного отдыха, только мгновенно)
2GoDoom
Jul 26 2004, 13:11
У мя тоже вопрос

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
Jul 26 2004, 14:35
Цитата
Как в скрипте восстановить количество кастов спелла
- функция ForceRest(object oCreature) - но учти, что она востанавливает не только спелы, но и хиты и фиты.
Так что последние перед вызовом функции сохраняешь, а потом восстанавливаешь.
Цитата(2GoDoom @ Jul 26 2004, 16:11)
ОШИБОК КОМПИЛЯТОР НЕ ВЫДАЕТ!
Neverwinter Script Source |
AssignCommand(oNPC, ActionStartConversation(oPC, "cc_fur_boss", TRUE)); |
Твой скрипт на OBJECT_SELF ?
То как ты поставил команду возможно только для OBJECT_SELF, все остальные должны юзать функцию AssignCommand (Тому кто должен сделать, то то то то...)
Аваддон
Jul 26 2004, 18:19
Тут вопрос назрел. Допустим есть сабраса Вампир. Как сделать чтоб он лечился кровью я знаю. А вот как сделать чтоб для него были пагубны вские Healers Kit и Poition'ы ?
Добавлено в [mergetime]1090855183[/mergetime]
Внести изменения в скрипт отвечающий за спелл лечения?
Shad твои вопросы выше среднего. Я с таким не сталкивался, а крутые скриптеры мнрогие отдыхают. Если не ответят на все вопросы сейчас, попозже подними их еще раз. И добро пожаловать к нам на форум
2GoDoom
Jul 26 2004, 22:12
Аваддон, выбирай сабрасу на основе расы андеад.
Или же выдавай шкуру андеда (хотя кажись не в ней дело).
Добавлено в [mergetime]1090869202[/mergetime] А... Точно.. Упустил из виду
Спасибо, Айв
Аваддон
Jul 27 2004, 00:16
2GoDoom,Чего то я вообще не догнал. Конкретнее
Цитата
Пара вопросов по скриптам... рад что нашёл где могу задать:
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_ твои вопросы выше среднего. Я с таким не сталкивался, а крутые скриптеры мнрогие отдыхают. Если не ответят на все вопросы сейчас, попозже подними их еще раз. И добро пожаловать к нам на форум

Ок.

А про ForceRest я тоже думал... только сложно выходит (для сервера), особенно если перед тем обкастовка... всякие неестественности как бы не произошли. Еще была идея к спеллу фит привязать, и его потом восстанавливать - но как-то через левое ухо получается.
2GoDoom
Jul 27 2004, 12:17
Аввадон, запусти обычный модуль (локально) с кучкой зомби (они то UNDEAD по рассе и шкурка UNDEAD'а на них натянута) - и попробуй их полечить клериком
Аваддон
Jul 27 2004, 13:41
Ну эту фишку что мертвых можно лечить только негативом я еще с балдуры знаю. Ты мне скажи конкретно что с саб расой вампир делать? Это не НПС! Это у игрока такая саб раса. С нпс то все проще.
Tarre Talliorne
Jul 29 2004, 15:52
Цитата
Тут вопрос назрел. Допустим есть сабраса Вампир. Как сделать чтоб он лечился кровью я знаю. А вот как сделать чтоб для него были пагубны вские Healers Kit и Poition'ы ?
Думаю, такой вариант прокатит:
1. Для пойшнов. Выход только один: отлавливаем событие "принятия на грудь" зелья и кидаем на Пс нужные нам эффекты. Для ПС модульное событие потери предмета, а для НВН- on_disturbed. Только надо проверять, выпил ПС\НПС зелье или положил на землю...
2. Для заклов. Здесь все немного сложнее: в скриптэдиторе жмешь опер, кликаешь скрипты кампаний НВН, в свитке выбираешь spell'ы. И по названиям находишь скрипты заклов лечения, их редактируешь как тебе надо и перезаписываешь.
Аваддон
Jul 29 2004, 19:23
Так собсна гря также и с поишенами дело обстоит они ведь просто напросто кастуют спелл лечения.
Я тута гляжу собрались такие крутые скриптеры такого уже напридумывали =) А могли бы вы мои ошибки в скриптах подправить, а?
http://www.wrg.ru/forums/index.php?showtopic=370 <== тяпать сюда .... там всё что я написал .... будте добры помогите ошибки в скриптах исправить ... коегде дописать кое где зачеркнуть .... вам это займёт всего нетого - пару минут
А ещё! ищу хорошего скриптера каторому не впадлу написать пару скриптиков - пишите
СПАСИБО ЗА ВНЕМАНИЕ.
Tarre Talliorne
Aug 6 2004, 18:47
Цитата
Пости сюда все скрипты. Если хочешь создать отдельную комнату для своей команды - обращайся к Айвану.
Цитата
ЕСТЬ НОВАЯ ИДЕЯ!!! Игрок берёт в аренду здание под магазин, Нанемает продавца, пишет ему текст диалога, но вот как сделать так, шобы продавец продовал то, что игрок ему передаст из своего инвентаря (с учётом того, шо продавец ничего не скупает!) ПОМОГИТЕ!!!
Самая простая реализация - ПС оставляет
в сундуке то, что должен получить НПС - продавец.
Цитата
Окей, скажем так - есть некоторые скрипты, которые больше не используются и не обновляются с тех пор, как в них исчезла нужда (например, система помощников была полностью заменена как в SoU, так и в HotU). Я перекомпилировал все те скрипты, что поставлялись с "ордами", перед выпуском, чтобы удостовериться, что все необходимые скрипты компилируются без проблем. Проблема в 99.9% всех случаев "Я не могу скомпилировать из-за этого include-файла" - из-за перезаписанных стандартных скриптов в модуле или каталоге override. Если один скрипт где-нибудь внизу лестницы зависимостей перезаписан в модуле, он не будет обновляться, когда игра патчится, если вы вручную его не удалите, тем самым ломая все зависящие от него скрипты. В общем, вам лучше не менять include-файлы Bioware, если вы не знаете, что это за собой повлечёт. Если вы настаиваете на использовании старых наборов скриптов (напрмер, старого ИИ наёмников/помощников), вам придётся переписать всю цепочку зависимостей в модуле.

Мы это съели и выплюнули чуть не подавившись год назад...
Кто-нибудь делал марширующий взвод солдат?

В смысле, чтобы ровно передвигались и не спотыкались
У... Это очень сложно.

Помоему почти нельзя, только если натыкать кучу вейпов и пинать каждого к следующему, но это мега геммор ИМХО.
Dark Lord
Sep 14 2004, 13:19
Брр... Сделать всех
одним кричем. Лучше плайсом и его двигать. Вот и усе. Не конечно если надо чтобы каждый еще и диалог имел - то ето другое. Ну а так то....
Добавлено в [mergetime]1095157295[/mergetime] Только анимацию сложно делать, и - учитывая что в НВН поворот осужествляется наскоко я помню *без* анимации - очень интересно посмотреть как такой крич будет поворачиваться

А если просто прошагать да по красной плозади клонной - тада именно - одним кричем или плайсом всех солдат.
Аваддон
Sep 14 2004, 16:03
А мона сделать много тригеров и вейпов. И как солдать на него наступает - проверять че за солдат и направлять его к определенному вейпу
DBColl
Sep 14 2004, 17:51
Брррр... Гемор. Не стоит свеч. Имхо.
Самый наименее геморный способ - ActionForceFollowObject
Добавлено в [mergetime]1095177569[/mergetime]
качество не охти, но зато никаких трудностей
DBColl
Sep 14 2004, 19:31
В ногу они все равно шагать не будут

.
QUOTE |
Сделать всех одним кричем. Лучше плайсом и его двигать. |
Что есть "кричем?"
QUOTE |
А мона сделать много тригеров и вейпов. И как солдать на него наступает - проверять че за солдат и направлять его к определенному вейпу |
Хм, наверное, так что-то получится. Да, геморно
QUOTE |
Брррр... Гемор. Не стоит свеч. Имхо. |
СтОит. Заходишь в город, а там сурово - война, все идут на фронт. Сразу настраивает на нужный лад.
QUOTE |
Самый наименее геморный способ - ActionForceFollowObject |
Нет. Будут спотыкаться, споткнувшись тормозить и стоять на месте.
Надо, чтобы просто шла вооруженная группа и было видно, что это организованная единица. Навороченной анимации - не обязательно.
2DBColl. Насчет карты, как в Леворе. Можно сделать так? На плане карта боя, кругом войска - их мышкой перекидываешь, в общем, стратегия. К примеру, оборона города во второй части ХотУ - с такойкартойбысмотрелась
DBColl
Sep 22 2004, 10:42
QUOTE (gor @ Sep 22 2004, 03:17) |
Что есть "кричем?" |
Creature.
QUOTE (gor @ Sep 22 2004, 03:17) |
Хм, наверное, так что-то получится. Да, геморно |
Не получится. Все равно будет сбоить.
QUOTE (gor @ Sep 22 2004, 03:17) |
СтОит. Заходишь в город, а там сурово - война, все идут на фронт. Сразу настраивает на нужный лад. |
Можно не толпой отправлять. А по частям. По 3 чела допустим. Тогда можно хорошо сделать. И лад тоже будет нужный

. Если еще экран взрывами потрясывать.
Есть на самом деле куча способов ОБОЗНАЧИТЬ военные действия и утыкаться в то, что практически не реализуемо не стоит. Лучше подумать хорошенько и попробовать другие методы

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

.
Вот, несколько вопросов возникло... под пол-ворого ночи. Кто знает - подскажите:
1. Как в скрипте восстановить количество кастов спелла.//: функцию IncrementRemainingFeatUses() нашёл, есть также DecrementRemainingFeatUses() и DecrementRemainingSpellUses(), а вот IncrementRemainingSpellUses() - такой или подобной почему-то нет, в т. ч. не нашёл и в стандартных инклудах.
2. Как сделать AreaOfEffect, не подверженную диспеллу?// Прописывание её при наложении как ExtraordinaryEffect не помогает...
3. Как сделать, чтобы Item свободно левитировал в воздухе, и чтобы его из воздуха можно было взять?//Редакторе висит, в игре падает вниз.
4. Как сделать, чтобы работали фиты на Creature Weapon - Improved Critical, Overwhelming Critical, например. У меня не работают.
5. Как сделать, чтобы Creature Weapon наносил одновременно разные типы физического урона (Режущий и колющий и дробящий сразу).// Когда ставлю такие свойства на оружме, или эффект на существо - урон растет но остаетья того же типа, что на базовом предмете оружии.
У меня не работает 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 то напишет, но мне то нужно таймер больше чем минуты делать. Почему так происходит я не знаю, еще очень мало работаю с тулсетом. Может кто подскажет как мне реализовать таймер после убийства НПС, причем я должен иметь доступ к свойствам убиваемого НПС (только для чтения, не для записи

).
Твоя функция вызывается скорее всего ПОСЛЕ разрушения твоего НПС. Вот посему он ее и не находит после 5 секунд.
Добавлено в [mergetime]1096598585[/mergetime]
Если ты хочешь какой то набор действий, то лучше запускай через DelayCommand отдельный скрипт.
AiwanОк, на счет разрушения. Если ты говоришь так, значит так. Я это допускал. Но объясни мне, как может DelayCommand зависить от существования OBJECT_SELF'а? Это же бред. 5 секунд, примерно изчезают останки с карты и появляется лут, видимо этот отрезок и является ключевым. Но его править не размуно. Опять же, выходит такой кривой движок, если DelayCommand перестает работать после уничтожения объякта, вызвавшего его? Ведь DoSpawn2() никакого отношения к OBJECT_SELF'у не имеет. Не приятно, что через такую жопу всё...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.