|
Принятые Патчи, принятые разработчиками ScripDev2 |
|
Опции темы | Поиск в этой теме | Опции просмотра |
07.11.2010, 16:14 | #1 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
[QUEST=10930] The Big Bone Worm
Скрипт для квеста Большой костяной червь
Код:
Index: scripts/world/spell_scripts.cpp =================================================================== --- scripts/world/spell_scripts.cpp (revision 1863) +++ scripts/world/spell_scripts.cpp (working copy) @@ -252,6 +252,13 @@ SAY_BLESS_3 = -1000596, SAY_BLESS_4 = -1000597, SAY_BLESS_5 = -1000598, + + // quest "The Big Bone Worm" 10930 + SPELL_FUMPING = 39246, + SPELL_SUMMON_HAISHULUD = 39248, + NPC_DECREPIT_CLEFTHOOF = 22105, + NPC_SAND_GNOME = 22483, + NPC_MATURE_BONE_SIFTER = 22482, }; bool EffectAuraDummy_spell_aura_dummy_npc(const Aura* pAura, bool bApply) @@ -671,6 +678,44 @@ return true; } + case SPELL_FUMPING: + { + if (uiEffIndex == EFFECT_INDEX_2) + { + if (pCreatureTarget->GetEntry() != NPC_DECREPIT_CLEFTHOOF || !pCreatureTarget->isDead()) + return true; + + switch(urand(1,3)) + { + case 1: + { + pCaster->CastSpell(pCreatureTarget, SPELL_SUMMON_HAISHULUD, true); + pCreatureTarget->ForcedDespawn(); + break; + } + case 2: + { + if (Creature* pOther1 = pCaster->SummonCreature(NPC_SAND_GNOME, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000)) + pOther1->AI()->AttackStart(pCaster); + pCaster->SummonCreature(NPC_SAND_GNOME, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); + pCaster->SummonCreature(NPC_SAND_GNOME, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); + pCreatureTarget->ForcedDespawn(); + break; + } + case 3: + { + if (Creature* pOther2 = pCaster->SummonCreature(NPC_MATURE_BONE_SIFTER, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000)) + pOther2->AI()->AttackStart(pCaster); + pCaster->SummonCreature(NPC_MATURE_BONE_SIFTER, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); + pCaster->SummonCreature(NPC_MATURE_BONE_SIFTER, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); + pCreatureTarget->ForcedDespawn(); + break; + } + } + return true; + } + return true; + } } return false; PHP код:
virusav - помогай И ты ведь там с девами СД2 связываешь - можешь кинуть им скриптик... |
07.11.2010, 17:29 | #2 |
Администратор
|
Сниффы бы увидеть, тогда можно спокойно внедрять патч, иначе всегда возникает много вопросов на форуме СД2, пока кусок из сниффа не покажешь.
|
13.11.2010, 18:52 | #4 |
Администратор
|
Опубликовал 2 варианта патча: твой и мой на основе твоего.
http://www.scriptdev2.com/project.php?issueid=1163 Мой вариант патча: Код:
Index: scripts/world/spell_scripts.cpp =================================================================== --- scripts/world/spell_scripts.cpp (revision 1864) +++ scripts/world/spell_scripts.cpp (working copy) @@ -34,6 +34,7 @@ spell 50706 spell 45109 spell 45111 +spell 39246 EndContentData */ #include "precompiled.h" @@ -252,6 +253,12 @@ SAY_BLESS_3 = -1000596, SAY_BLESS_4 = -1000597, SAY_BLESS_5 = -1000598, + + // quest "The Big Bone Worm" 10930 + SPELL_FUMPING = 39246, + SPELL_SUMMON_HAISHULUD = 39248, + NPC_SAND_GNOME = 22483, + NPC_MATURE_BONE_SIFTER = 22482, }; bool EffectAuraDummy_spell_aura_dummy_npc(const Aura* pAura, bool bApply) @@ -671,6 +678,40 @@ return true; } + case SPELL_FUMPING: + { + if (uiEffIndex == EFFECT_INDEX_2) + { + switch(urand(0,2)) + { + case 0: + { + pCaster->CastSpell(pCreatureTarget, SPELL_SUMMON_HAISHULUD, true); + break; + } + case 1: + { + for (uint8 i = 0; i<2; ++i) + { + if (Creature* pSandGnome = pCaster->SummonCreature(NPC_SAND_GNOME, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000)) + pSandGnome->AI()->AttackStart(pCaster); + } + break; + } + case 2: + { + for (uint8 i = 0; i<2; ++i) + { + if (Creature* pMatureBoneSifter = pCaster->SummonCreature(NPC_MATURE_BONE_SIFTER, pCreatureTarget->GetPositionX(), pCreatureTarget->GetPositionY(), pCreatureTarget->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000)) + pMatureBoneSifter->AI()->AttackStart(pCaster); + } + break; + } + } + pCreatureTarget->ForcedDespawn(); + } + return true; + } } return false; |
Пользователь сказал cпасибо: | KiriX (18.11.2010) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10930] Add models for spell 65528 and 65529 | newsbot | CMaNGOS Commits | 0 | 28.12.2010 22:41 |
[SQL patch] Bone Shield (Костяной щит) | Insider42 | Патчи на рассмотрении | 0 | 26.10.2010 19:12 |