MaNGOSR2
Would you like to react to this message? Create an account in a few clicks or log in to continue.
MaNGOSR2

MangosR2 is a free, open source MMORPG framework, derived from MaNGOS project


You are not connected. Please login or register

boss_yogg_saron.cpp

3 posters

Go down  Message [Page 1 of 1]

1boss_yogg_saron.cpp Empty boss_yogg_saron.cpp Wed Feb 06 2013, 09:53

Ulduar



https://github.com/mangosR2/scriptdev2/blob/master/scripts/northrend/ulduar/ulduar/boss_yogg_saron.cpp
Здравствуйте.В Течении нескольких дней удалось протестировать босса Йогг-Сарон(id=33288).Вот следующие баги,которые удалось выявить.
1)NPC_OMINOUS_CLOUD= 33292,использует заклинание SPELL_SUMMON_GUARDIAN = 62978,
SPELL_SUMMON_GUARDIAN2 = 63031,
Дебафф,который призывает стража,вешается и на игроков тоже.В остальной части скрипта все в порядке(он сам призывает стража и призывает стража,когда игрок наступает на облако).
2)MOB_GUARDIAN_OF_YOGG= 33136,не деспавнятся после смерти,если мобов было уничтожено очень много,могут начаться серверные задержки и даже зависания(проверено).
void JustDied(Unit* pKiller)
{
m_creature->ForcedDespawn();
}
может это поможет решить проблему,насколько я знаю,эта часть скрипта принудительно деспавнит существо при смерти.В АИ существа этого нет.
3)MOB_IMMORTAL_GUARDIAN = 33988,не исчезают после победы над боссом,не деспавнятся после смерти и при эвейде.SPELL_EMPOWERED_AURA= 64161,также отсутствует.
4)NPC_SARA= 33134,не получает дамаг от SPELL_SHADOW_NOVA = 62714,
SPELL_SHADOW_NOVA_H = 65209,
Может дело во флагах?Незнаю как лечить.
5)MOB_BRAIN_OF_YOGG_SARON= 33890,кастует SPELL_SHATTERED_ILLUSION= 64173,на игроков,должен кастовать на босса и щупальца.Может через spell_script_target можно это решить?Хотя наверное это будет хак.Проверить пока возможности нет.
6) SPELL_TELEPORT_TO_STORMWIND_ILLUSION= 63989, // Stormwind
SPELL_TELEPORT_TO_CHAMBER_ILLUSION = 63997, // Wyrmruh
SPELL_TELEPORT_TO_ICEECROWN_ILLUSION= 63998, // Lich King
SPELL_TELEPORT_BACK_TO_MAIN_ROOM = 63992, // To Yogg Saron
Не телепортируют по заданным координатам,хотя в коде они есть.Визуально каст идет,но телепорта нет.Как лечить,предположения пока нет.
Пока-что все,что удалось найти.Тестировал на тестовом сервере МангосР2.Попробую ввиде иссуя более грамотно и по английски переоформить на гитхабе,а пока если вы не возражаете,пусть здесь побудет.Всем удачи!Спасибо за ваш проект!

2boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Sun May 19 2013, 16:32

Ulduar



Для 33136 и 33988. Можно попробовать через DB_script сделать через creature_death.
-- Script id: 33136
DELETE FROM dbscripts_on_creature_death WHERE id=33136;
INSERT INTO dbscripts_on_creature_death VALUES
(33136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,''),
(33136,0,18,3000,0,33136,0,2,0,0,0,0,0,0,0,0,'');

-- Script id: 33988
DELETE FROM dbscripts_on_creature_death WHERE id=33988;
INSERT INTO dbscripts_on_creature_death VALUES
(33988,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,''),
(33988,0,18,3000,0,33988,0,2,0,0,0,0,0,0,0,0,'');

Имею ввиду деспавн после смерти. Вроде так можно делать. Через creature_linking_template сделать деспавн мобов в случае смерти Йогг-Сарона или эвейда. Просьба посмотреть выше написанное.

3boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Sun May 19 2013, 16:40

rsa

rsa
Admin

Могу только предложить вам спуллить это в SD2R2. Времени почти совсем нету...

4boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Sun May 19 2013, 16:41

Ulduar



Так и сделаю, забыл про pull request. Спасибо.

5boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Sat May 25 2013, 07:30

Ulduar



Засада, как оказалось я не умею коммитить. Создал клон вашего SD2, прочитал как коммитить, перевел с английского и нифига. Так-что извините, как научусь сразу pull сделаю.

6boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Mon May 27 2013, 05:51

KiriX

KiriX
Admin

Ulduar wrote:Засада, как оказалось я не умею коммитить. Создал клон вашего SD2, прочитал как коммитить, перевел с английского и нифига. Так-что извините, как научусь сразу pull сделаю.
Если у тебя есть доступ к репо, то так:
1) Заходим в git под своим лоигном на github.com
2) Клонируем
3) Вносим изменения (кстати, тут ещё есть скрипт, присваивающие ревизию, как его юзать, я не знаю, можно и руками)
4) git commit -a -m "Commit text"
5) git push -u origin master (или другая ветка куда хочешь)

Это коммит прямо в мастер ветку. Pull request - точно не знаю как делается, но, думается мне, для этого нужен публичный форк репозитория, в который ты собираешься делать запрос.

http://aetherius.ru

7boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Mon May 27 2013, 09:27

Ulduar



Доступа к репозитарию R2 у меня нет, клон SD2 есть SD2
Надо научиться делать коммиты в клон репозитария, а с pull request я разберусь.

8boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Wed May 29 2013, 17:39

rsa

rsa
Admin

Пулл-реквест делается проще простого - пуш в мастер-ветку, если она вам недоступна :) Если доступна будет коммит, если нет - пуллреквест.

9boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Fri May 31 2013, 16:13

Ulduar



Ну тогда осталось всего лишь научиться коммитить, сижу и разбираюсь как и что.
1)Надо вроде сделать локальный репозитарий(Ну это проще простого)
2)С помощью Git Bash сделать коммит? Засада.
3)Сделать коммит в свой клон вашего репозитария SD2.
4)Сделать pull request.
5)Profit? boss_yogg_saron.cpp 309167496

10boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Fri May 31 2013, 17:42

rsa

rsa
Admin

самый простой способ.
1. клоните тупо весь репо (предварительно правильно установите ключи от своего аккаунта git!).
2. ручками вносите изменения (или накидываете ранее сделанный патч)
3. в баше вводите git commit -a
4. заполняете тему коммита (никаких номеров не ставить!)
5. делаете git push
все, пуллреквест отправлен.

11boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Sun Jun 16 2013, 11:27

Ulduar



Благодарю за помощь, прошу прощения, просто работа(утром уходишь - домой ночевать только приходишь)
Как будет время, сразу сделаю. Спасибо еще раз.
P.S: Не стал коммитить, потому что, работает не совсем правильно. Как додумаюсь(сам), как правильно сделать, постараюсь как можно скорее.

12boss_yogg_saron.cpp Empty Re: boss_yogg_saron.cpp Wed Jul 24 2013, 22:47

Ulduar



Итак удалось разобраться в чем проблемы там в Ульдуаре были.
SPELL_SUMMON_GUARDIAN = 62978 - отсутствует spell_script_target.
MOB_GUARDIAN_OF_YOGG= 33136 - удалось сделать деспавн после смерти с помощью dbscripts_on_creature_death, еще одним фризом меньше(из-за количества трупов этих стражей)
NPC_SARA - требуется смена флага, иначе во вторую фазу не перейти.
MOB_BRAIN_OF_YOGG_SARON= 33890 - вызывает фризы при атаке по нему(не всегда, но процентов 90), юзает SPELL_SHATTERED_ILLUSION= 64173 на игроков(должен на босса, Сару-валькиру и щупальца, SEND_EVENT spell effect  у этого спелла), spell_script_target к сожалению тут не поможет.
http://ru.wowhead.com/npc=33772(нпц перед Генералом Везаксом), что-то xFurry намудрил со скриптом этого нпц, барьер кастует не на 10, а на 40 процентов и должен вызывать порождения бездны(после смерти порождения аура снимается), тоже удалось пофиксить.
https://github.com/mangosR2/scriptdev2/issues/195 вот иссуй Undergarun по этому поводу.
Алгалона не удалось проверить ввиду того, что ключ не открывает планетарий(даже замки убрал, все равно не помогло). Все потому, что есть одна строчка в скрипте босса:
void StartEncounter()
   {
       m_creature->SetVisibility(VISIBILITY_ON);
       m_bIsFirstTime  = true;
       m_bHasStarted   = true;
       m_bIsInProgress = false;
       m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
   }
Привязка к итему, именно он и делает VISIBILITY_ON, как я понял, хитрость с убиранием LockId у планетария не сработает.

Вот собственно сами фиксы. http://paste2.org/xvPHbsjx
Пару коммитов отправил для пробы. В ветке SD2 MangosR2 есть уже один pull request, гляньте пожалуйста, когда будет возможность.



Last edited by Ulduar on Wed Aug 07 2013, 06:38; edited 1 time in total (Reason for editing : Pull request.)

Sponsored content



Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum