• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Форум » TrinityCore » [TrinityCore] Help » Заставить моба через SmartAI завершить квест для группы
Заставить моба через SmartAI завершить квест для группы
Stormtrooper
Командир
Приветствую
Есть сложная задача и никак не могу её переварить

Ситуация такая - есть квест 9711
Квест групповой!
Надо поймать Matis the Cruel - при этом необходимо вызвать себе в помощь Tracker of the Hand
Поимка заключается в том чтобы довести ХП Матису до 50% после чего Трекер объявляет что противник пойман и квест должен засчитаться
Есть спелл 31336 который по идее должен и выполнять условие квеста но этого не происходит
Везде в интернете сделано так что Матис как раз на 50% кастует этот спелл и это вызывает завершение квеста

(17664, 0, 10, 11, 61, 0, 100, 0, 0, 0, 0, 0, 11, 31336, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Matis the Cruel - On Data Set - Cast Matis Captured DND'),

Как я уже сказал у меня этого не происходит
Условие квеста я сравнивал с Тринити - один фиг что у меня что на Трине условия по сути нулевые

INSERT INTO `world`.`quest_template` (`entry`, `Method`, `ZoneOrSort`, `MinLevel`, `QuestLevel`, `Type`, `RequiredClasses`, `RequiredRaces`, `RequiredSkill`, `RequiredSkillValue`, `RepObjectiveFaction`, `RepObjectiveValue`, `RequiredMinRepFaction`, `RequiredMinRepValue`, `RequiredMaxRepFaction`, `RequiredMaxRepValue`, `SuggestedPlayers`, `LimitTime`, `QuestFlags`, `SpecialFlags`, `CharTitleId`, `PrevQuestId`, `NextQuestId`, `ExclusiveGroup`, `NextQuestInChain`, `SrcItemId`, `SrcItemCount`, `SrcSpell`, `Title`, `Details`, `Objectives`, `OfferRewardText`, `RequestItemsText`, `EndText`, `ObjectiveText1`, `ObjectiveText2`, `ObjectiveText3`, `ObjectiveText4`, `ReqItemId1`, `ReqItemId2`, `ReqItemId3`, `ReqItemId4`, `ReqItemCount1`, `ReqItemCount2`, `ReqItemCount3`, `ReqItemCount4`, `ReqSourceId1`, `ReqSourceId2`, `ReqSourceId3`, `ReqSourceId4`, `ReqSourceCount1`, `ReqSourceCount2`, `ReqSourceCount3`, `ReqSourceCount4`, `ReqCreatureOrGOId1`, `ReqCreatureOrGOId2`, `ReqCreatureOrGOId3`, `ReqCreatureOrGOId4`, `ReqCreatureOrGOCount1`, `ReqCreatureOrGOCount2`, `ReqCreatureOrGOCount3`, `ReqCreatureOrGOCount4`, `ReqSpellCast1`, `ReqSpellCast2`, `ReqSpellCast3`, `ReqSpellCast4`, `RewChoiceItemId1`, `RewChoiceItemId2`, `RewChoiceItemId3`, `RewChoiceItemId4`, `RewChoiceItemId5`, `RewChoiceItemId6`, `RewChoiceItemCount1`, `RewChoiceItemCount2`, `RewChoiceItemCount3`, `RewChoiceItemCount4`, `RewChoiceItemCount5`, `RewChoiceItemCount6`, `RewItemId1`, `RewItemId2`, `RewItemId3`, `RewItemId4`, `RewItemCount1`, `RewItemCount2`, `RewItemCount3`, `RewItemCount4`, `RewRepFaction1`, `RewRepFaction2`, `RewRepFaction3`, `RewRepFaction4`, `RewRepFaction5`, `RewRepValue1`, `RewRepValue2`, `RewRepValue3`, `RewRepValue4`, `RewRepValue5`, `RewHonorableKills`, `RewOrReqMoney`, `RewMoneyMaxLevel`, `RewSpell`, `RewSpellCast`, `RewMailTemplateId`, `RewMailDelaySecs`, `PointMapId`, `PointX`, `PointY`, `PointOpt`, `DetailsEmote1`, `DetailsEmote2`, `DetailsEmote3`, `DetailsEmote4`, `IncompleteEmote`, `CompleteEmote`, `OfferRewardEmote1`, `OfferRewardEmote2`, `OfferRewardEmote3`, `OfferRewardEmote4`, `StartScript`, `CompleteScript`) VALUES ('9711', '2', '3525', '15', '18', '1', '0', '1101', '0', '0', '0', '0', '0', '0', '0', '0', '2', '0', '130', '2', '0', '9706', '0', '0', '0', '24278', '1', '0', 'Matis the Cruel', 'Matis will be brought to justice, $N; and I want you to be the one to find him and bring him back to the Triumvirate.$B$BScour the island for this bastard. Should you find him, use this flare gun. When my trackers see the flare, they\'ll come and assist in capturing Matis. Return to me after he\'s been captured.', 'Vindicator Kuros at Blood Watch wants you to capture Matis the Cruel.', 'The Triumvirate has decided to try Matis immediately. You have brought an arch-criminal to justice on this day, young $r.$B$BYou have performed admirably for two of three; only Aesom remains.\r\r\n', NULL, 'Matis the Cruel Captured', '', '', '', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '26007', '26021', '26033', '0', '0', '0', '1', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '930', '0', '0', '0', '0', '250', '0', '0', '0', '0', '0', '0', '840', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0');

Вопросов у меня 2
1) Можно ли что-то сделать со спеллом чтобы он засчитывал квест как и должен (без вмешательства в ядро!)
2) Если п1 не реализуем тогда вопрос 2 - как заставить Матиса засчитывать квест группе игроков? Проблема в том что игроку ОБЯЗАТЕЛЬНО должен помогать Tracker of the Hand и Матису 50% ХП может оставить именно ОН а не игрок - отсюда проблема - условие "Цель: 16 - группа вызвавшего событие в SmartAI" уже не прокатывает
Если помог, ставь плюсик в репу :)

Сообщение # 1 написано 03.09.2018 в 18:39
Thermaplugg
Database Developer
Код
Effect 0: Id 3 (SPELL_EFFECT_DUMMY)
BasePoints = 0
Targets (22, 7) (TARGET_SRC_CASTER, TARGET_UNIT_SRC_AREA_ENTRY)
Radius (Id 23) 40,00

Effect 1: Id 16 (SPELL_EFFECT_QUEST_COMPLETE)
BasePoints = 0
Targets (22, 15) (TARGET_SRC_CASTER, TARGET_UNIT_SRC_AREA_ENEMY)
EffectMiscValueA = 9711
Radius (Id 23) 40,00


ну так изи же. прост впиши кондишн для спела
Сообщение # 2 написано 03.09.2018 в 21:59
Stormtrooper
Командир
Рад бы да не понимаю о чём речь
Там и так уже вписано что спелл должен делаnь:
Effect 1: Id 16 (SPELL_EFFECT_QUEST_COMPLETE)
EffectMiscValueA = 9711

Я пробовал юзать данный спелл - он заставляет врагов в радиусе 40 футов атаковать меня (ну тоесть воздействие есть)
При использовании врагами - не происходит ничего

Что ещё и КУДА я должен вписать?
Редактировать ядро у меня сейчас возможности нет

Есть сильное подозрение что у меня всё-таки настройки КВЕСТА не верны - из-за этого спелл не выполняет квест - вот только в чём именно ошибка пока не понимаю
Если помог, ставь плюсик в репу :)

Сообщение # 3 отредактировано Stormtrooper - Вторник, 04.09.2018, 10:18
Thermaplugg
Database Developer
добавить недостающие данные в таблицу conditions, т.е. указать цели на которые будет применяться данный эффект
Сообщение # 4 написано 04.09.2018 в 11:40
Stormtrooper
Командир
уже сделал
целью сделал самого Матиса (учитывая что спелл массовый и действует по площади независимо от цели - целью можно по идее ставить кого угодно)
как сделать целью игроков я хз sad
Если помог, ставь плюсик в репу :)

Сообщение # 5 написано 04.09.2018 в 12:00
Thermaplugg
Database Developer
ну, сделал бы игрока целью
Код
* CONDITION_OBJECT_ENTRY_GUID= 31

ConditionValue1: TypeID - available object types:
4 - TYPEID_PLAYER


а то так получается, что этот матис юзает эффект сам на себя
Сообщение # 6 написано 04.09.2018 в 12:12
Stormtrooper
Командир
У тебя указано CONDITION OBJECT тоесть не моб а объект
описание из ядра: true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object

Кроме того 13 кондишн можно использовать только в паре с CONDITION_SPELL_SCRIPT_TARGET

CONDITION_SOURCE_TYPE_SPELL_SCRIPT_TARGET = 13
SourceGroup: always 0
SourceEntry: spell (Spell Id from Spell.dbc)
Note: only CONDITION_SPELL_SCRIPT_TARGET is allowed to use. All other Condition Types will be ignored.

и кроме того эффект данного спелла массовый - тоесть не имеет конкретной цели
Если помог, ставь плюсик в репу :)

Сообщение # 7 отредактировано Stormtrooper - Вторник, 04.09.2018, 12:19
Thermaplugg
Database Developer
в данном контексте объектом может быть любая цель, будь то непись, игрок, или игровой объект

в теории не может такого быть, так как
Код
*CONDITION_SOURCE_TYPE_SPELL_IMPLICIT_TARGET = 13

SourceGroup: mask of effects to be affected by condition (1 - EFFECT_0, 2 - EFFECT_1, 4 - EFFECT_2 - don't use wowhead to get number of effects, data from wowhead sometimes doesn't match real effect number)


з.ы
дополнительные условия квеста могут и отсутствовать при активном флаге SPECIAL_FLAGS_EXPLORATION_OR_EVENT
Сообщение # 8 написано 04.09.2018 в 12:30
Stormtrooper
Командир
Сделал
Не помогло
Теперь когда сам юзаю спелл то квест засчитывается но вот Матис кастует его и игроку не засчитывается - а должно не просто игроку а всей его группе sad
p.s проверил в группе - использование спелла НЕ засчитывает квест группе а засчитывает только тому кто спелл заюзал

p.p.s вообще эпик - квест засчитывается только в том случае если рядом есть враг которого этот спелл задевает....... полный идиотизм
но к сожалению только если игрок сам его использует
использование спелла мобом по прежнему ничего не даёт
Если помог, ставь плюсик в репу :)

Сообщение # 9 отредактировано Stormtrooper - Вторник, 04.09.2018, 13:10
DevSM
Капрал
А почему было не сделать, чтоб моб кастовал на 50% заклинение необходимое, а после испоользовал в smartai зависимое значение и засчитывал убийство моба и вызваной группе? Ведь можно так
Сообщение # 10 отредактировано DevSM - Вторник, 04.09.2018, 19:58
Stormtrooper
Командир
Цитата DevSM ()
А почему было не сделать, чтоб моб кастовал на 50% заклинение необходимое, а после испоользовал в smartai зависимое значение и засчитывал убийство моба и вызваной группе? Ведь можно так

Я вообще ничего не понял
Моб и так кастует этот спелл на 50% но ничего не происходит
Что за зависимое значение и как его использовать в Смарте?
Что за ВЫЗВАННАЯ группа? Он должен засчитывать не убийство а поимку - там другая реализация но даже при засчитывании убийства нужно в Смарте указывать цель к которой скрипт применяется - так вот как я говорил выше - событие может вызвать НПС Tracker of the Hand а не игрок (например последний удар нанёс он а не игроки) и тогда целью скрипта окажется НПС а это неприемлемо так как ничего вообще не выполнится
Если помог, ставь плюсик в репу :)

Сообщение # 11 написано 05.09.2018 в 10:19
Thermaplugg
Database Developer
чот мне кажется что с саи скриптом проблемки
https://github.com/TrinityCore/TrinityCore/blob/86f9b1d3e24f38c6056d35908e49a06d340fdaae/sql/updates/world/2014_09_17_00_world_misc.sql

Код
...
(17853, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 17664, 0, 0, 0, 0, 0, 0, 'Tracker of the Hand - On Just Summoned - Face Matis the Cruel'),
...
(17853, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tracker of the Hand - On Just Summoned - Set Data to Matis the Cruel'),
(17853, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tracker of the Hand - On Just Summoned - Set Phase 2'),
...
(17853, 0, 5, 0, 38, 2, 100, 0, 1, 1, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 17664, 0, 0, 0, 0, 0, 0, 'Tracker of the Hand - On Data Set 1 1 (Phase 2) - Set Data 2 2 on Matis the Cruel'),

...
(17664, 0, 0, 1, 38, 0, 100, 0, 1, 1, 0, 0, 66, 0, 0, 0, 0, 0, 0, 19, 17853, 0, 0, 0, 0, 0, 0, 'Matis the Cruel - On Data Set - Face Tracker of the Hand'),
...
(17664, 0, 4, 0, 2, 0, 100, 1, 25, 50, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 17853, 0, 0, 0, 0, 0, 0, 'Matis the Cruel - On Between 25 - 50% HP - Set Data on Tracker of the Hand'),
...
(17664, 0, 5, 6, 38, 0, 100, 0, 2, 2, 0, 0, 90, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Matis the Cruel - On Data Set - Set Bytes 1'),
...
(17664, 0, 9, 10, 61, 0, 100, 0, 25, 50, 0, 0, 45, 2, 2, 0, 0, 0, 0, 19, 17853, 0, 0, 0, 0, 0, 0, 'Matis the Cruel - On Data Set - Set Data 2 2 Tracker of the Hand'),
(17664, 0, 10, 11, 61, 0, 100, 0, 0, 0, 0, 0, 11, 31336, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Matis the Cruel - On Data Set - Cast Matis Captured DND'),
...


не особо понимаю зачем используется SMART_ACTION_SET_DATA у 17853(Tracker of the Hand) на самого себя
Код
(17853, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Tracker of the Hand - On Just Summoned - Set Data to Matis the Cruel'),

скорее всего он должен это кидать в непися 17664(Matis the Cruel)
Код
(17853, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 45, 1, 1, 0, 0, 0, 0, 19, 17664, 0, 0, 0, 0, 0, 0, 'Tracker of the Hand - On Just Summoned - Set Data to Matis the Cruel'),


из того чего я заметил
Сообщение # 12 написано 05.09.2018 в 13:47
Stormtrooper
Командир
Пофигу на скрипт - я свой написал - всё равно не пашет спелл
Вопросы выше остаются открытыми
Если помог, ставь плюсик в репу :)

Сообщение # 13 написано 06.09.2018 в 10:03
Форум » TrinityCore » [TrinityCore] Help » Заставить моба через SmartAI завершить квест для группы
  • Страница 1 из 1
  • 1
Поиск: